| 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, getarray(r, i, j - 1, addarray(r, vals, 0, st[r -- _type, typeval(mkarraytype(ty))][r -- _length, intval(n→i(# vals))])) + (addarray(r, vals, 0, st)[r -- (i + j - 1) ']) ' = sublist(i→n(i), i→n(j), vals) |
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)
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ n -1 = n - 1], [CSIMPSEQ : ⊦ 1 < i → i→n(i - 1) = i→n(i) -1])]]