Ordinal


 * This article is about the mathematical concept. It's not about the ("first", "second", "third", etc.).

In set theory, the ordinal numbers are a way of defining the nonnegative integers purely using sets. The ordinal numbers not only represent the nonnegative integers, but also allow extension into infinite sets, forming "transfinite ordinals." They are important to googology since they describe the growth rates of functions via the fast-growing hierarchy.

Definition
An ordinal number is defined as the set of all smaller ordinal numbers. Formally, an ordinal \(\alpha\) is \(\{\beta: \beta < \alpha\}\), and the successor to an ordinal is defined as \(\alpha + 1 = \alpha \cup \{\alpha\}\).

We start with \(0 := \{\}\) &mdash; zero is the empty set, since no ordinal number is smaller than zero. We continue with \(1 := \{0\} = \{\{\}\}\), \(2 := \{0, 1\} = \{\{\}, \{\{\}\}\}\), \(3 := \{0, 1, 2\} = \{\{\}, \{\{\}\}, \{\{\}, \{\{\}\}\}\}\), etc.

Small transfinite ordinals
The next ordinal after all these is \(\{0, 1, 2, 3, \ldots\}\), the set of all nonnegative integers. We represent this with the Greek letter \(\omega\) (omega), the least transfinite ordinal. Next, we can define \(\omega + 1 = \{0, 1, 2, 3, \ldots, \omega\}\), \(\omega + 2 = \{0, 1, 2, 3, \ldots, \omega, \omega + 1\}\), etc.

The specifics of are not detailed here, but the general idea should be fairly clear from these examples. It is important to note that addition on the ordinals is often not commutative. \(\omega + 1 > \omega\), but \(1 + \omega = \omega\).

The supremum of all the \(\omega + n\) is \(\{0, 1, 2, \ldots, \omega, \omega + 1, \omega + 2, \ldots\} = \omega + \omega = \omega \times 2\). Next we have the series \(\omega + \omega + \omega = \omega \times 3, \omega \times 4, \omega \times 5, \omega \times 6, \ldots, \omega \times \omega = \omega^2, \omega^3, \omega^4, \ldots, \omega^\omega, \omega^{\omega^\omega} = {}^3\omega, \omega^{\omega^{\omega^\omega}} = {}^4\omega, \ldots\)

Eventually we reach \(^\omega\omega = \omega^{\omega^{\omega^{.^{.^.}}}}\), famously known as \(\varepsilon_0\) (epsilon-zero). (To googologists, the exponentiation seems to be a fairly arbitrary choice, but in fact it is not &mdash; it is important in induction proofs, for example.) \(\varepsilon_0\) is a fixed point such that \(\varepsilon_0 = \omega^{\varepsilon_0}\); \(\varepsilon_1\) can be defined as fixed point: \(\varepsilon_1 = \varepsilon_0^{\varepsilon_1}\). In general, \(\varepsilon_{\alpha+1}\) is a fixed point for \(\varepsilon_{\alpha+1} = \varepsilon_{\alpha}^{\varepsilon_{\alpha+1}}\). Examples of "epsilon numbers" are \(\varepsilon_0, \varepsilon_1, \varepsilon_2, \varepsilon_3, \varepsilon_\omega, \varepsilon_{\varepsilon_0} \ldots\).

The limit of the hierarchy of \(\varepsilon_\alpha\) leads us to \(\varepsilon_{\varepsilon_{\varepsilon_{._{._.}}}}\), sometimes called \(\zeta_0\). The "zeta numbers" are the solutions to the equation \(\zeta = \varepsilon_\zeta\). We can also have \(\eta_0 = \zeta_{\zeta_{\zeta_{._{._.}}}}\) and the "eta numbers" \(\eta = \zeta_\eta\).

