Single-object category #
Single object category with a given monoid of endomorphisms. It is defined to facilitate transferring some definitions and lemmas (e.g., conjugacy etc.) from category theory to monoids and groups.
Main definitions #
Given a type M with a monoid structure, SingleObj M is Unit type with Category structure
such that End (SingleObj M).star is the monoid M. This can be extended to a functor
MonCat ⥤ Cat.
If M is a group, then SingleObj M is a groupoid.
An element x : M can be reinterpreted as an element of End (SingleObj.star M) using
SingleObj.toEnd.
Implementation notes #
categoryStruct.componEnd (SingleObj.star M)isflip (*), not(*). This way multiplication onEndagrees with the multiplication onM.By default, Lean puts instances into
CategoryTheorynamespace instead ofCategoryTheory.SingleObj, so we give all names explicitly.
Abbreviation that allows writing CategoryTheory.SingleObj rather than Quiver.SingleObj.
Equations
Instances For
Monoid laws become category laws for the single object category.
Equations
- CategoryTheory.SingleObj.category M = { toCategoryStruct := CategoryTheory.SingleObj.categoryStruct M, id_comp := ⋯, comp_id := ⋯, assoc := ⋯ }
If M is finite and in universe zero, then SingleObj M is a FinCategory.
Equations
- CategoryTheory.SingleObj.finCategoryOfFintype M = { fintypeObj := inferInstance, fintypeHom := inferInstance }
Groupoid structure on SingleObj M.
Equations
- CategoryTheory.SingleObj.groupoid G = { toCategory := CategoryTheory.SingleObj.category G, inv := fun {X Y : CategoryTheory.SingleObj G} (x : X ⟶ Y) => x⁻¹, inv_comp := ⋯, comp_inv := ⋯ }
Abbreviation that allows writing CategoryTheory.SingleObj.star rather than
Quiver.SingleObj.star.
Equations
Instances For
The endomorphisms monoid of the only object in SingleObj M is equivalent to the original
monoid M.
Equations
- CategoryTheory.SingleObj.toEnd M = { toEquiv := Equiv.refl M, map_mul' := ⋯ }
Instances For
There is a 1-1 correspondence between monoid homomorphisms M → N and functors between the
corresponding single-object categories. It means that SingleObj is a fully faithful functor.
Stacks Tag 001F (We do not characterize when the functor is full or faithful.)
Equations
- One or more equations did not get rendered due to their size.
Instances For
Given a function f : C → G from a category to a group, we get a functor
C ⥤ G sending any morphism x ⟶ y to f y * (f x)⁻¹.
Equations
Instances For
A monoid homomorphism f: M → End X into the endomorphisms of an object X of a category C
induces a functor SingleObj M ⥤ C.
Equations
- CategoryTheory.SingleObj.functor f = { obj := fun (x : CategoryTheory.SingleObj M) => X, map := fun {X_1 Y : CategoryTheory.SingleObj M} (a : X_1 ⟶ Y) => f a, map_id := ⋯, map_comp := ⋯ }
Instances For
Construct a natural transformation between functors SingleObj M ⥤ C by
giving a compatible morphism SingleObj.star M.
Equations
- CategoryTheory.SingleObj.natTrans u h = { app := fun (x : CategoryTheory.SingleObj M) => u, naturality := ⋯ }
Instances For
Reinterpret a monoid homomorphism f : M → N as a functor (single_obj M) ⥤ (single_obj N).
See also CategoryTheory.SingleObj.mapHom for an equivalence between these types.
Equations
- f.toFunctor = (CategoryTheory.SingleObj.mapHom M N) f
Instances For
The units in a monoid are (multiplicatively) equivalent to
the automorphisms of star when we think of the monoid as a single-object category.
Equations
Instances For
The fully faithful functor from MonCat to Cat.
Equations
- One or more equations did not get rendered due to their size.