| i→n(i1) = # getarray(r, i, i1, st), 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, st) + val ' |
⊦ 0 < j → # getarray(r, i, j, st) = i→n(j)
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]) = getarray(r, i, i1, st)
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ (vals + vals0) + vals1 = vals + vals0 + vals1], [CSIMPSEQ : ⊦ vals + vals0 = vals1 + vals0 ↔ vals = vals1], [CSIMPSEQ : ⊦ i→n(i) = i→n(j) ↔ abs(i) = abs(j)])]]