| ⊦ bel ⊒w bel0 ∧ bel.forall(λ be. be = SF ∨ be.l = l) → bel ⊒ bel0 |
bel.forall(λ be. be = SF ∨ be.l = l), bel ⊒w bel0, ¬ bel ⊒ bel0 ⊦
| bel.forall(λ be. be = SF ∨ be.l = l), bel ⊒w bel0, ¬ bel ⊒ bel0 ⊦ |
bel.forall(λ be. be = SF ∨ be.l = l), ¬ bel ⊒ bel0, ∀ l0. bel.filter(λ be. be = SF ∨ be.l = l0) ⊒ bel0.filter(λ be. be = SF ∨ be.l = l0) ⊦
Used simplifier rules: B-postfix-weak: ⊦ bel0 ⊒w bel1 ↔ (∀ l. bel0 |SF l ⊒ bel1 |SF l); B-restrict-SF-l: ⊦ bel |SF l = bel.filter(λ be. be = SF ∨ be.l = l);
| bel.forall(λ be. be = SF ∨ be.l = l), ¬ bel ⊒ bel0, ∀ l0. bel.filter(λ be. be = SF ∨ be.l = l0) ⊒ bel0.filter(λ be. be = SF ∨ be.l = l0) ⊦ |
bel.forall(λ be. be = SF ∨ be.l = l), bel.filter(λ be. be = SF ∨ be.l = l) ⊒ bel0.filter(λ be. be = SF ∨ be.l = l), ¬ bel ⊒ bel0, ∀ l0. bel.filter(λ be. be = SF ∨ be.l = l0) ⊒ bel0.filter(λ be. be = SF ∨ be.l = l0) ⊦
Used terms: l
| bel.forall(λ be. be = SF ∨ be.l = l), bel.filter(λ be. be = SF ∨ be.l = l) ⊒ bel0.filter(λ be. be = SF ∨ be.l = l), ¬ bel ⊒ bel0, ∀ l0. bel.filter(λ be. be = SF ∨ be.l = l0) ⊒ bel0.filter(λ be. be = SF ∨ be.l = l0) ⊦ |
bel.forall(λ be. be = SF ∨ be.l = l), bel ⊒ bel0.filter(λ be. be = SF ∨ be.l = l), ¬ bel ⊒ bel0, ∀ l0. bel.filter(λ be. be = SF ∨ be.l = l0) ⊒ bel0.filter(λ be. be = SF ∨ be.l = l0) ⊦
Used simplifier rules: ⊦ x.forall(p) → x.filter(p) = x; (s)
| bel.forall(λ be. be = SF ∨ be.l = l), bel ⊒ bel0.filter(λ be. be = SF ∨ be.l = l), ¬ bel ⊒ bel0, ∀ l0. bel.filter(λ be. be = SF ∨ be.l = l0) ⊒ bel0.filter(λ be. be = SF ∨ be.l = l0) ⊦ |
⊦ x.forall(p) → x.filter(p) = x
bel.forall(λ be. be = SF ∨ be.l = l), bel ⊒ bel0.filter(λ be. be = SF ∨ be.l = l), ¬ bel0.forall(λ be. be = SF ∨ be.l = l), ¬ bel ⊒ bel0, ∀ l0. bel.filter(λ be. be = SF ∨ be.l = l0) ⊒ bel0.filter(λ be. be = SF ∨ be.l = l0) ⊦
Used terms: bel0, λ be. be = SF ∨ be.l = l
| ⊦ x.forall(p) → x.filter(p) = x |
| bel.forall(λ be. be = SF ∨ be.l = l), bel ⊒ bel0.filter(λ be. be = SF ∨ be.l = l), ¬ bel0.forall(λ be. be = SF ∨ be.l = l), ¬ bel ⊒ bel0, ∀ l0. bel.filter(λ be. be = SF ∨ be.l = l0) ⊒ bel0.filter(λ be. be = SF ∨ be.l = l0) ⊦ |
⊦ bel ⊒w bel0 ∧ bel.forall(λ be. be = SF ∨ be.l = l) → bel0.forall(λ be. be = SF ∨ be.l = l)
bel.forall(λ be. be = SF ∨ be.l = l), bel ⊒ bel0.filter(λ be. be = SF ∨ be.l = l), ¬ bel0.forall(λ be. be = SF ∨ be.l = l), ¬ bel ⊒ bel0, ∀ l0. bel.filter(λ be. be = SF ∨ be.l = l0) ⊒ bel0.filter(λ be. be = SF ∨ be.l = l0) ⊦ bel ⊒w bel0 ∧ bel.forall(λ be. be = SF ∨ be.l = l)
Used terms: bel, bel0, l
| ⊦ bel ⊒w bel0 ∧ bel.forall(λ be. be = SF ∨ be.l = l) → bel0.forall(λ be. be = SF ∨ be.l = l) |
| bel.forall(λ be. be = SF ∨ be.l = l), bel ⊒ bel0.filter(λ be. be = SF ∨ be.l = l), ¬ bel0.forall(λ be. be = SF ∨ be.l = l), ¬ bel ⊒ bel0, ∀ l0. bel.filter(λ be. be = SF ∨ be.l = l0) ⊒ bel0.filter(λ be. be = SF ∨ be.l = l0) ⊦ bel ⊒w bel0 ∧ bel.forall(λ be. be = SF ∨ be.l = l) |
bel.forall(λ be. be = SF ∨ be.l = l), bel ⊒ bel0.filter(λ be. be = SF ∨ be.l = l), ¬ bel0.forall(λ be. be = SF ∨ be.l = l), ¬ bel ⊒ bel0, ¬ bel.filter(λ be. be = SF ∨ be.l = l0) ⊒ bel0.filter(λ be. be = SF ∨ be.l = l0), ∀ l0. bel.filter(λ be. be = SF ∨ be.l = l0) ⊒ bel0.filter(λ be. be = SF ∨ be.l = l0) ⊦
Used simplifier rules: B-postfix-weak: ⊦ bel0 ⊒w bel1 ↔ (∀ l. bel0 |SF l ⊒ bel1 |SF l); B-restrict-SF-l: ⊦ bel |SF l = bel.filter(λ be. be = SF ∨ be.l = l);
| bel.forall(λ be. be = SF ∨ be.l = l), bel ⊒ bel0.filter(λ be. be = SF ∨ be.l = l), ¬ bel0.forall(λ be. be = SF ∨ be.l = l), ¬ bel ⊒ bel0, ¬ bel.filter(λ be. be = SF ∨ be.l = l0) ⊒ bel0.filter(λ be. be = SF ∨ be.l = l0), ∀ l0. bel.filter(λ be. be = SF ∨ be.l = l0) ⊒ bel0.filter(λ be. be = SF ∨ be.l = l0) ⊦ |
Used terms: l0
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.