 LIB "freegb.lib";
ring r = 3,(x,d),dp; // notice: we work over Z/3Z
def R = freeAlgebra(r,5); setring R;
ideal I = x^4, d^3, d*x  x*d  1;
twostd(I); // a proper ideal, note x^3 as a generator
==> _[1]=d*xx*d1
==> _[2]=d*d*d
==> _[3]=x*x*x
ideal J = x^2, d^3, d*x  x*d  1;
twostd(J); // the whole ring
==> _[1]=1
ideal T = twostd(ideal(d*x  x*d  1));
T;
==> T[1]=d*xx*d1
qring Q = T; // thus Q is the Weyl algebra over Z/3z
ideal I = x^4, d^3;
twostd(I);
==> _[1]=d*d*d
==> _[2]=x*x*x
ideal J = x^2, d^3;
twostd(J);
==> _[1]=1
