Local–global norm formula
ProvedNumberField.algebraMap_norm_eq_finprod_norm_adicCompletionLet be a finite extension of number fields, let be a finite place of , i.e. a nonzero prime ideal of , and let be the -adic completion of . For each prime of lying over (written ), let be the -adic completion of , regarded as an -algebra via the continuous extension of . Then for every , the image of the global norm in is the product of the local norms:
This identity connects global norms with local norms at a finite place; it is used for instance to show that the semilocal norm map on local units sends diagonally embedded global units to diagonally embedded global norms, and in the local–global analysis of norm groups.
Formalization Note Mathlib at this revision provides no canonical algebra structure . As in Mathlib's own NumberField.HeightOneSpectrum API (the instance Module.Finite Kv Lw in NumberField/Completion/FinitePlace.lean), the statement takes, for each , an arbitrary -algebra structure on that is continuous (ContinuousSMul) and compatible with (IsScalarTower F F_v K_w). Since is dense in , such a structure is unique, and it exists (the continuous extension of ) exactly when ; so the hypotheses just name the canonical embedding. Primes are the height-one primes of with w.asIdeal.LiesOver v.asIdeal; there are finitely many, and the finite sum/product is written with finsum/finprod so that no finiteness hypothesis is needed.
import Mathlib open NumberField IsDedekindDomain open scoped TensorProduct
namespace NumberField
theorem algebraMap_norm_eq_finprod_norm_adicCompletion {F K : Type*} [Field F] [NumberField F] [Field K] [NumberField K] [Algebra F K]
(v : HeightOneSpectrum (𝓞 F))
[∀ w : {w : HeightOneSpectrum (𝓞 K) // w.asIdeal.LiesOver v.asIdeal},
Algebra (v.adicCompletion F) (w.1.adicCompletion K)]
[∀ w : {w : HeightOneSpectrum (𝓞 K) // w.asIdeal.LiesOver v.asIdeal},
ContinuousSMul (v.adicCompletion F) (w.1.adicCompletion K)]
[∀ w : {w : HeightOneSpectrum (𝓞 K) // w.asIdeal.LiesOver v.asIdeal},
IsScalarTower F (v.adicCompletion F) (w.1.adicCompletion K)]
(x : K) :
algebraMap F (v.adicCompletion F) (Algebra.norm F x) =
∏ᶠ w : {w : HeightOneSpectrum (𝓞 K) // w.asIdeal.LiesOver v.asIdeal},
Algebra.norm (v.adicCompletion F) (algebraMap K (w.1.adicCompletion K) x) := by sorry
end NumberField