Veblen hierarchy
We only have finitely many Greek letters, so the next step is to generalize these. Define the Veblen hierarchy as \(\phi_0(\alpha) = \omega^\alpha\), and define \(\phi_{\beta + 1}(\alpha)\) as the smallest solution \(\gamma\) to the equation \(\phi_\beta(\gamma) = \gamma\). This gives us \(\phi_1(\alpha) = \varepsilon_\alpha, \phi_2(\alpha) = \zeta_\alpha, \phi_3(\alpha) = \eta_\alpha, \ldots\). Further we can define \(\phi_\alpha\) for any transfinite ordinal.

The limit of the Veblen hierarchy is \(\phi_{\phi_{\phi_{._{._..}.}(0)}(0)}(0) = \Gamma_0\), the Feferman–Schütte ordinal, which cannot be reached using any smaller ordinals. It is the smallest solution to the equation \(\Gamma\) to \(\phi_\Gamma(0) = \Gamma\).

Beyond Veblen hierarchy
Some have extended the Veblen hierarchy to multiple dimensions, such as \(\phi_1(0, 0, 0)\) (the Ackermann ordinal), but we shall skip that step to introduce a much more powerful system called an ordinal collapsing function. We will start with a system due to Buchholz. Define \(\psi(\alpha)\) as the smallest ordinal that cannot be expressed using only \(0\), \(1\), \(\omega\), \(\Omega\) (first uncountable ordinal), addition, multiplication, exponentiation, and any previously generated values of \(\psi\).

We begin with \(\psi(0)\). Call the set of all ordinals that can be generated \(C(0)\). Using the symbols allowed to us, we can generate \(0, 1, 2, \ldots, \omega, \omega + 1, \omega + 2, \ldots, \omega^2, \omega^3, \omega^4, \ldots, \omega^\omega, \omega^{\omega^\omega}, \omega^{\omega^{\omega^\omega}}, \ldots\) Our set also includes \(\Omega\), \(\Omega^\Omega\), \(\Omega^{\Omega^\Omega}, \ldots\) but the smallest ordinal we cannot access is \(\varepsilon_0\). So \(\psi(0) = \varepsilon_0\).

With \(C(1)\) we have all the ordinals we've already generated, but also ordinals based on \(\varepsilon_0\). So we also have \(\varepsilon_0, \varepsilon_0 + 1, \varepsilon_0 + \omega, \varepsilon_0^{\varepsilon_0}, \varepsilon_0^{\varepsilon_0^{\varepsilon_0}}, \ldots\) and the limit is clearly \(\varepsilon_1\). Similarly, for all \(\alpha < \omega\) we have \(\psi(\alpha) = \varepsilon_\alpha\).

This rule even works for ordinals beyond \(\omega\), but something interesting happens later on. Since by definition \(\zeta_0 = \varepsilon_{\zeta_0}\), \(\psi(\zeta_0) = \varepsilon_{\zeta_0} = \zeta_0\). If we try to evaluate \(\psi(\zeta_0 + 1)\), the largest ordinal we can plug into \(\varepsilon_\alpha\) is \(\zeta_0\), which just produces itself. So \(\psi(\zeta_0 + 1)\) is just \(\zeta_0\) again! In fact, nothing happens until we reach \(\Omega\).

As before, \(\psi(\Omega) = \zeta_0\). But when we reach \(\psi(\Omega + 1)\), we are allowed \(\Omega\) and thus \(\zeta_0\). So \(\psi(\Omega + 1) = \zeta_0^{\zeta_0^{\zeta_0^{.^{.^.}}}} = \varepsilon_{\zeta_0 + 1}\). This extends to \(\psi(\Omega + 2) = \varepsilon_{\zeta_0 + 1}^{\varepsilon_{\zeta_0 + 1}^{\varepsilon_{\zeta_0 + 1}^{.^{.^.}}}} = \varepsilon_{\zeta_0 + 2}\), and in general \(\psi(\Omega + \alpha) = \varepsilon_{\zeta_0 + \alpha}\). But when we reach \(\psi(\Omega + \zeta_1) = \varepsilon_{\zeta_0 + \zeta_1} = \zeta_1\), the function halts again because we can't construct \(\zeta_1\) yet.