| st -- r = st0 -- r, st0[rk, val] -- r = st1 -- r, eqex(st0, st, r), eqex(st1, st0[rk, val], r) ⊦ st[rk, val] -- r = st1 -- r |
⊦ st1 = st2 ↔ (∀ rk. (rk ∈ st1 ↔ rk ∈ st2) ∧ st1[rk] = st2[rk])
st -- r = st0 -- r, st0[rk, val] -- r = st1 -- r, eqex(st0, st, r), eqex(st1, st0[rk, val], r) ⊦ ∀ rk0. (rk0 ∈ st[rk, val] -- r ↔ rk0 ∈ st1 -- r) ∧ (st[rk, val] -- r)[rk0] = (st1 -- r)[rk0]
[[CONCRETESIMPRULES : ()], [EXTRATERMS : (st1 -- r, st[rk, val] -- r)]]