The notion of a class is a generalisation of that of a set.[1] Every set is a class, while a class is not necessarily a set. A class which is not a set is called a proper class.

In ZFC set theory

When we work in a sufficiently strong set theory \(T\) such as \(\textrm{ZFC}\) set theory or \(\textrm{KP}\) set theory which has precisely one sort for terms satisfying the axiom of pairing, i.e. sets, a definable class simply means a formula (equipped with a fixed free variable \(\xi\)) in \(T\), and there is no method to refer to an arbitrary class which is not necessarily a definable class. Therefore we sometimes introduce an abbreviation by writing something like the following: We work in \(\textrm{ZFC}\) set theory, and abbreviate "definable class" to "class". If there is no clarification of the base theory \(T\) and the application of such an abbreviation, the use of the word "class" as an abbreviation of "definable class" is quite ambiguous.

Since we are considering the case where the theory \(T\) does not have a sort for classes, we also abbreviate "class" to "definable class" in this section. When we refer to a class, then we usually denote it by a single capital letter such as \(X\) or short strings instead of the original formula itself in order to introduce conventions such as \(a \in X\). We call a formula \(X\) "the class of sets \(\xi\) satisfying \(X\)" or something like that. For example, \(\textrm{On}\) denotes the formula "\(\xi\) is an ordinal", and is called the class of ordinals.

Given a class \(X\) in \(T\) and a set \(a\), we abbreviate to \(a \in X\) the result of replacing all free instances of \(\xi\) by \(a\) in \(X\), which is commonly denoted by \(X[a/\xi]\) in first order logic. Since \(T\) itself is unable to directly refer to formulae in \(T\) without Goedel correspondence, quantification of classes is not allowed in this context. For example, \(a \in \textrm{On}\) is the abbreviation of the formula "\(a\) is an ordinal" in \(T\).

For a set \(x\) and a class \(X\), we abbreviate to \(x = X\) the formula "for any set \(y\), \(y \in x\) is equivalent to \(y \in X\)" in \(T\). In this case, \(X\) is called a set, as if it is a term in \(T\). We abbreviate to \(x \neq X\) the negation of \(x = X\). The statement "\(X\) is a proper class" means the formula "for any set \(x\), \(x \neq X\)" in \(T\), which we can ask the provability in \(T\).

Given a set \(x\), we also denote by \(x\) the class \(\xi \in x\). The abuse of notation is not critically ambiguous, because \(x = X\) is provable in \(T\), where \(X\) denotes the class \(\xi \in x\). In this sense, every set is a class by definition.

Further, for classes \(X\) and \(Y\), we abbreviated to \(X \in Y\) the formula "there exists a set \(x\) such that \(x = X\) and \(x \in Y\)" in \(T\), and to \(X = Y\) the formula "for any set \(x\), \(x \in X\) is equivalent to \(x \in Y\)" in \(T\). In this way, we can extend predicates for sets to predicates for classes.

In NBG set theory

When we work in a set theory \(T\) which is \(\textrm{NBG}\) set theory or its extension sharing the language, a class simply means a term, as a set in \(\textrm{ZFC}\) set theory simply means a term. In particular, quantification of classes is allowed and \(\in\) and \(=\) automatically make sense for classes in this context.

Given a formula \(F\) with a fixed free variable \(\xi\) in \(T\) without unbounded quantification, the formular "there uniquely exists a class \(X\) such that for any set \(x\), \(x \in X\) is equivalent to \(F[x/\xi]\)" in \(T\) is provable in \(T\). In this sense, such a formula in \(T\) can be regarded as a class. If \(T\) is \(\textrm{MK}\) set theory or its extension, then the restriction of the quantification can be dropped.

