Gröbner bases are usually considered in the ring of polynomials over a field. However, there are useful definitions and algorithms for Gröbner bases over other coefficient rings; see, for instance, Chapter 4 of Adams and Loustaunau, *An introduction to Gröbner bases*. Unfortunately, I have had little success tracking down actual implementations that would allow me to compute these Gröbner bases; this may be either because they do not exist, or because I am not familiar enough with programs like Singular and Macaulay2 to identify such algorithms in the documentation.

Are there existing and practical implementations of algorithms to compute Gröbner bases in polynomial rings with coefficients in a general ring? I am, in particular, interested in computing Gröbner bases in the polynomial ring $A[x_1, \dotsc, x_n]$ where the coefficient ring $A$ is a domain of finite type over a field.

**Motivation:** The generic freeness lemma tells us that, given a finite-type morphism $f \colon X \to Y$ of affine noetherian integral schemes, there is a dense open subset $U \subset Y$ such that $f^{-1}(U) \to U$ is flat and surjective. In particular, all the fibers over $U$ necessarily have the same dimension and are ``equivalent up to flat deformation." So, in some sense, a computable version of generic freeness would allow us to classify all the fibers of a morphism (and not just, say, the general fiber).

Such a computable version is described in Vasconcelos' 1997 paper "Flatness testing and torsionfree morphisms," Theorem 2.1, although Vasconcelos gives the impression that this "computable version" was already well-known in certain circles. If we are looking at a ring homomorphism $$A \longrightarrow B = A[T_1,\dotsc,T_n]/I,$$ the only computationally nontrivial part of the algorithm is to compute a Gröbner basis for $I$, in the sense described in this question.

[Qualification 1: If you actually want to compute a stratification, you also need to be able to find the irreducible components of $A/(f)$ so that the next step will have an integral base. This is not computationally trivial, but if $A$ is of finite type over a field, it does have standard implementations, for instance, in Macaulay2.]

[Qualification 2: Judging by the next remark in Vasconcelos' paper, it *may* be possible to get by if you can compute a Gröbner basis for $I$ over the fraction field of $A$. Macaulay2 can do this--I think--but according to the documentation, it is not remotely efficient.]