# Von Neumann–Bernays–Gödel set theory

__: System of mathematical set theory__

**Short description**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–choice 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 [math]\displaystyle{ G }[/math] defined on the class of all nonempty sets such that [math]\displaystyle{ G(x) \in x }[/math] for every nonempty set [math]\displaystyle{ x. }[/math] This is stronger than ZFC's axiom of choice: For every set [math]\displaystyle{ s }[/math] of nonempty sets, there exists a choice function [math]\displaystyle{ f }[/math] defined on [math]\displaystyle{ s }[/math] such that [math]\displaystyle{ f(x) \in x }[/math] for all [math]\displaystyle{ x \in s. }[/math]^{[lower-alpha 1]} - The set-theoretic paradoxes are handled by recognizing that some classes cannot be sets. For example, assume that the class [math]\displaystyle{ Ord }[/math] of all ordinals is a set. Then [math]\displaystyle{ Ord }[/math] is a transitive set well-ordered by [math]\displaystyle{ \in }[/math]. So, by definition, [math]\displaystyle{ Ord }[/math] is an ordinal. Hence, [math]\displaystyle{ Ord \in Ord }[/math], which contradicts [math]\displaystyle{ \in }[/math] being a well-ordering of [math]\displaystyle{ Ord. }[/math] Therefore, [math]\displaystyle{ Ord }[/math] is not a set. A class that is not a set is called a proper class, [math]\displaystyle{ Ord }[/math] is a proper class.
^{[6]} - 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.
^{[7]}

### 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 [math]\displaystyle{ \phi(x_1, \ldots, x_n) }[/math] that quantifies only over sets, there exists a class [math]\displaystyle{ A }[/math] consisting of the [math]\displaystyle{ n }[/math]-tuples satisfying the formula—that is, [math]\displaystyle{ \forall x_1 \cdots \,\forall x_n [(x_1, \ldots , x_n) \in A \iff \phi(x_1, \ldots, x_n)]. }[/math] 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.^{[8]}

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.^{[8]} 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: [math]\displaystyle{ \mathfrak{Cls}(A) }[/math] for "[math]\displaystyle{ A }[/math] is a class" and [math]\displaystyle{ \mathfrak{M}(A) }[/math] for "[math]\displaystyle{ A }[/math] is a set" (in German, "set" is *Menge*). He also introduced axioms stating that every set is a class and that if class [math]\displaystyle{ A }[/math] is a member of a class, then [math]\displaystyle{ A }[/math] is a set.^{[9]} 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 [math]\displaystyle{ M(A) }[/math] as [math]\displaystyle{ \exists C(A \in C). }[/math]^{[10]} 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 2]} 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 do not affect what can be proved, but they do affect how statements are written. In Gödel's approach, [math]\displaystyle{ A \in C }[/math] where [math]\displaystyle{ A }[/math] and [math]\displaystyle{ C }[/math] are classes is a valid statement. In Bernays' approach this statement has no meaning. However, if [math]\displaystyle{ A }[/math] is a set, there is an equivalent statement: Define "set [math]\displaystyle{ a }[/math] represents class [math]\displaystyle{ A }[/math]" if they have the same sets as members—that is, [math]\displaystyle{ \forall x(x \in a \iff x \;\eta \;A). }[/math] The statement [math]\displaystyle{ a \;\eta \;C }[/math] where set [math]\displaystyle{ a }[/math] represents class [math]\displaystyle{ A }[/math] is equivalent to Gödel's [math]\displaystyle{ A \in C. }[/math]^{[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: [math]\displaystyle{ A }[/math] is a set if and only if [math]\displaystyle{ \exist C(A \in C) }[/math].
A class that is not a set is called a proper class: [math]\displaystyle{ A }[/math] is a proper class if and only if [math]\displaystyle{ \forall C(A \notin C) }[/math].^{[12]}
Therefore, every class is either a set or a proper class, and no class is both.

Gödel introduced the convention that uppercase variables range over classes, while lowercase variables range over sets.^{[9]} 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:

- [math]\displaystyle{ \exist x\, \phi(x) }[/math] instead of [math]\displaystyle{ \exist x \bigl(\exist C (x \in C) \land \phi(x)\bigr) }[/math]
- [math]\displaystyle{ \forall x\, \phi(x) }[/math] instead of [math]\displaystyle{ \forall x \bigl(\exist C (x \in C) \implies \phi(x)\bigr) }[/math]

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.

- [math]\displaystyle{ \forall A \,\forall B \,[\forall x(x \in A \iff x \in B) \implies A = B] }[/math]
^{[13]}

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

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

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

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

Ordered pairs are defined by:

- [math]\displaystyle{ (x, y) = \{\{x\}, \{x, y\}\} }[/math]

Tuples are defined inductively using ordered pairs:

- [math]\displaystyle{ (x_1) = x_1, }[/math]
- [math]\displaystyle{ \text{For } n \gt 1\!: (x_1, \ldots, x_{n-1}, x_n) = ((x_1, \ldots, x_{n-1}), x_n). }[/math]
^{[lower-alpha 3]}

### Class existence axioms and axiom of regularity

Class existence axioms will be used to prove the class existence theorem: For every formula in [math]\displaystyle{ n }[/math] free set variables that quantifies only over sets, there exists a class of [math]\displaystyle{ n }[/math]-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 [math]\displaystyle{ F }[/math] and [math]\displaystyle{ G }[/math] are functions, then the composite function [math]\displaystyle{ G \circ F }[/math] is defined by the formula: [math]\displaystyle{ \exists t[(x, t) \in F \,\land\, (t, y) \in G]. }[/math] Since this formula has two free set variables, [math]\displaystyle{ x }[/math] and [math]\displaystyle{ y, }[/math] the class existence theorem constructs the class of ordered pairs: [math]\displaystyle{ G \circ F\,=\,\{(x, y): \exists t[(x, t) \in F \,\land\, (t, y) \in G]\}. }[/math]Because this formula is built from simpler formulas using conjunction [math]\displaystyle{ \land }[/math] and existential quantification [math]\displaystyle{ \exists }[/math], class operations are needed that take classes representing the simpler formulas and produce classes representing the formulas with [math]\displaystyle{ \land }[/math] and [math]\displaystyle{ \exists }[/math]. To produce a class representing a formula with [math]\displaystyle{ \land }[/math], intersection used since [math]\displaystyle{ x \in A \cap B \iff x \in A \land x \in B. }[/math] To produce a class representing a formula with [math]\displaystyle{ \exists }[/math], the domain is used since [math]\displaystyle{ x \in Dom(A) \iff \exists t[(x,t) \in A]. }[/math]

Before taking the intersection, the tuples in [math]\displaystyle{ F }[/math] and [math]\displaystyle{ G }[/math] need an extra component so they have the same variables. The component [math]\displaystyle{ y }[/math] is added to the tuples of [math]\displaystyle{ F }[/math] and [math]\displaystyle{ x }[/math] is added to the tuples of [math]\displaystyle{ G }[/math]: [math]\displaystyle{ F' = \{(x, t, y): (x, t) \in F\}\, }[/math] and [math]\displaystyle{ \,G' = \{(t, y, x): (t, y) \in G\} }[/math] In the definition of [math]\displaystyle{ F', }[/math] the variable [math]\displaystyle{ y }[/math] is not restricted by the statement [math]\displaystyle{ (x, t) \in F, }[/math] so [math]\displaystyle{ y }[/math] ranges over the class [math]\displaystyle{ V }[/math] of all sets. Similarly, in the definition of [math]\displaystyle{ G', }[/math] the variable [math]\displaystyle{ x }[/math] ranges over [math]\displaystyle{ V. }[/math] So an axiom is needed that adds an extra component (whose values range over [math]\displaystyle{ V }[/math]) to the tuples of a given class.

Next, the variables are put in the same order to prepare for the intersection: [math]\displaystyle{ F'' = \{(x, y, t): (x, t) \in F\}\, }[/math] and [math]\displaystyle{ \,G'' = \{(x, y, t): (t, y) \in G\} }[/math] To go from [math]\displaystyle{ F' }[/math] to [math]\displaystyle{ F'' }[/math] and from [math]\displaystyle{ G' }[/math] to [math]\displaystyle{ G'' }[/math] requires two different permutations, so axioms that support permutations of tuple components are needed.

The intersection of [math]\displaystyle{ F'' }[/math] and [math]\displaystyle{ G'' }[/math] handles [math]\displaystyle{ \land }[/math]: [math]\displaystyle{ F'' \cap G'' = \{(x, y, t): (x, t) \in F \,\land\, (t, y) \in G\} }[/math]

Since [math]\displaystyle{ (x, y, t) }[/math] is defined as [math]\displaystyle{ ((x, y), t) }[/math], taking the domain of [math]\displaystyle{ F'' \cap G'' }[/math] handles [math]\displaystyle{ \exists t }[/math] and produces the composite function: [math]\displaystyle{ G \circ F = Dom(F'' \cap G'') = \{(x, y): \exists t ((x, t) \in F \,\land\, (t, y) \in G)\} }[/math] 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 4]}

**Axioms for handling language primitives:**

**Membership. ** There exists a class [math]\displaystyle{ E }[/math] containing all the ordered pairs whose first component is a member of the second component.

