Category instances for Mul, Add, Semigroup and AddSemigroup #
We introduce the bundled categories:
MagmaCatAddMagmaCatSemigroupCatAddSemigroupCatalong 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.
Equations
Instances For
Equations
- AddMagmaCat.instCoeSortAddMagmaCatType = { coe := fun (X : AddMagmaCat) => ↑X }
Equations
- MagmaCat.instCoeSortMagmaCatType = { coe := fun (X : MagmaCat) => ↑X }
Equations
- MagmaCat.forget_obj_eq_coe R = ((CategoryTheory.forget MagmaCat).toPrefunctor.obj R = ↑R)
Instances For
Equations
- AddMagmaCat.forget_obj_eq_coe R = ((CategoryTheory.forget AddMagmaCat).toPrefunctor.obj R = ↑R)
Instances For
Equations
- AddMagmaCat.instMulα X = X.str
Equations
- AddMagmaCat.instFunLike X Y = inferInstanceAs (FunLike (AddHom ↑X ↑Y) ↑X ↑Y)
Equations
- MagmaCat.instFunLike X Y = inferInstanceAs (FunLike (↑X →ₙ* ↑Y) ↑X ↑Y)
Equations
- (_ : AddHomClass (X ⟶ Y) ↑X ↑Y) = (_ : AddHomClass (AddHom ↑X ↑Y) ↑X ↑Y)
Equations
- (_ : MulHomClass (X ⟶ Y) ↑X ↑Y) = (_ : MulHomClass (↑X →ₙ* ↑Y) ↑X ↑Y)
Typecheck an AddHom as a morphism in AddMagmaCat.
Equations
- AddMagmaCat.ofHom f = f
Instances For
Typecheck a MulHom as a morphism in MagmaCat.
Equations
- MagmaCat.ofHom f = f
Instances For
Equations
- AddMagmaCat.instInhabitedAddMagmaCat = { default := AddMagmaCat.of PEmpty.{u_1 + 1} }
Equations
- MagmaCat.instInhabitedMagmaCat = { default := MagmaCat.of PEmpty.{u_1 + 1} }
The category of additive semigroups and semigroup morphisms.
Instances For
The category of semigroups and semigroup morphisms.
Equations
Instances For
Equations
- AddSemigroupCat.instCoeSortAddSemigroupCatType = { coe := fun (X : AddSemigroupCat) => ↑X }
Equations
- SemigroupCat.instCoeSortSemigroupCatType = { coe := fun (X : SemigroupCat) => ↑X }
Equations
- SemigroupCat.forget_obj_eq_coe R = ((CategoryTheory.forget SemigroupCat).toPrefunctor.obj R = ↑R)
Instances For
Equations
- AddSemigroupCat.forget_obj_eq_coe R = ((CategoryTheory.forget AddSemigroupCat).toPrefunctor.obj R = ↑R)
Instances For
Equations
- AddSemigroupCat.instSemigroupα X = X.str
Equations
- SemigroupCat.instSemigroupα X = X.str
Equations
- AddSemigroupCat.instFunLike X Y = inferInstanceAs (FunLike (AddHom ↑X ↑Y) ↑X ↑Y)
Equations
- SemigroupCat.instFunLike X Y = inferInstanceAs (FunLike (↑X →ₙ* ↑Y) ↑X ↑Y)
Equations
- (_ : AddHomClass (X ⟶ Y) ↑X ↑Y) = (_ : AddHomClass (AddHom ↑X ↑Y) ↑X ↑Y)
Equations
- (_ : MulHomClass (X ⟶ Y) ↑X ↑Y) = (_ : MulHomClass (↑X →ₙ* ↑Y) ↑X ↑Y)
Typecheck an AddHom as a morphism in AddSemigroupCat.
Equations
Instances For
Typecheck a MulHom as a morphism in SemigroupCat.
Equations
- SemigroupCat.ofHom f = f
Instances For
Equations
Equations
- SemigroupCat.instInhabitedSemigroupCat = { default := SemigroupCat.of PEmpty.{u_1 + 1} }
Build an isomorphism in the category AddMagmaCat from an AddEquiv between Adds.
Equations
Instances For
Build an isomorphism in the category MagmaCat from a MulEquiv between Muls.
Equations
Instances For
Build an isomorphism in the category
AddSemigroup from an AddEquiv between AddSemigroups.
Equations
Instances For
Build an AddEquiv from an isomorphism in the category AddMagma.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Build an AddEquiv from an isomorphism in the category AddSemigroup.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Build a MulEquiv from an isomorphism in the category Semigroup.
Equations
- One or more equations did not get rendered due to their size.
Instances For
additive equivalences between Adds are the same
as (isomorphic to) isomorphisms in AddMagma
Equations
- One or more equations did not get rendered due to their size.
Instances For
multiplicative equivalences between Muls are the same as (isomorphic to) isomorphisms
in Magma
Equations
- mulEquivIsoMagmaIso = CategoryTheory.Iso.mk (fun (e : X ≃* Y) => MulEquiv.toMagmaCatIso e) fun (i : MagmaCat.of X ≅ MagmaCat.of Y) => CategoryTheory.Iso.magmaCatIsoToMulEquiv i
Instances For
additive equivalences between AddSemigroups are
the same as (isomorphic to) isomorphisms in AddSemigroup
Equations
- One or more equations did not get rendered due to their size.
Instances For
multiplicative equivalences between Semigroups are the same as (isomorphic to) isomorphisms
in Semigroup
Equations
- One or more equations did not get rendered due to their size.
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.
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.