| 0 ≤ j, 0 ≤ i, onlyModified(str, r, st, st0), okbytearray(r1, st), okbytearray(r, st), 0 < j, ∀ 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) |
j = i1 + 1, 0 ≤ j, 0 ≤ i, onlyModified(str, r, st, st0), okbytearray(r1, st), okbytearray(r, st), 0 < j, ∀ 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, i1, st) = getbytearray(r1, i, j, st0)
[[CONCRETESIMPRULES : ([CSIMPELIM : ⊦ i0 = i - j ↔ i = i0 + j])], [EXTRATERMS : (j, 1, i1)]]