| 0 ≤ j, j ≤ n→i(# bytes) ⊦ getbytearray(r, i, j, putByteArray(bytes, r, i, st)) = firstn(i→n(j), bytes) |
⊦ putByteArray([], r, i, st) = st
⊦ getbytearray(r, i, 0, st) = []
∀ j, r, i, st. 0 ≤ j ∧ j ≤ n→i(# bytes0) → getbytearray(r, i, j, putByteArray(bytes0, r, i, st)) = firstn(i→n(j), bytes0), 0 ≤ j, j ≤ n→i(# (by + bytes0)) ⊦ getbytearray(r, i, j, putByteArray(by + bytes0, r, i, st)) = firstn(i→n(j), by + bytes0)
[[CONCRETESIMPRULES : ([CSIMPGEN : bytelist generated by [], +;], [CSIMPSEQ : ⊦ # [] = 0], [CSIMPSEQ : ⊦ i ≤ j → (j ≤ i ↔ i = j)], [CSIMPSEQ : ⊦ firstn(0, bytes) = []])]]