| st ⊆ st0, r -- (sk ' + sks0) ∈ st, ∀ r, st, st0. r -- sks0 ∈ st ∧ st ⊆ st0 → sks0 = [] ∨ st0[r -- sks0] = st[r -- sks0] ⊦ st0[r -- (sk ' + sks0)] = st[r -- (sk ' + sks0)] |
⊦ sks ≠ [] → (r -- (sk ' + sks) ∈ st ↔ r -- sk ∈ st ∧ st[r -- sk] .refval -- sks ∈ st)
⊦ st[r -- sk '] = st[r -- sk]
⊦ r -- sk ' ∈ st ↔ r -- sk ∈ st
sks0 ≠ [], st ⊆ st0, r -- sk ∈ st ∧ st[r -- sk] .refval -- sks0 ∈ st, ∀ r, st, st0. r -- sks0 ∈ st ∧ st ⊆ st0 → sks0 = [] ∨ st0[r -- sks0] = st[r -- sks0] ⊦ st0[r -- (sk ' + sks0)] = st[r -- (sk ' + sks0)]
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ sks + [] = sks], [CSIMPSEQ : ⊦ (sks + sks0) + sks1 = sks + sks0 + sks1], [CSIMPSEQ : ⊦ rk ∈ st ∧ st ⊆ st1 → (st[rk] ≠ st1[rk] ↔ false)])], [EXTRATERMS : (st, sks0, sk, r)]]