| # vals = m + 1 ⊦ vals = [], addarray(r, vals, 0, st[r -- _type, typeval(mkarraytype(ty))][r -- _length, intval(n→i(m) + 1)]) = (addarray(r, ty, vals .butlast, st)[r -- n→i(m) ', vals .last][r -- _length, intval(n→i(m) + 1)]) |
⊦ addarray(r, ty, vals, st) = addarray(r, vals, 0, st[r -- _type, typeval(mkarraytype(ty))][r -- _length, intval(n→i(# vals))])
# 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(# vals .butlast))])[r -- n→i(m) ', vals .last] [r -- _length, intval(n→i(m) + 1) ] )
[[CONCRETESIMPRULES : ()], [EXTRATERMS : (st, vals .butlast, ty, r)]]