An element of the concrete surface whose image in the special fiber is a nonzerodivisor is a nonzerodivisor modulo `π`.
ProvedTypeDensity.concrete_surface_residue_regular_of_special_fibertype-density
An element of the concrete surface whose image in the special fiber is a nonzerodivisor is a nonzerodivisor modulo π.
Preamble
import Definitions.Def_TypeDensity_Basic import Definitions.Def_TypeDensity_Measure_AdicCylinders import Definitions.Def_TypeDensity_Measure_HenselProducts import Definitions.Def_TypeDensity_Surfaces_Lengths import Mathlib.FieldTheory.RatFunc.Basic import Mathlib.MeasureTheory.Measure.Haar.Unique import Mathlib.NumberTheory.ArithmeticFunction.Moebius import Mathlib.NumberTheory.Padics.PadicIntegers import Mathlib.RingTheory.IntegralClosure.IntegralRestrict import Mathlib.RingTheory.MvPowerSeries.Basic import Mathlib.RingTheory.RamificationInertia.Basic import Mathlib.Topology.Algebra.Nonarchimedean.AdicTopology import Mathlib.Topology.Algebra.MvPolynomial import Mathlib.Algebra.Group.Pi.Units import Mathlib.Order.CompletePartialOrder import Mathlib.RingTheory.Henselian import Mathlib.RingTheory.Polynomial.Resultant.Basic import Mathlib.RingTheory.RegularLocalRing.Defs import Mathlib.RingTheory.SimpleRing.Principal import Mathlib.FieldTheory.Finite.Extension import Mathlib.RingTheory.AdicCompletion.Noetherian import Mathlib.RingTheory.MvPowerSeries.Equiv import Mathlib.RingTheory.PicardGroup set_option autoImplicit false open TypeDensity
Formal statement
theorem TypeDensity.concrete_surface_residue_regular_of_special_fiber (O : Type) [CommRing O] [IsDomain O]
[IsDiscreteValuationRing O] (pi : O) (u : (TwoSeries O)ˣ) (a b : ℕ)
(f : ConcreteSurface O pi u a b)
(e : (ConcreteSurface O pi u a b ⧸ Ideal.span {algebraMap O (ConcreteSurface O pi u a b) pi})
≃+* SpecialFiber (IsLocalRing.ResidueField O) a b)
(hreg : Function.Injective
(fun w : SpecialFiber (IsLocalRing.ResidueField O) a b ↦ e
(Ideal.Quotient.mk (Ideal.span {algebraMap O (ConcreteSurface O pi u a b) pi}) f) * w)) :
Function.Injective
(fun w : ConcreteSurface O pi u a b ⧸ Ideal.span
{algebraMap O (ConcreteSurface O pi u a b) pi} => Ideal.Quotient.mk
(Ideal.span {algebraMap O (ConcreteSurface O pi u a b) pi}) f * w) := by sorrySource
TypeDensity/Surfaces/Lengths.lean#L722-L736