1% Examples taken from the manual:
2
3% 1 Introduction
4oo := torder({x,y},lex)$
5
6
7cgb {a*x,x+y};
8
9
10{x + y,a*x,a*y}
11
12gsys {a*x,x+y};
13
14
15{{a <> 0,{x + y,a*x,a*y}},
16
17 {a = 0,{x + y}}}
18
19torder oo;
20
21
22{{x,y},lex}
23
24
25% 4 CGB: Comprehensive Groebner Basis
26oo := torder({x,y},lex)$
27
28
29cgb {a*x+y,x+b*y};
30
31
32{x + b*y,a*x + y,(a*b - 1)*y}
33
34torder oo;
35
36
37{{x,y},lex}
38
39
40% 5 GSYS: Groebner System
41oo := torder({x,y},lex)$
42
43
44gsys {a*x+y,x+b*y};
45
46
47{{a*b - 1 <> 0 and a <> 0,
48
49  {a*x + y,x + b*y,(a*b - 1)*y}},
50
51 {a <> 0 and a*b - 1 = 0,
52
53  {a*x + y,x + b*y}},
54
55 {a = 0,{x + b*y,y}}}
56
57torder oo;
58
59
60{{x,y},lex}
61
62
63% 6 GSYS2CGB: Groebner System to CGB
64oo := torder({x,y},lex)$
65
66
67gsys {a*x+y,x+b*y};
68
69
70{{a*b - 1 <> 0 and a <> 0,
71
72  {a*x + y,x + b*y,(a*b - 1)*y}},
73
74 {a <> 0 and a*b - 1 = 0,
75
76  {a*x + y,x + b*y}},
77
78 {a = 0,{x + b*y,y}}}
79
80gsys2cgb ws;
81
82
83{x + b*y,a*x + y,y,(a*b - 1)*y}
84
85torder oo;
86
87
88{{x,y},lex}
89
90
91% 7 Switch CGBREAL: Computing over the Real Numbers
92oo := torder({x,y},lex)$
93
94
95off cgbreal;
96
97
98gsys {a*x+y,x-a*y};
99
100
101   2
102{{a  + 1 <> 0 and a <> 0,
103
104                     2
105  {a*x + y,x - a*y,(a  + 1)*y}},
106
107              2
108 {a <> 0 and a  + 1 = 0,
109
110  {a*x + y,x - a*y}},
111
112 {a = 0,{x - a*y,y}}}
113
114on cgbreal;
115
116
117gsys({a*x+y,x-a*y});
118
119
120{{a <> 0,
121
122                     2
123  {a*x + y,x - a*y,(a  + 1)*y}},
124
125 {a = 0,{x - a*y,y}}}
126
127torder oo;
128
129
130{{x,y},lex}
131
132
133% Miscellaneous examples:
134
135% Dolzmann's Example
136oo := torder({x,y,z},lex);
137
138
139oo := {{},lex}
140
141cgb({a*x+b*y,c*x+d*y,(a*d-b*c)*z});
142
143
144{c*x + d*y,
145
146 a*x + b*y,
147
148 (a*d - b*c)*y,
149
150 (a*d - b*c)*z}
151
152gsys({a*x+b*y,c*x+d*y,(a*d-b*c)*z});
153
154
155{{a*d - b*c <> 0 and a <> 0 and c <> 0,
156
157  {a*x + b*y,
158
159   c*x + d*y,
160
161   (a*d - b*c)*y,
162
163   (a*d - b*c)*z}},
164
165 {a <> 0 and c <> 0 and a*d - b*c = 0,
166
167  {a*x + b*y,c*x + d*y}},
168
169 {a <> 0 and d <> 0 and c = 0,
170
171  {a*x + b*y,d*y,(a*d - b*c)*z}},
172
173 {a <> 0 and c = 0 and d = 0,
174
175  {a*x + b*y}},
176
177 {b <> 0 and c <> 0 and a = 0,
178
179  {c*x + d*y,b*y,(a*d - b*c)*z}},
180
181 {b <> 0 and d <> 0 and a = 0 and c = 0,
182
183  {b*y,d*y}},
184
185 {b <> 0 and a = 0 and c = 0 and d = 0,
186
187  {b*y}},
188
189 {c <> 0 and a = 0 and b = 0,
190
191  {c*x + d*y}},
192
193 {d <> 0 and a = 0 and b = 0 and c = 0,
194
195  {d*y}},
196
197 {a = 0 and b = 0 and c = 0 and d = 0,{}}}
198
199gsys2cgb ws;
200
201
202{c*x + d*y,
203
204 a*x + b*y,
205
206 b*y,
207
208 d*y,
209
210 (a*d - b*c)*y,
211
212 (a*d - b*c)*z}
213
214torder oo;
215
216
217{{x,y,z},lex}
218
219
220% Forsman's Example (hybrid control system).
221oo := torder({x1,x2,y2,y1,y0},lex);
222
223
224oo := {{},lex}
225
226gsys({(u1*u2-u1)*x1+u2*x2+y2,(u2-1)*x1+u2*x2+y1,-x2+y0});
227
228
229{{u1*u2 - u1 <> 0,
230
231  {(u1*u2 - u1)*x1 + u2*x2 + y2,
232
233   (u2 - 1)*x1 + u2*x2 + y1,
234
235   x2 - y0,
236
237   y2 - u1*y1 - (u1*u2 - u2)*y0}},
238
239 {u2 - 1 <> 0 and u2 <> 0 and u1*u2 - u1 = 0,
240
241  {(u2 - 1)*x1 + u2*x2 + y1,u2*x2 + y2,x2 - y0,y2 + u2*y0}},
242
243 {u1 = 0 and u2 = 0,
244
245  {(u2 - 1)*x1 + u2*x2 + y1,x2 - y0,y2}},
246
247 {u2 - 1 = 0,
248
249  {u2*x2 + y2,u2*x2 + y1,x2 - y0,y2 - y1,y1 + u2*y0}}}
250
251torder oo;
252
253
254{{x1,x2,y2,y1,y0},lex}
255
256
257% Weispfenning's Example
258oo := torder({x,y},lex);
259
260
261oo := {{},lex}
262
263gsys({v*x*y + x,u*y^2 + x^2});
264
265
266{{u*v <> 0 and v <> 0,
267
268    2      2
269  {x  + u*y ,
270
271   v*x*y + x,
272
273          3      2
274   (u*v)*y  + u*y }},
275
276 {u <> 0 and v = 0,
277
278    2      2      2
279  {x  + u*y ,x,u*y }},
280
281 {v <> 0 and u*v = 0,
282
283    2      2
284  {x  + u*y ,v*x*y + x}},
285
286                    2      2
287 {u = 0 and v = 0,{x  + u*y ,x}}}
288
289torder oo;
290
291
292{{x,y},lex}
293
294
295% The folllowing three examples are taken from
296% Weispfenning, Comprehensive Groebner Bases,
297% J. Symbolic Computation (1992) 14, 1-29
298
299% Weispfenning's Example 7.1
300oo := torder({x},lex);
301
302
303oo := {{},lex}
304
305gsys({a0*x**2 + a1*x + a2,b0*x**2 + b1*x + b2});
306
307
308    3   2     2                2              2      2        2
309{{a0 *b2  - a0 *a1*b1*b2 - 2*a0 *a2*b0*b2 + a0 *a2*b1  + a0*a1 *b0*b2
310
311                           2   2
312   - a0*a1*a2*b0*b1 + a0*a2 *b0  <> 0 and a0*b1 - a1*b0 <> 0 and a0 <> 0
313
314   and b0 <> 0,
315
316     3   2     2                2              2      2        2
317  {a0 *b2  - a0 *a1*b1*b2 - 2*a0 *a2*b0*b2 + a0 *a2*b1  + a0*a1 *b0*b2
318
319                            2   2
320    - a0*a1*a2*b0*b1 + a0*a2 *b0 }},
321
322                                                   3   2     2
323 {a0*b1 - a1*b0 <> 0 and a0 <> 0 and b0 <> 0 and a0 *b2  - a0 *a1*b1*b2
324
325         2              2      2        2                               2   2
326   - 2*a0 *a2*b0*b2 + a0 *a2*b1  + a0*a1 *b0*b2 - a0*a1*a2*b0*b1 + a0*a2 *b0
327
328   = 0,
329
330       2
331  {a0*x  + a1*x + a2,
332
333       2
334   b0*x  + b1*x + b2,
335
336   (a0*b1 - a1*b0)*x + (a0*b2 - a2*b0)}},
337
338       2                   2
339 {a0*b2  - a1*b1*b2 + a2*b1  <> 0 and a0 <> 0 and b1 <> 0 and b0 = 0,
340
341        2                   2
342  {a0*b2  - a1*b1*b2 + a2*b1 }},
343
344 {a0*b2 - a2*b0 <> 0 and a0 <> 0 and b0 <> 0 and a0*b1 - a1*b0 = 0,
345
346  {a0*b2 - a2*b0}},
347
348 {a0 <> 0 and b0 <> 0 and a0*b1 - a1*b0 = 0 and a0*b2 - a2*b0 = 0,
349
350       2                 2
351  {a0*x  + a1*x + a2,b0*x  + b1*x + b2}},
352
353                               2                   2
354 {a0 <> 0 and b1 <> 0 and a0*b2  - a1*b1*b2 + a2*b1  = 0 and b0 = 0,
355
356       2
357  {a0*x  + a1*x + a2,b1*x + b2}},
358
359 {a0 <> 0 and b2 <> 0 and b0 = 0 and b1 = 0,{b2}},
360
361 {a0 <> 0 and b0 = 0 and b1 = 0 and b2 = 0,
362
363       2
364  {a0*x  + a1*x + a2}},
365
366    2                   2
367 {a1 *b2 - a1*a2*b1 + a2 *b0 <> 0 and a1 <> 0 and b0 <> 0 and a0 = 0,
368
369     2                   2
370  {a1 *b2 - a1*a2*b1 + a2 *b0}},
371
372 {a1*b2 - a2*b1 <> 0 and a1 <> 0 and b1 <> 0 and a0 = 0 and b0 = 0,
373
374  {a1*b2 - a2*b1}},
375
376                                       2                   2
377 {a1 <> 0 and b0 <> 0 and a0 = 0 and a1 *b2 - a1*a2*b1 + a2 *b0 = 0,
378
379       2
380  {b0*x  + b1*x + b2,a1*x + a2}},
381
382 {a1 <> 0 and b1 <> 0 and a0 = 0 and a1*b2 - a2*b1 = 0 and b0 = 0,
383
384  {a1*x + a2,b1*x + b2}},
385
386 {a1 <> 0 and b2 <> 0 and a0 = 0 and b0 = 0 and b1 = 0,
387
388  {b2}},
389
390 {a1 <> 0 and a0 = 0 and b0 = 0 and b1 = 0 and b2 = 0,
391
392  {a1*x + a2}},
393
394 {a2 <> 0 and a0 = 0 and a1 = 0,{a2}},
395
396 {b0 <> 0 and a0 = 0 and a1 = 0 and a2 = 0,
397
398       2
399  {b0*x  + b1*x + b2}},
400
401 {b1 <> 0 and a0 = 0 and a1 = 0 and a2 = 0 and b0 = 0,
402
403  {b1*x + b2}},
404
405 {b2 <> 0 and a0 = 0 and a1 = 0 and a2 = 0 and b0 = 0 and b1 = 0,
406
407  {b2}},
408
409 {a0 = 0 and a1 = 0 and a2 = 0 and b0 = 0 and b1 = 0 and b2 = 0,
410
411  {}}}
412
413torder oo;
414
415
416{{x},lex}
417
418
419% Weispfenning's Example 7.2
420oo := torder({x,y},lex);
421
422
423oo := {{},lex}
424
425gsys({v*x*y + u*x**2 + x,u*y**2 + x**2});
426
427
428   4        3
429{{u *v + u*v  <> 0 and u <> 0 and v <> 0,
430
431      2
432  {u*x  + v*x*y + x,
433
434    2      2
435   x  + u*y ,
436
437                2  2
438   v*x*y + x - u *y ,
439
440    3       5      2  3   3     5    2  2   2
441   u *x + (u *v + u *v )*y  - (u  - u *v )*y ,
442
443     7  2    4  4   4       4  3   3     4  2   2
444   (u *v  + u *v )*y  + (2*u *v )*y  + (u *v )*y }},
445
446                         4        3
447 {u <> 0 and v <> 0 and u *v + u*v  = 0,
448
449      2
450  {u*x  + v*x*y + x,
451
452    2      2
453   x  + u*y ,
454
455                2  2
456   v*x*y + x - u *y ,
457
458    3       5      2  3   3     5    2  2   2
459   u *x + (u *v + u *v )*y  - (u  - u *v )*y ,
460
461       4  3   3     4  2   2
462   (2*u *v )*y  + (u *v )*y }},
463
464 {u <> 0 and v = 0,
465
466      2
467  {u*x  + v*x*y + x,
468
469    2      2
470   x  + u*y ,
471
472        2  2
473   x - u *y ,
474
475    5  4    2  2
476   u *y  + u *y }},
477
478 {v <> 0 and u = 0,
479
480    2      2
481  {x  + u*y ,v*x*y + x}},
482
483                    2      2
484 {u = 0 and v = 0,{x  + u*y ,x}}}
485
486torder oo;
487
488
489{{x,y},lex}
490
491
492% Weispfenning's Example 7.3
493oo := torder({x1,x2,x3,x4},lex);
494
495
496oo := {{},lex}
497
498gsys {x4 - (a4-a2),x1 + x2 + x3 + x4 + (a1 + a3 + a4),
499   x1*x3 + x1*x4 + x2*x3 + x3*x4 - (a1*a4 + a1*a3 + a3*a4),x1*x3*x4 - a1*a3*a4};
500
501
502       2                                  2     3     2          2
503{{a1*a2  - a1*a2*a3 - 3*a1*a2*a4 + 2*a1*a4  - a2  + a2 *a3 + 4*a2 *a4
504
505                         2          2       3
506   - 3*a2*a3*a4 - 5*a2*a4  + 2*a3*a4  + 2*a4  <> 0 and a2 - a4 = 0,
507
508        2                                  2     3     2          2
509  {a1*a2  - a1*a2*a3 - 3*a1*a2*a4 + 2*a1*a4  - a2  + a2 *a3 + 4*a2 *a4
510
511                          2          2       3
512    - 3*a2*a3*a4 - 5*a2*a4  + 2*a3*a4  + 2*a4 }},
513
514 {a2 - a4 <> 0,
515
516  {x1*x3*x4 - a1*a3*a4,
517
518   x1*x3 + x1*x4 + x2*x3 + x3*x4 - (a1*a3 + a1*a4 + a3*a4),
519
520   x1 + x2 + x3 + x4 + (a1 + a3 + a4),
521
522                    2
523   (a2 - a4)*x2 - x3  - (a1 - a2 + a3 + 2*a4)*x3
524
525                                   2                                   2
526    + (a1*a2 - a1*a3 - 2*a1*a4 - a2  + a2*a3 + 3*a2*a4 - 2*a3*a4 - 2*a4 ),
527
528     3                    2
529   x3  + (a1 + a3 + a4)*x3  + (a1*a3 + a1*a4 + a3*a4)*x3 - a1*a3*a4,
530
531   x4 + (a2 - a4)}},
532
533       2                                  2     3     2          2
534 {a1*a2  - a1*a2*a3 - 3*a1*a2*a4 + 2*a1*a4  - a2  + a2 *a3 + 4*a2 *a4
535
536                         2          2       3
537   - 3*a2*a3*a4 - 5*a2*a4  + 2*a3*a4  + 2*a4  = 0 and a2 - a4 = 0,
538
539  {x1*x3*x4 - a1*a3*a4,
540
541   x1*x3 + x1*x4 + x2*x3 + x3*x4 - (a1*a3 + a1*a4 + a3*a4),
542
543   x1 + x2 + x3 + x4 + (a1 + a3 + a4),
544
545        2
546    - x3  - (a1 - a2 + a3 + 2*a4)*x3
547
548                                   2                                   2
549    + (a1*a2 - a1*a3 - 2*a1*a4 - a2  + a2*a3 + 3*a2*a4 - 2*a3*a4 - 2*a4 ),
550
551   x4 + (a2 - a4)}}}
552
553torder oo;
554
555
556{{x1,x2,x3,x4},lex}
557
558
559% Pesch's example (Circle through three points)
560oo := torder({y,x},revgradlex);
561
562
563oo := {{},lex}
564
565gsys({2*b2*y + 2*a2*x - b2**2 + a2**2,2*b1*y + 2*a1*x - b1**2 + a1**2});
566
567
568    2           2
569{{a1 *a2 - a1*a2  <> 0 and a1 <> 0 and a2 <> 0 and b1 = 0 and b2 = 0,
570
571     2           2        2        2
572  {a1 *a2 - a1*a2  + a1*b2  - a2*b1 }},
573
574    2        2        2           2
575 {a1 *b2 - a2 *b1 - b1 *b2 + b1*b2  <> 0 and b1 <> 0 and b2 <> 0
576
577   and a1*b2 - a2*b1 = 0,
578
579     2        2        2           2
580  {a1 *b2 - a2 *b1 - b1 *b2 + b1*b2 }},
581
582 {a1*b2 - a2*b1 <> 0 and b1 <> 0 and b2 <> 0,
583
584                            2     2
585  {(2*b1)*y + (2*a1)*x + (a1  - b1 ),
586
587                            2     2
588   (2*b2)*y + (2*a2)*x + (a2  - b2 ),
589
590                              2        2        2           2
591   (2*a1*b2 - 2*a2*b1)*x + (a1 *b2 - a2 *b1 - b1 *b2 + b1*b2 )}},
592
593                            2           2
594 {a1 <> 0 and a2 <> 0 and a1 *a2 - a1*a2  = 0 and b1 = 0 and b2 = 0,
595
596                 2     2
597  {(2*a1)*x + (a1  - b1 ),
598
599                 2     2
600   (2*a2)*x + (a2  - b2 )}},
601
602 {a1 <> 0 and b2 <> 0 and b1 = 0,
603
604                            2     2
605  {(2*b2)*y + (2*a2)*x + (a2  - b2 ),
606
607                 2     2
608   (2*a1)*x + (a1  - b1 )}},
609
610 {a1 <> 0 and a2 = 0 and b1 = 0 and b2 = 0,
611
612                 2     2
613  {(2*a1)*x + (a1  - b1 )}},
614
615 {a2 <> 0 and b1 <> 0 and b2 = 0,
616
617                            2     2
618  {(2*b1)*y + (2*a1)*x + (a1  - b1 ),
619
620                 2     2
621   (2*a2)*x + (a2  - b2 )}},
622
623 {a2 <> 0 and a1 = 0 and b1 = 0 and b2 = 0,
624
625                 2     2
626  {(2*a2)*x + (a2  - b2 )}},
627
628                            2        2        2           2
629 {b1 <> 0 and b2 <> 0 and a1 *b2 - a2 *b1 - b1 *b2 + b1*b2  = 0
630
631   and a1*b2 - a2*b1 = 0,
632
633                            2     2
634  {(2*b1)*y + (2*a1)*x + (a1  - b1 ),
635
636                            2     2
637   (2*b2)*y + (2*a2)*x + (a2  - b2 )}},
638
639 {b1 <> 0 and a2 = 0 and b2 = 0,
640
641                            2     2
642  {(2*b1)*y + (2*a1)*x + (a1  - b1 )}},
643
644 {b2 <> 0 and a1 = 0 and b1 = 0,
645
646                            2     2
647  {(2*b2)*y + (2*a2)*x + (a2  - b2 )}},
648
649 {a1 = 0 and a2 = 0 and b1 = 0 and b2 = 0,{}}}
650
651torder oo;
652
653
654{{y,x},revgradlex}
655
656
657% Effelterre's example (Aspect graphs)
658f1 := -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+
65924*v1*v2-4*v1**2*u-4*v2**2*v**2+24*v2**2*v-24*v1*u*v2+8*v*v1*u*v2$
660
661
662f2 := 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$
663
664
665f3 := 16*v-48*u+16*v*v1**2-48*u*v2**2-12*v1**2*u+4*v2**2*v-36*v*v1*v2+
66612*v1*u*v2+12*v*v2**2*u-
66780*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+
66812*v2*v**2*v1-12*v1*u**2*v2$
669
670
671f4 := -160u*v2-1596v2**2+3200*v2-1596-4*u**2+160*u$
672
673
674
675% Special case I2, v1=0
676oo := torder({v,u},lex);
677
678
679oo := {{},lex}
680
681gsys(sub(v1=0,{f1,f2,f4}));
682
683
684                  16                   15                    14
685{{1000557799569*v2   - 8971728968760*v2   + 32332553961916*v2
686
687                      13                    12                   11
688   - 56816638983720*v2   + 43557281160966*v2   - 2232864400680*v2
689
690                     10                    9                    8
691   - 2141149653636*v2   - 24710286679320*v2  + 22557177598385*v2
692
693                     7                   6                   5
694   - 4364899181280*v2  + 1970637124608*v2  - 2915313822720*v2
695
696                     4                   3                  2
697   + 1467702460416*v2  - 1340557025280*v2  + 685570158592*v2  - 140796887040*v2
698
699                                  7            6            5           4
700   + 63647907840 <> 0 and 55175*v2  - 184787*v2  + 144885*v2  + 44895*v2
701
702             3           2
703   - 13020*v2  - 35580*v2  + 320*v2 - 6368 <> 0,
704
705                   16                   15                    14
706  {1000557799569*v2   - 8971728968760*v2   + 32332553961916*v2
707
708                       13                    12                   11
709    - 56816638983720*v2   + 43557281160966*v2   - 2232864400680*v2
710
711                      10                    9                    8
712    - 2141149653636*v2   - 24710286679320*v2  + 22557177598385*v2
713
714                      7                   6                   5
715    - 4364899181280*v2  + 1970637124608*v2  - 2915313822720*v2
716
717                      4                   3                  2
718    + 1467702460416*v2  - 1340557025280*v2  + 685570158592*v2  - 140796887040*v2
719
720    + 63647907840}},
721
722            8              7              6             5             4
723 {3389663*v2  - 14658420*v2  + 20230730*v2  - 6945060*v2  - 3218385*v2
724
725              3             2                                       7
726   - 497040*v2  + 1656704*v2  - 257280*v2 + 255872 <> 0 and 55175*v2
727
728              6            5           4           3           2
729   - 184787*v2  + 144885*v2  + 44895*v2  - 13020*v2  - 35580*v2  + 320*v2 - 6368
730
731   = 0,
732
733             8              7              6             5             4
734  {3389663*v2  - 14658420*v2  + 20230730*v2  - 6945060*v2  - 3218385*v2
735
736               3             2
737    - 497040*v2  + 1656704*v2  - 257280*v2 + 255872}},
738
739          7            6            5           4           3           2
740 {55175*v2  - 184787*v2  + 144885*v2  + 44895*v2  - 13020*v2  - 35580*v2
741
742                                            16                   15
743   + 320*v2 - 6368 <> 0 and 1000557799569*v2   - 8971728968760*v2
744
745                      14                    13                    12
746   + 32332553961916*v2   - 56816638983720*v2   + 43557281160966*v2
747
748                     11                   10                    9
749   - 2232864400680*v2   - 2141149653636*v2   - 24710286679320*v2
750
751                      8                   7                   6
752   + 22557177598385*v2  - 4364899181280*v2  + 1970637124608*v2
753
754                     5                   4                   3
755   - 2915313822720*v2  + 1467702460416*v2  - 1340557025280*v2
756
757                    2
758   + 685570158592*v2  - 140796887040*v2 + 63647907840 = 0,
759
760      2       2        2           2                         2
761  {(v2  + 1)*v  - (6*v2  + 6)*v + u  - (10*v2 + 2)*u + (25*v2  + 10*v2 + 1),
762
763      2       2      2      2
764   (v2  + 4)*v  + 4*u  - (v2  + 4),
765
766        4        2                  3         2
767   (6*v2  + 30*v2  + 24)*v - (110*v2  - 122*v2  - 40*v2 - 8)*u
768
769              4          3          2
770    - (1223*v2  - 2390*v2  + 1303*v2  + 40*v2 + 8),
771
772    2                           2
773   u  + (40*v2 - 40)*u + (399*v2  - 800*v2 + 399),
774
775             7            6            5            4           3            2
776   (220700*v2  - 739148*v2  + 579540*v2  + 179580*v2  - 52080*v2  - 142320*v2
777
778                                       8              7              6
779     + 1280*v2 - 25472)*u + (3389663*v2  - 14658420*v2  + 20230730*v2
780
781                   5             4            3             2
782       - 6945060*v2  - 3218385*v2  - 497040*v2  + 1656704*v2  - 257280*v2
783
784       + 255872)}},
785
786            8              7              6             5             4
787 {3389663*v2  - 14658420*v2  + 20230730*v2  - 6945060*v2  - 3218385*v2
788
789              3             2                                      7
790   - 497040*v2  + 1656704*v2  - 257280*v2 + 255872 = 0 and 55175*v2
791
792              6            5           4           3           2
793   - 184787*v2  + 144885*v2  + 44895*v2  - 13020*v2  - 35580*v2  + 320*v2 - 6368
794
795   = 0,
796
797      2       2        2           2                         2
798  {(v2  + 1)*v  - (6*v2  + 6)*v + u  - (10*v2 + 2)*u + (25*v2  + 10*v2 + 1),
799
800      2       2      2      2
801   (v2  + 4)*v  + 4*u  - (v2  + 4),
802
803        4        2                  3         2
804   (6*v2  + 30*v2  + 24)*v - (110*v2  - 122*v2  - 40*v2 - 8)*u
805
806              4          3          2
807    - (1223*v2  - 2390*v2  + 1303*v2  + 40*v2 + 8),
808
809    2                           2
810   u  + (40*v2 - 40)*u + (399*v2  - 800*v2 + 399)}}}
811
812torder oo;
813
814
815{{v,u},lex}
816
817clear f1,f2,f3,f4;
818
819
820
821% Sit's Example 2.2
822oo := torder({z2,z2},revgradlex);
823
824
825oo := {{},lex}
826
827gsys({d*z2 + c*z1 - v,b*z2 + a*z1 - u});
828
829
830{{a*d*z1 - b*c*z1 + b*v - d*u <> 0 and b <> 0 and d <> 0,
831
832  {a*d*z1 - b*c*z1 + b*v - d*u}},
833
834 {a*z1 - u <> 0 and b = 0,{a*z1 - u}},
835
836 {b <> 0 and c*z1 - v <> 0 and d = 0,
837
838  {c*z1 - v}},
839
840 {b <> 0 and d <> 0 and a*d*z1 - b*c*z1 + b*v - d*u = 0,
841
842  {b*z2 + (a*z1 - u),d*z2 + (c*z1 - v)}},
843
844 {b <> 0 and c*z1 - v = 0 and d = 0,
845
846  {b*z2 + (a*z1 - u)}},
847
848 {c*z1 - v <> 0 and a*z1 - u = 0 and b = 0 and d = 0,
849
850  {c*z1 - v}},
851
852 {d <> 0 and a*z1 - u = 0 and b = 0,
853
854  {d*z2 + (c*z1 - v)}},
855
856 {a*z1 - u = 0 and b = 0 and c*z1 - v = 0 and d = 0,
857
858  {}}}
859
860torder oo;
861
862
863{{z2,z2},revgradlex}
864
865
866% Sit's Example 2.3
867oo := torder({z2,z2},revgradlex);
868
869
870oo := {{},lex}
871
872gsys({x**3*z2 + (x**2+1)*z1,x**2*z2 + x*z1 - 1});
873
874
875{{x + z1 <> 0 and x <> 0,{x + z1}},
876
877 {x <> 0 and x + z1 = 0,
878
879    3        2           2
880  {x *z2 + (x *z1 + z1),x *z2 + (x*z1 - 1)}},
881
882                      2
883 {z1 <> 0 and x = 0,{x *z1 + z1}},
884
885 {x = 0 and z1 = 0,{x*z1 - 1}}}
886
887torder oo;
888
889
890{{z2,z2},revgradlex}
891
892
893% Sit's Example 3.3
894oo := torder({z3,z2,z2},revgradlex);
895
896
897oo := {{},lex}
898
899gsys({z3 + b*z2 + a*z1 - 1,a*z3 + z2 + b*z1 - 1,b*z3 + a*z2 + z1 - 1});
900
901
902   3       2                         3       2                            2
903{{a *z1 - a  - 3*a*b*z1 + a*b + a + b *z1 - b  + b + z1 - 1 <> 0 and a - b  <> 0
904
905   and a <> 0 and b <> 0,
906
907    3       2                         3       2
908  {a *z1 - a  - 3*a*b*z1 + a*b + a + b *z1 - b  + b + z1 - 1}},
909
910   3       2
911 {a *z1 - a  + a + z1 - 1 <> 0 and a <> 0 and b = 0,
912
913    3       2
914  {a *z1 - a  - 2*a*b*z1 + a*b + a + z1 - 1}},
915
916   2
917 {a *z1 - a - b*z1 + 1 <> 0 and a <> 0 and b <> 0 and a*b*z1 - b - z1 + 1 = 0
918
919                            2
920   and a*b - 1 = 0 and a - b  = 0,
921
922    2
923  {a *z1 - a - b*z1 + 1}},
924
925                                                          2
926 {a*b*z1 - b - z1 + 1 <> 0 and a <> 0 and b <> 0 and a - b  = 0,
927
928  { - (a*b*z1 - b - z1 + 1)}},
929
930                                                                          2
931 {a*b - 1 <> 0 and a <> 0 and b <> 0 and a*b*z1 - b - z1 + 1 = 0 and a - b  = 0,
932
933  {z3 + b*z2 + (a*z1 - 1),
934
935   b*z3 + a*z2 + (z1 - 1),
936
937   a*z3 + z2 + (b*z1 - 1),
938
939                    2
940   (a*b - 1)*z2 + (a *z1 - a - b*z1 + 1)}},
941
942       2
943 {a - b  <> 0 and a <> 0 and b <> 0
944
945        3       2                         3       2
946   and a *z1 - a  - 3*a*b*z1 + a*b + a + b *z1 - b  + b + z1 - 1 = 0,
947
948  {z3 + b*z2 + (a*z1 - 1),
949
950   b*z3 + a*z2 + (z1 - 1),
951
952   a*z3 + z2 + (b*z1 - 1),
953
954         2
955   (a - b )*z2 - (a*b*z1 - b - z1 + 1)}},
956
957                         2
958 {a <> 0 and b <> 0 and a *z1 - a - b*z1 + 1 = 0 and a*b*z1 - b - z1 + 1 = 0
959
960                            2
961   and a*b - 1 = 0 and a - b  = 0,
962
963  {z3 + b*z2 + (a*z1 - 1),
964
965   b*z3 + a*z2 + (z1 - 1),
966
967   a*z3 + z2 + (b*z1 - 1)}},
968
969              3       2
970 {a <> 0 and a *z1 - a  + a + z1 - 1 = 0 and b = 0,
971
972  {z3 + b*z2 + (a*z1 - 1),
973
974   a*z3 + z2 + (b*z1 - 1),
975
976   a*z2 + (z1 - 1)}},
977
978   3       2
979 {b *z1 - b  + b + z1 - 1 <> 0 and b <> 0 and a = 0,
980
981                   3       2
982  {2*a*b*z1 - a - b *z1 + b  - b - z1 + 1}},
983
984                        3       2
985 {b <> 0 and a = 0 and b *z1 - b  + b + z1 - 1 = 0,
986
987  {z3 + b*z2 + (a*z1 - 1),
988
989   b*z3 + a*z2 + (z1 - 1),
990
991   z2 + (b*z1 - 1)}},
992
993 {z1 - 1 <> 0 and a = 0 and b = 0,{z1 - 1}},
994
995 {a = 0 and b = 0 and z1 - 1 = 0,
996
997  {z3 + b*z2 + (a*z1 - 1),z2 + (b*z1 - 1)}}}
998
999torder oo;
1000
1001
1002{{z3,z2,z2},revgradlex}
1003
1004
1005% Sit's Example 8.3
1006oo := torder({z4,z3,z2,z2},revgradlex);
1007
1008
1009oo := {{},lex}
1010
1011gsys({z4 + c*z3 + b*z2 + a*z1 - w2,2*z4 + z2 - w1,a*z4 - z3 - w4,d*z4 + z3 +
10122*z1 - w3,z4 + z1 - w5});
1013
1014
1015   3         2           2  2         2  2       2           2         2
1016{{a *c*z1 + a *b*c*w1 + a *c *w3 - 2*a *c *z1 + a *c*d*z1 - a *c*w2 + a *z1
1017
1018                                                                     2
1019   + 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
1020
1021   - 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
1022
1023   - 2*b*w4 + 4*b*z1 - c*d*w4 - d*w2 + w3 + w4 - 2*z1 <> 0 and a*b + b*d <> 0
1024
1025   and a*c + 1 <> 0 and a <> 0 and d <> 0,
1026
1027    3         2           2  2         2  2       2           2         2
1028  {a *c*z1 + a *b*c*w1 + a *c *w3 - 2*a *c *z1 + a *c*d*z1 - a *c*w2 + a *z1
1029
1030                                                                      2
1031    + 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
1032
1033    - 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
1034
1035    - 2*b*w4 + 4*b*z1 - c*d*w4 - d*w2 + w3 + w4 - 2*z1}},
1036
1037   2  2       2  2       2                                                2
1038 {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
1039
1040   - a*c*w2 + 2*a*c*w5 - 2*a*c*z1 + a*z1 + b*w1 - 2*b*w5 + 2*b*z1 - c*w4 - w2
1041
1042   + w5 - z1 <> 0 and a*c - 2*b + 1 <> 0 and a*c + 1 <> 0 and a <> 0 and d <> 0
1043
1044       2
1045  and a *z1 + a*c*w3 - 2*a*c*z1 + a*d*z1 - a*w2 - c*d*w4 - d*w2 + w3 + w4 - 2*z1
1046
1047   = 0 and a*b + b*d = 0,
1048
1049    2  2       2  2       2                                                2
1050  {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
1051
1052    - a*c*w2 + 2*a*c*w5 - 2*a*c*z1 + a*z1 + b*w1 - 2*b*w5 + 2*b*z1 - c*w4 - w2
1053
1054    + w5 - z1}},
1055
1056   2           2
1057 {a *c*d*z1 - a *z1 + a*b*c*d*w1 - 2*a*b*c*w3 + 4*a*b*c*z1 - a*b*w1 - a*c*d*w2
1058
1059   + a*w2 + 2*b*w4 + c*d*w4 - w4 <> 0 and a*b <> 0 and a*c*d - a <> 0 and a <> 0
1060
1061   and d <> 0 and a*c + 1 = 0,
1062
1063    2           2
1064  {a *c*d*z1 - a *z1 + a*b*c*d*w1 - 2*a*b*c*w3 + 4*a*b*c*z1 - a*b*w1 - a*c*d*w2
1065
1066    + a*w2 + 2*b*w4 + c*d*w4 - w4}},
1067
1068   2         2
1069 {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
1070
1071   - a*z1 + d*w5 - d*z1 - w3 - w4 + 2*z1 <> 0 and a*b + b*d <> 0
1072
1073                                               3         2           2  2
1074   and a*c + 1 <> 0 and a <> 0 and d <> 0 and a *c*z1 + a *b*c*w1 + a *c *w3
1075
1076        2  2       2           2         2
1077   - 2*a *c *z1 + a *c*d*z1 - a *c*w2 + a *z1 + a*b*c*d*w1 - 2*a*b*c*w3
1078
1079                                           2
1080   - 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
1081
1082   - 4*a*c*z1 + a*d*z1 - a*w2 + b*d*w1 - 2*b*w3 - 2*b*w4 + 4*b*z1 - c*d*w4
1083
1084   - d*w2 + w3 + w4 - 2*z1 = 0,
1085
1086    2         2
1087  {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
1088
1089    - a*z1 + d*w5 - d*z1 - w3 - w4 + 2*z1}},
1090
1091   2
1092 {a *z1 + a*b*w1 - 2*a*b*w5 + 2*a*b*z1 - a*w2 + w4 <> 0 and a*b*c <> 0
1093
1094   and a*b <> 0 and a <> 0 and d <> 0 and a*c*d - a = 0 and a*c + 1 = 0
1095
1096   and a*w3 - 2*a*z1 - d*w4 = 0,
1097
1098    2
1099  {a *z1 + a*b*w1 - 2*a*b*w5 + 2*a*b*z1 - a*w2 + w4}},
1100
1101   2
1102 {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
1103
1104   - 2*z1 <> 0 and a*b <> 0 and a <> 0 and d = 0,
1105
1106    2
1107  {a *z1 + a*b*w1 + a*c*w3 - 2*a*c*z1 - a*w2 - 2*b*w3 - 2*b*w4 + 4*b*z1 + w3
1108
1109    + w4 - 2*z1}},
1110
1111   2
1112 {a *z1 + a*b*w1 - a*w2 - 2*b*w4 + w4 <> 0 and a*b <> 0 and a <> 0 and d <> 0
1113
1114   and a*b*c = 0 and a*c*d - a = 0 and a*c + 1 = 0 and a*w3 - 2*a*z1 - d*w4 = 0,
1115
1116    2
1117  {a *z1 + a*b*w1 - a*w2 - 2*b*w4 + w4}},
1118
1119   2
1120 {a *z1 + a*c*w3 - 2*a*c*z1 + a*d*z1 - a*w2 - c*d*w4 - d*w2 + w3 + w4 - 2*z1
1121
1122   <> 0 and a*c + 1 <> 0 and a <> 0 and d <> 0 and a*b + b*d = 0,
1123
1124    2
1125  {a *z1 + a*c*w3 - 2*a*c*z1 + a*d*z1 - a*w2 - c*d*w4 - d*w2 + w3 + w4 - 2*z1}},
1126
1127   2
1128 {a *z1 + a*c*w3 - 2*a*c*z1 - a*w2 + w3 + w4 - 2*z1 <> 0 and a <> 0 and a*b = 0
1129
1130   and d = 0,
1131
1132    2
1133  {a *z1 + a*c*w3 - 2*a*c*z1 - a*w2 + w3 + w4 - 2*z1}},
1134
1135   2
1136 {a *z1 - a*w2 + w4 <> 0 and a <> 0 and d <> 0 and a*b = 0 and a*c + 1 = 0,
1137
1138    2
1139  {a *z1 - a*w2 + w4}},
1140
1141 {a*b*c <> 0 and a*b <> 0 and a <> 0 and d <> 0
1142
1143        2
1144   and a *z1 + a*b*w1 - 2*a*b*w5 + 2*a*b*z1 - a*w2 + w4 = 0 and a*c*d - a = 0
1145
1146   and a*c + 1 = 0 and a*w3 - 2*a*z1 - d*w4 = 0,
1147
1148  {z4 + c*z3 + b*z2 + (a*z1 - w2),
1149
1150   a*z4 - z3 - w4,
1151
1152   d*z4 + z3 - (w3 - 2*z1),
1153
1154   2*z4 + z2 - w1,
1155
1156   z4 - (w5 - z1),
1157
1158                    2
1159   (2*a*b*c)*z3 + (a *z1 + a*b*w1 - a*w2 - 2*b*w4 + w4),
1160
1161                2
1162   (a*b)*z2 + (a *z1 - a*w2 + w4)}},
1163
1164                                                             3         2
1165 {a*b + b*d <> 0 and a*c + 1 <> 0 and a <> 0 and d <> 0 and a *c*z1 + a *b*c*w1
1166
1167      2  2         2  2       2           2         2
1168   + a *c *w3 - 2*a *c *z1 + a *c*d*z1 - a *c*w2 + a *z1 + a*b*c*d*w1
1169
1170                                                        2
1171   - 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
1172
1173   + 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
1174
1175                                                      2         2
1176   + 4*b*z1 - c*d*w4 - d*w2 + w3 + w4 - 2*z1 = 0 and a *c*w5 - a *c*z1
1177
1178   + a*c*d*w5 - a*c*d*z1 - a*c*w3 - a*c*w4 + 2*a*c*z1 + a*w5 - a*z1 + d*w5
1179
1180   - d*z1 - w3 - w4 + 2*z1 = 0,
1181
1182  {z4 + c*z3 + b*z2 + (a*z1 - w2),
1183
1184   a*z4 - z3 - w4,
1185
1186   d*z4 + z3 - (w3 - 2*z1),
1187
1188   2*z4 + z2 - w1,
1189
1190   z4 - (w5 - z1),
1191
1192                               2
1193   (a*c + 1)*z3 + (a*b)*z2 + (a *z1 - a*w2 + w4),
1194
1195                      2
1196   (a*b + b*d)*z2 + (a *z1 + a*c*w3 - 2*a*c*z1 + a*d*z1 - a*w2 - c*d*w4 - d*w2
1197
1198       + w3 + w4 - 2*z1)}},
1199
1200 {a*b <> 0 and a*c*d*w5 - a*c*d*z1 - a*c*w3 + 2*a*c*z1 - a*w5 + a*z1 + w4 <> 0
1201
1202                                                 2           2
1203   and a*c*d - a <> 0 and a <> 0 and d <> 0 and a *c*d*z1 - a *z1 + a*b*c*d*w1
1204
1205   - 2*a*b*c*w3 + 4*a*b*c*z1 - a*b*w1 - a*c*d*w2 + a*w2 + 2*b*w4 + c*d*w4 - w4
1206
1207   = 0 and a*c + 1 = 0,
1208
1209  {a*c*d*w5 - a*c*d*z1 - a*c*w3 + 2*a*c*z1 - a*w5 + a*z1 + w4}},
1210
1211                                                         2           2
1212 {a*b <> 0 and a*c*d - a <> 0 and a <> 0 and d <> 0 and a *c*d*z1 - a *z1
1213
1214   + a*b*c*d*w1 - 2*a*b*c*w3 + 4*a*b*c*z1 - a*b*w1 - a*c*d*w2 + a*w2 + 2*b*w4
1215
1216   + c*d*w4 - w4 = 0
1217
1218   and a*c*d*w5 - a*c*d*z1 - a*c*w3 + 2*a*c*z1 - a*w5 + a*z1 + w4 = 0
1219
1220   and a*c + 1 = 0,
1221
1222  {z4 + c*z3 + b*z2 + (a*z1 - w2),
1223
1224   a*z4 - z3 - w4,
1225
1226   d*z4 + z3 - (w3 - 2*z1),
1227
1228   2*z4 + z2 - w1,
1229
1230   z4 - (w5 - z1),
1231
1232   (a*c*d - a)*z3 + (a*w3 - 2*a*z1 - d*w4),
1233
1234                2
1235   (a*b)*z2 + (a *z1 - a*w2 + w4)}},
1236
1237 {a*b <> 0 and a*w3 - 2*a*z1 - d*w4 <> 0 and a <> 0 and d <> 0 and a*c*d - a = 0
1238
1239   and a*c + 1 = 0,
1240
1241  {a*w3 - 2*a*z1 - d*w4}},
1242
1243                                                                 2
1244 {a*b <> 0 and a*w5 - a*z1 - w3 - w4 + 2*z1 <> 0 and a <> 0 and a *z1 + a*b*w1
1245
1246   + a*c*w3 - 2*a*c*z1 - a*w2 - 2*b*w3 - 2*b*w4 + 4*b*z1 + w3 + w4 - 2*z1 = 0
1247
1248   and d = 0,
1249
1250  {a*w5 - a*z1 - w3 - w4 + 2*z1}},
1251
1252                                      2
1253 {a*b <> 0 and a <> 0 and d <> 0 and a *z1 + a*b*w1 - a*w2 - 2*b*w4 + w4 = 0
1254
1255   and a*b*c = 0 and a*c*d - a = 0 and a*c + 1 = 0 and a*w3 - 2*a*z1 - d*w4 = 0,
1256
1257  {z4 + c*z3 + b*z2 + (a*z1 - w2),
1258
1259   a*z4 - z3 - w4,
1260
1261   d*z4 + z3 - (w3 - 2*z1),
1262
1263   2*z4 + z2 - w1,
1264
1265   z4 - (w5 - z1),
1266
1267   (a*c)*z3 + (a*w5 - a*z1 - w4),
1268
1269                2
1270   (a*b)*z2 + (a *z1 - a*w2 + w4)}},
1271
1272                           2
1273 {a*b <> 0 and a <> 0 and a *z1 + a*b*w1 + a*c*w3 - 2*a*c*z1 - a*w2 - 2*b*w3
1274
1275   - 2*b*w4 + 4*b*z1 + w3 + w4 - 2*z1 = 0 and a*w5 - a*z1 - w3 - w4 + 2*z1 = 0
1276
1277   and d = 0,
1278
1279  {z4 + c*z3 + b*z2 + (a*z1 - w2),
1280
1281   a*z4 - z3 - w4,
1282
1283   2*z4 + z2 - w1,
1284
1285   z4 - (w5 - z1),
1286
1287   z3 - (w3 - 2*z1),
1288
1289                2
1290   (a*b)*z2 + (a *z1 + a*c*w3 - 2*a*c*z1 - a*w2 + w3 + w4 - 2*z1)}},
1291
1292 {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
1293
1294      2  2       2  2       2           2
1295   - c *d *w5 + c *d *z1 + c *d*w3 - 2*c *d*z1 - c*d*w2 + 2*c*d*w5 - 2*c*d*z1
1296
1297   - c*w3 + 2*c*z1 + w2 - w5 + z1 <> 0 and a <> 0 and 2*b + c*d - 1 <> 0
1298
1299                                    2
1300   and c*d - 1 <> 0 and d <> 0 and a *z1 - a*w2 + w4 = 0 and a*b = 0
1301
1302   and a*c + 1 = 0,
1303
1304  {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
1305
1306       2  2       2  2       2           2
1307    - c *d *w5 + c *d *z1 + c *d*w3 - 2*c *d*z1 - c*d*w2 + 2*c*d*w5 - 2*c*d*z1
1308
1309    - c*w3 + 2*c*z1 + w2 - w5 + z1}},
1310
1311 {a*c*w1 + 2*a*z1 - 2*c*w4 + w1 - 2*w2 <> 0 and a*c + 1 <> 0 and a <> 0
1312
1313   and d <> 0 and
1314
1315   2
1316  a *z1 + a*c*w3 - 2*a*c*z1 + a*d*z1 - a*w2 - c*d*w4 - d*w2 + w3 + w4 - 2*z1 = 0
1317
1318   and a*b + b*d = 0 and a*c - 2*b + 1 = 0,
1319
1320  { - (a*c*w1 + 2*a*z1 - 2*c*w4 + w1 - 2*w2)}},
1321
1322                                                                 2  2
1323 {a*c - 2*b + 1 <> 0 and a*c + 1 <> 0 and a <> 0 and d <> 0 and a *c *w5
1324
1325      2  2       2                                                2
1326   - 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
1327
1328   + 2*a*c*w5 - 2*a*c*z1 + a*z1 + b*w1 - 2*b*w5 + 2*b*z1 - c*w4 - w2 + w5 - z1
1329
1330   = 0 and
1331
1332   2
1333  a *z1 + a*c*w3 - 2*a*c*z1 + a*d*z1 - a*w2 - c*d*w4 - d*w2 + w3 + w4 - 2*z1 = 0
1334
1335   and a*b + b*d = 0,
1336
1337  {z4 + c*z3 + b*z2 + (a*z1 - w2),
1338
1339   a*z4 - z3 - w4,
1340
1341   d*z4 + z3 - (w3 - 2*z1),
1342
1343   2*z4 + z2 - w1,
1344
1345   z4 - (w5 - z1),
1346
1347                               2
1348   (a*c + 1)*z3 + (a*b)*z2 + (a *z1 - a*w2 + w4),
1349
1350   (a*c - 2*b + 1)*z2 - (a*c*w1 + 2*a*z1 - 2*c*w4 + w1 - 2*w2)}},
1351
1352 {a*c + 1 <> 0 and a <> 0 and b <> 0 and d <> 0 and
1353
1354   2
1355  a *z1 + a*c*w3 - 2*a*c*z1 + a*d*z1 - a*w2 - c*d*w4 - d*w2 + w3 + w4 - 2*z1 = 0
1356
1357   and a*b + b*d = 0 and a*c*w1 + 2*a*z1 - 2*c*w4 + w1 - 2*w2 = 0
1358
1359   and a*c - 2*b + 1 = 0,
1360
1361  {z4 + c*z3 + b*z2 + (a*z1 - w2),
1362
1363   a*z4 - z3 - w4,
1364
1365   d*z4 + z3 - (w3 - 2*z1),
1366
1367   2*z4 + z2 - w1,
1368
1369   z4 - (w5 - z1),
1370
1371                               2
1372   (a*c + 1)*z3 + (a*b)*z2 + (a *z1 - a*w2 + w4),
1373
1374   b*z2 + (a*c*w5 - a*c*z1 + a*z1 - c*w4 - w2 + w5 - z1)}},
1375
1376 {a*c + 1 <> 0 and a <> 0 and d <> 0 and
1377
1378   2
1379  a *z1 + a*c*w3 - 2*a*c*z1 + a*d*z1 - a*w2 - c*d*w4 - d*w2 + w3 + w4 - 2*z1 = 0
1380
1381   and a*c*w1 + 2*a*z1 - 2*c*w4 + w1 - 2*w2 = 0 and a*c + 1 = 0 and b = 0,
1382
1383  {a*c*w5 - a*c*z1 + a*z1 - c*w4 - w2 + w5 - z1}},
1384
1385 {a*d*z1 + b*d*w1 - 2*b*d*w5 + 2*b*d*z1 - d*w2 + w3 - 2*z1 <> 0 and a <> 0
1386
1387                                               2
1388   and b*c*d <> 0 and b*d <> 0 and d <> 0 and a *z1 - a*w2 + w4 = 0 and a*b = 0
1389
1390   and a*c + 1 = 0 and c*d - 1 = 0,
1391
1392  {a*d*z1 + b*d*w1 - 2*b*d*w5 + 2*b*d*z1 - d*w2 + w3 - 2*z1}},
1393
1394 {a*d*z1 + b*d*w1 - 2*b*w3 + 4*b*z1 - d*w2 + w3 - 2*z1 <> 0 and a <> 0
1395
1396                                2
1397   and b*d <> 0 and d <> 0 and a *z1 - a*w2 + w4 = 0 and a*b = 0 and a*c + 1 = 0
1398
1399   and b*c*d = 0 and c*d - 1 = 0,
1400
1401  {a*d*z1 + b*d*w1 - 2*b*w3 + 4*b*z1 - d*w2 + w3 - 2*z1}},
1402
1403                                                            2
1404 {a*d*z1 - d*w2 + w3 - 2*z1 <> 0 and a <> 0 and d <> 0 and a *z1 - a*w2 + w4 = 0
1405
1406   and a*b = 0 and a*c + 1 = 0 and b*d = 0 and c*d - 1 = 0,
1407
1408  {a*d*z1 - d*w2 + w3 - 2*z1}},
1409
1410 {2*a*z1 - c*d*w1 + 2*c*w3 - 4*c*z1 + w1 - 2*w2 <> 0 and a <> 0 and c*d - 1 <> 0
1411
1412                   2
1413   and d <> 0 and a *z1 - a*w2 + w4 = 0 and a*b = 0 and a*c + 1 = 0
1414
1415   and 2*b + c*d - 1 = 0,
1416
1417  {2*a*z1 - c*d*w1 + 2*c*w3 - 4*c*z1 + w1 - 2*w2}},
1418
1419 {a*z1 + b*w1 - 2*b*w5 + 2*b*z1 + c*w3 - 2*c*z1 - w2 + w5 - z1 <> 0 and a <> 0
1420
1421                         2
1422   and 2*b - 1 <> 0 and a *z1 + a*c*w3 - 2*a*c*z1 - a*w2 + w3 + w4 - 2*z1 = 0
1423
1424   and a*b = 0 and d = 0,
1425
1426  {a*z1 + b*w1 - 2*b*w5 + 2*b*z1 + c*w3 - 2*c*z1 - w2 + w5 - z1}},
1427
1428 {a*z1 - c*d*w5 + c*d*z1 + c*w3 - 2*c*z1 - w2 + w5 - z1 <> 0 and a <> 0
1429
1430                                    2
1431   and c*d - 1 <> 0 and d <> 0 and a *z1 - a*w2 + w4 = 0 and a*b = 0
1432
1433   and a*c + 1 = 0 and 2*a*z1 - c*d*w1 + 2*c*w3 - 4*c*z1 + w1 - 2*w2 = 0
1434
1435   and 2*b + c*d - 1 = 0,
1436
1437  {a*z1 - c*d*w5 + c*d*z1 + c*w3 - 2*c*z1 - w2 + w5 - z1}},
1438
1439                                                     2
1440 {a <> 0 and b*c*d <> 0 and b*d <> 0 and d <> 0 and a *z1 - a*w2 + w4 = 0
1441
1442   and a*b = 0 and a*c + 1 = 0
1443
1444   and a*d*z1 + b*d*w1 - 2*b*d*w5 + 2*b*d*z1 - d*w2 + w3 - 2*z1 = 0
1445
1446   and c*d - 1 = 0,
1447
1448  {z4 + c*z3 + b*z2 + (a*z1 - w2),
1449
1450   a*z4 - z3 - w4,
1451
1452   d*z4 + z3 - (w3 - 2*z1),
1453
1454   2*z4 + z2 - w1,
1455
1456   z4 - (w5 - z1),
1457
1458   (2*b*c*d)*z3 + (a*d*z1 + b*d*w1 - 2*b*w3 + 4*b*z1 - d*w2 + w3 - 2*z1),
1459
1460   (b*d)*z2 + (a*d*z1 - d*w2 + w3 - 2*z1)}},
1461
1462                                      2
1463 {a <> 0 and b*d <> 0 and d <> 0 and a *z1 - a*w2 + w4 = 0 and a*b = 0
1464
1465   and a*c + 1 = 0 and a*d*z1 + b*d*w1 - 2*b*w3 + 4*b*z1 - d*w2 + w3 - 2*z1 = 0
1466
1467   and b*c*d = 0 and c*d - 1 = 0,
1468
1469  {z4 + c*z3 + b*z2 + (a*z1 - w2),
1470
1471   a*z4 - z3 - w4,
1472
1473   d*z4 + z3 - (w3 - 2*z1),
1474
1475   2*z4 + z2 - w1,
1476
1477   z4 - (w5 - z1),
1478
1479   (c*d)*z3 + (d*w5 - d*z1 - w3 + 2*z1),
1480
1481   (b*d)*z2 + (a*d*z1 - d*w2 + w3 - 2*z1)}},
1482
1483 {a <> 0 and 2*b + c*d - 1 <> 0 and c*d - 1 <> 0 and d <> 0
1484
1485        2
1486   and a *z1 - a*w2 + w4 = 0 and a*b = 0 and a*c*d*z1 - a*z1 + b*c*d*w1
1487
1488                                                         2  2       2  2
1489   - 2*b*c*d*w5 + 2*b*c*d*z1 - b*w1 + 2*b*w5 - 2*b*z1 - c *d *w5 + c *d *z1
1490
1491      2           2
1492   + c *d*w3 - 2*c *d*z1 - c*d*w2 + 2*c*d*w5 - 2*c*d*z1 - c*w3 + 2*c*z1 + w2
1493
1494   - w5 + z1 = 0 and a*c + 1 = 0,
1495
1496  {z4 + c*z3 + b*z2 + (a*z1 - w2),
1497
1498   a*z4 - z3 - w4,
1499
1500   d*z4 + z3 - (w3 - 2*z1),
1501
1502   2*z4 + z2 - w1,
1503
1504   z4 - (w5 - z1),
1505
1506   (c*d - 1)*z3 + (b*d)*z2 + (a*d*z1 - d*w2 + w3 - 2*z1),
1507
1508   (2*b + c*d - 1)*z2 + (2*a*z1 - c*d*w1 + 2*c*w3 - 4*c*z1 + w1 - 2*w2)}},
1509
1510 {a <> 0 and 2*b - 1 <> 0
1511
1512        2
1513   and a *z1 + a*c*w3 - 2*a*c*z1 - a*w2 + w3 + w4 - 2*z1 = 0 and a*b = 0
1514
1515   and a*z1 + b*w1 - 2*b*w5 + 2*b*z1 + c*w3 - 2*c*z1 - w2 + w5 - z1 = 0
1516
1517   and d = 0,
1518
1519  {z4 + c*z3 + b*z2 + (a*z1 - w2),
1520
1521   a*z4 - z3 - w4,
1522
1523   2*z4 + z2 - w1,
1524
1525   z4 - (w5 - z1),
1526
1527   z3 - (w3 - 2*z1),
1528
1529   (2*b - 1)*z2 + (2*a*z1 + 2*c*w3 - 4*c*z1 + w1 - 2*w2)}},
1530
1531                                          2
1532 {a <> 0 and c*d - 1 <> 0 and d <> 0 and a *z1 - a*w2 + w4 = 0 and a*b = 0
1533
1534   and a*c + 1 = 0 and 2*a*z1 - c*d*w1 + 2*c*w3 - 4*c*z1 + w1 - 2*w2 = 0
1535
1536   and a*z1 - c*d*w5 + c*d*z1 + c*w3 - 2*c*z1 - w2 + w5 - z1 = 0
1537
1538   and 2*b + c*d - 1 = 0,
1539
1540  {z4 + c*z3 + b*z2 + (a*z1 - w2),
1541
1542   a*z4 - z3 - w4,
1543
1544   d*z4 + z3 - (w3 - 2*z1),
1545
1546   2*z4 + z2 - w1,
1547
1548   z4 - (w5 - z1),
1549
1550   (c*d - 1)*z3 + (b*d)*z2 + (a*d*z1 - d*w2 + w3 - 2*z1)}},
1551
1552                         2
1553 {a <> 0 and d <> 0 and a *z1 - a*w2 + w4 = 0 and a*b = 0 and a*c + 1 = 0
1554
1555   and a*d*z1 - d*w2 + w3 - 2*z1 = 0 and b*d = 0 and c*d - 1 = 0,
1556
1557  {z4 + c*z3 + b*z2 + (a*z1 - w2),
1558
1559   a*z4 - z3 - w4,
1560
1561   d*z4 + z3 - (w3 - 2*z1),
1562
1563   2*z4 + z2 - w1,
1564
1565   z4 - (w5 - z1),
1566
1567   (2*c)*z3 + (2*b - 1)*z2 + (2*a*z1 + w1 - 2*w2),
1568
1569   z2 - (w1 - 2*w5 + 2*z1)}},
1570
1571              2
1572 {a <> 0 and a *z1 + a*c*w3 - 2*a*c*z1 - a*w2 + w3 + w4 - 2*z1 = 0 and a = 0
1573
1574   and 2*b - 1 = 0 and d = 0,
1575
1576  {2*a*z1 + 2*c*w3 - 4*c*z1 + w1 - 2*w2}},
1577
1578 {b*d*w1 - 2*b*w3 - 2*b*w4 + 4*b*z1 - c*d*w4 - d*w2 + w3 + w4 - 2*z1 <> 0
1579
1580   and b*d <> 0 and d <> 0 and a = 0,
1581
1582  {a*d*z1 + b*d*w1 - 2*b*w3 - 2*b*w4 + 4*b*z1 - c*d*w4 - d*w2 + w3 + w4 - 2*z1}}
1583
1584 ,
1585
1586 {b*d <> 0 and d*w5 - d*z1 - w3 - w4 + 2*z1 <> 0 and d <> 0 and a = 0
1587
1588   and b*d*w1 - 2*b*w3 - 2*b*w4 + 4*b*z1 - c*d*w4 - d*w2 + w3 + w4 - 2*z1 = 0,
1589
1590  {d*w5 - d*z1 - w3 - w4 + 2*z1}},
1591
1592 {b*d <> 0 and d <> 0 and a = 0
1593
1594   and b*d*w1 - 2*b*w3 - 2*b*w4 + 4*b*z1 - c*d*w4 - d*w2 + w3 + w4 - 2*z1 = 0
1595
1596   and d*w5 - d*z1 - w3 - w4 + 2*z1 = 0,
1597
1598  {z4 + c*z3 + b*z2 + (a*z1 - w2),
1599
1600   d*z4 + z3 - (w3 - 2*z1),
1601
1602   2*z4 + z2 - w1,
1603
1604   z4 - (w5 - z1),
1605
1606    - z3 - w4,
1607
1608   (b*d)*z2 + (a*d*z1 - c*d*w4 - d*w2 + w3 + w4 - 2*z1)}},
1609
1610 {b*w1 - 2*b*w5 + 2*b*z1 - c*w4 - w2 + w5 - z1 <> 0 and 2*b - 1 <> 0 and d <> 0
1611
1612   and a = 0 and b*d = 0 and c*d*w4 + d*w2 - w3 - w4 + 2*z1 = 0,
1613
1614  {a*z1 + b*w1 - 2*b*w5 + 2*b*z1 - c*w4 - w2 + w5 - z1}},
1615
1616 {b*w1 - 2*b*w5 + 2*b*z1 - c*w4 - w2 + w5 - z1 <> 0 and 2*b - 1 <> 0 and a = 0
1617
1618   and d = 0 and w3 + w4 - 2*z1 = 0,
1619
1620  {a*z1 + b*w1 - 2*b*w5 + 2*b*z1 - c*w4 - w2 + w5 - z1}},
1621
1622 {2*b - 1 <> 0 and d <> 0 and a = 0 and b*d = 0
1623
1624   and b*w1 - 2*b*w5 + 2*b*z1 - c*w4 - w2 + w5 - z1 = 0
1625
1626   and c*d*w4 + d*w2 - w3 - w4 + 2*z1 = 0,
1627
1628  {z4 + c*z3 + b*z2 + (a*z1 - w2),
1629
1630   d*z4 + z3 - (w3 - 2*z1),
1631
1632   2*z4 + z2 - w1,
1633
1634   z4 - (w5 - z1),
1635
1636    - z3 - w4,
1637
1638   (2*b - 1)*z2 + (2*a*z1 - 2*c*w4 + w1 - 2*w2)}},
1639
1640 {2*b - 1 <> 0 and a = 0 and b*w1 - 2*b*w5 + 2*b*z1 - c*w4 - w2 + w5 - z1 = 0
1641
1642   and d = 0 and w3 + w4 - 2*z1 = 0,
1643
1644  {z4 + c*z3 + b*z2 + (a*z1 - w2),
1645
1646   2*z4 + z2 - w1,
1647
1648   z4 - (w5 - z1),
1649
1650    - z3 - w4,
1651
1652   z3 - (w3 - 2*z1),
1653
1654   (2*b - 1)*z2 + (2*a*z1 - 2*c*w4 + w1 - 2*w2)}},
1655
1656 {c*d*w4 + d*w2 - w3 - w4 + 2*z1 <> 0 and d <> 0 and a = 0 and b*d = 0,
1657
1658  {a*d*z1 - c*d*w4 - d*w2 + w3 + w4 - 2*z1}},
1659
1660 {2*c*w4 - w1 + 2*w2 <> 0 and a = 0 and 2*b - 1 = 0 and d = 0
1661
1662   and w3 + w4 - 2*z1 = 0,
1663
1664  {2*a*z1 - 2*c*w4 + w1 - 2*w2}},
1665
1666 {d <> 0 and a = 0 and 2*b - 1 = 0 and c*d*w4 + d*w2 - w3 - w4 + 2*z1 = 0
1667
1668   and d = 0,
1669
1670  {2*a*z1 - 2*c*w4 + w1 - 2*w2}},
1671
1672 {w3 + w4 - 2*z1 <> 0 and a = 0 and d = 0,
1673
1674  {w3 + w4 - 2*z1}},
1675
1676 {a = 0 and 2*b - 1 = 0 and 2*c*w4 - w1 + 2*w2 = 0 and d = 0
1677
1678   and w3 + w4 - 2*z1 = 0,
1679
1680  {z4 + c*z3 + b*z2 + (a*z1 - w2),
1681
1682   2*z4 + z2 - w1,
1683
1684   z4 - (w5 - z1),
1685
1686    - z3 - w4,
1687
1688   z3 - (w3 - 2*z1),
1689
1690   b*z2 + (a*z1 - c*w4 - w2 + w5 - z1)}}}
1691
1692torder oo;
1693
1694
1695{{z4,z3,z2,z2},revgradlex}
1696
1697
1698% Two dimensional transportation problem
1699oo := torder({x33,x32,x31,x23,x22,x21,x13,x12,x11},lex);
1700
1701
1702oo := {{},lex}
1703
1704gsys({x11+x12+x13-a1,x11+x21+x31-b1,x12+x22+x32-b2,x13+x23+x33-b3,
1705x21+x22+x23-a2,x31+x32+x33-a3});
1706
1707
1708{{a1 + a2 + a3 - b1 - b2 - b3 <> 0,
1709
1710  {a1 + a2 + a3 - b1 - b2 - b3}},
1711
1712 {a1 + a2 + a3 - b1 - b2 - b3 = 0,
1713
1714  {x33 + x32 + x31 - a3,
1715
1716   x33 + x23 + x13 - b3,
1717
1718   x32 + x22 + x12 - b2,
1719
1720   x31 + x21 + x11 - b1,
1721
1722   x23 + x22 + x21 - a2,
1723
1724   x13 + x12 + x11 - a1}}}
1725
1726torder oo;
1727
1728
1729{{x33,x32,x31,x23,x22,x21,x13,x12,x11},lex}
1730
1731
1732% Thomas Weis's Example 1
1733oo := torder({x,y,z},lex);
1734
1735
1736oo := {{},lex}
1737
1738gsys({z*y*x-b*y*x-b*z*x+b**2*x-b*z*y+b**2*y+b**2*z-(n3+b**3),
1739z*y*x-a*y*x-a*z*x+a**2*x-a*z*y+a**2*y+a**2*z-(n3+a**3),
1740z*y*x-n1});
1741
1742
1743   3        3
1744{{a *b - a*b  + a*n1 - a*n3 - b*n1 + b*n3 <> 0 and a - b <> 0
1745
1746        2        2
1747   and a *b - a*b  = 0,
1748
1749        3        3
1750  { - (a *b - a*b  + a*n1 - a*n3 - b*n1 + b*n3)}},
1751
1752   2        2
1753 {a *b - a*b  <> 0 and a - b <> 0,
1754
1755                            2              2      2       3
1756  {x*y*z - a*x*y - a*x*z + a *x - a*y*z + a *y + a *z - (a  + n3),
1757
1758                            2              2      2       3
1759   x*y*z - b*x*y - b*x*z + b *x - b*y*z + b *y + b *z - (b  + n3),
1760
1761   x*y*z - n1,
1762
1763                                 2    2                      2    2
1764   (a - b)*x*y + (a - b)*x*z - (a  - b )*x + (a - b)*y*z - (a  - b )*y
1765
1766        2    2        3    3
1767    - (a  - b )*z + (a  - b ),
1768
1769     2        2        2        2        2        2
1770   (a *b - a*b )*x + (a *b - a*b )*y + (a *b - a*b )*z
1771
1772        3        3
1773    - (a *b - a*b  + a*n1 - a*n3 - b*n1 + b*n3),
1774
1775     2        2   2     2        2
1776   (a *b - a*b )*y  + (a *b - a*b )*y*z
1777
1778        3        3                                    2        2   2
1779    - (a *b - a*b  + a*n1 - a*n3 - b*n1 + b*n3)*y + (a *b - a*b )*z
1780
1781        3        3
1782    - (a *b - a*b  + a*n1 - a*n3 - b*n1 + b*n3)*z
1783
1784        3  2    2  3    2       2       2       2
1785    + (a *b  - a *b  + a *n1 - a *n3 - b *n1 + b *n3),
1786
1787     2        2   3     3        3                               2
1788   (a *b - a*b )*z  - (a *b - a*b  + a*n1 - a*n3 - b*n1 + b*n3)*z
1789
1790        3  2    2  3    2       2       2       2           2           2
1791    + (a *b  - a *b  + a *n1 - a *n3 - b *n1 + b *n3)*z - (a *b*n1 - a*b *n1)}},
1792
1793                  3        3                                      2        2
1794 {a - b <> 0 and a *b - a*b  + a*n1 - a*n3 - b*n1 + b*n3 = 0 and a *b - a*b  = 0
1795
1796  ,
1797
1798                            2              2      2       3
1799  {x*y*z - a*x*y - a*x*z + a *x - a*y*z + a *y + a *z - (a  + n3),
1800
1801                            2              2      2       3
1802   x*y*z - b*x*y - b*x*z + b *x - b*y*z + b *y + b *z - (b  + n3),
1803
1804   x*y*z - n1,
1805
1806                                 2    2                      2    2
1807   (a - b)*x*y + (a - b)*x*z - (a  - b )*x + (a - b)*y*z - (a  - b )*y
1808
1809        2    2        3    3
1810    - (a  - b )*z + (a  - b ),
1811
1812              2     2    2                   2     2    2          2    2   2
1813   (a - b)*x*z  - (a  - b )*x*z + (a - b)*y*z  - (a  - b )*y*z - (a  - b )*z
1814
1815        3    2        2    3        3        3
1816    + (a  + a *b - a*b  - b )*z - (a *b - a*b  - a*n3 + b*n3),
1817
1818            2  2     2    2   2       2    2     2     3    2        2    3
1819   (a - b)*y *z  - (a  - b )*y *z - (a  - b )*y*z  + (a  + a *b - a*b  - b )*y*z
1820
1821        2  2      3                      3        3
1822    - (a *b  - a*b  - a*n3 + b*n3)*y - (a *b - a*b  - a*n3 + b*n3)*z
1823
1824        3  2    2  3    2       2
1825    + (a *b  - a *b  - a *n3 + b *n3)}},
1826
1827 {a <> 0 and a - b = 0,
1828
1829                            2              2      2       3
1830  {x*y*z - a*x*y - a*x*z + a *x - a*y*z + a *y + a *z - (a  + n3),
1831
1832                            2              2      2       3
1833   x*y*z - b*x*y - b*x*z + b *x - b*y*z + b *y + b *z - (b  + n3),
1834
1835   x*y*z - n1,
1836
1837                    2              2      2       3
1838   a*x*y + a*x*z - a *x + a*y*z - a *y - a *z + (a  - n1 + n3),
1839
1840        2    2            2    2        2  2     3
1841   a*x*z  - a *x*z + a*y*z  - a *y*z - a *z  + (a  - n1 + n3)*z + a*n1,
1842
1843      2  2    2  2      2    2     3
1844   a*y *z  - a *y *z - a *y*z  + (a  - n1 + n3)*y*z + (a*n1)*y + (a*n1)*z
1845
1846       2
1847    - a *n1}},
1848
1849 {n1 - n3 <> 0 and a = 0 and b = 0,
1850
1851    3
1852  {a  - n1 + n3}},
1853
1854 {a = 0 and b = 0 and n1 - n3 = 0,
1855
1856                            2              2      2       3
1857  {x*y*z - a*x*y - a*x*z + a *x - a*y*z + a *y + a *z - (a  + n3),
1858
1859                            2              2      2       3
1860   x*y*z - b*x*y - b*x*z + b *x - b*y*z + b *y + b *z - (b  + n3),
1861
1862   x*y*z - n1}}}
1863
1864torder oo;
1865
1866
1867{{x,y,z},lex}
1868
1869
1870% Thomas Weis's Example 2
1871oo := torder({z,y,x,w},lex);
1872
1873
1874oo := {{},lex}
1875
1876gsys({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-
1877y+w*x-x-w-(b-1),
1878w*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+
18794*w*y-8*y+4*w*x-8*x-8*w-(c-16),
1880w*x*y*z-a,z+y+x+w-v});
1881
1882
1883{{true,
1884
1885  {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
1886
1887    + x*w - x - w - (b - 1),
1888
1889   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
1890
1891    + 4*y*x + 4*y*w - 8*y + 4*x*w - 8*x - 8*w - (c - 16),
1892
1893   z*y*x*w - a,
1894
1895   z + y + x + w - v,
1896
1897    2      2        2      2                              2
1898   y *x + y *w - 3*y  + y*x  + 2*y*x*w - (v + 3)*y*x + y*w  - (v + 3)*y*w
1899
1900                 2        2      2                              2
1901    + (3*v)*y + x *w - 3*x  + x*w  - (v + 3)*x*w + (3*v)*x - 3*w  + (3*v)*w
1902
1903    + (b - c - 7*v + 15),
1904
1905      2                                2                        2
1906   2*y  + 2*y*x + 2*y*w - (2*v)*y + 2*x  + 2*x*w - (2*v)*x + 2*w  - (2*v)*w
1907
1908    + (a - 2*b + c + 6*v - 14),
1909
1910      3      2            2        2
1911   2*x  + 2*x *w - (2*v)*x  + 2*x*w  - (2*v)*x*w + (a - 2*b + c + 6*v - 14)*x
1912
1913         3          2
1914    + 2*w  - (2*v)*w  + (a - 2*b + c + 6*v - 14)*w - (3*a - 4*b + c + 4*v - 12),
1915
1916      4          3                             2
1917   2*w  - (2*v)*w  + (a - 2*b + c + 6*v - 14)*w  - (3*a - 4*b + c + 4*v - 12)*w
1918
1919    + 2*a}}}
1920
1921torder oo;
1922
1923
1924{{z,y,x,w},lex}
1925
1926
1927end;
1928
1929Tested on x86_64-pc-windows CSL
1930Time (counter 1): 62 ms  plus GC time: 16 ms
1931
1932End of Lisp run after 0.06+0.07 seconds
1933real 0.30
1934user 0.00
1935sys 0.07
1936