| ¬ rk .ref ≠ r, st[rk] = st0[rk], newref(r, st), rk ∈ st, rk ∈ st0, ∀ rk. rk ∈ st → rk ∈ st0 ∧ st[rk] = st0[rk] ⊦ r = jvmref, st0[rk] = (addarray(r, ty, i, st0)[rk]) |
st[rk] = st0[rk], newref(rk .ref, st), rk ∈ st, rk ∈ st0, ∀ rk. rk ∈ st → rk ∈ st0 ∧ st[rk] = st0[rk] ⊦ rk .ref = jvmref, st0[rk] = (addarray(rk .ref, ty, i, st0)[rk])
[[CONCRETESIMPRULES : ([CSIMPFORWARD : ⊦ newref(r, st) → r ≠ jvmref])]]