| a ∈ st0, ∀ a0. (a0 ∈ st ↔ a0 ∈ st0 -- a) ∧ (a0 ∈ st → st[a0] = (st0 -- a)[a0]) ⊦ a ∈ st, (a0 ∈ st[a, st0[a]] ↔ a0 ∈ st0) ∧ (a0 ∈ st[a, st0[a]] → st[a, st0[a]][a0] = st0[a0]) |
a ∈ st0, ∀ a0. (a0 ∈ st ↔ a0 ∈ st0 -- a) ∧ (a0 ∈ st → st[a0] = (st0 -- a)[a0]) ⊦ a0 = a, a ∈ st, (a0 ∈ st[a, st0[a]] ↔ a0 ∈ st0) ∧ (a0 ∈ st[a, st0[a]] → st[a, st0[a]][a0] = st0[a0])
Used simplifier rules: notmemlookup: ⊦ ¬ a ∈ st → st[a] = (∅)[a];%In-insert: ⊦ a ∈ st[b, d] ↔ a = b ∨ a ∈ st;%At-same: ⊦ st[a, d][a] = d; Used formulas: a0 = a