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