| # nσ = ∞, nσ[m] = nσ[m1], nσ[m1 + 1] = nσ[m0], nσ[m0] = nσ[m1] + 1, nσ[m2] = m3 + 1, m < m2, m1 < m2, m1 < m0, m < m0, nσ[m1] < m3, stutf(nσ), m ≤ m1, nσ[m0] ≤ m3, stutf(nσ) ∧ ⌜m2⌝ < # nσ ∧ m3 ≤ nσ[m2] → (∃ m0. m0 ≤ m2 ∧ nσ[m0] = m3) ⊦ m3 + 1 = nσ[m0], ∃ m4. nσ[m4] = m3 ∧ ¬(∀ m. m4 < m → nσ[m] = nσ[m4]) |
# nσ = ∞, nσ[m] = nσ[m1], nσ[m1 + 1] = nσ[m0], nσ[m0] = nσ[m1] + 1, nσ[m2] = nσ[m4] + 1, m < m2, m1 < m2, m1 < m0, m < m0, nσ[m1] < nσ[m4], stutf(nσ), m ≤ m1, nσ[m0] ≤ nσ[m4], m4 ≤ m2 ⊦ nσ[m2] = nσ[m0], ∃ m. nσ[m] = nσ[m4] ∧ ¬(∀ m0. m < m0 → nσ[m0] = nσ[m])
Used simplifier rules: ⊦ m < n → n ≠ 0; (s)%lf-02: ⊦ m < n ∧ m = n0 → n0 < n; (forward) from specification nat-basic%f: ⊦ m < n → n ≠ 0; (forward) from specification nat-basic%eqle-one: ⊦ m = n + 1 ∧ n < n0 → m ≤ n0; (forward) from specification nat%lf-01: ⊦ m < n ∧ n = n0 → m < n0; (forward) from specification nat-basic%c: ⊦ m + n = n + m; from specification nat-basic%a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic% ⊦ m ≤ m + n; (s)% ⊦ ⌜m⌝ < ∞; (s)