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