//SINGULAR ExampleA.2.14
LIB "algebra.lib";
ring R = 0,(x,y,z),dp;
qring Q = std(z-x2+y3); //quotient ring R/
ring S = 0,(a,b,c,d),dp;
map psi = R,a,a+b,c-a2+d3; //a map from R to S,
//x->a, y->a+b, z->c-a2+d3
is_injective(psi,R);
is_surjective(psi,R);
qring T = std(ideal(d,c-a2+b3)); //quotient ring S/
map chi = Q,a,b,a2-b3; //map Q --> T between two
//quotient rings,
//x->a, y->b, z->a2-b3
is_bijective(chi,Q);