At a regular codimension-one scheme point, every element of the normalization-prime inertia subgroup in the actual deck group of a connected finite-etale Galois cover is conjugate to its inverse.
Source context 7 commands
Surrounding namespaces, section variables, and local commands at this declaration.
noncomputable section
open AlgebraicGeometry CategoryTheory
open CategoryTheory.PreGaloisCategory
open RamificationTheory.HilbertRamification
open scoped IsMulCommutative
namespace EtaleFundamentalGroups.Kummer
universe utheorem
finiteEtaleGaloisCover_schemePointIdealInertia_isConj_inv_of_geometricallyIntegral_residue
(k : Type u) [Field k] (ek : k ≃+* ℚ)
{X : Scheme.{u}} [IsIntegral X] [IsNormalIntegral X]
[IsLocallyNoetherian X]
(Y : FiniteEtale X) (hY : IsGalois Y) :
letI : IsGalois Y := hY
letI : IsIntegral Y.left :=
isIntegral_left_of_isConnected_finiteEtale Y
let K : Type u := X.functionField
let L : Type u := Y.left.functionField
letI : Algebra K L := finiteEtaleFunctionFieldAlgebra Y
letI : FiniteDimensional K L :=
finiteDimensional_functionField_of_finiteEtale_isConnected Y
letI : _root_.IsGalois K L :=
isGalois_functionField_of_isGalois_finiteEtale Y hY
∀ (x : X) (_hregular : X.IsRegularAt x)
(_hx : Order.coheight x = 1) [Algebra k (X.residueField x)],
let A := X.presheaf.stalk x
letI : Algebra A L :=
((algebraMap K L).comp (algebraMap A K)).toAlgebra
letI : IsScalarTower A K L :=
IsScalarTower.of_algebraMap_eq' rfl
letI : IsIntegrallyClosed A :=
IsNormalIntegral.stalk_isIntegrallyClosed x
let B := integralClosure A L
letI : IsFractionRing B L :=
IsIntegralClosure.isFractionRing_of_finite_extension A K L B
letI : MulSemiringAction Gal(L/K) B :=
IsIntegralClosure.MulSemiringAction A K L B
letI : MulSemiringAction (Aut Y)ᵐᵒᵖ B :=
finiteEtaleGaloisCoverNormalizationAction Y hY A B
∀ (Q : Ideal B) [Q.IsPrime]
[Q.LiesOver (IsLocalRing.maximalIdeal A)],
GeometricallyIntegral
(Spec.map (CommRingCat.ofHom
(algebraMap k (X.residueField x)))) →
∀ sigma : Q.toAddSubgroup.inertia (Aut Y)ᵐᵒᵖ,
IsConj (sigma : (Aut Y)ᵐᵒᵖ)
((sigma⁻¹ : Q.toAddSubgroup.inertia (Aut Y)ᵐᵒᵖ) :
(Aut Y)ᵐᵒᵖ) := by
let : IsGalois Y := hY
let : IsIntegral Y.left :=
isIntegral_left_of_isConnected_finiteEtale Y
let K : Type u := X.functionField
let L : Type u := Y.left.functionField
let : Algebra K L := finiteEtaleFunctionFieldAlgebra Y
let : FiniteDimensional K L :=
finiteDimensional_functionField_of_finiteEtale_isConnected Y
let : _root_.IsGalois K L :=
isGalois_functionField_of_isGalois_finiteEtale Y hY
dsimp only
intro x hregular hx instAlgk
let A := X.presheaf.stalk x
let : Algebra A L :=
((algebraMap K L).comp (algebraMap A K)).toAlgebra
let : IsScalarTower A K L :=
IsScalarTower.of_algebraMap_eq' rfl
let : IsIntegrallyClosed A :=
IsNormalIntegral.stalk_isIntegrallyClosed x
let B := integralClosure A L
let : IsFractionRing B L :=
IsIntegralClosure.isFractionRing_of_finite_extension A K L B
let : MulSemiringAction Gal(L/K) B :=
IsIntegralClosure.MulSemiringAction A K L B
let : MulSemiringAction (Aut Y)ᵐᵒᵖ B :=
finiteEtaleGaloisCoverNormalizationAction Y hY A B
intro Q instQPrime instQLiesOver hgeo sigma
let eI := finiteEtaleGaloisCoverIdealInertiaMulEquiv Y hY A B Q
have hsource :
IsConj ((eI sigma : Q.toAddSubgroup.inertia Gal(L/K)) : Gal(L/K))
((((eI sigma : Q.toAddSubgroup.inertia Gal(L/K)))⁻¹ :
Q.toAddSubgroup.inertia Gal(L/K)) : Gal(L/K)) :=
schemePointNormalizationInertia_isConj_inv_of_geometricallyIntegral_residue_of_ratEquiv
k ek x hregular hx Q hgeo (eI sigma)
have hmapped :=
(finiteEtaleAutOpFunctionFieldMulEquiv Y hY).symm.toMonoidHom.map_isConj
hsource
have heI :
((eI sigma : Q.toAddSubgroup.inertia Gal(L/K)) : Gal(L/K)) =
finiteEtaleAutOpFunctionFieldMulEquiv Y hY
(sigma : (Aut Y)ᵐᵒᵖ) := rfl
have heIback :
(finiteEtaleAutOpFunctionFieldMulEquiv Y hY).symm
((eI sigma : Q.toAddSubgroup.inertia Gal(L/K)) : Gal(L/K)) =
(sigma : (Aut Y)ᵐᵒᵖ) := by
rw [heI, MulEquiv.symm_apply_apply]
rw [heI] at hmapped
simpa only [MulEquiv.coe_toMonoidHom, map_inv,
MulEquiv.symm_apply_apply, Subgroup.coe_inv, heIback] using hmapped