Definitions/Def_CerednikDrinfeld_ModuliPackageDeformation.lean
Fibres, pullback rings, FP-exactness and lifting for moduli packages
Throughout, p is a prime, O a commutative ring, and F, G, H are moduli packages over O in the project's sense: assignments B \mapsto F(B,\psi) of a set to each commutative ring B with a ring map \psi\colon O \to B and a witness that p is nilpotent in B, together with transition maps along structure-compatible ring homomorphisms satisfying identity and composition laws; Hom is a morphism of such packages, given by maps \xi_B commuting with all transition maps.
Four constructions are made. First, fibre: for g\colon C \to B with g \circ \psi_C = \psi_B and x \in F(B,\psi_B), the subset of F(C,\psi_C) of elements whose image under the transition map along g is x. Second, for \varphi'\colon B' \to B and \varphi''\colon B'' \to B, the ring B' \times_B B'' is realised as the subring pullbackRing of B' \times B'' cut out by \varphi'(b') = \varphi''(b''), with the two projections pullbackFst, pullbackSnd and, given \varphi' \circ \psi' = \varphi'' \circ \psi'', the structure map pullbackStr sending o to (\psi' o, \psi'' o); two small lemmas record that composing pullbackStr with either projection returns \psi', respectively \psi''.
Third, IsFPExact F asserts: whenever \varphi', \varphi'' are surjective, compatible with the structure maps, have nilpotent kernel ideals, and p is nilpotent in B, B', B'' and in the pullback ring, every pair x' \in F(B'), x'' \in F(B'') with equal images in F(B) comes from a unique element of F(B' \times_B B''); that is, F(B' \times_B B'') \to F(B') \times_{F(B)} F(B'') is bijective, phrased as a unique-existence statement for the two projection conditions.
Fourth, LiftsAlong ξ asserts, for \varphi\colon B' \to B surjective with (\ker \varphi)^2 = 0 and x \in G(B): if the fibre of H over \xi_B(x) along \varphi is non-empty, then so is the fibre of G over x. Only non-emptiness is transferred; no compatibility between the two lifts is required.
Relation to Mathlib
The pullback of rings is built here as the RingHom.eqLocus subring of a product rather than via Mathlib's limit machinery; fibre, IsFPExact and LiftsAlong are conditions on the project's own ModuliPackage notion and have no Mathlib counterpart.
Where it is used
These are the functorial conditions used in the study of Drinfeld's moduli problem for special formal \mathcal{O}-modules: exactness for fibre products of rings with nilpotent-kernel surjections, together with lifting along square-zero extensions, is what allows statements proved for rings killed by p to be propagated to all rings in which p is nilpotent. The resulting Čerednik–Drinfeld uniformisation underlies the Shimura-curve inputs to the level-lowering part of the argument.
References
- J.-F. Boutot and H. Carayol, Uniformisation p-adique des courbes de Shimura: les théorèmes de Čerednik et de Drinfeld, Astérisque 196–197 (1991), 45–158
- M. Schlessinger, Functors of Artin rings, Transactions of the American Mathematical Society 130 (1968), 208–222
- V. G. Drinfeld, Coverings of p-adic symmetric domains, Functional Analysis and its Applications 10 (1976), 107–115
References are suggested automatically and have not been individually verified.
English text generated automatically from the Lean source; the Lean statement is authoritative.
- 75 lines
- 9 declarations
- used in the statements of 32 theorems and imported by 34 proofs
- imports 2 definition modules
Source file: Definitions/Def_CerednikDrinfeld_ModuliPackageDeformation.lean
Imported by
- no other definition module
Declarations
- def
CerednikDrinfeld.SpecialFormal.ModuliPackage.fibre - def
CerednikDrinfeld.SpecialFormal.ModuliPackage.pullbackRing - def
CerednikDrinfeld.SpecialFormal.ModuliPackage.pullbackStr - def
CerednikDrinfeld.SpecialFormal.ModuliPackage.pullbackFst - def
CerednikDrinfeld.SpecialFormal.ModuliPackage.pullbackSnd - theorem
CerednikDrinfeld.SpecialFormal.ModuliPackage.pullbackFst_comp_pullbackStr - theorem
CerednikDrinfeld.SpecialFormal.ModuliPackage.pullbackSnd_comp_pullbackStr - def
CerednikDrinfeld.SpecialFormal.ModuliPackage.IsFPExact - def
CerednikDrinfeld.SpecialFormal.ModuliPackage.LiftsAlong
Source
import Mathlib import Definitions.Def_CerednikDrinfeld_SpecialFormalModule import Definitions.Def_CerednikDrinfeld_ModuliPackageDescent set_option autoImplicit false namespace CerednikDrinfeld namespace SpecialFormal namespace ModuliPackage variable {p : ℕ} [Fact p.Prime] {O : Type} [CommRing O] def fibre (F : ModuliPackage.{0, 0} p O) {B C : Type} [CommRing B] [CommRing C] {ψB : O →+* B} {ψC : O →+* C} (hC : IsNilpotent (p : C)) (hB : IsNilpotent (p : B)) (g : C →+* B) (hg : g.comp ψC = ψB) (x : F.obj B ψB hB) : Set (F.obj C ψC hC) := {x' | F.map hC hB g hg x' = x} def pullbackRing {B B' B'' : Type} [CommRing B] [CommRing B'] [CommRing B''] (φ' : B' →+* B) (φ'' : B'' →+* B) : Subring (B' × B'') := RingHom.eqLocus (φ'.comp (RingHom.fst B' B'')) (φ''.comp (RingHom.snd B' B'')) def pullbackStr {B B' B'' : Type} [CommRing B] [CommRing B'] [CommRing B''] (φ' : B' →+* B) (φ'' : B'' →+* B) (ψ' : O →+* B') (ψ'' : O →+* B'') (h : φ'.comp ψ' = φ''.comp ψ'') : O →+* pullbackRing φ' φ'' := (RingHom.prod ψ' ψ'').codRestrict (pullbackRing φ' φ'') (fun o => by show φ' (ψ' o) = φ'' (ψ'' o) exact congrArg (fun f : O →+* B => f o) h) def pullbackFst {B B' B'' : Type} [CommRing B] [CommRing B'] [CommRing B''] (φ' : B' →+* B) (φ'' : B'' →+* B) : pullbackRing φ' φ'' →+* B' := (RingHom.fst B' B'').comp (pullbackRing φ' φ'').subtype def pullbackSnd {B B' B'' : Type} [CommRing B] [CommRing B'] [CommRing B''] (φ' : B' →+* B) (φ'' : B'' →+* B) : pullbackRing φ' φ'' →+* B'' := (RingHom.snd B' B'').comp (pullbackRing φ' φ'').subtype theorem pullbackFst_comp_pullbackStr {B B' B'' : Type} [CommRing B] [CommRing B'] [CommRing B''] (φ' : B' →+* B) (φ'' : B'' →+* B) (ψ' : O →+* B') (ψ'' : O →+* B'') (h : φ'.comp ψ' = φ''.comp ψ'') : (pullbackFst φ' φ'').comp (pullbackStr φ' φ'' ψ' ψ'' h) = ψ' := RingHom.ext fun _ => rfl theorem pullbackSnd_comp_pullbackStr {B B' B'' : Type} [CommRing B] [CommRing B'] [CommRing B''] (φ' : B' →+* B) (φ'' : B'' →+* B) (ψ' : O →+* B') (ψ'' : O →+* B'') (h : φ'.comp ψ' = φ''.comp ψ'') : (pullbackSnd φ' φ'').comp (pullbackStr φ' φ'' ψ' ψ'' h) = ψ'' := RingHom.ext fun _ => rfl def IsFPExact (F : ModuliPackage.{0, 0} p O) : Prop := ∀ (B B' B'' : Type) [CommRing B] [CommRing B'] [CommRing B''] (ψ : O →+* B) (ψ' : O →+* B') (ψ'' : O →+* B'') (hB : IsNilpotent (p : B)) (hB' : IsNilpotent (p : B')) (hB'' : IsNilpotent (p : B'')) (φ' : B' →+* B) (φ'' : B'' →+* B) (hφ' : φ'.comp ψ' = ψ) (hφ'' : φ''.comp ψ'' = ψ) (_ : Function.Surjective φ') (_ : Function.Surjective φ'') (_ : IsNilpotent (RingHom.ker φ')) (_ : IsNilpotent (RingHom.ker φ'')) (hP : IsNilpotent (p : pullbackRing φ' φ'')), ∀ (x' : F.obj B' ψ' hB') (x'' : F.obj B'' ψ'' hB''), F.map hB' hB φ' hφ' x' = F.map hB'' hB φ'' hφ'' x'' → ∃! z : F.obj (pullbackRing φ' φ'') (pullbackStr φ' φ'' ψ' ψ'' (hφ'.trans hφ''.symm)) hP, F.map hP hB' (pullbackFst φ' φ'') (pullbackFst_comp_pullbackStr φ' φ'' ψ' ψ'' _) z = x' ∧ F.map hP hB'' (pullbackSnd φ' φ'') (pullbackSnd_comp_pullbackStr φ' φ'' ψ' ψ'' _) z = x'' def LiftsAlong {G H : ModuliPackage.{0, 0} p O} (ξ : Hom G H) : Prop := ∀ (B B' : Type) [CommRing B] [CommRing B'] (ψ : O →+* B) (ψ' : O →+* B') (hB : IsNilpotent (p : B)) (hB' : IsNilpotent (p : B')) (φ : B' →+* B) (hφ : φ.comp ψ' = ψ) (_ : Function.Surjective φ) (_ : RingHom.ker φ * RingHom.ker φ = ⊥) (x : G.obj B ψ hB), (H.fibre hB' hB φ hφ (ξ.app B ψ hB x)).Nonempty → (G.fibre hB' hB φ hφ x).Nonempty end ModuliPackage end SpecialFormal end CerednikDrinfeld
Statements phrased using this module (32)
- Existence of a Drinfeld moduli package for rigidified special formal O_D-modules
CerednikDrinfeld.SpecialFormal.Rigidified.exists_moduliPackage_isZariskiSheaf_eta_iff_isIsomorphic_and_natural_and_cover78 below · depth 32 - Fibre-square gluing for the p-adic Ω̂ package, Noetherian case
CerednikDrinfeld.FormalOmega.omegaPackage_padic_existsUnique_map_pullbackFst_eq_and_map_pullbackSnd_eq_of_isNoetherianRing1 below · depth 33 - Zariski-local lifting of moduli points along square-zero thickenings
CerednikDrinfeld.SpecialFormal.ModuliPackage.IsPeriodMap.exists_cover_exists_map_eq_map_of_isBaseChange_of_ker_mul_ker_eq_bot_of_lieVarpi_eq_zero348 below · depth 33 - Bijectivity from characteristic p, local lifting and Zariski descent
CerednikDrinfeld.SpecialFormal.ModuliPackage.bijective_of_forall_charP_bijective_of_locallyLiftsAlong_noetherian_of_isZariskiSheaf0 below · depth 33 - Fibre-product exactness of the moduli package over Noetherian rings
CerednikDrinfeld.SpecialFormal.ModuliPackage.existsUnique_map_pullbackFst_eq_and_map_pullbackSnd_eq_of_isNoetherianRing_of_isZariskiSheaf48 below · depth 33 - Injectivity of the moduli sheaf on Noetherian fibre products
CerednikDrinfeld.SpecialFormal.ModuliPackage.eq_of_map_pullbackFst_eq_of_map_pullbackSnd_eq_of_isNoetherianRing_of_isZariskiSheaf17 below · depth 34 - Gluing M along fibre squares of Noetherian rings: existence
CerednikDrinfeld.SpecialFormal.ModuliPackage.exists_map_pullbackFst_eq_and_map_pullbackSnd_eq_of_isNoetherianRing_of_isZariskiSheaf47 below · depth 34 - Localisation commutes with fibre products of rings
CerednikDrinfeld.SpecialFormal.ModuliPackage.isLocalization_away_pullbackRing_of_comp_eq0 below · depth 35 - Fibre product of surjections of Noetherian rings is Noetherian
CerednikDrinfeld.SpecialFormal.ModuliPackage.isNoetherianRing_pullbackRing_of_surjective0 below · depth 35 - Gluing admissible rigidified triples along a ring fibre product
CerednikDrinfeld.SpecialFormal.Rigidified.exists_isAdmissible_and_isIsomorphic_map_pullbackFst_and_isIsomorphic_map_pullbackSnd38 below · depth 35 - Uniqueness of gluing for admissible rigidified objects
CerednikDrinfeld.SpecialFormal.Rigidified.isIsomorphic_of_isIsomorphic_map_pullbackFst_of_isIsomorphic_map_pullbackSnd15 below · depth 35 - Glueing formal 𝒪_D-modules along a fibre product of rings
CerednikDrinfeld.FormalODModule.exists_map_pullbackFst_eq_and_isIso_map_pullbackSnd_of_isIso2 below · depth 36 - Fibre-product exactness for deformations of a fake elliptic curve
CerednikDrinfeld.QM.FakeEllipticCurve.exists_isPullbackVia_pullbackRing_of_isPullbackVia_of_isArtinianRing45 below · depth 40 - Artinian bijectivity from residue field and dual numbers
CerednikDrinfeld.SpecialFormal.ModuliPackage.bijective_of_isArtinianRing_of_bijective_dualNumber_of_liftsAlong_noetherian_artinLocal_typeFamily5 below · depth 40 - Transport of bijectivity along a ring isomorphism of test rings
CerednikDrinfeld.SpecialFormal.ModuliPackage.bijective_of_ringEquiv_noetherian_typeFamily0 below · depth 40 - Fake elliptic curves glue along B'×_B B''
CerednikDrinfeld.QM.FakeEllipticCurve.exists_isPullbackVia_pullbackFst_pullbackSnd_isPushout_of_surjective_of_isNilpotent23 below · depth 41 - Uniqueness of the glued fake elliptic curve over B'×_B B''
CerednikDrinfeld.QM.FakeEllipticCurve.exists_iso_of_isPushout_of_isPullbackVia_pullbackFst_pullbackSnd33 below · depth 41 - Bijectivity over B' from quotient and dual numbers
CerednikDrinfeld.SpecialFormal.ModuliPackage.bijective_of_bijective_quotient_of_bijective_dualNumber_of_ringEquiv_pullbackRing_noetherian_artinLocal_typeFamily1 below · depth 41 - Pullback B'×_B B'≅ B'×_k k[ε] for a principal socle kernel
CerednikDrinfeld.SpecialFormal.ModuliPackage.exists_ringEquiv_pullbackRing_self_dualNumber_of_span_singleton_of_mem0 below · depth 41 - Gluing schemes along nilpotent thickenings over a ring fibre product
AlgebraicGeometry.exists_isPushout_isPullback_specMap_pullbackFst_pullbackSnd_of_surjective_of_isNilpotent9 below · depth 42 - Glued group law and Λ-action on a pushout of fake elliptic curves
CerednikDrinfeld.QM.FakeEllipticCurve.exists_mul_unit_inv_act_forall_comp_eq_of_isPushout_of_isPullbackVia17 below · depth 42 - Comparison morphism of two gluings is a homomorphism
CerednikDrinfeld.QM.FakeEllipticCurve.mapPt_mul_and_factorsThrough_iff_of_isPushout_of_comp_eq_of_comp_eq13 below · depth 42 - Fibres over a small extension match tangent vectors
CerednikDrinfeld.SpecialFormal.ModuliPackage.existsUnique_fibre_dualNumber_iff_of_isFPExact_of_ringEquiv_pullbackRing_artinLocal_typeFamily0 below · depth 42 - Gluing schemes along two nilpotent base thickenings
AlgebraicGeometry.exists_isPullback_isPushout_flat_of_surjective_of_isNilpotent_pullbackRing7 below · depth 43 - Fibre products of flat glued schemes are push-outs
AlgebraicGeometry.isPushout_pullbackMap_of_isPushout_of_isPushout_of_flat12 below · depth 43 - Gluing the multiplication morphism over a pushout of total spaces
CerednikDrinfeld.QM.FakeEllipticCurve.exists_mul_forall_coe_mul_comp_eq_lift_comp_of_isPushout_of_isPullbackVia13 below · depth 43 - Gluing unit, inversion and Λ-action over a pushout
CerednikDrinfeld.QM.FakeEllipticCurve.exists_unit_inv_act_forall_comp_eq_of_isPushout_of_isPullbackVia1 below · depth 43 - Group law and Λ-action axioms over the fibre ring
CerednikDrinfeld.QM.FakeEllipticCurve.mul_assoc_comm_and_act_identities_of_forall_comp_eq_of_isPushout_of_isPullbackVia13 below · depth 43 - Affine chart for gluing along a nilpotent thickening
AlgebraicGeometry.isPullback_isPushout_specMap_of_isPullback_pullbackRing_of_isPushout_of_surjective_of_isNilpotent2 below · depth 44 - Flat schemes over a ring fibre product are pushouts
AlgebraicGeometry.isPushout_of_flat_of_isPullback_specMap_pullbackFst_pullbackSnd11 below · depth 44 - Flat patching along a fibre product of nilpotent thickenings
RingHom.exists_pullbackRing_isPushout_flat_of_isPushout_of_flat_of_surjective_of_isNilpotent2 below · depth 44 - Flatness over a fibre product along nilpotent thickenings
RingHom.Flat.of_pullbackRing_of_isPushout_of_surjective_of_isNilpotent0 below · depth 45