| 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, j, putByteArray(bytes0, r, i + 1, st)[r -- i ', byteval(by)]) = by ' + firstn(m, bytes0) |
⊦ 0 < j → getbytearray(r, i, j, st) = st[r -- i '] .byteval + getbytearray(r, i + 1, j - 1, st)
0 < j, 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, (putByteArray(bytes0, r, i + 1, st)[r -- i ', byteval(by)][r -- i ']) .byteval + getbytearray(r, i + 1, j - 1, putByteArray(bytes0, r, i + 1, st)[r -- i ', byteval(by)]) = by ' + firstn(m, bytes0)
[[CONCRETESIMPRULES : ()], [EXTRATERMS : (putByteArray(bytes0, r, i + 1, st) [r -- i ', byteval(by) ], j, i, r)]]