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