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