| 0 ≤ j ⊦ r = r0, ∀ rk. ( rk ∈ (arraycopy(r, i, r0, i0, j, st)[r0 -- (i0 + j) ', st[r -- (i + j) ']]) ↔ rk ∈ arraycopy(r, i, r0, i0, j, st[r0 -- (i0 + j) ', st[r -- (i + j) ']])) ∧ (arraycopy(r, i, r0, i0, j, st)[r0 -- (i0 + j) ', st[r -- (i + j) ']][rk]) = (arraycopy(r, i, r0, i0, j, st[r0 -- (i0 + j) ', st[r -- (i + j) ']])[rk]) |
0 ≤ j ⊦ r = r0, ((rk = r0 -- (i0 + j) ' ⊃ st[r -- (i + j) ']; arraycopy(r, i, r0, i0, j, st)[rk])) = (arraycopy(r, i, r0, i0, j, st[r0 -- (i0 + j) ', st[r -- (i + j) ']])[rk]) ∧ ( rk ∈ (arraycopy(r, i, r0, i0, j, st)[r0 -- (i0 + j) ', st[r -- (i + j) ']]) ↔ rk ∈ arraycopy(r, i, r0, i0, j, st[r0 -- (i0 + j) ', st[r -- (i + j) ']]))
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ rk ∈ st[rk0, val] ↔ rk = rk0 ∨ rk ∈ st], [CSIMPSEQ : ⊦ (st[rk0, val][rk]) = ((rk = rk0 ⊃ val; st[rk]))])]]