| 0 ≤ j ∧ 0 ≤ i ∧ onlyModified(str, r, st, st0) ∧ okbytearray(r1, st) ∧ okbytearray(r, st) ∧ (∀ i, st0, str, r1, st, r, j0. i→n(j0) < i→n(j) → ( okbytearray(r, st) ∧ okbytearray(r1, st) ∧ onlyModified(str, r, st, st0) ∧ 0 ≤ i ∧ 0 ≤ j0 → getbytearray(r1, i, j0, st) = getbytearray(r1, i, j0, st0) ∨ r = r1)), ∀ 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, 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)
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ ¬ i ≤ j ↔ j < i], [CSIMPSEQ : ⊦ ¬ i < j ↔ j ≤ i], [CSIMPSEQ : ⊦ 0 ≤ i → abs(i) = i], [CSIMPSEQ : ⊦ i→n(i) < i→n(j) ↔ abs(i) < abs(j)])]]