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