| ∀ 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 |
fv = sk0 × val0, ∀ 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 -- sk0, val0][r0 -- sk, val]) = (update(r0, fis0, st[r0 -- sk, val])[r0 -- sk0, val0]), sk ∈ fv ', sk ∈ fis0
[[CONCRETESIMPRULES : ([CSIMPELIM : ⊦ sk = fv .1 ∧ val = fv .2 ↔ fv = sk × val])], [EXTRATERMS : (fv, sk0, val0)]]