| # nσ = ∞, nσ[n0] = n + 1, n + 1 < nσ[m], n0 < m, ∞.n ≤ max∞(λ n0. nσ[n0] = n).n, stutf(nσ), ∀ m. ∃ m0. m < m0 ∧ nσ[m] < nσ[m0], ∃ n1. m < n1 ∧ nσ[n1] = n + 1, ∀ n0. ∃ n1. n0 < n1 ∧ nσ[n1] = n + 1 ⊦ n0 = 0 |
nσ[n1] = n + 1, nσ[n0] = n + 1, # nσ = ∞, n0 < n1, m < n1, stutf(nσ), ∞.n ≤ max∞(λ n0. nσ[n0] = n).n, n0 < m, n + 1 < nσ[m], n0 + 1 < n1, ∀ n0. ∃ n1. n0 < n1 ∧ nσ[n1] = n + 1, ∀ m. ∃ m0. m < m0 ∧ nσ[m] < nσ[m0] ⊦ n0 = 0
Used simplifier rules: succ: ⊦ m +1 = m + 1; from specification nat-basic2%f: ⊦ m < n → n ≠ 0; from specification nat-basic1%lf-02: ⊦ m < n ∧ m = n0 → n0 < n; (forward) from specification nat-basic1%trans-1: ⊦ n < n0 ∧ n0 < n1 → n < n1; (forward) from specification nat-basic1%lf: ⊦ m < n ∧ n < n0 → m +1 < n0; (forward) from specification nat-basic1%f: ⊦ m < n → n ≠ 0; (forward) from specification nat-basic1