- [math]\displaystyle{ \exists E \,\forall x \,\forall y \,[(x,y) \in E \iff x \in y]\! }[/math]
^{[18]}

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

- [math]\displaystyle{ \forall A \,\forall B \,\exists C \,\forall x \,[x \in C \iff (x \in A \,\land\, x \in B)] }[/math]
^{[19]}

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

- [math]\displaystyle{ \forall A \,\exists B \,\forall x \,[x \in B \iff \neg(x \in A)] }[/math]
^{[20]}

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

- [math]\displaystyle{ \forall A \,\exists B \,\forall x \,[x \in B \iff \exists y((x,y) \in A)] }[/math]
^{[21]}

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

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 [math]\displaystyle{ E. }[/math] The intersection and complement axioms imply the existence of [math]\displaystyle{ E \cap \complement E }[/math], which is empty. By the axiom of extensionality, this class is unique; it is denoted by [math]\displaystyle{ \empty. }[/math] The complement of [math]\displaystyle{ \empty }[/math] is the class [math]\displaystyle{ V }[/math] of all sets, which is also unique by extensionality. The set predicate [math]\displaystyle{ M(A) }[/math], which was defined as [math]\displaystyle{ \exists C(A \in C) }[/math], is now redefined as [math]\displaystyle{ A \in V }[/math] to avoid quantifying over classes.

**Axioms for handling tuples:**

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

- [math]\displaystyle{ \forall A \,\exists B \,\forall u \,[u \in B \iff \exists x \, \exists y \,(u = (x, y) \land x \in A)] }[/math]
^{[23]}

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

- [math]\displaystyle{ \forall A \,\exists B \,\forall x \,\forall y \,\forall z \,[(x,y,z) \in B \iff (y,z,x) \in A] }[/math]
^{[24]}

**Transposition. ** For any class [math]\displaystyle{ A }[/math], there is a class [math]\displaystyle{ B }[/math] whose 3‑tuples are obtained by transposing the last two components of the 3‑tuples of [math]\displaystyle{ A }[/math].

- [math]\displaystyle{ \forall A \,\exists B \,\forall x \,\forall y \,\forall z \,[(x,y,z) \in B \iff (x,z,y) \in A] }[/math]
^{[25]}

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

The circular permutation and transposition axioms do not imply the existence of unique classes because they specify only the 3‑tuples of class [math]\displaystyle{ B. }[/math] By specifying the 3‑tuples, these axioms also specify the [math]\displaystyle{ n }[/math]-tuples for [math]\displaystyle{ n \ge 4 }[/math] since: [math]\displaystyle{ (x_1, \ldots, x_{n-2}, x_{n-1}, x_n) = ((x_1, \ldots, x_{n-2}), x_{n-1}, x_n). }[/math] 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** —

- [math]\displaystyle{ \forall A \,\exists B_1 \,\forall x \,\forall y \,\forall z \,[(z,x,y) \in B_1 \iff (x,y) \in A] }[/math]
- [math]\displaystyle{ \forall A \,\exists B_2 \,\forall x \,\forall y \,\forall z \,[(x,z,y) \in B_2 \iff (x,y) \in A] }[/math]
- [math]\displaystyle{ \forall A \,\exists B_3 \,\forall x \,\forall y \,\forall z \,[(x,y,z) \in B_3 \iff (x,y) \in A] }[/math]
- [math]\displaystyle{ \forall A \,\exists B_4 \,\forall x \,\forall y \,\forall z \,[(y,x) \in B_4 \iff (x,y) \in A] }[/math]

**Proof**

- Class [math]\displaystyle{ B_3 }[/math]: Apply product by [math]\displaystyle{ V }[/math] to [math]\displaystyle{ A }[/math] to produce [math]\displaystyle{ B_3. }[/math]
- Class [math]\displaystyle{ B_2 }[/math]: Apply transposition to [math]\displaystyle{ B_3 }[/math] to produce [math]\displaystyle{ B_2. }[/math]
- Class [math]\displaystyle{ B_1 }[/math]: Apply circular permutation to [math]\displaystyle{ B_3 }[/math] to produce [math]\displaystyle{ B_1. }[/math]
- Class [math]\displaystyle{ B_4 }[/math]: Apply circular permutation to [math]\displaystyle{ B_2 }[/math], then apply domain to produce [math]\displaystyle{ B_4. }[/math]

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 6]}

**Axiom of regularity. ** Every nonempty set has at least one element with which it has no element in common.
[math]\displaystyle{ \forall a\,[a \neq \empty \implies \exists u(u \in a \land u \cap a = \empty)]. }[/math]

This axiom implies that a set cannot belong to itself: Assume that [math]\displaystyle{ x \in x }[/math] and let [math]\displaystyle{ a = \{x\}. }[/math] Then [math]\displaystyle{ x \cap a \ne \empty }[/math] since [math]\displaystyle{ x \in x \cap a. }[/math] This contradicts the axiom of regularity because [math]\displaystyle{ x }[/math] is the only element in [math]\displaystyle{ a. }[/math] Therefore, [math]\displaystyle{ x \notin x. }[/math] The axiom of regularity also prohibits infinite descending membership sequences of sets: [math]\displaystyle{ \cdots \in x_{n+1} \in x_n \in \cdots \in x_1 \in x_0. }[/math]

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

### Class existence theorem

**Class existence theorem** — Let [math]\displaystyle{ \phi(x_1, \dots, x_n, Y_1, \dots, Y_m) }[/math] be a formula that quantifies only over sets and contains no free variables other than [math]\displaystyle{ x_1, \dots, x_n, Y_1, \dots, Y_m }[/math] (not necessarily all of these). Then for all [math]\displaystyle{ Y_1, \dots, Y_m }[/math], there exists a unique class [math]\displaystyle{ A }[/math] of [math]\displaystyle{ n }[/math]-tuples such that: [math]\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)]. }[/math] The class [math]\displaystyle{ A }[/math] is denoted by [math]\displaystyle{ \{(x_1, \dots , x_n): \phi(x_1, \dots, x_n, Y_1, \dots, Y_m)\}. }[/math]^{[lower-alpha 7]}

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

- Transformation rules are used to transform the given formula [math]\displaystyle{ \phi }[/math] into an equivalent formula that simplifies the inductive part of the proof. For example, the only logical symbols in the transformed formula are [math]\displaystyle{ \neg }[/math], [math]\displaystyle{ \land }[/math], and [math]\displaystyle{ \exists }[/math], so the induction handles logical symbols with just three cases.
- 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 [math]\displaystyle{ n }[/math]-tuples satisfying the formula.

**Transformation rules. ** In rules 1 and 2 below, [math]\displaystyle{ \Delta }[/math] and [math]\displaystyle{ \Gamma }[/math] denote set or class variables. These two rules eliminate all occurrences of class variables before an [math]\displaystyle{ \in }[/math] and all occurrences of equality. Each time rule 1 or 2 is applied to a subformula, [math]\displaystyle{ i }[/math] is chosen so that [math]\displaystyle{ z_i }[/math] 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 [math]\displaystyle{ \neg }[/math], [math]\displaystyle{ \land }[/math], [math]\displaystyle{ \exists }[/math], [math]\displaystyle{ \in }[/math], set variables, and class variables [math]\displaystyle{ Y_k }[/math] where [math]\displaystyle{ Y_k }[/math] does not appear before an [math]\displaystyle{ \in }[/math].

- [math]\displaystyle{ \,Y_k \in \Gamma }[/math] is transformed into [math]\displaystyle{ \exists z_i(z_i = Y_k \,\land\, z_i \in \Gamma). }[/math]
- Extensionality is used to transform [math]\displaystyle{ \Delta = \Gamma }[/math] into [math]\displaystyle{ \forall z_i(z_i \in \Delta \iff z_i \in \Gamma). }[/math]
- Logical identities are used to transform subformulas containing [math]\displaystyle{ \lor, \implies, \iff, }[/math] and [math]\displaystyle{ \forall }[/math] to subformulas that only use [math]\displaystyle{ \neg, \land, }[/math] and [math]\displaystyle{ \exists. }[/math]

**Transformation rules: bound variables. ** Consider the composite function formula of example 1 with its free set variables replaced by [math]\displaystyle{ x_1 }[/math] and [math]\displaystyle{ x_2 }[/math]: [math]\displaystyle{ \exists t[(x_1, t) \in F \,\land\, (t, x_2) \in G]. }[/math] The inductive proof will remove [math]\displaystyle{ \exists t }[/math], which produces the formula [math]\displaystyle{ (x_1, t) \in F \land (t, x_2) \in G. }[/math] 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 [math]\displaystyle{ t }[/math] with [math]\displaystyle{ x_3. }[/math] 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.

- If a formula contains no free set variables other than [math]\displaystyle{ x_1, \dots, x_n, }[/math] then bound variables that are nested within [math]\displaystyle{ q }[/math] quantifiers are replaced with [math]\displaystyle{ x_{n+q} }[/math]. These variables have
*(quantifier) nesting depth*[math]\displaystyle{ q }[/math].

**Example 2:**Rule 4 is applied to the formula [math]\displaystyle{ \phi(x_1) }[/math] that defines the class consisting of all sets of the form [math]\displaystyle{ \{\empty, \{\empty, \dots\}, \dots\}. }[/math] That is, sets that contain at least [math]\displaystyle{ \empty }[/math] and a set containing [math]\displaystyle{ \empty }[/math] — for example, [math]\displaystyle{ \{\empty, \{\empty, a, b, c\}, d, e\} }[/math] where [math]\displaystyle{ a, b, c, d, }[/math] and [math]\displaystyle{ e }[/math] are sets.[math]\displaystyle{ \begin{align} \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{align} }[/math]

Since [math]\displaystyle{ x_1 }[/math] is the only free variable, [math]\displaystyle{ n = 1. }[/math] The quantified variable [math]\displaystyle{ x_3 }[/math] appears twice in [math]\displaystyle{ x_3 \in x_2 }[/math] at nesting depth 2. Its subscript is 3 because [math]\displaystyle{ n+q = 1+2 = 3. }[/math] If two quantifier scopes are at the same nesting depth, they are either identical or disjoint. The two occurrences of [math]\displaystyle{ x_3 }[/math] 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.

**Proof of the class existence theorem for transformed formulas**

The following lemma is used in the proof.

**Expansion lemma** — Let [math]\displaystyle{ 1 \le i \lt j \le n, }[/math] and let [math]\displaystyle{ P }[/math] be a class containing all the ordered pairs [math]\displaystyle{ (x_i, x_j) }[/math] satisfying [math]\displaystyle{ R(x_i, x_j). }[/math] That is, [math]\displaystyle{ P \supseteq \{(x_i, x_j): R(x_i, x_j)\}. }[/math] Then [math]\displaystyle{ P }[/math] can be expanded into the unique class [math]\displaystyle{ Q }[/math] of [math]\displaystyle{ n }[/math]-tuples satisfying [math]\displaystyle{ R(x_i, x_j) }[/math]. That is, [math]\displaystyle{ Q = \{(x_1, \ldots , x_n): R(x_i, x_j)\}. }[/math]

Proof:

- If [math]\displaystyle{ i = 1, }[/math] let [math]\displaystyle{ P_1 = P. }[/math]Otherwise, [math]\displaystyle{ i \gt 1, }[/math] so components are added in front of [math]\displaystyle{ x_i\text{:} }[/math] apply the tuple lemma's statement 1 to [math]\displaystyle{ P }[/math] with [math]\displaystyle{ z = (x_1, \dots, x_{i-1}). }[/math] This produces a class [math]\displaystyle{ P_1 }[/math] containing all the [math]\displaystyle{ (i+1) }[/math]-tuples [math]\displaystyle{ ((x_1, \dots, x_{i-1}), x_i, x_j) = (x_1, \dots, x_{i-1}, x_i, x_j) }[/math] satisfying [math]\displaystyle{ R(x_i, x_j). }[/math]
- If [math]\displaystyle{ j = i + 1, }[/math] let [math]\displaystyle{ P_2 = P_1. }[/math]Otherwise, [math]\displaystyle{ j \gt i + 1, }[/math] so components are added between [math]\displaystyle{ x_i }[/math] and [math]\displaystyle{ x_j\text{:} }[/math] add the components [math]\displaystyle{ x_{i+1}, \dots, x_{j-1} }[/math] one by one using the tuple lemma's statement 2. This produces a class [math]\displaystyle{ P_2 }[/math] containing all the [math]\displaystyle{ j }[/math]-tuples [math]\displaystyle{ (((\cdots((x_1, \dots, x_i), x_{i+1}), \cdots), x_{j-1}), x_j) = (x_1, \dots, x_j) }[/math] satisfying [math]\displaystyle{ R(x_i, x_j). }[/math]
- If [math]\displaystyle{ j = n, }[/math] let [math]\displaystyle{ P_3 = P_2. }[/math]Otherwise, [math]\displaystyle{ j \lt n, }[/math] so components are added after [math]\displaystyle{ x_j\text{:} }[/math] add the components [math]\displaystyle{ x_{j+1}, \dots, x_n }[/math] one by one using the tuple lemma's statement 3. This produces a class [math]\displaystyle{ P_3 }[/math] containing all the [math]\displaystyle{ n }[/math]-tuples [math]\displaystyle{ ((\cdots((x_1, \dots, x_j), x_{j+1}), \cdots), x_n) = (x_1, \dots, x_n) }[/math] satisfying [math]\displaystyle{ R(x_i, x_j). }[/math]
- Let [math]\displaystyle{ Q = P_3 \cap V^n. }[/math] Extensionality implies that [math]\displaystyle{ Q }[/math] is the unique class of [math]\displaystyle{ n }[/math]-tuples satisfying [math]\displaystyle{ R(x_i, x_j). }[/math]

**Class existence theorem for transformed formulas** — Let [math]\displaystyle{ \phi(x_1, \ldots, x_n, Y_1, \ldots, Y_m) }[/math] be a formula that:

- contains no free variables other than [math]\displaystyle{ x_1, \ldots, x_n, Y_1, \ldots, Y_m }[/math];
- contains only [math]\displaystyle{ \in }[/math], [math]\displaystyle{ \neg }[/math], [math]\displaystyle{ \land }[/math], [math]\displaystyle{ \exists }[/math], set variables, and the class variables [math]\displaystyle{ Y_k }[/math] where [math]\displaystyle{ Y_k }[/math] does not appear before an [math]\displaystyle{ \in }[/math] ;
- only quantifies set variables [math]\displaystyle{ x_{n+q} }[/math] where [math]\displaystyle{ q }[/math] is the quantifier nesting depth of the variable.

Then for all [math]\displaystyle{ Y_1, \dots, Y_m }[/math], there exists a unique class [math]\displaystyle{ A }[/math] of [math]\displaystyle{ n }[/math]-tuples such that: [math]\displaystyle{ \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)]. }[/math]

Proof: Basis step: [math]\displaystyle{ \phi }[/math] has 0 logical symbols. The theorem's hypothesis implies that [math]\displaystyle{ \phi }[/math] is an atomic formula of the form [math]\displaystyle{ x_i \in x_j }[/math] or [math]\displaystyle{ x_i \in Y_k. }[/math]

Case 1: If [math]\displaystyle{ \phi }[/math] is [math]\displaystyle{ x_i \in x_j }[/math], we build the class [math]\displaystyle{ E_{i,j,n} = \{(x_1, \ldots, x_{n}): x_i \in x_j\}, }[/math] the unique class of [math]\displaystyle{ n }[/math]-tuples satisfying [math]\displaystyle{ x_i \in x_j. }[/math]

Case a: [math]\displaystyle{ \phi }[/math] is [math]\displaystyle{ x_i \in x_j }[/math] where [math]\displaystyle{ i \lt j. }[/math] The axiom of membership produces a class [math]\displaystyle{ P }[/math] containing all the ordered pairs [math]\displaystyle{ (x_i, x_j) }[/math] satisfying [math]\displaystyle{ x_i \in x_j. }[/math] Apply the expansion lemma to [math]\displaystyle{ P }[/math] to obtain [math]\displaystyle{ E_{i,j,n} = \{(x_1, \ldots, x_{n}): x_i \in x_j\}. }[/math]

