> An example in Magma:
> > A := PolynomialRing(Integers(), 2);
> > B := PolynomialRing(Rationals(),2);
> > f := -y^2 - y + x^3 + 7*x + 1;
> > fx := Derivative(f,x);
> > fy := Derivative(f,y);
> >
>
> > // Since the output is 1, I know that there are no generic
> > // singularities.
> >
>
Wow, I'm really surprised at the lukewarm reaction so far.
To me, Groebner Bases over ZZ are essential!
I guess it is a matter of research area. I'm interested
in arithmetic geometry, which basically means that you
pretend that ZZ is a curve and study the geometry of
"varieties" that are finite-