//SINGULAR Procedure4.6.7 proc squarefree(poly f, int i) { poly h=gcd(f,diff(f,var(i))); poly g=lift(h,f)[1][1]; return(g); }