| st ⊆ st0, r -- sk ∈ st, st[r -- sk] .refval -- sks0 ∈ st, r ∈ st, ∀ r0, st1, st2. r0 -- sks0 ∈ st1 ∧ st1 ⊆ st2 → st2[r0 -- sks0] = st1[r0 -- sks0] ⊦ st0[r -- (sk ' + sks0)] = st[r -- (sk ' + sks0)], sks0 = [] |
⊦ sks ≠ [] → st[r -- (sk ' + sks)] = st[st[r -- sk] .refval -- sks]
sks0 ≠ [], st ⊆ st0, r -- sk ∈ st, st[r -- sk] .refval -- sks0 ∈ st, r ∈ st, ∀ r0, st1, st2. r0 -- sks0 ∈ st1 ∧ st1 ⊆ st2 → st2[r0 -- sks0] = st1[r0 -- sks0] ⊦ st0[st0[r -- sk] .refval -- sks0] = st[r -- (sk ' + sks0)], sks0 = []
[[CONCRETESIMPRULES : ()], [EXTRATERMS : (sks0, sk, r, st0)]]