| r2 ∈ st0, 0 < i3, okarray(r2, int_type, st0), 0 ≤ i0, i0 < i3, 0 ≤ i2, i2 + i3 ≤ st0[r2 -- _length] .intval ⊦ r2 = jvmref, r1 = r2, (r2 -- i ' ∈ arraycopy(r1, i1, r2, i2, i3, st0[r2 -- (i2 + i0) ', val]) ↔ r2 -- i ' ∈ arraycopy(r1, i1, r2, i2, i3, st0)) ∧ (arraycopy(r1, i1, r2, i2, i3, st0[r2 -- (i2 + i0) ', val])[r2 -- i ']) = (arraycopy(r1, i1, r2, i2, i3, st0)[r2 -- i ']) |
⊦ j0 < i0 → (arraycopy(r, i, r0, i0, j, st)[r0 -- j0 ']) = st[r0 -- j0 ']
¬ i < i2, r2 ∈ st0, 0 < i3, okarray(r2, int_type, st0), 0 ≤ i0, i0 < i3, 0 ≤ i2, i2 + i3 ≤ st0[r2 -- _length] .intval ⊦ r2 = jvmref, r1 = r2, (r2 -- i ' ∈ arraycopy(r1, i1, r2, i2, i3, st0[r2 -- (i2 + i0) ', val]) ↔ r2 -- i ' ∈ arraycopy(r1, i1, r2, i2, i3, st0)) ∧ (arraycopy(r1, i1, r2, i2, i3, st0[r2 -- (i2 + i0) ', val])[r2 -- i ']) = (arraycopy(r1, i1, r2, i2, i3, st0)[r2 -- i '])
i < i2, r2 ∈ st0, 0 < i3, okarray(r2, int_type, st0), 0 ≤ i0, i0 < i3, 0 ≤ i2, i2 + i3 ≤ st0[r2 -- _length] .intval ⊦ r2 = jvmref, r1 = r2, (r2 -- i ' ∈ arraycopy(r1, i1, r2, i2, i3, st0[r2 -- (i2 + i0) ', val]) ↔ r2 -- i ' ∈ arraycopy(r1, i1, r2, i2, i3, st0)) ∧ (st0[r2 -- (i2 + i0) ', val][r2 -- i ']) = (arraycopy(r1, i1, r2, i2, i3, st0)[r2 -- i '])
[[CONCRETESIMPRULES : ()], [EXTRATERMS : (i, st0[r2 -- (i2 + i0) ', val], i3, i2, r2, i1, r1)]]