# Von Neumann–Bernays–Gödel set theory

In the foundations of mathematics, von Neumann–Bernays–Gödel set theory (NBG) is an axiomatic set theory that is a conservative extension of Zermelo–Fraenkel set theory (ZFC). NBG introduces the notion of class, which is a collection of sets defined by a formula whose quantifiers range only over sets. NBG can define classes that are larger than sets, such as the class of all sets and the class of all ordinals. Morse–Kelley set theory (MK) allows classes to be defined by formulas whose quantifiers range over classes. NBG is finitely axiomatizable, while ZFC and MK are not.

A key theorem of NBG is the class existence theorem, which states that for every formula whose quantifiers range only over sets, there is a class consisting of the sets satisfying the formula. This class is built by mirroring the step-by-step construction of the formula with classes. Since all set-theoretic formulas are constructed from two kinds of atomic formulas (membership and equality) and finitely many logical symbols, only finitely many axioms are needed to build the classes satisfying them. This is why NBG is finitely axiomatizable. Classes are also used for other constructions, for handling the set-theoretic paradoxes, and for stating the axiom of global choice, which is stronger than ZFC's axiom of choice.

John von Neumann introduced classes into set theory in 1925. The primitive notions of his theory were function and argument. Using these notions, he defined class and set.[1] Paul Bernays reformulated von Neumann's theory by taking class and set as primitive notions.[2] Kurt Gödel simplified Bernays' theory for his relative consistency proof of the axiom of choice and the generalized continuum hypothesis.[3]

## Classes in set theory

### The uses of classes

Classes have several uses in NBG:

• They produce a finite axiomatization of set theory.[4]
• They are used to state a "very strong form of the axiom of choice"[5]—namely, the axiom of global choice: There exists a global choice function ${\displaystyle G}$ defined on the class of all nonempty sets such that ${\displaystyle G(x)\in x}$ for every nonempty set ${\displaystyle x.}$ This is stronger than ZFC's axiom of choice: For every set ${\displaystyle s}$ of nonempty sets, there exists a choice function ${\displaystyle f}$ defined on ${\displaystyle s}$ such that ${\displaystyle f(x)\in x}$ for all ${\displaystyle x\in s.}$[6]
• The set-theoretic paradoxes are handled by recognizing that some classes cannot be sets. For example, assume that the class ${\displaystyle Ord}$ of all ordinals is a set. Then ${\displaystyle Ord}$ is a transitive set well-ordered by ${\displaystyle \in }$. So, by definition, ${\displaystyle Ord}$ is an ordinal. Hence, ${\displaystyle Ord\in Ord}$, which contradicts ${\displaystyle \in }$ being a well-ordering of ${\displaystyle Ord.}$ Therefore, ${\displaystyle Ord}$ is not a set. Because a class that is not a set is called a proper class, ${\displaystyle Ord}$ is a proper class.[7]
• Proper classes are useful in constructions. In his proof of the relative consistency of the axiom of global choice and the generalized continuum hypothesis, Gödel used proper classes to build the constructible universe. He constructed a function on the class of all ordinals that, for each ordinal, builds a constructible set by applying a set-building operation to previously constructed sets. The constructible universe is the image of this function.[8]

### Axiom schema versus class existence theorem

Once classes are added to the language of ZFC, it is easy to transform ZFC into a set theory with classes. First, the axiom schema of class comprehension is added. This axiom schema states: For every formula ${\displaystyle \phi (x_{1},\ldots ,x_{n})}$ that quantifies only over sets, there exists a class ${\displaystyle A}$ consisting of the ${\displaystyle n}$-tuples satisfying the formula—that is, ${\displaystyle \forall x_{1}\cdots \,\forall x_{n}[(x_{1},\ldots ,x_{n})\in A\iff \phi (x_{1},\ldots ,x_{n})].}$ Then the axiom schema of replacement is replaced by a single axiom that uses a class. Finally, ZFC's axiom of extensionality is modified to handle classes: If two classes have the same elements, then they are identical. The other axioms of ZFC are not modified.[9]

This theory is not finitely axiomatized. ZFC's replacement schema has been replaced by a single axiom, but the axiom schema of class comprehension has been introduced.

To produce a theory with finitely many axioms, the axiom schema of class comprehension is first replaced with finitely many class existence axioms. Then these axioms are used to prove the class existence theorem which implies every instance of the axiom schema.[9] The proof of this theorem requires only seven class existence axioms, which are used to convert the construction of a formula into the construction of a class satisfying the formula.

## Axiomatization of NBG

### Classes and sets

NBG has two types of objects: classes and sets. Intuitively, every set is also a class. There are two ways to axiomatize this. Bernays used many-sorted logic with two sorts: classes and sets.[2] Gödel avoided sorts by introducing primitive predicates: ${\displaystyle {\mathfrak {Cls}}(A)}$ for "${\displaystyle A}$ is a class" and ${\displaystyle {\mathfrak {M}}(A)}$ for "${\displaystyle A}$ is a set" (in German, "set" is Menge). He also introduced axioms stating that every set is a class and that if class ${\displaystyle A}$ is a member of a class, then ${\displaystyle A}$ is a set.[10] Using predicates is the standard way to eliminate sorts. Elliott Mendelson modified Gödel's approach by having everything be a class and defining the set predicate ${\displaystyle M(A)}$ as ${\displaystyle \exists C(A\in C).}$[11] This modification eliminates Gödel's class predicate and his two axioms.

Bernays' two-sorted approach may appear more natural at first, but it creates a more complex theory.[lower-alpha 1] In Bernays' theory, every set has two representations: one as a set and the other as a class. Also, there are two membership relations: the first, denoted by "∈", is between two sets; the second, denoted by "η", is between a set and a class.[2] This redundancy is required by many-sorted logic because variables of different sorts range over disjoint subdomains of the domain of discourse.

The differences between these two approaches does not affect what can be proved, but it does affect how statements are written. In Gödel's approach, ${\displaystyle A\in C}$ where ${\displaystyle A}$ and ${\displaystyle C}$ are classes is a valid statement. In Bernays' approach this statement has no meaning. However, if ${\displaystyle A}$ is a set, there is an equivalent statement: Define "set ${\displaystyle a}$ represents class ${\displaystyle A}$" if they have the same sets as members—that is, ${\displaystyle \forall x(x\in a\iff x\;\eta \;A).}$ The statement ${\displaystyle a\;\eta \;C}$ where set ${\displaystyle a}$ represents class ${\displaystyle A}$ is equivalent to Gödel's ${\displaystyle A\in C.}$[2]

The approach adopted in this article is that of Gödel with Mendelson's modification. This means that NBG is an axiomatic system in first-order predicate logic with equality, and its only primitive notions are class and the membership relation.

### Definitions and axioms of extensionality and pairing

A set is a class that belongs to at least one class: ${\displaystyle A}$ is a set if and only if ${\displaystyle \exists C(A\in C)}$. A class that is not a set is called a proper class: ${\displaystyle A}$ is a proper class if and only if ${\displaystyle \forall C(A\notin C)}$.[12] Therefore, every class is either a set or a proper class, and no class is both (if the theory is consistent).

Gödel introduced the convention that uppercase variables range over classes, while lowercase variables range over sets.[10] Gödel also used names that begin with an uppercase letter to denote particular classes, including functions and relations defined on the class of all sets. Gödel's convention is used in this article. It allows us to write:

• ${\displaystyle \exists x\,\phi (x)}$ instead of ${\displaystyle \exists x{\bigl (}\exists C(x\in C)\land \phi (x){\bigr )}}$
• ${\displaystyle \forall x\,\phi (x)}$ instead of ${\displaystyle \forall x{\bigl (}\exists C(x\in C)\implies \phi (x){\bigr )}}$

The following axioms and definitions are needed for the proof of the class existence theorem.

Axiom of extensionality. If two classes have the same elements, then they are identical.

${\displaystyle \forall A\,\forall B\,[\forall x(x\in A\iff x\in B)\implies A=B]}$[13]

This axiom generalizes ZFC's axiom of extensionality to classes.

Axiom of pairing. If ${\displaystyle x}$ and ${\displaystyle y}$ are sets, then there exists a set ${\displaystyle p}$ whose only members are ${\displaystyle x}$ and ${\displaystyle y}$.

${\displaystyle \forall x\,\forall y\,\exists p\,\forall z\,[z\in p\iff (z=x\,\lor \,z=y)]}$[14]

As in ZFC, the axiom of extensionality implies the uniqueness of the set ${\displaystyle p}$, which allows us to introduce the notation ${\displaystyle \{x,y\}.}$

Ordered pairs are defined by:

${\displaystyle (x,y)=\{\{x\},\{x,y\}\}}$

Tuples are defined inductively using ordered pairs:

${\displaystyle (x_{1})=x_{1}}$
${\displaystyle {\text{For }}n>1\!:(x_{1},\ldots ,x_{n-1},x_{n})=((x_{1},\ldots ,x_{n-1}),x_{n})}$[lower-alpha 2]

### Class existence axioms and axiom of regularity

