S1 := [x^2+y^2=1,x+y=0];
with(plots):
implicitplot( S1, x=-2..2, y=-2..2, grid=[100,100] );
_EnvExplicit := true;
solve( S1, {x,y} );
S2 := [z=x*y,y=x^2];
P1 := implicitplot3d( S2, x=-2..2, y=-2..2, z=-2..2, color=[red,blue], style=patchcontour );
solve( S2, {x,y,z} );
P2 := spacecurve( [t,t^2,t^3], t=-1.5..1.5, color=green, thickness=10 );
display([P1,P2]);
S1;
G1 := Groebner[Basis]( S1, plex(x,y) );
S1 := [x^2+y^2-1, x+y];
S3 := [x^2+y^2+z^2-4, x^2-y^2-z^2, x*y-z^2-1];
implicitplot3d( S3, x=-3..3, y=-3..3, z=-3..3, color=[red,green,blue], style=patchcontour );
G2 := Groebner[Basis]( S3, plex(x,y,z) );
G2[1];
factor(G2[1]);
sols := solve( G2[1] = 0, z );
evalf(sols);