| r = st[st[r -- sk0] .refval -- sks] .refval, sk ' ⊑ sk0 ' + sks, ∀ sks0. sks0 + sk ' ⊑ sks → st[st[r -- sk0] .refval -- sks0] .refval ≠ r ⊦ sks = [], (st[r -- sk, val][st[r -- sk0] .refval -- (sks + sk ' + sks1)]) = st[st[r -- sk0] .refval -- (sks + sk ' + sks1)], sk0 = sk, ∃ sks0, sks2. sk0 ' + sks + sk ' + sks1 = sks0 + sk ' + sks2 ∧ st[r -- sks0] .refval = r ∧ (∀ sks3. sks3 + sk ' ⊑ sks0 → st[r -- sks3] .refval ≠ st[r -- sks0] .refval) |
⊦ sks ≠ [] → (sks ⊑ sk ' + sks0 ↔ sks .first = sk ∧ sks .rest ⊑ sks0)
[[CONCRETESIMPRULES : ([CSIMPNAMEDSEQ : list, storekeys, first, ⊦ sk ' .first = sk], [CSIMPNAMEDSEQ : list, storekeys, e, ⊦ sk ' ≠ []])], [EXTRATERMS : (sks, sk0, sk ')]]