| # nσ = ∞, m1 + 1 = n0, nσ[m0] = nσ[m] + 1, m0 = n0 + m, m < m0, stutf(nσ), m ≤ m0, ∀ m0, m, nσ. m1 = m0 - m ∧ # nσ = ∞ ∧ nσ[m0] = nσ[m] + 1 ∧ m < m0 ∧ stutf(nσ) → (∃ m1. m ≤ m1 ∧ m1 < m0 ∧ nσ[m] = nσ[m1] ∧ nσ[m1 + 1] = nσ[m1] + 1) ⊦ ∃ m1. m ≤ m1 ∧ m1 < m0 ∧ nσ[m] = nσ[m1] ∧ nσ[m1 + 1] = nσ[m1] + 1 |
# nσ = ∞, nσ[(m1 + 1) + m] = nσ[m] + 1, stutf(nσ), ∀ m0, m, nσ. m1 = m0 - m ∧ # nσ = ∞ ∧ nσ[m0] = nσ[m] + 1 ∧ m < m0 ∧ stutf(nσ) → (∃ m1. m ≤ m1 ∧ m1 < m0 ∧ nσ[m] = nσ[m1] ∧ nσ[m1 + 1] = nσ[m1] + 1) ⊦ ∃ m0. m ≤ m0 ∧ ¬ m1 + m < m0 ∧ nσ[m] = nσ[m0] ∧ nσ[m0 + 1] = nσ[m0] + 1
Used simplifier rules: ⊦ ¬ m + n < m; (s)% ⊦ m < n + 1 ↔ ¬ n < m; (s)% ⊦ m < n → m ≤ n; (s)%c: ⊦ m + n = n + m; from specification nat-basic%a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic