| j < i ∨ i + n→i(# bytes) ≤ j ⊦ (putByteArray(bytes, r, i, st)[r -- i0 ']) = (putByteArray(bytes, r, i, st[r -- j ', val])[r -- i0 ']), i0 = j |
⊦ i ≤ j ∧ j < i + n→i(# bytes) → (putByteArray(bytes, r, i, st)[r -- j ']) = byteval(bytes[i→n(j - i)])
¬ (i ≤ i0 ∧ i0 < i + n→i(# bytes)), j < i ∨ i + n→i(# bytes) ≤ j ⊦ (putByteArray(bytes, r, i, st)[r -- i0 ']) = (putByteArray(bytes, r, i, st[r -- j ', val])[r -- i0 ']), i0 = j
⊦ i ≤ j ∧ j < i + n→i(# bytes) → (putByteArray(bytes, r, i, st)[r -- j ']) = byteval(bytes[i→n(j - i)])
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ i + j + i0 = (i + j) + i0], [CSIMPSEQ : ⊦ i + j = j + i], [CSIMPSEQ : ⊦ byteval(by) = byteval(by0) ↔ by = by0])], [EXTRATERMS : (i0, st[r -- j ', val], i, r, bytes)]]