load(grobner); F:1+f1*t+f2*t^2+f3*t^3; G:1+g1*t+g2*t^2+g3*t^3+g4*t^4; Fr:expand((1-r1*t)*(1-r2*t)*(1-r3*t)); ANS1:subst([t=r1*t],G)*subst([t=r2*t],G)*subst([t=r3*t],G); /* ANS2:expand(ANS1); */ L:[coeff(F-Fr,t^3),coeff(F-Fr,t^2),coeff(F-Fr,t)]; VARS:[r1,r2,r3,f1,f2,f3]; B:poly_grobner(L,VARS); ANS3:-poly_normal_form(ANS1,B,VARS); ANS4:collectterms(expand(ANS3)); ANS40:makelist(coeff(ANS4,t^j)*t^j,j,0,20); Rel:[f1=coeff(Fr,t),f2=coeff(Fr,t^2),f3=coeff(Fr,t^3)]; ANS5:subst(Rel,ANS4); CHECK1:expand(ANS1-ANS5);