Case b: [math]\displaystyle{ \phi }[/math] is [math]\displaystyle{ x_i \in x_j }[/math] where [math]\displaystyle{ i \gt j. }[/math] The axiom of membership produces a class [math]\displaystyle{ P }[/math] containing all the ordered pairs [math]\displaystyle{ (x_i, x_j) }[/math] satisfying [math]\displaystyle{ x_i \in x_j. }[/math] Apply the tuple lemma's statement 4 to [math]\displaystyle{ P }[/math] to obtain [math]\displaystyle{ P' }[/math] containing all the ordered pairs [math]\displaystyle{ (x_j, x_i) }[/math] satisfying [math]\displaystyle{ x_i \in x_j. }[/math] Apply the expansion lemma to [math]\displaystyle{ P' }[/math] to obtain [math]\displaystyle{ E_{i,j,n} = \{(x_1, \ldots, x_{n}): x_i \in x_j\}. }[/math]

Case c: [math]\displaystyle{ \phi }[/math] is [math]\displaystyle{ x_i \in x_j }[/math] where [math]\displaystyle{ i = j. }[/math] Since this formula is false by the axiom of regularity, no [math]\displaystyle{ n }[/math]-tuples satisfy it, so [math]\displaystyle{ E_{i,j,n} = \empty. }[/math]

Case 2: If [math]\displaystyle{ \phi }[/math] is [math]\displaystyle{ x_i \in Y_k }[/math], we build the class [math]\displaystyle{ E_{i,Y_k,n} = \{(x_1, \ldots, x_{n}): x_i \in Y_k\}, }[/math] the unique class of [math]\displaystyle{ n }[/math]-tuples satisfying [math]\displaystyle{ x_i \in Y_k. }[/math]

Case a: [math]\displaystyle{ \phi }[/math] is [math]\displaystyle{ x_i \in Y_k }[/math] where [math]\displaystyle{ i \lt n. }[/math] Apply the axiom of product by [math]\displaystyle{ V }[/math] to [math]\displaystyle{ Y_k }[/math] to produce the class [math]\displaystyle{ P = Y_k \times V = \{(x_i, x_{i+1}): x_i \in Y_k\}. }[/math] Apply the expansion lemma to [math]\displaystyle{ P }[/math] to obtain [math]\displaystyle{ E_{i,Y_k,n} = \{(x_1, \ldots, x_{n}): x_i \in Y_k\}. }[/math]

Case b: [math]\displaystyle{ \phi }[/math] is [math]\displaystyle{ x_i \in Y_k }[/math] where [math]\displaystyle{ i = n \gt 1. }[/math] Apply the axiom of product by [math]\displaystyle{ V }[/math] to [math]\displaystyle{ Y_k }[/math] to produce the class [math]\displaystyle{ P = Y_k \times V = \{(x_i, x_{i-1}): x_i \in Y_k\}. }[/math] Apply the tuple lemma's statement 4 to [math]\displaystyle{ P }[/math] to obtain [math]\displaystyle{ P' = V \times Y_k = \{(x_{i-1}, x_i): x_i \in Y_k\}. }[/math] Apply the expansion lemma to [math]\displaystyle{ P' }[/math] to obtain [math]\displaystyle{ E_{i,Y_k,n} = \{(x_1, \ldots, x_{n}): x_i \in Y_k\}. }[/math]

Case c: [math]\displaystyle{ \phi }[/math] is [math]\displaystyle{ x_i \in Y_k }[/math] where [math]\displaystyle{ i = n = 1. }[/math] Then [math]\displaystyle{ E_{i,Y_k,n} = Y_k. }[/math]

Inductive step: [math]\displaystyle{ \phi }[/math] has [math]\displaystyle{ k }[/math] logical symbols where [math]\displaystyle{ k\gt 0 }[/math]. Assume the induction hypothesis that the theorem is true for all [math]\displaystyle{ \psi }[/math] with less than [math]\displaystyle{ k }[/math] logical symbols. We now prove the theorem for [math]\displaystyle{ \phi }[/math] with [math]\displaystyle{ k }[/math] logical symbols. In this proof, the list of class variables [math]\displaystyle{ Y_1, \dots, Y_m }[/math] is abbreviated by [math]\displaystyle{ \vec{Y} }[/math], so a formula—such as [math]\displaystyle{ \phi(x_1, \dots, x_n, Y_1, \dots, Y_m) }[/math]—can be written as [math]\displaystyle{ \phi(x_1, \dots, x_n, \vec{Y}). }[/math]

Case 1: [math]\displaystyle{ \phi(x_1, \ldots, x_n, \vec{Y}) = \neg \psi(x_1, \ldots, x_n, \vec{Y}). }[/math] Since [math]\displaystyle{ \psi }[/math] has [math]\displaystyle{ k-1 }[/math] logical symbols, the induction hypothesis implies that there is a unique class [math]\displaystyle{ A }[/math] of [math]\displaystyle{ n }[/math]-tuples such that:
[math]\displaystyle{ \quad(x_1, \ldots , x_n) \in A \iff \psi(x_1, \ldots, x_n, \vec{Y}). }[/math]
By the complement axiom, there is a class [math]\displaystyle{ \complement A }[/math] such that [math]\displaystyle{ \forall u\,[u\in \complement A \iff \neg(u \in A)]. }[/math] However, [math]\displaystyle{ \complement A }[/math] contains elements other than [math]\displaystyle{ n }[/math]-tuples if [math]\displaystyle{ n \gt 1. }[/math] To eliminate these elements, use [math]\displaystyle{ \complement_{V^n} A =\, }[/math][math]\displaystyle{ \complement A \cap V^n =\, }[/math][math]\displaystyle{ V^n \setminus A, }[/math] which is the complement relative to the class [math]\displaystyle{ V^n }[/math] of all [math]\displaystyle{ n }[/math]-tuples.^{[lower-alpha 5]} Then, by extensionality, [math]\displaystyle{ \complement_{V^n} A }[/math] is the unique class of [math]\displaystyle{ n }[/math]-tuples such that:
[math]\displaystyle{ \begin{alignat}{2}
\quad&(x_1, \ldots, x_n) \in \complement_{V^n} A &&\iff \neg [(x_1, \ldots , x_n) \in A] \\
& &&\iff \neg \psi(x_1, \ldots, x_n, \vec{Y}) \\
& &&\iff \phi(x_1, \ldots, x_n, \vec{Y}).
\end{alignat} }[/math]

Case 2: [math]\displaystyle{ \phi(x_1, \ldots, x_n, \vec{Y}) = \psi_1(x_1, \ldots, x_n, \vec{Y}) \land \psi_2(x_1, \ldots, x_n, \vec{Y}). }[/math] Since both [math]\displaystyle{ \psi_1 }[/math] and [math]\displaystyle{ \psi_2 }[/math] have less than [math]\displaystyle{ k }[/math] logical symbols, the induction hypothesis implies that there are unique classes of [math]\displaystyle{ n }[/math]-tuples, [math]\displaystyle{ A_1 }[/math] and [math]\displaystyle{ A_2 }[/math], such that:

- [math]\displaystyle{ \begin{align} \quad&(x_1, \ldots , x_n) \in A_1 \iff \psi_1(x_1, \ldots, x_n, \vec{Y}). \\ &(x_1, \ldots , x_n) \in A_2 \iff \psi_2(x_1, \ldots, x_n, \vec{Y}). \end{align} }[/math]

By the axioms of intersection and extensionality, [math]\displaystyle{ A_1 \cap A_2 }[/math] is the unique class of [math]\displaystyle{ n }[/math]-tuples such that: [math]\displaystyle{ \begin{alignat}{2} \quad&(x_1, \ldots, x_n) \in A_1 \cap A_2 &&\iff (x_1, \ldots, x_n) \in A_1 \land (x_1, \ldots, x_n) \in A_2 \\ & &&\iff \psi_1(x_1, \ldots, x_n, \vec{Y}) \land \psi_2(x_1, \ldots, x_n, \vec{Y}) \\ & &&\iff \phi(x_1, \ldots, x_n, \vec{Y}). \end{alignat} }[/math]

Case 3: [math]\displaystyle{ \phi(x_1, \ldots, x_n, \vec{Y}) = \exists x_{n+1} \psi(x_1, \ldots, x_n, x_{n+1}, \vec{Y}). }[/math] The quantifier nesting depth of [math]\displaystyle{ \psi }[/math] is one more than that of [math]\displaystyle{ \phi }[/math] and the additional free variable is [math]\displaystyle{ x_{n+1}. }[/math] Since [math]\displaystyle{ \psi }[/math] has [math]\displaystyle{ k-1 }[/math] logical symbols, the induction hypothesis implies that there is a unique class [math]\displaystyle{ A }[/math] of [math]\displaystyle{ (n+1) }[/math]-tuples such that:
[math]\displaystyle{ \quad(x_1, \ldots, x_n, x_{n+1}) \in A \iff \psi(x_1, \ldots, x_n, x_{n+1}, \vec{Y}). }[/math]
By the axioms of domain and extensionality, [math]\displaystyle{ Dom(A) }[/math] is the unique class of [math]\displaystyle{ n }[/math]-tuples such that:^{[lower-alpha 8]}
[math]\displaystyle{ \begin{alignat}{2}
\quad&(x_1, \ldots, x_n) \in Dom(A) &&\iff \exists x_{n+1}[((x_1, \ldots, x_n), x_{n+1}) \in A] \\
& &&\iff \exists x_{n+1}[(x_1, \ldots, x_n, x_{n+1}) \in A] \\
& &&\iff \exists x_{n+1}\,\psi(x_1, \ldots, x_n, x_{n+1}, \vec{Y}) \\
& &&\iff \phi(x_1, \ldots, x_n, \vec{Y}).
\end{alignat} }[/math]

Gödel pointed out that the class existence theorem "is a metatheorem, that is, a theorem about the system [NBG], not in the system …"^{[30]} 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, the 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 9]}
[math]\displaystyle{ \begin{array}{l}
\mathbf{function} \;\text{Class}(\phi, \,n) \\
\quad\begin{array}{rl}
\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{array}
\\
\mathbf{begin} \\
\quad \mathbf{case} \;\phi \;\mathbf{of} \\
\qquad \begin{alignat}{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{alignat} \\
\quad \mathbf{end} \\
\mathbf{end}
\end{array} }[/math]

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

[math]\displaystyle{ \begin{alignat}{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{alignat} }[/math]

### Extending the class existence theorem

Gödel extended the class existence theorem to formulas [math]\displaystyle{ \phi }[/math] containing relations over classes (such as [math]\displaystyle{ Y_1 \subseteq Y_2 }[/math] and the unary relation [math]\displaystyle{ M(Y_1) }[/math]), special classes (such as [math]\displaystyle{ Ord }[/math] ), and operations (such as [math]\displaystyle{ (x_1, x_2) }[/math] and [math]\displaystyle{ x_1 \cap Y_1 }[/math]).^{[32]} To extend the class existence theorem, the formulas defining relations, special classes, and operations must quantify only over sets. Then [math]\displaystyle{ \phi }[/math] 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:

- A relation [math]\displaystyle{ R }[/math] is defined by: [math]\displaystyle{ R(Z_1, \dots, Z_k) \iff \psi_R(Z_1, \dots, Z_k). }[/math]
- A special class [math]\displaystyle{ C }[/math] is defined by: [math]\displaystyle{ u \in C \iff \psi_C(u). }[/math]
- An operation [math]\displaystyle{ P }[/math] is defined by: [math]\displaystyle{ u \in P(Z_1, \dots, Z_k) \iff \psi_P(u, Z_1, \dots, Z_k). }[/math]

A *term* is defined by:

- Variables and special classes are terms.
- If [math]\displaystyle{ P }[/math] is an operation with [math]\displaystyle{ k }[/math] arguments and [math]\displaystyle{ \Gamma_1, \dots, \Gamma_k }[/math] are terms, then [math]\displaystyle{ P(\Gamma_1, \dots, \Gamma_k) }[/math] 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, [math]\displaystyle{ i }[/math] is chosen so that [math]\displaystyle{ z_i }[/math] differs from the other variables in the current formula. The rules are repeated until there are no subformulas to which they can be applied. [math]\displaystyle{ \, \Gamma_1, \dots, \Gamma_k, \Gamma, }[/math] and [math]\displaystyle{ \Delta }[/math] denote terms.

- A relation [math]\displaystyle{ R(Z_1, \dots, Z_k) }[/math] is replaced by its defining formula [math]\displaystyle{ \psi_R(Z_1, \dots, Z_k). }[/math]
- Let [math]\displaystyle{ \psi_C(u) }[/math] be the defining formula for the special class [math]\displaystyle{ C. }[/math]
- [math]\displaystyle{ \Delta \in C }[/math] is replaced by [math]\displaystyle{ \psi_C(\Delta). }[/math]
- [math]\displaystyle{ C \in \Delta }[/math] is replaced by [math]\displaystyle{ \exists z_i[z_i = C \land z_i \in \Delta]. }[/math]

- Let [math]\displaystyle{ \psi_P(u, Z_1, \dots, Z_k) }[/math] be the defining formula for the operation [math]\displaystyle{ P(Z_1, \dots, Z_k). }[/math]
- [math]\displaystyle{ \Delta \in P(\Gamma_1, \dots, \Gamma_k) }[/math] is replaced by [math]\displaystyle{ \psi_P(\Delta, \Gamma_1, \dots, \Gamma_k). }[/math]
- [math]\displaystyle{ P(\Gamma_1, \dots, \Gamma_k) \in \Delta }[/math] is replaced by [math]\displaystyle{ \exists z_i[z_i = P(\Gamma_1, \dots, \Gamma_k) \land z_i \in \Delta]. }[/math]

- Extensionality is used to transform [math]\displaystyle{ \Delta = \Gamma }[/math] into [math]\displaystyle{ \forall z_i(z_i \in \Delta \iff z_i \in \Gamma). }[/math]

**Example 3:**Transforming [math]\displaystyle{ Y_1 \subseteq Y_2. }[/math][math]\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)} }[/math]

