| 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) ⊦ sublist(0, m + 1, getarray(r, i, j, st)) = getarray(r, i, n→i(m) + 1, st) |
⊦ vals ≠ [] → sublist(0, n + 1, vals) = vals .first + sublist(0, n, vals .rest)
⊦ getarray(r, i, j, st) = [] ↔ j ≤ 0
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)
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ i < j → (¬ ¬ j ≤ i ↔ false)])], [EXTRATERMS : (getarray(r, i, j, st), m)]]