| onlyModified(r, st0, st1), ∀ st1, r, st. # st < # st0 → (onlyModified(r, st, st1) → (∃ fis. st1 = update(r, fis, st) ∧ validFields(r, fis, st))) ⊦ st0 = st1, ∃ fis. st1 = update(r, fis, st0) ∧ validFields(r, fis, st0) |
⊦ st1 = st2 ↔ (∀ rk. (rk ∈ st1 ↔ rk ∈ st2) ∧ st1[rk] = st2[rk])
onlyModified(r, st0, st1), ∀ st1, r, st. # st < # st0 → (onlyModified(r, st, st1) → (∃ fis. st1 = update(r, fis, st) ∧ validFields(r, fis, st))) ⊦ ∀ rk. (rk ∈ st0 ↔ rk ∈ st1) ∧ st0[rk] = st1[rk], ∃ fis. st1 = update(r, fis, st0) ∧ validFields(r, fis, st0)
[[CONCRETESIMPRULES : ()], [EXTRATERMS : (st1, st0)]]