**Example 4:**Transforming [math]\displaystyle{ x_1 \cap Y_1 \in x_2. }[/math][math]\displaystyle{ \begin{alignat}{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{alignat} }[/math]

This example illustrates how the transformation rules work together to eliminate an operation.

**Class existence theorem (extended version)** — Let [math]\displaystyle{ \phi(x_1, \dots, x_n, Y_1, \dots, Y_m) }[/math] be a formula that quantifies only over sets, contains no free variables other than [math]\displaystyle{ x_1, \dots, x_n, Y_1, \dots, Y_m }[/math], and may contain relations, special classes, and operations defined by formulas that quantify only over sets. Then for all [math]\displaystyle{ Y_1, \dots, Y_m, }[/math] there exists a unique class [math]\displaystyle{ A }[/math] of [math]\displaystyle{ n }[/math]-tuples such that [math]\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)]. }[/math]^{[lower-alpha 10]}

**Proof**

Apply the transformation rules to [math]\displaystyle{ \phi }[/math] 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 [math]\displaystyle{ Y_1, \dots, Y_m, }[/math] there is a unique class [math]\displaystyle{ A }[/math] of [math]\displaystyle{ n }[/math]-tuples satisfying [math]\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)]. }[/math]

### 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. ** [math]\displaystyle{ F }[/math] is a function if [math]\displaystyle{ F \subseteq V^2 \land \forall x\, \forall y\, \forall z\, [(x,y) \in F \,\land\, (x,z) \in F \implies y = z]. }[/math]

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 of image, union, and power set are also generalized to class operations. The image of class [math]\displaystyle{ A }[/math] under the function [math]\displaystyle{ F }[/math] is [math]\displaystyle{ F[A] = \{y: \exists x(x \in A \,\land\, (x, y) \in F)\}. }[/math] This definition does not require that [math]\displaystyle{ A \subseteq Dom(F). }[/math] The union of class [math]\displaystyle{ A }[/math] is [math]\displaystyle{ \cup A = \{x: \exists y(x \in y\, \,\land\, y \in A)\}. }[/math] The power class of [math]\displaystyle{ A }[/math] is [math]\displaystyle{ \mathcal{P}(A) = \{x: x \subseteq A\}. }[/math] 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.^{[34]}

**Axiom of replacement. ** If [math]\displaystyle{ F }[/math] is a function and [math]\displaystyle{ a }[/math] is a set, then [math]\displaystyle{ F[a] }[/math], the image of [math]\displaystyle{ a }[/math] under [math]\displaystyle{ F }[/math], is a set.
[math]\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))]. }[/math]

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

**Theorem (NBG's axiom of separation)** — If [math]\displaystyle{ a }[/math] is a set and [math]\displaystyle{ B }[/math] is a subclass of [math]\displaystyle{ a, }[/math] then [math]\displaystyle{ B }[/math] is a set.

**Proof**

The class existence theorem constructs the restriction of the identity function to [math]\displaystyle{ B }[/math]: [math]\displaystyle{ I{\restriction_B} = \{(x_1, x_2): x_1 \in B \land x_2 = x_1\}. }[/math] Since the image of [math]\displaystyle{ a }[/math] under [math]\displaystyle{ I{\restriction_B} }[/math] is [math]\displaystyle{ B }[/math], the axiom of replacement implies that [math]\displaystyle{ B }[/math] is a set. This proof depends on the definition of image not having the requirement [math]\displaystyle{ a \subseteq Dom(F) }[/math] since [math]\displaystyle{ Dom(I{\restriction_B}) = B \subseteq a }[/math] rather than [math]\displaystyle{ a \subseteq Dom(I{\restriction_B}). }[/math]

**Axiom of union. ** If [math]\displaystyle{ a }[/math] is a set, then there is a set containing [math]\displaystyle{ \cup a. }[/math]
[math]\displaystyle{ \forall a\, \exists b\, \forall x\,[\,\exists y(x \in y\, \,\land\, y \in a) \implies x \in b\,]. }[/math]

**Axiom of power set. ** If [math]\displaystyle{ a }[/math] is a set, then there is a set containing [math]\displaystyle{ \mathcal{P}(a). }[/math]

- [math]\displaystyle{ \forall a\, \exists b\, \forall x\, (x \subseteq a \implies x \in b). }[/math]
^{[lower-alpha 11]}

**Theorem** — If [math]\displaystyle{ a }[/math] is a set, then [math]\displaystyle{ \cup a }[/math] and [math]\displaystyle{ \mathcal{P}(a) }[/math] are sets.

**Proof**

The axiom of union states that [math]\displaystyle{ \cup a }[/math] is a subclass of a set [math]\displaystyle{ b }[/math], so the axiom of separation implies [math]\displaystyle{ \cup a }[/math] is a set. Likewise, the axiom of power set states that [math]\displaystyle{ \mathcal{P}(a) }[/math] is a subclass of a set [math]\displaystyle{ b }[/math], so the axiom of separation implies that [math]\displaystyle{ \mathcal{P}(a) }[/math] is a set.

**Axiom of infinity. ** There exists a nonempty set [math]\displaystyle{ a }[/math] such that for all [math]\displaystyle{ x }[/math] in [math]\displaystyle{ a }[/math], there exists a [math]\displaystyle{ y }[/math] in [math]\displaystyle{ a }[/math] such that [math]\displaystyle{ x }[/math] is a proper subset of [math]\displaystyle{ y }[/math].
[math]\displaystyle{ \exists a\, [\exists u(u \in a) \,\land\, \forall x(x \in a \implies \exists y(y \in a \,\land\, x \subset y))]. }[/math]

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 [math]\displaystyle{ \empty }[/math] was proved. We now prove that [math]\displaystyle{ \empty }[/math] is a set. Let function [math]\displaystyle{ F = \empty }[/math] and let [math]\displaystyle{ a }[/math] be the set given by the axiom of infinity. By replacement, the image of [math]\displaystyle{ a }[/math] under [math]\displaystyle{ F }[/math], which equals [math]\displaystyle{ \empty }[/math], is a set.

NBG's axiom of infinity is implied by ZFC's axiom of infinity: [math]\displaystyle{ \,\exists a\, [\empty \in a \,\land\, \forall x(x \in a \implies x \cup \{x\} \in a)].\, }[/math] The first conjunct of ZFC's axiom, [math]\displaystyle{ \empty \in a }[/math], implies the first conjunct of NBG's axiom. The second conjunct of ZFC's axiom, [math]\displaystyle{ \forall x(x \in a \implies x \cup \{x\} \in a) }[/math], implies the second conjunct of NBG's axiom since [math]\displaystyle{ x \subset x \cup \{x\}. }[/math] 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 12]}

