| a = st[a, d0].min ⊦ a ∈ st, (st[a, d].min ∈ st[a, d] -- st[a, d].min ↔ st[a, d].min ∈ st) ∧ (∅)[st[a, d].min] = st[st[a, d].min] |
Used simplifier rules: min-put-01: ⊦ st[a, d].min = a → st[a, d0].min = a;%min-put-01: ⊦ st[a, d].min = a → st[a, d0].min = a;%notmemlookup: ⊦ ¬ a ∈ st → st[a] = (∅)[a]; from specification store%insert: ⊦ st[a, d] -- a = st -- a; from specification store%notin-del-notin: ⊦ ¬ a ∈ st → st -- a = st; from specification store