| n < # getarray(r, i, i0, st), 0 < i0, n→i(n) ≤ i0, ∀ j0, n, r, i, st. i→n(j0) < i→n(i0 + 1) → (n→i(n) < j0 → (getarray(r, i, j0, st)[n]) = st[r -- (i + n→i(n)) ']) ⊦ (getarray(r, i, i0, st)[n]) = st[r -- (i + n→i(n)) '], n = i→n(i0) |
⊦ 0 < j → # getarray(r, i, j, st) = i→n(j)
n < i→n(i0), n→i(n) ≤ i0, 0 < i0, ∀ j0, n, r, i, st. i→n(j0) < i→n(i0 + 1) → (n→i(n) < j0 → (getarray(r, i, j0, st)[n]) = st[r -- (i + n→i(n)) ']) ⊦ n = i→n(i0), (getarray(r, i, i0, st)[n]) = st[r -- (i + n→i(n)) '], i0 = 0
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ i→n(i) = 0 ↔ i = 0], [CSIMPFORWARD : ⊦ m < n → n ≠ 0])]]