Resolution of Singularities in Characteristic Zero

2.3. Projective morphisms🔗

Lean names in this section are shown relative to AlgebraicGeometry.Scheme, AlgebraicGeometry, CategoryTheory.

Kollár's resolutions are projective morphisms [Kol07, (2) and (3)]. Mathlib has Proj of a graded ring, its functoriality in the ring and sheaves of modules on a scheme with the notion of a quasi-coherent sheaf of finite type, but no projective bundle over a base scheme and no projective morphism. The library defines them as in EGA and the Stacks project: the projective bundle \mathbf{P}(\mathcal{E}) = \operatorname{Proj}_X (\operatorname{Sym} \mathcal{E}) of a quasi-coherent sheaf \mathcal{E} is glued from \operatorname{Proj} of the symmetric algebras of its modules of sections over the affine opens, as the blow-up is glued from the affine blow-ups (The blow-up along an ideal sheaf); a morphism is projective if it is a closed immersion into such a bundle, with \mathcal{E} of finite type, followed by the projection. The resolutions of the theorems are composites of successions of blow-ups, and these are projective.

2.3.1. The symmetric algebra and the projective bundle of a module🔗

Definition2.3.1.1source[Sta, Tag 01OB] ↗
uses 0used by 1✓L∃∀N

Mathlib's SymmetricAlgebra R M is the free commutative R-algebra on an R-module M; the library grades it. The n-th piece SymmetricAlgebra.grading R M n is \operatorname{Sym}^n M = \iota(M)^n, the n-th power of the submodule spanned by the image of M; the lift of the inclusion of M in degree one into the direct sum of the pieces (SymmetricAlgebra.gradedι) splits the inclusion of the direct sum, which makes it a graded algebra (SymmetricAlgebra.gradedAlgebra). The degree-zero piece is R (SymmetricAlgebra.gradingZeroEquiv).

A ring map \varphi \colon R \to S and a \varphi-semilinear map f \colon M \to N induce the graded ring map \operatorname{Sym}_R M \to \operatorname{Sym}_S N, \iota m \mapsto \iota f(m) (SymmetricAlgebra.gradedMap), the lift of m \mapsto \iota f(m) for the R-algebra structure of \operatorname{Sym}_S N along \varphi (SymmetricAlgebra.algebraOfRingHom, SymmetricAlgebra.ιₛₗ).

Lean code for Definition2.3.1.1●7 definitions
Definition2.3.1.2source[Sta, Tag 01OB] ↗
uses 0used by 1✓L∃∀N

The projective bundle of an R-module M is \mathbf{P}(M) = \operatorname{Proj}(\operatorname{Sym}_R M) (affineProjectiveBundle R M), with the structure morphism to \operatorname{Spec} R induced by R \cong \operatorname{Sym}^0 M (affineProjectiveBundle.π). For M = R^n it is projective space \mathbb{P}^{n-1}_R. A ring map \varphi \colon R \to S and a \varphi-semilinear map f \colon M \to N whose image spans N induce \mathbf{P}(N) \to \mathbf{P}(M) over \operatorname{Spec} \varphi (affineProjectiveBundle.map, and affineProjectiveBundle.mapHom for a morphism of CommRingCat): Mathlib's Proj.map of the graded map, whose hypothesis — the irrelevant ideal of \operatorname{Sym}_S N, generated by \iota(N), lies in the ideal generated by the image of that of \operatorname{Sym}_R M — is the spanning.

When f exhibits N as S \otimes_R M, the square of \mathbf{P}(N) \to \mathbf{P}(M) over \operatorname{Spec} S \to \operatorname{Spec} R is cartesian [TSPA, Tag 01N2] (affineProjectiveBundle.isPullback_map). On the chart D_+(\iota x) of \mathbf{P}(M) this is a pushout of rings: the degree-zero part (\operatorname{Sym} M)_{(\iota x)} of the localization at \iota x is the free commutative R-algebra on M with x = 1, its elements being the fractions a / (\iota x)^n, a \in \operatorname{Sym}^n M (SymmetricAlgebra.awayLift, SymmetricAlgebra.isPushout_away).

Lean code for Definition2.3.1.2●4 definitions

2.3.2. The projective bundle of a quasi-coherent sheaf🔗

