| i0 = i1, 0 ≤ i1, i1 ≤ i0, 0 ≤ i0, 0 < i0, ∀ val, st, i, r, i1, j0. i→n(j0) < i→n(i0 + 1) → (0 < j0 ∧ i1 < j0 ∧ 0 ≤ i1 → getarray(r, i, j0, st[r -- (i1 + i) ', val]) = (getarray(r, i, j0, st)[i→n(i1), val])) ⊦ getarray(r, i, i0, st[r -- (i1 + i) ', val]) + val ' = (getarray(r, i, i0 + 1, st)[i→n(i1), val]) |
0 ≤ i1, 0 < i1, ∀ val, st, i, r, i2, j0. i→n(j0) < i→n(i1 + 1) → (0 < j0 ∧ i2 < j0 ∧ 0 ≤ i2 → getarray(r, i, j0, st[r -- (i2 + i) ', val]) = (getarray(r, i, j0, st)[i→n(i2), val])) ⊦ getarray(r, i, i1, st[r -- (i1 + i) ', val]) + val ' = (getarray(r, i, i1 + 1, st)[i→n(i1), val])
[[CONCRETESIMPRULES : ([CSIMPFORWARD : ⊦ i < j ∧ 0 ≤ i → 0 < j], [CSIMPSEQ : ⊦ i ≤ i], [CSIMPSEQ : ⊦ i ≤ 0 ∧ 0 ≤ j → i ≤ j])]]