Category instances for Mul
, Add
, Semigroup
and AddSemigroup
#
We introduce the bundled categories:
along with the relevant forgetful functors between them.
This closely follows Mathlib/Algebra/Category/MonCat/Basic.lean
.
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.
Equations
Instances For
Equations
Equations
The results below duplicate the ConcreteCategory
simp lemmas, but we can keep them for dsimp
.
The category of additive semigroups and semigroup morphisms.
- carrier : Type u
The underlying type.
- str : AddSemigroup ↑self
Instances For
Construct a bundled AddSemigrp
from the underlying type and typeclass.
Equations
Instances For
Equations
Equations
The results below duplicate the ConcreteCategory
simp lemmas, but we can keep them for dsimp
.
Equations
Build an isomorphism in the category AddMagmaCat
from an AddEquiv
between Add
s.
Equations
Instances For
Build an isomorphism in the category
AddSemigroup
from an AddEquiv
between AddSemigroup
s.
Equations
Instances For
additive equivalences between Add
s are the same
as (isomorphic to) isomorphisms in AddMagmaCat
Equations
Instances For
additive equivalences between AddSemigroup
s are
the same as (isomorphic to) isomorphisms in AddSemigroup
Equations
Instances For
Ensure that forget₂ CommMonCat MonCat
automatically reflects isomorphisms.
We could have used CategoryTheory.HasForget.ReflectsIso
alternatively.
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.