### Axiom of global choice

The class concept allows NBG to have a stronger axiom of choice than ZFC. A choice function is a function [math]\displaystyle{ f }[/math] defined on a set [math]\displaystyle{ s }[/math] of nonempty sets such that [math]\displaystyle{ f(x) \in x }[/math] for all [math]\displaystyle{ x \in s. }[/math] 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 [math]\displaystyle{ G }[/math] defined on the class of all nonempty sets such that [math]\displaystyle{ G(x) \in x }[/math] for every nonempty set [math]\displaystyle{ x. }[/math] 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 [math]\displaystyle{ s }[/math] of nonempty sets, [math]\displaystyle{ G\vert_s }[/math] (the restriction of [math]\displaystyle{ G }[/math] to [math]\displaystyle{ s }[/math]) is a choice function for [math]\displaystyle{ s. }[/math] 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.^{[38]} 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 13]}

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

- [math]\displaystyle{ \exists G\,[G \text{ is a function}\, \land \forall x(x \ne \empty \implies \exists y(y \in x \land (x,y) \in G))]. }[/math]

## 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.^{[39]} 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 {*Z*_{0}, *Z*_{1}, *Z*_{2}, ...} where *Z*_{0} is the set of natural numbers and *Z*_{n+1} is the power set of *Z*_{n}. They then introduced the axiom of replacement, which would guarantee the existence of such sets.^{[40]}^{[lower-alpha 14]} 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".^{[42]}

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 15]} - Solution: Von Neumann recovered Cantor's theory by defining the ordinals using sets that are well-ordered by the ∈-relation,
^{[lower-alpha 16]}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 15]}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."^{[45]}

- Problem: Cantor's theory of ordinal numbers cannot be developed in Zermelo set theory because it lacks the axiom of replacement.
**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 17]} - 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*.^{[48]}^{[lower-alpha 18]}

- 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.
**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.
^{[50]}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 19]}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.^{[51]}In 1961, Richard Montague proved that ZFC cannot be finitely axiomatized.^{[52]}

**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*.^{[lower-alpha 20]} - 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."
^{[54]}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 21]}

- 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

### 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."^{[57]}

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*."^{[58]}

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:

- If
*S*is consistent, then*S*+ Regularity is consistent. *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

File:ETH-BIB-Bernays, Paul (1888-1977)-Portrait-Portr 00025 (cropped).tif
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.^{[59]} 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 ofPrincipia Mathematicawhich have become familiar to logicians. As will be seen, a considerable simplification results from this arrangement.^{[60]}

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.^{[61]}

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

In 1931, Bernays sent a letter containing his set theory to Kurt Gödel.^{[36]} 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.^{[62]}^{[lower-alpha 22]} Gödel used his axioms in his 1940 monograph on the relative consistency of global choice and the generalized continuum hypothesis.^{[63]}

Several reasons have been given for Gödel choosing NBG for his monograph:^{[lower-alpha 23]}

- 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."
^{[67]}^{[lower-alpha 24]} - 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**."^{[68]} - 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]."
^{[69]}

Gödel's achievement together with the details of his presentation led to the prominence that NBG would enjoy for the next two decades.^{[70]} 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.^{[71]} Later, ZFC became more popular than NBG. This was caused by several factors, including the extra work required to handle forcing in NBG,^{[72]} Cohen's 1966 presentation of forcing, which used ZF,^{[73]}^{[lower-alpha 25]} and the proof that NBG is a conservative extension of ZFC.^{[lower-alpha 26]}

## 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, it is a theorem of NBG that the global axiom of choice 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 27]}

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,^{[76]} 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

*X*⊆

*V*, and let Def(

_{κ}*X*) denote the class of first-order definable subsets of

*X*with parameters. In symbols where "[math]\displaystyle{ (X,\in) }[/math]" denotes the model with domain [math]\displaystyle{ X }[/math] and relation [math]\displaystyle{ \in }[/math], and "[math]\displaystyle{ \models }[/math]" denotes the satisfaction relation: [math]\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\}. }[/math]

Then:

