| r ≠ r0, st[r0 -- sk] = st0[r0 -- sk], newref(r, st), r0 -- sk ∈ st, r0 -- sk ∈ addobj(r, class1, fis, st0), r0 ∈ st, r0 ∈ addobj(r, class1, fis, st0), ∀ rk. rk ∈ st → rk ∈ addobj(r, class1, fis, st0) ∧ st[rk] = (addobj(r, class1, fis, st0)[rk]) ⊦ r = jvmref, r0 -- sk ∈ st0 ∧ st0[r0 -- sk] = st0[r0 -- sk] |
st[r0 -- sk] = noval, newref(r, st), r0 -- sk ∈ st, r0 -- sk ∈ addobj(r, class1, fis, st0), r0 ∈ st, r0 ∈ addobj(r, class1, fis, st0), ∀ rk. rk ∈ st → rk ∈ addobj(r, class1, fis, st0) ∧ st[rk] = (addobj(r, class1, fis, st0)[rk]) ⊦ r = jvmref, r0 -- sk ∈ st0
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ ∅[rk] = noval], [CSIMPSEQ : ⊦ ¬ rk ∈ st → st[rk] = ∅[rk]], [CSIMPSEQ : ⊦ newref(r, st) ∧ r0 ∈ st → r ≠ r0])]]