| j = i0 + 1, 0 < j, ∀ r, r0, i, j, st. r = r0 ∨ getarray(r, i, j, putArray(vals0, r0, i, st)) = getarray(r, i, j, st) ⊦ r = r0, st[r -- i '] ' + getarray(r, i + 1, i0, putArray(vals0, r0, i + 1, st)[r0 -- i ', val]) = getarray(r, i, j, st) |
0 ≤ i0, ∀ r, r0, i, j, st. r = r0 ∨ getarray(r, i, j, putArray(vals0, r0, i, st)) = getarray(r, i, j, st) ⊦ r = r0, st[r -- i '] ' + getarray(r, i + 1, i0, putArray(vals0, r0, i + 1, st)[r0 -- i ', val]) = getarray(r, i, i0 + 1, st)
[[CONCRETESIMPRULES : ([CSIMPFORWARD : ⊦ i ≤ j ∧ 0 ≤ i → 0 ≤ j], [CSIMPSEQ : ⊦ i + j = j + i], [CSIMPSEQ : ⊦ i + j + i0 = (i + j) + i0], [CSIMPSEQ : ⊦ (~1) < i ↔ 0 ≤ i], [CSIMPSEQ : ⊦ ((* j)) < i0 + ((* j0)) ↔ j - j0 < i0])]]