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