
restart;
read "CheckCGS.txt";
read "PCGS and MCGS.txt";
read "CGB.txt";



Equ_set := {}; DisEqu_set := {1}; poly_set := {a*x-b, b*y-a, c*y^2-x, c*x^2-y}; Var_set := {x, y}; Para_set := {a, b, c}; VarOrder := tdeg(x, y); ParaOrder := tdeg(a, b, c); C1 := CGS_main(Equ_set, DisEqu_set, poly_set, Var_set, Para_set, VarOrder, ParaOrder); C1B := IdealCGB(Equ_set, DisEqu_set, poly_set, Var_set, Para_set, VarOrder, ParaOrder); r1 := CheckCGS(C1);

Equ_set:={};
DisEqu_set:={1};
poly_set:={a*x+b*x,b^2*x,a*b^2 + b^3};
Var_set:={x};
Para_set:={a,b};
VarOrder:=tdeg(x);
ParaOrder:=tdeg(a,b);
C2:=CGS_main(Equ_set,DisEqu_set,poly_set,Var_set, Para_set,VarOrder,ParaOrder);

r2:=CheckCGS(C2);
C2B:=IdealCGB(Equ_set,DisEqu_set,poly_set,Var_set, Para_set,VarOrder,ParaOrder);


Equ_set:={a};
DisEqu_set:={1};
poly_set:={x+a,x+b};
Var_set:={x};
Para_set:={a,b};
VarOrder:=plex(x);
ParaOrder:=tdeg(a,b);
C3:=CGS_main(Equ_set,DisEqu_set,poly_set,Var_set, Para_set,VarOrder,ParaOrder);

C3B:=IdealCGB(Equ_set,DisEqu_set,poly_set,Var_set, Para_set,VarOrder,ParaOrder);


Equ_set := {}; 
DisEqu_set := {1}; 
Vectors_set:={[u[1]*x[1]-u[2]*x[1]+1, u[1]*x[1]^2*x[2]+u[1]*x[1]+u[2]],[u[2]*x[2]+u[1], u[2]*x[1]^2+u[2]*x[1]+2]};  
Position_set:=[e[1],e[2]];
NewVar_set:={x[1],x[2],e[1],e[2]};
Para_set:={u[1], u[2]}; 
ModOrder:=prod(plex(e[1],e[2]),plex(x[1],x[2]));
ParaOrder:=plex(u[1],u[2]); 
M1:=ModuleCGS(Equ_set, DisEqu_set, Vectors_set, Position_set, NewVar_set, Para_set, ModOrder, ParaOrder); 
M1B:=ModuleCGB(Equ_set, DisEqu_set, Vectors_set, Position_set, NewVar_set, Para_set, ModOrder, ParaOrder); 

T1:=CheckCGS(M1);
Equ_set := {}; 
DisEqu_set := {1}; 
Vectors_set:={[a*x+x^2+1,1,0],[x^2-b,0,1]};  
Position_set:=[e[1],e[2],e[3]];
NewVar_set:={x,e[1],e[2],e[3]};
Para_set:={a,b}; 
ModOrder:=prod(plex(e[1],e[3],e[2]),plex(x));
ParaOrder:=tdeg(a,b); 
M2:=ModuleCGS(Equ_set, DisEqu_set, Vectors_set, Position_set, NewVar_set, Para_set, ModOrder, ParaOrder); 
M2B:=ModuleCGB(Equ_set, DisEqu_set, Vectors_set, Position_set, NewVar_set, Para_set, ModOrder, ParaOrder); 


T2:=CheckCGS(M2);


Equ_set := {}; 
DisEqu_set := {1}; 
Vectors_set:={[a*x+b*x,1,0,0],[b^2*x,0,1,0],[a*b^2 + b^3,0,0,1]};  
Position_set:=[e[1],e[2],e[3],e[4]];
NewVar_set:={x,e[1],e[2],e[3],e[4]};
Para_set:={a,b}; 
ModOrder:=prod(plex(e[1],e[4],e[3],e[2]),plex(x));
ParaOrder:=tdeg(a,b); 
M3:=ModuleCGS(Equ_set, DisEqu_set, Vectors_set, Position_set, NewVar_set, Para_set, ModOrder, ParaOrder); 
M3B:=ModuleCGB(Equ_set, DisEqu_set, Vectors_set, Position_set, NewVar_set, Para_set, ModOrder, ParaOrder); 

T3:=CheckCGS(M3);
Equ_set := {a}; 
DisEqu_set := {1}; 
Vectors_set:={[x+a,1,0],[x+b,0,1]};  
Position_set:={e[1],e[2],e[3]};
NewVar_set:={x,e[1],e[2],e[3]};
Para_set:={a,b}; 
ModOrder:=prod(plex(e[1],e[3],e[2]),plex(x));
ParaOrder:=tdeg(a,b); 
M4:=ModuleCGS(Equ_set, DisEqu_set, Vectors_set, Position_set, NewVar_set, Para_set, ModOrder, ParaOrder); 

M4B:=ModuleCGB(Equ_set, DisEqu_set, Vectors_set, Position_set, NewVar_set, Para_set, ModOrder, ParaOrder); 





