| 0 < j, ∀ st, vals, ty, i, r0, r, j0. i→n(j0) < i→n(j) → (true → r = r0 ∨ getbytearray(r, i, j0, addarray(r0, ty, vals, st)) = getbytearray(r, i, j0, st)) ⊦ (addarray(r0, ty, vals, st)[r -- i ']) .byteval + getbytearray(r, i + 1, j - 1, addarray(r0, ty, vals, st)) = getbytearray(r, i, j, st), r = r0 |
⊦ r ≠ r0 → (addarray(r, ty, vals, st)[r0 -- sk]) = st[r0 -- sk]
0 < j, ∀ st, vals, ty, i, r0, r, j0. i→n(j0) < i→n(j) → (true → r = r0 ∨ getbytearray(r, i, j0, addarray(r0, ty, vals, st)) = getbytearray(r, i, j0, st)) ⊦ r = r0, st[r -- i '] .byteval ' + getbytearray(r, i + 1, j - 1, addarray(r0, ty, vals, st)) = getbytearray(r, i, j, st)
[[CONCRETESIMPRULES : ([CSIMPFORWARD : ⊦ i < j ∧ 0 ≤ i → 0 < j], [CSIMPSEQ : ⊦ by + bytes = by ' + bytes])]]