The canonical embedding from the intermediate component selected by m into the final component, read over the smaller integral base A.
Both algebra structures are the literal left-factor structures.
Source context 13 commands
Surrounding namespaces, section variables, and local commands at this declaration.
noncomputable section
open scoped TensorProduct
namespace EtaleFundamentalGroups.Kummer
universe uA uB uK uF uF' uL
variable {A : Type uA} {B : Type uB}
variable {K : Type uK} {F : Type uF} {F' : Type uF'} {L : Type uL}
variable [CommRing A] [CommRing B]
variable [Field K] [Field F] [Field F'] [Field L]
variable [Algebra K F] [Algebra F F'] [Algebra K F']
variable [IsScalarTower K F F'] [Algebra K L]
variable [Algebra A F] [Algebra A F'] [IsScalarTower A F F']
variable [Algebra A B] [Algebra.IsIntegral A B]
variable [Algebra B F'] [IsScalarTower A B F']def
genericTensorTowerIntermediateComponentAlgHomRestrictBase
[FiniteDimensional F F']
(m : Ideal (F' ⊗[K] L)) [m.IsMaximal] :
let n := genericTensorTowerIntermediateIdeal
(K := K) (F := F) (F' := F') (L := L) m
letI : n.IsMaximal :=
genericTensorTowerIntermediateIdeal_isMaximal
(K := K) (F := F) (F' := F') (L := L) m
let M₀ := GenericTensorFieldComponent n
let M := GenericTensorFieldComponent m
letI : Algebra A M₀ :=
genericTensorFieldComponentLeftScalarAlgebra (R := A) n
letI : Algebra A M :=
genericTensorFieldComponentLeftScalarAlgebra (R := A) m
M₀ →ₐ[A] M := by
dsimp only
let n := genericTensorTowerIntermediateIdeal
(K := K) (F := F) (F' := F') (L := L) m
letI : n.IsMaximal :=
genericTensorTowerIntermediateIdeal_isMaximal
(K := K) (F := F) (F' := F') (L := L) m
let M₀ := GenericTensorFieldComponent n
let M := GenericTensorFieldComponent m
letI : Algebra A M₀ :=
genericTensorFieldComponentLeftScalarAlgebra (R := A) n
letI : Algebra A M :=
genericTensorFieldComponentLeftScalarAlgebra (R := A) m
letI : Algebra F M :=
genericTensorTowerFinalComponentAlgebra
(K := K) (F := F) (F' := F') (L := L) m
let f : M₀ →ₐ[F] M :=
genericTensorTowerIntermediateComponentAlgHom
(K := K) (F := F) (F' := F') (L := L) m
exact
{ f.toRingHom with
commutes' := by
intro x
change
f (algebraMap F M₀ (algebraMap A F x)) =
genericTensorFieldComponentLeft m (algebraMap A F' x)
rw [f.commutes]
change
genericTensorFieldComponentLeft m
(algebraMap F F' (algebraMap A F x)) =
genericTensorFieldComponentLeft m (algebraMap A F' x)
rw [IsScalarTower.algebraMap_apply A F F'] }