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