| 0 ≤ i0, 0 ≤ i0 + j, 0 < j ⊦ j = 0, (addarray(r, ty, i0 + j + 1, st)[r -- i ']) = (addarray(r, ty, mklist(initial_value(ty), i→n(j)) + val ' + mklist(initial_value(ty), i→n(i0)), st)[r -- i ']), i = j |
⊦ 0 ≤ j ∧ j < i → (addarray(r, ty, i, st)[r -- j ']) = initial_value(ty)
¬ (0 ≤ i ∧ i < i0 + j + 1), 0 ≤ i0, 0 ≤ i0 + j, 0 < j ⊦ j = 0, (addarray(r, ty, i0 + j + 1, st)[r -- i ']) = (addarray(r, ty, mklist(initial_value(ty), i→n(j)) + val ' + mklist(initial_value(ty), i→n(i0)), st)[r -- i ']), i = j
0 ≤ i ∧ i < i0 + j + 1, 0 ≤ i0, 0 ≤ i0 + j, 0 < j ⊦ j = 0, initial_value(ty) = (addarray(r, ty, mklist(initial_value(ty), i→n(j)) + val ' + mklist(initial_value(ty), i→n(i0)), st)[r -- i ']), i = j
[[CONCRETESIMPRULES : ()], [EXTRATERMS : (i, st, i0 + j + 1, ty, r)]]