In general, not all functors preserve products. But my question is, is it at least true that all functors from Set to Set preserve products?

If not, does anyone know of a counterexample?

  • $\begingroup$ By "product", do you mean Cartesian product? $\endgroup$ Feb 27, 2019 at 17:18

2 Answers 2


There are a lot of counterexamples, actually.

For example, if $S$ is has more than two elements, then the functor that map every set to $S$ and every function to the identity of $S$ does not preserve products, since the two projections $S\times S\to S$ are not equal.

The functor $X\mapsto S\times X$ does not preserve products either, because the function $$S\times X\times Y\to S\times X\times S\times Y:(s,x,y)\mapsto (s,x,s,y)$$ is never surjective.


If you consider the powerset functor $\mathcal{P}$, which takes any $A$ to its powerset $\mathcal{P}A$, and any function $f : A \to B$ to the function $\mathcal{P}f : \mathcal{P}A \to \mathcal{P}B$, defined by the direct image, for $X\subset A$, $(\mathcal{P}f)(X) = f(X) \subset B$. This defines a functor from Set to Set.

Now you can check that this functor doesn't preserve products, since, for instance you have : $\mathcal{P}\{0\} = \{\emptyset,\{0\}\}$, so taking any non-empty finite set $A$, you have $\mathcal{P}(A\times\{0\}) = \mathcal{P}(A) \neq \mathcal{P}(A)\times\mathcal{P}(\{0\})$. You can check that they are indeed different by looking at their cardinal : $|\mathcal{P}(A)\times\mathcal{P}(\{0\})| = 2 |\mathcal{P}(A)| $


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.