| st[rk] = (arraycopy(r, i, r0, i0, j, st0)[rk]), newref(r0, st), rk ∈ st, rk ∈ arraycopy(r, i, r0, i0, j, st0), ∀ rk. rk ∈ st → rk ∈ arraycopy(r, i, r0, i0, j, st0) ∧ st[rk] = (arraycopy(r, i, r0, i0, j, st0)[rk]) ⊦ r0 = jvmref, rk ∈ st0 ∧ st[rk] = st0[rk] |
⊦ st[r -- sk] = (arraycopy(r1, i, r0, i0, j, st0)[r -- sk]) ∧ newref(r0, st) ∧ r -- sk ∈ st ∧ r -- sk ∈ arraycopy(r1, i, r0, i0, j, st0) ∧ (∀ rk. rk ∈ st → rk ∈ arraycopy(r1, i, r0, i0, j, st0) ∧ st[rk] = (arraycopy(r1, i, r0, i0, j, st0)[rk])) → r0 = jvmref ∨ r -- sk ∈ st0 ∧ st[r -- sk] = st0[r -- sk]
[[CONCRETESIMPRULES : ([CSIMPGEN : refkey generated by --;])]]