Skip to content

feat: add the classification of finite simple groups to v2 - #649

Merged
kim-em merged 1 commit into
mainfrom
feat/cfsg-tauceti
Sep 25, 2026
Merged

kim-em merged 1 commit into
mainfrom
feat/cfsg-tauceti

Conversation

@kim-em

@kim-em kim-em commented Sep 25, 2026

Copy link
Copy Markdown
Collaborator

This PR adds classification_finite_simple_groups to the draft v2 set: every finite simple group is isomorphic to a member of Tau Ceti's classification list (TauCeti.CFSGIndex), namely a cyclic group of prime order, an alternating group Aₙ with n ≥ 5, a group of Lie type from the sixteen families or the Tits group, or one of the twenty-six sporadic groups. The statement is TauCeti.ClassificationStatement (https://github.com/TauCetiProject/TauCeti/blob/main/TauCeti/GroupTheory/SpecificGroups/CFSG/Classification.lean) written out. The Lie-type groups are explicit fixed-point constructions and the sporadic groups explicit finite presentations; the problem inherits the correctness of those definitions from Tau Ceti, and asks only that every finite simple group be on the list, not that each listed group is finite, simple, or distinct from the others.

This is the first problem to depend on Tau Ceti. The root lakefile requires TauCeti at main commit 9965de6, which builds against this repository's Mathlib (it is pinned to db1c574, the same Mathlib source up to one proof). TauCeti is listed before Mathlib because Lake takes shared transitive dependencies from the later require, and those must stay Mathlib's. The generator pin moves to leanprover/lean-eval-generator#8 (require imported root dependencies in generated workspaces), so a problem's workspace requires TauCeti only when the problem imports it; all 310 existing workspaces regenerate unchanged. The CI shard step now copies the root lake-manifest.json into each generated workspace instead of running lake update in one and copying that, which would drop TauCeti for a batch whose first problem does not import it and could check out other revisions inside the shared package directory.

The submission evaluator in leanprover/lean-eval-submissions also runs lake update in each workspace against the shared package directory, and builds the TauCeti import closure (about 320 modules) from source for submissions to this problem; it should adopt the same manifest copy.

🤖 Prepared with Claude Code

Add a problem stating the classification of finite simple groups over
the list constructed in Tau Ceti, and add it to the draft v2 set. This
makes TauCeti a dependency: the root lakefile requires it before
Mathlib so that Mathlib's transitive pins win, generated workspaces
get the requires their problem imports (lean-eval-generator 2de7404),
and CI gives each generated workspace the root manifest instead of
re-resolving dependencies inside the shared package directory.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
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.

1 participant