Centers of magmas and semigroups #
Main definitions #
Set.center
: the center of a magmaSet.addCenter
: the center of an additive magma
See Mathlib.GroupTheory.Subsemigroup.Center
for the definition of the center as a subsemigroup:
Subsemigroup.center
: the center of a semigroupAddSubsemigroup.center
: the center of an additive semigroup
We provide Submonoid.center
, AddSubmonoid.center
, Subgroup.center
, AddSubgroup.center
,
Subsemiring.center
, and Subring.center
in other files.
Conditions for an element to be additively central
addition commutes
associative property for left addition
middle associative addition property
associative property for right addition
Instances For
Conditions for an element to be multiplicatively central
multiplication commutes
associative property for left multiplication
middle associative multiplication property
associative property for right multiplication
Instances For
theorem
IsAddCentral.left_comm
{M : Type u_1}
{a : M}
[Add M]
(h : IsAddCentral a)
(b : M)
(c : M)
:
theorem
IsMulCentral.left_comm
{M : Type u_1}
{a : M}
[Mul M]
(h : IsMulCentral a)
(b : M)
(c : M)
:
theorem
IsAddCentral.right_comm
{M : Type u_1}
{c : M}
[Add M]
(h : IsAddCentral c)
(a : M)
(b : M)
:
theorem
IsMulCentral.right_comm
{M : Type u_1}
{c : M}
[Mul M]
(h : IsMulCentral c)
(a : M)
(b : M)
:
@[simp]
theorem
Set.add_mem_addCenter
{M : Type u_1}
[Add M]
{z₁ : M}
{z₂ : M}
(hz₁ : z₁ ∈ Set.addCenter M)
(hz₂ : z₂ ∈ Set.addCenter M)
:
z₁ + z₂ ∈ Set.addCenter M
@[simp]
theorem
Set.mul_mem_center
{M : Type u_1}
[Mul M]
{z₁ : M}
{z₂ : M}
(hz₁ : z₁ ∈ Set.center M)
(hz₂ : z₂ ∈ Set.center M)
:
z₁ * z₂ ∈ Set.center M
instance
Set.decidableMemCenter
(M : Type u_1)
[Semigroup M]
[(a : M) → Decidable (∀ (b : M), b * a = a * b)]
:
DecidablePred fun (x : M) => x ∈ Set.center M
Equations
- Set.decidableMemCenter M x = decidable_of_iff' (∀ (g : M), g * x = x * g) ⋯
@[simp]
@[simp]
theorem
Set.neg_mem_addCenter
{M : Type u_1}
[AddGroup M]
{a : M}
(ha : a ∈ Set.addCenter M)
:
-a ∈ Set.addCenter M
@[simp]
theorem
Set.inv_mem_center
{M : Type u_1}
[Group M]
{a : M}
(ha : a ∈ Set.center M)
:
a⁻¹ ∈ Set.center M
theorem
Set.subset_addCenter_add_units
{M : Type u_1}
[AddMonoid M]
:
AddUnits.val ⁻¹' Set.addCenter M ⊆ Set.addCenter (AddUnits M)
theorem
Set.subset_center_units
{M : Type u_1}
[Monoid M]
:
Units.val ⁻¹' Set.center M ⊆ Set.center Mˣ
theorem
Set.center_units_subset
{M : Type u_1}
[GroupWithZero M]
:
Set.center Mˣ ⊆ Units.val ⁻¹' Set.center M
theorem
Set.center_units_eq
{M : Type u_1}
[GroupWithZero M]
:
Set.center Mˣ = Units.val ⁻¹' Set.center M
In a group with zero, the center of the units is the preimage of the center.
@[simp]
theorem
Set.units_inv_mem_center
{M : Type u_1}
[Monoid M]
{a : Mˣ}
(ha : ↑a ∈ Set.center M)
:
↑a⁻¹ ∈ Set.center M
@[simp]
theorem
Set.invOf_mem_center
{M : Type u_1}
[Monoid M]
{a : M}
[Invertible a]
(ha : a ∈ Set.center M)
:
⅟a ∈ Set.center M
@[simp]
theorem
Set.inv_mem_center₀
{M : Type u_1}
[GroupWithZero M]
{a : M}
(ha : a ∈ Set.center M)
:
a⁻¹ ∈ Set.center M
@[simp]
theorem
Set.sub_mem_addCenter
{M : Type u_1}
[AddGroup M]
{a : M}
{b : M}
(ha : a ∈ Set.addCenter M)
(hb : b ∈ Set.addCenter M)
:
a - b ∈ Set.addCenter M
@[simp]
theorem
Set.div_mem_center
{M : Type u_1}
[Group M]
{a : M}
{b : M}
(ha : a ∈ Set.center M)
(hb : b ∈ Set.center M)
:
a / b ∈ Set.center M
@[simp]
theorem
Set.div_mem_center₀
{M : Type u_1}
[GroupWithZero M]
{a : M}
{b : M}
(ha : a ∈ Set.center M)
(hb : b ∈ Set.center M)
:
a / b ∈ Set.center M