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?



Is the regularity of finitely generated rings decidable?
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](http://stacks.math.columbia.edu/tag/00NU) and hence $R$ is regular but this just means we have found a regular neighbourhood in the original Spec.


