The normal-basis subgroup sequence is short exact and equivariant for the actual actions used in the local class-field-axiom argument.
Source context 8 commands
Surrounding namespaces, section variables, and local commands at this declaration.
namespace LocalClassFieldTheory
open LocalFieldTheory
open CyclicCohomology
noncomputable section
open scoped ValuativeRel
open CyclicCohomology.ProfiniteCohomology.Herbrand
open IsNonarchimedeanLocalField
variable (K L : Type) [Field K] [Field L] [Algebra K L]
[FiniteDimensional K L] [IsGalois K L]
[ValuativeRel K] [TopologicalSpace K] [IsNonarchimedeanLocalField K]
[ValuativeRel L]
[Valuation.HasExtension (ValuativeRel.valuation K) (ValuativeRel.valuation L)]
[IsIntegralClosure 𝒪[L] 𝒪[K] L]theorem chosenNormalBasisIntegerUnitsHerbrand_shortExact
(n : Nat) (V : Subgroup 𝒪[L]ˣ)
(hV : (V : Set 𝒪[L]ˣ) = chosenNormalBasisPrincipalUnitSet K L n) :
letI := chosenNormalBasisPrincipalUnitSubgroupMulDistribMulAction K L n V hV
letI := galoisGroupIntegerUnitsMulDistribMulActionOfIsIntegralClosure K L
letI := chosenNormalBasisIntegerUnitsQuotMulDistribMulAction K L n V hV
(∀ (sigma : Gal(L / K)) (a : V),
chosenNormalBasisPrincipalUnitSubgroupInclusion (L := L) V (sigma • a) =
sigma • chosenNormalBasisPrincipalUnitSubgroupInclusion (L := L) V a) ∧
(∀ (sigma : Gal(L / K)) (a : 𝒪[L]ˣ),
chosenNormalBasisIntegerUnitsQuotientMap (L := L) V (sigma • a) =
sigma • chosenNormalBasisIntegerUnitsQuotientMap (L := L) V a) ∧
(∀ a : 𝒪[L]ˣ,
chosenNormalBasisIntegerUnitsQuotientMap (L := L) V a = 1 ↔
∃ v : V,
chosenNormalBasisPrincipalUnitSubgroupInclusion (L := L) V v = a) ∧
Function.Injective
(chosenNormalBasisPrincipalUnitSubgroupInclusion (L := L) V) ∧
Function.Surjective
(chosenNormalBasisIntegerUnitsQuotientMap (L := L) V) := by
let := chosenNormalBasisPrincipalUnitSubgroupMulDistribMulAction K L n V hV
let := galoisGroupIntegerUnitsMulDistribMulActionOfIsIntegralClosure K L
let := chosenNormalBasisIntegerUnitsQuotMulDistribMulAction K L n V hV
refine ⟨chosenNormalBasisPrincipalUnitSubgroupInclusion_equivariant K L n V hV,
chosenNormalBasisIntegerUnitsQuotientMap_equivariant K L n V hV, ?_,
chosenNormalBasisPrincipalUnitSubgroupInclusion_injective (L := L) V,
chosenNormalBasisIntegerUnitsQuotientMap_surjective (L := L) V⟩
intro a
have hrange :=
chosenNormalBasisPrincipalUnitSubgroupInclusion_range_eq_ker_quotient
(L := L) V
constructor
· intro ha
have ha' : a ∈ MonoidHom.ker
(chosenNormalBasisIntegerUnitsQuotientMap (L := L) V) := ha
rw [← hrange] at ha'
exact ha'
· rintro ⟨v, rfl⟩
have hv :
chosenNormalBasisPrincipalUnitSubgroupInclusion (L := L) V v ∈
MonoidHom.range
(chosenNormalBasisPrincipalUnitSubgroupInclusion (L := L) V) :=
⟨v, rfl⟩
rw [hrange] at hv
exact hv