| 0 ≤ i, i + n→i(# vals) ≤ n→i(# vals0) ⊦ (rk ∈ putArray(vals, r, i, addarray(r, ty, vals0, st)) ↔ rk ∈ addarray(r, ty, firstn(i→n(i), vals0) + vals + restn(i→n(i) + # vals, vals0), st)) ∧ (putArray(vals, r, i, addarray(r, ty, vals0, st))[rk]) = (addarray(r, ty, firstn(i→n(i), vals0) + vals + restn(i→n(i) + # vals, vals0), st)[rk]) |
0 ≤ i, i + n→i(# vals) ≤ n→i(# vals0) ⊦ ( r0 -- sk ∈ putArray(vals, r, i, addarray(r, ty, vals0, st)) ↔ r0 -- sk ∈ addarray(r, ty, firstn(i→n(i), vals0) + vals + restn(i→n(i) + # vals, vals0), st)) ∧ (putArray(vals, r, i, addarray(r, ty, vals0, st))[r0 -- sk]) = (addarray(r, ty, firstn(i→n(i), vals0) + vals + restn(i→n(i) + # vals, vals0), st)[r0 -- sk])
[[CONCRETESIMPRULES : ([CSIMPGEN : refkey generated by --;])]]