| j ≠ 0, i ≤ n→i(# mklist(initial_value(ty), i→n(j))) + i0, 0 ≤ i0 + j, 0 ≤ i0, 0 ≤ j, r -- i ' ∈ addarray(r, ty, ((j = 0 ⊃ []; mklist(initial_value(ty), i→n(j)))) + val ' + mklist(initial_value(ty), i→n(i0)), st), 0 ≤ n→i(# ((j = 0 ⊃ []; mklist(initial_value(ty), i→n(j))))) + i0, 0 ≤ i ⊦ i = j, r -- i ' ∈ addarray(r, ty, i0 + j + 1, st) |
⊦ r ∈ addarray(r, ty0, vals, st)
0 < j, r -- i ' ∈ addarray(r, ty, mklist(initial_value(ty), i→n(j)) + val ' + mklist(initial_value(ty), i→n(i0)), st), 0 ≤ i0, 0 ≤ i0 + j, i ≤ j + i0, 0 ≤ i ⊦ j = 0, i = j, r -- i ' ∈ addarray(r, ty, i0 + j + 1, st)
[[CONCRETESIMPRULES : ([CSIMPFORWARD : ⊦ i < j ∧ 0 ≤ i → 0 < j], [CSIMPFORWARD : ⊦ r -- sk ∈ st → r ∈ st], [CSIMPSEQ : ⊦ i ≤ 0 ∧ 0 ≤ j → i ≤ j], [CSIMPSEQ : ⊦ i + j = j + i], [CSIMPSEQ : ⊦ 0 < i → n→i(i→n(i)) = i], [CSIMPSEQ : ⊦ i ≠ j → (i ≤ j ↔ i < j)], [CSIMPSEQ : ⊦ 0 ≤ i → n→i(i→n(i)) = i], [CSIMPSEQ : ⊦ # mklist(val, n) = n])]]