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.
Equations
- Subsemigroup.centralizer S = { carrier := S.centralizer, mul_mem' := ⋯ }
Instances For
The centralizer of a subset of an additive semigroup.
Equations
- AddSubsemigroup.centralizer S = { carrier := S.addCentralizer, add_mem' := ⋯ }
Instances For
@[simp]
@[simp]
@[instance_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)
Equations
- Subsemigroup.decidableMemCentralizer a = decidable_of_iff' (∀ g ∈ S, g * a = a * g) ⋯
@[instance_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)
Equations
- AddSubsemigroup.decidableMemCentralizer a = decidable_of_iff' (∀ g ∈ S, g + a = a + g) ⋯
@[simp]
@[simp]
@[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 : s.Pairwise Commute) :
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 : s.Pairwise AddCommute) :
IsAddCommutative ↥(closure s)
If all the elements of a set s commute, then closure s is commutative.
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)