| i + j ≤ j0, 0 ≤ i, 0 ≤ j ⊦ getarray(r0, i, j, arraycopy(r0, 0, r, 0, j0, st)) = getarray(r, i, j, arraycopy(r0, 0, r, 0, j0, st)) |
⊦ getarray(r, i, j, st) = getarray(r0, i0, j, st0) ↔ (∀ j0. 0 ≤ j0 ∧ j0 < j → st[r -- (i + j0) '] = st0[r0 -- (i0 + j0) '])
i + j ≤ j0, 0 ≤ i, 0 ≤ j ⊦ ∀ j1. 0 ≤ j1 ∧ j1 < j → (arraycopy(r0, 0, r, 0, j0, st)[r0 -- (i + j1) ']) = (arraycopy(r0, 0, r, 0, j0, st)[r -- (i + j1) '])
[[CONCRETESIMPRULES : ()], [EXTRATERMS : (arraycopy(r0, 0, r, 0, j0, st), i, r, arraycopy(r0, 0, r, 0, j0, st), j, i, r0)]]