1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293 |
- Sun Aug 18 19:02:06 2002 run on Windows
- % ----------------------------------------------------------------------
- % $Id: cgb.tst,v 1.2 1999/04/13 21:50:44 sturm Exp $
- % ----------------------------------------------------------------------
- % Copyright (c) 1999 Andreas Dolzmann and Thomas Sturm
- % ----------------------------------------------------------------------
- % $Log: cgb.tst,v $
- % 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.
- %
- % ----------------------------------------------------------------------
- % Examples taken from the manual:
- % 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: 12317 ms, plus GC time: 91 ms
|