| n→i(# vals0) = i1 + 1, 0 ≤ i1, ∀ r0, i0, st0. getarray(r0, i0, i1 + 1, putArray(vals0, r0, i0, st0)) = vals0 ⊦ vals0 = [], getarray(r, i + 1, i1, putArray(vals0, r, i + 1, st)[r -- i ', val]) + vals0[i→n(i1)] ' = vals0 |
⊦ i0 < i ∨ i + j ≤ i0 → getarray(r, i, j, st[r -- i0 ', val]) = getarray(r, i, j, st)
i < i + 1 ∨ (i + 1) + i1 ≤ i, n→i(# vals0) = i1 + 1, 0 ≤ i1, ∀ r0, i0, st0. getarray(r0, i0, i1 + 1, putArray(vals0, r0, i0, st0)) = vals0 ⊦ vals0 = [], getarray(r, i + 1, i1, putArray(vals0, r, i + 1, st)) + vals0[i→n(i1)] ' = vals0
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ i < j + 1 ↔ i ≤ j], [CSIMPSEQ : ⊦ ¬ i ≤ j ↔ j < i], [CSIMPSEQ : ⊦ ¬ i < i], [CSIMPSEQ : ⊦ i + j + i0 = (i + j) + i0], [CSIMPSEQ : ⊦ i + j = j + i])], [EXTRATERMS : (val, i, putArray(vals0, r, i + 1, st), i1, i + 1, r)]]