| _uninit ∈ st, ∀ 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) ' ∈ st0 ∨ st0[jvmref -- mkfs(class, void_type, `initstate' .field) '] ≠ initval(undone) ⊦ r = jvmref, jvmref -- mkfs(class, void_type, `initstate' .field) ' ∈ st, ¬ jvmref -- mkfs(class, void_type, `initstate' .field) ' ∈ st0 ∧ _uninit ∈ st0 |
¬ jvmref -- mkfs(class, void_type, `initstate' .field) ' ∈ st0, _uninit ∈ st, ∀ 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] ⊦ r = jvmref, jvmref -- mkfs(class, void_type, `initstate' .field) ' ∈ st, ¬ jvmref -- mkfs(class, void_type, `initstate' .field) ' ∈ st0 ∧ _uninit ∈ st0
st0[jvmref -- mkfs(class, void_type, `initstate' .field) '] ≠ initval(undone), _uninit ∈ st, ∀ 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] ⊦ r = jvmref, jvmref -- mkfs(class, void_type, `initstate' .field) ' ∈ st, ¬ jvmref -- mkfs(class, void_type, `initstate' .field) ' ∈ st0 ∧ _uninit ∈ st0
[[CONCRETESIMPRULES : ()]]