| ∀ r, sk, r0, st. r -- sk ∈ update(r0, fis0, st) ↔ r -- sk ∈ st ∨ r = r0 ∧ sk ∈ fis0 ⊦ r -- sk ∈ (update(r0, fis0, st)[r0 -- (sk0 × val) .1, (sk0 × val) .2]) ↔ r -- sk ∈ st ∨ r = r0 ∧ (sk ∈ (sk0 × val) ' ∨ sk ∈ fis0) |
∀ r, sk, r0, st. r -- sk ∈ update(r0, fis0, st) ↔ r -- sk ∈ st ∨ r = r0 ∧ sk ∈ fis0 ⊦ r -- sk ∈ (update(r0, fis0, st)[r0 -- sk0, val]) ↔ r -- sk ∈ st ∨ r = r0 ∧ (sk = sk0 ∨ sk ∈ fis0)
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ sk ∈ (sk0 × val) ' ↔ sk = sk0], [CSIMPSEQ : ⊦ (sk × val) .2 = val], [CSIMPSEQ : ⊦ (sk × val) .1 = sk])]]