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