| ⊦ mon(⌜σf⌝ ) → lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ⌜x⌝ + lim(⌜σf⌝ ) |
lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ≠ ⌜x⌝ + lim(⌜σf⌝ ), mon(⌜σf⌝ ) ⊦
| lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ≠ ⌜x⌝ + lim(⌜σf⌝ ), mon(⌜σf⌝ ) ⊦ |
⊦ mon(σσ) ∧ σσ ≠ [] → (∀ n. ⌜n⌝ < # σσ → σσ(n) ⊑ lim(σσ)) ∧ (∀ m. ¬ # lim(σσ) < ⌜m⌝ → (∃ n. ⌜n⌝ < # σσ ∧ lim(σσ) to m ⊑ σσ(n)))
lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ≠ ⌜x⌝ + lim(⌜σf⌝ ), 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(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ≠ ⌜x⌝ + lim(⌜σf⌝ ), 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(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ≠ ⌜x⌝ + lim(⌜σf⌝ ), mon(⌜σf⌝ ), ∀ m. ¬ # lim(⌜σf⌝ ) < ⌜m⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σ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(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ≠ ⌜x⌝ + lim(⌜σf⌝ ), mon(⌜σf⌝ ), ∀ m. ¬ # lim(⌜σf⌝ ) < ⌜m⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ) ⊦ |
⊦ mon(σσ) ∧ σσ ≠ [] → (∀ n. ⌜n⌝ < # σσ → σσ(n) ⊑ lim(σσ)) ∧ (∀ m. ¬ # lim(σσ) < ⌜m⌝ → (∃ n. ⌜n⌝ < # σσ ∧ lim(σσ) to m ⊑ σσ(n)))
lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ≠ ⌜x⌝ + lim(⌜σf⌝ ), mon(⌜σf⌝ ), ∀ m. ¬ # lim(⌜σf⌝ ) < ⌜m⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n)), mon(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ∧ ⌜λ n. ⌜x⌝ + σf(n)⌝ ≠ [] → (∀ n. ⌜n⌝ < # ⌜λ n. ⌜x⌝ + σf(n)⌝ → ⌜λ n. ⌜x⌝ + σf(n)⌝ (n) ⊑ lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )) ∧ (∀ m. ¬ # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) < ⌜m⌝ → (∃ n. ⌜n⌝ < # ⌜λ n. ⌜x⌝ + σf(n)⌝ ∧ lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m ⊑ ⌜λ n. ⌜x⌝ + σf(n)⌝ (n))), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ) ⊦
Used terms: ⌜λ n. ⌜x⌝ + σf(n)⌝
| ⊦ mon(σσ) ∧ σσ ≠ [] → (∀ n. ⌜n⌝ < # σσ → σσ(n) ⊑ lim(σσ)) ∧ (∀ m. ¬ # lim(σσ) < ⌜m⌝ → (∃ n. ⌜n⌝ < # σσ ∧ lim(σσ) to m ⊑ σσ(n))) |
| lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ≠ ⌜x⌝ + lim(⌜σf⌝ ), mon(⌜σf⌝ ), ∀ m. ¬ # lim(⌜σf⌝ ) < ⌜m⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n)), mon(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ∧ ⌜λ n. ⌜x⌝ + σf(n)⌝ ≠ [] → (∀ n. ⌜n⌝ < # ⌜λ n. ⌜x⌝ + σf(n)⌝ → ⌜λ n. ⌜x⌝ + σf(n)⌝ (n) ⊑ lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )) ∧ (∀ m. ¬ # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) < ⌜m⌝ → (∃ n. ⌜n⌝ < # ⌜λ n. ⌜x⌝ + σf(n)⌝ ∧ lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m ⊑ ⌜λ n. ⌜x⌝ + σf(n)⌝ (n))), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ) ⊦ |
lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ≠ ⌜x⌝ + lim(⌜σf⌝ ), mon(⌜σf⌝ ), ∀ m. ¬ # lim(⌜σf⌝ ) < ⌜m⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n)), mon(⌜λ n. ⌜x⌝ + σf(n)⌝ ) → (∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )) ∧ (∀ m. ¬ # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) < ⌜m⌝ → (∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σ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(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ≠ ⌜x⌝ + lim(⌜σf⌝ ), mon(⌜σf⌝ ), ∀ m. ¬ # lim(⌜σf⌝ ) < ⌜m⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n)), mon(⌜λ n. ⌜x⌝ + σf(n)⌝ ) → (∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )) ∧ (∀ m. ¬ # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) < ⌜m⌝ → (∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n))), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ) ⊦ |
lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ≠ ⌜x⌝ + lim(⌜σf⌝ ), mon(⌜σf⌝ ), ¬ mon(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ m. ¬ # lim(⌜σf⌝ ) < ⌜m⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ) ⊦
lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ≠ ⌜x⌝ + lim(⌜σf⌝ ), mon(⌜σf⌝ ), ∀ m. ¬ # lim(⌜σf⌝ ) < ⌜m⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n)), ∀ m. ¬ # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) < ⌜m⌝ → (∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ⊦
| lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ≠ ⌜x⌝ + lim(⌜σf⌝ ), mon(⌜σf⌝ ), ¬ mon(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ m. ¬ # lim(⌜σf⌝ ) < ⌜m⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ) ⊦ |
⊦ mon(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ↔ mon(⌜σf⌝ )
Used terms: x, σf
| ⊦ mon(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ↔ mon(⌜σf⌝ ) |
| lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ≠ ⌜x⌝ + lim(⌜σf⌝ ), mon(⌜σf⌝ ), ∀ m. ¬ # lim(⌜σf⌝ ) < ⌜m⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n)), ∀ m. ¬ # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) < ⌜m⌝ → (∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ⊦ |
# lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ≠ ⌜x⌝ + lim(⌜σf⌝ ), mon(⌜σf⌝ ), ∀ m. ¬ # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) < ⌜m⌝ → (∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n)), ∀ m. ¬ # lim(⌜σf⌝ ) < ⌜m⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n)), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ) ⊦
# lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ≠ ∞, lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ≠ ⌜x⌝ + lim(⌜σf⌝ ), mon(⌜σf⌝ ), ∀ m. ¬ # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) < ⌜m⌝ → (∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n)), ∀ m. ¬ # lim(⌜σf⌝ ) < ⌜m⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n)), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ) ⊦
Used formulas: # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞
| # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ≠ ⌜x⌝ + lim(⌜σf⌝ ), mon(⌜σf⌝ ), ∀ m. ¬ # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) < ⌜m⌝ → (∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n)), ∀ m. ¬ # lim(⌜σf⌝ ) < ⌜m⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n)), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ) ⊦ |
# lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ≠ ⌜x⌝ + lim(⌜σf⌝ ), mon(⌜σf⌝ ), ∀ m. ¬ # lim(⌜σf⌝ ) < ⌜m⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n)), ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ) ⊦
Used simplifier rules: ⊦ ¬ ∞ < n∞; (s)
| # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ≠ ⌜x⌝ + lim(⌜σf⌝ ), mon(⌜σf⌝ ), ∀ m. ¬ # lim(⌜σf⌝ ) < ⌜m⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n)), ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ) ⊦ |
# lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, # lim(⌜σf⌝ ) = ∞, lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ≠ ⌜x⌝ + lim(⌜σf⌝ ), mon(⌜σf⌝ ), ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ m. ¬ # lim(⌜σf⌝ ) < ⌜m⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ⊦
# lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, # lim(⌜σf⌝ ) ≠ ∞, lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ≠ ⌜x⌝ + lim(⌜σf⌝ ), mon(⌜σf⌝ ), ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ m. ¬ # lim(⌜σf⌝ ) < ⌜m⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ⊦
Used formulas: # lim(⌜σf⌝ ) = ∞
| # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, # lim(⌜σf⌝ ) = ∞, lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ≠ ⌜x⌝ + lim(⌜σf⌝ ), mon(⌜σf⌝ ), ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ m. ¬ # lim(⌜σf⌝ ) < ⌜m⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ⊦ |
# lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, # lim(⌜σf⌝ ) = ∞, lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ≠ ⌜x⌝ + lim(⌜σf⌝ ), mon(⌜σf⌝ ), ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ⊦
Used simplifier rules: ⊦ ¬ ∞ < n∞; (s)
| # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, # lim(⌜σf⌝ ) = ∞, lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ≠ ⌜x⌝ + lim(⌜σf⌝ ), mon(⌜σf⌝ ), ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ⊦ |
⊦ σ0 = σ1 ↔ # σ0 = # σ1 ∧ (∀ n. ⌜n⌝ < # σ0 → σ0(n) = σ1(n))
# lim(⌜σf⌝ ) = ∞, # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, mon(⌜σf⌝ ), ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ≠ #(⌜x⌝ + lim(⌜σf⌝ )) ∨ (∃ n. ¬(⌜n⌝ < # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) → lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n) = (⌜x⌝ + lim(⌜σf⌝ ))(n))) ⊦
Used terms: lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ⌜x⌝ + lim(⌜σf⌝ )
| ⊦ σ0 = σ1 ↔ # σ0 = # σ1 ∧ (∀ n. ⌜n⌝ < # σ0 → σ0(n) = σ1(n)) |
| # lim(⌜σf⌝ ) = ∞, # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, mon(⌜σf⌝ ), ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ≠ #(⌜x⌝ + lim(⌜σf⌝ )) ∨ (∃ n. ¬(⌜n⌝ < # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) → lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n) = (⌜x⌝ + lim(⌜σf⌝ ))(n))) ⊦ |
# lim(⌜σf⌝ ) = ∞, # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n) ≠ (⌜x⌝ + lim(⌜σf⌝ ))(n), mon(⌜σf⌝ ), ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ) ⊦
Used simplifier rules: ⊦ ⌜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 ⊦ ⌜m⌝ + ∞ = ∞; (s) append-assoc: ⊦ (σ + σ1) + σ2 = σ + σ1 + σ2; from specification stream ⊦ # ⌜x⌝ = ⌜# x⌝ ; (s) ⊦ #(σ + σ1) = # σ + # σ1; (s)
| # lim(⌜σf⌝ ) = ∞, # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n) ≠ (⌜x⌝ + lim(⌜σf⌝ ))(n), mon(⌜σf⌝ ), ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ) ⊦ |
⊦ ⌜m⌝ < # σ → (σ + σ1)(m) = σ(m)
# lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, # lim(⌜σf⌝ ) = ∞, lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n) ≠ (⌜x⌝ + lim(⌜σf⌝ ))(n), mon(⌜σf⌝ ), ¬ ⌜n⌝ < # ⌜x⌝ , ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ⊦
# lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, # lim(⌜σf⌝ ) = ∞, lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n) ≠ ⌜x⌝ (n), mon(⌜σf⌝ ), ⌜n⌝ < # ⌜x⌝ , ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ⊦
Used terms: ⌜x⌝ , lim(⌜σf⌝ ), n
| ⊦ ⌜m⌝ < # σ → (σ + σ1)(m) = σ(m) |
| # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, # lim(⌜σf⌝ ) = ∞, lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n) ≠ (⌜x⌝ + lim(⌜σf⌝ ))(n), mon(⌜σf⌝ ), ¬ ⌜n⌝ < # ⌜x⌝ , ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ⊦ |
# lim(⌜σf⌝ ) = ∞, # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n) ≠ lim(⌜σf⌝ )(n - # x), # x ≤ n, mon(⌜σf⌝ ), ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ) ⊦
Used simplifier rules: ⊦ m < n ↔ ¬ n ≤ m; (ss) ⊦ ⌜m⌝ < ⌜n⌝ ↔ m < n; (s) ⊦ # ⌜x⌝ = ⌜# x⌝ ; (s) append-assoc: ⊦ (σ + σ1) + σ2 = σ + σ1 + σ2; from specification stream ⊦ ⌜n⌝ .n = n; (s) ⊦ ¬ ⌜m⌝ < # σ → (σ + σ1)(m) = σ1(m - (# σ).n); (s)
| # lim(⌜σf⌝ ) = ∞, # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n) ≠ lim(⌜σf⌝ )(n - # x), # x ≤ n, mon(⌜σf⌝ ), ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ) ⊦ |
# lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, # lim(⌜σf⌝ ) = ∞, n = n0 + # x, lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n) ≠ lim(⌜σf⌝ )(n0), # x ≤ n, mon(⌜σf⌝ ), ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ⊦
Used simplifier rules: n ≤ m ⊦ n0 = m - n ↔ m = n0 + n; (elim) Used terms: n, # x, n0
| # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, # lim(⌜σf⌝ ) = ∞, n = n0 + # x, lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n) ≠ lim(⌜σf⌝ )(n0), # x ≤ n, mon(⌜σf⌝ ), ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ⊦ |
# lim(⌜σf⌝ ) = ∞, # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n0 + # x) ≠ lim(⌜σf⌝ )(n0), mon(⌜σf⌝ ), ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ) ⊦
Used simplifier rules: c: ⊦ m + n = n + m; from specification nat-basic a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic ⊦ m ≤ m + n; (s)
| # lim(⌜σf⌝ ) = ∞, # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n0 + # x) ≠ lim(⌜σf⌝ )(n0), mon(⌜σf⌝ ), ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ) ⊦ |
# lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, # lim(⌜σf⌝ ) = ∞, lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n0 + # x) ≠ lim(⌜σf⌝ )(n0), mon(⌜σf⌝ ), ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∃ n, σ. (lim(⌜σf⌝ ) to n0 + 1) + σ = σf(n) ⊦
Used terms: n0 + 1
| # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, # lim(⌜σf⌝ ) = ∞, lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n0 + # x) ≠ lim(⌜σf⌝ )(n0), mon(⌜σf⌝ ), ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∃ n, σ. (lim(⌜σf⌝ ) to n0 + 1) + σ = σf(n) ⊦ |
# lim(⌜σf⌝ ) = ∞, # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, (lim(⌜σf⌝ ) to n0 + 1) + σ = σf(n), lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n0 + # x) ≠ lim(⌜σf⌝ )(n0), mon(⌜σf⌝ ), ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ) ⊦
| # lim(⌜σf⌝ ) = ∞, # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, (lim(⌜σf⌝ ) to n0 + 1) + σ = σf(n), lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n0 + # x) ≠ lim(⌜σf⌝ )(n0), mon(⌜σf⌝ ), ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ) ⊦ |
⊦ σ0 = σ1 ↔ # σ0 = # σ1 ∧ (∀ n. ⌜n⌝ < # σ0 → σ0(n) = σ1(n))
#((lim(⌜σf⌝ ) to n0 + 1) + σ) = # σf(n), # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, # lim(⌜σf⌝ ) = ∞, lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n0 + # x) ≠ lim(⌜σf⌝ )(n0), mon(⌜σf⌝ ), ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n1. ⌜n1⌝ < #((lim(⌜σf⌝ ) to n0 + 1) + σ) → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n1) = σf(n)(n1) ⊦
Used terms: (lim(⌜σf⌝ ) to n0 + 1) + σ, σf(n)
| ⊦ σ0 = σ1 ↔ # σ0 = # σ1 ∧ (∀ n. ⌜n⌝ < # σ0 → σ0(n) = σ1(n)) |
| #((lim(⌜σf⌝ ) to n0 + 1) + σ) = # σf(n), # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, # lim(⌜σf⌝ ) = ∞, lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n0 + # x) ≠ lim(⌜σf⌝ )(n0), mon(⌜σf⌝ ), ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n1. ⌜n1⌝ < #((lim(⌜σf⌝ ) to n0 + 1) + σ) → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n1) = σf(n)(n1) ⊦ |
# lim(⌜σf⌝ ) = ∞, # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n), lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n0 + # x) ≠ lim(⌜σf⌝ )(n0), mon(⌜σf⌝ ), ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n1. ¬ ⌜n0⌝ + # σ < ⌜n1⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n1) = σf(n)(n1) ⊦
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∞; (s) ⊦ #(σ + σ1) = # σ + # σ1; (s)
| # lim(⌜σf⌝ ) = ∞, # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n), lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n0 + # x) ≠ lim(⌜σf⌝ )(n0), mon(⌜σf⌝ ), ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n1. ¬ ⌜n0⌝ + # σ < ⌜n1⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n1) = σf(n)(n1) ⊦ |
# lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, # lim(⌜σf⌝ ) = ∞, (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n), lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n0 + # x) ≠ lim(⌜σf⌝ )(n0), mon(⌜σf⌝ ), ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n0 + 1 + # x) + σ = ⌜x⌝ + σf(n), ∀ n1. ¬ ⌜n0⌝ + # σ < ⌜n1⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n1) = σf(n)(n1) ⊦
Used terms: n0 + 1 + # x
| # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, # lim(⌜σf⌝ ) = ∞, (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n), lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n0 + # x) ≠ lim(⌜σf⌝ )(n0), mon(⌜σf⌝ ), ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n0 + 1 + # x) + σ = ⌜x⌝ + σf(n), ∀ n1. ¬ ⌜n0⌝ + # σ < ⌜n1⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n1) = σf(n)(n1) ⊦ |
# lim(⌜σf⌝ ) = ∞, # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n0 + 1 + # x) + σ0 = ⌜x⌝ + σf(n1), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n), lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n0 + # x) ≠ lim(⌜σf⌝ )(n0), mon(⌜σf⌝ ), ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n1. ¬ ⌜n0⌝ + # σ < ⌜n1⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n1) = σf(n)(n1) ⊦
| # lim(⌜σf⌝ ) = ∞, # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n0 + 1 + # x) + σ0 = ⌜x⌝ + σf(n1), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n), lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n0 + # x) ≠ lim(⌜σf⌝ )(n0), mon(⌜σf⌝ ), ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n1. ¬ ⌜n0⌝ + # σ < ⌜n1⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n1) = σf(n)(n1) ⊦ |
⊦ σ0 = σ1 ↔ # σ0 = # σ1 ∧ (∀ n. ⌜n⌝ < # σ0 → σ0(n) = σ1(n))
#((lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n0 + 1 + # x) + σ0) = #(⌜x⌝ + σf(n1)), # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, # lim(⌜σf⌝ ) = ∞, (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n), lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n0 + # x) ≠ lim(⌜σf⌝ )(n0), mon(⌜σf⌝ ), ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n. ⌜n⌝ < #((lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n0 + 1 + # x) + σ0) → ((lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n0 + 1 + # x) + σ0)(n) = (⌜x⌝ + σf(n1))(n), ∀ n1. ¬ ⌜n0⌝ + # σ < ⌜n1⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n1) = σf(n)(n1) ⊦
Used terms: (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n0 + 1 + # x) + σ0, ⌜x⌝ + σf(n1)
| ⊦ σ0 = σ1 ↔ # σ0 = # σ1 ∧ (∀ n. ⌜n⌝ < # σ0 → σ0(n) = σ1(n)) |
| #((lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n0 + 1 + # x) + σ0) = #(⌜x⌝ + σf(n1)), # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, # lim(⌜σf⌝ ) = ∞, (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n), lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n0 + # x) ≠ lim(⌜σf⌝ )(n0), mon(⌜σf⌝ ), ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n. ⌜n⌝ < #((lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n0 + 1 + # x) + σ0) → ((lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n0 + 1 + # x) + σ0)(n) = (⌜x⌝ + σf(n1))(n), ∀ n1. ¬ ⌜n0⌝ + # σ < ⌜n1⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n1) = σf(n)(n1) ⊦ |
# lim(⌜σf⌝ ) = ∞, # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n), ⌜n0⌝ + ⌜1⌝ + # σ0 = # σf(n1), lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n0 + # x) ≠ lim(⌜σf⌝ )(n0), mon(⌜σf⌝ ), ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n1. ¬ ⌜n0⌝ + # σ < ⌜n1⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n1) = σf(n)(n1), ∀ n2. ¬ ⌜n0⌝ + ⌜# x⌝ + # σ0 < ⌜n2⌝ → ((lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n0 + 1 + # x) + σ0)(n2) = (⌜x⌝ + σ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∞; (s) ⊦ #(σ + σ1) = # σ + # σ1; (s) ⊦ ⌜n⌝ + n∞1 = ⌜n⌝ + n∞2 ↔ n∞1 = n∞2; (s) ⊦ # ⌜x⌝ = ⌜# x⌝ ; (s)
| # lim(⌜σf⌝ ) = ∞, # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n), ⌜n0⌝ + ⌜1⌝ + # σ0 = # σf(n1), lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n0 + # x) ≠ lim(⌜σf⌝ )(n0), mon(⌜σf⌝ ), ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n1. ¬ ⌜n0⌝ + # σ < ⌜n1⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n1) = σf(n)(n1), ∀ n2. ¬ ⌜n0⌝ + ⌜# x⌝ + # σ0 < ⌜n2⌝ → ((lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n0 + 1 + # x) + σ0)(n2) = (⌜x⌝ + σf(n1))(n2) ⊦ |
# lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, # lim(⌜σf⌝ ) = ∞, ⌜n0⌝ + ⌜1⌝ + # σ0 = # σf(n1), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n), lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n0 + # x) ≠ lim(⌜σf⌝ )(n0), mon(⌜σf⌝ ), ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n1. ¬ ⌜n0⌝ + # σ < ⌜n1⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n1) = σf(n)(n1), ∀ n2. ¬ ⌜n0⌝ + ⌜# x⌝ + # σ0 < ⌜n2⌝ → ((lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n0 + 1 + # x) + σ0)(n2) = (⌜x⌝ + σf(n1))(n2), ¬ ⌜n0⌝ + ⌜# x⌝ + # σ0 < ⌜n0 + # x⌝ → ((lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n0 + 1 + # x) + σ0)(n0 + # x) = (⌜x⌝ + σf(n1))(n0 + # x) ⊦
Used terms: n0 + # x
| # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, # lim(⌜σf⌝ ) = ∞, ⌜n0⌝ + ⌜1⌝ + # σ0 = # σf(n1), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n), lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n0 + # x) ≠ lim(⌜σf⌝ )(n0), mon(⌜σf⌝ ), ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n1. ¬ ⌜n0⌝ + # σ < ⌜n1⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n1) = σf(n)(n1), ∀ n2. ¬ ⌜n0⌝ + ⌜# x⌝ + # σ0 < ⌜n2⌝ → ((lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n0 + 1 + # x) + σ0)(n2) = (⌜x⌝ + σf(n1))(n2), ¬ ⌜n0⌝ + ⌜# x⌝ + # σ0 < ⌜n0 + # x⌝ → ((lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n0 + 1 + # x) + σ0)(n0 + # x) = (⌜x⌝ + σf(n1))(n0 + # x) ⊦ |
# lim(⌜σf⌝ ) = ∞, # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, ((lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n0 + 1 + # x) + σ0)(n0 + # x) = (⌜x⌝ + σf(n1))(n0 + # x), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n), ⌜n0⌝ + ⌜1⌝ + # σ0 = # σf(n1), lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n0 + # x) ≠ lim(⌜σf⌝ )(n0), mon(⌜σf⌝ ), ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n1. ¬ ⌜n0⌝ + # σ < ⌜n1⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n1) = σf(n)(n1), ∀ n2. ¬ ⌜n0⌝ + ⌜# x⌝ + # σ0 < ⌜n2⌝ → ((lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n0 + 1 + # x) + σ0)(n2) = (⌜x⌝ + σ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) ⊦ ⌜n⌝ + n∞1 < ⌜n⌝ + n∞2 ↔ n∞1 < n∞2; (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. ⌜x⌝ + σf(n)⌝ ) = ∞, ((lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n0 + 1 + # x) + σ0)(n0 + # x) = (⌜x⌝ + σf(n1))(n0 + # x), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n), ⌜n0⌝ + ⌜1⌝ + # σ0 = # σf(n1), lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n0 + # x) ≠ lim(⌜σf⌝ )(n0), mon(⌜σf⌝ ), ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n1. ¬ ⌜n0⌝ + # σ < ⌜n1⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n1) = σf(n)(n1), ∀ n2. ¬ ⌜n0⌝ + ⌜# x⌝ + # σ0 < ⌜n2⌝ → ((lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n0 + 1 + # x) + σ0)(n2) = (⌜x⌝ + σf(n1))(n2) ⊦ |
⊦ ⌜m⌝ < # σ → (σ + σ1)(m) = σ(m)
# lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, # lim(⌜σf⌝ ) = ∞, (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n0 + 1 + # x)(n0 + # x) = (⌜x⌝ + σf(n1))(n0 + # x), ⌜n0⌝ + ⌜1⌝ + # σ0 = # σf(n1), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n), lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n0 + # x) ≠ lim(⌜σf⌝ )(n0), mon(⌜σf⌝ ), ⌜n0 + # x⌝ < #(lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n0 + 1 + # x), ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n1. ¬ ⌜n0⌝ + # σ < ⌜n1⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n1) = σf(n)(n1), ∀ n2. ¬ ⌜n0⌝ + ⌜# x⌝ + # σ0 < ⌜n2⌝ → ((lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n0 + 1 + # x) + σ0)(n2) = (⌜x⌝ + σf(n1))(n2) ⊦
Used simplifier rules: ⊦ ¬ ⌜m⌝ < # σ → (σ + σ1)(m) = σ1(m - (# σ).n); (s) ⊦ ⌜m⌝ + n∞ = ∞ ↔ n∞ = ∞; (s) ⊦ ⌜n⌝ ≠ ∞; (s) n∞ ≠ ∞ ⊦ (⌜m⌝ + n∞).n = m + n∞.n; (s) ⊦ ⌜n⌝ .n = n; (s) ⊦ m + n - n + n1 = m - n1; (s) append-assoc: ⊦ (σ + σ1) + σ2 = σ + σ1 + σ2; from specification stream ⊦ ¬ ∞ < 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⌝ + n∞1 < ⌜n⌝ + n∞2 ↔ n∞1 < n∞2; (s) ⊦ ⌜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. ⌜x⌝ + σf(n)⌝ ) to n0 + 1 + # x, σ0, n0 + # x
| ⊦ ⌜m⌝ < # σ → (σ + σ1)(m) = σ(m) |
| # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, # lim(⌜σf⌝ ) = ∞, (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n0 + 1 + # x)(n0 + # x) = (⌜x⌝ + σf(n1))(n0 + # x), ⌜n0⌝ + ⌜1⌝ + # σ0 = # σf(n1), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n), lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n0 + # x) ≠ lim(⌜σf⌝ )(n0), mon(⌜σf⌝ ), ⌜n0 + # x⌝ < #(lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n0 + 1 + # x), ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n1. ¬ ⌜n0⌝ + # σ < ⌜n1⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n1) = σf(n)(n1), ∀ n2. ¬ ⌜n0⌝ + ⌜# x⌝ + # σ0 < ⌜n2⌝ → ((lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n0 + 1 + # x) + σ0)(n2) = (⌜x⌝ + σf(n1))(n2) ⊦ |
# lim(⌜σf⌝ ) = ∞, # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n0 + # x) = (⌜x⌝ + σf(n1))(n0 + # x), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n), ⌜n0⌝ + ⌜1⌝ + # σ0 = # σf(n1), (⌜x⌝ + σf(n1))(n0 + # x) ≠ lim(⌜σf⌝ )(n0), mon(⌜σf⌝ ), ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n1. ¬ ⌜n0⌝ + # σ < ⌜n1⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n1) = σf(n)(n1), ∀ n2. ¬ ⌜n0⌝ + ⌜# x⌝ + # σ0 < ⌜n2⌝ → ((lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n0 + 1 + # x) + σ0)(n2) = (⌜x⌝ + σ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) ⊦ ⌜n⌝ + n∞1 < ⌜n⌝ + n∞2 ↔ n∞1 < n∞2; (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∞; (s) m < n, ¬ # σ < ⌜n⌝ ⊦ (σ to n)(m) = σ(m); (s) ⊦ m < n + 1 ↔ ¬ n < m; (s) ⊦ m + n < m + n0 ↔ n < n0; (s)
| # lim(⌜σf⌝ ) = ∞, # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n0 + # x) = (⌜x⌝ + σf(n1))(n0 + # x), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n), ⌜n0⌝ + ⌜1⌝ + # σ0 = # σf(n1), (⌜x⌝ + σf(n1))(n0 + # x) ≠ lim(⌜σf⌝ )(n0), mon(⌜σf⌝ ), ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n1. ¬ ⌜n0⌝ + # σ < ⌜n1⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n1) = σf(n)(n1), ∀ n2. ¬ ⌜n0⌝ + ⌜# x⌝ + # σ0 < ⌜n2⌝ → ((lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n0 + 1 + # x) + σ0)(n2) = (⌜x⌝ + σf(n1))(n2) ⊦ |
⊦ ¬ ⌜m⌝ < # σ → (σ + σ1)(m) = σ1(m - (# σ).n)
# lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, # lim(⌜σf⌝ ) = ∞, lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n0 + # x) = σf(n1)(n0 + # x - (# ⌜x⌝ ).n), ⌜n0⌝ + ⌜1⌝ + # σ0 = # σf(n1), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n), σf(n1)(n0 + # x - (# ⌜x⌝ ).n) ≠ lim(⌜σf⌝ )(n0), mon(⌜σf⌝ ), ¬ ⌜n0 + # x⌝ < # ⌜x⌝ , ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n1. ¬ ⌜n0⌝ + # σ < ⌜n1⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n1) = σf(n)(n1), ∀ n2. ¬ ⌜n0⌝ + ⌜# x⌝ + # σ0 < ⌜n2⌝ → ((lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n0 + 1 + # x) + σ0)(n2) = (⌜x⌝ + σf(n1))(n2) ⊦
Used simplifier rules: ⊦ ⌜m⌝ < # σ → (σ + σ1)(m) = σ(m); (s) ⊦ ⌜x⌝ (n) = x(n); (s) append-assoc: ⊦ (σ + σ1) + σ2 = σ + σ1 + σ2; from specification stream ⊦ ⌜m + n⌝ = ⌜m⌝ + ⌜n⌝ ; (s) ⊦ # ⌜x⌝ = ⌜# x⌝ ; (s) ⊦ ⌜n⌝ + ⌜m⌝ < ⌜n0⌝ ↔ n + m < n0; (s) ⊦ ¬ m + n < m; (s) a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic c: ⊦ m + n = n + m; from specification nat-basic 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: ⌜x⌝ , σf(n1), n0 + # x
| ⊦ ¬ ⌜m⌝ < # σ → (σ + σ1)(m) = σ1(m - (# σ).n) |
| # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, # lim(⌜σf⌝ ) = ∞, lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n0 + # x) = σf(n1)(n0 + # x - (# ⌜x⌝ ).n), ⌜n0⌝ + ⌜1⌝ + # σ0 = # σf(n1), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n), σf(n1)(n0 + # x - (# ⌜x⌝ ).n) ≠ lim(⌜σf⌝ )(n0), mon(⌜σf⌝ ), ¬ ⌜n0 + # x⌝ < # ⌜x⌝ , ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n1. ¬ ⌜n0⌝ + # σ < ⌜n1⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n1) = σf(n)(n1), ∀ n2. ¬ ⌜n0⌝ + ⌜# x⌝ + # σ0 < ⌜n2⌝ → ((lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n0 + 1 + # x) + σ0)(n2) = (⌜x⌝ + σf(n1))(n2) ⊦ |
# lim(⌜σf⌝ ) = ∞, # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n0 + # x) = σf(n1)(n0), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n), ⌜n0⌝ + ⌜1⌝ + # σ0 = # σf(n1), σf(n1)(n0) ≠ lim(⌜σf⌝ )(n0), mon(⌜σf⌝ ), ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n1. ¬ ⌜n0⌝ + # σ < ⌜n1⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n1) = σf(n)(n1), ∀ n2. ¬ ⌜n0⌝ + ⌜# x⌝ + # σ0 < ⌜n2⌝ → ((lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n0 + 1 + # x) + σ0)(n2) = (⌜x⌝ + σ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 c: ⊦ m + n = n + m; from specification nat-basic a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic ⊦ ¬ m + n < m; (s) ⊦ ⌜n⌝ + ⌜m⌝ < ⌜n0⌝ ↔ n + m < n0; (s) ⊦ # ⌜x⌝ = ⌜# x⌝ ; (s) ⊦ ⌜m + n⌝ = ⌜m⌝ + ⌜n⌝ ; (s) ⊦ m + n - m = n; (s) ⊦ ⌜n⌝ .n = n; (s)
| # lim(⌜σf⌝ ) = ∞, # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n0 + # x) = σf(n1)(n0), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n), ⌜n0⌝ + ⌜1⌝ + # σ0 = # σf(n1), σf(n1)(n0) ≠ lim(⌜σf⌝ )(n0), mon(⌜σf⌝ ), ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n1. ¬ ⌜n0⌝ + # σ < ⌜n1⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n1) = σf(n)(n1), ∀ n2. ¬ ⌜n0⌝ + ⌜# x⌝ + # σ0 < ⌜n2⌝ → ((lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n0 + 1 + # x) + σ0)(n2) = (⌜x⌝ + σf(n1))(n2) ⊦ |
# lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, # lim(⌜σf⌝ ) = ∞, lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n0 + # x) = σf(n1)(n0), ⌜n0⌝ + ⌜1⌝ + # σ0 = # σf(n1), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n), σf(n1)(n0) ≠ lim(⌜σf⌝ )(n0), mon(⌜σf⌝ ), ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∃ n, σ. (lim(⌜σf⌝ ) to n0 + 1) + σ = σf(n), ∀ n1. ¬ ⌜n0⌝ + # σ < ⌜n1⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n1) = σf(n)(n1), ∀ n2. ¬ ⌜n0⌝ + ⌜# x⌝ + # σ0 < ⌜n2⌝ → ((lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n0 + 1 + # x) + σ0)(n2) = (⌜x⌝ + σf(n1))(n2) ⊦
Used terms: n0 + 1
| # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, # lim(⌜σf⌝ ) = ∞, lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n0 + # x) = σf(n1)(n0), ⌜n0⌝ + ⌜1⌝ + # σ0 = # σf(n1), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n), σf(n1)(n0) ≠ lim(⌜σf⌝ )(n0), mon(⌜σf⌝ ), ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∃ n, σ. (lim(⌜σf⌝ ) to n0 + 1) + σ = σf(n), ∀ n1. ¬ ⌜n0⌝ + # σ < ⌜n1⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n1) = σf(n)(n1), ∀ n2. ¬ ⌜n0⌝ + ⌜# x⌝ + # σ0 < ⌜n2⌝ → ((lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n0 + 1 + # x) + σ0)(n2) = (⌜x⌝ + σf(n1))(n2) ⊦ |
# lim(⌜σf⌝ ) = ∞, # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, (lim(⌜σf⌝ ) to n0 + 1) + σ1 = σf(n2), lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n0 + # x) = σf(n1)(n0), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n), ⌜n0⌝ + ⌜1⌝ + # σ0 = # σf(n1), σf(n1)(n0) ≠ lim(⌜σf⌝ )(n0), mon(⌜σf⌝ ), ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n1. ¬ ⌜n0⌝ + # σ < ⌜n1⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n1) = σf(n)(n1), ∀ n2. ¬ ⌜n0⌝ + ⌜# x⌝ + # σ0 < ⌜n2⌝ → ((lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n0 + 1 + # x) + σ0)(n2) = (⌜x⌝ + σf(n1))(n2) ⊦
| # lim(⌜σf⌝ ) = ∞, # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, (lim(⌜σf⌝ ) to n0 + 1) + σ1 = σf(n2), lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n0 + # x) = σf(n1)(n0), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n), ⌜n0⌝ + ⌜1⌝ + # σ0 = # σf(n1), σf(n1)(n0) ≠ lim(⌜σf⌝ )(n0), mon(⌜σf⌝ ), ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n1. ¬ ⌜n0⌝ + # σ < ⌜n1⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n1) = σf(n)(n1), ∀ n2. ¬ ⌜n0⌝ + ⌜# x⌝ + # σ0 < ⌜n2⌝ → ((lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n0 + 1 + # x) + σ0)(n2) = (⌜x⌝ + σf(n1))(n2) ⊦ |
⊦ σ0 = σ1 ↔ # σ0 = # σ1 ∧ (∀ n. ⌜n⌝ < # σ0 → σ0(n) = σ1(n))
#((lim(⌜σf⌝ ) to n0 + 1) + σ1) = # σf(n2), # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, # lim(⌜σf⌝ ) = ∞, lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n0 + # x) = σf(n1)(n0), ⌜n0⌝ + ⌜1⌝ + # σ0 = # σf(n1), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n), σf(n1)(n0) ≠ lim(⌜σf⌝ )(n0), mon(⌜σf⌝ ), ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n. ⌜n⌝ < #((lim(⌜σf⌝ ) to n0 + 1) + σ1) → ((lim(⌜σf⌝ ) to n0 + 1) + σ1)(n) = σf(n2)(n), ∀ n1. ¬ ⌜n0⌝ + # σ < ⌜n1⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n1) = σf(n)(n1), ∀ n2. ¬ ⌜n0⌝ + ⌜# x⌝ + # σ0 < ⌜n2⌝ → ((lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n0 + 1 + # x) + σ0)(n2) = (⌜x⌝ + σf(n1))(n2) ⊦
Used terms: (lim(⌜σf⌝ ) to n0 + 1) + σ1, σf(n2)
| ⊦ σ0 = σ1 ↔ # σ0 = # σ1 ∧ (∀ n. ⌜n⌝ < # σ0 → σ0(n) = σ1(n)) |
| #((lim(⌜σf⌝ ) to n0 + 1) + σ1) = # σf(n2), # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, # lim(⌜σf⌝ ) = ∞, lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n0 + # x) = σf(n1)(n0), ⌜n0⌝ + ⌜1⌝ + # σ0 = # σf(n1), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n), σf(n1)(n0) ≠ lim(⌜σf⌝ )(n0), mon(⌜σf⌝ ), ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n. ⌜n⌝ < #((lim(⌜σf⌝ ) to n0 + 1) + σ1) → ((lim(⌜σf⌝ ) to n0 + 1) + σ1)(n) = σf(n2)(n), ∀ n1. ¬ ⌜n0⌝ + # σ < ⌜n1⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n1) = σf(n)(n1), ∀ n2. ¬ ⌜n0⌝ + ⌜# x⌝ + # σ0 < ⌜n2⌝ → ((lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n0 + 1 + # x) + σ0)(n2) = (⌜x⌝ + σf(n1))(n2) ⊦ |
# lim(⌜σf⌝ ) = ∞, # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n0 + # x) = σf(n1)(n0), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n), ⌜n0⌝ + ⌜1⌝ + # σ0 = # σf(n1), (⌜n0⌝ + ⌜1⌝ ) + # σ1 = # σf(n2), σf(n1)(n0) ≠ lim(⌜σf⌝ )(n0), mon(⌜σf⌝ ), ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n1. ¬ ⌜n0⌝ + # σ < ⌜n1⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n1) = σf(n)(n1), ∀ n2. ¬ ⌜n0⌝ + ⌜# x⌝ + # σ0 < ⌜n2⌝ → ((lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n0 + 1 + # x) + σ0)(n2) = (⌜x⌝ + σf(n1))(n2), ∀ n3. ¬ ⌜n0⌝ + # σ1 < ⌜n3⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ1)(n3) = σf(n2)(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∞; (s) ⊦ #(σ + σ1) = # σ + # σ1; (s)
| # lim(⌜σf⌝ ) = ∞, # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n0 + # x) = σf(n1)(n0), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n), ⌜n0⌝ + ⌜1⌝ + # σ0 = # σf(n1), (⌜n0⌝ + ⌜1⌝ ) + # σ1 = # σf(n2), σf(n1)(n0) ≠ lim(⌜σf⌝ )(n0), mon(⌜σf⌝ ), ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n1. ¬ ⌜n0⌝ + # σ < ⌜n1⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n1) = σf(n)(n1), ∀ n2. ¬ ⌜n0⌝ + ⌜# x⌝ + # σ0 < ⌜n2⌝ → ((lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n0 + 1 + # x) + σ0)(n2) = (⌜x⌝ + σf(n1))(n2), ∀ n3. ¬ ⌜n0⌝ + # σ1 < ⌜n3⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ1)(n3) = σf(n2)(n3) ⊦ |
# lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, # lim(⌜σf⌝ ) = ∞, lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n0 + # x) = σf(n1)(n0), (⌜n0⌝ + ⌜1⌝ ) + # σ1 = # σf(n2), ⌜n0⌝ + ⌜1⌝ + # σ0 = # σf(n1), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n), σf(n1)(n0) ≠ lim(⌜σf⌝ )(n0), mon(⌜σf⌝ ), ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n1. ¬ ⌜n0⌝ + # σ < ⌜n1⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n1) = σf(n)(n1), ∀ n2. ¬ ⌜n0⌝ + ⌜# x⌝ + # σ0 < ⌜n2⌝ → ((lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n0 + 1 + # x) + σ0)(n2) = (⌜x⌝ + σf(n1))(n2), ¬ ⌜n0⌝ + # σ1 < ⌜n0⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ1)(n0) = σf(n2)(n0) ⊦
Used terms: n0
| # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, # lim(⌜σf⌝ ) = ∞, lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n0 + # x) = σf(n1)(n0), (⌜n0⌝ + ⌜1⌝ ) + # σ1 = # σf(n2), ⌜n0⌝ + ⌜1⌝ + # σ0 = # σf(n1), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n), σf(n1)(n0) ≠ lim(⌜σf⌝ )(n0), mon(⌜σf⌝ ), ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n1. ¬ ⌜n0⌝ + # σ < ⌜n1⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n1) = σf(n)(n1), ∀ n2. ¬ ⌜n0⌝ + ⌜# x⌝ + # σ0 < ⌜n2⌝ → ((lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n0 + 1 + # x) + σ0)(n2) = (⌜x⌝ + σf(n1))(n2), ¬ ⌜n0⌝ + # σ1 < ⌜n0⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ1)(n0) = σf(n2)(n0) ⊦ |
# lim(⌜σf⌝ ) = ∞, # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n0 + # x) = σf(n1)(n0), ((lim(⌜σf⌝ ) to n0 + 1) + σ1)(n0) = σf(n2)(n0), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n), ⌜n0⌝ + ⌜1⌝ + # σ0 = # σf(n1), (⌜n0⌝ + ⌜1⌝ ) + # σ1 = # σf(n2), σf(n1)(n0) ≠ lim(⌜σf⌝ )(n0), mon(⌜σf⌝ ), ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n1. ¬ ⌜n0⌝ + # σ < ⌜n1⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n1) = σf(n)(n1), ∀ n2. ¬ ⌜n0⌝ + ⌜# x⌝ + # σ0 < ⌜n2⌝ → ((lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n0 + 1 + # x) + σ0)(n2) = (⌜x⌝ + σ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. ⌜x⌝ + σf(n)⌝ ) = ∞, lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n0 + # x) = σf(n1)(n0), ((lim(⌜σf⌝ ) to n0 + 1) + σ1)(n0) = σf(n2)(n0), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n), ⌜n0⌝ + ⌜1⌝ + # σ0 = # σf(n1), (⌜n0⌝ + ⌜1⌝ ) + # σ1 = # σf(n2), σf(n1)(n0) ≠ lim(⌜σf⌝ )(n0), mon(⌜σf⌝ ), ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n1. ¬ ⌜n0⌝ + # σ < ⌜n1⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n1) = σf(n)(n1), ∀ n2. ¬ ⌜n0⌝ + ⌜# x⌝ + # σ0 < ⌜n2⌝ → ((lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n0 + 1 + # x) + σ0)(n2) = (⌜x⌝ + σf(n1))(n2) ⊦ |
⊦ ⌜m⌝ < # σ → (σ + σ1)(m) = σ(m)
# lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, # lim(⌜σf⌝ ) = ∞, (lim(⌜σf⌝ ) to n0 + 1)(n0) = σf(n2)(n0), lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n0 + # x) = σf(n1)(n0), (⌜n0⌝ + ⌜1⌝ ) + # σ1 = # σf(n2), ⌜n0⌝ + ⌜1⌝ + # σ0 = # σf(n1), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n), σf(n1)(n0) ≠ lim(⌜σf⌝ )(n0), mon(⌜σf⌝ ), ⌜n0⌝ < #(lim(⌜σf⌝ ) to n0 + 1), ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n1. ¬ ⌜n0⌝ + # σ < ⌜n1⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n1) = σf(n)(n1), ∀ n2. ¬ ⌜n0⌝ + ⌜# x⌝ + # σ0 < ⌜n2⌝ → ((lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n0 + 1 + # x) + σ0)(n2) = (⌜x⌝ + σ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∞; (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, σ1, n0
| ⊦ ⌜m⌝ < # σ → (σ + σ1)(m) = σ(m) |
| # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, # lim(⌜σf⌝ ) = ∞, (lim(⌜σf⌝ ) to n0 + 1)(n0) = σf(n2)(n0), lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n0 + # x) = σf(n1)(n0), (⌜n0⌝ + ⌜1⌝ ) + # σ1 = # σf(n2), ⌜n0⌝ + ⌜1⌝ + # σ0 = # σf(n1), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n), σf(n1)(n0) ≠ lim(⌜σf⌝ )(n0), mon(⌜σf⌝ ), ⌜n0⌝ < #(lim(⌜σf⌝ ) to n0 + 1), ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n1. ¬ ⌜n0⌝ + # σ < ⌜n1⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n1) = σf(n)(n1), ∀ n2. ¬ ⌜n0⌝ + ⌜# x⌝ + # σ0 < ⌜n2⌝ → ((lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n0 + 1 + # x) + σ0)(n2) = (⌜x⌝ + σf(n1))(n2) ⊦ |
# lim(⌜σf⌝ ) = ∞, # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n0 + # x) = σf(n1)(n0), lim(⌜σf⌝ )(n0) = σf(n2)(n0), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n), ⌜n0⌝ + ⌜1⌝ + # σ0 = # σf(n1), (⌜n0⌝ + ⌜1⌝ ) + # σ1 = # σf(n2), σf(n1)(n0) ≠ σf(n2)(n0), mon(⌜σf⌝ ), ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n1. ¬ ⌜n0⌝ + # σ < ⌜n1⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n1) = σf(n)(n1), ∀ n2. ¬ ⌜n0⌝ + ⌜# x⌝ + # σ0 < ⌜n2⌝ → ((lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n0 + 1 + # x) + σ0)(n2) = (⌜x⌝ + σ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∞; (s) m < n, ¬ # σ < ⌜n⌝ ⊦ (σ to n)(m) = σ(m); (s) ⊦ m < n + 1 ↔ ¬ n < m; (s)
| # lim(⌜σf⌝ ) = ∞, # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n0 + # x) = σf(n1)(n0), lim(⌜σf⌝ )(n0) = σf(n2)(n0), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n), ⌜n0⌝ + ⌜1⌝ + # σ0 = # σf(n1), (⌜n0⌝ + ⌜1⌝ ) + # σ1 = # σf(n2), σf(n1)(n0) ≠ σf(n2)(n0), mon(⌜σf⌝ ), ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n1. ¬ ⌜n0⌝ + # σ < ⌜n1⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n1) = σf(n)(n1), ∀ n2. ¬ ⌜n0⌝ + ⌜# x⌝ + # σ0 < ⌜n2⌝ → ((lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n0 + 1 + # x) + σ0)(n2) = (⌜x⌝ + σf(n1))(n2) ⊦ |
# lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, # lim(⌜σf⌝ ) = ∞, lim(⌜σf⌝ )(n0) = σf(n2)(n0), lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n0 + # x) = σf(n1)(n0), (⌜n0⌝ + ⌜1⌝ ) + # σ1 = # σf(n2), ⌜n0⌝ + ⌜1⌝ + # σ0 = # σf(n1), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n), σf(n1)(n0) ≠ σf(n2)(n0), mon(⌜σf⌝ ), n1 < n2, ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n1. ¬ ⌜n0⌝ + # σ < ⌜n1⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n1) = σf(n)(n1), ∀ n2. ¬ ⌜n0⌝ + ⌜# x⌝ + # σ0 < ⌜n2⌝ → ((lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n0 + 1 + # x) + σ0)(n2) = (⌜x⌝ + σf(n1))(n2) ⊦
# lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, # lim(⌜σf⌝ ) = ∞, lim(⌜σf⌝ )(n0) = σf(n2)(n0), lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n0 + # x) = σf(n1)(n0), (⌜n0⌝ + ⌜1⌝ ) + # σ1 = # σf(n2), ⌜n0⌝ + ⌜1⌝ + # σ0 = # σf(n1), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n), σf(n1)(n0) ≠ σf(n2)(n0), mon(⌜σf⌝ ), ¬ n1 < n2, ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n1. ¬ ⌜n0⌝ + # σ < ⌜n1⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n1) = σf(n)(n1), ∀ n2. ¬ ⌜n0⌝ + ⌜# x⌝ + # σ0 < ⌜n2⌝ → ((lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n0 + 1 + # x) + σ0)(n2) = (⌜x⌝ + σf(n1))(n2) ⊦
Used formulas: n1 < n2
| # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, # lim(⌜σf⌝ ) = ∞, lim(⌜σf⌝ )(n0) = σf(n2)(n0), lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n0 + # x) = σf(n1)(n0), (⌜n0⌝ + ⌜1⌝ ) + # σ1 = # σf(n2), ⌜n0⌝ + ⌜1⌝ + # σ0 = # σf(n1), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n), σf(n1)(n0) ≠ σf(n2)(n0), mon(⌜σf⌝ ), n1 < n2, ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n1. ¬ ⌜n0⌝ + # σ < ⌜n1⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n1) = σf(n)(n1), ∀ n2. ¬ ⌜n0⌝ + ⌜# x⌝ + # σ0 < ⌜n2⌝ → ((lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n0 + 1 + # x) + σ0)(n2) = (⌜x⌝ + σf(n1))(n2) ⊦ |
mon(σσ), m ≤ n, ⌜n⌝ < # σσ ⊦ σσ(m) ⊑ σσ(n)
# lim(⌜σf⌝ ) = ∞, # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n0 + # x) = σf(n1)(n0), lim(⌜σf⌝ )(n0) = σf(n2)(n0), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n), ⌜n0⌝ + ⌜1⌝ + # σ0 = # σf(n1), (⌜n0⌝ + ⌜1⌝ ) + # σ1 = # σf(n2), σf(n1)(n0) ≠ σf(n2)(n0), mon(⌜σf⌝ ), n1 < n2, ⌜σf⌝ (n1) ⊑ ⌜σf⌝ (n2), ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n1. ¬ ⌜n0⌝ + # σ < ⌜n1⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n1) = σf(n)(n1), ∀ n2. ¬ ⌜n0⌝ + ⌜# x⌝ + # σ0 < ⌜n2⌝ → ((lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n0 + 1 + # x) + σ0)(n2) = (⌜x⌝ + σf(n1))(n2) ⊦
Used simplifier rules: ⊦ m < n → m ≤ n; (s) ⊦ # ⌜nf⌝ = ∞; (s) ⊦ ⌜m⌝ < ∞; (s) Used terms: ⌜σf⌝ , n1, n2
| mon(σσ), m ≤ n, ⌜n⌝ < # σσ ⊦ σσ(m) ⊑ σσ(n) |
| # lim(⌜σf⌝ ) = ∞, # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n0 + # x) = σf(n1)(n0), lim(⌜σf⌝ )(n0) = σf(n2)(n0), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n), ⌜n0⌝ + ⌜1⌝ + # σ0 = # σf(n1), (⌜n0⌝ + ⌜1⌝ ) + # σ1 = # σf(n2), σf(n1)(n0) ≠ σf(n2)(n0), mon(⌜σf⌝ ), n1 < n2, ⌜σf⌝ (n1) ⊑ ⌜σf⌝ (n2), ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n1. ¬ ⌜n0⌝ + # σ < ⌜n1⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n1) = σf(n)(n1), ∀ n2. ¬ ⌜n0⌝ + ⌜# x⌝ + # σ0 < ⌜n2⌝ → ((lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n0 + 1 + # x) + σ0)(n2) = (⌜x⌝ + σf(n1))(n2) ⊦ |
# lim(⌜σf⌝ ) = ∞, # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n0 + # x) = σf(n1)(n0), lim(⌜σf⌝ )(n0) = σf(n2)(n0), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n), ⌜n0⌝ + ⌜1⌝ + # σ0 = # σf(n1), (⌜n0⌝ + ⌜1⌝ ) + # σ1 = # σf(n2), σf(n1) + σ2 = σf(n2), σf(n1)(n0) ≠ σf(n2)(n0), mon(⌜σf⌝ ), n1 < n2, ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n1. ¬ ⌜n0⌝ + # σ < ⌜n1⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n1) = σf(n)(n1), ∀ n2. ¬ ⌜n0⌝ + ⌜# x⌝ + # σ0 < ⌜n2⌝ → ((lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n0 + 1 + # x) + σ0)(n2) = (⌜x⌝ + σf(n1))(n2) ⊦
Used simplifier rules: ⊦ m < n → n ≠ 0; (s) f: ⊦ m < n → n ≠ 0; (forward) from specification nat-basic ⊦ σ1 ⊑ σ2 ↔ (∃ σ. σ1 + σ = σ2); (ls) ⊦ ⌜nf⌝ (n) = nf(n); (s)
| # lim(⌜σf⌝ ) = ∞, # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n0 + # x) = σf(n1)(n0), lim(⌜σf⌝ )(n0) = σf(n2)(n0), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n), ⌜n0⌝ + ⌜1⌝ + # σ0 = # σf(n1), (⌜n0⌝ + ⌜1⌝ ) + # σ1 = # σf(n2), σf(n1) + σ2 = σf(n2), σf(n1)(n0) ≠ σf(n2)(n0), mon(⌜σf⌝ ), n1 < n2, ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n1. ¬ ⌜n0⌝ + # σ < ⌜n1⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n1) = σf(n)(n1), ∀ n2. ¬ ⌜n0⌝ + ⌜# x⌝ + # σ0 < ⌜n2⌝ → ((lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n0 + 1 + # x) + σ0)(n2) = (⌜x⌝ + σf(n1))(n2) ⊦ |
⊦ σ0 = σ1 ↔ # σ0 = # σ1 ∧ (∀ n. ⌜n⌝ < # σ0 → σ0(n) = σ1(n))
#(σf(n1) + σ2) = # σf(n2), # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, # lim(⌜σf⌝ ) = ∞, lim(⌜σf⌝ )(n0) = σf(n2)(n0), lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n0 + # x) = σf(n1)(n0), (⌜n0⌝ + ⌜1⌝ ) + # σ1 = # σf(n2), ⌜n0⌝ + ⌜1⌝ + # σ0 = # σf(n1), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n), σf(n1)(n0) ≠ σf(n2)(n0), mon(⌜σf⌝ ), n1 < n2, ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n. ⌜n⌝ < #(σf(n1) + σ2) → (σf(n1) + σ2)(n) = σf(n2)(n), ∀ n1. ¬ ⌜n0⌝ + # σ < ⌜n1⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n1) = σf(n)(n1), ∀ n2. ¬ ⌜n0⌝ + ⌜# x⌝ + # σ0 < ⌜n2⌝ → ((lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n0 + 1 + # x) + σ0)(n2) = (⌜x⌝ + σf(n1))(n2) ⊦
Used terms: σf(n1) + σ2, σf(n2)
| ⊦ σ0 = σ1 ↔ # σ0 = # σ1 ∧ (∀ n. ⌜n⌝ < # σ0 → σ0(n) = σ1(n)) |
| #(σf(n1) + σ2) = # σf(n2), # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, # lim(⌜σf⌝ ) = ∞, lim(⌜σf⌝ )(n0) = σf(n2)(n0), lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n0 + # x) = σf(n1)(n0), (⌜n0⌝ + ⌜1⌝ ) + # σ1 = # σf(n2), ⌜n0⌝ + ⌜1⌝ + # σ0 = # σf(n1), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n), σf(n1)(n0) ≠ σf(n2)(n0), mon(⌜σf⌝ ), n1 < n2, ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n. ⌜n⌝ < #(σf(n1) + σ2) → (σf(n1) + σ2)(n) = σf(n2)(n), ∀ n1. ¬ ⌜n0⌝ + # σ < ⌜n1⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n1) = σf(n)(n1), ∀ n2. ¬ ⌜n0⌝ + ⌜# x⌝ + # σ0 < ⌜n2⌝ → ((lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n0 + 1 + # x) + σ0)(n2) = (⌜x⌝ + σf(n1))(n2) ⊦ |
# lim(⌜σf⌝ ) = ∞, # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, # σf(n1) + # σ2 = # σf(n2), lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n0 + # x) = σf(n1)(n0), lim(⌜σf⌝ )(n0) = σf(n2)(n0), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n), ⌜n0⌝ + ⌜1⌝ + # σ0 = # σf(n1), (⌜n0⌝ + ⌜1⌝ ) + # σ1 = # σf(n2), σf(n1)(n0) ≠ σf(n2)(n0), mon(⌜σf⌝ ), n1 < n2, ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n1. ¬ ⌜n0⌝ + # σ < ⌜n1⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n1) = σf(n)(n1), ∀ n2. ¬ ⌜n0⌝ + ⌜# x⌝ + # σ0 < ⌜n2⌝ → ((lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n0 + 1 + # x) + σ0)(n2) = (⌜x⌝ + σf(n1))(n2), ∀ n3. ⌜n3⌝ < # σf(n2) → (σf(n1) + σ2)(n3) = σf(n2)(n3) ⊦
Used simplifier rules: append-assoc: ⊦ (σ + σ1) + σ2 = σ + σ1 + σ2; from specification stream ⊦ #(σ + σ1) = # σ + # σ1; (s)
| # lim(⌜σf⌝ ) = ∞, # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, # σf(n1) + # σ2 = # σf(n2), lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n0 + # x) = σf(n1)(n0), lim(⌜σf⌝ )(n0) = σf(n2)(n0), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n), ⌜n0⌝ + ⌜1⌝ + # σ0 = # σf(n1), (⌜n0⌝ + ⌜1⌝ ) + # σ1 = # σf(n2), σf(n1)(n0) ≠ σf(n2)(n0), mon(⌜σf⌝ ), n1 < n2, ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n1. ¬ ⌜n0⌝ + # σ < ⌜n1⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n1) = σf(n)(n1), ∀ n2. ¬ ⌜n0⌝ + ⌜# x⌝ + # σ0 < ⌜n2⌝ → ((lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n0 + 1 + # x) + σ0)(n2) = (⌜x⌝ + σf(n1))(n2), ∀ n3. ⌜n3⌝ < # σf(n2) → (σf(n1) + σ2)(n3) = σf(n2)(n3) ⊦ |
# σf(n1) + # σ2 = # σf(n2), # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, # lim(⌜σf⌝ ) = ∞, lim(⌜σf⌝ )(n0) = σf(n2)(n0), lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n0 + # x) = σf(n1)(n0), (⌜n0⌝ + ⌜1⌝ ) + # σ1 = # σf(n2), ⌜n0⌝ + ⌜1⌝ + # σ0 = # σf(n1), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n), σf(n1)(n0) ≠ σf(n2)(n0), mon(⌜σf⌝ ), n1 < n2, ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ⌜n0⌝ < # σf(n2) → (σf(n1) + σ2)(n0) = σf(n2)(n0), ∀ n1. ¬ ⌜n0⌝ + # σ < ⌜n1⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n1) = σf(n)(n1), ∀ n2. ¬ ⌜n0⌝ + ⌜# x⌝ + # σ0 < ⌜n2⌝ → ((lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n0 + 1 + # x) + σ0)(n2) = (⌜x⌝ + σf(n1))(n2) ⊦
Used terms: n0
| # σf(n1) + # σ2 = # σf(n2), # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, # lim(⌜σf⌝ ) = ∞, lim(⌜σf⌝ )(n0) = σf(n2)(n0), lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n0 + # x) = σf(n1)(n0), (⌜n0⌝ + ⌜1⌝ ) + # σ1 = # σf(n2), ⌜n0⌝ + ⌜1⌝ + # σ0 = # σf(n1), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n), σf(n1)(n0) ≠ σf(n2)(n0), mon(⌜σf⌝ ), n1 < n2, ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ⌜n0⌝ < # σf(n2) → (σf(n1) + σ2)(n0) = σf(n2)(n0), ∀ n1. ¬ ⌜n0⌝ + # σ < ⌜n1⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n1) = σf(n)(n1), ∀ n2. ¬ ⌜n0⌝ + ⌜# x⌝ + # σ0 < ⌜n2⌝ → ((lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n0 + 1 + # x) + σ0)(n2) = (⌜x⌝ + σf(n1))(n2) ⊦ |
⊦ ⌜m⌝ < # σ → (σ + σ1)(m) = σ(m)
# lim(⌜σf⌝ ) = ∞, # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, # σf(n1) + # σ2 = # σf(n2), lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n0 + # x) = σf(n1)(n0), lim(⌜σf⌝ )(n0) = σf(n2)(n0), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n), ⌜n0⌝ + ⌜1⌝ + # σ0 = # σf(n1), (⌜n0⌝ + ⌜1⌝ ) + # σ1 = # σf(n2), σf(n1)(n0) ≠ σf(n2)(n0), mon(⌜σf⌝ ), n1 < n2, ¬ ⌜n0⌝ < # σf(n1), ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ⌜n0⌝ < # σf(n2) → (σf(n1) + σ2)(n0) = σf(n2)(n0), ∀ n1. ¬ ⌜n0⌝ + # σ < ⌜n1⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n1) = σf(n)(n1), ∀ n2. ¬ ⌜n0⌝ + ⌜# x⌝ + # σ0 < ⌜n2⌝ → ((lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n0 + 1 + # x) + σ0)(n2) = (⌜x⌝ + σf(n1))(n2) ⊦
# lim(⌜σf⌝ ) = ∞, # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, # σf(n1) + # σ2 = # σf(n2), lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n0 + # x) = σf(n1)(n0), lim(⌜σf⌝ )(n0) = σf(n2)(n0), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n), ⌜n0⌝ + ⌜1⌝ + # σ0 = # σf(n1), (⌜n0⌝ + ⌜1⌝ ) + # σ1 = # σf(n2), σf(n1)(n0) ≠ σf(n2)(n0), mon(⌜σf⌝ ), ⌜n0⌝ < # σf(n1), n1 < n2, ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ⌜n0⌝ < # σf(n2) → σf(n1)(n0) = σf(n2)(n0), ∀ n1. ¬ ⌜n0⌝ + # σ < ⌜n1⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n1) = σf(n)(n1), ∀ n2. ¬ ⌜n0⌝ + ⌜# x⌝ + # σ0 < ⌜n2⌝ → ((lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n0 + 1 + # x) + σ0)(n2) = (⌜x⌝ + σf(n1))(n2) ⊦
Used terms: σf(n1), σ2, n0
| ⊦ ⌜m⌝ < # σ → (σ + σ1)(m) = σ(m) |
| # lim(⌜σf⌝ ) = ∞, # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, # σf(n1) + # σ2 = # σf(n2), lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n0 + # x) = σf(n1)(n0), lim(⌜σf⌝ )(n0) = σf(n2)(n0), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n), ⌜n0⌝ + ⌜1⌝ + # σ0 = # σf(n1), (⌜n0⌝ + ⌜1⌝ ) + # σ1 = # σf(n2), σf(n1)(n0) ≠ σf(n2)(n0), mon(⌜σf⌝ ), n1 < n2, ¬ ⌜n0⌝ < # σf(n1), ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ⌜n0⌝ < # σf(n2) → (σf(n1) + σ2)(n0) = σf(n2)(n0), ∀ n1. ¬ ⌜n0⌝ + # σ < ⌜n1⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n1) = σf(n)(n1), ∀ n2. ¬ ⌜n0⌝ + ⌜# x⌝ + # σ0 < ⌜n2⌝ → ((lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n0 + 1 + # x) + σ0)(n2) = (⌜x⌝ + σf(n1))(n2) ⊦ |
# σf(n1) + # σ2 = # σf(n2), # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, # lim(⌜σf⌝ ) = ∞, lim(⌜σf⌝ )(n0) = σf(n2)(n0), lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n0 + # x) = σf(n1)(n0), (⌜n0⌝ + ⌜1⌝ ) + # σ1 = # σf(n2), ⌜n0⌝ + ⌜1⌝ + # σ0 = # σf(n1), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n), σf(n1)(n0) ≠ σf(n2)(n0), mon(⌜σf⌝ ), n1 < n2, ¬ ⌜n0⌝ < # σf(n1), ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ⌜n0⌝ < # σf(n2) → σ2(n0 - (# σf(n1)).n) = σf(n2)(n0), ∀ n1. ¬ ⌜n0⌝ + # σ < ⌜n1⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n1) = σf(n)(n1), ∀ n2. ¬ ⌜n0⌝ + ⌜# x⌝ + # σ0 < ⌜n2⌝ → ((lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n0 + 1 + # x) + σ0)(n2) = (⌜x⌝ + σf(n1))(n2) ⊦
Used simplifier rules: append-assoc: ⊦ (σ + σ1) + σ2 = σ + σ1 + σ2; from specification stream ⊦ ¬ ⌜m⌝ < # σ → (σ + σ1)(m) = σ1(m - (# σ).n); (s)
| # σf(n1) + # σ2 = # σf(n2), # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, # lim(⌜σf⌝ ) = ∞, lim(⌜σf⌝ )(n0) = σf(n2)(n0), lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n0 + # x) = σf(n1)(n0), (⌜n0⌝ + ⌜1⌝ ) + # σ1 = # σf(n2), ⌜n0⌝ + ⌜1⌝ + # σ0 = # σf(n1), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n), σf(n1)(n0) ≠ σf(n2)(n0), mon(⌜σf⌝ ), n1 < n2, ¬ ⌜n0⌝ < # σf(n1), ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ⌜n0⌝ < # σf(n2) → σ2(n0 - (# σf(n1)).n) = σf(n2)(n0), ∀ n1. ¬ ⌜n0⌝ + # σ < ⌜n1⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n1) = σf(n)(n1), ∀ n2. ¬ ⌜n0⌝ + ⌜# x⌝ + # σ0 < ⌜n2⌝ → ((lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n0 + 1 + # x) + σ0)(n2) = (⌜x⌝ + σf(n1))(n2) ⊦ |
Used simplifier rules: ⊦ ⌜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. ⌜x⌝ + σf(n)⌝ ) = ∞, # σf(n1) + # σ2 = # σf(n2), lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n0 + # x) = σf(n1)(n0), lim(⌜σf⌝ )(n0) = σf(n2)(n0), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n), ⌜n0⌝ + ⌜1⌝ + # σ0 = # σf(n1), (⌜n0⌝ + ⌜1⌝ ) + # σ1 = # σf(n2), σf(n1)(n0) ≠ σf(n2)(n0), mon(⌜σf⌝ ), ⌜n0⌝ < # σf(n1), n1 < n2, ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ⌜n0⌝ < # σf(n2) → σf(n1)(n0) = σf(n2)(n0), ∀ n1. ¬ ⌜n0⌝ + # σ < ⌜n1⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n1) = σf(n)(n1), ∀ n2. ¬ ⌜n0⌝ + ⌜# x⌝ + # σ0 < ⌜n2⌝ → ((lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n0 + 1 + # x) + σ0)(n2) = (⌜x⌝ + σf(n1))(n2) ⊦ |
# σf(n1) + # σ2 = # σf(n2), # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, # lim(⌜σf⌝ ) = ∞, lim(⌜σf⌝ )(n0) = σf(n2)(n0), lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n0 + # x) = σf(n1)(n0), (⌜n0⌝ + ⌜1⌝ ) + # σ1 = # σf(n2), ⌜n0⌝ + ⌜1⌝ + # σ0 = # σf(n1), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n), σf(n1)(n0) ≠ σf(n2)(n0), # σf(n2) < # σf(n1), mon(⌜σf⌝ ), ⌜n0⌝ < # σf(n1), n1 < n2, ¬ ⌜n0⌝ < # σf(n2), ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n1. ¬ ⌜n0⌝ + # σ < ⌜n1⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n1) = σf(n)(n1), ∀ n2. ¬ ⌜n0⌝ + ⌜# x⌝ + # σ0 < ⌜n2⌝ → ((lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n0 + 1 + # x) + σ0)(n2) = (⌜x⌝ + σf(n1))(n2) ⊦
Used simplifier rules: lels-trans: ⊦ ¬ n∞1 < n∞ ∧ n∞1 < n∞2 → n∞ < n∞2; (forward) from specification nat-inf
| # σf(n1) + # σ2 = # σf(n2), # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, # lim(⌜σf⌝ ) = ∞, lim(⌜σf⌝ )(n0) = σf(n2)(n0), lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n0 + # x) = σf(n1)(n0), (⌜n0⌝ + ⌜1⌝ ) + # σ1 = # σf(n2), ⌜n0⌝ + ⌜1⌝ + # σ0 = # σf(n1), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n), σf(n1)(n0) ≠ σf(n2)(n0), # σf(n2) < # σf(n1), mon(⌜σf⌝ ), ⌜n0⌝ < # σf(n1), n1 < n2, ¬ ⌜n0⌝ < # σf(n2), ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n1. ¬ ⌜n0⌝ + # σ < ⌜n1⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n1) = σf(n)(n1), ∀ n2. ¬ ⌜n0⌝ + ⌜# x⌝ + # σ0 < ⌜n2⌝ → ((lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n0 + 1 + # x) + σ0)(n2) = (⌜x⌝ + σf(n1))(n2) ⊦ |
Used simplifier rules: ⊦ ¬ 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(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, # lim(⌜σf⌝ ) = ∞, lim(⌜σf⌝ )(n0) = σf(n2)(n0), lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n0 + # x) = σf(n1)(n0), (⌜n0⌝ + ⌜1⌝ ) + # σ1 = # σf(n2), ⌜n0⌝ + ⌜1⌝ + # σ0 = # σf(n1), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n), σf(n1)(n0) ≠ σf(n2)(n0), mon(⌜σf⌝ ), ¬ n1 < n2, ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n1. ¬ ⌜n0⌝ + # σ < ⌜n1⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n1) = σf(n)(n1), ∀ n2. ¬ ⌜n0⌝ + ⌜# x⌝ + # σ0 < ⌜n2⌝ → ((lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n0 + 1 + # x) + σ0)(n2) = (⌜x⌝ + σf(n1))(n2) ⊦ |
# lim(⌜σf⌝ ) = ∞, # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n0 + # x) = σf(n1)(n0), lim(⌜σf⌝ )(n0) = σf(n2)(n0), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n), ⌜n0⌝ + ⌜1⌝ + # σ0 = # σf(n1), (⌜n0⌝ + ⌜1⌝ ) + # σ1 = # σf(n2), σf(n1)(n0) ≠ σf(n2)(n0), mon(⌜σf⌝ ), n2 ≤ n1, ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n1. ¬ ⌜n0⌝ + # σ < ⌜n1⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n1) = σf(n)(n1), ∀ n2. ¬ ⌜n0⌝ + ⌜# x⌝ + # σ0 < ⌜n2⌝ → ((lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n0 + 1 + # x) + σ0)(n2) = (⌜x⌝ + σf(n1))(n2) ⊦
Used simplifier rules: ⊦ m < n ↔ ¬ n ≤ m; (ss)
| # lim(⌜σf⌝ ) = ∞, # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n0 + # x) = σf(n1)(n0), lim(⌜σf⌝ )(n0) = σf(n2)(n0), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n), ⌜n0⌝ + ⌜1⌝ + # σ0 = # σf(n1), (⌜n0⌝ + ⌜1⌝ ) + # σ1 = # σf(n2), σf(n1)(n0) ≠ σf(n2)(n0), mon(⌜σf⌝ ), n2 ≤ n1, ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n1. ¬ ⌜n0⌝ + # σ < ⌜n1⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n1) = σf(n)(n1), ∀ n2. ¬ ⌜n0⌝ + ⌜# x⌝ + # σ0 < ⌜n2⌝ → ((lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n0 + 1 + # x) + σ0)(n2) = (⌜x⌝ + σf(n1))(n2) ⊦ |
mon(σσ), m ≤ n, ⌜n⌝ < # σσ ⊦ σσ(m) ⊑ σσ(n)
# lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, # lim(⌜σf⌝ ) = ∞, lim(⌜σf⌝ )(n0) = σf(n2)(n0), lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n0 + # x) = σf(n1)(n0), (⌜n0⌝ + ⌜1⌝ ) + # σ1 = # σf(n2), ⌜n0⌝ + ⌜1⌝ + # σ0 = # σf(n1), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n), σf(n1)(n0) ≠ σf(n2)(n0), mon(⌜σf⌝ ), n2 ≤ n1, ⌜σf⌝ (n2) ⊑ ⌜σf⌝ (n1), ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n1. ¬ ⌜n0⌝ + # σ < ⌜n1⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n1) = σf(n)(n1), ∀ n2. ¬ ⌜n0⌝ + ⌜# x⌝ + # σ0 < ⌜n2⌝ → ((lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n0 + 1 + # x) + σ0)(n2) = (⌜x⌝ + σf(n1))(n2) ⊦
Used simplifier rules: ⊦ # ⌜nf⌝ = ∞; (s) ⊦ ⌜m⌝ < ∞; (s) Used terms: ⌜σf⌝ , n2, n1
| mon(σσ), m ≤ n, ⌜n⌝ < # σσ ⊦ σσ(m) ⊑ σσ(n) |
| # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, # lim(⌜σf⌝ ) = ∞, lim(⌜σf⌝ )(n0) = σf(n2)(n0), lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n0 + # x) = σf(n1)(n0), (⌜n0⌝ + ⌜1⌝ ) + # σ1 = # σf(n2), ⌜n0⌝ + ⌜1⌝ + # σ0 = # σf(n1), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n), σf(n1)(n0) ≠ σf(n2)(n0), mon(⌜σf⌝ ), n2 ≤ n1, ⌜σf⌝ (n2) ⊑ ⌜σf⌝ (n1), ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n1. ¬ ⌜n0⌝ + # σ < ⌜n1⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n1) = σf(n)(n1), ∀ n2. ¬ ⌜n0⌝ + ⌜# x⌝ + # σ0 < ⌜n2⌝ → ((lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n0 + 1 + # x) + σ0)(n2) = (⌜x⌝ + σf(n1))(n2) ⊦ |
# lim(⌜σf⌝ ) = ∞, # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n0 + # x) = σf(n1)(n0), lim(⌜σf⌝ )(n0) = σf(n2)(n0), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n), ⌜n0⌝ + ⌜1⌝ + # σ0 = # σf(n1), (⌜n0⌝ + ⌜1⌝ ) + # σ1 = # σf(n2), σf(n2) + σ2 = σf(n1), σf(n1)(n0) ≠ σf(n2)(n0), mon(⌜σf⌝ ), n2 ≤ n1, ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n1. ¬ ⌜n0⌝ + # σ < ⌜n1⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n1) = σf(n)(n1), ∀ n2. ¬ ⌜n0⌝ + ⌜# x⌝ + # σ0 < ⌜n2⌝ → ((lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n0 + 1 + # x) + σ0)(n2) = (⌜x⌝ + σf(n1))(n2) ⊦
Used simplifier rules: ⊦ σ1 ⊑ σ2 ↔ (∃ σ. σ1 + σ = σ2); (ls) ⊦ ⌜nf⌝ (n) = nf(n); (s)
| # lim(⌜σf⌝ ) = ∞, # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n0 + # x) = σf(n1)(n0), lim(⌜σf⌝ )(n0) = σf(n2)(n0), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n), ⌜n0⌝ + ⌜1⌝ + # σ0 = # σf(n1), (⌜n0⌝ + ⌜1⌝ ) + # σ1 = # σf(n2), σf(n2) + σ2 = σf(n1), σf(n1)(n0) ≠ σf(n2)(n0), mon(⌜σf⌝ ), n2 ≤ n1, ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n1. ¬ ⌜n0⌝ + # σ < ⌜n1⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n1) = σf(n)(n1), ∀ n2. ¬ ⌜n0⌝ + ⌜# x⌝ + # σ0 < ⌜n2⌝ → ((lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n0 + 1 + # x) + σ0)(n2) = (⌜x⌝ + σf(n1))(n2) ⊦ |
⊦ σ0 = σ1 ↔ # σ0 = # σ1 ∧ (∀ n. ⌜n⌝ < # σ0 → σ0(n) = σ1(n))
#(σf(n2) + σ2) = # σf(n1), # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, # lim(⌜σf⌝ ) = ∞, lim(⌜σf⌝ )(n0) = σf(n2)(n0), lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n0 + # x) = σf(n1)(n0), (⌜n0⌝ + ⌜1⌝ ) + # σ1 = # σf(n2), ⌜n0⌝ + ⌜1⌝ + # σ0 = # σf(n1), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n), σf(n1)(n0) ≠ σf(n2)(n0), mon(⌜σf⌝ ), n2 ≤ n1, ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n. ⌜n⌝ < #(σf(n2) + σ2) → (σf(n2) + σ2)(n) = σf(n1)(n), ∀ n1. ¬ ⌜n0⌝ + # σ < ⌜n1⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n1) = σf(n)(n1), ∀ n2. ¬ ⌜n0⌝ + ⌜# x⌝ + # σ0 < ⌜n2⌝ → ((lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n0 + 1 + # x) + σ0)(n2) = (⌜x⌝ + σf(n1))(n2) ⊦
Used terms: σf(n2) + σ2, σf(n1)
| ⊦ σ0 = σ1 ↔ # σ0 = # σ1 ∧ (∀ n. ⌜n⌝ < # σ0 → σ0(n) = σ1(n)) |
| #(σf(n2) + σ2) = # σf(n1), # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, # lim(⌜σf⌝ ) = ∞, lim(⌜σf⌝ )(n0) = σf(n2)(n0), lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n0 + # x) = σf(n1)(n0), (⌜n0⌝ + ⌜1⌝ ) + # σ1 = # σf(n2), ⌜n0⌝ + ⌜1⌝ + # σ0 = # σf(n1), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n), σf(n1)(n0) ≠ σf(n2)(n0), mon(⌜σf⌝ ), n2 ≤ n1, ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n. ⌜n⌝ < #(σf(n2) + σ2) → (σf(n2) + σ2)(n) = σf(n1)(n), ∀ n1. ¬ ⌜n0⌝ + # σ < ⌜n1⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n1) = σf(n)(n1), ∀ n2. ¬ ⌜n0⌝ + ⌜# x⌝ + # σ0 < ⌜n2⌝ → ((lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n0 + 1 + # x) + σ0)(n2) = (⌜x⌝ + σf(n1))(n2) ⊦ |
# lim(⌜σf⌝ ) = ∞, # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, # σf(n2) + # σ2 = # σf(n1), lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n0 + # x) = σf(n1)(n0), lim(⌜σf⌝ )(n0) = σf(n2)(n0), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n), ⌜n0⌝ + ⌜1⌝ + # σ0 = # σf(n1), (⌜n0⌝ + ⌜1⌝ ) + # σ1 = # σf(n2), σf(n1)(n0) ≠ σf(n2)(n0), mon(⌜σf⌝ ), n2 ≤ n1, ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n1. ¬ ⌜n0⌝ + # σ < ⌜n1⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n1) = σf(n)(n1), ∀ n2. ¬ ⌜n0⌝ + ⌜# x⌝ + # σ0 < ⌜n2⌝ → ((lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n0 + 1 + # x) + σ0)(n2) = (⌜x⌝ + σf(n1))(n2), ∀ n3. ⌜n3⌝ < # σf(n1) → (σf(n2) + σ2)(n3) = σf(n1)(n3) ⊦
Used simplifier rules: append-assoc: ⊦ (σ + σ1) + σ2 = σ + σ1 + σ2; from specification stream ⊦ #(σ + σ1) = # σ + # σ1; (s)
| # lim(⌜σf⌝ ) = ∞, # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, # σf(n2) + # σ2 = # σf(n1), lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n0 + # x) = σf(n1)(n0), lim(⌜σf⌝ )(n0) = σf(n2)(n0), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n), ⌜n0⌝ + ⌜1⌝ + # σ0 = # σf(n1), (⌜n0⌝ + ⌜1⌝ ) + # σ1 = # σf(n2), σf(n1)(n0) ≠ σf(n2)(n0), mon(⌜σf⌝ ), n2 ≤ n1, ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n1. ¬ ⌜n0⌝ + # σ < ⌜n1⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n1) = σf(n)(n1), ∀ n2. ¬ ⌜n0⌝ + ⌜# x⌝ + # σ0 < ⌜n2⌝ → ((lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n0 + 1 + # x) + σ0)(n2) = (⌜x⌝ + σf(n1))(n2), ∀ n3. ⌜n3⌝ < # σf(n1) → (σf(n2) + σ2)(n3) = σf(n1)(n3) ⊦ |
# σf(n2) + # σ2 = # σf(n1), # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, # lim(⌜σf⌝ ) = ∞, lim(⌜σf⌝ )(n0) = σf(n2)(n0), lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n0 + # x) = σf(n1)(n0), (⌜n0⌝ + ⌜1⌝ ) + # σ1 = # σf(n2), ⌜n0⌝ + ⌜1⌝ + # σ0 = # σf(n1), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n), σf(n1)(n0) ≠ σf(n2)(n0), mon(⌜σf⌝ ), n2 ≤ n1, ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ⌜n0⌝ < # σf(n1) → (σf(n2) + σ2)(n0) = σf(n1)(n0), ∀ n1. ¬ ⌜n0⌝ + # σ < ⌜n1⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n1) = σf(n)(n1), ∀ n2. ¬ ⌜n0⌝ + ⌜# x⌝ + # σ0 < ⌜n2⌝ → ((lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n0 + 1 + # x) + σ0)(n2) = (⌜x⌝ + σf(n1))(n2) ⊦
Used terms: n0
| # σf(n2) + # σ2 = # σf(n1), # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, # lim(⌜σf⌝ ) = ∞, lim(⌜σf⌝ )(n0) = σf(n2)(n0), lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n0 + # x) = σf(n1)(n0), (⌜n0⌝ + ⌜1⌝ ) + # σ1 = # σf(n2), ⌜n0⌝ + ⌜1⌝ + # σ0 = # σf(n1), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n), σf(n1)(n0) ≠ σf(n2)(n0), mon(⌜σf⌝ ), n2 ≤ n1, ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ⌜n0⌝ < # σf(n1) → (σf(n2) + σ2)(n0) = σf(n1)(n0), ∀ n1. ¬ ⌜n0⌝ + # σ < ⌜n1⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n1) = σf(n)(n1), ∀ n2. ¬ ⌜n0⌝ + ⌜# x⌝ + # σ0 < ⌜n2⌝ → ((lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n0 + 1 + # x) + σ0)(n2) = (⌜x⌝ + σf(n1))(n2) ⊦ |
# lim(⌜σf⌝ ) = ∞, # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, # σf(n2) + # σ2 = # σf(n1), lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n0 + # x) = σf(n1)(n0), lim(⌜σf⌝ )(n0) = σf(n2)(n0), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n), ⌜n0⌝ + ⌜1⌝ + # σ0 = # σf(n1), (⌜n0⌝ + ⌜1⌝ ) + # σ1 = # σf(n2), σf(n1)(n0) ≠ σf(n2)(n0), mon(⌜σf⌝ ), n2 ≤ n1, ¬ ⌜n0⌝ < # σf(n1), ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n1. ¬ ⌜n0⌝ + # σ < ⌜n1⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n1) = σf(n)(n1), ∀ n2. ¬ ⌜n0⌝ + ⌜# x⌝ + # σ0 < ⌜n2⌝ → ((lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n0 + 1 + # x) + σ0)(n2) = (⌜x⌝ + σf(n1))(n2) ⊦
# lim(⌜σf⌝ ) = ∞, # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, # σf(n2) + # σ2 = # σf(n1), lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n0 + # x) = σf(n1)(n0), lim(⌜σf⌝ )(n0) = σf(n2)(n0), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n), ⌜n0⌝ + ⌜1⌝ + # σ0 = # σf(n1), (⌜n0⌝ + ⌜1⌝ ) + # σ1 = # σf(n2), (σf(n2) + σ2)(n0) = σf(n1)(n0), σf(n1)(n0) ≠ σf(n2)(n0), mon(⌜σf⌝ ), n2 ≤ n1, ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n1. ¬ ⌜n0⌝ + # σ < ⌜n1⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n1) = σf(n)(n1), ∀ n2. ¬ ⌜n0⌝ + ⌜# x⌝ + # σ0 < ⌜n2⌝ → ((lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n0 + 1 + # x) + σ0)(n2) = (⌜x⌝ + σf(n1))(n2) ⊦
| # lim(⌜σf⌝ ) = ∞, # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, # σf(n2) + # σ2 = # σf(n1), lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n0 + # x) = σf(n1)(n0), lim(⌜σf⌝ )(n0) = σf(n2)(n0), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n), ⌜n0⌝ + ⌜1⌝ + # σ0 = # σf(n1), (⌜n0⌝ + ⌜1⌝ ) + # σ1 = # σf(n2), σf(n1)(n0) ≠ σf(n2)(n0), mon(⌜σf⌝ ), n2 ≤ n1, ¬ ⌜n0⌝ < # σf(n1), ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n1. ¬ ⌜n0⌝ + # σ < ⌜n1⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n1) = σf(n)(n1), ∀ n2. ¬ ⌜n0⌝ + ⌜# x⌝ + # σ0 < ⌜n2⌝ → ((lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n0 + 1 + # x) + σ0)(n2) = (⌜x⌝ + σf(n1))(n2) ⊦ |
Used simplifier rules: ⊦ ⌜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. ⌜x⌝ + σf(n)⌝ ) = ∞, # σf(n2) + # σ2 = # σf(n1), lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n0 + # x) = σf(n1)(n0), lim(⌜σf⌝ )(n0) = σf(n2)(n0), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n), ⌜n0⌝ + ⌜1⌝ + # σ0 = # σf(n1), (⌜n0⌝ + ⌜1⌝ ) + # σ1 = # σf(n2), (σf(n2) + σ2)(n0) = σf(n1)(n0), σf(n1)(n0) ≠ σf(n2)(n0), mon(⌜σf⌝ ), n2 ≤ n1, ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n1. ¬ ⌜n0⌝ + # σ < ⌜n1⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n1) = σf(n)(n1), ∀ n2. ¬ ⌜n0⌝ + ⌜# x⌝ + # σ0 < ⌜n2⌝ → ((lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n0 + 1 + # x) + σ0)(n2) = (⌜x⌝ + σf(n1))(n2) ⊦ |
⊦ ⌜m⌝ < # σ → (σ + σ1)(m) = σ(m)
# σf(n2) + # σ2 = # σf(n1), # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, # lim(⌜σf⌝ ) = ∞, lim(⌜σf⌝ )(n0) = σf(n2)(n0), lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n0 + # x) = σf(n1)(n0), (⌜n0⌝ + ⌜1⌝ ) + # σ1 = # σf(n2), ⌜n0⌝ + ⌜1⌝ + # σ0 = # σf(n1), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n), (σf(n2) + σ2)(n0) = σf(n1)(n0), σf(n1)(n0) ≠ σf(n2)(n0), mon(⌜σf⌝ ), n2 ≤ n1, ¬ ⌜n0⌝ < # σf(n2), ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n1. ¬ ⌜n0⌝ + # σ < ⌜n1⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n1) = σf(n)(n1), ∀ n2. ¬ ⌜n0⌝ + ⌜# x⌝ + # σ0 < ⌜n2⌝ → ((lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n0 + 1 + # x) + σ0)(n2) = (⌜x⌝ + σf(n1))(n2) ⊦
Used terms: σf(n2), σ2, n0
| ⊦ ⌜m⌝ < # σ → (σ + σ1)(m) = σ(m) |
| # σf(n2) + # σ2 = # σf(n1), # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, # lim(⌜σf⌝ ) = ∞, lim(⌜σf⌝ )(n0) = σf(n2)(n0), lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n0 + # x) = σf(n1)(n0), (⌜n0⌝ + ⌜1⌝ ) + # σ1 = # σf(n2), ⌜n0⌝ + ⌜1⌝ + # σ0 = # σf(n1), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n), (σf(n2) + σ2)(n0) = σf(n1)(n0), σf(n1)(n0) ≠ σf(n2)(n0), mon(⌜σf⌝ ), n2 ≤ n1, ¬ ⌜n0⌝ < # σf(n2), ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n1. ¬ ⌜n0⌝ + # σ < ⌜n1⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n1) = σf(n)(n1), ∀ n2. ¬ ⌜n0⌝ + ⌜# x⌝ + # σ0 < ⌜n2⌝ → ((lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n0 + 1 + # x) + σ0)(n2) = (⌜x⌝ + σf(n1))(n2) ⊦ |
# lim(⌜σf⌝ ) = ∞, # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, # σf(n2) + # σ2 = # σf(n1), lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n0 + # x) = σf(n1)(n0), lim(⌜σf⌝ )(n0) = σf(n2)(n0), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n), ⌜n0⌝ + ⌜1⌝ + # σ0 = # σf(n1), (⌜n0⌝ + ⌜1⌝ ) + # σ1 = # σf(n2), σ2(n0 - (# σf(n2)).n) = σf(n1)(n0), σf(n1)(n0) ≠ σf(n2)(n0), mon(⌜σf⌝ ), n2 ≤ n1, ¬ ⌜n0⌝ < # σf(n2), ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n1. ¬ ⌜n0⌝ + # σ < ⌜n1⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n1) = σf(n)(n1), ∀ n2. ¬ ⌜n0⌝ + ⌜# x⌝ + # σ0 < ⌜n2⌝ → ((lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n0 + 1 + # x) + σ0)(n2) = (⌜x⌝ + σf(n1))(n2) ⊦
Used simplifier rules: append-assoc: ⊦ (σ + σ1) + σ2 = σ + σ1 + σ2; from specification stream ⊦ ¬ ⌜m⌝ < # σ → (σ + σ1)(m) = σ1(m - (# σ).n); (s)
| # lim(⌜σf⌝ ) = ∞, # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, # σf(n2) + # σ2 = # σf(n1), lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n0 + # x) = σf(n1)(n0), lim(⌜σf⌝ )(n0) = σf(n2)(n0), (⌜n0⌝ + ⌜1⌝ ) + # σ = # σf(n), ⌜n0⌝ + ⌜1⌝ + # σ0 = # σf(n1), (⌜n0⌝ + ⌜1⌝ ) + # σ1 = # σf(n2), σ2(n0 - (# σf(n2)).n) = σf(n1)(n0), σf(n1)(n0) ≠ σf(n2)(n0), mon(⌜σf⌝ ), n2 ≤ n1, ¬ ⌜n0⌝ < # σf(n2), ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n1. ¬ ⌜n0⌝ + # σ < ⌜n1⌝ → ((lim(⌜σf⌝ ) to n0 + 1) + σ)(n1) = σf(n)(n1), ∀ n2. ¬ ⌜n0⌝ + ⌜# x⌝ + # σ0 < ⌜n2⌝ → ((lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n0 + 1 + # x) + σ0)(n2) = (⌜x⌝ + σf(n1))(n2) ⊦ |
Used simplifier rules: ⊦ ⌜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(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, # lim(⌜σf⌝ ) = ∞, lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n) ≠ ⌜x⌝ (n), mon(⌜σf⌝ ), ⌜n⌝ < # ⌜x⌝ , ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ⊦ |
# lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, # lim(⌜σf⌝ ) = ∞, lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n) ≠ x(n), x ≠ [], mon(⌜σf⌝ ), n < # x, ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ⊦
Used simplifier rules: ⊦ # x = 0 ↔ x = []; (s) f: ⊦ m < n → n ≠ 0; (forward) from specification nat-basic ⊦ ⌜m⌝ < ⌜n⌝ ↔ m < n; (s) ⊦ # ⌜x⌝ = ⌜# x⌝ ; (s) ⊦ ⌜x⌝ (n) = x(n); (s)
| # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, # lim(⌜σf⌝ ) = ∞, lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n) ≠ x(n), x ≠ [], mon(⌜σf⌝ ), n < # x, ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ⊦ |
# lim(⌜σf⌝ ) = ∞, # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n) ≠ x(n), x ≠ [], mon(⌜σf⌝ ), n < # x, ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∃ n0, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n + 1 + # x) + σ = ⌜x⌝ + σf(n0) ⊦
Used terms: n + 1 + # x
| # lim(⌜σf⌝ ) = ∞, # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n) ≠ x(n), x ≠ [], mon(⌜σf⌝ ), n < # x, ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∃ n0, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n + 1 + # x) + σ = ⌜x⌝ + σf(n0) ⊦ |
# lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, # lim(⌜σf⌝ ) = ∞, (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n + 1 + # x) + σ = ⌜x⌝ + σf(n0), lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n) ≠ x(n), x ≠ [], mon(⌜σf⌝ ), n < # x, ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ⊦
| # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, # lim(⌜σf⌝ ) = ∞, (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n + 1 + # x) + σ = ⌜x⌝ + σf(n0), lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n) ≠ x(n), x ≠ [], mon(⌜σf⌝ ), n < # x, ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ⊦ |
⊦ σ0 = σ1 ↔ # σ0 = # σ1 ∧ (∀ n. ⌜n⌝ < # σ0 → σ0(n) = σ1(n))
#((lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n + 1 + # x) + σ) = #(⌜x⌝ + σf(n0)), # lim(⌜σf⌝ ) = ∞, # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n) ≠ x(n), x ≠ [], mon(⌜σf⌝ ), n < # x, ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n1. ⌜n1⌝ < #((lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n + 1 + # x) + σ) → ((lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n + 1 + # x) + σ)(n1) = (⌜x⌝ + σf(n0))(n1) ⊦
Used terms: (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n + 1 + # x) + σ, ⌜x⌝ + σf(n0)
| ⊦ σ0 = σ1 ↔ # σ0 = # σ1 ∧ (∀ n. ⌜n⌝ < # σ0 → σ0(n) = σ1(n)) |
| #((lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n + 1 + # x) + σ) = #(⌜x⌝ + σf(n0)), # lim(⌜σf⌝ ) = ∞, # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n) ≠ x(n), x ≠ [], mon(⌜σf⌝ ), n < # x, ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n1. ⌜n1⌝ < #((lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n + 1 + # x) + σ) → ((lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n + 1 + # x) + σ)(n1) = (⌜x⌝ + σf(n0))(n1) ⊦ |
# lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, # lim(⌜σf⌝ ) = ∞, ⌜n⌝ + ⌜1⌝ + # σ = # σf(n0), lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n) ≠ x(n), x ≠ [], mon(⌜σf⌝ ), n < # x, ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n1. ¬ ⌜n⌝ + ⌜# x⌝ + # σ < ⌜n1⌝ → ((lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n + 1 + # x) + σ)(n1) = (⌜x⌝ + σf(n0))(n1) ⊦
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∞; (s) ⊦ #(σ + σ1) = # σ + # σ1; (s) ⊦ ⌜n⌝ + n∞1 = ⌜n⌝ + n∞2 ↔ n∞1 = n∞2; (s) ⊦ # ⌜x⌝ = ⌜# x⌝ ; (s)
| # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, # lim(⌜σf⌝ ) = ∞, ⌜n⌝ + ⌜1⌝ + # σ = # σf(n0), lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n) ≠ x(n), x ≠ [], mon(⌜σf⌝ ), n < # x, ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n1. ¬ ⌜n⌝ + ⌜# x⌝ + # σ < ⌜n1⌝ → ((lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n + 1 + # x) + σ)(n1) = (⌜x⌝ + σf(n0))(n1) ⊦ |
# lim(⌜σf⌝ ) = ∞, # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, ⌜n⌝ + ⌜1⌝ + # σ = # σf(n0), lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n) ≠ x(n), x ≠ [], mon(⌜σf⌝ ), n < # x, ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ¬ ⌜n⌝ + ⌜# x⌝ + # σ < ⌜n⌝ → ((lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n + 1 + # x) + σ)(n) = (⌜x⌝ + σf(n0))(n) ⊦
Used terms: n
| # lim(⌜σf⌝ ) = ∞, # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, ⌜n⌝ + ⌜1⌝ + # σ = # σf(n0), lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n) ≠ x(n), x ≠ [], mon(⌜σf⌝ ), n < # x, ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ¬ ⌜n⌝ + ⌜# x⌝ + # σ < ⌜n⌝ → ((lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n + 1 + # x) + σ)(n) = (⌜x⌝ + σf(n0))(n) ⊦ |
# lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, # lim(⌜σf⌝ ) = ∞, ((lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n + 1 + # x) + σ)(n) = (⌜x⌝ + σf(n0))(n), ⌜n⌝ + ⌜1⌝ + # σ = # σf(n0), lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n) ≠ x(n), x ≠ [], mon(⌜σf⌝ ), n < # x, ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ⊦
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 ⊦ m < n → (⌜n⌝ + n∞ < ⌜m⌝ ↔ false); (s)
| # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, # lim(⌜σf⌝ ) = ∞, ((lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n + 1 + # x) + σ)(n) = (⌜x⌝ + σf(n0))(n), ⌜n⌝ + ⌜1⌝ + # σ = # σf(n0), lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n) ≠ x(n), x ≠ [], mon(⌜σf⌝ ), n < # x, ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ⊦ |
⊦ ⌜m⌝ < # σ → (σ + σ1)(m) = σ(m)
# lim(⌜σf⌝ ) = ∞, # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n + 1 + # x)(n) = (⌜x⌝ + σf(n0))(n), ⌜n⌝ + ⌜1⌝ + # σ = # σf(n0), lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n) ≠ x(n), x ≠ [], mon(⌜σf⌝ ), n < # x, ⌜n⌝ < #(lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n + 1 + # x), ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ) ⊦
Used simplifier rules: ⊦ ¬ ⌜m⌝ < # σ → (σ + σ1)(m) = σ1(m - (# σ).n); (s) ⊦ ⌜m⌝ + n∞ = ∞ ↔ 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∞; (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 ⊦ m < n → ⌜m⌝ < ⌜n⌝ + n∞0; (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. ⌜x⌝ + σf(n)⌝ ) to n + 1 + # x, σ, n
| ⊦ ⌜m⌝ < # σ → (σ + σ1)(m) = σ(m) |
| # lim(⌜σf⌝ ) = ∞, # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n + 1 + # x)(n) = (⌜x⌝ + σf(n0))(n), ⌜n⌝ + ⌜1⌝ + # σ = # σf(n0), lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n) ≠ x(n), x ≠ [], mon(⌜σf⌝ ), n < # x, ⌜n⌝ < #(lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n + 1 + # x), ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ) ⊦ |
# lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, # lim(⌜σf⌝ ) = ∞, lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n) = (⌜x⌝ + σf(n0))(n), ⌜n⌝ + ⌜1⌝ + # σ = # σf(n0), (⌜x⌝ + σf(n0))(n) ≠ x(n), x ≠ [], mon(⌜σf⌝ ), n < # x, ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ⊦
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 ⊦ m < n → ⌜m⌝ < ⌜n⌝ + n∞0; (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∞; (s) m < n, ¬ # σ < ⌜n⌝ ⊦ (σ to n)(m) = σ(m); (s) ⊦ ¬ m + n < m; (s) ⊦ m < n + 1 ↔ ¬ n < m; (s)
| # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, # lim(⌜σf⌝ ) = ∞, lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n) = (⌜x⌝ + σf(n0))(n), ⌜n⌝ + ⌜1⌝ + # σ = # σf(n0), (⌜x⌝ + σf(n0))(n) ≠ x(n), x ≠ [], mon(⌜σf⌝ ), n < # x, ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ⊦ |
⊦ ⌜m⌝ < # σ → (σ + σ1)(m) = σ(m)
Used simplifier rules: ⊦ ⌜x⌝ (n) = x(n); (s) ⊦ ¬ ⌜m⌝ < # σ → (σ + σ1)(m) = σ1(m - (# σ).n); (s) ⊦ ⌜n⌝ .n = n; (s) append-assoc: ⊦ (σ + σ1) + σ2 = σ + σ1 + σ2; from specification stream ⊦ # ⌜x⌝ = ⌜# x⌝ ; (s) ⊦ ⌜m⌝ < ⌜n⌝ ↔ m < n; (s) ⊦ m < n ↔ ¬ n ≤ m; (ss) ⊦ m < n → (n ≤ m ↔ false); (s) Used terms: ⌜x⌝ , σf(n0), n
| ⊦ ⌜m⌝ < # σ → (σ + σ1)(m) = σ(m) |
| # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, # lim(⌜σf⌝ ) ≠ ∞, lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ≠ ⌜x⌝ + lim(⌜σf⌝ ), mon(⌜σf⌝ ), ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ m. ¬ # lim(⌜σf⌝ ) < ⌜m⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ⊦ |
⊦ n∞ = ∞ ↔ ¬(∃ n. n∞ = ⌜n⌝ )
# lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ≠ ⌜x⌝ + lim(⌜σf⌝ ), mon(⌜σf⌝ ), ∀ m. ¬ # lim(⌜σf⌝ ) < ⌜m⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n)), ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∃ n. # lim(⌜σf⌝ ) = ⌜n⌝ ⊦
Used terms: # lim(⌜σf⌝ )
| ⊦ n∞ = ∞ ↔ ¬(∃ n. n∞ = ⌜n⌝ ) |
| # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ≠ ⌜x⌝ + lim(⌜σf⌝ ), mon(⌜σf⌝ ), ∀ m. ¬ # lim(⌜σf⌝ ) < ⌜m⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n)), ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∃ n. # lim(⌜σf⌝ ) = ⌜n⌝ ⊦ |
# lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, # lim(⌜σf⌝ ) = ⌜n⌝ , lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ≠ ⌜x⌝ + lim(⌜σf⌝ ), mon(⌜σf⌝ ), ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ m. ¬ n < m → (∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n)), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ) ⊦
Used simplifier rules: ⊦ ⌜m⌝ < ⌜n⌝ ↔ m < n; (s)
| # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, # lim(⌜σf⌝ ) = ⌜n⌝ , lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ≠ ⌜x⌝ + lim(⌜σf⌝ ), mon(⌜σf⌝ ), ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ m. ¬ n < m → (∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n)), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ) ⊦ |
# lim(⌜σf⌝ ) = ⌜n⌝ , # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ≠ ⌜x⌝ + lim(⌜σf⌝ ), mon(⌜σf⌝ ), ∀ m. ¬ n < m → (∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n)), ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∃ n0, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n + 1 + # x) + σ = ⌜x⌝ + σf(n0) ⊦
Used terms: n + 1 + # x
| # lim(⌜σf⌝ ) = ⌜n⌝ , # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ≠ ⌜x⌝ + lim(⌜σf⌝ ), mon(⌜σf⌝ ), ∀ m. ¬ n < m → (∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n)), ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∃ n0, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n + 1 + # x) + σ = ⌜x⌝ + σf(n0) ⊦ |
# lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, # lim(⌜σf⌝ ) = ⌜n⌝ , (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n + 1 + # x) + σ = ⌜x⌝ + σf(n0), lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ≠ ⌜x⌝ + lim(⌜σf⌝ ), mon(⌜σf⌝ ), ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ m. ¬ n < m → (∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n)), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ) ⊦
| # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, # lim(⌜σf⌝ ) = ⌜n⌝ , (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n + 1 + # x) + σ = ⌜x⌝ + σf(n0), lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ≠ ⌜x⌝ + lim(⌜σf⌝ ), mon(⌜σf⌝ ), ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ m. ¬ n < m → (∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n)), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ) ⊦ |
# lim(⌜σf⌝ ) = ⌜n⌝ , # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n + 1 + # x) + σ = ⌜x⌝ + σf(n0), lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ≠ ⌜x⌝ + lim(⌜σf⌝ ), mon(⌜σf⌝ ), ∀ m. ¬ n < m → (∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n)), ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∃ σ. σf(n0) + σ = lim(⌜σf⌝ ) ⊦
Used terms: n0
| # lim(⌜σf⌝ ) = ⌜n⌝ , # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n + 1 + # x) + σ = ⌜x⌝ + σf(n0), lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ≠ ⌜x⌝ + lim(⌜σf⌝ ), mon(⌜σf⌝ ), ∀ m. ¬ n < m → (∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n)), ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∃ σ. σf(n0) + σ = lim(⌜σf⌝ ) ⊦ |
# lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, # σf(n0) + # σ0 = ⌜n⌝ , (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n + 1 + # x) + σ = ⌜x⌝ + σf(n0), σf(n0) + σ0 = lim(⌜σf⌝ ), lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ≠ ⌜x⌝ + σf(n0) + σ0, mon(⌜σf⌝ ), ∀ m. ¬ n < m → (∃ n, σ. (σf(n0) + σ0 to m) + σ = σf(n)), ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ n. ∃ σ. σf(n) + σ = σf(n0) + σ0, ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ⊦
Used simplifier rules: append-assoc: ⊦ (σ + σ1) + σ2 = σ + σ1 + σ2; from specification stream ⊦ #(σ + σ1) = # σ + # σ1; (s)
| # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, # σf(n0) + # σ0 = ⌜n⌝ , (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n + 1 + # x) + σ = ⌜x⌝ + σf(n0), σf(n0) + σ0 = lim(⌜σf⌝ ), lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ≠ ⌜x⌝ + σf(n0) + σ0, mon(⌜σf⌝ ), ∀ m. ¬ n < m → (∃ n, σ. (σf(n0) + σ0 to m) + σ = σf(n)), ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ n. ∃ σ. σf(n) + σ = σf(n0) + σ0, ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ⊦ |
# σf(n0) + # σ0 = ⌜n⌝ , # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n + 1 + # x) + σ = ⌜x⌝ + σf(n0), ⌜x0⌝ = σf(n0), σf(n0) + σ0 = lim(⌜σf⌝ ), lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ≠ ⌜x⌝ + σf(n0) + σ0, mon(⌜σf⌝ ), ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ m. ¬ n < m → (∃ n, σ. (σf(n0) + σ0 to m) + σ = σf(n)), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n. ∃ σ. σf(n) + σ = σf(n0) + σ0 ⊦
Used simplifier rules: Stream freely generated by ⌝, ⌝; ⊦ # ⌜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 ⊦ ⌜n⌝ ≠ ∞; (s)
| # σf(n0) + # σ0 = ⌜n⌝ , # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n + 1 + # x) + σ = ⌜x⌝ + σf(n0), ⌜x0⌝ = σf(n0), σf(n0) + σ0 = lim(⌜σf⌝ ), lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ≠ ⌜x⌝ + σf(n0) + σ0, mon(⌜σf⌝ ), ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ m. ¬ n < m → (∃ n, σ. (σf(n0) + σ0 to m) + σ = σf(n)), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n. ∃ σ. σf(n) + σ = σf(n0) + σ0 ⊦ |
# lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, ⌜# x0⌝ + # σ0 = ⌜n⌝ , (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n + 1 + # x) + σ = ⌜x⌝ + ⌜x0⌝ , ⌜x0⌝ = σf(n0), ⌜x0⌝ + σ0 = lim(⌜σf⌝ ), lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ≠ ⌜x⌝ + ⌜x0⌝ + σ0, mon(⌜σf⌝ ), ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ m. ¬ n < m → (∃ n, σ. (⌜x0⌝ + σ0 to m) + σ = σf(n)), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n. ∃ σ. σf(n) + σ = ⌜x0⌝ + σ0 ⊦
Used simplifier rules: ⊦ # ⌜x⌝ = ⌜# x⌝ ; (s)
| # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, ⌜# x0⌝ + # σ0 = ⌜n⌝ , (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n + 1 + # x) + σ = ⌜x⌝ + ⌜x0⌝ , ⌜x0⌝ = σf(n0), ⌜x0⌝ + σ0 = lim(⌜σf⌝ ), lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ≠ ⌜x⌝ + ⌜x0⌝ + σ0, mon(⌜σf⌝ ), ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ m. ¬ n < m → (∃ n, σ. (⌜x0⌝ + σ0 to m) + σ = σf(n)), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n. ∃ σ. σf(n) + σ = ⌜x0⌝ + σ0 ⊦ |
⌜# x0⌝ + # σ0 = ⌜n⌝ , # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n + 1 + # x) + σ = ⌜x⌝ + ⌜x0⌝ , ⌜x0⌝ + σ0 = lim(⌜σf⌝ ), ⌜x0⌝ = σf(n0), σ0 = ⌜x1⌝ , lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ≠ ⌜x⌝ + ⌜x0⌝ + σ0, mon(⌜σf⌝ ), ∀ m. ¬ n < m → (∃ n, σ. (⌜x0⌝ + σ0 to m) + σ = σf(n)), ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ n. ∃ σ. σf(n) + σ = ⌜x0⌝ + σ0, ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ⊦
Used simplifier rules: Stream freely generated by ⌝, ⌝; ⊦ # ⌜nf⌝ = ∞; (s) ⊦ ⌜m⌝ + ∞ = ∞; (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 ⊦ ⌜n⌝ ≠ ∞; (s)
| ⌜# x0⌝ + # σ0 = ⌜n⌝ , # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n + 1 + # x) + σ = ⌜x⌝ + ⌜x0⌝ , ⌜x0⌝ + σ0 = lim(⌜σf⌝ ), ⌜x0⌝ = σf(n0), σ0 = ⌜x1⌝ , lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ≠ ⌜x⌝ + ⌜x0⌝ + σ0, mon(⌜σf⌝ ), ∀ m. ¬ n < m → (∃ n, σ. (⌜x0⌝ + σ0 to m) + σ = σf(n)), ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ n. ∃ σ. σf(n) + σ = ⌜x0⌝ + σ0, ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ⊦ |
# lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to (# x0 + # x1) + 1 + # x) + σ = ⌜x⌝ + ⌜x0⌝ , ⌜x0⌝ + ⌜x1⌝ = lim(⌜σf⌝ ), ⌜x0⌝ = σf(n0), lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ≠ ⌜x⌝ + ⌜x0⌝ + ⌜x1⌝ , mon(⌜σf⌝ ), ∀ m. ¬ # x0 + # x1 < m → (∃ n, σ. (⌜x0⌝ + ⌜x1⌝ to m) + σ = σf(n)), ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ n. ∃ σ. σf(n) + σ = ⌜x0⌝ + ⌜x1⌝ , ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ⊦
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)
| # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to (# x0 + # x1) + 1 + # x) + σ = ⌜x⌝ + ⌜x0⌝ , ⌜x0⌝ + ⌜x1⌝ = lim(⌜σf⌝ ), ⌜x0⌝ = σf(n0), lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ≠ ⌜x⌝ + ⌜x0⌝ + ⌜x1⌝ , mon(⌜σf⌝ ), ∀ m. ¬ # x0 + # x1 < m → (∃ n, σ. (⌜x0⌝ + ⌜x1⌝ to m) + σ = σf(n)), ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ n. ∃ σ. σf(n) + σ = ⌜x0⌝ + ⌜x1⌝ , ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ⊦ |
# lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to (# x0 + # x1) + 1 + # x) + σ = ⌜x⌝ + ⌜x0⌝ , ⌜x0⌝ = σf(n0), ⌜x0⌝ + ⌜x1⌝ = lim(⌜σf⌝ ), σ = ⌜x2⌝ , lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ≠ ⌜x⌝ + ⌜x0⌝ + ⌜x1⌝ , mon(⌜σf⌝ ), ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ m. ¬ # x0 + # x1 < m → (∃ n, σ. (⌜x0⌝ + ⌜x1⌝ to m) + σ = σf(n)), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n. ∃ σ. σf(n) + σ = ⌜x0⌝ + ⌜x1⌝ ⊦
Used simplifier rules: Stream freely generated by ⌝, ⌝; ⊦ σ0 + ⌜x⌝ = σ + ⌜nf0⌝ ↔ σ0 = σ + ⌜nf0⌝ ; (s) ⊦ ⌜x⌝ ≠ σ + ⌜nf0⌝ ; (s) append-assoc: ⊦ (σ + σ1) + σ2 = σ + σ1 + σ2; from specification stream
| # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to (# x0 + # x1) + 1 + # x) + σ = ⌜x⌝ + ⌜x0⌝ , ⌜x0⌝ = σf(n0), ⌜x0⌝ + ⌜x1⌝ = lim(⌜σf⌝ ), σ = ⌜x2⌝ , lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ≠ ⌜x⌝ + ⌜x0⌝ + ⌜x1⌝ , mon(⌜σf⌝ ), ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ m. ¬ # x0 + # x1 < m → (∃ n, σ. (⌜x0⌝ + ⌜x1⌝ to m) + σ = σf(n)), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n. ∃ σ. σf(n) + σ = ⌜x0⌝ + ⌜x1⌝ ⊦ |
# lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to (# x0 + # x1) + 1 + # x) + ⌜x2⌝ = ⌜x⌝ + ⌜x0⌝ , ⌜x0⌝ + ⌜x1⌝ = lim(⌜σf⌝ ), ⌜x0⌝ = σf(n0), lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ≠ ⌜x⌝ + ⌜x0⌝ + ⌜x1⌝ , mon(⌜σf⌝ ), ∀ m. ¬ # x0 + # x1 < m → (∃ n, σ. (⌜x0⌝ + ⌜x1⌝ to m) + σ = σf(n)), ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ n. ∃ σ. σf(n) + σ = ⌜x0⌝ + ⌜x1⌝ , ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ⊦
| # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ∞, (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to (# x0 + # x1) + 1 + # x) + ⌜x2⌝ = ⌜x⌝ + ⌜x0⌝ , ⌜x0⌝ + ⌜x1⌝ = lim(⌜σf⌝ ), ⌜x0⌝ = σf(n0), lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ≠ ⌜x⌝ + ⌜x0⌝ + ⌜x1⌝ , mon(⌜σf⌝ ), ∀ m. ¬ # x0 + # x1 < m → (∃ n, σ. (⌜x0⌝ + ⌜x1⌝ to m) + σ = σf(n)), ∀ m. ∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n), ∀ n. ∃ σ. σf(n) + σ = ⌜x0⌝ + ⌜x1⌝ , ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ⊦ |
⊦ σ0 = σ1 ↔ # σ0 = # σ1 ∧ (∀ n. ⌜n⌝ < # σ0 → σ0(n) = σ1(n))
Used simplifier rules: ⊦ ¬ ∞ < 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 ⊦ #(σ + σ1) = # σ + # σ1; (s) ⊦ # ⌜x⌝ = ⌜# x⌝ ; (s) append-assoc: ⊦ (σ + σ1) + σ2 = σ + σ1 + σ2; from specification stream ⊦ ⌜n⌝ + n∞1 = ⌜n⌝ + n∞2 ↔ n∞1 = n∞2; (s) ⊦ ⌜n⌝ + n∞ = ⌜n⌝ ↔ n∞ = ⌜0⌝ ; (s) ⊦ ⌜n⌝ + n∞ = ⌜0⌝ ↔ n∞ = ⌜0⌝ ∧ n = 0; (ws) ⊦ n < m → (⌜(* n)⌝ = ⌜(* m)⌝ + n∞2 ↔ false); (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. ⌜x⌝ + σf(n)⌝ ) to (# x0 + # x1) + 1 + # x) + ⌜x2⌝ , ⌜x⌝ + ⌜x0⌝
| ⊦ σ0 = σ1 ↔ # σ0 = # σ1 ∧ (∀ n. ⌜n⌝ < # σ0 → σ0(n) = σ1(n)) |
| # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ≠ ∞, lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ≠ ⌜x⌝ + lim(⌜σf⌝ ), mon(⌜σf⌝ ), ∀ m. ¬ # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) < ⌜m⌝ → (∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n)), ∀ m. ¬ # lim(⌜σf⌝ ) < ⌜m⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n)), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ) ⊦ |
⊦ n∞ = ∞ ↔ ¬(∃ n. n∞ = ⌜n⌝ )
lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ≠ ⌜x⌝ + lim(⌜σf⌝ ), mon(⌜σf⌝ ), ∀ m. ¬ # lim(⌜σf⌝ ) < ⌜m⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n)), ∀ m. ¬ # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) < ⌜m⌝ → (∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∃ n. # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ⌜n⌝ ⊦
Used terms: # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )
| ⊦ n∞ = ∞ ↔ ¬(∃ n. n∞ = ⌜n⌝ ) |
| lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ≠ ⌜x⌝ + lim(⌜σf⌝ ), mon(⌜σf⌝ ), ∀ m. ¬ # lim(⌜σf⌝ ) < ⌜m⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n)), ∀ m. ¬ # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) < ⌜m⌝ → (∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∃ n. # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ⌜n⌝ ⊦ |
# lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ⌜n⌝ , lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ≠ ⌜x⌝ + lim(⌜σf⌝ ), mon(⌜σf⌝ ), ∀ m. ¬ # lim(⌜σf⌝ ) < ⌜m⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n)), ∀ m. ¬ n < m → (∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ⊦
Used simplifier rules: ⊦ ⌜m⌝ < ⌜n⌝ ↔ m < n; (s)
| # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ⌜n⌝ , lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ≠ ⌜x⌝ + lim(⌜σf⌝ ), mon(⌜σf⌝ ), ∀ m. ¬ # lim(⌜σf⌝ ) < ⌜m⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n)), ∀ m. ¬ n < m → (∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ⊦ |
# lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ⌜n⌝ , # lim(⌜σf⌝ ) = ∞, lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ≠ ⌜x⌝ + lim(⌜σf⌝ ), mon(⌜σf⌝ ), ∀ m. ¬ n < m → (∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n)), ∀ m. ¬ # lim(⌜σf⌝ ) < ⌜m⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n)), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ) ⊦
# lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ⌜n⌝ , # lim(⌜σf⌝ ) ≠ ∞, lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ≠ ⌜x⌝ + lim(⌜σf⌝ ), mon(⌜σf⌝ ), ∀ m. ¬ n < m → (∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n)), ∀ m. ¬ # lim(⌜σf⌝ ) < ⌜m⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n)), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ) ⊦
Used formulas: # lim(⌜σf⌝ ) = ∞
| # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ⌜n⌝ , # lim(⌜σf⌝ ) = ∞, lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ≠ ⌜x⌝ + lim(⌜σf⌝ ), mon(⌜σf⌝ ), ∀ m. ¬ n < m → (∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n)), ∀ m. ¬ # lim(⌜σf⌝ ) < ⌜m⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n)), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ) ⊦ |
# lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ⌜n⌝ , # lim(⌜σf⌝ ) = ∞, lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ≠ ⌜x⌝ + lim(⌜σf⌝ ), mon(⌜σf⌝ ), ∀ m. ¬ n < m → (∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n)), ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ) ⊦
Used simplifier rules: ⊦ ¬ ∞ < n∞; (s)
| # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ⌜n⌝ , # lim(⌜σf⌝ ) = ∞, lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ≠ ⌜x⌝ + lim(⌜σf⌝ ), mon(⌜σf⌝ ), ∀ m. ¬ n < m → (∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n)), ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ) ⊦ |
# lim(⌜σf⌝ ) = ∞, # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ⌜n⌝ , lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ≠ ⌜x⌝ + lim(⌜σf⌝ ), mon(⌜σf⌝ ), ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ m. ¬ n < m → (∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∃ n0, σ. (lim(⌜σf⌝ ) to n + # x + 1) + σ = σf(n0) ⊦
Used terms: n + # x + 1
| # lim(⌜σf⌝ ) = ∞, # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ⌜n⌝ , lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ≠ ⌜x⌝ + lim(⌜σf⌝ ), mon(⌜σf⌝ ), ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ m. ¬ n < m → (∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∃ n0, σ. (lim(⌜σf⌝ ) to n + # x + 1) + σ = σf(n0) ⊦ |
# lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ⌜n⌝ , # lim(⌜σf⌝ ) = ∞, (lim(⌜σf⌝ ) to n + # x + 1) + σ = σf(n0), lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ≠ ⌜x⌝ + lim(⌜σf⌝ ), mon(⌜σf⌝ ), ∀ m. ¬ n < m → (∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n)), ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ) ⊦
| # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ⌜n⌝ , # lim(⌜σf⌝ ) = ∞, (lim(⌜σf⌝ ) to n + # x + 1) + σ = σf(n0), lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ≠ ⌜x⌝ + lim(⌜σf⌝ ), mon(⌜σf⌝ ), ∀ m. ¬ n < m → (∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n)), ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ) ⊦ |
# lim(⌜σf⌝ ) = ∞, # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ⌜n⌝ , (lim(⌜σf⌝ ) to n + # x + 1) + σ = σf(n0), lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ≠ ⌜x⌝ + lim(⌜σf⌝ ), mon(⌜σf⌝ ), ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ m. ¬ n < m → (∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∃ σ. (⌜x⌝ + σf(n0)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ⊦
Used terms: n0
| # lim(⌜σf⌝ ) = ∞, # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ⌜n⌝ , (lim(⌜σf⌝ ) to n + # x + 1) + σ = σf(n0), lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ≠ ⌜x⌝ + lim(⌜σf⌝ ), mon(⌜σf⌝ ), ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ m. ¬ n < m → (∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∃ σ. (⌜x⌝ + σf(n0)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ⊦ |
# lim(⌜σf⌝ ) = ∞, ⌜# x⌝ + # σf(n0) + # σ0 = ⌜n⌝ , (lim(⌜σf⌝ ) to n + # x + 1) + σ = σf(n0), (⌜x⌝ + σf(n0)) + σ0 = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), σf(n0) + σ0 ≠ lim(⌜σf⌝ ), mon(⌜σf⌝ ), ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ m. ¬ n < m → (∃ n, σ. ((⌜x⌝ + σf(n0)) + σ0 to m) + σ = ⌜x⌝ + σf(n)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n1. ∃ σ1. σf(n1) + σ1 = σf(n0) + σ0 ⊦
Used simplifier rules: append-assoc: ⊦ (σ + σ1) + σ2 = σ + σ1 + σ2; from specification stream ⊦ ⌜x⌝ + σ0 = ⌜x⌝ + σ1 ↔ σ0 = σ1; (s) ⊦ #(σ + σ1) = # σ + # σ1; (s) ⊦ # ⌜x⌝ = ⌜# x⌝ ; (s)
| # lim(⌜σf⌝ ) = ∞, ⌜# x⌝ + # σf(n0) + # σ0 = ⌜n⌝ , (lim(⌜σf⌝ ) to n + # x + 1) + σ = σf(n0), (⌜x⌝ + σf(n0)) + σ0 = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), σf(n0) + σ0 ≠ lim(⌜σf⌝ ), mon(⌜σf⌝ ), ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ m. ¬ n < m → (∃ n, σ. ((⌜x⌝ + σf(n0)) + σ0 to m) + σ = ⌜x⌝ + σf(n)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n1. ∃ σ1. σf(n1) + σ1 = σf(n0) + σ0 ⊦ |
⌜# x⌝ + # σf(n0) + # σ0 = ⌜n⌝ , # lim(⌜σf⌝ ) = ∞, (lim(⌜σf⌝ ) to n + # x + 1) + σ = σf(n0), (⌜x⌝ + σf(n0)) + σ0 = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), σ0 = ⌜x0⌝ , σf(n0) + σ0 ≠ lim(⌜σf⌝ ), mon(⌜σf⌝ ), ∀ m. ¬ n < m → (∃ n, σ. ((⌜x⌝ + σf(n0)) + σ0 to m) + σ = ⌜x⌝ + σf(n)), ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n1. ∃ σ1. σf(n1) + σ1 = σf(n0) + σ0 ⊦
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)
| ⌜# x⌝ + # σf(n0) + # σ0 = ⌜n⌝ , # lim(⌜σf⌝ ) = ∞, (lim(⌜σf⌝ ) to n + # x + 1) + σ = σf(n0), (⌜x⌝ + σf(n0)) + σ0 = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), σ0 = ⌜x0⌝ , σf(n0) + σ0 ≠ lim(⌜σf⌝ ), mon(⌜σf⌝ ), ∀ m. ¬ n < m → (∃ n, σ. ((⌜x⌝ + σf(n0)) + σ0 to m) + σ = ⌜x⌝ + σf(n)), ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n1. ∃ σ1. σf(n1) + σ1 = σf(n0) + σ0 ⊦ |
# lim(⌜σf⌝ ) = ∞, ⌜# x⌝ + # σf(n0) + ⌜# x0⌝ = ⌜n⌝ , (lim(⌜σf⌝ ) to n + # x + 1) + σ = σf(n0), (⌜x⌝ + σf(n0)) + ⌜x0⌝ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), σf(n0) + ⌜x0⌝ ≠ lim(⌜σf⌝ ), mon(⌜σf⌝ ), ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ m. ¬ n < m → (∃ n, σ. ((⌜x⌝ + σf(n0)) + ⌜x0⌝ to m) + σ = ⌜x⌝ + σf(n)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n1. ∃ σ1. σf(n1) + σ1 = σf(n0) + ⌜x0⌝ ⊦
Used simplifier rules: add-assoc: ⊦ (n∞ + n∞1) + n∞2 = n∞ + n∞1 + n∞2; from specification nat-inf ⊦ # ⌜x⌝ = ⌜# x⌝ ; (s)
| # lim(⌜σf⌝ ) = ∞, ⌜# x⌝ + # σf(n0) + ⌜# x0⌝ = ⌜n⌝ , (lim(⌜σf⌝ ) to n + # x + 1) + σ = σf(n0), (⌜x⌝ + σf(n0)) + ⌜x0⌝ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), σf(n0) + ⌜x0⌝ ≠ lim(⌜σf⌝ ), mon(⌜σf⌝ ), ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ m. ¬ n < m → (∃ n, σ. ((⌜x⌝ + σf(n0)) + ⌜x0⌝ to m) + σ = ⌜x⌝ + σf(n)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n1. ∃ σ1. σf(n1) + σ1 = σf(n0) + ⌜x0⌝ ⊦ |
⌜# x⌝ + # σf(n0) + ⌜# x0⌝ = ⌜n⌝ , # lim(⌜σf⌝ ) = ∞, (lim(⌜σf⌝ ) to n + # x + 1) + σ = σf(n0), (⌜x⌝ + σf(n0)) + ⌜x0⌝ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ⌜x1⌝ = σf(n0), σf(n0) + ⌜x0⌝ ≠ lim(⌜σf⌝ ), mon(⌜σf⌝ ), ∀ m. ¬ n < m → (∃ n, σ. ((⌜x⌝ + σf(n0)) + ⌜x0⌝ to m) + σ = ⌜x⌝ + σf(n)), ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n1. ∃ σ1. σf(n1) + σ1 = σf(n0) + ⌜x0⌝ ⊦
Used simplifier rules: Stream freely generated by ⌝, ⌝; ⊦ # ⌜nf⌝ = ∞; (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)
| ⌜# x⌝ + # σf(n0) + ⌜# x0⌝ = ⌜n⌝ , # lim(⌜σf⌝ ) = ∞, (lim(⌜σf⌝ ) to n + # x + 1) + σ = σf(n0), (⌜x⌝ + σf(n0)) + ⌜x0⌝ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ⌜x1⌝ = σf(n0), σf(n0) + ⌜x0⌝ ≠ lim(⌜σf⌝ ), mon(⌜σf⌝ ), ∀ m. ¬ n < m → (∃ n, σ. ((⌜x⌝ + σf(n0)) + ⌜x0⌝ to m) + σ = ⌜x⌝ + σf(n)), ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n1. ∃ σ1. σf(n1) + σ1 = σf(n0) + ⌜x0⌝ ⊦ |
# lim(⌜σf⌝ ) = ∞, (lim(⌜σf⌝ ) to (# x + # x1 + # x0) + # x + 1) + σ = ⌜x1⌝ , (⌜x⌝ + ⌜x1⌝ ) + ⌜x0⌝ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ⌜x1⌝ = σf(n0), ⌜x1⌝ + ⌜x0⌝ ≠ lim(⌜σf⌝ ), mon(⌜σf⌝ ), ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ m. ¬ # x + # x1 + # x0 < m → (∃ n, σ. ((⌜x⌝ + ⌜x1⌝ ) + ⌜x0⌝ to m) + σ = ⌜x⌝ + σf(n)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n1. ∃ σ1. σf(n1) + σ1 = ⌜x1⌝ + ⌜x0⌝ ⊦
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 ⊦ ⌜n1⌝ + ⌜n⌝ + ⌜m⌝ = ⌜n0⌝ ↔ n1 + n + m = n0; (s) ⊦ # ⌜x⌝ = ⌜# x⌝ ; (s)
| # lim(⌜σf⌝ ) = ∞, (lim(⌜σf⌝ ) to (# x + # x1 + # x0) + # x + 1) + σ = ⌜x1⌝ , (⌜x⌝ + ⌜x1⌝ ) + ⌜x0⌝ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ⌜x1⌝ = σf(n0), ⌜x1⌝ + ⌜x0⌝ ≠ lim(⌜σf⌝ ), mon(⌜σf⌝ ), ∀ m. ∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n), ∀ m. ¬ # x + # x1 + # x0 < m → (∃ n, σ. ((⌜x⌝ + ⌜x1⌝ ) + ⌜x0⌝ to m) + σ = ⌜x⌝ + σf(n)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n1. ∃ σ1. σf(n1) + σ1 = ⌜x1⌝ + ⌜x0⌝ ⊦ |
⊦ σ0 = σ1 ↔ # σ0 = # σ1 ∧ (∀ n. ⌜n⌝ < # σ0 → σ0(n) = σ1(n))
Used simplifier rules: ⊦ #(σ + σ1) = # σ + # σ1; (s) ⊦ ¬ ∞ < 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 ⊦ # ⌜x⌝ = ⌜# x⌝ ; (s) ⊦ ⌜n⌝ + n∞ = ⌜n⌝ ↔ n∞ = ⌜0⌝ ; (s) ⊦ ⌜n⌝ + n∞ = ⌜0⌝ ↔ n∞ = ⌜0⌝ ∧ n = 0; (ws) ⊦ n < m → (⌜(* n)⌝ = ⌜(* m)⌝ + n∞2 ↔ false); (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 (# x + # x1 + # x0) + # x + 1) + σ, ⌜x1⌝
| ⊦ σ0 = σ1 ↔ # σ0 = # σ1 ∧ (∀ n. ⌜n⌝ < # σ0 → σ0(n) = σ1(n)) |
| # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ⌜n⌝ , # lim(⌜σf⌝ ) ≠ ∞, lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ≠ ⌜x⌝ + lim(⌜σf⌝ ), mon(⌜σf⌝ ), ∀ m. ¬ n < m → (∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n)), ∀ m. ¬ # lim(⌜σf⌝ ) < ⌜m⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n)), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ) ⊦ |
⊦ n∞ = ∞ ↔ ¬(∃ n. n∞ = ⌜n⌝ )
# lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ⌜n⌝ , lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ≠ ⌜x⌝ + lim(⌜σf⌝ ), mon(⌜σf⌝ ), ∀ m. ¬ # lim(⌜σf⌝ ) < ⌜m⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n)), ∀ m. ¬ n < m → (∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∃ n. # lim(⌜σf⌝ ) = ⌜n⌝ ⊦
Used terms: # lim(⌜σf⌝ )
| ⊦ n∞ = ∞ ↔ ¬(∃ n. n∞ = ⌜n⌝ ) |
| # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ⌜n⌝ , lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ≠ ⌜x⌝ + lim(⌜σf⌝ ), mon(⌜σf⌝ ), ∀ m. ¬ # lim(⌜σf⌝ ) < ⌜m⌝ → (∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n)), ∀ m. ¬ n < m → (∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∃ n. # lim(⌜σf⌝ ) = ⌜n⌝ ⊦ |
# lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ⌜n⌝ , # lim(⌜σf⌝ ) = ⌜n0⌝ , lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ≠ ⌜x⌝ + lim(⌜σf⌝ ), mon(⌜σf⌝ ), ∀ m. ¬ n < m → (∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n)), ∀ m. ¬ n0 < m → (∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ⊦
Used simplifier rules: ⊦ ⌜m⌝ < ⌜n⌝ ↔ m < n; (s)
| # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ⌜n⌝ , # lim(⌜σf⌝ ) = ⌜n0⌝ , lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ≠ ⌜x⌝ + lim(⌜σf⌝ ), mon(⌜σf⌝ ), ∀ m. ¬ n < m → (∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n)), ∀ m. ¬ n0 < m → (∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ⊦ |
# lim(⌜σf⌝ ) = ⌜n0⌝ , # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ⌜n⌝ , lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ≠ ⌜x⌝ + lim(⌜σf⌝ ), mon(⌜σf⌝ ), ∀ m. ¬ n0 < m → (∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n)), ∀ m. ¬ n < m → (∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n)), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ¬ n0 < n0 → (∃ n, σ. (lim(⌜σf⌝ ) to n0) + σ = σf(n)) ⊦
Used terms: n0
| # lim(⌜σf⌝ ) = ⌜n0⌝ , # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ⌜n⌝ , lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ≠ ⌜x⌝ + lim(⌜σf⌝ ), mon(⌜σf⌝ ), ∀ m. ¬ n0 < m → (∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n)), ∀ m. ¬ n < m → (∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n)), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ¬ n0 < n0 → (∃ n, σ. (lim(⌜σf⌝ ) to n0) + σ = σf(n)) ⊦ |
# lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ⌜n⌝ , # lim(⌜σf⌝ ) = ⌜n0⌝ , lim(⌜σf⌝ ) + σ = σf(n1), lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ≠ ⌜x⌝ + lim(⌜σf⌝ ), mon(⌜σf⌝ ), ∀ m. ¬ n < m → (∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n)), ∀ m. ¬ n0 < m → (∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ⊦
Used simplifier rules: ⊦ # σ = ⌜n⌝ → σ to n = σ; (s) ⊦ ¬ n < n; (s)
| # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ⌜n⌝ , # lim(⌜σf⌝ ) = ⌜n0⌝ , lim(⌜σf⌝ ) + σ = σf(n1), lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ≠ ⌜x⌝ + lim(⌜σf⌝ ), mon(⌜σf⌝ ), ∀ m. ¬ n < m → (∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n)), ∀ m. ¬ n0 < m → (∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n)), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ⊦ |
# lim(⌜σf⌝ ) = ⌜n0⌝ , # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ⌜n⌝ , lim(⌜σf⌝ ) + σ = σf(n1), lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ≠ ⌜x⌝ + lim(⌜σf⌝ ), mon(⌜σf⌝ ), ∀ m. ¬ n0 < m → (∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n)), ∀ m. ¬ n < m → (∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n)), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∃ σ. σf(n1) + σ = lim(⌜σf⌝ ) ⊦
Used terms: n1
| # lim(⌜σf⌝ ) = ⌜n0⌝ , # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ⌜n⌝ , lim(⌜σf⌝ ) + σ = σf(n1), lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ≠ ⌜x⌝ + lim(⌜σf⌝ ), mon(⌜σf⌝ ), ∀ m. ¬ n0 < m → (∃ n, σ. (lim(⌜σf⌝ ) to m) + σ = σf(n)), ∀ m. ¬ n < m → (∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n)), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n. ∃ σ. σf(n) + σ = lim(⌜σf⌝ ), ∃ σ. σf(n1) + σ = lim(⌜σf⌝ ) ⊦ |
# lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ⌜n⌝ , # σf(n1) + # σ0 = ⌜n0⌝ , σf(n1) + σ0 = lim(⌜σf⌝ ), lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ≠ ⌜x⌝ + σf(n1) + σ0, mon(⌜σf⌝ ), ∀ m. ¬ n0 < m → (∃ n, σ. (σf(n1) + σ0 to m) + σ = σf(n)), ∀ m. ¬ n < m → (∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n)), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n. ∃ σ. σf(n) + σ = σf(n1) + σ0, σ0 + σ = [] ∨ # σf(n1) = ∞ ⊦
Used simplifier rules: append-assoc: ⊦ (σ + σ1) + σ2 = σ + σ1 + σ2; from specification stream ⊦ σ + σ0 = σ ↔ σ0 = [] ∨ # σ = ∞; (s) ⊦ #(σ + σ1) = # σ + # σ1; (s)
| # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ⌜n⌝ , # σf(n1) + # σ0 = ⌜n0⌝ , σf(n1) + σ0 = lim(⌜σf⌝ ), lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ≠ ⌜x⌝ + σf(n1) + σ0, mon(⌜σf⌝ ), ∀ m. ¬ n0 < m → (∃ n, σ. (σf(n1) + σ0 to m) + σ = σf(n)), ∀ m. ¬ n < m → (∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n)), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n. ∃ σ. σf(n) + σ = σf(n1) + σ0, σ0 + σ = [] ∨ # σf(n1) = ∞ ⊦ |
# σf(n1) + # σ0 = ⌜n0⌝ , # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ⌜n⌝ , σ0 = ⌜x0⌝ , σf(n1) + σ0 = lim(⌜σf⌝ ), lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ≠ ⌜x⌝ + σf(n1) + σ0, mon(⌜σf⌝ ), ∀ m. ¬ n < m → (∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n)), ∀ m. ¬ n0 < m → (∃ n, σ. (σf(n1) + σ0 to m) + σ = σf(n)), ∀ n. ∃ σ. σf(n) + σ = σf(n1) + σ0, ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), σ0 + σ = [] ∨ # σf(n1) = ∞ ⊦
Used simplifier rules: Stream freely generated by ⌝, ⌝; ⊦ # ⌜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 ⊦ ⌜n⌝ ≠ ∞; (s)
| # σf(n1) + # σ0 = ⌜n0⌝ , # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ⌜n⌝ , σ0 = ⌜x0⌝ , σf(n1) + σ0 = lim(⌜σf⌝ ), lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ≠ ⌜x⌝ + σf(n1) + σ0, mon(⌜σf⌝ ), ∀ m. ¬ n < m → (∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n)), ∀ m. ¬ n0 < m → (∃ n, σ. (σf(n1) + σ0 to m) + σ = σf(n)), ∀ n. ∃ σ. σf(n) + σ = σf(n1) + σ0, ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), σ0 + σ = [] ∨ # σf(n1) = ∞ ⊦ |
# lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ⌜n⌝ , # σf(n1) + ⌜# x0⌝ = ⌜n0⌝ , σf(n1) + ⌜x0⌝ = lim(⌜σf⌝ ), lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ≠ ⌜x⌝ + σf(n1) + ⌜x0⌝ , mon(⌜σf⌝ ), ∀ m. ¬ n0 < m → (∃ n, σ. (σf(n1) + ⌜x0⌝ to m) + σ = σf(n)), ∀ m. ¬ n < m → (∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n)), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n. ∃ σ. σf(n) + σ = σf(n1) + ⌜x0⌝ , ⌜x0⌝ + σ = [] ∨ # σf(n1) = ∞ ⊦
Used simplifier rules: ⊦ # ⌜x⌝ = ⌜# x⌝ ; (s)
| # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ⌜n⌝ , # σf(n1) + ⌜# x0⌝ = ⌜n0⌝ , σf(n1) + ⌜x0⌝ = lim(⌜σf⌝ ), lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ≠ ⌜x⌝ + σf(n1) + ⌜x0⌝ , mon(⌜σf⌝ ), ∀ m. ¬ n0 < m → (∃ n, σ. (σf(n1) + ⌜x0⌝ to m) + σ = σf(n)), ∀ m. ¬ n < m → (∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n)), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n. ∃ σ. σf(n) + σ = σf(n1) + ⌜x0⌝ , ⌜x0⌝ + σ = [] ∨ # σf(n1) = ∞ ⊦ |
# σf(n1) + ⌜# x0⌝ = ⌜n0⌝ , # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ⌜n⌝ , ⌜x1⌝ = σf(n1), σf(n1) + ⌜x0⌝ = lim(⌜σf⌝ ), lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ≠ ⌜x⌝ + σf(n1) + ⌜x0⌝ , mon(⌜σf⌝ ), ∀ m. ¬ n < m → (∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n)), ∀ m. ¬ n0 < m → (∃ n, σ. (σf(n1) + ⌜x0⌝ to m) + σ = σf(n)), ∀ n. ∃ σ. σf(n) + σ = σf(n1) + ⌜x0⌝ , ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ⌜x0⌝ + σ = [] ∨ # σf(n1) = ∞ ⊦
Used simplifier rules: Stream freely generated by ⌝, ⌝; ⊦ # ⌜nf⌝ = ∞; (s) ⊦ ⌜m⌝ + ∞ = ∞; (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 ⊦ ⌜n⌝ ≠ ∞; (s)
| # σf(n1) + ⌜# x0⌝ = ⌜n0⌝ , # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ⌜n⌝ , ⌜x1⌝ = σf(n1), σf(n1) + ⌜x0⌝ = lim(⌜σf⌝ ), lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ≠ ⌜x⌝ + σf(n1) + ⌜x0⌝ , mon(⌜σf⌝ ), ∀ m. ¬ n < m → (∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n)), ∀ m. ¬ n0 < m → (∃ n, σ. (σf(n1) + ⌜x0⌝ to m) + σ = σf(n)), ∀ n. ∃ σ. σf(n) + σ = σf(n1) + ⌜x0⌝ , ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ⌜x0⌝ + σ = [] ∨ # σf(n1) = ∞ ⊦ |
# lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ⌜n⌝ , ⌜x1⌝ = σf(n1), ⌜x1⌝ = lim(⌜σf⌝ ), lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ≠ ⌜x⌝ + ⌜x1⌝ , mon(⌜σf⌝ ), ∀ m. ¬ n < m → (∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n)), ∀ m. ¬ # x1 < m → (∃ n0, σ. ⌜x1 to m⌝ + σ = σf(n0)), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n0. ∃ σ. σf(n0) + σ = ⌜x1⌝ ⊦
Used simplifier rules: ⊦ ⌜x⌝ to n = ⌜x to n⌝ ; (s) append-assoc: ⊦ (σ + σ1) + σ2 = σ + σ1 + σ2; from specification stream ⊦ σ + [] = σ; (s) ⊦ ⌜[]⌝ = []; (s) c: ⊦ m + n = n + m; from specification nat-basic a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic ⊦ n + 0 = n; (s) ⊦ # [] = 0; (s) ⊦ ⌜x⌝ = [] ↔ x = []; (s) ⊦ σ0 + σ1 = [] ↔ σ0 = [] ∧ σ1 = []; (ws) ⊦ ⌜n⌝ ≠ ∞; (s) ⊦ # ⌜x⌝ = ⌜# x⌝ ; (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⌝ + ⌜m⌝ = ⌜n0⌝ ↔ n + m = n0; (s)
| # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ⌜n⌝ , ⌜x1⌝ = σf(n1), ⌜x1⌝ = lim(⌜σf⌝ ), lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ≠ ⌜x⌝ + ⌜x1⌝ , mon(⌜σf⌝ ), ∀ m. ¬ n < m → (∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n)), ∀ m. ¬ # x1 < m → (∃ n0, σ. ⌜x1 to m⌝ + σ = σf(n0)), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n0. ∃ σ. σf(n0) + σ = ⌜x1⌝ ⊦ |
# lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ⌜n⌝ , ⌜x1⌝ = lim(⌜σf⌝ ), ⌜x1⌝ = σf(n1), lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ≠ ⌜x⌝ + ⌜x1⌝ , mon(⌜σf⌝ ), ∀ m. ¬ # x1 < m → (∃ n0, σ. ⌜x1 to m⌝ + σ = σf(n0)), ∀ m. ¬ n < m → (∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n)), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n0. ∃ σ. σf(n0) + σ = ⌜x1⌝ , ¬ n < n → (∃ n0, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n) + σ = ⌜x⌝ + σf(n0)) ⊦
Used terms: n
| # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ⌜n⌝ , ⌜x1⌝ = lim(⌜σf⌝ ), ⌜x1⌝ = σf(n1), lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ≠ ⌜x⌝ + ⌜x1⌝ , mon(⌜σf⌝ ), ∀ m. ¬ # x1 < m → (∃ n0, σ. ⌜x1 to m⌝ + σ = σf(n0)), ∀ m. ¬ n < m → (∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n)), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n0. ∃ σ. σf(n0) + σ = ⌜x1⌝ , ¬ n < n → (∃ n0, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to n) + σ = ⌜x⌝ + σf(n0)) ⊦ |
# lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ⌜n⌝ , lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) + σ = ⌜x⌝ + σf(n0), ⌜x1⌝ = σf(n1), ⌜x1⌝ = lim(⌜σf⌝ ), lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ≠ ⌜x⌝ + ⌜x1⌝ , mon(⌜σf⌝ ), ∀ m. ¬ n < m → (∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n)), ∀ m. ¬ # x1 < m → (∃ n0, σ. ⌜x1 to m⌝ + σ = σf(n0)), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n0. ∃ σ. σf(n0) + σ = ⌜x1⌝ ⊦
Used simplifier rules: ⊦ # σ = ⌜n⌝ → σ to n = σ; (s) ⊦ ¬ n < n; (s)
| # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ⌜n⌝ , lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) + σ = ⌜x⌝ + σf(n0), ⌜x1⌝ = σf(n1), ⌜x1⌝ = lim(⌜σf⌝ ), lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ≠ ⌜x⌝ + ⌜x1⌝ , mon(⌜σf⌝ ), ∀ m. ¬ n < m → (∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n)), ∀ m. ¬ # x1 < m → (∃ n0, σ. ⌜x1 to m⌝ + σ = σf(n0)), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n0. ∃ σ. σf(n0) + σ = ⌜x1⌝ ⊦ |
# lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ⌜n⌝ , lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) + σ = ⌜x⌝ + σf(n0), ⌜x1⌝ = lim(⌜σf⌝ ), ⌜x1⌝ = σf(n1), σ = ⌜x0⌝ , lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ≠ ⌜x⌝ + ⌜x1⌝ , mon(⌜σf⌝ ), ∀ m. ¬ # x1 < m → (∃ n0, σ. ⌜x1 to m⌝ + σ = σf(n0)), ∀ m. ¬ n < m → (∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n)), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n0. ∃ σ. σf(n0) + σ = ⌜x1⌝ ⊦
# lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ⌜n⌝ , lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) + σ = ⌜x⌝ + σf(n0), ⌜x1⌝ = lim(⌜σf⌝ ), ⌜x1⌝ = σf(n1), σ = ⌜nf⌝ , lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ≠ ⌜x⌝ + ⌜x1⌝ , mon(⌜σf⌝ ), ∀ m. ¬ # x1 < m → (∃ n0, σ. ⌜x1 to m⌝ + σ = σf(n0)), ∀ m. ¬ n < m → (∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n)), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n0. ∃ σ. σf(n0) + σ = ⌜x1⌝ ⊦
Used simplifier rules: Stream freely generated by ⌝, ⌝;
| # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ⌜n⌝ , lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) + σ = ⌜x⌝ + σf(n0), ⌜x1⌝ = lim(⌜σf⌝ ), ⌜x1⌝ = σf(n1), σ = ⌜x0⌝ , lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ≠ ⌜x⌝ + ⌜x1⌝ , mon(⌜σf⌝ ), ∀ m. ¬ # x1 < m → (∃ n0, σ. ⌜x1 to m⌝ + σ = σf(n0)), ∀ m. ¬ n < m → (∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n)), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n0. ∃ σ. σf(n0) + σ = ⌜x1⌝ ⊦ |
# lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ⌜n⌝ , lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) + ⌜x0⌝ = ⌜x⌝ + σf(n0), ⌜x1⌝ = σf(n1), ⌜x1⌝ = lim(⌜σf⌝ ), lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ≠ ⌜x⌝ + ⌜x1⌝ , mon(⌜σf⌝ ), ∀ m. ¬ n < m → (∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n)), ∀ m. ¬ # x1 < m → (∃ n0, σ. ⌜x1 to m⌝ + σ = σf(n0)), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n0. ∃ σ. σf(n0) + σ = ⌜x1⌝ ⊦
| # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ⌜n⌝ , lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) + ⌜x0⌝ = ⌜x⌝ + σf(n0), ⌜x1⌝ = σf(n1), ⌜x1⌝ = lim(⌜σf⌝ ), lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ≠ ⌜x⌝ + ⌜x1⌝ , mon(⌜σf⌝ ), ∀ m. ¬ n < m → (∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n)), ∀ m. ¬ # x1 < m → (∃ n0, σ. ⌜x1 to m⌝ + σ = σf(n0)), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n0. ∃ σ. σf(n0) + σ = ⌜x1⌝ ⊦ |
# lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ⌜n⌝ , lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) + ⌜x0⌝ = ⌜x⌝ + σf(n0), ⌜x1⌝ = lim(⌜σf⌝ ), ⌜x1⌝ = σf(n1), lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ≠ ⌜x⌝ + ⌜x1⌝ , mon(⌜σf⌝ ), ∀ m. ¬ # x1 < m → (∃ n0, σ. ⌜x1 to m⌝ + σ = σf(n0)), ∀ m. ¬ n < m → (∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n)), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n0. ∃ σ. σf(n0) + σ = ⌜x1⌝ , ∃ σ. (⌜x⌝ + σf(n0)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ⊦
Used terms: n0
| # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ⌜n⌝ , lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) + ⌜x0⌝ = ⌜x⌝ + σf(n0), ⌜x1⌝ = lim(⌜σf⌝ ), ⌜x1⌝ = σf(n1), lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ≠ ⌜x⌝ + ⌜x1⌝ , mon(⌜σf⌝ ), ∀ m. ¬ # x1 < m → (∃ n0, σ. ⌜x1 to m⌝ + σ = σf(n0)), ∀ m. ¬ n < m → (∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n)), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n0. ∃ σ. σf(n0) + σ = ⌜x1⌝ , ∃ σ. (⌜x⌝ + σf(n0)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ⊦ |
⌜# x⌝ + # σf(n0) + # σ = ⌜n⌝ , (⌜x⌝ + σf(n0)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ⌜x1⌝ = lim(⌜σf⌝ ), ⌜x1⌝ = σf(n1), σf(n0) + σ ≠ ⌜x1⌝ , mon(⌜σf⌝ ), ∀ m. ¬ # x1 < m → (∃ n0, σ. ⌜x1 to m⌝ + σ = σf(n0)), ∀ m. ¬ n < m → (∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n)), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n0. ∃ σ. σf(n0) + σ = ⌜x1⌝ , σ + ⌜x0⌝ = [] ∨ # σf(n0) = ∞ ⊦
Used simplifier rules: append-assoc: ⊦ (σ + σ1) + σ2 = σ + σ1 + σ2; from specification stream ⊦ ⌜x⌝ + σ0 = ⌜x⌝ + σ1 ↔ σ0 = σ1; (s) ⊦ σ + σ0 = σ ↔ σ0 = [] ∨ # σ = ∞; (s) ⊦ #(σ + σ1) = # σ + # σ1; (s) ⊦ # ⌜x⌝ = ⌜# x⌝ ; (s)
| ⌜# x⌝ + # σf(n0) + # σ = ⌜n⌝ , (⌜x⌝ + σf(n0)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ⌜x1⌝ = lim(⌜σf⌝ ), ⌜x1⌝ = σf(n1), σf(n0) + σ ≠ ⌜x1⌝ , mon(⌜σf⌝ ), ∀ m. ¬ # x1 < m → (∃ n0, σ. ⌜x1 to m⌝ + σ = σf(n0)), ∀ m. ¬ n < m → (∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n)), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n0. ∃ σ. σf(n0) + σ = ⌜x1⌝ , σ + ⌜x0⌝ = [] ∨ # σf(n0) = ∞ ⊦ |
⌜# x⌝ + # σf(n0) + # σ = ⌜n⌝ , (⌜x⌝ + σf(n0)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ⌜x1⌝ = σf(n1), ⌜x1⌝ = lim(⌜σf⌝ ), σ = ⌜x2⌝ , σf(n0) + σ ≠ ⌜x1⌝ , mon(⌜σf⌝ ), ∀ m. ¬ n < m → (∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n)), ∀ m. ¬ # x1 < m → (∃ n0, σ. ⌜x1 to m⌝ + σ = σf(n0)), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n0. ∃ σ. σf(n0) + σ = ⌜x1⌝ , σ + ⌜x0⌝ = [] ∨ # σf(n0) = ∞ ⊦
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)
| ⌜# x⌝ + # σf(n0) + # σ = ⌜n⌝ , (⌜x⌝ + σf(n0)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ⌜x1⌝ = σf(n1), ⌜x1⌝ = lim(⌜σf⌝ ), σ = ⌜x2⌝ , σf(n0) + σ ≠ ⌜x1⌝ , mon(⌜σf⌝ ), ∀ m. ¬ n < m → (∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n)), ∀ m. ¬ # x1 < m → (∃ n0, σ. ⌜x1 to m⌝ + σ = σf(n0)), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n0. ∃ σ. σf(n0) + σ = ⌜x1⌝ , σ + ⌜x0⌝ = [] ∨ # σf(n0) = ∞ ⊦ |
⌜# x⌝ + # σf(n0) + ⌜# x2⌝ = ⌜n⌝ , (⌜x⌝ + σf(n0)) + ⌜x2⌝ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ⌜x1⌝ = σf(n1), ⌜x1⌝ = lim(⌜σf⌝ ), σf(n0) + ⌜x2⌝ ≠ ⌜x1⌝ , mon(⌜σf⌝ ), ∀ m. ¬ n < m → (∃ n, σ. ((⌜x⌝ + σf(n0)) + ⌜x2⌝ to m) + σ = ⌜x⌝ + σf(n)), ∀ m. ¬ # x1 < m → (∃ n0, σ. ⌜x1 to m⌝ + σ = σf(n0)), ∀ n0. ∃ σ. σf(n0) + σ = ⌜x1⌝ , ∀ n2. ∃ σ. σf(n2) + σ = σf(n0) + ⌜x2⌝ , ⌜x2⌝ + ⌜x0⌝ = [] ∨ # σf(n0) = ∞ ⊦
Used simplifier rules: append-assoc: ⊦ (σ + σ1) + σ2 = σ + σ1 + σ2; from specification stream ⊦ ⌜x⌝ + σ0 = ⌜x⌝ + σ1 ↔ σ0 = σ1; (s) add-assoc: ⊦ (n∞ + n∞1) + n∞2 = n∞ + n∞1 + n∞2; from specification nat-inf ⊦ # ⌜x⌝ = ⌜# x⌝ ; (s)
| ⌜# x⌝ + # σf(n0) + ⌜# x2⌝ = ⌜n⌝ , (⌜x⌝ + σf(n0)) + ⌜x2⌝ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ⌜x1⌝ = σf(n1), ⌜x1⌝ = lim(⌜σf⌝ ), σf(n0) + ⌜x2⌝ ≠ ⌜x1⌝ , mon(⌜σf⌝ ), ∀ m. ¬ n < m → (∃ n, σ. ((⌜x⌝ + σf(n0)) + ⌜x2⌝ to m) + σ = ⌜x⌝ + σf(n)), ∀ m. ¬ # x1 < m → (∃ n0, σ. ⌜x1 to m⌝ + σ = σf(n0)), ∀ n0. ∃ σ. σf(n0) + σ = ⌜x1⌝ , ∀ n2. ∃ σ. σf(n2) + σ = σf(n0) + ⌜x2⌝ , ⌜x2⌝ + ⌜x0⌝ = [] ∨ # σf(n0) = ∞ ⊦ |
⌜# x⌝ + # σf(n0) + ⌜# x2⌝ = ⌜n⌝ , (⌜x⌝ + σf(n0)) + ⌜x2⌝ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ⌜x1⌝ = lim(⌜σf⌝ ), ⌜x1⌝ = σf(n1), ⌜x3⌝ = σf(n0), σf(n0) + ⌜x2⌝ ≠ ⌜x1⌝ , mon(⌜σf⌝ ), ∀ m. ¬ # x1 < m → (∃ n0, σ. ⌜x1 to m⌝ + σ = σf(n0)), ∀ m. ¬ n < m → (∃ n, σ. ((⌜x⌝ + σf(n0)) + ⌜x2⌝ to m) + σ = ⌜x⌝ + σf(n)), ∀ n0. ∃ σ. σf(n0) + σ = ⌜x1⌝ , ∀ n2. ∃ σ. σf(n2) + σ = σf(n0) + ⌜x2⌝ , ⌜x2⌝ + ⌜x0⌝ = [] ∨ # σf(n0) = ∞ ⊦
Used simplifier rules: Stream freely generated by ⌝, ⌝; ⊦ # ⌜nf⌝ = ∞; (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)
| ⌜# x⌝ + # σf(n0) + ⌜# x2⌝ = ⌜n⌝ , (⌜x⌝ + σf(n0)) + ⌜x2⌝ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ⌜x1⌝ = lim(⌜σf⌝ ), ⌜x1⌝ = σf(n1), ⌜x3⌝ = σf(n0), σf(n0) + ⌜x2⌝ ≠ ⌜x1⌝ , mon(⌜σf⌝ ), ∀ m. ¬ # x1 < m → (∃ n0, σ. ⌜x1 to m⌝ + σ = σf(n0)), ∀ m. ¬ n < m → (∃ n, σ. ((⌜x⌝ + σf(n0)) + ⌜x2⌝ to m) + σ = ⌜x⌝ + σf(n)), ∀ n0. ∃ σ. σf(n0) + σ = ⌜x1⌝ , ∀ n2. ∃ σ. σf(n2) + σ = σf(n0) + ⌜x2⌝ , ⌜x2⌝ + ⌜x0⌝ = [] ∨ # σf(n0) = ∞ ⊦ |
⌜x⌝ + ⌜x3⌝ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ⌜x1⌝ = σf(n1), ⌜x1⌝ = lim(⌜σf⌝ ), ⌜x3⌝ = σf(n0), x3 ≠ x1, mon(⌜σf⌝ ), ∀ m. ¬ # x1 < m → (∃ n0, σ. ⌜x1 to m⌝ + σ = σf(n0)), ∀ m. ¬ # x + # x3 < m → (∃ n, σ. (⌜x⌝ + ⌜x3⌝ to m) + σ = ⌜x⌝ + σf(n)), ∀ n0. ∃ σ. σf(n0) + σ = ⌜x1⌝ , ∀ n2. ∃ σ. σf(n2) + σ = ⌜x3⌝ ⊦
Used simplifier rules: append-assoc: ⊦ (σ + σ1) + σ2 = σ + σ1 + σ2; from specification stream ⊦ σ + [] = σ; (s) ⊦ ⌜[]⌝ = []; (s) a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic c: ⊦ m + n = n + m; from specification nat-basic ⊦ n + 0 = n; (s) ⊦ # [] = 0; (s) a: ⊦ (x + y) + z = x + y + z; from specification list ⊦ x + [] = x; (s) ⊦ ⌜x⌝ = [] ↔ x = []; (s) ⊦ σ0 + σ1 = [] ↔ σ0 = [] ∧ σ1 = []; (ws) ⊦ ⌜n⌝ ≠ ∞; (s) ⊦ # ⌜x⌝ = ⌜# x⌝ ; (s) ⊦ ⌜x⌝ + ⌜y⌝ = ⌜z⌝ ↔ x + y = z; (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 ⊦ ⌜n1⌝ + ⌜n⌝ + ⌜m⌝ = ⌜n0⌝ ↔ n1 + n + m = n0; (s)
| ⌜x⌝ + ⌜x3⌝ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ⌜x1⌝ = σf(n1), ⌜x1⌝ = lim(⌜σf⌝ ), ⌜x3⌝ = σf(n0), x3 ≠ x1, mon(⌜σf⌝ ), ∀ m. ¬ # x1 < m → (∃ n0, σ. ⌜x1 to m⌝ + σ = σf(n0)), ∀ m. ¬ # x + # x3 < m → (∃ n, σ. (⌜x⌝ + ⌜x3⌝ to m) + σ = ⌜x⌝ + σf(n)), ∀ n0. ∃ σ. σf(n0) + σ = ⌜x1⌝ , ∀ n2. ∃ σ. σf(n2) + σ = ⌜x3⌝ ⊦ |
⌜x⌝ + ⌜x3⌝ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ⌜x1⌝ = lim(⌜σf⌝ ), ⌜x1⌝ = σf(n1), ⌜x3⌝ = σf(n0), x3 ≠ x1, mon(⌜σf⌝ ), ∀ m. ¬ # x + # x3 < m → (∃ n, σ. (⌜x⌝ + ⌜x3⌝ to m) + σ = ⌜x⌝ + σf(n)), ∀ m. ¬ # x1 < m → (∃ n0, σ. ⌜x1 to m⌝ + σ = σf(n0)), ∀ n0. ∃ σ. σf(n0) + σ = ⌜x1⌝ , ∀ n2. ∃ σ. σf(n2) + σ = ⌜x3⌝ , ∃ σ. σf(n1) + σ = ⌜x3⌝ ⊦
Used terms: n1
| ⌜x⌝ + ⌜x3⌝ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ⌜x1⌝ = lim(⌜σf⌝ ), ⌜x1⌝ = σf(n1), ⌜x3⌝ = σf(n0), x3 ≠ x1, mon(⌜σf⌝ ), ∀ m. ¬ # x + # x3 < m → (∃ n, σ. (⌜x⌝ + ⌜x3⌝ to m) + σ = ⌜x⌝ + σf(n)), ∀ m. ¬ # x1 < m → (∃ n0, σ. ⌜x1 to m⌝ + σ = σf(n0)), ∀ n0. ∃ σ. σf(n0) + σ = ⌜x1⌝ , ∀ n2. ∃ σ. σf(n2) + σ = ⌜x3⌝ , ∃ σ. σf(n1) + σ = ⌜x3⌝ ⊦ |
⌜x⌝ + ⌜x3⌝ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ⌜x1⌝ + σ = ⌜x3⌝ , ⌜x1⌝ = σf(n1), ⌜x1⌝ = lim(⌜σf⌝ ), ⌜x3⌝ = σf(n0), x3 ≠ x1, mon(⌜σf⌝ ), ∀ m. ¬ # x1 < m → (∃ n0, σ. ⌜x1 to m⌝ + σ = σf(n0)), ∀ m. ¬ # x + # x3 < m → (∃ n, σ. (⌜x⌝ + ⌜x3⌝ to m) + σ = ⌜x⌝ + σf(n)), ∀ n0. ∃ σ. σf(n0) + σ = ⌜x1⌝ , ∀ n2. ∃ σ. σf(n2) + σ = ⌜x3⌝ ⊦
| ⌜x⌝ + ⌜x3⌝ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ⌜x1⌝ + σ = ⌜x3⌝ , ⌜x1⌝ = σf(n1), ⌜x1⌝ = lim(⌜σf⌝ ), ⌜x3⌝ = σf(n0), x3 ≠ x1, mon(⌜σf⌝ ), ∀ m. ¬ # x1 < m → (∃ n0, σ. ⌜x1 to m⌝ + σ = σf(n0)), ∀ m. ¬ # x + # x3 < m → (∃ n, σ. (⌜x⌝ + ⌜x3⌝ to m) + σ = ⌜x⌝ + σf(n)), ∀ n0. ∃ σ. σf(n0) + σ = ⌜x1⌝ , ∀ n2. ∃ σ. σf(n2) + σ = ⌜x3⌝ ⊦ |
⌜x⌝ + ⌜x3⌝ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ⌜x1⌝ = lim(⌜σf⌝ ), ⌜x1⌝ = σf(n1), ⌜x1⌝ + σ = ⌜x3⌝ , ⌜x3⌝ = σf(n0), σ = ⌜x0⌝ , x3 ≠ x1, mon(⌜σf⌝ ), ∀ m. ¬ # x + # x3 < m → (∃ n, σ. (⌜x⌝ + ⌜x3⌝ to m) + σ = ⌜x⌝ + σf(n)), ∀ m. ¬ # x1 < m → (∃ n0, σ. ⌜x1 to m⌝ + σ = σf(n0)), ∀ n0. ∃ σ. σf(n0) + σ = ⌜x1⌝ , ∀ n2. ∃ σ. σf(n2) + σ = ⌜x3⌝ ⊦
Used simplifier rules: Stream freely generated by ⌝, ⌝; ⊦ ⌜x⌝ ≠ σ + ⌜nf0⌝ ; (s) append-assoc: ⊦ (σ + σ1) + σ2 = σ + σ1 + σ2; from specification stream
| ⌜x⌝ + ⌜x3⌝ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ⌜x1⌝ = lim(⌜σf⌝ ), ⌜x1⌝ = σf(n1), ⌜x1⌝ + σ = ⌜x3⌝ , ⌜x3⌝ = σf(n0), σ = ⌜x0⌝ , x3 ≠ x1, mon(⌜σf⌝ ), ∀ m. ¬ # x + # x3 < m → (∃ n, σ. (⌜x⌝ + ⌜x3⌝ to m) + σ = ⌜x⌝ + σf(n)), ∀ m. ¬ # x1 < m → (∃ n0, σ. ⌜x1 to m⌝ + σ = σf(n0)), ∀ n0. ∃ σ. σf(n0) + σ = ⌜x1⌝ , ∀ n2. ∃ σ. σf(n2) + σ = ⌜x3⌝ ⊦ |
⌜x⌝ + σf(n0) = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ⌜x1⌝ = lim(⌜σf⌝ ), ⌜x1⌝ = σf(n1), ⌜x1⌝ + ⌜x0⌝ = σf(n0), x0 ≠ [], mon(⌜σf⌝ ), ∀ m. ¬ # x1 < m → (∃ n0, σ. ⌜x1 to m⌝ + σ = σf(n0)), ∀ m. ¬ # x + # x1 + # x0 < m → (∃ n, σ. (⌜x⌝ + σf(n0) to m) + σ = ⌜x⌝ + σf(n)), ∀ n0. ∃ σ. σf(n0) + σ = ⌜x1⌝ , ∀ n2. ∃ σ. σf(n2) + σ = σf(n0) ⊦
Used simplifier rules: a: ⊦ (x + y) + z = x + y + z; from specification list ⊦ ⌜x + y⌝ = ⌜x⌝ + ⌜y⌝ ; (s) append-assoc: ⊦ (σ + σ1) + σ2 = σ + σ1 + σ2; from specification stream a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic ⊦ #(x + y) = # x + # y; (s) ⊦ x = x + y ↔ y = []; (s) ⊦ ⌜x⌝ + ⌜y⌝ = ⌜z⌝ ↔ x + y = z; (s)
| ⌜x⌝ + σf(n0) = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ⌜x1⌝ = lim(⌜σf⌝ ), ⌜x1⌝ = σf(n1), ⌜x1⌝ + ⌜x0⌝ = σf(n0), x0 ≠ [], mon(⌜σf⌝ ), ∀ m. ¬ # x1 < m → (∃ n0, σ. ⌜x1 to m⌝ + σ = σf(n0)), ∀ m. ¬ # x + # x1 + # x0 < m → (∃ n, σ. (⌜x⌝ + σf(n0) to m) + σ = ⌜x⌝ + σf(n)), ∀ n0. ∃ σ. σf(n0) + σ = ⌜x1⌝ , ∀ n2. ∃ σ. σf(n2) + σ = σf(n0) ⊦ |
⌜x⌝ + ⌜x1⌝ + ⌜x0⌝ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ⌜x1⌝ + ⌜x0⌝ = σf(n0), ⌜x1⌝ = σf(n1), ⌜x1⌝ = lim(⌜σf⌝ ), x0 ≠ [], mon(⌜σf⌝ ), ∀ m. ¬ # x + # x1 + # x0 < m → (∃ n, σ. (⌜x⌝ + ⌜x1⌝ + ⌜x0⌝ to m) + σ = ⌜x⌝ + σf(n)), ∀ m. ¬ # x1 < m → (∃ n0, σ. ⌜x1 to m⌝ + σ = σf(n0)), ∀ n0. ∃ σ. σf(n0) + σ = ⌜x1⌝ , ∀ n2. ∃ σ. σf(n2) + σ = ⌜x1⌝ + ⌜x0⌝ ⊦
| ⌜x⌝ + ⌜x1⌝ + ⌜x0⌝ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ⌜x1⌝ + ⌜x0⌝ = σf(n0), ⌜x1⌝ = σf(n1), ⌜x1⌝ = lim(⌜σf⌝ ), x0 ≠ [], mon(⌜σf⌝ ), ∀ m. ¬ # x + # x1 + # x0 < m → (∃ n, σ. (⌜x⌝ + ⌜x1⌝ + ⌜x0⌝ to m) + σ = ⌜x⌝ + σf(n)), ∀ m. ¬ # x1 < m → (∃ n0, σ. ⌜x1 to m⌝ + σ = σf(n0)), ∀ n0. ∃ σ. σf(n0) + σ = ⌜x1⌝ , ∀ n2. ∃ σ. σf(n2) + σ = ⌜x1⌝ + ⌜x0⌝ ⊦ |
⊦ σ0 = σ1 ↔ # σ0 = # σ1 ∧ (∀ n. ⌜n⌝ < # σ0 → σ0(n) = σ1(n))
#(⌜x⌝ + ⌜x1⌝ + ⌜x0⌝ ) = # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ⌜x1⌝ = lim(⌜σf⌝ ), ⌜x1⌝ = σf(n1), ⌜x1⌝ + ⌜x0⌝ = σf(n0), x0 ≠ [], mon(⌜σf⌝ ), ∀ m. ¬ # x1 < m → (∃ n0, σ. ⌜x1 to m⌝ + σ = σf(n0)), ∀ m. ¬ # x + # x1 + # x0 < m → (∃ n, σ. (⌜x⌝ + ⌜x1⌝ + ⌜x0⌝ to m) + σ = ⌜x⌝ + σf(n)), ∀ n. ⌜n⌝ < #(⌜x⌝ + ⌜x1⌝ + ⌜x0⌝ ) → (⌜x⌝ + ⌜x1⌝ + ⌜x0⌝ )(n) = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n), ∀ n0. ∃ σ. σf(n0) + σ = ⌜x1⌝ , ∀ n2. ∃ σ. σf(n2) + σ = ⌜x1⌝ + ⌜x0⌝ ⊦
Used terms: ⌜x⌝ + ⌜x1⌝ + ⌜x0⌝ , lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )
| ⊦ σ0 = σ1 ↔ # σ0 = # σ1 ∧ (∀ n. ⌜n⌝ < # σ0 → σ0(n) = σ1(n)) |
| #(⌜x⌝ + ⌜x1⌝ + ⌜x0⌝ ) = # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ⌜x1⌝ = lim(⌜σf⌝ ), ⌜x1⌝ = σf(n1), ⌜x1⌝ + ⌜x0⌝ = σf(n0), x0 ≠ [], mon(⌜σf⌝ ), ∀ m. ¬ # x1 < m → (∃ n0, σ. ⌜x1 to m⌝ + σ = σf(n0)), ∀ m. ¬ # x + # x1 + # x0 < m → (∃ n, σ. (⌜x⌝ + ⌜x1⌝ + ⌜x0⌝ to m) + σ = ⌜x⌝ + σf(n)), ∀ n. ⌜n⌝ < #(⌜x⌝ + ⌜x1⌝ + ⌜x0⌝ ) → (⌜x⌝ + ⌜x1⌝ + ⌜x0⌝ )(n) = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n), ∀ n0. ∃ σ. σf(n0) + σ = ⌜x1⌝ , ∀ n2. ∃ σ. σf(n2) + σ = ⌜x1⌝ + ⌜x0⌝ ⊦ |
⌜# x⌝ + ⌜# x1⌝ + ⌜# x0⌝ = # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ⌜x1⌝ + ⌜x0⌝ = σf(n0), ⌜x1⌝ = σf(n1), ⌜x1⌝ = lim(⌜σf⌝ ), x0 ≠ [], mon(⌜σf⌝ ), ∀ m. ¬ # x + # x1 + # x0 < m → (∃ n, σ. (⌜x⌝ + σf(n0) to m) + σ = ⌜x⌝ + σf(n)), ∀ m. ¬ # x1 < m → (∃ n0, σ. ⌜x1 to m⌝ + σ = σf(n0)), ∀ n. n < # x + # x1 + # x0 → (x + x1 + x0)(n) = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n), ∀ n0. ∃ σ. σf(n0) + σ = ⌜x1⌝ , ∀ n2. ∃ σ. σf(n2) + σ = σf(n0) ⊦
Used simplifier rules: append-assoc: ⊦ (σ + σ1) + σ2 = σ + σ1 + σ2; from specification stream ⊦ (⌜x⌝ + ⌜x0⌝ + ⌜x1⌝ )(m) = (x + x0 + x1)(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 ⊦ ⌜n1⌝ < ⌜n0⌝ + ⌜n⌝ + ⌜m⌝ ↔ n1 < n0 + n + m; (s) ⊦ # ⌜x⌝ = ⌜# x⌝ ; (s) ⊦ #(σ + σ1) = # σ + # σ1; (s)
| ⌜# x⌝ + ⌜# x1⌝ + ⌜# x0⌝ = # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ⌜x1⌝ + ⌜x0⌝ = σf(n0), ⌜x1⌝ = σf(n1), ⌜x1⌝ = lim(⌜σf⌝ ), x0 ≠ [], mon(⌜σf⌝ ), ∀ m. ¬ # x + # x1 + # x0 < m → (∃ n, σ. (⌜x⌝ + σf(n0) to m) + σ = ⌜x⌝ + σf(n)), ∀ m. ¬ # x1 < m → (∃ n0, σ. ⌜x1 to m⌝ + σ = σf(n0)), ∀ n. n < # x + # x1 + # x0 → (x + x1 + x0)(n) = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n), ∀ n0. ∃ σ. σf(n0) + σ = ⌜x1⌝ , ∀ n2. ∃ σ. σf(n2) + σ = σf(n0) ⊦ |
⌜# x⌝ + ⌜# x1⌝ + ⌜# x0⌝ = # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ⌜x1⌝ = lim(⌜σf⌝ ), ⌜x1⌝ = σf(n1), ⌜x1⌝ + ⌜x0⌝ = σf(n0), x0 ≠ [], mon(⌜σf⌝ ), ∀ m. ¬ # x1 < m → (∃ n0, σ. ⌜x1 to m⌝ + σ = σf(n0)), ∀ m. ¬ # x + # x1 + # x0 < m → (∃ n, σ. (⌜x⌝ + σf(n0) to m) + σ = ⌜x⌝ + σf(n)), ∀ n. n < # x + # x1 + # x0 → (x + x1 + x0)(n) = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n), ∀ n0. ∃ σ. σf(n0) + σ = ⌜x1⌝ , ∀ n2. ∃ σ. σf(n2) + σ = σf(n0), ∃ σ. σf(n0) + σ = ⌜x1⌝ ⊦
Used terms: n0
| ⌜# x⌝ + ⌜# x1⌝ + ⌜# x0⌝ = # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ⌜x1⌝ = lim(⌜σf⌝ ), ⌜x1⌝ = σf(n1), ⌜x1⌝ + ⌜x0⌝ = σf(n0), x0 ≠ [], mon(⌜σf⌝ ), ∀ m. ¬ # x1 < m → (∃ n0, σ. ⌜x1 to m⌝ + σ = σf(n0)), ∀ m. ¬ # x + # x1 + # x0 < m → (∃ n, σ. (⌜x⌝ + σf(n0) to m) + σ = ⌜x⌝ + σf(n)), ∀ n. n < # x + # x1 + # x0 → (x + x1 + x0)(n) = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n), ∀ n0. ∃ σ. σf(n0) + σ = ⌜x1⌝ , ∀ n2. ∃ σ. σf(n2) + σ = σf(n0), ∃ σ. σf(n0) + σ = ⌜x1⌝ ⊦ |
⌜# x⌝ + ⌜# x1⌝ + ⌜# x0⌝ = # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ⌜x1⌝ + ⌜x0⌝ = σf(n0), ⌜x1⌝ = σf(n1), ⌜x1⌝ = lim(⌜σf⌝ ), σf(n0) + σ = ⌜x1⌝ , x0 ≠ [], mon(⌜σf⌝ ), ∀ m. ¬ # x + # x1 + # x0 < m → (∃ n, σ. (⌜x⌝ + σf(n0) to m) + σ = ⌜x⌝ + σf(n)), ∀ m. ¬ # x1 < m → (∃ n0, σ. ⌜x1 to m⌝ + σ = σf(n0)), ∀ n. n < # x + # x1 + # x0 → (x + x1 + x0)(n) = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n), ∀ n0. ∃ σ. σf(n0) + σ = ⌜x1⌝ , ∀ n2. ∃ σ. σf(n2) + σ = σf(n0) ⊦
| ⌜# x⌝ + ⌜# x1⌝ + ⌜# x0⌝ = # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ⌜x1⌝ + ⌜x0⌝ = σf(n0), ⌜x1⌝ = σf(n1), ⌜x1⌝ = lim(⌜σf⌝ ), σf(n0) + σ = ⌜x1⌝ , x0 ≠ [], mon(⌜σf⌝ ), ∀ m. ¬ # x + # x1 + # x0 < m → (∃ n, σ. (⌜x⌝ + σf(n0) to m) + σ = ⌜x⌝ + σf(n)), ∀ m. ¬ # x1 < m → (∃ n0, σ. ⌜x1 to m⌝ + σ = σf(n0)), ∀ n. n < # x + # x1 + # x0 → (x + x1 + x0)(n) = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n), ∀ n0. ∃ σ. σf(n0) + σ = ⌜x1⌝ , ∀ n2. ∃ σ. σf(n2) + σ = σf(n0) ⊦ |
⌜# x⌝ + ⌜# x1⌝ + ⌜# x0⌝ = # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ⌜x1⌝ = lim(⌜σf⌝ ), ⌜x1⌝ = σf(n1), ⌜x1⌝ + ⌜x0⌝ = σf(n0), σ = ⌜x2⌝ , σf(n0) + σ = ⌜x1⌝ , x0 ≠ [], mon(⌜σf⌝ ), ∀ m. ¬ # x1 < m → (∃ n0, σ. ⌜x1 to m⌝ + σ = σf(n0)), ∀ m. ¬ # x + # x1 + # x0 < m → (∃ n, σ. (⌜x⌝ + σf(n0) to m) + σ = ⌜x⌝ + σf(n)), ∀ n. n < # x + # x1 + # x0 → (x + x1 + x0)(n) = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n), ∀ n0. ∃ σ. σf(n0) + σ = ⌜x1⌝ , ∀ n2. ∃ σ. σf(n2) + σ = σf(n0) ⊦
Used simplifier rules: Stream freely generated by ⌝, ⌝; ⊦ ⌜x⌝ ≠ σ + ⌜nf0⌝ ; (s) append-assoc: ⊦ (σ + σ1) + σ2 = σ + σ1 + σ2; from specification stream
| ⌜# x⌝ + ⌜# x1⌝ + ⌜# x0⌝ = # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ⌜x1⌝ = lim(⌜σf⌝ ), ⌜x1⌝ = σf(n1), ⌜x1⌝ + ⌜x0⌝ = σf(n0), σ = ⌜x2⌝ , σf(n0) + σ = ⌜x1⌝ , x0 ≠ [], mon(⌜σf⌝ ), ∀ m. ¬ # x1 < m → (∃ n0, σ. ⌜x1 to m⌝ + σ = σf(n0)), ∀ m. ¬ # x + # x1 + # x0 < m → (∃ n, σ. (⌜x⌝ + σf(n0) to m) + σ = ⌜x⌝ + σf(n)), ∀ n. n < # x + # x1 + # x0 → (x + x1 + x0)(n) = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n), ∀ n0. ∃ σ. σf(n0) + σ = ⌜x1⌝ , ∀ n2. ∃ σ. σf(n2) + σ = σf(n0) ⊦ |
⌜# x⌝ + ⌜# x1⌝ + ⌜# x0⌝ = # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ⌜x1⌝ + ⌜x0⌝ = σf(n0), ⌜x1⌝ = σf(n1), ⌜x1⌝ = lim(⌜σf⌝ ), σf(n0) + ⌜x2⌝ = ⌜x1⌝ , x0 ≠ [], mon(⌜σf⌝ ), ∀ m. ¬ # x + # x1 + # x0 < m → (∃ n, σ. (⌜x⌝ + σf(n0) to m) + σ = ⌜x⌝ + σf(n)), ∀ m. ¬ # x1 < m → (∃ n0, σ. ⌜x1 to m⌝ + σ = σf(n0)), ∀ n. n < # x + # x1 + # x0 → (x + x1 + x0)(n) = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n), ∀ n0. ∃ σ. σf(n0) + σ = ⌜x1⌝ , ∀ n2. ∃ σ. σf(n2) + σ = σf(n0) ⊦
| ⌜# x⌝ + ⌜# x1⌝ + ⌜# x0⌝ = # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ⌜x1⌝ + ⌜x0⌝ = σf(n0), ⌜x1⌝ = σf(n1), ⌜x1⌝ = lim(⌜σf⌝ ), σf(n0) + ⌜x2⌝ = ⌜x1⌝ , x0 ≠ [], mon(⌜σf⌝ ), ∀ m. ¬ # x + # x1 + # x0 < m → (∃ n, σ. (⌜x⌝ + σf(n0) to m) + σ = ⌜x⌝ + σf(n)), ∀ m. ¬ # x1 < m → (∃ n0, σ. ⌜x1 to m⌝ + σ = σf(n0)), ∀ n. n < # x + # x1 + # x0 → (x + x1 + x0)(n) = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n), ∀ n0. ∃ σ. σf(n0) + σ = ⌜x1⌝ , ∀ n2. ∃ σ. σf(n2) + σ = σf(n0) ⊦ |
⊦ σ0 = σ1 ↔ # σ0 = # σ1 ∧ (∀ n. ⌜n⌝ < # σ0 → σ0(n) = σ1(n))
#(σf(n0) + ⌜x2⌝ ) = # ⌜x1⌝ , ⌜# x⌝ + ⌜# x1⌝ + ⌜# x0⌝ = # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ⌜x1⌝ = lim(⌜σf⌝ ), ⌜x1⌝ = σf(n1), ⌜x1⌝ + ⌜x0⌝ = σf(n0), x0 ≠ [], mon(⌜σf⌝ ), ∀ m. ¬ # x1 < m → (∃ n0, σ. ⌜x1 to m⌝ + σ = σf(n0)), ∀ m. ¬ # x + # x1 + # x0 < m → (∃ n, σ. (⌜x⌝ + σf(n0) to m) + σ = ⌜x⌝ + σf(n)), ∀ n. n < # x + # x1 + # x0 → (x + x1 + x0)(n) = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n), ∀ n. ⌜n⌝ < #(σf(n0) + ⌜x2⌝ ) → (σf(n0) + ⌜x2⌝ )(n) = ⌜x1⌝ (n), ∀ n0. ∃ σ. σf(n0) + σ = ⌜x1⌝ , ∀ n2. ∃ σ. σf(n2) + σ = σf(n0) ⊦
Used terms: σf(n0) + ⌜x2⌝ , ⌜x1⌝
| ⊦ σ0 = σ1 ↔ # σ0 = # σ1 ∧ (∀ n. ⌜n⌝ < # σ0 → σ0(n) = σ1(n)) |
| #(σf(n0) + ⌜x2⌝ ) = # ⌜x1⌝ , ⌜# x⌝ + ⌜# x1⌝ + ⌜# x0⌝ = # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ⌜x1⌝ = lim(⌜σf⌝ ), ⌜x1⌝ = σf(n1), ⌜x1⌝ + ⌜x0⌝ = σf(n0), x0 ≠ [], mon(⌜σf⌝ ), ∀ m. ¬ # x1 < m → (∃ n0, σ. ⌜x1 to m⌝ + σ = σf(n0)), ∀ m. ¬ # x + # x1 + # x0 < m → (∃ n, σ. (⌜x⌝ + σf(n0) to m) + σ = ⌜x⌝ + σf(n)), ∀ n. n < # x + # x1 + # x0 → (x + x1 + x0)(n) = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n), ∀ n. ⌜n⌝ < #(σf(n0) + ⌜x2⌝ ) → (σf(n0) + ⌜x2⌝ )(n) = ⌜x1⌝ (n), ∀ n0. ∃ σ. σf(n0) + σ = ⌜x1⌝ , ∀ n2. ∃ σ. σf(n2) + σ = σf(n0) ⊦ |
# σf(n0) + ⌜# x2⌝ = ⌜# x1⌝ , ⌜# x⌝ + ⌜# x1⌝ + ⌜# x0⌝ = # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ⌜x1⌝ = lim(⌜σf⌝ ), ⌜x1⌝ = σf(n1), ⌜x1⌝ + ⌜x0⌝ = σf(n0), x0 ≠ [], mon(⌜σf⌝ ), ∀ m. ¬ # x1 < m → (∃ n0, σ. ⌜x1 to m⌝ + σ = σf(n0)), ∀ m. ¬ # x + # x1 + # x0 < m → (∃ n, σ. (⌜x⌝ + σf(n0) to m) + σ = ⌜x⌝ + σf(n)), ∀ n. n < # x + # x1 + # x0 → (x + x1 + x0)(n) = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n), ∀ n. n < # x1 → (σf(n0) + ⌜x2⌝ )(n) = x1(n), ∀ n0. ∃ σ. σf(n0) + σ = ⌜x1⌝ , ∀ n2. ∃ σ. σf(n2) + σ = σf(n0) ⊦
Used simplifier rules: ⊦ ⌜m⌝ < ⌜n⌝ ↔ m < n; (s) ⊦ ⌜x⌝ (n) = x(n); (s) append-assoc: ⊦ (σ + σ1) + σ2 = σ + σ1 + σ2; from specification stream ⊦ # ⌜x⌝ = ⌜# x⌝ ; (s) ⊦ #(σ + σ1) = # σ + # σ1; (s)
| # σf(n0) + ⌜# x2⌝ = ⌜# x1⌝ , ⌜# x⌝ + ⌜# x1⌝ + ⌜# x0⌝ = # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ⌜x1⌝ = lim(⌜σf⌝ ), ⌜x1⌝ = σf(n1), ⌜x1⌝ + ⌜x0⌝ = σf(n0), x0 ≠ [], mon(⌜σf⌝ ), ∀ m. ¬ # x1 < m → (∃ n0, σ. ⌜x1 to m⌝ + σ = σf(n0)), ∀ m. ¬ # x + # x1 + # x0 < m → (∃ n, σ. (⌜x⌝ + σf(n0) to m) + σ = ⌜x⌝ + σf(n)), ∀ n. n < # x + # x1 + # x0 → (x + x1 + x0)(n) = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ )(n), ∀ n. n < # x1 → (σf(n0) + ⌜x2⌝ )(n) = x1(n), ∀ n0. ∃ σ. σf(n0) + σ = ⌜x1⌝ , ∀ n2. ∃ σ. σf(n2) + σ = σf(n0) ⊦ |
Used simplifier rules: Stream freely generated by ⌝, ⌝; ⊦ σ0 + ⌜x⌝ = ⌜nf0⌝ ↔ σ0 = ⌜nf0⌝ ; (s) ⊦ ⌜x⌝ ≠ ⌜nf⌝ ; (s) append-assoc: ⊦ (σ + σ1) + σ2 = σ + σ1 + σ2; from specification stream ⊦ # ⌜x⌝ = ⌜# x⌝ ; (s) ⊦ ⌜n⌝ + ⌜m⌝ = ⌜n0⌝ ↔ 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 ⊦ ⌜x⌝ + ⌜y⌝ = ⌜z⌝ ↔ x + y = z; (s) ⊦ (⌜x⌝ + ⌜x0⌝ )(m) = (x + x0)(m); (s) ⊦ #(x + y) = # x + # y; (s) a: ⊦ (x + y) + z = x + y + z; from specification list ⊦ m = m + n ↔ n = 0; (s) ⊦ m + n = 0 ↔ m = 0 ∧ n = 0; (ws) ⊦ # x = 0 ↔ x = []; (s) a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic c: ⊦ m + n = n + m; from specification nat-basic
| # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ⌜n⌝ , lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) + σ = ⌜x⌝ + σf(n0), ⌜x1⌝ = lim(⌜σf⌝ ), ⌜x1⌝ = σf(n1), σ = ⌜nf⌝ , lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ≠ ⌜x⌝ + ⌜x1⌝ , mon(⌜σf⌝ ), ∀ m. ¬ # x1 < m → (∃ n0, σ. ⌜x1 to m⌝ + σ = σf(n0)), ∀ m. ¬ n < m → (∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n)), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n0. ∃ σ. σf(n0) + σ = ⌜x1⌝ ⊦ |
# lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ⌜n⌝ , lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) + ⌜nf⌝ = ⌜x⌝ + σf(n0), ⌜x1⌝ = σf(n1), ⌜x1⌝ = lim(⌜σf⌝ ), lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ≠ ⌜x⌝ + ⌜x1⌝ , mon(⌜σf⌝ ), ∀ m. ¬ n < m → (∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n)), ∀ m. ¬ # x1 < m → (∃ n0, σ. ⌜x1 to m⌝ + σ = σf(n0)), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n0. ∃ σ. σf(n0) + σ = ⌜x1⌝ ⊦
| # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ⌜n⌝ , lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) + ⌜nf⌝ = ⌜x⌝ + σf(n0), ⌜x1⌝ = σf(n1), ⌜x1⌝ = lim(⌜σf⌝ ), lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ≠ ⌜x⌝ + ⌜x1⌝ , mon(⌜σf⌝ ), ∀ m. ¬ n < m → (∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n)), ∀ m. ¬ # x1 < m → (∃ n0, σ. ⌜x1 to m⌝ + σ = σf(n0)), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n0. ∃ σ. σf(n0) + σ = ⌜x1⌝ ⊦ |
⊦ σ0 = σ1 ↔ # σ0 = # σ1 ∧ (∀ n. ⌜n⌝ < # σ0 → σ0(n) = σ1(n))
#(lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) + ⌜nf⌝ ) = #(⌜x⌝ + σf(n0)), # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ⌜n⌝ , ⌜x1⌝ = lim(⌜σf⌝ ), ⌜x1⌝ = σf(n1), lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ≠ ⌜x⌝ + ⌜x1⌝ , mon(⌜σf⌝ ), ∀ m. ¬ # x1 < m → (∃ n0, σ. ⌜x1 to m⌝ + σ = σf(n0)), ∀ m. ¬ n < m → (∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n)), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n. ⌜n⌝ < #(lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) + ⌜nf⌝ ) → (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) + ⌜nf⌝ )(n) = (⌜x⌝ + σf(n0))(n), ∀ n0. ∃ σ. σf(n0) + σ = ⌜x1⌝ ⊦
Used terms: lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) + ⌜nf⌝ , ⌜x⌝ + σf(n0)
| ⊦ σ0 = σ1 ↔ # σ0 = # σ1 ∧ (∀ n. ⌜n⌝ < # σ0 → σ0(n) = σ1(n)) |
| #(lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) + ⌜nf⌝ ) = #(⌜x⌝ + σf(n0)), # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ⌜n⌝ , ⌜x1⌝ = lim(⌜σf⌝ ), ⌜x1⌝ = σf(n1), lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ≠ ⌜x⌝ + ⌜x1⌝ , mon(⌜σf⌝ ), ∀ m. ¬ # x1 < m → (∃ n0, σ. ⌜x1 to m⌝ + σ = σf(n0)), ∀ m. ¬ n < m → (∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n)), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n. ⌜n⌝ < #(lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) + ⌜nf⌝ ) → (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) + ⌜nf⌝ )(n) = (⌜x⌝ + σf(n0))(n), ∀ n0. ∃ σ. σf(n0) + σ = ⌜x1⌝ ⊦ |
# lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ⌜n⌝ , # σf(n0) = ∞, ⌜x1⌝ = σf(n1), ⌜x1⌝ = lim(⌜σf⌝ ), lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ≠ ⌜x⌝ + ⌜x1⌝ , mon(⌜σf⌝ ), ∀ m. ¬ n < m → (∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n)), ∀ m. ¬ # x1 < m → (∃ n0, σ. ⌜x1 to m⌝ + σ = σf(n0)), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n0. ∃ σ. σf(n0) + σ = ⌜x1⌝ , ∀ n2. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) + ⌜nf⌝ )(n2) = (⌜x⌝ + σf(n0))(n2) ⊦
Used simplifier rules: ⊦ ⌜m⌝ < ∞; (s) append-assoc: ⊦ (σ + σ1) + σ2 = σ + σ1 + σ2; from specification stream 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) ⊦ # ⌜nf⌝ = ∞; (s) ⊦ #(σ + σ1) = # σ + # σ1; (s) ⊦ ⌜m⌝ + n∞ = ∞ ↔ n∞ = ∞; (s) ⊦ # ⌜x⌝ = ⌜# x⌝ ; (s)
| # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ⌜n⌝ , # σf(n0) = ∞, ⌜x1⌝ = σf(n1), ⌜x1⌝ = lim(⌜σf⌝ ), lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ≠ ⌜x⌝ + ⌜x1⌝ , mon(⌜σf⌝ ), ∀ m. ¬ n < m → (∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n)), ∀ m. ¬ # x1 < m → (∃ n0, σ. ⌜x1 to m⌝ + σ = σf(n0)), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n0. ∃ σ. σf(n0) + σ = ⌜x1⌝ , ∀ n2. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) + ⌜nf⌝ )(n2) = (⌜x⌝ + σf(n0))(n2) ⊦ |
# σf(n0) = ∞, # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ⌜n⌝ , ⌜x1⌝ = lim(⌜σf⌝ ), ⌜x1⌝ = σf(n1), lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ≠ ⌜x⌝ + ⌜x1⌝ , mon(⌜σf⌝ ), ∀ m. ¬ # x1 < m → (∃ n0, σ. ⌜x1 to m⌝ + σ = σf(n0)), ∀ m. ¬ n < m → (∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n)), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n0. ∃ σ. σf(n0) + σ = ⌜x1⌝ , ∀ n2. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) + ⌜nf⌝ )(n2) = (⌜x⌝ + σf(n0))(n2), ∃ σ. σf(n0) + σ = ⌜x1⌝ ⊦
Used terms: n0
| # σf(n0) = ∞, # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ⌜n⌝ , ⌜x1⌝ = lim(⌜σf⌝ ), ⌜x1⌝ = σf(n1), lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ≠ ⌜x⌝ + ⌜x1⌝ , mon(⌜σf⌝ ), ∀ m. ¬ # x1 < m → (∃ n0, σ. ⌜x1 to m⌝ + σ = σf(n0)), ∀ m. ¬ n < m → (∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n)), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n0. ∃ σ. σf(n0) + σ = ⌜x1⌝ , ∀ n2. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) + ⌜nf⌝ )(n2) = (⌜x⌝ + σf(n0))(n2), ∃ σ. σf(n0) + σ = ⌜x1⌝ ⊦ |
# lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ⌜n⌝ , # σf(n0) = ∞, ⌜x1⌝ = σf(n1), ⌜x1⌝ = lim(⌜σf⌝ ), σf(n0) + σ = ⌜x1⌝ , lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ≠ ⌜x⌝ + ⌜x1⌝ , mon(⌜σf⌝ ), ∀ m. ¬ n < m → (∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n)), ∀ m. ¬ # x1 < m → (∃ n0, σ. ⌜x1 to m⌝ + σ = σf(n0)), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n0. ∃ σ. σf(n0) + σ = ⌜x1⌝ , ∀ n2. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) + ⌜nf⌝ )(n2) = (⌜x⌝ + σf(n0))(n2) ⊦
| # lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) = ⌜n⌝ , # σf(n0) = ∞, ⌜x1⌝ = σf(n1), ⌜x1⌝ = lim(⌜σf⌝ ), σf(n0) + σ = ⌜x1⌝ , lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) ≠ ⌜x⌝ + ⌜x1⌝ , mon(⌜σf⌝ ), ∀ m. ¬ n < m → (∃ n, σ. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) to m) + σ = ⌜x⌝ + σf(n)), ∀ m. ¬ # x1 < m → (∃ n0, σ. ⌜x1 to m⌝ + σ = σf(n0)), ∀ n. ∃ σ. (⌜x⌝ + σf(n)) + σ = lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ), ∀ n0. ∃ σ. σf(n0) + σ = ⌜x1⌝ , ∀ n2. (lim(⌜λ n. ⌜x⌝ + σf(n)⌝ ) + ⌜nf⌝ )(n2) = (⌜x⌝ + σf(n0))(n2) ⊦ |
⊦ σ0 = σ1 ↔ # σ0 = # σ1 ∧ (∀ n. ⌜n⌝ < # σ0 → σ0(n) = σ1(n))
Used simplifier rules: ⊦ # ⌜x⌝ = ⌜# x⌝ ; (s) ⊦ #(σ + σ1) = # σ + # σ1; (s) append-assoc: ⊦ (σ + σ1) + σ2 = σ + σ1 + σ2; from specification stream ⊦ ⌜x⌝ (n) = x(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 ⊦ ⌜n⌝ ≠ ∞; (s) Used terms: σf(n0) + σ, ⌜x1⌝
| ⊦ σ0 = σ1 ↔ # σ0 = # σ1 ∧ (∀ n. ⌜n⌝ < # σ0 → σ0(n) = σ1(n)) |
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.