| i = i0 + 1, 0 < i, i ≤ n→i(# vals) ⊦ (addarray(r, ty, val ' + vals, st)[r -- i ']) = (addarray(r, ty, vals, st)[r -- i0 ']), vals = [] |
⊦ 0 ≤ i ∧ i < n→i(# vals) → (addarray(r, ty, vals, st)[r -- i ']) = vals[i→n(i)]
i0 < n→i(# vals), 0 ≤ i0 ⊦ vals = [], (addarray(r, ty, val ' + vals, st)[r -- (i0 + 1) ']) = vals[i→n(i0)]
[[CONCRETESIMPRULES : ([CSIMPFORWARD : ⊦ i ≤ j ∧ 0 ≤ i → 0 ≤ j], [CSIMPSEQ : ⊦ i + 1 ≤ j ↔ i < j], [CSIMPSEQ : ⊦ i + j = j + i], [CSIMPSEQ : ⊦ i + j + i0 = (i + j) + i0], [CSIMPSEQ : ⊦ (~1) < i ↔ 0 ≤ i], [CSIMPSEQ : ⊦ ((* j)) < i0 + ((* j0)) ↔ j - j0 < i0])]]