| 0 ≤ n→i(# bytes0) + j, j ≤ i, i ≤ n→i(# bytes0) + j, 0 ≤ j, 0 ≤ 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), j ≠ i → bytes0 = [] ∨ putByteArray(bytes0, r, j + 1, st[r -- i ', byteval(by)]) = putByteArray(bytes0, r, j + 1, st) ⊦ (putByteArray(bytes0, r, j + 1, st[r -- i ', byteval(by)])[r -- j ', byteval(by0)]) = (putByteArray(bytes0, r, j + 1, st)[r -- j ', byteval(by0)]) |
⊦ putByteArray([], r, i, st) = st
0 ≤ n→i(# bytes0) + j, j ≤ i, i ≤ n→i(# bytes0) + j, 0 ≤ j, 0 ≤ 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), j ≠ i → bytes0 = [] ∨ putByteArray(bytes0, r, j + 1, st[r -- i ', byteval(by)]) = putByteArray(bytes0, r, j + 1, st) ⊦ j ≠ i, (putByteArray(bytes0, r, j + 1, st[r -- i ', byteval(by)])[r -- j ', byteval(by0)]) = (putByteArray(bytes0, r, j + 1, st)[r -- j ', byteval(by0)])
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ i + j = j + i], [CSIMPSEQ : ⊦ i ≠ j → (i ≤ j ↔ i < j)], [CSIMPSEQ : ⊦ # [] = 0], [CSIMPSEQ : ⊦ i + 0 = i], [CSIMPSEQ : ⊦ i + j + i0 = (i + j) + i0], [CSIMPSEQ : ⊦ i ≤ 0 ∧ 0 ≤ j → i ≤ j], [CSIMPSEQ : ⊦ i < j → ¬ j < i], [CSIMPFORWARD : ⊦ i < j ∧ j ≤ j0 → i < j0], [CSIMPFORWARD : ⊦ i < j ∧ 0 ≤ i → 0 < j])], [EXTRAFMAS : (j ≠ i)]]