Mathematics Stack Exchange is a question and answer site for people studying math at any level and professionals in related fields. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

In NBG set theory, classes are in some sense generalizations of sets. When dealing with sets, we view set functions as specific subsets of a Cartesian product. Is the definition the same for functions from one class to another?

I don't see any problem generalizing the notion of Cartesian products of sets to products of classes. I am only hesitant because after some googling, I have failed to find anything mentioning Cartesian products of classes.

share|cite|improve this question

Even in ZFC there is no real problem to consider class functions. You need to remember that $f$ is a function if it is a set of ordered pairs, and for every $a\in Dom(f)$ there exists only a unique ordered pair $\langle a,b\rangle\in f$.

This is ultimately what the Replacement axiom schema comes to say (that the image of a function whose domain is a set, is also a set).

Consider the case of ZFC: a class is just a definable predicate. For example, we can use the power set axiom to define the following class: $$C=\{x\mid\exists y. x=P(y)\}$$ This is the class of "all power sets", for example $\{\varnothing\}\in C$, but $\{\{\{\varnothing\}\}\}$ is not in $C$.

Consider the following formula: $$\varphi(z)\iff z=\langle x,y\rangle\land y\in C\land x=P(y)$$ The formula $\varphi$ is true exactly when $z$ is the ordered pair $\langle x,P(x)\rangle$ for some $x\in V$.

Now we can consider the function $P = \{z\mid\varphi(z)\}$, that is $P$ is a function from $V$ into $C$ which gives every set its power set.

It is indeed a function, since every set has a unique power set (it is also injective, but as remarked above - not surjective).

In NBG this is even simpler since classes are actual objects, you just can't have them members of other classes. In here we can define $C\times D$ in the usual way, and declare a function is from a class $C$ into $D$ if its domain is $C$, it has the functionality property, and its range is in $D$.

share|cite|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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