Category instances for monoid, add_monoid, comm_monoid, and add_comm_monoid. #
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
- AddMonCat.bundledHom = CategoryTheory.BundledHom.mk (fun {X Y} x x_1 f => ↑f) (fun {α} x => AddMonoidHom.id α) fun {α β γ} x x_1 x_2 => AddMonoidHom.comp
Equations
- MonCat.bundledHom = CategoryTheory.BundledHom.mk (fun {X Y} x x_1 f => ↑f) (fun {α} x => MonoidHom.id α) fun {α β γ} x x_1 x_2 => MonoidHom.comp
Equations
- AddMonCat.instCoeSortMonCatType = { coe := fun X => ↑X }
Equations
- MonCat.instCoeSortMonCatType = { coe := fun X => ↑X }
Equations
- AddMonCat.instMonoidα X = X.str
Equations
- AddMonCat.instCoeFunHomMonCatToQuiverToCategoryStructInstMonCatLargeCategoryForAllαAddMonoid = { coe := fun f => ↑f }
Equations
- AddMonCat.Hom_FunLike X Y = let_fun this := inferInstance; this
Equations
- MonCat.Hom_FunLike X Y = let_fun this := inferInstance; this
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 => ↑X }
Equations
- CommMonCat.instCoeSortCommMonCatType = { coe := fun X => ↑X }
Equations
- AddCommMonCat.instCommMonoidα X = X.str
Equations
- CommMonCat.instCommMonoidα X = X.str
Equations
- AddCommMonCat.instCoeFunHomCommMonCatToQuiverToCategoryStructInstCommMonCatLargeCategoryForAllαAddCommMonoid = { coe := fun f => ↑f }
Equations
- CommMonCat.instCoeFunHomCommMonCatToQuiverToCategoryStructInstCommMonCatLargeCategoryForAllαCommMonoid = { coe := fun f => ↑f }
Equations
- AddCommMonCat.Hom_FunLike X Y = let_fun this := inferInstance; this
Equations
- CommMonCat.Hom_FunLike 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).toPrefunctor.obj }
Equations
- CommMonCat.instCoeCommMonCatMonCat = { coe := (CategoryTheory.forget₂ CommMonCat MonCat).toPrefunctor.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 AddCommMonCat
from an AddEquiv
between AddCommMonoid
s.
Equations
Instances For
Build an isomorphism in the category CommMonCat
from a MulEquiv
between CommMonoid
s.
Equations
Instances For
Build an AddEquiv
from an isomorphism in the category
AddCommMonCat
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Build a MulEquiv
from an isomorphism in the category CommMonCat
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
additive equivalences between AddMonoid
s are the same
as (isomorphic to) isomorphisms in AddMonCat
Equations
- addEquivIsoAddMonCatIso = CategoryTheory.Iso.mk (fun e => AddEquiv.toAddMonCatIso e) fun i => CategoryTheory.Iso.addMonCatIsoToAddEquiv i
Instances For
multiplicative equivalences between Monoid
s are the same as (isomorphic to) isomorphisms
in MonCat
Equations
- mulEquivIsoMonCatIso = CategoryTheory.Iso.mk (fun e => MulEquiv.toMonCatIso e) fun i => CategoryTheory.Iso.monCatIsoToMulEquiv i
Instances For
additive equivalences between AddCommMonoid
s are
the same as (isomorphic to) isomorphisms in AddCommMonCat
Equations
- addEquivIsoAddCommMonCatIso = CategoryTheory.Iso.mk (fun e => AddEquiv.toAddCommMonCatIso e) fun i => CategoryTheory.Iso.commMonCatIsoToAddEquiv i
Instances For
multiplicative equivalences between CommMonoid
s are the same as (isomorphic to) isomorphisms
in CommMonCat
Equations
- mulEquivIsoCommMonCatIso = CategoryTheory.Iso.mk (fun e => MulEquiv.toCommMonCatIso e) fun i => CategoryTheory.Iso.commMonCatIsoToMulEquiv i
Instances For
Equations
- AddCommMonCat.forget₂Full = CategoryTheory.Full.mk fun {X Y} f => f
Equations
- CommMonCat.forget₂Full = CategoryTheory.Full.mk fun {X Y} f => f