| i + n→i(# vals) = i0 + 1 ⊦ vals = [], addarray(r, vals, i, st) = (addarray(r, vals .butlast, i, st)[r -- i0 ', vals .last]) |
vals = vals0 + val ', i + n→i(# vals) = i0 + 1 ⊦ vals = [], addarray(r, vals, i, st) = (addarray(r, vals0, i, st)[r -- i0 ', val])
[[CONCRETESIMPRULES : ([CSIMPELIM : vals ≠ [] ⊦ val = vals .last ∧ vals0 = vals .butlast ↔ vals = vals0 + val '])], [EXTRATERMS : (vals, val, vals0)]]