On the concrete surface, a child generator at an exceptional point of either chart (left point or point at infinity) whose curve meets the exceptional divisor with finite length is transverse to it: t
ProvedTypeDensity.child_ideal_generator_transverse_finitetype-density
On the concrete surface, a child generator at an exceptional point of either chart (left point or point at infinity) whose curve meets the exceptional divisor with finite length is transverse to it: the two multiplications are injective and the curve ideal contains a power of the maximal ideal.
Preamble
import Definitions.Def_TypeDensity_Basic import Definitions.Def_TypeDensity_Formula_LawAlgebra import Definitions.Def_TypeDensity_Measure_AdicCylinders import Definitions.Def_TypeDensity_Measure_HenselProducts import Definitions.Def_TypeDensity_Surfaces_Lengths import Definitions.Def_TypeDensity_Surfaces_PowerSeries import Definitions.Def_TypeDensity_Formula_FiniteFieldCounts import Definitions.Def_TypeDensity_Formula_StateCombinatorics import Definitions.Def_TypeDensity_Blowup_Directions import Definitions.Def_TypeDensity_Unramified_Extension import Definitions.Def_TypeDensity_Blowup_Charts import Definitions.Def_TypeDensity_Algebra_AlgebraType import Definitions.Def_TypeDensity_Measure_PrimitiveLocus import Definitions.Def_TypeDensity_Algebra_FactorInvariant import Theorems.Thm_TypeDensity_concrete_surface_quotient_T_equiv import Theorems.Thm_TypeDensity_transverse_of_reduction_ne_zero import Theorems.Thm_TypeDensity_concrete_left_point_completion_is_surface import Theorems.Thm_TypeDensity_concrete_left_point_completion_instances import Theorems.Thm_TypeDensity_concrete_left_point_exceptional_regular import Theorems.Thm_TypeDensity_concrete_infinity_point_completion import Theorems.Thm_TypeDensity_concrete_surface_equiv_curve_length_and_regular import Theorems.Thm_TypeDensity_blowupChart_concrete_isNoetherianRing 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.FieldTheory.Finite.GaloisField import Mathlib.RingTheory.AdicCompletion.Algebra import Mathlib.RingTheory.RegularLocalRing.Defs 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.SimpleRing.Principal import Mathlib.FieldTheory.Finite.Extension import Mathlib.RingTheory.AdicCompletion.Noetherian import Mathlib.RingTheory.MvPowerSeries.Equiv import Mathlib.RingTheory.PicardGroup import Mathlib.FieldTheory.RatFunc.AsPolynomial import Mathlib.RingTheory.AdicCompletion.Completeness import Mathlib.Algebra.GroupWithZero.Submonoid.CancelMulZero import Mathlib.Algebra.Module.StablyFree.Basic import Mathlib.NumberTheory.Padics.RingHoms import Mathlib.Algebra.Azumaya.Basic import Mathlib.RingTheory.AdicCompletion.RingHom import Mathlib.RingTheory.TotallySplit import Mathlib.RingTheory.AdicCompletion.LocalRing import Mathlib.RingTheory.KrullDimension.NonZeroDivisors set_option autoImplicit false open TypeDensity open scoped BigOperators ENNReal variable (O : Type) [CommRing O] [IsDomain O] [IsDiscreteValuationRing O] [IsAdicComplete (IsLocalRing.maximalIdeal O) O] [Finite (IsLocalRing.ResidueField O)] (pi : O) (hpi : Irreducible pi) (u : (TwoSeries O)ˣ) (a b : ℕ) (ha : 0 < a) include hpi ha
Formal statement
theorem TypeDensity.child_ideal_generator_transverse_finite (P : Ideal (BlowupChart (ConcreteSurface O pi u a b) (surfaceT O pi u a b) (surfaceX O pi u a b))) [P.IsMaximal]
[P.IsPrime] (hP : chartBase (ConcreteSurface O pi u a b) (surfaceT O pi u a b) (surfaceX O pi u a b) (surfaceT O pi u a b) ∈ P) (g : CompletedLocalAt (BlowupChart (ConcreteSurface O pi u a b) (surfaceT O pi u a b) (surfaceX O pi u a b)) P)
(n : ℕ) (hg : Module.length (CompletedLocalAt (BlowupChart (ConcreteSurface O pi u a b) (surfaceT O pi u a b) (surfaceX O pi u a b)) P)
(CompletedLocalAt (BlowupChart (ConcreteSurface O pi u a b) (surfaceT O pi u a b) (surfaceX O pi u a b)) P ⧸ (Ideal.span {g} ⊔
Ideal.span {completedPointMap (BlowupChart (ConcreteSurface O pi u a b) (surfaceT O pi u a b) (surfaceX O pi u a b)) P (chartBase (ConcreteSurface O pi u a b) (surfaceT O pi u a b) (surfaceX O pi u a b) (surfaceT O pi u a b))})) = (n : ℕ∞))
(Pinf : Ideal (BlowupChart (ConcreteSurface O pi u a b) (surfaceX O pi u a b) (surfaceT O pi u a b))) [Pinf.IsMaximal] [Pinf.IsPrime]
(hx : chartBase (ConcreteSurface O pi u a b) (surfaceX O pi u a b) (surfaceT O pi u a b) (surfaceX O pi u a b) ∈ Pinf) (hW : chartSlope (ConcreteSurface O pi u a b) (surfaceX O pi u a b) (surfaceT O pi u a b) ∈ Pinf)
(ginf : CompletedLocalAt (BlowupChart (ConcreteSurface O pi u a b) (surfaceX O pi u a b) (surfaceT O pi u a b)) Pinf) (m : ℕ)
(hginf : Module.length (CompletedLocalAt (BlowupChart (ConcreteSurface O pi u a b) (surfaceX O pi u a b) (surfaceT O pi u a b)) Pinf)
(CompletedLocalAt (BlowupChart (ConcreteSurface O pi u a b) (surfaceX O pi u a b) (surfaceT O pi u a b)) Pinf ⧸ (Ideal.span {ginf} ⊔
Ideal.span {completedPointMap (BlowupChart (ConcreteSurface O pi u a b) (surfaceX O pi u a b) (surfaceT O pi u a b)) Pinf (chartBase (ConcreteSurface O pi u a b) (surfaceX O pi u a b) (surfaceT O pi u a b) (surfaceX O pi u a b))})) =
(m : ℕ∞)) :
(Function.Injective (fun w : CompletedLocalAt (BlowupChart (ConcreteSurface O pi u a b) (surfaceT O pi u a b) (surfaceX O pi u a b)) P ⧸ Ideal.span {g} =>
Ideal.Quotient.mk (Ideal.span {g})
(completedPointMap (BlowupChart (ConcreteSurface O pi u a b) (surfaceT O pi u a b) (surfaceX O pi u a b)) P (chartBase (ConcreteSurface O pi u a b) (surfaceT O pi u a b) (surfaceX O pi u a b) (surfaceT O pi u a b))) * w) ∧
Function.Injective (fun w : CompletedLocalAt (BlowupChart (ConcreteSurface O pi u a b) (surfaceT O pi u a b) (surfaceX O pi u a b)) P ⧸
Ideal.span {completedPointMap (BlowupChart (ConcreteSurface O pi u a b) (surfaceT O pi u a b) (surfaceX O pi u a b)) P (chartBase (ConcreteSurface O pi u a b) (surfaceT O pi u a b) (surfaceX O pi u a b) (surfaceT O pi u a b))} =>
Ideal.Quotient.mk
(Ideal.span {completedPointMap (BlowupChart (ConcreteSurface O pi u a b) (surfaceT O pi u a b) (surfaceX O pi u a b)) P (chartBase (ConcreteSurface O pi u a b) (surfaceT O pi u a b) (surfaceX O pi u a b) (surfaceT O pi u a b))}) g * w) ∧
∃ L : ℕ, ((IsLocalRing.maximalIdeal (Localization.AtPrime P)).map
(localCompletionMap (Localization.AtPrime P)))^L ≤
finiteLocalCurveIdeal (BlowupChart (ConcreteSurface O pi u a b) (surfaceT O pi u a b) (surfaceX O pi u a b)) P (chartBase (ConcreteSurface O pi u a b) (surfaceT O pi u a b) (surfaceX O pi u a b) (surfaceT O pi u a b)) g 1) ∧
(Function.Injective (fun w : CompletedLocalAt (BlowupChart (ConcreteSurface O pi u a b) (surfaceX O pi u a b) (surfaceT O pi u a b)) Pinf ⧸ Ideal.span {ginf} =>
Ideal.Quotient.mk (Ideal.span {ginf})
(completedPointMap (BlowupChart (ConcreteSurface O pi u a b) (surfaceX O pi u a b) (surfaceT O pi u a b)) Pinf (chartBase (ConcreteSurface O pi u a b) (surfaceX O pi u a b) (surfaceT O pi u a b) (surfaceX O pi u a b))) * w) ∧
Function.Injective (fun w : CompletedLocalAt (BlowupChart (ConcreteSurface O pi u a b) (surfaceX O pi u a b) (surfaceT O pi u a b)) Pinf ⧸
Ideal.span {completedPointMap (BlowupChart (ConcreteSurface O pi u a b) (surfaceX O pi u a b) (surfaceT O pi u a b)) Pinf (chartBase (ConcreteSurface O pi u a b) (surfaceX O pi u a b) (surfaceT O pi u a b) (surfaceX O pi u a b))} =>
Ideal.Quotient.mk
(Ideal.span {completedPointMap (BlowupChart (ConcreteSurface O pi u a b) (surfaceX O pi u a b) (surfaceT O pi u a b)) Pinf (chartBase (ConcreteSurface O pi u a b) (surfaceX O pi u a b) (surfaceT O pi u a b) (surfaceX O pi u a b))}) ginf * w) ∧
∃ L : ℕ, ((IsLocalRing.maximalIdeal (Localization.AtPrime Pinf)).map
(localCompletionMap (Localization.AtPrime Pinf)))^L ≤
finiteLocalCurveIdeal (BlowupChart (ConcreteSurface O pi u a b) (surfaceX O pi u a b) (surfaceT O pi u a b)) Pinf (chartBase (ConcreteSurface O pi u a b) (surfaceX O pi u a b) (surfaceT O pi u a b) (surfaceX O pi u a b)) ginf 1) := by sorrySource
TypeDensity/Blowup/PointTransport.lean#L1149-L1201