| getarray(r, i, j - 1, addarray(r, vals, 0, st[r -- _type, typeval(mkarraytype(ty))][r -- _length, intval(n→i(# vals))])) = sublist(i→n(i), i→n(j) - 1, vals), 0 ≤ i, i + j ≤ n→i(# vals), 1 < j, 0 < j, ∀ ty, st, r, vals, i, j0. i→n(j0) < i→n(j) → ( i + j0 ≤ n→i(# vals) ∧ 0 ≤ i ∧ 0 ≤ j0 → getarray(r, i, j0, addarray(r, vals, 0, st[r -- _type, typeval(mkarraytype(ty))][r -- _length, intval(n→i(# vals))])) = sublist(i→n(i), i→n(j0), vals)) ⊦ 0 = j, sublist(i→n(i), i→n(j) - 1, vals) + (addarray(r, vals, 0, st)[r -- (i + j - 1) ']) ' = sublist(i→n(i), i→n(j), vals) |
j = i0 + 1, getarray(r, i, i0, addarray(r, vals, 0, st[r -- _type, typeval(mkarraytype(ty))][r -- _length, intval(n→i(# vals))])) = sublist(i→n(i), i→n(j) - 1, vals), 0 ≤ i, i + j ≤ n→i(# vals), 1 < j, 0 < j, ∀ ty, st, r, vals, i, j0. i→n(j0) < i→n(j) → ( i + j0 ≤ n→i(# vals) ∧ 0 ≤ i ∧ 0 ≤ j0 → getarray(r, i, j0, addarray(r, vals, 0, st[r -- _type, typeval(mkarraytype(ty))][r -- _length, intval(n→i(# vals))])) = sublist(i→n(i), i→n(j0), vals)) ⊦ 0 = j, sublist(i→n(i), i→n(j) - 1, vals) + (addarray(r, vals, 0, st)[r -- (i + j - 1) ']) ' = sublist(i→n(i), i→n(j), vals)
[[CONCRETESIMPRULES : ([CSIMPELIM : ⊦ i0 = i - j ↔ i = i0 + j])], [EXTRATERMS : (j, 1, i0)]]