| ⊦ writersOk(bq, pq, writers) ∧ isPropFO(n, l, bq(t)) → writersOk(bq(t := bq(t) -p n), pq(l := pq(l) + FO(t) '), writers) |
isPropFO(n, l, bq(t)), writersOk(bq, pq, writers), ¬ writersOk(bq(t := bq(t) -p n), pq(l := pq(l) + FO(t) '), writers) ⊦
| isPropFO(n, l, bq(t)), writersOk(bq, pq, writers), ¬ writersOk(bq(t := bq(t) -p n), pq(l := pq(l) + FO(t) '), writers) ⊦ |
isPropFO(n, l, bq(t)), ∀ l, t. (t ∈ writers(l) → (∀ l0. l0 ≠ l → ¬ t ∈ writers(l0))) ∧ (¬ t ∈ writers(l) → pq(l) |W | t = [] ∧ bq(t) |WL l = []) ⊦ (t0 ∈ writers(l0) → l1 ≠ l0 → ¬ t0 ∈ writers(l1)) ∧ (¬ t0 ∈ writers(l0) → (l = l0 ⊃ pq(l0) + FO(t) ';pq(l0)) |W | t0 = [] ∧ (t = t0 ⊃ bq(t0) -p n;bq(t0)) |WL l0 = [])
Used simplifier rules: writersOk: ⊦ writersOk(bq, p, writers) ↔ (∀ l, t. (t ∈ writers(l) → (∀ l0. l0 ≠ l → ¬ t ∈ writers(l0))) ∧ (¬ t ∈ writers(l) → p(l) |W | t = [] ∧ bq(t) |WL l = []));
| isPropFO(n, l, bq(t)), ∀ l, t. (t ∈ writers(l) → (∀ l0. l0 ≠ l → ¬ t ∈ writers(l0))) ∧ (¬ t ∈ writers(l) → pq(l) |W | t = [] ∧ bq(t) |WL l = []) ⊦ (t0 ∈ writers(l0) → l1 ≠ l0 → ¬ t0 ∈ writers(l1)) ∧ (¬ t0 ∈ writers(l0) → (l = l0 ⊃ pq(l0) + FO(t) ';pq(l0)) |W | t0 = [] ∧ (t = t0 ⊃ bq(t0) -p n;bq(t0)) |WL l0 = []) |
l1 ≠ l0, isPropFO(n, l, bq(t)), t0 ∈ writers(l1), t0 ∈ writers(l0), ∀ l, t. (t ∈ writers(l) → (∀ l0. l0 ≠ l → ¬ t ∈ writers(l0))) ∧ (¬ t ∈ writers(l) → pq(l) |W | t = [] ∧ bq(t) |WL l = []) ⊦
isPropFO(n, l, bq(t)), ¬ t0 ∈ writers(l0), ∀ l, t. (t ∈ writers(l) → (∀ l0. l0 ≠ l → ¬ t ∈ writers(l0))) ∧ (¬ t ∈ writers(l) → pq(l) |W | t = [] ∧ bq(t) |WL l = []) ⊦ (l = l0 ⊃ pq(l0) + FO(t) ';pq(l0)) |W | t0 = [] ∧ (t = t0 ⊃ bq(t0) -p n;bq(t0)) |WL l0 = []
| l1 ≠ l0, isPropFO(n, l, bq(t)), t0 ∈ writers(l1), t0 ∈ writers(l0), ∀ l, t. (t ∈ writers(l) → (∀ l0. l0 ≠ l → ¬ t ∈ writers(l0))) ∧ (¬ t ∈ writers(l) → pq(l) |W | t = [] ∧ bq(t) |WL l = []) ⊦ |
# writers(l1) ≠ 0, # writers(l0) ≠ 0, l1 ≠ l0, writers(l1) ≠ ∅, writers(l0) ≠ ∅, isPropFO(n, l, bq(t)), t0 ∈ writers(l1), t0 ∈ writers(l0), ∀ l, t. (t ∈ writers(l) → (∀ l0. l0 ≠ l → ¬ t ∈ writers(l0))) ∧ (¬ t ∈ writers(l) → pq(l) |W | t = [] ∧ bq(t) |WL l = []) ⊦
Used simplifier rules: size-zero-01: ⊦ s ≠ ∅ → # s ≠ 0; (forward) from specification set-basic ne-01: ⊦ a ∈ s → s ≠ ∅; (forward) from specification set-basic
| # writers(l1) ≠ 0, # writers(l0) ≠ 0, l1 ≠ l0, writers(l1) ≠ ∅, writers(l0) ≠ ∅, isPropFO(n, l, bq(t)), t0 ∈ writers(l1), t0 ∈ writers(l0), ∀ l, t. (t ∈ writers(l) → (∀ l0. l0 ≠ l → ¬ t ∈ writers(l0))) ∧ (¬ t ∈ writers(l) → pq(l) |W | t = [] ∧ bq(t) |WL l = []) ⊦ |
# writers(l1) ≠ 0, # writers(l0) ≠ 0, l1 ≠ l0, writers(l1) ≠ ∅, writers(l0) ≠ ∅, isPropFO(n, l, bq(t)), t0 ∈ writers(l0), t0 ∈ writers(l1), t0 ∈ writers(l0) → (∀ l1. l1 ≠ l0 → ¬ t0 ∈ writers(l1)), ¬ t0 ∈ writers(l0) → pq(l0) |W | t0 = [] ∧ bq(t0) |WL l0 = [], ∀ l, t. (t ∈ writers(l) → (∀ l0. l0 ≠ l → ¬ t ∈ writers(l0))) ∧ (¬ t ∈ writers(l) → pq(l) |W | t = [] ∧ bq(t) |WL l = []) ⊦
Used terms: l0, t0
| # writers(l1) ≠ 0, # writers(l0) ≠ 0, l1 ≠ l0, writers(l1) ≠ ∅, writers(l0) ≠ ∅, isPropFO(n, l, bq(t)), t0 ∈ writers(l0), t0 ∈ writers(l1), t0 ∈ writers(l0) → (∀ l1. l1 ≠ l0 → ¬ t0 ∈ writers(l1)), ¬ t0 ∈ writers(l0) → pq(l0) |W | t0 = [] ∧ bq(t0) |WL l0 = [], ∀ l, t. (t ∈ writers(l) → (∀ l0. l0 ≠ l → ¬ t ∈ writers(l0))) ∧ (¬ t ∈ writers(l) → pq(l) |W | t = [] ∧ bq(t) |WL l = []) ⊦ |
# writers(l1) ≠ 0, # writers(l0) ≠ 0, l1 ≠ l0, writers(l1) ≠ ∅, writers(l0) ≠ ∅, isPropFO(n, l, bq(t)), t0 ∈ writers(l1), t0 ∈ writers(l0), ∀ l, t. (t ∈ writers(l) → (∀ l0. l0 ≠ l → ¬ t ∈ writers(l0))) ∧ (¬ t ∈ writers(l) → pq(l) |W | t = [] ∧ bq(t) |WL l = []), ∀ l1. l1 ≠ l0 → ¬ t0 ∈ writers(l1) ⊦
| # writers(l1) ≠ 0, # writers(l0) ≠ 0, l1 ≠ l0, writers(l1) ≠ ∅, writers(l0) ≠ ∅, isPropFO(n, l, bq(t)), t0 ∈ writers(l1), t0 ∈ writers(l0), ∀ l, t. (t ∈ writers(l) → (∀ l0. l0 ≠ l → ¬ t ∈ writers(l0))) ∧ (¬ t ∈ writers(l) → pq(l) |W | t = [] ∧ bq(t) |WL l = []), ∀ l1. l1 ≠ l0 → ¬ t0 ∈ writers(l1) ⊦ |
Used terms: l1
| isPropFO(n, l, bq(t)), ¬ t0 ∈ writers(l0), ∀ l, t. (t ∈ writers(l) → (∀ l0. l0 ≠ l → ¬ t ∈ writers(l0))) ∧ (¬ t ∈ writers(l) → pq(l) |W | t = [] ∧ bq(t) |WL l = []) ⊦ (l = l0 ⊃ pq(l0) + FO(t) ';pq(l0)) |W | t0 = [] ∧ (t = t0 ⊃ bq(t0) -p n;bq(t0)) |WL l0 = [] |
(l = l0 ⊃ pq(l0) + FO(t) ';pq(l0)) |W | t0 ≠ [], isPropFO(n, l, bq(t)), ¬ t0 ∈ writers(l0), ∀ l, t. (t ∈ writers(l) → (∀ l0. l0 ≠ l → ¬ t ∈ writers(l0))) ∧ (¬ t ∈ writers(l) → pq(l) |W | t = [] ∧ bq(t) |WL l = []) ⊦
(t = t0 ⊃ bq(t0) -p n;bq(t0)) |WL l0 ≠ [], isPropFO(n, l, bq(t)), ¬ t0 ∈ writers(l0), ∀ l, t. (t ∈ writers(l) → (∀ l0. l0 ≠ l → ¬ t ∈ writers(l0))) ∧ (¬ t ∈ writers(l) → pq(l) |W | t = [] ∧ bq(t) |WL l = []) ⊦
| (l = l0 ⊃ pq(l0) + FO(t) ';pq(l0)) |W | t0 ≠ [], isPropFO(n, l, bq(t)), ¬ t0 ∈ writers(l0), ∀ l, t. (t ∈ writers(l) → (∀ l0. l0 ≠ l → ¬ t ∈ writers(l0))) ∧ (¬ t ∈ writers(l) → pq(l) |W | t = [] ∧ bq(t) |WL l = []) ⊦ |
l = l0, (pq(l0) + FO(t) ')|W | t0 ≠ [], isPropFO(n, l, bq(t)), ¬ t0 ∈ writers(l0), ∀ l, t. (t ∈ writers(l) → (∀ l0. l0 ≠ l → ¬ t ∈ writers(l0))) ∧ (¬ t ∈ writers(l) → pq(l) |W | t = [] ∧ bq(t) |WL l = []) ⊦
l ≠ l0, pq(l0) |W | t0 ≠ [], isPropFO(n, l, bq(t)), ¬ t0 ∈ writers(l0), ∀ l, t. (t ∈ writers(l) → (∀ l0. l0 ≠ l → ¬ t ∈ writers(l0))) ∧ (¬ t ∈ writers(l) → pq(l) |W | t = [] ∧ bq(t) |WL l = []) ⊦
| l = l0, (pq(l0) + FO(t) ')|W | t0 ≠ [], isPropFO(n, l, bq(t)), ¬ t0 ∈ writers(l0), ∀ l, t. (t ∈ writers(l) → (∀ l0. l0 ≠ l → ¬ t ∈ writers(l0))) ∧ (¬ t ∈ writers(l) → pq(l) |W | t = [] ∧ bq(t) |WL l = []) ⊦ |
pq(l0) |W | t0 ≠ [], isPropFO(n, l0, bq(t)), ¬ t0 ∈ writers(l0), ∀ l, t. (t ∈ writers(l) → (∀ l0. l0 ≠ l → ¬ t ∈ writers(l0))) ∧ (¬ t ∈ writers(l) → pq(l) |W | t = [] ∧ bq(t) |WL l = []) ⊦
Used simplifier rules: a: ⊦ (x + y) + z = x + y + z; from specification list ⊦ x + [] = x; (s) ⊦ FO(t) ' |W = []; (s) ⊦ (fowl + fowl0)|W = fowl |W + fowl0 |W; (s)
| pq(l0) |W | t0 ≠ [], isPropFO(n, l0, bq(t)), ¬ t0 ∈ writers(l0), ∀ l, t. (t ∈ writers(l) → (∀ l0. l0 ≠ l → ¬ t ∈ writers(l0))) ∧ (¬ t ∈ writers(l) → pq(l) |W | t = [] ∧ bq(t) |WL l = []) ⊦ |
Used terms: l0, t0
| l ≠ l0, pq(l0) |W | t0 ≠ [], isPropFO(n, l, bq(t)), ¬ t0 ∈ writers(l0), ∀ l, t. (t ∈ writers(l) → (∀ l0. l0 ≠ l → ¬ t ∈ writers(l0))) ∧ (¬ t ∈ writers(l) → pq(l) |W | t = [] ∧ bq(t) |WL l = []) ⊦ |
Used terms: l0, t0
| (t = t0 ⊃ bq(t0) -p n;bq(t0)) |WL l0 ≠ [], isPropFO(n, l, bq(t)), ¬ t0 ∈ writers(l0), ∀ l, t. (t ∈ writers(l) → (∀ l0. l0 ≠ l → ¬ t ∈ writers(l0))) ∧ (¬ t ∈ writers(l) → pq(l) |W | t = [] ∧ bq(t) |WL l = []) ⊦ |
t = t0, bq(t0) -p n |WL l0 ≠ [], isPropFO(n, l, bq(t)), ¬ t0 ∈ writers(l0), ∀ l, t. (t ∈ writers(l) → (∀ l0. l0 ≠ l → ¬ t ∈ writers(l0))) ∧ (¬ t ∈ writers(l) → pq(l) |W | t = [] ∧ bq(t) |WL l = []) ⊦
t ≠ t0, bq(t0) |WL l0 ≠ [], isPropFO(n, l, bq(t)), ¬ t0 ∈ writers(l0), ∀ l, t. (t ∈ writers(l) → (∀ l0. l0 ≠ l → ¬ t ∈ writers(l0))) ∧ (¬ t ∈ writers(l) → pq(l) |W | t = [] ∧ bq(t) |WL l = []) ⊦
| t = t0, bq(t0) -p n |WL l0 ≠ [], isPropFO(n, l, bq(t)), ¬ t0 ∈ writers(l0), ∀ l, t. (t ∈ writers(l) → (∀ l0. l0 ≠ l → ¬ t ∈ writers(l0))) ∧ (¬ t ∈ writers(l) → pq(l) |W | t = [] ∧ bq(t) |WL l = []) ⊦ |
bq(t0) |WL l0 ≠ [], isPropFO(n, l, bq(t0)), ¬ t0 ∈ writers(l0), ∀ l, t. (t ∈ writers(l) → (∀ l0. l0 ≠ l → ¬ t ∈ writers(l0))) ∧ (¬ t ∈ writers(l) → pq(l) |W | t = [] ∧ bq(t) |WL l = []) ⊦
Used simplifier rules: isPropFO-restrict-delpos: ⊦ isPropFO(n, l, bel) → bel -p n |WL l0 = bel |WL l0;
| bq(t0) |WL l0 ≠ [], isPropFO(n, l, bq(t0)), ¬ t0 ∈ writers(l0), ∀ l, t. (t ∈ writers(l) → (∀ l0. l0 ≠ l → ¬ t ∈ writers(l0))) ∧ (¬ t ∈ writers(l) → pq(l) |W | t = [] ∧ bq(t) |WL l = []) ⊦ |
Used terms: l0, t0
| t ≠ t0, bq(t0) |WL l0 ≠ [], isPropFO(n, l, bq(t)), ¬ t0 ∈ writers(l0), ∀ l, t. (t ∈ writers(l) → (∀ l0. l0 ≠ l → ¬ t ∈ writers(l0))) ∧ (¬ t ∈ writers(l) → pq(l) |W | t = [] ∧ bq(t) |WL l = []) ⊦ |
Used terms: l0, t0
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.