
I'm not sure if anyone mentioned the examples of a poset and a monoid as categories. There is no "internal" structure in these. In the former, the objects are
elements and there is a morphism between a and b iff a <= b. A functor
the then becomes
an order preserving map. In the latter, there is one object and the morphisms are the elements. The identity is the identity map and if x and y are two elements / morphisms then composition is xy. A functor is then a homomorphism. Dominic.
It is probably better to use the example of a preordered set. A Preordered set is a set with a relation <=, that is reflexive (x<=x) and transtive (x<=y & y<=z --> x<=z) (but not necessarily antisymmetric, x<=y & y<=x --> x=y as for a poset). If, in a preordered set, a is the unique morphism: x -> y and b the unique morphism: y -> x, then (writing x for the identity morphism id(x)) a.b=y and b.a=x Categorically, x and y are isomorphic. Concluding that x=y is not in the categorical language. Of course, you should distinguish the category of preorders (posets, monoids) from preorder (poset, monoid) as a category. As for literature, you have the classic: Saunders Mac Lane: Categories for the Working mathematician but the working computer scientist may prefer: Andrea Asperti and Guiseppe Longo: Categories, Types, and Structures (MIT Press, 1991) Michael Barr and Charles Wells: Category Theory for Computing Science (3rd ed., Les Publication CRM, 1999) idem, Introduction to Category Theory (www.let.uu.nl/esslli/Courses/barr-wells.html) Peter J. Veger, Best, Netherlands