This example was taken from Dr. Edward Green's paper ``Noncommutative Grobner Bases, and Projective Resolutions'', and is referenced as ``Example 2.7'' there; please see the manual for more information.

gap> LoadPackage("gbnp"); ───────────────────────────────────────────────────────────────────────────── Loading GBNP 1.0.2 (Non-commutative Gröbner bases) by A.M. Cohen (http://www.win.tue.nl/~amc) and J.W. Knopper (J.W.Knopper@tue.nl). Homepage: http://mathdox.org/products/gbnp/ ───────────────────────────────────────────────────────────────────────────── true gap> A := FreeAssociativeAlgebraWithOne(Rationals,"a","b","c","d"); <algebra-with-one over Rationals, with 4 generators> gap> a := A.a; b := A.b; c := A.c; d := A.d; (1)*a (1)*b (1)*c (1)*d gap> polys := [c*d*a*b-c*b,b*c-d*a]; [ (-1)*c*b+(1)*c*d*a*b, (1)*b*c+(-1)*d*a ] gap> reps := GP2NPList(polys); [ [ [ [ 3, 4, 1, 2 ], [ 3, 2 ] ], [ 1, -1 ] ], [ [ [ 4, 1 ], [ 2, 3 ] ], [ -1, 1 ] ] ] gap> gbreps := Grobner(reps); [ [ [ [ 4, 1 ], [ 2, 3 ] ], [ 1, -1 ] ], [ [ [ 3, 2, 3, 2 ], [ 3, 2 ] ], [ 1, -1 ] ] ] gap> gb := NP2GPList(gbreps,A); [ (1)*d*a+(-1)*b*c, (1)*(c*b)^2+(-1)*c*b ]

gap> ml := NCMonomialLeftLengthLexOrdering(A); NCMonomialLeftLengthLexicographicOrdering([ (1)*a, (1)*b, (1)*c, (1)*d ]) gap> PatchGBNP(ml); LtNP patched. GtNP patched. gap> gbreps := Grobner(reps);; gap> gb := NP2GPList(gbreps,A); [ (1)*d*a+(-1)*b*c, (1)*(c*b)^2+(-1)*c*b ]

gap> ml2 := NCMonomialLeftLengthLexOrdering(A,[4,3,2,1]); NCMonomialLeftLengthLexicographicOrdering([ (1)*d, (1)*c, (1)*b, (1)*a ]) gap> PatchGBNP(ml2); LtNP patched. GtNP patched. gap> gbreps2 := SGrobner(reps);; gap> gb2 := NP2GPList(gbreps2,A); [ (1)*b*c+(-1)*d*a, (1)*c*d*a*b+(-1)*c*b, (1)*(d*a)^2*b+(-1)*d*a*b, (1)*c*(d*a)^2+(-1)*c*d*a, (1)*(d*a)^3+(-1)*(d*a)^2 ]