@@ -175,10 +175,11 @@ variable [Group G] [Group G']
175175/-- A group is commutative if the quotient by the center is cyclic.
176176 Also see `commGroupOfCyclicCenterQuotient` for the `CommGroup` instance. -/
177177@ [to_additive
178- /-- A group is commutative if the quotient by the center is cyclic.
179- Also see `addCommGroupOfCyclicCenterQuotient` for the `AddCommGroup` instance. -/ ]
180- theorem commutative_of_cyclic_center_quotient [IsCyclic G'] (f : G →* G') (hf : f.ker ≤ center G)
181- (a b : G) : a * b = b * a :=
178+ /-- A group is commutative if the quotient by the center is cyclic.
179+ Also see `addCommGroupOfCyclicCenterQuotient` for the `AddCommGroup` instance. -/ ]
180+ theorem MonoidHom.isMulCommutative_of_isCyclic_of_ker_le_center [IsCyclic G'] (f : G →* G')
181+ (hf : f.ker ≤ center G) : IsMulCommutative G := by
182+ refine ⟨⟨fun a b ↦ ?_⟩⟩
182183 let ⟨⟨x, y, (hxy : f y = x)⟩, (hx : ∀ a : f.range, a ∈ zpowers _)⟩ :=
183184 IsCyclic.exists_generator (α := f.range)
184185 let ⟨m, hm⟩ := hx ⟨f a, a, rfl⟩
@@ -196,12 +197,31 @@ theorem commutative_of_cyclic_center_quotient [IsCyclic G'] (f : G →* G') (hf
196197 _ = y ^ m * y ^ n * y ^ (-m) * (y ^ (-n) * b * a) := by rw [mem_center_iff.1 hb]
197198 _ = b * a := by group
198199
200+ @ [deprecated AddMonoidHom.isAddCommutative_of_isAddCyclic_of_ker_le_center (since := "2026-05-26" )]
201+ theorem commutative_of_addCyclic_center_quotient {G G' : Type *} [AddGroup G] [AddGroup G']
202+ [IsAddCyclic G'] (f : G →+ G') (hf : f.ker ≤ .center G) (a b : G) : a + b = b + a :=
203+ f.isAddCommutative_of_isAddCyclic_of_ker_le_center hf |>.is_comm.comm a b
204+
205+ @ [to_additive existing (attr := deprecated MonoidHom.isMulCommutative_of_isCyclic_of_ker_le_center
206+ (since := "2026-05-26" ))]
207+ theorem commutative_of_cyclic_center_quotient [IsCyclic G'] (f : G →* G') (hf : f.ker ≤ center G)
208+ (a b : G) : a * b = b * a :=
209+ f.isMulCommutative_of_isCyclic_of_ker_le_center hf |>.is_comm.comm a b
210+
199211/-- A group is commutative if the quotient by the center is cyclic. -/
200212@ [to_additive (attr := implicit_reducible)
201213/-- A group is commutative if the quotient by the center is cyclic. -/ ]
202214def commGroupOfCyclicCenterQuotient [IsCyclic G'] (f : G →* G') (hf : f.ker ≤ center G) :
203215 CommGroup G where
204- mul_comm := commutative_of_cyclic_center_quotient f hf
216+ mul_comm := f.isMulCommutative_of_isCyclic_of_ker_le_center hf |>.is_comm.comm
217+
218+ variable (G) in
219+ /-- If the quotient by the center of a group is cyclic, then the group is commutative. -/
220+ @ [to_additive
221+ /-- If the quotient by the center of a group is cyclic, then the group is commutative. -/ ]
222+ theorem isMulCommutative_of_isCyclic_quotient_center_self [IsCyclic (G ⧸ Subgroup.center G)] :
223+ IsMulCommutative G := by
224+ simp [(QuotientGroup.mk' <| .center G).isMulCommutative_of_isCyclic_of_ker_le_center]
205225
206226end QuotientCenter
207227
0 commit comments