| ⊦ st(a := d) ⊆ st0 ↔ st -- a ⊆ st0 -- a ∧ a ∈ st0 ∧ st0(a) = d |
¬(st(a := d) ⊆ st0 ↔ st -- a ⊆ st0 -- a ∧ a ∈ st0 ∧ st0(a) = d) ⊦
| ¬(st(a := d) ⊆ st0 ↔ st -- a ⊆ st0 -- a ∧ a ∈ st0 ∧ st0(a) = d) ⊦ |
⊦ (∀ a0. a0 ∈ st(a := d) → a0 ∈ st0 ∧ st(a := d)(a0) = st0(a0)) ↔ (∀ a0. a0 ∈ st -- a → a0 ∈ st0 -- a ∧ (st -- a)(a0) = (st0 -- a)(a0)) ∧ a ∈ st0 ∧ st0(a) = d
Used simplifier rules: Subset: ⊦ st1 ⊆ st2 ↔ (∀ a. a ∈ st1 → a ∈ st2 ∧ st1(a) = st2(a));
| ⊦ (∀ a0. a0 ∈ st(a := d) → a0 ∈ st0 ∧ st(a := d)(a0) = st0(a0)) ↔ (∀ a0. a0 ∈ st -- a → a0 ∈ st0 -- a ∧ (st -- a)(a0) = (st0 -- a)(a0)) ∧ a ∈ st0 ∧ st0(a) = d |
∀ a0. a0 ∈ st(a := d) → a0 ∈ st0 ∧ st(a := d)(a0) = st0(a0) ⊦ (∀ a0. a0 ∈ st -- a → a0 ∈ st0 -- a ∧ (st -- a)(a0) = (st0 -- a)(a0)) ∧ a ∈ st0 ∧ st0(a) = d
st0(a) = d, a ∈ st0, ∀ a0. a0 ∈ st -- a → a0 ∈ st0 -- a ∧ (st -- a)(a0) = (st0 -- a)(a0) ⊦ ∀ a0. a0 ∈ st(a := d) → a0 ∈ st0 ∧ st(a := d)(a0) = st0(a0)
| ∀ a0. a0 ∈ st(a := d) → a0 ∈ st0 ∧ st(a := d)(a0) = st0(a0) ⊦ (∀ a0. a0 ∈ st -- a → a0 ∈ st0 -- a ∧ (st -- a)(a0) = (st0 -- a)(a0)) ∧ a ∈ st0 ∧ st0(a) = d |
∀ a0. a0 ∈ st(a := d) → a0 ∈ st0 ∧ st(a := d)(a0) = st0(a0) ⊦ (a0 ∈ st -- a → a0 ∈ st0 -- a ∧ (st -- a)(a0) = (st0 -- a)(a0)) ∧ a ∈ st0 ∧ st0(a) = d
| ∀ a0. a0 ∈ st(a := d) → a0 ∈ st0 ∧ st(a := d)(a0) = st0(a0) ⊦ (a0 ∈ st -- a → a0 ∈ st0 -- a ∧ (st -- a)(a0) = (st0 -- a)(a0)) ∧ a ∈ st0 ∧ st0(a) = d |
a ∈ st(a := d) → a ∈ st0 ∧ st(a := d)(a) = st0(a), ∀ a0. a0 ∈ st(a := d) → a0 ∈ st0 ∧ st(a := d)(a0) = st0(a0) ⊦ (a0 ∈ st -- a → a0 ∈ st0 -- a ∧ (st -- a)(a0) = (st0 -- a)(a0)) ∧ a ∈ st0 ∧ st0(a) = d
Used terms: a
| a ∈ st(a := d) → a ∈ st0 ∧ st(a := d)(a) = st0(a), ∀ a0. a0 ∈ st(a := d) → a0 ∈ st0 ∧ st(a := d)(a0) = st0(a0) ⊦ (a0 ∈ st -- a → a0 ∈ st0 -- a ∧ (st -- a)(a0) = (st0 -- a)(a0)) ∧ a ∈ st0 ∧ st0(a) = d |
a ∈ st(a := d) → a ∈ st0 ∧ d = st0(a), ∀ a0. a0 ∈ st(a := d) → a0 ∈ st0 ∧ st(a := d)(a0) = st0(a0) ⊦ (a0 ∈ st -- a → a0 ∈ st0 -- a ∧ (st -- a)(a0) = (st0 -- a)(a0)) ∧ a ∈ st0 ∧ st0(a) = d
Used simplifier rules: At-same: ⊦ st(a := d)(a) = d;
| a ∈ st(a := d) → a ∈ st0 ∧ d = st0(a), ∀ a0. a0 ∈ st(a := d) → a0 ∈ st0 ∧ st(a := d)(a0) = st0(a0) ⊦ (a0 ∈ st -- a → a0 ∈ st0 -- a ∧ (st -- a)(a0) = (st0 -- a)(a0)) ∧ a ∈ st0 ∧ st0(a) = d |
a0 ≠ a, a ∈ st(a := d) → a ∈ st0 ∧ d = st0(a), ∀ a0. a0 ∈ st(a := d) → a0 ∈ st0 ∧ st(a := d)(a0) = st0(a0) ⊦ (a0 ∈ st -- a → a0 ∈ st0 -- a ∧ (st -- a)(a0) = (st0 -- a)(a0)) ∧ a ∈ st0 ∧ st0(a) = d
Used simplifier rules: Del-notin: ⊦ ¬ a ∈ st -- a; In-insert: ⊦ a ∈ st(b := d) ↔ a = b ∨ a ∈ st; Used formulas: a0 = a
| a0 ≠ a, a ∈ st(a := d) → a ∈ st0 ∧ d = st0(a), ∀ a0. a0 ∈ st(a := d) → a0 ∈ st0 ∧ st(a := d)(a0) = st0(a0) ⊦ (a0 ∈ st -- a → a0 ∈ st0 -- a ∧ (st -- a)(a0) = (st0 -- a)(a0)) ∧ a ∈ st0 ∧ st0(a) = d |
a0 ≠ a, a ∈ st0, a ∈ st(a := st0(a)), a0 ∈ st, ∀ a0. a0 ∈ st(a := st0(a)) → a0 ∈ st0 ∧ st(a := st0(a))(a0) = st0(a0) ⊦ a0 ∈ st0 ∧ st(a0) = st0(a0)
Used simplifier rules: Del-at-strong: a ≠ b ⊦ (st -- b)(a) = st(a); In-insert: ⊦ a ∈ st(b := d) ↔ a = b ∨ a ∈ st; Del-in: ⊦ a ∈ st -- b ↔ a ≠ b ∧ a ∈ st;
| a0 ≠ a, a ∈ st0, a ∈ st(a := st0(a)), a0 ∈ st, ∀ a0. a0 ∈ st(a := st0(a)) → a0 ∈ st0 ∧ st(a := st0(a))(a0) = st0(a0) ⊦ a0 ∈ st0 ∧ st(a0) = st0(a0) |
Used simplifier rules: in-neq: ⊦ a ≠ b → (a ∈ st(b := d) ↔ a ∈ st); At-other: ⊦ a ≠ b → st(b := d)(a) = st(a); Used terms: a0
| st0(a) = d, a ∈ st0, ∀ a0. a0 ∈ st -- a → a0 ∈ st0 -- a ∧ (st -- a)(a0) = (st0 -- a)(a0) ⊦ ∀ a0. a0 ∈ st(a := d) → a0 ∈ st0 ∧ st(a := d)(a0) = st0(a0) |
a ∈ st0, a0 ∈ st(a := st0(a)), ∀ a0. a0 ∈ st -- a → a0 ∈ st0 -- a ∧ (st -- a)(a0) = (st0 -- a)(a0) ⊦ a0 ∈ st0 ∧ st(a := st0(a))(a0) = st0(a0)
| a ∈ st0, a0 ∈ st(a := st0(a)), ∀ a0. a0 ∈ st -- a → a0 ∈ st0 -- a ∧ (st -- a)(a0) = (st0 -- a)(a0) ⊦ a0 ∈ st0 ∧ st(a := st0(a))(a0) = st0(a0) |
a0 ≠ a, a ∈ st0, a0 ∈ st(a := st0(a)), ∀ a0. a0 ∈ st -- a → a0 ∈ st0 -- a ∧ (st -- a)(a0) = (st0 -- a)(a0) ⊦ a0 ∈ st0 ∧ st(a := st0(a))(a0) = st0(a0)
Used simplifier rules: At-same: ⊦ st(a := d)(a) = d; Used formulas: a0 = a
| a0 ≠ a, a ∈ st0, a0 ∈ st(a := st0(a)), ∀ a0. a0 ∈ st -- a → a0 ∈ st0 -- a ∧ (st -- a)(a0) = (st0 -- a)(a0) ⊦ a0 ∈ st0 ∧ st(a := st0(a))(a0) = st0(a0) |
a0 ≠ a, a ∈ st0, a0 ∈ st, ∀ a1. a1 ∈ st -- a → a1 ∈ st0 -- a ∧ st(a1) = st0(a1) ⊦ a0 ∈ st0 ∧ st(a0) = st0(a0)
Used simplifier rules: in-neq: ⊦ a ≠ b → (a ∈ st(b := d) ↔ a ∈ st); Del-in: ⊦ a ∈ st -- b ↔ a ≠ b ∧ a ∈ st; Del-at-strong: a ≠ b ⊦ (st -- b)(a) = st(a); At-other: ⊦ a ≠ b → st(b := d)(a) = st(a);
| a0 ≠ a, a ∈ st0, a0 ∈ st, ∀ a1. a1 ∈ st -- a → a1 ∈ st0 -- a ∧ st(a1) = st0(a1) ⊦ a0 ∈ st0 ∧ st(a0) = st0(a0) |
Used simplifier rules: Del-in: ⊦ a ∈ st -- b ↔ a ≠ b ∧ a ∈ st; Used terms: a0
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.