Centers of monoids #
Main definitions #
Submonoid.center
: the center of a monoidAddSubmonoid.center
: the center of an additive monoid
We provide Subgroup.center
, AddSubgroup.center
, Subsemiring.center
, and Subring.center
in
other files.
The center of an addition with zero M
is the set of elements that commute with everything
in M
Equations
- AddSubmonoid.center M = { toAddSubsemigroup := { carrier := Set.addCenter M, add_mem' := ⋯ }, zero_mem' := ⋯ }
Instances For
The center of a multiplication with unit M
is the set of elements that commute with everything
in M
Equations
- Submonoid.center M = { toSubsemigroup := { carrier := Set.center M, mul_mem' := ⋯ }, one_mem' := ⋯ }
Instances For
The center of an addition with zero is commutative and associative.
Equations
- AddSubmonoid.center.addCommMonoid' = let __src := AddSubmonoid.toAddZeroClass (AddSubmonoid.center M); let __src_1 := AddSubsemigroup.center.addCommSemigroup; AddCommMonoid.mk ⋯
Instances For
The center of a multiplication with unit is commutative and associative.
This is not an instance as it forms an non-defeq diamond with Submonoid.toMonoid
in the npow
field.
Equations
- Submonoid.center.commMonoid' = let __src := Submonoid.toMulOneClass (Submonoid.center M); let __src_1 := Subsemigroup.center.commSemigroup; CommMonoid.mk ⋯
Instances For
Equations
- AddSubmonoid.center.addCommMonoid = let __src := AddSubmonoid.toAddMonoid (AddSubmonoid.center M); let __src_1 := AddSubsemigroup.center.addCommSemigroup; AddCommMonoid.mk ⋯
The center of a monoid is commutative.
Equations
- Submonoid.center.commMonoid = let __src := Submonoid.toMonoid (Submonoid.center M); let __src_1 := Subsemigroup.center.commSemigroup; CommMonoid.mk ⋯
Equations
- AddSubmonoid.decidableMemCenter a = decidable_of_iff' (∀ (g : M), g + a = a + g) ⋯
Equations
- Submonoid.decidableMemCenter a = decidable_of_iff' (∀ (g : M), g * a = a * g) ⋯
The center of a monoid acts commutatively on that monoid.
Equations
- ⋯ = ⋯
The center of a monoid acts commutatively on that monoid.
Equations
- ⋯ = ⋯
Note that smulCommClass (center M) (center M) M
is already implied by
Submonoid.smulCommClass_right
For an additive monoid, the units of the center inject into the center of the units.
Equations
Instances For
For a monoid, the units of the center inject into the center of the units. This is not an
equivalence in general; one case when it is is for groups with zero, which is covered in
centerUnitsEquivUnitsCenter
.