 LIB "zeroset.lib";
ring R = (0,a), x, lp;
minpoly = a2+1;
poly f = x3  a;
def R1 = roots(f);
==>
==> // 'roots' created a new ring which contains the list 'theRoots' and
==> // the polynomials 'f' and 'newA'
==> // To access the roots, newA and the new representation of f, type
==> def R = roots(f); setring R; theRoots; newA; f;
==>
setring R1;
minpoly;
==> (a4a2+1)
newA;
==> (a3)
f;
==> x3+(a3)
theRoots;
==> [1]:
==> (a3)
==> [2]:
==> (a3a)
==> [3]:
==> (a)
map F;
F[1] = theRoots[1];
F(f);
==> 0
