| ∀ sks. sks + sk ' ⊑ sks1 → st[r -- sks] .refval ≠ st[r -- sks1] .refval ⊦ (st[st[r -- sks1] .refval -- sk, val][r -- (sks1 + sk ' + sks0)]) = st[r -- (sks1 + sk ' + sks0)], ∃ sks, sks2. sks1 + sk ' + sks0 = sks + sk ' + sks2 ∧ st[r -- sks] .refval = st[r -- sks1] .refval ∧ (∀ sks3. sks3 + sk ' ⊑ sks → st[r -- sks3] .refval ≠ st[r -- sks] .refval) |
∀ sks. sks + sk ' ⊑ sks1 → st[r -- sks] .refval ≠ st[r -- sks1] .refval ⊦ (st[st[r -- sks1] .refval -- sk, val][r -- (sks1 + sk ' + sks0)]) = st[r -- (sks1 + sk ' + sks0)], sks1 + sk ' + sks0 = sks1 + sk ' + sks0 ∧ st[r -- sks1] .refval = st[r -- sks1] .refval ∧ (∀ sks3. sks3 + sk ' ⊑ sks1 → st[r -- sks3] .refval ≠ st[r -- sks1] .refval)
[[CONCRETESIMPRULES : ()], [EXTRATERMS : (sks1, sks0)]]