Skip to content

refactor: drop the non-abelian hypothesis from Schreier's conjecture - #508

Merged
kim-em merged 1 commit into
mainfrom
schreier-drop-nonabelian
Aug 6, 2026
Merged

refactor: drop the non-abelian hypothesis from Schreier's conjecture#508
kim-em merged 1 commit into
mainfrom
schreier-drop-nonabelian

Conversation

@kim-em

@kim-em kim-em commented Aug 5, 2026

Copy link
Copy Markdown
Collaborator

This PR drops the (hS : ∃ a b : S, ¬ Commute a b) hypothesis from the schreier_conjecture eval problem, and records in the module docstring and the manifest notes why it is not needed. Schreier's conjecture is usually stated for non-abelian simple groups, but the form used here holds for every finite simple group: a finite abelian simple group is ZMod p, so its inner automorphisms are trivial and Out(S) ≅ Aut(S) ≅ (ZMod p)ˣ is cyclic, hence solvable.

Reported by Boris Alexeev, who had already verified the abelian case in Lean, in "Formalized statement of CFSG?" https://leanprover.zulipchat.com/#narrow/channel/583339-AI-authored-projects/topic/Formalized.20statement.20of.20CFSG.3F/near/614674159

Confirmed independently against Mathlib before making the change, since dropping a hypothesis strengthens the statement and a false statement would make the problem unsolvable:

example (S : Type) [Group S] [Fintype S] [IsSimpleGroup S] (h : ∀ a b : S, Commute a b) :
    IsSolvable (MulAut S ⧸ (MulAut.conj : S →* MulAut S).range) := by
  let _ : CommGroup S := { (inferInstance : Group S) with mul_comm := h }
  have : IsCyclic S := IsSimpleGroup.isCyclic
  have : IsSolvable (MulAut S) :=
    solvable_of_surjective
      (f := (IsCyclic.mulAutMulEquiv S).symm.toMonoidHom) (MulEquiv.surjective _)
  infer_instance

schreier_conjecture is currently unsolved, so no accepted submission is invalidated. generated/ is left untouched, since CI regenerates it from source.

🤖 Prepared with Claude Code

Schreier's conjecture is usually stated for non-abelian simple groups, but
the hypothesis is not needed for the form the eval problem uses. A finite
abelian simple group is `ZMod p`, so its inner automorphisms are trivial and
`Out(S) ≅ Aut(S) ≅ (ZMod p)ˣ` is cyclic, hence solvable.

Reported by Boris Alexeev, who verified the abelian case in Lean:
https://leanprover.zulipchat.com/#narrow/channel/583339-AI-authored-projects/topic/Formalized.20statement.20of.20CFSG.3F/near/614674159

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SpyUgHsbCsg35UDUYUxdiY
@kim-em
kim-em merged commit adc8459 into main Aug 6, 2026
1 check passed
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