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