- (
*V*_{κ}, ∈) and (*L*_{κ}, ∈) are models of ZFC.^{[77]} - (
*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.^{[78]}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.^{[79]}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.^{[lower-alpha 28]}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 [math]\displaystyle{ E }[/math] is defined by: [math]\displaystyle{ E = \{x \in V_\kappa: (V_\kappa,\in) \models \exists u \ \exists v [x = (u, v) \land u \in v]\}. }[/math] - (
*L*_{κ},*L*_{κ+}, ∈), where κ^{+}is the successor cardinal of κ, is a model of NBG.^{[lower-alpha 29]}NBG's class existence axioms are true in (*L*_{κ},*L*_{κ+}, ∈). For example, the membership axiom holds since the class [math]\displaystyle{ E }[/math] is defined by: [math]\displaystyle{ E = \{x \in L_\kappa: (L_\kappa,\in) \models \exists u \ \exists v [x = (u, v) \land u \in v]\}. }[/math] So*E*∈ 𝒫(*L*_{κ}). In his proof that GCH is true in*L*, Gödel proved that 𝒫(*L*_{κ}) ⊆*L*_{κ+}.^{[81]}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.^{[82]} On whether an ontology including classes as well as sets is adequate for category theory, see Muller 2001.

## Notes

- ↑ Axiom of global choice explains why it is provably stronger.
- ↑ 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*."^{[11]} - ↑ Gödel defined [math]\displaystyle{ (x_1, x_2, \ldots, x_n) = (x_1, (x_2, \ldots, x_n)) }[/math] .
^{[15]}This affects the statements of some of his definitions, axioms, and theorems. This article uses Mendelson's definition.^{[16]} - ↑ 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.
^{[17]}The names for the tuple-handling axioms are from the French Wikipédia article: Théorie des ensembles de von Neumann. - ↑
^{5.0}^{5.1}This article uses Bourbaki's complement notation [math]\displaystyle{ \complement A }[/math] and relative complement notation [math]\displaystyle{ \complement_X A = \complement A \cap X }[/math].^{[22]}This prefix relative complement notation is used by the class existence theorem to mirror the prefix logical not ([math]\displaystyle{ \neg }[/math]). - ↑ Since Gödel states this axiom before he proves the existence of the empty class, he states it without using the empty class.
^{[5]} - ↑ 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".
^{[28]}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,^{[29]}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 [math]\displaystyle{ n }[/math]-tuples are generated at the end of the basis and inductive steps (which require Bernays' stronger product by [math]\displaystyle{ V }[/math] 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. - ↑ One detail has been left out of this proof. Gödel's convention is being used, so [math]\displaystyle{ \exist x\, \phi(x) }[/math] is defined to be [math]\displaystyle{ \exist x[\exist C (x \in C) \land \phi(x)]. }[/math] Since this formula quantifies over classes, it must be replaced with the equivalent [math]\displaystyle{ \exist x[x \in V \land \phi(x)]. }[/math] Then the three formulas in the proof having the form [math]\displaystyle{ \exist x_{n+1}[x_{n+1} \land \dots] }[/math] become [math]\displaystyle{ \exist x_{n+1}[x_{n+1} \in V \land \dots], }[/math] which produces a valid proof.
- ↑ 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.
^{[31]} - ↑ 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 [math]\displaystyle{ n }[/math]-tuples satisfying [math]\displaystyle{ \phi }[/math], but which may contain elements that are not [math]\displaystyle{ n }[/math]-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 [math]\displaystyle{ A \times B = \{x: \exists y \exists z[x = (y, z) \land y \in A \land z \in B]\}, }[/math] which is unique by extensionality. He used [math]\displaystyle{ A \times B }[/math] to define [math]\displaystyle{ V^n. }[/math] Theorem M4 is obtained from M3 by intersecting the class produced by M3 with [math]\displaystyle{ V^n }[/math] to produce the unique class of [math]\displaystyle{ n }[/math]-tuples satisfying the given formula. Gödel's approach, especially his use of M3 to define [math]\displaystyle{ A \times B }[/math], eliminates the need for Bernays' stronger form of the product by [math]\displaystyle{ V }[/math] axiom.
^{[33]} - ↑ 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.
^{[35]}Bernays published his axioms after Gödel, but had sent them to Gödel in 1931.^{[36]} - ↑ 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.
^{[37]} - ↑ For [math]\displaystyle{ V }[/math] 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.
- ↑ In 1917, Dmitry Mirimanoff published a form of replacement based on cardinal equivalence.
^{[41]} - ↑
^{15.0}^{15.1}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."^{[43]} - ↑ 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 ∈.
^{[44]} - ↑ 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^{[46]}and from α ∈ V_{β}implying α < β.^{[47]} - ↑ Von Neumann stated his axiom in an equivalent functional form.
^{[49]} - ↑ 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.
- ↑ Mirimanoff defined well-founded sets in 1917.
^{[53]} - ↑ 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."
^{[55]}However, Bernays did not publish the part of his axiom system containing regularity until 1941.^{[56]} - ↑ Proof that von Neumann's axiom implies global choice: Let [math]\displaystyle{ R = \{(x, y): x \ne \empty \land y \in x\}. }[/math] Von Neumann's axiom implies there is a function [math]\displaystyle{ G \subseteq R }[/math] such that [math]\displaystyle{ Dom(G) = Dom(R). }[/math] The function [math]\displaystyle{ G }[/math] is a global choice function since for all nonempty sets [math]\displaystyle{ x, }[/math] [math]\displaystyle{ G(x) \in x. }[/math]

Proof that global choice implies von Neumann's axiom: Let [math]\displaystyle{ G }[/math] be a global choice function, and let [math]\displaystyle{ R }[/math] be a relation. For [math]\displaystyle{ x \in Dom(R), }[/math] let [math]\displaystyle{ \alpha(x) = \text{least}\,\{\alpha: \exists y[(x, y) \in R \cap V_\alpha]\} }[/math] where [math]\displaystyle{ V_\alpha }[/math] is the set of all sets having rank less than [math]\displaystyle{ \alpha. }[/math] Let [math]\displaystyle{ z_x = \{y: (x, y) \in R \cap V_{\alpha(x)}\}. }[/math] Then [math]\displaystyle{ F = \{(x, G(z_x)): x \in Dom(R)\} }[/math] is a function that satisfies von Neumann's axiom since [math]\displaystyle{ F \subseteq R }[/math] and [math]\displaystyle{ Dom(F) = Dom(R). }[/math] - ↑ 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*".^{[64]}His 1939 sketch of his proof is for Zermelo set theory and ZF.^{[65]}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 ...".^{[66]} - ↑ 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. 35–46 or Cohen 1966, pp. 99–103.
- ↑ Cohen also gave a detailed proof of Gödel's relative consistency theorems using ZF.
^{[74]} - ↑ 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.
^{[75]} - ↑ Both conclusions follow from the conclusion that every proper class can be put into one-to-one correspondence with the class of all ordinals. A proof of this is outlined in Kanamori 2009, p. 53.
- ↑ Easton built a model of Mendelson's version of NBG in which ZFC's axiom of choice holds but global choice fails.
- ↑ 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}.^{[80]}

## References

- ↑
^{1.0}^{1.1}von Neumann 1925, pp. 221–224, 226, 229; English translation: van Heijenoort 2002b, pp. 396–398, 400, 403. - ↑
^{2.0}^{2.1}^{2.2}^{2.3}Bernays 1937, pp. 66–67. - ↑ Gödel 1940, p.
^{[page needed]}. - ↑ Gödel 1940, pp. 3–7.
- ↑
^{5.0}^{5.1}^{5.2}Gödel 1940, p. 6. - ↑ Gödel 1940, p. 25.
- ↑ Gödel 1940, pp. 35–38.
- ↑
^{8.0}^{8.1}"The Neumann-Bernays-Gödel axioms".*Encyclopædia Britannica*. https://www.britannica.com/science/set-theory/The-Neumann-Bernays-Godel-axioms. Retrieved 17 January 2019. - ↑
^{9.0}^{9.1}Gödel 1940, p. 3. - ↑ Mendelson 1997, pp. 225–226.
- ↑ Bernays 1937, p. 66.
- ↑ Mendelson 1997, p. 226.
- ↑ Gödel's axiom A3 (Gödel 1940, p. 3).
- ↑ Gödel's axiom A4 (Gödel 1940, p. 3).
- ↑ Gödel 1940, p. 4).
- ↑ Mendelson 1997, p. 230.
- ↑ Kanamori 2009, p. 56; Bernays 1937, p. 69; Gödel 1940, pp. 5, 9; Mendelson 1997, p. 231.
- ↑ Gödel's axiom B1 (Gödel 1940, p. 5).
- ↑ Gödel's axiom B2 (Gödel 1940, p. 5).
- ↑ Gödel's axiom B3 (Gödel 1940, p. 5).
- ↑ Gödel's axiom B4 (Gödel 1940, p. 5).
- ↑ Bourbaki 2004, p. 71.
- ↑ Bernays' axiom b(3) (Bernays 1937, p. 5).
- ↑ Gödel's axiom B7 (Gödel 1940, p. 5).
- ↑ Gödel's axiom B8 (Gödel 1940, p. 5).
- ↑ Gödel 1940, p. 6; Kanamori 2012, p. 70.
- ↑ 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.
- ↑ Dawson 1997, p. 134.
- ↑ Gödel 1940, pp. 8–11
- ↑ Gödel 1940, p. 11.
- ↑ Gray 1991.
- ↑ Gödel 1940, pp. 11–13.
- ↑ Gödel 1940, pp. 8–15.
- ↑ Gödel 1940, pp. 16–18.
- ↑ Bernays 1941, p. 2; Gödel 1940, p. 5).
- ↑
^{36.0}^{36.1}Kanamori 2009, p. 48; Gödel 2003, pp. 104–115. - ↑ Mendelson 1997, pp. 228, 239.
- ↑ Easton 1964, pp. 56a–64.
- ↑ von Neumann 1925, von Neumann 1928.
- ↑ Ferreirós 2007, p. 369.
- ↑ Mirimanoff 1917, p. 49.
- ↑ Kanamori 2012, p. 62.
- ↑ Hallett 1984, p. 280.
- ↑ Kunen 1980, p. 16.
- ↑ von Neumann 1925, p. 223 (footnote); English translation: van Heijenoort 2002b, p. 398 (footnote).
- ↑ Kanamori 2012, p. 61
- ↑ Kunen 1980, pp. 95–96. Uses the notation R(β) instead of
*V*_{β}. - ↑ Hallett 1984, pp. 288–290.
- ↑ von Neumann 1925, p. 225; English translation: van Heijenoort 2002b, p. 400.
- ↑ Fraenkel,
*Historical Introduction*in Bernays 1991, p. 13. - ↑ von Neumann 1925, pp. 224–226; English translation: van Heijenoort 2002b, pp. 399–401.
- ↑ Montague 1961.
- ↑ Mirimanoff 1917, p. 41.
- ↑ von Neumann 1925, pp. 230–232; English translation: van Heijenoort 2002b, pp. 404–405.
- ↑ Kanamori 2009, pp. 53–54.
- ↑ Bernays 1941, p. 6.
- ↑ von Neumann 1929, p. 229; Ferreirós 2007, pp. 379–380.
- ↑ Kanamori 2009, pp. 49, 53.
- ↑ Kanamori 2009, pp. 48, 58. Bernays' articles are reprinted in Müller 1976, pp. 1–117.
- ↑ Bernays 1937, p. 65.
- ↑ Kanamori 2009, pp. 48–54.
- ↑ Kanamori 2009, p. 56.
- ↑ Kanamori 2009, pp. 56–58; Gödel 1940, p.
^{[page needed]}. - ↑ Gödel 1990, p. 26.
- ↑ Gödel 1990, pp. 28–32.
- ↑ Gödel 1986, p. 145.
- ↑ Solovay 1990, p. 13.
- ↑ Kunen 1980, p. 176.
- ↑ 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.
- ↑ Kanamori 2009, p. 57.
- ↑ Cohen 1963.
- ↑ 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."
- ↑ Cohen 1966, pp. 107–147.
- ↑ Cohen 1966, pp. 85–99.
- ↑ Ferreirós 2007, pp. 381–382; Cohen 1966, p. 77; Felgner 1971.
- ↑ Mostowski 1950, p. 113, footnote 11. Footnote references Wang's NQ set theory, which later evolved into MK.
- ↑ Kanamori 2009b, pp. 18, 29.
- ↑ 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. - ↑ Mendelson 1997, p. 275.
- ↑ Gödel 1940, p. 54; Solovay 1990, pp. 9–11.
- ↑ Gödel 1940, p. 54.
- ↑ Adámek, Herrlich & Strecker 2004, pp. 15–16, 40.

## Bibliography

- Adámek, Jiří; Herrlich, Horst; Strecker, George E. (1990),
*Abstract and Concrete Categories (The Joy of Cats)*(1st ed.), New York: Wiley & Sons, ISBN 978-0-471-60922-3, http://katmat.math.uni-bremen.de/acc/.- Adámek, Jiří; Herrlich, Horst; Strecker, George E. (2004),
*Abstract and Concrete Categories (The Joy of Cats)*(Dover ed.), New York: Dover Publications, ISBN 978-0-486-46934-8, http://katmat.math.uni-bremen.de/acc/.

