| ⊦ exactarray(r, byte_type, st) ∧ exactarray(r0, byte_type, st) ∧ 0 ≤ i ∧ 0 ≤ j ∧ i + j ≤ st[r0 -- _length] .intval → exactarray(r, byte_type, arraycopy(r0, i, r, i0, j, st)) |
⊦ exactarray(r, ty, st) → r ≠ jvmref ∧ r ∈ st
exactarray(r, byte_type, st), exactarray(r0, byte_type, st), i + j ≤ st[r0 -- _length] .intval, r ∈ st, r0 ∈ st, 0 ≤ i, 0 ≤ j ⊦ r = jvmref, r0 = jvmref, exactarray(r, byte_type, arraycopy(r0, i, r, i0, j, st))
[[CONCRETESIMPRULES : ([CSIMPFORWARD : ⊦ i ≤ j ∧ 0 ≤ i → 0 ≤ j])]]