| # nσ = ∞, nσ[m0] = m3 + 1, m < m0, stutf(nσ), nσ[m] ≤ m3, ∀ m0. (∃ m1. nσ[m1] = m0 - 1 ∧ ¬(∀ m2. m1 < m2 → nσ[m2] = m0 - 1)) → ¬ nσ[m] + 1 < m0 ⊦ m3 + 1 = nσ[m], nσ[m] < m3, ∃ m0. nσ[m0] = nσ[m] ∧ (∀ m1. m0 < m1 → nσ[m1] = nσ[m0] + 1) |
# nσ = ∞, nσ[m0] = nσ[m] + 1, m < m0, stutf(nσ), ∀ m0. (∃ m1. nσ[m1] = m0 - 1 ∧ ¬(∀ m2. m1 < m2 → nσ[m2] = m0 - 1)) → ¬ nσ[m] + 1 < m0 ⊦ ∃ m0. nσ[m0] = nσ[m] ∧ (∀ m1. m0 < m1 → nσ[m1] = nσ[m0] + 1)
Used simplifier rules: ⊦ m ≤ m; (s)%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)% ⊦ m ≤ n → (n ≤ m ↔ m = n); (s)% ⊦ m < n ↔ ¬ n ≤ m; (ss)