| i > 0, ∀ val, sk, st, val0, r0, r, i0. i→n(i0) < i→n(i) → (true → r = r0 ∨ (addarray(r, val0, i0, st)[r0 -- sk, val]) = addarray(r, val0, i0, st[r0 -- sk, val])) ⊦ (addarray(r, val0, i - 1, st)[r -- (i - 1) ', val0][r0 -- sk, val]) = addarray(r, val0, i, st[r0 -- sk, val]), r = r0 |
0 < i, ∀ val, sk, st, val0, r0, r, i0. i→n(i0) < i→n(i) → (true → r = r0 ∨ (addarray(r, val0, i0, st)[r0 -- sk, val]) = addarray(r, val0, i0, st[r0 -- sk, val])) ⊦ (addarray(r, val0, i - 1, st)[r -- (i - 1) ', val0][r0 -- sk, val]) = addarray(r, val0, i, st[r0 -- sk, val]), r = r0
[[CONCRETESIMPRULES : ([CSIMPFORWARD : ⊦ i < j ∧ 0 ≤ i → 0 < j], [CSIMPSEQ : ⊦ i > j ↔ j < i])]]