| n→i(# vals0) = i1 + 1, 0 ≤ i1, getarray(r, i + 1, i1 + 1, putArray(vals0, r, i + 1, st)) = vals0 ⊦ vals0 = [], getarray(r, i + 1, i1, putArray(vals0, r, i + 1, st)) + vals0[i→n(i1)] ' = vals0 |
⊦ 1 < j → getarray(r, i, j, st) = getarray(r, i, j - 1, st) + st[r -- (i + j - 1) ']
⊦ getarray(r, i, 1, st) = st[r -- i '] '
⊦ getarray(r, i, 0, st) = []
1 < i1 + 1, n→i(# vals0) = i1 + 1, 0 ≤ i1, getarray(r, i + 1, i1 + 1 - 1, putArray(vals0, r, i + 1, st)) + (putArray(vals0, r, i + 1, st)[r -- ((i + 1) + i1 + 1 - 1) ']) = vals0 ⊦ vals0 = [], getarray(r, i + 1, i1, putArray(vals0, r, i + 1, st)) + vals0[i→n(i1)] ' = vals0
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ ((* j)) < i0 + ((* j0)) ↔ j - j0 < i0], [CSIMPSEQ : ⊦ ¬ i < j ↔ j ≤ i], [CSIMPSEQ : ⊦ i ≤ j → (j ≤ i ↔ i = j)], [CSIMPSEQ : ⊦ i + j + i0 = (i + j) + i0], [CSIMPSEQ : 0 ≤ i ⊦ n→i(n) = ((* i)) ↔ n = i→n(i)], [CSIMPSEQ : ⊦ # vals = 1 ↔ vals = vals .first + []], [CSIMPSEQ : ⊦ val + vals = val ' + vals], [CSIMPSEQ : ⊦ vals + [] = vals], [CSIMPSEQ : ⊦ (vals + vals0) + vals1 = vals + vals0 + vals1], [CSIMPSEQ : ⊦ vals ≠ [] → vals[0] = vals .first], [CSIMPSEQ : ⊦ [] + vals = vals], [CSIMPSEQ : ⊦ i + j = j + i])], [EXTRATERMS : (putArray(vals0, r, i + 1, st), i1 + 1, i + 1, r)]]