Category instances for Monoid
, AddMonoid
, CommMonoid
, and AddCommMmonoid
. #
We introduce the bundled categories:
MonCat
AddMonCat
CommMonCat
AddCommMonCat
along with the relevant forgetful functors between them.
AddMonoidHom
doesn't actually assume associativity. This alias is needed to make
the category theory machinery work.
Equations
- AddMonCat.AssocAddMonoidHom M N = (M →+ N)
Instances For
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- AddMonCat.instCoeSortMonCatType = { coe := fun (X : AddMonCat) => ↑X }
Equations
- MonCat.instCoeSortMonCatType = { coe := fun (X : MonCat) => ↑X }
Equations
- AddMonCat.instMonoidα X = X.str
Equations
- AddMonCat.instFunLike X Y = inferInstanceAs (FunLike (↑X →+ ↑Y) ↑X ↑Y)
Equations
- MonCat.instFunLike X Y = inferInstanceAs (FunLike (↑X →* ↑Y) ↑X ↑Y)
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯
Equations
- AddMonCat.instInhabitedMonCat = { default := AddMonCat.of PUnit.{u_1 + 1} }
Equations
- MonCat.instInhabitedMonCat = { default := MonCat.of PUnit.{u_1 + 1} }
Typecheck an AddMonoidHom
as a morphism in AddMonCat
.
Equations
- AddMonCat.ofHom f = f
Instances For
Equations
Equations
Equations
- AddMonCat.instGroupαAddMonoidOfToAddMonoidToSubNegAddMonoid = inst
The category of additive commutative monoids and monoid morphisms.
Instances For
The category of commutative monoids and monoid morphisms.
Equations
Instances For
Equations
- AddCommMonCat.concreteCategory = id inferInstance
Equations
- CommMonCat.concreteCategory = id inferInstance
Equations
- AddCommMonCat.instCoeSortCommMonCatType = { coe := fun (X : AddCommMonCat) => ↑X }
Equations
- CommMonCat.instCoeSortCommMonCatType = { coe := fun (X : CommMonCat) => ↑X }
Equations
- AddCommMonCat.instCommMonoidα X = X.str
Equations
- CommMonCat.instCommMonoidα X = X.str
Equations
- AddCommMonCat.instFunLike X Y = let_fun this := inferInstance; this
Equations
- CommMonCat.instFunLike X Y = let_fun this := inferInstance; this
Construct a bundled AddCommMon
from the underlying type and typeclass.
Equations
Instances For
Equations
- AddCommMonCat.instInhabitedCommMonCat = { default := AddCommMonCat.of PUnit.{u_1 + 1} }
Equations
- CommMonCat.instInhabitedCommMonCat = { default := CommMonCat.of PUnit.{u_1 + 1} }
Equations
- AddCommMonCat.instCoeCommMonCatMonCat = { coe := (CategoryTheory.forget₂ AddCommMonCat AddMonCat).obj }
Equations
- CommMonCat.instCoeCommMonCatMonCat = { coe := (CategoryTheory.forget₂ CommMonCat MonCat).obj }
Typecheck an AddMonoidHom
as a morphism in AddCommMonCat
.
Equations
- AddCommMonCat.ofHom f = f
Instances For
Typecheck a MonoidHom
as a morphism in CommMonCat
.
Equations
- CommMonCat.ofHom f = f
Instances For
Build an isomorphism in the category AddMonCat
from
an AddEquiv
between AddMonoid
s.
Equations
- AddEquiv.toAddMonCatIso e = { hom := AddMonCat.ofHom (AddEquiv.toAddMonoidHom e), inv := AddMonCat.ofHom (AddEquiv.toAddMonoidHom (AddEquiv.symm e)), hom_inv_id := ⋯, inv_hom_id := ⋯ }
Instances For
Build an isomorphism in the category MonCat
from a MulEquiv
between Monoid
s.
Equations
- MulEquiv.toMonCatIso e = { hom := MonCat.ofHom (MulEquiv.toMonoidHom e), inv := MonCat.ofHom (MulEquiv.toMonoidHom (MulEquiv.symm e)), hom_inv_id := ⋯, inv_hom_id := ⋯ }
Instances For
Build an isomorphism in the category AddCommMonCat
from an AddEquiv
between AddCommMonoid
s.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Build an isomorphism in the category CommMonCat
from a MulEquiv
between CommMonoid
s.
Equations
- MulEquiv.toCommMonCatIso e = { hom := CommMonCat.ofHom (MulEquiv.toMonoidHom e), inv := CommMonCat.ofHom (MulEquiv.toMonoidHom (MulEquiv.symm e)), hom_inv_id := ⋯, inv_hom_id := ⋯ }
Instances For
Build an AddEquiv
from an isomorphism in the category
AddMonCat
.
Equations
- CategoryTheory.Iso.addMonCatIsoToAddEquiv i = AddMonoidHom.toAddEquiv i.hom i.inv ⋯ ⋯
Instances For
Build a MulEquiv
from an isomorphism in the category MonCat
.
Equations
- CategoryTheory.Iso.monCatIsoToMulEquiv i = MonoidHom.toMulEquiv i.hom i.inv ⋯ ⋯
Instances For
Build an AddEquiv
from an isomorphism in the category
AddCommMonCat
.
Equations
- CategoryTheory.Iso.commMonCatIsoToAddEquiv i = AddMonoidHom.toAddEquiv i.hom i.inv ⋯ ⋯
Instances For
Build a MulEquiv
from an isomorphism in the category CommMonCat
.
Equations
- CategoryTheory.Iso.commMonCatIsoToMulEquiv i = MonoidHom.toMulEquiv i.hom i.inv ⋯ ⋯
Instances For
additive equivalences between AddMonoid
s are the same
as (isomorphic to) isomorphisms in AddMonCat
Equations
- One or more equations did not get rendered due to their size.
Instances For
additive equivalences between AddCommMonoid
s are
the same as (isomorphic to) isomorphisms in AddCommMonCat
Equations
- One or more equations did not get rendered due to their size.
Instances For
multiplicative equivalences between CommMonoid
s are the same as (isomorphic to) isomorphisms
in CommMonCat
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.