Elements and arrows in a category.

As you noted, in the definition of a category, objects do not have elements. However, in a category there can be arrows that act like the elements of a set would do.

In a category $\mathbf{C}$, a terminal object, call it $1$, is defined as follows. For any object $A$ of $\mathbf{C}$ there exists a unique arrow $!:A \rightarrow 1$. Terminal objects are unique up to isomorphism. In a category with a terminal object $1$, any given object $A$ then, there is a unique arrow to $1$, but there may be several arrows $a:1 \rightarrow A$ to the object. These are called global elements or points of $A$.

In a category with terminal object $1$, given an arrow $\eta: A \rightarrow B$, and an global element $ a: 1 \rightarrow A$, there exists an arrow $ \eta \circ a : 1 \rightarrow B$ which is indeed a global element of B. This is as close as you get to answering "yes" at both your questions for a general category.

To see why this is interesting, lets look at $\mathbf{Sets}$, the category of sets and functions. There, the terminal object is any set containing only one element, like $1 \equiv \{1\}$. For each set $X$ there is only one function to it, ie $ \forall x \in X : x \mapsto 1$ so this is a terminal object. The generalised elements of $X$ then are the functions (arrows) from $\{1\} \rightarrow X$, and it is easy to see that the set of such arrows is isomorphic to the set of elements of $X$, In other words, for each element $x\in X$ there is an arrow $\{1\} \rightarrow X$, the function $1\mapsto x$. And for each arrow there is an element. Thus in $\mathbf{Sets}$, the generalised elements of $X$ reduce to the elements of $X$.

Long story short, the axioms of category do not contain the notion of elements of objects, but it is possible to define the notion of global elements in any category with a terminal object. In the case of $\mathbf{Sets}$, the global elements are in bijective correspondence with the elements.


Objects do not, in general, have elements. This can be remedied via the concept of a concrete category. Loosely speaking, this is just a category $\mathbf{C}$ together with a notion of "element of $X$" for each object $X$. Explicitly, a concrete category is a category $\mathbf{C}$ equipped with a faithful functor $U : \mathbf{C} \rightarrow \mathbf{Set}$. We can then define that if $X$ is an object of $\mathbf{C},$ then an element of $X$ is (by definition) just an element of $UX$.

If you don't want to assume there's a distinguished faithful functor $U$ lying around, you may be interested in the concepts global element and/or generalized element. Be wary: although global elements seem familiar and natural, most categories of interest do not have enough global elements to make the concept useful. It may be instructive to work out the global elements in the category of real vector spaces and linear transformations. Notice that there really aren't many of them. There's plenty of generalized elements, though.

Another point worth making is that there are these things called multicategories which are very natural, although if you're anything like me you'll find the concept of a multicategory repulsive at first glance (that was self-deprecating humor). Multicategores are basically just categories except that a morphism can have a whole sequence of objects for its domain. In particular, morphisms can have the empty sequence as their domain. Hence, if $X$ is an object of a multicategory, then we can define that an element of $X$ is a morphism whose codomain is $X$ and whose domain is the empty sequence. This defines a functor to the multicategory of sets and functions. In many cases of interest, this functor is faithful; ergo, we get a concrete category.


A category does have elements in a suitable sense. First, let's review some examples of the traditional notion of elements:

  • There is a natural bijection $S \cong \hom_{\mathbf{Set}}(\mathbf{1}, S)$
  • If $|X|$ is the set of points of a topological space, there is a natural bijection $|X| \cong \hom_{\mathbf{Top}}(\mathbf{1}, X)$
  • If $|G|$ is the underlying set of a group, there is a natural bijection $|G| \cong \hom_{\mathbf{Grp}}(\mathbf{Z}, G)$
  • If $|R|$ is the underlying set of a commutative ring, there is a natural bijection $|R| \cong \hom_{\mathbf{CRng}}(\mathbf{Z}[x], R)$
  • If $\Gamma : E \to B$ is a bundle, $U \subseteq B$ is an open set, and $\Gamma_U$ is the set of sections of $\Gamma$ over $U$, then there is a natural bijection $\Gamma_U \cong \hom_{\mathbf{Bundle}/B}(U, \Gamma)$
  • If $X$ is a scheme, $P$ is a scheme, and $X(P)$ is the set of $P$-points of $X$, then there is an equality $X(P) = \hom_{\mathbf{Sch}}(P, X)$.

All of these together suggest a useful notion of generalized element: a generalized element of an object $A$ is simply an arrow with target $A$. You can develop a whole internal logic in a category, and familiar facts often take on familiar forms. This logic becomes more and more familiar the nicer the category is -- Cartesian categories, Cartesian closed categories, and toposes in particular.

e.g. $f(x)$ means the (element represented by the) composite of the function $f$ with the (arrow representing the) element $x$. The arrow $f : X \to Y$ is monic if and only if, for all elements $x,y \in X$, you have $f(x) = f(y) \implies x = y$. (here, evaluation of an element is simply composition)

We can even take this further: if $\mathscr{C}$ is a small category, then there is a useful functor $\mathscr{C} \to \mathbf{Set}$ that sends every object $A$ to the set of all arrows with codomain $A$. So we can even treat the generalized elements like elements in the set-theoretic sense! This is closely related with the Yoneda embedding and with the notion of a category acting on a set.


In my opinion, this notion remains useful even outside of the context of category theory. One (IMO) pretty example has to do with choice. Every time you see an argument that includes a set "choose an $x \in S$" you can instead let $x$ be the generic generalized element of $S$ (i.e. the one corresponding to the identity function).

For example, consider the proof by transfinite induction that every vector space has a basis. Reinterpreting "choose a well ordering on $V$" in this way instantly converts the whole argument into a constructive derivation of a function from the set of well-orderings on $V$ to the set of bases for $V$. And one that works whether or not you assume the axiom of choice! (naturally, it's vacuous should the set of well-orderings on $V$ be empty)