| 0 ≤ j, 0 ≤ i, onlyModified(str, r, st, st0), okbytearray(r1, st), okbytearray(r, st), ∀ i0, st1, str0, r0, st2, r2, j0. ¬ j ≤ j0 → ( okbytearray(r2, st2) ∧ okbytearray(r0, st2) ∧ onlyModified(str0, r2, st2, st1) ∧ ¬ i0 < 0 ∧ ¬ j0 < 0 → getbytearray(r0, i0, j0, st2) = getbytearray(r0, i0, j0, st1) ∨ r2 = r0), ∀ r1, st0, st, r, str, i, j0. i→n(j0) < i→n(j) → ( 0 ≤ j0 ∧ 0 ≤ i ∧ onlyModified(str, r, st, st0) ∧ okbytearray(r1, st) ∧ okbytearray(r, st) ∧ (∀ i, st0, str, r1, st, r, j1. i→n(j1) < i→n(j0) → ( okbytearray(r, st) ∧ okbytearray(r1, st) ∧ onlyModified(str, r, st, st0) ∧ 0 ≤ i ∧ 0 ≤ j1 → getbytearray(r1, i, j1, st) = getbytearray(r1, i, j1, st0) ∨ r = r1)) → r = r1 ∨ getbytearray(r1, i, j0, st) = getbytearray(r1, i, j0, st0)) ⊦ r = r1, getbytearray(r1, i, j, st) = getbytearray(r1, i, j, st0) |
⊦ 0 < j → getbytearray(r, i, j, st) = st[r -- i '] .byteval + getbytearray(r, i + 1, j - 1, st)
0 < j, 0 ≤ j, 0 ≤ i, onlyModified(str, r, st, st0), okbytearray(r1, st), okbytearray(r, st), ∀ i0, st1, str0, r0, st2, r2, j0. ¬ j ≤ j0 → ( okbytearray(r2, st2) ∧ okbytearray(r0, st2) ∧ onlyModified(str0, r2, st2, st1) ∧ ¬ i0 < 0 ∧ ¬ j0 < 0 → getbytearray(r0, i0, j0, st2) = getbytearray(r0, i0, j0, st1) ∨ r2 = r0), ∀ r1, st0, st, r, str, i, j0. i→n(j0) < i→n(j) → ( 0 ≤ j0 ∧ 0 ≤ i ∧ onlyModified(str, r, st, st0) ∧ okbytearray(r1, st) ∧ okbytearray(r, st) ∧ (∀ i, st0, str, r1, st, r, j1. i→n(j1) < i→n(j0) → ( okbytearray(r, st) ∧ okbytearray(r1, st) ∧ onlyModified(str, r, st, st0) ∧ 0 ≤ i ∧ 0 ≤ j1 → getbytearray(r1, i, j1, st) = getbytearray(r1, i, j1, st0) ∨ r = r1)) → r = r1 ∨ getbytearray(r1, i, j0, st) = getbytearray(r1, i, j0, st0)) ⊦ r = r1, st[r1 -- i '] .byteval + getbytearray(r1, i + 1, j - 1, st) = getbytearray(r1, i, j, st0)
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ ¬ i < j ↔ j ≤ i], [CSIMPSEQ : ⊦ i ≤ j → (j ≤ i ↔ i = j)], [CSIMPSEQ : ⊦ getbytearray(r, i, 0, st) = []])], [EXTRATERMS : (st, j, i, r1)]]