The canonical branch prime at a specialization of an arithmetic boundary component has a geometrically integral residue field over the generic residue field of the base.
Source context 5 commands
Surrounding namespaces, section variables, and local commands at this declaration.
noncomputable section
open CategoryTheory TopologicalSpace
namespace AlgebraicGeometry.Scheme.EffectiveCartierDivisor
universe u
variable {X S : Scheme.{u}}theorem
galoisPullback_componentBranchPrime_exists_geometricallyIntegralResidueAlgebra
[IsIntegral X] [IsNormalIntegral X] [IsLocallyNoetherian X] [IsIntegral S]
(D : EffectiveCartierDivisor X) (p : X ⟶ S)
(hD : D.SatisfiesResidueCharacteristicTwoBoundaryCondition p)
(Y : FiniteEtale X) (hY : CategoryTheory.PreGaloisCategory.IsGalois Y)
(Z : Set (D.1.comap Y.hom).subscheme)
(hZ : Z ∈ irreducibleComponents (D.1.comap Y.hom).subscheme)
(z : (D.1.comap Y.hom).subscheme) (hz : z ∈ Z) :
letI : CategoryTheory.PreGaloisCategory.IsGalois Y := hY
letI : IsIntegral Y.left :=
EtaleFundamentalGroups.isIntegral_left_of_isConnected_finiteEtale Y
let I : Y.left.IdealSheafData := D.1.comap Y.hom
let q := (I.componentBranchPrimeAt Z hZ z hz).asIdeal
letI : q.IsPrime := (I.componentBranchPrimeAt Z hZ z hz).isPrime
let k := S.residueField (genericPoint S)
∃ hAlg : Algebra k q.ResidueField,
letI : Algebra k q.ResidueField := hAlg
GeometricallyIntegral
(Spec.map (CommRingCat.ofHom
(algebraMap k q.ResidueField))) := by
let : CategoryTheory.PreGaloisCategory.IsGalois Y := hY
let : IsIntegral Y.left :=
EtaleFundamentalGroups.isIntegral_left_of_isConnected_finiteEtale Y
let I : Y.left.IdealSheafData := D.1.comap Y.hom
let x := I.componentGenericPoint Z hZ
let x₀ : Y.left := I.subschemeι z
let b := I.componentBranchPrimeAt Z hZ z hz
let q := b.asIdeal
let : q.IsPrime := b.isPrime
let k := S.residueField (genericPoint S)
obtain ⟨hAlg, hgeo⟩ :=
D.galoisPullback_componentGenericPoint_exists_geometricallyIntegralResidueAlgebra
p hD Y hY Z hZ
let : Algebra k (Y.left.residueField x) := hAlg
have hb : Y.left.fromSpecStalk x₀ b = x := by
exact I.fromSpecStalk_componentBranchPrimeAt Z hZ z hz
let e₀ : Y.left.residueField x ≃+*
Y.left.residueField (Y.left.fromSpecStalk x₀ b) :=
(Y.left.residueFieldCongr hb.symm).commRingCatIsoToRingEquiv
let e : Y.left.residueField x ≃+* q.ResidueField :=
e₀.trans (Y.left.residueFieldFromSpecStalkEquiv x₀ b)
let hAlgQ : Algebra k q.ResidueField :=
(e.toRingHom.comp (algebraMap k (Y.left.residueField x))).toAlgebra
refine ⟨hAlgQ, ?_⟩
exact geometricallyIntegral_specMap_transport_ringEquiv' e hgeo