Centers of semigroups, as subsemigroups. #
Main definitions #
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.
References #
- [Cabrera García and Rodríguez Palacios, Non-associative normed algebras. Volume 1] [CGRP14]
Set.center
as a Subsemigroup
. #
The center of a semigroup M
is the set of elements that commute with everything in M
Equations
- Eq (Subsemigroup.center M) { carrier := Set.center M, mul_mem' := ⋯ }
Instances For
The center of a semigroup M
is the set of elements that commute with everything in M
Equations
- Eq (AddSubsemigroup.center M) { carrier := Set.addCenter M, add_mem' := ⋯ }
Instances For
def
Subsemigroup.center.commSemigroup
{M : Type u_1}
[Mul M]
:
CommSemigroup (Subtype fun (x : M) => Membership.mem (center M) x)
The center of a magma is commutative and associative.
Equations
- Eq Subsemigroup.center.commSemigroup { toMul := MulMemClass.mul (Subsemigroup.center M), mul_assoc := ⋯, mul_comm := ⋯ }
Instances For
def
AddSubsemigroup.center.addCommSemigroup
{M : Type u_1}
[Add M]
:
AddCommSemigroup (Subtype fun (x : M) => Membership.mem (center M) x)
The center of an additive magma is commutative and associative.
Equations
- Eq AddSubsemigroup.center.addCommSemigroup { toAdd := AddMemClass.add (AddSubsemigroup.center M), add_assoc := ⋯, add_comm := ⋯ }
Instances For
def
Subsemigroup.decidableMemCenter
{M : Type u_1}
[Semigroup M]
(a : M)
[Decidable (∀ (b : M), Eq (HMul.hMul b a) (HMul.hMul a b))]
:
Decidable (Membership.mem (center M) a)
Equations
- Eq (Subsemigroup.decidableMemCenter a) (decidable_of_iff' (∀ (g : M), Eq (HMul.hMul g a) (HMul.hMul a g)) ⋯)
Instances For
def
AddSubsemigroup.decidableMemCenter
{M : Type u_1}
[AddSemigroup M]
(a : M)
[Decidable (∀ (b : M), Eq (HAdd.hAdd b a) (HAdd.hAdd a b))]
:
Decidable (Membership.mem (center M) a)
Equations
- Eq (AddSubsemigroup.decidableMemCenter a) (decidable_of_iff' (∀ (g : M), Eq (HAdd.hAdd g a) (HAdd.hAdd a g)) ⋯)