Class existence axioms will be used to prove the class existence theorem: For every formula in ${\displaystyle n}$ free set variables that quantifies only over sets, there exists a class of ${\displaystyle n}$-tuples that satisfy it. The following example starts with two classes that are functions and builds a composite function. This example illustrates the techniques that are needed to prove the class existence theorem, which lead to the class existence axioms that are needed.

 Example 1:  If the classes ${\displaystyle F}$ and ${\displaystyle G}$ are functions, then the composite function ${\displaystyle G\circ F}$ is defined by the formula: ${\displaystyle \exists t[(x,t)\in F\,\land \,(t,y)\in G].}$ Since this formula has two free set variables, ${\displaystyle x}$ and ${\displaystyle y,}$ the class existence theorem constructs the class of ordered pairs: ${\displaystyle G\circ F\,=\,\{(x,y):\exists t[(x,t)\in F\,\land \,(t,y)\in G]\}.}$ Because this formula is built from simpler formulas using conjunction ${\displaystyle \land }$ and existential quantification ${\displaystyle \exists }$, class operations are needed that take classes representing the simpler formulas and produce classes representing the formulas with ${\displaystyle \land }$ and ${\displaystyle \exists }$. To produce a class representing a formula with ${\displaystyle \land }$, intersection used since ${\displaystyle x\in A\cap B\iff x\in A\land x\in B.}$ To produce a class representing a formula with ${\displaystyle \exists }$, the domain is used since ${\displaystyle x\in Dom(A)\iff \exists t[(x,t)\in A].}$ Before taking the intersection, the tuples in ${\displaystyle F}$ and ${\displaystyle G}$ need an extra component so they have the same variables. The component ${\displaystyle y}$ is added to the tuples of ${\displaystyle F}$ and ${\displaystyle x}$ is added to the tuples of ${\displaystyle G}$: ${\displaystyle F'=\{(x,t,y):(x,t)\in F\}\,}$ and ${\displaystyle \,G'=\{(t,y,x):(t,y)\in G\}}$ In the definition of ${\displaystyle F',}$ the variable ${\displaystyle y}$ is not restricted by the statement ${\displaystyle (x,t)\in F,}$ so ${\displaystyle y}$ ranges over the class ${\displaystyle V}$ of all sets. Similarly, in the definition of ${\displaystyle G',}$ the variable ${\displaystyle x}$ ranges over ${\displaystyle V.}$ So an axiom is needed that adds an extra component (whose values range over ${\displaystyle V}$) to the tuples of a given class. Next, the variables are put in the same order to prepare for the intersection: ${\displaystyle F''=\{(x,y,t):(x,t)\in F\}\,}$ and ${\displaystyle \,G''=\{(x,y,t):(t,y)\in G\}}$ To go from ${\displaystyle F'}$ to ${\displaystyle F''}$ and from ${\displaystyle G'}$ to ${\displaystyle G''}$ requires two different permutations, so axioms that support permutations of tuple components are needed. The intersection of ${\displaystyle F''}$ and ${\displaystyle G''}$ handles ${\displaystyle \land }$: ${\displaystyle F''\cap G''=\{(x,y,t):(x,t)\in F\,\land \,(y,t)\in G\}}$ Since ${\displaystyle (x,y,t)}$ is defined as ${\displaystyle ((x,y),t)}$, taking the domain of ${\displaystyle F''\cap G''}$ handles ${\displaystyle \exists t}$ and produces the composite function: ${\displaystyle G\circ F=Dom(F''\cap G'')=\{(x,y):\exists t((x,t)\in F\,\land \,(t,y)\in G)\}}$ So axioms of intersection and domain are needed.

The class existence axioms are divided into two groups: axioms handling language primitives and axioms handling tuples. There are four axioms in the first group and three axioms in the second group.[lower-alpha 3]

Axioms for handling language primitives:

Membership. There exists a class ${\displaystyle E}$ containing all the ordered pairs whose first component is a member of the second component.

${\displaystyle \exists E\,\forall x\,\forall y\,[(x,y)\in E\iff x\in y]}$[15]

Intersection (conjunction). For any two classes ${\displaystyle A}$ and ${\displaystyle B}$, there is a class ${\displaystyle C}$ consisting precisely of the sets that belong to both ${\displaystyle A}$ and ${\displaystyle B}$.

${\displaystyle \forall A\,\forall B\,\exists C\,\forall x\,[x\in C\iff (x\in A\,\land \,x\in B)]}$[16]

Complement (negation). For any class ${\displaystyle A}$, there is a class ${\displaystyle B}$ consisting precisely of the sets not belonging to ${\displaystyle A}$.

${\displaystyle \forall A\,\exists B\,\forall x\,[x\in B\iff \neg (x\in A)]}$[17]

Domain (existential quantifier). For any class ${\displaystyle A}$, there is a class ${\displaystyle B}$ consisting precisely of the first components of the ordered pairs of ${\displaystyle A}$.

${\displaystyle \forall A\,\exists B\,\forall x\,[x\in B\iff \exists y((x,y)\in A)]}$[18]

By the axiom of extensionality, class ${\displaystyle C}$ in the intersection axiom and class ${\displaystyle B}$ in the complement and domain axioms are unique. They will be denoted by: ${\displaystyle A\cap B,}$ ${\displaystyle \complement A,}$ and ${\displaystyle Dom(A),}$ respectively.[lower-alpha 4] On the other hand, extensionality is not applicable to ${\displaystyle E}$ in the membership axiom since it specifies only those sets in ${\displaystyle E}$ that are ordered pairs.

The first three axioms imply the existence of the empty class and the class of all sets: The membership axiom implies the existence of a class ${\displaystyle E.}$ The intersection and complement axioms imply the existence of ${\displaystyle E\cap \complement E}$, which is empty. By the axiom of extensionality, this class is unique; it is denoted by ${\displaystyle \emptyset .}$ The complement of ${\displaystyle \emptyset }$ is the class ${\displaystyle V}$ of all sets, which is also unique by extensionality. The set predicate ${\displaystyle M(A)}$, which was defined as ${\displaystyle \exists C(A\in C)}$, is now redefined as ${\displaystyle A\in V}$ to avoid quantifying over classes.

Axioms for handling tuples:

Product by ${\displaystyle V}$. For any class ${\displaystyle A}$, there is a class ${\displaystyle B}$ consisting of the ordered pairs whose first component belongs to ${\displaystyle A}$.

${\displaystyle \forall A\,\exists B\,\forall u\,[u\in B\iff \exists x\,\exists y\,(u=(x,y)\land x\in A)]}$[19]

Circular permutation. For any class ${\displaystyle A}$, there is a class ${\displaystyle B}$ whose 3tuples are obtained by applying the circular permutation ${\displaystyle (y,z,x)\mapsto (x,y,z)}$ to the 3tuples of ${\displaystyle A}$.

${\displaystyle \forall A\,\exists B\,\forall x\,\forall y\,\forall z\,[(x,y,z)\in B\iff (y,z,x)\in A]}$[20]

Transposition. For any class ${\displaystyle A}$, there is a class ${\displaystyle B}$ whose 3tuples are obtained by transposing the last two components of the 3tuples of ${\displaystyle A}$.

${\displaystyle \forall A\,\exists B\,\forall x\,\forall y\,\forall z\,[(x,y,z)\in B\iff (x,z,y)\in A]}$[21]

By extensionality, the product by ${\displaystyle V}$ axiom implies the existence of a unique class, which is denoted by ${\displaystyle A\times V.}$ This axiom is used to define the class ${\displaystyle V^{n}}$ of all ${\displaystyle n}$-tuples: ${\displaystyle V^{1}=V}$ and ${\displaystyle V^{n+1}=V^{n}\times V.\,}$ If ${\displaystyle A}$ is a class, extensionality implies that ${\displaystyle A\cap V^{n}}$ is the unique class consisting of the ${\displaystyle n}$-tuples of ${\displaystyle A.}$ For example, the membership axiom produces a class ${\displaystyle E}$ that may contain elements that are not ordered pairs, while the intersection ${\displaystyle E\cap V^{2}}$ contains only the ordered pairs of ${\displaystyle E}$.

The circular permutation and transposition axioms do not imply the existence of unique classes because they specify only the 3tuples of class ${\displaystyle B.}$ By specifying the 3tuples, these axioms also specify the ${\displaystyle n}$-tuples for ${\displaystyle n\geq 4}$ since: ${\displaystyle (x_{1},\ldots ,x_{n-2},x_{n-1},x_{n})=((x_{1},\ldots ,x_{n-2}),x_{n-1},x_{n}).}$ The axioms for handling tuples and the domain axiom imply the following lemma, which is used in the proof of the class existence theorem.

Tuple lemma.

1. ${\displaystyle \,\forall A\,\exists B_{1}\,\forall x\,\forall y\,\forall z\,[(z,x,y)\in B_{1}\iff (x,y)\in A]}$
2. ${\displaystyle \,\forall A\,\exists B_{2}\,\forall x\,\forall y\,\forall z\,[(x,z,y)\in B_{2}\iff (x,y)\in A]}$
3. ${\displaystyle \,\forall A\,\exists B_{3}\,\forall x\,\forall y\,\forall z\,[(x,y,z)\in B_{3}\iff (x,y)\in A]}$
4. ${\displaystyle \,\forall A\,\exists B_{4}\,\forall x\,\forall y\,\forall z\,[(y,x)\in B_{4}\iff (x,y)\in A]}$

