Difference between ZFC & NBG

(In the following, NBG means NBG with AC, but the relation is the same between ZF and NBG without AC).

The sets of NBG are the same as those of ZFC, but NBG can also speak about proper classes, i.e., collections of sets that cannot be allowed to be sets themselves, such as the class of all sets, or the class of all ordinal numbers. In ZFC it is customary to speak about proper classes as a shorthand for particular logical formulas that characterize the sets in a class, but NBG has classes as full citizens of the first-order universe, so they can be quantified over, etc.

Letting proper classes be actual objects certainly provides a conceptual simplification of arguments that involve them. For example, one can handle large and small categories as special cases of one concept, instead of having to develop everything separately. One can also express properties that it is not even possible to speak about in ZFC, such as the existence (or not) of a universal choice function.

On the other hand, NBG is provably a conservative extension of ZFC: any sentence that doesn't quantify over proper classes is a theorem of NBG if and only if it is a theorem of ZFC. Thus, in particular they are equiconsistent.

The underlying reason for this is that NBG's versions of the comprehension and replacement axioms still don't allow the defining formula for the new set to quantify over classes, even though the language of NBG can express such quantification. This makes the availability of proper classes rather less of an advantage than one would think at first. There's a different set theory, Morse-Kelley theory that allows this, but it is strictly stronger than ZFC; IIRC it can prove the consistency of ZFC.

Another advantage of NBG for some purposes is that it is finitely axiomatizable, whereas ZFC (provably) isn't.

On the other hand it counts in ZFC's favor that most mathematical arguments don't need to speak about proper classes, so as a practical matter ZFC is arguably easier to teach because you don't need to speak about them at all; whereas an introduction to NBG has to include discussion of the difference between sets and classes, which has some potential to confuse.

Finally, models of ZFC have a simpler structure than models of NBG, which is a technical advantage when proving that this-or-that can't be proved in ZFC. So work about indepence proofs, forcing etc. tend to prefer ZFC as the basic theory. (The results then transfer to NBG by conservativity, of course).


As comments above have noted, the difference is that NBG adds the notion of class.

The main place that I've seen classes used is in set theoretic foundations for category theory. It's hard to do category theory in ZFC because you often want to deal with categories that are "too big" to be described with sets.

The disadvantage is that you are no longer dealing with a homogeneous system - there are two types of objects, sets and classes. Since you are dealing with two types, extra care must be taken to keep track of the types you are using - it is very easy to try to do things with classes that you are not allowed to do.

Both ZFC and NBG are built to handle the paradoxes that arise from talking naively about things like "the collection of all sets." ZFC simply says such things do not exist. NBG says that such a thing exists, but is not itself a set, just something that we can use in many ways like a set.