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