| sk ≠ sks0 .last ∧ sks0 ≠ [], ∀ st0, r0, val0. (st0[r0 -- sks0, val0][r0 -- sks0]) = val0 ⊦ sks0 = [], (st[st[r -- sk] .refval -- sks0, val][st[r -- sk] .refval -- sks0]) = val, dups(sks0), sk ∈ sks0 |
∀ st0, r0, val0. (st0[r0 -- sks0, val0][r0 -- sks0]) = val0 ⊦ sk = sks0 .last, sks0 = [], (st[st[r -- sk] .refval -- sks0, val][st[r -- sk] .refval -- sks0]) = val, sk ∈ sks0, dups(sks0)
[[CONCRETESIMPRULES : ()]]