Prove that if $X^X$ is a terminal object then $X \to \mathbf{1}$ is a monomorphism
I want to know how to solve the following exercise in the textbook Conceptual Mathematics by Lawvere [Session 31, Exercise 2].
Let $X$ be an object in a cartesian closed category. Show that the following two properties are equivalent:
- $X \to \mathbf{1}$ is a monomorphism;
- $X^X = \mathbf{1}$.
I see that (1) is the same as saying that for all objects $A$, there is at most one map $A\to X$. Using this, I can easily prove that (1) implies (2), but the other direction eludes me.
2 answers
You are accessing this answer with a direct link, so it's being shown above all other answers regardless of its score. You can return to the normal view.
The following users marked this post as Works for me:
| User | Comment | Date |
|---|---|---|
| Hernán Ibarra Mejia | (no comment) | Apr 1, 2026 at 16:53 |
Let $f,g$ be any morphisms in $\text{Hom}(A,X)$. We want to show that, if $X^X=1$ then $f=g$. We do this by showing that the projection maps $π_1, π_2: X×X → X$ are equal: $π_1, π_2 \in \text{Hom}(X×X,X) = \text{Hom}(X,X^X) = \text{Hom}(X,1) \sim 1$. Hence $f = π_1 \circ (f × g) = π_2 \circ (f×g) = g$. $\blacksquare$
(This is an old version of my answer, before I completed it.)
First of all note a somewhat tricky point: the condition (2) cannot be weakened to $\text{Hom}(X,X) = 1$. A counterexample can be found in the ccc of (directed multi)graphs $\text{Hom}((n \rightrightarrows e)^{\text{op}}, \text{Set})$.1 For let's define $G_1 \triangleq a → b$; this graph has only one homomorphism to itself, but nevertheless there are two different homomorphisms from the graph $G_2 \triangleq a$ to $G_1$.2 3
And, as the OP indicates, we can prove the direction $(1) \Rightarrow (2)$ by showing that $\text{Hom}(1,X)$ is either $\mathbf{1}$ or $\mathbf{0}$, so $\text{Hom}(X×1,X)$ has to be either $\mathbf{1}$ or $\mathbf{0}$, but we can rule out the $\mathbf{0}$ possibility by exhibiting an element in $X^X$: $\text{id} \in \text{Hom}(1×X,X)$ and so $\text{curry(id)} \in \text{Hom(1,$X^X$)}$, so $\text{Hom}(X,X)$ = $\mathbf{1}$ = $\text{Hom}(1,X^X)$. Thus $X^X$ is uniquely isomorphic to $1$.
Unfortunately it is not yet clear to me how to prove the question in the OP directly. I initially thought of doing a case-analysis proof, but clearly there is a large enough variety of objects $X$ such that $X → 1$ is a monomorphism that that approach doesn't seem at all practicable.
1 We know that this is cc because all categories of presheaves are cc. For more examples of such categories Reyes et al.'s Generic Figures is a very readable and interesting source.
2By the way $G_1$ and $G_2$ are the representable presheaves for the edge ($よ(e) = \text{Hom(-,e)}$) and for the node ($よ(n) = \text{Hom(-,n)}$), respectively, taken over the category $n \rightrightarrows e$ of which the graphs form a presheaf category.
3 And indeed we find that, even though $\text{Hom}(1,G_1^{G_1}) = 1$, $G_1^{G_1}$ is quite different from $1$: $\text{Hom}(1,G_1^{G_1}) = 1$ means that $G_1^{G_1}$ has exactly one loop, but it turns out to have four nodes and four edges, as shown below!
This is because the nodes of $B^A$ (for any graphs $A$ and $B$) correspond to the elements of $\text{Hom}(よ(n),B^A) = \text{Hom}(よ(n) × A,B)$, and likewise the edges of $B^A$ correspond to the elements of $\text{Hom}(よ(e),B^A) = \text{Hom}(よ(e) × A,B)$. The $\text{source}$ and $\text{target}$ mappings from edges to nodes are defined by the Yoneda embedding: $\text{source} = \text{Hom}(よ(s) × A,B)$, $\text{target} = \text{Hom}(よ(t) × A,B)$ where $s$ and $t$ are the morphisms in the source category $n \rightrightarrows e$.

0 comment threads