Definitions/Def_Deformations_ProartinianCat.lean
The category of local pro-Artinian -algebras
Over a commutative ring \mathcal{O}, the class Deformation.IsLocalProartinianAlgebra π R is imposed on a commutative ring R carrying a topology and an \mathcal{O}-algebra structure; it bundles: R is a topological ring and a local ring; IsProartinian R, i.e. the topology is linear (a basis of neighbourhoods of 0 by ideals), T_0, complete for the right uniformity, and R/I is Artinian for every open ideal I; the structure map \mathcal{O}\to R is a local homomorphism; and IsResidueAlgebra π R, i.e. \mathcal{O}\to R/\mathfrak{m}_R is surjective. Two unnamed facts are recorded: such an R forces \mathcal{O} to be local, and if \mathcal{O} is local with the \mathfrak{m}_{\mathcal{O}}-adic topology then \mathcal{O}\to R is continuous.
Deformation.ProartinianCat π is the structure bundling a carrier type in a fixed universe with these data. Morphisms Hom A B wrap the continuous \mathcal{O}-algebra homomorphisms A \to_A[\mathcal{O}] B, with identity and composition giving the category instance; every morphism is automatically local. The constructors of, ofHom and the lemmas coe_of, hom_id, hom_comp, hom_ext, ofHom_comp and companions relate bundled objects and morphisms to their underlying data; ofEquiv turns a continuous \mathcal{O}-algebra equivalence into a categorical isomorphism and CategoryTheory.Iso.toContinuousAlgEquiv goes back.
Two distinguished objects are constructed. When \mathcal{O} is local, Noetherian, \mathfrak{m}_{\mathcal{O}}-adically complete with finite residue field, self is \mathcal{O} with its adic topology; fromSelf is the structure map, the hom-set out of self is a singleton, and isInitialSelf exhibits it as initial. When \mathcal{O} is local, residueField is \mathcal{O}/\mathfrak{m}_{\mathcal{O}} with the discrete topology; toResidueField R is R \to R/\mathfrak{m}_R followed by the inverse of the induced isomorphism \mathcal{O}/\mathfrak{m}_{\mathcal{O}} \cong R/\mathfrak{m}_R. It is surjective with kernel \mathfrak{m}_R; to_residueField_apply shows any morphism to residueField sends r to the residue of a chosen a\in\mathcal{O} with r-a\in\mathfrak{m}_R, whence uniqueness and isTerminalResidueField.
Relation to Mathlib
Mathlib has no category of pro-Artinian local algebras; IsProartinian, IsResidueAlgebra and IsLocalRing.IsAdicTopology are the project's own predicates. The packaging (a carrier-plus-instances structure with of, ofHom, a wrapped Hom type and coercion lemmas) follows Mathlib's conventions for bundled concrete categories, and the morphisms are Mathlib's continuous algebra homomorphisms βA[π].
Where it is used
This is the base category on which deformation and lifting functors of a residual representation \bar\rho \colon G \to \mathrm{GL}_n(k) are defined, so that representability statements for universal deformation rings can be formulated; the initial object \mathcal{O} and the terminal residue field provide the coefficient ring and the reduction used throughout the deformation-theoretic input to modularity lifting.
References
- B. Mazur, Deforming Galois representations, in: Galois Groups over \mathbb{Q}, MSRI Publications 16, Springer, 1989, 385β437
- M. Schlessinger, Functors of Artin rings, Transactions of the American Mathematical Society 130 (1968), 208β222
- B. de Smit and H. W. Lenstra, Jr., Explicit construction of universal deformation rings, in: Modular Forms and Fermat's Last Theorem, Springer, 1997, 313β326
References are suggested automatically and have not been individually verified.
English text generated automatically from the Lean source; the Lean statement is authoritative.
- 248 lines
- 38 declarations
- used in the statements of 6 theorems and imported by 5 proofs
- imports 2 definition modules
Source file: Definitions/Def_Deformations_ProartinianCat.lean
Declarations
- class
Deformation.IsLocalProartinianAlgebra - field
Deformation.IsLocalProartinianAlgebra.R - field
Deformation.IsLocalProartinianAlgebra.IsLocalHom - structure
Deformation.ProartinianCat - field
Deformation.ProartinianCat.carrier - abbrev
Deformation.ProartinianCat.of - lemma
Deformation.ProartinianCat.coe_of - structure
Deformation.ProartinianCat.Hom - field
Deformation.ProartinianCat.Hom.hom - abbrev
Deformation.ProartinianCat.ofHom - lemma
Deformation.ProartinianCat.hom_id - lemma
Deformation.ProartinianCat.id_apply - lemma
Deformation.ProartinianCat.hom_comp - lemma
Deformation.ProartinianCat.comp_apply - lemma
Deformation.ProartinianCat.hom_ext - lemma
Deformation.ProartinianCat.hom_ofHom - lemma
Deformation.ProartinianCat.ofHom_hom - lemma
Deformation.ProartinianCat.ofHom_id - lemma
Deformation.ProartinianCat.ofHom_comp - def
Deformation.ProartinianCat.ofEquiv - def
CategoryTheory.Iso.toContinuousAlgEquiv - def
Deformation.ProartinianCat.self - def
Deformation.ProartinianCat.fromSelf - def
Deformation.ProartinianCat.isInitialSelf - def
Deformation.ProartinianCat.residueField - def
Deformation.ProartinianCat.toResidueField - lemma
Deformation.ProartinianCat.toResidueField_surjective - lemma
Deformation.ProartinianCat.ker_toResidueField - lemma
Deformation.ProartinianCat.to_residueField_apply - def
Deformation.ProartinianCat.isTerminalResidueField
Source
import Mathlib import Definitions.Def_Deformations_IsProartinian import Definitions.Def_Deformations_IsResidueAlgebra set_option autoImplicit false universe u open CategoryTheory Function Limits IsLocalRing namespace Deformation variable (π : Type u) [CommRing π] class IsLocalProartinianAlgebra (R : Type u) [CommRing R] [TopologicalSpace R] [Algebra π R] : Prop extends IsTopologicalRing R, IsLocalRing R, IsProartinian R, IsLocalHom (algebraMap π R), IsResidueAlgebra π R section π_is_local example (π : Type u) [CommRing π] (R : Type u) [CommRing R] [TopologicalSpace R] [Algebra π R] [IsLocalProartinianAlgebra π R] : IsLocalRing π := by let Ο : π β+* R := algebraMap π R have hΟ : IsLocalHom Ο := IsLocalProartinianAlgebra.toIsLocalHom have hR : Nontrivial R := IsLocalRing.toNontrivial haveI : Nontrivial π := RingHom.domain_nontrivial Ο apply of_nonunits_add intros a b ha hb rw [mem_nonunits_iff, β isUnit_map_iff Ο, β mem_nonunits_iff] at ha hb β’ rw [map_add] exact Ideal.add_mem (IsLocalRing.maximalIdeal R) ha hb example (π : Type u) [CommRing π] [TopologicalSpace π] [IsTopologicalRing π] [IsLocalRing π] [IsAdicTopology π] (R : Type u) [CommRing R] [TopologicalSpace R] [Algebra π R] [IsLocalProartinianAlgebra π R] : Continuous (algebraMap π R) := isContinuous_of_isProartinian_of_isLocalHom _ end π_is_local structure ProartinianCat where carrier : Type u [commRing : CommRing carrier] [topologicalSpace : TopologicalSpace carrier] [algebra : Algebra π carrier] [isLocalProartinianAlgebra : IsLocalProartinianAlgebra π carrier] local notation3:max "π" π => ProartinianCat π namespace ProartinianCat attribute [instance] commRing algebra topologicalSpace isLocalProartinianAlgebra initialize_simps_projections ProartinianCat (-commRing, -algebra, -topologicalSpace) instance : CoeSort (ProartinianCat π) (Type u) := β¨carrierβ© attribute [coe] ProartinianCat.carrier abbrev of (X : Type u) [CommRing X] [Algebra π X] [TopologicalSpace X] [IsLocalProartinianAlgebra π X] : ProartinianCat π := β¨Xβ© lemma coe_of (X : Type u) [CommRing X] [Algebra π X] [TopologicalSpace X] [IsLocalProartinianAlgebra π X] : of π X = X := rfl variable {π} in @[ext] structure Hom (A B : ProartinianCat π) where hom : A βA[π] B instance : Category (ProartinianCat π) where Hom A B := Hom A B id A := β¨ContinuousAlgHom.id π Aβ© comp f g := β¨g.hom.comp f.homβ© instance (A B : ProartinianCat π) (f : A βΆ B) : IsLocalHom f.hom := by convert isLocalHom_of_isContinuous_of_isProartinian f.hom.toRingHom f.hom.cont exact β¨fun β¨Hβ© β¦ β¨Hβ©, fun β¨Hβ© β¦ β¨Hβ©β© variable {π} in abbrev ofHom {A B : Type u} [CommRing A] [Algebra π A] [TopologicalSpace A] [IsLocalProartinianAlgebra π A] [CommRing B] [Algebra π B] [TopologicalSpace B] [IsLocalProartinianAlgebra π B] (f : A βA[π] B) : of π A βΆ of π B := β¨fβ© variable {π} variable {X Y Z : Type u} [CommRing X] [Algebra π X] [TopologicalSpace X] [IsLocalProartinianAlgebra π X] [CommRing Y] [Algebra π Y] [TopologicalSpace Y] [IsLocalProartinianAlgebra π Y] [CommRing Z] [Algebra π Z] [TopologicalSpace Z] [IsLocalProartinianAlgebra π Z] variable {A B C : ProartinianCat π} @[simp] lemma hom_id : (π A :).hom = ContinuousAlgHom.id π A := rfl lemma id_apply (x) : (π A :).hom x = x := rfl @[simp] lemma hom_comp (f : A βΆ B) (g : B βΆ C) : (f β« g).hom = g.hom.comp f.hom := rfl lemma comp_apply (f : A βΆ B) (g : B βΆ C) (x) : (f β« g).hom x = g.hom (f.hom x) := rfl @[ext] lemma hom_ext {f g : A βΆ B} (hf : f.hom = g.hom) : f = g := Hom.ext hf lemma hom_ofHom (f : X βA[π] Y) : (ofHom f).hom = f := rfl @[simp] lemma ofHom_hom (f : A βΆ B) : ofHom (Hom.hom f) = f := rfl @[simp] lemma ofHom_id : ofHom (ContinuousAlgHom.id π X) = π (of π X) := rfl @[simp] lemma ofHom_comp (f : X βA[π] Y) (g : Y βA[π] Z) : ofHom (g.comp f) = ofHom f β« ofHom g := rfl @[simps] def ofEquiv (e : X βA[π] Y) : of π X β of π Y where hom := ofHom (e : X βA[π] Y) inv := ofHom (e.symm : Y βA[π] X) def _root_.CategoryTheory.Iso.toContinuousAlgEquiv (i : A β B) : A βA[π] B where __ := i.hom.hom invFun := i.inv.hom left_inv _ := by simp [β comp_apply] right_inv _ := by simp [β comp_apply] continuous_toFun := i.hom.hom.cont continuous_invFun := i.inv.hom.2 section self variable [IsLocalRing π] [IsNoetherianRing π] [Finite (ResidueField π)] [IsAdicComplete (maximalIdeal π) π] def self : π π where carrier := π topologicalSpace := (maximalIdeal π).adicTopology isLocalProartinianAlgebra := letI := (maximalIdeal π).adicTopology letI : IsTopologicalRing π := (RingSubgroupsBasis.toRingFilterBasis _).isTopologicalRing letI : CompactSpace π := compactSpace_of_finite_residueField β¨β© instance : IsAdicTopology (self (π := π)) := β¨rflβ© def fromSelf (R : ProartinianCat π) : self βΆ R where hom := letI := (maximalIdeal π).adicTopology letI : IsTopologicalRing π := (RingSubgroupsBasis.toRingFilterBasis _).isTopologicalRing letI : IsAdicTopology π := β¨rflβ© β¨Algebra.ofId _ _, isContinuous_of_isProartinian_of_isLocalHom (algebraMap π R)β© instance (R : ProartinianCat π) : Unique (self βΆ R) := by refine β¨β¨fromSelf Rβ©, fun f β¦ ?_β© ext : 1 apply ContinuousAlgHom.coe_inj.mp ext def isInitialSelf : IsInitial (self (π := π)) := .ofUnique _ end self section residueField variable [IsLocalRing π] set_option backward.isDefEq.respectTransparency false in def residueField : π π where carrier := ResidueField π topologicalSpace := β₯ isLocalProartinianAlgebra := letI : TopologicalSpace (ResidueField π) := β₯ letI : DiscreteTopology (ResidueField π) := β¨rflβ© letI : IsResidueAlgebra π (ResidueField π) := by delta ResidueField; infer_instance β¨β© instance : DiscreteTopology (residueField (π := π)) := β¨rflβ© noncomputable instance : Field (residueField (π := π)) := inferInstanceAs (Field (ResidueField π)) set_option backward.isDefEq.respectTransparency false in noncomputable def toResidueField (R : ProartinianCat π) : R βΆ residueField where hom := β¨(IsResidueAlgebra.algEquiv π R).symm.toAlgHom.comp (IsScalarTower.toAlgHom π R _), by refine (RingHom.continuous_iff_isOpen_ker (Ξ² := residueField) (f := AlgHom.toRingHom _)).mpr ?_ dsimp [residueField] rw [AlgHom.comp_toRingHom, RingHom.ker_comp_of_injective] Β· simp only [IsScalarTower.coe_toAlgHom, ResidueField.algebraMap_eq, residue] rw [Ideal.mk_ker] exact isOpen_maximalIdeal_of_isProartinian Β· exact (IsResidueAlgebra.algEquiv π R).symm.injectiveβ© lemma toResidueField_surjective (R : ProartinianCat π) : Function.Surjective (toResidueField R).hom := (IsResidueAlgebra.algEquiv π R).symm.surjective.comp Ideal.Quotient.mk_surjective lemma ker_toResidueField (R : ProartinianCat π) : RingHom.ker (toResidueField R).hom = maximalIdeal R := (RingHom.ker_comp_of_injective _ (f := (IsResidueAlgebra.algEquiv π R).symm.toRingHom) (IsResidueAlgebra.algEquiv π R).symm.injective).trans Ideal.mk_ker lemma to_residueField_apply {R : π π} (f : R βΆ residueField) (r : R.carrier) : f.hom r = residue _ (IsResidueAlgebra.preimage π r) := by trans f.hom (algebraMap _ _ (IsResidueAlgebra.preimage π r)) Β· rw [β sub_eq_zero, β map_sub, β not_ne_iff, β @isUnit_iff_ne_zero _ _ (f.hom (r - (algebraMap π βR) (IsResidueAlgebra.preimage π r)))] change Β¬IsUnit (f.hom.toRingHom _) rw [isUnit_map_iff f.hom.toRingHom, β mem_nonunits_iff, β mem_maximalIdeal] exact IsResidueAlgebra.preimage_spec _ _ Β· erw [AlgHom.commutes]; rfl noncomputable instance (R : ProartinianCat π) : Unique (R βΆ residueField) := by refine β¨β¨toResidueField Rβ©, fun f β¦ ?_β© ext simp [to_residueField_apply] noncomputable def isTerminalResidueField : IsTerminal (residueField (π := π)) := .ofUnique _ end residueField end ProartinianCat end Deformation
Statements phrased using this module (6)
- Noetherian pro-Artinian algebras are πͺ-adically complete
Deformation.ProartinianCat.isAdicComplete_of_isNoetherianRing0 below Β· depth 9 - Noetherian pro-Artinian algebras carry the πͺ-adic topology
Deformation.ProartinianCat.isAdicTopology_of_isNoetherianRing0 below Β· depth 9 - Limit-preserving functors on widehatC_πͺ are corepresentable
Deformation.ProartinianCat.isCorepresentable_of_preservesLimits2 below Β· depth 9 - Adic continuity gives a continuous map to GLβ(A)
GaloisRepAdic.continuous_unitsMap_toMatrix_of_isAdicContinuous1 below Β· depth 9 - Complete noetherian local algebras are pro-Artinian for the adic topology
IsLocalRing.isLocalProartinianAlgebra_adicTopology0 below Β· depth 9 - Complete Noetherian local πͺ-algebras are pro-Artinian
Deformation.isLocalProartinianAlgebra_of_isAdicComplete0 below Β· depth 10