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.
Equations
- MonCat.instCoeSortType = { coe := MonCat.carrier }
Equations
- AddMonCat.instCoeSortType = { coe := AddMonCat.carrier }
Construct a bundled AddMonCat
from the underlying type and typeclass.
Equations
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.
Use the ConcreteCategory.hom
projection for @[simps]
lemmas.
Equations
- MonCat.Hom.Simps.hom X Y f = f.hom
Instances For
The results below duplicate the ConcreteCategory
simp lemmas, but we can keep them for dsimp
.
Equations
- MonCat.instInhabited = { default := MonCat.of PUnit.{?u.1 + 1} }
Equations
- AddMonCat.instInhabited = { default := AddMonCat.of PUnit.{?u.1 + 1} }
Equations
- X.instOneHom Y = { one := MonCat.ofHom 1 }
Equations
- X.instZeroHom Y = { zero := AddMonCat.ofHom 0 }
Universe lift functor for monoids.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Universe lift functor for additive monoids.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The category of additive groups and group morphisms.
- carrier : Type u
The underlying type.
- str : AddCommMonoid ↑self
Instances For
The category of groups and group morphisms.
- carrier : Type u
The underlying type.
- str : CommMonoid ↑self
Instances For
Equations
- CommMonCat.instCoeSortType = { coe := CommMonCat.carrier }
Equations
- AddCommMonCat.instCoeSortType = { coe := AddCommMonCat.carrier }
Construct a bundled CommMonCat
from the underlying type and typeclass.
Equations
Instances For
Construct a bundled AddCommMonCat
from the underlying type and typeclass.
Equations
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.
Turn a morphism in AddCommMonCat
back into an AddMonoidHom
.
Equations
Instances For
Typecheck an AddMonoidHom
as a morphism in AddCommMonCat
.
Equations
Instances For
Use the ConcreteCategory.hom
projection for @[simps]
lemmas.
Equations
- CommMonCat.Hom.Simps.hom X Y f = f.hom
Instances For
Use the ConcreteCategory.hom
projection for @[simps]
lemmas.
Equations
- AddCommMonCat.Hom.Simps.hom X Y f = f.hom
Instances For
The results below duplicate the ConcreteCategory
simp lemmas, but we can keep them for dsimp
.
Equations
- CommMonCat.instInhabited = { default := CommMonCat.of PUnit.{?u.1 + 1} }
Equations
- AddCommMonCat.instInhabited = { default := AddCommMonCat.of PUnit.{?u.1 + 1} }
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
- CommMonCat.instCoeMonCat = { coe := (CategoryTheory.forget₂ CommMonCat MonCat).obj }
Equations
Universe lift functor for commutative monoids.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Universe lift functor for additive commutative monoids.
Equations
- One or more equations did not get rendered due to their size.
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 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 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 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 a MulEquiv
from an isomorphism in the category MonCat
.
Equations
- i.monCatIsoToMulEquiv = (MonCat.Hom.hom i.hom).toMulEquiv (MonCat.Hom.hom i.inv) ⋯ ⋯
Instances For
Build an AddEquiv
from an isomorphism in the category
AddMonCat
.
Equations
- i.addMonCatIsoToAddEquiv = (AddMonCat.Hom.hom i.hom).toAddEquiv (AddMonCat.Hom.hom i.inv) ⋯ ⋯
Instances For
Build a MulEquiv
from an isomorphism in the category CommMonCat
.
Equations
- i.commMonCatIsoToMulEquiv = (CommMonCat.Hom.hom i.hom).toMulEquiv (CommMonCat.Hom.hom i.inv) ⋯ ⋯
Instances For
multiplicative equivalences between Monoid
s are the same as (isomorphic to) isomorphisms
in MonCat
Equations
- mulEquivIsoMonCatIso = { hom := fun (e : X ≃* Y) => e.toMonCatIso, inv := fun (i : MonCat.of X ≅ MonCat.of Y) => i.monCatIsoToMulEquiv, hom_inv_id := ⋯, inv_hom_id := ⋯ }
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
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
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
Ensure that forget₂ CommMonCat MonCat
automatically reflects isomorphisms.
We could have used CategoryTheory.HasForget.ReflectsIso
alternatively.
@[simp]
lemmas for MonoidHom.comp
and categorical identities.
The equivalence between AddCommMonCat
and CommMonCat
.
Equations
- One or more equations did not get rendered due to their size.