Proof:Class ${\displaystyle B_{3}}$: Apply product by ${\displaystyle V}$ to ${\displaystyle A}$ to produce ${\displaystyle B_{3}.}$
Class ${\displaystyle B_{2}}$: Apply transposition to ${\displaystyle B_{3}}$ to produce ${\displaystyle B_{2}.}$
Class ${\displaystyle B_{1}}$: Apply circular permutation to ${\displaystyle B_{3}}$ to produce ${\displaystyle B_{1}.}$
Class ${\displaystyle B_{4}}$: Apply circular permutation to ${\displaystyle B_{2}}$, then apply domain to produce ${\displaystyle B_{4}.}$

One more axiom is needed to prove the class existence theorem: the axiom of regularity. Since the existence of the empty class has been proved, the usual statement of this axiom is given.[lower-alpha 5]

Axiom of regularity. Every nonempty set has at least one element with which it has no element in common.

${\displaystyle \forall a\,[a\neq \emptyset \implies \exists u(u\in a\land u\cap a=\emptyset )].}$

This axiom implies that a set cannot belong to itself: Assume that ${\displaystyle x\in x}$ and let ${\displaystyle a=\{x\}.}$ Then ${\displaystyle x\cap a\neq \emptyset }$ since ${\displaystyle x\in x\cap a.}$ This contradicts the axiom of regularity because ${\displaystyle x}$ is the only element in ${\displaystyle a.}$ Therefore, ${\displaystyle x\notin x.}$ The axiom of regularity also prohibits infinite descending membership sequences: ${\displaystyle \;\;\cdots \in x_{n+1}\in x_{n}\in \cdots \in x_{1}\in x_{0}.}$

Gödel stated regularity for classes rather than for sets in his 1940 monograph, which was based on lectures given in 1938.[22] In 1939, he proved that regularity for sets implies regularity for classes.[23]

### Class existence theorem

Class existence theorem. Let ${\displaystyle \phi (x_{1},\dots ,x_{n},Y_{1},\dots ,Y_{m})}$ be a formula that quantifies only over sets and contains no free variables other than ${\displaystyle x_{1},\dots ,x_{n},Y_{1},\dots ,Y_{m}}$ (not necessarily all of these). Then for all ${\displaystyle Y_{1},\dots ,Y_{m}}$, there exists a unique class ${\displaystyle A}$ of ${\displaystyle n}$-tuples such that: ${\displaystyle \forall x_{1}\cdots \,\forall x_{n}[(x_{1},\dots ,x_{n})\in A\iff \phi (x_{1},\dots ,x_{n},Y_{1},\dots ,Y_{m})].}$ The class ${\displaystyle A}$ is denoted by ${\displaystyle \{(x_{1},\dots ,x_{n}):\phi (x_{1},\dots ,x_{n},Y_{1},\dots ,Y_{m})\}.}$[lower-alpha 6]

The theorem's proof will be done in two steps:

1. Transformation rules are used to transform the given formula ${\displaystyle \phi }$ into an equivalent formula that simplifies the inductive part of the proof. For example, the only logical symbols in the transformed formula are ${\displaystyle \neg }$, ${\displaystyle \land }$, and ${\displaystyle \exists }$, so the induction handles logical symbols with just three cases.
2. The class existence theorem is proved inductively for transformed formulas. Guided by the structure of the transformed formula, the class existence axioms are used to produce the unique class of ${\displaystyle n}$-tuples satisfying the formula.

Transformation rules. In rules 1 and 2, ${\displaystyle \Delta }$ and ${\displaystyle \Gamma }$ denote set or class variables. These two rules eliminate all occurrences of class variables before an ${\displaystyle \in }$ and all occurrences of equality. Each time rule 1 or 2 is applied to a subformula, ${\displaystyle i}$ is chosen so that ${\displaystyle z_{i}}$ differs from the other variables in the current formula. The three rules are repeated until there are no subformulas to which they can be applied. This produces a formula that is built only with ${\displaystyle \neg }$, ${\displaystyle \land }$, ${\displaystyle \exists }$, ${\displaystyle \in }$, set variables, and class variables ${\displaystyle Y_{k}}$ where ${\displaystyle Y_{k}}$ does not appear before an ${\displaystyle \in }$.

1. ${\displaystyle \,Y_{k}\in \Gamma }$ is transformed into ${\displaystyle \exists z_{i}(z_{i}=Y_{k}\,\land \,z_{i}\in \Gamma ).}$
2. Extensionality is used to transform ${\displaystyle \Delta =\Gamma }$ into ${\displaystyle \forall z_{i}(z_{i}\in \Delta \iff z_{i}\in \Gamma ).}$
3. Logical identities are used to transform subformulas containing ${\displaystyle \lor ,\implies ,\iff ,}$ and ${\displaystyle \forall }$ to subformulas that only use ${\displaystyle \neg ,\land ,}$ and ${\displaystyle \exists .}$

Transformation rules: bound variables. Consider the composite function formula of example 1 with its free set variables replaced by ${\displaystyle x_{1}}$ and ${\displaystyle x_{2}}$: ${\displaystyle \exists t[(x_{1},t)\in F\,\land \,(t,x_{2})\in G].}$ The inductive proof will remove ${\displaystyle \exists t}$, which produces the formula ${\displaystyle (x_{1},t)\in F\land (t,x_{2})\in G.}$ However, since the class existence theorem is stated for subscripted variables, this formula does not have the form expected by the induction hypothesis. This problem is solved by replacing the variable ${\displaystyle t}$ with ${\displaystyle x_{3}.}$ Bound variables within nested quantifiers are handled by increasing the subscript by one for each successive quantifier. This leads to rule 4, which must be applied after the other rules since rules 1 and 2 produce quantified variables.

