The established finite-place symbol becomes the local Mathlib-facing Hilbert symbol after mapping to the absolute-value completion.
Source context 4 commands
Surrounding namespaces, section variables, and local commands at this declaration.
open scoped NumberField
open NumberField IsDedekindDomain
noncomputable section
namespace ClassFieldTheorytheorem globalFinitePlaceHilbertSymbol_map_eq_local
(F : Type) [Field F] [NumberField F]
(n : ℕ+) (hnF : ((n : ℕ) : F) ≠ 0)
(hmu : (primitiveRoots (n : ℕ) F).Nonempty)
(v : HeightOneSpectrum (𝓞 F)) (a b : Fˣ) :
let C := (HeightOneSpectrum.adicAbv F v).Completion
letI : ValuativeRel C :=
GlobalClassFieldTheory.Reciprocity.finitePlaceLocalArtinCompletionValuativeRel v
let eFC : rootsOfUnity (n : ℕ) F ≃* rootsOfUnity (n : ℕ) C :=
letI : NeZero (n : ℕ) := ⟨n.ne_zero⟩
rootsOfUnityEquivOfPrimitiveRoots (algebraMap F C).injective hmu
eFC (globalFinitePlaceHilbertSymbol F n hnF hmu v a b) =
localHilbertSymbol C n
(GlobalClassFieldTheory.Reciprocity.finitePlaceHilbert_natCast_ne_zero
F n hnF v)
(GlobalClassFieldTheory.Reciprocity.finitePlaceHilbert_primitiveRoots_nonempty
F n hmu v)
(GlobalClassFieldTheory.Reciprocity.finitePlaceHilbert_completionUnit F v a)
(GlobalClassFieldTheory.Reciprocity.finitePlaceHilbert_completionUnit F v b) := by
let C := (HeightOneSpectrum.adicAbv F v).Completion
let : ValuativeRel C :=
GlobalClassFieldTheory.Reciprocity.finitePlaceLocalArtinCompletionValuativeRel v
let : NeZero (n : ℕ) := ⟨n.ne_zero⟩
let eFC : rootsOfUnity (n : ℕ) F ≃* rootsOfUnity (n : ℕ) C :=
rootsOfUnityEquivOfPrimitiveRoots (algebraMap F C).injective hmu
change eFC
(KummerTheory.nthRootsSubgroupEquivRootsOfUnity F (n : ℕ)
(GlobalClassFieldTheory.Reciprocity.finitePlaceHilbertSymbol
F n hnF hmu v a b)) =
KummerTheory.nthRootsSubgroupEquivRootsOfUnity C (n : ℕ)
(GlobalClassFieldTheory.Reciprocity.finitePlaceLocalHilbertSymbol
F n hnF hmu v a b)
apply Subtype.ext
have h := congrArg Subtype.val
(GlobalClassFieldTheory.Reciprocity.finitePlaceHilbertSymbol_map_eq_localHilbertSymbol
F n hnF hmu v a b)
change Units.map (algebraMap F C).toMonoidHom
(GlobalClassFieldTheory.Reciprocity.finitePlaceHilbertSymbol
F n hnF hmu v a b) =
GlobalClassFieldTheory.Reciprocity.finitePlaceLocalHilbertSymbol
F n hnF hmu v a b
exact h