| ⊦ a ∈ st ↔ (∀ a0. (a0 ∈ st ↔ a0 ∈ (st -- a)[a, st[a]]) ∧ st[a0] = (st -- a)[a, st[a]][a0]) |
∀ a0. (a0 ∈ st ↔ a0 ∈ st[a, (∅)[a]]) ∧ st[a0] = st[a, (∅)[a]][a0] ⊦ a ∈ st
Used simplifier rules: del-put: ⊦ (st -- a)[a, d] = st[a, d];%ins-same-01: ⊦ a ∈ st → st[a, st[a]] = st;%notin-del-notin: ⊦ ¬ a ∈ st → st -- a = st;%notmemlookup: ⊦ ¬ a ∈ st → st[a] = (∅)[a];