Morphisms of star monoids #
This file defines the type of morphisms StarMonoidHom
between monoids A
and B
where both
A
and B
are equipped with a star
operation. These morphisms are star-preserving monoid
homomorphisms and are equipped with the notation A →⋆* B
.
The primary motivation for these morphisms is to provide a target type for morphisms which induce a corresponding morphism between the unitary groups in a star monoid.
Main definitions #
Tags #
monoid, star
Star monoid homomorphisms #
A star monoid homomorphism is a monoid homomorphism which is star
-preserving.
- toFun : A → B
- map_mul' (x y : A) : (↑self.toMonoidHom).toFun (x * y) = (↑self.toMonoidHom).toFun x * (↑self.toMonoidHom).toFun y
By definition, a star monoid homomorphism preserves the
star
operation.
Instances For
α →⋆* β
denotes the type of star monoid homomorphisms from α
to β
.
Equations
- «term_→⋆*_» = Lean.ParserDescr.trailingNode `«term_→⋆*_» 25 26 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " →⋆* ") (Lean.ParserDescr.cat `term 25))
Instances For
Construct a StarMonoidHom
from a morphism in some type which preserves 1
, *
and star
.
Equations
- StarMonoidHom.ofClass f = { toFun := ⇑f, map_one' := ⋯, map_mul' := ⋯, map_star' := ⋯ }
Instances For
Copy of a StarMonoidHom
with a new toFun
equal to the old one. Useful
to fix definitional equalities.
Instances For
The identity as a star monoid homomorphism.
Equations
- StarMonoidHom.id A = { toMonoidHom := MonoidHom.id A, map_star' := ⋯ }
Instances For
Equations
- StarMonoidHom.instMonoid = { mul := StarMonoidHom.comp, mul_assoc := ⋯, one := StarMonoidHom.id A, one_mul := ⋯, mul_one := ⋯, npow_zero := ⋯, npow_succ := ⋯ }
Star monoid equivalences #
A star monoid equivalence is an equivalence preserving multiplication and the star operation.
- toFun : A → B
- invFun : B → A
- left_inv : Function.LeftInverse self.invFun self.toFun
- right_inv : Function.RightInverse self.invFun self.toFun
By definition, a star monoid equivalence preserves the
star
operation.
Instances For
A star monoid equivalence is an equivalence preserving multiplication and the star operation.
Equations
- «term_≃⋆*_» = Lean.ParserDescr.trailingNode `«term_≃⋆*_» 25 0 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " ≃⋆* ") (Lean.ParserDescr.cat `term 0))
Instances For
The identity map as a star monoid isomorphism.
Equations
- StarMulEquiv.refl A = { toMulEquiv := MulEquiv.refl A, map_star' := ⋯ }
Instances For
Equations
- StarMulEquiv.instInhabited = { default := StarMulEquiv.refl A }
Construct a StarMulEquiv
from an equivalence in some type which preserves *
and star
.
Equations
- StarMulEquiv.ofClass f = { toFun := ⇑f, invFun := EquivLike.inv f, left_inv := ⋯, right_inv := ⋯, map_mul' := ⋯, map_star' := ⋯ }
Instances For
If a star monoid morphism has an inverse, it is an isomorphism of star monoids.
Equations
- StarMulEquiv.ofStarMonoidHom f g h₁ h₂ = { toFun := ⇑f, invFun := ⇑g, left_inv := ⋯, right_inv := ⋯, map_mul' := ⋯, map_star' := ⋯ }
Instances For
Promote a bijective star monoid homomorphism to a star monoid equivalence.
Equations
- StarMulEquiv.ofBijective f hf = { toFun := ⇑f, invFun := (MulEquiv.ofBijective f hf).invFun, left_inv := ⋯, right_inv := ⋯, map_mul' := ⋯, map_star' := ⋯ }