🤖 AI Summary
This work presents the first formalization in Lean 4’s Mathlib library of Nagata’s criterion for unique factorization domains (UFDs). Addressing an implicit degeneracy condition in the classical statement, we replace the traditional assumption involving “prime elements or units” with a more robust formulation based on submonoids generated by prime elements. This refinement uniformly handles both concrete and abstract localizations. The revised criterion not only corrects and strengthens the original mathematical statement but also enables a successful application to proving that polynomial rings \( R[X] \) and their iterated extensions \( R[X][Y] \) are UFDs. These case studies demonstrate the generality and rigor of our approach, significantly enhancing the expressiveness and scope of formalized algebra within proof assistants.
📝 Abstract
We present a Lean 4 Mathlib formalization of Nagata's factoriality theorem: if R is a noetherian domain and S <= R is a prime-generated submonoid such that S^{-1}R is a UFD, then R itself is a UFD. The prime-generated hypothesis -- every element of S is a finite product of primes belonging to S -- replaces a superficially cleaner but degenerate prime-or-unit condition that the formalization effort exposed. The development packages the theorem both for the concrete type Localization S and through abstract IsLocalization formulations. As applications, we formalize two Nagata-based proofs that R[X] is a UFD whenever R is a noetherian UFD: one via Laurent-polynomial localization at powers of X, and one via localization at the constant primes and identification with Frac(R)[X]. Reusing the same package, we also obtain the iterated polynomial corollary R[X][Y]. No public formalization of this result is known to us in Lean, Coq, or Isabelle.