| nσ[m0] = nσ[m1] + 1, # nσ = ∞, nσ[m1 + 1] = nσ[m0], nσ[m] = nσ[m1], m < m0, stutf(nσ), m1 < m0, m ≤ m1, ∀ m0. (m0 ≠ 0 → (∃ m1. nσ[m1] = m0 - 1 ∧ ¬(∀ m2. m1 < m2 → nσ[m2] = m0 - 1))) → ¬ nσ[m1] + 1 < m0 ⊦ m0 = 0, nσ[m1] = nσ[m1] ∧ (∀ m. m1 < m → nσ[m] = nσ[m1] + 1) |
nσ[m0] = nσ[m1] + 1, # nσ = ∞, nσ[m1 + 1] = nσ[m0], nσ[m] = nσ[m1], m < m0, stutf(nσ), m1 < m0, m ≤ m1, m1 < m2, m < m2, ∀ m0. (m0 ≠ 0 → (∃ m1. nσ[m1] = m0 - 1 ∧ ¬(∀ m2. m1 < m2 → nσ[m2] = m0 - 1))) → ¬ nσ[m1] + 1 < m0 ⊦ m0 = 0, nσ[m2] = nσ[m0], m2 = 0
Used simplifier rules: fle-01: ⊦ m ≤ n ∧ n < n0 → m < n0; (forward) from specification nat%f: ⊦ m < n → n ≠ 0; (forward) from specification nat-basic1