FormalConjectures/Arxiv/2604.08040/Conjecture5_5.lean

GitHub source file

Explanation legend Lean4 Domain Explanation Language (L4DEL)

L4DEL explanations are a separate layer. They do not change the Lean source. Intuition is explanatory prose; numbered items are a reading path; sources link the wording back to evidence.

L4DEL
Lean4 Domain Explanation Language

Credit: The upstream authors and contributors retain credit for the project and mathematics. lean4-explainer only renders their pinned source and adds the separately disclosed explanation layer.

Project sources: Pinned project documentation, Formal Conjectures paper, arXiv v1

10 declarations, 4 contain sorry, 0 declared as axioms

Group structure via subgroup counts

Reference: arXiv:2604.08040v1 Group Structure via Subgroup Counts by Angsuman Das, Hiranya Kishore Dey, Khyati Sharma (2026)

For a finite group $G$, let $\mathrm{cyc}(G)$ denote the number of cyclic subgroups of $G$, and let $t = \pi(G)$ denote the number of distinct prime divisors of $|G|$.

The paper establishes several structural results of the form "if $\mathrm{cyc}(G)$ or $\mathrm{sub}(G)$ is small relative to $2^t$, then $G$ has a strong structural property":

Conjecture 5.5 proposes the analogue for solvability via cyclic subgroup count: if $\mathrm{cyc}(G) < 2^{t+2}$, then $G$ is solvable.

