Definitions/Def_AlgebraicGeometry_ModulesPullbackMonoidal.lean
Monoidality of pullback for sheaves of modules on schemes
Fix a morphism of schemes f\colon X\to Y. Three instances record that the inverse-image functor on opens, (\mathrm{Opens.map}\ f.\mathrm{base})\colon \mathrm{Opens}(Y)\to\mathrm{Opens}(X), preserves binary products (i.e. f^{-1}(V_1\cap V_2)=f^{-1}V_1\cap f^{-1}V_2), preserves the terminal object (f^{-1}(Y)=X), and hence preserves all finite products; since the categories of opens are posets, the required cone comparisons are determined by inequalities.
pullback₀ f is the inverse image of presheaves of modules, Y.\mathrm{PresheafOfModules}\to X.\mathrm{PresheafOfModules}, namely PresheafOfModules.pullback along the comparison map f.c\colon \mathcal{O}_Y\to f_*\mathcal{O}_X read as a morphism \mathcal{O}_Y\to(\mathrm{Opens.map}\ f.\mathrm{base})^{\mathrm{op}}\!\cdot\mathcal{O}_X; it agrees with Mathlib's presheaf-level pullback along the induced morphism of sheaves of rings. Because the functor on opens preserves finite products, pullback₀ f carries a strong monoidal structure: the left adjoint of the lax monoidal pushforward has invertible oplax structure maps.
On the sheaf side, Modules.sheafify Y is recorded as a localization of presheaves of \mathcal{O}_Y-modules at SheafOfModules.presheafW, the class of morphisms whose underlying morphism of presheaves of abelian groups lies in the class J.W for the topology of opens; a Localization.Lifting instance records that f^* on sheaves of modules lifts the composite of pullback₀ f with sheafification on X. Transporting monoidality through this monoidal localization yields the main instance pullback_monoidal: f^*\colon Y.\mathrm{Modules}\to X.\mathrm{Modules} is strong monoidal. The two final definitions name the resulting isomorphisms, f^*(L\otimes M)\cong f^*L\otimes f^*M and f^*\mathcal{O}_Y\cong\mathcal{O}_X, as the inverses of the structural maps \mu and \varepsilon.
Relation to Mathlib
Mathlib supplies the pullback of presheaves and of sheaves of modules, sheafification and the theory of localized monoidal categories; the monoidal structure on sheaves of modules over a scheme and the monoidality of pullback are supplied by this project's definition modules and assembled here for schemes.
Where it is used
These isomorphisms are what makes f^* compatible with tensor products of invertible sheaves, hence what makes pullback induce homomorphisms of Picard groups and keeps rigidified line bundles stable under tensor product; this is used in the construction of the relative Picard functor and the Jacobian of modular curves.
References
- R. Hartshorne, Algebraic Geometry, Graduate Texts in Mathematics 52, Springer, 1977, Chapter II, §5
- S. Mac Lane, Categories for the Working Mathematician, 2nd edition, Graduate Texts in Mathematics 5, Springer, 1998, Chapter VII
References are suggested automatically and have not been individually verified.
English text generated automatically from the Lean source; the Lean statement is authoritative.
- 84 lines
- 10 declarations
- used in the statements of 28 theorems and imported by 241 proofs
- imports 3 definition modules, and the statements of 1 theorems
Source file: Definitions/Def_AlgebraicGeometry_ModulesPullbackMonoidal.lean
Imports
Theorems imported by this definition module
Imported by
Def_AlgebraicGeometry_ModulesProjectionMorphismDef_AlgebraicGeometry_ModulesPullbackMonoidalV2Def_AlgebraicGeometry_RelPicardAbelJacobiFamilyDef_AlgebraicGeometry_RelPicardAlgEquivZeroGroupCutDef_AlgebraicGeometry_RelSubPicGroupDef_AlgebraicGeometry_RigKerDualNumberBaseTransportDef_AlgebraicGeometry_RigidifiedLineBundleOfInvertible
Declarations
- instance
AlgebraicGeometry.Scheme.Modules.preservesBinaryProducts_opensMap - instance
AlgebraicGeometry.Scheme.Modules.preservesTerminal_opensMap - instance
AlgebraicGeometry.Scheme.Modules.preservesFiniteProducts_opensMap - abbrev
AlgebraicGeometry.Scheme.Modules.pullback₀ - instance
AlgebraicGeometry.Scheme.Modules.pullback₀_monoidal - instance
AlgebraicGeometry.Scheme.Modules.sheafify_isLocalization' - instance
AlgebraicGeometry.Scheme.Modules.pullback_monoidal - def
AlgebraicGeometry.Scheme.Modules.pullbackTensorObjIso - def
AlgebraicGeometry.Scheme.Modules.pullbackTensorUnitObjIso
Source
import Mathlib import Definitions.Def_PresheafOfModules_InternalHom import Theorems.Thm_PresheafOfModules_isMonoidal_inverseImage_W_toPresheaf import Definitions.Def_SheafOfModules_Monoidal import Definitions.Def_PresheafOfModules_PullbackMonoidal set_option autoImplicit false set_option backward.isDefEq.respectTransparency false universe u open CategoryTheory MonoidalCategory Limits TopologicalSpace noncomputable section namespace AlgebraicGeometry.Scheme.Modules variable {X Y : Scheme.{u}} (f : X ⟶ Y) instance preservesBinaryProducts_opensMap : PreservesLimitsOfShape (Discrete WalkingPair) (Opens.map f.base) where preservesLimit {K} := ⟨fun {c} hc => ⟨ { lift := fun s => homOfLE (by have hinf : K.obj ⟨.left⟩ ⊓ K.obj ⟨.right⟩ ≤ c.pt := leOfHom (hc.lift { pt := K.obj ⟨.left⟩ ⊓ K.obj ⟨.right⟩ π := Discrete.natTrans (fun j => match j with | ⟨.left⟩ => homOfLE inf_le_left | ⟨.right⟩ => homOfLE inf_le_right) }) have h₁ : s.pt ≤ (Opens.map f.base).obj (K.obj ⟨.left⟩) := leOfHom (s.π.app ⟨.left⟩) have h₂ : s.pt ≤ (Opens.map f.base).obj (K.obj ⟨.right⟩) := leOfHom (s.π.app ⟨.right⟩) exact (le_inf h₁ h₂).trans (leOfHom ((Opens.map f.base).map (homOfLE hinf)))) fac := fun s j => Subsingleton.elim _ _ uniq := fun s m _ => Subsingleton.elim _ _ }⟩⟩ instance preservesTerminal_opensMap : PreservesLimitsOfShape (Discrete PEmpty.{1}) (Opens.map f.base) where preservesLimit {K} := ⟨fun {c} hc => ⟨ { lift := fun s => homOfLE (by have htop : (⊤ : Y.Opens) ≤ c.pt := leOfHom (hc.lift { pt := ⊤, π := Discrete.natTrans (fun j => j.as.elim) }) exact le_top.trans (leOfHom ((Opens.map f.base).map (homOfLE htop)))) fac := fun s j => Subsingleton.elim _ _ uniq := fun s m _ => Subsingleton.elim _ _ }⟩⟩ instance preservesFiniteProducts_opensMap : PreservesFiniteProducts (Opens.map f.base) := Limits.PreservesFiniteProducts.of_preserves_binary_and_terminal _ abbrev pullback₀ : Y.PresheafOfModules ⥤ X.PresheafOfModules := PresheafOfModules.PullbackMonoidal.pb (Opens.map f.base) (R := X.sheaf.obj) (S := Y.sheaf.obj) f.c instance pullback₀_monoidal : (pullback₀ f).Monoidal := inferInstanceAs (PresheafOfModules.PullbackMonoidal.pb (Opens.map f.base) (R := X.sheaf.obj) (S := Y.sheaf.obj) f.c).Monoidal example : pullback₀ f = PresheafOfModules.pullback f.toRingCatSheafHom.hom := rfl variable (Y) in instance sheafify_isLocalization' : (Modules.sheafify Y).IsLocalization (SheafOfModules.presheafW (Opens.grothendieckTopology Y) Y.sheaf.obj) := inferInstanceAs ((SheafOfModules.sheafifyFunctor Y.sheaf.obj Y.ringCatSheaf.property).IsLocalization (SheafOfModules.presheafW (Opens.grothendieckTopology Y) Y.sheaf.obj)) instance : Localization.Lifting (Modules.sheafify Y) (SheafOfModules.presheafW (Opens.grothendieckTopology Y) Y.sheaf.obj) (pullback₀ f ⋙ Modules.sheafify X) (Modules.pullback f) := ⟨SheafOfModules.sheafificationCompPullback f.toRingCatSheafHom⟩ instance pullback_monoidal : (Modules.pullback f).Monoidal := letI := SheafOfModules.presheafW_isMonoidal Y.sheaf.obj Y.ringCatSheaf.property Localization.Monoidal.functorMonoidalOfComp (Modules.sheafify Y) (SheafOfModules.presheafW (Opens.grothendieckTopology Y) Y.sheaf.obj) (Modules.pullback f) (pullback₀ f ⋙ Modules.sheafify X) def pullbackTensorObjIso (L M : Y.Modules) : (Modules.pullback f).obj (L ⊗ M) ≅ (Modules.pullback f).obj L ⊗ (Modules.pullback f).obj M := (Functor.Monoidal.μIso (Modules.pullback f) L M).symm def pullbackTensorUnitObjIso : (Modules.pullback f).obj (𝟙_ Y.Modules) ≅ 𝟙_ X.Modules := (Functor.Monoidal.εIso (Modules.pullback f)).symm end AlgebraicGeometry.Scheme.Modules end
Statements phrased using this module (28)
- Independence of the Pic⁰ representing scheme from the rigidifying section
AlgebraicGeometry.RelPicard.RepresentsRelSubPic.exists_inverse_pair_of_sections5 below · depth 12 - Inertia line bundle 𝒪(σ V-V) at a crossing
ModularCurve.XHDRModelAtP.exists_isInvertible_iso_ofPoint_tensor_idealModule_iso_tensorUnit_of_range_subset_range_comp_inter1,176 below · depth 14 - Trivialised line bundle on mathfrak X_A makes pts([y₁]-[y₂]) extend
ModularCurve.XHDRModelAtP.extendsToPlace_pts_pic0Mk_single_sub_single_of_isInvertible_of_iso_ofPoint_tensor_idealModule_of_iso_tensorUnit1,205 below · depth 14 - Section theorem: relative divisor attached to a fibrewise h⁰=1 bundle
AlgebraicGeometry.RelPicard.exists_relEffCartierDiv_lineBundle_iso_of_forall_fibre_of_supportedIn41 below · depth 15 - Pullback of a tensor of sections is the tensor of pullbacks
AlgebraicGeometry.Scheme.Modules.pullbackTensorObjIso_hom_app_pullbackLocalSection4 below · depth 15 - Pull-back of the unit section is the unit section
AlgebraicGeometry.Scheme.Modules.pullbackTensorUnitObjIso_hom_app_pullbackLocalSection_unitSection4 below · depth 15 - Crossing-chart glued module restricts to 𝒪(̄ y₁)⊗𝒪(̄ y₂)⁻¹ generically
ModularCurve.XHDRModelAtP.nonempty_pullback_baseChangeSnd_iso_ofPoint_tensor_idealModule_of_isFrameOn_of_map_eq_smul22 below · depth 15 - Transporting Pic⁰ representing schemes along a curve isomorphism
AlgebraicGeometry.RelPicard.RepresentsRelSubPic.exists_inverse_pair_of_iso_of_sections5 below · depth 16 - Tensoring by a pullback trivial on V is invisible over q⁻¹V
AlgebraicGeometry.Scheme.Modules.nonempty_pullback_tensor_pullback_iso_of_trivial_on_open2 below · depth 16 - Rigidified 𝒪(D-E_T) commutes with base change
AlgebraicGeometry.RelEffCartierDiv.nonempty_rigidify_lineBundle_tensor_idealModule_pullbackAlong_iso_pullback_of_supportedIn22 below · depth 17 - Isomorphic pointed curves: Abel–Jacobi maps agree up to translation
AlgebraicGeometry.RelPicard.abelJacobi_comp_eq_mul_abelJacobi_of_iso_of_classify23 below · depth 17 - Euler characteristic g+1 on the section component of a two-line fibre
AlgebraicGeometry.RelPicard.eulerChar_pullback_tensor_invModule_pow_ker_tensor_module_prod_ker_eq_of_twoLineDegeneration263 below · depth 18 - Projection formula for free modules of finite rank
AlgebraicGeometry.Scheme.Modules.isIso_projectionMorphism_of_iso_free1 below · depth 18 - Restriction to an open detects isomorphy of the projection morphism
AlgebraicGeometry.Scheme.Modules.isIso_pullback_map_projectionMorphism_iff9 below · depth 18 - Triviality of a pullback twist missing the ideal supports
AlgebraicGeometry.Scheme.Modules.nonempty_pullback_tensor_invModule_pow_tensor_module_iso_of_forall_notMem_support28 below · depth 18 - Sections over a reduced scheme covered by two closed subschemes
AlgebraicGeometry.Scheme.Modules.exists_unique_section_of_pullbackSection_closedCover13 below · depth 19 - Naturality in F of the projection morphism
AlgebraicGeometry.Scheme.Modules.projectionMorphism_naturality0 below · depth 19 - Projection morphism as the mate of ε ⊗ 1
AlgebraicGeometry.Scheme.Modules.pullback_map_projectionMorphism_comp_counit0 below · depth 19 - Picard transport along a curve automorphism is a homomorphism
AlgebraicGeometry.RelPicard.RepresentsRelSubPic.schemeHomOverComp_mul_eq_mul_of_forall_postComp_classify_eq6 below · depth 22 - Diamond operator realised as Picard transport on the Jacobian model
ModularCurve.XOneP.pts_diamondGen_smul_eq_comp_transport_of_abelJacobi_of_diamondModelAut_twoChartModel_x1_mul170 below · depth 22 - Composing semilinear Picard transport with an automorphism transport
AlgebraicGeometry.RelPicard.RepresentsRelSubPic.classifies_rigidify_pullback_map_comp_of_classifies_pullback_curveChange_inv_of_classifies_rigidify_pullback_map11 below · depth 23 - Compatibility of ν with the Picard transports of W and α
AlgebraicGeometry.RelPicard.RepresentsRelSubPic.postComp_eq_postComp_of_rigidify_pullback_curveChange_of_transport_of_hom_comp_eq5 below · depth 23 - Pull-back commutes with Picard transport along compatible automorphisms
AlgebraicGeometry.RelPicard.RepresentsRelSubPic.schemeHomOverComp_pullbackHom_eq_of_transport_of_hom_comp_eq4 below · depth 23 - Component-wise trivial invertible module is a node-unit module
ModularCurve.XHDRModelAtP.exists_isNodeUnitModule_pullback_of_forall_nonempty_pullback_comp_iso_unit11 below · depth 26 - An A-point of Pic⁰ classifying a given line bundle
ModularCurve.XHDRModelAtP.exists_schemeHomOver_pts_pic0Mk_eq_barPt_comp_and_poincare_pullbackAlong_iso_of_isInvertible_of_iso_ofPoint_tensor_idealModule_of_iso_tensorUnit1,205 below · depth 26 - Triviality on both special-fibre components of a crossing-glued module
ModularCurve.XOneP.nonempty_pullback_comp_iso_unit_of_isFrameOn_of_map_eq_smul_twoChartModel_x1_mul12 below · depth 26 - Generic fibre of a crossing-glued module on X₁(Mp)
ModularCurve.XOneP.nonempty_pullback_iso_ofPoint_tensor_idealModule_of_isFrameOn_of_map_eq_smul_twoChartModel_x1_mul34 below · depth 26 - Descent of ideal invertibility and a tensor identity along an isomorphism
AlgebraicGeometry.Scheme.IdealSheafData.nonempty_iso_invModule_tensor_module_of_pullback_tensor_invModule_iso_invModule_of_isIso14 below · depth 27