Skip to content

Mathlib prerequisites scoping: class field towers and Golod-Shafarevich (follow-up to #20516) #20577

@rjwalters

Description

@rjwalters

Background

Follow-up to #20516 (acceptance criterion #4b).

The OpenAI 2026-05-20 construction reportedly disproving Erdős's unit-distance conjecture (#20516) relies on infinite class field towers, guaranteed to exist by the Golod–Shafarevich theorem when the class group's ℓ-rank exceeds a bound depending on the discriminant. Formalizing this construction in Lean 4 / Mathlib (see #20576) requires the following infrastructure, which may or may not already exist in Mathlib.

This issue scopes which prerequisites exist, which are partially formalized, and which are entirely missing.

Scope

For each of the following Mathlib areas, audit the current state and report:

  1. Algebraic number theory basics: NumberField, RingOfIntegers, Mathlib.NumberTheory.NumberField.*
  2. Class group: ClassGroup, finiteness, ℓ-torsion subgroups
  3. Class field theory: Hilbert class fields, idele class groups, Artin reciprocity
  4. Class field towers: explicit definition and infinitude criteria
  5. Golod–Shafarevich theorem: pro-ℓ groups, inequalities on generators and relations, application to class field towers
  6. Dirichlet's unit theorem: rank of unit groups in rings of integers
  7. Embeddings: complex / real embeddings of number fields, Minkowski embedding into ℝⁿ

Acceptance Criteria

  • Audit table produced: for each item above, classify as complete, partial, missing, or out-of-scope.
  • For missing items, estimate effort (lines, person-weeks).
  • For partial items, list specific lemmas/definitions still needed.
  • Cross-reference any in-progress Mathlib PRs working on these topics.
  • Final report attached as a comment with markdown table.

Notes

  • This is a scoping issue, not a formalization issue. Output is a written audit, not Lean code.
  • The Mathlib PR tracker (https://github.com/leanprover-community/mathlib4/pulls) and the Mathlib4 documentation are primary sources.
  • Useful starting points: Mathlib.NumberTheory.ClassNumber.*, Mathlib.NumberTheory.NumberField.Units.*.

Test Plan

  • Audit report posted as a comment on this issue.
  • Each item has a state and (where applicable) a Mathlib file path or PR reference.
  • Estimates are provided for missing prerequisites.

Affected Files

Metadata

Metadata

Assignees

No one assigned

    Labels

    epic:erdosErdős Problems Epicloom:curatedEnhanced by Curator, awaiting human approvalresearchResearch agent work

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions