| ∀ r, st. ∃ fis1. ¬ dups(fis1 .keys) ∧ update(r, fis0, st) = update(r, fis1, st) ∧ fis1 ⊆ fis0 ⊦ ∃ fis. ¬ dups(fis .keys) ∧ (update(r, fis0, st)[r -- fv .1, fv .2]) = update(r, fis, st) ∧ fis ⊆ fv ' + fis0 |
fv = sk × val, ∀ r, st. ∃ fis1. ¬ dups(fis1 .keys) ∧ update(r, fis0, st) = update(r, fis1, st) ∧ fis1 ⊆ fis0 ⊦ ∃ fis. ¬ dups(fis .keys) ∧ (update(r, fis0, st)[r -- sk, val]) = update(r, fis, st) ∧ fis ⊆ fv ' + fis0
[[CONCRETESIMPRULES : ([CSIMPELIM : ⊦ sk = fv .1 ∧ val = fv .2 ↔ fv = sk × val])], [EXTRATERMS : (fv, sk, val)]]