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