| i1 ≠ 0, 0 ≤ i1, i1 ≤ n→i(# vals0), ∀ j0, i0, r0, st0. ¬ i0 < j0 ∧ ¬ j0 + n→i(# vals0) ≤ i0 → (addarray(r0, vals0, j0, st0)[r0 -- i0 ']) = vals0[i→n(i0 - j0)] ⊦ (addarray(r, vals0, j + 1, st)[r -- (i1 + j) ']) = (val ' + vals0)[i→n(i1)] |
0 < i1, i1 ≤ n→i(# vals0), ∀ j0, i0, r0, st0. ¬ i0 < j0 ∧ ¬ j0 + n→i(# vals0) ≤ i0 → (addarray(r0, vals0, j0, st0)[r0 -- i0 ']) = vals0[i→n(i0 - j0)] ⊦ i1 = 0, (addarray(r, vals0, j + 1, st)[r -- (i1 + j) ']) = (val ' + vals0)[i→n(i1)], vals0 = []
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ # vals = 0 ↔ vals = []], [CSIMPSEQ : ⊦ 0 < n ↔ n ≠ 0], [CSIMPSEQ : 0 ≤ i ⊦ ((* i)) < n→i(n) ↔ i→n(i) < n], [CSIMPFORWARD : ⊦ i < j ∧ 0 ≤ i → 0 < j], [CSIMPFORWARD : ⊦ i < j ∧ j ≤ j0 → i < j0], [CSIMPSEQ : ⊦ i ≠ j → (i ≤ j ↔ i < j)])]]