| 1 < j, ∀ j0, r, r0, i, st, sk, val. i→n(j0) < i→n(j) → (true → r = r0 ∨ getarray(r, i, j0, st[r0 -- sk, val]) = getarray(r, i, j0, st)) ⊦ getarray(r, i, j - 1, st[r0 -- sk, val]) + (st[r0 -- sk, val][r -- (i + j - 1) ']) = getarray(r, i, j, st), r = r0 |
1 < j, 0 < j, ∀ j0, r, r0, i, st, sk, val. i→n(j0) < i→n(j) → (true → r = r0 ∨ getarray(r, i, j0, st[r0 -- sk, val]) = getarray(r, i, j0, st)) ⊦ r = r0, getarray(r, i, j - 1, st[r0 -- sk, val]) + st[r -- (i + j - 1) '] ' = getarray(r, i, j, st)
[[CONCRETESIMPRULES : ([CSIMPFORWARD : ⊦ i < j ∧ 0 < i → 0 < j ∧ 1 < j], [CSIMPFORWARD : ⊦ i < j ∧ 0 ≤ i → 0 < j], [CSIMPSEQ : ⊦ vals + val = vals + val '], [CSIMPSEQ : ⊦ r ≠ r0 → (st[r0 -- sk0, val][r -- sk]) = st[r -- sk]])]]