| ⊦ writersOk(p, writers) ∧ p(l) = fow ' + fowl → writersOk(p(l := fowl), writers) |
p(l) = fow ' + fowl, writersOk(p, writers), ¬ writersOk(p(l := fowl), writers) ⊦
| p(l) = fow ' + fowl, writersOk(p, writers), ¬ writersOk(p(l := fowl), writers) ⊦ |
p(l) = fow ' + fowl, fow ∈ p(l), ∀ l, t. (t ∈ writers(l) → (∀ l0. l0 ≠ l → ¬ t ∈ writers(l0))) ∧ (¬ t ∈ writers(l) → p(l) |W | t = []) ⊦ (t ∈ writers(l0) → l1 ≠ l0 → ¬ t ∈ writers(l1)) ∧ (¬ t ∈ writers(l0) → (l = l0 ⊃ fowl;p(l0)) |W | t = [])
Used simplifier rules: writersOk: ⊦ writersOk(p, writers) ↔ (∀ l, t. (t ∈ writers(l) → (∀ l0. l0 ≠ l → ¬ t ∈ writers(l0))) ∧ (¬ t ∈ writers(l) → p(l) |W | t = [])); a: ⊦ (x + y) + z = x + y + z; from specification list in-14: ⊦ a ' + x = y → a ∈ y; (forward) from specification list
| p(l) = fow ' + fowl, fow ∈ p(l), ∀ l, t. (t ∈ writers(l) → (∀ l0. l0 ≠ l → ¬ t ∈ writers(l0))) ∧ (¬ t ∈ writers(l) → p(l) |W | t = []) ⊦ (t ∈ writers(l0) → l1 ≠ l0 → ¬ t ∈ writers(l1)) ∧ (¬ t ∈ writers(l0) → (l = l0 ⊃ fowl;p(l0)) |W | t = []) |
p(l) = fow ' + fowl, l1 ≠ l0, t ∈ writers(l1), t ∈ writers(l0), fow ∈ p(l), ∀ l, t. (t ∈ writers(l) → (∀ l0. l0 ≠ l → ¬ t ∈ writers(l0))) ∧ (¬ t ∈ writers(l) → p(l) |W | t = []) ⊦
p(l) = fow ' + fowl, (l = l0 ⊃ fowl;p(l0)) |W | t ≠ [], fow ∈ p(l), ¬ t ∈ writers(l0), ∀ l, t. (t ∈ writers(l) → (∀ l0. l0 ≠ l → ¬ t ∈ writers(l0))) ∧ (¬ t ∈ writers(l) → p(l) |W | t = []) ⊦
| p(l) = fow ' + fowl, l1 ≠ l0, t ∈ writers(l1), t ∈ writers(l0), fow ∈ p(l), ∀ l, t. (t ∈ writers(l) → (∀ l0. l0 ≠ l → ¬ t ∈ writers(l0))) ∧ (¬ t ∈ writers(l) → p(l) |W | t = []) ⊦ |
p(l) = fow ' + fowl, # writers(l1) ≠ 0, # writers(l0) ≠ 0, l1 ≠ l0, writers(l1) ≠ ∅, writers(l0) ≠ ∅, t ∈ writers(l1), t ∈ writers(l0), fow ∈ p(l), ∀ l, t. (t ∈ writers(l) → (∀ l0. l0 ≠ l → ¬ t ∈ writers(l0))) ∧ (¬ t ∈ writers(l) → p(l) |W | t = []) ⊦
Used simplifier rules: size-zero-01: ⊦ s ≠ ∅ → # s ≠ 0; (forward) from specification set-basic ne-01: ⊦ a ∈ s → s ≠ ∅; (forward) from specification set-basic
| p(l) = fow ' + fowl, # writers(l1) ≠ 0, # writers(l0) ≠ 0, l1 ≠ l0, writers(l1) ≠ ∅, writers(l0) ≠ ∅, t ∈ writers(l1), t ∈ writers(l0), fow ∈ p(l), ∀ l, t. (t ∈ writers(l) → (∀ l0. l0 ≠ l → ¬ t ∈ writers(l0))) ∧ (¬ t ∈ writers(l) → p(l) |W | t = []) ⊦ |
p(l) = fow ' + fowl, # writers(l1) ≠ 0, # writers(l0) ≠ 0, l1 ≠ l0, writers(l1) ≠ ∅, writers(l0) ≠ ∅, fow ∈ p(l), t ∈ writers(l0), t ∈ writers(l1), t ∈ writers(l1) → (∀ l0. l0 ≠ l1 → ¬ t ∈ writers(l0)), ¬ t ∈ writers(l1) → p(l1) |W | t = [], ∀ l, t. (t ∈ writers(l) → (∀ l0. l0 ≠ l → ¬ t ∈ writers(l0))) ∧ (¬ t ∈ writers(l) → p(l) |W | t = []) ⊦
Used terms: l1, t
| p(l) = fow ' + fowl, # writers(l1) ≠ 0, # writers(l0) ≠ 0, l1 ≠ l0, writers(l1) ≠ ∅, writers(l0) ≠ ∅, fow ∈ p(l), t ∈ writers(l0), t ∈ writers(l1), t ∈ writers(l1) → (∀ l0. l0 ≠ l1 → ¬ t ∈ writers(l0)), ¬ t ∈ writers(l1) → p(l1) |W | t = [], ∀ l, t. (t ∈ writers(l) → (∀ l0. l0 ≠ l → ¬ t ∈ writers(l0))) ∧ (¬ t ∈ writers(l) → p(l) |W | t = []) ⊦ |
p(l) = fow ' + fowl, # writers(l1) ≠ 0, # writers(l0) ≠ 0, l1 ≠ l0, writers(l1) ≠ ∅, writers(l0) ≠ ∅, t ∈ writers(l1), t ∈ writers(l0), fow ∈ p(l), ∀ l, t. (t ∈ writers(l) → (∀ l0. l0 ≠ l → ¬ t ∈ writers(l0))) ∧ (¬ t ∈ writers(l) → p(l) |W | t = []), ∀ l0. l0 ≠ l1 → ¬ t ∈ writers(l0) ⊦
| p(l) = fow ' + fowl, # writers(l1) ≠ 0, # writers(l0) ≠ 0, l1 ≠ l0, writers(l1) ≠ ∅, writers(l0) ≠ ∅, t ∈ writers(l1), t ∈ writers(l0), fow ∈ p(l), ∀ l, t. (t ∈ writers(l) → (∀ l0. l0 ≠ l → ¬ t ∈ writers(l0))) ∧ (¬ t ∈ writers(l) → p(l) |W | t = []), ∀ l0. l0 ≠ l1 → ¬ t ∈ writers(l0) ⊦ |
Used terms: l0
| p(l) = fow ' + fowl, (l = l0 ⊃ fowl;p(l0)) |W | t ≠ [], fow ∈ p(l), ¬ t ∈ writers(l0), ∀ l, t. (t ∈ writers(l) → (∀ l0. l0 ≠ l → ¬ t ∈ writers(l0))) ∧ (¬ t ∈ writers(l) → p(l) |W | t = []) ⊦ |
l = l0, p(l) = fow ' + fowl, fowl |W | t ≠ [], fow ∈ p(l), ¬ t ∈ writers(l0), ∀ l, t. (t ∈ writers(l) → (∀ l0. l0 ≠ l → ¬ t ∈ writers(l0))) ∧ (¬ t ∈ writers(l) → p(l) |W | t = []) ⊦
p(l) = fow ' + fowl, l ≠ l0, p(l0) |W | t ≠ [], fow ∈ p(l), ¬ t ∈ writers(l0), ∀ l, t. (t ∈ writers(l) → (∀ l0. l0 ≠ l → ¬ t ∈ writers(l0))) ∧ (¬ t ∈ writers(l) → p(l) |W | t = []) ⊦
| l = l0, p(l) = fow ' + fowl, fowl |W | t ≠ [], fow ∈ p(l), ¬ t ∈ writers(l0), ∀ l, t. (t ∈ writers(l) → (∀ l0. l0 ≠ l → ¬ t ∈ writers(l0))) ∧ (¬ t ∈ writers(l) → p(l) |W | t = []) ⊦ |
p(l0) = fow ' + fowl, fowl |W | t ≠ [], fow ∈ p(l0), ¬ t ∈ writers(l0), ∀ l, t. (t ∈ writers(l) → (∀ l0. l0 ≠ l → ¬ t ∈ writers(l0))) ∧ (¬ t ∈ writers(l) → p(l) |W | t = []) ⊦
Used simplifier rules: a: ⊦ (x + y) + z = x + y + z; from specification list in-14: ⊦ a ' + x = y → a ∈ y; (forward) from specification list
| p(l0) = fow ' + fowl, fowl |W | t ≠ [], fow ∈ p(l0), ¬ t ∈ writers(l0), ∀ l, t. (t ∈ writers(l) → (∀ l0. l0 ≠ l → ¬ t ∈ writers(l0))) ∧ (¬ t ∈ writers(l) → p(l) |W | t = []) ⊦ |
p(l0) = fow ' + fowl, fowl |W | t ≠ [], fow ∈ p(l0), ¬ t ∈ writers(l0), t ∈ writers(l0) → (∀ l1. l1 ≠ l0 → ¬ t ∈ writers(l1)), ¬ t ∈ writers(l0) → p(l0) |W | t = [], ∀ l, t. (t ∈ writers(l) → (∀ l0. l0 ≠ l → ¬ t ∈ writers(l0))) ∧ (¬ t ∈ writers(l) → p(l) |W | t = []) ⊦
Used terms: l0, t
| p(l0) = fow ' + fowl, fowl |W | t ≠ [], fow ∈ p(l0), ¬ t ∈ writers(l0), t ∈ writers(l0) → (∀ l1. l1 ≠ l0 → ¬ t ∈ writers(l1)), ¬ t ∈ writers(l0) → p(l0) |W | t = [], ∀ l, t. (t ∈ writers(l) → (∀ l0. l0 ≠ l → ¬ t ∈ writers(l0))) ∧ (¬ t ∈ writers(l) → p(l) |W | t = []) ⊦ |
p(l0) = fow ' + fowl, p(l0) |W | t = [], fowl |W | t ≠ [], fow ∈ p(l0), ¬ t ∈ writers(l0), ∀ l, t. (t ∈ writers(l) → (∀ l0. l0 ≠ l → ¬ t ∈ writers(l0))) ∧ (¬ t ∈ writers(l) → p(l) |W | t = []) ⊦
| p(l0) = fow ' + fowl, p(l0) |W | t = [], fowl |W | t ≠ [], fow ∈ p(l0), ¬ t ∈ writers(l0), ∀ l, t. (t ∈ writers(l) → (∀ l0. l0 ≠ l → ¬ t ∈ writers(l0))) ∧ (¬ t ∈ writers(l) → p(l) |W | t = []) ⊦ |
⊦ x = [] ↔ ¬(∃ a. a ∈ x)
p(l0) = fow ' + fowl, fowl |W | t ≠ [], fow ∈ p(l0), ¬ t ∈ writers(l0), ∀ l, t. (t ∈ writers(l) → (∀ l0. l0 ≠ l → ¬ t ∈ writers(l0))) ∧ (¬ t ∈ writers(l) → p(l) |W | t = []), ∀ a. ¬ a ∈ p(l0) |W | t ⊦
Used terms: p(l0) |W | t
| ⊦ x = [] ↔ ¬(∃ a. a ∈ x) |
| p(l0) = fow ' + fowl, fowl |W | t ≠ [], fow ∈ p(l0), ¬ t ∈ writers(l0), ∀ l, t. (t ∈ writers(l) → (∀ l0. l0 ≠ l → ¬ t ∈ writers(l0))) ∧ (¬ t ∈ writers(l) → p(l) |W | t = []), ∀ a. ¬ a ∈ p(l0) |W | t ⊦ |
⊦ x = [] ↔ ¬(∃ a. a ∈ x)
p(l0) = fow ' + fowl, fow ∈ p(l0), ¬ t ∈ writers(l0), ∀ a. ¬ a ∈ p(l0) |W | t, ∀ l, t. (t ∈ writers(l) → (∀ l0. l0 ≠ l → ¬ t ∈ writers(l0))) ∧ (¬ t ∈ writers(l) → p(l) |W | t = []), ∃ a. a ∈ fowl |W | t ⊦
Used terms: fowl |W | t
| ⊦ x = [] ↔ ¬(∃ a. a ∈ x) |
| p(l0) = fow ' + fowl, fow ∈ p(l0), ¬ t ∈ writers(l0), ∀ a. ¬ a ∈ p(l0) |W | t, ∀ l, t. (t ∈ writers(l) → (∀ l0. l0 ≠ l → ¬ t ∈ writers(l0))) ∧ (¬ t ∈ writers(l) → p(l) |W | t = []), ∃ a. a ∈ fowl |W | t ⊦ |
p(l0) = fow ' + fowl, fow0 ∈ fowl |W | t, fow ∈ p(l0), ¬ t ∈ writers(l0), ∀ l, t. (t ∈ writers(l) → (∀ l0. l0 ≠ l → ¬ t ∈ writers(l0))) ∧ (¬ t ∈ writers(l) → p(l) |W | t = []), ∀ a. ¬ a ∈ p(l0) |W | t ⊦
| p(l0) = fow ' + fowl, fow0 ∈ fowl |W | t, fow ∈ p(l0), ¬ t ∈ writers(l0), ∀ l, t. (t ∈ writers(l) → (∀ l0. l0 ≠ l → ¬ t ∈ writers(l0))) ∧ (¬ t ∈ writers(l) → p(l) |W | t = []), ∀ a. ¬ a ∈ p(l0) |W | t ⊦ |
p(l0) = fow ' + fowl, fow ∈ p(l0), fow0 ∈ fowl |W | t, ¬ fow0 ∈ p(l0) |W | t, ¬ t ∈ writers(l0), ∀ l, t. (t ∈ writers(l) → (∀ l0. l0 ≠ l → ¬ t ∈ writers(l0))) ∧ (¬ t ∈ writers(l) → p(l) |W | t = []) ⊦
Used terms: fow0
| p(l0) = fow ' + fowl, fow ∈ p(l0), fow0 ∈ fowl |W | t, ¬ fow0 ∈ p(l0) |W | t, ¬ t ∈ writers(l0), ∀ l, t. (t ∈ writers(l) → (∀ l0. l0 ≠ l → ¬ t ∈ writers(l0))) ∧ (¬ t ∈ writers(l) → p(l) |W | t = []) ⊦ |
⊦ fowl |W = fowl.filter(λ fow. fow.W?)
p(l0) = fow ' + fowl, fow0 ∈ fowl |W | t, fow ∈ p(l0), ¬ fow0 ∈ p(l0).filter(λ fow. fow.W?) | t, ¬ t ∈ writers(l0), ∀ l, t. (t ∈ writers(l) → (∀ l0. l0 ≠ l → ¬ t ∈ writers(l0))) ∧ (¬ t ∈ writers(l) → p(l) |W | t = []) ⊦
Used terms: p(l0)
| ⊦ fowl |W = fowl.filter(λ fow. fow.W?) |
| p(l0) = fow ' + fowl, fow0 ∈ fowl |W | t, fow ∈ p(l0), ¬ fow0 ∈ p(l0).filter(λ fow. fow.W?) | t, ¬ t ∈ writers(l0), ∀ l, t. (t ∈ writers(l) → (∀ l0. l0 ≠ l → ¬ t ∈ writers(l0))) ∧ (¬ t ∈ writers(l) → p(l) |W | t = []) ⊦ |
p(l0) = fow ' + fowl, fow ∈ p(l0), fow0 ∈ fowl |W | t, ¬ t ∈ writers(l0), ¬ fow0 ∈ p(l0).filter(.W?) | t, ∀ l, t. (t ∈ writers(l) → (∀ l0. l0 ≠ l → ¬ t ∈ writers(l0))) ∧ (¬ t ∈ writers(l) → p(l) |W | t = []) ⊦
| p(l0) = fow ' + fowl, fow ∈ p(l0), fow0 ∈ fowl |W | t, ¬ t ∈ writers(l0), ¬ fow0 ∈ p(l0).filter(.W?) | t, ∀ l, t. (t ∈ writers(l) → (∀ l0. l0 ≠ l → ¬ t ∈ writers(l0))) ∧ (¬ t ∈ writers(l) → p(l) |W | t = []) ⊦ |
⊦ fowl | t = fowl.filter(λ fow. fow.tid = t)
p(l0) = fow ' + fowl, fow0 ∈ fowl |W | t, fow ∈ p(l0), ¬ t ∈ writers(l0), ¬ fow0 ∈ p(l0).filter(.W?).filter(λ fow. fow.tid = t), ∀ l, t. (t ∈ writers(l) → (∀ l0. l0 ≠ l → ¬ t ∈ writers(l0))) ∧ (¬ t ∈ writers(l) → p(l) |W | t = []) ⊦
Used terms: p(l0).filter(.W?), t
| ⊦ fowl | t = fowl.filter(λ fow. fow.tid = t) |
| p(l0) = fow ' + fowl, fow0 ∈ fowl |W | t, fow ∈ p(l0), ¬ t ∈ writers(l0), ¬ fow0 ∈ p(l0).filter(.W?).filter(λ fow. fow.tid = t), ∀ l, t. (t ∈ writers(l) → (∀ l0. l0 ≠ l → ¬ t ∈ writers(l0))) ∧ (¬ t ∈ writers(l) → p(l) |W | t = []) ⊦ |
p(l0) = fow ' + fowl, fow ∈ p(l0), fow0 ∈ fowl |W | t, ¬ t ∈ writers(l0), ∀ l, t. (t ∈ writers(l) → (∀ l0. l0 ≠ l → ¬ t ∈ writers(l0))) ∧ (¬ t ∈ writers(l) → p(l) |W | t = []) ⊦ fow0 ∈ p(l0) ∧ fow0.W? ∧ fow0.tid = t
Used simplifier rules: ⊦ a ∈ x.filter(p) ↔ a ∈ x ∧ p(a); (s)
| p(l0) = fow ' + fowl, fow ∈ p(l0), fow0 ∈ fowl |W | t, ¬ t ∈ writers(l0), ∀ l, t. (t ∈ writers(l) → (∀ l0. l0 ≠ l → ¬ t ∈ writers(l0))) ∧ (¬ t ∈ writers(l) → p(l) |W | t = []) ⊦ fow0 ∈ p(l0) ∧ fow0.W? ∧ fow0.tid = t |
⊦ fowl | t = fowl.filter(λ fow. fow.tid = t)
p(l0) = fow ' + fowl, fow0 ∈ fowl |W.filter(λ fow. fow.tid = t), fow ∈ p(l0), ¬ t ∈ writers(l0), ∀ l, t. (t ∈ writers(l) → (∀ l0. l0 ≠ l → ¬ t ∈ writers(l0))) ∧ (¬ t ∈ writers(l) → p(l) |W | t = []) ⊦ fow0 ∈ p(l0) ∧ fow0.W? ∧ fow0.tid = t
Used terms: fowl |W, t
| ⊦ fowl | t = fowl.filter(λ fow. fow.tid = t) |
| p(l0) = fow ' + fowl, fow0 ∈ fowl |W.filter(λ fow. fow.tid = t), fow ∈ p(l0), ¬ t ∈ writers(l0), ∀ l, t. (t ∈ writers(l) → (∀ l0. l0 ≠ l → ¬ t ∈ writers(l0))) ∧ (¬ t ∈ writers(l) → p(l) |W | t = []) ⊦ fow0 ∈ p(l0) ∧ fow0.W? ∧ fow0.tid = t |
p(l0) = fow ' + fowl, fow0 ∈ fowl |W, fow ∈ p(l0), ¬ fow0.tid ∈ writers(l0), ∀ l, t. (t ∈ writers(l) → (∀ l0. l0 ≠ l → ¬ t ∈ writers(l0))) ∧ (¬ t ∈ writers(l) → p(l) |W | t = []) ⊦ fow0 ∈ p(l0) ∧ fow0.W?
Used simplifier rules: ⊦ a ∈ x.filter(p) ↔ a ∈ x ∧ p(a); (s)
| p(l0) = fow ' + fowl, fow0 ∈ fowl |W, fow ∈ p(l0), ¬ fow0.tid ∈ writers(l0), ∀ l, t. (t ∈ writers(l) → (∀ l0. l0 ≠ l → ¬ t ∈ writers(l0))) ∧ (¬ t ∈ writers(l) → p(l) |W | t = []) ⊦ fow0 ∈ p(l0) ∧ fow0.W? |
⊦ fowl |W = fowl.filter(λ fow. fow.W?)
p(l0) = fow ' + fowl, fow ∈ p(l0), fow0 ∈ fowl.filter(λ fow. fow.W?), ¬ fow0.tid ∈ writers(l0), ∀ l, t. (t ∈ writers(l) → (∀ l0. l0 ≠ l → ¬ t ∈ writers(l0))) ∧ (¬ t ∈ writers(l) → p(l) |W | t = []) ⊦ fow0 ∈ p(l0) ∧ fow0.W?
Used terms: fowl
| ⊦ fowl |W = fowl.filter(λ fow. fow.W?) |
| p(l0) = fow ' + fowl, fow ∈ p(l0), fow0 ∈ fowl.filter(λ fow. fow.W?), ¬ fow0.tid ∈ writers(l0), ∀ l, t. (t ∈ writers(l) → (∀ l0. l0 ≠ l → ¬ t ∈ writers(l0))) ∧ (¬ t ∈ writers(l) → p(l) |W | t = []) ⊦ fow0 ∈ p(l0) ∧ fow0.W? |
p(l0) = fow ' + fowl, fow0.W?, fow ∈ p(l0), fow0 ∈ fowl, ¬ fow0.tid ∈ writers(l0), ¬ fow0 ∈ p(l0), ∀ l, t. (t ∈ writers(l) → (∀ l0. l0 ≠ l → ¬ t ∈ writers(l0))) ∧ (¬ t ∈ writers(l) → p(l) |W | t = []) ⊦
Used simplifier rules: ⊦ a ∈ x.filter(p) ↔ a ∈ x ∧ p(a); (s)
| p(l0) = fow ' + fowl, fow0.W?, fow ∈ p(l0), fow0 ∈ fowl, ¬ fow0.tid ∈ writers(l0), ¬ fow0 ∈ p(l0), ∀ l, t. (t ∈ writers(l) → (∀ l0. l0 ≠ l → ¬ t ∈ writers(l0))) ∧ (¬ t ∈ writers(l) → p(l) |W | t = []) ⊦ |
fow0 = W(v, t0), p(l0) = fow ' + fowl, fow0.W?, fow0 ∈ fowl, fow ∈ p(l0), ¬ t0 ∈ writers(l0), ¬ fow0 ∈ p(l0), ∀ l, t. (t ∈ writers(l) → (∀ l0. l0 ≠ l → ¬ t ∈ writers(l0))) ∧ (¬ t ∈ writers(l) → p(l) |W | t = []) ⊦
Used simplifier rules: ⊦ fow.W? → (val = fow.val ∧ tid = fow.tid ↔ fow = W(val, tid)); (elim) Used terms: fow0, v, t0
| fow0 = W(v, t0), p(l0) = fow ' + fowl, fow0.W?, fow0 ∈ fowl, fow ∈ p(l0), ¬ t0 ∈ writers(l0), ¬ fow0 ∈ p(l0), ∀ l, t. (t ∈ writers(l) → (∀ l0. l0 ≠ l → ¬ t ∈ writers(l0))) ∧ (¬ t ∈ writers(l) → p(l) |W | t = []) ⊦ |
p(l0) = fow ' + fowl, fow ∈ p(l0), W(v, t0) ∈ fowl, ¬ t0 ∈ writers(l0), ¬ W(v, t0) ∈ p(l0), ∀ l, t. (t ∈ writers(l) → (∀ l0. l0 ≠ l → ¬ t ∈ writers(l0))) ∧ (¬ t ∈ writers(l) → p(l) |W | t = []) ⊦
Used simplifier rules: ⊦ W(v, tid).W?; (s)
| p(l0) = fow ' + fowl, fow ∈ p(l0), W(v, t0) ∈ fowl, ¬ t0 ∈ writers(l0), ¬ W(v, t0) ∈ p(l0), ∀ l, t. (t ∈ writers(l) → (∀ l0. l0 ≠ l → ¬ t ∈ writers(l0))) ∧ (¬ t ∈ writers(l) → p(l) |W | t = []) ⊦ |
Used simplifier rules: ⊦ a ∈ a0 ' + x ↔ a = a0 ∨ a ∈ x; (s) ⊦ a ∈ y → a ∈ x + y; (s) a: ⊦ (x + y) + z = x + y + z; from specification list
| p(l) = fow ' + fowl, l ≠ l0, p(l0) |W | t ≠ [], fow ∈ p(l), ¬ t ∈ writers(l0), ∀ l, t. (t ∈ writers(l) → (∀ l0. l0 ≠ l → ¬ t ∈ writers(l0))) ∧ (¬ t ∈ writers(l) → p(l) |W | t = []) ⊦ |
Used terms: l0, t
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.