| # vals0 + i→n(i) < i→n(j), 0 ≤ i, ∀ i0, j0, r0, st0. ¬ i→n(j0) < i→n(i0) + # vals0 ∧ ¬ i0 < 0 → (putArray(vals0, r0, i0, st0)[r0 -- j0 ']) = st0[r0 -- j0 '] ⊦ (putArray(vals0, r, i + 1, st)[r -- i ', val][r -- j ']) = st[r -- j '], j = 0 |
# vals0 + i→n(i) < i→n(j), 0 ≤ i, ∀ i0, j0, r0, st0. ¬ i→n(j0) < i→n(i0) + # vals0 ∧ ¬ i0 < 0 → (putArray(vals0, r0, i0, st0)[r0 -- j0 ']) = st0[r0 -- j0 '] ⊦ r -- j ' = r -- i ', (putArray(vals0, r, i + 1, st)[r -- i ', val][r -- j ']) = st[r -- j '], j = 0
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ r -- sk = r0 -- sk0 ↔ r = r0 ∧ sk = sk0], [CSIMPSEQ : ⊦ i ' = i0 ' ↔ i = i0], [CSIMPSEQ : ⊦ (st[rk, val][rk]) = val], [CSIMPSEQ : ⊦ i ≠ j → (i ≤ j ↔ i < j)], [CSIMPSEQ : ⊦ ¬ m + n < m], [CSIMPSEQ : ⊦ (m + n0) + n1 = m + n0 + n1], [CSIMPSEQ : ⊦ m + n = n + m])], [EXTRAFMAS : (r -- j ' = r -- i ')]]