| 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] |
⊦ 0 ≤ i ∧ i < n→i(# vals) → (addarray(r, ty, vals, st)[r -- i ']) = vals[i→n(i)]
¬ (0 ≤ n→i(n) + i ∧ n→i(n) + i < n→i(# vals0)), 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]
0 ≤ n→i(n) + i ∧ n→i(n) + i < n→i(# vals0), 0 ≤ i, i→n(i) < # vals0, i→n(i) + # vals ≤ # vals0, i→n(i) + n < # vals0, 0 ≤ n→i(n) + i, # vals ≤ n ⊦ vals0 = [], vals0[i→n(n→i(n) + i)] = (vals + restn(i→n(i) + # vals, vals0))[n]
[[CONCRETESIMPRULES : ()], [EXTRATERMS : (n→i(n) + i, st, vals0, ty, r0)]]