| 0 ≤ i0 + j, 0 ≤ i0, 0 ≤ j, r0 ≠ r ∨ sk ≠ j ' ⊦ (addarray(r, ty, i0 + j + 1, st)[r0 -- sk]) = (addarray(r, ty, ((j = 0 ⊃ []; mklist(initial_value(ty), i→n(j)))) + val ' + mklist(initial_value(ty), i→n(i0)), st)[r0 -- sk]) |
⊦ r ≠ r0 → (addarray(r, ty, i, st)[r0 -- sk]) = st[r0 -- sk]
⊦ r ≠ r0 → (addarray(r, ty, vals, st)[r0 -- sk]) = st[r0 -- sk]
0 ≤ j, 0 ≤ i0, 0 ≤ i0 + j ⊦ sk = j ', (addarray(r, ty, i0 + j + 1, st)[r -- sk]) = (addarray(r, ty, ((j = 0 ⊃ []; mklist(initial_value(ty), i→n(j)))) + val ' + mklist(initial_value(ty), i→n(i0)), st)[r -- sk])
[[CONCRETESIMPRULES : ()]]