| ∀ st, r, val. sks0 = [] ∨ (st[r -- sks0, val][r -- sks0]) = val ∨ dups(sks0) ⊦ sk + sks0 = [], (st[r -- (sk + sks0), val][r -- (sk + sks0)]) = val, dups(sk + sks0) |
⊦ st[r -- sk ', val] = st[r -- sk, val]
⊦ st[r -- sk '] = st[r -- sk]
∀ st0, r0, val0. (st0[r0 -- sks0, val0][r0 -- sks0]) = val0 ⊦ (st[r -- (sk ' + sks0), val][r -- (sk ' + sks0)]) = val, sks0 = [], dups(sks0), sk ∈ sks0
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ (st[rk, val][rk]) = val], [CSIMPSEQ : ⊦ sks + [] = sks], [CSIMPSEQ : ⊦ dups(sk ' + sks) ↔ dups(sks) ∨ sk ∈ sks], [CSIMPSEQ : ⊦ (sks + sks0) + sks1 = sks + sks0 + sks1], [CSIMPSEQ : ⊦ sk ' + sks ≠ []], [CSIMPSEQ : ⊦ sk + sks = sk ' + sks])]]