| bytevalues(getarray(r, i, j, st)) + bytevalues(getarray(r, i + j, i1, st)) = bytevalues(getarray(r0, i0, j, st0)) + bytevalues(getarray(r0, i0 + j, i1, st0)), 0 ≤ j, 0 ≤ i1 + j, 0 ≤ i1 ⊦ bytevalues(getarray(r, i, j, st)) = bytevalues(getarray(r0, i0, j, st0)) |
⊦ # bytes = # bytes0 → (bytes + bytes1 = bytes0 + bytes2 ↔ bytes = bytes0 ∧ bytes1 = bytes2)
⊦ 0 ≤ j → # getarray(r, i, j, st) = i→n(j)
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ # bytes ≠ # bytes0 → bytes ≠ bytes0], [CSIMPSEQ : ⊦ # bytevalues(vals) = # vals], [CSIMPSEQ : ⊦ i→n(i) = i→n(j) ↔ abs(i) = abs(j)])], [EXTRATERMS : (bytevalues(getarray(r0, i0 + j, i1, st0)), bytevalues(getarray(r0, i0, j, st0)), bytevalues(getarray(r, i + j, i1, st)), bytevalues(getarray(r, i, j, st)))]]