| okbytearray(r2, st), ∀ r2, st, str, r, r1, i. okbytearray(r2, st) → (path∃(str, r, r1, putByteArray(bytes0, r2, i, st)) ↔ path∃(str, r, r1, st)) ⊦ path∃(str, r, r1, putByteArray(by ' + bytes0, r2, i, st)) ↔ path∃(str, r, r1, st) |
⊦ bytes ≠ [] → putByteArray(bytes, r, i, st) = (putByteArray(bytes .rest, r, i + 1, st)[r -- i ', byteval(bytes .first)])
by ' + bytes0 ≠ [], okbytearray(r2, st), ∀ r2, st, str, r, r1, i. okbytearray(r2, st) → (path∃(str, r, r1, putByteArray(bytes0, r2, i, st)) ↔ path∃(str, r, r1, st)) ⊦ path∃(str, r, r1, putByteArray((by ' + bytes0) .rest, r2, i + 1, st)[r2 -- i ', byteval((by ' + bytes0) .first)]) ↔ path∃(str, r, r1, st)
[[CONCRETESIMPRULES : ([CSIMPNAMEDSEQ : list, bytelist, app-02-ant, ⊦ ¬ bytes + bytes0 ≠ [] ↔ bytes = [] ∧ bytes0 = []], [CSIMPNAMEDSEQ : list, bytelist, e, ⊦ by ' ≠ []], [CSIMPNAMEDSEQ : list, bytelist, a, ⊦ (bytes + bytes0) + bytes1 = bytes + bytes0 + bytes1])], [EXTRATERMS : (st, i, r2, by ' + bytes0)]]