Imports (1)
  1. def Arxiv.«2604.08040».cyc The number of cyclic subgroups of a finite group G line 55 source

    Source documentation

    The number of cyclic subgroups of a finite group G.

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Group, Nat

    Proof uses: Nat.card, Subtype, Subgroup, IsCyclic, Membership.mem

    3 instances, coercions and auxiliary constants left out.

    noncomputable def cyc : ℕ :=
    …
  2. def Arxiv.«2604.08040».numPrimeFactors The number of distinct prime divisors of the order of G line 63 source

    Source documentation

    The number of distinct prime divisors of the order of G.

    This is $\pi(G)$ in the notation of the paper.

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Fintype, Nat

    Proof uses: Finset.card, Nat.primeFactors, Fintype.card

    noncomputable def numPrimeFactors : ℕ :=
    …
  3. theorem Arxiv.«2604.08040».solvable_of_cyc_lt sorry line 80 source

    depends on sorry what this means

    Statement uses: Iff, True, Group, Fintype, LT.lt, Nat, Arxiv.«2604.08040».cyc, HPow.hPow, OfNat.ofNat, HAdd.hAdd, Arxiv.«2604.08040».numPrimeFactors, Group.IsSolvable

    Proof uses: sorryAx, Lean.Name, Bool.false, Lean.Name.num, Lean.Name.str, Lean.Name.anonymous

    16 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

    Open to load the checked before-and-after goal states.

  4. theorem Arxiv.«2604.08040».nilpotent_of_cyc_lt Theorem 3.1 sorry line 89 source

    Source documentation

    Theorem 3.1. Below $5 \cdot 2^{t-2}$ cyclic subgroups, the group is nilpotent.

    depends on sorry what this means

    Statement uses: Group, Fintype, LT.lt, Nat, Arxiv.«2604.08040».cyc, HMul.hMul, OfNat.ofNat, HPow.hPow, HSub.hSub, Arxiv.«2604.08040».numPrimeFactors, Group.IsNilpotent

    Proof uses: sorryAx, Lean.Name, Bool.false, Lean.Name.num, Lean.Name.str, Lean.Name.anonymous

    20 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

    Open to load the checked before-and-after goal states.

    theorem nilpotent_of_cyc_lt (h : cyc G < 5 * 2 ^ (numPrimeFactors G - 2)) :
        Group.IsNilpotent G := by
    …

    Mentions: Arxiv.«2604.08040».cyc, Arxiv.«2604.08040».numPrimeFactors

  5. theorem Arxiv.«2604.08040».solvable_of_cyc_lt_two_pow_succ Theorem 4.2 sorry line 100 source

    Source documentation

    Theorem 4.2. Below $2^{t+1}$ cyclic subgroups, the group is supersolvable.

    Stated here as solvability, which supersolvability implies, since Mathlib does not currently have a standalone IsSupersolvable class.

    depends on sorry what this means

    Statement uses: Group, Fintype, LT.lt, Nat, Arxiv.«2604.08040».cyc, HPow.hPow, OfNat.ofNat, HAdd.hAdd, Arxiv.«2604.08040».numPrimeFactors, Group.IsSolvable

    Proof uses: sorryAx, Lean.Name, Bool.false, Lean.Name.num, Lean.Name.str, Lean.Name.anonymous

    16 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

    Open to load the checked before-and-after goal states.

    theorem solvable_of_cyc_lt_two_pow_succ (h : cyc G < 2 ^ (numPrimeFactors G + 1)) :
        Group.IsSolvable G := by
    …

    Mentions: Arxiv.«2604.08040».cyc, Arxiv.«2604.08040».numPrimeFactors

  6. theorem Arxiv.«2604.08040».card_alternatingGroup_fin_five The alternating group on five letters has order $60 = 2^2 \cdot 3 \cdot 5$ line 108 source

    Source documentation

    The alternating group on five letters has order $60 = 2^2 \cdot 3 \cdot 5$.

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Eq, Nat, Fintype.card, Subtype, Equiv.Perm, Fin, OfNat.ofNat, Membership.mem, Subgroup, alternatingGroup

    Proof uses: Eq.mpr, Nat.card, id, congrArg, Eq.symm, Nat.card_eq_fintype_card, HMul.hMul, propext, Nat.mul_left_cancel_iff, Mathlib.Meta.NormNum.isNat_lt_true, Mathlib.Meta.NormNum.isNat_ofNat, Eq.refl, Bool, Bool.false, two_mul_nat_card_alternatingGroup, Nat.factorial, Nat.card_perm, of_eq_true, Eq.trans, True and 8 more

    30 instances, coercions and auxiliary constants left out.

    Tactic trace: 3 steps

    Open to load the checked before-and-after goal states.

    theorem card_alternatingGroup_fin_five :
        Fintype.card (alternatingGroup (Fin 5)) = 60 := by
    …
  7. theorem Arxiv.«2604.08040».cyc_alternatingGroup_five The alternating group on five letters has exactly $32$ cyclic subgroups: the trivial one, $15$ of order $2$, $10$ of order $3$ and $6$ of order $5$ sorry line 119 source

    Source documentation

    The alternating group on five letters has exactly $32$ cyclic subgroups: the trivial one, $15$ of order $2$, $10$ of order $3$ and $6$ of order $5$.

    depends on sorry what this means

    Statement uses: Eq, Nat, Arxiv.«2604.08040».cyc, Subtype, Equiv.Perm, Fin, OfNat.ofNat, Membership.mem, Subgroup, alternatingGroup

    Proof uses: sorryAx, Lean.Name, Bool.false, Lean.Name.num, Lean.Name.str, Lean.Name.anonymous

    14 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

    Open to load the checked before-and-after goal states.

    theorem cyc_alternatingGroup_five : cyc (alternatingGroup (Fin 5)) = 32 := by
    …

    Mentions: Arxiv.«2604.08040».cyc

  8. theorem Arxiv.«2604.08040».not_cyc_alternatingGroup_five_lt $A_5$ is the sharpness witness: it has $\pi(A_5) = 3$ and $\mathrm{cyc}(A_5) = 32 = 2^{3+2}$, so it misses the strict inequality $\mathrm{cyc}(G) < 2^{t+2}$ by exactly $1$ line 128 source

    Source documentation

    $A_5$ is the sharpness witness: it has $\pi(A_5) = 3$ and $\mathrm{cyc}(A_5) = 32 = 2^{3+2}$, so it misses the strict inequality $\mathrm{cyc}(G) < 2^{t+2}$ by exactly $1$. This confirms $A_5$ is consistent with Conjecture 5.5 despite being non-solvable.

    depends on sorry what this means

    Statement uses: Not, LT.lt, Nat, Arxiv.«2604.08040».cyc, Subtype, Equiv.Perm, Fin, OfNat.ofNat, Membership.mem, Subgroup, alternatingGroup, HPow.hPow, HAdd.hAdd, Arxiv.«2604.08040».numPrimeFactors

    Proof uses: Eq.mpr, id, Eq, congrArg, Arxiv.«2604.08040».cyc_alternatingGroup_five, Finset.card, Nat.primeFactors, Fintype.card, Arxiv.«2604.08040».card_alternatingGroup_fin_five, Insert.insert, Finset, Singleton.singleton, of_eq_true, Eq.trans, True, False, congrFun', Finset.card_insert_of_notMem, Or, Mathlib.Meta.NormNum.instAtLeastTwo and 21 more

    47 instances, coercions and auxiliary constants left out.

    Tactic trace: 5 steps

    Open to load the checked before-and-after goal states.

    theorem not_cyc_alternatingGroup_five_lt :
        ¬ cyc (alternatingGroup (Fin 5)) < 2 ^ (numPrimeFactors (alternatingGroup (Fin 5)) + 2) := by
    …

    Mentions: Arxiv.«2604.08040».cyc, Arxiv.«2604.08040».numPrimeFactors

  9. theorem Arxiv.«2604.08040».cyc_punit The trivial group has exactly one cyclic subgroup (itself) line 139 source

    Source documentation

    The trivial group has exactly one cyclic subgroup (itself).

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Eq, Nat, Arxiv.«2604.08040».cyc, PUnit, OfNat.ofNat

    Proof uses: Eq.mpr, Nat.card, Subtype, Subgroup, IsCyclic, Membership.mem, id, congrArg, Arxiv.«2604.08040».cyc.eq_1, And, Subsingleton, Nonempty, propext, Nat.card_eq_one_iff_unique, And.intro, Subsingleton.intro, Subtype.ext, Subsingleton.elim, Nonempty.intro, Subtype.mk and 2 more

    15 instances, coercions and auxiliary constants left out.

    Tactic trace: 2 steps

    Open to load the checked before-and-after goal states.

    theorem cyc_punit : cyc PUnit = 1 := by
    …

    Mentions: Arxiv.«2604.08040».cyc

  10. theorem Arxiv.«2604.08040».numPrimeFactors_trivial The trivial group has zero prime divisors line 147 source

    Source documentation

    The trivial group has zero prime divisors.

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Eq, Nat, Arxiv.«2604.08040».numPrimeFactors, PUnit, OfNat.ofNat

    Proof uses: of_eq_true, Eq.trans, True, congrFun', congrArg, Finset, Nat.primeFactors, Fintype.card, EmptyCollection.emptyCollection, Finset.card, Fintype.card_unique, Nat.primeFactors_one, eq_self

    6 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

    Open to load the checked before-and-after goal states.

    theorem numPrimeFactors_trivial : numPrimeFactors PUnit = 0 := by
    …

    Mentions: Arxiv.«2604.08040».numPrimeFactors