First let's spell out what it means to preserve the equivalence relation. I assume that it means that if $x\sim y$, then $f(x)\sim f(y)$.

**Monomorphisms**

Note that monomorphisms are preserved by right adjoint functors. Proof of the dual statement at stacks, currently Proposition 4.5.

Let $U:\newcommand\MSet{\mathbf{MSet}}\MSet \to \newcommand\Set{\mathbf{Set}}\Set$ be the forgetful functor, $U(S,\sim_S)=S$.

I claim that the functor $L:\Set\to \MSet$ defined by $LS = (S,=_S)$ is left-adjoint to $U$.

This is more or less immediate, since if $(T,\sim_T)\in \MSet$ (which by abuse of notation I will also call $T$), then any function $f:S\to T$ respects the equivalence relation on $LS$, so we have $$\newcommand\Hom{\operatorname{Hom}}\Hom_\Set(S,UT)=\Hom_\Set(S,T)\simeq\Hom_\MSet(LS,T).$$

Thus $U$ preserves monomorphisms. Hence if $f$ is a monomorphism in $\MSet$, it must be a monomorphism in $\Set$. Therefore all monomorphisms are injective.

It should also be fairly clear that if $f$ is an injective function that respects the equivalence relation, then it is going to be a monomorphism for the same reason that it is a monomorphism in $\Set$.

**Epimorphisms**

Similar to monomorphisms, surjective functions that respect the equivalence relation are epimorphisms in $\MSet$. To show that these are all of the epimorphisms it would be good if the forgetful functor had a right adjoint as well, and indeed it does.

Let $RS = (S,S\times S)$. Then just like with the left adjoint, all functions from a set with an equivalence relation to $RS$ respect the equivalence relations, so $$\Hom_\Set(US,T)\simeq \Hom_\MSet(S,RT).$$

**Edit**

The proofs given above can be rephrased in elementary language, and it's frankly a bit cleaner (probably because I thought these proofs out thoroughly before writing them this time).

**The elementary proof:**

*Proof.*

First, as above, injective and surjective functions that respect the equivalence relation are still monomorphisms and epimorphisms respectively, so we just need to prove that monomorphisms (epimorphisms) are injective (surjective).

Let $f:(S,\sim_S)\to (T,\sim_T)$ be a monomorphism. We'll prove that $f$ is a monomorphism in $\Set$. Suppose that we have a set $A$ and arrows $a,b : A\to S$ such that $f\circ a = f\circ b$. Then $a$ and $b$ induce morphisms $a,b:(A,=_A)\to (S,\sim_S)$. Thus $f\circ a=f\circ b$ as morphisms $(A,=_A)\to (T,\sim_T)$ in $\MSet$. Then since $f$ is a monomorphism in $\MSet$, $a=b$ as morphisms in $\MSet$, which means that $a=b$ as functions. Thus $f$ is a monomorphism in $\Set$.

The proof when $f$ is an epimorphism is symmetric, but we now have parallel functions $a,b : T\to A$, and they induce morphisms $(T,\sim_T)\to (A,A\times A)$ this time. $\quad\blacksquare$

There's a standard trick using the Yoneda lemma for computing what universal objects in (restricted) functor categories must be *if they exist*. In the case of the subobject classifier, this is explained on p. 37 of *Sheaves in Geometry and Logic*.

Specifically, suppose that $\Omega\colon \mathbf{N}\to \mathbf{FinSets}$ is a subobject classifier in $\mathbf{FinSets}^\mathbf{N}$. Let's try to find out what finite set $\Omega(0)$ is. Since $\mathbf{FinSets}^\mathbf{N}$ is a full subcategory of $\mathbf{Sets}^\mathbf{N}$, by Yoneda we have $$\Omega(0) \cong \text{Hom}_{\mathbf{Sets}^\mathbf{N}}(h^0,\Omega) = \text{Hom}_{\mathbf{FinSets}^\mathbf{N}}(h^0,\Omega) \cong \text{Sub}(h^0),$$ where $h^0$ is the functor $\text{Hom}_{\mathbf{N}}(0,-)$. But now $h^0$ has infinitely many subobjects, but $\Omega(0)$ is a finite set, and this is a contradiction.

To see that $h^0$ has infinitely many subobjects, just note that since $0$ is the initial object in $\mathbf{N}$, $h^0(n)$ is a singleton $\{*\}$ for all $n$. Incidentally, this makes $h^0$ isomorphic to the terminal object $1$ - your guess about the identity of terminal object is correct.

Now for each natural number $n$ (or $n = \infty$), there is a distinct subobject of $h^0$, given by $$m\mapsto \begin{cases} \varnothing & \text{if }m<n\\ \{*\} & \text{if }m\geq n.\end{cases}$$

## Best Answer

You aren't trying to prove anything for all objects $X.$ You're trying to prove that $\phi(a_1)\ne \phi(a_2)$ when $a_1\ne a_2,$ using the

assumptionthat for all objects $X$ and all functions $x,y:X\to A,$ $\phi\circ x=\phi\circ y\implies x=y.$ In particular, this assumption holds when $X=\{e\},$ which is all that is needed for the result. The converse of your theorem is thus the harder direction.