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.
- carrier : Type u
The underlying additive magma.
- str : Add โself
Instances For
The category of magmas and magma morphisms.
- carrier : Type u
The underlying magma.
- str : Mul โself
Instances For
Construct a bundled MagmaCat from the underlying type and typeclass.
Instances For
Construct a bundled AddMagmaCat from the underlying type and typeclass.
Instances For
Use the ConcreteCategory.hom projection for @[simps] lemmas.
Instances For
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 Semigrp from the underlying type and typeclass.
Instances For
Construct a bundled AddSemigrp from the underlying type and typeclass.
Instances For
Typecheck an AddHom as a morphism in AddSemigrp.
Instances For
Use the ConcreteCategory.hom projection for @[simps] lemmas.
Instances For
The results below duplicate the ConcreteCategory simp lemmas, but we can keep them for dsimp.
Build an isomorphism in the category MagmaCat from a MulEquiv between Muls.
Instances For
Build an isomorphism in the category AddMagmaCat from an AddEquiv between Adds.
Instances For
Build an isomorphism in the category
AddSemigroup from an AddEquiv between AddSemigroups.
Instances For
Build an AddEquiv from an isomorphism in the category AddMagmaCat.
Instances For
Build an AddEquiv from an isomorphism in the category AddSemigroup.
Instances For
multiplicative equivalences between Muls are the same as (isomorphic to) isomorphisms
in MagmaCat
Instances For
additive equivalences between Adds are the same
as (isomorphic to) isomorphisms in AddMagmaCat
Instances For
additive equivalences between AddSemigroups are
the same as (isomorphic to) isomorphisms in AddSemigroup
Instances For
Ensure that forgetโ CommMonCat MonCat automatically reflects isomorphisms.
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.