When \(T\) is two sorted, we have a sort of variables \(x\) called a set. In this case, the statement "\(X\) is a proper class" means the formula "for any set \(x\), \(x \neq X\)" in \(T\). When \(T\) is not sorted, then a set means a class \(x\) for which there exists a class \(X\) such that \(x \in X\). In this case, the statement "\(X\) is a proper class" means the negation of the formula "\(X\) is a set", i.e. "for any class \(Y\), \(X \notin Y\)" in \(T\).


We have many examples of proper classes appearing in googology:


As every element of a class is a set in both formulations above, there is no "collection" of proper classes in standard set theories. In googology, people sometimes consider something like "a class of classes" and "a class of maps between classes", but they are ill-defined unless they specify an explicit theory in which such a collection makes sense. For example, defining "\(\textrm{On} + 1\)" as "\(\textrm{On} \cup \{\textrm{On}\}\)" does not work, because there is no signleton of \(\textrm{On}\). One reasonable choice is to work in a higher order set theory, but it is quite difficult because of the complexity of the syntax and the semantics of higher order predicative logic. Therefore when people try to work in a higher order set theory for the purpose of googology, they tend to skip to fix the full formulation of the syntax or the semantics. Of course, the resulting system is ill-defined, and hence is useless to define a large number.


  1. K. Kunen, Set Theory: An Introduction to Independence Proofs, Studies in Logic and the Foundations of Mathematics, Volume 102, North Holland, 1983.

See also

Basics: cardinal numbers · ordinal numbers · limit ordinals · fundamental sequence · normal form · transfinite induction · ordinal notation
Theories: Robinson arithmetic · Presburger arithmetic · Peano arithmetic · KP · second-order arithmetic · ZFC
Model Theoretic Concepts: structure · elementary embedding
Countable ordinals: \(\omega\) · \(\varepsilon_0\) · \(\zeta_0\) · \(\eta_0\) · \(\Gamma_0\) (Feferman–Schütte ordinal) · \(\varphi(1,0,0,0)\) (Ackermann ordinal) · \(\psi_0(\Omega^{\Omega^\omega})\) (small Veblen ordinal) · \(\psi_0(\Omega^{\Omega^\Omega})\) (large Veblen ordinal) · \(\psi_0(\varepsilon_{\Omega + 1}) = \psi_0(\Omega_2)\) (Bachmann-Howard ordinal) · \(\psi_0(\Omega_\omega)\) with respect to Buchholz's ψ · \(\psi_0(\varepsilon_{\Omega_\omega + 1})\) (Takeuti-Feferman-Buchholz ordinal) · \(\psi_0(\Omega_{\Omega_{\cdot_{\cdot_{\cdot}}}})\) (countable limit of Extended Buchholz's function)‎ · \(\omega_1^\mathfrak{Ch}\) · \(\omega_1^{\text{CK}}\) (Church-Kleene ordinal) · \(\omega_\alpha^\text{CK}\) (admissible ordinal) · recursively inaccessible ordinal · recursively Mahlo ordinal · reflecting ordinal · stable ordinal · \(\lambda,\zeta,\Sigma,\gamma\) (ordinals on infinite time Turing machine) · gap ordinal · List of countable ordinals
Ordinal hierarchies: Fast-growing hierarchy · Slow-growing hierarchy · Hardy hierarchy · Middle-growing hierarchy · N-growing hierarchy
Ordinal functions: enumeration · normal function · derivative · Veblen function · ordinal collapsing function · Bachmann's function · Madore's function · Feferman's theta function · Buchholz's function · Extended Buchholz's function · Jäger's function · Rathjen's psi function · Rathjen's Psi function · Stegert's Psi function
Uncountable cardinals: \(\omega_1\) · omega fixed point · inaccessible cardinal \(I\) · Mahlo cardinal \(M\) · weakly compact cardinal \(K\) · indescribable cardinal · rank-into-rank cardinal
Classes: \(V\) · \(L\) · \(\textrm{On}\) · \(\textrm{Lim}\) · \(\textrm{AP}\) · Class (set theory)

Community content is available under CC-BY-SA unless otherwise noted.