| m < n, # σσ[0] = ⌜n⌝ , ii(0) = 0, # σσ = ∞, mon(σσ), ∀ n. σσ[n] = σσ[0] + ⌜nf to ii(n)⌝ , ∀ n. ∃ m. ii(m) ≤ n ∧ n < ii(m + 1), ∀ m, n. m ≤ n → ii(m) ≤ ii(n), ∀ n. σσ[n + 1] = σσ[n] + ⌜lf(n)⌝ , ∀ n. ii(n + 1) = ii(n) + # lf(n) ∧ (nf from ii(n)) to # lf(n) = lf(n) ⊦ σσ = [], (σσ[0] + ⌜nf⌝ to m) + (σσ[0] from m) = σσ[0], ∃ n. # σσ[n] = ∞ |
⊦ ¬ # σ < ⌜n⌝ → σ + σ0 to n = σ to n
Used simplifier rules: less-fin: ⊦ ⌜m⌝ < ⌜n⌝ ↔ m < n; from specification nat-inf%ls-02: ⊦ m < n → ¬ n < m; from specification nat-basic1%to-plus-from-simp: ¬ # σ < ⌜n⌝ ⊦ (σ to n) + (σ from n) ≠ σ ↔ false; from specification stream%append-assoc: ⊦ (σ + σ1) + σ2 = σ + σ1 + σ2; from specification stream%f: ⊦ m < n → n ≠ 0; (forward) from specification nat-basic1 Used terms: m, ⌜nf⌝ , σσ[0]