Definitions/Def_AlgebraicGeometry_TwoGluedCurvesNodeUnitModule.lean
Node-unit modules on two curves glued along node sections
Throughout, \kappa is a field, x\colon X\to\operatorname{Spec}\kappa is a \kappa-scheme, c_1\colon C_1\to\operatorname{Spec}\kappa and c_2\colon C_2\to\operatorname{Spec}\kappa are \kappa-schemes equipped with morphisms over \kappa, i_1\colon C_1\to X and i_2\colon C_2\to X (elements of the project's SchemeHomOver, i.e. morphisms together with a proof of commutation over \operatorname{Spec}\kappa), together with families p_1,p_2 indexed by a type \iota of sections of c_1, resp. c_2, over \operatorname{Spec}\kappa, and a \kappa-scheme h\colon T\to\operatorname{Spec}\kappa.
nodeSectionFst and nodeSectionSnd are the sections T\to C_1\times_\kappa T and T\to C_2\times_\kappa T obtained from p_1 j, p_2 j by the project's rigSection, namely the morphism with components h followed by the given \kappa-point and \mathrm{id}_T. For an open W of X\times_\kappa T, nodeLocus is the open subset of T on which both j-th node sections land in the preimage of W under the base-changed maps \mathrm{curveChange}, i.e. i_1\times\mathrm{id}_T and i_2\times\mathrm{id}_T. Given units u_j\in\Gamma(T,\mathcal O_T)^\times, NodeCondition asserts, for sections f over (i_1\times\mathrm{id}_T)^{-1}W and g over (i_2\times\mathrm{id}_T)^{-1}W, the equality \sigma^{1*}_j f = u_j\cdot\sigma^{2*}_j g of sections over that node locus, all three terms being restricted there.
IsNodeUnitModule u M, for M a sheaf of modules on X\times_\kappa T, is the predicate: there exist morphisms j_1\colon M\to (i_1\times\mathrm{id}_T)_*\mathcal O and j_2\colon M\to (i_2\times\mathrm{id}_T)_*\mathcal O into the pushforwards of the unit sheaves of modules such that, for every open W, the map m\mapsto (j_1 m,\,j_2 m) on sections over W is injective with image exactly the pairs satisfying the node condition at every j\in\iota. It is thus a condition on a presentation of M as the fibre product of the two component structure sheaves along the prescribed gluing units, not a construction of such an M.
Relation to Mathlib
Built on Mathlib's Scheme.Modules, SheafOfModules.unit and Scheme.Modules.pushforward; Mathlib has no notion of modules glued across nodes with prescribed gluing units, so the predicates here are the project's own, as are the auxiliary rigSection and curveChange they use.
Where it is used
These definitions belong to the project's development of relative Picard functors, where line bundles on a curve obtained by gluing two components at finitely many \kappa-rational points are described by gluing units attached to the nodes; such descriptions control the multiplicative part of the Picard scheme of a nodal curve.
References
- S. Bosch, W. Lütkebohmert and M. Raynaud, Néron Models, Ergebnisse der Mathematik und ihrer Grenzgebiete 21, Springer, 1990, Ch. 9
- P. Deligne and M. Rapoport, Les schémas de modules de courbes elliptiques, in: Modular Functions of One Variable II, Lecture Notes in Mathematics 349, Springer, 1973, 143–316
References are suggested automatically and have not been individually verified.
English text generated automatically from the Lean source; the Lean statement is authoritative.
- 55 lines
- 5 declarations
- used in the statements of 25 theorems and imported by 30 proofs
- imports 3 definition modules
Source file: Definitions/Def_AlgebraicGeometry_TwoGluedCurvesNodeUnitModule.lean
Imports
Imported by
- no other definition module
Declarations
- def
AlgebraicGeometry.TwoGluedCurves.nodeSectionFst - def
AlgebraicGeometry.TwoGluedCurves.nodeSectionSnd - def
AlgebraicGeometry.TwoGluedCurves.nodeLocus - def
AlgebraicGeometry.TwoGluedCurves.NodeCondition - def
AlgebraicGeometry.TwoGluedCurves.IsNodeUnitModule
Source
import Mathlib import Definitions.Def_AlgebraicGeometry_NeronModelPropertyBundleCarrier import Definitions.Def_AlgebraicGeometry_RelativePicardFunctor import Definitions.Def_AlgebraicGeometry_RelPicardPullback set_option autoImplicit false noncomputable section universe u v open CategoryTheory CategoryTheory.Limits AlgebraicGeometry AlgebraicGeometry.RelPicard NeronModelInfra namespace AlgebraicGeometry.TwoGluedCurves variable {κ : Type u} [Field κ] {X C₁ C₂ : Scheme.{u}} (x : X ⟶ Spec (.of κ)) {c₁ : C₁ ⟶ Spec (.of κ)} {c₂ : C₂ ⟶ Spec (.of κ)} (i₁ : SchemeHomOver c₁ x) (i₂ : SchemeHomOver c₂ x) {ι : Type v} (p₁ : ι → SchemeHomOver (𝟙 (Spec (.of κ))) c₁) (p₂ : ι → SchemeHomOver (𝟙 (Spec (.of κ))) c₂) {T : Scheme.{u}} (h : T ⟶ Spec (.of κ)) def nodeSectionFst (j : ι) : T ⟶ pullback c₁ h := rigSection c₁ h (p₁ j) def nodeSectionSnd (j : ι) : T ⟶ pullback c₂ h := rigSection c₂ h (p₂ j) def nodeLocus (j : ι) (W : (pullback x h).Opens) : T.Opens := (nodeSectionFst p₁ h j) ⁻¹ᵁ ((curveChange i₁.1 i₁.2 h) ⁻¹ᵁ W) ⊓ (nodeSectionSnd p₂ h j) ⁻¹ᵁ ((curveChange i₂.1 i₂.2 h) ⁻¹ᵁ W) def NodeCondition (u : ι → Γ(T, ⊤)ˣ) (W : (pullback x h).Opens) (j : ι) (f : Γ(pullback c₁ h, (curveChange i₁.1 i₁.2 h) ⁻¹ᵁ W)) (g : Γ(pullback c₂ h, (curveChange i₂.1 i₂.2 h) ⁻¹ᵁ W)) : Prop := (nodeSectionFst p₁ h j).appLE ((curveChange i₁.1 i₁.2 h) ⁻¹ᵁ W) (nodeLocus x i₁ i₂ p₁ p₂ h j W) inf_le_left f = T.presheaf.map (homOfLE le_top).op (u j : Γ(T, ⊤)) * (nodeSectionSnd p₂ h j).appLE ((curveChange i₂.1 i₂.2 h) ⁻¹ᵁ W) (nodeLocus x i₁ i₂ p₁ p₂ h j W) inf_le_right g def IsNodeUnitModule (u : ι → Γ(T, ⊤)ˣ) (M : (pullback x h).Modules) : Prop := ∃ (j₁ : M ⟶ (Scheme.Modules.pushforward (curveChange i₁.1 i₁.2 h)).obj (SheafOfModules.unit (pullback c₁ h).ringCatSheaf)) (j₂ : M ⟶ (Scheme.Modules.pushforward (curveChange i₂.1 i₂.2 h)).obj (SheafOfModules.unit (pullback c₂ h).ringCatSheaf)), ∀ W : (pullback x h).Opens, Function.Injective (fun m : Γ(M, W) => (j₁.app W m, j₂.app W m)) ∧ Set.range (fun m : Γ(M, W) => (j₁.app W m, j₂.app W m)) = {fg | ∀ j : ι, NodeCondition x i₁ i₂ p₁ p₂ h u W j fg.1 fg.2} end AlgebraicGeometry.TwoGluedCurves end
Statements phrased using this module (25)
- Raynaud's dictionary for Pic⁰ of a two-component curve
AlgebraicGeometry.RelPicard.exists_gluedPic0_equiv_of_twoGluedSmoothCurves346 below · depth 13 - Split torus in Pic⁰ of a two-component curve
AlgebraicGeometry.RelPicard.exists_torus_characterLattice_equiv_of_twoGluedSmoothCurves32 below · depth 13 - Every point of Pic⁰(X) comes from admissible gluing data
AlgebraicGeometry.RelPicard.exists_hom_admissible_eq_of_twoGluedSmoothCurves19 below · depth 14 - Admissible gluing data give points of Pic⁰
AlgebraicGeometry.RelPicard.exists_hom_admissible_of_twoGluedSmoothCurves334 below · depth 14 - Injectivity of the glued Pic⁰ dictionary for two components
AlgebraicGeometry.RelPicard.gluedPic0_mk_eq_zero_of_hom_admissible_eq_one_of_twoGluedSmoothCurves12 below · depth 14 - Isomorphic node-unit bundles have proportional gluing units
AlgebraicGeometry.TwoGluedCurves.IsNodeUnitModule.exists_eq_mul_of_iso9 below · depth 14 - Node-unit line bundles are fibrewise algebraically trivial
AlgebraicGeometry.TwoGluedCurves.IsNodeUnitModule.fibrewiseAlgEquivZero6 below · depth 14 - Uniqueness of node-unit modules with given gluing units
AlgebraicGeometry.TwoGluedCurves.IsNodeUnitModule.nonempty_iso0 below · depth 14 - Node-unit modules pull back to the unit on each component
AlgebraicGeometry.TwoGluedCurves.IsNodeUnitModule.nonempty_pullback_curveChange_iso_unit8 below · depth 14 - Node-unit modules are stable under base change in T
AlgebraicGeometry.TwoGluedCurves.IsNodeUnitModule.pullback_baseChangeSnd3 below · depth 14 - Rescaling all gluing units by a global unit preserves node-unit modules
AlgebraicGeometry.TwoGluedCurves.IsNodeUnitModule.smul_units0 below · depth 14 - Tensoring node-unit modules multiplies the gluing units
AlgebraicGeometry.TwoGluedCurves.IsNodeUnitModule.tensor11 below · depth 14 - Invertible node-unit modules with prescribed gluing units exist
AlgebraicGeometry.TwoGluedCurves.exists_isInvertible_isNodeUnitModule1 below · depth 14 - Bundles trivial on both components are node-unit modules
AlgebraicGeometry.TwoGluedCurves.exists_isNodeUnitModule_of_pullback_curveChange_iso_unit10 below · depth 14 - Unit module is a node-unit module with gluing units 1
AlgebraicGeometry.TwoGluedCurves.isNodeUnitModule_one_unit0 below · depth 14 - Bundles of admissible gluing data on two glued smooth curves
AlgebraicGeometry.RelPicard.exists_gluedTwist_admissible_of_twoGluedSmoothCurves119 below · depth 15 - Reading the Poincaré bundle at every degree-zero class
AlgebraicGeometry.RelPicard.nonempty_poincare_pullbackAlong_iso_foldr_ofPoint_of_additive_of_pinned32 below · depth 15 - One-node open cover for a base-changed glued curve
AlgebraicGeometry.TwoGluedCurves.exists_opens_iSup_eq_top_nodeLocus_eq_bot0 below · depth 15 - Frame criterion for the node-unit description of sections
AlgebraicGeometry.TwoGluedCurves.injective_and_range_eq_nodeCondition_of_forall_exists_isFrameOn1 below · depth 15 - Principal glued data give node-unit modules on two glued curves
AlgebraicGeometry.RelPicard.isNodeUnitModule_foldr_ofPoint_tensor_foldr_ofPoint_of_forall_eq_ord_of_twoGluedSmoothCurves117 below · depth 16 - Principal divisor on one component gives a node-unit module
AlgebraicGeometry.RelPicard.isNodeUnitModule_foldr_ofPoint_of_forall_eq_ord_of_hasValue116 below · depth 17 - Node-unit modules are preserved by node-fixing automorphisms
AlgebraicGeometry.TwoGluedCurves.IsNodeUnitModule.pullback_curveChange_of_iso_of_nodes_fixed0 below · depth 24 - Node-unit modules are stable under isomorphism
AlgebraicGeometry.TwoGluedCurves.IsNodeUnitModule.of_iso0 below · depth 26 - Node-unit Poincaré bundle puts a special-fibre class in the toric part
ModularCurve.JHNeronObjectAtP.ptsSp_symm_schemeHomOverComp_mem_range_nodeUnit_of_isNodeUnitModule_poincare_pullbackAlong1,672 below · depth 26 - 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