Category instances for Mul
, Add
, Semigroup
and AddSemigroup
#
We introduce the bundled categories:
MagmaCat
AddMagmaCat
SemigroupCat
AddSemigroupCat
along with the relevant forgetful functors between them.
This closely follows Mathlib.Algebra.Category.MonCat.Basic
.
TODO #
- Limits in these categories
- free/forgetful adjunctions
The category of additive magmas and additive magma morphisms.
Instances For
Construct a bundled AddMagmaCat
from the underlying type and typeclass.
Instances For
Typecheck an AddHom
as a morphism in AddMagmaCat
.
Instances For
Typecheck a MulHom
as a morphism in MagmaCat
.
Instances For
The category of additive semigroups and semigroup morphisms.
Instances For
The category of semigroups and semigroup morphisms.
Instances For
Construct a bundled AddSemigroupCat
from the underlying type and typeclass.
Instances For
Construct a bundled SemigroupCat
from the underlying type and typeclass.
Instances For
Typecheck an AddHom
as a morphism in AddSemigroupCat
.
Instances For
Typecheck a MulHom
as a morphism in SemigroupCat
.
Instances For
Build an isomorphism in the category AddMagmaCat
from an AddEquiv
between Add
s.
Instances For
Build an isomorphism in the category MagmaCat
from a MulEquiv
between Mul
s.
Instances For
Build an isomorphism in the category
AddSemigroup
from an AddEquiv
between AddSemigroup
s.
Instances For
Build an AddEquiv
from an isomorphism in the category AddMagma
.
Instances For
Build an AddEquiv
from an isomorphism in the category AddSemigroup
.
Instances For
Build a MulEquiv
from an isomorphism in the category Semigroup
.
Instances For
additive equivalences between Add
s are the same
as (isomorphic to) isomorphisms in AddMagma
Instances For
multiplicative equivalences between Mul
s are the same as (isomorphic to) isomorphisms
in Magma
Instances For
additive equivalences between AddSemigroup
s are
the same as (isomorphic to) isomorphisms in AddSemigroup
Instances For
multiplicative equivalences between Semigroup
s are the same as (isomorphic to) isomorphisms
in Semigroup
Instances For
Once we've shown that the forgetful functors to type reflect isomorphisms,
we automatically obtain that the forget₂
functors between our concrete categories
reflect isomorphisms.