On nlab https://ncatlab.org/nlab/show/terminal+category, it is stated that a category is terminal in the 2-category sense precisely when it is inhabited and indiscrete. I wanted to try to prove this for myself, and I have got most of the way through, but can't quite finish it.
In particular, if we suppose that $C$ is equivalent to the terminal category, then it is easy to see that $C$ is inhabited, and not too hard for me to prove that every object in $C$ is isomorphic. However, I am having more trouble proving that the isomorphism between any two objects is unique. In fact, I don't really see why it isn't sufficient for $C$ to be an inhabited category for which every object has a unique endomorphism (the identity), and for each pair of objects A, B in C, C(A, B) is not empty.
Indeed, suppose that $C$ is an inhabited groupoid and that $*$ is an object in $C$. Define a functor $F: C \to 1$ in the only available way, and a functor $G: 1 \to C$ by $G(\bullet) = *$ and $G(\text{id}_\bullet) = \text{id}_*$. Since the unique functor $1 \to 1$ is the identity, we have $F \circ G = \text{id}_1$, which obviously implies that $F \circ G \cong \text{id}_1$.
On the other hand, to show that $G \circ F \cong \text{id}_C$, take natural transformations
- $\alpha: G \circ F \to \text{id}_C$ to be defined by any morphism $\alpha_A : * \to A$ for each $A$
- $\beta: \text{id}_C \to G \circ F$ to be defined by any morphism $\beta_A : A \to *$ for each $A$
Then since $\alpha_A \circ \beta_A = \text{id}_{A} = (\text{id}_{\text{id}_C})_A$ and $\beta_A \circ \alpha_A = \text{id}_* = (\text{id}_{G \circ F})_A$, we have $G \circ F \cong \text{id}_C$.
Can anyone see if there is an issue with this proof, or if these conditions on a category are in fact sufficient to prove that it is indiscrete?