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