B5: the local reciprocity bundle for ℚ₂ #
This file states the paper's local class field theory input (leaf B5) as a single bundled
axiom: the existence of the arithmetic local reciprocity map rec and the unramified coordinate
ν_ur, satisfying the norm-residue property together with the two normalizations that the paper
fixes in Lemma 3.5 / equation (13).
Everything here is a statement (definitions + one axiom + stress tests); nothing about
reciprocity is proved (that is local CFT, absent from Mathlib — see
docs/mathlib-cft-survey.md, §B5). The axiom asserts that the reciprocity data exists; the
stress tests below derive the paper's equation (13) from it, so a human reviewer can check the
bundle reproduces the paper's orientation/valuation rows without trusting the proof of reciprocity
itself.
The bundle (paper Lemma 3.5, eq. (13); Prop. 1.1) #
LocalReciprocity packages continuous homomorphisms
rec : ℚ₂ˣ →* G_{ℚ₂}^{ab}(dense image), andν_ur : G_{ℚ₂}^{ab} →* Multiplicative ℤ₂(continuous, surjective),
subject to the three clauses of the plan (docs/orchestration/formalization-plan.md, §B5):
- (a) norm residue. For every finite abelian
L/ℚ₂insideℚ̄₂, the induced mapℚ₂ˣ → Gal(L/ℚ₂)(i.e.recfollowed by the abelianized restrictionrestrictAb) is surjective with kernel exactly the norm subgroupN_{L/ℚ₂}(Lˣ)(normSubgroup). This is the class-formation reciprocity of NSW [1] (7.1.1)/(7.1.5) (finite-levelGal(L/ℚ₂) ≅ ℚ₂ˣ / N Lˣ), and is aligned with the finite-level shape of the Oxford ClassFieldTheory project blueprint (this repo'sClassFieldTheorygit dependency). - (b) unramified normalization.
ν_ur ∘ rec = −v₂(nu_ur_rec). Equivalentlyν_ur(rec 2) = −1:recsends the uniformizer2to arithmetic Frobenius, whileν_uris normalized so that geometric Frobenius= arithmetic⁻¹has coordinate+1(paper's standing convention, line "νur is normalized geometrically"; Lemma 3.5 proof). Reproducesν_ur(ā,s̄,ȳ) = (−2,1,0)of (13). - (c) cyclotomic orientation.
χ_cyc ∘ rec = (·)⁻¹on units (chiCyc_rec_unit) andχ_cyc(rec 2) = 1(chiCyc_rec_uniformizer: the uniformizer acts trivially on the totally ramifiedℚ₂(μ_{2^∞})/ℚ₂). Hereχ_cycis Mathlib's owncyclotomicCharacter … 2(§clause (c) is a convention check against the real cyclotomic character, not an abstract one). Reproducesχ_D(ā,s̄,ȳ) = (−1,1,(−3)⁻¹)of (13), becauseχ_D = χ_cycfor a local Demushkin group.
Convention table (the #1 human-review target) #
rec— Lean objectLocalReciprocity.rec— arithmetic:rec(2) =arithmetic Frobenius;reca continuous hom intoG^{ab}with dense imageν_ur— Lean objectLocalReciprocity.nu_ur— geometric:ν_ur(geom. Frob) = +1, soν_ur(arith. Frob) = −1; targetMultiplicative ℤ₂v₂— Lean objectGQ2.v2—Padic.valuation, sov₂(2) = 1,v₂(unit) = 0; clause (b) isν_ur∘rec = −v₂χ_cyc— Lean objectGQ2.chiCyc/chiCycAb— MathlibcyclotomicCharacter (AlgebraicClosure ℚ₂) 2 : g ↦ (ζ ↦ ζ^{χ(g)}); values inℤ₂ˣG^{ab}— Lean objectGQ2.AbsGalQ2ab— MathlibabsoluteGaloisGroupAbelianization ℚ₂ = G ⧸ closure⁅G,G⁆(topological abelianization)x^g,[x,y]— (inherited) —x^g = g⁻¹xg,[x,y] = x⁻¹y⁻¹xy(paper's standing conventions)
Soundness note (a real trap, cf. the Nat.card bug). ν_ur must target a profinite group
(ℤ₂), never ℤ: G^{ab} is compact, and a continuous hom from a compact group to discrete ℤ
is forced trivial — so clause (b) with target ℤ would be inconsistent (the axiom would prove
False). Targeting Multiplicative ℤ₂ (with −v₂ embedded via ℤ ↪ ℤ₂) is what makes the bundle
consistent.
Deviations flagged for review.
- Injectivity of
rec(true in the literature) is not asserted; it follows from clause (a) asLranges over all finite abelian extensions (⋂_L N_{L/ℚ₂}Lˣ = 1). We keep the bundle minimal. ν_ur,χ_cycand the per-Lrestrictions are stated on the topological abelianizationG^{ab};reclands there (its image is abelian).χ_cyc/restrictAbfactor Mathlib's full-groupchiCyc/restrictNormalHomthroughG^{ab}(chiCycAb_toAb,restrictAb_toAb).
References: [1] Neukirch–Schmidt–Wingberg, Cohomology of Number Fields, 2nd ed., (7.1.1)/(7.1.5) (class formation ⇒ local reciprocity); [7] Serre, Local Fields, Ch. XI–XIII. Paper: Turturean, Lemma 3.5, eq. (13); Prop. 1.1.
Note: the axiom GQ2.localReciprocity itself lives in GQ2/Foundations/Axioms.lean; this file
holds the bundle definition and the axiom-free, bundle-parametrized
stress tests.
The abelianized absolute Galois group and the maps out of it #
G_{ℚ₂}^{ab}, the topological abelianization of G_{ℚ₂}, i.e. Mathlib's
Field.absoluteGaloisGroupAbelianization ℚ₂ = G_{ℚ₂} ⧸ closure⁅G_{ℚ₂}, G_{ℚ₂}⁆. This is the
genuine Gal(ℚ₂^{ab}/ℚ₂); it is a topological (indeed profinite, though we do not need that)
CommGroup.
Equations
- GQ2.AbsGalQ2ab = Field.absoluteGaloisGroupAbelianization ℚ_[2]
Instances For
The closed commutator subgroup closure⁅G_{ℚ₂}, G_{ℚ₂}⁆;
AbsGalQ2ab = AbsGalQ2 ⧸ commClosure.
Equations
- GQ2.commClosure = (commutator GQ2.AbsGalQ2).topologicalClosure
Instances For
The abelianization projection G_{ℚ₂} ↠ G_{ℚ₂}^{ab}.
Equations
- GQ2.toAb = QuotientGroup.mk' GQ2.commClosure
Instances For
The 2-adic cyclotomic character on G_{ℚ₂} and its abelianization #
The 2-adic cyclotomic character χ_cyc : G_{ℚ₂} →* ℤ₂ˣ, g ↦ (ζ ↦ ζ^{χ(g)}) on
μ_{2^∞} ⊂ ℚ̄₂. This is Mathlib's cyclotomicCharacter, precomposed with the Galois action on
ℚ̄₂; clause (c) checks rec against exactly this map.
Equations
- GQ2.chiCyc = (cyclotomicCharacter (AlgebraicClosure ℚ_[2]) 2).comp (MulSemiringAction.toRingAut Gal(AlgebraicClosure ℚ_[2]/ℚ_[2]) (AlgebraicClosure ℚ_[2]))
Instances For
χ_cyc kills the closed commutator subgroup (its target ℤ₂ˣ is a Hausdorff abelian group), so
it factors through G_{ℚ₂}^{ab}.
The cyclotomic character as a map out of the abelianization, χ_cyc : G_{ℚ₂}^{ab} →* ℤ₂ˣ.
Equations
- GQ2.chiCycAb = QuotientGroup.lift GQ2.commClosure GQ2.chiCyc GQ2.chiCycAb._proof_1
Instances For
The 2-adic valuation on ℚ₂ˣ #
Norm subgroups and the abelianized restriction to a finite layer #
The norm subgroup N_{L/ℚ₂}(Lˣ) ≤ ℚ₂ˣ of a finite layer L/ℚ₂: the image of the field norm
Algebra.norm ℚ₂ : L →* ℚ₂ on units.
Equations
- GQ2.normSubgroup L = (Units.map (Algebra.norm ℚ_[2])).range
Instances For
Mathlib's AlgEquiv.restrictNormalHom for the layer L/ℚ₂, but with its domain presented as
AbsGalQ2 (= Field.absoluteGaloisGroup ℚ₂) rather than the raw AlgClosure ≃ₐ AlgClosure. These
are definitionally the same group, but the two carry different registered Group instances
(Field.instGroupAbsoluteGaloisGroup vs AlgEquiv.aut); pinning the domain to AbsGalQ2 keeps the
commutator/abelianization machinery (which lives on AbsGalQ2) and Mathlib's restriction on the
same instance path.
Equations
- GQ2.restrictHom L = AlgEquiv.restrictNormalHom ↥L
Instances For
For a finite abelian Galois layer L/ℚ₂, the restriction G_{ℚ₂} → Gal(L/ℚ₂) kills the
closed commutator subgroup, hence factors through G_{ℚ₂}^{ab}.
The abelianized restriction G_{ℚ₂}^{ab} → Gal(L/ℚ₂) for a finite abelian Galois layer
L/ℚ₂ (obtained by factoring Mathlib's restrictNormalHom through the abelianization).
Equations
- GQ2.restrictAb L hab = QuotientGroup.lift GQ2.commClosure (GQ2.restrictHom L) ⋯
Instances For
Stress test (restrictAb): restrictAb factors the restriction through the
abelianization.
Embedding ℤ₂ˣ and the uniformizer into ℚ₂ˣ #
A ℤ₂-unit as a ℚ₂-unit, ℤ₂ˣ ↪ ℚ₂ˣ.
Equations
- GQ2.unitEmbed = Units.map ↑(algebraMap ℤ_[2] ℚ_[2])
Instances For
The uniformizer 2 ∈ ℚ₂ˣ.
Equations
- GQ2.uniformizer = Units.mk0 2 GQ2.uniformizer._proof_1
Instances For
The reciprocity bundle #
B5 (local reciprocity for ℚ₂), the bundle. The arithmetic reciprocity map rec and the
geometric unramified coordinate ν_ur, with the three normalizing clauses (a)/(b)/(c). See the
module docstring for the convention table and paper cross-references (Lemma 3.5, eq. (13)).
- recip : ℚ_[2]ˣ →* AbsGalQ2ab
The arithmetic local reciprocity map
rec : ℚ₂ˣ →* G_{ℚ₂}^{ab}(namedrecipto avoid the auto-generated recursorLocalReciprocity.rec). - continuous_recip : Continuous ⇑self.recip
recis continuous. - denseRange_recip : DenseRange ⇑self.recip
rechas dense image (local CFT:G^{ab}is the profinite completion ofℚ₂ˣ). - nu_ur : AbsGalQ2ab →* Multiplicative ℤ_[2]
The unramified coordinate
ν_ur : G_{ℚ₂}^{ab} →* Multiplicative ℤ₂(target profinite — see the soundness note). - continuous_nu_ur : Continuous ⇑self.nu_ur
ν_uris continuous. - surjective_nu_ur : Function.Surjective ⇑self.nu_ur
ν_uris surjective (ν_ur : D ↠ ℤ₂in the paper). - norm_reciprocity (L : IntermediateField ℚ_[2] (AlgebraicClosure ℚ_[2])) [FiniteDimensional ℚ_[2] ↥L] [IsGalois ℚ_[2] ↥L] (hab : ∀ (σ τ : Gal(↥L/ℚ_[2])), σ * τ = τ * σ) : Function.Surjective ⇑((restrictAb L hab).comp self.recip) ∧ ((restrictAb L hab).comp self.recip).ker = normSubgroup L
(a) norm residue. For every finite abelian Galois layer
L/ℚ₂, the inducedℚ₂ˣ → Gal(L/ℚ₂)is surjective with kernel the norm subgroupN_{L/ℚ₂}(Lˣ). [NSW (7.1.1)/(7.1.5)] (b) unramified normalization.
ν_ur ∘ rec = −v₂. [paper (13):ν_ur(ā,s̄,ȳ)=(−2,1,0)](c) cyclotomic orientation, units.
χ_cyc(rec u) = u⁻¹foru ∈ ℤ₂ˣ. [paper (13):χ_D(ȳ) = (−3)⁻¹]- chiCyc_recip_uniformizer : chiCycAb (self.recip uniformizer) = 1
(c) cyclotomic orientation, uniformizer.
χ_cyc(rec 2) = 1(uniformizer trivial on the totally ramifiedℚ₂(μ_{2^∞})/ℚ₂). [paper (13): needed forχ_D(ā) = −1]
Instances For
Stress tests: the bundle reproduces the paper's equation (13) #
Each theorem below is stated for an arbitrary R : LocalReciprocity (so it exercises the bundle's
clauses, not the axiom, and stays at the standard three axioms). Together they recompute the
(ν_ur, χ_D) rows of Lemma 3.5's equation (13) for s̄ = rec(2)⁻¹, ā = rec(−4),
ȳ = rec(−3).
(b) at the uniformizer — the arithmetic-Frobenius normalization. ν_ur(rec 2) = −1:
rec sends the uniformizer to arithmetic Frobenius, whose geometric coordinate is −1.
(b), ā row of (13): ν_ur(rec(−4)) = −2.
(b), ȳ row of (13): ν_ur(rec(−3)) = 0 (−3 is a unit).
(c), ā row of (13) — the flagship orientation check: χ_cyc(rec(−4)) = −1.
Here −4 = (−1)·2², so χ_cyc(rec(−4)) = χ_cyc(rec(−1))·χ_cyc(rec 2)² = (−1)⁻¹·1 = −1, using
clause (c) on the unit −1 and clause (c) on the uniformizer.
(c), ȳ row of (13): χ_cyc(rec(−3)) = (−3)⁻¹, with −3 viewed as a ℤ₂-unit.
Paper-tag ledger (auto-generated by paperforge; do not edit) #
- eq. (13) = ⟦eq-localmarkingorientation⟧
- Lemma 3.5 = ⟦lem-markedinitialform⟧
- Prop 1.1 = ⟦prop-markedDem⟧