| 0 ≤ i, 0 ≤ n→i(# bytes0) + i, ∀ i0, j0, r0, st0, by1. ¬ i0 < 0 ∧ ¬ j0 < 0 ∧ ¬ j0 + n→i(# bytes0) ≤ i0 ∧ ¬ i0 < j0 ∧ ¬ j0 + n→i(# bytes0) ≤ 0 → bytes0 = [] ∨ putByteArray(bytes0, r0, j0, st0[r0 -- i0 ', byteval(by1)]) = putByteArray(bytes0, r0, j0, st0) ⊦ (putByteArray(bytes0, r, i + 1, st[r -- i ', byteval(by)])[r -- i ', byteval(by0)]) = (putByteArray(bytes0, r, i + 1, st)[r -- i ', byteval(by0)]) |
⊦ 0 ≤ j ∧ 0 ≤ i ∧ j + 1 = i → putByteArray(bytes, r, i, st[r -- j ', byteval(by)]) = putByteArray(by + bytes, r, j, st)
0 ≤ i ∧ 0 ≤ i + 1 ∧ i + 1 = i + 1, 0 ≤ i, 0 ≤ n→i(# bytes0) + i, ∀ i0, j0, r0, st0, by1. ¬ i0 < 0 ∧ ¬ j0 < 0 ∧ ¬ j0 + n→i(# bytes0) ≤ i0 ∧ ¬ i0 < j0 ∧ ¬ j0 + n→i(# bytes0) ≤ 0 → bytes0 = [] ∨ putByteArray(bytes0, r0, j0, st0[r0 -- i0 ', byteval(by1)]) = putByteArray(bytes0, r0, j0, st0) ⊦ (putByteArray(by + bytes0, r, i, st)[r -- i ', byteval(by0)]) = (putByteArray(bytes0, r, i + 1, st)[r -- i ', byteval(by0)])
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ ¬ i ≤ j ↔ j < i], [CSIMPSEQ : ⊦ i ≤ j → (¬ ¬ j < i ↔ false)], [CSIMPSEQ : ⊦ ((* j)) ≤ i0 + ((* j0)) ↔ j - j0 ≤ i0], [CSIMPSEQ : i0 ≠ 0, i0 ≤ i ⊦ ((* i)) ≤ j → ((* i0)) ≤ j], [CSIMPSEQ : ⊦ i + j + i0 = (i + j) + i0], [CSIMPSEQ : ⊦ i + j = j + i])], [EXTRATERMS : (by, i, st, i + 1, r, bytes0)]]