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