| ∀ st. (st ∪ st1) .keys = st .keys ∪ st1 .keys ⊦ (st ∪ st1[rk, val]) .keys = st .keys ∪ st1[rk, val] .keys |
⊦ st ∪ st0[rk, val] = (st ∪ st0)[rk, val]
∀ st. (st ∪ st1) .keys = st .keys ∪ st1 .keys ⊦ (st ∪ st1) .keys ++ rk = (st1 .keys ∪ st .keys) ++ rk
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ rks ∪ rks0 = rks0 ∪ rks], [CSIMPSEQ : ⊦ (rks ∪ rks0) ∪ rks1 = rks ∪ rks0 ∪ rks1], [CSIMPSEQ : ⊦ (rks ++ rk) ∪ rks0 = (rks ∪ rks0) ++ rk], [CSIMPSEQ : ⊦ st[rk, val] .keys = st .keys ++ rk])]]