| 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;