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.instCoeSortType = { coe := fun (X : AddMonCat) => ↑X }
Equations
- MonCat.instCoeSortType = { coe := fun (X : MonCat) => ↑X }
Equations
- X.instFunLike Y = inferInstanceAs (FunLike (↑X →+ ↑Y) ↑X ↑Y)
Equations
- X.instFunLike Y = inferInstanceAs (FunLike (↑X →* ↑Y) ↑X ↑Y)
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯
Equations
- AddMonCat.instInhabited = { default := AddMonCat.of PUnit.{?u.1 + 1} }
Equations
- MonCat.instInhabited = { default := MonCat.of PUnit.{?u.1 + 1} }
Typecheck an AddMonoidHom
as a morphism in AddMonCat
.
Equations
- AddMonCat.ofHom f = f
Instances For
Equations
- X.instZeroHom Y = { zero := AddMonCat.ofHom 0 }
Equations
- X.instOneHom Y = { one := MonCat.ofHom 1 }
Equations
- AddMonCat.instGroupαAddMonoidOf = inst
Universe lift functor for additive monoids.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Universe lift functor for monoids.
Equations
- One or more equations did not get rendered due to their size.
Instances For
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.instCoeSortType = { coe := fun (X : AddCommMonCat) => ↑X }
Equations
- CommMonCat.instCoeSortType = { coe := fun (X : CommMonCat) => ↑X }
Equations
- X.instCommMonoidα = X.str
Equations
- X.instCommMonoidα = X.str
Equations
- X.instFunLike Y = let_fun this := inferInstance; this
Equations
- X.instFunLike Y = let_fun this := inferInstance; this
Equations
- AddCommMonCat.instInhabited = { default := AddCommMonCat.of PUnit.{?u.1 + 1} }
Equations
- CommMonCat.instInhabited = { default := CommMonCat.of PUnit.{?u.1 + 1} }
Equations
- AddCommMonCat.instCoeMonCat = { coe := (CategoryTheory.forget₂ AddCommMonCat AddMonCat).obj }
Equations
- CommMonCat.instCoeMonCat = { 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
Universe lift functor for additive commutative monoids.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Universe lift functor for commutative monoids.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Build an isomorphism in the category AddMonCat
from
an AddEquiv
between AddMonoid
s.
Equations
- e.toAddMonCatIso = { hom := AddMonCat.ofHom e.toAddMonoidHom, inv := AddMonCat.ofHom e.symm.toAddMonoidHom, hom_inv_id := ⋯, inv_hom_id := ⋯ }
Instances For
Build an isomorphism in the category MonCat
from a MulEquiv
between Monoid
s.
Equations
- e.toMonCatIso = { hom := MonCat.ofHom e.toMonoidHom, inv := MonCat.ofHom e.symm.toMonoidHom, hom_inv_id := ⋯, inv_hom_id := ⋯ }
Instances For
Build an isomorphism in the category AddCommMonCat
from an AddEquiv
between AddCommMonoid
s.
Equations
- e.toAddCommMonCatIso = { hom := AddCommMonCat.ofHom e.toAddMonoidHom, inv := AddCommMonCat.ofHom e.symm.toAddMonoidHom, hom_inv_id := ⋯, inv_hom_id := ⋯ }
Instances For
Build an isomorphism in the category CommMonCat
from a MulEquiv
between CommMonoid
s.
Equations
- e.toCommMonCatIso = { hom := CommMonCat.ofHom e.toMonoidHom, inv := CommMonCat.ofHom e.symm.toMonoidHom, hom_inv_id := ⋯, inv_hom_id := ⋯ }
Instances For
Build an AddEquiv
from an isomorphism in the category
AddMonCat
.
Equations
- i.addMonCatIsoToAddEquiv = AddMonoidHom.toAddEquiv i.hom i.inv ⋯ ⋯
Instances For
Build a MulEquiv
from an isomorphism in the category MonCat
.
Equations
- i.monCatIsoToMulEquiv = MonoidHom.toMulEquiv i.hom i.inv ⋯ ⋯
Instances For
Build an AddEquiv
from an isomorphism in the category
AddCommMonCat
.
Equations
- i.commMonCatIsoToAddEquiv = AddMonoidHom.toAddEquiv i.hom i.inv ⋯ ⋯
Instances For
Build a MulEquiv
from an isomorphism in the category CommMonCat
.
Equations
- i.commMonCatIsoToMulEquiv = MonoidHom.toMulEquiv i.hom i.inv ⋯ ⋯
Instances For
additive equivalences between AddMonoid
s are the same
as (isomorphic to) isomorphisms in AddMonCat
Equations
- addEquivIsoAddMonCatIso = { hom := fun (e : X ≃+ Y) => e.toAddMonCatIso, inv := fun (i : AddMonCat.of X ≅ AddMonCat.of Y) => i.addMonCatIsoToAddEquiv, hom_inv_id := ⋯, inv_hom_id := ⋯ }
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
- mulEquivIsoCommMonCatIso = { hom := fun (e : X ≃* Y) => e.toCommMonCatIso, inv := fun (i : CommMonCat.of X ≅ CommMonCat.of Y) => i.commMonCatIsoToMulEquiv, hom_inv_id := ⋯, inv_hom_id := ⋯ }
Instances For
Equations
Equations
Equations
Equations
Equations
Equations
@[simp]
lemmas for MonoidHom.comp
and categorical identities.