Lemma 5.10.

Let \(T\) be a topos, and let \(f\colon X \to Y\) be a morphism in \(T_{\leq 0}\) which is both an epimorphism and a monomorphism. Then \(f\) is an isomorphism.

Proof
Since \(f\) is a monomorphism, it is contained in \((T_{/Y})_{\leq -1}\). The fact that it is an epimorphism in \(T_{\leq 0}\) means that the map \(\tau_0(Y \sqcup_X Y) \to Y\) induced by the codiagonal is an isomorphism. This \(0\)-truncation is a priori computed in \(T\), but since \(Y\) is \(0\)-truncated it may as well be computed in \(T_{/Y}\), so that the map \(f \colon X \to Y\) is also an epimorphism in \((T_{/Y})_{\leq 0}\). This reduces the claim to \(Y = *\).In this case, the map \(f\colon X \to *\) to the terminal object is a monomorphism. By definition of the subobject classifier \(\Omega\) from Definition 2.50, this means that there is a pullback square in \(T\) of the following form:
Commutative diagram generated from the LaTeX source
Recall from Lemma 2.51 that \(\Omega\) is 0-truncated, hence this is a pullback square in \(T_{\leq 0}\). Since \(f\) is assumed to be an epimorphism in \(T_{\leq 0}\), it follows that the bottom map \(g\) must agree with the universal monomorphism \(* \hookrightarrow \Omega\). But then \(X\) is the pullback of the map \(* \hookrightarrow \Omega\) along itself, which implies that \(X \iso *\). This finishes the proof.