1. If a formula contains no free set variables other than ${\displaystyle x_{1},\dots ,x_{n},}$ then bound variables that are nested within ${\displaystyle q}$ quantifiers are replaced with ${\displaystyle x_{n+q}}$. These variables have (quantifier) nesting depth ${\displaystyle q}$.

 Example 2:  Rule 4 is applied to the formula ${\displaystyle \phi (x_{1})}$ that defines the class consisting of all sets of the form ${\displaystyle \{\emptyset ,\{\emptyset ,\dots \},\dots \}.}$ That is, sets that contain at least ${\displaystyle \emptyset }$ and a set containing ${\displaystyle \emptyset }$ — for example, ${\displaystyle \{\emptyset ,\{\emptyset ,a,b,c\},d,e\}}$ where ${\displaystyle a,b,c,d,}$ and ${\displaystyle e}$ are sets. {\displaystyle {\begin{aligned}\phi (x_{1})\,&=\,\exists u\;\,[\,u\in x_{1}\,\land \,\neg \exists v\;\,(\;v\,\in \,u\,)]\,\land \,\,\exists w\;{\bigl (}w\in x_{1}\,\land \,\exists y\;\,[(\;y\,\in w\;\land \;\neg \exists z\;\,(\;z\,\in \,y\,)]{\bigr )}\\\phi _{r}(x_{1})\,&=\,\exists x_{2}[x_{2}\!\in \!x_{1}\,\land \,\neg \exists x_{3}(x_{3}\!\in \!x_{2})]\,\land \,\,\exists x_{2}{\bigl (}x_{2}\!\in \!x_{1}\,\land \,\exists x_{3}[(x_{3}\!\in \!x_{2}\,\land \,\neg \exists x_{4}(x_{4}\!\in \!x_{3})]{\bigr )}\end{aligned}}} Since ${\displaystyle x_{1}}$ is the only free variable, ${\displaystyle n=1.}$ The quantified variable ${\displaystyle x_{3}}$ appears twice in ${\displaystyle x_{3}\in x_{2}}$ at nesting depth 2. Its subscript is 3 because ${\displaystyle n+q=1+2=3.}$ If two quantifier scopes are at the same nesting depth, they are either identical or disjoint. The two occurrences of ${\displaystyle x_{3}}$ are in disjoint quantifier scopes, so they do not interact with each other.

Proof of the class existence theorem. The proof starts by applying the transformation rules to the given formula to produce a transformed formula. Since this formula is equivalent to the given formula, the proof is completed by proving the class existence theorem for transformed formulas.

Gödel pointed out that the class existence theorem "is a metatheorem, that is, a theorem about the system [NBG], not in the system …"[24] It is a theorem about NBG because it is proved in the metatheory by induction on NBG formulas. Also, its proof—instead of invoking finitely many NBG axioms—inductively describes how to use NBG axioms to construct a class satisfying a given formula. For every formula, this description can be turned into a constructive existence proof that is in NBG. Therefore, this metatheorem can generate the NBG proofs that replace uses of NBG's class existence theorem.

A recursive computer program succinctly captures the construction of a class from a given formula. The definition of this program does not depend on the proof of the class existence theorem. However, this proof is needed to prove that the class constructed by the program satisfies the given formula and is built using the axioms. This program is written in pseudocode that uses a Pascal-style case statement.[lower-alpha 8]

${\displaystyle \mathbf {function} \;{\text{Class}}(\phi ,\,n)}$
{\displaystyle {\begin{aligned}\mathbf {input} \!:\;\,&\phi {\text{ is a transformed formula of the form }}\phi (x_{1},\ldots ,x_{n},Y_{1},\ldots ,Y_{m});\\&n{\text{ specifies that a class of }}n{\text{-tuples is returned.}}\\\;\;\;\;\mathbf {output} \!:\;\,&{\text{class }}A{\text{ of }}n{\text{-tuples satisfying }}\\&\,\forall x_{1}\cdots \,\forall x_{n}[(x_{1},\ldots ,x_{n})\in A\iff \phi (x_{1},\ldots ,x_{n},Y_{1},\ldots ,Y_{m})].\end{aligned}}}

${\displaystyle \mathbf {begin} }$

${\displaystyle \mathbf {case} \;\phi \;\mathbf {of} }$
{\displaystyle {\begin{alignedat}{2}x_{i}\in x_{j}:\;\;&\mathbf {return} \;\,E_{i,j,n};&&{\text{// }}E_{i,j,n}\;\,=\{(x_{1},\dots ,x_{n}):x_{i}\in x_{j}\}\\x_{i}\in Y_{k}:\;\;&\mathbf {return} \;\,E_{i,Y_{k},n};&&{\text{// }}E_{i,Y_{k},n}=\{(x_{1},\dots ,x_{n}):x_{i}\in Y_{k}\}\\\neg \psi :\;\;&\mathbf {return} \;\,\complement _{V^{n}}{\text{Class}}(\psi ,\,n);&&{\text{// }}\complement _{V^{n}}{\text{Class}}(\psi ,\,n)=V^{n}\setminus {\text{Class}}(\psi ,\,n)\\\psi _{1}\land \psi _{2}:\;\;&\mathbf {return} \;\,{\text{Class}}(\psi _{1},\,n)\cap {\text{Class}}(\psi _{2},\,n);&&\\\;\;\;\;\,\exists x_{n+1}(\psi ):\;\;&\mathbf {return} \;\,Dom({\text{Class}}(\psi ,\,n+1));&&{\text{// }}x_{n+1}{\text{ is free in }}\psi ;{\text{ Class}}(\psi ,\,n+1)\\&\ &&{\text{// returns a class of }}(n+1){\text{-tuples}}\end{alignedat}}}
${\displaystyle \mathbf {end} }$

${\displaystyle \mathbf {end} }$

Let ${\displaystyle \phi }$ be the formula of example 2. The function call ${\displaystyle A=Class(\phi ,1)}$ generates the class ${\displaystyle A,}$ which is compared below with ${\displaystyle \phi .}$ This shows that the construction of the class ${\displaystyle A}$ mirrors the construction of its defining formula ${\displaystyle \phi .}$

{\displaystyle {\begin{alignedat}{2}&\phi \;&&=\;\;\exists x_{2}\,(x_{2}\!\in \!x_{1}\land \;\;\neg \;\;\;\;\exists x_{3}\;(x_{3}\!\in \!x_{2}))\,\land \;\;\,\exists x_{2}\,(x_{2}\!\in \!x_{1}\land \;\;\,\exists x_{3}\,(x_{3}\!\in \!x_{2}\,\land \;\;\neg \;\;\;\;\exists x_{4}\;(x_{4}\!\in \!x_{3})))\\&A\;&&=Dom\,(\;E_{2,1,2}\;\cap \;\complement _{V^{2}}\,Dom\,(\;E_{3,2,3}\;))\,\cap \,Dom\,(\;E_{2,1,2}\;\cap \,Dom\,(\;\,E_{3,2,3}\;\cap \;\complement _{V^{3}}\,Dom\,(\;E_{4,3,4}\;)))\end{alignedat}}}

### Extending the class existence theorem

Gödel extended the class existence theorem to formulas ${\displaystyle \phi }$ containing relations over classes (such as ${\displaystyle Y_{1}\subseteq Y_{2}}$ and the unary relation ${\displaystyle M(Y_{1})}$), special classes (such as ${\displaystyle Ord}$), and operations (such as ${\displaystyle (x_{1},x_{2})}$ and ${\displaystyle x_{1}\cap Y_{1}}$).[25] To extend the class existence theorem, the formulas defining relations, special classes, and operations must quantify only over sets. Then ${\displaystyle \phi }$ can be transformed into an equivalent formula satisfying the hypothesis of the class existence theorem.

The following definitions specify how formulas define relations, special classes, and operations:

1. A relation ${\displaystyle R}$ is defined by: ${\displaystyle R(Z_{1},\dots ,Z_{k})\iff \psi _{R}(Z_{1},\dots ,Z_{k}).}$
2. A special class ${\displaystyle C}$ is defined by: ${\displaystyle u\in C\iff \psi _{C}(u).}$
3. An operation ${\displaystyle P}$ is defined by: ${\displaystyle u\in P(Z_{1},\dots ,Z_{k})\iff \psi _{P}(u,Z_{1},\dots ,Z_{k}).}$

A term is defined by:

1. Variables and special classes are terms.
2. If ${\displaystyle P}$ is an operation with ${\displaystyle k}$ arguments and ${\displaystyle \Gamma _{1},\dots ,\Gamma _{k}}$ are terms, then ${\displaystyle P(\Gamma _{1},\dots ,\Gamma _{k})}$ is a term.

The following transformation rules eliminate relations, special classes, and operations. Each time rule 2b, 3b, or 4 is applied to a subformula, ${\displaystyle i}$ is chosen so that ${\displaystyle z_{i}}$ differs from the other variables in the current formula. The rules are repeated until there are no subformulas to which they can be applied. ${\displaystyle \,\Gamma _{1},\dots ,\Gamma _{k},\Gamma ,}$ and ${\displaystyle \Delta }$ denote terms.

1. A relation ${\displaystyle R(Z_{1},\dots ,Z_{k})}$ is replaced by its defining formula ${\displaystyle \psi _{R}(Z_{1},\dots ,Z_{k}).}$
2. Let ${\displaystyle \psi _{C}(u)}$ be the defining formula for the special class ${\displaystyle C.}$
1. ${\displaystyle \Delta \in C}$ is replaced by ${\displaystyle \psi _{C}(\Delta ).}$
2. ${\displaystyle C\in \Delta }$ is replaced by ${\displaystyle \exists z_{i}[z_{i}=C\land z_{i}\in \Delta ].}$
3. Let ${\displaystyle \psi _{P}(u,Z_{1},\dots ,Z_{k})}$ be the defining formula for the operation ${\displaystyle P(Z_{1},\dots ,Z_{k}).}$
1. ${\displaystyle \Delta \in P(\Gamma _{1},\dots ,\Gamma _{k})}$ is replaced by ${\displaystyle \psi _{P}(\Delta ,\Gamma _{1},\dots ,\Gamma _{k}).}$
2. ${\displaystyle P(\Gamma _{1},\dots ,\Gamma _{k})\in \Delta }$ is replaced by ${\displaystyle \exists z_{i}[z_{i}=P(\Gamma _{1},\dots ,\Gamma _{k})\land z_{i}\in \Delta ].}$
4. Extensionality is used to transform ${\displaystyle \Delta =\Gamma }$ into ${\displaystyle \forall z_{i}(z_{i}\in \Delta \iff z_{i}\in \Gamma ).}$
 Example 3:  Transforming ${\displaystyle Y_{1}\subseteq Y_{2}.}$ ${\displaystyle Y_{1}\subseteq Y_{2}\iff \forall z_{1}(z_{1}\in Y_{1}\implies z_{1}\in Y_{2})\quad {\text{(rule 1)}}}$
 Example 4:  Transforming ${\displaystyle x_{1}\cap Y_{1}\in x_{2}.}$ {\displaystyle {\begin{alignedat}{2}x_{1}\cap Y_{1}\in x_{2}&\iff \exists z_{1}[z_{1}=x_{1}\cap Y_{1}\,\land \,z_{1}\in x_{2}]&&{\text{(rule 3b)}}\\&\iff \exists z_{1}[\forall z_{2}(z_{2}\in z_{1}\iff z_{2}\in x_{1}\cap Y_{1})\,\land \,z_{1}\in x_{2}]&&{\text{(rule 4)}}\\&\iff \exists z_{1}[\forall z_{2}(z_{2}\in z_{1}\iff z_{2}\in x_{1}\land z_{2}\in Y_{1})\,\land \,z_{1}\in x_{2}]\quad &&{\text{(rule 3a)}}\\\end{alignedat}}} This example illustrates how the transformation rules work together to eliminate an operation.

Class existence theorem (extended version). Let ${\displaystyle \phi (x_{1},\dots ,x_{n},Y_{1},\dots ,Y_{m})}$ be a formula that quantifies only over sets, contains no free variables other than ${\displaystyle x_{1},\dots ,x_{n},Y_{1},\dots ,Y_{m}}$, and may contain relations, special classes, and operations defined by formulas that quantify only over sets. Then for all ${\displaystyle Y_{1},\dots ,Y_{m},}$ there exists a unique class ${\displaystyle A}$ of ${\displaystyle n}$-tuples such that ${\displaystyle \forall x_{1}\cdots \,\forall x_{n}[(x_{1},\dots ,x_{n})\in A\iff \phi (x_{1},\dots ,x_{n},Y_{1},\dots ,Y_{m})].}$[lower-alpha 9]

Proof: Apply the transformation rules to ${\displaystyle \phi }$ to produce an equivalent formula containing no relations, special classes, or operations. This formula satisfies the hypothesis of the class existence theorem. Therefore, for all ${\displaystyle Y_{1},\dots ,Y_{m},}$ there is a unique class ${\displaystyle A}$ of ${\displaystyle n}$-tuples satisfying ${\displaystyle \forall x_{1}\cdots \,\forall x_{n}[(x_{1},\dots ,x_{n})\in A\iff \phi (x_{1},\dots ,x_{n},Y_{1},\dots ,Y_{m})].}$

### Set axioms

The axioms of pairing and regularity, which were needed for the proof of the class existence theorem, have been given above. NBG contains four other set axioms. Three of these axioms deal with class operations being applied to sets.

Definition. ${\displaystyle F}$ is a function if ${\displaystyle F\subseteq V^{2}\land \forall x\,\forall y\,\forall z\,[(x,y)\in F\,\land \,(x,z)\in F\implies y=z].}$

In set theory, the definition of a function does not require specifying the domain or codomain of the function (see Function (set theory)). NBG's definition of function generalizes ZFC's definition from a set of ordered pairs to a class of ordered pairs.

ZFC's definitions of the set operations: image, union, and power set are also generalized to class operations. The image of class ${\displaystyle A}$ under the function ${\displaystyle F}$ is ${\displaystyle F[A]=\{y:\exists x(x\in A\,\land \,(x,y)\in F)\}.}$ This definition does not require that ${\displaystyle A\subseteq Dom(F).}$ The union of class ${\displaystyle A}$ is ${\displaystyle \cup A=\{x:\exists y(x\in y\,\,\land \,y\in A)\}.}$ The power class of ${\displaystyle A}$ is ${\displaystyle {\mathcal {P}}(A)=\{x:x\subseteq A\}.}$ The extended version of the class existence theorem implies the existence of these classes. The axioms of replacement, union, and power set imply that when these operations are applied to sets, they produce sets.[26]

Axiom of replacement. If ${\displaystyle F}$ is a function and ${\displaystyle a}$ is a set, then ${\displaystyle F[a]}$, the image of ${\displaystyle a}$ under ${\displaystyle F}$, is a set.

${\displaystyle \forall F\,\forall a\,[F{\text{ is a function}}\implies \exists b\,\forall y\,(y\in b\iff \exists x(x\in a\,\land \,(x,y)\in F))].}$

Not having the requirement ${\displaystyle A\subseteq Dom(F)}$ in the definition of ${\displaystyle F[A]}$ produces a stronger axiom of replacement, which is used in the following proof.

Theorem (NBG's axiom of separation). If ${\displaystyle A}$ is a set and ${\displaystyle B}$ is a subclass of ${\displaystyle A,}$ then ${\displaystyle B}$ is a set.
Proof: The class existence theorem constructs the restriction of the identity function to ${\displaystyle B}$: ${\displaystyle I{\upharpoonright _{B}}=\{(x_{1},x_{2}):x_{1}\in B\land x_{2}=x_{1}\}.}$ Since the image of ${\displaystyle A}$ under ${\displaystyle I{\upharpoonright _{B}}}$ is ${\displaystyle B}$, the axiom of replacement implies that ${\displaystyle B}$ is a set. This proof depends on the definition of image not having the requirement ${\displaystyle A\subseteq Dom(F)}$ since ${\displaystyle Dom(I{\upharpoonright _{B}})=B\subseteq A}$ rather than ${\displaystyle A\subseteq Dom(I{\upharpoonright _{B}}).}$

Axiom of union. If ${\displaystyle a}$ is a set, then there is a set containing ${\displaystyle \cup a.}$

${\displaystyle \forall a\,\exists b\,\forall x\,[\,\exists y(x\in y\,\,\land \,y\in a)\implies x\in b\,].}$

Axiom of power set. If ${\displaystyle a}$ is a set, then there is a set containing ${\displaystyle {\mathcal {P}}(a).}$

${\displaystyle \forall a\,\exists b\,\forall x\,(x\subseteq a\implies x\in b).}$[lower-alpha 10]

Theorem. If ${\displaystyle a}$ is a set, then ${\displaystyle \cup a}$ and ${\displaystyle {\mathcal {P}}(a)}$ are sets.
Proof: The axiom of union states that ${\displaystyle \cup a}$ is a subclass of a set ${\displaystyle b}$, so the axiom of separation implies ${\displaystyle \cup a}$ is a set. Likewise, the axiom of power set states that ${\displaystyle {\mathcal {P}}(a)}$ is a subclass of a set ${\displaystyle b}$, so the axiom of separation implies that ${\displaystyle {\mathcal {P}}(a)}$ is a set.

Axiom of infinity. There exists a nonempty set ${\displaystyle a}$ such that for all ${\displaystyle x}$ in ${\displaystyle a}$, there exists a ${\displaystyle y}$ in ${\displaystyle a}$ such that ${\displaystyle x}$ is a proper subset of ${\displaystyle y}$.

${\displaystyle \exists a\,[\exists u(u\in a)\,\land \,\forall x(x\in a\implies \exists y(y\in a\,\land \,x\subset y))].}$

The axioms of infinity and replacement prove the existence of the empty set. In the discussion of the class existence axioms, the existence of the empty class ${\displaystyle \emptyset }$ was proved. We now prove that ${\displaystyle \emptyset }$ is a set. Let function ${\displaystyle F=\emptyset }$ and let ${\displaystyle a}$ be the set given by the axiom of infinity. By replacement, the image of ${\displaystyle a}$ under ${\displaystyle F}$, which equals ${\displaystyle \emptyset }$, is a set.

NBG's axiom of infinity is implied by ZFC's axiom of infinity: ${\displaystyle \,\exists a\,[\emptyset \in a\,\land \,\forall x(x\in a\implies x\cup \{x\}\in a)].\,}$ The first conjunct of ZFC's axiom, ${\displaystyle \emptyset \in a}$, implies the first conjunct of NBG's axiom. The second conjunct of ZFC's axiom, ${\displaystyle \forall x(x\in a\implies x\cup \{x\}\in a)}$, implies the second conjunct of NBG's axiom since ${\displaystyle x\subset x\cup \{x\}.}$ To prove ZFC's axiom of infinity from NBG's axiom of infinity requires some of the other NBG axioms (see Weak axiom of infinity).[lower-alpha 11]

### Axiom of global choice

The class concept allows NBG to have a stronger axiom of choice than ZFC. A choice function is a function ${\displaystyle f}$ defined on a set ${\displaystyle s}$ of nonempty sets such that ${\displaystyle f(x)\in x}$ for all ${\displaystyle x\in s.}$ ZFC's axiom of choice states that there exists a choice function for every set of nonempty sets. A global choice function is a function ${\displaystyle G}$ defined on the class of all nonempty sets such that ${\displaystyle G(x)\in x}$ for every nonempty set ${\displaystyle x.}$ The axiom of global choice states that there exists a global choice function. This axiom implies ZFC's axiom of choice since for every set ${\displaystyle s}$ of nonempty sets, ${\displaystyle G\vert _{s}}$ (the restriction of ${\displaystyle G}$ to ${\displaystyle s}$) is a choice function for ${\displaystyle s.}$ In 1964, William B. Easton proved that global choice is stronger than the axiom of choice by using forcing to construct a model that satisfies the axiom of choice and all the axioms of NBG except the axiom of global choice.[27] The axiom of global choice is equivalent to every class having a well-ordering, while ZFC's axiom of choice is equivalent to every set having a well-ordering.[lower-alpha 12]

Axiom of global choice. There exists a function that chooses an element from every nonempty set.

${\displaystyle \exists G\,[G{\text{ is a function}}\,\land \forall x(x\neq \emptyset \implies \exists y(y\in x\land (x,y)\in G))].}$

## History

### Von Neumann's 1925 axiom system

Von Neumann published an introductory article on his axiom system in 1925. In 1928, he provided a detailed treatment of his system.[28] Von Neumann based his axiom system on two domains of primitive objects: functions and arguments. These domains overlap—objects that are in both domains are called argument-functions. Functions correspond to classes in NBG, and argument-functions correspond to sets. Von Neumann's primitive operation is function application, denoted by [a, x] rather than a(x) where a is a function and x is an argument. This operation produces an argument. Von Neumann defined classes and sets using functions and argument-functions that take only two values, A and B. He defined x  a if [a, x]  A.[1]

Von Neumann's work in set theory was influenced by Georg Cantor's articles, Ernst Zermelo's 1908 axioms for set theory, and the 1922 critiques of Zermelo's set theory that were given independently by Abraham Fraenkel and Thoralf Skolem. Both Fraenkel and Skolem pointed out that Zermelo's axioms cannot prove the existence of the set {Z0, Z1, Z2, ...} where Z0 is the set of natural numbers and Zn+1 is the power set of Zn. They then introduced the axiom of replacement, which would guarantee the existence of such sets.[29] However, they were reluctant to adopt this axiom: Fraenkel stated "that Replacement was too strong an axiom for 'general set theory'", while "Skolem only wrote that 'we could introduce' Replacement".[30]

Von Neumann worked on the problems of Zermelo set theory and provided solutions for some of them:

• A theory of ordinals
• Problem: Cantor's theory of ordinal numbers cannot be developed in Zermelo set theory because it lacks the axiom of replacement.[lower-alpha 13]
• Solution: Von Neumann recovered Cantor's theory by defining the ordinals using sets that are well-ordered by the ∈-relation,[lower-alpha 14] and by using the axiom of replacement to prove key theorems about the ordinals, such as every well-ordered set is order-isomorphic with an ordinal.[lower-alpha 13] In contrast to Fraenkel and Skolem, von Neumann emphasized how important the replacement axiom is for set theory: "In fact, I believe that no theory of ordinals is possible at all without this axiom."[31]
• A criterion identifying classes that are too large to be sets
• Problem: Zermelo did not provide such a criterion. His set theory avoids the large classes that lead to the paradoxes, but it leaves out many sets, such as the one mentioned by Fraenkel and Skolem.[lower-alpha 15]
• Solution: Von Neumann introduced the criterion: A class is too large to be a set if and only if it can be mapped onto the class V of all sets. Von Neumann realized that the set-theoretic paradoxes could be avoided by not allowing such large classes to be members of any class. Combining this restriction with his criterion, he obtained his axiom of limitation of size: A class C is not a member of any class if and only if C can be mapped onto V.[32]
• Finite axiomatization
• Problem: Zermelo had used the imprecise concept of "definite propositional function" in his axiom of separation.
• Solutions: Skolem introduced the axiom schema of separation that was later used in ZFC, and Fraenkel introduced an equivalent solution. However, Zermelo rejected both approaches "particularly because they implicitly involve the concept of natural number which, in Zermelo's view, should be based upon set theory."[lower-alpha 16] Von Neumann avoided axiom schemas by formalizing the concept of "definite propositional function" with his functions, whose construction requires only finitely many axioms. This led to his set theory having finitely many axioms.[33] In 1961, Richard Montague proved that ZFC cannot be finitely axiomatized.[34]
• The axiom of regularity
• Problem: Zermelo set theory starts with the empty set and an infinite set, and iterates the axioms of pairing, union, power set, separation, and choice to generate new sets. However, it does not restrict sets to these. For example, it allows sets that are not well-founded, such as a set x satisfying x  x.[35]
• Solutions: Fraenkel introduced an axiom to exclude these sets. Von Neumann analyzed Fraenkel's axiom and stated that it was not "precisely formulated", but it would approximately say: "Besides the sets ... whose existence is absolutely required by the axioms, there are no further sets."[36] Von Neumann proposed the axiom of regularity as a way to exclude non-well-founded sets, but did not include it in his axiom system. In 1930, Zermelo became the first to publish an axiom system that included regularity.[lower-alpha 17]

### Von Neumann's 1929 axiom system

In 1929, von Neumann published an article containing the axioms that would lead to NBG. This article was motivated by his concern about the consistency of the axiom of limitation of size. He stated that this axiom "does a lot, actually too much." Besides implying the axioms of separation and replacement, and the well-ordering theorem, it also implies that any class whose cardinality is less than that of V is a set. Von Neumann thought that this last implication went beyond Cantorian set theory and concluded: "We must therefore discuss whether its [the axiom's] consistency is not even more problematic than an axiomatization of set theory that does not go beyond the necessary Cantorian framework."[37]

Von Neumann started his consistency investigation by introducing his 1929 axiom system, which contains all the axioms of his 1925 axiom system except the axiom of limitation of size. He replaced this axiom with two of its consequences, the axiom of replacement and a choice axiom. Von Neumann's choice axiom states: "Every relation R has a subclass that is a function with the same domain as R."[38]

Let S be von Neumann's 1929 axiom system. Von Neumann introduced the axiom system S + Regularity (which consists of S and the axiom of regularity) to demonstrate that his 1925 system is consistent relative to S. He proved:

1. If S is consistent, then S + Regularity is consistent.
2. S + Regularity implies the axiom of limitation of size. Since this is the only axiom of his 1925 axiom system that S + Regularity does not have, S + Regularity implies all the axioms of his 1925 system.

These results imply: If S is consistent, then von Neumann's 1925 axiom system is consistent. Proof: If S is consistent, then S + Regularity is consistent (result 1). Using proof by contradiction, assume that the 1925 axiom system is inconsistent, or equivalently: the 1925 axiom system implies a contradiction. Since S + Regularity implies the axioms of the 1925 system (result 2), S + Regularity also implies a contradiction. However, this contradicts the consistency of S + Regularity. Therefore, if S is consistent, then von Neumann's 1925 axiom system is consistent.

Since S is his 1929 axiom system, von Neumann's 1925 axiom system is consistent relative to his 1929 axiom system, which is closer to Cantorian set theory. The major differences between Cantorian set theory and the 1929 axiom system are classes and von Neumann's choice axiom. The axiom system S + Regularity was modified by Bernays and Gödel to produce the equivalent NBG axiom system.

### Bernays' axiom system

In 1929, Paul Bernays started modifying von Neumann's new axiom system by taking classes and sets as primitives. He published his work in a series of articles appearing from 1937 to 1954.[39] Bernays stated that:

The purpose of modifying the von Neumann system is to remain nearer to the structure of the original Zermelo system and to utilize at the same time some of the set-theoretic concepts of the Schröder logic and of Principia Mathematica which have become familiar to logicians. As will be seen, a considerable simplification results from this arrangement.[40]

Bernays handled sets and classes in a two-sorted logic and introduced two membership primitives: one for membership in sets and one for membership in classes. With these primitives, he rewrote and simplified von Neumann's 1929 axioms. Bernays also included the axiom of regularity in his axiom system.[41]

### Gödel's axiom system (NBG)

In 1931, Bernays sent a letter containing his set theory to Kurt Gödel.[42] Gödel simplified Bernays' theory by making every set a class, which allowed him to use just one sort and one membership primitive. He also weakened some of Bernays' axioms and replaced von Neumann's choice axiom with the equivalent axiom of global choice.[43][lower-alpha 18] Gödel used his axioms in his 1940 monograph on the relative consistency of global choice and the generalized continuum hypothesis.[44]

Several reasons have been given for Gödel choosing NBG for his monograph:[lower-alpha 19]

• Gödel gave a mathematical reason—NBG's global choice produces a stronger consistency theorem: "This stronger form of the axiom [of choice], if consistent with the other axioms, implies, of course, that a weaker form is also consistent."[5]
• Robert Solovay conjectured: "My guess is that he [Gödel] wished to avoid a discussion of the technicalities involved in developing the rudiments of model theory within axiomatic set theory."[lower-alpha 20]
• Kenneth Kunen gave a reason for Gödel avoiding this discussion: "There is also a much more combinatorial approach to L [the constructible universe], developed by ... [Gödel in his 1940 monograph] in an attempt to explain his work to non-logicians. ... This approach has the merit of removing all vestiges of logic from the treatment of L."[45]
• Charles Parsons provided a philosophical reason for Gödel's choice: "This view [that 'property of set' is a primitive of set theory] may be reflected in Gödel's choice of a theory with class variables as the framework for ... [his monograph]."[lower-alpha 21]

Gödel's achievement together with the details of his presentation led to the prominence that NBG would enjoy for the next two decades.[46] In 1963, Paul Cohen proved his independence proofs for ZF with the help of some tools that Gödel had developed for his relative consistency proofs for NBG.[47] Later, ZFC became more popular than NBG. This was caused by several factors, including the extra work required to handle forcing in NBG,[lower-alpha 22] Cohen's 1966 presentation of forcing, which used ZF,[48] and the proof that NBG is a conservative extension of ZFC.[lower-alpha 23]

## NBG, ZFC, and MK

NBG is not logically equivalent to ZFC because its language is more expressive: it can make statements about classes, which cannot be made in ZFC. However, NBG and ZFC imply the same statements about sets. Therefore, NBG is a conservative extension of ZFC. NBG implies theorems that ZFC does not imply, but since NBG is a conservative extension, these theorems must involve proper classes. For example, NBG implies that the proper class V can be well-ordered and that every proper class can be put into one-to-one correspondence with V.[lower-alpha 24]

One consequence of conservative extension is that ZFC and NBG are equiconsistent. Proving this uses the principle of explosion: from a contradiction, everything is provable. Assume that either ZFC or NBG is inconsistent. Then the inconsistent theory implies the contradictory statements ∅ = ∅ and ∅  ∅, which are statements about sets. By the conservative extension property, the other theory also implies these statements. Therefore, it is also inconsistent. So although NBG is more expressive, it is equiconsistent with ZFC. This result together with von Neumann's 1929 relative consistency proof implies that his 1925 axiom system with the axiom of limitation of size is equiconsistent with ZFC. This completely resolves von Neumann's concern about the relative consistency of this powerful axiom since ZFC is within the Cantorian framework.

Even though NBG is a conservative extension of ZFC, a theorem may have a shorter and more elegant proof in NBG than in ZFC (or vice versa). For a survey of known results of this nature, see Pudlák 1998.

Morse–Kelley set theory has an axiom schema of class comprehension that includes formulas whose quantifiers range over classes. MK is a stronger theory than NBG because MK proves the consistency of NBG,[49] while Gödel's second incompleteness theorem implies that NBG cannot prove the consistency of NBG.

For a discussion of some ontological and other philosophical issues posed by NBG, especially when contrasted with ZFC and MK, see Appendix C of Potter 2004.

### Models

ZFC, NBG, and MK have models describable in terms of the cumulative hierarchy Vα and the constructible hierarchy Lα. Let V include an inaccessible cardinal κ, let XVκ, and let Def(X) denote the class of first-order definable subsets of X with parameters. In symbols where "${\displaystyle (X,\in )}$" denotes the model with domain ${\displaystyle X}$ and relation ${\displaystyle \in }$, and "${\displaystyle \models }$" denotes the satisfaction relation:

${\displaystyle \operatorname {Def} (X):={\Bigl \{}\{x\mid x\in X{\text{ and }}(X,\in )\models \phi (x,y_{1},\ldots ,y_{n})\}:\phi {\text{ is a first-order formula and }}y_{1},\ldots ,y_{n}\in X{\Bigr \}}.}$

Then:

• (Vκ, ∈) and (Lκ, ∈) are models of ZFC.[50]
• (Vκ, Vκ+1, ∈) is a model of MK where Vκ consists of the sets of the model and Vκ+1 consists of the classes of the model.[51] Since a model of MK is a model of NBG, this model is also a model of NBG.
• (Vκ, Def(Vκ), ∈) is a model of Mendelson's version of NBG, which replaces NBG's axiom of global choice with ZFC's axiom of choice.[52] The axioms of ZFC are true in this model because (Vκ, ∈) is a model of ZFC. In particular, ZFC's axiom of choice holds, but NBG's global choice may fail.[53] NBG's class existence axioms are true in this model because the classes whose existence they assert can be defined by first-order definitions. For example, the membership axiom holds since the class ${\displaystyle E}$ is defined by:
${\displaystyle E=\{x\in V_{\kappa }:(V_{\kappa },\in )\models \exists u\in V_{\kappa }\ \exists v\in V_{\kappa }[x=(u,v)\land u\in v]\}.}$
• (Lκ, Lκ+, ∈), where κ+ is the successor cardinal of κ, is a model of NBG.[lower-alpha 25] NBG's class existence axioms are true in (Lκ, Lκ+, ∈). For example, the membership axiom holds since the class ${\displaystyle E}$ is defined by:
${\displaystyle E=\{x\in L_{\kappa }:(L_{\kappa },\in )\models \exists u\in L_{\kappa }\ \exists v\in L_{\kappa }[x=(u,v)\land u\in v]\}.}$
So E  𝒫(Lκ). In his proof that GCH is true in L, Gödel proved that 𝒫(Lκ)  Lκ+.[54] Therefore, E  Lκ+, so the membership axiom is true in (Lκ, Lκ+, ∈). Likewise, the other class existence axioms are true. The axiom of global choice is true because Lκ is well-ordered by the restriction of Gödel's function (which maps the class of ordinals to the constructible sets) to the ordinals less than κ. Therefore, (Lκ, Lκ+, ∈) is a model of NBG.

## Category theory

The ontology of NBG provides scaffolding for speaking about "large objects" without risking paradox. For instance, in some developments of category theory, a "large category" is defined as one whose objects and morphisms make up a proper class. On the other hand, a "small category" is one whose objects and morphisms are members of a set. Thus, we can speak of the "category of all sets" or "category of all small categories" without risking paradox since NBG supports large categories.

However, NBG does not support a "category of all categories" since large categories would be members of it and NBG does not allow proper classes to be members of anything. An ontological extension that enables us to talk formally about such a "category" is the conglomerate, which is a collection of classes. Then the "category of all categories" is defined by its objects: the conglomerate of all categories; and its morphisms: the conglomerate of all morphisms from A to B where A and B are objects.[55] On whether an ontology including classes as well as sets is adequate for category theory, see Muller 2001.

## Notes

1. The historical development suggests that the two-sorted approach does appear more natural at first. In introducing his theory, Bernays stated: "According to the leading idea of von Neumann set theory we have to deal with two kinds of individuals, which we may distinguish as sets and classes." (Bernays 1937, p. 66.)
2. Gödel defined ${\displaystyle (x_{1},x_{2},\ldots ,x_{n})=(x_{1},(x_{2},\ldots ,x_{n}))}$ (Gödel 1940, p. 4). This affects the statements of some of his definitions, axioms, and theorems. This article uses Mendelson's definition (Mendelson 1997, p. 230).
3. Bernays' class existence axioms specify unique classes. Gödel weakened all but three of Bernays' axioms (intersection, complement, domain) by replacing biconditionals with implications, which means they specify only the ordered pairs or the 3-tuples of the class. The axioms in this section are Gödel's except for Bernays' stronger product by V axiom, which specifies a unique class of ordered pairs. Bernays' axiom simplifies the proof of the class existence theorem. Gödel's axiom B6 appears as the fourth statement of the tuple lemma. Bernays later realized that one of his axioms is redundant, which implies that one of Gödel's axioms is redundant. Using the other axioms, axiom B6 can be proved from axiom B8, and B8 can be proved from B6, so either axiom can be considered the redundant axiom. (Kanamori 2009, p. 56; Bernays 1937, p. 69; Gödel 1940, pp. 5, 9; Mendelson 1997, p. 231.) The names for the tuple-handling axioms are from the French Wikipédia article: Théorie des ensembles de von Neumann.
4. This article uses Bourbaki's complement notation ${\displaystyle \complement A}$ and relative complement notation ${\displaystyle \complement _{X}A=\complement _{A}\cap X}$ (Bourbaki 2004, p. 71). This prefix relative complement notation is used by the class existence theorem to mirror the prefix logical not (${\displaystyle \neg }$).
5. Since Gödel states this axiom before he proves the existence of the empty class, he states it without using the empty class (Gödel 1940, p. 6).
6. The proofs in this and the next section come from Gödel's proofs, which he gave at the Institute for Advanced Study where he "could count upon an audience well versed in mathematical logic" (Dawson 1997, p. 134). To make Gödel's proofs more accessible to Wikipedia readers, a few modifications have been made. The goal in this and the next section is to prove Gödel's M4, his fourth class existence theorem. The proof in this section mostly follows the M1 proof (Gödel 1940, pp. 811), but it also uses techniques from the M3 and M4 proofs. The theorem is stated with class variables rather than M1's symbols for special classes (universal quantification over the class variables is equivalent to being true for any instantiation of the class variables). The major differences from the M1 proof are: unique classes of ${\displaystyle n}$-tuples are generated at the end of the basis and inductive steps (which require Bernays' stronger product by ${\displaystyle V}$ axiom), and bound variables are replaced by subscripted variables that continue the numbering of the free set variables. Since bound variables are free for part of the induction, this guarantees that, when they are free, they are treated the same as the original free variables. One of the benefits of this proof is the example output of the function Class, which shows that a class's construction mirrors its defining formula's construction.
7. One detail has been left out of this proof. Gödel's convention is being used, so ${\displaystyle \exists x\,\phi (x)}$ is defined to be ${\displaystyle \exists x[\exists C(x\in C)\land \phi (x)].}$ Since this formula quantifies over classes, it must be replaced with the equivalent ${\displaystyle \exists x[x\in V\land \phi (x)].}$ Then the three formulas in the proof having the form ${\displaystyle \exists x_{n+1}[x_{n+1}\land \dots ]}$ become ${\displaystyle \exists x_{n+1}[x_{n+1}\in V\land \dots ],}$ which produces a valid proof.
8. Recursive computer programs written in pseudocode have been used elsewhere in pure mathematics. For example, they have been used to prove the Heine-Borel theorem and other theorems of analysis (Gray 1991).
9. This theorem is Gödel's theorem M4. He proved it by first proving M1, a class existence theorem that uses symbols for special classes rather than free class variables. M1 produces a class containing all the ${\displaystyle n}$-tuples satisfying ${\displaystyle \phi }$, but which may contain elements that are not ${\displaystyle n}$-tuples. Theorem M2 extends this theorem to formulas containing relations, special classes, and operations. Theorem M3 is obtained from M2 by replacing the symbols for special classes with free variables. Gödel used M3 to define ${\displaystyle A\times B=\{x:\exists y\exists z[x=(y,z)\land y\in A\land z\in B]\},}$ which is unique by extensionality. He used ${\displaystyle A\times B}$ to define ${\displaystyle V^{n}.}$ Theorem M4 is obtained from M3 by intersecting the class produced by M3 with ${\displaystyle V^{n}}$ to produce the unique class of ${\displaystyle n}$-tuples satisfying the given formula. Gödel's approach, especially his use of M3 to define ${\displaystyle A\times B}$, eliminates the need for Bernays' stronger form of the product by ${\displaystyle V}$ axiom. (Gödel 1940, pp. 815.)
10. Gödel weakened Bernays' axioms of union and power set, which state the existence of these sets, to the above axioms that state there is a set containing the union and a set containing the power set (Bernays 1941, p. 2; Gödel 1940, p. 5). Bernays published his axioms after Gödel, but had sent them to Gödel in 1931 (Kanamori 2009, p. 48; Gödel 2003, pp. 104115).
11. Since ZFC's axiom requires the existence of the empty set, an advantage of NBG's axiom is that the axiom of the empty set is not needed. Mendelson's axiom system uses the ZFC's axiom of infinity and also has the axiom of the empty set (Mendelson 1997, pp. 228, 239).
12. For ${\displaystyle V}$ having a well-ordering implying global choice, see Implications of the axiom of limitation of size. For global choice implying the well-ordering of any class, see Kanamori 2009, p. 53.
13. In 1928, von Neumann stated: "A treatment of ordinal number closely related to mine was known to Zermelo in 1916, as I learned subsequently from a personal communication. Nevertheless, the fundamental theorem, according to which to each well-ordered set there is a similar ordinal, could not be rigorously proved because the replacement axiom was unknown." (Hallett 1984, p. 280.)
14. von Neumann 1923. Von Neumann's definition also used the theory of well-ordered sets. Later, his definition was simplified to the current one: An ordinal is a transitive set that is well-ordered by ∈ (Kunen 1980, p. 16).
15. After introducing the cumulative hierarchy, von Neumann could show that Zermelo's axioms do not prove the existence of ordinals α  ω + ω, which include uncountably many hereditarily countable sets. This follows from Skolem's result that Vω+ω satisfies Zermelo's axioms (Kanamori 2012, p. 61) and from α  Vβ implying α < β (Kunen 1980, pp. 9596). Kunen uses the notation R(β) instead of Vβ.
16. Fraenkel, Historical Introduction in Bernays 1991, p. 13. Skolem's approach implicitly involves natural numbers because the formulas of an axiom schema are built using structural recursion, which is a generalization of mathematical recursion over the natural numbers.
17. Akihiro Kanamori points out that Bernays lectured on his axiom system in 1929-1930 and states that "… he and Zermelo must have arrived at the idea of incorporating Foundation [regularity] almost at the same time." (Kanamori 2009, pp. 5354). However, Bernays did not publish the part of his axiom system containing regularity until 1941 (Bernays 1941, p. 6).
18. Proof that von Neumann's axiom implies global choice: Let ${\displaystyle R=\{(x,y):x\neq \emptyset \land y\in x\}.}$ Von Neumann's axiom implies there is a function ${\displaystyle G\subseteq R}$ such that ${\displaystyle Dom(G)=Dom(R).}$ The function ${\displaystyle G}$ is a global choice function since for all nonempty sets ${\displaystyle x,}$ ${\displaystyle G(x)\in x.}$
Proof that global choice implies von Neumann's axiom: Let ${\displaystyle G}$ be a global choice function, and let ${\displaystyle R}$ be a relation. For ${\displaystyle x\in Dom(R),}$ let ${\displaystyle \alpha (x)={\text{least}}\,\{\alpha :\exists y[(x,y)\in R\cap V_{\alpha }]\}}$ where ${\displaystyle V_{\alpha }}$ is the set of all sets having rank less than ${\displaystyle \alpha .}$ Let ${\displaystyle z_{x}=\{y:(x,y)\in R\cap V_{\alpha (x)}\}.}$ Then ${\displaystyle F=\{(x,G(z_{x})):x\in Dom(R)\}}$ is a function that satisfies von Neumann's axiom since ${\displaystyle F\subseteq R}$ and ${\displaystyle Dom(F)=Dom(R).}$
19. Gödel used von Neumann's 1929 axioms in his 1938 announcement of his relative consistency theorem and stated "A corresponding theorem holds if T denotes the system of Principia mathematica" (Gödel 1990, p. 26). His 1939 sketch of his proof is for Zermelo set theory and ZF (Gödel 1990, pp. 2832). Proving a theorem in multiple formal systems was not unusual for Gödel. For example, he proved his incompleteness theorem for the system of Principia mathematica, but pointed out that it "holds for a wide class of formal systems ..." (Gödel 1986, p. 145).
20. Solovay 1990, p. 13. Gödel's consistency proof builds the constructible universe. To build this in ZF requires some model theory. Gödel built it in NBG without model theory. For Gödel's construction, see Gödel 1940, pp. 3546 or Cohen 1966, pp. 99103.
21. Gödel 1990, p. 108, footnote i. The paragraph containing this footnote discusses why Gödel considered "property of set" a primitive of set theory and how it fit into his ontology. "Property of set" corresponds to the "class" primitive in NBG.
22. Kanamori 2009, p. 65: "Forcing itself went a considerable distance in downgrading any formal theory of classes because of the added encumbrance of having to specify the classes of generic extensions."
23. In the 1960s, this conservative extension theorem was proved independently by Paul Cohen, Saul Kripke, and Robert Solovay. In his 1966 book, Cohen mentioned this theorem and stated that its proof requires forcing. It was also proved independently by Ronald Jensen and Ulrich Felgner, who published his proof in 1971. (Ferreirós 2007, pp. 381382; Cohen 1966, p. 77; Felgner 1971.)
24. Both theorems follow from the theorem that every proper class can be put into one-to-one correspondence with the class of all ordinals. A proof of this theorem is outlined in Kanamori 2009, p. 53.
25. In the cumulative hierarchy Vκ, the subsets of Vκ are in Vκ+1. The constructible hierarchy Lκ produces subsets more slowly, which is why the subsets of Lκ are in Lκ+ rather than Lκ+1. (Gödel 1940, p. 54, Solovay 1990, pp. 911.)

## References

1. von Neumann 1925, pp. 221224, 226, 229; English translation: van Heijenoort 2002b, pp. 396398, 400, 403.
2. Bernays 1937, pp. 6667.
3. Gödel 1940, pp. 37.
4. Gödel 1940, p. 6.
5. #Axiom of global choice explains why it is provably stronger.
6. Gödel 1940, p. 25.
7. Gödel 1940, pp. 3538.
8. "The Neumann-Bernays-Gödel axioms". Encyclopædia Britannica. Retrieved 17 January 2019.
9. Gödel 1940, p. 3.
10. Mendelson 1997, pp. 225226.
11. Mendelson 1997, p. 226.
12. Gödel's axiom A3 (Gödel 1940, p. 3).
13. Gödel's axiom A4 (Gödel 1940, p. 3).
14. Gödel's axiom B1 (Gödel 1940, p. 5).
15. Gödel's axiom B2 (Gödel 1940, p. 5).
16. Gödel's axiom B3 (Gödel 1940, p. 5).
17. Gödel's axiom B4 (Gödel 1940, p. 5).
18. Bernays' axiom b(3) (Bernays 1937, p. 5).
19. Gödel's axiom B7 (Gödel 1940, p. 5).
20. Gödel's axiom B8 (Gödel 1940, p. 5).
21. Gödel 1940, p. 6; Kanamori 2012, p. 70.
22. Kanamori 2009, p. 57; Gödel 2003, p. 121. Both references contain Gödel's proof but Kanamori's is easier to follow since he uses modern terminology.
23. Gödel 1940, p. 11.
24. Gödel 1940, pp. 1113.
25. Gödel 1940, pp. 1618.
26. Easton 1964, pp. 56a64.
27. Ferreirós 2007, p. 369. In 1917, Dmitry Mirimanoff published a form of replacement based on cardinal equivalence (Mirimanoff 1917, p. 49).
28. Kanamori 2012, p. 62.
29. von Neumann 1925, p. 223 (footnote); English translation: van Heijenoort 2002b, p. 398 (footnote).
30. Hallett 1984, pp. 288290. Von Neumann stated his axiom in an equivalent functional form (von Neumann 1925, p. 225; English translation: van Heijenoort 2002b, p. 400).
31. von Neumann 1925, pp. 224226; English translation: van Heijenoort 2002b, pp. 399401.
32. Mirimanoff defined well-founded sets in 1917 (Mirimanoff 1917, p. 41).
33. von Neumann 1925, pp. 230232; English translation: van Heijenoort 2002b, pp. 404405.
34. von Neumann 1929, p. 229; Ferreirós 2007, pp. 379380.
35. Kanamori 2009, pp. 49, 53.
36. Kanamori 2009, pp. 48, 58. Bernays' articles are reprinted in Müller 1976, pp. 1117.
37. Bernays 1937, p. 65.
38. Kanamori 2009, pp. 4854.
39. Kanamori 2009, p. 48; Gödel 2003, pp. 104115.
40. Kanamori 2009, p. 56.
41. Kanamori 2009, pp. 5658; Gödel 1940.
42. Kunen 1980, p. 176.
43. Kanamori 2009, p. 57.
44. Cohen 1966, pp. 107147. Cohen also gave a detailed proof of Gödel's relative consistency theorems using ZF (Cohen 1966, pp. 8599).
45. Mostowski 1950, p. 113, footnote 11. Footnote references Wang's NQ set theory, which later evolved into MK.
46. Kanamori 2009, pp. 18, 29.
47. Chuaqui 1981, p. 313 proves that (Vκ, Vκ+1, ∈) is a model of MKTR + AxC. MKT is Tarski's axioms for MK without Choice or Replacement. MKTR + AxC is MKT with Replacement and Choice (Chuaqui 1981, pp. 4, 125), which is equivalent to MK.
48. Mendelson 1997, p. 275.
49. Easton built a model of Mendelson's version of NBG in which ZFC's axiom of choice holds but global choice fails.
50. Gödel 1940, p. 54.
51. Adámek, Herrlich & Strecker 2004, pp. 1516, 40.