| # nσ = ∞, nσ ≠ [] ∧ nσ[0] = 0 ∧ (∀ n. ⌜n⌝ + ⌜1⌝ < # nσ → nσ[n + 1] = nσ[n] ∨ nσ[n + 1] = nσ[n] + 1), ⌜nσ[n1]⌝ < leninv(nσ), ∀ m. nσ[m] = nσ[n1] → ¬ n1 < m, ∀ m. ∃ m0. m < m0 ∧ nσ[m] < nσ[m0], ∀ m. ∃ m0. m < nσ[m0] ⊦ nσ[n1 + 1] = nσ[n1] + 1, nσ[n1 + 1] = nσ[n1] |
nσ[0] = 0, # nσ = ∞, ⌜nσ[n1]⌝ < leninv(nσ), ∀ m. ∃ m0. m < nσ[m0], ∀ m. ∃ m0. m < m0 ∧ nσ[m] < nσ[m0], ∀ m. nσ[m] = nσ[n1] → ¬ n1 < m, ∀ n. nσ[n + 1] = nσ[n] ∨ nσ[n + 1] = nσ[n] + 1 ⊦ nσ = [], nσ[n1 + 1] = nσ[n1], nσ[n1 + 1] = nσ[n1] + 1
Used simplifier rules: add-comm: ⊦ n∞1 + n∞2 = n∞2 + n∞1; from specification nat-inf%add-assoc: ⊦ (n∞ + n∞1) + n∞2 = n∞ + n∞1 + n∞2; from specification nat-inf%disj: ⊦ ⌜m⌝ ≠ ∞; from specification nat-inf-basic%addeqinf-cancel: ⊦ ⌜m⌝ + n∞ = ∞ ↔ n∞ = ∞; from specification nat-inf%inf-less: ⊦ n∞ < ∞ ↔ n∞ ≠ ∞; from specification nat-inf