| getarray(r, i, 2 + i2, st) = val + vals ∧ getarray(r, i, 2 + i2, st) ≠ [], (~1) ≤ i2, 0 < i2, ∀ i1, r, i, st. i→n(i1) < i→n(i2 + 1) → (0 ≤ i1 → getarray(r, i, i1 + 1, st) .rest = getarray(r, i + 1, i1, st)) ⊦ vals = getarray(r, i + 1, i2, st) + st[r -- (i + i2 + 1) '] ' |
⊦ getarray(r, i, j, st) = [] ↔ j ≤ 0
getarray(r, i, 2 + i2, st) = val ' + vals, (~1) ≤ i2, 0 < i2, val ∈ getarray(r, i, 2 + i2, st), ∀ i1, r, i, st. i→n(i1) < i→n(i2 + 1) → (0 ≤ i1 → getarray(r, i, i1 + 1, st) .rest = getarray(r, i + 1, i1, st)) ⊦ vals = getarray(r, i + 1, i2, st) + st[r -- (i + i2 + 1) '] '
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ (vals + vals0) + vals1 = vals + vals0 + vals1], [CSIMPFORWARD : ⊦ val ' + vals = vals0 → val ∈ vals0], [CSIMPSEQ : ⊦ i + j = j + i], [CSIMPSEQ : ⊦ i + j + i0 = (i + j) + i0], [CSIMPSEQ : i0 ≠ 0, i0 < i ⊦ ((* i)) < j → ((* i0)) < j], [CSIMPSEQ : ⊦ ¬ i ≤ j ↔ j < i], [CSIMPSEQ : ⊦ i + ((* j)) ≤ ((* j0)) ↔ i ≤ j0 - j], [CSIMPSEQ : ⊦ val + vals = val ' + vals])]]