The coordinate generator lies in the chosen global decomposition group.
Source context 7 commands
Surrounding namespaces, section variables, and local commands at this declaration.
open scoped NumberField IsMulCommutative
open NumberField IsDedekindDomain
open KummerTheory
noncomputable section
namespace GlobalClassFieldTheory.ClassFieldAxiom
section FinitePlaces
variable {K : Type} [Field K]
[NumberField K]theorem sUnitKummerKernelGenerator_mem_decompositionGroup
{Omega : Type} [Field Omega] [Algebra K Omega]
[IsSepClosure K Omega]
(E : IntermediateField K Omega)
[FiniteDimensional K E] [IsGalois K E]
[IsMulCommutative Gal(E/K)]
(n : ℕ+)
(hmu : (primitiveRoots (n : ℕ) K).Nonempty)
(p v : ℕ) (hp : p.Prime) (hv : 0 < v)
(hn : (n : ℕ) = p ^ v)
(r : ℕ)
(eG :
Gal(E/K) ≃*
(Fin r → Multiplicative (ZMod (n : ℕ))))
(S : Finset (HeightOneSpectrum (𝓞 K)))
(i : Fin
(sUnitKummerPrimeCount
(K := K) E n hmu r S)) :
let S' :=
enlargeByFiniteKummerRadicalSupport
(K := K) (L := E) n hmu S
let N :=
fullSUnitKummerExtension
(K := K) (Omega := Omega) n S'
let hnK : ((n : ℕ) : K) ≠ 0 := by
exact_mod_cast n.ne_zero
letI : FiniteDimensional K N :=
fullSUnitKummerExtension_finiteDimensional
(K := K) (Omega := Omega) n hnK hmu S'
letI : IsGalois K N :=
fullSUnitKummerExtension_isGalois
(K := K) (Omega := Omega) n S'
letI : NumberField N :=
NumberField.of_module_finite K N
((sUnitKummerKernelGenerator
(K := K) (Omega := Omega) E n hmu
p v hp hv hn r eG S i :
(enlargedSUnitKummerRestrictionHom
(K := K) (Omega := Omega) E n hmu
(galois_pow_eq_one_of_equiv_pi_zmod
(K := K) E n r eG) S).ker) :
Gal(N/K)) ∈
_root_.finitePlaceDecompositionGroup
(K := K) (L := N)
(sUnitKummerChosenBasePlaces
(K := K) (Omega := Omega) E n hmu
p v hp hv hn r eG S i) := by
dsimp only
let S' :=
enlargeByFiniteKummerRadicalSupport
(K := K) (L := E) n hmu S
let N :=
fullSUnitKummerExtension
(K := K) (Omega := Omega) n S'
have hnK : ((n : ℕ) : K) ≠ 0 := by
exact_mod_cast n.ne_zero
let : FiniteDimensional K N :=
fullSUnitKummerExtension_finiteDimensional
(K := K) (Omega := Omega) n hnK hmu S'
let _ : IsGalois K N :=
fullSUnitKummerExtension_isGalois
(K := K) (Omega := Omega) n S'
let : NumberField N :=
NumberField.of_module_finite K N
let sigmaKer :=
sUnitKummerKernelGenerator
(K := K) (Omega := Omega) E n hmu
p v hp hv hn r eG S i
let sigma : Gal(N/K) :=
sigmaKer.1
let P : Subgroup Gal(N/K) :=
Subgroup.zpowers sigma
let Ni := IntermediateField.fixedField P
let : NumberField Ni :=
NumberField.of_module_finite K Ni
let : IsGalois Ni N :=
enlargedSUnitKummerCyclicFixedField_isGalois
(K := K) (Omega := Omega) E n hmu
(galois_pow_eq_one_of_equiv_pi_zmod
(K := K) E n r eG)
S sigmaKer
let : IsScalarTower K Ni N :=
IntermediateField.isScalarTower_mid Ni
let : IsMulCommutative Gal(N/K) :=
KummerTheory.kummerRadicalExtension_isMulCommutative
n hmu (fullSUnitKummerSubgroup (K := K) n S').1
let q : HeightOneSpectrum (𝓞 Ni) :=
sUnitKummerCoordinatePlace
(K := K) (Omega := Omega) E n hmu
p v hp hv hn r eG S i
let tau : N ≃ₐ[Ni] N :=
IntermediateField.subgroupEquivAlgEquiv P
⟨sigma, Subgroup.mem_zpowers sigma⟩
have hq :
_root_.finitePlaceBelow (K := K) q =
sUnitKummerChosenBasePlaces
(K := K) (Omega := Omega) E n hmu
p v hp hv hn r eG S i :=
sUnitKummerCoordinatePlace_below
(K := K) (Omega := Omega) E n hmu
p v hp hv hn r eG S i
have hfull :
_root_.finitePlaceDecompositionGroup
(K := Ni) (L := N) q =
⊤ :=
sUnitKummerCoordinatePlace_decompositionGroup
(K := K) (Omega := Omega) E n hmu
p v hp hv hn r eG S i
have hmem :=
restrictAutomorphismScalars_mem_finitePlaceDecompositionGroup_of_relative_eq_top
(F := K) (M := Ni) (L := N)
_ q hq hfull tau
have htau :
sigma =
RamificationTheory.HilbertRamification.ValuationSubring.restrictAutomorphismScalars
(K := K) (M := Ni) tau := by
apply AlgEquiv.ext
intro x
rfl
change
sigma ∈ finitePlaceDecompositionGroup
(sUnitKummerChosenBasePlaces E n hmu p v hp hv hn r eG S i)
rw [htau]
exact hmem