| 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) |
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(i0), vals), 0 ≤ i, i + i0 < n→i(# vals), 0 < i0, ∀ ty, st, r, vals, i, j0. i→n(j0) < i→n(i0 + 1) → ( 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)) ⊦ (~1) = i0, sublist(i→n(i), i→n(i0), vals) + (addarray(r, vals, 0, st)[r -- (i + i0) ']) ' = sublist(i→n(i), i→n(i0) + 1, vals)
[[CONCRETESIMPRULES : ([CSIMPFORWARD : ⊦ i < j ∧ 0 ≤ i → 0 < j], [CSIMPSEQ : ⊦ 0 < i ∧ 0 < j → 0 < i + j], [CSIMPSEQ : ⊦ ((* j)) < i0 + ((* j0)) ↔ j - j0 < i0], [CSIMPSEQ : ⊦ i + 1 ≤ j ↔ i < j], [CSIMPSEQ : ⊦ i + 0 = i], [CSIMPSEQ : ⊦ ((* i)) + i0 - ((* j)) = (i - j) + i0], [CSIMPSEQ : ⊦ ((* j)) = i0 + ((* j0)) ↔ j - j0 = i0], [CSIMPSEQ : ⊦ m + n = n + m], [CSIMPSEQ : ⊦ (m + n0) + n1 = m + n0 + n1], [CSIMPSEQ : ⊦ 0 + m = m], [CSIMPSEQ : ⊦ n ≤ m → m + n0 - n = (m - n) + n0], [CSIMPSEQ : ⊦ 0 < i + 1 → i→n(i + 1) = i→n(i) + 1], [CSIMPSEQ : ⊦ i + j = j + i], [CSIMPSEQ : ⊦ i + j + i0 = (i + j) + i0])]]