| 0 < j, 0 ≤ j1, 0 ≤ j, 0 ≤ i, i + j ≤ j0, j1 < j ⊦ r0 = r, st[r0 -- (i + j1) '] = (arraycopy(r0, 0, r, 0, j0, st)[r -- (i + j1) ']) |
⊦ r ≠ r0 ∧ i0 ≤ j0 ∧ j0 < i0 + j → (arraycopy(r, i, r0, i0, j, st)[r0 -- j0 ']) = st[r -- ((j0 - i0) + i) ']
¬ (r0 ≠ r ∧ 0 ≤ i + j1 ∧ i + j1 < 0 + j0), 0 < j, 0 ≤ j1, 0 ≤ j, 0 ≤ i, i + j ≤ j0, j1 < j ⊦ r0 = r, st[r0 -- (i + j1) '] = (arraycopy(r0, 0, r, 0, j0, st)[r -- (i + j1) '])
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ i + j = j + i], [CSIMPSEQ : ⊦ i - 0 = i], [CSIMPSEQ : ⊦ i + 0 = i], [CSIMPSEQ : ⊦ i + j + i0 = (i + j) + i0])], [EXTRATERMS : (i + j1, st, j0, 0, r, 0, r0)]]