Centralizers of magmas and semigroups #
THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.
Main definitions #
set.centralizer
: the centralizer of a subset of a magmasubsemigroup.centralizer
: the centralizer of a subset of a semigroupset.add_centralizer
: the centralizer of a subset of an additive magmaadd_subsemigroup.centralizer
: the centralizer of a subset of an additive semigroup
We provide monoid.centralizer
, add_monoid.centralizer
, subgroup.centralizer
, and
add_subgroup.centralizer
in other files.
@[protected, instance]
def
set.decidable_mem_add_centralizer
{M : Type u_1}
{S : set M}
[has_add M]
[Π (a : M), decidable (∀ (b : M), b ∈ S → b + a = a + b)] :
decidable_pred (λ (_x : M), _x ∈ S.add_centralizer)
Equations
- set.decidable_mem_add_centralizer = λ (_x : M), decidable_of_iff' (∀ (m : M), m ∈ S → m + _x = _x + m) set.mem_add_centralizer
@[protected, instance]
def
set.decidable_mem_centralizer
{M : Type u_1}
{S : set M}
[has_mul M]
[Π (a : M), decidable (∀ (b : M), b ∈ S → b * a = a * b)] :
decidable_pred (λ (_x : M), _x ∈ S.centralizer)
Equations
- set.decidable_mem_centralizer = λ (_x : M), decidable_of_iff' (∀ (m : M), m ∈ S → m * _x = _x * m) set.mem_centralizer_iff
@[simp]
theorem
set.zero_mem_add_centralizer
{M : Type u_1}
(S : set M)
[add_zero_class M] :
0 ∈ S.add_centralizer
@[simp]
@[simp]
@[simp]
theorem
set.mul_mem_centralizer
{M : Type u_1}
{S : set M}
{a b : M}
[semigroup M]
(ha : a ∈ S.centralizer)
(hb : b ∈ S.centralizer) :
a * b ∈ S.centralizer
@[simp]
theorem
set.add_mem_add_centralizer
{M : Type u_1}
{S : set M}
{a b : M}
[add_semigroup M]
(ha : a ∈ S.add_centralizer)
(hb : b ∈ S.add_centralizer) :
a + b ∈ S.add_centralizer
@[simp]
theorem
set.inv_mem_centralizer
{M : Type u_1}
{S : set M}
{a : M}
[group M]
(ha : a ∈ S.centralizer) :
a⁻¹ ∈ S.centralizer
@[simp]
theorem
set.neg_mem_add_centralizer
{M : Type u_1}
{S : set M}
{a : M}
[add_group M]
(ha : a ∈ S.add_centralizer) :
-a ∈ S.add_centralizer
@[simp]
theorem
set.add_mem_centralizer
{M : Type u_1}
{S : set M}
{a b : M}
[distrib M]
(ha : a ∈ S.centralizer)
(hb : b ∈ S.centralizer) :
a + b ∈ S.centralizer
@[simp]
theorem
set.neg_mem_centralizer
{M : Type u_1}
{S : set M}
{a : M}
[has_mul M]
[has_distrib_neg M]
(ha : a ∈ S.centralizer) :
-a ∈ S.centralizer
@[simp]
theorem
set.inv_mem_centralizer₀
{M : Type u_1}
{S : set M}
{a : M}
[group_with_zero M]
(ha : a ∈ S.centralizer) :
a⁻¹ ∈ S.centralizer
@[simp]
theorem
set.div_mem_centralizer
{M : Type u_1}
{S : set M}
{a b : M}
[group M]
(ha : a ∈ S.centralizer)
(hb : b ∈ S.centralizer) :
a / b ∈ S.centralizer
@[simp]
theorem
set.sub_mem_add_centralizer
{M : Type u_1}
{S : set M}
{a b : M}
[add_group M]
(ha : a ∈ S.add_centralizer)
(hb : b ∈ S.add_centralizer) :
a - b ∈ S.add_centralizer
@[simp]
theorem
set.div_mem_centralizer₀
{M : Type u_1}
{S : set M}
{a b : M}
[group_with_zero M]
(ha : a ∈ S.centralizer)
(hb : b ∈ S.centralizer) :
a / b ∈ S.centralizer
theorem
set.centralizer_subset
{M : Type u_1}
{S T : set M}
[has_mul M]
(h : S ⊆ T) :
T.centralizer ⊆ S.centralizer
theorem
set.center_subset_centralizer
{M : Type u_1}
[has_mul M]
(S : set M) :
set.center M ⊆ S.centralizer
@[simp]
theorem
set.add_centralizer_eq_top_iff_subset
{M : Type u_1}
{s : set M}
[has_add M] :
s.add_centralizer = set.univ ↔ s ⊆ set.add_center M
@[simp]
theorem
set.centralizer_eq_top_iff_subset
{M : Type u_1}
{s : set M}
[has_mul M] :
s.centralizer = set.univ ↔ s ⊆ set.center M
@[simp]
@[simp]
@[simp]
@[simp]
The centralizer of a subset of a semigroup M
.
Equations
- subsemigroup.centralizer S = {carrier := S.centralizer (semigroup.to_has_mul M), mul_mem' := _}
The centralizer of a subset of an additive semigroup.
Equations
- add_subsemigroup.centralizer S = {carrier := S.add_centralizer (add_semigroup.to_has_add M), add_mem' := _}
@[simp, norm_cast]
@[simp, norm_cast]
@[protected, instance]
def
subsemigroup.decidable_mem_centralizer
{M : Type u_1}
{S : set M}
[semigroup M]
(a : M)
[decidable (∀ (b : M), b ∈ S → b * a = a * b)] :
Equations
- subsemigroup.decidable_mem_centralizer a = decidable_of_iff' (∀ (g : M), g ∈ S → g * a = a * g) subsemigroup.mem_centralizer_iff
@[protected, instance]
def
add_subsemigroup.decidable_mem_centralizer
{M : Type u_1}
{S : set M}
[add_semigroup M]
(a : M)
[decidable (∀ (b : M), b ∈ S → b + a = a + b)] :
Equations
- add_subsemigroup.decidable_mem_centralizer a = decidable_of_iff' (∀ (g : M), g ∈ S → g + a = a + g) add_subsemigroup.mem_centralizer_iff
theorem
add_subsemigroup.centralizer_le
{M : Type u_1}
{S T : set M}
[add_semigroup M]
(h : S ⊆ T) :
@[simp]
theorem
subsemigroup.centralizer_eq_top_iff_subset
{M : Type u_1}
[semigroup M]
{s : set M} :
subsemigroup.centralizer s = ⊤ ↔ s ⊆ ↑(subsemigroup.center M)
@[simp]
theorem
add_subsemigroup.centralizer_eq_top_iff_subset
{M : Type u_1}
[add_semigroup M]
{s : set M} :
@[simp]
@[simp]