| sks0 ≠ [], sks0 = [] ∨ (∀ st, r, sk, val, r0. (st[r -- sk, val][r0 -- sks0]) = st[r0 -- sks0] ∨ sk ∈ sks0) ⊦ (st[r -- sk, val][(st[r -- sk, val][r0 -- sk0]) .refval -- sks0]) = st[r0 -- (sk0 ' + sks0)], sk = sk0, sk ∈ sks0 |
∀ st, r, sk, val, r0. (st[r -- sk, val][r0 -- sks0]) = st[r0 -- sks0] ∨ sk ∈ sks0 ⊦ sk = sk0, sks0 = [], (st[r -- sk, val][st[r0 -- sk0] .refval -- sks0]) = st[r0 -- (sk0 ' + sks0)], sk ∈ sks0
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ sk ≠ sk0 → (st[r -- sk, val][r0 -- sk0]) = st[r0 -- sk0]])]]