Artifact c3c4217eddd0c13f62ced8b4163d52c1646996be83a49bc05de9c762654a43c9:
- Executable file
r38/packages/cgb/cgb.rlg
— part of check-in
[f2fda60abd]
at
2011-09-02 18:13:33
on branch master
— Some historical releases purely for archival purposes
git-svn-id: https://svn.code.sf.net/p/reduce-algebra/code/trunk/historical@1375 2bfe0521-f11c-4a00-b80e-6202646ff360 (user: arthurcnorman@users.sourceforge.net, size: 55647) [annotate] [blame] [check-ins using] [more...]
Tue May 4 23:18:39 2004 run on Linux % ---------------------------------------------------------------------- % $Id: cgb.tst,v 1.3 2003/10/12 14:55:24 sturm Exp $ % ---------------------------------------------------------------------- % Copyright (c) 1999 Andreas Dolzmann and Thomas Sturm % ---------------------------------------------------------------------- % $Log: cgb.tst,v $ % Revision 1.3 2003/10/12 14:55:24 sturm % The bootstrapping technique via remflag('(load!-package),'eval); does % not work for CSL. Added corresponding preprocessing directive for now. % As a consequence, under CSL "redlog" has to be loaded explicitly when % using CGB. % % Revision 1.2 1999/04/13 21:50:44 sturm % Removed echo, and gbverbose settings. There is no gbverbose. % % Revision 1.1 1999/04/05 08:30:45 dolzmann % Copied and overworked Rev. 1.6 of the old cgb version. % % ---------------------------------------------------------------------- load_package redlog; % Examples taken from the manual: load_package groebner; % 1 Introduction oo := torder({x,y},lex)$ cgb {a*x,x+y}; {x + y,a*x,a*y} gsys {a*x,x+y}; {{a <> 0,{x + y,a*x,a*y}}, {a = 0,{x + y}}} torder oo; {{x,y},lex} % 4 CGB: Comprehensive Groebner Basis oo := torder({x,y},lex)$ cgb {a*x+y,x+b*y}; {x + b*y,a*x + y,(a*b - 1)*y} torder oo; {{x,y},lex} % 5 GSYS: Groebner System oo := torder({x,y},lex)$ gsys {a*x+y,x+b*y}; {{a*b - 1 <> 0 and a <> 0, {a*x + y,x + b*y,(a*b - 1)*y}}, {a <> 0 and a*b - 1 = 0, {a*x + y,x + b*y}}, {a = 0,{a*x + y,x + b*y}}} torder oo; {{x,y},lex} % 6 GSYS2CGB: Groebner System to CGB oo := torder({x,y},lex)$ gsys {a*x+y,x+b*y}; {{a*b - 1 <> 0 and a <> 0, {a*x + y,x + b*y,(a*b - 1)*y}}, {a <> 0 and a*b - 1 = 0, {a*x + y,x + b*y}}, {a = 0,{a*x + y,x + b*y}}} gsys2cgb ws; {x + b*y,a*x + y,(a*b - 1)*y} torder oo; {{x,y},lex} % 7 Switch CGBREAL: Computing over the Real Numbers oo := torder({x,y},lex)$ off cgbreal; gsys {a*x+y,x-a*y}; 2 {{a + 1 <> 0 and a <> 0, 2 {a*x + y,x - a*y,(a + 1)*y}}, 2 {a <> 0 and a + 1 = 0,{a*x + y,x - a*y}}, {a = 0,{a*x + y,x - a*y}}} on cgbreal; gsys({a*x+y,x-a*y}); {{a <> 0, 2 {a*x + y,x - a*y,(a + 1)*y}}, {a = 0,{a*x + y,x - a*y}}} torder oo; {{x,y},lex} % Miscellaneous examples: % Dolzmann's Example oo := torder({x,y,z},lex); oo := {{},lex} cgb({a*x+b*y,c*x+d*y,(a*d-b*c)*z}); {c*x + d*y, a*x + b*y, (a*d - b*c)*y, (a*d - b*c)*z} gsys({a*x+b*y,c*x+d*y,(a*d-b*c)*z}); {{a*d - b*c <> 0 and a <> 0 and c <> 0, {a*x + b*y, c*x + d*y, (a*d - b*c)*y, (a*d - b*c)*z}}, {a*d - b*c <> 0 and a <> 0 and d <> 0 and c = 0, {a*x + b*y,c*x + d*y,(a*d - b*c)*z}}, {a*d - b*c <> 0 and a <> 0 and c = 0 and d = 0, {a*x + b*y,(a*d - b*c)*z}}, {a*d - b*c <> 0 and b <> 0 and c <> 0 and a = 0, {a*x + b*y,c*x + d*y,(a*d - b*c)*z}}, {a*d - b*c <> 0 and b <> 0 and d <> 0 and a = 0 and c = 0, {a*x + b*y,c*x + d*y,(a*d - b*c)*z}}, {a*d - b*c <> 0 and b <> 0 and a = 0 and c = 0 and d = 0, {a*x + b*y,(a*d - b*c)*z}}, {a*d - b*c <> 0 and c <> 0 and a = 0 and b = 0, {c*x + d*y,(a*d - b*c)*z}}, {a*d - b*c <> 0 and d <> 0 and a = 0 and b = 0 and c = 0, {c*x + d*y,(a*d - b*c)*z}}, {a*d - b*c <> 0 and a = 0 and b = 0 and c = 0 and d = 0, {(a*d - b*c)*z}}, {a <> 0 and c <> 0 and a*d - b*c = 0, {a*x + b*y,c*x + d*y}}, {a <> 0 and d <> 0 and a*d - b*c = 0 and c = 0, {a*x + b*y,c*x + d*y}}, {a <> 0 and a*d - b*c = 0 and c = 0 and d = 0, {a*x + b*y}}, {b <> 0 and c <> 0 and a*d - b*c = 0 and a = 0, {a*x + b*y,c*x + d*y}}, {b <> 0 and d <> 0 and a*d - b*c = 0 and a = 0 and c = 0, {a*x + b*y,c*x + d*y}}, {b <> 0 and a*d - b*c = 0 and a = 0 and c = 0 and d = 0, {a*x + b*y}}, {c <> 0 and a*d - b*c = 0 and a = 0 and b = 0, {c*x + d*y}}, {d <> 0 and a*d - b*c = 0 and a = 0 and b = 0 and c = 0, {c*x + d*y}}, {a*d - b*c = 0 and a = 0 and b = 0 and c = 0 and d = 0, {}}} gsys2cgb ws; {c*x + d*y, a*x + b*y, (a*d - b*c)*y, (a*d - b*c)*z} torder oo; {{x,y,z},lex} % Forsman's Example (hybrid control system). oo := torder({x1,x2,y2,y1,y0},lex); oo := {{},lex} gsys({(u1*u2-u1)*x1+u2*x2+y2,(u2-1)*x1+u2*x2+y1,-x2+y0}); {{u1*u2 - u1 <> 0, {(u1*u2 - u1)*x1 + u2*x2 + y2, (u2 - 1)*x1 + u2*x2 + y1, x2 - y0, y2 - u1*y1 - (u1*u2 - u2)*y0}}, {u2 - 1 <> 0 and u2 <> 0 and u1*u2 - u1 = 0, {(u1*u2 - u1)*x1 + u2*x2 + y2, (u2 - 1)*x1 + u2*x2 + y1, (u1*u2 - u1)*x1 + y2 + u2*y0, x2 - y0}}, {u1*u2 - u1 = 0 and u2 - 1 = 0, {(u1*u2 - u1)*x1 + u2*x2 + y2, (u2 - 1)*x1 + u2*x2 + y1, (u1*u2 - u1 - u2 + 1)*x1 + y2 - y1, (u2 - 1)*x1 + y1 + u2*y0, x2 - y0}}, {u1*u2 - u1 = 0 and u2 = 0, {(u1*u2 - u1)*x1 + u2*x2 + y2, (u2 - 1)*x1 + u2*x2 + y1, x2 - y0}}} torder oo; {{x1,x2,y2,y1,y0},lex} % Weispfenning's Example oo := torder({x,y},lex); oo := {{},lex} gsys({v*x*y + x,u*y^2 + x^2}); {{u*v <> 0 and v <> 0, 2 2 {x + u*y , v*x*y + x, 3 2 (u*v)*y + u*y }}, {u <> 0 and v <> 0 and u*v = 0, 2 2 {x + u*y , 3 3 (u*v )*x*y + u*x, v*x*y + x, 3 2 (u*v)*y + u*y }}, {u <> 0 and v = 0, 2 2 {v*x *y - u*y , 2 2 x + u*y , v*x*y + x}}, {v <> 0 and u*v = 0 and u = 0, 2 2 {x + u*y ,v*x*y + x}}, {u = 0 and v = 0, 2 2 {x + u*y ,v*x*y + x}}} torder oo; {{x,y},lex} % The folllowing three examples are taken from % Weispfenning, Comprehensive Groebner Bases, % J. Symbolic Computation (1992) 14, 1-29 % Weispfenning's Example 7.1 oo := torder({x},lex); oo := {{},lex} gsys({a0*x**2 + a1*x + a2,b0*x**2 + b1*x + b2}); 3 2 2 2 2 2 2 {{a0 *b2 - a0 *a1*b1*b2 - 2*a0 *a2*b0*b2 + a0 *a2*b1 + a0*a1 *b0*b2 2 2 - a0*a1*a2*b0*b1 + a0*a2 *b0 <> 0 and a0*b1 - a1*b0 <> 0 and a0 <> 0 and b0 <> 0, 3 2 2 2 2 2 2 {a0 *b2 - a0 *a1*b1*b2 - 2*a0 *a2*b0*b2 + a0 *a2*b1 + a0*a1 *b0*b2 2 2 - a0*a1*a2*b0*b1 + a0*a2 *b0 }}, 3 2 2 {a0*b1 - a1*b0 <> 0 and a0 <> 0 and b0 <> 0 and a0 *b2 - a0 *a1*b1*b2 2 2 2 2 2 2 - 2*a0 *a2*b0*b2 + a0 *a2*b1 + a0*a1 *b0*b2 - a0*a1*a2*b0*b1 + a0*a2 *b0 = 0, 2 {a0*x + a1*x + a2, 2 b0*x + b1*x + b2, (a0*b1 - a1*b0)*x + (a0*b2 - a2*b0)}}, 2 2 {a0*b2 - a1*b1*b2 + a2*b1 <> 0 and a0 <> 0 and b1 <> 0 and b0 = 0, 3 2 2 2 {(a0*b0*b1)*x - (a0*b0*b2 - a1*b0*b1)*x - (a0*b2 - a1*b1*b2 + a2*b1 )}}, {a0*b2 - a2*b0 <> 0 and a0 <> 0 and b0 <> 0 and a0*b1 - a1*b0 = 0, {(a0*b1 - a1*b0)*x + (a0*b2 - a2*b0)}}, {a0 <> 0 and b0 <> 0 and a0*b1 - a1*b0 = 0 and a0*b2 - a2*b0 = 0, 2 2 {a0*x + a1*x + a2,b0*x + b1*x + b2}}, 2 2 {a0 <> 0 and b1 <> 0 and a0*b2 - a1*b1*b2 + a2*b1 = 0 and b0 = 0, 2 2 {a0*x + a1*x + a2,b0*x + b1*x + b2}}, {a0 <> 0 and b2 <> 0 and b0 = 0 and b1 = 0, 2 {b0*x + b1*x + b2}}, {a0 <> 0 and b0 = 0 and b1 = 0 and b2 = 0, 2 {a0*x + a1*x + a2}}, 2 2 {a1 *b2 - a1*a2*b1 + a2 *b0 <> 0 and a1 <> 0 and b0 <> 0 and a0 = 0, 3 2 2 2 {(a0*a1*b0)*x + (a0*a1*b1 - a0*a2*b0)*x - (a1 *b2 - a1*a2*b1 + a2 *b0)}}, {a1*b2 - a2*b1 <> 0 and a1 <> 0 and b1 <> 0 and a0 = 0 and b0 = 0, 2 {(a0*b1 - a1*b0)*x - (a1*b2 - a2*b1)}}, 2 2 {a1 <> 0 and b0 <> 0 and a0 = 0 and a1 *b2 - a1*a2*b1 + a2 *b0 = 0, 2 2 {a0*x + a1*x + a2,b0*x + b1*x + b2}}, {a1 <> 0 and b1 <> 0 and a0 = 0 and a1*b2 - a2*b1 = 0 and b0 = 0, 2 2 {a0*x + a1*x + a2,b0*x + b1*x + b2}}, {a1 <> 0 and b2 <> 0 and a0 = 0 and b0 = 0 and b1 = 0, 2 {b0*x + b1*x + b2}}, {a1 <> 0 and a0 = 0 and b0 = 0 and b1 = 0 and b2 = 0, 2 {a0*x + a1*x + a2}}, {a2 <> 0 and a0 = 0 and a1 = 0, 2 {a0*x + a1*x + a2}}, {b0 <> 0 and a0 = 0 and a1 = 0 and a2 = 0, 2 {b0*x + b1*x + b2}}, {b1 <> 0 and a0 = 0 and a1 = 0 and a2 = 0 and b0 = 0, 2 {b0*x + b1*x + b2}}, {b2 <> 0 and a0 = 0 and a1 = 0 and a2 = 0 and b0 = 0 and b1 = 0, 2 {b0*x + b1*x + b2}}, {a0 = 0 and a1 = 0 and a2 = 0 and b0 = 0 and b1 = 0 and b2 = 0, {}}} torder oo; {{x},lex} % Weispfenning's Example 7.2 oo := torder({x,y},lex); oo := {{},lex} gsys({v*x*y + u*x**2 + x,u*y**2 + x**2}); 4 3 {{u *v + u*v <> 0 and u <> 0 and v <> 0, 2 {u*x + v*x*y + x, 2 2 x + u*y , 2 2 v*x*y + x - u *y , 3 5 2 3 3 5 2 2 2 u *x + (u *v + u *v )*y - (u - u *v )*y , 7 2 4 4 4 4 3 3 4 2 2 (u *v + u *v )*y + (2*u *v )*y + (u *v )*y }}, 4 3 {u <> 0 and v <> 0 and u *v + u*v = 0, 2 {u*x + v*x*y + x, 2 2 x + u*y , 2 2 v*x*y + x - u *y , 3 5 2 3 3 5 2 2 2 u *x + (u *v + u *v )*y - (u - u *v )*y , 7 2 4 4 4 4 3 3 4 2 2 (u *v + u *v )*y + (2*u *v )*y + (u *v )*y }}, {u <> 0 and v = 0, 2 3 3 5 4 2 2 {(u*v)*x *y + (u *v)*x*y - u *y - u *y , 2 u*x + v*x*y + x, 2 2 x + u*y , 2 2 v*x*y + x - u *y }}, {v <> 0 and u = 0, 2 2 2 {u*x + v*x*y + x,x + u*y }}, {u = 0 and v = 0, 2 2 2 {u*x + v*x*y + x,x + u*y }}} torder oo; {{x,y},lex} % Weispfenning's Example 7.3 oo := torder({x1,x2,x3,x4},lex); oo := {{},lex} gsys {x4 - (a4-a2),x1 + x2 + x3 + x4 + (a1 + a3 + a4), x1*x3 + x1*x4 + x2*x3 + x3*x4 - (a1*a4 + a1*a3 + a3*a4),x1*x3*x4 - a1*a3*a4}; 2 2 3 2 2 {{a1*a2 - a1*a2*a3 - 3*a1*a2*a4 + 2*a1*a4 - a2 + a2 *a3 + 4*a2 *a4 2 2 3 - 3*a2*a3*a4 - 5*a2*a4 + 2*a3*a4 + 2*a4 <> 0 and a2 - a4 = 0, 2 {(a2 - a4)*x2*x3 - (a2 - a4)*x2*x4 + (a1*a2 - a1*a2*a3 - 3*a1*a2*a4 2 3 2 2 2 2 + 2*a1*a4 - a2 + a2 *a3 + 4*a2 *a4 - 3*a2*a3*a4 - 5*a2*a4 + 2*a3*a4 3 + 2*a4 )}}, {a2 - a4 <> 0, {x1*x3*x4 - a1*a3*a4, x1*x3 + x1*x4 + x2*x3 + x3*x4 - (a1*a3 + a1*a4 + a3*a4), x1 + x2 + x3 + x4 + (a1 + a3 + a4), 2 (a2 - a4)*x2 - x3 - (a1 - a2 + a3 + 2*a4)*x3 2 2 + (a1*a2 - a1*a3 - 2*a1*a4 - a2 + a2*a3 + 3*a2*a4 - 2*a3*a4 - 2*a4 ), 3 2 x3 + (a1 + a3 + a4)*x3 + (a1*a3 + a1*a4 + a3*a4)*x3 - a1*a3*a4, x4 + (a2 - a4)}}, 2 2 3 2 2 {a1*a2 - a1*a2*a3 - 3*a1*a2*a4 + 2*a1*a4 - a2 + a2 *a3 + 4*a2 *a4 2 2 3 - 3*a2*a3*a4 - 5*a2*a4 + 2*a3*a4 + 2*a4 = 0 and a2 - a4 = 0, {x1*x3*x4 - a1*a3*a4, x1*x3 + x1*x4 + x2*x3 + x3*x4 - (a1*a3 + a1*a4 + a3*a4), x1 + x2 + x3 + x4 + (a1 + a3 + a4), 2 (a2 - a4)*x2 - x3 - (a1 - a2 + a3 + 2*a4)*x3 2 2 + (a1*a2 - a1*a3 - 2*a1*a4 - a2 + a2*a3 + 3*a2*a4 - 2*a3*a4 - 2*a4 ), x4 + (a2 - a4)}}} torder oo; {{x1,x2,x3,x4},lex} % Pesch's example (Circle through three points) oo := torder({y,x},revgradlex); oo := {{},lex} gsys({2*b2*y + 2*a2*x - b2**2 + a2**2,2*b1*y + 2*a1*x - b1**2 + a1**2}); 2 2 2 2 {{a1 *a2 - a1*a2 + a1*b2 - a2*b1 <> 0 and a1 <> 0 and a2 <> 0 and b1 = 0 and b2 = 0, 2 2 2 2 {(2*a1*b2 - 2*a2*b1)*y - (a1 *a2 - a1*a2 + a1*b2 - a2*b1 )}}, 2 2 2 2 {a1 *b2 - a2 *b1 - b1 *b2 + b1*b2 <> 0 and b1 <> 0 and b2 <> 0 and a1*b2 - a2*b1 = 0, 2 2 2 2 {(2*a1*b2 - 2*a2*b1)*x + (a1 *b2 - a2 *b1 - b1 *b2 + b1*b2 )}}, 2 2 {a1 - b1 <> 0 and a1 = 0 and b1 = 0, 2 2 {(2*b1)*y + (2*a1)*x + (a1 - b1 )}}, {a1*b2 - a2*b1 <> 0 and b1 <> 0 and b2 <> 0, 2 2 {(2*b1)*y + (2*a1)*x + (a1 - b1 ), 2 2 (2*b2)*y + (2*a2)*x + (a2 - b2 ), 2 2 2 2 (2*a1*b2 - 2*a2*b1)*x + (a1 *b2 - a2 *b1 - b1 *b2 + b1*b2 )}}, 2 2 {a1 <> 0 and a2 - b2 <> 0 and a2 = 0 and b1 = 0 and b2 = 0, 2 2 {(2*b2)*y + (2*a2)*x + (a2 - b2 )}}, 2 2 2 2 {a1 <> 0 and a2 <> 0 and a1 *a2 - a1*a2 + a1*b2 - a2*b1 = 0 and b1 = 0 and b2 = 0, 2 2 {(2*b1)*y + (2*a1)*x + (a1 - b1 ), 2 2 (2*b2)*y + (2*a2)*x + (a2 - b2 )}}, {a1 <> 0 and b2 <> 0 and b1 = 0, 2 2 {(2*b1)*y + (2*a1)*x + (a1 - b1 ), 2 2 (2*b2)*y + (2*a2)*x + (a2 - b2 )}}, 2 2 {a1 <> 0 and a2 - b2 = 0 and a2 = 0 and b1 = 0 and b2 = 0, 2 2 {(2*b1)*y + (2*a1)*x + (a1 - b1 )}}, 2 2 {a2 - b2 <> 0 and b1 <> 0 and a2 = 0 and b2 = 0, 2 2 {(2*b2)*y + (2*a2)*x + (a2 - b2 )}}, 2 2 2 2 {a2 - b2 <> 0 and a1 - b1 = 0 and a1 = 0 and a2 = 0 and b1 = 0 and b2 = 0, 2 2 {(2*b2)*y + (2*a2)*x + (a2 - b2 )}}, {a2 <> 0 and b1 <> 0 and b2 = 0, 2 2 {(2*b1)*y + (2*a1)*x + (a1 - b1 ), 2 2 (2*b2)*y + (2*a2)*x + (a2 - b2 )}}, 2 2 {a2 <> 0 and a1 - b1 = 0 and a1 = 0 and b1 = 0 and b2 = 0, 2 2 {(2*b2)*y + (2*a2)*x + (a2 - b2 )}}, 2 2 2 2 {b1 <> 0 and b2 <> 0 and a1 *b2 - a2 *b1 - b1 *b2 + b1*b2 = 0 and a1*b2 - a2*b1 = 0, 2 2 {(2*b1)*y + (2*a1)*x + (a1 - b1 ), 2 2 (2*b2)*y + (2*a2)*x + (a2 - b2 )}}, 2 2 {b1 <> 0 and a2 - b2 = 0 and a2 = 0 and b2 = 0, 2 2 {(2*b1)*y + (2*a1)*x + (a1 - b1 )}}, 2 2 {b2 <> 0 and a1 - b1 = 0 and a1 = 0 and b1 = 0, 2 2 {(2*b2)*y + (2*a2)*x + (a2 - b2 )}}, 2 2 2 2 {a1 - b1 = 0 and a1 = 0 and a2 - b2 = 0 and a2 = 0 and b1 = 0 and b2 = 0, {}}} torder oo; {{y,x},revgradlex} % Effelterre's example (Aspect graphs) f1 := -4-4*v**2-4*u**2+40*v*v1+24*v-120*v1+8*u-40*v2-68*v1**2-100*v2**2+40*u*v2+ 24*v1*v2-4*v1**2*u-4*v2**2*v**2+24*v2**2*v-24*v1*u*v2+8*v*v1*u*v2$ f2 := 8*v*v1*u*v2-4*v1**2*u**2+4*v1**2-4*v2**2*v**2+4*v2**2-16*v**2-16*u**2+16$ f3 := 16*v-48*u+16*v*v1**2-48*u*v2**2-12*v1**2*u+4*v2**2*v-36*v*v1*v2+ 12*v1*u*v2+12*v*v2**2*u- 80*u*v1+80*v2*v-20*v1*u*v2**2+20*v2*v*v1**2-20*v1**3*u+20*v2**3*v-12*v1**2*v*u+ 12*v2*v**2*v1-12*v1*u**2*v2$ f4 := -160u*v2-1596v2**2+3200*v2-1596-4*u**2+160*u$ % Special case I2, v1=0 oo := torder({v,u},lex); oo := {{},lex} gsys(sub(v1=0,{f1,f2,f4})); 16 15 14 {{1000557799569*v2 - 8971728968760*v2 + 32332553961916*v2 13 12 11 - 56816638983720*v2 + 43557281160966*v2 - 2232864400680*v2 10 9 8 - 2141149653636*v2 - 24710286679320*v2 + 22557177598385*v2 7 6 5 - 4364899181280*v2 + 1970637124608*v2 - 2915313822720*v2 4 3 2 + 1467702460416*v2 - 1340557025280*v2 + 685570158592*v2 - 140796887040*v2 7 6 5 4 + 63647907840 <> 0 and 55175*v2 - 184787*v2 + 144885*v2 + 44895*v2 3 2 - 13020*v2 - 35580*v2 + 320*v2 - 6368 <> 0, 16 15 14 {1000557799569*v2 - 8971728968760*v2 + 32332553961916*v2 13 12 11 - 56816638983720*v2 + 43557281160966*v2 - 2232864400680*v2 10 9 8 - 2141149653636*v2 - 24710286679320*v2 + 22557177598385*v2 7 6 5 - 4364899181280*v2 + 1970637124608*v2 - 2915313822720*v2 4 3 2 + 1467702460416*v2 - 1340557025280*v2 + 685570158592*v2 - 140796887040*v2 + 63647907840}}, 8 7 6 5 4 {3389663*v2 - 14658420*v2 + 20230730*v2 - 6945060*v2 - 3218385*v2 3 2 7 - 497040*v2 + 1656704*v2 - 257280*v2 + 255872 <> 0 and 55175*v2 6 5 4 3 2 - 184787*v2 + 144885*v2 + 44895*v2 - 13020*v2 - 35580*v2 + 320*v2 - 6368 = 0, 7 6 5 4 3 2 {(220700*v2 - 739148*v2 + 579540*v2 + 179580*v2 - 52080*v2 - 142320*v2 8 7 6 + 1280*v2 - 25472)*u + (3389663*v2 - 14658420*v2 + 20230730*v2 5 4 3 2 - 6945060*v2 - 3218385*v2 - 497040*v2 + 1656704*v2 - 257280*v2 + 255872)}}, 7 6 5 4 3 2 {55175*v2 - 184787*v2 + 144885*v2 + 44895*v2 - 13020*v2 - 35580*v2 16 15 + 320*v2 - 6368 <> 0 and 1000557799569*v2 - 8971728968760*v2 14 13 12 + 32332553961916*v2 - 56816638983720*v2 + 43557281160966*v2 11 10 9 - 2232864400680*v2 - 2141149653636*v2 - 24710286679320*v2 8 7 6 + 22557177598385*v2 - 4364899181280*v2 + 1970637124608*v2 5 4 3 - 2915313822720*v2 + 1467702460416*v2 - 1340557025280*v2 2 + 685570158592*v2 - 140796887040*v2 + 63647907840 = 0, 2 2 2 2 2 {(v2 + 1)*v - (6*v2 + 6)*v + u - (10*v2 + 2)*u + (25*v2 + 10*v2 + 1), 2 2 2 2 (v2 + 4)*v + 4*u - (v2 + 4), 4 2 3 2 (6*v2 + 30*v2 + 24)*v - (110*v2 - 122*v2 - 40*v2 - 8)*u 4 3 2 - (1223*v2 - 2390*v2 + 1303*v2 + 40*v2 + 8), 2 2 u + (40*v2 - 40)*u + (399*v2 - 800*v2 + 399), 7 6 5 4 3 2 (220700*v2 - 739148*v2 + 579540*v2 + 179580*v2 - 52080*v2 - 142320*v2 8 7 6 + 1280*v2 - 25472)*u + (3389663*v2 - 14658420*v2 + 20230730*v2 5 4 3 2 - 6945060*v2 - 3218385*v2 - 497040*v2 + 1656704*v2 - 257280*v2 + 255872)}}, 8 7 6 5 4 {3389663*v2 - 14658420*v2 + 20230730*v2 - 6945060*v2 - 3218385*v2 3 2 7 - 497040*v2 + 1656704*v2 - 257280*v2 + 255872 = 0 and 55175*v2 6 5 4 3 2 - 184787*v2 + 144885*v2 + 44895*v2 - 13020*v2 - 35580*v2 + 320*v2 - 6368 = 0, 2 2 2 2 2 {(v2 + 1)*v - (6*v2 + 6)*v + u - (10*v2 + 2)*u + (25*v2 + 10*v2 + 1), 2 2 2 2 (v2 + 4)*v + 4*u - (v2 + 4), 4 2 3 2 (6*v2 + 30*v2 + 24)*v - (110*v2 - 122*v2 - 40*v2 - 8)*u 4 3 2 - (1223*v2 - 2390*v2 + 1303*v2 + 40*v2 + 8), 2 2 u + (40*v2 - 40)*u + (399*v2 - 800*v2 + 399)}}} torder oo; {{v,u},lex} clear f1,f2,f3,f4; % Sit's Example 2.2 oo := torder({z2,z2},revgradlex); oo := {{},lex} gsys({d*z2 + c*z1 - v,b*z2 + a*z1 - u}); {{a*d*z1 - b*c*z1 + b*v - d*u <> 0 and b <> 0 and d <> 0, {a*d*z1 - b*c*z1 + b*v - d*u}}, {a*z1 - u <> 0 and b = 0, {b*z2 + (a*z1 - u)}}, {b <> 0 and c*z1 - v <> 0 and d = 0, {d*z2 + (c*z1 - v)}}, {b <> 0 and d <> 0 and a*d*z1 - b*c*z1 + b*v - d*u = 0, {b*z2 + (a*z1 - u),d*z2 + (c*z1 - v)}}, {b <> 0 and c*z1 - v = 0 and d = 0, {b*z2 + (a*z1 - u)}}, {c*z1 - v <> 0 and a*z1 - u = 0 and b = 0 and d = 0, {d*z2 + (c*z1 - v)}}, {d <> 0 and a*z1 - u = 0 and b = 0, {d*z2 + (c*z1 - v)}}, {a*z1 - u = 0 and b = 0 and c*z1 - v = 0 and d = 0, {}}} torder oo; {{z2,z2},revgradlex} % Sit's Example 2.3 oo := torder({z2,z2},revgradlex); oo := {{},lex} gsys({x**3*z2 + (x**2+1)*z1,x**2*z2 + x*z1 - 1}); 2 {{x *z1 + z1 <> 0 and x = 0, 3 2 {x *z2 + (x *z1 + z1)}}, 2 {x*z1 - 1 <> 0 and x *z1 + z1 = 0 and x = 0, 2 {x *z2 + (x*z1 - 1)}}, {x + z1 <> 0 and x <> 0,{x + z1}}, {x <> 0 and x + z1 = 0, 3 2 2 {x *z2 + (x *z1 + z1),x *z2 + (x*z1 - 1)}}, 2 {x *z1 + z1 = 0 and x*z1 - 1 = 0 and x = 0,{}}} torder oo; {{z2,z2},revgradlex} % Sit's Example 3.3 oo := torder({z3,z2,z2},revgradlex); oo := {{},lex} gsys({z3 + b*z2 + a*z1 - 1,a*z3 + z2 + b*z1 - 1,b*z3 + a*z2 + z1 - 1}); 3 2 {{a *z1 - a - 2*a*b*z1 + a*b + a + z1 - 1 <> 0 and a <> 0 and b = 0, 2 3 2 {(a*b - b)*z3 - (a *z1 - a - 2*a*b*z1 + a*b + a + z1 - 1)}}, 3 2 3 2 2 {a *z1 - a - 3*a*b*z1 + a*b + a + b *z1 - b + b + z1 - 1 <> 0 and a - b <> 0 and a <> 0 and b <> 0, 3 2 3 2 {a *z1 - a - 3*a*b*z1 + a*b + a + b *z1 - b + b + z1 - 1}}, 2 {a *z1 - a - b*z1 + 1 <> 0 and a <> 0 and b <> 0 and a*b*z1 - b - z1 + 1 = 0 2 and a*b - 1 = 0 and a - b = 0, 2 {(a*b - 1)*z2 + (a *z1 - a - b*z1 + 1)}}, 3 2 {2*a*b*z1 - a - b *z1 + b - b - z1 + 1 <> 0 and b <> 0 and a = 0, 2 2 3 2 {(a - a*b )*z3 + (2*a*b*z1 - a - b *z1 + b - b - z1 + 1)}}, 2 {a*b*z1 - b - z1 + 1 <> 0 and a <> 0 and b <> 0 and a - b = 0, 2 {(a - b )*z2 - (a*b*z1 - b - z1 + 1)}}, 2 {a*b - 1 <> 0 and a <> 0 and b <> 0 and a*b*z1 - b - z1 + 1 = 0 and a - b = 0, {z3 + b*z2 + (a*z1 - 1), b*z3 + a*z2 + (z1 - 1), a*z3 + z2 + (b*z1 - 1), 2 (a*b - 1)*z2 + (a *z1 - a - b*z1 + 1)}}, 2 {a - b <> 0 and a <> 0 and b <> 0 3 2 3 2 and a *z1 - a - 3*a*b*z1 + a*b + a + b *z1 - b + b + z1 - 1 = 0, {z3 + b*z2 + (a*z1 - 1), b*z3 + a*z2 + (z1 - 1), a*z3 + z2 + (b*z1 - 1), 2 (a - b )*z2 - (a*b*z1 - b - z1 + 1)}}, 2 {a <> 0 and b <> 0 and a *z1 - a - b*z1 + 1 = 0 and a*b*z1 - b - z1 + 1 = 0 2 and a*b - 1 = 0 and a - b = 0, {z3 + b*z2 + (a*z1 - 1), b*z3 + a*z2 + (z1 - 1), a*z3 + z2 + (b*z1 - 1)}}, 3 2 {a <> 0 and a *z1 - a - 2*a*b*z1 + a*b + a + z1 - 1 = 0 and b = 0, {z3 + b*z2 + (a*z1 - 1), b*z3 + a*z2 + (z1 - 1), a*z3 + z2 + (b*z1 - 1)}}, 3 2 {b <> 0 and 2*a*b*z1 - a - b *z1 + b - b - z1 + 1 = 0 and a = 0, {z3 + b*z2 + (a*z1 - 1), b*z3 + a*z2 + (z1 - 1), a*z3 + z2 + (b*z1 - 1)}}, {z1 - 1 <> 0 and a = 0 and b = 0, {b*z3 + a*z2 + (z1 - 1)}}, {a = 0 and b = 0 and z1 - 1 = 0, {z3 + b*z2 + (a*z1 - 1),a*z3 + z2 + (b*z1 - 1)}}} torder oo; {{z3,z2,z2},revgradlex} % Sit's Example 8.3 oo := torder({z4,z3,z2,z2},revgradlex); oo := {{},lex} gsys({z4 + c*z3 + b*z2 + a*z1 - w2,2*z4 + z2 - w1,a*z4 - z3 - w4,d*z4 + z3 + 2*z1 - w3,z4 + z1 - w5}); 3 2 2 2 2 2 2 2 2 {{a *c*z1 + a *b*c*w1 + a *c *w3 - 2*a *c *z1 + a *c*d*z1 - a *c*w2 + a *z1 2 + a*b*c*d*w1 - 2*a*b*c*w3 - 2*a*b*c*w4 + 4*a*b*c*z1 + a*b*w1 - a*c *d*w4 - a*c*d*w2 + 2*a*c*w3 + a*c*w4 - 4*a*c*z1 + a*d*z1 - a*w2 + b*d*w1 - 2*b*w3 - 2*b*w4 + 4*b*z1 - c*d*w4 - d*w2 + w3 + w4 - 2*z1 <> 0 and a*b + b*d <> 0 and a*c + 1 <> 0 and a <> 0 and d <> 0, 3 2 2 2 2 2 2 2 2 {a *c*z1 + a *b*c*w1 + a *c *w3 - 2*a *c *z1 + a *c*d*z1 - a *c*w2 + a *z1 2 + a*b*c*d*w1 - 2*a*b*c*w3 - 2*a*b*c*w4 + 4*a*b*c*z1 + a*b*w1 - a*c *d*w4 - a*c*d*w2 + 2*a*c*w3 + a*c*w4 - 4*a*c*z1 + a*d*z1 - a*w2 + b*d*w1 - 2*b*w3 - 2*b*w4 + 4*b*z1 - c*d*w4 - d*w2 + w3 + w4 - 2*z1}}, 3 2 2 2 2 {a *c*z1 + a *b*c*w1 - a *c*w2 - a *c*w5 + a *c*z1 - 2*a*b*c*w4 + 2*a*b*w5 - 2*a*b*z1 + 2*a*c*w4 - a*w5 + a*z1 - 2*b*w4 + w4 <> 0 and a*b <> 0 and a*c - 2*b + 1 <> 0 and a <> 0 and d <> 0 and a*c + 1 = 0 and a*w3 - 2*a*z1 - d*w4 = 0 and a + d = 0, 2 2 3 2 2 {(a *c - 2*a*b*c + 2*a*c - 2*b + 1)*z3 + (a *c*z1 + a *b*c*w1 - a *c*w2 2 2 - a *c*w5 + a *c*z1 - 2*a*b*c*w4 + 2*a*b*w5 - 2*a*b*z1 + 2*a*c*w4 - a*w5 + a*z1 - 2*b*w4 + w4)}}, 3 2 2 2 2 2 {a *z1 + 2*a *b*c*w3 - 4*a *b*c*z1 + a *b*w1 + a *d*z1 - a *w2 - 2*a*b*c*d*w4 + a*b*d*w1 - 2*a*b*w4 - a*d*w2 + a*w4 - 2*b*d*w4 + d*w4 <> 0 and a*b <> 0 and a + d <> 0 and a <> 0 and d <> 0 and a*c + 1 = 0, 2 2 3 {(2*a *b*c - a *c + 2*a*b*c*d + 2*a*b - a*c*d - a + 2*b*d - d)*z3 - (a *z1 2 2 2 2 2 + 2*a *b*c*w3 - 4*a *b*c*z1 + a *b*w1 + a *d*z1 - a *w2 - 2*a*b*c*d*w4 + a*b*d*w1 - 2*a*b*w4 - a*d*w2 + a*w4 - 2*b*d*w4 + d*w4)}}, 2 2 2 2 2 2 {a *c *w5 - a *c *z1 + a *c*z1 + a*b*c*w1 - 2*a*b*c*w5 + 2*a*b*c*z1 - a*c *w4 - a*c*w2 + 2*a*c*w5 - 2*a*c*z1 + a*z1 + b*w1 - 2*b*w5 + 2*b*z1 - c*w4 - w2 + w5 - z1 <> 0 and a*c - 2*b + 1 <> 0 and a*c + 1 <> 0 and a <> 0 and d <> 0 2 and a *z1 + a*c*w3 - 2*a*c*z1 + a*d*z1 - a*w2 - c*d*w4 - d*w2 + w3 + w4 - 2*z1 = 0 and a*b + b*d = 0, 2 2 2 2 2 2 {a *c *w5 - a *c *z1 + a *c*z1 + a*b*c*w1 - 2*a*b*c*w5 + 2*a*b*c*z1 - a*c *w4 - a*c*w2 + 2*a*c*w5 - 2*a*c*z1 + a*z1 + b*w1 - 2*b*w5 + 2*b*z1 - c*w4 - w2 + w5 - z1}}, 2 2 2 2 {a *c*w3 - 2*a *c*z1 + a *w5 - a *z1 - a*c*d*w4 + a*d*w5 - a*d*z1 - a*w4 - d*w4 3 <> 0 and a*b <> 0 and a + d <> 0 and a <> 0 and d <> 0 and a *z1 2 2 2 2 2 + 2*a *b*c*w3 - 4*a *b*c*z1 + a *b*w1 + a *d*z1 - a *w2 - 2*a*b*c*d*w4 + a*b*d*w1 - 2*a*b*w4 - a*d*w2 + a*w4 - 2*b*d*w4 + d*w4 = 0 and a*c + 1 = 0, 2 2 2 2 2 {(a *c + a*c*d + a + d)*z3 - (a *c*w3 - 2*a *c*z1 + a *w5 - a *z1 - a*c*d*w4 + a*d*w5 - a*d*z1 - a*w4 - d*w4)}}, 2 2 {a *c*w5 - a *c*z1 + a*c*d*w5 - a*c*d*z1 - a*c*w3 - a*c*w4 + 2*a*c*z1 + a*w5 - a*z1 + d*w5 - d*z1 - w3 - w4 + 2*z1 <> 0 and a*b + b*d <> 0 3 2 2 2 and a*c + 1 <> 0 and a <> 0 and d <> 0 and a *c*z1 + a *b*c*w1 + a *c *w3 2 2 2 2 2 - 2*a *c *z1 + a *c*d*z1 - a *c*w2 + a *z1 + a*b*c*d*w1 - 2*a*b*c*w3 2 - 2*a*b*c*w4 + 4*a*b*c*z1 + a*b*w1 - a*c *d*w4 - a*c*d*w2 + 2*a*c*w3 + a*c*w4 - 4*a*c*z1 + a*d*z1 - a*w2 + b*d*w1 - 2*b*w3 - 2*b*w4 + 4*b*z1 - c*d*w4 - d*w2 + w3 + w4 - 2*z1 = 0, 2 2 {a *c*w5 - a *c*z1 + a*c*d*w5 - a*c*d*z1 - a*c*w3 - a*c*w4 + 2*a*c*z1 + a*w5 - a*z1 + d*w5 - d*z1 - w3 - w4 + 2*z1}}, 2 {a *z1 + a*b*w1 + a*c*w3 - 2*a*c*z1 - a*w2 - 2*b*w3 - 2*b*w4 + 4*b*z1 + w3 + w4 - 2*z1 <> 0 and a*b <> 0 and a <> 0 and d = 0, 2 {(a*c*d - 2*b*d + d)*z4 - (a *z1 + a*b*w1 + a*c*w3 - 2*a*c*z1 - a*w2 - 2*b*w3 - 2*b*w4 + 4*b*z1 + w3 + w4 - 2*z1)}}, 2 {a *z1 + a*b*w1 - a*w2 - 2*b*w4 + w4 <> 0 and a*b <> 0 and a <> 0 and d <> 0 and a*c - 2*b + 1 = 0 and a*c + 1 = 0 and a*w3 - 2*a*z1 - d*w4 = 0 and a + d = 0, 2 {(a*c - 2*b + 1)*z3 + (a *z1 + a*b*w1 - a*w2 - 2*b*w4 + w4)}}, 2 {a *z1 + a*c*w3 - 2*a*c*z1 + a*d*z1 - a*w2 - c*d*w4 - d*w2 + w3 + w4 - 2*z1 <> 0 and a*c + 1 <> 0 and a <> 0 and d <> 0 and a*b + b*d = 0, 2 {(a*b + b*d)*z2 + (a *z1 + a*c*w3 - 2*a*c*z1 + a*d*z1 - a*w2 - c*d*w4 - d*w2 + w3 + w4 - 2*z1)}}, 2 {a *z1 + a*c*w3 - 2*a*c*z1 - a*w2 + w3 + w4 - 2*z1 <> 0 and a <> 0 and a*b = 0 and d = 0, {(a*c*d + d)*z4 - (a*b)*z2 2 - (a *z1 + a*c*w3 - 2*a*c*z1 - a*w2 + w3 + w4 - 2*z1)}}, 2 {a *z1 - a*w2 + w4 <> 0 and a <> 0 and d <> 0 and a*b = 0 and a*c + 1 = 0, 2 {(a*c + 1)*z3 + (a*b)*z2 + (a *z1 - a*w2 + w4)}}, 3 2 {a*b + b*d <> 0 and a*c + 1 <> 0 and a <> 0 and d <> 0 and a *c*z1 + a *b*c*w1 2 2 2 2 2 2 2 + a *c *w3 - 2*a *c *z1 + a *c*d*z1 - a *c*w2 + a *z1 + a*b*c*d*w1 2 - 2*a*b*c*w3 - 2*a*b*c*w4 + 4*a*b*c*z1 + a*b*w1 - a*c *d*w4 - a*c*d*w2 + 2*a*c*w3 + a*c*w4 - 4*a*c*z1 + a*d*z1 - a*w2 + b*d*w1 - 2*b*w3 - 2*b*w4 2 2 + 4*b*z1 - c*d*w4 - d*w2 + w3 + w4 - 2*z1 = 0 and a *c*w5 - a *c*z1 + a*c*d*w5 - a*c*d*z1 - a*c*w3 - a*c*w4 + 2*a*c*z1 + a*w5 - a*z1 + d*w5 - d*z1 - w3 - w4 + 2*z1 = 0, {z4 + c*z3 + b*z2 + (a*z1 - w2), a*z4 - z3 - w4, d*z4 + z3 - (w3 - 2*z1), 2*z4 + z2 - w1, z4 - (w5 - z1), 2 (a*c + 1)*z3 + (a*b)*z2 + (a *z1 - a*w2 + w4), 2 (a*b + b*d)*z2 + (a *z1 + a*c*w3 - 2*a*c*z1 + a*d*z1 - a*w2 - c*d*w4 - d*w2 + w3 + w4 - 2*z1)}}, 3 2 {a*b <> 0 and a*c - 2*b + 1 <> 0 and a <> 0 and d <> 0 and a *c*z1 + a *b*c*w1 2 2 2 - a *c*w2 - a *c*w5 + a *c*z1 - 2*a*b*c*w4 + 2*a*b*w5 - 2*a*b*z1 + 2*a*c*w4 - a*w5 + a*z1 - 2*b*w4 + w4 = 0 and a*c + 1 = 0 and a*w3 - 2*a*z1 - d*w4 = 0 and a + d = 0, {z4 + c*z3 + b*z2 + (a*z1 - w2), a*z4 - z3 - w4, d*z4 + z3 - (w3 - 2*z1), 2*z4 + z2 - w1, z4 - (w5 - z1), 2 (a*c + 1)*z3 + (a*b)*z2 + (a *z1 - a*w2 + w4), 2 (a*c - 2*b + 1)*z3 + (a *z1 + a*b*w1 - a*w2 - 2*b*w4 + w4)}}, {a*b <> 0 and a*w3 - 2*a*z1 - d*w4 <> 0 and a <> 0 and d <> 0 and a*c + 1 = 0 and a + d = 0, {(a + d)*z3 - (a*w3 - 2*a*z1 - d*w4)}}, 2 {a*b <> 0 and a*w5 - a*z1 - w3 - w4 + 2*z1 <> 0 and a <> 0 and a *z1 + a*b*w1 + a*c*w3 - 2*a*c*z1 - a*w2 - 2*b*w3 - 2*b*w4 + 4*b*z1 + w3 + w4 - 2*z1 = 0 and d = 0, {d*z4 + (a*w5 - a*z1 - w3 - w4 + 2*z1)}}, 3 2 {a*b <> 0 and a + d <> 0 and a <> 0 and d <> 0 and a *z1 + 2*a *b*c*w3 2 2 2 2 - 4*a *b*c*z1 + a *b*w1 + a *d*z1 - a *w2 - 2*a*b*c*d*w4 + a*b*d*w1 - 2*a*b*w4 - a*d*w2 + a*w4 - 2*b*d*w4 + d*w4 = 0 and 2 2 2 2 a *c*w3 - 2*a *c*z1 + a *w5 - a *z1 - a*c*d*w4 + a*d*w5 - a*d*z1 - a*w4 - d*w4 = 0 and a*c + 1 = 0, {z4 + c*z3 + b*z2 + (a*z1 - w2), a*z4 - z3 - w4, d*z4 + z3 - (w3 - 2*z1), 2*z4 + z2 - w1, z4 - (w5 - z1), 2 (a*c + 1)*z3 + (a*b)*z2 + (a *z1 - a*w2 + w4), (a + d)*z3 - (a*w3 - 2*a*z1 - d*w4)}}, 2 {a*b <> 0 and a <> 0 and d <> 0 and a *z1 + a*b*w1 - a*w2 - 2*b*w4 + w4 = 0 and a*c - 2*b + 1 = 0 and a*c + 1 = 0 and a*w3 - 2*a*z1 - d*w4 = 0 and a + d = 0, {z4 + c*z3 + b*z2 + (a*z1 - w2), a*z4 - z3 - w4, d*z4 + z3 - (w3 - 2*z1), 2*z4 + z2 - w1, z4 - (w5 - z1), 2 (a*c + 1)*z3 + (a*b)*z2 + (a *z1 - a*w2 + w4), z3 - (a*w5 - a*z1 - w4)}}, 2 {a*b <> 0 and a <> 0 and a *z1 + a*b*w1 + a*c*w3 - 2*a*c*z1 - a*w2 - 2*b*w3 - 2*b*w4 + 4*b*z1 + w3 + w4 - 2*z1 = 0 and a*w5 - a*z1 - w3 - w4 + 2*z1 = 0 and d = 0, {z4 + c*z3 + b*z2 + (a*z1 - w2), a*z4 - z3 - w4, d*z4 + z3 - (w3 - 2*z1), 2*z4 + z2 - w1, (a*c*d + d)*z4 - (a*b)*z2 2 - (a *z1 + a*c*w3 - 2*a*c*z1 - a*w2 + w3 + w4 - 2*z1), z4 - (w5 - z1)}}, 2 2 {a*c*d *z1 + b*c*d *w1 - 2*b*c*d*w3 + 4*b*c*d*z1 - 2*b*d*w5 + 2*b*d*z1 + 2*b*w3 2 2 2 - 4*b*z1 - c*d *w2 - c*d *w5 + c*d *z1 + 2*c*d*w3 - 4*c*d*z1 + d*w5 - d*z1 - w3 + 2*z1 <> 0 and a <> 0 and b*d <> 0 and 2*b + c*d - 1 <> 0 and d <> 0 2 and a *z1 - a*w2 + w4 = 0 and a*b = 0 and a*c + 1 = 0 and c*d - 1 = 0, 2 2 2 2 {(2*b*c*d - 2*b + c *d - 2*c*d + 1)*z3 + (a*c*d *z1 + b*c*d *w1 - 2*b*c*d*w3 2 2 + 4*b*c*d*z1 - 2*b*d*w5 + 2*b*d*z1 + 2*b*w3 - 4*b*z1 - c*d *w2 - c*d *w5 2 + c*d *z1 + 2*c*d*w3 - 4*c*d*z1 + d*w5 - d*z1 - w3 + 2*z1)}}, {a*c*d*z1 - a*z1 + b*c*d*w1 - 2*b*c*d*w5 + 2*b*c*d*z1 - b*w1 + 2*b*w5 - 2*b*z1 2 2 2 2 2 2 - c *d *w5 + c *d *z1 + c *d*w3 - 2*c *d*z1 - c*d*w2 + 2*c*d*w5 - 2*c*d*z1 - c*w3 + 2*c*z1 + w2 - w5 + z1 <> 0 and a <> 0 and 2*b + c*d - 1 <> 0 2 and c*d - 1 <> 0 and d <> 0 and a *z1 - a*w2 + w4 = 0 and a*b = 0 and a*c + 1 = 0, {a*c*d*z1 - a*z1 + b*c*d*w1 - 2*b*c*d*w5 + 2*b*c*d*z1 - b*w1 + 2*b*w5 - 2*b*z1 2 2 2 2 2 2 - c *d *w5 + c *d *z1 + c *d*w3 - 2*c *d*z1 - c*d*w2 + 2*c*d*w5 - 2*c*d*z1 - c*w3 + 2*c*z1 + w2 - w5 + z1}}, {a*c*w1 + 2*a*z1 - 2*c*w4 + w1 - 2*w2 <> 0 and a*c + 1 <> 0 and a <> 0 and d <> 0 and 2 a *z1 + a*c*w3 - 2*a*c*z1 + a*d*z1 - a*w2 - c*d*w4 - d*w2 + w3 + w4 - 2*z1 = 0 and a*b + b*d = 0 and a*c - 2*b + 1 = 0, {(a*c - 2*b + 1)*z2 - (a*c*w1 + 2*a*z1 - 2*c*w4 + w1 - 2*w2)}}, {a*c*w5 - a*c*z1 + a*z1 - c*w4 - w2 + w5 - z1 <> 0 and a*c + 1 <> 0 and a <> 0 and d <> 0 and 2 a *z1 + a*c*w3 - 2*a*c*z1 + a*d*z1 - a*w2 - c*d*w4 - d*w2 + w3 + w4 - 2*z1 = 0 and a*b + b*d = 0 and a*c*w1 + 2*a*z1 - 2*c*w4 + w1 - 2*w2 = 0 and a*c - 2*b + 1 = 0 and b = 0, {b*z2 + (a*c*w5 - a*c*z1 + a*z1 - c*w4 - w2 + w5 - z1)}}, 2 2 {a*c - 2*b + 1 <> 0 and a*c + 1 <> 0 and a <> 0 and d <> 0 and a *c *w5 2 2 2 2 - a *c *z1 + a *c*z1 + a*b*c*w1 - 2*a*b*c*w5 + 2*a*b*c*z1 - a*c *w4 - a*c*w2 + 2*a*c*w5 - 2*a*c*z1 + a*z1 + b*w1 - 2*b*w5 + 2*b*z1 - c*w4 - w2 + w5 - z1 = 0 and 2 a *z1 + a*c*w3 - 2*a*c*z1 + a*d*z1 - a*w2 - c*d*w4 - d*w2 + w3 + w4 - 2*z1 = 0 and a*b + b*d = 0, {z4 + c*z3 + b*z2 + (a*z1 - w2), a*z4 - z3 - w4, d*z4 + z3 - (w3 - 2*z1), 2*z4 + z2 - w1, z4 - (w5 - z1), 2 (a*c + 1)*z3 + (a*b)*z2 + (a *z1 - a*w2 + w4), (a*c - 2*b + 1)*z2 - (a*c*w1 + 2*a*z1 - 2*c*w4 + w1 - 2*w2)}}, {a*c + 1 <> 0 and a <> 0 and b <> 0 and d <> 0 and 2 a *z1 + a*c*w3 - 2*a*c*z1 + a*d*z1 - a*w2 - c*d*w4 - d*w2 + w3 + w4 - 2*z1 = 0 and a*b + b*d = 0 and a*c*w1 + 2*a*z1 - 2*c*w4 + w1 - 2*w2 = 0 and a*c - 2*b + 1 = 0, {z4 + c*z3 + b*z2 + (a*z1 - w2), a*z4 - z3 - w4, d*z4 + z3 - (w3 - 2*z1), 2*z4 + z2 - w1, z4 - (w5 - z1), 2 (a*c + 1)*z3 + (a*b)*z2 + (a *z1 - a*w2 + w4), b*z2 + (a*c*w5 - a*c*z1 + a*z1 - c*w4 - w2 + w5 - z1)}}, {a*c + 1 <> 0 and a <> 0 and d <> 0 and 2 a *z1 + a*c*w3 - 2*a*c*z1 + a*d*z1 - a*w2 - c*d*w4 - d*w2 + w3 + w4 - 2*z1 = 0 and a*b + b*d = 0 and a*c*w1 + 2*a*z1 - 2*c*w4 + w1 - 2*w2 = 0 and a*c*w5 - a*c*z1 + a*z1 - c*w4 - w2 + w5 - z1 = 0 and a*c - 2*b + 1 = 0 and b = 0, {z4 + c*z3 + b*z2 + (a*z1 - w2), a*z4 - z3 - w4, d*z4 + z3 - (w3 - 2*z1), 2*z4 + z2 - w1, z4 - (w5 - z1), 2 (a*c + 1)*z3 + (a*b)*z2 + (a *z1 - a*w2 + w4)}}, {a*d*z1 + b*d*w1 - 2*b*w3 - 2*b*w4 + 4*b*z1 - c*d*w4 - d*w2 + w3 + w4 - 2*z1 <> 0 and b*d <> 0 and d <> 0 and a = 0, {(2*a*b + a*c*d - a)*z4 + (a*d*z1 + b*d*w1 - 2*b*w3 - 2*b*w4 + 4*b*z1 - c*d*w4 - d*w2 + w3 + w4 - 2*z1)}}, {a*d*z1 + b*d*w1 - 2*b*w3 + 4*b*z1 - d*w2 + w3 - 2*z1 <> 0 and a <> 0 2 and b*d <> 0 and d <> 0 and a *z1 - a*w2 + w4 = 0 and a*b = 0 and a*c + 1 = 0 and 2*b + c*d - 1 = 0 and c*d - 1 = 0, {(2*b + c*d - 1)*z3 + (a*d*z1 + b*d*w1 - 2*b*w3 + 4*b*z1 - d*w2 + w3 - 2*z1)}} , {a*d*z1 - c*d*w4 - d*w2 + w3 + w4 - 2*z1 <> 0 and d <> 0 and a = 0 and b*d = 0, {(a*c*d - a)*z4 + (b*d)*z2 + (a*d*z1 - c*d*w4 - d*w2 + w3 + w4 - 2*z1)}}, 2 {a*d*z1 - d*w2 + w3 - 2*z1 <> 0 and a <> 0 and d <> 0 and a *z1 - a*w2 + w4 = 0 and a*b = 0 and a*c + 1 = 0 and b*d = 0 and c*d - 1 = 0, {(c*d - 1)*z3 + (b*d)*z2 + (a*d*z1 - d*w2 + w3 - 2*z1)}}, {2*a*z1 - c*d*w1 + 2*c*w3 - 4*c*z1 + w1 - 2*w2 <> 0 and a <> 0 and c*d - 1 <> 0 2 and d <> 0 and a *z1 - a*w2 + w4 = 0 and a*b = 0 and a*c + 1 = 0 and 2*b + c*d - 1 = 0, {(2*b + c*d - 1)*z2 + (2*a*z1 - c*d*w1 + 2*c*w3 - 4*c*z1 + w1 - 2*w2)}}, {2*a*z1 + 2*c*w3 - 4*c*z1 + w1 - 2*w2 <> 0 and a <> 0 2 and a *z1 + a*c*w3 - 2*a*c*z1 - a*w2 + w3 + w4 - 2*z1 = 0 and a*b = 0 and 2*b - 1 = 0 and d = 0, {(2*c*d)*z4 - (2*b - 1)*z2 - (2*a*z1 + 2*c*w3 - 4*c*z1 + w1 - 2*w2)}}, {2*a*z1 - 2*c*w4 + w1 - 2*w2 <> 0 and d <> 0 and a*d*z1 - c*d*w4 - d*w2 + w3 + w4 - 2*z1 = 0 and a = 0 and b*d = 0 and 2*b - 1 = 0, {(2*a*c)*z4 + (2*b - 1)*z2 + (2*a*z1 - 2*c*w4 + w1 - 2*w2)}}, {2*a*z1 - 2*c*w4 + w1 - 2*w2 <> 0 and a = 0 and 2*b - 1 = 0 and d = 0 and w3 + w4 - 2*z1 = 0, {(2*a*c)*z4 + (2*b - 1)*z2 + (2*a*z1 - 2*c*w4 + w1 - 2*w2)}}, 2 {2*a*z1 + w1 - 2*w2 <> 0 and a <> 0 and d <> 0 and a *z1 - a*w2 + w4 = 0 and a*b = 0 and a*c + 1 = 0 and a*d*z1 - d*w2 + w3 - 2*z1 = 0 and b*d = 0 and 2*b - 1 = 0 and c*d - 1 = 0 and c = 0, {(2*c)*z3 + (2*b - 1)*z2 + (2*a*z1 + w1 - 2*w2)}}, {a*z1 + b*w1 - 2*b*w5 + 2*b*z1 + c*w3 - 2*c*z1 - w2 + w5 - z1 <> 0 and a <> 0 2 and 2*b - 1 <> 0 and a *z1 + a*c*w3 - 2*a*c*z1 - a*w2 + w3 + w4 - 2*z1 = 0 and a*b = 0 and d = 0, {(c*d)*z4 - (a*z1 + b*w1 - 2*b*w5 + 2*b*z1 + c*w3 - 2*c*z1 - w2 + w5 - z1)}}, {a*z1 + b*w1 - 2*b*w5 + 2*b*z1 - c*w4 - w2 + w5 - z1 <> 0 and 2*b - 1 <> 0 and d <> 0 and a*d*z1 - c*d*w4 - d*w2 + w3 + w4 - 2*z1 = 0 and a = 0 and b*d = 0, {(a*c)*z4 + (a*z1 + b*w1 - 2*b*w5 + 2*b*z1 - c*w4 - w2 + w5 - z1)}}, {a*z1 + b*w1 - 2*b*w5 + 2*b*z1 - c*w4 - w2 + w5 - z1 <> 0 and 2*b - 1 <> 0 and a = 0 and d = 0 and w3 + w4 - 2*z1 = 0, {(a*c)*z4 + (a*z1 + b*w1 - 2*b*w5 + 2*b*z1 - c*w4 - w2 + w5 - z1)}}, {a*z1 + b*w1 - 2*b*w5 + 2*b*z1 - w2 + w5 - z1 <> 0 and a <> 0 and 2*b - 1 <> 0 2 and d <> 0 and a *z1 - a*w2 + w4 = 0 and a*b = 0 and a*c + 1 = 0 and a*d*z1 - d*w2 + w3 - 2*z1 = 0 and b*d = 0 and c*d - 1 = 0 and c = 0, {c*z3 + (a*z1 + b*w1 - 2*b*w5 + 2*b*z1 - w2 + w5 - z1)}}, {a*z1 - c*d*w5 + c*d*z1 + c*w3 - 2*c*z1 - w2 + w5 - z1 <> 0 and a <> 0 2 and c*d - 1 <> 0 and d <> 0 and a *z1 - a*w2 + w4 = 0 and a*b = 0 and a*c + 1 = 0 and 2*a*z1 - c*d*w1 + 2*c*w3 - 4*c*z1 + w1 - 2*w2 = 0 and 2*b + c*d - 1 = 0 and b = 0, {b*z2 + (a*z1 - c*d*w5 + c*d*z1 + c*w3 - 2*c*z1 - w2 + w5 - z1)}}, {a <> 0 and b*d <> 0 and 2*b + c*d - 1 <> 0 and d <> 0 2 2 2 and a *z1 - a*w2 + w4 = 0 and a*b = 0 and a*c*d *z1 + b*c*d *w1 - 2*b*c*d*w3 2 2 + 4*b*c*d*z1 - 2*b*d*w5 + 2*b*d*z1 + 2*b*w3 - 4*b*z1 - c*d *w2 - c*d *w5 2 + c*d *z1 + 2*c*d*w3 - 4*c*d*z1 + d*w5 - d*z1 - w3 + 2*z1 = 0 and a*c + 1 = 0 and c*d - 1 = 0, {z4 + c*z3 + b*z2 + (a*z1 - w2), a*z4 - z3 - w4, d*z4 + z3 - (w3 - 2*z1), 2*z4 + z2 - w1, z4 - (w5 - z1), (c*d - 1)*z3 + (b*d)*z2 + (a*d*z1 - d*w2 + w3 - 2*z1), (2*b + c*d - 1)*z3 + (a*d*z1 + b*d*w1 - 2*b*w3 + 4*b*z1 - d*w2 + w3 - 2*z1)}} , 2 {a <> 0 and b*d <> 0 and d <> 0 and a *z1 - a*w2 + w4 = 0 and a*b = 0 and a*c + 1 = 0 and a*d*z1 + b*d*w1 - 2*b*w3 + 4*b*z1 - d*w2 + w3 - 2*z1 = 0 and 2*b + c*d - 1 = 0 and c*d - 1 = 0, {z4 + c*z3 + b*z2 + (a*z1 - w2), a*z4 - z3 - w4, d*z4 + z3 - (w3 - 2*z1), 2*z4 + z2 - w1, z4 - (w5 - z1), (c*d - 1)*z3 + (b*d)*z2 + (a*d*z1 - d*w2 + w3 - 2*z1), z3 + (d*w5 - d*z1 - w3 + 2*z1)}}, {a <> 0 and 2*b + c*d - 1 <> 0 and c*d - 1 <> 0 and d <> 0 2 and a *z1 - a*w2 + w4 = 0 and a*b = 0 and a*c*d*z1 - a*z1 + b*c*d*w1 2 2 2 2 - 2*b*c*d*w5 + 2*b*c*d*z1 - b*w1 + 2*b*w5 - 2*b*z1 - c *d *w5 + c *d *z1 2 2 + c *d*w3 - 2*c *d*z1 - c*d*w2 + 2*c*d*w5 - 2*c*d*z1 - c*w3 + 2*c*z1 + w2 - w5 + z1 = 0 and a*c + 1 = 0, {z4 + c*z3 + b*z2 + (a*z1 - w2), a*z4 - z3 - w4, d*z4 + z3 - (w3 - 2*z1), 2*z4 + z2 - w1, z4 - (w5 - z1), (c*d - 1)*z3 + (b*d)*z2 + (a*d*z1 - d*w2 + w3 - 2*z1), (2*b + c*d - 1)*z2 + (2*a*z1 - c*d*w1 + 2*c*w3 - 4*c*z1 + w1 - 2*w2)}}, 2 {a <> 0 and 2*b - 1 <> 0 and d <> 0 and a *z1 - a*w2 + w4 = 0 and a*b = 0 and a*c + 1 = 0 and a*d*z1 - d*w2 + w3 - 2*z1 = 0 and a*z1 + b*w1 - 2*b*w5 + 2*b*z1 - w2 + w5 - z1 = 0 and b*d = 0 and c*d - 1 = 0 and c = 0, {z4 + c*z3 + b*z2 + (a*z1 - w2), a*z4 - z3 - w4, d*z4 + z3 - (w3 - 2*z1), 2*z4 + z2 - w1, z4 - (w5 - z1), (2*c)*z3 + (2*b - 1)*z2 + (2*a*z1 + w1 - 2*w2)}}, {a <> 0 and 2*b - 1 <> 0 2 and a *z1 + a*c*w3 - 2*a*c*z1 - a*w2 + w3 + w4 - 2*z1 = 0 and a*b = 0 and a*z1 + b*w1 - 2*b*w5 + 2*b*z1 + c*w3 - 2*c*z1 - w2 + w5 - z1 = 0 and d = 0, {z4 + c*z3 + b*z2 + (a*z1 - w2), a*z4 - z3 - w4, d*z4 + z3 - (w3 - 2*z1), 2*z4 + z2 - w1, (2*c*d)*z4 - (2*b - 1)*z2 - (2*a*z1 + 2*c*w3 - 4*c*z1 + w1 - 2*w2), z4 - (w5 - z1)}}, 2 {a <> 0 and b <> 0 and c*d - 1 <> 0 and d <> 0 and a *z1 - a*w2 + w4 = 0 and a*b = 0 and a*c + 1 = 0 and 2*a*z1 - c*d*w1 + 2*c*w3 - 4*c*z1 + w1 - 2*w2 = 0 and 2*b + c*d - 1 = 0, {z4 + c*z3 + b*z2 + (a*z1 - w2), a*z4 - z3 - w4, d*z4 + z3 - (w3 - 2*z1), 2*z4 + z2 - w1, z4 - (w5 - z1), (c*d - 1)*z3 + (b*d)*z2 + (a*d*z1 - d*w2 + w3 - 2*z1), b*z2 + (a*z1 - c*d*w5 + c*d*z1 + c*w3 - 2*c*z1 - w2 + w5 - z1)}}, 2 {a <> 0 and c*d - 1 <> 0 and d <> 0 and a *z1 - a*w2 + w4 = 0 and a*b = 0 and a*c + 1 = 0 and 2*a*z1 - c*d*w1 + 2*c*w3 - 4*c*z1 + w1 - 2*w2 = 0 and a*z1 - c*d*w5 + c*d*z1 + c*w3 - 2*c*z1 - w2 + w5 - z1 = 0 and 2*b + c*d - 1 = 0 and b = 0, {z4 + c*z3 + b*z2 + (a*z1 - w2), a*z4 - z3 - w4, d*z4 + z3 - (w3 - 2*z1), 2*z4 + z2 - w1, z4 - (w5 - z1), (c*d - 1)*z3 + (b*d)*z2 + (a*d*z1 - d*w2 + w3 - 2*z1)}}, 2 {a <> 0 and c <> 0 and d <> 0 and a *z1 - a*w2 + w4 = 0 and a*b = 0 and a*c + 1 = 0 and a*d*z1 - d*w2 + w3 - 2*z1 = 0 and b*d = 0 and c*d - 1 = 0 , {z4 + c*z3 + b*z2 + (a*z1 - w2), a*z4 - z3 - w4, d*z4 + z3 - (w3 - 2*z1), 2*z4 + z2 - w1, z4 - (w5 - z1), (2*c)*z3 + (2*b - 1)*z2 + (2*a*z1 + w1 - 2*w2), z2 - (w1 - 2*w5 + 2*z1)}}, 2 {a <> 0 and d <> 0 and a *z1 - a*w2 + w4 = 0 and a*b = 0 and a*c + 1 = 0 and a*d*z1 - d*w2 + w3 - 2*z1 = 0 and 2*a*z1 + w1 - 2*w2 = 0 and b*d = 0 and 2*b - 1 = 0 and c*d - 1 = 0 and c = 0, {z4 + c*z3 + b*z2 + (a*z1 - w2), a*z4 - z3 - w4, d*z4 + z3 - (w3 - 2*z1), 2*z4 + z2 - w1, z4 - (w5 - z1), c*z3 + b*z2 + (a*z1 - w2 + w5 - z1)}}, 2 {a <> 0 and a *z1 + a*c*w3 - 2*a*c*z1 - a*w2 + w3 + w4 - 2*z1 = 0 and a*b = 0 and 2*a*z1 + 2*c*w3 - 4*c*z1 + w1 - 2*w2 = 0 and 2*b - 1 = 0 and d = 0, {z4 + c*z3 + b*z2 + (a*z1 - w2), a*z4 - z3 - w4, d*z4 + z3 - (w3 - 2*z1), 2*z4 + z2 - w1, (c*d)*z4 - b*z2 - (a*z1 + c*w3 - 2*c*z1 - w2 + w5 - z1), z4 - (w5 - z1)}}, {b*d <> 0 and d*w5 - d*z1 - w3 - w4 + 2*z1 <> 0 and d <> 0 and a*d*z1 + b*d*w1 - 2*b*w3 - 2*b*w4 + 4*b*z1 - c*d*w4 - d*w2 + w3 + w4 - 2*z1 = 0 and a = 0, {a*z4 + (d*w5 - d*z1 - w3 - w4 + 2*z1)}}, {b*d <> 0 and d <> 0 and a*d*z1 + b*d*w1 - 2*b*w3 - 2*b*w4 + 4*b*z1 - c*d*w4 - d*w2 + w3 + w4 - 2*z1 = 0 and a = 0 and d*w5 - d*z1 - w3 - w4 + 2*z1 = 0, {z4 + c*z3 + b*z2 + (a*z1 - w2), a*z4 - z3 - w4, d*z4 + z3 - (w3 - 2*z1), 2*z4 + z2 - w1, (a*c*d - a)*z4 + (b*d)*z2 + (a*d*z1 - c*d*w4 - d*w2 + w3 + w4 - 2*z1), z4 - (w5 - z1)}}, {2*b - 1 <> 0 and d <> 0 and a*d*z1 - c*d*w4 - d*w2 + w3 + w4 - 2*z1 = 0 and a*z1 + b*w1 - 2*b*w5 + 2*b*z1 - c*w4 - w2 + w5 - z1 = 0 and a = 0 and b*d = 0, {z4 + c*z3 + b*z2 + (a*z1 - w2), a*z4 - z3 - w4, d*z4 + z3 - (w3 - 2*z1), 2*z4 + z2 - w1, (2*a*c)*z4 + (2*b - 1)*z2 + (2*a*z1 - 2*c*w4 + w1 - 2*w2), z4 - (w5 - z1)}}, {2*b - 1 <> 0 and a*z1 + b*w1 - 2*b*w5 + 2*b*z1 - c*w4 - w2 + w5 - z1 = 0 and a = 0 and d = 0 and w3 + w4 - 2*z1 = 0, {z4 + c*z3 + b*z2 + (a*z1 - w2), a*z4 - z3 - w4, d*z4 + z3 - (w3 - 2*z1), 2*z4 + z2 - w1, (2*a*c)*z4 + (2*b - 1)*z2 + (2*a*z1 - 2*c*w4 + w1 - 2*w2), z4 - (w5 - z1)}}, {d <> 0 and a*d*z1 - c*d*w4 - d*w2 + w3 + w4 - 2*z1 = 0 and 2*a*z1 - 2*c*w4 + w1 - 2*w2 = 0 and a = 0 and b*d = 0 and 2*b - 1 = 0, {z4 + c*z3 + b*z2 + (a*z1 - w2), a*z4 - z3 - w4, d*z4 + z3 - (w3 - 2*z1), 2*z4 + z2 - w1, (a*c)*z4 + b*z2 + (a*z1 - c*w4 - w2 + w5 - z1), z4 - (w5 - z1)}}, {w3 + w4 - 2*z1 <> 0 and a = 0 and d = 0, {(a + d)*z4 - (w3 + w4 - 2*z1)}}, {2*a*z1 - 2*c*w4 + w1 - 2*w2 = 0 and a = 0 and 2*b - 1 = 0 and d = 0 and w3 + w4 - 2*z1 = 0, {z4 + c*z3 + b*z2 + (a*z1 - w2), a*z4 - z3 - w4, d*z4 + z3 - (w3 - 2*z1), 2*z4 + z2 - w1, (a*c)*z4 + b*z2 + (a*z1 - c*w4 - w2 + w5 - z1), z4 - (w5 - z1)}}} torder oo; {{z4,z3,z2,z2},revgradlex} % Two dimensional transportation problem oo := torder({x33,x32,x31,x23,x22,x21,x13,x12,x11},lex); oo := {{},lex} gsys({x11+x12+x13-a1,x11+x21+x31-b1,x12+x22+x32-b2,x13+x23+x33-b3, x21+x22+x23-a2,x31+x32+x33-a3}); {{a1 + a2 + a3 - b1 - b2 - b3 <> 0, {a1 + a2 + a3 - b1 - b2 - b3}}, {a1 + a2 + a3 - b1 - b2 - b3 = 0, {x33 + x32 + x31 - a3, x33 + x23 + x13 - b3, x32 + x22 + x12 - b2, x31 + x21 + x11 - b1, x23 + x22 + x21 - a2, x13 + x12 + x11 - a1}}} torder oo; {{x33,x32,x31,x23,x22,x21,x13,x12,x11},lex} % Thomas Weis's Example 1 oo := torder({x,y,z},lex); oo := {{},lex} gsys({z*y*x-b*y*x-b*z*x+b**2*x-b*z*y+b**2*y+b**2*z-(n3+b**3), z*y*x-a*y*x-a*z*x+a**2*x-a*z*y+a**2*y+a**2*z-(n3+a**3), z*y*x-n1}); 3 3 {{a *b - a*b + a*n1 - a*n3 - b*n1 + b*n3 <> 0 and a - b <> 0 2 2 and a *b - a*b = 0, 2 2 2 2 2 2 {(a *b - a*b )*x + (a *b - a*b )*y + (a *b - a*b )*z 3 3 - (a *b - a*b + a*n1 - a*n3 - b*n1 + b*n3)}}, 3 {a - n1 + n3 <> 0 and a - b = 0 and a = 0, 2 2 2 3 {a*x*y + a*x*z - a *x + a*y*z - a *y - a *z + (a - n1 + n3)}}, 2 2 {a *b - a*b <> 0 and a - b <> 0, 2 2 2 3 {x*y*z - a*x*y - a*x*z + a *x - a*y*z + a *y + a *z - (a + n3), 2 2 2 3 x*y*z - b*x*y - b*x*z + b *x - b*y*z + b *y + b *z - (b + n3), x*y*z - n1, 2 2 2 2 (a - b)*x*y + (a - b)*x*z - (a - b )*x + (a - b)*y*z - (a - b )*y 2 2 3 3 - (a - b )*z + (a - b ), 2 2 2 2 2 2 (a *b - a*b )*x + (a *b - a*b )*y + (a *b - a*b )*z 3 3 - (a *b - a*b + a*n1 - a*n3 - b*n1 + b*n3), 2 2 2 2 2 (a *b - a*b )*y + (a *b - a*b )*y*z 3 3 2 2 2 - (a *b - a*b + a*n1 - a*n3 - b*n1 + b*n3)*y + (a *b - a*b )*z 3 3 - (a *b - a*b + a*n1 - a*n3 - b*n1 + b*n3)*z 3 2 2 3 2 2 2 2 + (a *b - a *b + a *n1 - a *n3 - b *n1 + b *n3), 2 2 3 3 3 2 (a *b - a*b )*z - (a *b - a*b + a*n1 - a*n3 - b*n1 + b*n3)*z 3 2 2 3 2 2 2 2 2 2 + (a *b - a *b + a *n1 - a *n3 - b *n1 + b *n3)*z - (a *b*n1 - a*b *n1)}}, 3 3 2 2 {a - b <> 0 and a *b - a*b + a*n1 - a*n3 - b*n1 + b*n3 = 0 and a *b - a*b = 0 , 2 2 2 3 {x*y*z - a*x*y - a*x*z + a *x - a*y*z + a *y + a *z - (a + n3), 2 2 2 3 x*y*z - b*x*y - b*x*z + b *x - b*y*z + b *y + b *z - (b + n3), x*y*z - n1, 2 2 2 2 (a - b)*x*y + (a - b)*x*z - (a - b )*x + (a - b)*y*z - (a - b )*y 2 2 3 3 - (a - b )*z + (a - b ), 2 2 2 2 2 2 2 2 (a - b)*x*z - (a - b )*x*z + (a *b - a*b )*x + (a - b)*y*z - (a - b )*y*z 2 2 2 2 2 3 2 2 3 + (a *b - a*b )*y - (a - b )*z + (a + a *b - a*b - b )*z 3 3 - (a *b - a*b - a*n3 + b*n3), 2 2 2 2 2 2 2 2 2 2 2 (a - b)*y *z - (a - b )*y *z + (a *b - a*b )*y - (a - b )*y*z 3 2 2 3 3 3 + (a + a *b - a*b - b )*y*z - (a *b - a*b - a*n3 + b*n3)*y 2 2 2 3 3 + (a *b - a*b )*z - (a *b - a*b - a*n3 + b*n3)*z 3 2 2 3 2 2 + (a *b - a *b - a *n3 + b *n3)}}, {a <> 0 and a - b = 0, 2 2 2 3 {x*y*z - a*x*y - a*x*z + a *x - a*y*z + a *y + a *z - (a + n3), 2 2 2 3 x*y*z - b*x*y - b*x*z + b *x - b*y*z + b *y + b *z - (b + n3), x*y*z - n1, 2 2 2 3 a*x*y + a*x*z - a *x + a*y*z - a *y - a *z + (a - n1 + n3), 2 2 2 2 2 2 3 a*x*z - a *x*z + a*y*z - a *y*z - a *z + (a - n1 + n3)*z + a*n1, 2 2 2 2 2 2 3 a*y *z - a *y *z - a *y*z + (a - n1 + n3)*y*z + (a*n1)*y + (a*n1)*z 2 - a *n1}}, 3 {a - n1 + n3 = 0 and a - b = 0 and a = 0, 2 2 2 3 {x*y*z - a*x*y - a*x*z + a *x - a*y*z + a *y + a *z - (a + n3), 2 2 2 3 x*y*z - b*x*y - b*x*z + b *x - b*y*z + b *y + b *z - (b + n3), x*y*z - n1}}} torder oo; {{x,y,z},lex} % Thomas Weis's Example 2 oo := torder({z,y,x,w},lex); oo := {{},lex} gsys({w*x*y*z-x*y*z-w*y*z+y*z-w*x*z+x*z+w*z-z-w*x*y+x*y+w*y- y+w*x-x-w-(b-1), w*x*y*z-2*x*y*z-2*w*y*z+4*y*z-2*w*x*z+4*x*z+4*w*z-8*z-2*w*x*y+4x*y+ 4*w*y-8*y+4*w*x-8*x-8*w-(c-16), w*x*y*z-a,z+y+x+w-v}); {{true, {z*y*x*w - z*y*x - z*y*w + z*y - z*x*w + z*x + z*w - z - y*x*w + y*x + y*w - y + x*w - x - w - (b - 1), z*y*x*w - 2*z*y*x - 2*z*y*w + 4*z*y - 2*z*x*w + 4*z*x + 4*z*w - 8*z - 2*y*x*w + 4*y*x + 4*y*w - 8*y + 4*x*w - 8*x - 8*w - (c - 16), z*y*x*w - a, z + y + x + w - v, 2 2 2 2 2 y *x + y *w - 3*y + y*x + 2*y*x*w - (v + 3)*y*x + y*w - (v + 3)*y*w 2 2 2 2 + (3*v)*y + x *w - 3*x + x*w - (v + 3)*x*w + (3*v)*x - 3*w + (3*v)*w + (b - c - 7*v + 15), 2 2 2 2*y + 2*y*x + 2*y*w - (2*v)*y + 2*x + 2*x*w - (2*v)*x + 2*w - (2*v)*w + (a - 2*b + c + 6*v - 14), 3 2 2 2 2*x + 2*x *w - (2*v)*x + 2*x*w - (2*v)*x*w + (a - 2*b + c + 6*v - 14)*x 3 2 + 2*w - (2*v)*w + (a - 2*b + c + 6*v - 14)*w - (3*a - 4*b + c + 4*v - 12), 4 3 2 2*w - (2*v)*w + (a - 2*b + c + 6*v - 14)*w - (3*a - 4*b + c + 4*v - 12)*w + 2*a}}} torder oo; {{z,y,x,w},lex} end; Time for test: 380 ms, plus GC time: 110 ms