| i = i1 + j, i ≤ n→i(# vals0) + j, j ≤ i, ∀ j0, i0, r0, st0. ¬ i0 < j0 ∧ ¬ j0 + n→i(# vals0) ≤ i0 → (addarray(r0, vals0, j0, st0)[r0 -- i0 ']) = vals0[i→n(i0 - j0)] ⊦ ((i = j ⊃ val; addarray(r, vals0, j + 1, st)[r -- i '])) = (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 ⊃ val; addarray(r, vals0, j + 1, st)[r -- (i1 + j) '])) = (val ' + vals0)[i→n(i1)]
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ 0 ≤ n→i(n)], [CSIMPFORWARD : ⊦ i ≤ j ∧ 0 ≤ i → 0 ≤ j], [CSIMPFORWARD : ⊦ j ≤ j0 ∧ j0 ≤ j1 → j ≤ j1], [CSIMPSEQ : ⊦ i ≤ i + j ↔ 0 ≤ j], [CSIMPSEQ : ⊦ i + j ≤ i0 + j ↔ i ≤ i0], [CSIMPSEQ : ⊦ i + j = j + i], [CSIMPSEQ : ⊦ i + j + i0 = (i + j) + i0], [CSIMPSEQ : ⊦ i = i + j ↔ j = 0])]]