| ⌜n + 1⌝ < #(lim(nσf) to n + 2), ((lim(nσf) to n + 2) + nσ)[n] < (lim(nσf) to n + 2)[n + 1], ⌜n⌝ + ⌜1⌝ < # lim(nσf), mon(nσf), lim(nσf)[n + 1] ≤ lim(nσf)[n], ∀ n. nσf(n) ⊑ lim(nσf) ⊦ # lim(nσf) < ⌜n⌝ + ⌜2⌝ |
((lim(nσf) to n + 2) + nσ)[n] < lim(nσf)[n], ((lim(nσf) to n + 2) + nσ)[n] < lim(nσf)[n + 1], lim(nσf)[n + 1] ≤ lim(nσf)[n], mon(nσf), ⌜n⌝ + ⌜1⌝ < # lim(nσf), ∀ n. nσf(n) ⊑ lim(nσf) ⊦ lim(nσf)[n + 1] = 0, lim(nσf)[n] = 0, # lim(nσf) < ⌜n⌝ + ⌜2⌝
Used simplifier rules: fle: ⊦ m < n ∧ n ≤ n0 → m < n0; (forward) from specification nat%f: ⊦ m < n → n ≠ 0; (forward) from specification nat-basic1%get-to: m < n, ¬ # nσ < ⌜n⌝ ⊦ (nσ to n)[m] = nσ[m]; from specification stream[natstream]%l: ⊦ m + n < m + n0 ↔ n < n0; from specification nat-basic2%add-comm: ⊦ n∞1 + n∞2 = n∞2 + n∞1; from specification nat-inf%add-assoc: ⊦ (n∞ + n∞1) + n∞2 = n∞ + n∞1 + n∞2; from specification nat-inf%ref-1: ⊦ ¬ n < n; from specification nat-basic1%less-fin: ⊦ ⌜m⌝ < ⌜n⌝ ↔ m < n; from specification nat-inf%less-succ-leq: ⊦ ⌜n⌝ < ⌜1⌝ + n∞ ↔ ¬ n∞ < ⌜n⌝ ; from specification nat-inf%add-ls-cancel-num-04: ⊦ m ≤ n → (⌜(* m)⌝ + n∞2 < ⌜(* n)⌝ + n∞1 ↔ n∞2 < ⌜n - m⌝ + n∞1); from specification nat-inf%size-to: ¬ # nσ < ⌜n⌝ ⊦ #(nσ to n) = ⌜n⌝ ; from specification stream[natstream]%c: ⊦ m + n = n + m; from specification nat-basic2%a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic2%add-fin: ⊦ ⌜m + n⌝ = ⌜m⌝ + ⌜n⌝ ; from specification nat-inf