Definitions/Def_AlgebraicGeometry_RelativeGroupLaw.lean
Relative group laws on the functor of points of a scheme
Throughout, R is a commutative ring and f \colon A \to \operatorname{Spec} R a morphism of schemes. For morphisms g \colon Y \to B and f \colon X \to B, SchemeHomOver g f is the subtype of morphisms \varphi \colon Y \to X with \varphi followed by f equal to g, i.e. the set of B-morphisms from g to f. A first group of helper declarations provides the bijection schemeHomOverEquivOverHom between SchemeHomOver g f and the morphisms \mathrm{Over.mk}\,g \to \mathrm{Over.mk}\,f in Mathlib's over-category, in both directions and with the two round-trip identities. A second helper, schemeHomOverComp, records the reindexing of relative points: given \psi \colon T' \to T with \psi followed by t equal to t', it sends x \in SchemeHomOver t f to \psi followed by x in SchemeHomOver t' f.
The structure RelativeGroupLaw R f packages a group law on the functor of relative points of f: for every test scheme T and every t \colon T \to \operatorname{Spec} R, operations mul, one, inv on SchemeHomOver t f, together with associativity, left and right unit laws and left inverse as fields, plus one naturality field mul_natural asserting that reindexing along any \psi as above is multiplicative. Thus the axioms are imposed set-theoretically on each fibre of the points functor rather than as commuting diagrams on A itself.
Derived declarations: mul_inv_cancel and one_natural (the unit is compatible with reindexing, deduced from the group axioms and mul_natural); the predicate IsCommutative (commutativity of mul for all t) with its restatement; a Group instance pointGroup on each SchemeHomOver t f; the relative group law trivialRelativeGroupLaw on the identity of \operatorname{Spec} R; and relativeGroupLaw_pointwise_eq_of_isIso, stating that when f is an isomorphism any two relative group laws have the same product, unit and inverse at every point, since the point sets are then subsingletons.
Relation to Mathlib
Mathlib has group objects in a monoidal or cartesian category, but no functor-of-points group law of this kind on the relative points of a scheme morphism; RelativeGroupLaw is the project's own notion. The over-category helpers translate SchemeHomOver into Mathlib's Over morphisms via Over.homMk and Over.w.
Where it is used
These definitions provide the group structure carried by relative points of a scheme over \operatorname{Spec} R, used in the project's treatment of Néron models and Jacobians with good reduction, whose points furnish the Galois modules behind the modular curve arguments.
References
- S. Bosch, W. Lütkebohmert and M. Raynaud, Néron Models, Ergebnisse der Mathematik und ihrer Grenzgebiete 21, Springer, 1990
- M. Demazure and P. Gabriel, Groupes algébriques, Tome I, Masson / North-Holland, 1970
References are suggested automatically and have not been individually verified.
English text generated automatically from the Lean source; the Lean statement is authoritative.
- 194 lines
- 30 declarations
- used in the statements of 699 theorems and imported by 734 proofs
- imports 1 definition modules
Source file: Definitions/Def_AlgebraicGeometry_RelativeGroupLaw.lean
Imported by
Def_AlgebraicGeometry_FormalGroupAlongSectionDef_AlgebraicGeometry_RelativeGroupLawEndDegreeDef_AlgebraicGeometry_RelativeGroupLawGrpObjDef_AlgebraicGeometry_TangentCoordsOfPairDef_AlgebraicGeometry_TangentCoordsOfPairAtDef_AlgebraicGeometry_TangentCoordsOfPairAtViaDef_CerednikDrinfeld_QMModuliDef_GoodReductionJacobian_BareDeformationDef_GoodReductionJacobian_PartialActionDef_GoodReductionJacobian_RelativeGroupLawActionDef_GoodReductionJacobian_RelativeGroupLawKernelDef_GoodReductionJacobian_RelativeGroupLawProdDef_GoodReductionJacobian_RelativeGroupLawTranslateDef_JacJ1IfaceDef_ModularCurve_JZeroNeronIdentityComponentDef_ModularCurve_JZeroNeronIdentityComponentGoodDef_ModularCurve_ReductionOfPointsAgreesModL
Declarations
- def
NeronModelInfra.schemeHomOverToOverHom - theorem
NeronModelInfra.schemeHomOverToOverHom_left - def
NeronModelInfra.overHomToSchemeHomOver - theorem
NeronModelInfra.overHomToSchemeHomOver_coe - theorem
NeronModelInfra.overHomToSchemeHomOver_schemeHomOverToOverHom - theorem
NeronModelInfra.schemeHomOverToOverHom_overHomToSchemeHomOver - def
NeronModelInfra.schemeHomOverEquivOverHom - theorem
NeronModelInfra.schemeHomOverEquivOverHom_apply - theorem
NeronModelInfra.schemeHomOverEquivOverHom_symm_apply - def
GoodReductionJacobian.schemeHomOverComp - theorem
GoodReductionJacobian.schemeHomOverComp_coe - structure
GoodReductionJacobian.RelativeGroupLaw - field
GoodReductionJacobian.RelativeGroupLaw.f - field
GoodReductionJacobian.RelativeGroupLaw.mul - field
GoodReductionJacobian.RelativeGroupLaw.one - field
GoodReductionJacobian.RelativeGroupLaw.inv - field
GoodReductionJacobian.RelativeGroupLaw.mul_assoc - field
GoodReductionJacobian.RelativeGroupLaw.one_mul - field
GoodReductionJacobian.RelativeGroupLaw.mul_one - field
GoodReductionJacobian.RelativeGroupLaw.inv_mul_cancel - field
GoodReductionJacobian.RelativeGroupLaw.x - field
GoodReductionJacobian.RelativeGroupLaw.mul_natural - field
GoodReductionJacobian.RelativeGroupLaw.t' - def
GoodReductionJacobian.RelativeGroupLaw.IsCommutative - theorem
GoodReductionJacobian.RelativeGroupLaw.IsCommutative.mul_comm - def
GoodReductionJacobian.RelativeGroupLaw.pointGroup - theorem
GoodReductionJacobian.RelativeGroupLaw.mul_inv_cancel - theorem
GoodReductionJacobian.RelativeGroupLaw.one_natural - def
GoodReductionJacobian.trivialRelativeGroupLaw - theorem
GoodReductionJacobian.relativeGroupLaw_pointwise_eq_of_isIso
Source
import Definitions.Def_AlgebraicGeometry_NeronModelPropertyBundleCarrier set_option autoImplicit false noncomputable section universe u open CategoryTheory CategoryTheory.Limits AlgebraicGeometry CategoryTheory.MonoidalCategory CategoryTheory.CartesianMonoidalCategory NeronModelInfra open scoped CategoryTheory.MonObj namespace NeronModelInfra def schemeHomOverToOverHom {B Y X : Scheme.{u}} {g : Y ⟶ B} {f : X ⟶ B} (φ : SchemeHomOver g f) : Over.mk g ⟶ Over.mk f := Over.homMk φ.1 (by simpa using φ.2) @[simp] theorem schemeHomOverToOverHom_left {B Y X : Scheme.{u}} {g : Y ⟶ B} {f : X ⟶ B} (φ : SchemeHomOver g f) : (schemeHomOverToOverHom φ).left = φ.1 := rfl def overHomToSchemeHomOver {B Y X : Scheme.{u}} {g : Y ⟶ B} {f : X ⟶ B} (h : Over.mk g ⟶ Over.mk f) : SchemeHomOver g f := ⟨h.left, by simpa using Over.w h⟩ @[simp] theorem overHomToSchemeHomOver_coe {B Y X : Scheme.{u}} {g : Y ⟶ B} {f : X ⟶ B} (h : Over.mk g ⟶ Over.mk f) : (overHomToSchemeHomOver h).1 = h.left := rfl @[simp] theorem overHomToSchemeHomOver_schemeHomOverToOverHom {B Y X : Scheme.{u}} {g : Y ⟶ B} {f : X ⟶ B} (φ : SchemeHomOver g f) : overHomToSchemeHomOver (schemeHomOverToOverHom φ) = φ := Subtype.ext (by simp) @[simp] theorem schemeHomOverToOverHom_overHomToSchemeHomOver {B Y X : Scheme.{u}} {g : Y ⟶ B} {f : X ⟶ B} (h : Over.mk g ⟶ Over.mk f) : schemeHomOverToOverHom (overHomToSchemeHomOver h) = h := Over.OverMorphism.ext (by simp) def schemeHomOverEquivOverHom {B Y X : Scheme.{u}} (g : Y ⟶ B) (f : X ⟶ B) : SchemeHomOver g f ≃ (Over.mk g ⟶ Over.mk f) where toFun := schemeHomOverToOverHom invFun := overHomToSchemeHomOver left_inv := overHomToSchemeHomOver_schemeHomOverToOverHom right_inv := schemeHomOverToOverHom_overHomToSchemeHomOver @[simp] theorem schemeHomOverEquivOverHom_apply {B Y X : Scheme.{u}} {g : Y ⟶ B} {f : X ⟶ B} (φ : SchemeHomOver g f) : schemeHomOverEquivOverHom g f φ = schemeHomOverToOverHom φ := rfl @[simp] theorem schemeHomOverEquivOverHom_symm_apply {B Y X : Scheme.{u}} {g : Y ⟶ B} {f : X ⟶ B} (h : Over.mk g ⟶ Over.mk f) : (schemeHomOverEquivOverHom g f).symm h = overHomToSchemeHomOver h := rfl end NeronModelInfra namespace GoodReductionJacobian def schemeHomOverComp {B T' T A : Scheme.{u}} {t : T ⟶ B} {t' : T' ⟶ B} {f : A ⟶ B} (ψ : T' ⟶ T) (hψ : ψ ≫ t = t') (x : SchemeHomOver t f) : SchemeHomOver t' f := ⟨ψ ≫ x.1, by rw [Category.assoc, x.2, hψ]⟩ @[simp] theorem schemeHomOverComp_coe {B T' T A : Scheme.{u}} {t : T ⟶ B} {t' : T' ⟶ B} {f : A ⟶ B} (ψ : T' ⟶ T) (hψ : ψ ≫ t = t') (x : SchemeHomOver t f) : (schemeHomOverComp ψ hψ x).1 = ψ ≫ x.1 := rfl structure RelativeGroupLaw (R : Type u) [CommRing R] {A : Scheme.{u}} (f : A ⟶ Spec (CommRingCat.of R)) where mul : ∀ {T : Scheme.{u}} (t : T ⟶ Spec (CommRingCat.of R)), SchemeHomOver t f → SchemeHomOver t f → SchemeHomOver t f one : ∀ {T : Scheme.{u}} (t : T ⟶ Spec (CommRingCat.of R)), SchemeHomOver t f inv : ∀ {T : Scheme.{u}} (t : T ⟶ Spec (CommRingCat.of R)), SchemeHomOver t f → SchemeHomOver t f mul_assoc : ∀ {T : Scheme.{u}} (t : T ⟶ Spec (CommRingCat.of R)) (x y z : SchemeHomOver t f), mul t (mul t x y) z = mul t x (mul t y z) one_mul : ∀ {T : Scheme.{u}} (t : T ⟶ Spec (CommRingCat.of R)) (x : SchemeHomOver t f), mul t (one t) x = x mul_one : ∀ {T : Scheme.{u}} (t : T ⟶ Spec (CommRingCat.of R)) (x : SchemeHomOver t f), mul t x (one t) = x inv_mul_cancel : ∀ {T : Scheme.{u}} (t : T ⟶ Spec (CommRingCat.of R)) (x : SchemeHomOver t f), mul t (inv t x) x = one t mul_natural : ∀ {T T' : Scheme.{u}} (t : T ⟶ Spec (CommRingCat.of R)) (t' : T' ⟶ Spec (CommRingCat.of R)) (ψ : T' ⟶ T) (hψ : ψ ≫ t = t') (x y : SchemeHomOver t f), schemeHomOverComp ψ hψ (mul t x y) = mul t' (schemeHomOverComp ψ hψ x) (schemeHomOverComp ψ hψ y) namespace RelativeGroupLaw def IsCommutative {R : Type u} [CommRing R] {A : Scheme.{u}} {f : A ⟶ Spec (CommRingCat.of R)} (G : RelativeGroupLaw R f) : Prop := ∀ {T : Scheme.{u}} (t : T ⟶ Spec (CommRingCat.of R)) (x y : SchemeHomOver t f), G.mul t x y = G.mul t y x theorem IsCommutative.mul_comm {R : Type u} [CommRing R] {A : Scheme.{u}} {f : A ⟶ Spec (CommRingCat.of R)} {G : RelativeGroupLaw R f} (hc : G.IsCommutative) {T : Scheme.{u}} (t : T ⟶ Spec (CommRingCat.of R)) (x y : SchemeHomOver t f) : G.mul t x y = G.mul t y x := hc t x y @[reducible] def pointGroup {R : Type u} [CommRing R] {A : Scheme.{u}} {f : A ⟶ Spec (CommRingCat.of R)} (G : RelativeGroupLaw R f) {T : Scheme.{u}} (t : T ⟶ Spec (CommRingCat.of R)) : Group (SchemeHomOver t f) where mul x y := G.mul t x y one := G.one t inv x := G.inv t x mul_assoc := G.mul_assoc t one_mul := G.one_mul t mul_one := G.mul_one t inv_mul_cancel := G.inv_mul_cancel t theorem mul_inv_cancel {R : Type u} [CommRing R] {A : Scheme.{u}} {f : A ⟶ Spec (CommRingCat.of R)} (G : RelativeGroupLaw R f) {T : Scheme.{u}} (t : T ⟶ Spec (CommRingCat.of R)) (x : SchemeHomOver t f) : G.mul t x (G.inv t x) = G.one t := by calc G.mul t x (G.inv t x) = G.mul t (G.one t) (G.mul t x (G.inv t x)) := (G.one_mul t _).symm _ = G.mul t (G.mul t (G.inv t (G.inv t x)) (G.inv t x)) (G.mul t x (G.inv t x)) := by rw [G.inv_mul_cancel t (G.inv t x)] _ = G.mul t (G.inv t (G.inv t x)) (G.mul t (G.inv t x) (G.mul t x (G.inv t x))) := by rw [G.mul_assoc] _ = G.mul t (G.inv t (G.inv t x)) (G.mul t (G.mul t (G.inv t x) x) (G.inv t x)) := by rw [G.mul_assoc] _ = G.mul t (G.inv t (G.inv t x)) (G.mul t (G.one t) (G.inv t x)) := by rw [G.inv_mul_cancel] _ = G.mul t (G.inv t (G.inv t x)) (G.inv t x) := by rw [G.one_mul] _ = G.one t := G.inv_mul_cancel t (G.inv t x) theorem one_natural {R : Type u} [CommRing R] {A : Scheme.{u}} {f : A ⟶ Spec (CommRingCat.of R)} (G : RelativeGroupLaw R f) {T T' : Scheme.{u}} (t : T ⟶ Spec (CommRingCat.of R)) (t' : T' ⟶ Spec (CommRingCat.of R)) (ψ : T' ⟶ T) (hψ : ψ ≫ t = t') : schemeHomOverComp ψ hψ (G.one t) = G.one t' := by have h : G.mul t' (schemeHomOverComp ψ hψ (G.one t)) (schemeHomOverComp ψ hψ (G.one t)) = schemeHomOverComp ψ hψ (G.one t) := by rw [← G.mul_natural t t' ψ hψ, G.one_mul] calc schemeHomOverComp ψ hψ (G.one t) = G.mul t' (G.one t') (schemeHomOverComp ψ hψ (G.one t)) := (G.one_mul t' _).symm _ = G.mul t' (G.mul t' (G.inv t' (schemeHomOverComp ψ hψ (G.one t))) (schemeHomOverComp ψ hψ (G.one t))) (schemeHomOverComp ψ hψ (G.one t)) := by rw [G.inv_mul_cancel] _ = G.mul t' (G.inv t' (schemeHomOverComp ψ hψ (G.one t))) (G.mul t' (schemeHomOverComp ψ hψ (G.one t)) (schemeHomOverComp ψ hψ (G.one t))) := by rw [G.mul_assoc] _ = G.mul t' (G.inv t' (schemeHomOverComp ψ hψ (G.one t))) (schemeHomOverComp ψ hψ (G.one t)) := by rw [h] _ = G.one t' := G.inv_mul_cancel t' _ end RelativeGroupLaw def trivialRelativeGroupLaw (R : Type u) [CommRing R] : RelativeGroupLaw R (𝟙 (Spec (CommRingCat.of R))) where mul := fun _ x _ => x one := fun t => ⟨t, Category.comp_id t⟩ inv := fun _ x => x mul_assoc := fun _ _ _ _ => rfl one_mul := fun t _ => (subsingleton_schemeHomOver_of_isIso t (𝟙 (Spec (CommRingCat.of R)))).allEq _ _ mul_one := fun _ _ => rfl inv_mul_cancel := fun t _ => (subsingleton_schemeHomOver_of_isIso t (𝟙 (Spec (CommRingCat.of R)))).allEq _ _ mul_natural := fun _ _ _ _ _ _ => rfl theorem relativeGroupLaw_pointwise_eq_of_isIso {R : Type u} [CommRing R] {A : Scheme.{u}} (f : A ⟶ Spec (CommRingCat.of R)) [IsIso f] (G G' : RelativeGroupLaw R f) {T : Scheme.{u}} (t : T ⟶ Spec (CommRingCat.of R)) (x y : SchemeHomOver t f) : G.mul t x y = G'.mul t x y ∧ G.one t = G'.one t ∧ G.inv t x = G'.inv t x := ⟨(subsingleton_schemeHomOver_of_isIso t f).allEq _ _, (subsingleton_schemeHomOver_of_isIso t f).allEq _ _, (subsingleton_schemeHomOver_of_isIso t f).allEq _ _⟩ end GoodReductionJacobian
Statements phrased using this module (699)
- Uniqueness of A-valued points of a separated R-scheme
AlgebraicGeometry.SchemeHomOver.eq_of_isSeparated_of_valuationRing_of_fst_eq0 below · depth 12 - Correspondence α_*β^* on J_H induced by an endomorphism
ModularCurve.XH.pic0Correspondence_pts_eq_comp_of_poincare_pullbackAlong_iso_laurentBaseChange180 below · depth 12 - Degeneracy morphisms D → D₀ and Ribet's special-fibre formula
ModularCurve.XHDRModelAtP.exists_degeneracyHom_mul_pts_special1,698 below · depth 12 - Diamond operators induced by endomorphisms of the Pic⁰ scheme
ModularCurve.XHDRModelAtP.exists_hom_mul_and_pts_diamondHBar_eq_comp163 below · depth 12 - Hecke operators at ℓ≠ p on a relative Pic⁰ of X_H(M)
ModularCurve.XHDRModelAtP.exists_hom_mul_and_pts_heckeOperatorHAlong_eq_comp_of_ne719 below · depth 12 - Uₚ at p ∥ M as a group endomorphism of Pic⁰
ModularCurve.XHDRModelAtP.exists_hom_mul_and_pts_heckeOperatorHAlong_self_eq_comp719 below · depth 12 - Generic fibre and points dictionary for the level-M/p Pic⁰ object
ModularCurve.XHDRModelAtP.exists_representsRelSubPic_abelJacobi_pts_levelN_of_representsRelSubPic299 below · depth 12 - Abel–Jacobi dictionary for the relative Pic⁰ of X_H(M)
ModularCurve.XHDRModelAtP.exists_representsRelSubPic_abelJacobi_pts_of_representsRelSubPic299 below · depth 12 - Representability of relative Pic⁰ for the level-M/p model
ModularCurve.XHDRModelAtP.exists_representsRelSubPic_levelN_comp_epsInf_pi1,564 below · depth 12 - Inertia differences σ x - x extend over the place
ModularCurve.XHDRModelAtP.extendsToPlace_pts_smul_sub_of_mem_inertiaSubgroupIn1,446 below · depth 12 - Degeneracy pull-backs match the point dictionaries
ModularCurve.XHDRModelAtP.pts_alphaPull_eq_pts_levelN_comp_degPull364 below · depth 12 - Abelian scheme model of J₀(p) over ℤ_{(ℓ)}
ModularCurve.exists_abelianSchemePropertyBundle_model_jZero1,730 below · depth 12 - Relative Jacobian of X₀(p) over ℤ_{(ℓ)}
ModularCurve.exists_relJacobian_jZero1,823 below · depth 12 - Pullback along a non-pointed curve morphism induces a Pic⁰-homomorphism
AlgebraicGeometry.RelPicard.RepresentsRelSubPic.exists_hom_classifies_rigidify_pullback_curveChange3 below · depth 13 - Curve isomorphism on Pic⁰ points: N(a)· b=g
AlgebraicGeometry.RelPicard.RepresentsRelSubPic.mul_comp_eq_of_classifies_rigidify_pullback_of_ofPoint_of_isIso21 below · depth 13 - Base change compatibility of the relative group law on points
AlgebraicGeometry.RelPicard.baseChange_relativeGroupLaw_mul_compat1 below · depth 13 - Represented relative Pic⁰ is abelian; Abel–Jacobi dictionary
AlgebraicGeometry.RelPicard.exists_pic0_equiv_points_of_representsRelSubPic_of_abelJacobi291 below · depth 13 - Picard pullback along a curve isomorphism transports divisor classes
AlgebraicGeometry.RelPicard.pullbackHom_points_eq_pic0_congr_of_iso24 below · depth 13 - Group law of the base-changed relative Pic⁰
AlgebraicGeometry.RelPicard.relativeGroupLaw_baseChange_eq2 below · depth 13 - Uniqueness of valuation-ring points of a separated scheme
AlgebraicGeometry.SchemeHomOver.ext_of_isSeparated_of_valuationRing0 below · depth 13 - Relative Jacobian from finite-map chart data over a DVR
AlgebraicGeometry.exists_relJacobian_of_smoothOfRelativeDimension_one_of_finiteMapData689 below · depth 13 - Points dictionary for the relative Pic⁰ of the level-N₀p model
ModularCurve.DRModelPackageLevel.exists_representsRelSubPic_abelJacobi_pts_of_representsRelSubPic388 below · depth 13 - Hecke algebra acts by homomorphic endomorphisms of D
ModularCurve.DRModelPackageLevel.forall_heckeAlg_exists_hom_mul_and_pts_smul_eq_comp2,300 below · depth 13 - Igusa chart algebras inside a fibre model with cusp chart
ModularCurve.IgusaScheme.exists_fibreModel_cuspChart_of_chartAlg743 below · depth 13 - Igusa's model of X₀(N₀) over ℤ₍ₚ₎, pinned
ModularCurve.IgusaScheme.exists_finiteMapData_ratCurveModel_igusaTo1,159 below · depth 13 - Extendability over a valuation ring is closed under inversion
ModularCurve.JZeroNeronObjectAtP.ExtendsToPlace.inv0 below · depth 13 - Extendable points are closed under the relative group law
ModularCurve.JZeroNeronObjectAtP.ExtendsToPlace.mul0 below · depth 13 - Unit point of a relative group law extends to a place
ModularCurve.JZeroNeronObjectAtP.ExtendsToPlace.one0 below · depth 13 - Inertia displacement at a non-crossing place extends over A
ModularCurve.XHDRModelAtP.extendsToPlace_pts_mk_smul_single_sub_single_of_not_mem_range_comp_inter1,214 below · depth 13 - Inertial displacement of a place extends: crossing case
ModularCurve.XHDRModelAtP.extendsToPlace_pts_mk_smul_single_sub_single_of_range_subset_range_comp_inter1,429 below · depth 13 - Special-fibre formula for the degeneracy push-forwards at p ∥ M
ModularCurve.XHDRModelAtP.ptsSp_levelN_symm_schemeHomOverComp_degeneracyHom_eq_of_pts_levelN_degPts_eq_comp1,637 below · depth 13 - Degeneracy push-forwards as norm homomorphisms on ℚ̄-points
ModularCurve.XHDRModelAtP.pts_levelN_degPts_eq_comp_degeneracyHom_of_classifies_normModule230 below · depth 13 - Relative Jacobian of X₀(p) over ℤ_{(ℓ)}, Abel–Jacobi normalised
ModularCurve.exists_pts_heckeRingAction_relJacobian_jZero_of_representsRelSubPic_of_ratCurveModel_of_abelJacobi1,167 below · depth 13 - Relative Jacobian of X₀(p) over ℤ_{(ℓ)} from finite-map data
ModularCurve.exists_relJacobian_jZero_of_smoothProperModel_of_finiteMapData_of_ratCurveModel1,527 below · depth 13 - Smooth proper ℤ_{(ℓ)}-model of X₀(p) with finite-map data
ModularCurve.exists_smoothProperModel_jZero_relCurve_finiteMapData_ratCurveModel1,158 below · depth 13 - Norm morphism of relative Pic⁰ and Abel–Jacobi classes
AlgebraicGeometry.RelPicard.RepresentsRelSubPic.mul_comp_eq_of_classifies_rigidify_normModule_of_ofPoint75 below · depth 14 - Restriction morphism classifies the re-rigidified pullback bundle
AlgebraicGeometry.RelPicard.RepresentsRelSubPic.nonempty_poincare_pullbackAlong_schemeHomOverComp_pullbackHom_iso_rigidify1 below · depth 14 - Base change of a represented relative Pic⁰: points, group law, Poincaré bundle
AlgebraicGeometry.RelPicard.baseChange_points_mul_poincare_compat1 below · depth 14 - Group law, Abel–Jacobi map and points of a represented relative Pic⁰
AlgebraicGeometry.RelPicard.exists_relativeGroupLaw_abelJacobi_of_representsRelSubPic291 below · depth 14 - Homomorphy on κ-points extends to all points of a split torus
AlgebraicGeometry.SplitTorus.forall_torusPt_mul_of_torusPtId_mul_of_isAlgClosed1 below · depth 14 - Functoriality of the coordinate Hopf algebra of relative group laws
GoodReductionJacobian.RelativeGroupLaw.exists_bialgHom_of_schemeHomOver_of_forall_mul0 below · depth 14 - Coordinate Hopf algebra of an affine flat relative group law
GoodReductionJacobian.RelativeGroupLaw.exists_hopfAlgebra_algEquiv_globalSections_of_isAffineHom1 below · depth 14 - Common kernel of two morphisms to relative group laws is closed
GoodReductionJacobian.RelativeGroupLaw.exists_isClosedImmersion_comp_eq_one_iff0 below · depth 14 - Image of an idempotent endomorphism of a commutative relative group law
GoodReductionJacobian.RelativeGroupLaw.exists_relativeGroupLaw_image_of_idempotent0 below · depth 14 - Hecke operator T_ℓ, ℓ≠ p, on relative Pic⁰
ModularCurve.DRModelPackageLevel.exists_hom_mul_and_pts_heckeOperatorBar_eq_comp_of_ne1,593 below · depth 14 - Uₚ on J₀(N₀p) induced by an endomorphism of D
ModularCurve.DRModelPackageLevel.exists_hom_mul_and_pts_heckeOperatorBar_self_eq_comp1,914 below · depth 14 - Package fibre dictionary and centre-pinned model read equal places
ModularCurve.DRModelPackageLevel.pointEquivPlace_efib_inv_eq_congrRingEquiv_pointEquivPlace_of_finChart_centrePin126 below · depth 14 - Centre pins for the chart-pinned generic fibre of the Igusa scheme
ModularCurve.IgusaScheme.coeffEmb_sub_mem_nonunits_pointEquivPlace_ofGenerator_of_chartPin0 below · depth 14 - Centre pins on special fibres of the Igusa scheme
ModularCurve.IgusaScheme.exists_spBase_and_cuspChart_centrePin_of_genericFibre_iso_ofGenerator815 below · depth 14 - Geometric integrality of the Igusa scheme over ℤ_{(ℓ)}
ModularCurve.IgusaScheme.geometricallyIntegral_igusaTo848 below · depth 14 - Igusa: the two-chart model of X₀(N) over ℤ_{(ℓ)}
ModularCurve.IgusaScheme.isProper_and_smooth_and_geometricallyIntegral858 below · depth 14 - Reduction of Igusa-scheme points matches the fibre model's specialisation of places
ModularCurve.IgusaScheme.pointReduction_eq_congr_spPlace_of_cuspChart_centrePin191 below · depth 14 - Smoothness of the Igusa model's fibre at ℓ ∤ N
ModularCurve.IgusaScheme.smoothOfRelativeDimension_one_pullback_residue825 below · depth 14 - Unique extension of a geometric generic point over a valuation ring
ModularCurve.JZeroNeronObjectAtP.existsUnique_schemeHomOver_barPt_comp_eq_of_isProper0 below · depth 14 - 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 - A-point with Poincaré bundle 𝒪(u₁-u₂) computes pts([y₁]-[y₂])
ModularCurve.XHDRModelAtP.pts_pic0Mk_eq_barPt_comp_of_poincare_pullbackAlong_iso_ofPoint_tensor_idealModule30 below · depth 14 - Hecke operator T_q as endomorphism of the relative Jacobian
ModularCurve.exists_heckeEndomorphism_relJacobian_of_representsRelSubPic_of_ratCurveModel591 below · depth 14 - Points, reduction and Hecke action on a representing relative Jacobian
ModularCurve.exists_pts_relJacobian_jZero_of_representsRelSubPic_of_ratCurveModel1,162 below · depth 14 - From generators T_ℓ to the whole Hecke algebra
ModularCurve.forall_heckeAlg_exists_hom_mul_and_pts_smul_eq_comp_of_forall_heckeGen0 below · depth 14 - Norm-classifying morphism of relative Pic⁰ is a homomorphism
AlgebraicGeometry.RelPicard.RepresentsRelSubPic.comp_mul_eq_mul_comp_of_classifies_rigidify_normModule76 below · depth 15 - No p-power torsion among K-points of the representing scheme
AlgebraicGeometry.RelPicard.RepresentsRelSubPic.eq_one_of_nsmul_pow_eq_one_of_forall_fibre_pow_torsionFree0 below · depth 15 - Néron extension of an endomorphism preserves the group law
AlgebraicGeometry.RelPicard.schemeHomOverComp_relativeGroupLaw_mul_endExtensionEquiv_symm3 below · depth 15 - A relative group law comes from a group object
GoodReductionJacobian.RelativeGroupLaw.exists_grpObj_eq0 below · depth 15 - Centre-pinned specialisation of places on the finite j-chart
ModularCurve.CharPModel.FibreModel.placeFullC_eq_congr_spPlace_of_finChart_centrePin186 below · depth 15 - Centre-pinned specialisation of places on the pole chart at a cusp
ModularCurve.CharPModel.FibreModel.placeFullC_eq_congr_spPlace_of_infChart_centrePin_of_mem_maximalIdeal184 below · depth 15 - Residue-field points above p killed by [m], p∤ m
ModularCurve.DRModelPackage.exists_schemeNsmul_eq_one_residueField_point435 below · depth 15 - Integral D-points have vanishing component invariant
ModularCurve.DRModelPackageLevel.comp_eq_zero_of_exists_schemeHomOver_of_depthCompLaw_of_abelJacobiPin_of_surjective_red_of_sp_eq_spPlace2,485 below · depth 15 - Geometric chart rings spanned by the integral chart algebras
ModularCurve.IgusaScheme.chartRing_le_span_coeffEmb_chartAlg0 below · depth 15 - Geometric generic fibre of the Igusa scheme as a curve model
ModularCurve.IgusaScheme.exists_curveModel_genericFibre_iso_and_galoisCompat152 below · depth 15 - Igusa chart rings inside a cusp-chart fibre model
ModularCurve.IgusaScheme.exists_fibreModel_cuspChart_of_chartAlg_of_lift743 below · depth 15 - A ℤ_{(ℓ)}-point of the Igusa scheme
ModularCurve.IgusaScheme.nonempty_schemeHomOver_id_igusaTo3 below · depth 15 - Smoothness of the j-finite Igusa chart over k
ModularCurve.IgusaScheme.smoothOfRelativeDimension_one_pullback_chartFin_residue820 below · depth 15 - Smoothness of the Igusa pole chart over k
ModularCurve.IgusaScheme.smoothOfRelativeDimension_one_pullback_chartInf_residue820 below · depth 15 - Smoothness of the Igusa scheme over characteristic-ℓ fields
ModularCurve.IgusaScheme.smoothOfRelativeDimension_one_pullback_of_charP827 below · depth 15 - Smoothness of the Igusa fibre from its two charts
ModularCurve.IgusaScheme.smoothOfRelativeDimension_one_pullback_of_chartFin_of_chartInf0 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 - Relative Pic⁰ of the Deligne–Rapoport model: group law and points
ModularCurve.exists_abelJacobi_pts_relativeGroupLaw_of_dRModelPackage_of_representsRelSubPic1,214 below · depth 15 - A component map on inertia invariants of J₀(p)
ModularCurve.exists_componentHom_extension_of_dRModelPackage_of_abelJacobi_of_ffPin2,509 below · depth 15 - Hecke endomorphisms of the integral model of J₀(p)
ModularCurve.exists_heckeEndomorphism_of_dRModelPackage_of_representsRelSubPic291 below · depth 15 - Points dictionaries modulo ℓ for the relative Pic⁰ of X₀(p)
ModularCurve.exists_pointsDict_pullback_snd_ratLocalizedAt_of_dRModelPackage_of_representsRelSubPic1,835 below · depth 15 - Hecke action on the generic fibre of relative Pic⁰
ModularCurve.forall_exists_schemeHomOver_baseChange_rat_isHom_pts_smul_of_dRModelPackage1,207 below · depth 15 - Good-prime data for relative Pic⁰ of the DR model at ℓ ∤ p
ModularCurve.goodPrime_relativePic0_of_dRModelPackage_of_representsRelSubPic1,837 below · depth 15 - Norm transform endomorphism realises T_q on ℚ̄-points
ModularCurve.heckeOperatorBar_points_eq_comp_of_transform359 below · depth 15 - Divisor correspondence agrees with classifying endomorphism on ℚ̄-points
ModularCurve.pic0Correspondence_pts_eq_comp_of_poincare_pullbackAlong_iso359 below · depth 15 - Prime-to-p torsion extending over A equals toric torsion
ModularCurve.setOf_mem_jZeroTorsion_and_exists_schemeHomOver_eq_coe_jZeroToricTorsion9 below · depth 15 - Extending generic-fibre endomorphisms over mathbf Z_{(ℓ)}
NeronModelInfra.exists_extension_baseChange_ratLocalizedAt_of_genericFibre39 below · depth 15 - Existence of the Jacobian group scheme and Abel–Jacobi dictionary
AlgebraicCurve.Pic0.exists_relativeGroupLaw_equiv_of_curveModel535 below · depth 16 - Prime-to-p torsion for K-points of the Pic⁰ representing scheme
AlgebraicGeometry.RelPicard.RepresentsRelSubPic.exists_nsmul_eq_one_not_dvd_of_forall_fibre_exists_pow_eq_one0 below · depth 16 - Classify-compatible θ is a homomorphism of relative group laws
AlgebraicGeometry.RelPicard.RepresentsRelSubPic.postComp_mul_of_classify_rel0 below · depth 16 - Norm morphism sends dual-number points over the origin to the origin
AlgebraicGeometry.RelPicard.RepresentsRelSubPic.schemeHomOverComp_eq_one_of_dualNumber_of_classifies_rigidify_normModule_of_finrank_eq_char53 below · depth 16 - Closed subgroup of finite index on points is open
AlgebraicGeometry.isOpenImmersion_of_isClosedImmersion_of_isReduced_of_finite_index0 below · depth 16 - Generic-fibre homomorphism property spreads to all points
GoodReductionJacobian.RelativeGroupLaw.comp_mul_eq_mul_comp_of_genericFibre1 below · depth 16 - Trivial component classes extend to A-points of Pic⁰
ModularCurve.DRModelPackage.exists_schemeHomOver_of_comp_eq_zero_of_abelJacobiPin_of_surjective2,060 below · depth 16 - Existence of a resolved Deligne–Rapoport model with place–component dictionary
ModularCurve.DRModelPackageLevel.exists_dRResolvedModelPackageLevel_nodeEquiv_swap_nodeCoordinates_of_surjective_of_sp_eq_spPlace2,427 below · depth 16 - Sections of the resolved X₀(N₀p) model with depth-prescribed components
ModularCurve.DRModelPackageLevel.exists_sections_multidegree_eq_depth_of_exists_schemeHomOver_of_branch186 below · depth 16 - A ℤ_{(ℓ)}-point of the Igusa pole chart
ModularCurve.IgusaScheme.nonempty_algHom_chartAlgInf2 below · depth 16 - Reductions of the Igusa chart algebra span the characteristic-ℓ chart ring
ModularCurve.IgusaScheme.piFin_image_spans_chartAlg182 below · depth 16 - Pole chart ring spanned by reductions of the integral chart algebra
ModularCurve.IgusaScheme.piInf_image_spans_chartAlg182 below · depth 16 - Integral points above ζ with extendable Hecke translate
ModularCurve.exists_integralPoints_through_of_torsion_over_p244 below · depth 16 - Hecke operator T_q on J₀(p)(ℚ̄) realised by φ_η
ModularCurve.heckeOperatorBar_points_eq_comp_of_transform_rat359 below · depth 16 - Valuation ring of the inertia field inside A
ModularCurve.inertiaField_comap_incl_and_surjective_and_isAlgClosed_residueField10 below · depth 16 - Igusa and Deligne–Rapoport point dictionaries agree through θ_ℚ
ModularCurve.pts_lift_comp_theta_fst_eq_pts_of_dRModelPackage_of_igusaModel209 below · depth 16 - Global extension of a homomorphic endomorphism of G_ℚ
NeronModelInfra.exists_extension_hom_of_forall_isMaximal_of_relativeGroupLaw3 below · depth 16 - Extending an endomorphism of G_ℚ over mathbb Z₍ₚ₎
NeronModelInfra.exists_extension_pullback_of_opens_extension_of_relativeGroupLaw26 below · depth 16 - Jacobian, Abel–Jacobi map and Pic⁰ dictionary over algebraically closed fields
AlgebraicCurve.CurveModel.exists_representsRelSubPic_abelJacobi_of_isAlgClosed534 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 - Weil extension via a diagonal difference morphism
GoodReductionJacobian.RelativeGroupLaw.exists_extension_of_diagonal_difference_extension3 below · depth 17 - Difference map extends over the diagonal (Weil extension, step 1)
GoodReductionJacobian.RelativeGroupLaw.exists_opens_diagonal_difference_extension24 below · depth 17 - Residue-field point above a crossing point of the mod-p fibre
ModularCurve.DRModelPackage.exists_residueField_point_baseChangeMap_eq_of_isAlgClosed_residueField270 below · depth 17 - Geometric-fibre transport of the Poincaré bundle with section twists
ModularCurve.DRModelPackage.nonempty_poincare_pullbackAlong_comp_iso_of_pullback_toDR_iso_of_sectionTwist17 below · depth 17 - Recognising pts of a divisor class from its Poincaré fibre
ModularCurve.DRModelPackage.pts_pic0Mk_eq_comp_of_poincare_pullbackAlong_iso21 below · depth 17 - Transporting a degree-zero divisor along a level equivalence
ModularCurve.DRModelPackage.sum_coef_eq_zero_and_exists_degZero_mapDomain_of_equiv_support145 below · depth 17 - Depth-to-component dictionary for the resolved Deligne–Rapoport model
ModularCurve.DRModelPackageLevel.exists_nodeCoordinates_and_forall_mem_support_iff_chainPos_of_charts_of_sp_eq_spPlace2,052 below · depth 17 - Strict places specialise into one labelled component
ModularCurve.DRModelPackageLevel.exists_swap_forall_isStrict_section_mem_range_comp_of_sp_eq_spPlace1,861 below · depth 17 - Node widths of the resolved model equal place widths
ModularCurve.DRModelPackageLevel.forall_width_eq_of_charts_of_sp_eq_spPlace2,299 below · depth 17 - Poincaré pullback of an O-point as a twist of sections
ModularCurve.DRModelPackageLevel.nonempty_pullback_toDR_poincare_pullbackAlong_iso_foldr_sectionTwist180 below · depth 17 - Non-strict inertia-fixed places specialise to crossings
ModularCurve.DRModelPackageLevel.section_base_closedPoint_eq_crossing_of_reduceFst_mem_of_sp_eq_spPlace1,891 below · depth 17 - Base change along τ of a section and its geometric generic point
ModularCurve.DRResolvedModelPackage.eEta_comp_pullbackMap_eq_comp_toDR_of_comp_fst_eq0 below · depth 17 - Node bijection and orientation bit for the component dictionary
ModularCurve.DRResolvedModelPackage.exists_nodeEquiv_swap_forall_comp_eq_dict_of_sections_of_charts1,640 below · depth 17 - An O-point of D whose Poincaré class is M
ModularCurve.DRResolvedModelPackage.exists_schemeHomOver_poincare_pullbackAlong_iso_of_generic_sectionTwist_of_forall_isAlgEquivZero36 below · depth 17 - Inertia-fixed places give sections of the resolved model
ModularCurve.DRResolvedModelPackage.exists_section_toDR_generic_eq_pointEquivPlace_symm_of_forall_inertia_smul_eq0 below · depth 17 - Vertical twist to multidegree zero fixing the generic fibre
ModularCurve.DRResolvedModelPackage.exists_verticalTwist_multidegree_eq_zero_and_generic_iso_sectionTwist46 below · depth 17 - Multidegree zero forces algebraic equivalence to zero on fibres
ModularCurve.DRResolvedModelPackage.isAlgEquivZero_fibre_of_pullback_toDR_iso_divisorial_of_multidegree_eq_zero1,241 below · depth 17 - Vanishing component class puts the multidegree in α's image
ModularCurve.DRResolvedModelPackage.multidegree_mem_range_intersectionAlpha_of_comp_eq_zero482 below · depth 17 - Sections of the resolved model avoid the edge points
ModularCurve.DRResolvedModelPackage.ne_edgePt_and_mem_smoothOffEdges_and_existsUnique_mem_comp_support_of_section1 below · depth 17 - Generic fibre of a bundle descended through the resolution
ModularCurve.DRResolvedModelPackage.nonempty_pullback_comp_toDR_iso_sectionTwist_of_iso_divisorial0 below · depth 17 - Largest open of definition of the difference map
GoodReductionJacobian.RelativeGroupLaw.exists_isGreatest_opens_difference_extension3 below · depth 18 - Node coordinates at a supersingular crossing from a chart presentation
ModularCurve.DRModelPackage.exists_nodeCoordinates_and_forall_mem_support_iff_chainPos_of_chartPresentation_of_branch_of_jPin1,158 below · depth 18 - Supersingular places enumerate the crossings, with width and j-pin
ModularCurve.DRModelPackage.exists_nodeEquiv_width_eq_and_jPin414 below · depth 18 - An orientation bit matching strict places to branch components
ModularCurve.DRModelPackage.exists_swap_forall_isStrict_section_mem_range_comp_of_reading445 below · depth 18 - Supersingular O-lift of j at each crossing
ModularCurve.DRModelPackage.forall_exists_lift_jFun_sub_mem_maximalIdeal_and_mem_ssJSet404 below · depth 18 - Sections through non-strict inertia-fixed places meet the matched crossing
ModularCurve.DRModelPackage.section_base_closedPoint_eq_crossing_of_reduceFst_mem337 below · depth 18 - Node coordinates and chain position at one supersingular crossing
ModularCurve.DRModelPackageLevel.exists_nodeCoordinates_and_forall_mem_support_iff_chainPos_of_chartPresentation2,007 below · depth 18 - Function field of the O-model inside ℚ̄(X₀(N₀q))
ModularCurve.DRModelPackageLevel.exists_ringHom_functionField_pullback_forall_eq_algebraMap_and_coe_eq_coeffEmb0 below · depth 18 - Strict places orient sections onto the two special-fibre components
ModularCurve.DRModelPackageLevel.forall_isStrict_section_mem_range_comp_zero_comp_one_of_sp_eq_spPlace1,861 below · depth 18 - Integrality of the q-adic base change of the Deligne–Rapoport model
ModularCurve.DRModelPackageLevel.isIntegral_pullback_toBase_specMap3 below · depth 18 - Non-emptiness of the finite Igusa chart over O
ModularCurve.DRModelPackageLevel.nonempty_preimage_iotaFin_pullback_toBase_specMap0 below · depth 18 - Local chart presentation at a node of the resolved model
ModularCurve.DRResolvedModelPackage.DRResolvedModelCharts.exists_chartPresentation_stalk255 below · depth 18 - Strict transforms detected on the Deligne–Rapoport closed fibre
ModularCurve.DRResolvedModelPackage.eq_inl_iff_toDR_base_mem_range_compInf_of_mem_comp_support56 below · depth 18 - Multidegree zero gives χ=χ(𝒪) on a strict transform
ModularCurve.DRResolvedModelPackage.eulerChar_sectionsOf_pullback_strictTransform_eq_of_multidegree_eq_zero_of_surjective237 below · depth 18 - Node width equals the j-width of the reduced j-value
ModularCurve.DRResolvedModelPackage.width_eq_jWidth_of_exists_jFun_sub_mem_maximalIdeal_of_prolongationTuple1,630 below · depth 18 - Germ reading j(qᵖ)-j(q)ᵖ at a supersingular crossing
ModularCurve.DRModelPackage.exists_germ_jq_sub_pow_and_stalkSpecializes_mem_maximalIdeal_of_swap568 below · depth 19 - Germ of j(q^q)-j^q vanishing along the first component
ModularCurve.DRModelPackageLevel.exists_germ_jq_sub_pow_and_stalkSpecializes_mem_maximalIdeal_comp_zero299 below · depth 19 - Maximal ideals preserved at crossings under base change
ModularCurve.DRModelPackageLevel.map_maximalIdeal_stalkMap_bcMap_eq_of_inertia_grain0 below · depth 19 - Germs at a supersingular crossing lie in the node ring
ModularCurve.DRModelPackageLevel.mem_nodeIntegers_of_stalk_of_specializes_of_nodeEquiv_eq1,993 below · depth 19 - Branch residues and orders at a supersingular crossing
ModularCurve.DRModelPackageLevel.nodeResidue_eq_zero_iff_and_ord_eq_of_specializes_of_mem_maximalIdeal364 below · depth 19 - Crossing coordinates are uniformisers on the two branches
ModularCurve.DRModelPackageLevel.ord_placeOfPoint_stalkMap_eq_one_of_span_eq_maximalIdeal0 below · depth 19 - Evaluation at a place equals pull-back along an O-section
ModularCurve.DRModelPackageLevel.phi_mem_and_evalAt_eq_stalkClosedPointTo_of_section3 below · depth 19 - Crossing points are rational over the inertia ring O
ModularCurve.DRModelPackageLevel.surjective_residue_comp_germ_comp_appTop_of_inertia_grain10 below · depth 19
… and 549 more statements (search for the module name to find them).