File: Mathlib/GroupTheory/Subsemigroup/Centralizer.lean

full_name: Subsemigroup.centralizer
code: /-- The centralizer of a subset of a semigroup `M`. -/
@[to_additive "The centralizer of a subset of an additive semigroup."]
def centralizer : Subsemigroup M 
goal: Subsemigroup M

full_name: AddSubsemigroup.centralizer
code: /-- The centralizer of a subset of a semigroup `M`. -/
@[to_additive "The centralizer of a subset of an additive semigroup."]
def centralizer : Subsemigroup M 
goal: AddSubsemigroup M

full_name: Subsemigroup.coe_centralizer
code: @[to_additive (attr := simp, norm_cast)]
theorem coe_centralizer : ↑(centralizer S) = S.centralizer 
goal: ↑(Subsemigroup.centralizer S) = S.centralizer

full_name: AddSubsemigroup.coe_centralizer
code: @[to_additive (attr := simp, norm_cast)]
theorem coe_centralizer : ↑(centralizer S) = S.centralizer 
goal: ↑(AddSubsemigroup.centralizer S) = S.addCentralizer

full_name: Subsemigroup.mem_centralizer_iff
code: @[to_additive]
theorem mem_centralizer_iff {z : M} : z ∈ centralizer S ↔ ∀ g ∈ S, g * z = z * g 
goal: z ∈ Subsemigroup.centralizer S ↔ ∀ g ∈ S, g * z = z * g

full_name: AddSubsemigroup.mem_centralizer_iff
code: @[to_additive]
theorem mem_centralizer_iff {z : M} : z ∈ centralizer S ↔ ∀ g ∈ S, g * z = z * g 
goal: z ∈ AddSubsemigroup.centralizer S ↔ ∀ g ∈ S, g + z = z + g

full_name: AddSubsemigroup.decidableMemCentralizer
code: @[to_additive]
instance decidableMemCentralizer (a) [Decidable <| ∀ b ∈ S, b * a = a * b] :
    Decidable (a ∈ centralizer S) 
goal: Decidable (a ∈ AddSubsemigroup.centralizer S)

full_name: Subsemigroup.decidableMemCentralizer
code: @[to_additive]
instance decidableMemCentralizer (a) [Decidable <| ∀ b ∈ S, b * a = a * b] :
    Decidable (a ∈ centralizer S) 
goal: Decidable (a ∈ Subsemigroup.centralizer S)

full_name: Subsemigroup.center_le_centralizer
code: @[to_additive]
theorem center_le_centralizer (S) : center M ≤ centralizer S 
goal: Subsemigroup.center M ≤ Subsemigroup.centralizer S

full_name: AddSubsemigroup.center_le_centralizer
code: @[to_additive]
theorem center_le_centralizer (S) : center M ≤ centralizer S 
goal: AddSubsemigroup.center M ≤ AddSubsemigroup.centralizer S

full_name: Subsemigroup.centralizer_le
code: @[to_additive]
theorem centralizer_le (h : S ⊆ T) : centralizer T ≤ centralizer S 
goal: Subsemigroup.centralizer T ≤ Subsemigroup.centralizer S

full_name: AddSubsemigroup.centralizer_le
code: @[to_additive]
theorem centralizer_le (h : S ⊆ T) : centralizer T ≤ centralizer S 
goal: AddSubsemigroup.centralizer T ≤ AddSubsemigroup.centralizer S

full_name: AddSubsemigroup.centralizer_eq_top_iff_subset
code: @[to_additive (attr := simp)]
theorem centralizer_eq_top_iff_subset {s : Set M} : centralizer s = ⊤ ↔ s ⊆ center M 
goal: AddSubsemigroup.centralizer s = ⊤ ↔ s ⊆ ↑(AddSubsemigroup.center M)

full_name: Subsemigroup.centralizer_eq_top_iff_subset
code: @[to_additive (attr := simp)]
theorem centralizer_eq_top_iff_subset {s : Set M} : centralizer s = ⊤ ↔ s ⊆ center M 
goal: Subsemigroup.centralizer s = ⊤ ↔ s ⊆ ↑(Subsemigroup.center M)

full_name: Subsemigroup.centralizer_univ
code: @[to_additive (attr := simp)]
theorem centralizer_univ : centralizer Set.univ = center M 
goal: Subsemigroup.centralizer Set.univ = Subsemigroup.center M

full_name: AddSubsemigroup.centralizer_univ
code: @[to_additive (attr := simp)]
theorem centralizer_univ : centralizer Set.univ = center M 
goal: AddSubsemigroup.centralizer Set.univ = AddSubsemigroup.center M