Centralizers of magmas and monoids #
Main definitions #
Submonoid.centralizer
: the centralizer of a subset of a monoidAddSubmonoid.centralizer
: the centralizer of a subset of an additive monoid
We provide Subgroup.centralizer
, AddSubgroup.centralizer
in other files.
The centralizer of a subset of a monoid M
.
Equations
- Submonoid.centralizer S = { carrier := S.centralizer, mul_mem' := ⋯, one_mem' := ⋯ }
Instances For
The centralizer of a subset of an additive monoid.
Equations
- AddSubmonoid.centralizer S = { carrier := S.addCentralizer, add_mem' := ⋯, zero_mem' := ⋯ }
Instances For
@[simp]
theorem
Submonoid.coe_centralizer
{M : Type u_1}
(S : Set M)
[Monoid M]
:
↑(Submonoid.centralizer S) = S.centralizer
@[simp]
theorem
AddSubmonoid.coe_centralizer
{M : Type u_1}
(S : Set M)
[AddMonoid M]
:
↑(AddSubmonoid.centralizer S) = S.addCentralizer
theorem
Submonoid.centralizer_toSubsemigroup
{M : Type u_1}
(S : Set M)
[Monoid M]
:
(Submonoid.centralizer S).toSubsemigroup = Subsemigroup.centralizer S
theorem
AddSubmonoid.centralizer_toAddSubsemigroup
{M : Type u_2}
[AddMonoid M]
(S : Set M)
:
(AddSubmonoid.centralizer S).toAddSubsemigroup = AddSubsemigroup.centralizer S
instance
Submonoid.decidableMemCentralizer
{M : Type u_1}
{S : Set M}
[Monoid M]
(a : M)
[Decidable (∀ b ∈ S, b * a = a * b)]
:
Decidable (a ∈ Submonoid.centralizer S)
Equations
- Submonoid.decidableMemCentralizer a = decidable_of_iff' (∀ g ∈ S, g * a = a * g) ⋯
instance
AddSubmonoid.decidableMemCentralizer
{M : Type u_1}
{S : Set M}
[AddMonoid M]
(a : M)
[Decidable (∀ b ∈ S, b + a = a + b)]
:
Equations
- AddSubmonoid.decidableMemCentralizer a = decidable_of_iff' (∀ g ∈ S, g + a = a + g) ⋯
@[simp]
theorem
Submonoid.centralizer_eq_top_iff_subset
{M : Type u_1}
[Monoid M]
{s : Set M}
:
Submonoid.centralizer s = ⊤ ↔ s ⊆ ↑(Submonoid.center M)
@[simp]
theorem
AddSubmonoid.centralizer_eq_top_iff_subset
{M : Type u_1}
[AddMonoid M]
{s : Set M}
:
AddSubmonoid.centralizer s = ⊤ ↔ s ⊆ ↑(AddSubmonoid.center M)
@[simp]
theorem
Submonoid.centralizer_univ
(M : Type u_1)
[Monoid M]
:
Submonoid.centralizer Set.univ = Submonoid.center M
@[simp]
theorem
AddSubmonoid.centralizer_univ
(M : Type u_1)
[AddMonoid M]
:
AddSubmonoid.centralizer Set.univ = AddSubmonoid.center M
@[simp]
theorem
Submonoid.centralizer_centralizer_centralizer
(M : Type u_1)
[Monoid M]
{s : Set M}
:
Submonoid.centralizer s.centralizer.centralizer = Submonoid.centralizer s
@[simp]
theorem
AddSubmonoid.centralizer_centralizer_centralizer
(M : Type u_1)
[AddMonoid M]
{s : Set M}
:
AddSubmonoid.centralizer s.addCentralizer.addCentralizer = AddSubmonoid.centralizer s
@[reducible, inline]
abbrev
Submonoid.closureCommMonoidOfComm
(M : Type u_1)
[Monoid M]
{s : Set M}
(hcomm : ∀ a ∈ s, ∀ b ∈ s, a * b = b * a)
:
If all the elements of a set s
commute, then closure s
is a commutative monoid.
Equations
- Submonoid.closureCommMonoidOfComm M hcomm = CommMonoid.mk ⋯