# Is the regularity of finitely generated rings decidable?

Q: Is there an algorithm to decide whether a given finitely generated (over $\mathbb{Z}$) commutative ring is regular?

I mean by regular that the localization at every prime ideal is a regular local ring.

The question arose from my interest in the desingularization problem. To have a desingularization algorithm of arithmetic schemes, one first needs to know the regularity of a given scheme.

The definition of the regularity is point-wise. Naively one has to check the regularity point by point of $\mathrm{Spec}\, R$ for a given ring $R$. It is not an algorithm in the sense that it never halts if $R$ is regular.

If $R$ is defined over a prime filed, $\mathbb{Q}$ or $\mathbb{F}_p$, then one can use the Jacobian criterion: first compute the Jacobian ideal and then check if it is trivial by computing its reduced Gröbner basis. In positive characteristic, one may also use Kunz's criterion in terms of Frobenius maps. As far as I know, there is no such a global criterion for rings over $\mathbb{Z}$. Serre's criterion by the finiteness of global dimension looks global at the first glance. But one needs to know the projective dimensions of infinitely many modules.

So, my guess is that the answer to the question would be NO. Does someone know the answer or related works?

• Just to clarify, I guess that the input is numbers $k,m$ and and $m$ polynomials $P_1,\dots,P_m$ in $\mathbf{Z}[X_1,\dots,X_k]$ and you wish to get YES or NO according to whether the ring $R=\mathbf{Z}[X_1,\dots,X_k]/(P_1,\dots,P_m)$ is regular. Are you suggesting that you at least have an algorithm that answers NO if $R$ is not regular? (which means the problem is at least semidecidable)
– YCor
Oct 16 '14 at 3:45
• You are completely right. The input is the numbers of variables and polynomials and their coefficients. Yes, I guess that the problem is semidecidable. I think that one can index all maximal ideals by natural numbers and check if the localization at each maximal ideal is regular. If $R$ is not regular, then this procedure halts after finitely many times. However I have not tried to make it rigorous. Oct 16 '14 at 5:52
• I can see how to index maximal ideals: enumerate all finite fields and homomorphisms into these finite fields and compute generators for the kernels. This can be done algorithmically. But how do you detect when the localization is not regular?
– YCor
Oct 16 '14 at 9:11
• I thought that one can use this criterion: a local ring $(R,m)$ is regular if and only if the dimension of $R/m$-vector space $m/m^2$ is equal to the Krull dimension. Both $R/m$ and $m/m^2$ are finite sets and I guessed that their structures can be completely determined somehow. But I am not so sure now. I don't know how to compute the Krull dimension of a localization, either. Oct 16 '14 at 12:28

OK, we may assume the ring $R$ is a domain. Using the Jacobian criterion we can get a computable Zariski open $U \subset \text{Spec}(R)$ which is regular. Let $\mathfrak p \subset R$ be a prime ideal corresponding to a generic point of $\text{Spec}(R) \setminus U$.
Let us say there is an algorithm to compute the dimension of $R_\mathfrak p$ and a minimal set of generators $f_1, \ldots, f_c$ of $\mathfrak p R_\mathfrak p$. I think there are even compute algebra packages which will allow you to do so (as well as the other computations below). Of course, it is completely justified to complain that I haven't shown you that one can actually make these computations and I may have overlooked other issues as well.
If $c < \dim(R_\mathfrak p)$, then $R$ is not regular and we are done.
If $c = \dim(R_\mathfrak p)$, then our task is to explicitly find a Zariski open neighbourhood $V$ of $\mathfrak p$ in $\text{Spec}(R)$ which is regular. To do this we may assume (after replacing $R$ by a principal localization) that (a) $\text{Spec}(R) = U \cup V(\mathfrak p)$, (b) $R/\mathfrak p$ is regular (again using some Jacobian criterion), (c) $f_1, \ldots, f_c \in R$, (d) $\mathfrak p = (f_1, \ldots, f_c)$, and (e) $f_1, \ldots, f_c$ is a regular sequence. To achieve (d) and (e) you have to know how to compute cohomology groups of explicitly given complexes of finite module and annihilators of finite modules. Once you have (a) -- (e), then $R$ is regular at every point of $V(\mathfrak p)$ by Tag 00NU and hence $R$ is regular but this just means we have found a regular neighbourhood in the original Spec.
• I like your strategy, which sounds quite probable! But let me ask a question to understand better. I think that many algorithms for polynomial rings over fields are based on the Gröbner basis theory. I don't know to what extent it is generalized to polynomial rings over integers. For instance, is there an algorithm to tell whether an ideal of $\mathbb{Z}[x_1,\dots,x_n]$ with explicit generators is equal to the entire ring? Can you also mention a few softwares to which some of algorithms you suggested might be implemented? Oct 18 '14 at 12:04
• @Yasuda: you can do Gröbner basis over R when you know how to do linear algebra over R (see for instance the survey "Grobner Bases with Coefficients in Rings" by Franz Paue). So in particular when R is an euclidean domain like $\mathbb{Z}$ (of course in practice it will be a lot slower than over a field, and over fields Gröbner basis computation can be quite long already...) At least over $\mathbb{Z}$ it is implemented by Singular (hence Sage) and Magma. Oct 22 '14 at 15:49