| by ' + bytes0 ≠ [], ∀ class, r, i, st. initdone(class, putByteArray(bytes0, r, i, st)) ↔ initdone(class, st) ⊦ initdone(class, putByteArray((by ' + bytes0) .rest, r, i + 1, st)[r -- i ', byteval((by ' + bytes0) .first)]) ↔ initdone(class, st) |
∀ class, r, i, st. initdone(class, putByteArray(bytes0, r, i, st)) ↔ initdone(class, st) ⊦ initdone(class, putByteArray(bytes0, r, i + 1, st)) ↔ initdone(class, st)
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ by ' + bytes ≠ []], [CSIMPSEQ : ⊦ initdone (class1, st[r -- i ', val]) ↔ initdone(class1, st)], [CSIMPSEQ : ⊦ (by ' + bytes) .first = by], [CSIMPSEQ : ⊦ (bytes + bytes0) + bytes1 = bytes + bytes0 + bytes1], [CSIMPSEQ : ⊦ (by ' + bytes) .rest = bytes])]]