| i→n(j) = m + 1, 0 < j, j ≤ 1 + n→i(# bytes0), ∀ j0, r0, i0, st0. ¬ j0 < 0 ∧ ¬ n→i(# bytes0) < j0 → getbytearray(r0, i0, j0, putByteArray(bytes0, r0, i0, st0)) = firstn(i→n(j0), bytes0) ⊦ j = 0, getbytearray(r, i + 1, j - 1, putByteArray(bytes0, r, i + 1, st)[r -- i ', byteval(by)]) = firstn(m, bytes0) |
j = i1 + 1, i→n(j) = m + 1, 0 < j, j ≤ 1 + n→i(# bytes0), ∀ j0, r0, i0, st0. ¬ j0 < 0 ∧ ¬ n→i(# bytes0) < j0 → getbytearray(r0, i0, j0, putByteArray(bytes0, r0, i0, st0)) = firstn(i→n(j0), bytes0) ⊦ j = 0, getbytearray(r, i + 1, i1, putByteArray(bytes0, r, i + 1, st)[r -- i ', byteval(by)]) = firstn(m, bytes0)
[[CONCRETESIMPRULES : ([CSIMPELIM : ⊦ i0 = i - j ↔ i = i0 + j])], [EXTRATERMS : (j, 1, i1)]]