why are subobjects defined to be equivalence classes of objects, instead of just objects?

The question is ancient, but IMHO the most convincing answer is missing:

The definition of "subobject in a category $\mathcal{C}$" is chosen in such a way that it generalize the notion of $k$-vector subspaces (when $\mathcal{C} = \mathsf{Vect}_k$), the notion of subsets (when $\mathcal{C} = \mathsf{Set}$), the notion of subrings (when $\mathcal{C} = \mathsf{Ring}$), and lots of other classical "sub-something" notions that appear throughout mathematics (probably not all of them, though). If you were to define "subobjects of $A \in \mathcal{C}$" to mean "monomorphisms with codomain $A$", then the notion of a subobject would not generalize all of these classical notions, because you get too many different subobjects that correspond to the same "sub-something". For instance, in $\mathsf{Set}$, the monomorphisms $\emptyset \to \left\{1\right\}$, $\left\{1\right\} \to \left\{1\right\}$ and $\left\{2\right\} \to \left\{1\right\}$ would be three different subobjects of the object $\left\{1\right\}$, but there are only two subsets of the set $\left\{1\right\}$. So this would be a bad definition.

However, if you define subobjects of $A \in \mathcal{C}$ to be isomorphism classes of monomorphisms with codomain $A$ (where "isomorphism" is to be correctly interpreted: an isomorphism between two monomorphisms $\alpha : S \to A$ and $\alpha^{\prime} : S^{\prime} \to A$ means a morphism $s : S \to S^{\prime}$ satisfying $\alpha = \alpha^{\prime} \circ s$), then, in all of the examples listed above, the subobjects of $A$ are in a canonical bijection with the "sub-somethings" (i.e., the $k$-vector subspaces, or the subsets, or the subrings). For instance, in $\mathsf{Set}$, the subobjects of a set $A$ are the isomorphism classes of monomorphisms with codomain $f$. The isomorphism class of such a monomorphism $f : S \to A$ can be identified with the subset $f\left(S\right)$ of $A$. Thus, the subobjects of $A$ are in bijection with the subsets of $A$ here. The same construction works for rings and for $k$-vector spaces.

The good definition of a subobject also has the advantage (compared with the bad definition) that the subobjects of a given object $A \in \mathcal{C}$ often form a set (as opposed to just a class). I don't personally find this vital; it is not usually true in constructive mathematics anyway, and I don't believe that a definition is necessarily bad just because it sometimes returns proper classes.


@QiaochuYuan and MarianoSuárez-Alvarez: so the reason is just so the collection of subobjects will be a proper set. Is there a reason why we this matters for subobjects but not for, say, equalizers? With my definition, we could say that equalizers are subobjects, and the set of equalizers of any two arrows would be a proper class.

– Ziggurism May 30 '12 at 14:46

@[Ziggurism]: yes, but when are you ever going to talk about the collection of all equalizers? On the other hand, you really do often talk about the collection of all subobjects (e.g. the lattice of subsets of a set, the lattice of subspaces of a vector space).

– Qiaochu Yuan May 30 '12 at 14:50