Skip to content

Commit 7ce54af

Browse files
committed
refactor(GroupTheory/SpecificGroups/Cyclic): clean up statement of classification of abelian finite simple groups (#31829)
This PR changes the statement of the classification of abelian finite simple groups from ``` IsSimpleGroup α ↔ IsCyclic α ∧ (Nat.card α).Prime ``` to ``` IsSimpleGroup α ↔ (Nat.card α).Prime ``` since `IsCyclic α` is implied by `(Nat.card α).Prime`. Co-authored-by: tb65536 <thomas.l.browning@gmail.com>
1 parent a015011 commit 7ce54af

File tree

1 file changed

+14
-11
lines changed

1 file changed

+14
-11
lines changed

Mathlib/GroupTheory/SpecificGroups/Cyclic.lean

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -625,14 +625,18 @@ end CommGroup
625625
end IsSimpleGroup
626626

627627
@[to_additive]
628-
theorem CommGroup.is_simple_iff_isCyclic_and_prime_card [Finite α] [CommGroup α] :
629-
IsSimpleGroup α ↔ IsCyclic α ∧ (Nat.card α).Prime := by
630-
constructor
631-
· intro h
632-
exact ⟨IsSimpleGroup.isCyclic, IsSimpleGroup.prime_card⟩
633-
· rintro ⟨_, hp⟩
634-
haveI : Fact (Nat.card α).Prime := ⟨hp⟩
635-
exact isSimpleGroup_of_prime_card rfl
628+
theorem Group.is_simple_iff_prime_card [Finite α] [Group α] [IsMulCommutative α] :
629+
IsSimpleGroup α ↔ (Nat.card α).Prime :=
630+
fun h ↦ h.prime_card, fun h ↦ isSimpleGroup_of_prime_card (hp := ⟨h⟩) rfl⟩
631+
632+
@[to_additive]
633+
theorem CommGroup.is_simple_iff_prime_card [Finite α] [CommGroup α] :
634+
IsSimpleGroup α ↔ (Nat.card α).Prime :=
635+
have : IsMulCommutative α := ⟨⟨mul_comm⟩⟩
636+
Group.is_simple_iff_prime_card
637+
638+
@[deprecated (since := "2025-11-19")]
639+
alias CommGroup.is_simple_iff_isCyclic_and_prime_card := CommGroup.is_simple_iff_prime_card
636640

637641
section SpecificInstances
638642

@@ -641,9 +645,8 @@ instance : IsAddCyclic ℤ := ⟨1, fun n ↦ ⟨n, by simp only [smul_eq_mul, m
641645
instance ZMod.instIsAddCyclic (n : ℕ) : IsAddCyclic (ZMod n) :=
642646
isAddCyclic_of_surjective (Int.castRingHom _) ZMod.intCast_surjective
643647

644-
instance ZMod.instIsSimpleAddGroup {p : ℕ} [Fact p.Prime] : IsSimpleAddGroup (ZMod p) :=
645-
AddCommGroup.is_simple_iff_isAddCyclic_and_prime_card.2
646-
⟨inferInstance, by simpa using (Fact.out : p.Prime)⟩
648+
instance ZMod.instIsSimpleAddGroup {p : ℕ} [hp : Fact p.Prime] : IsSimpleAddGroup (ZMod p) :=
649+
AddCommGroup.is_simple_iff_prime_card.2 (by simpa using hp.out)
647650

648651
end SpecificInstances
649652

0 commit comments

Comments
 (0)