| newref(r0, st) ⊦ st ⊆ arraycopy(r, i, r0, i0, j, st0) ↔ st ⊆ st0, r0 = jvmref |
⊦ st1 ⊆ st2 ↔ (∀ rk. rk ∈ st1 → rk ∈ st2 ∧ st1[rk] = st2[rk])
newref(r0, st) ⊦ (∀ rk. rk ∈ st → rk ∈ arraycopy(r, i, r0, i0, j, st0) ∧ st[rk] = (arraycopy(r, i, r0, i0, j, st0)[rk])) ↔ st ⊆ st0, r0 = jvmref
[[CONCRETESIMPRULES : ()], [EXTRATERMS : (arraycopy(r, i, r0, i0, j, st0), st)]]