| sks = sks0 + sk0 ', r0 ≠ st[r -- sks0] .refval ∨ sk ≠ sk0 ⊦ (st[r -- sks, val][r0 -- sk]) = st[r0 -- sk], # sks = 1, sks = [] |
⊦ sk ≠ sk0 → (st[r -- (sks + sk '), val][r0 -- sk0]) = st[r0 -- sk0]
⊦ r0 = st[r -- sks0] .refval, sks0 = [], (st[r -- (sks0 + sk0 '), val][r0 -- sk0]) = st[r0 -- sk0]
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ sks + sk ' ≠ []], [CSIMPSEQ : ⊦ m + n = n + m], [CSIMPSEQ : ⊦ (m + n0) + n1 = m + n0 + n1], [CSIMPSEQ : ⊦ # sks = 0 ↔ sks = []], [CSIMPSEQ : ⊦ m + n = 1 ↔ m = 0 ∧ n = 1 ∨ n = 0 ∧ m = 1], [CSIMPSEQ : ⊦ (sks + sks0) + sks1 = sks + sks0 + sks1], [CSIMPSEQ : ⊦ # sk ' = 0 +1], [CSIMPSEQ : ⊦ # (sks + sks0) = # sks + # sks0])]]