| nσ[(m1 + 1) + m] = nσ[m] + 1, # nσ = ∞, nσ ≠ [] ∧ nσ[0] = 0 ∧ (∀ n. ⌜n⌝ + ⌜1⌝ < # nσ → nσ[n + 1] = nσ[n] ∨ nσ[n + 1] = nσ[n] + 1) ⊦ nσ[m1 + m] = nσ[m] + 1 ∧ m1 ≠ 0, nσ[m] = nσ[m + 1], ∃ m0. m ≤ m0 ∧ ¬ m1 + m < m0 ∧ nσ[m] = nσ[m0] ∧ nσ[m0 + 1] = nσ[m0] + 1 |
nσ[0] = 0, # nσ = ∞, nσ[(m1 + 1) + m] = nσ[m] + 1, ∀ n. nσ[n + 1] = nσ[n] ∨ nσ[n + 1] = nσ[n] + 1 ⊦ nσ = [], nσ[m] = nσ[m + 1], ∃ m0. m ≤ m0 ∧ ¬ m1 + m < m0 ∧ nσ[m] = nσ[m0] ∧ nσ[m0 + 1] = nσ[m0] + 1, nσ[m1 + m] = nσ[m] + 1 ∧ m1 ≠ 0
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