| st[jvmref -- mkfs(class, void_type, `initstate' .field) '] = initval(error), onlyModified(r, st, st0), jvmref -- mkfs(class, void_type, `initstate' .field) ' ∈ st, jvmref ∈ st, ¬ jvmref -- mkfs(class, void_type, `initstate' .field) ' ∈ st0 ∨ st0[jvmref -- mkfs(class, void_type, `initstate' .field) '] ≠ initval(error) ⊦ r = jvmref |
⊦ onlyModified(r, st1, st2) ↔ (∀ rk. rk ∈ st1 ↔ rk ∈ st2) ∧ (∀ r0, sk. r0 ≠ r → st1[r0 -- sk] = st2[r0 -- sk]) ∧ (r -- _type ∈ st1 → st1[r -- _type] = st2[r -- _type]) ∧ (r -- _length ∈ st1 → st1[r -- _length] = st2[r -- _length])
st[jvmref -- mkfs(class, void_type, `initstate' .field) '] = initval(error), (∀ rk. rk ∈ st ↔ rk ∈ st0) ∧ (∀ r0, sk. r0 ≠ r → st[r0 -- sk] = st0[r0 -- sk]) ∧ (r -- _type ∈ st → st[r -- _type] = st0[r -- _type]) ∧ (r -- _length ∈ st → st[r -- _length] = st0[r -- _length]), jvmref -- mkfs(class, void_type, `initstate' .field) ' ∈ st, jvmref ∈ st, ¬ jvmref -- mkfs(class, void_type, `initstate' .field) ' ∈ st0 ∨ st0[jvmref -- mkfs(class, void_type, `initstate' .field) '] ≠ initval(error) ⊦ r = jvmref
[[CONCRETESIMPRULES : ()], [EXTRATERMS : (st0, st, r)]]