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