| ⊦ mon(⌜σf⌝ ) → lim(⌜σf⌝ ) = lim(⌜λ n. σf(n + m)⌝ ) |
lim(⌜σf⌝ ) ≠ lim(⌜λ n. σf(n + m)⌝ ), mon(⌜σf⌝ ) ⊦
| lim(⌜σf⌝ ) ≠ lim(⌜λ n. σf(n + m)⌝ ), mon(⌜σf⌝ ) ⊦ |
⊦ mon(σσ) ∧ σσ ≠ [] → (∀ n. ⌜n⌝ < # σσ → σσ(n) ⊑ lim(σσ)) ∧ (∀ m. ¬ # lim(σσ) < ⌜m⌝ → (∃ n. ⌜n⌝ < # σσ ∧ lim(σσ) to m ⊑ σσ(n)))
lim(⌜σf⌝ ) ≠ lim(⌜λ n. σf(n + m)⌝ ), mon(⌜σf⌝ ), mon(⌜σf⌝ ) ∧ ⌜σf⌝ ≠ [] → (∀ n. ⌜n⌝ < # ⌜σf⌝ → ⌜σf⌝ (n) ⊑ lim(⌜σf⌝ )) ∧ (∀ m. ¬ # lim(⌜σf⌝ ) < ⌜m⌝ → (∃ n. ⌜n⌝ < # ⌜σf⌝ ∧ lim(⌜σf⌝ ) to m ⊑ ⌜σf⌝ (n))) ⊦
Used terms: ⌜σf⌝
| ⊦ mon(σσ) ∧ σσ ≠ [] → (∀ n. ⌜n⌝ < # σσ → σσ(n) ⊑ lim(σσ)) ∧ (∀ m. ¬ # lim(σσ) < ⌜m⌝ → (∃ n. ⌜n⌝ < # σσ ∧ lim(σσ) to m ⊑ σσ(n))) |
| lim(⌜σf⌝ ) ≠ lim(⌜λ n. σf(n + m)⌝ ), mon(⌜σf⌝ ), mon(⌜σf⌝ ) ∧ ⌜σf⌝ ≠ [] → (∀ n. ⌜n⌝ < # ⌜σf⌝ → ⌜σf⌝ (n) ⊑ lim(⌜σf⌝ )) ∧ (∀ m. ¬ # lim(⌜σf⌝ ) < ⌜m⌝ → (∃ n. ⌜n⌝ < # ⌜σf⌝ ∧ lim(⌜σf⌝ ) to m ⊑ ⌜σf⌝ (n))) ⊦ |
lim(⌜σf⌝ ) ≠ lim(⌜λ n. σf(n + m)⌝ ), mon(⌜σf⌝ ), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ) ⊦
Used simplifier rules: ⊦ σ1 ⊑ σ2 ↔ (∃ σ. σ1 + σ = σ2); (ls) ⊦ ⌜nf⌝ (n) = nf(n); (s) ⊦ ⌜m⌝ < ∞; (s) ⊦ # ⌜nf⌝ = ∞; (s) ⊦ [] ≠ ⌜nf⌝ ; (s)
| lim(⌜σf⌝ ) ≠ lim(⌜λ n. σf(n + m)⌝ ), mon(⌜σf⌝ ), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ) ⊦ |
⊦ mon(σσ) ∧ σσ ≠ [] → (∀ n. ⌜n⌝ < # σσ → σσ(n) ⊑ lim(σσ)) ∧ (∀ m. ¬ # lim(σσ) < ⌜m⌝ → (∃ n. ⌜n⌝ < # σσ ∧ lim(σσ) to m ⊑ σσ(n)))
lim(⌜σf⌝ ) ≠ lim(⌜λ n. σf(n + m)⌝ ), mon(⌜σf⌝ ), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), mon(⌜λ n. σf(n + m)⌝ ) ∧ ⌜λ n. σf(n + m)⌝ ≠ [] → (∀ n. ⌜n⌝ < # ⌜λ n. σf(n + m)⌝ → ⌜λ n. σf(n + m)⌝ (n) ⊑ lim(⌜λ n. σf(n + m)⌝ )) ∧ (∀ m0. ¬ # lim(⌜λ n. σf(n + m)⌝ ) < ⌜m0⌝ → (∃ n. ⌜n⌝ < # ⌜λ n. σf(n + m)⌝ ∧ lim(⌜λ n. σf(n + m)⌝ ) to m0 ⊑ ⌜λ n. σf(n + m)⌝ (n))), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ) ⊦
Used terms: ⌜λ n. σf(n + m)⌝
| ⊦ mon(σσ) ∧ σσ ≠ [] → (∀ n. ⌜n⌝ < # σσ → σσ(n) ⊑ lim(σσ)) ∧ (∀ m. ¬ # lim(σσ) < ⌜m⌝ → (∃ n. ⌜n⌝ < # σσ ∧ lim(σσ) to m ⊑ σσ(n))) |
| lim(⌜σf⌝ ) ≠ lim(⌜λ n. σf(n + m)⌝ ), mon(⌜σf⌝ ), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), mon(⌜λ n. σf(n + m)⌝ ) ∧ ⌜λ n. σf(n + m)⌝ ≠ [] → (∀ n. ⌜n⌝ < # ⌜λ n. σf(n + m)⌝ → ⌜λ n. σf(n + m)⌝ (n) ⊑ lim(⌜λ n. σf(n + m)⌝ )) ∧ (∀ m0. ¬ # lim(⌜λ n. σf(n + m)⌝ ) < ⌜m0⌝ → (∃ n. ⌜n⌝ < # ⌜λ n. σf(n + m)⌝ ∧ lim(⌜λ n. σf(n + m)⌝ ) to m0 ⊑ ⌜λ n. σf(n + m)⌝ (n))), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ) ⊦ |
lim(⌜σf⌝ ) ≠ lim(⌜λ n. σf(n + m)⌝ ), mon(⌜σf⌝ ), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), mon(⌜λ n. σf(n + m)⌝ ) → (∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ )) ∧ (∀ m0. ¬ # lim(⌜λ n. σf(n + m)⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m))), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ) ⊦
Used simplifier rules: ⊦ σ1 ⊑ σ2 ↔ (∃ σ. σ1 + σ = σ2); (ls) ⊦ ⌜nf⌝ (n) = nf(n); (s) ⊦ ⌜m⌝ < ∞; (s) ⊦ # ⌜nf⌝ = ∞; (s) ⊦ [] ≠ ⌜nf⌝ ; (s)
| lim(⌜σf⌝ ) ≠ lim(⌜λ n. σf(n + m)⌝ ), mon(⌜σf⌝ ), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), mon(⌜λ n. σf(n + m)⌝ ) → (∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ )) ∧ (∀ m0. ¬ # lim(⌜λ n. σf(n + m)⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m))), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ) ⊦ |
lim(⌜σf⌝ ) ≠ lim(⌜λ n. σf(n + m)⌝ ), mon(⌜σf⌝ ), ¬ mon(⌜λ n. σf(n + m)⌝ ), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ) ⊦
lim(⌜σf⌝ ) ≠ lim(⌜λ n. σf(n + m)⌝ ), mon(⌜σf⌝ ), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ m0. ¬ # lim(⌜λ n. σf(n + m)⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ) ⊦
| lim(⌜σf⌝ ) ≠ lim(⌜λ n. σf(n + m)⌝ ), mon(⌜σf⌝ ), ¬ mon(⌜λ n. σf(n + m)⌝ ), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ) ⊦ |
mon(⌜σf⌝ ) ⊦ mon(⌜λ n. σf(n + m)⌝ )
Used terms: m, σf
| mon(⌜σf⌝ ) ⊦ mon(⌜λ n. σf(n + m)⌝ ) |
| lim(⌜σf⌝ ) ≠ lim(⌜λ n. σf(n + m)⌝ ), mon(⌜σf⌝ ), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ m0. ¬ # lim(⌜λ n. σf(n + m)⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ) ⊦ |
# σf(m) = ∞, lim(⌜σf⌝ ) ≠ lim(⌜λ n. σf(n + m)⌝ ), mon(⌜σf⌝ ), ∀ m0. ¬ # lim(⌜λ n. σf(n + m)⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ) ⊦
# σf(m) ≠ ∞, lim(⌜σf⌝ ) ≠ lim(⌜λ n. σf(n + m)⌝ ), mon(⌜σf⌝ ), ∀ m0. ¬ # lim(⌜λ n. σf(n + m)⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ) ⊦
Used formulas: # σf(m) = ∞
| # σf(m) = ∞, lim(⌜σf⌝ ) ≠ lim(⌜λ n. σf(n + m)⌝ ), mon(⌜σf⌝ ), ∀ m0. ¬ # lim(⌜λ n. σf(n + m)⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ) ⊦ |
# σf(m) = ∞, lim(⌜σf⌝ ) ≠ lim(⌜λ n. σf(n + m)⌝ ), mon(⌜σf⌝ ), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ m0. ¬ # lim(⌜λ n. σf(n + m)⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), ∃ σ. σf(m) + σ = lim(⌜σf⌝ ) ⊦
Used terms: m
| # σf(m) = ∞, lim(⌜σf⌝ ) ≠ lim(⌜λ n. σf(n + m)⌝ ), mon(⌜σf⌝ ), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ m0. ¬ # lim(⌜λ n. σf(n + m)⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), ∃ σ. σf(m) + σ = lim(⌜σf⌝ ) ⊦ |
# σf(m) = ∞, σf(m) + σ = lim(⌜σf⌝ ), σf(m) + σ ≠ lim(⌜λ n. σf(n + m)⌝ ), mon(⌜σf⌝ ), ∀ m0. ¬ # lim(⌜λ n. σf(n + m)⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ m0. ∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ) ⊦
Used simplifier rules: ⊦ ¬ ∞ < n∞; (s) 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 ⊦ n∞ + ∞ = ∞; (s) append-assoc: ⊦ (σ + σ1) + σ2 = σ + σ1 + σ2; from specification stream ⊦ #(σ + σ1) = # σ + # σ1; (s)
| # σf(m) = ∞, σf(m) + σ = lim(⌜σf⌝ ), σf(m) + σ ≠ lim(⌜λ n. σf(n + m)⌝ ), mon(⌜σf⌝ ), ∀ m0. ¬ # lim(⌜λ n. σf(n + m)⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ m0. ∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ) ⊦ |
# σf(m) = ∞, σf(m) + σ = lim(⌜σf⌝ ), σf(m) = lim(⌜σf⌝ ), σf(m) + σ ≠ lim(⌜λ n. σf(n + m)⌝ ), mon(⌜σf⌝ ), ∀ m0. ∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n), ∀ m0. ¬ # lim(⌜λ n. σf(n + m)⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ) ⊦
Used simplifier rules: ⊦ σ + σ0 = σ ↔ σ0 = [] ∨ # σ = ∞; (s) append-assoc: ⊦ (σ + σ1) + σ2 = σ + σ1 + σ2; from specification stream Used formulas: σf(m) = lim(⌜σf⌝ )
| # σf(m) = ∞, σf(m) + σ = lim(⌜σf⌝ ), σf(m) = lim(⌜σf⌝ ), σf(m) + σ ≠ lim(⌜λ n. σf(n + m)⌝ ), mon(⌜σf⌝ ), ∀ m0. ∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n), ∀ m0. ¬ # lim(⌜λ n. σf(n + m)⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ) ⊦ |
# σf(m) = ∞, σf(m) = lim(⌜σf⌝ ), σf(m) ≠ lim(⌜λ n. σf(n + m)⌝ ), mon(⌜σf⌝ ), ∀ m0. ∃ n, σ. (σf(m) to m0) + σ = σf(n), ∀ m0. ¬ # lim(⌜λ n. σf(n + m)⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ n. ∃ σ. σf(n) + σ = σf(m), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ) ⊦
Used simplifier rules: append-assoc: ⊦ (σ + σ1) + σ2 = σ + σ1 + σ2; from specification stream ⊦ σ + σ0 = σ ↔ σ0 = [] ∨ # σ = ∞; (s)
| # σf(m) = ∞, σf(m) = lim(⌜σf⌝ ), σf(m) ≠ lim(⌜λ n. σf(n + m)⌝ ), mon(⌜σf⌝ ), ∀ m0. ∃ n, σ. (σf(m) to m0) + σ = σf(n), ∀ m0. ¬ # lim(⌜λ n. σf(n + m)⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ n. ∃ σ. σf(n) + σ = σf(m), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ) ⊦ |
Used simplifier rules: ⊦ n + 0 = n; (s) a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic c: ⊦ m + n = n + m; from specification nat-basic ⊦ σ + σ0 = σ ↔ σ0 = [] ∨ # σ = ∞; (s) append-assoc: ⊦ (σ + σ1) + σ2 = σ + σ1 + σ2; from specification stream Used terms: 0
| # σf(m) ≠ ∞, lim(⌜σf⌝ ) ≠ lim(⌜λ n. σf(n + m)⌝ ), mon(⌜σf⌝ ), ∀ m0. ¬ # lim(⌜λ n. σf(n + m)⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ) ⊦ |
⊦ n∞ = ∞ ↔ ¬(∃ n. n∞ = ⌜n⌝ )
lim(⌜σf⌝ ) ≠ lim(⌜λ n. σf(n + m)⌝ ), mon(⌜σf⌝ ), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ m0. ¬ # lim(⌜λ n. σf(n + m)⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), ∃ n. # σf(m) = ⌜n⌝ ⊦
Used terms: # σf(m)
| ⊦ n∞ = ∞ ↔ ¬(∃ n. n∞ = ⌜n⌝ ) |
| lim(⌜σf⌝ ) ≠ lim(⌜λ n. σf(n + m)⌝ ), mon(⌜σf⌝ ), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ m0. ¬ # lim(⌜λ n. σf(n + m)⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), ∃ n. # σf(m) = ⌜n⌝ ⊦ |
# σf(m) = ⌜n⌝ , lim(⌜σf⌝ ) ≠ lim(⌜λ n. σf(n + m)⌝ ), mon(⌜σf⌝ ), ∀ m0. ¬ # lim(⌜λ n. σf(n + m)⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ) ⊦
| # σf(m) = ⌜n⌝ , lim(⌜σf⌝ ) ≠ lim(⌜λ n. σf(n + m)⌝ ), mon(⌜σf⌝ ), ∀ m0. ¬ # lim(⌜λ n. σf(n + m)⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ) ⊦ |
⊦ σ0 = σ1 ↔ # σ0 = # σ1 ∧ (∀ n. ⌜n⌝ < # σ0 → σ0(n) = σ1(n))
# σf(m) = ⌜n⌝ , mon(⌜σf⌝ ), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ m0. ¬ # lim(⌜λ n. σf(n + m)⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), # lim(⌜σf⌝ ) ≠ # lim(⌜λ n. σf(n + m)⌝ ) ∨ (∃ n. ¬(⌜n⌝ < # lim(⌜σf⌝ ) → lim(⌜σf⌝ )(n) = lim(⌜λ n. σf(n + m)⌝ )(n))) ⊦
Used terms: lim(⌜σf⌝ ), lim(⌜λ n. σf(n + m)⌝ )
| ⊦ σ0 = σ1 ↔ # σ0 = # σ1 ∧ (∀ n. ⌜n⌝ < # σ0 → σ0(n) = σ1(n)) |
| # σf(m) = ⌜n⌝ , mon(⌜σf⌝ ), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ m0. ¬ # lim(⌜λ n. σf(n + m)⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), # lim(⌜σf⌝ ) ≠ # lim(⌜λ n. σf(n + m)⌝ ) ∨ (∃ n. ¬(⌜n⌝ < # lim(⌜σf⌝ ) → lim(⌜σf⌝ )(n) = lim(⌜λ n. σf(n + m)⌝ )(n))) ⊦ |
# σf(m) = ⌜n⌝ , mon(⌜σf⌝ ), ∀ m0. ¬ # lim(⌜λ n. σf(n + m)⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), # lim(⌜σf⌝ ) ≠ # lim(⌜λ n. σf(n + m)⌝ ) ∨ ¬(⌜n0⌝ < # lim(⌜σf⌝ ) → lim(⌜σf⌝ )(n0) = lim(⌜λ n. σf(n + m)⌝ )(n0)) ⊦
| # σf(m) = ⌜n⌝ , mon(⌜σf⌝ ), ∀ m0. ¬ # lim(⌜λ n. σf(n + m)⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), # lim(⌜σf⌝ ) ≠ # lim(⌜λ n. σf(n + m)⌝ ) ∨ ¬(⌜n0⌝ < # lim(⌜σf⌝ ) → lim(⌜σf⌝ )(n0) = lim(⌜λ n. σf(n + m)⌝ )(n0)) ⊦ |
# σf(m) = ⌜n⌝ , # lim(⌜σf⌝ ) ≠ # lim(⌜λ n. σf(n + m)⌝ ), mon(⌜σf⌝ ), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ m0. ¬ # lim(⌜λ n. σf(n + m)⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), # lim(⌜σf⌝ ) ≠ # lim(⌜λ n. σf(n + m)⌝ ) ∨ ¬(⌜n0⌝ < # lim(⌜σf⌝ ) → lim(⌜σf⌝ )(n0) = lim(⌜λ n. σf(n + m)⌝ )(n0)) ⊦
# lim(⌜σf⌝ ) = # lim(⌜λ n. σf(n + m)⌝ ), # σf(m) = ⌜n⌝ , mon(⌜σf⌝ ), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ m0. ¬ # lim(⌜λ n. σf(n + m)⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), # lim(⌜σf⌝ ) ≠ # lim(⌜λ n. σf(n + m)⌝ ) ∨ ¬(⌜n0⌝ < # lim(⌜σf⌝ ) → lim(⌜σf⌝ )(n0) = lim(⌜λ n. σf(n + m)⌝ )(n0)) ⊦
Used formulas: # lim(⌜σf⌝ ) ≠ # lim(⌜λ n. σf(n + m)⌝ )
| # σf(m) = ⌜n⌝ , # lim(⌜σf⌝ ) ≠ # lim(⌜λ n. σf(n + m)⌝ ), mon(⌜σf⌝ ), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ m0. ¬ # lim(⌜λ n. σf(n + m)⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), # lim(⌜σf⌝ ) ≠ # lim(⌜λ n. σf(n + m)⌝ ) ∨ ¬(⌜n0⌝ < # lim(⌜σf⌝ ) → lim(⌜σf⌝ )(n0) = lim(⌜λ n. σf(n + m)⌝ )(n0)) ⊦ |
# σf(m) = ⌜n⌝ , # lim(⌜σf⌝ ) ≠ # lim(⌜λ n. σf(n + m)⌝ ), mon(⌜σf⌝ ), ∀ m0. ¬ # lim(⌜λ n. σf(n + m)⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ) ⊦
| # σf(m) = ⌜n⌝ , # lim(⌜σf⌝ ) ≠ # lim(⌜λ n. σf(n + m)⌝ ), mon(⌜σf⌝ ), ∀ m0. ¬ # lim(⌜λ n. σf(n + m)⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ) ⊦ |
# σf(m) = ⌜n⌝ , # lim(⌜σf⌝ ) ≠ # lim(⌜λ n. σf(n + m)⌝ ), # lim(⌜σf⌝ ) < # lim(⌜λ n. σf(n + m)⌝ ), mon(⌜σf⌝ ), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ m0. ¬ # lim(⌜λ n. σf(n + m)⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ) ⊦
# σf(m) = ⌜n⌝ , # lim(⌜σf⌝ ) ≠ # lim(⌜λ n. σf(n + m)⌝ ), mon(⌜σf⌝ ), ¬ # lim(⌜σf⌝ ) < # lim(⌜λ n. σf(n + m)⌝ ), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ m0. ¬ # lim(⌜λ n. σf(n + m)⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ) ⊦
Used formulas: # lim(⌜σf⌝ ) < # lim(⌜λ n. σf(n + m)⌝ )
| # σf(m) = ⌜n⌝ , # lim(⌜σf⌝ ) ≠ # lim(⌜λ n. σf(n + m)⌝ ), # lim(⌜σf⌝ ) < # lim(⌜λ n. σf(n + m)⌝ ), mon(⌜σf⌝ ), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ m0. ¬ # lim(⌜λ n. σf(n + m)⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ) ⊦ |
# σf(m) = ⌜n⌝ , ⌜n0⌝ = # lim(⌜σf⌝ ), # lim(⌜σf⌝ ) ≠ # lim(⌜λ n. σf(n + m)⌝ ), # lim(⌜σf⌝ ) < # lim(⌜λ n. σf(n + m)⌝ ), mon(⌜σf⌝ ), ∀ m0. ¬ # lim(⌜λ n. σf(n + m)⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ) ⊦
Used simplifier rules: Natinf freely generated by ∞, ⌝; ⊦ ¬ ∞ < n∞; (s)
| # σf(m) = ⌜n⌝ , ⌜n0⌝ = # lim(⌜σf⌝ ), # lim(⌜σf⌝ ) ≠ # lim(⌜λ n. σf(n + m)⌝ ), # lim(⌜σf⌝ ) < # lim(⌜λ n. σf(n + m)⌝ ), mon(⌜σf⌝ ), ∀ m0. ¬ # lim(⌜λ n. σf(n + m)⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ) ⊦ |
# σf(m) = ⌜n⌝ , ⌜n0⌝ = # lim(⌜σf⌝ ), ⌜n0⌝ ≠ # lim(⌜λ n. σf(n + m)⌝ ), mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜λ n. σf(n + m)⌝ ), ∀ m0. ¬ # lim(⌜λ n. σf(n + m)⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ m0. ¬ n0 < m0 → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ) ⊦
Used simplifier rules: ⊦ ⌜m⌝ < ⌜n⌝ ↔ m < n; (s)
| # σf(m) = ⌜n⌝ , ⌜n0⌝ = # lim(⌜σf⌝ ), ⌜n0⌝ ≠ # lim(⌜λ n. σf(n + m)⌝ ), mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜λ n. σf(n + m)⌝ ), ∀ m0. ¬ # lim(⌜λ n. σf(n + m)⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ m0. ¬ n0 < m0 → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ) ⊦ |
# σf(m) = ⌜n⌝ , ⌜n0⌝ = # lim(⌜σf⌝ ), ⌜n0⌝ ≠ # lim(⌜λ n. σf(n + m)⌝ ), mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜λ n. σf(n + m)⌝ ), ∀ m0. ¬ n0 < m0 → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ m0. ¬ # lim(⌜λ n. σf(n + m)⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), ¬ # lim(⌜λ n. σf(n + m)⌝ ) < ⌜n0 + 1⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to n0 + 1) + σ = σf(n + m)) ⊦
Used terms: n0 + 1
| # σf(m) = ⌜n⌝ , ⌜n0⌝ = # lim(⌜σf⌝ ), ⌜n0⌝ ≠ # lim(⌜λ n. σf(n + m)⌝ ), mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜λ n. σf(n + m)⌝ ), ∀ m0. ¬ n0 < m0 → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ m0. ¬ # lim(⌜λ n. σf(n + m)⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), ¬ # lim(⌜λ n. σf(n + m)⌝ ) < ⌜n0 + 1⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to n0 + 1) + σ = σf(n + m)) ⊦ |
# σf(m) = ⌜n⌝ , (lim(⌜λ n. σf(n + m)⌝ ) to n0 + 1) + σ = σf(n1 + m), ⌜n0⌝ = # lim(⌜σf⌝ ), ⌜n0⌝ ≠ # lim(⌜λ n. σf(n + m)⌝ ), mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜λ n. σf(n + m)⌝ ), ∀ m0. ¬ # lim(⌜λ n. σf(n + m)⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ m0. ¬ n0 < m0 → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ) ⊦
Used simplifier rules: 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 ⊦ # σ < ⌜n⌝ + ⌜1⌝ ↔ ¬ ⌜n⌝ < # σ; (s) c: ⊦ m + n = n + m; from specification nat-basic a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic ⊦ ⌜m + n⌝ = ⌜m⌝ + ⌜n⌝ ; (s)
| # σf(m) = ⌜n⌝ , (lim(⌜λ n. σf(n + m)⌝ ) to n0 + 1) + σ = σf(n1 + m), ⌜n0⌝ = # lim(⌜σf⌝ ), ⌜n0⌝ ≠ # lim(⌜λ n. σf(n + m)⌝ ), mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜λ n. σf(n + m)⌝ ), ∀ m0. ¬ # lim(⌜λ n. σf(n + m)⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ m0. ¬ n0 < m0 → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ) ⊦ |
# σf(m) = ⌜n⌝ , (lim(⌜λ n. σf(n + m)⌝ ) to n0 + 1) + σ = σf(n1 + m), ⌜n0⌝ = # lim(⌜σf⌝ ), ⌜n0⌝ ≠ # lim(⌜λ n. σf(n + m)⌝ ), mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜λ n. σf(n + m)⌝ ), ∀ m0. ¬ n0 < m0 → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ m0. ¬ # lim(⌜λ n. σf(n + m)⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), ∃ σ. σf(n1 + m) + σ = lim(⌜σf⌝ ) ⊦
Used terms: n1 + m
| # σf(m) = ⌜n⌝ , (lim(⌜λ n. σf(n + m)⌝ ) to n0 + 1) + σ = σf(n1 + m), ⌜n0⌝ = # lim(⌜σf⌝ ), ⌜n0⌝ ≠ # lim(⌜λ n. σf(n + m)⌝ ), mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜λ n. σf(n + m)⌝ ), ∀ m0. ¬ n0 < m0 → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ m0. ¬ # lim(⌜λ n. σf(n + m)⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), ∃ σ. σf(n1 + m) + σ = lim(⌜σf⌝ ) ⊦ |
# σf(m) = ⌜n⌝ , (lim(⌜λ n. σf(n + m)⌝ ) to n0 + 1) + σ = σf(n1 + m), ⌜n0⌝ = # lim(⌜σf⌝ ), σf(n1 + m) + σ0 = lim(⌜σf⌝ ), ⌜n0⌝ ≠ # lim(⌜λ n. σf(n + m)⌝ ), mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜λ n. σf(n + m)⌝ ), ∀ m0. ¬ # lim(⌜λ n. σf(n + m)⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ m0. ¬ n0 < m0 → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ) ⊦
| # σf(m) = ⌜n⌝ , (lim(⌜λ n. σf(n + m)⌝ ) to n0 + 1) + σ = σf(n1 + m), ⌜n0⌝ = # lim(⌜σf⌝ ), σf(n1 + m) + σ0 = lim(⌜σf⌝ ), ⌜n0⌝ ≠ # lim(⌜λ n. σf(n + m)⌝ ), mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜λ n. σf(n + m)⌝ ), ∀ m0. ¬ # lim(⌜λ n. σf(n + m)⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ m0. ¬ n0 < m0 → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ) ⊦ |
# σf(m) = ⌜n⌝ , (lim(⌜λ n. σf(n + m)⌝ ) to n0 + 1) + σ = σf(n1 + m), ⌜n0⌝ = # lim(⌜σf⌝ ), σ0 = ⌜x⌝ , σf(n1 + m) + σ0 = lim(⌜σf⌝ ), ⌜n0⌝ ≠ # lim(⌜λ n. σf(n + m)⌝ ), mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜λ n. σf(n + m)⌝ ), ∀ m0. ¬ n0 < m0 → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ m0. ¬ # lim(⌜λ n. σf(n + m)⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ) ⊦
# σf(m) = ⌜n⌝ , (lim(⌜λ n. σf(n + m)⌝ ) to n0 + 1) + σ = σf(n1 + m), ⌜n0⌝ = # lim(⌜σf⌝ ), σ0 = ⌜nf⌝ , σf(n1 + m) + σ0 = lim(⌜σf⌝ ), ⌜n0⌝ ≠ # lim(⌜λ n. σf(n + m)⌝ ), mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜λ n. σf(n + m)⌝ ), ∀ m0. ¬ n0 < m0 → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ m0. ¬ # lim(⌜λ n. σf(n + m)⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ) ⊦
Used simplifier rules: Stream freely generated by ⌝, ⌝;
| # σf(m) = ⌜n⌝ , (lim(⌜λ n. σf(n + m)⌝ ) to n0 + 1) + σ = σf(n1 + m), ⌜n0⌝ = # lim(⌜σf⌝ ), σ0 = ⌜x⌝ , σf(n1 + m) + σ0 = lim(⌜σf⌝ ), ⌜n0⌝ ≠ # lim(⌜λ n. σf(n + m)⌝ ), mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜λ n. σf(n + m)⌝ ), ∀ m0. ¬ n0 < m0 → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ m0. ¬ # lim(⌜λ n. σf(n + m)⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ) ⊦ |
# σf(m) = ⌜n⌝ , (lim(⌜λ n. σf(n + m)⌝ ) to n0 + 1) + σ = σf(n1 + m), ⌜n0⌝ = # lim(⌜σf⌝ ), σf(n1 + m) + ⌜x⌝ = lim(⌜σf⌝ ), ⌜n0⌝ ≠ # lim(⌜λ n. σf(n + m)⌝ ), mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜λ n. σf(n + m)⌝ ), ∀ m0. ¬ # lim(⌜λ n. σf(n + m)⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ m0. ¬ n0 < m0 → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ) ⊦
| # σf(m) = ⌜n⌝ , (lim(⌜λ n. σf(n + m)⌝ ) to n0 + 1) + σ = σf(n1 + m), ⌜n0⌝ = # lim(⌜σf⌝ ), σf(n1 + m) + ⌜x⌝ = lim(⌜σf⌝ ), ⌜n0⌝ ≠ # lim(⌜λ n. σf(n + m)⌝ ), mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜λ n. σf(n + m)⌝ ), ∀ m0. ¬ # lim(⌜λ n. σf(n + m)⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ m0. ¬ n0 < m0 → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ) ⊦ |
⊦ σ0 = σ1 ↔ # σ0 = # σ1 ∧ (∀ n. ⌜n⌝ < # σ0 → σ0(n) = σ1(n))
#(σf(n1 + m) + ⌜x⌝ ) = # lim(⌜σf⌝ ), # σf(m) = ⌜n⌝ , (lim(⌜λ n. σf(n + m)⌝ ) to n0 + 1) + σ = σf(n1 + m), ⌜n0⌝ = # lim(⌜σf⌝ ), ⌜n0⌝ ≠ # lim(⌜λ n. σf(n + m)⌝ ), mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜λ n. σf(n + m)⌝ ), ∀ m0. ¬ n0 < m0 → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ m0. ¬ # lim(⌜λ n. σf(n + m)⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), ∀ n. ⌜n⌝ < #(σf(n1 + m) + ⌜x⌝ ) → (σf(n1 + m) + ⌜x⌝ )(n) = lim(⌜σf⌝ )(n) ⊦
Used terms: σf(n1 + m) + ⌜x⌝ , lim(⌜σf⌝ )
| ⊦ σ0 = σ1 ↔ # σ0 = # σ1 ∧ (∀ n. ⌜n⌝ < # σ0 → σ0(n) = σ1(n)) |
| #(σf(n1 + m) + ⌜x⌝ ) = # lim(⌜σf⌝ ), # σf(m) = ⌜n⌝ , (lim(⌜λ n. σf(n + m)⌝ ) to n0 + 1) + σ = σf(n1 + m), ⌜n0⌝ = # lim(⌜σf⌝ ), ⌜n0⌝ ≠ # lim(⌜λ n. σf(n + m)⌝ ), mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜λ n. σf(n + m)⌝ ), ∀ m0. ¬ n0 < m0 → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ m0. ¬ # lim(⌜λ n. σf(n + m)⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), ∀ n. ⌜n⌝ < #(σf(n1 + m) + ⌜x⌝ ) → (σf(n1 + m) + ⌜x⌝ )(n) = lim(⌜σf⌝ )(n) ⊦ |
# σf(n1 + m) + ⌜# x⌝ = ⌜n0⌝ , # σf(m) = ⌜n⌝ , (lim(⌜λ n. σf(n + m)⌝ ) to n0 + 1) + σ = σf(n1 + m), ⌜n0⌝ = # lim(⌜σf⌝ ), ⌜n0⌝ ≠ # lim(⌜λ n. σf(n + m)⌝ ), mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜λ n. σf(n + m)⌝ ), ∀ m0. ¬ n0 < m0 → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ m0. ¬ # lim(⌜λ n. σf(n + m)⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), ∀ n2. n2 < n0 → (σf(n1 + m) + ⌜x⌝ )(n2) = lim(⌜σf⌝ )(n2) ⊦
Used simplifier rules: ⊦ ⌜m⌝ < ⌜n⌝ ↔ m < n; (s) append-assoc: ⊦ (σ + σ1) + σ2 = σ + σ1 + σ2; from specification stream ⊦ # ⌜x⌝ = ⌜# x⌝ ; (s) ⊦ #(σ + σ1) = # σ + # σ1; (s)
| # σf(n1 + m) + ⌜# x⌝ = ⌜n0⌝ , # σf(m) = ⌜n⌝ , (lim(⌜λ n. σf(n + m)⌝ ) to n0 + 1) + σ = σf(n1 + m), ⌜n0⌝ = # lim(⌜σf⌝ ), ⌜n0⌝ ≠ # lim(⌜λ n. σf(n + m)⌝ ), mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜λ n. σf(n + m)⌝ ), ∀ m0. ¬ n0 < m0 → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ m0. ¬ # lim(⌜λ n. σf(n + m)⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), ∀ n2. n2 < n0 → (σf(n1 + m) + ⌜x⌝ )(n2) = lim(⌜σf⌝ )(n2) ⊦ |
⊦ σ0 = σ1 ↔ # σ0 = # σ1 ∧ (∀ n. ⌜n⌝ < # σ0 → σ0(n) = σ1(n))
Used simplifier rules: ⊦ #(σ + σ1) = # σ + # σ1; (s) ⊦ # σ < ⌜n⌝ + ⌜1⌝ ↔ ¬ ⌜n⌝ < # σ; (s) ¬ # σ < ⌜n⌝ ⊦ #(σ to n) = ⌜n⌝ ; (s) ⊦ ⌜m + n⌝ = ⌜m⌝ + ⌜n⌝ ; (s) a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic c: ⊦ m + n = n + m; from specification nat-basic append-assoc: ⊦ (σ + σ1) + σ2 = σ + σ1 + σ2; from specification stream ⊦ ⌜n⌝ < ⌜1⌝ + n∞ ↔ ¬ n∞ < ⌜n⌝ ; (s) ⊦ ⌜n⌝ + n∞ = ⌜n⌝ ↔ n∞ = ⌜0⌝ ; (s) ⊦ ⌜n⌝ + n∞ = ⌜0⌝ ↔ n∞ = ⌜0⌝ ∧ n = 0; (ws) add-assoc: ⊦ (n∞ + n∞1) + n∞2 = n∞ + n∞1 + n∞2; from specification nat-inf add-comm: ⊦ n∞1 + n∞2 = n∞2 + n∞1; from specification nat-inf Used terms: (lim(⌜λ n. σf(n + m)⌝ ) to n0 + 1) + σ, σf(n1 + m)
| ⊦ σ0 = σ1 ↔ # σ0 = # σ1 ∧ (∀ n. ⌜n⌝ < # σ0 → σ0(n) = σ1(n)) |
| # σf(m) = ⌜n⌝ , (lim(⌜λ n. σf(n + m)⌝ ) to n0 + 1) + σ = σf(n1 + m), ⌜n0⌝ = # lim(⌜σf⌝ ), σ0 = ⌜nf⌝ , σf(n1 + m) + σ0 = lim(⌜σf⌝ ), ⌜n0⌝ ≠ # lim(⌜λ n. σf(n + m)⌝ ), mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜λ n. σf(n + m)⌝ ), ∀ m0. ¬ n0 < m0 → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ m0. ¬ # lim(⌜λ n. σf(n + m)⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ) ⊦ |
# σf(m) = ⌜n⌝ , (lim(⌜λ n. σf(n + m)⌝ ) to n0 + 1) + σ = σf(n1 + m), ⌜n0⌝ = # lim(⌜σf⌝ ), σf(n1 + m) + ⌜nf⌝ = lim(⌜σf⌝ ), ⌜n0⌝ ≠ # lim(⌜λ n. σf(n + m)⌝ ), mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜λ n. σf(n + m)⌝ ), ∀ m0. ¬ # lim(⌜λ n. σf(n + m)⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ m0. ¬ n0 < m0 → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ) ⊦
| # σf(m) = ⌜n⌝ , (lim(⌜λ n. σf(n + m)⌝ ) to n0 + 1) + σ = σf(n1 + m), ⌜n0⌝ = # lim(⌜σf⌝ ), σf(n1 + m) + ⌜nf⌝ = lim(⌜σf⌝ ), ⌜n0⌝ ≠ # lim(⌜λ n. σf(n + m)⌝ ), mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜λ n. σf(n + m)⌝ ), ∀ m0. ¬ # lim(⌜λ n. σf(n + m)⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ m0. ¬ n0 < m0 → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ) ⊦ |
⊦ σ0 = σ1 ↔ # σ0 = # σ1 ∧ (∀ n. ⌜n⌝ < # σ0 → σ0(n) = σ1(n))
Used simplifier rules: ⊦ #(σ + σ1) = # σ + # σ1; (s) ⊦ # ⌜nf⌝ = ∞; (s) ⊦ n∞ + ∞ = ∞; (s) add-assoc: ⊦ (n∞ + n∞1) + n∞2 = n∞ + n∞1 + n∞2; from specification nat-inf add-comm: ⊦ n∞1 + n∞2 = n∞2 + n∞1; from specification nat-inf append-assoc: ⊦ (σ + σ1) + σ2 = σ + σ1 + σ2; from specification stream ⊦ ⌜m⌝ < ∞; (s) ⊦ ⌜n⌝ ≠ ∞; (s) Used terms: σf(n1 + m) + ⌜nf⌝ , lim(⌜σf⌝ )
| ⊦ σ0 = σ1 ↔ # σ0 = # σ1 ∧ (∀ n. ⌜n⌝ < # σ0 → σ0(n) = σ1(n)) |
| # σf(m) = ⌜n⌝ , # lim(⌜σf⌝ ) ≠ # lim(⌜λ n. σf(n + m)⌝ ), mon(⌜σf⌝ ), ¬ # lim(⌜σf⌝ ) < # lim(⌜λ n. σf(n + m)⌝ ), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ m0. ¬ # lim(⌜λ n. σf(n + m)⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ) ⊦ |
# σf(m) = ⌜n⌝ , ⌜n0⌝ = # lim(⌜λ n. σf(n + m)⌝ ), # lim(⌜σf⌝ ) ≠ # lim(⌜λ n. σf(n + m)⌝ ), mon(⌜σf⌝ ), ¬ # lim(⌜σf⌝ ) < # lim(⌜λ n. σf(n + m)⌝ ), ∀ m0. ¬ # lim(⌜λ n. σf(n + m)⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ) ⊦
Used simplifier rules: Natinf freely generated by ∞, ⌝; ⊦ n∞ < ∞ ↔ n∞ ≠ ∞; (s)
| # σf(m) = ⌜n⌝ , ⌜n0⌝ = # lim(⌜λ n. σf(n + m)⌝ ), # lim(⌜σf⌝ ) ≠ # lim(⌜λ n. σf(n + m)⌝ ), mon(⌜σf⌝ ), ¬ # lim(⌜σf⌝ ) < # lim(⌜λ n. σf(n + m)⌝ ), ∀ m0. ¬ # lim(⌜λ n. σf(n + m)⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ) ⊦ |
# σf(m) = ⌜n⌝ , ⌜n0⌝ = # lim(⌜λ n. σf(n + m)⌝ ), # lim(⌜σf⌝ ) ≠ ⌜n0⌝ , mon(⌜σf⌝ ), ¬ # lim(⌜σf⌝ ) < ⌜n0⌝ , ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ m0. ¬ n0 < m0 → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ) ⊦
Used simplifier rules: ⊦ ⌜m⌝ < ⌜n⌝ ↔ m < n; (s)
| # σf(m) = ⌜n⌝ , ⌜n0⌝ = # lim(⌜λ n. σf(n + m)⌝ ), # lim(⌜σf⌝ ) ≠ ⌜n0⌝ , mon(⌜σf⌝ ), ¬ # lim(⌜σf⌝ ) < ⌜n0⌝ , ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ m0. ¬ n0 < m0 → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ) ⊦ |
# σf(m) = ⌜n⌝ , ⌜n0⌝ = # lim(⌜λ n. σf(n + m)⌝ ), # lim(⌜σf⌝ ) ≠ ⌜n0⌝ , mon(⌜σf⌝ ), ¬ # lim(⌜σf⌝ ) < ⌜n0⌝ , ∀ m0. ¬ n0 < m0 → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), ¬ # lim(⌜σf⌝ ) < ⌜n0 + 1⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to n0 + 1) + σ = σf(n)) ⊦
Used terms: n0 + 1
| # σf(m) = ⌜n⌝ , ⌜n0⌝ = # lim(⌜λ n. σf(n + m)⌝ ), # lim(⌜σf⌝ ) ≠ ⌜n0⌝ , mon(⌜σf⌝ ), ¬ # lim(⌜σf⌝ ) < ⌜n0⌝ , ∀ m0. ¬ n0 < m0 → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), ¬ # lim(⌜σf⌝ ) < ⌜n0 + 1⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to n0 + 1) + σ = σf(n)) ⊦ |
# σf(m) = ⌜n⌝ , (lim(⌜σf⌝ ) to n0 + 1) + σ = σf(n1), ⌜n0⌝ = # lim(⌜λ n. σf(n + m)⌝ ), # lim(⌜σf⌝ ) ≠ ⌜n0⌝ , mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜σf⌝ ), ∀ m0. ¬ n0 < m0 → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ) ⊦
Used simplifier rules: ⊦ n∞ < n∞0 → ¬ n∞0 < n∞; (s) ⊦ ¬ n∞1 < n∞ → (n∞ < n∞1 ↔ n∞ ≠ n∞1); (ss) 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 ⊦ # σ < ⌜n⌝ + ⌜1⌝ ↔ ¬ ⌜n⌝ < # σ; (s) c: ⊦ m + n = n + m; from specification nat-basic a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic ⊦ ⌜m + n⌝ = ⌜m⌝ + ⌜n⌝ ; (s)
| # σf(m) = ⌜n⌝ , (lim(⌜σf⌝ ) to n0 + 1) + σ = σf(n1), ⌜n0⌝ = # lim(⌜λ n. σf(n + m)⌝ ), # lim(⌜σf⌝ ) ≠ ⌜n0⌝ , mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜σf⌝ ), ∀ m0. ¬ n0 < m0 → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ) ⊦ |
# σf(m) = ⌜n⌝ , (lim(⌜σf⌝ ) to n0 + 1) + σ = σf(n1), ⌜n0⌝ = # lim(⌜λ n. σf(n + m)⌝ ), # lim(⌜σf⌝ ) ≠ ⌜n0⌝ , mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜σf⌝ ), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ m0. ¬ n0 < m0 → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∃ σ. σf(n1 + m) + σ = lim(⌜λ n. σf(n + m)⌝ ) ⊦
Used terms: n1
| # σf(m) = ⌜n⌝ , (lim(⌜σf⌝ ) to n0 + 1) + σ = σf(n1), ⌜n0⌝ = # lim(⌜λ n. σf(n + m)⌝ ), # lim(⌜σf⌝ ) ≠ ⌜n0⌝ , mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜σf⌝ ), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ m0. ¬ n0 < m0 → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∃ σ. σf(n1 + m) + σ = lim(⌜λ n. σf(n + m)⌝ ) ⊦ |
# σf(m) = ⌜n⌝ , (lim(⌜σf⌝ ) to n0 + 1) + σ = σf(n1), ⌜n0⌝ = # σf(n1 + m) + # σ0, σf(n1 + m) + σ0 = lim(⌜λ n. σf(n + m)⌝ ), # lim(⌜σf⌝ ) ≠ ⌜n0⌝ , mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜σf⌝ ), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ m0. ¬ n0 < m0 → (∃ n, σ. (σf(n1 + m) + σ0 to m0) + σ = σf(n + m)), ∀ n. ∃ σ. σf(n + m) + σ = σf(n1 + m) + σ0, ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ) ⊦
Used simplifier rules: append-assoc: ⊦ (σ + σ1) + σ2 = σ + σ1 + σ2; from specification stream ⊦ #(σ + σ1) = # σ + # σ1; (s)
| # σf(m) = ⌜n⌝ , (lim(⌜σf⌝ ) to n0 + 1) + σ = σf(n1), ⌜n0⌝ = # σf(n1 + m) + # σ0, σf(n1 + m) + σ0 = lim(⌜λ n. σf(n + m)⌝ ), # lim(⌜σf⌝ ) ≠ ⌜n0⌝ , mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜σf⌝ ), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ m0. ¬ n0 < m0 → (∃ n, σ. (σf(n1 + m) + σ0 to m0) + σ = σf(n + m)), ∀ n. ∃ σ. σf(n + m) + σ = σf(n1 + m) + σ0, ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ) ⊦ |
mon(σσ), m ≤ n, ⌜n⌝ < # σσ ⊦ σσ(m) ⊑ σσ(n)
# σf(m) = ⌜n⌝ , (lim(⌜σf⌝ ) to n0 + 1) + σ = σf(n1), ⌜n0⌝ = # σf(n1 + m) + # σ0, σf(n1 + m) + σ0 = lim(⌜λ n. σf(n + m)⌝ ), # lim(⌜σf⌝ ) ≠ ⌜n0⌝ , mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜σf⌝ ), ⌜σf⌝ (n1) ⊑ ⌜σf⌝ (n1 + m), ∀ m0. ¬ n0 < m0 → (∃ n, σ. (σf(n1 + m) + σ0 to m0) + σ = σf(n + m)), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. σf(n + m) + σ = σf(n1 + m) + σ0 ⊦
Used simplifier rules: ⊦ m ≤ m + n; (s) ⊦ ⌜m + n⌝ = ⌜m⌝ + ⌜n⌝ ; (s) a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic c: ⊦ m + n = n + m; from specification nat-basic ⊦ # ⌜nf⌝ = ∞; (s) ⊦ n∞ < ∞ ↔ n∞ ≠ ∞; (s) ⊦ ⌜m⌝ + n∞ = ∞ ↔ n∞ = ∞; (s) ⊦ ⌜n⌝ ≠ ∞; (s) add-assoc: ⊦ (n∞ + n∞1) + n∞2 = n∞ + n∞1 + n∞2; from specification nat-inf add-comm: ⊦ n∞1 + n∞2 = n∞2 + n∞1; from specification nat-inf Used terms: ⌜σf⌝ , n1, n1 + m
| mon(σσ), m ≤ n, ⌜n⌝ < # σσ ⊦ σσ(m) ⊑ σσ(n) |
| # σf(m) = ⌜n⌝ , (lim(⌜σf⌝ ) to n0 + 1) + σ = σf(n1), ⌜n0⌝ = # σf(n1 + m) + # σ0, σf(n1 + m) + σ0 = lim(⌜λ n. σf(n + m)⌝ ), # lim(⌜σf⌝ ) ≠ ⌜n0⌝ , mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜σf⌝ ), ⌜σf⌝ (n1) ⊑ ⌜σf⌝ (n1 + m), ∀ m0. ¬ n0 < m0 → (∃ n, σ. (σf(n1 + m) + σ0 to m0) + σ = σf(n + m)), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. σf(n + m) + σ = σf(n1 + m) + σ0 ⊦ |
# σf(m) = ⌜n⌝ , (lim(⌜σf⌝ ) to n0 + 1) + σ = σf(n1), ⌜n0⌝ = (# σf(n1) + # σ1) + # σ0, (σf(n1) + σ1) + σ0 = lim(⌜λ n. σf(n + m)⌝ ), σf(n1) + σ1 = σf(n1 + m), # lim(⌜σf⌝ ) ≠ ⌜n0⌝ , mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜σf⌝ ), ∀ m0. ¬ n0 < m0 → (∃ n, σ. ((σf(n1) + σ1) + σ0 to m0) + σ = σf(n + m)), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. σf(n + m) + σ = (σf(n1) + σ1) + σ0 ⊦
Used simplifier rules: add-assoc: ⊦ (n∞ + n∞1) + n∞2 = n∞ + n∞1 + n∞2; from specification nat-inf append-assoc: ⊦ (σ + σ1) + σ2 = σ + σ1 + σ2; from specification stream ⊦ #(σ + σ1) = # σ + # σ1; (s) ⊦ σ1 ⊑ σ2 ↔ (∃ σ. σ1 + σ = σ2); (ls) ⊦ ⌜nf⌝ (n) = nf(n); (s)
| # σf(m) = ⌜n⌝ , (lim(⌜σf⌝ ) to n0 + 1) + σ = σf(n1), ⌜n0⌝ = (# σf(n1) + # σ1) + # σ0, (σf(n1) + σ1) + σ0 = lim(⌜λ n. σf(n + m)⌝ ), σf(n1) + σ1 = σf(n1 + m), # lim(⌜σf⌝ ) ≠ ⌜n0⌝ , mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜σf⌝ ), ∀ m0. ¬ n0 < m0 → (∃ n, σ. ((σf(n1) + σ1) + σ0 to m0) + σ = σf(n + m)), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. σf(n + m) + σ = (σf(n1) + σ1) + σ0 ⊦ |
# σf(m) = ⌜n⌝ , (lim(⌜σf⌝ ) to n0 + 1) + σ = σf(n1), ⌜n0⌝ = (# σf(n1) + # σ1) + # σ0, σ1 = ⌜x⌝ , σf(n1) + σ1 = σf(n1 + m), (σf(n1) + σ1) + σ0 = lim(⌜λ n. σf(n + m)⌝ ), # lim(⌜σf⌝ ) ≠ ⌜n0⌝ , mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜σf⌝ ), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ m0. ¬ n0 < m0 → (∃ n, σ. ((σf(n1) + σ1) + σ0 to m0) + σ = σf(n + m)), ∀ n. ∃ σ. σf(n + m) + σ = (σf(n1) + σ1) + σ0, ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ) ⊦
Used simplifier rules: Stream freely generated by ⌝, ⌝; ⊦ # ⌜nf⌝ = ∞; (s) ⊦ n∞ + ∞ = ∞; (s) 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 ⊦ ⌜n⌝ ≠ ∞; (s)
| # σf(m) = ⌜n⌝ , (lim(⌜σf⌝ ) to n0 + 1) + σ = σf(n1), ⌜n0⌝ = (# σf(n1) + # σ1) + # σ0, σ1 = ⌜x⌝ , σf(n1) + σ1 = σf(n1 + m), (σf(n1) + σ1) + σ0 = lim(⌜λ n. σf(n + m)⌝ ), # lim(⌜σf⌝ ) ≠ ⌜n0⌝ , mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜σf⌝ ), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ m0. ¬ n0 < m0 → (∃ n, σ. ((σf(n1) + σ1) + σ0 to m0) + σ = σf(n + m)), ∀ n. ∃ σ. σf(n + m) + σ = (σf(n1) + σ1) + σ0, ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ) ⊦ |
# σf(m) = ⌜n⌝ , (lim(⌜σf⌝ ) to n0 + 1) + σ = σf(n1), ⌜n0⌝ = # σf(n1) + ⌜# x⌝ + # σ0, (σf(n1) + ⌜x⌝ ) + σ0 = lim(⌜λ n. σf(n + m)⌝ ), σf(n1) + ⌜x⌝ = σf(n1 + m), # lim(⌜σf⌝ ) ≠ ⌜n0⌝ , mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜σf⌝ ), ∀ m0. ¬ n0 < m0 → (∃ n, σ. ((σf(n1) + ⌜x⌝ ) + σ0 to m0) + σ = σf(n + m)), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. σf(n + m) + σ = (σf(n1) + ⌜x⌝ ) + σ0 ⊦
Used simplifier rules: add-assoc: ⊦ (n∞ + n∞1) + n∞2 = n∞ + n∞1 + n∞2; from specification nat-inf ⊦ # ⌜x⌝ = ⌜# x⌝ ; (s)
| # σf(m) = ⌜n⌝ , (lim(⌜σf⌝ ) to n0 + 1) + σ = σf(n1), ⌜n0⌝ = # σf(n1) + ⌜# x⌝ + # σ0, (σf(n1) + ⌜x⌝ ) + σ0 = lim(⌜λ n. σf(n + m)⌝ ), σf(n1) + ⌜x⌝ = σf(n1 + m), # lim(⌜σf⌝ ) ≠ ⌜n0⌝ , mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜σf⌝ ), ∀ m0. ¬ n0 < m0 → (∃ n, σ. ((σf(n1) + ⌜x⌝ ) + σ0 to m0) + σ = σf(n + m)), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. σf(n + m) + σ = (σf(n1) + ⌜x⌝ ) + σ0 ⊦ |
# σf(m) = ⌜n⌝ , (lim(⌜σf⌝ ) to n0 + 1) + σ = σf(n1), ⌜n0⌝ = # σf(n1) + ⌜# x⌝ + # σ0, σ0 = ⌜x0⌝ , σf(n1) + ⌜x⌝ = σf(n1 + m), (σf(n1) + ⌜x⌝ ) + σ0 = lim(⌜λ n. σf(n + m)⌝ ), # lim(⌜σf⌝ ) ≠ ⌜n0⌝ , mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜σf⌝ ), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ m0. ¬ n0 < m0 → (∃ n, σ. ((σf(n1) + ⌜x⌝ ) + σ0 to m0) + σ = σf(n + m)), ∀ n. ∃ σ. σf(n + m) + σ = (σf(n1) + ⌜x⌝ ) + σ0, ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ) ⊦
Used simplifier rules: Stream freely generated by ⌝, ⌝; ⊦ # ⌜nf⌝ = ∞; (s) ⊦ ⌜m⌝ + ∞ = ∞; (s) ⊦ n∞ + ∞ = ∞; (s) 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 ⊦ ⌜n⌝ ≠ ∞; (s)
| # σf(m) = ⌜n⌝ , (lim(⌜σf⌝ ) to n0 + 1) + σ = σf(n1), ⌜n0⌝ = # σf(n1) + ⌜# x⌝ + # σ0, σ0 = ⌜x0⌝ , σf(n1) + ⌜x⌝ = σf(n1 + m), (σf(n1) + ⌜x⌝ ) + σ0 = lim(⌜λ n. σf(n + m)⌝ ), # lim(⌜σf⌝ ) ≠ ⌜n0⌝ , mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜σf⌝ ), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ m0. ¬ n0 < m0 → (∃ n, σ. ((σf(n1) + ⌜x⌝ ) + σ0 to m0) + σ = σf(n + m)), ∀ n. ∃ σ. σf(n + m) + σ = (σf(n1) + ⌜x⌝ ) + σ0, ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ) ⊦ |
# σf(m) = ⌜n⌝ , (lim(⌜σf⌝ ) to n0 + 1) + σ = σf(n1), ⌜n0⌝ = # σf(n1) + ⌜# x⌝ + ⌜# x0⌝ , (σf(n1) + ⌜x⌝ ) + ⌜x0⌝ = lim(⌜λ n. σf(n + m)⌝ ), σf(n1) + ⌜x⌝ = σf(n1 + m), # lim(⌜σf⌝ ) ≠ ⌜n0⌝ , mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜σf⌝ ), ∀ m0. ¬ n0 < m0 → (∃ n, σ. ((σf(n1) + ⌜x⌝ ) + ⌜x0⌝ to m0) + σ = σf(n + m)), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. σf(n + m) + σ = (σf(n1) + ⌜x⌝ ) + ⌜x0⌝ ⊦
Used simplifier rules: add-assoc: ⊦ (n∞ + n∞1) + n∞2 = n∞ + n∞1 + n∞2; from specification nat-inf ⊦ # ⌜x⌝ = ⌜# x⌝ ; (s)
| # σf(m) = ⌜n⌝ , (lim(⌜σf⌝ ) to n0 + 1) + σ = σf(n1), ⌜n0⌝ = # σf(n1) + ⌜# x⌝ + ⌜# x0⌝ , (σf(n1) + ⌜x⌝ ) + ⌜x0⌝ = lim(⌜λ n. σf(n + m)⌝ ), σf(n1) + ⌜x⌝ = σf(n1 + m), # lim(⌜σf⌝ ) ≠ ⌜n0⌝ , mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜σf⌝ ), ∀ m0. ¬ n0 < m0 → (∃ n, σ. ((σf(n1) + ⌜x⌝ ) + ⌜x0⌝ to m0) + σ = σf(n + m)), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. σf(n + m) + σ = (σf(n1) + ⌜x⌝ ) + ⌜x0⌝ ⊦ |
⊦ σ0 = σ1 ↔ # σ0 = # σ1 ∧ (∀ n. ⌜n⌝ < # σ0 → σ0(n) = σ1(n))
#((σf(n1) + ⌜x⌝ ) + ⌜x0⌝ ) = # lim(⌜λ n. σf(n + m)⌝ ), # σf(m) = ⌜n⌝ , (lim(⌜σf⌝ ) to n0 + 1) + σ = σf(n1), ⌜n0⌝ = # σf(n1) + ⌜# x⌝ + ⌜# x0⌝ , σf(n1) + ⌜x⌝ = σf(n1 + m), # lim(⌜σf⌝ ) ≠ ⌜n0⌝ , mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜σf⌝ ), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ m0. ¬ n0 < m0 → (∃ n, σ. ((σf(n1) + ⌜x⌝ ) + ⌜x0⌝ to m0) + σ = σf(n + m)), ∀ n. ∃ σ. σf(n + m) + σ = (σf(n1) + ⌜x⌝ ) + ⌜x0⌝ , ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ⌜n⌝ < #((σf(n1) + ⌜x⌝ ) + ⌜x0⌝ ) → ((σf(n1) + ⌜x⌝ ) + ⌜x0⌝ )(n) = lim(⌜λ n. σf(n + m)⌝ )(n) ⊦
Used simplifier rules: append-assoc: ⊦ (σ + σ1) + σ2 = σ + σ1 + σ2; from specification stream Used terms: (σf(n1) + ⌜x⌝ ) + ⌜x0⌝ , lim(⌜λ n. σf(n + m)⌝ )
| ⊦ σ0 = σ1 ↔ # σ0 = # σ1 ∧ (∀ n. ⌜n⌝ < # σ0 → σ0(n) = σ1(n)) |
| #((σf(n1) + ⌜x⌝ ) + ⌜x0⌝ ) = # lim(⌜λ n. σf(n + m)⌝ ), # σf(m) = ⌜n⌝ , (lim(⌜σf⌝ ) to n0 + 1) + σ = σf(n1), ⌜n0⌝ = # σf(n1) + ⌜# x⌝ + ⌜# x0⌝ , σf(n1) + ⌜x⌝ = σf(n1 + m), # lim(⌜σf⌝ ) ≠ ⌜n0⌝ , mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜σf⌝ ), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ m0. ¬ n0 < m0 → (∃ n, σ. ((σf(n1) + ⌜x⌝ ) + ⌜x0⌝ to m0) + σ = σf(n + m)), ∀ n. ∃ σ. σf(n + m) + σ = (σf(n1) + ⌜x⌝ ) + ⌜x0⌝ , ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ⌜n⌝ < #((σf(n1) + ⌜x⌝ ) + ⌜x0⌝ ) → ((σf(n1) + ⌜x⌝ ) + ⌜x0⌝ )(n) = lim(⌜λ n. σf(n + m)⌝ )(n) ⊦ |
# σf(m) = ⌜n⌝ , (lim(⌜σf⌝ ) to n0 + 1) + σ = σf(n1), ⌜n0⌝ = # lim(⌜λ n. σf(n + m)⌝ ), ⌜n0⌝ = # σf(n1) + ⌜# x⌝ + ⌜# x0⌝ , σf(n1) + ⌜x⌝ = σf(n1 + m), # lim(⌜σf⌝ ) ≠ ⌜n0⌝ , mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜σf⌝ ), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ m0. ¬ n0 < m0 → (∃ n, σ. ((σf(n1) + ⌜x⌝ ) + ⌜x0⌝ to m0) + σ = σf(n + m)), ∀ n. ∃ σ. σf(n + m) + σ = (σf(n1) + ⌜x⌝ ) + ⌜x0⌝ , ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n2. n2 < n0 → ((σf(n1) + ⌜x⌝ ) + ⌜x0⌝ )(n2) = lim(⌜λ n. σf(n + m)⌝ )(n2) ⊦
Used simplifier rules: ⊦ ⌜m⌝ < ⌜n⌝ ↔ m < n; (s) append-assoc: ⊦ (σ + σ1) + σ2 = σ + σ1 + σ2; from specification stream ⊦ # ⌜x⌝ = ⌜# x⌝ ; (s) ⊦ #(σ + σ1) = # σ + # σ1; (s)
| # σf(m) = ⌜n⌝ , (lim(⌜σf⌝ ) to n0 + 1) + σ = σf(n1), ⌜n0⌝ = # lim(⌜λ n. σf(n + m)⌝ ), ⌜n0⌝ = # σf(n1) + ⌜# x⌝ + ⌜# x0⌝ , σf(n1) + ⌜x⌝ = σf(n1 + m), # lim(⌜σf⌝ ) ≠ ⌜n0⌝ , mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜σf⌝ ), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ m0. ¬ n0 < m0 → (∃ n, σ. ((σf(n1) + ⌜x⌝ ) + ⌜x0⌝ to m0) + σ = σf(n + m)), ∀ n. ∃ σ. σf(n + m) + σ = (σf(n1) + ⌜x⌝ ) + ⌜x0⌝ , ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n2. n2 < n0 → ((σf(n1) + ⌜x⌝ ) + ⌜x0⌝ )(n2) = lim(⌜λ n. σf(n + m)⌝ )(n2) ⊦ |
⊦ σ0 = σ1 ↔ # σ0 = # σ1 ∧ (∀ n. ⌜n⌝ < # σ0 → σ0(n) = σ1(n))
#(σf(n1) + ⌜x⌝ ) = # σf(n1 + m), # σf(m) = ⌜n⌝ , (lim(⌜σf⌝ ) to n0 + 1) + σ = σf(n1), ⌜n0⌝ = # σf(n1) + ⌜# x⌝ + ⌜# x0⌝ , ⌜n0⌝ = # lim(⌜λ n. σf(n + m)⌝ ), # lim(⌜σf⌝ ) ≠ ⌜n0⌝ , mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜σf⌝ ), ∀ m0. ¬ n0 < m0 → (∃ n, σ. ((σf(n1) + ⌜x⌝ ) + ⌜x0⌝ to m0) + σ = σf(n + m)), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. σf(n + m) + σ = (σf(n1) + ⌜x⌝ ) + ⌜x0⌝ , ∀ n. ⌜n⌝ < #(σf(n1) + ⌜x⌝ ) → (σf(n1) + ⌜x⌝ )(n) = σf(n1 + m)(n), ∀ n2. n2 < n0 → ((σf(n1) + ⌜x⌝ ) + ⌜x0⌝ )(n2) = lim(⌜λ n. σf(n + m)⌝ )(n2) ⊦
Used terms: σf(n1) + ⌜x⌝ , σf(n1 + m)
| ⊦ σ0 = σ1 ↔ # σ0 = # σ1 ∧ (∀ n. ⌜n⌝ < # σ0 → σ0(n) = σ1(n)) |
| #(σf(n1) + ⌜x⌝ ) = # σf(n1 + m), # σf(m) = ⌜n⌝ , (lim(⌜σf⌝ ) to n0 + 1) + σ = σf(n1), ⌜n0⌝ = # σf(n1) + ⌜# x⌝ + ⌜# x0⌝ , ⌜n0⌝ = # lim(⌜λ n. σf(n + m)⌝ ), # lim(⌜σf⌝ ) ≠ ⌜n0⌝ , mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜σf⌝ ), ∀ m0. ¬ n0 < m0 → (∃ n, σ. ((σf(n1) + ⌜x⌝ ) + ⌜x0⌝ to m0) + σ = σf(n + m)), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. σf(n + m) + σ = (σf(n1) + ⌜x⌝ ) + ⌜x0⌝ , ∀ n. ⌜n⌝ < #(σf(n1) + ⌜x⌝ ) → (σf(n1) + ⌜x⌝ )(n) = σf(n1 + m)(n), ∀ n2. n2 < n0 → ((σf(n1) + ⌜x⌝ ) + ⌜x0⌝ )(n2) = lim(⌜λ n. σf(n + m)⌝ )(n2) ⊦ |
# σf(m) = ⌜n⌝ , # σf(n1) + ⌜# x⌝ = # σf(n1 + m), (lim(⌜σf⌝ ) to n0 + 1) + σ = σf(n1), ⌜n0⌝ = # lim(⌜λ n. σf(n + m)⌝ ), ⌜n0⌝ = # σf(n1) + ⌜# x⌝ + ⌜# x0⌝ , # lim(⌜σf⌝ ) ≠ ⌜n0⌝ , mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜σf⌝ ), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ m0. ¬ n0 < m0 → (∃ n, σ. ((σf(n1) + ⌜x⌝ ) + ⌜x0⌝ to m0) + σ = σf(n + m)), ∀ n. ∃ σ. σf(n + m) + σ = (σf(n1) + ⌜x⌝ ) + ⌜x0⌝ , ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n2. n2 < n0 → ((σf(n1) + ⌜x⌝ ) + ⌜x0⌝ )(n2) = lim(⌜λ n. σf(n + m)⌝ )(n2), ∀ n2. ⌜n2⌝ < # σf(n1) + ⌜# x⌝ → (σf(n1) + ⌜x⌝ )(n2) = σf(n1 + m)(n2) ⊦
Used simplifier rules: append-assoc: ⊦ (σ + σ1) + σ2 = σ + σ1 + σ2; from specification stream ⊦ # ⌜x⌝ = ⌜# x⌝ ; (s) ⊦ #(σ + σ1) = # σ + # σ1; (s)
| # σf(m) = ⌜n⌝ , # σf(n1) + ⌜# x⌝ = # σf(n1 + m), (lim(⌜σf⌝ ) to n0 + 1) + σ = σf(n1), ⌜n0⌝ = # lim(⌜λ n. σf(n + m)⌝ ), ⌜n0⌝ = # σf(n1) + ⌜# x⌝ + ⌜# x0⌝ , # lim(⌜σf⌝ ) ≠ ⌜n0⌝ , mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜σf⌝ ), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ m0. ¬ n0 < m0 → (∃ n, σ. ((σf(n1) + ⌜x⌝ ) + ⌜x0⌝ to m0) + σ = σf(n + m)), ∀ n. ∃ σ. σf(n + m) + σ = (σf(n1) + ⌜x⌝ ) + ⌜x0⌝ , ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n2. n2 < n0 → ((σf(n1) + ⌜x⌝ ) + ⌜x0⌝ )(n2) = lim(⌜λ n. σf(n + m)⌝ )(n2), ∀ n2. ⌜n2⌝ < # σf(n1) + ⌜# x⌝ → (σf(n1) + ⌜x⌝ )(n2) = σf(n1 + m)(n2) ⊦ |
⊦ σ0 = σ1 ↔ # σ0 = # σ1 ∧ (∀ n. ⌜n⌝ < # σ0 → σ0(n) = σ1(n))
#((lim(⌜σf⌝ ) to n0 + 1) + σ) = # σf(n1), # σf(n1) + ⌜# x⌝ = # σf(n1 + m), # σf(m) = ⌜n⌝ , ⌜n0⌝ = # σf(n1) + ⌜# x⌝ + ⌜# x0⌝ , ⌜n0⌝ = # lim(⌜λ n. σf(n + m)⌝ ), # lim(⌜σf⌝ ) ≠ ⌜n0⌝ , mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜σf⌝ ), ∀ m0. ¬ n0 < m0 → (∃ n, σ. ((σf(n1) + ⌜x⌝ ) + ⌜x0⌝ to m0) + σ = σf(n + m)), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. σf(n + m) + σ = (σf(n1) + ⌜x⌝ ) + ⌜x0⌝ , ∀ n. ⌜n⌝ < #((lim(⌜σf⌝ ) to n0 + 1) + σ) → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n) = σf(n1)(n), ∀ n2. ⌜n2⌝ < # σf(n1) + ⌜# x⌝ → (σf(n1) + ⌜x⌝ )(n2) = σf(n1 + m)(n2), ∀ n2. n2 < n0 → ((σf(n1) + ⌜x⌝ ) + ⌜x0⌝ )(n2) = lim(⌜λ n. σf(n + m)⌝ )(n2) ⊦
Used terms: (lim(⌜σf⌝ ) to n0 + 1) + σ, σf(n1)
| ⊦ σ0 = σ1 ↔ # σ0 = # σ1 ∧ (∀ n. ⌜n⌝ < # σ0 → σ0(n) = σ1(n)) |
| #((lim(⌜σf⌝ ) to n0 + 1) + σ) = # σf(n1), # σf(n1) + ⌜# x⌝ = # σf(n1 + m), # σf(m) = ⌜n⌝ , ⌜n0⌝ = # σf(n1) + ⌜# x⌝ + ⌜# x0⌝ , ⌜n0⌝ = # lim(⌜λ n. σf(n + m)⌝ ), # lim(⌜σf⌝ ) ≠ ⌜n0⌝ , mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜σf⌝ ), ∀ m0. ¬ n0 < m0 → (∃ n, σ. ((σf(n1) + ⌜x⌝ ) + ⌜x0⌝ to m0) + σ = σf(n + m)), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. σf(n + m) + σ = (σf(n1) + ⌜x⌝ ) + ⌜x0⌝ , ∀ n. ⌜n⌝ < #((lim(⌜σf⌝ ) to n0 + 1) + σ) → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n) = σf(n1)(n), ∀ n2. ⌜n2⌝ < # σf(n1) + ⌜# x⌝ → (σf(n1) + ⌜x⌝ )(n2) = σf(n1 + m)(n2), ∀ n2. n2 < n0 → ((σf(n1) + ⌜x⌝ ) + ⌜x0⌝ )(n2) = lim(⌜λ n. σf(n + m)⌝ )(n2) ⊦ |
# σf(m) = ⌜n⌝ , # σf(n1) + ⌜# x⌝ = # σf(n1 + m), ⌜n0⌝ = # lim(⌜λ n. σf(n + m)⌝ ), ⌜n0⌝ = # σf(n1) + ⌜# x⌝ + ⌜# x0⌝ , (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n1), # lim(⌜σf⌝ ) ≠ ⌜n0⌝ , mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜σf⌝ ), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ m0. ¬ n0 < m0 → (∃ n, σ. ((σf(n1) + ⌜x⌝ ) + ⌜x0⌝ to m0) + σ = σf(n + m)), ∀ n. ∃ σ. σf(n + m) + σ = (σf(n1) + ⌜x⌝ ) + ⌜x0⌝ , ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n2. n2 < n0 → ((σf(n1) + ⌜x⌝ ) + ⌜x0⌝ )(n2) = lim(⌜λ n. σf(n + m)⌝ )(n2), ∀ n2. ⌜n2⌝ < # σf(n1) + ⌜# x⌝ → (σf(n1) + ⌜x⌝ )(n2) = σf(n1 + m)(n2), ∀ n2. ¬ ⌜n0⌝ + # σ < ⌜n2⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n2) = σf(n1)(n2) ⊦
Used simplifier rules: 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 ⊦ ⌜n⌝ < ⌜1⌝ + n∞ ↔ ¬ n∞ < ⌜n⌝ ; (s) append-assoc: ⊦ (σ + σ1) + σ2 = σ + σ1 + σ2; from specification stream c: ⊦ m + n = n + m; from specification nat-basic a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic ⊦ ⌜m + n⌝ = ⌜m⌝ + ⌜n⌝ ; (s) ¬ # σ < ⌜n⌝ ⊦ #(σ to n) = ⌜n⌝ ; (s) ⊦ # σ < ⌜n⌝ + ⌜1⌝ ↔ ¬ ⌜n⌝ < # σ; (s) ⊦ #(σ + σ1) = # σ + # σ1; (s)
| # σf(m) = ⌜n⌝ , # σf(n1) + ⌜# x⌝ = # σf(n1 + m), ⌜n0⌝ = # lim(⌜λ n. σf(n + m)⌝ ), ⌜n0⌝ = # σf(n1) + ⌜# x⌝ + ⌜# x0⌝ , (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n1), # lim(⌜σf⌝ ) ≠ ⌜n0⌝ , mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜σf⌝ ), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ m0. ¬ n0 < m0 → (∃ n, σ. ((σf(n1) + ⌜x⌝ ) + ⌜x0⌝ to m0) + σ = σf(n + m)), ∀ n. ∃ σ. σf(n + m) + σ = (σf(n1) + ⌜x⌝ ) + ⌜x0⌝ , ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n2. n2 < n0 → ((σf(n1) + ⌜x⌝ ) + ⌜x0⌝ )(n2) = lim(⌜λ n. σf(n + m)⌝ )(n2), ∀ n2. ⌜n2⌝ < # σf(n1) + ⌜# x⌝ → (σf(n1) + ⌜x⌝ )(n2) = σf(n1 + m)(n2), ∀ n2. ¬ ⌜n0⌝ + # σ < ⌜n2⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n2) = σf(n1)(n2) ⊦ |
# σf(n1) + ⌜# x⌝ = # σf(n1 + m), # σf(m) = ⌜n⌝ , (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n1), ⌜n0⌝ = # σf(n1) + ⌜# x⌝ + ⌜# x0⌝ , ⌜n0⌝ = # lim(⌜λ n. σf(n + m)⌝ ), σ = ⌜x1⌝ , # lim(⌜σf⌝ ) ≠ ⌜n0⌝ , mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜σf⌝ ), ∀ m0. ¬ n0 < m0 → (∃ n, σ. ((σf(n1) + ⌜x⌝ ) + ⌜x0⌝ to m0) + σ = σf(n + m)), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. σf(n + m) + σ = (σf(n1) + ⌜x⌝ ) + ⌜x0⌝ , ∀ n2. ¬ ⌜n0⌝ + # σ < ⌜n2⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n2) = σf(n1)(n2), ∀ n2. ⌜n2⌝ < # σf(n1) + ⌜# x⌝ → (σf(n1) + ⌜x⌝ )(n2) = σf(n1 + m)(n2), ∀ n2. n2 < n0 → ((σf(n1) + ⌜x⌝ ) + ⌜x0⌝ )(n2) = lim(⌜λ n. σf(n + m)⌝ )(n2) ⊦
Used simplifier rules: Stream freely generated by ⌝, ⌝; ⊦ # ⌜nf⌝ = ∞; (s) ⊦ ¬ ∞ < n∞; (s) ⊦ ⌜m⌝ + ∞ = ∞; (s) 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 ⊦ ⌜n⌝ ≠ ∞; (s)
| # σf(n1) + ⌜# x⌝ = # σf(n1 + m), # σf(m) = ⌜n⌝ , (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n1), ⌜n0⌝ = # σf(n1) + ⌜# x⌝ + ⌜# x0⌝ , ⌜n0⌝ = # lim(⌜λ n. σf(n + m)⌝ ), σ = ⌜x1⌝ , # lim(⌜σf⌝ ) ≠ ⌜n0⌝ , mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜σf⌝ ), ∀ m0. ¬ n0 < m0 → (∃ n, σ. ((σf(n1) + ⌜x⌝ ) + ⌜x0⌝ to m0) + σ = σf(n + m)), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. σf(n + m) + σ = (σf(n1) + ⌜x⌝ ) + ⌜x0⌝ , ∀ n2. ¬ ⌜n0⌝ + # σ < ⌜n2⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n2) = σf(n1)(n2), ∀ n2. ⌜n2⌝ < # σf(n1) + ⌜# x⌝ → (σf(n1) + ⌜x⌝ )(n2) = σf(n1 + m)(n2), ∀ n2. n2 < n0 → ((σf(n1) + ⌜x⌝ ) + ⌜x0⌝ )(n2) = lim(⌜λ n. σf(n + m)⌝ )(n2) ⊦ |
# σf(m) = ⌜n⌝ , # σf(n1) + ⌜# x⌝ = # σf(n1 + m), ⌜n0⌝ = # lim(⌜λ n. σf(n + m)⌝ ), ⌜n0⌝ = # σf(n1) + ⌜# x⌝ + ⌜# x0⌝ , ⌜n0⌝ + ⌜1⌝ + ⌜# x1⌝ = # σf(n1), # lim(⌜σf⌝ ) ≠ ⌜n0⌝ , mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜σf⌝ ), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ m0. ¬ n0 < m0 → (∃ n, σ. ((σf(n1) + ⌜x⌝ ) + ⌜x0⌝ to m0) + σ = σf(n + m)), ∀ n. ∃ σ. σf(n + m) + σ = (σf(n1) + ⌜x⌝ ) + ⌜x0⌝ , ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n2. n2 < n0 → ((σf(n1) + ⌜x⌝ ) + ⌜x0⌝ )(n2) = lim(⌜λ n. σf(n + m)⌝ )(n2), ∀ n2. ⌜n2⌝ < # σf(n1) + ⌜# x⌝ → (σf(n1) + ⌜x⌝ )(n2) = σf(n1 + m)(n2), ∀ n2. ¬ n0 + # x1 < n2 → ((lim(⌜σf⌝ ) to n0 + 1) + ⌜x1⌝ )(n2) = σf(n1)(n2) ⊦
Used simplifier rules: 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 ⊦ ⌜n⌝ + ⌜m⌝ < ⌜n0⌝ ↔ n + m < n0; (s) ⊦ # ⌜x⌝ = ⌜# x⌝ ; (s)
| # σf(m) = ⌜n⌝ , # σf(n1) + ⌜# x⌝ = # σf(n1 + m), ⌜n0⌝ = # lim(⌜λ n. σf(n + m)⌝ ), ⌜n0⌝ = # σf(n1) + ⌜# x⌝ + ⌜# x0⌝ , ⌜n0⌝ + ⌜1⌝ + ⌜# x1⌝ = # σf(n1), # lim(⌜σf⌝ ) ≠ ⌜n0⌝ , mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜σf⌝ ), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ m0. ¬ n0 < m0 → (∃ n, σ. ((σf(n1) + ⌜x⌝ ) + ⌜x0⌝ to m0) + σ = σf(n + m)), ∀ n. ∃ σ. σf(n + m) + σ = (σf(n1) + ⌜x⌝ ) + ⌜x0⌝ , ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n2. n2 < n0 → ((σf(n1) + ⌜x⌝ ) + ⌜x0⌝ )(n2) = lim(⌜λ n. σf(n + m)⌝ )(n2), ∀ n2. ⌜n2⌝ < # σf(n1) + ⌜# x⌝ → (σf(n1) + ⌜x⌝ )(n2) = σf(n1 + m)(n2), ∀ n2. ¬ n0 + # x1 < n2 → ((lim(⌜σf⌝ ) to n0 + 1) + ⌜x1⌝ )(n2) = σf(n1)(n2) ⊦ |
Used simplifier rules: ⊦ ⌜n⌝ + n∞ = ⌜n⌝ ↔ n∞ = ⌜0⌝ ; (s) ⊦ ⌜n⌝ + n∞ = ⌜0⌝ ↔ n∞ = ⌜0⌝ ∧ n = 0; (ws) ⊦ ⌜n1⌝ + ⌜n⌝ + ⌜m⌝ = ⌜n0⌝ ↔ n1 + n + m = n0; (s) add-assoc: ⊦ (n∞ + n∞1) + n∞2 = n∞ + n∞1 + n∞2; from specification nat-inf add-comm: ⊦ n∞1 + n∞2 = n∞2 + n∞1; from specification nat-inf
| # lim(⌜σf⌝ ) = # lim(⌜λ n. σf(n + m)⌝ ), # σf(m) = ⌜n⌝ , mon(⌜σf⌝ ), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ m0. ¬ # lim(⌜λ n. σf(n + m)⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), # lim(⌜σf⌝ ) ≠ # lim(⌜λ n. σf(n + m)⌝ ) ∨ ¬(⌜n0⌝ < # lim(⌜σf⌝ ) → lim(⌜σf⌝ )(n0) = lim(⌜λ n. σf(n + m)⌝ )(n0)) ⊦ |
# σf(m) = ⌜n⌝ , # lim(⌜σf⌝ ) = # lim(⌜λ n. σf(n + m)⌝ ), lim(⌜σf⌝ )(n0) ≠ lim(⌜λ n. σf(n + m)⌝ )(n0), mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜σf⌝ ), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ) ⊦
| # σf(m) = ⌜n⌝ , # lim(⌜σf⌝ ) = # lim(⌜λ n. σf(n + m)⌝ ), lim(⌜σf⌝ )(n0) ≠ lim(⌜λ n. σf(n + m)⌝ )(n0), mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜σf⌝ ), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ) ⊦ |
# lim(⌜σf⌝ ) = # lim(⌜λ n. σf(n + m)⌝ ), # σf(m) = ⌜n⌝ , lim(⌜σf⌝ )(n0) ≠ lim(⌜λ n. σf(n + m)⌝ )(n0), mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜σf⌝ ), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), ¬ # lim(⌜σf⌝ ) < ⌜n0 + 1⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to n0 + 1) + σ = σf(n)) ⊦
Used terms: n0 + 1
| # lim(⌜σf⌝ ) = # lim(⌜λ n. σf(n + m)⌝ ), # σf(m) = ⌜n⌝ , lim(⌜σf⌝ )(n0) ≠ lim(⌜λ n. σf(n + m)⌝ )(n0), mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜σf⌝ ), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), ¬ # lim(⌜σf⌝ ) < ⌜n0 + 1⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to n0 + 1) + σ = σf(n)) ⊦ |
# σf(m) = ⌜n⌝ , # lim(⌜σf⌝ ) = # lim(⌜λ n. σf(n + m)⌝ ), (lim(⌜σf⌝ ) to n0 + 1) + σ = σf(n1), lim(⌜σf⌝ )(n0) ≠ lim(⌜λ n. σf(n + m)⌝ )(n0), mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜σf⌝ ), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ) ⊦
Used simplifier rules: 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 ⊦ # σ < ⌜n⌝ + ⌜1⌝ ↔ ¬ ⌜n⌝ < # σ; (s) c: ⊦ m + n = n + m; from specification nat-basic a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic ⊦ ⌜m + n⌝ = ⌜m⌝ + ⌜n⌝ ; (s)
| # σf(m) = ⌜n⌝ , # lim(⌜σf⌝ ) = # lim(⌜λ n. σf(n + m)⌝ ), (lim(⌜σf⌝ ) to n0 + 1) + σ = σf(n1), lim(⌜σf⌝ )(n0) ≠ lim(⌜λ n. σf(n + m)⌝ )(n0), mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜σf⌝ ), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ) ⊦ |
⊦ σ0 = σ1 ↔ # σ0 = # σ1 ∧ (∀ n. ⌜n⌝ < # σ0 → σ0(n) = σ1(n))
#((lim(⌜σf⌝ ) to n0 + 1) + σ) = # σf(n1), # lim(⌜σf⌝ ) = # lim(⌜λ n. σf(n + m)⌝ ), # σf(m) = ⌜n⌝ , lim(⌜σf⌝ )(n0) ≠ lim(⌜λ n. σf(n + m)⌝ )(n0), mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜σf⌝ ), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), ∀ n. ⌜n⌝ < #((lim(⌜σf⌝ ) to n0 + 1) + σ) → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n) = σf(n1)(n) ⊦
Used terms: (lim(⌜σf⌝ ) to n0 + 1) + σ, σf(n1)
| ⊦ σ0 = σ1 ↔ # σ0 = # σ1 ∧ (∀ n. ⌜n⌝ < # σ0 → σ0(n) = σ1(n)) |
| #((lim(⌜σf⌝ ) to n0 + 1) + σ) = # σf(n1), # lim(⌜σf⌝ ) = # lim(⌜λ n. σf(n + m)⌝ ), # σf(m) = ⌜n⌝ , lim(⌜σf⌝ )(n0) ≠ lim(⌜λ n. σf(n + m)⌝ )(n0), mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜σf⌝ ), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), ∀ n. ⌜n⌝ < #((lim(⌜σf⌝ ) to n0 + 1) + σ) → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n) = σf(n1)(n) ⊦ |
# σf(m) = ⌜n⌝ , # lim(⌜σf⌝ ) = # lim(⌜λ n. σf(n + m)⌝ ), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n1), lim(⌜σf⌝ )(n0) ≠ lim(⌜λ n. σf(n + m)⌝ )(n0), mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜σf⌝ ), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n2. ¬ ⌜n0⌝ + # σ < ⌜n2⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n2) = σf(n1)(n2) ⊦
Used simplifier rules: 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 ⊦ ⌜n⌝ < ⌜1⌝ + n∞ ↔ ¬ n∞ < ⌜n⌝ ; (s) append-assoc: ⊦ (σ + σ1) + σ2 = σ + σ1 + σ2; from specification stream c: ⊦ m + n = n + m; from specification nat-basic a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic ⊦ ⌜m + n⌝ = ⌜m⌝ + ⌜n⌝ ; (s) ¬ # σ < ⌜n⌝ ⊦ #(σ to n) = ⌜n⌝ ; (s) ⊦ # σ < ⌜n⌝ + ⌜1⌝ ↔ ¬ ⌜n⌝ < # σ; (s) ⊦ #(σ + σ1) = # σ + # σ1; (s)
| # σf(m) = ⌜n⌝ , # lim(⌜σf⌝ ) = # lim(⌜λ n. σf(n + m)⌝ ), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n1), lim(⌜σf⌝ )(n0) ≠ lim(⌜λ n. σf(n + m)⌝ )(n0), mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜σf⌝ ), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n2. ¬ ⌜n0⌝ + # σ < ⌜n2⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n2) = σf(n1)(n2) ⊦ |
# lim(⌜σf⌝ ) = # lim(⌜λ n. σf(n + m)⌝ ), # σf(m) = ⌜n⌝ , (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n1), lim(⌜σf⌝ )(n0) ≠ lim(⌜λ n. σf(n + m)⌝ )(n0), mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜σf⌝ ), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), ∀ n2. ¬ ⌜n0⌝ + # σ < ⌜n2⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n2) = σf(n1)(n2), ¬ ⌜n0⌝ + # σ < ⌜n0⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n0) = σf(n1)(n0) ⊦
Used terms: n0
| # lim(⌜σf⌝ ) = # lim(⌜λ n. σf(n + m)⌝ ), # σf(m) = ⌜n⌝ , (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n1), lim(⌜σf⌝ )(n0) ≠ lim(⌜λ n. σf(n + m)⌝ )(n0), mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜σf⌝ ), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), ∀ n2. ¬ ⌜n0⌝ + # σ < ⌜n2⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n2) = σf(n1)(n2), ¬ ⌜n0⌝ + # σ < ⌜n0⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n0) = σf(n1)(n0) ⊦ |
# σf(m) = ⌜n⌝ , # lim(⌜σf⌝ ) = # lim(⌜λ n. σf(n + m)⌝ ), ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n0) = σf(n1)(n0), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n1), lim(⌜σf⌝ )(n0) ≠ lim(⌜λ n. σf(n + m)⌝ )(n0), mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜σf⌝ ), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n2. ¬ ⌜n0⌝ + # σ < ⌜n2⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n2) = σf(n1)(n2) ⊦
Used simplifier rules: 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 ⊦ ¬ n∞ + n∞1 < n∞1; (s)
| # σf(m) = ⌜n⌝ , # lim(⌜σf⌝ ) = # lim(⌜λ n. σf(n + m)⌝ ), ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n0) = σf(n1)(n0), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n1), lim(⌜σf⌝ )(n0) ≠ lim(⌜λ n. σf(n + m)⌝ )(n0), mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜σf⌝ ), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n2. ¬ ⌜n0⌝ + # σ < ⌜n2⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n2) = σf(n1)(n2) ⊦ |
⊦ ⌜m⌝ < # σ → (σ + σ1)(m) = σ(m)
# lim(⌜σf⌝ ) = # lim(⌜λ n. σf(n + m)⌝ ), # σf(m) = ⌜n⌝ , (lim(⌜σf⌝ ) to n0 + 1)(n0) = σf(n1)(n0), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n1), lim(⌜σf⌝ )(n0) ≠ lim(⌜λ n. σf(n + m)⌝ )(n0), mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜σf⌝ ), ⌜n0⌝ < #(lim(⌜σf⌝ ) to n0 + 1), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), ∀ n2. ¬ ⌜n0⌝ + # σ < ⌜n2⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n2) = σf(n1)(n2) ⊦
Used simplifier rules: ⊦ ¬ ⌜m⌝ < # σ → (σ + σ1)(m) = σ1(m - (# σ).n); (s) ⊦ ⌜n⌝ ≠ ∞; (s) n∞ ≠ ∞ ⊦ (⌜m⌝ + n∞).n = m + n∞.n; (s) ⊦ ⌜n⌝ .n = n; (s) append-assoc: ⊦ (σ + σ1) + σ2 = σ + σ1 + σ2; from specification stream ⊦ # σ < ⌜n⌝ + ⌜1⌝ ↔ ¬ ⌜n⌝ < # σ; (s) ¬ # σ < ⌜n⌝ ⊦ #(σ to n) = ⌜n⌝ ; (s) ⊦ ⌜m + n⌝ = ⌜m⌝ + ⌜n⌝ ; (s) a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic c: ⊦ m + n = n + m; from specification nat-basic ⊦ ⌜n⌝ < ⌜1⌝ + n∞ ↔ ¬ n∞ < ⌜n⌝ ; (s) ⊦ ⌜m⌝ < ⌜n⌝ ↔ m < n; (s) ⊦ ¬ n < n; (s) add-assoc: ⊦ (n∞ + n∞1) + n∞2 = n∞ + n∞1 + n∞2; from specification nat-inf add-comm: ⊦ n∞1 + n∞2 = n∞2 + n∞1; from specification nat-inf Used terms: lim(⌜σf⌝ ) to n0 + 1, σ, n0
| ⊦ ⌜m⌝ < # σ → (σ + σ1)(m) = σ(m) |
| # lim(⌜σf⌝ ) = # lim(⌜λ n. σf(n + m)⌝ ), # σf(m) = ⌜n⌝ , (lim(⌜σf⌝ ) to n0 + 1)(n0) = σf(n1)(n0), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n1), lim(⌜σf⌝ )(n0) ≠ lim(⌜λ n. σf(n + m)⌝ )(n0), mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜σf⌝ ), ⌜n0⌝ < #(lim(⌜σf⌝ ) to n0 + 1), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), ∀ n2. ¬ ⌜n0⌝ + # σ < ⌜n2⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n2) = σf(n1)(n2) ⊦ |
# σf(m) = ⌜n⌝ , # lim(⌜σf⌝ ) = # lim(⌜λ n. σf(n + m)⌝ ), lim(⌜σf⌝ )(n0) = σf(n1)(n0), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n1), σf(n1)(n0) ≠ lim(⌜λ n. σf(n + m)⌝ )(n0), mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜σf⌝ ), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n2. ¬ ⌜n0⌝ + # σ < ⌜n2⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n2) = σf(n1)(n2) ⊦
Used simplifier rules: 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 ⊦ ¬ n < n; (s) ⊦ ⌜m⌝ < ⌜n⌝ ↔ m < n; (s) ⊦ ⌜n⌝ < ⌜1⌝ + n∞ ↔ ¬ n∞ < ⌜n⌝ ; (s) c: ⊦ m + n = n + m; from specification nat-basic a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic ⊦ ⌜m + n⌝ = ⌜m⌝ + ⌜n⌝ ; (s) ¬ # σ < ⌜n⌝ ⊦ #(σ to n) = ⌜n⌝ ; (s) ⊦ # σ < ⌜n⌝ + ⌜1⌝ ↔ ¬ ⌜n⌝ < # σ; (s) m < n, ¬ # σ < ⌜n⌝ ⊦ (σ to n)(m) = σ(m); (s) ⊦ m < n + 1 ↔ ¬ n < m; (s)
| # σf(m) = ⌜n⌝ , # lim(⌜σf⌝ ) = # lim(⌜λ n. σf(n + m)⌝ ), lim(⌜σf⌝ )(n0) = σf(n1)(n0), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n1), σf(n1)(n0) ≠ lim(⌜λ n. σf(n + m)⌝ )(n0), mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜σf⌝ ), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n2. ¬ ⌜n0⌝ + # σ < ⌜n2⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n2) = σf(n1)(n2) ⊦ |
# lim(⌜σf⌝ ) = # lim(⌜λ n. σf(n + m)⌝ ), # σf(m) = ⌜n⌝ , lim(⌜σf⌝ )(n0) = σf(n1)(n0), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n1), σf(n1)(n0) ≠ lim(⌜λ n. σf(n + m)⌝ )(n0), mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜σf⌝ ), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), ∀ n2. ¬ ⌜n0⌝ + # σ < ⌜n2⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n2) = σf(n1)(n2), ¬ # lim(⌜σf⌝ ) < ⌜n0 + 1⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to n0 + 1) + σ = σf(n + m)) ⊦
Used terms: n0 + 1
| # lim(⌜σf⌝ ) = # lim(⌜λ n. σf(n + m)⌝ ), # σf(m) = ⌜n⌝ , lim(⌜σf⌝ )(n0) = σf(n1)(n0), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n1), σf(n1)(n0) ≠ lim(⌜λ n. σf(n + m)⌝ )(n0), mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜σf⌝ ), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), ∀ n2. ¬ ⌜n0⌝ + # σ < ⌜n2⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n2) = σf(n1)(n2), ¬ # lim(⌜σf⌝ ) < ⌜n0 + 1⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to n0 + 1) + σ = σf(n + m)) ⊦ |
# σf(m) = ⌜n⌝ , # lim(⌜σf⌝ ) = # lim(⌜λ n. σf(n + m)⌝ ), lim(⌜σf⌝ )(n0) = σf(n1)(n0), (lim(⌜λ n. σf(n + m)⌝ ) to n0 + 1) + σ0 = σf(n2 + m), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n1), σf(n1)(n0) ≠ lim(⌜λ n. σf(n + m)⌝ )(n0), mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜σf⌝ ), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n2. ¬ ⌜n0⌝ + # σ < ⌜n2⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n2) = σf(n1)(n2) ⊦
Used simplifier rules: 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 ⊦ # σ < ⌜n⌝ + ⌜1⌝ ↔ ¬ ⌜n⌝ < # σ; (s) c: ⊦ m + n = n + m; from specification nat-basic a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic ⊦ ⌜m + n⌝ = ⌜m⌝ + ⌜n⌝ ; (s)
| # σf(m) = ⌜n⌝ , # lim(⌜σf⌝ ) = # lim(⌜λ n. σf(n + m)⌝ ), lim(⌜σf⌝ )(n0) = σf(n1)(n0), (lim(⌜λ n. σf(n + m)⌝ ) to n0 + 1) + σ0 = σf(n2 + m), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n1), σf(n1)(n0) ≠ lim(⌜λ n. σf(n + m)⌝ )(n0), mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜σf⌝ ), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n2. ¬ ⌜n0⌝ + # σ < ⌜n2⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n2) = σf(n1)(n2) ⊦ |
⊦ σ0 = σ1 ↔ # σ0 = # σ1 ∧ (∀ n. ⌜n⌝ < # σ0 → σ0(n) = σ1(n))
#((lim(⌜λ n. σf(n + m)⌝ ) to n0 + 1) + σ0) = # σf(n2 + m), # lim(⌜σf⌝ ) = # lim(⌜λ n. σf(n + m)⌝ ), # σf(m) = ⌜n⌝ , lim(⌜σf⌝ )(n0) = σf(n1)(n0), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n1), σf(n1)(n0) ≠ lim(⌜λ n. σf(n + m)⌝ )(n0), mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜σf⌝ ), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), ∀ n. ⌜n⌝ < #((lim(⌜λ n. σf(n + m)⌝ ) to n0 + 1) + σ0) → ((lim(⌜λ n. σf(n + m)⌝ ) to n0 + 1) + σ0)(n) = σf(n2 + m)(n), ∀ n2. ¬ ⌜n0⌝ + # σ < ⌜n2⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n2) = σf(n1)(n2) ⊦
Used terms: (lim(⌜λ n. σf(n + m)⌝ ) to n0 + 1) + σ0, σf(n2 + m)
| ⊦ σ0 = σ1 ↔ # σ0 = # σ1 ∧ (∀ n. ⌜n⌝ < # σ0 → σ0(n) = σ1(n)) |
| #((lim(⌜λ n. σf(n + m)⌝ ) to n0 + 1) + σ0) = # σf(n2 + m), # lim(⌜σf⌝ ) = # lim(⌜λ n. σf(n + m)⌝ ), # σf(m) = ⌜n⌝ , lim(⌜σf⌝ )(n0) = σf(n1)(n0), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n1), σf(n1)(n0) ≠ lim(⌜λ n. σf(n + m)⌝ )(n0), mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜σf⌝ ), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), ∀ n. ⌜n⌝ < #((lim(⌜λ n. σf(n + m)⌝ ) to n0 + 1) + σ0) → ((lim(⌜λ n. σf(n + m)⌝ ) to n0 + 1) + σ0)(n) = σf(n2 + m)(n), ∀ n2. ¬ ⌜n0⌝ + # σ < ⌜n2⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n2) = σf(n1)(n2) ⊦ |
# σf(m) = ⌜n⌝ , # lim(⌜σf⌝ ) = # lim(⌜λ n. σf(n + m)⌝ ), lim(⌜σf⌝ )(n0) = σf(n1)(n0), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n1), (⌜n0⌝ + ⌜1⌝ ) + # σ0 = # σf(n2 + m), σf(n1)(n0) ≠ lim(⌜λ n. σf(n + m)⌝ )(n0), mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜σf⌝ ), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n2. ¬ ⌜n0⌝ + # σ < ⌜n2⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n2) = σf(n1)(n2), ∀ n3. ¬ ⌜n0⌝ + # σ0 < ⌜n3⌝ → ((lim(⌜λ n. σf(n + m)⌝ ) to n0 + 1) + σ0)(n3) = σf(n2 + m)(n3) ⊦
Used simplifier rules: 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 ⊦ ⌜n⌝ < ⌜1⌝ + n∞ ↔ ¬ n∞ < ⌜n⌝ ; (s) append-assoc: ⊦ (σ + σ1) + σ2 = σ + σ1 + σ2; from specification stream c: ⊦ m + n = n + m; from specification nat-basic a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic ⊦ ⌜m + n⌝ = ⌜m⌝ + ⌜n⌝ ; (s) ¬ # σ < ⌜n⌝ ⊦ #(σ to n) = ⌜n⌝ ; (s) ⊦ # σ < ⌜n⌝ + ⌜1⌝ ↔ ¬ ⌜n⌝ < # σ; (s) ⊦ #(σ + σ1) = # σ + # σ1; (s)
| # σf(m) = ⌜n⌝ , # lim(⌜σf⌝ ) = # lim(⌜λ n. σf(n + m)⌝ ), lim(⌜σf⌝ )(n0) = σf(n1)(n0), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n1), (⌜n0⌝ + ⌜1⌝ ) + # σ0 = # σf(n2 + m), σf(n1)(n0) ≠ lim(⌜λ n. σf(n + m)⌝ )(n0), mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜σf⌝ ), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n2. ¬ ⌜n0⌝ + # σ < ⌜n2⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n2) = σf(n1)(n2), ∀ n3. ¬ ⌜n0⌝ + # σ0 < ⌜n3⌝ → ((lim(⌜λ n. σf(n + m)⌝ ) to n0 + 1) + σ0)(n3) = σf(n2 + m)(n3) ⊦ |
# lim(⌜σf⌝ ) = # lim(⌜λ n. σf(n + m)⌝ ), # σf(m) = ⌜n⌝ , lim(⌜σf⌝ )(n0) = σf(n1)(n0), (⌜n0⌝ + ⌜1⌝ ) + # σ0 = # σf(n2 + m), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n1), σf(n1)(n0) ≠ lim(⌜λ n. σf(n + m)⌝ )(n0), mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜σf⌝ ), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), ∀ n2. ¬ ⌜n0⌝ + # σ < ⌜n2⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n2) = σf(n1)(n2), ∀ n3. ¬ ⌜n0⌝ + # σ0 < ⌜n3⌝ → ((lim(⌜λ n. σf(n + m)⌝ ) to n0 + 1) + σ0)(n3) = σf(n2 + m)(n3), ¬ ⌜n0⌝ + # σ0 < ⌜n0⌝ → ((lim(⌜λ n. σf(n + m)⌝ ) to n0 + 1) + σ0)(n0) = σf(n2 + m)(n0) ⊦
Used terms: n0
| # lim(⌜σf⌝ ) = # lim(⌜λ n. σf(n + m)⌝ ), # σf(m) = ⌜n⌝ , lim(⌜σf⌝ )(n0) = σf(n1)(n0), (⌜n0⌝ + ⌜1⌝ ) + # σ0 = # σf(n2 + m), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n1), σf(n1)(n0) ≠ lim(⌜λ n. σf(n + m)⌝ )(n0), mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜σf⌝ ), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), ∀ n2. ¬ ⌜n0⌝ + # σ < ⌜n2⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n2) = σf(n1)(n2), ∀ n3. ¬ ⌜n0⌝ + # σ0 < ⌜n3⌝ → ((lim(⌜λ n. σf(n + m)⌝ ) to n0 + 1) + σ0)(n3) = σf(n2 + m)(n3), ¬ ⌜n0⌝ + # σ0 < ⌜n0⌝ → ((lim(⌜λ n. σf(n + m)⌝ ) to n0 + 1) + σ0)(n0) = σf(n2 + m)(n0) ⊦ |
# σf(m) = ⌜n⌝ , # lim(⌜σf⌝ ) = # lim(⌜λ n. σf(n + m)⌝ ), lim(⌜σf⌝ )(n0) = σf(n1)(n0), ((lim(⌜λ n. σf(n + m)⌝ ) to n0 + 1) + σ0)(n0) = σf(n2 + m)(n0), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n1), (⌜n0⌝ + ⌜1⌝ ) + # σ0 = # σf(n2 + m), σf(n1)(n0) ≠ lim(⌜λ n. σf(n + m)⌝ )(n0), mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜σf⌝ ), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n2. ¬ ⌜n0⌝ + # σ < ⌜n2⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n2) = σf(n1)(n2), ∀ n3. ¬ ⌜n0⌝ + # σ0 < ⌜n3⌝ → ((lim(⌜λ n. σf(n + m)⌝ ) to n0 + 1) + σ0)(n3) = σf(n2 + m)(n3) ⊦
Used simplifier rules: 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 ⊦ ¬ n∞ + n∞1 < n∞1; (s)
| # σf(m) = ⌜n⌝ , # lim(⌜σf⌝ ) = # lim(⌜λ n. σf(n + m)⌝ ), lim(⌜σf⌝ )(n0) = σf(n1)(n0), ((lim(⌜λ n. σf(n + m)⌝ ) to n0 + 1) + σ0)(n0) = σf(n2 + m)(n0), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n1), (⌜n0⌝ + ⌜1⌝ ) + # σ0 = # σf(n2 + m), σf(n1)(n0) ≠ lim(⌜λ n. σf(n + m)⌝ )(n0), mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜σf⌝ ), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n2. ¬ ⌜n0⌝ + # σ < ⌜n2⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n2) = σf(n1)(n2), ∀ n3. ¬ ⌜n0⌝ + # σ0 < ⌜n3⌝ → ((lim(⌜λ n. σf(n + m)⌝ ) to n0 + 1) + σ0)(n3) = σf(n2 + m)(n3) ⊦ |
⊦ ⌜m⌝ < # σ → (σ + σ1)(m) = σ(m)
# lim(⌜σf⌝ ) = # lim(⌜λ n. σf(n + m)⌝ ), # σf(m) = ⌜n⌝ , (lim(⌜λ n. σf(n + m)⌝ ) to n0 + 1)(n0) = σf(n2 + m)(n0), lim(⌜σf⌝ )(n0) = σf(n1)(n0), (⌜n0⌝ + ⌜1⌝ ) + # σ0 = # σf(n2 + m), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n1), σf(n1)(n0) ≠ lim(⌜λ n. σf(n + m)⌝ )(n0), mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜σf⌝ ), ⌜n0⌝ < #(lim(⌜λ n. σf(n + m)⌝ ) to n0 + 1), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), ∀ n2. ¬ ⌜n0⌝ + # σ < ⌜n2⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n2) = σf(n1)(n2), ∀ n3. ¬ ⌜n0⌝ + # σ0 < ⌜n3⌝ → ((lim(⌜λ n. σf(n + m)⌝ ) to n0 + 1) + σ0)(n3) = σf(n2 + m)(n3) ⊦
Used simplifier rules: ⊦ ¬ ⌜m⌝ < # σ → (σ + σ1)(m) = σ1(m - (# σ).n); (s) ⊦ ⌜n⌝ ≠ ∞; (s) n∞ ≠ ∞ ⊦ (⌜m⌝ + n∞).n = m + n∞.n; (s) ⊦ ⌜n⌝ .n = n; (s) append-assoc: ⊦ (σ + σ1) + σ2 = σ + σ1 + σ2; from specification stream ⊦ # σ < ⌜n⌝ + ⌜1⌝ ↔ ¬ ⌜n⌝ < # σ; (s) ¬ # σ < ⌜n⌝ ⊦ #(σ to n) = ⌜n⌝ ; (s) ⊦ ⌜m + n⌝ = ⌜m⌝ + ⌜n⌝ ; (s) a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic c: ⊦ m + n = n + m; from specification nat-basic ⊦ ⌜n⌝ < ⌜1⌝ + n∞ ↔ ¬ n∞ < ⌜n⌝ ; (s) ⊦ ⌜m⌝ < ⌜n⌝ ↔ m < n; (s) ⊦ ¬ n < n; (s) add-assoc: ⊦ (n∞ + n∞1) + n∞2 = n∞ + n∞1 + n∞2; from specification nat-inf add-comm: ⊦ n∞1 + n∞2 = n∞2 + n∞1; from specification nat-inf Used terms: lim(⌜λ n. σf(n + m)⌝ ) to n0 + 1, σ0, n0
| ⊦ ⌜m⌝ < # σ → (σ + σ1)(m) = σ(m) |
| # lim(⌜σf⌝ ) = # lim(⌜λ n. σf(n + m)⌝ ), # σf(m) = ⌜n⌝ , (lim(⌜λ n. σf(n + m)⌝ ) to n0 + 1)(n0) = σf(n2 + m)(n0), lim(⌜σf⌝ )(n0) = σf(n1)(n0), (⌜n0⌝ + ⌜1⌝ ) + # σ0 = # σf(n2 + m), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n1), σf(n1)(n0) ≠ lim(⌜λ n. σf(n + m)⌝ )(n0), mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜σf⌝ ), ⌜n0⌝ < #(lim(⌜λ n. σf(n + m)⌝ ) to n0 + 1), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), ∀ n2. ¬ ⌜n0⌝ + # σ < ⌜n2⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n2) = σf(n1)(n2), ∀ n3. ¬ ⌜n0⌝ + # σ0 < ⌜n3⌝ → ((lim(⌜λ n. σf(n + m)⌝ ) to n0 + 1) + σ0)(n3) = σf(n2 + m)(n3) ⊦ |
# σf(m) = ⌜n⌝ , # lim(⌜σf⌝ ) = # lim(⌜λ n. σf(n + m)⌝ ), lim(⌜σf⌝ )(n0) = σf(n1)(n0), lim(⌜λ n. σf(n + m)⌝ )(n0) = σf(n2 + m)(n0), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n1), (⌜n0⌝ + ⌜1⌝ ) + # σ0 = # σf(n2 + m), σf(n1)(n0) ≠ σf(n2 + m)(n0), mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜σf⌝ ), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n2. ¬ ⌜n0⌝ + # σ < ⌜n2⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n2) = σf(n1)(n2), ∀ n3. ¬ ⌜n0⌝ + # σ0 < ⌜n3⌝ → ((lim(⌜λ n. σf(n + m)⌝ ) to n0 + 1) + σ0)(n3) = σf(n2 + m)(n3) ⊦
Used simplifier rules: 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 ⊦ ¬ n < n; (s) ⊦ ⌜m⌝ < ⌜n⌝ ↔ m < n; (s) ⊦ ⌜n⌝ < ⌜1⌝ + n∞ ↔ ¬ n∞ < ⌜n⌝ ; (s) c: ⊦ m + n = n + m; from specification nat-basic a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic ⊦ ⌜m + n⌝ = ⌜m⌝ + ⌜n⌝ ; (s) ¬ # σ < ⌜n⌝ ⊦ #(σ to n) = ⌜n⌝ ; (s) ⊦ # σ < ⌜n⌝ + ⌜1⌝ ↔ ¬ ⌜n⌝ < # σ; (s) m < n, ¬ # σ < ⌜n⌝ ⊦ (σ to n)(m) = σ(m); (s) ⊦ m < n + 1 ↔ ¬ n < m; (s)
| # σf(m) = ⌜n⌝ , # lim(⌜σf⌝ ) = # lim(⌜λ n. σf(n + m)⌝ ), lim(⌜σf⌝ )(n0) = σf(n1)(n0), lim(⌜λ n. σf(n + m)⌝ )(n0) = σf(n2 + m)(n0), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n1), (⌜n0⌝ + ⌜1⌝ ) + # σ0 = # σf(n2 + m), σf(n1)(n0) ≠ σf(n2 + m)(n0), mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜σf⌝ ), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n2. ¬ ⌜n0⌝ + # σ < ⌜n2⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n2) = σf(n1)(n2), ∀ n3. ¬ ⌜n0⌝ + # σ0 < ⌜n3⌝ → ((lim(⌜λ n. σf(n + m)⌝ ) to n0 + 1) + σ0)(n3) = σf(n2 + m)(n3) ⊦ |
mon(σσ), m ≤ n, ⌜n⌝ < # σσ ⊦ σσ(m) ⊑ σσ(n)
# lim(⌜σf⌝ ) = # lim(⌜λ n. σf(n + m)⌝ ), # σf(m) = ⌜n⌝ , lim(⌜λ n. σf(n + m)⌝ )(n0) = σf(n2 + m)(n0), lim(⌜σf⌝ )(n0) = σf(n1)(n0), (⌜n0⌝ + ⌜1⌝ ) + # σ0 = # σf(n2 + m), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n1), σf(n1)(n0) ≠ σf(n2 + m)(n0), mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜σf⌝ ), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), ∀ n2. ¬ ⌜n0⌝ + # σ < ⌜n2⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n2) = σf(n1)(n2), ∀ n3. ¬ ⌜n0⌝ + # σ0 < ⌜n3⌝ → ((lim(⌜λ n. σf(n + m)⌝ ) to n0 + 1) + σ0)(n3) = σf(n2 + m)(n3) ⊦ n1 ≤ n2 + m ∧ ⌜n2 + m⌝ < # ⌜σf⌝
# lim(⌜σf⌝ ) = # lim(⌜λ n. σf(n + m)⌝ ), # σf(m) = ⌜n⌝ , lim(⌜λ n. σf(n + m)⌝ )(n0) = σf(n2 + m)(n0), lim(⌜σf⌝ )(n0) = σf(n1)(n0), (⌜n0⌝ + ⌜1⌝ ) + # σ0 = # σf(n2 + m), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n1), σf(n1)(n0) ≠ σf(n2 + m)(n0), mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜σf⌝ ), ⌜σf⌝ (n1) ⊑ ⌜σf⌝ (n2 + m), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), ∀ n2. ¬ ⌜n0⌝ + # σ < ⌜n2⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n2) = σf(n1)(n2), ∀ n3. ¬ ⌜n0⌝ + # σ0 < ⌜n3⌝ → ((lim(⌜λ n. σf(n + m)⌝ ) to n0 + 1) + σ0)(n3) = σf(n2 + m)(n3) ⊦
Used terms: ⌜σf⌝ , n1, n2 + m
| mon(σσ), m ≤ n, ⌜n⌝ < # σσ ⊦ σσ(m) ⊑ σσ(n) |
| # lim(⌜σf⌝ ) = # lim(⌜λ n. σf(n + m)⌝ ), # σf(m) = ⌜n⌝ , lim(⌜λ n. σf(n + m)⌝ )(n0) = σf(n2 + m)(n0), lim(⌜σf⌝ )(n0) = σf(n1)(n0), (⌜n0⌝ + ⌜1⌝ ) + # σ0 = # σf(n2 + m), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n1), σf(n1)(n0) ≠ σf(n2 + m)(n0), mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜σf⌝ ), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), ∀ n2. ¬ ⌜n0⌝ + # σ < ⌜n2⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n2) = σf(n1)(n2), ∀ n3. ¬ ⌜n0⌝ + # σ0 < ⌜n3⌝ → ((lim(⌜λ n. σf(n + m)⌝ ) to n0 + 1) + σ0)(n3) = σf(n2 + m)(n3) ⊦ n1 ≤ n2 + m ∧ ⌜n2 + m⌝ < # ⌜σf⌝ |
# lim(⌜σf⌝ ) = # lim(⌜λ n. σf(n + m)⌝ ), # σf(m) = ⌜n⌝ , lim(⌜λ n. σf(n + m)⌝ )(n0) = σf(n2 + m)(n0), lim(⌜σf⌝ )(n0) = σf(n1)(n0), (⌜n0⌝ + ⌜1⌝ ) + # σ0 = # σf(n2 + m), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n1), σf(n1)(n0) ≠ σf(n2 + m)(n0), mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜σf⌝ ), n2 + m < n1, ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), ∀ n2. ¬ ⌜n0⌝ + # σ < ⌜n2⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n2) = σf(n1)(n2), ∀ n3. ¬ ⌜n0⌝ + # σ0 < ⌜n3⌝ → ((lim(⌜λ n. σf(n + m)⌝ ) to n0 + 1) + σ0)(n3) = σf(n2 + m)(n3) ⊦
Used simplifier rules: ⊦ m < n → n ≠ 0; (s) f: ⊦ m < n → n ≠ 0; (forward) from specification nat-basic ⊦ m ≤ n ↔ ¬ n < m; (ss) 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 ⊦ ⌜n⌝ ≠ ∞; (s) ⊦ ⌜m⌝ + n∞ = ∞ ↔ n∞ = ∞; (s) ⊦ n∞ < ∞ ↔ n∞ ≠ ∞; (s) ⊦ # ⌜nf⌝ = ∞; (s) c: ⊦ m + n = n + m; from specification nat-basic a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic ⊦ ⌜m + n⌝ = ⌜m⌝ + ⌜n⌝ ; (s)
| # lim(⌜σf⌝ ) = # lim(⌜λ n. σf(n + m)⌝ ), # σf(m) = ⌜n⌝ , lim(⌜λ n. σf(n + m)⌝ )(n0) = σf(n2 + m)(n0), lim(⌜σf⌝ )(n0) = σf(n1)(n0), (⌜n0⌝ + ⌜1⌝ ) + # σ0 = # σf(n2 + m), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n1), σf(n1)(n0) ≠ σf(n2 + m)(n0), mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜σf⌝ ), n2 + m < n1, ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), ∀ n2. ¬ ⌜n0⌝ + # σ < ⌜n2⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n2) = σf(n1)(n2), ∀ n3. ¬ ⌜n0⌝ + # σ0 < ⌜n3⌝ → ((lim(⌜λ n. σf(n + m)⌝ ) to n0 + 1) + σ0)(n3) = σf(n2 + m)(n3) ⊦ |
mon(σσ), m ≤ n, ⌜n⌝ < # σσ ⊦ σσ(m) ⊑ σσ(n)
# σf(m) = ⌜n⌝ , # lim(⌜σf⌝ ) = # lim(⌜λ n. σf(n + m)⌝ ), lim(⌜σf⌝ )(n0) = σf(n1)(n0), lim(⌜λ n. σf(n + m)⌝ )(n0) = σf(n2 + m)(n0), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n1), (⌜n0⌝ + ⌜1⌝ ) + # σ0 = # σf(n2 + m), σf(n1)(n0) ≠ σf(n2 + m)(n0), mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜σf⌝ ), n2 + m < n1, ⌜σf⌝ (n2 + m) ⊑ ⌜σf⌝ (n1), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n2. ¬ ⌜n0⌝ + # σ < ⌜n2⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n2) = σf(n1)(n2), ∀ n3. ¬ ⌜n0⌝ + # σ0 < ⌜n3⌝ → ((lim(⌜λ n. σf(n + m)⌝ ) to n0 + 1) + σ0)(n3) = σf(n2 + m)(n3) ⊦
Used simplifier rules: ⊦ m < n → m ≤ n; (s) ⊦ # ⌜nf⌝ = ∞; (s) ⊦ ⌜m⌝ < ∞; (s) Used terms: ⌜σf⌝ , n2 + m, n1
| mon(σσ), m ≤ n, ⌜n⌝ < # σσ ⊦ σσ(m) ⊑ σσ(n) |
| # σf(m) = ⌜n⌝ , # lim(⌜σf⌝ ) = # lim(⌜λ n. σf(n + m)⌝ ), lim(⌜σf⌝ )(n0) = σf(n1)(n0), lim(⌜λ n. σf(n + m)⌝ )(n0) = σf(n2 + m)(n0), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n1), (⌜n0⌝ + ⌜1⌝ ) + # σ0 = # σf(n2 + m), σf(n1)(n0) ≠ σf(n2 + m)(n0), mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜σf⌝ ), n2 + m < n1, ⌜σf⌝ (n2 + m) ⊑ ⌜σf⌝ (n1), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n2. ¬ ⌜n0⌝ + # σ < ⌜n2⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n2) = σf(n1)(n2), ∀ n3. ¬ ⌜n0⌝ + # σ0 < ⌜n3⌝ → ((lim(⌜λ n. σf(n + m)⌝ ) to n0 + 1) + σ0)(n3) = σf(n2 + m)(n3) ⊦ |
# lim(⌜σf⌝ ) = # lim(⌜λ n. σf(n + m)⌝ ), # σf(m) = ⌜n⌝ , lim(⌜λ n. σf(n + m)⌝ )(n0) = σf(n2 + m)(n0), lim(⌜σf⌝ )(n0) = σf(n1)(n0), (⌜n0⌝ + ⌜1⌝ ) + # σ0 = # σf(n2 + m), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n1), σf(n2 + m) + σ1 = σf(n1), σf(n1)(n0) ≠ σf(n2 + m)(n0), mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜σf⌝ ), n2 + m < n1, ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), ∀ n2. ¬ ⌜n0⌝ + # σ < ⌜n2⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n2) = σf(n1)(n2), ∀ n3. ¬ ⌜n0⌝ + # σ0 < ⌜n3⌝ → ((lim(⌜λ n. σf(n + m)⌝ ) to n0 + 1) + σ0)(n3) = σf(n2 + m)(n3) ⊦
Used simplifier rules: ⊦ σ1 ⊑ σ2 ↔ (∃ σ. σ1 + σ = σ2); (ls) ⊦ ⌜nf⌝ (n) = nf(n); (s)
| # lim(⌜σf⌝ ) = # lim(⌜λ n. σf(n + m)⌝ ), # σf(m) = ⌜n⌝ , lim(⌜λ n. σf(n + m)⌝ )(n0) = σf(n2 + m)(n0), lim(⌜σf⌝ )(n0) = σf(n1)(n0), (⌜n0⌝ + ⌜1⌝ ) + # σ0 = # σf(n2 + m), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n1), σf(n2 + m) + σ1 = σf(n1), σf(n1)(n0) ≠ σf(n2 + m)(n0), mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜σf⌝ ), n2 + m < n1, ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), ∀ n2. ¬ ⌜n0⌝ + # σ < ⌜n2⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n2) = σf(n1)(n2), ∀ n3. ¬ ⌜n0⌝ + # σ0 < ⌜n3⌝ → ((lim(⌜λ n. σf(n + m)⌝ ) to n0 + 1) + σ0)(n3) = σf(n2 + m)(n3) ⊦ |
⊦ σ0 = σ1 ↔ # σ0 = # σ1 ∧ (∀ n. ⌜n⌝ < # σ0 → σ0(n) = σ1(n))
#(σf(n2 + m) + σ1) = # σf(n1), # σf(m) = ⌜n⌝ , # lim(⌜σf⌝ ) = # lim(⌜λ n. σf(n + m)⌝ ), lim(⌜σf⌝ )(n0) = σf(n1)(n0), lim(⌜λ n. σf(n + m)⌝ )(n0) = σf(n2 + m)(n0), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n1), (⌜n0⌝ + ⌜1⌝ ) + # σ0 = # σf(n2 + m), σf(n1)(n0) ≠ σf(n2 + m)(n0), mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜σf⌝ ), n2 + m < n1, ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ⌜n⌝ < #(σf(n2 + m) + σ1) → (σf(n2 + m) + σ1)(n) = σf(n1)(n), ∀ n2. ¬ ⌜n0⌝ + # σ < ⌜n2⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n2) = σf(n1)(n2), ∀ n3. ¬ ⌜n0⌝ + # σ0 < ⌜n3⌝ → ((lim(⌜λ n. σf(n + m)⌝ ) to n0 + 1) + σ0)(n3) = σf(n2 + m)(n3) ⊦
Used terms: σf(n2 + m) + σ1, σf(n1)
| ⊦ σ0 = σ1 ↔ # σ0 = # σ1 ∧ (∀ n. ⌜n⌝ < # σ0 → σ0(n) = σ1(n)) |
| #(σf(n2 + m) + σ1) = # σf(n1), # σf(m) = ⌜n⌝ , # lim(⌜σf⌝ ) = # lim(⌜λ n. σf(n + m)⌝ ), lim(⌜σf⌝ )(n0) = σf(n1)(n0), lim(⌜λ n. σf(n + m)⌝ )(n0) = σf(n2 + m)(n0), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n1), (⌜n0⌝ + ⌜1⌝ ) + # σ0 = # σf(n2 + m), σf(n1)(n0) ≠ σf(n2 + m)(n0), mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜σf⌝ ), n2 + m < n1, ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ⌜n⌝ < #(σf(n2 + m) + σ1) → (σf(n2 + m) + σ1)(n) = σf(n1)(n), ∀ n2. ¬ ⌜n0⌝ + # σ < ⌜n2⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n2) = σf(n1)(n2), ∀ n3. ¬ ⌜n0⌝ + # σ0 < ⌜n3⌝ → ((lim(⌜λ n. σf(n + m)⌝ ) to n0 + 1) + σ0)(n3) = σf(n2 + m)(n3) ⊦ |
# lim(⌜σf⌝ ) = # lim(⌜λ n. σf(n + m)⌝ ), # σf(m) = ⌜n⌝ , lim(⌜λ n. σf(n + m)⌝ )(n0) = σf(n2 + m)(n0), lim(⌜σf⌝ )(n0) = σf(n1)(n0), (⌜n0⌝ + ⌜1⌝ ) + # σ0 = # σf(n2 + m), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n1), ((⌜n0⌝ + ⌜1⌝ ) + # σ0) + # σ1 = # σf(n1), σf(n1)(n0) ≠ σf(n2 + m)(n0), mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜σf⌝ ), n2 + m < n1, ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), ∀ n2. ¬ ⌜n0⌝ + # σ < ⌜n2⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n2) = σf(n1)(n2), ∀ n3. ¬ ⌜n0⌝ + # σ0 < ⌜n3⌝ → ((lim(⌜λ n. σf(n + m)⌝ ) to n0 + 1) + σ0)(n3) = σf(n2 + m)(n3), ∀ n3. ⌜n3⌝ < # σf(n1) → (σf(n2 + m) + σ1)(n3) = σf(n1)(n3) ⊦
Used simplifier rules: append-assoc: ⊦ (σ + σ1) + σ2 = σ + σ1 + σ2; from specification stream ⊦ #(σ + σ1) = # σ + # σ1; (s)
| # lim(⌜σf⌝ ) = # lim(⌜λ n. σf(n + m)⌝ ), # σf(m) = ⌜n⌝ , lim(⌜λ n. σf(n + m)⌝ )(n0) = σf(n2 + m)(n0), lim(⌜σf⌝ )(n0) = σf(n1)(n0), (⌜n0⌝ + ⌜1⌝ ) + # σ0 = # σf(n2 + m), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n1), ((⌜n0⌝ + ⌜1⌝ ) + # σ0) + # σ1 = # σf(n1), σf(n1)(n0) ≠ σf(n2 + m)(n0), mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜σf⌝ ), n2 + m < n1, ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), ∀ n2. ¬ ⌜n0⌝ + # σ < ⌜n2⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n2) = σf(n1)(n2), ∀ n3. ¬ ⌜n0⌝ + # σ0 < ⌜n3⌝ → ((lim(⌜λ n. σf(n + m)⌝ ) to n0 + 1) + σ0)(n3) = σf(n2 + m)(n3), ∀ n3. ⌜n3⌝ < # σf(n1) → (σf(n2 + m) + σ1)(n3) = σf(n1)(n3) ⊦ |
# σf(m) = ⌜n⌝ , # lim(⌜σf⌝ ) = # lim(⌜λ n. σf(n + m)⌝ ), lim(⌜σf⌝ )(n0) = σf(n1)(n0), lim(⌜λ n. σf(n + m)⌝ )(n0) = σf(n2 + m)(n0), ((⌜n0⌝ + ⌜1⌝ ) + # σ0) + # σ1 = # σf(n1), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n1), (⌜n0⌝ + ⌜1⌝ ) + # σ0 = # σf(n2 + m), σf(n1)(n0) ≠ σf(n2 + m)(n0), mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜σf⌝ ), n2 + m < n1, ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ⌜n0⌝ < # σf(n1) → (σf(n2 + m) + σ1)(n0) = σf(n1)(n0), ∀ n2. ¬ ⌜n0⌝ + # σ < ⌜n2⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n2) = σf(n1)(n2), ∀ n3. ¬ ⌜n0⌝ + # σ0 < ⌜n3⌝ → ((lim(⌜λ n. σf(n + m)⌝ ) to n0 + 1) + σ0)(n3) = σf(n2 + m)(n3) ⊦
Used terms: n0
| # σf(m) = ⌜n⌝ , # lim(⌜σf⌝ ) = # lim(⌜λ n. σf(n + m)⌝ ), lim(⌜σf⌝ )(n0) = σf(n1)(n0), lim(⌜λ n. σf(n + m)⌝ )(n0) = σf(n2 + m)(n0), ((⌜n0⌝ + ⌜1⌝ ) + # σ0) + # σ1 = # σf(n1), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n1), (⌜n0⌝ + ⌜1⌝ ) + # σ0 = # σf(n2 + m), σf(n1)(n0) ≠ σf(n2 + m)(n0), mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜σf⌝ ), n2 + m < n1, ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ⌜n0⌝ < # σf(n1) → (σf(n2 + m) + σ1)(n0) = σf(n1)(n0), ∀ n2. ¬ ⌜n0⌝ + # σ < ⌜n2⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n2) = σf(n1)(n2), ∀ n3. ¬ ⌜n0⌝ + # σ0 < ⌜n3⌝ → ((lim(⌜λ n. σf(n + m)⌝ ) to n0 + 1) + σ0)(n3) = σf(n2 + m)(n3) ⊦ |
# lim(⌜σf⌝ ) = # lim(⌜λ n. σf(n + m)⌝ ), # σf(m) = ⌜n⌝ , lim(⌜λ n. σf(n + m)⌝ )(n0) = σf(n2 + m)(n0), lim(⌜σf⌝ )(n0) = σf(n1)(n0), (⌜n0⌝ + ⌜1⌝ ) + # σ0 = # σf(n2 + m), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n1), ((⌜n0⌝ + ⌜1⌝ ) + # σ0) + # σ1 = # σf(n1), σf(n1)(n0) ≠ σf(n2 + m)(n0), mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜σf⌝ ), n2 + m < n1, ¬ ⌜n0⌝ < # σf(n1), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), ∀ n2. ¬ ⌜n0⌝ + # σ < ⌜n2⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n2) = σf(n1)(n2), ∀ n3. ¬ ⌜n0⌝ + # σ0 < ⌜n3⌝ → ((lim(⌜λ n. σf(n + m)⌝ ) to n0 + 1) + σ0)(n3) = σf(n2 + m)(n3) ⊦
# lim(⌜σf⌝ ) = # lim(⌜λ n. σf(n + m)⌝ ), # σf(m) = ⌜n⌝ , lim(⌜λ n. σf(n + m)⌝ )(n0) = σf(n2 + m)(n0), lim(⌜σf⌝ )(n0) = σf(n1)(n0), (⌜n0⌝ + ⌜1⌝ ) + # σ0 = # σf(n2 + m), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n1), ((⌜n0⌝ + ⌜1⌝ ) + # σ0) + # σ1 = # σf(n1), (σf(n2 + m) + σ1)(n0) = σf(n1)(n0), σf(n1)(n0) ≠ σf(n2 + m)(n0), mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜σf⌝ ), n2 + m < n1, ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), ∀ n2. ¬ ⌜n0⌝ + # σ < ⌜n2⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n2) = σf(n1)(n2), ∀ n3. ¬ ⌜n0⌝ + # σ0 < ⌜n3⌝ → ((lim(⌜λ n. σf(n + m)⌝ ) to n0 + 1) + σ0)(n3) = σf(n2 + m)(n3) ⊦
| # lim(⌜σf⌝ ) = # lim(⌜λ n. σf(n + m)⌝ ), # σf(m) = ⌜n⌝ , lim(⌜λ n. σf(n + m)⌝ )(n0) = σf(n2 + m)(n0), lim(⌜σf⌝ )(n0) = σf(n1)(n0), (⌜n0⌝ + ⌜1⌝ ) + # σ0 = # σf(n2 + m), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n1), ((⌜n0⌝ + ⌜1⌝ ) + # σ0) + # σ1 = # σf(n1), σf(n1)(n0) ≠ σf(n2 + m)(n0), mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜σf⌝ ), n2 + m < n1, ¬ ⌜n0⌝ < # σf(n1), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), ∀ n2. ¬ ⌜n0⌝ + # σ < ⌜n2⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n2) = σf(n1)(n2), ∀ n3. ¬ ⌜n0⌝ + # σ0 < ⌜n3⌝ → ((lim(⌜λ n. σf(n + m)⌝ ) to n0 + 1) + σ0)(n3) = σf(n2 + m)(n3) ⊦ |
# σf(m) = ⌜n⌝ , # lim(⌜σf⌝ ) = # lim(⌜λ n. σf(n + m)⌝ ), lim(⌜σf⌝ )(n0) = σf(n1)(n0), lim(⌜λ n. σf(n + m)⌝ )(n0) = σf(n2 + m)(n0), ((⌜n0⌝ + ⌜1⌝ ) + # σ0) + # σ1 = # σf(n1), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n1), (⌜n0⌝ + ⌜1⌝ ) + # σ0 = # σf(n2 + m), σf(n1)(n0) ≠ σf(n2 + m)(n0), # σf(n1) < # lim(⌜σf⌝ ), mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜σf⌝ ), n2 + m < n1, ¬ ⌜n0⌝ < # σf(n1), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n2. ¬ ⌜n0⌝ + # σ < ⌜n2⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n2) = σf(n1)(n2), ∀ n3. ¬ ⌜n0⌝ + # σ0 < ⌜n3⌝ → ((lim(⌜λ n. σf(n + m)⌝ ) to n0 + 1) + σ0)(n3) = σf(n2 + m)(n3) ⊦
Used simplifier rules: lels-trans: ⊦ ¬ n∞1 < n∞ ∧ n∞1 < n∞2 → n∞ < n∞2; (forward) from specification nat-inf
| # σf(m) = ⌜n⌝ , # lim(⌜σf⌝ ) = # lim(⌜λ n. σf(n + m)⌝ ), lim(⌜σf⌝ )(n0) = σf(n1)(n0), lim(⌜λ n. σf(n + m)⌝ )(n0) = σf(n2 + m)(n0), ((⌜n0⌝ + ⌜1⌝ ) + # σ0) + # σ1 = # σf(n1), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n1), (⌜n0⌝ + ⌜1⌝ ) + # σ0 = # σf(n2 + m), σf(n1)(n0) ≠ σf(n2 + m)(n0), # σf(n1) < # lim(⌜σf⌝ ), mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜σf⌝ ), n2 + m < n1, ¬ ⌜n0⌝ < # σf(n1), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n2. ¬ ⌜n0⌝ + # σ < ⌜n2⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n2) = σf(n1)(n2), ∀ n3. ¬ ⌜n0⌝ + # σ0 < ⌜n3⌝ → ((lim(⌜λ n. σf(n + m)⌝ ) to n0 + 1) + σ0)(n3) = σf(n2 + m)(n3) ⊦ |
Used simplifier rules: ⊦ m ≤ n → (⌜(* n)⌝ + n∞1 = ⌜(* m)⌝ + n∞2 ↔ ⌜n - m⌝ + n∞1 = n∞2); (s) ⊦ n∞ + ⌜0⌝ = n∞; (s) ⊦ ⌜n⌝ + n∞1 = ⌜n⌝ + n∞2 ↔ n∞1 = n∞2; (s) ⊦ ⌜n⌝ < ⌜1⌝ + n∞ ↔ ¬ n∞ < ⌜n⌝ ; (s) ⊦ ¬ n∞ + n∞1 < n∞1; (s) add-assoc: ⊦ (n∞ + n∞1) + n∞2 = n∞ + n∞1 + n∞2; from specification nat-inf add-comm: ⊦ n∞1 + n∞2 = n∞2 + n∞1; from specification nat-inf
| # lim(⌜σf⌝ ) = # lim(⌜λ n. σf(n + m)⌝ ), # σf(m) = ⌜n⌝ , lim(⌜λ n. σf(n + m)⌝ )(n0) = σf(n2 + m)(n0), lim(⌜σf⌝ )(n0) = σf(n1)(n0), (⌜n0⌝ + ⌜1⌝ ) + # σ0 = # σf(n2 + m), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n1), ((⌜n0⌝ + ⌜1⌝ ) + # σ0) + # σ1 = # σf(n1), (σf(n2 + m) + σ1)(n0) = σf(n1)(n0), σf(n1)(n0) ≠ σf(n2 + m)(n0), mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜σf⌝ ), n2 + m < n1, ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), ∀ n2. ¬ ⌜n0⌝ + # σ < ⌜n2⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n2) = σf(n1)(n2), ∀ n3. ¬ ⌜n0⌝ + # σ0 < ⌜n3⌝ → ((lim(⌜λ n. σf(n + m)⌝ ) to n0 + 1) + σ0)(n3) = σf(n2 + m)(n3) ⊦ |
⊦ ⌜m⌝ < # σ → (σ + σ1)(m) = σ(m)
Used simplifier rules: ⊦ ¬ ⌜m⌝ < # σ → (σ + σ1)(m) = σ1(m - (# σ).n); (s) append-assoc: ⊦ (σ + σ1) + σ2 = σ + σ1 + σ2; from specification stream lels-trans: ⊦ ¬ n∞1 < n∞ ∧ n∞1 < n∞2 → n∞ < n∞2; (forward) from specification nat-inf ⊦ ⌜n⌝ < ⌜1⌝ + n∞ ↔ ¬ n∞ < ⌜n⌝ ; (s) ⊦ ¬ n∞ + n∞1 < n∞1; (s) add-assoc: ⊦ (n∞ + n∞1) + n∞2 = n∞ + n∞1 + n∞2; from specification nat-inf add-comm: ⊦ n∞1 + n∞2 = n∞2 + n∞1; from specification nat-inf Used terms: σf(n2 + m), σ1, n0
| ⊦ ⌜m⌝ < # σ → (σ + σ1)(m) = σ(m) |
| # lim(⌜σf⌝ ) = # lim(⌜λ n. σf(n + m)⌝ ), # σf(m) = ⌜n⌝ , lim(⌜λ n. σf(n + m)⌝ )(n0) = σf(n2 + m)(n0), lim(⌜σf⌝ )(n0) = σf(n1)(n0), (⌜n0⌝ + ⌜1⌝ ) + # σ0 = # σf(n2 + m), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n1), σf(n1)(n0) ≠ σf(n2 + m)(n0), mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜σf⌝ ), ⌜σf⌝ (n1) ⊑ ⌜σf⌝ (n2 + m), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), ∀ n2. ¬ ⌜n0⌝ + # σ < ⌜n2⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n2) = σf(n1)(n2), ∀ n3. ¬ ⌜n0⌝ + # σ0 < ⌜n3⌝ → ((lim(⌜λ n. σf(n + m)⌝ ) to n0 + 1) + σ0)(n3) = σf(n2 + m)(n3) ⊦ |
# lim(⌜σf⌝ ) = # lim(⌜λ n. σf(n + m)⌝ ), # σf(m) = ⌜n⌝ , lim(⌜λ n. σf(n + m)⌝ )(n0) = (σf(n1) + σ1)(n0), lim(⌜σf⌝ )(n0) = σf(n1)(n0), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n1), (⌜n0⌝ + ⌜1⌝ ) + # σ0 = # σf(n1) + # σ1, σf(n1) + σ1 = σf(n2 + m), σf(n1)(n0) ≠ (σf(n1) + σ1)(n0), mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜σf⌝ ), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), ∀ n2. ¬ ⌜n0⌝ + # σ < ⌜n2⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n2) = σf(n1)(n2), ∀ n3. ¬ ⌜n0⌝ + # σ0 < ⌜n3⌝ → ((lim(⌜λ n. σf(n + m)⌝ ) to n0 + 1) + σ0)(n3) = (σf(n1) + σ1)(n3) ⊦
Used simplifier rules: append-assoc: ⊦ (σ + σ1) + σ2 = σ + σ1 + σ2; from specification stream ⊦ #(σ + σ1) = # σ + # σ1; (s) ⊦ σ1 ⊑ σ2 ↔ (∃ σ. σ1 + σ = σ2); (ls) ⊦ ⌜nf⌝ (n) = nf(n); (s)
| # lim(⌜σf⌝ ) = # lim(⌜λ n. σf(n + m)⌝ ), # σf(m) = ⌜n⌝ , lim(⌜λ n. σf(n + m)⌝ )(n0) = (σf(n1) + σ1)(n0), lim(⌜σf⌝ )(n0) = σf(n1)(n0), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n1), (⌜n0⌝ + ⌜1⌝ ) + # σ0 = # σf(n1) + # σ1, σf(n1) + σ1 = σf(n2 + m), σf(n1)(n0) ≠ (σf(n1) + σ1)(n0), mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜σf⌝ ), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), ∀ n2. ¬ ⌜n0⌝ + # σ < ⌜n2⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n2) = σf(n1)(n2), ∀ n3. ¬ ⌜n0⌝ + # σ0 < ⌜n3⌝ → ((lim(⌜λ n. σf(n + m)⌝ ) to n0 + 1) + σ0)(n3) = (σf(n1) + σ1)(n3) ⊦ |
# σf(m) = ⌜n⌝ , # lim(⌜σf⌝ ) = # lim(⌜λ n. σf(n + m)⌝ ), lim(⌜σf⌝ )(n0) = σf(n1)(n0), lim(⌜λ n. σf(n + m)⌝ )(n0) = (σf(n1) + σ1)(n0), (⌜n0⌝ + ⌜1⌝ ) + # σ0 = # σf(n1) + # σ1, (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n1), σf(n1) + σ1 = σf(n2 + m), σf(n1)(n0) ≠ (σf(n1) + σ1)(n0), mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜σf⌝ ), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n2. ¬ ⌜n0⌝ + # σ < ⌜n2⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n2) = σf(n1)(n2), ¬ ⌜n0⌝ + # σ0 < ⌜n0⌝ → ((lim(⌜λ n. σf(n + m)⌝ ) to n0 + 1) + σ0)(n0) = (σf(n1) + σ1)(n0) ⊦
Used terms: n0
| # σf(m) = ⌜n⌝ , # lim(⌜σf⌝ ) = # lim(⌜λ n. σf(n + m)⌝ ), lim(⌜σf⌝ )(n0) = σf(n1)(n0), lim(⌜λ n. σf(n + m)⌝ )(n0) = (σf(n1) + σ1)(n0), (⌜n0⌝ + ⌜1⌝ ) + # σ0 = # σf(n1) + # σ1, (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n1), σf(n1) + σ1 = σf(n2 + m), σf(n1)(n0) ≠ (σf(n1) + σ1)(n0), mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜σf⌝ ), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n2. ¬ ⌜n0⌝ + # σ < ⌜n2⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n2) = σf(n1)(n2), ¬ ⌜n0⌝ + # σ0 < ⌜n0⌝ → ((lim(⌜λ n. σf(n + m)⌝ ) to n0 + 1) + σ0)(n0) = (σf(n1) + σ1)(n0) ⊦ |
# lim(⌜σf⌝ ) = # lim(⌜λ n. σf(n + m)⌝ ), # σf(m) = ⌜n⌝ , lim(⌜λ n. σf(n + m)⌝ )(n0) = (σf(n1) + σ1)(n0), lim(⌜σf⌝ )(n0) = σf(n1)(n0), ((lim(⌜λ n. σf(n + m)⌝ ) to n0 + 1) + σ0)(n0) = (σf(n1) + σ1)(n0), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n1), (⌜n0⌝ + ⌜1⌝ ) + # σ0 = # σf(n1) + # σ1, σf(n1) + σ1 = σf(n2 + m), σf(n1)(n0) ≠ (σf(n1) + σ1)(n0), mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜σf⌝ ), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), ∀ n2. ¬ ⌜n0⌝ + # σ < ⌜n2⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n2) = σf(n1)(n2) ⊦
Used simplifier rules: 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 ⊦ ¬ n∞ + n∞1 < n∞1; (s)
| # lim(⌜σf⌝ ) = # lim(⌜λ n. σf(n + m)⌝ ), # σf(m) = ⌜n⌝ , lim(⌜λ n. σf(n + m)⌝ )(n0) = (σf(n1) + σ1)(n0), lim(⌜σf⌝ )(n0) = σf(n1)(n0), ((lim(⌜λ n. σf(n + m)⌝ ) to n0 + 1) + σ0)(n0) = (σf(n1) + σ1)(n0), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n1), (⌜n0⌝ + ⌜1⌝ ) + # σ0 = # σf(n1) + # σ1, σf(n1) + σ1 = σf(n2 + m), σf(n1)(n0) ≠ (σf(n1) + σ1)(n0), mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜σf⌝ ), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), ∀ n2. ¬ ⌜n0⌝ + # σ < ⌜n2⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n2) = σf(n1)(n2) ⊦ |
⊦ ⌜m⌝ < # σ → (σ + σ1)(m) = σ(m)
# σf(m) = ⌜n⌝ , # lim(⌜σf⌝ ) = # lim(⌜λ n. σf(n + m)⌝ ), (lim(⌜λ n. σf(n + m)⌝ ) to n0 + 1)(n0) = (σf(n1) + σ1)(n0), lim(⌜σf⌝ )(n0) = σf(n1)(n0), lim(⌜λ n. σf(n + m)⌝ )(n0) = (σf(n1) + σ1)(n0), (⌜n0⌝ + ⌜1⌝ ) + # σ0 = # σf(n1) + # σ1, (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n1), σf(n1) + σ1 = σf(n2 + m), σf(n1)(n0) ≠ (σf(n1) + σ1)(n0), mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜σf⌝ ), ⌜n0⌝ < #(lim(⌜λ n. σf(n + m)⌝ ) to n0 + 1), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n2. ¬ ⌜n0⌝ + # σ < ⌜n2⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n2) = σf(n1)(n2) ⊦
Used simplifier rules: ⊦ ¬ ⌜m⌝ < # σ → (σ + σ1)(m) = σ1(m - (# σ).n); (s) ⊦ ⌜n⌝ ≠ ∞; (s) n∞ ≠ ∞ ⊦ (⌜m⌝ + n∞).n = m + n∞.n; (s) ⊦ ⌜n⌝ .n = n; (s) append-assoc: ⊦ (σ + σ1) + σ2 = σ + σ1 + σ2; from specification stream ⊦ # σ < ⌜n⌝ + ⌜1⌝ ↔ ¬ ⌜n⌝ < # σ; (s) ¬ # σ < ⌜n⌝ ⊦ #(σ to n) = ⌜n⌝ ; (s) ⊦ ⌜m + n⌝ = ⌜m⌝ + ⌜n⌝ ; (s) a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic c: ⊦ m + n = n + m; from specification nat-basic ⊦ ⌜n⌝ < ⌜1⌝ + n∞ ↔ ¬ n∞ < ⌜n⌝ ; (s) ⊦ ⌜m⌝ < ⌜n⌝ ↔ m < n; (s) ⊦ ¬ n < n; (s) add-assoc: ⊦ (n∞ + n∞1) + n∞2 = n∞ + n∞1 + n∞2; from specification nat-inf add-comm: ⊦ n∞1 + n∞2 = n∞2 + n∞1; from specification nat-inf Used terms: lim(⌜λ n. σf(n + m)⌝ ) to n0 + 1, σ0, n0
| ⊦ ⌜m⌝ < # σ → (σ + σ1)(m) = σ(m) |
| # σf(m) = ⌜n⌝ , # lim(⌜σf⌝ ) = # lim(⌜λ n. σf(n + m)⌝ ), (lim(⌜λ n. σf(n + m)⌝ ) to n0 + 1)(n0) = (σf(n1) + σ1)(n0), lim(⌜σf⌝ )(n0) = σf(n1)(n0), lim(⌜λ n. σf(n + m)⌝ )(n0) = (σf(n1) + σ1)(n0), (⌜n0⌝ + ⌜1⌝ ) + # σ0 = # σf(n1) + # σ1, (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n1), σf(n1) + σ1 = σf(n2 + m), σf(n1)(n0) ≠ (σf(n1) + σ1)(n0), mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜σf⌝ ), ⌜n0⌝ < #(lim(⌜λ n. σf(n + m)⌝ ) to n0 + 1), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n2. ¬ ⌜n0⌝ + # σ < ⌜n2⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n2) = σf(n1)(n2) ⊦ |
# lim(⌜σf⌝ ) = # lim(⌜λ n. σf(n + m)⌝ ), # σf(m) = ⌜n⌝ , lim(⌜σf⌝ )(n0) = σf(n1)(n0), lim(⌜λ n. σf(n + m)⌝ )(n0) = (σf(n1) + σ1)(n0), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n1), (⌜n0⌝ + ⌜1⌝ ) + # σ0 = # σf(n1) + # σ1, σf(n1) + σ1 = σf(n2 + m), σf(n1)(n0) ≠ (σf(n1) + σ1)(n0), mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜σf⌝ ), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), ∀ n2. ¬ ⌜n0⌝ + # σ < ⌜n2⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n2) = σf(n1)(n2) ⊦
Used simplifier rules: 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 ⊦ ¬ n < n; (s) ⊦ ⌜m⌝ < ⌜n⌝ ↔ m < n; (s) ⊦ ⌜n⌝ < ⌜1⌝ + n∞ ↔ ¬ n∞ < ⌜n⌝ ; (s) c: ⊦ m + n = n + m; from specification nat-basic a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic ⊦ ⌜m + n⌝ = ⌜m⌝ + ⌜n⌝ ; (s) ¬ # σ < ⌜n⌝ ⊦ #(σ to n) = ⌜n⌝ ; (s) ⊦ # σ < ⌜n⌝ + ⌜1⌝ ↔ ¬ ⌜n⌝ < # σ; (s) m < n, ¬ # σ < ⌜n⌝ ⊦ (σ to n)(m) = σ(m); (s) ⊦ m < n + 1 ↔ ¬ n < m; (s)
| # lim(⌜σf⌝ ) = # lim(⌜λ n. σf(n + m)⌝ ), # σf(m) = ⌜n⌝ , lim(⌜σf⌝ )(n0) = σf(n1)(n0), lim(⌜λ n. σf(n + m)⌝ )(n0) = (σf(n1) + σ1)(n0), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n1), (⌜n0⌝ + ⌜1⌝ ) + # σ0 = # σf(n1) + # σ1, σf(n1) + σ1 = σf(n2 + m), σf(n1)(n0) ≠ (σf(n1) + σ1)(n0), mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜σf⌝ ), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), ∀ n2. ¬ ⌜n0⌝ + # σ < ⌜n2⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n2) = σf(n1)(n2) ⊦ |
⊦ ⌜m⌝ < # σ → (σ + σ1)(m) = σ(m)
# σf(m) = ⌜n⌝ , # lim(⌜σf⌝ ) = # lim(⌜λ n. σf(n + m)⌝ ), lim(⌜λ n. σf(n + m)⌝ )(n0) = (σf(n1) + σ1)(n0), lim(⌜σf⌝ )(n0) = σf(n1)(n0), (⌜n0⌝ + ⌜1⌝ ) + # σ0 = # σf(n1) + # σ1, (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n1), σf(n1) + σ1 = σf(n2 + m), σf(n1)(n0) ≠ (σf(n1) + σ1)(n0), mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜σf⌝ ), ¬ ⌜n0⌝ < # σf(n1), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n2. ¬ ⌜n0⌝ + # σ < ⌜n2⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n2) = σf(n1)(n2) ⊦
Used terms: σf(n1), σ1, n0
| ⊦ ⌜m⌝ < # σ → (σ + σ1)(m) = σ(m) |
| # σf(m) = ⌜n⌝ , # lim(⌜σf⌝ ) = # lim(⌜λ n. σf(n + m)⌝ ), lim(⌜λ n. σf(n + m)⌝ )(n0) = (σf(n1) + σ1)(n0), lim(⌜σf⌝ )(n0) = σf(n1)(n0), (⌜n0⌝ + ⌜1⌝ ) + # σ0 = # σf(n1) + # σ1, (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n1), σf(n1) + σ1 = σf(n2 + m), σf(n1)(n0) ≠ (σf(n1) + σ1)(n0), mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜σf⌝ ), ¬ ⌜n0⌝ < # σf(n1), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n2. ¬ ⌜n0⌝ + # σ < ⌜n2⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n2) = σf(n1)(n2) ⊦ |
# lim(⌜σf⌝ ) = # lim(⌜λ n. σf(n + m)⌝ ), # σf(m) = ⌜n⌝ , lim(⌜σf⌝ )(n0) = σf(n1)(n0), lim(⌜λ n. σf(n + m)⌝ )(n0) = σ1(n0 - (# σf(n1)).n), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n1), (⌜n0⌝ + ⌜1⌝ ) + # σ0 = # σf(n1) + # σ1, σf(n1) + σ1 = σf(n2 + m), σf(n1)(n0) ≠ σ1(n0 - (# σf(n1)).n), # σf(n1) < # lim(⌜σf⌝ ), mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜σf⌝ ), ¬ ⌜n0⌝ < # σf(n1), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), ∀ n2. ¬ ⌜n0⌝ + # σ < ⌜n2⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n2) = σf(n1)(n2) ⊦
Used simplifier rules: lels-trans: ⊦ ¬ n∞1 < n∞ ∧ n∞1 < n∞2 → n∞ < n∞2; (forward) from specification nat-inf append-assoc: ⊦ (σ + σ1) + σ2 = σ + σ1 + σ2; from specification stream ⊦ ¬ ⌜m⌝ < # σ → (σ + σ1)(m) = σ1(m - (# σ).n); (s)
| # lim(⌜σf⌝ ) = # lim(⌜λ n. σf(n + m)⌝ ), # σf(m) = ⌜n⌝ , lim(⌜σf⌝ )(n0) = σf(n1)(n0), lim(⌜λ n. σf(n + m)⌝ )(n0) = σ1(n0 - (# σf(n1)).n), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n1), (⌜n0⌝ + ⌜1⌝ ) + # σ0 = # σf(n1) + # σ1, σf(n1) + σ1 = σf(n2 + m), σf(n1)(n0) ≠ σ1(n0 - (# σf(n1)).n), # σf(n1) < # lim(⌜σf⌝ ), mon(⌜σf⌝ ), ⌜n0⌝ < # lim(⌜σf⌝ ), ¬ ⌜n0⌝ < # σf(n1), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m0) + σ = σf(n)), ∀ m0. ¬ # lim(⌜σf⌝ ) < ⌜m0⌝ → (∃ n, σ. (lim(⌜λ n. σf(n + m)⌝ ) to m0) + σ = σf(n + m)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. σf(n + m) + σ = lim(⌜λ n. σf(n + m)⌝ ), ∀ n2. ¬ ⌜n0⌝ + # σ < ⌜n2⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n2) = σf(n1)(n2) ⊦ |
Used simplifier rules: ⊦ m ≤ n → (⌜(* n)⌝ + n∞1 = ⌜(* m)⌝ + n∞2 ↔ ⌜n - m⌝ + n∞1 = n∞2); (s) ⊦ n∞ + ⌜0⌝ = n∞; (s) ⊦ ⌜n⌝ + n∞1 = ⌜n⌝ + n∞2 ↔ n∞1 = n∞2; (s) ⊦ ⌜n⌝ < ⌜1⌝ + n∞ ↔ ¬ n∞ < ⌜n⌝ ; (s) ⊦ ¬ n∞ + n∞1 < n∞1; (s) add-assoc: ⊦ (n∞ + n∞1) + n∞2 = n∞ + n∞1 + n∞2; from specification nat-inf add-comm: ⊦ n∞1 + n∞2 = n∞2 + n∞1; from specification nat-inf
The following image shows the proof tree of sequent calculus. The proved goal is at the bottom. You can click on the nodes to view additional rules. See here for details on colors in a proof tree.