| ∀ r, sks0, st. fits(r, sks1 + sks0, st) ↔ fits(r, sks1, st) ∧ fits(st[r -- sks1] .refval, sks0, st) ⊦ fits(r, (sk ' + sks1) + sks0, st) ↔ fits(r, sk ' + sks1, st) ∧ fits(st[r -- (sk ' + sks1)] .refval, sks0, st) |
⊦ sks ≠ [] → st[r -- (sk ' + sks)] = st[st[r -- sk] .refval -- sks]
¬ sks1 ≠ [], ∀ r, sks0, st. fits(r, sks1 + sks0, st) ↔ fits(r, sks1, st) ∧ fits(st[r -- sks1] .refval, sks0, st) ⊦ fits(r, (sk ' + sks1) + sks0, st) ↔ fits(r, sk ' + sks1, st) ∧ fits(st[r -- (sk ' + sks1)] .refval, sks0, st)
sks1 ≠ [], ∀ r, sks0, st. fits(r, sks1 + sks0, st) ↔ fits(r, sks1, st) ∧ fits(st[r -- sks1] .refval, sks0, st) ⊦ fits(r, (sk ' + sks1) + sks0, st) ↔ fits(r, sk ' + sks1, st) ∧ fits(st[st[r -- sk] .refval -- sks1] .refval, sks0, st)
[[CONCRETESIMPRULES : ()], [EXTRATERMS : (sks1, sk, r, st)]]