Centralizers in semigroups, as subsemigroups. #
Main definitions #
Subsemigroup.centralizer: the centralizer of a subset of a semigroupAddSubsemigroup.centralizer: the centralizer of a subset of an additive semigroup
We provide Monoid.centralizer, AddMonoid.centralizer, Subgroup.centralizer, and
AddSubgroup.centralizer in other files.
The centralizer of a subset of a semigroup M.
Instances For
The centralizer of a subset of an additive semigroup.
Instances For
@[simp]
theorem
Subsemigroup.coe_centralizer
{M : Type u_1}
(S : Set M)
[Semigroup M]
:
↑(centralizer S) = S.centralizer
@[simp]
theorem
AddSubsemigroup.coe_centralizer
{M : Type u_1}
(S : Set M)
[AddSemigroup M]
:
↑(centralizer S) = S.addCentralizer
theorem
Subsemigroup.mem_centralizer_iff
{M : Type u_1}
{S : Set M}
[Semigroup M]
{z : M}
:
z ∈ centralizer S ↔ ∀ g ∈ S, g * z = z * g
theorem
AddSubsemigroup.mem_centralizer_iff
{M : Type u_1}
{S : Set M}
[AddSemigroup M]
{z : M}
:
z ∈ centralizer S ↔ ∀ g ∈ S, g + z = z + g
@[implicit_reducible]
instance
Subsemigroup.decidableMemCentralizer
{M : Type u_1}
{S : Set M}
[Semigroup M]
(a : M)
[Decidable (∀ b ∈ S, b * a = a * b)]
:
Decidable (a ∈ centralizer S)
@[implicit_reducible]
instance
AddSubsemigroup.decidableMemCentralizer
{M : Type u_1}
{S : Set M}
[AddSemigroup M]
(a : M)
[Decidable (∀ b ∈ S, b + a = a + b)]
:
Decidable (a ∈ centralizer S)
@[simp]
theorem
Subsemigroup.centralizer_eq_top_iff_subset
{M : Type u_1}
[Semigroup M]
{s : Set M}
:
centralizer s = ⊤ ↔ s ⊆ ↑(center M)
@[simp]
theorem
AddSubsemigroup.centralizer_eq_top_iff_subset
{M : Type u_1}
[AddSemigroup M]
{s : Set M}
:
centralizer s = ⊤ ↔ s ⊆ ↑(center M)
@[simp]
@[simp]
theorem
AddSubsemigroup.closure_le_centralizer_centralizer
{M : Type u_1}
[AddSemigroup M]
(s : Set M)
:
theorem
Subsemigroup.isMulCommutative_closure
(M : Type u_1)
[Semigroup M]
{s : Set M}
(hcomm : ∀ a ∈ s, ∀ b ∈ s, a * b = b * a)
:
IsMulCommutative ↥(closure s)
If all the elements of a set s commute, then closure s is commutative.
theorem
AddSubsemigroup.isAddCommutative_closure
(M : Type u_1)
[AddSemigroup M]
{s : Set M}
(hcomm : ∀ a ∈ s, ∀ b ∈ s, a + b = b + a)
:
IsAddCommutative ↥(closure s)
If all the elements of a set s commute, then closure s is commutative.
@[reducible, inline, deprecated Subsemigroup.isMulCommutative_closure (since := "2026-03-09")]
abbrev
Subsemigroup.closureCommSemigroupOfComm
(M : Type u_1)
[Semigroup M]
{s : Set M}
(hcomm : ∀ a ∈ s, ∀ b ∈ s, a * b = b * a)
:
CommSemigroup ↥(closure s)
If all the elements of a set s commute, then closure s is a commutative semigroup.
Instances For
@[reducible, inline, deprecated Subsemigroup.isMulCommutative_closure (since := "2026-03-09")]
abbrev
AddSubsemigroup.closureAddCommSemigroupOfComm
(M : Type u_1)
[AddSemigroup M]
{s : Set M}
(hcomm : ∀ a ∈ s, ∀ b ∈ s, a + b = b + a)
:
AddCommSemigroup ↥(closure s)
If all the elements of a set s commute, then closure s forms an additive
commutative semigroup.
Instances For
instance
Subsemigroup.instIsMulCommutative_closure
(M : Type u_1)
[Semigroup M]
{S : Type u_2}
[SetLike S M]
[MulMemClass S M]
(s : S)
[IsMulCommutative ↥s]
:
IsMulCommutative ↥(closure ↑s)
instance
AddSubsemigroup.instIsAddCommutative_closure
(M : Type u_1)
[AddSemigroup M]
{S : Type u_2}
[SetLike S M]
[AddMemClass S M]
(s : S)
[IsAddCommutative ↥s]
:
IsAddCommutative ↥(closure ↑s)