| # σσ = ∞, ii(0) = 0, # σσ[0] = ⌜n⌝ , m < ii(m0 + 1) + n, ii(m0) + n ≤ m, n ≤ m, mon(σσ), ii(m0) < ii(m0 + 1), ∀ n. ii(n + 1) = ii(n) + # lf(n) ∧ (nf from ii(n)) to # lf(n) = lf(n), ∀ n. σσ[n + 1] = σσ[n] + ⌜lf(n)⌝ , ∀ m, n. m ≤ n → ii(m) ≤ ii(n), σσ[m0] = σσ[0] + ⌜nf to ii(m0)⌝ , σσ[m0 + 1] = σσ[0] + ⌜nf to ii(m0 + 1)⌝ ⊦ ii(m0 + 1) + n = 0, σσ = [], ii(m0 + 1) = 0, ∃ n. # σσ[n] = ∞, (σσ[0] + ⌜nf⌝ to m) + ((⌜nf⌝ to ii(m0 + 1)) from (m - n)) = σσ[m0 + 1] |
# σσ = ∞, ii(0) = 0, # σσ[0] = ⌜n⌝ , σσ[m0] = σσ[0] + ⌜nf to ii(m0)⌝ , σσ[m0 + 1] = σσ[0] + ⌜nf to ii(m0 + 1)⌝ , m < ii(m0 + 1) + n, ii(m0) + n ≤ m, n ≤ m, mon(σσ), ii(m0) < ii(m0 + 1), ∀ n. ii(n + 1) = ii(n) + # lf(n) ∧ (nf from ii(n)) to # lf(n) = lf(n), ∀ n. σσ[n + 1] = σσ[n] + ⌜lf(n)⌝ , ∀ m, n. m ≤ n → ii(m) ≤ ii(n) ⊦ ii(m0 + 1) + n = 0, σσ = [], ii(m0 + 1) = 0, (σσ[0] + ⌜nf⌝ to m) + ⌜(nf to ii(m0 + 1)) from (m - n)⌝ = σσ[m0 + 1], ∃ n. # σσ[n] = ∞
Used simplifier rules: from-fin: ⊦ ⌜x⌝ from n = ⌜x from n⌝ ; from specification stream%to-inf: ⊦ ⌜nf⌝ to n = ⌜nf to n⌝ ; from specification stream