| # vals = m + 1 ⊦ vals = [], addarray(r, vals, 0, st[r -- _type, typeval(mkarraytype(ty))][r -- _length, intval(n→i(m) + 1)]) = (addarray(r, vals .butlast, 0, st[r -- _type, typeval(mkarraytype(ty))][r -- _length, intval(n→i(m))])[r -- n→i(m) ', vals .last] [r -- _length, intval(n→i(m) + 1) ] ) |
vals = vals0 + val ', # vals = m + 1 ⊦ vals = [], addarray(r, vals, 0, st[r -- _type, typeval(mkarraytype(ty))][r -- _length, intval(n→i(m) + 1)]) = (addarray(r, vals0, 0, st[r -- _type, typeval(mkarraytype(ty))][r -- _length, intval(n→i(m))])[r -- n→i(m) ', val][r -- _length, intval(n→i(m) + 1)] )
[[CONCRETESIMPRULES : ([CSIMPELIM : vals ≠ [] ⊦ val = vals .last ∧ vals0 = vals .butlast ↔ vals = vals0 + val '])], [EXTRATERMS : (vals, val, vals0)]]