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