| ext !(α) ≠ [] ⊦ ∃ n. ⌜n⌝ < # α ∧ ext(α[n]) ≠ None ∧ (∀ m. m < n → ext(α[m]) = None) |
⊦ ext !(α) = [] ↔ (∀ n. ⌜n⌝ < # α → ext(α[n]) = None)
∃ n. ¬(⌜n⌝ < # α → ext(α[n]) = None) ⊦ ∃ n. ⌜n⌝ < # α ∧ ext(α[n]) ≠ None ∧ (∀ m. m < n → ext(α[m]) = None)
Used terms: ext, α
| ⊦ ext !(α) = [] ↔ (∀ n. ⌜n⌝ < # α → ext(α[n]) = None) |
| ∃ n. ¬(⌜n⌝ < # α → ext(α[n]) = None) ⊦ ∃ n. ⌜n⌝ < # α ∧ ext(α[n]) ≠ None ∧ (∀ m. m < n → ext(α[m]) = None) |
ext(α[n]) ≠ None, ⌜n⌝ < # α ⊦ ∃ n. ⌜n⌝ < # α ∧ ext(α[n]) ≠ None ∧ (∀ m. m < n → ext(α[m]) = None)
| ext(α[n]) ≠ None, ⌜n⌝ < # α ⊦ ∃ n. ⌜n⌝ < # α ∧ ext(α[n]) ≠ None ∧ (∀ m. m < n → ext(α[m]) = None) |
ext(α[n]) ≠ None, ⌜n⌝ < # α, ∀ n0, ext, α. n0 < n → ext(α[n0]) ≠ None ∧ ⌜n0⌝ < # α → (∃ n. ⌜n⌝ < # α ∧ ext(α[n]) ≠ None ∧ (∀ m. m < n → ext(α[m]) = None)) ⊦ ∃ n. ⌜n⌝ < # α ∧ ext(α[n]) ≠ None ∧ (∀ m. m < n → ext(α[m]) = None)
Used simplifier rules: <; (wellfounded) Used terms: n
| ext(α[n]) ≠ None, ⌜n⌝ < # α, ∀ n0, ext, α. n0 < n → ext(α[n0]) ≠ None ∧ ⌜n0⌝ < # α → (∃ n. ⌜n⌝ < # α ∧ ext(α[n]) ≠ None ∧ (∀ m. m < n → ext(α[m]) = None)) ⊦ ∃ n. ⌜n⌝ < # α ∧ ext(α[n]) ≠ None ∧ (∀ m. m < n → ext(α[m]) = None) |
ext(α[n]) ≠ None, ⌜n⌝ < # α, ∀ n0, ext, α. n0 < n → ext(α[n0]) ≠ None ∧ ⌜n0⌝ < # α → (∃ n. ⌜n⌝ < # α ∧ ext(α[n]) ≠ None ∧ (∀ m. m < n → ext(α[m]) = None)) ⊦ ∃ n. ⌜n⌝ < # α ∧ ext(α[n]) ≠ None ∧ (∀ m. m < n → ext(α[m]) = None), ⌜n⌝ < # α ∧ ext(α[n]) ≠ None ∧ (∀ m. m < n → ext(α[m]) = None)
Used terms: n
| ext(α[n]) ≠ None, ⌜n⌝ < # α, ∀ n0, ext, α. n0 < n → ext(α[n0]) ≠ None ∧ ⌜n0⌝ < # α → (∃ n. ⌜n⌝ < # α ∧ ext(α[n]) ≠ None ∧ (∀ m. m < n → ext(α[m]) = None)) ⊦ ∃ n. ⌜n⌝ < # α ∧ ext(α[n]) ≠ None ∧ (∀ m. m < n → ext(α[m]) = None), ⌜n⌝ < # α ∧ ext(α[n]) ≠ None ∧ (∀ m. m < n → ext(α[m]) = None) |
ext(α[m]) ≠ None, ext(α[n]) ≠ None, m < n, ⌜n⌝ < # α, ∀ n0, ext, α. n0 < n → ext(α[n0]) ≠ None ∧ ⌜n0⌝ < # α → (∃ n. ⌜n⌝ < # α ∧ ext(α[n]) ≠ None ∧ (∀ m. m < n → ext(α[m]) = None)) ⊦ ∃ n. ⌜n⌝ < # α ∧ ext(α[n]) ≠ None ∧ (∀ m. m < n → ext(α[m]) = None)
Used simplifier rules: ⊦ m < n → n ≠ 0; (s) f: ⊦ m < n → n ≠ 0; (forward) from specification nat-basic
| ext(α[m]) ≠ None, ext(α[n]) ≠ None, m < n, ⌜n⌝ < # α, ∀ n0, ext, α. n0 < n → ext(α[n0]) ≠ None ∧ ⌜n0⌝ < # α → (∃ n. ⌜n⌝ < # α ∧ ext(α[n]) ≠ None ∧ (∀ m. m < n → ext(α[m]) = None)) ⊦ ∃ n. ⌜n⌝ < # α ∧ ext(α[n]) ≠ None ∧ (∀ m. m < n → ext(α[m]) = None) |
ext(α[m]) ≠ None, ext(α[n]) ≠ None, ⌜n⌝ < # α, m < n, ∃ n. ⌜n⌝ < # α ∧ ext(α[n]) ≠ None ∧ (∀ m. m < n → ext(α[m]) = None), ∀ n0, ext, α. n0 < n → ext(α[n0]) ≠ None ∧ ⌜n0⌝ < # α → (∃ n. ⌜n⌝ < # α ∧ ext(α[n]) ≠ None ∧ (∀ m. m < n → ext(α[m]) = None)) ⊦ ∃ n. ⌜n⌝ < # α ∧ ext(α[n]) ≠ None ∧ (∀ m. m < n → ext(α[m]) = None)
Used simplifier rules: lsle-trans: ⊦ n∞ < n∞1 ∧ ¬ n∞2 < n∞1 → n∞ < n∞2; (forward) from specification nat-inf ⊦ ⌜m⌝ < ⌜n⌝ ↔ m < n; (s) ⊦ m < n → ¬ n < m; (s) Used terms: m, ext, α
| ext(α[m]) ≠ None, ext(α[n]) ≠ None, ⌜n⌝ < # α, m < n, ∃ n. ⌜n⌝ < # α ∧ ext(α[n]) ≠ None ∧ (∀ m. m < n → ext(α[m]) = None), ∀ n0, ext, α. n0 < n → ext(α[n0]) ≠ None ∧ ⌜n0⌝ < # α → (∃ n. ⌜n⌝ < # α ∧ ext(α[n]) ≠ None ∧ (∀ m. m < n → ext(α[m]) = None)) ⊦ ∃ n. ⌜n⌝ < # α ∧ ext(α[n]) ≠ None ∧ (∀ m. m < n → ext(α[m]) = None) |
ext(α[m]) ≠ None, ext(α[n]) ≠ None, ext(α[n0]) ≠ None, ⌜n0⌝ < # α, m < n, ⌜n⌝ < # α, ∀ m. m < n0 → ext(α[m]) = None, ∀ n0, ext, α. n0 < n → ext(α[n0]) ≠ None ∧ ⌜n0⌝ < # α → (∃ n. ⌜n⌝ < # α ∧ ext(α[n]) ≠ None ∧ (∀ m. m < n → ext(α[m]) = None)) ⊦ ∃ n. ⌜n⌝ < # α ∧ ext(α[n]) ≠ None ∧ (∀ m. m < n → ext(α[m]) = None)
| ext(α[m]) ≠ None, ext(α[n]) ≠ None, ext(α[n0]) ≠ None, ⌜n0⌝ < # α, m < n, ⌜n⌝ < # α, ∀ m. m < n0 → ext(α[m]) = None, ∀ n0, ext, α. n0 < n → ext(α[n0]) ≠ None ∧ ⌜n0⌝ < # α → (∃ n. ⌜n⌝ < # α ∧ ext(α[n]) ≠ None ∧ (∀ m. m < n → ext(α[m]) = None)) ⊦ ∃ n. ⌜n⌝ < # α ∧ ext(α[n]) ≠ None ∧ (∀ m. m < n → ext(α[m]) = None) |
Used terms: n0
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.