A sheaf of modules on a scheme X is Mathlib's X.Modules, with Mathlib's notions of a quasi-coherent sheaf (SheafOfModules.IsQuasicoherent) and of a sheaf of finite type (SheafOfModules.IsFiniteType). For a quasi-coherent \mathcal{E} the sections over a basic open D(r) of an affine open V are the localization of those over V at r [TSPA, Tags 01I9 and 01IA], and for affine opens U \subseteq V the sections over U are the base change \Gamma(X, U) \otimes_{\Gamma(X, V)} \Gamma(\mathcal{E}, V) [TSPA, Tags 01I9 and 01IA] (Scheme.Modules.isBaseChange_resₗ): Mathlib's identification of a quasi-coherent sheaf on an affine scheme \operatorname{Spec} R with the sheaf \widetilde{M} of its global sections, read on X. So the projective bundles of the modules of sections glue.

Definition2.3.2.1source[Sta, Tag 01OB] ↗
uses 0used by 1✓L∃∀N

The projective bundle of a quasi-coherent sheaf of modules \mathcal{E} on X is \mathbf{P}(\mathcal{E}) = \operatorname{Proj}_X (\operatorname{Sym} \mathcal{E}) (E.projectiveBundle), with projection E.projectiveBundleπ to X [TSPA, Tag 01OB]. It is glued by the relative gluing lemma [TSPA, Tag 01LH] from the functor projectiveBundleFunctor on the affine opens of X, U \mapsto \mathbf{P}(\Gamma(\mathcal{E}, U)), whose transition maps are induced by the restrictions \Gamma(\mathcal{E}, V) \to \Gamma(\mathcal{E}, U), semilinear along \Gamma(X, V) \to \Gamma(X, U) (Scheme.Modules.restrictionMap), and from the structure morphisms \mathbf{P}(\Gamma(\mathcal{E}, U)) \to \operatorname{Spec} \Gamma(X, U) \cong U (projectiveBundleNatTrans), whose naturality squares are pullbacks by quasi-coherence (projectiveBundleNatTrans_equifibered; projectiveBundleGluingData).

Lean code for Definition2.3.2.1●6 definitions

2.3.3. Projective morphisms🔗

Definition2.3.3.1source[Sta, Tag 01W8] ↗
uses 0used by 1✓L∃∀N

A morphism f \colon X \to Y is projective (IsProjective f) if X is isomorphic over Y to a closed subscheme of the projective bundle \mathbf{P}(\mathcal{E}) of a quasi-coherent \mathcal{O}_Y-module \mathcal{E} of finite type: f is a closed immersion X \to \mathbf{P}(\mathcal{E}) followed by the projection [TSPA, Tag 01W8]. This is Grothendieck's definition, and the reading of Kollár's "projective morphism". Over a base with an ample invertible sheaf, a quasi-projective variety over a field for instance, it agrees with being a closed subscheme of some \mathbb{P}^n_Y [TSPA, Tag 087S]; in general that condition is stronger, while asking the condition only over the members of an open cover of Y, locally projective, is weaker, and Kollár's Example 28.1 is a proper, locally projective morphism that is not projective [Kol07, Example 28.1].

A projective morphism is proper (IsProjective.isProper): \mathbf{P}(\mathcal{E}) \to Y is proper for \mathcal{E} of finite type (as in the proof of [TSPA, Tag 01WC]), being, over an affine open with finitely generated sections, \operatorname{Proj} of a graded algebra generated by finitely many elements of degree one. A blow-up of a locally Noetherian scheme along an ideal sheaf \mathcal{I} is projective (Scheme.IdealSheafData.isProjective_blowUpπ, [TSPA, Tag 02NS]): the surjection \operatorname{Sym} \mathcal{I} \to \bigoplus_n \mathcal{I}^n, the identity of \mathcal{I} in degree one, makes it a closed subscheme of \mathbf{P}(\mathcal{I}), the ideal sheaf being a quasi-coherent sheaf of modules of finite type. As a finite succession of blow-ups of a Noetherian scheme is one blow-up [TSPA, Tag 080B], its composite is projective (Scheme.BlowUpSequence.isProjective_composite).

Lean code for Definition2.3.3.1●1 definition