Integral closures in the actual source and refined tensor components are canonically equivalent. The underlying field equivalence is produced by genericTensorRefineChosenComponentAlgEquiv.
Source context 13 commands
Surrounding namespaces, section variables, and local commands at this declaration.
noncomputable section
open scoped TensorProduct
namespace EtaleFundamentalGroups.Kummer
universe uB uK₀ uK₁ uF uL
variable {B : Type uB}
variable {K₀ : Type uK₀} {K₁ : Type uK₁}
variable {F : Type uF} {L : Type uL}
variable [CommRing B]
variable [Field K₀] [Field K₁] [Field F] [Field L]
variable [Algebra K₀ K₁] [Algebra K₁ F] [Algebra K₀ F]
variable [IsScalarTower K₀ K₁ F]
variable [Algebra K₀ L]
variable [Algebra B F]def
genericTensorRefineChosenComponentIntegralClosureAlgEquiv
(m : Ideal (K₁ ⊗[K₀] L)) [m.IsMaximal]
(q : Ideal (F ⊗[K₁] GenericTensorFieldComponent m))
[q.IsMaximal] :
let n := genericTensorRefineChosenComponentIdeal
(K₀ := K₀) (K₁ := K₁) (F := F) (L := L) m q
letI : n.IsMaximal :=
genericTensorRefineChosenComponentIdeal_isMaximal
(K₀ := K₀) (K₁ := K₁) (F := F) (L := L) m q
let Pn := GenericTensorFieldComponent n
let Pq := GenericTensorFieldComponent q
letI : Algebra B Pn :=
genericTensorFieldComponentLeftScalarAlgebra (R := B) n
letI : Algebra B Pq :=
genericTensorFieldComponentLeftScalarAlgebra (R := B) q
integralClosure B Pn ≃ₐ[B] integralClosure B Pq := by
dsimp only
let n := genericTensorRefineChosenComponentIdeal
(K₀ := K₀) (K₁ := K₁) (F := F) (L := L) m q
letI : n.IsMaximal :=
genericTensorRefineChosenComponentIdeal_isMaximal
(K₀ := K₀) (K₁ := K₁) (F := F) (L := L) m q
let Pn := GenericTensorFieldComponent n
let Pq := GenericTensorFieldComponent q
letI : Algebra B Pn :=
genericTensorFieldComponentLeftScalarAlgebra (R := B) n
letI : Algebra B Pq :=
genericTensorFieldComponentLeftScalarAlgebra (R := B) q
let eF : Pn ≃ₐ[F] Pq :=
genericTensorRefineChosenComponentAlgEquiv
(K₀ := K₀) (K₁ := K₁) (F := F) (L := L) m q
let eB : Pn ≃ₐ[B] Pq :=
{ toRingEquiv := eF.toRingEquiv
commutes' := by
intro b
change eF (algebraMap F Pn (algebraMap B F b)) =
algebraMap F Pq (algebraMap B F b)
exact eF.commutes (algebraMap B F b) }
exact eB.mapIntegralClosure