| getarray(r, i, j, st) ≠ [], n→i(m) < j, 0 < j, ∀ j0, r0, i0, st0. ¬ j0 < n→i(m) → sublist(0, m, getarray(r0, i0, j0, st0)) = getarray(r0, i0, n→i(m), st0) ⊦ getarray(r, i, j, st) .first + sublist(0, m, getarray(r, i, j, st) .rest) = getarray(r, i, n→i(m) + 1, st) |
⊦ 0 < j → getarray(r, i, j, st) .first = st[r -- i ']
⊦ 0 < j → getarray(r, i, j, st) .rest = getarray(r, i + 1, j - 1, st)
⊦ getarray(r, i, j, st) = [] ↔ j ≤ 0
n→i(m) < j, 0 < j, ∀ j0, r0, i0, st0. ¬ j0 < n→i(m) → sublist(0, m, getarray(r0, i0, j0, st0)) = getarray(r0, i0, n→i(m), st0) ⊦ st[r -- i '] ' + sublist(0, m, getarray(r, i + 1, j - 1, st)) = getarray(r, i, n→i(m) + 1, st)
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ ¬ i ≤ j ↔ j < i], [CSIMPSEQ : ⊦ val + vals = val ' + vals])]]