Is it possible in NBG (von Neumann-Bernays-Gödel set theory) to construct the class of all functions $X \to Y$ between two (proper) classes $X,Y$? I guess that this does not work. In the special case $Y=\{0,1\}$ we would get the class of all subclasses of $X$, which does not exist. Can someone confirm this?
2 Answers
As far as I remember GBN, you cannot, because any function whose domain is a proper class is not a set.
Indeed, let $f:X\rightarrow Y$ a function (hence a subclass of $X\times Y$ satisfying certain requirements). Consider the map $\pi^X:X\times Y\rightarrow X$ that sends $(x,y)\mapsto x$. This is a function between classes.
Now, suppose $f$ is a set.
$\pi^X|f:f\rightarrow X$ is a surjective function. But the image of a set through a function is a set (see here "Limitation of size").
Added
Your proof seems to work too.
Strictly speaking, there is no "class of functions between classes" because any member of a class is a set. That's all there is to it.
However, the above does not answer the question of whether the (meta)category $\mathbf{Cls}$ of classes in NBG forms a cartesian closed category – all it shows is that the obvious candidate does not work. Instead, we make the following observations:
- $\mathbf{Cls}$ has finite limits: finite products are not a problem, and the formation of equalisers does not require quantification over classes.
- $\mathbf{Cls}$ has a subobject classifier: you can check that $\{ 0, 1 \}$ does the job.
- There is an object $V$ in $\mathbf{Cls}$ such that every object $X$ in $\mathbf{Cls}$ admits a monomorphism $X \to V$.
Thus we may apply an argument of McLarty to deduce that $\mathbf{Cls}$ is not topos, hence not cartesian closed.