| # σσ = ∞, ii(n0 + 1) = ii(n0) + # lf(n0), ii(0) = 0, n < ii(n0 + 1), ii(n0) < ii(n0 + 1), mon(σσ), ii(n0) ≤ n, ∀ n. ∃ m. ii(m) ≤ n ∧ n < ii(m + 1), ∀ m, n. m ≤ n → ii(m) ≤ ii(n) ⊦ # σσ[0] = ∞, ((nf from ii(n0)) to # lf(n0))[n - ii(n0)] = nf(n), ii(n0 + 1) = 0, lf(n0) = [], σσ = [], ∃ n. # σσ[n] = ∞ |
Used simplifier rules: ⊦ m < n ↔ ¬ n ≤ m; (ss)% ⊦ m ≤ m + n; (s)%a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic%c: ⊦ m + n = n + m; from specification nat-basic%lf-01: ⊦ m < n ∧ n = n0 → m < n0; (forward) from specification nat-basic% ⊦ m + n < m + n0 ↔ n < n0; (s)% ⊦ m ≤ n → (n < m ↔ false); (s)%m < n ⊦ (nf to n)[m] = nf(m); (s)% ⊦ ((nf from n))(m) = nf(m + n); (s)%n ≤ m ⊦ n0 = m - n ↔ m = n0 + n; (elim) Used terms: n, ii(n0), n1