| cont(f) ⊦ (λ x0. ∃ n. ((f ^ n))(∅)(x0)) = f(λ x0. ∃ n. ((f ^ n))(∅)(x0)) |
cont(f) ⊦ (∃ n. ((f ^ n))(∅)(x0)) ↔ f(λ x0. ∃ n. ((f ^ n))(∅)(x0))(x0)
| cont(f) ⊦ (∃ n. ((f ^ n))(∅)(x0)) ↔ f(λ x0. ∃ n. ((f ^ n))(∅)(x0))(x0) |
cont(f) ⊦ monotone(f)
cont(f), monotone(f) ⊦ (∃ n. ((f ^ n))(∅)(x0)) ↔ f(λ x0. ∃ n. ((f ^ n))(∅)(x0))(x0)
Used terms: f
| cont(f) ⊦ monotone(f) |
| cont(f), monotone(f) ⊦ (∃ n. ((f ^ n))(∅)(x0)) ↔ f(λ x0. ∃ n. ((f ^ n))(∅)(x0))(x0) |
⊦ cont(f) ↔ (∀ chn. chain(chn) → (∀ x. f(λ x0. ∃ n. chn(n)(x0))(x) ↔ (∃ n. f(chn(n))(x))))
monotone(f), ∀ chn. chain(chn) → (∀ x. f(λ x0. ∃ n. chn(n)(x0))(x) ↔ (∃ n. f(chn(n))(x))) ⊦ (∃ n. ((f ^ n))(∅)(x0)) ↔ f(λ x0. ∃ n. ((f ^ n))(∅)(x0))(x0)
Used terms: f
| ⊦ cont(f) ↔ (∀ chn. chain(chn) → (∀ x. f(λ x0. ∃ n. chn(n)(x0))(x) ↔ (∃ n. f(chn(n))(x)))) |
| monotone(f), ∀ chn. chain(chn) → (∀ x. f(λ x0. ∃ n. chn(n)(x0))(x) ↔ (∃ n. f(chn(n))(x))) ⊦ (∃ n. ((f ^ n))(∅)(x0)) ↔ f(λ x0. ∃ n. ((f ^ n))(∅)(x0))(x0) |
monotone(f), chain(λ n. ((f ^ n))(∅)) → (∀ x. f(λ x0. ∃ n. ((f ^ n))(∅)(x0))(x) ↔ (∃ n. f(((f ^ n))(∅))(x))) ⊦ (∃ n. ((f ^ n))(∅)(x0)) ↔ f(λ x0. ∃ n. ((f ^ n))(∅)(x0))(x0)
Used terms: λ n. ((f ^ n))(∅)
| monotone(f), chain(λ n. ((f ^ n))(∅)) → (∀ x. f(λ x0. ∃ n. ((f ^ n))(∅)(x0))(x) ↔ (∃ n. f(((f ^ n))(∅))(x))) ⊦ (∃ n. ((f ^ n))(∅)(x0)) ↔ f(λ x0. ∃ n. ((f ^ n))(∅)(x0))(x0) |
monotone(f), chain(λ n. ((f ^ n))(∅)) → (∀ x. f(λ x0. ∃ n. ((f ^ n))(∅)(x0))(x) ↔ (∃ n. f(((f ^ n))(∅))(x))) ⊦ (∃ n. ((f ^ n))(∅)(x0)) ↔ f(λ x0. ∃ n. ((f ^ n))(∅)(x0))(x0)
| monotone(f), chain(λ n. ((f ^ n))(∅)) → (∀ x. f(λ x0. ∃ n. ((f ^ n))(∅)(x0))(x) ↔ (∃ n. f(((f ^ n))(∅))(x))) ⊦ (∃ n. ((f ^ n))(∅)(x0)) ↔ f(λ x0. ∃ n. ((f ^ n))(∅)(x0))(x0) |
monotone(f), ¬ chain(λ n. ((f ^ n))(∅)) ⊦ (∃ n. ((f ^ n))(∅)(x0)) ↔ f(λ x0. ∃ n. ((f ^ n))(∅)(x0))(x0)
monotone(f), ∀ x. f(λ x0. ∃ n. ((f ^ n))(∅)(x0))(x) ↔ (∃ n. f(((f ^ n))(∅))(x)) ⊦ (∃ n. ((f ^ n))(∅)(x0)) ↔ f(λ x0. ∃ n. ((f ^ n))(∅)(x0))(x0)
| monotone(f), ¬ chain(λ n. ((f ^ n))(∅)) ⊦ (∃ n. ((f ^ n))(∅)(x0)) ↔ f(λ x0. ∃ n. ((f ^ n))(∅)(x0))(x0) |
⊦ chain(chn) ↔ (∀ m, n. chn(m) ⊆ chn(n) ∨ chn(n) ⊆ chn(m))
monotone(f), ∃ m, n. ¬(((f ^ m))(∅) ⊆ ((f ^ n))(∅) ∨ ((f ^ n))(∅) ⊆ ((f ^ m))(∅)) ⊦ (∃ n. ((f ^ n))(∅)(x0)) ↔ f(λ x0. ∃ n. ((f ^ n))(∅)(x0))(x0)
Used terms: λ n. ((f ^ n))(∅)
| ⊦ chain(chn) ↔ (∀ m, n. chn(m) ⊆ chn(n) ∨ chn(n) ⊆ chn(m)) |
| monotone(f), ∃ m, n. ¬(((f ^ m))(∅) ⊆ ((f ^ n))(∅) ∨ ((f ^ n))(∅) ⊆ ((f ^ m))(∅)) ⊦ (∃ n. ((f ^ n))(∅)(x0)) ↔ f(λ x0. ∃ n. ((f ^ n))(∅)(x0))(x0) |
monotone(f), ¬ ((f ^ m))(∅) ⊆ ((f ^ n))(∅), ¬ ((f ^ n))(∅) ⊆ ((f ^ m))(∅) ⊦ (∃ n. ((f ^ n))(∅)(x0)) ↔ f(λ x0. ∃ n. ((f ^ n))(∅)(x0))(x0)
| monotone(f), ¬ ((f ^ m))(∅) ⊆ ((f ^ n))(∅), ¬ ((f ^ n))(∅) ⊆ ((f ^ m))(∅) ⊦ (∃ n. ((f ^ n))(∅)(x0)) ↔ f(λ x0. ∃ n. ((f ^ n))(∅)(x0))(x0) |
monotone(f), m ≤ n ⊦ ((f ^ m))(∅) ⊆ ((f ^ n))(∅)
monotone(f), ¬ m ≤ n, ¬ ((f ^ m))(∅) ⊆ ((f ^ n))(∅), ¬ ((f ^ n))(∅) ⊆ ((f ^ m))(∅) ⊦ (∃ n. ((f ^ n))(∅)(x0)) ↔ f(λ x0. ∃ n. ((f ^ n))(∅)(x0))(x0)
Used terms: f, m, n
| monotone(f), m ≤ n ⊦ ((f ^ m))(∅) ⊆ ((f ^ n))(∅) |
| monotone(f), ¬ m ≤ n, ¬ ((f ^ m))(∅) ⊆ ((f ^ n))(∅), ¬ ((f ^ n))(∅) ⊆ ((f ^ m))(∅) ⊦ (∃ n. ((f ^ n))(∅)(x0)) ↔ f(λ x0. ∃ n. ((f ^ n))(∅)(x0))(x0) |
monotone(f), m ≤ n ⊦ ((f ^ m))(∅) ⊆ ((f ^ n))(∅)
Used simplifier rules: ⊦ m ≤ n ↔ ¬ n < m; (ss) ⊦ m < n → m ≤ n; (s) Used terms: f, n, m
| monotone(f), m ≤ n ⊦ ((f ^ m))(∅) ⊆ ((f ^ n))(∅) |
| monotone(f), ∀ x. f(λ x0. ∃ n. ((f ^ n))(∅)(x0))(x) ↔ (∃ n. f(((f ^ n))(∅))(x)) ⊦ (∃ n. ((f ^ n))(∅)(x0)) ↔ f(λ x0. ∃ n. ((f ^ n))(∅)(x0))(x0) |
monotone(f), f(λ x0. ∃ n. ((f ^ n))(∅)(x0))(x0) ↔ (∃ n. f(((f ^ n))(∅))(x0)), ∀ x. f(λ x0. ∃ n. ((f ^ n))(∅)(x0))(x) ↔ (∃ n. f(((f ^ n))(∅))(x)) ⊦ (∃ n. ((f ^ n))(∅)(x0)) ↔ f(λ x0. ∃ n. ((f ^ n))(∅)(x0))(x0)
Used terms: x0
| monotone(f), f(λ x0. ∃ n. ((f ^ n))(∅)(x0))(x0) ↔ (∃ n. f(((f ^ n))(∅))(x0)), ∀ x. f(λ x0. ∃ n. ((f ^ n))(∅)(x0))(x) ↔ (∃ n. f(((f ^ n))(∅))(x)) ⊦ (∃ n. ((f ^ n))(∅)(x0)) ↔ f(λ x0. ∃ n. ((f ^ n))(∅)(x0))(x0) |
monotone(f), f(λ x0. ∃ n. ((f ^ n))(∅)(x0))(x0) ↔ (∃ n. f(((f ^ n))(∅))(x0)), ∀ x. f(λ x0. ∃ n. ((f ^ n))(∅)(x0))(x) ↔ (∃ n. f(((f ^ n))(∅))(x)), ∃ n. ((f ^ n))(∅)(x0) ⊦ f(λ x0. ∃ n. ((f ^ n))(∅)(x0))(x0)
monotone(f), f(λ x0. ∃ n. ((f ^ n))(∅)(x0))(x0) ↔ (∃ n. f(((f ^ n))(∅))(x0)), ∀ x. f(λ x0. ∃ n. ((f ^ n))(∅)(x0))(x) ↔ (∃ n. f(((f ^ n))(∅))(x)), f(λ x0. ∃ n. ((f ^ n))(∅)(x0))(x0) ⊦ ∃ n. ((f ^ n))(∅)(x0)
| monotone(f), f(λ x0. ∃ n. ((f ^ n))(∅)(x0))(x0) ↔ (∃ n. f(((f ^ n))(∅))(x0)), ∀ x. f(λ x0. ∃ n. ((f ^ n))(∅)(x0))(x) ↔ (∃ n. f(((f ^ n))(∅))(x)), ∃ n. ((f ^ n))(∅)(x0) ⊦ f(λ x0. ∃ n. ((f ^ n))(∅)(x0))(x0) |
((f ^ n))(∅)(x0), monotone(f), f(λ x0. ∃ n. ((f ^ n))(∅)(x0))(x0) ↔ (∃ n. f(((f ^ n))(∅))(x0)), ∀ x. f(λ x0. ∃ n. ((f ^ n))(∅)(x0))(x) ↔ (∃ n. f(((f ^ n))(∅))(x)) ⊦ f(λ x0. ∃ n. ((f ^ n))(∅)(x0))(x0)
| ((f ^ n))(∅)(x0), monotone(f), f(λ x0. ∃ n. ((f ^ n))(∅)(x0))(x0) ↔ (∃ n. f(((f ^ n))(∅))(x0)), ∀ x. f(λ x0. ∃ n. ((f ^ n))(∅)(x0))(x) ↔ (∃ n. f(((f ^ n))(∅))(x)) ⊦ f(λ x0. ∃ n. ((f ^ n))(∅)(x0))(x0) |
((f ^ n))(∅)(x0), monotone(f), ∀ x. f(λ x0. ∃ n. ((f ^ n))(∅)(x0))(x) ↔ (∃ n. f(((f ^ n))(∅))(x)) ⊦ ∃ n. f(((f ^ n))(∅))(x0), f(λ x0. ∃ n. ((f ^ n))(∅)(x0))(x0)
| ((f ^ n))(∅)(x0), monotone(f), ∀ x. f(λ x0. ∃ n. ((f ^ n))(∅)(x0))(x) ↔ (∃ n. f(((f ^ n))(∅))(x)) ⊦ ∃ n. f(((f ^ n))(∅))(x0), f(λ x0. ∃ n. ((f ^ n))(∅)(x0))(x0) |
n = n0 +1, ((f ^ n))(∅)(x0), monotone(f), ∀ x. f(λ x0. ∃ n. ((f ^ n))(∅)(x0))(x) ↔ (∃ n. f(((f ^ n))(∅))(x)) ⊦ ∃ n. f(((f ^ n))(∅))(x0), f(λ x0. ∃ n. ((f ^ n))(∅)(x0))(x0)
Used simplifier rules: iterate-base: ⊦ ((f ^ 0))(iset) = iset; empty-def: ⊦ ¬ ∅(x); nat freely generated by 0, +1;;
| n = n0 +1, ((f ^ n))(∅)(x0), monotone(f), ∀ x. f(λ x0. ∃ n. ((f ^ n))(∅)(x0))(x) ↔ (∃ n. f(((f ^ n))(∅))(x)) ⊦ ∃ n. f(((f ^ n))(∅))(x0), f(λ x0. ∃ n. ((f ^ n))(∅)(x0))(x0) |
f(((f ^ n0))(∅))(x0), monotone(f), ∀ x. f(λ x0. ∃ n. ((f ^ n))(∅)(x0))(x) ↔ (∃ n. f(((f ^ n))(∅))(x)) ⊦ ∃ n. f(((f ^ n))(∅))(x0), f(λ x0. ∃ n. ((f ^ n))(∅)(x0))(x0)
Used simplifier rules: iterate-rec: ⊦ ((f ^ (n + 1)))(iset) = f(((f ^ n))(iset)); c: ⊦ m + n = n + m; from specification nat-basic a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic ⊦ m +1 = m + 1; (s)
| f(((f ^ n0))(∅))(x0), monotone(f), ∀ x. f(λ x0. ∃ n. ((f ^ n))(∅)(x0))(x) ↔ (∃ n. f(((f ^ n))(∅))(x)) ⊦ ∃ n. f(((f ^ n))(∅))(x0), f(λ x0. ∃ n. ((f ^ n))(∅)(x0))(x0) |
Used terms: n0
| monotone(f), f(λ x0. ∃ n. ((f ^ n))(∅)(x0))(x0) ↔ (∃ n. f(((f ^ n))(∅))(x0)), ∀ x. f(λ x0. ∃ n. ((f ^ n))(∅)(x0))(x) ↔ (∃ n. f(((f ^ n))(∅))(x)), f(λ x0. ∃ n. ((f ^ n))(∅)(x0))(x0) ⊦ ∃ n. ((f ^ n))(∅)(x0) |
monotone(f), ∀ x. f(λ x0. ∃ n. ((f ^ n))(∅)(x0))(x) ↔ (∃ n. f(((f ^ n))(∅))(x)), ∃ n. f(((f ^ n))(∅))(x0), f(λ x0. ∃ n. ((f ^ n))(∅)(x0))(x0) ⊦ ∃ n. ((f ^ n))(∅)(x0)
| monotone(f), ∀ x. f(λ x0. ∃ n. ((f ^ n))(∅)(x0))(x) ↔ (∃ n. f(((f ^ n))(∅))(x)), ∃ n. f(((f ^ n))(∅))(x0), f(λ x0. ∃ n. ((f ^ n))(∅)(x0))(x0) ⊦ ∃ n. ((f ^ n))(∅)(x0) |
f(((f ^ n))(∅))(x0), monotone(f), ∀ x. f(λ x0. ∃ n. ((f ^ n))(∅)(x0))(x) ↔ (∃ n. f(((f ^ n))(∅))(x)), f(λ x0. ∃ n. ((f ^ n))(∅)(x0))(x0) ⊦ ∃ n. ((f ^ n))(∅)(x0)
| f(((f ^ n))(∅))(x0), monotone(f), ∀ x. f(λ x0. ∃ n. ((f ^ n))(∅)(x0))(x) ↔ (∃ n. f(((f ^ n))(∅))(x)), f(λ x0. ∃ n. ((f ^ n))(∅)(x0))(x0) ⊦ ∃ n. ((f ^ n))(∅)(x0) |
Used simplifier rules: iterate-rec: ⊦ ((f ^ (n + 1)))(iset) = f(((f ^ n))(iset)); a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic c: ⊦ m + n = n + m; from specification nat-basic Used terms: n + 1
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.