| 0 ≤ i, i→n(i) < # vals0, i→n(i) + # vals ≤ # vals0, i→n(i) + n < # vals0, 0 ≤ n→i(n) + i, # vals ≤ n ⊦ vals0 = [], (putArray(vals, r0, i, addarray(r0, ty, vals0, st))[r0 -- (n→i(n) + i) ']) = (vals + restn(i→n(i) + # vals, vals0))[n] |
⊦ i < j ∨ n→i(# vals) + j ≤ i → (putArray(vals, r, j, st)[r0 -- i ']) = st[r0 -- i ']
n→i(n) + i < i ∨ n→i(# vals) + i ≤ n→i(n) + i, 0 ≤ i, i→n(i) < # vals0, i→n(i) + # vals ≤ # vals0, i→n(i) + n < # vals0, 0 ≤ n→i(n) + i, # vals ≤ n ⊦ vals0 = [], (addarray(r0, ty, vals0, st)[r0 -- (n→i(n) + i) ']) = (vals + restn(i→n(i) + # vals, vals0))[n]
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ i + j < j ↔ i < 0], [CSIMPSEQ : ⊦ ¬ n→i(n) < 0], [CSIMPSEQ : ⊦ i + j + i0 = (i + j) + i0], [CSIMPSEQ : ⊦ i + j = j + i], [CSIMPSEQ : ⊦ i + j ≤ i0 + j ↔ i ≤ i0], [CSIMPSEQ : ⊦ n→i(m) ≤ n→i(n) ↔ m ≤ n], [CSIMPSEQ : ⊦ ¬ m ≤ n ↔ n < m], [CSIMPSEQ : ⊦ m ≤ n → (n < m ↔ false)])], [EXTRATERMS : (n→i(n) + i, r0, addarray(r0, ty, vals0, st), i, r0, vals)]]