| 0 < j, n→i(m) < j, 0 ≤ i, 0 < j, ∀ j0, i0, r0, st0. ¬ j0 < n→i(m) ∧ ¬ i0 < 0 → restn(m, bytevalues(getarray(r0, i0, j0, st0))) = bytevalues(getarray(r0, i0 + n→i(m), j0 - n→i(m), st0)) ⊦ restn(m, bytevalues(st[r -- i '] ' + getarray(r, i + 1, j - 1, st)) .rest) = bytevalues(getarray(r, (n→i(m) + 1) + i, j - n→i(m) + 1, st)) |
n→i(m) < j, 0 ≤ i, 0 < j, ∀ j0, i0, r0, st0. ¬ j0 < n→i(m) ∧ ¬ i0 < 0 → restn(m, bytevalues(getarray(r0, i0, j0, st0))) = bytevalues(getarray(r0, i0 + n→i(m), j0 - n→i(m), st0)) ⊦ restn(m, bytevalues(getarray(r, i + 1, j - 1, st))) = bytevalues(getarray(r, (n→i(m) + 1) + i, j - n→i(m) + 1, st))
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ (bytes + bytes0) + bytes1 = bytes + bytes0 + bytes1], [CSIMPSEQ : ⊦ (by ' + bytes) .rest = bytes], [CSIMPSEQ : ⊦ (vals + vals0) + vals1 = vals + vals0 + vals1], [CSIMPSEQ : ⊦ by + bytes = by ' + bytes], [CSIMPSEQ : ⊦ bytevalues(val ' + vals) = val .byteval + bytevalues(vals)])]]