| # nσ = ∞, nσ[n1] = n, n < nσ[m1], n1 + m + 1 < max∞(λ n0. nσ[n0] = n + 1).n, stutf(nσ), ∀ m0. m1 < m0 → nσ[m0] = nσ[m1] + 1, ∀ m. nσ[m] = n → ¬ n1 < m ⊦ nσ[n1 + m + 1] = n + 1 |
# nσ = ∞, nσ[n1] < nσ[m1], n1 + m + 1 < max∞(λ n0. nσ[n0] = nσ[n1] + 1).n, stutf(nσ), ∀ m0. m1 < m0 → nσ[m0] = nσ[m1] + 1, ∀ m. nσ[m] = nσ[n1] → ¬ n1 < m ⊦ nσ[n1 + m + 1] = nσ[n1] + 1
Used simplifier rules: ⊦ m < n → n ≠ 0; (s)%f: ⊦ m < n → n ≠ 0; (forward) from specification nat-basic