| max∞(λ n0. nσ[n0] = n + 1) = ⌜n2⌝ , # nσ = ∞, max∞(λ n0. nσ[n0] = n) = ⌜n1⌝ , n1 + m + 1 < n2, stutf(nσ), ⌜n⌝ + ⌜1⌝ < leninv(nσ), ∀ m. ∃ m0. m < m0 ∧ nσ[m] < nσ[m0], ∀ m. ∃ m0. m < nσ[m0], ∀ n. ∃ m. nσ[m] = n ⊦ max∞(λ n0. nσ[n0] = n + 1) = ∞, nσ[n1 + m + 1] = n + 1, n2 = 0 |
max∞(λ n0. nσ[n0] = n) = ⌜n1⌝ , # nσ = ∞, max∞(λ n0. nσ[n0] = n + 1) = ⌜n2⌝ , ⌜n⌝ + ⌜1⌝ < leninv(nσ), stutf(nσ), n1 + m + 1 < n2, ∀ n. ∃ m. nσ[m] = n, ∀ m. ∃ m0. m < nσ[m0], ∀ m. ∃ m0. m < m0 ∧ nσ[m] < nσ[m0] ⊦ n2 = 0, nσ[n1 + m + 1] = n + 1
Used simplifier rules: disj: ⊦ ⌜m⌝ ≠ ∞; from specification nat-inf-basic%f: ⊦ m < n → n ≠ 0; (forward) from specification nat-basic1