If the axiom of choice holds, then every category has a skeleton (in the strongest sense).
Simply choose one object in each isomorphism class and one isomorphism to that object from each other object in that class.
In more detail, generate the full subcategory containing just the chosen objects. Denote by the inclusion. We exhibit a weak inverse of as a functor constructed as follows. For every object one has chosen already the unique object in isomorphic to , but one also needs to make a choice of isomorphism for every . This enables to conjugate between and by
The rule for morphisms is clearly functorial. Let us show that is a weak inverse of . In one direction, given we compute (strict equality); in another direction, given , notice that for is an isomorphism. It suffices to show that these isomorphisms for all together form a natural isomorphism ; the naturality diagram is commutative precisely because of the conjugation formula for the functor for morphisms. This completes the proof that is indeed a weak inverse of .
In fact, the statement that every (possibly small) category has a skeleton is equivalent to the axiom of choice if “subcategory” and “equivalence” have their naive (‘strong’) meanings. For given a surjection in , make into a category with a unique isomorphism iff ; then a skeleton of supplies a splitting of .
Even with the more general notion of weak or ana-equivalence of categories, some amount of choice is required to show that every category has a skeleton. It would be interesting to know the precise strength of the statement “every category is weakly equivalent to a skeletal one.” One thing we can say without any choice is:
In this case, we can take the objects of the skeleton of to be the isomorphism classes of . If is thin, then we can define a partial ordering on its set of isomorphism classes, making them into a skeleton of .
Notice that the axiom of choice fails in general when one considers internal categories. Hence not every internal category has a skeleton. A necessary condition for an internal category to have a skeleton is the existence quotient - the object of orbits under the action of the core of . If the quotient map has a section, then one could consider to have a skeleton, but this condition isn’t sufficient for the induced inclusion functor to be a weak equivalence of internal categories when this makes sense (i.e. if the category is internal to a site).
David Roberts: The claim above about the necessity of the existence of the quotient needs to be checked.
Define a coskeleton of a category to be a skeletal category with a surjective equivalence . In Categories, Allegories it is shown that the following are equivalent.
Any two ana-equivalent categories are strongly equivalent.
I removed ‘non-ana’, since I don't think that ‘strongly equivalent’ would ever be used in an ‘ana-’ sense. —Toby
Addendum: Actually, I don't know why I asked whether you meant weakly or strongly here, since obviously one can prove that two ana-equivalent categories are weakly equivalent! It seems that the discussion above used the terms ‘equivalence’ and ‘ana-equivalence’ where equivalence of categories uses ‘strong equivalence’ and ‘weak equivalence’ or ‘ana-equivalence’; so I just changed it. And then I added another entry, which maybe you should remove if Freyd & Scedrov don't actually address it. On the other hand, if they really talk about weak equivalence instead of ana-equivalence (although if they define it in elementary terms, it's hard to tell the difference), maybe there's no need to say ‘ana-’ at all on this page.
Any two weakly equivalent categories are strongly equivalent.
Every small category has a skeleton.
Every small category has a coskeleton.
Any two skeletons of a given small category are isomorphic.
Any two coskeletons of a given small category are isomorphic.
For convenience we add:
It is well-known that objects defined by universal properties in a category, such as limits and colimits, are not unique on the nose, but only unique up to unique canonical isomorphism. It can be tempting to suppose that in a skeletal category, where any two isomorphic objects are equal, such objects will in fact be unique on the nose. However, under the most appropriate definition of “unique,” this is not true (in general), because of the presence of automorphisms.
More explicitly, consider the notion cartesian product in a category. Although we colloquially speak of “a product” of objects and as being the object , strictly speaking a product consists of the object together with the projections and which exhibit its universal property. Thus, even if the category in question is skeletal, so that there can be only one object that is a product of and , in general this object can still “be the product of and ” in many different ways.
For example, given any projections and that exhibit as a product of and , we can compose them both with any automorphism of to get a new, different, pair of projections that also exhibit as a product of and . In fact, the universal property of a product implies that any two pairs of projections are related by an automorphism of , so this example is generic. Thus, even in a skeletal category, we cannot speak of “the” product of and , except in the same generalized sense that makes sense in any category. A formal way to say this is that the “category of products of and ,” while still equivalent to the trivial category, as it is in any category with products, will not be isomorphic to the trivial category even when the ambient category is skeletal.
(It is true in a few cases, though, that skeletality implies uniqueness on the nose. For instance, a terminal object can have no nonidentity automorphisms, so in a skeletal category, a terminal object (if one exists) really is unique on the nose.)