| ⊦ i2 + i3 ≤ st0[r2 -- _length] .intval ∧ 0 ≤ i2 ∧ i < i3 ∧ 0 ≤ i ∧ r1 ≠ r2 ∧ exactarray(r2, int_type, st0) → arraycopy(r1, i1, r2, i2, i3, st0[r2 -- (i2 + i) ', intval(st0[r1 -- (i1 + i) '] .intval)]) = arraycopy(r1, i1, r2, i2, i3, st0) |
⊦ i2 + i3 ≤ st0[r2 -- _length] .intval ∧ 0 ≤ i2 ∧ i < i3 ∧ 0 ≤ i ∧ r1 ≠ r2 ∧ exactarray(r2, int_type, st0) → arraycopy(r1, i1, r2, i2, i3, st0[r2 -- (i2 + i) ', val]) = arraycopy(r1, i1, r2, i2, i3, st0)
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ i + j = j + i], [CSIMPSEQ : ⊦ i + j + i0 = (i + j) + i0])]]