| LIB "freegb.lib";
ring r = 0,(x,y),(c,Dp);
ring R = freeAlgebra(r, 7, 2);
ideal I = std(x*y*x + 1);
print(matrix(I)); // finite two-sided Groebner basis
==> x*y-y*x,y*x*x+1
ideal SI = x*I[1]*y + y*x*I[2], I[1]*y*x + I[2]*y;
matrix T = lift(I, SI); // T is the lifting matrix of SI wrt I
print(T); //
==> y*ncgen(1)*x*x+x*ncgen(1)*y,y*x*ncgen(1)+y*ncgen(1)*x+ncgen(1)*y*x,
==> y*ncgen(2)*x, y*ncgen(2)
print(matrix(SI)); // the original generators of SI as a matrix
==> y*x*y*x*x+x*x*y*y-x*y*x*y+y*x,x*y*y*x+y*x*x*y-y*x*y*x+y
print(matrix(testLift(I,T))); // and the result of testLift
==> y*x*y*x*x+x*x*y*y-x*y*x*y+y*x,x*y*y*x+y*x*x*y-y*x*y*x+y
|