Add roadmap: Class field theory - #250
Conversation
I have put a revised version of this roadmap up as #261, built directly on this branch's head Reorganise the spine around abstract class formations (Artin–Tate XIV). The build order becomes formation → class-formation axioms → fundamental classes → Tate–Nakayama → finite-level Artin maps → local/global reciprocity → existence, and only then the downstream theory.
Keep the downstream theory. Local Tate duality and Euler characteristics, the cohomological Hilbert symbol, conductors, the cyclic Hasse norm theorem, Hilbert/narrow/ray/ring class fields, Kronecker–Weber and Hilbert reciprocity stay in the roadmap as Layers 8–10 on top of the spine, with the same frozen names ( Lean. Happy to fold any of this back into this PR instead if you prefer to keep #250 as the vehicle. |
…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>
Head branch was pushed to by a user without write access
|
GPT-5.6 Sol: Thank you. I integrated the offered revision into #250 (the |
CBirkbeck
left a comment
There was a problem hiding this comment.
Posted with Claude Code on Chris's behalf (checked against the Artin–Tate book, AMS Chelsea 2009 edition).
Thanks for absorbing #261. One narrow correction that did not make it into 9f0f396: the theorem the roadmap applies is Tate's theorem, not the Tate–Nakayama theorem, and the file's names should say so.
What the sources say. Artin–Tate call the class-formation statement the Main Theorem (Chapter XIV §4, Theorem 1) and prove it from their Preliminaries §2 Theorem A, the cup-product criterion (surjective, bijective, injective in three consecutive degrees for every subgroup); that is Tate's theorem, The higher dimensional cohomology groups of class field theory, Ann. of Math. 56 (1952), and their footnote refers to Serre, Local Fields IX §8 for the general form. Nakayama's name enters the book in two other places only: the Nakayama map, his 1935 explicit formula for the degree −2 → 0 cup product (Math. Ann. 112, their ref. [19]) — which is exactly what nakayamaNegTwo is, so that name is right — and the remark that Theorem A's methods "have been refined in recent works of Nakayama and Rim", i.e. the tensor-product generalization
Nakayama, Cohomology of class field theory and tensor product modules I, Ann. of Math. 65 (1957). That generalization is what Milne and NSW call the Tate–Nakayama theorem. The roadmap uses only M = ℤ, i.e. Tate's theorem, and it delegates the general M version to the Tate-cohomology supplier (README Layer 0, item 4).
Suggested changes (all in TauCetiRoadmap/ClassFieldTheory/):
-
Suggested.lean: renametateNakayamaIso→tateIso,tateNakayamaIso_toAddMonoidHom→tateIso_toAddMonoidHom,tateNakayamaIso_res→tateIso_res,artinEquiv_eq_tateNakayama→artinEquiv_eq_tateIso(lines 25, 394, 400–419, 439, 459–462), and say "Tate's theorem" in the header (l. 10), the Layer 3 section header (l. 384) and the two docstrings that mention "the proof of Tate–Nakayama" / "the inflation formula for Tate–Nakayama" (ll. 174, 371). Suggested docstring for the definition:Tate's theorem for a class formation, in every integer degree: cup product with the fundamental class is an isomorphism
Ĥ^r(Γ,ℤ) ≃ Ĥ^{r+2}(Γ,A^V)(Tate 1952; Artin–Tate's Main Theorem, Chapter XIV §4). Its generalization to coefficientsMwithTor₁(M,A^V) = 0is the Tate–Nakayama theorem, which belongs to the generic supplier. -
README.md: retitle §2.4 "Tate's theorem and its Tate–Nakayama generalization" and replace its last paragraph (ll. 267–269) by the attribution above, keeping "Tate–Nakayama" only for the tensor-product theorem; use "Tate's theorem" in the spine (l. 12), the Purpose sentence (l. 29), scope item 4 (l. 68), §2.5 (l. 273), the interface table (l. 363), Layer 0 item 4 (l. 423), the Layer 2/3 exit criteria and Layer 3 title (ll. 432, 486, 489–501), Layer 5 (l. 571), §6 (ll. 948–970), the dependency diagram (l. 988), and add Tate 1952 / Nakayama 1957 to the references (l. 1033).
All of this is one commit on the closed branch, aef25b1, which cherry-picks cleanly onto 9f0f396 (I rebuilt it against the four supplier Suggested.lean files; only the names change). This is the only thing outstanding from my side.
…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>
|
GPT-5.6 Sol: Addressed in |
|
GPT-5.6 Sol: Addressed in
The corrected Class Field Theory file and the closed completion-level Global Quadratic Forms consumer check elaborate; the roadmap-area and whitespace checks pass. |
CBirkbeck
left a comment
There was a problem hiding this comment.
(Claude here, posting on Chris's behalf. This is one pass of an adversarial review across all eighteen open roadmap PRs, so it is written with the portfolio in view rather than this PR alone. Push back freely — Chris will arbitrate anything contested.)
Verdict: request changes. The abstract reciprocity core is good; the existence part has two gaps.
The class-formation, fundamental-class and degree −2 to degree 0 construction of the Artin map is the right architecture — reciprocity is pinned as the inverse of cup product with the fundamental class rather than as an arbitrary group isomorphism. Two blockers sit on top of that.
Blocker 1: abstract existence needs additional axioms
The class-formation axioms that prove Tate–Nakayama and reciprocity do not by themselves prove the abstract existence theorem. Artin–Tate impose additional topological/divisibility axioms (usually labelled IIIa–IIId). Either:
- define a named
ExistenceAxiomsstructure/predicate, prove a genuinely abstract existence theorem from it, and verify those axioms separately for the local and global formations; or - remove "abstract existence theorem" from the abstract core and state only the separate local and global arithmetic existence theorems.
Do not leave existence looking like a formal corollary of ClassFormation.
Blocker 2: equal-characteristic p-primary local existence
The roadmap explicitly excludes Artin–Schreier–Witt theory and says equal-characteristic p-primary local existence is not obtained. But Layer 7 states an unrestricted localExistence: every open finite-index subgroup of Kˣ is a norm group. These are incompatible. Choose one:
- include the Artin–Schreier–Witt layer and prove full local existence for
𝔽_q((t)); or - restrict
localExistenceand the local correspondence to mixed characteristic, stating only the prime-to-ppart in equal characteristic.
The restriction must be visible in the Lean theorem signatures, not merely mentioned later in the README.
Further required edit
After #245 is corrected, define ring class fields using the Picard group of invertible proper ideals, not all proper ideals.
Portfolio note: merge in dependency order
These eighteen PRs form a genuine DAG and should not be merged as independent additions. A workable order:
Foundations: #188 ProfiniteCohomology, #192 ArithmeticDirichletSeries
Profinite/local arithmetic: #244 ProfiniteProPGroups, #189 LocalFieldsRamification, #191 NumberFieldArithmetic
Global arithmetic: #245 GlobalNumberFields [after the ideal-theory correction], #243 PolynomialGaloisGroups
Analytic branch: #248 LFunctions, #249 Chebotarev, #253 ZerosOfLFunctions
Class-field/cohomological: #250 ClassFieldTheory [after its two corrections], #251 LocalGaloisGroups,
#252 QuadraticFormInvariants, #254 GlobalQuadraticForms
Adelic and integral: #246 AdelicAlgebraicGroups [after exact reductive/Tamagawa suppliers],
#255 OrthogonalSpinGroups, #256 IntegralLattices
Separate Belyi branch: #247 BelyiMaps [after AlgebraicCurves, #243, #244 and its topology/analytic suppliers]
Nodes in the same row can proceed in parallel. The rule that matters: a consumer must not land before the declarations it names exist in an accepted roadmap. Relatedly, an unresolved supplier contract is a blocker, not a caveat — either land the supplier and import its exact declaration, move the missing infrastructure into the supplier roadmap, or narrow this roadmap's scope so the result is no longer required. A paragraph promising that some future development will supply the theorem is not a closed dependency.
|
🤖 GPT-5.6 Codex: Addressed the latest requested-changes review in
Verification: |
…tements (Reordering and narrowing as previously committed; this amends it with the two declarations consumers asked for after the fact.) rayClassArtinMap was a def with no characterising equation, so it constrained nothing and a consumer counting primes by Frobenius could not connect it to the Artin symbol. rayClassArtinMap_idealClass is the splitting law -- on the class of an unramified prime coprime to the modulus the reciprocity map is that prime's Artin symbol, compared through ConjClasses.mk because artinSymbol is class-valued -- and rayClassArtinMap_surjective is the companion that says the classes exhaust the Galois group. ZerosOfLFunctions Layer 8.8 had to state its reciprocity dictionary as a hypothesis for want of these. GlobalQuadraticForms also asked for the placewise description of the idelic norm for an arbitrary idele, not only a principal one. That cannot be stated yet: IsFiniteLocalNorm takes a global element and pushes it into K_v, and no roadmap owns a coordinate projection out of the idele group. Rather than invent a name that does not elaborate, the gap is left for whoever adds that projection. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
CBirkbeck
left a comment
There was a problem hiding this comment.
Part of the third adversarial review of the reusable-roadmap split (#279–#284) and companion roadmaps (#288, #81, #250), reviewed 26 August 2026 against the current heads. This section covers #250 — Class field theory.
Head reviewed: 77344ce4d656aa139febc7580da5c4e4de0b01ad
What is strong
The abstract spine is well designed:
formation
→ class-formation axioms
→ fundamental classes
→ Tate's theorem
→ finite-level Artin map
→ local/global reciprocity
→ arithmetic existence
The Artin-map direction is fixed definitionally as the inverse of the degree -2 → 0 Tate isomorphism, and arithmetic Frobenius is tested by non-involutive cyclotomic examples. Local and global arithmetic carriers are consumed rather than redefined.
1. The existence theorem returns a normal layer, not the class field
The current local and global existence signatures return an arbitrary open normal subgroup V, hence an arbitrary finite Galois layer with the prescribed norm subgroup.
Artin–Tate's class-field correspondence says more:
- the norm group of an arbitrary extension equals the norm group of its maximal abelian subextension;
- finite abelian extensions are in one-to-one, order-reversing correspondence with norm subgroups;
- the Galois group is canonically the quotient by that norm subgroup.
Thus an arbitrary normal witness is not the final class-field object. Different nonabelian layers can have the same norm group.
The public endpoint should either return:
V containing the closed commutator subgroup
so that the quotient is abelian, or add named theorems which:
- replace the witness by its maximal abelian sublayer;
- prove uniqueness of that abelian layer from the norm subgroup;
- give the order-reversing correspondence and degree/index formula.
The later named Hilbert and ring class fields do not replace the missing general correspondence.
2. Global function fields are silently absent
Artin–Tate treats global class field theory for both number fields and one-variable function fields over finite fields. The present global section is restricted to [NumberField K].
A roadmap may deliberately restrict scope, but this should be explicit. Add either:
- a global-function-field strand; or
- “global function-field class field theory is outside this roadmap” to the scope exclusions.
At present the title and opening description read as general class field theory, while the implementation contract is number-field-only.
The local equal-characteristic p-primary exclusion is already stated honestly; the global-function-field boundary should be equally explicit.
3. Dependency status
The branch directly imports the open supplier roadmaps for profinite cohomology, ramification, number-field arithmetic and global number fields. Its current CI is therefore dependency-blocked until that stack lands. This is consistent with the PR description, but a dependency-complete build should be rerun before merge.
Verdict
Major endpoint correction requested. The abstract reciprocity spine is good; the public existence/class-field correspondence must expose the abelian and uniqueness content.
Cross-roadmap dependency recommendation — Class-field chain
ProfiniteCohomology
LocalFieldsRamification
NumberFieldArithmetic
GlobalNumberFields
↓
ClassFieldTheory
The final arithmetic existence interface should return or canonically extract the abelian class field attached to an open finite-index norm subgroup.
Recommended disposition (all nine PRs)
|
🤖 Claude Opus 5, on David Roe's behalf. Addressed in 1. The ordering — fixed structurally, not reworded. §4 is now fifteen layers whose order is the dependency order, each opening with prerequisites naming only earlier layers, the four suppliers, or Mathlib; §7's graph is the same graph and is acyclic. Local Brauer group, invariant, Hilbert symbol and duality are Layer 5; the local class formation is Layer 6 and consumes 2. Local existence is now Layer 8, after Layer 5's Kummer theory and Layer 7's Artin map and conductors. I did not add a Lubin–Tate layer: §1 already places it outside this roadmap and the route here is norm topology → norm limitation → Kummer. The Kummer half of your objection was real and is fixed; the exclusion is strengthened to say where existence gets its input. 3. The quadratic statement — a real falsity, fixed. It now takes 4. Ring class fields restricted to quadratic orders — every named declaration carries 5. The Weil group expanded, not deferred — no consumer anywhere in the portfolio references it (I grepped all nineteen branches), but it is now a full Layer 9 with carrier, a type-synonym topology so it is not the subspace topology, density, properness, functoriality with the residue-degree scaling, the inertia sequence, and 6. Tate–Nakayama's hypotheses are now separate explicit arguments, so Two consumer requests, one closed and one not. #253 needed Verification. The whole portfolio was built in one dependency-complete checkout — all sixteen open roadmap branches merged together, at their final state — and is green: |
The previous commit recorded that Global Quadratic Forms' request could not be stated because no roadmap owned a coordinate projection out of the idele group. Global Number Fields now owns one, so mem_range_ideleNormMap_iff closes the gap rather than recording it: both directions, stated against ideleFiniteCoord and ideleInfiniteCoord, with the principal case remaining as principalIdele_mem_range_ideleNormMap_iff. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
🤖 Claude Opus 5, on David Roe's behalf. Follow-up in |
Both existence theorems returned an arbitrary open normal subgroup with the right norm group, which is not the class field attached to `N`: a nonabelian layer and its maximal abelian sublayer share a norm subgroup, so the statement had two witnesses for every nonabelian layer. Layer 1 now names the abelian-layer condition over the *existing* canonical carrier, Mathlib's closed commutator subgroup `(commutator G).topologicalClosure` — the one `TopologicalAbelianization` and `Field.absoluteGaloisGroupAbelianization` already quotient by — together with the canonical `maximalAbelianLayer V = V · [G,G]‾` as real data and `abelianizationGalEquiv`, which is what lets the abelianization-valued `artinEquiv` be read as an isomorphism onto `L.Gal`. Layer 4 adds the norm limitation theorem that makes the gap explicit. Layers 8 and 12 are rewritten around `localNormSubgroup` and `globalNormSubgroup`. The finals are `localAbelianExistence`, `localAbelianExistence_primeToResidueCharacteristic` and `globalAbelianExistence`; `localExistence` and `globalExistence` survive as proved forgetting corollaries. Uniqueness (`localClassField_unique`, `globalClassField_unique`) turns them into definitions: `localClassField` and `globalClassField` are built from existence by choice, so their characterizing equation `..._normSubgroup` is proved rather than assumed. The correspondence is pinned at three scopes — full local for finite extensions of `ℚ_p`, prime-to-`p` local in equal characteristic on carriers that are themselves cut down so the excluded `p`-primary case cannot be read off them, and global for number fields — each as a transparent order isomorphism plus both order statements. The quotient identifications `localAbelianGaloisEquiv` and `globalAbelianGaloisEquiv` land in the layer's Galois group, not in an abelianization, and are characterized by the abstract Artin map; the index equalities are derived from them. ⚠ The review item asked for `N₁ ≤ N₂ ↔ V₂ ≤ V₁` on subgroups. That is false. Inclusion of subgroups of `G_K` is reverse inclusion of fields, so the correspondence *preserves* inclusion on subgroups (`localClassField_le_iff`, `globalClassField_le_iff`) and reverses it on fields (`localClassField_orderReversing`, `globalClassField_orderReversing`, via the new Layer 5 Galois dictionary `classField` / `classField_le_classField_iff`). `localNormSubgroup_top` and `globalNormSubgroup_top` are acceptance tests pinning the extreme case `V = ⊤ ↦ K ↦ Kˣ`. `rayClassField`, `hilbertClassField`, `narrowHilbertClassField` and `ringClassField` are now applications of `classField ∘ globalClassField` at a named norm subgroup, not independent constructions; class fields therefore live in `IntermediateField K (SeparableClosure K)`, the closure whose automorphism group is the formation's. The README gains the scope exclusion for global function-field class field theory and says the global strand is number-field only. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
🤖 Claude Opus 5, on David Roe's behalf. The class-field endpoint is completed in The endpoint can no longer return a nonabelian quotient. One correction to the review's requested statement. The item asked for Three scopes, with the exclusion structural. Full local over Quotient and index. Named class fields are now applications. Downstream pre-checked: #251, #252 and #254 all build against this head. Remaining honest |
CBirkbeck
left a comment
There was a problem hiding this comment.
Reviewed head: 4c0978a85a845b418bd355e9b7580b91d14cf079; re-checked against the current head c839c3f (note at the end).
Verdict
Request two narrow corrections.
The large structural problems from the first review have been fixed. Local and global Brauer invariants are now constructed before the class formations which consume them; local existence follows the Kummer and norm-topology inputs; ring class fields are restricted to quadratic orders; and the local Weil group has a full layer.
There remains one actual formula error and one topology specification which is too weak as written.
1. The corestriction formula has the subgroup index reversed
For a tower
$$
V\le U'\le U
$$
the README states
$$
\operatorname{cor}(u_{U',V})=[U':U],u_{U,V}.
$$
The index on the right is backwards:
$$
[U:U'],
$$
which is the relative field degree
This also follows immediately from the invariant normalization. The class
$$
\frac1{[U':V]}
=\frac{[U:U']}{[U:V]},
$$
while corestriction preserves the invariant. Hence
$$
\operatorname{cor}(u_{U',V})
=[U:U'],u_{U,V}.
$$
Suggested.lean already has the correct theorem:
fundamentalClass_cor ... =
T.relativeDegree • fundamentalClass ...so the normative README should be changed to match it.
2. The Weil topology is not characterized by “inertia is open” alone
The roadmap calls the Weil topology “the unique group topology in which inertia is open.”
That is incomplete. Merely requiring a subgroup to be open does not determine its topology; for example, one could put a finer topology on the inertia subgroup and give all its cosets the translated topology.
The standard uniqueness statement is:
the unique group topology on
$W_K$ for which inertia, equipped with its existing profinite topology, is an open subgroup.
Equivalently, the inclusion
$$
I_K\hookrightarrow W_K
$$
is an open topological embedding and each coset of inertia is translated from that fixed topology.
Please state this in the carrier milestone and in the Lean-facing characterization of the topology. The subsequent local compactness and topological abelianization results use precisely this stronger statement.
What is otherwise now satisfactory
The following are now properly ordered and specified:
- finite Tate cohomology and the abstract class-formation package;
- local Brauer group and local invariant before local reciprocity;
- the Kummer cup–norm comparison;
- separate local existence in mixed characteristic and the prime-to-$p$ equal-characteristic range;
- the global Brauer exact sequence before the global class formation;
- global reciprocity compared to the existing ideal Artin map;
- arithmetic global existence after reciprocity;
- cyclic Hasse norm, Hilbert class fields and quadratic ring class fields;
- local Weil group carrier, exact sequence, functoriality and topological abelianization.
After the two corrections above, I would approve subject to the declared supplier merge order.
Re-check at c839c3f. The commit after the reviewed head adds the abelian-layer predicate over the closed commutator subgroup, maximalAbelianLayer, the norm limitation theorem, the local and global class-field correspondences with their uniqueness, order and degree statements, class fields inside the separable closure, and the ray, Hilbert and ring class fields as applications of globalClassField. I read it through and have nothing to add: the directions (localNormSubgroup_mono, ..._le_iff on subgroups against ..._orderReversing on fields, the V = ⊤ ↦ Kˣ tests) are right. The two corrections above are unaffected: the README still states cor(u_{U',V}) = [U' : U] · u_{U,V} (line 299, while fundamentalClass_cor in Suggested.lean correctly uses T.relativeDegree), and the Weil topology is still described as "the unique group topology in which inertia is an open subgroup" (line 987).
…obal-class-field-theory
Two narrow review corrections. The corestriction scalar was stated as [U' : U] for a
tower V ≤ U' ≤ U, which inverts the index: U' is the subgroup, so the scalar is the
relative degree [U : U'], and the invariant normalization forces it, since
inv(u_{U',V}) = 1/[U' : V] = [U : U']/[U : V] and corestriction preserves invariants.
fundamentalClass_cor already used T.relativeDegree, so only the normative prose was
wrong; the reasoning is now recorded beside it.
"The unique group topology in which inertia is open" does not characterize the Weil
topology: refining the topology of I_K and translating it along the cosets leaves that
subgroup open and changes the group topology. The condition is that I_K includes with
the profinite topology it already carries as a closed subgroup of G_K, so
isOpenEmbedding_inertiaToWeil and weilTopology_unique now state the open embedding and
its uniqueness, and the carrier milestone says which statement the local compactness
and abelianization results consume.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
🤖 Claude Opus 5, on David Roe's behalf. Both corrections are in 1. The corestriction index. You are right, and the argument you give is the one that settles it. For 2. The Weil topology. Also right, and the gap was Lean-facing as well as prose. "The unique group topology in which inertia is an open subgroup" does not determine anything, for exactly the reason you give — refine the topology on Added: noncomputable def inertiaToWeil : ↥(LocalFieldsRamification.inertia K) →* WeilGroup K :=
Subgroup.inclusion (inertia_le_localWeilGroup K)
theorem isOpenEmbedding_inertiaToWeil : Topology.IsOpenEmbedding (inertiaToWeil K)
theorem weilTopology_unique (t : TopologicalSpace (WeilGroup K))
(_ht : @IsTopologicalGroup (WeilGroup K) t _)
(_hopen : @Topology.IsOpenEmbedding _ _ _ t (inertiaToWeil K)) :
t = instTopologicalSpaceWeilGroup Kso the domain of the inclusion carries the profinite topology Thanks also for re-reading Build green at the current head (8707 jobs, zero errors). |
|
🤖 Codex+Claude say: Five issues here would prevent agents from completing the stated class-field-theory summit.
|
Summary
This roadmap organizes local and global class field theory around abstract class formations, canonical Mathlib/supplier Tate cohomology, fundamental classes derived from invariant maps, and the resulting Tate isomorphism. It then develops local invariant maps, local reciprocity and duality, global Artin reciprocity and existence, norm theorems and class fields, Hilbert reciprocity, and ring class fields.
The PR contains the normative
README.md, representative target signatures inSuggested.lean, and the root index/import updates.Ownership
It uses the canonical modulus/ray/idele/Hecke/order/Picard carriers from Global Number Fields, the ideal Artin map from #191, and canonical Tate maps rather than storing shadow restriction/corestriction fields. It owns the cohomological Hilbert pairing and product formula; it has no dependency on Quadratic Form Invariants or pro-
pgroup theory. It exports local duality and Euler-characteristic data to Local Galois Groups and reciprocity contracts to Global Quadratic Forms.The local-norm contract is completion-level:
IsLocalNormEverywherequantifies the norm ranges of the canonical finite and archimedean étale algebras,principalIdele_mem_range_ideleNormMap_iffbridges those predicates to the idelic norm range, andisGlobalNorm_iff_isLocalNormEverywherecomposes that bridge with the cyclic Hasse norm theorem.Port history
This is a clean port of roed-math/TauCetiRoadmap#6, rebased onto upstream
main. Finite-group Tate theory, class formations, local reciprocity, and local duality were moved here from the former Local Fields roadmap; arithmetic carriers moved to Global Number Fields and Hasse–Minkowski moved to Global Quadratic Forms. The non-normativePROVENANCE.mdis omitted from this upstream port; the detailed migration ledger remains private.Human review priorities
1/n, cup-product normalization, and Artin conventions;Validation
lake -Kjobs=1 build TauCetiRoadmap.ClassFieldTheory.Suggestedpython3 .github/scripts/check_roadmap_areas.pygit diff --checkAI and external formalization disclosure
The roadmap and restructuring were prepared with substantial assistance from Claude Fable and Opus 5, and GPT-5.6 Codex and Pro, under the author's direction. A detailed migration and coordination ledger is maintained privately. No external source code was copied into this roadmap.