| st1 = (update(r0, fis, st0)[r0 -- sk, st1[r0 -- sk]]), # st0 = m + 1, st1 -- (r0 -- sk) = update(r0, fis, st0 -- (r0 -- sk)), r0 -- sk ∈ st1, r0 -- sk ∈ st0, onlyModified(r0, st0, st1), r0 ∈ st1, r0 ∈ st0, validFields(r0, fis, st0 -- (r0 -- sk)) ⊦ st0[r0 -- sk] = st1[r0 -- sk], st0 = ∅, validFields(r0, fis, st0) ∧ sk ≠ _length ∧ sk ≠ _type ∧ r0 -- sk ∈ st0 ∧ ¬ sk ∈ fis |
⊦ ¬ validFields(r, fis, st) → ¬ validFields(r, fis, st -- rk)
st1 = (update(r0, fis, st0)[r0 -- sk, st1[r0 -- sk]]), # st0 = m + 1, st1 -- (r0 -- sk) = update(r0, fis, st0 -- (r0 -- sk)), r0 -- sk ∈ st1, r0 -- sk ∈ st0, onlyModified(r0, st0, st1), r0 ∈ st1, r0 ∈ st0, validFields(r0, fis, st0 -- (r0 -- sk)), validFields(r0, fis, st0) ⊦ st0[r0 -- sk] = st1[r0 -- sk], st0 = ∅, ¬ sk ∈ fis ∧ sk ≠ _type ∧ sk ≠ _length
[[CONCRETESIMPRULES : ()]]