Von Neumann–Bernays–Gödel set theory

In the foundations of mathematics, von Neumann–Bernays–Gödel set theory (NBG) is an axiomatic set theory that is a conservative extension of Zermelo–Fraenkel–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

[edit]

The uses of classes

[edit]

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 defined on the class of all nonempty sets such that for every nonempty set This is stronger than ZFC's axiom of choice: For every set of nonempty sets, there exists a choice function defined on such that for all [a]
  • The set-theoretic paradoxes are handled by recognizing that some classes cannot be sets. For example, assume that the class of all ordinals is a set. Then is a transitive set well-ordered by . So, by definition, is an ordinal. Hence, , which contradicts being a well-ordering of Therefore, is not a set. A class that is not a set is called a proper class; 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

[edit]

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 that quantifies only over sets, there exists a class consisting of the -tuples satisfying the formula—that is, 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

[edit]

Classes and sets

[edit]

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: for " is a class" and for " is a set" (in German, "set" is Menge). He also introduced axioms stating that every set is a class and that if class is a member of a class, then 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 as [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.[b] 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, where and are classes is a valid statement. In Bernays' approach this statement has no meaning. However, if is a set, there is an equivalent statement: Define "set represents class " if they have the same sets as members—that is, The statement where set represents class is equivalent to Gödel's [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

[edit]

A set is a class that belongs to at least one class: is a set if and only if . A class that is not a set is called a proper class: is a proper class if and only if .[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:

  • instead of
  • instead of

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.

[13]

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

Axiom of pairing. If and are sets, then there exists a set whose only members are and .

[14]

As in ZFC, the axiom of extensionality implies the uniqueness of the set , which allows us to introduce the notation

Ordered pairs are defined by:

Tuples are defined inductively using ordered pairs:

[c]

Class existence axioms and axiom of regularity

[edit]

Class existence axioms will be used to prove the class existence theorem: For every formula in free set variables that quantifies only over sets, there exists a class of -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 and are functions, then the composite function is defined by the formula: Since this formula has two free set variables, and the class existence theorem constructs the class of ordered pairs:

Because this formula is built from simpler formulas using conjunction and existential quantification , class operations are needed that take classes representing the simpler formulas and produce classes representing the formulas with and . To produce a class representing a formula with , intersection used since To produce a class representing a formula with , the domain is used since

Before taking the intersection, the tuples in and need an extra component so they have the same variables. The component is added to the tuples of and is added to the tuples of : and In the definition of the variable is not restricted by the statement so ranges over the class of all sets. Similarly, in the definition of the variable ranges over So an axiom is needed that adds an extra component (whose values range over ) to the tuples of a given class.

Next, the variables are put in the same order to prepare for the intersection: and To go from to and from to requires two different permutations, so axioms that support permutations of tuple components are needed.

The intersection of and handles :

Since is defined as , taking the domain of handles and produces the composite function: 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.[d]

Axioms for handling language primitives:

Membership. There exists a class containing all the ordered pairs whose first component is a member of the second component.

[18]

Intersection (conjunction). For any two classes and , there is a class consisting precisely of the sets that belong to both and .

[19]

Complement (negation). For any class , there is a class consisting precisely of the sets not belonging to .

[20]

Domain (existential quantifier). For any class , there is a class consisting precisely of the first components of the ordered pairs of .

[21]

By the axiom of extensionality, class in the intersection axiom and class in the complement and domain axioms are unique. They will be denoted by: and respectively.[e]

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 The intersection and complement axioms imply the existence of , which is empty. By the axiom of extensionality, this class is unique; it is denoted by The complement of is the class of all sets, which is also unique by extensionality. The set predicate , which was defined as , is now redefined as to avoid quantifying over classes.

Axioms for handling tuples:

Product by . For any class , there is a class consisting of the ordered pairs whose first component belongs to .

[23]

Circular permutation. For any class , there is a class whose 3‑tuples are obtained by applying the circular permutation to the 3‑tuples of .

[24]

Transposition. For any class , there is a class whose 3‑tuples are obtained by transposing the last two components of the 3‑tuples of .

[25]

By extensionality, the product by axiom implies the existence of a unique class, which is denoted by This axiom is used to define the class of all -tuples: and If is a class, extensionality implies that is the unique class consisting of the -tuples of For example, the membership axiom produces a class that may contain elements that are not ordered pairs, while the intersection contains only the ordered pairs of .

The circular permutation and transposition axioms do not imply the existence of unique classes because they specify only the 3‑tuples of class By specifying the 3‑tuples, these axioms also specify the -tuples for since: 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 — 

Proof
  • Class : Apply product by to to produce
  • Class : Apply transposition to to produce
  • Class : Apply circular permutation to to produce
  • Class : Apply circular permutation to , then apply domain to produce

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.[f]

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

This axiom implies that a set cannot belong to itself: Assume that and let Then since This contradicts the axiom of regularity because is the only element in Therefore, The axiom of regularity also prohibits infinite descending membership sequences of sets:

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

[edit]

Class existence theorem — Let be a formula that quantifies only over sets and contains no free variables other than (not necessarily all of these). Then for all , there exists a unique class of -tuples such that: The class is denoted by [g]

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

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

Transformation rules. In rules 1 and 2 below, and denote set or class variables. These two rules eliminate all occurrences of class variables before an and all occurrences of equality. Each time rule 1 or 2 is applied to a subformula, is chosen so that 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 , , , , set variables, and class variables where does not appear before an .

  1. is transformed into
  2. Extensionality is used to transform into
  3. Logical identities are used to transform subformulas containing and to subformulas that only use and

Transformation rules: bound variables. Consider the composite function formula of example 1 with its free set variables replaced by and : The inductive proof will remove , which produces the formula 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 with Bound variables within nested quantifiers are handled by increasing the subscript by one for each successive quantifier. This leads to rule 4, which must be applied after the other rules since rules 1 and 2 produce quantified variables.

  1. If a formula contains no free set variables other than then bound variables that are nested within quantifiers are replaced with . These variables have (quantifier) nesting depth .

Example 2: Rule 4 is applied to the formula that defines the class consisting of all sets of the form That is, sets that contain at least and a set containing — for example, where and are sets.

Since is the only free variable, The quantified variable appears twice in at nesting depth 2. Its subscript is 3 because If two quantifier scopes are at the same nesting depth, they are either identical or disjoint. The two occurrences of 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 and let be a class containing all the ordered pairs satisfying That is, Then can be expanded into the unique class of -tuples satisfying . That is,

Proof:

  1. If let
    Otherwise, so components are added in front of apply the tuple lemma's statement 1 to with This produces a class containing all the -tuples satisfying
  2. If let
    Otherwise, so components are added between and add the components one by one using the tuple lemma's statement 2. This produces a class containing all the -tuples satisfying
  3. If let
    Otherwise, so components are added after add the components one by one using the tuple lemma's statement 3. This produces a class containing all the -tuples satisfying
  4. Let Extensionality implies that is the unique class of -tuples satisfying

Class existence theorem for transformed formulas — Let be a formula that:

  1. contains no free variables other than ;
  2. contains only , , , , set variables, and the class variables where does not appear before an ;
  3. only quantifies set variables where is the quantifier nesting depth of the variable.

Then for all , there exists a unique class of -tuples such that:

Proof: Basis step: has 0 logical symbols. The theorem's hypothesis implies that is an atomic formula of the form or

Case 1: If is , we build the class the unique class of -tuples satisfying

Case a: is where The axiom of membership produces a class containing all the ordered pairs satisfying Apply the expansion lemma to to obtain

Case b: is where The axiom of membership produces a class containing all the ordered pairs satisfying Apply the tuple lemma's statement 4 to to obtain containing all the ordered pairs satisfying Apply the expansion lemma to to obtain

Case c: is where Since this formula is false by the axiom of regularity, no -tuples satisfy it, so

Case 2: If is , we build the class the unique class of -tuples satisfying

Case a: is where Apply the axiom of product by to to produce the class Apply the expansion lemma to to obtain

Case b: is where Apply the axiom of product by to to produce the class Apply the tuple lemma's statement 4 to to obtain Apply the expansion lemma to to obtain

Case c: is where Then

Inductive step: has logical symbols where . Assume the induction hypothesis that the theorem is true for all with less than logical symbols. We now prove the theorem for with logical symbols. In this proof, the list of class variables is abbreviated by , so a formula—such as —can be written as

Case 1: Since has logical symbols, the induction hypothesis implies that there is a unique class of -tuples such that: By the complement axiom, there is a class such that However, contains elements other than -tuples if To eliminate these elements, use which is the complement relative to the class of all -tuples.[e] Then, by extensionality, is the unique class of -tuples such that:

Case 2: Since both and have less than logical symbols, the induction hypothesis implies that there are unique classes of -tuples, and , such that:

By the axioms of intersection and extensionality, is the unique class of -tuples such that:

Case 3: The quantifier nesting depth of is one more than that of and the additional free variable is Since has logical symbols, the induction hypothesis implies that there is a unique class of -tuples such that: By the axioms of domain and extensionality, is the unique class of -tuples such that:[h]

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.[i]