- A groupoid can be regarded as a small category in which every arrow is an isomorphism
- A monoid can be regarded as a small category with only a single object
- A preorder can be regarded as a small category in which each hom-set has at most one element.
Hence in each case there is an inclusion functor between the corresponding category and the category of small categories. I wonder which of these inclusion functors have a left adjoint, and how to construct them.
To map an arbitrary small category to a groupoid, I would like to just omit all arrows which are not isomorphisms. Even so this seems to be a canonical construction, it doesn't seem to be a functor. After all a functor should map every arrow somewhere, but what to do with the omitted arrows? (Looks like I fell into a trap, the "internal" arrows are not the relevant morphisms here.) But maybe there is a completely different ("Grothendieck group" like) construction, which actually works and is a left adjoint?
To map an arbitrary small category to a monoid, I would like to single out one object. However, this doesn't seem to be a canonical construction. But perhaps the following construction works. If the category has more than a single object, then I add ("adjoin") a new bottom element (or "morphism"), and define every undefined composition to give the bottom element. The resulting binary operation is total and associative, so this seems to be a canonical construction. It maps each object to the single monoid object and each morphism to an element of the monoid, so it seem to be a functor. But is this functor a left adjoint of the inclusion functor?
To map an arbitrary small category to a preorder, I could just replace each non-empty hom-set by a hom-set with a single element. This construction should give the left adjoint functor of the inclusion functor, no?