Embedding a ℤ-finite domain into a complete DVR
Provedexists_ringHom_completeDVR_residue_eq_of_moduleFinite_intLet be a commutative ring which is an integral domain of characteristic zero and finitely generated as a -module, let be a prime number, let be a field of characteristic , and let be a ring homomorphism. The assertion is the existence of the following data: a commutative ring which is an integral domain, a discrete valuation ring, adically complete with respect to its maximal ideal , with finite residue field and of characteristic zero; a ring homomorphism ; a field equipped with an -algebra structure; and a ring homomorphism , such that is injective, the preimage equals , the image of in lies in , and for every one has in , the right-hand side being taken via the structure map . Thus is recovered, after the extension , from reduction of modulo .
This is the standard passage from an abstract -finite coefficient domain with a characteristic- character to a -adic coefficient ring: the fraction field of is a number field, is a prime above , and may be taken to be the completion of the ring of integers at a prime lying over it. It supplies the complete discrete valuation coefficient ring needed in WeierstrassCurve.isModularModelOfLevel_div_of_isGoodPrimeFor_of_dvd_of_not_sq_dvd, where Hecke eigenvalues living in a -finite ring must be compared with a mod- system.
import Mathlib set_option maxHeartbeats 4000000 set_option synthInstance.maxHeartbeats 400000 set_option backward.isDefEq.respectTransparency.types false set_option autoImplicit false
theorem exists_ringHom_completeDVR_residue_eq_of_moduleFinite_int
(R : Type) [CommRing R] [IsDomain R] [CharZero R] [Module.Finite ℤ R]
(p : ℕ) [Fact p.Prime] {F : Type} [Field F] [CharP F p] (π : R →+* F) :
∃ (O : Type) (_ : CommRing O) (_ : IsDomain O) (_ : IsDiscreteValuationRing O)
(_ : IsAdicComplete (IsLocalRing.maximalIdeal O) O)
(_ : Finite (IsLocalRing.ResidueField O)) (_ : CharZero O)
(ψ : R →+* O) (F' : Type) (_ : Field F') (_ : Algebra F F')
(ι : IsLocalRing.ResidueField O →+* F'),
Function.Injective ψ ∧
Ideal.comap ψ (IsLocalRing.maximalIdeal O) = RingHom.ker π ∧
(p : O) ∈ IsLocalRing.maximalIdeal O ∧
∀ x, ι (IsLocalRing.residue O (ψ x)) = algebraMap F F' (π x) := by sorry