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