| ∀ r0, sk, r, st. (r0 -- sk ∈ update(r, fis0, st) ↔ r0 -- sk ∈ st) ∨ sk ∈ fis0 ⊦ r0 -- sk ∈ (update(r, fis0, st)[r -- sk0, val]) ↔ r0 -- sk ∈ st, sk = sk0, sk ∈ fis0 |
⊦ rk ∈ st[rk0, val] ↔ rk = rk0 ∨ rk ∈ st
∀ r0, sk, r, st. (r0 -- sk ∈ update(r, fis0, st) ↔ r0 -- sk ∈ st) ∨ sk ∈ fis0 ⊦ r0 -- sk = r -- sk0 ∨ r0 -- sk ∈ update(r, fis0, st) ↔ r0 -- sk ∈ st, sk = sk0, sk ∈ fis0
[[CONCRETESIMPRULES : ()], [EXTRATERMS : (val, r -- sk0, update(r, fis0, st), r0 -- sk)]]