Module docstring
{"# Center of a group with zero "}
{"# Center of a group with zero "}
Set.zero_mem_center
      theorem
     : (0 : M₀) ∈ center M₀
        
      Set.zero_mem_centralizer
      theorem
     : (0 : M₀) ∈ centralizer s
        @[simp] lemma zero_mem_centralizer : (0 : M₀) ∈ centralizer s := by simp [mem_centralizer_iff]
        Set.center_units_subset
      theorem
     : center G₀ˣ ⊆ ((↑) : G₀ˣ → G₀) ⁻¹' center G₀
        lemma center_units_subset : centercenter G₀ˣ ⊆ ((↑) : G₀ˣ → G₀) ⁻¹' center G₀ := by
  simp_rw [subset_def, mem_preimage, _root_.Semigroup.mem_center_iff]
  intro u hu a
  obtain rfl | ha := eq_or_ne a 0
  · rw [zero_mul, mul_zero]
  · exact congr_arg Units.val <| hu <| Units.mk0 a ha
        Set.center_units_eq
      theorem
     : center G₀ˣ = ((↑) : G₀ˣ → G₀) ⁻¹' center G₀
        /-- In a group with zero, the center of the units is the preimage of the center. -/
lemma center_units_eq : center G₀ˣ = ((↑) : G₀ˣ → G₀) ⁻¹' center G₀ :=
  center_units_subset.antisymm subset_center_units
        Set.inv_mem_centralizer₀
      theorem
     (ha : a ∈ centralizer s) : a⁻¹ ∈ centralizer s
        @[simp] lemma inv_mem_centralizer₀ (ha : a ∈ centralizer s) : a⁻¹a⁻¹ ∈ centralizer s := by
  obtain rfl | ha₀ := eq_or_ne a 0
  · rw [inv_zero]
    exact zero_mem_centralizer
  · rintro c hc
    rw [mul_inv_eq_iff_eq_mul₀ ha₀, mul_assoc, eq_inv_mul_iff_mul_eq₀ ha₀, ha c hc]
        Set.div_mem_centralizer₀
      theorem
     (ha : a ∈ centralizer s) (hb : b ∈ centralizer s) : a / b ∈ centralizer s
        @[simp] lemma div_mem_centralizer₀ (ha : a ∈ centralizer s) (hb : b ∈ centralizer s) :
    a / b ∈ centralizer s := by
  simpa only [div_eq_mul_inv] using mul_mem_centralizer ha (inv_mem_centralizer₀ hb)