| r -- sk ∈ st0, r ∈ st0 ⊦ (∀ rk. rk ∈ st ↔ rk ∈ st0[r -- sk, val]) ∧ (∀ r0, sk0. r0 ≠ r → st[r0 -- sk0] = (st0[r -- sk, val][r0 -- sk0])) ∧ (r -- _type ∈ st → st[r -- _type] = (st0[r -- sk, val][r -- _type])) ∧ (r -- _length ∈ st → st[r -- _length] = (st0[r -- sk, val][r -- _length])) ↔ onlyModified(r, st, st0), sk = _length, sk = _type |
r -- sk ∈ st0, r ∈ st0 ⊦ sk = _length, sk = _type, (∀ rk. rk ∈ st ↔ rk ∈ st0[r -- sk, val]) ∧ (∀ r0, sk0. r0 ≠ r → st[r0 -- sk0] = st0[r0 -- sk0]) ∧ (r -- _type ∈ st → st[r -- _type] = st0[r -- _type]) ∧ (r -- _length ∈ st → st[r -- _length] = st0[r -- _length]) ↔ onlyModified(r, st, st0)
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ r -- sk = r0 -- sk0 ↔ r = r0 ∧ sk = sk0], [CSIMPSEQ : ⊦ (st[rk0, val][rk]) = ((rk = rk0 ⊃ val; st[rk]))], [CSIMPSEQ : ⊦ r ≠ r0 → (st[r0 -- sk0, val][r -- sk]) = st[r -- sk]])]]