| ∀ r0, st, sk, val. (update(r0, fis0, st)[r0 -- sk, val]) = update(r0, fis0, st[r0 -- sk, val]) ∨ sk ∈ fis0 ⊦ (update(r0, fv + fis0, st)[r0 -- sk, val]) = update(r0, fv + fis0, st[r0 -- sk, val]), sk ∈ fv + fis0 |
⊦ update(r, fv ' + fis, st) = (update(r, fis, st)[r -- fv .1, fv .2])
∀ r0, st, sk, val. (update(r0, fis0, st)[r0 -- sk, val]) = update(r0, fis0, st[r0 -- sk, val]) ∨ sk ∈ fis0 ⊦ (update(r0, fis0, st)[r0 -- fv .1, fv .2][r0 -- sk, val]) = (update(r0, fis0, st[r0 -- sk, val])[r0 -- fv .1, fv .2]), sk ∈ fv ', sk ∈ fis0
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ sk ∈ fis + fis0 ↔ sk ∈ fis ∨ sk ∈ fis0], [CSIMPSEQ : ⊦ (fis + fis0) + fis1 = fis + fis0 + fis1], [CSIMPSEQ : ⊦ fv + fis = fv ' + fis])]]