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