- Adámek, Jiří; Herrlich, Horst; Strecker, George E. (2004),
- Bernays, Paul (1937), "A System of Axiomatic Set Theory—Part I",
*The Journal of Symbolic Logic***2**(1): 65–77, doi:10.2307/2268862. - Bernays, Paul (1941), "A System of Axiomatic Set Theory—Part II",
*The Journal of Symbolic Logic***6**(1): 1–17, doi:10.2307/2267281. - Bernays, Paul (1991),
*Axiomatic Set Theory*(2nd Revised ed.), Dover Publications, ISBN 978-0-486-66637-2. - Bourbaki, Nicolas (2004),
*Elements of Mathematics: Theory of Sets*, Springer, ISBN 978-3-540-22525-6, https://archive.org/details/springer_10.1007-978-3-642-59309-3. - Chuaqui, Rolando (1981),
*Axiomatic Set Theory: Impredicative Theories of Classes*, North-Holland, ISBN 0-444-86178-5. - Cohen, Paul (1963), "The Independence of the Continuum Hypothesis",
*Proceedings of the National Academy of Sciences of the United States of America***50**(6): 1143–1148, doi:10.1073/pnas.50.6.1143, PMID 16578557, Bibcode: 1963PNAS...50.1143C. - Cohen, Paul (1966),
*Set Theory and the Continuum Hypothesis*, W. A. Benjamin.- Cohen, Paul (2008),
*Set Theory and the Continuum Hypothesis*, Dover Publications, ISBN 978-0-486-46921-8, https://books.google.com/books?id=Z4NCAwAAQBAJ.

- Cohen, Paul (2008),
- Dawson, John W. (1997),
*Logical dilemmas: The life and work of Kurt Gödel*, Wellesley, MA: AK Peters. - Easton, William B. (1964),
*Powers of Regular Cardinals*, Princeton University. - Felgner, Ulrich (1971), "Comparison of the axioms of local and universal choice",
*Fundamenta Mathematicae***71**: 43–62, doi:10.4064/fm-71-1-43-62, http://matwbn.icm.edu.pl/ksiazki/fm/fm71/fm7113.pdf. - Ferreirós, José (2007),
*Labyrinth of Thought: A History of Set Theory and Its Role in Mathematical Thought*(2nd revised ed.), Basel, Switzerland: Birkhäuser, ISBN 978-3-7643-8349-7. - Gödel, Kurt (1940),
*The Consistency of the Axiom of Choice and of the Generalized Continuum Hypothesis with the Axioms of Set Theory*(Revised ed.), Princeton University Press, ISBN 978-0-691-07927-1.- Gödel, Kurt (2008),
*The Consistency of the Axiom of Choice and of the Generalized Continuum Hypothesis with the Axioms of Set Theory*, with a foreword by Laver, Richard (Paperback ed.), Ishi Press, ISBN 978-0-923891-53-4.

- Gödel, Kurt (2008),
- Gödel, Kurt (1986),
*Collected Works, Volume 1: Publications 1929–1936*, Oxford University Press, ISBN 978-0-19-514720-9. - Gödel, Kurt (1990),
*Collected Works, Volume 2: Publications 1938–1974*, Oxford University Press, ISBN 978-0-19-514721-6. - Gödel, Kurt (2003),
*Collected Works, Volume 4: Correspondence A–G*, Oxford University Press, ISBN 978-0-19-850073-5. - Gray, Robert (1991), "Computer programs and mathematical proofs",
*The Mathematical Intelligencer***13**(4): 45–48, doi:10.1007/BF03028342. - Hallett, Michael (1984),
*Cantorian Set Theory and Limitation of Size*(Hardcover ed.), Oxford: Clarendon Press, ISBN 978-0-19-853179-1.- Hallett, Michael (1986),
*Cantorian Set Theory and Limitation of Size*(Paperback ed.), Oxford: Clarendon Press, ISBN 978-0-19-853283-5.

- Hallett, Michael (1986),
- Kanamori, Akihiro (2009b),
*The Higher Infinite: Large Cardinals in Set Theory from Their Beginnings*, Springer, ISBN 978-3-540-88867-3. - Kanamori, Akihiro (2009), "Bernays and Set Theory",
*Bulletin of Symbolic Logic***15**(1): 43–69, doi:10.2178/bsl/1231081769, http://math.bu.edu/people/aki/17a.pdf. - Kanamori, Akihiro (2012), "In Praise of Replacement",
*Bulletin of Symbolic Logic***18**(1): 46–90, doi:10.2178/bsl/1327328439, http://math.bu.edu/people/aki/20.pdf. - Kunen, Kenneth (1980),
*Set Theory: An Introduction to Independence Proofs*(Hardcover ed.), North-Holland, ISBN 978-0-444-86839-8.- Kunen, Kenneth (2012),
*Set Theory: An Introduction to Independence Proofs*(Paperback ed.), North-Holland, ISBN 978-0-444-56402-3.

- Kunen, Kenneth (2012),
- Mendelson, Elliott (1997),
*An Introduction to Mathematical Logic*(4th ed.), London: Chapman and Hall/CRC, ISBN 978-0-412-80830-2. - Pp. 225–86 contain the classic textbook treatment of NBG, showing how it does what we expect of set theory, by grounding relations, order theory, ordinal numbers, transfinite numbers, etc. - Mirimanoff, Dmitry (1917), "Les antinomies de Russell et de Burali-Forti et le problème fondamental de la théorie des ensembles",
*L'Enseignement Mathématique***19**: 37–52. - Montague, Richard (1961), "Semantic Closure and Non-Finite Axiomatizability I", in Buss, Samuel R.,
*Infinitistic Methods: Proceedings of the Symposium on Foundations of Mathematics*, Pergamon Press, pp. 45–69. - Mostowski, Andrzej (1950), "Some impredicative definitions in the axiomatic set theory",
*Fundamenta Mathematicae***37**: 111–124, doi:10.4064/fm-37-1-111-124, http://matwbn.icm.edu.pl/ksiazki/fm/fm37/fm37110.pdf. - Muller, F. A. (1 September 2001), "Sets, classes, and categories",
*British Journal for the Philosophy of Science***52**(3): 539–73, doi:10.1093/bjps/52.3.539, http://philsci-archive.pitt.edu/1372/1/SetClassCat.PDF. - Müller, Gurt, ed. (1976),
*Sets and Classes: On the Work of Paul Bernays*, Studies in Logic and the Foundations of Mathematics Volume 84, Amsterdam: North Holland, ISBN 978-0-7204-2284-9. - Potter, Michael (2004),
*Set Theory and Its Philosophy: A Critical Introduction*(Hardcover ed.), Oxford University Press, ISBN 978-0-19-926973-0.- Potter, Michael (2004p),
*Set Theory and Its Philosophy: A Critical Introduction*(Paperback ed.), Oxford University Press, ISBN 978-0-19-927041-5.

- Potter, Michael (2004p),
- Pudlák, Pavel (1998), "The Lengths of Proofs", in Buss, Samuel R.,
*Handbook of Proof Theory*, Elsevier, pp. 547–637, ISBN 978-0-444-89840-1, http://users.math.cas.cz/~pudlak/length.pdf. - Smullyan, Raymond M.; Fitting, Melvin (2010),
*Set Theory and the Continuum Problem*, Dover, ISBN 978-0-486-47484-7. - Solovay, Robert M. (1990), "Introductory note to
*1938*,*1939*,*1939a*and*1940*",*Kurt Gödel Collected Works, Volume 2: Publications 1938–1974*, Oxford University Press, pp. 1–25, ISBN 978-0-19-514721-6. - von Neumann, John (1923), "Zur Einführung der transfiniten Zahlen",
*Acta Litt. Acad. Sc. Szeged X.***1**: 199–208, http://bbi-math.narod.ru/newmann/newmann.html.- English translation: van Heijenoort, Jean (2002a), "On the introduction of transfinite numbers",
*From Frege to Gödel: A Source Book in Mathematical Logic, 1879-1931*(Fourth Printing ed.), Harvard University Press, pp. 346–354, ISBN 978-0-674-32449-7, https://books.google.com/books?id=v4tBTBlU05sC&pg=PA346. - English translation: van Heijenoort, Jean (2002b), "An axiomatization of set theory",
*From Frege to Gödel: A Source Book in Mathematical Logic, 1879-1931*(Fourth Printing ed.), Harvard University Press, pp. 393–413, ISBN 978-0-674-32449-7, https://books.google.com/books?id=v4tBTBlU05sC&pg=PA393.

- English translation: van Heijenoort, Jean (2002a), "On the introduction of transfinite numbers",
- von Neumann, John (1925), "Eine Axiomatisierung der Mengenlehre",
*Journal für die Reine und Angewandte Mathematik***154**: 219–240, http://gdz.sub.uni-goettingen.de/dms/load/img/?PPN=PPN243919689_0154&DMDID=DMDLOG_0025. - von Neumann, John (1928), "Die Axiomatisierung der Mengenlehre",
*Mathematische Zeitschrift***27**: 669–752, doi:10.1007/bf01171122, http://gdz.sub.uni-goettingen.de/dms/load/img/?PPN=PPN266833020_0027&DMDID=DMDLOG_0042. - von Neumann, John (1929), "Über eine Widerspruchsfreiheitsfrage in der axiomatischen Mengenlehre",
*Journal für die Reine und Angewandte Mathematik***160**: 227–241, http://gdz.sub.uni-goettingen.de/dms/load/img/?PPN=PPN243919689_0160&DMDID=DMDLOG_0019.

## External links

- "von Neumann-Bernays-Gödel set theory". http://planetmath.org/?op=getobj&from=objects&id={{{id}}}.
- Szudzik, Matthew. "von Neumann-Bernays-Gödel Set Theory". http://mathworld.wolfram.com/vonNeumann-Bernays-GoedelSetTheory.html.

Original source: https://en.wikipedia.org/wiki/Von Neumann–Bernays–Gödel set theory.
Read more |