Procedure from library presolve.lib (see presolve_lib).
presolve.lib
linearpart(id); id=ideal/module
generators of id of total degree <= 1
Example:
LIB "presolve.lib"; ring r=0,(x,y,z),dp; ideal i=1+x+x2+x3,3,x+3y+5z; linearpart(i); → _[1]=3 → _[2]=x+3y+5z module m=[x,y,z],x*[x3,y2,z],[1,x2,z3,0,1]; show(linearpart(m)); → // module, 1 generator(s) → [x,y,z]