| i2 + i3 ≤ st0[r2 -- _length] .intval, 0 ≤ i2, i < i3, 0 ≤ i, okarray(r2, int_type, st0), 0 < i3, r2 ∈ st0 ⊦ ∀ rk. (rk ∈ arraycopy(r1, i1, r2, i2, i3, st0[r2 -- (i2 + i) ', val]) ↔ rk ∈ arraycopy(r1, i1, r2, i2, i3, st0)) ∧ (arraycopy(r1, i1, r2, i2, i3, st0[r2 -- (i2 + i) ', val])[rk]) = (arraycopy(r1, i1, r2, i2, i3, st0)[rk]), r1 = r2, r2 = jvmref |
r2 ∈ st0, 0 < i3, okarray(r2, int_type, st0), 0 ≤ i, i < i3, 0 ≤ i2, i2 + i3 ≤ st0[r2 -- _length] .intval ⊦ r2 = jvmref, r1 = r2, (rk ∈ arraycopy(r1, i1, r2, i2, i3, st0[r2 -- (i2 + i) ', val]) ↔ rk ∈ arraycopy(r1, i1, r2, i2, i3, st0)) ∧ (arraycopy(r1, i1, r2, i2, i3, st0[r2 -- (i2 + i) ', val])[rk]) = (arraycopy(r1, i1, r2, i2, i3, st0)[rk])
[[CONCRETESIMPRULES : ()]]