Skip to content

Class field theory roadmap: class formations, Tate–Nakayama, and Artin reciprocity (revision of #250) - #261

Closed
CBirkbeck wants to merge 4 commits into
TauCetiProject:mainfrom
CBirkbeck:roadmap/class-formations
Closed

Class field theory roadmap: class formations, Tate–Nakayama, and Artin reciprocity (revision of #250)#261
CBirkbeck wants to merge 4 commits into
TauCetiProject:mainfrom
CBirkbeck:roadmap/class-formations

Conversation

@CBirkbeck

@CBirkbeck CBirkbeck commented Aug 17, 2026

Copy link
Copy Markdown
Collaborator

Dependencies: this roadmap depends on Profinite Cohomology #188, Local Fields and Ramification #189, Number-Field Arithmetic #191, and Global Number Fields #245, and should merge after them.

Relation to #250: this branch is built on the head of #250 (fc9257f) and is offered as a revised version of that roadmap. The last commit is the whole change; a summary is posted on #250.

Summary

This replaces the class-field-theory roadmap by one centred on abstract class formations in the sense of Artin–Tate. The spine is

formation
  -> class-formation axioms
  -> fundamental classes
  -> Tate–Nakayama
  -> finite-level Artin maps
  -> local and global reciprocity
  -> existence theorems,

and the material of #250 that does not construct the Artin map — the local Brauer group and cohomological Hilbert symbol, local Tate duality and Euler characteristics, local conductors, the cyclic Hasse norm theorem, Hilbert/narrow/ray/ring class fields, Kronecker–Weber, and Hilbert reciprocity — is kept as Layers 8–10 on top of that spine, together with the local Weil group and quadratic reciprocity as the explicit reciprocity law. The frozen names consumed by LocalGaloisGroups, GlobalQuadraticForms and QuadraticFormInvariants are unchanged.

Finite-group Tate cohomology and continuous profinite cohomology are consumed from Mathlib, the kbuzzard/ClassFieldTheory development, and ProfiniteCohomology. They are not redefined here.

Main design decisions

  • ClassFormation contains the invariant maps and their compatibility, but no chosen fundamental class. The fundamental class is the unique class of invariant 1/[U:V].
  • tateIso — Tate's theorem for the class formation (Artin–Tate's Main Theorem; the M = ℤ case, not the Tate–Nakayama tensor-product generalization) — is required to have cup product with the fundamental class as its underlying homomorphism in every integer degree.
  • The degree -2 → 0 cup-product direction is nakayamaNegTwo : (U/V)^ab ≃ A^U/N(A^V); the Artin reciprocity direction is its inverse artinEquiv, and artinMap is the composite with the quotient map. In Suggested.lean these are ordinary definitions with bodies, so artinMap_apply and artinEquiv_eq_tateIso are rfl; only the leaves carry sorry. The character formula χ(artinMap a) = inv(a₀ ∪ δχ) is also required and fixes the sign independently.
  • The finite local and global Artin maps are transparent transports of the abstract map; normResidue is the multiplicative form of localArtinEquiv, not a second construction. The absolute local artinMap, unramifiedCoordinate and cyclotomicCharacter_artinMap (with the field norm) are kept as in Add roadmap: Class field theory #250.
  • Arithmetic Frobenius everywhere: a uniformizer in an unramified local extension maps to arithmetic Frobenius, and Art((ℓ))(ζ_m) = ζ_m^ℓ.

Regression tests

The roadmap requires explicit tests, stated in Suggested.lean: the trivial layer; kernel/quotient and cyclic-layer formulae; an unramified local extension; a quadratic extension and its norm subgroup; ℚ(i)/ℚ (primes 1 mod 4 trivial, 3 mod 4 complex conjugation); ℚ(√5)/ℚ; ℚ(ζ_m)/ℚ with Art((ℓ))(ζ_m) = ζ_m^ℓ; the local example ℚ₂(ζ₅)/ℚ₂ where 2 maps to ζ₅ ↦ ζ₅²; and compatibility between ℚ(ζ₅) and ℚ(√5). The cyclotomic test is essential because a quadratic example cannot distinguish Frobenius from its inverse.

Lean status

Suggested.lean (1500 lines, 199 declarations, 147 sorry targets, no other warnings) imports the four supplier Suggested.lean files, like #250. It type-checks against those files at their current heads (#188 60fe818, #189 8ffd411, #191 041929b, #245 351636e) on this repository's Mathlib pin 05ae0103; CI will stay red until the suppliers merge, exactly as for #250. Everything is stated in universe 0, because Mathlib's tateCohomology keeps the finite group and the coefficient ring in one universe.

The def_wanted/theorem_wanted idiom of an earlier draft does not exist in Lean/Batteries (only proof_wanted does, and it discards the declaration); the file uses ordinary definitions with bodies for the derived Artin maps instead, which is what makes the chain definitional.

Also registers ClassFieldTheory in the issue-template area dropdowns, as .github/scripts/check_roadmap_areas.py requires.

Files

  • TauCetiRoadmap/ClassFieldTheory/README.md: normative roadmap
  • TauCetiRoadmap/ClassFieldTheory/Suggested.lean: representative public contracts and acceptance tests
  • .github/ISSUE_TEMPLATE/*.yml: area dropdown entries

🤖 Generated with Claude Code

roed314 and others added 3 commits August 17, 2026 00:47
…keeping the downstream theory

Rewrite the class field theory roadmap so that its spine is Artin–Tate's
abstract class formation:

  formation → class-formation axioms → fundamental classes → Tate–Nakayama
  → finite-level Artin maps → local and global reciprocity → existence,

with the material of the previous version (local Brauer group and Hilbert
symbol, local Tate duality and Euler characteristics, conductors, the cyclic
Hasse norm theorem, Hilbert/narrow/ray/ring class fields, Kronecker–Weber,
Hilbert reciprocity) retained as Layers 8–10 on top of that spine, plus the
local Weil group and quadratic reciprocity as the explicit reciprocity law.

README:
- finite-group Tate cohomology and continuous cohomology are consumed from
  Mathlib, kbuzzard/ClassFieldTheory and ProfiniteCohomology, never redefined;
- ClassFormation stores invariant maps; the fundamental class is derived as the
  unique class of invariant 1/[U:V]; tateNakayamaIso is required to be cup
  product with it in every degree;
- the Artin map is definitionally the inverse of the degree −2 → 0 Nakayama
  map; a character formula fixes the sign independently; arithmetic Frobenius
  throughout, with the uniformizer, cyclotomic-character and ℚ(ζ_m) tests
  mandatory;
- local and global maps are transports of the abstract map; the frozen names
  consumed by LocalGaloisGroups, GlobalQuadraticForms and
  QuadraticFormInvariants (normResidue, artinMap, unramifiedCoordinate,
  cyclotomicCharacter_artinMap, tateDualityPairing_perfect_mixed,
  eulerCharacteristic_finrank_fp, localSymbol, cyclicHasseNorm,
  hilbertProductFormula, ringClassField, …) are kept;
- acceptance tests (trivial layer, unramified, quadratic, ℚ(i), ℚ(√5),
  cyclotomic, ℚ₂(ζ₅), tower/transfer) are part of the specification.

Suggested.lean (builds against the supplier Suggested.lean files of TauCetiProject#188,
TauCetiProject#189, TauCetiProject#191, TauCetiProject#245 at their current heads; 147 sorry targets, no other
warnings):
- Formation, NormalLayer (finiteness of U/V proved from openness), layer
  changes, ClassFormation, fundamentalClass, cupFundamentalClass,
  tateNakayamaIso; nakayamaNegTwo/artinEquiv/artinMap as ordinary
  definitions with bodies so artinMap_apply and artinEquiv_eq_tateNakayama
  are rfl; the four Artin–Tate functoriality diagrams and character formula;
- local class formation, localArtinEquiv/localArtinMap, normResidue as its
  multiplicative form via IsSepClosed.lift, absolute artinMap,
  geometricArtinMap, unramifiedCoordinate, cyclotomic normalization,
  conductors, localWeilGroup, localExistence;
- global class formation, globalArtinEquiv/globalArtinMap, principal-idele
  triviality, comparison with NumberFieldArithmetic.artinHomAway, local
  factors, globalExistence, norm index, cyclicHasseNorm, class fields,
  Hilbert reciprocity;
- all regression tests as named theorem statements.
Everything is stated in universe 0 because Mathlib's tateCohomology keeps
the group and the coefficient ring in one universe.

Also register ClassFieldTheory in the issue-template area dropdowns, as
.github/scripts/check_roadmap_areas.py requires.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@CBirkbeck
CBirkbeck requested review from a team as code owners August 17, 2026 12:53
@tauceti-review-bot
tauceti-review-bot Bot enabled auto-merge (squash) August 17, 2026 12:53
…er Tate, not Tate–Nakayama

Artin–Tate call the class-formation statement the Main Theorem (XIV §4) and
prove it from Tate's cup-product criterion (Preliminaries §2, Theorem A;
Tate, Ann. of Math. 56, 1952). The name Tate–Nakayama belongs to Nakayama's
1957 tensor-product generalization Ĥ^r(Γ,M) ≃ Ĥ^{r+2}(Γ,M⊗C), which the
generic supplier proves; the roadmap only uses M = ℤ. Rename tateNakayamaIso
→ tateIso (with tateIso_res, artinEquiv_eq_tateIso), keep nakayamaNegTwo for
Artin–Tate's Nakayama map, and record the attributions in README §2.4.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@CBirkbeck CBirkbeck closed this Aug 17, 2026
auto-merge was automatically disabled August 17, 2026 16:50

Pull request was closed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants