| ∀ sk, sk0, r0, st, r, val. sk = sk0 ∨ (r0 -- sk0 ∈ st[r -- (sks0 + sk '), val] ↔ r0 -- sk0 ∈ st) ⊦ sk = sk0, r0 -- sk0 ∈ st[r -- ((sk1 ' + sks0) + sk '), val] ↔ r0 -- sk0 ∈ st |
⊦ sks ≠ [] → st[r -- (sk ' + sks), val] = st[st[r -- sk] .refval -- sks, val]
sks0 + sk ' ≠ [], ∀ sk, sk0, r0, st, r, val. sk = sk0 ∨ (r0 -- sk0 ∈ st[r -- (sks0 + sk '), val] ↔ r0 -- sk0 ∈ st) ⊦ sk = sk0, r0 -- sk0 ∈ st[st[r -- sk1] .refval -- (sks0 + sk '), val] ↔ r0 -- sk0 ∈ st
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ ¬ sks + sks0 ≠ [] ↔ sks = [] ∧ sks0 = []], [CSIMPSEQ : ⊦ sk ' ≠ []], [CSIMPSEQ : ⊦ (sks + sks0) + sks1 = sks + sks0 + sks1])], [EXTRATERMS : (val, sks0 + sk ', sk1, r, st)]]