| r0 -- sk ∈ st1, r0 -- sk ∈ st0, (∀ rk. rk ∈ st0 ↔ rk ∈ st1) ∧ (∀ r0, sk. r0 ≠ r → st0[r0 -- sk] = st1[r0 -- sk]) ∧ (r -- _type ∈ st0 → st0[r -- _type] = st1[r -- _type]) ∧ (r -- _length ∈ st0 → st0[r -- _length] = st1[r -- _length]), r0 ∈ st1, r0 ∈ st0, ∀ st, r1, st2. ¬ # st0 ≤ # st2 → (onlyModified(r1, st2, st) → (∃ fis. st = update(r1, fis, st2) ∧ validFields(r1, fis, st2))) ⊦ r = r0, st0[r0 -- sk] = st1[r0 -- sk], ∃ fis. st1 = update(r, fis, st0) ∧ validFields(r, fis, st0) |
r0 ∈ st0, r0 ∈ st1, r0 -- sk ∈ st0, r0 -- sk ∈ st1, ∀ st, r1, st2. ¬ # st0 ≤ # st2 → (onlyModified(r1, st2, st) → (∃ fis. st = update(r1, fis, st2) ∧ validFields(r1, fis, st2))), r -- _length ∈ st0 → st0[r -- _length] = st1[r -- _length], r -- _type ∈ st0 → st0[r -- _type] = st1[r -- _type], ∀ r0, sk. r0 ≠ r → st0[r0 -- sk] = st1[r0 -- sk], ∀ rk. rk ∈ st0 ↔ rk ∈ st1 ⊦ st0[r0 -- sk] = st1[r0 -- sk], r = r0, ∃ fis. st1 = update(r, fis, st0) ∧ validFields(r, fis, st0)
[[CONCRETESIMPRULES : ()]]