Different definitions of category

It appears that there are two different definitions of category. Some authors require the Hom-sets to be pairwise disjoint. Eilenberg and Mac Lane in their original definition require each identity morphism of the category to uniquely determine an object of the category. But some authors (e.g. Kashiwara & Schapira) do not require such conditions in the definition of category. What is the reason for this difference?

Obviously this difference has practical consequences. For instance, take your favorite set (or class) $S$ and take your favorite group $G$. I will attempt to define a category $\mathbf{C}$ as follows: objects of $\mathbf{C}$ are elements of $S$, and for each pair of objects $(X,Y)$ of $\mathbf{C}$ let $\operatorname{Hom}_{\mathbf{C}}(X,Y)=\operatorname{End}(G)$ (endomorphisms of $G$). Is $\mathbf{C}$ as defined above a category? It is not if we require the Hom-sets to be pairwise disjoint (or if we require each identity morphism of the category to uniquely determine an object of the category), but it is a category if we don't have such requirements in our definition of category. So why does this discrepancy exist? Historically, was there a reason for dropping this condition from the original definition of Eilenberg and Mac Lane?

• Why $\mathrm{End}(G)$ and not just $G$? Apr 12 '18 at 19:52
• isn't this answered here? math.stackexchange.com/questions/1848926/… Apr 12 '18 at 19:53
• @CarloBeenakker I was not aware of that post. Thanks for the link. Apr 12 '18 at 20:09
• @Qfwfq Yes, $G$ instead of $\operatorname{End}(G)$ would work, too. Apr 12 '18 at 20:15
• At least for small categories (I don't want to run into size issues), there is a well-defined set map called "source of a morphism". So $\mathrm{Id}_X=\mathrm{Id}_Y$ implies $X=Y$ and of course $X=Y$ implies $\mathrm{Id}_X=\mathrm{Id}_Y$... Apr 13 '18 at 8:35

The difference is only cosmetic, not serious. Given a category $\newcommand{\C}{\mathbf{C}}\C$ with not-necessarily-disjoint homsets, we can easily make its homsets disjoint. Precisely, we can define a new isomorphic category $\C'$, with the same objects as $\C$ but with $\hom_{\C'}(x,y) := \hom_{\C}(x,y) \times \{(x,y)\}$. Wrapping this up in a stronger statement: the category of “small disjoint-homsets categories” is equivalent to the category of “small not-necessarily-disjoint-homsets categories”. (The “small” here is just to avoid complications of size issues.)
Why might you want the disjointness condition? So that you can see all hom-sets as subsets of a single set $\mathrm{mor}\,\C$ with well-defined domain and codomain functions $\mathrm{mor}\,\C \to \mathrm{ob}\,\C$. In particular, this approach lets you say “a category consists of two sets, together with certain operations and axioms…” and so fits categories into the long-established setup of algebraic structures.
Why might you want to drop the disjointness condition? Because for many important categories, the most natural presentation gives non-disjoint homsets. E.g. $\mathbf{Set}$, with morphisms as functions, has $\mathrm{hom}(\emptyset,X) = \{\emptyset\}$ for every $X$, due to the set-theoretic representation of functions as sets of ordered pairs.
• Having disjoint homsets is also necessary to make for nicer definitions of functors. For example, if one has a concrete category, say Top, and encodes morphisms non-disjointly, say by identifying a continuous function with its graph, you get well-definedness issues: The same graph may describe morphisms $X\to Y$ and $X\to Z$ where $Y\subseteq Z$, but after applying a functor like (co)homology, $H(Y)$ and $H(Z)$ do not need to have an inclusion between them so that the image of two morphisms is now not compatible any more in the same way. Apr 12 '18 at 21:44
• Concrete example: $X=Y=S^1, Z=\mathbb{R}^2$ and the inclusion/identity map. After applying the functor $H_1$ ($H^1$ wuld work equally well) the identity map becomes the identity $\mathbb{Z}\to\mathbb{Z}$, the inclusion map becomes the zero mapping $\mathbb{Z}\to\{0\}$. Apr 12 '18 at 21:45
• "Because for many important categories, the most natural presentation gives non-disjoint homsets." (like for the category of sets). No it is wrong at least for me :-). A set map consists of a triple $(X,Y,f)$ where $f$ is a subset of $X\times Y$ such that $(x,y)\in f$ and $(x,y')\in f$ implies $y=y'$. Apr 14 '18 at 8:39