| update(r, fis0, st) = update(r, fis, st), fis ⊆ fis0 ⊦ dups(fis .keys), (update(r, fis, st)[r -- sk, val]) = update(r, fis[sk, val], st) ∧ fis[sk, val] ⊆ (sk × val) ' + fis0 |
⊦ update(r, fis[sk, val], st) = (update(r, fis, st)[r -- sk, val])
update(r, fis0, st) = update(r, fis, st), fis ⊆ fis0 ⊦ dups(fis .keys), (update(r, fis, st)[r -- sk, val]) = (update(r, fis, st)[r -- sk, val]) ∧ fis[sk, val] ⊆ (sk × val) ' + fis0
[[CONCRETESIMPRULES : ()], [EXTRATERMS : (st, val, sk, fis, r)]]