| # nσ = ∞, nσ[(m1 + 1) + m] = nσ[m] + 1, nσ[0] = 0, nσ[m + 1] = nσ[m] ∨ nσ[m + 1] = nσ[m] + 1 ⊦ nσ[m] = nσ[m + 1], nσ = [], ∃ m0. m ≤ m0 ∧ ¬ m1 + m < m0 ∧ nσ[m] = nσ[m0] ∧ nσ[m0 + 1] = nσ[m0] + 1, nσ[m1 + m] = nσ[m] + 1 ∧ m1 ≠ 0 |
# nσ = ∞, nσ[m + 1] = nσ[m] + 1, nσ[(m1 + 1) + m] = nσ[m] + 1, nσ[0] = 0 ⊦ nσ = [], ∃ 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: c: ⊦ m + n = n + m; from specification nat-basic%a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic% ⊦ m = m + n ↔ n = 0; (s)