An ordinal notation is, generally, a method for systematically naming ordinals (usually countable ones). More specifically, it is a primitive recursive well-ordering on a recursive set of finite strings in a finite alphabet, although in practice the term is applied to more general cases than this. The well-ordering induces an injective function onto ordinals below the limit given as its ordinal type, and hence it actually names all ordinals below the limit.

On the other hand, a set of finite strings in a finite alphabet equipped with a function to ordinals is not derived from an ordinal notation unless the pull-buck of \(\in\) is verified to be primitive recursive and the function is a bijection onto the limit. Unfortunately, many googologists comfound these distinct notions. Therefore we need to be careful when they are talking about results on their own "ordinal notations".

Iterated Cantor normal form

Cantor normal form (CNF) expresses an ordinal \(\alpha\) as a sum of a finite decreasing sequence of ordinals of the form \(\omega^\beta\). If we require each \(\beta\) to be in CNF and restrict the system to finite levels of nesting, then we have an ordinal notation -- the "iterated Cantor normal form" -- that uniquely describes all ordinals \(< \varepsilon_0\).

Veblen's \(\varphi\)

Oswald Veblen's \(\varphi\) function is not only an early ordinal notation, but it could also be considered the first-ever array notation, preceding BEAF by more than 90 years.[1] Due to the time when the paper was written, Veblen's definitions of the rules of his function are very cumbersome. Here, a conservative amount of modernization has been applied in the interest of brevity. Note that although Veblen used the dated convention where ordinals start with 1, we instead start ordinals with 0 and thus all letters (Greek or Latin) below are \(\geq 0\).

Before we can discuss the function itself, we first define a well-ordering \(\prec\) of arrays. An array is a function \(A : \eta \to \omega_1\) for some countable ordinal \(\eta\). Veblen denotes its arguments by using \(x_\alpha\) to indicate the value of \(A(\alpha)\), and, say, \(0_\alpha\) to indicate that \(A(\alpha) = 0\). We use \(\sup_\prec\) to denote a supremum under the ordering \(\prec\). It is very important to note that we are not defining ordinals, but an ordering of arrays.

A. \(\varphi(0_0, 0_1, \ldots, 1_{\alpha + 1}) = \sup_\prec\{\varphi(0_0, 0_1, \ldots, x_\alpha): x \in \text{On}\}\).
B. \(\varphi(0_0, 0_1, \ldots, 1_\alpha) = \sup_\prec\{\varphi(0_0, 0_1, \ldots, 1_\beta): \beta < \alpha\}\) where \(\alpha \in \text{Lim}\)
C. \(\varphi((x + 1)_0, y_1, \ldots, z_\beta) \succ \varphi(x_0, \ldots, z_\beta)\), and there is no array between them
D. \(\varphi(0_0, \ldots, (x + 1)_{\alpha + 1}, \ldots, y_\beta) = \sup_\prec\{\varphi(0_0, \ldots, (x + 1)_\alpha, x_{\alpha + 1}, \ldots, y_\beta)\}\)
E. \(\varphi(0_0, \ldots, x_{\alpha + 1}, y_{\alpha + 2}, \ldots, z_\beta) = \sup_\prec\{\varphi(0_0, \ldots, w_{\alpha + 1}, y_{\alpha + 2}, \ldots, z_\beta) : w < x\}\) where \(x \in \text{Lim}\)
F. \(\varphi(0_0, \ldots, (x + 1)_\alpha, \ldots, y_\beta) = \sup_\prec\{\varphi(0_0, \ldots, 1_\gamma, \ldots, x_\alpha, \ldots, y_\beta) : \gamma < \alpha\}\) where \(\alpha \in \text{Lim}\)
G. \(\varphi(0_0, \ldots, x_\alpha, \ldots, y_\beta) = \sup_\prec\{\varphi(0_0, \ldots, z_\alpha, \ldots, y_\beta) : z < x\}\) where \(x, \alpha \in \text{Lim}\)

Now we can create an actual ordinal notation. Define \(\varphi(x)\) as a continuous (under the order topology) increasing function with \(\varphi(0) > 0\); conventionally this is chosen to be \(\varphi(\alpha) = \omega^\alpha\), although Veblen focused on the case \(\varphi(\alpha) = 1 + \alpha\). Then:

  • \(\varphi(x_0, 0_1, \ldots, 1_\beta) = \) the \(x_0\)th element of the set \(\{y: \forall \gamma < \beta: \varphi(0_0, 0_1, \ldots, y_\gamma) = y\}\)
  • for \(y > 1\), \(\varphi(x_0, 0_1, \ldots, y_\alpha, \ldots, z_\beta) = \) the \(x_0\)th element of the set \(\{v: \forall \gamma < \alpha: \forall w < y: \varphi(0_0, 0_1, \ldots, v_\gamma, 0_{\gamma+1}, \ldots, w_\alpha, z_{\alpha+1}, \ldots, z_\beta) = v\}\)

where "the \(x_0\)th element" is according to the ordering defined by the seven rules above.

The supremum of the range of Veblen's function is the large Veblen ordinal. If arrays are restricted to finite sizes (i.e. the domain of the array is \(< \omega\)), the supremum of the range is the small Veblen ordinal.

Modern conventions

In practice, "Veblen \(\varphi\) function" typically refers to a far simpler two-argument form, defined as \(\varphi_0(\alpha) = \omega^\alpha\) (or some other normal function), and \(\varphi_\beta\) as the enumerating function for all the common fixed points of \(\varphi_\gamma\) for all \(\gamma < \beta\). More concisely, \(\varphi_\alpha\) is the \(\alpha\)'th derivative of \(\varphi_0\). The original is thus often called the "extended Veblen function."

Veblen's dated convention of starting ordinals at 1 is often corrected for in modern usage, so instead of, Veblen writing, say, \(\varphi(2, 1, 1)\), we would write \(\varphi(1, 0, 0)\); this modern convention is used in the above section. Using the zero-indexed version, we have the even simpler equality \(\varphi_\beta(\alpha) = \varphi(\alpha, \beta)\).

Ordinal collapsing function

An ordinal collapsing function (OCF) is a method of naming large ordinals using even larger ones. More specifically, ordinal collapsing functions take the structures found in large (often uncountable) ordinals and mirror those structures onto smaller ordinals. OCFs are employed as notations for large recursive ordinals, for which they have the most relevance to googology.

There are many OCFs in use, often similar to each other and easily confused (some even use the same symbols).

Bachmann's \(\psi\)

Heinz Bachmann's \(\psi\) function was the first true ordinal collapsing function.[2] It is somewhat cumbersome as it depends on fundamental sequences for all limit ordinals.

Rathjen suggests a "recast" of the system[3] as follows. Let \(\Omega\) be an uncountable ordinal such as \(\aleph_1\). Then define \(C^\Omega(\alpha, \beta)\) as the closure of \(\beta \cup \{0, \Omega\}\) under \(+, (\xi \mapsto \omega^\xi), (\xi \mapsto \psi_\Omega(\xi))_{\xi < \alpha}\), and \(\psi_\Omega(\alpha) = \min \{\rho < \Omega : C^\Omega(\alpha, \rho) \cap \Omega = \rho\}\).

\(\psi_\Omega(\varepsilon_{\Omega + 1})\) is the Bachmann-Howard ordinal, the proof-theoretic ordinal of Kripke-Platek set theory.

Feferman's \(\theta\)

Feferman's \(\theta\)-functions constitute a hierarchy of single-argument functions \(\theta_\alpha: \text{On} \to \text{On}\) for \(\alpha \in \text{On}\).[4] It is often considered a two-argument function with \(\theta_\alpha(\beta)\) written as \(\theta\alpha\beta\). It is defined like so:

\begin{eqnarray*} C_0(\alpha, \beta) &=& \beta \cup \{0, \omega_1, \omega_2, \ldots, \omega_\omega\}\\ C_{n+1}(\alpha, \beta) &=& \{\gamma + \delta, \theta_\xi(\eta) | \gamma, \delta, \xi, \eta \in C_n(\alpha, \beta); \xi < \alpha\} \\ C(\alpha, \beta) &=& \bigcup_{n < \omega} C_n (\alpha, \beta) \\ \theta_\alpha(\beta) &=& \min\{\gamma | \gamma \not\in C(\alpha, \gamma) \wedge \forall \delta < \beta: \theta_\alpha(\delta) < \gamma\} \\ \end{eqnarray*}


  • An ordinal \(\beta\) is considered \(\alpha\)-critical iff it cannot be constructed with the following elements:
    • all ordinals less than \(\beta\),
    • all ordinals in the set \(\{0, \omega_1, \omega_2, \ldots, \omega_\omega\}\),
    • the operation \(+\),
    • applications of \(\theta_\xi\) for \(\xi < \alpha\).
  • \(\theta_\alpha\) is the enumerating function for all \(\alpha\)-critical ordinals.

The Feferman theta function is considered an extension of the two-argument Veblen function — for \(\alpha < \Gamma_0\), \(\theta_\alpha(\beta) = \varphi_\alpha(\beta)\). For this reason, \(\varphi\) may be used interchangeably with \(\theta\) for \(\alpha < \Gamma_0\). Because of the restriction of \(\xi \in C_n(\alpha, \beta)\) imposed in the definition of \(C_{n+1}(\alpha, \beta)\), which makes \(\theta_{\Gamma_0}\) never used in the calculation of C set when \(\alpha < \Omega\), \(\theta\) function does not grow until \(\alpha < \Omega\). This results in \(\theta_\Omega(0) = \Gamma_0\) while \(\varphi_\Omega(0) = \Omega\). The value of \(\theta_\Omega(0) = \Gamma_0\) can be used above \(\Omega\) because of the definition of \(C_0\) which includes \(\Omega = \omega_1\). The supremum of the range of the function is the Takeuti-Feferman-Buchholz ordinal \(\theta_{\varepsilon_{\Omega_\omega + 1}}(0)\).

Buchholz discusses a set he calls \(\theta(\omega + 1)\), which is the set of all ordinals describable with \(\{0, \omega_1, \omega_2, \ldots, \omega_\omega\}\) and finite applications of \(+\) and \(\theta\).

Buchholz's \(\psi\)

Main article: Buchholz's function

Buchholz's \(\psi\) is a hierarchy of single-argument functions \(\psi_v: \text{On} \to \text{On}\) for \(v \leq \omega\), with \(\psi_v(\alpha)\) abbreviated as \(\psi_v\alpha\).[5] Define \(\Omega_0 = 1\) and \(\Omega_v = \aleph_v\) for \(v > 0\), and let \(P(\alpha)\) be the set of distinct terms in the Cantor normal form of \(\alpha\) (with each term of the form \(\omega^\xi\) for \(\xi \in \text{On}\)):

\begin{eqnarray*} C_v^0(\alpha) &=& \Omega_v\\ C_v^{n+1}(\alpha) &=& C_v^n(\alpha) \cup \{\gamma | P(\gamma) \subseteq C_v^n(\alpha)\} \cup \{\psi_v\xi | \xi \in \alpha \cap C_v^n(\alpha) \wedge \xi \in C_u(\xi) \wedge u \leq \omega\} \\ C_v(\alpha) &=& \bigcup_{n < \omega} C_v^n (\alpha) \\ \psi_v\alpha &=& \min\{\gamma | \gamma \not\in C_v(\alpha)\} \\ \end{eqnarray*}

The limit of this system is \(\psi_0(\varepsilon_{\Omega_\omega + 1})\), the Takeuti-Feferman-Buchholz ordinal.

Madore's \(\psi\)

David Madore (under "Gro-Tsen" on Wikipedia) defined the following simpler variant of Buchholz's function as a demonstration of how ordinal collapsing functions work.[6] The popularity of the article led to widespread use of the modified function.

\begin{eqnarray*} C_0(\alpha) &=& \{0, 1, \omega, \Omega\}\\ C_{n+1}(\alpha) &=& \{\gamma + \delta, \gamma\delta, \gamma^{\delta}, \psi(\eta) | \gamma, \delta, \eta \in C_n (\alpha); \eta < \alpha\} \\ C(\alpha) &=& \bigcup_{n < \omega} C_n (\alpha) \\ \psi(\alpha) &=& \min\{\beta \in \Omega|\beta \notin C(\alpha)\} \\ \end{eqnarray*}


  • \(C(\alpha)\) is the set of all ordinals constructible using only \(0\), \(1\), \(\omega\), \(\Omega\), and finite applications of the following functions: addition, multiplication, exponentiation, and \(\kappa \mapsto \psi(\kappa)\) (the latter only if \(\psi(\kappa)\) has yet been defined).
  • \(\psi(\alpha)\) is the smallest countable ordinal not in \(C(\alpha)\).

Chris Bird uses this function throughout his googological papers.[7]

Bird's \(\theta\)

Chris Bird devised the following shorthand for the extended (zero-indexed) Veblen function \(\phi\):[8]

\[\theta(\Omega^{n - 1}a_{n - 1} + \cdots + \Omega^2a_2 + \Omega a_1 + a_0, b) = \phi(a_{n - 1}, \ldots, a_2, a_1, a_0, b)\]

\(\theta(\alpha, 0)\) is abbreviated as \(\theta(\alpha)\). This function is only defined for arguments less than \(\Omega^\omega\), and its outputs are limited by the small Veblen ordinal. In his papers, Bird erroneously uses \(\theta(\Omega^\omega)\) and higher values without properly defining the function.

However, this function is equivalent to Feferman's \(\theta\) function (defined above) where both are defined, so it may be that he was merely using an extension of this \(\theta\) function.

Wilken's \(\vartheta\)

Wilken's \(\vartheta\) is more generic than other OCFs. Let \(\Omega_0\) be either \(1\) or a number of the form \(\varepsilon_\alpha\), let \(\Omega_1 > \Omega_0\) be an uncountable regular cardinal and for \(0 < i < \omega\) let \(\Omega_{i+1}\) be the successor cardinal to \(\Omega_i\). Then, for \(0 < n < \omega\) and \(0 \leq m < n\), define the following for \(\beta < \Omega_{m+1}\):[9]

\begin{eqnarray*} \Omega_m \cup \beta &\subseteq& C_m^n(\alpha, \beta) \\ \xi, \eta \in C_m^n(\alpha, \beta) &\Rightarrow& \xi + \eta \in C_m^n(\alpha, \beta) \\ \eta \in C_m^n(\alpha, \beta) \cap \Omega_{k + 2} &\Rightarrow& \vartheta_k^n(\xi) \in C_m^n(\alpha, \beta) \text{ for } m < k < n \\ \eta \in C_m^n(\alpha, \beta) \cap \alpha &\Rightarrow& \vartheta_m^n(\xi) \in C_m^n(\alpha, \beta) \\ \vartheta_m^n(\alpha) &=& \min(\{\xi < \Omega_{m+1}|C_m^n(\alpha, \xi) \cap \Omega_{m+1} \subseteq \xi \wedge \alpha \in C_m^n(\alpha, \xi)\} \cup \{\Omega_{m+1}\}) \\ \end{eqnarray*}

\(n\) is needed to define the function, but the actual value of \(n\) does not affect the function's behavior. So, for example, \(\vartheta_0^1(\alpha) = \vartheta_0^2(\alpha) = \vartheta_0^3(\alpha) = \cdots\) So we can safely eliminate \(n\) and express the function using only two arguments \(\vartheta_m(\alpha)\).

Wilken and Weiermann's \(\bar\vartheta\)

Wilken and Weiermann's \(\bar\vartheta\) is closely related to Wilken's \(\vartheta\), and their paper closely analyzes the relationship between the two.[10] As before, let \(\Omega_0\) be either \(1\) or a number of the form \(\varepsilon_\alpha\), let \(\Omega_1 > \Omega_0\) be an uncountable regular cardinal and for \(0 < i < \omega\) let \(\Omega_{i+1}\) be the successor cardinal to \(\Omega_i\), and finally let \(\Omega_\omega = \sup_{i < \omega} \Omega_i\). For all \(\beta \leq \Omega_{i+1}\) define the following:

\begin{eqnarray*} \Omega_i \cup \beta &\subseteq& \bar{C}_i(\alpha, \beta) \\ \xi, \eta \in \bar{C}_i (\alpha, \beta) &\Rightarrow& \xi + \eta \in \bar{C}_i(\alpha, \beta) \\ j \leq i < \omega \wedge \xi \in \bar{C}_j(\xi, \Omega_{j + 1}) \cap \bar{C}_i(\alpha, \beta) \cap \alpha &\Rightarrow& \bar{\vartheta}_j(\xi) \in \bar{C}_i(\alpha, \beta) \\ \bar{\vartheta}_i(\alpha) &=& \min(\{\xi < \Omega_{i + 1} | \alpha \in \bar{C}_i(\alpha, \xi) \wedge \bar{C}_i(\alpha, \xi) \cap \Omega_{i + 1} \subseteq \xi\} \cup \{\Omega_{i + 1}\}) \\ \end{eqnarray*}

Weiermann's \(\vartheta\)

The \(\vartheta\) function has the advantage of having only a single argument, at the cost of some added complexity.[11]

\begin{eqnarray*} C_0(\alpha, \beta) &=& \beta \cup \{0, \Omega\}\\ C_{n+1}(\alpha, \beta) &=& \{\gamma + \delta, \omega^{\gamma}, \vartheta(\eta) | \gamma, \delta, \eta \in C_n (\alpha, \beta); \eta < \alpha\} \\ C(\alpha, \beta) &=& \bigcup_{n < \omega} C_n (\alpha, \beta) \\ \vartheta(\alpha) &=& \min \{\beta < \Omega | C(\alpha, \beta) \cap \Omega \subseteq \beta \wedge \alpha \in C(\alpha, \beta)\} \\ \end{eqnarray*}

Rathjen and Weiermann showed that \(\vartheta(\alpha)\) is defined for all \(\alpha < \varepsilon_{\Omega+1}\), but do not discuss higher values.

\(\vartheta\) follows the archetype of many ordinal collapsing functions — it is defined inductively with a "marriage" to the \(C\) function. Interpreting the equations:

  • \(C(\alpha, \beta)\) is the set of all ordinals constructible using only the following:
    • Zero, all ordinals less than \(\beta\), and \(\Omega\).
    • Finite applications of addition, \(\kappa \mapsto \omega^\kappa\), \(\kappa \mapsto \vartheta(\kappa)\) (the latter only if \(\vartheta(\kappa)\) has yet been defined).
  • \(\vartheta(\alpha)\) is the smallest ordinal \(\beta\) so that \(\alpha \in C(\alpha, \beta)\), and \(\beta\) is greater than all the countable ordinals in \(C(\alpha, \beta)\).

Rathjen's \(\psi\)

Rathjen's \(\psi\) function is based on the least weakly Mahlo cardinal to create large countable ordinals.[12] A weakly Mahlo cardinal can be defined as a cardinal \(\text M\) such that all normal functions closed in \(\text M\) have a regular fixed point. He uses this to diagonalise over the inaccessible hierarchy.

Due to the complexity of the original notation, the one provided below has been simplified slightly, but still emulates the main properties of the original notation.

We restrict \(\pi\) to uncountable regular ordinals.

\(\text{enum}(X)\) is the unique increasing function \(f\) such that the range of \(f\) is exactly \(X\).

\(\text{cl}(X)\) is the closure of \(X\); that is \(\text{cl}(X):=X\cup\{\beta:\sup(X\cap\beta)=\beta\}\)

\(\text B_0(\alpha,\beta):=\beta\cup\{0,\text M\}\)

\(\text B_{n+1}(\alpha,\beta):=\{\gamma+\delta,\varphi_\gamma(\delta),\chi_\mu(\delta):\gamma,\delta,\mu\in\text B_n(\alpha,\beta)\wedge\mu<\alpha\}\)

\(\text B(\alpha,\beta):=\cup_{n<\omega}\text B_n(\alpha,\beta)\)

\(\chi_\alpha:=\text{enum}(\text{cl}(\{\pi:\text B(\alpha,\pi)\cap\text M\subseteq \pi\wedge\alpha\in\text B(\alpha,\pi)\}))\)

\(\text C_0(\alpha,\beta):=\beta\cup\{0,\text M\}\)

\(\text C_{n+1}(\alpha,\beta):=\{\gamma+\delta,\varphi_\gamma(\delta),\chi_\gamma(\delta),\psi_\pi(\mu):\gamma,\delta,\mu,\pi\in\text C_n(\alpha,\beta)\wedge\mu<\alpha\}\)

\(\text C(\alpha,\beta):=\cup_{n<\omega}\text C_n(\alpha,\beta)\)

\(\psi_\pi(\alpha):=\min\{\beta:\text C(\alpha,\beta)\cap\pi\subseteq\beta\wedge\alpha\in\text C(\alpha,\beta)\}\)

Rathjen originally defined the \(\psi\) function in more complicated a way in order to create an ordinal notation associated to it. Therefore it is not certain whether the simplified OCF above yields an ordinal notation or not.

Rathjen's ordinal is \(\psi_{\omega_1}(\psi_{\chi_{\varepsilon_{\text M+1}}(0)}(0))\) in Rathjen's original \(\psi\) function, and coincides with the proof-theoretic ordinal of \(\textrm{KPM}\)[13], where \(\textrm{KPM}\) is Kripke–Platek set theory augmented by the axiom schema "for any \(\Delta_0\)-formula \(H(x,y)\) satifying \(\forall x, \exists y, H(x,y)\), there exists an addmissible set \(z\) satisfying \(\forall x \in z, \exists z, H(x,y)\)".

The original \(\chi\) functions used in Rathjen's original OCF are not so easy to understand, and differ from the \(\chi\) functions defined above. Instead, we explain the \(\text I\) functions, which is deeply related to the original \(\chi\) functions. The \(\text I_0\) function enumerates the uncountable cardinals less than \(\text M\). The \(\text I_1\) function enumerates the weakly inaccessible cardinals less than \(\text M\), and their limits. Similarly, for each \(\alpha<\text M\), \(\text I_{1+\alpha}\) enumerates the weakly \(\alpha\)-inaccessible cardinals less than \(\text M\) (and their limits, because the function is normal), and the function \(\text I_{\text M}\) diagonalises over these, and enumerates the weakly hyper-inaccessible cardinals and their limits less than \(\text M\). \(\text I_{\text M2}\) enumerates the weakly hyper-hyper-inaccessible cardinals and their limits less than \(\text M\), and so on and so fourth. Rathjen verified that \(\chi_{\alpha}(\beta)\) (with respect to the original \(\chi\) functions) coincides with \(\textrm I_{\alpha}(\beta)\) for any \(\alpha < \Lambda_0 := \chi_{\chi_{\chi_{\cdot_{\cdot_{\cdot}}}(0)}(0)}(0)\) and \(\beta < \text M\).

Although it may not be obvious why, the limits of these large cardinals are added to the \(\text I\) function to make it much easier to notate, say, the suprenum of the first weakly inaccessible cardinal, the second weakly inaccessible cardinal, the third weakly inaccessible cardinal, \(\ldots\), as values like these don't otherwise have any way of being notated easily. Be careful that some author denote by \(\text I_\alpha\) the \(\alpha\)th weakly inaccessible cardinal, while Rathjen denoted by \(\text I_\alpha\) a function.

Note that it is possible to define the same ordinal using only a single \(\text C\) function instead of both \(\text B\) and \(\text C\), however this is not done in the original text, as it is more transparent and easier to manage values when the functions are defined separately.

Stegert's notation

As part of his 2010 Ph.D. dissertation, Jan-Carl Stegert developed a powerful ordinal notation based on the work of Rathjen.[14]

Arai's notation

Arai introduced a new simplified ordinal notation associated to an ordinal collapsing function based on first order reflection under an extension \(\textrm{ZFLK}_N\) of \(\textrm{ZFC}\).[15] Here, \(N\) is a natural number greater than \(2\). Arai verified \(\psi_{\Omega_1}(\varepsilon_{\mathbb{K}+1})\) is the proof theoretic ordinal of \(\textrm{KP}\Pi_N\), where \(\mathbb{K}\) is the least \(\Pi_N\)-reflecting ordinal and \(\textrm{KP}\Pi_N\) is Kripke–Platek set theory for \(\Pi_N\)-reflecting universe. To our knowledge, it is the current state of the art in the field of ordinal analysis.

Taranovsky's C

Dmytro Taranovsky described in a self-published web page the following general frame work to construct a binary function \(C\) from a well-ordered set \((S,<)\) equipped with an additional structure \(D \subset S \times S\) satisfying a suitable condition explained later.[16] Let \(0_S\) denote the least element of \((S,<)\). For an \(a \in S\), we put \(C_a := \{c \in S : (c,a) \in D\}\), \(a+1 := \min \{c \in S : a < c\}\) (assume the existence), and \((a) := \{c \in S : c < a\}\). For an \(S' \subset S\), we denote by \(\lim(S') \subset S\) the subset of limits of elements of \(S'\) in \((S,<)\). We say that \(D\) is a degree for \((S,<)\) if the following hold:

  • \(C_{0_S} = S\)
  • \(\forall a \in S: a \neq 0_S \Rightarrow 0_S \notin C_a\)
  • \(\forall a \in \lim(S): C_a = \bigcup_{b < a} C_b\).
  • \(\forall a \in S: C_{a+1} = \lim(C_a) \lor \exists d \in \lim(S) \cap (a+1) \land C_{a+1} = \lim(C_a) \cup (d+1)\)

If \(D\) is a degree for \((S,<)\), then set \(C(a,b) := \min\{c \in C_a : b < c\}\). In particular, this construction works for a limit ordinal \(\eta\) equipped with a degree \(D \subset \eta \times \eta\) for \((\eta,\in)\). Since \(D\) is not unique, the resulting function \(C\) heavily depends on the choice of \(D\). Taranovsky introduced several explicit examples of degrees.

Define a partial ordinal notation system \(O\) as a partial mapping from ordinals below \(\eta\) to finite strings comprised of symbols and ordinals such that \(O(a)\) is undefined if \(a\) occurs in a string in the range of \(O\). Given a partial ordinal notation system \(O\) and a degree \(D\) for \((\eta,\in)\), we define Taranovsky's notation for \(a\):

  • If \(O(a)\) is defined, then we simply use the string \(O(a)\) to notate \(a\).
  • Otherwise, let \(b,c\) be ordinals so that \(a = C(b, c) \wedge b'>b \Rightarrow C(b', c) > C(b, c) \wedge c' < c \Rightarrow C(b, c') < C(b, c)\). We then use the string "\(C(b,c)\)."

Second-order arithmetic

One implementation Taranovsky conjectures to reach further than the proof-theoretic ordinal of second-order arithmetic, which if true would make it an exceptionally strong system.

For \(k \geq 0\), define the binary relation "\(a\) is \(k\)-built from below by \(b\)" over ordinals as follows:

  • \(a\) is \(0\)-built from below by \(b\) iff \(a < b\).
  • \(a\) is \(k+1\)-built from below by \(b\) iff the standard representation of \(a\) does not use ordinals above \(a\) except in the scope of an ordinal \(k\)-built from below by \(b\).

Taranovsky's notation, then, is an infinite family of notations indexed by positive integer \(n\) defined individually as follows:

  • The language consists of constants "\(0\)" and "\(\Omega_n\)" and a binary function "\(C\)" written in reverse Polish notation.
  • Ordering is lexicographic with "\(C\)" < "\(0\)" < "\(\Omega_n\)".
  • The strings "\(0\)" and "\(\Omega_n\)" are in standard form.
  • The string "\(abC\)" is in standard form iff all the following are true:
    • "\(a\)" and "\(b\)" are in standard form.
    • If "\(a\)" is of the form "\(cdC\)", \(b \leq d\) according to the aforementioned lexicographic ordering.
    • "\(b\)" is \(n\)-built from below by "\(abC\)".

For \(n = 1\), Taranovsky showed that the system reaches the Bachmann-Howard ordinal.

Nonrecursive notations

The notations in this section are nonrecursive. Some authors do not consider them to be real ordinal notations.

Kleene's \(\mathcal{O}\)

Kleene's \(\mathcal{O}\) is a notation for all recursive ordinals. Let \(f_0, f_1, f_2, \ldots\) be an enumeration of all the partial recursive functions. (One way to do this is to order all the Turing machines lexicographically.)

Let \(<_\mathcal{O}\) be an operator indicating a well-founded partial ordering of set \(K\), and let \(\mathcal{O}: K \to \omega_1\). These three are defined inductively as follows:

  • \(0 \in K\) and \(\mathcal{O}(0) = 0\).
  • If \(n \in K\) and \(\mathcal{O}(n) = \alpha\), then \(2^n \in K\), \(\mathcal{O}(2^n) = \alpha + 1\), and \(n <_\mathcal{O} 2^n\).
  • If for all natural numbers \(n\), we have \(f_i(n) \in K\) and \(f_i(n) <_\mathcal{O} f_i(n + 1)\), then \(3 \cdot 5^i \in K\), \(\mathcal{O}(3 \cdot 5^i) = \lim_{k \rightarrow \omega} \mathcal{O}(f_i(k))\), and for all \(k\) \(f_i(k) <_\mathcal{O} 3 \cdot 5^i\).
  • \(a <_\mathcal{O} b\) and \(b <_\mathcal{O} c\) implies \(a <_\mathcal{O} c\).

Klev's \(\mathcal{O}^+\)

Ansten Mørch Klev extended Kleene's \(\mathcal{O}\) to the set of all writable ordinals.[17] Let \(f_0, f_1, f_2, \ldots\) be an enumeration of all ITTM-computable partial functions (where the output of an ITTM is based on the tape when it halts). The rules are otherwise identical to Kleene's \(\mathcal{O}\):

  • \(0 \in K\) and \(\mathcal{O}^+(0) = 0\).
  • If \(n \in K\) and \(\mathcal{O}^+(n) = \alpha\), then \(2^n \in K\), \(\mathcal{O}^+(2^n) = \alpha + 1\), and \(n <_{\mathcal{O}^+} 2^n\).
  • If for all natural numbers \(n\), we have \(f_i(n) \in K\) and \(f_i(n) <_{\mathcal{O}^+} f_i(n + 1)\), then \(3 \cdot 5^i \in K\), \(\mathcal{O}^+(3 \cdot 5^i) = \lim_{k \rightarrow \omega} \mathcal{O}^+(f_i(k))\), and for all \(k\) \(f_i(k) <_{\mathcal{O}^+} 3 \cdot 5^i\).
  • \(a <_{\mathcal{O}^+} b\) and \(b <_{\mathcal{O}^+} c\) implies \(a <_{\mathcal{O}^+} c\).

\(\mathcal{O}^+\) is capable of expressing all ordinals \(< \lambda\) (all writable ordinals).

Klev's \(\mathcal{O}^{++}\)

In the same paper, Klev introduced \(\mathcal{O}^{++}\), which has \(f_i\) enumerates all eventually computable partial functions (that is, the output of an ITTM is based on what the tape converges to). The rules are otherwise identical:

  • \(0 \in K\) and \(\mathcal{O}^{++}(0) = 0\).
  • If \(n \in K\) and \(\mathcal{O}^{++}(n) = \alpha\), then \(2^n \in K\), \(\mathcal{O}^{++}(2^n) = \alpha + 1\), and \(n <_{\mathcal{O}^{++}} 2^n\).
  • If for all natural numbers \(n\), we have \(f_i(n) \in K\) and \(f_i(n) <_{\mathcal{O}^{++}} f_i(n + 1)\), then \(3 \cdot 5^i \in K\), \(\mathcal{O}^{++}(3 \cdot 5^i) = \lim_{k \rightarrow \omega} \mathcal{O}^{++}(f_i(k))\), and for all \(k\) \(f_i(k) <_{\mathcal{O}^{++}} 3 \cdot 5^i\).
  • \(a <_{\mathcal{O}^{++}} b\) and \(b <_{\mathcal{O}^{++}} c\) implies \(a <_{\mathcal{O}^{++}} c\).

It is capable of expressing all ordinals \(< \zeta\) (all eventually writable ordinals).

It is worth noting that the concepts of \(\mathcal{O}^+\) and \(\mathcal{O}^{++}\) cannot be extended to all accidentally writable ordinals, because many ITTMs accidentally write more than one ordinal. Indeed, there exist "universal" ITTMs accidentally writing all accidentally writable ordinals. No ordinal notation is known that specifically targets all ordinals \(< \Sigma\).

Table of ordinal notations

Below is a table comparing the different ordinal notations in this article.

NotationSupremum of expressible ordinals
Cantor normal form\(\varepsilon_0\)
Veblen function (two arguments)Feferman-Schütte ordinal \(\Gamma_0\)
Bird's \(\theta\)Small Veblen ordinal
Extended Veblen functionLarge Veblen ordinal
Bachmann's \(\psi\)Bachmann-Howard ordinal
Madore's \(\psi\)Bachmann-Howard ordinal
Weiermann's \(\vartheta\)Bachmann-Howard ordinal
Feferman's \(\theta\)Takeuti-Feferman-Buchholz ordinal
Buchholz's \(\psi\)Takeuti-Feferman-Buchholz ordinal
Rathjen's \(\psi\)Rathjen's ordinal (proof-theoretic ordinal of KPM)
Taranovsky's CUnknown, but computable and very large
Kleene's \(\mathcal{O}\)Church-Kleene ordinal \(\omega_1^\text{CK}\)
Klev's \(\mathcal{O}^+\)Supremum of writable ordinals \(\lambda\)
Klev's \(\mathcal{O}^{++}\)Supremum of eventually writable ordinals \(\zeta\)


  1. Veblen, Oswald. "Continuous increasing functions of finite and transfinite ordinals". Retrieved 2014-10-11.
  2. Bachmann, Heinz. "Die Normalfunktionen und das Problem der ausgezeichneten Folgen von Ordnungszahlen"Vierteljahrsschrift der Naturforschenden Gesellschaft in Zürich, vol. 95. Zürich: Orell Füssli Graphische Betriebe AG.. Retrieved 2014-08-29.
  3. Rathjen, Michael. "The Art of Ordinal Analysis"
  4. Buchholz, W.. "A New System of Proof-Theoretic Ordinal Functions"Annals of Pure and Applied Logic, vol. 32. Retrieved 2014-09-21.
  5. Buchholz, W.. "A New System of Proof-Theoretic Ordinal Functions"Annals of Pure and Applied Logic, vol. 32. Retrieved 2014-08-29.
  6. "Ordinal Collapsing Function". Wikipedia. Retrieved 2014-08-29.
  7. Chris Bird, pers. comm
  8. Bird, Chris. "The Fast-Growing Hierarchy in Terms of Bird's Array Notations". Retrieved 2014-08-29.
  9. Wilken, Gunnar. "Ordinal arithmetic based on Skolem hulling". Annals of Pure and Applied Logic. Retrieved 2014-09-21.
  10. Weiermann, Andreas and Wilken, Gunnar. "Ordinal arithmetic with simultaneously defined theta-functions". Wiley Online. Retrieved 2014-09-21.
  11. Rathjen, Michael and Weiermann, Andreas. "Proof Theoretic Investigations of Kruskal's Theorem"
  12. Rathjen, Michael. "Ordinal Notations Based on a Weakly Mahlo Cardinal"
  13. Rathjen, Michael. Collapsing functions based on recursively large ordinals: A well-ordering proof for KPM, Archive for Mathematical Logic (1994), Volume 33, Issue 1, pp 35–55
  14. Stegert, Jan-Carl. "Ordinal proof theory of Kripke-Platek set theory augmented by strong reflection principles"
  15. T. Arai, A simplified ordinal analysis of first-order reflection
  16. Taranovsky, Dmytro. Ordinal Notation. Retrieved 2014-09-26.
  17. [1]

See also

Ordinals, ordinal analysis and set theory

Basics: cardinal numbers · normal function · ordinal notation · ordinal numbers · fundamental sequence
Theories: Presburger arithmetic · Peano arithmetic · KP · second-order arithmetic · ZFC
Countable ordinals: \(\omega\) · \(\varepsilon_0\) · \(\zeta_0\) · \(\Gamma_0\) · \(\vartheta(\Omega^3)\) · \(\vartheta(\Omega^\omega)\) · \(\vartheta(\Omega^\Omega)\) · \(\vartheta(\varepsilon_{\Omega + 1})\) · \(\psi(\Omega_\omega)\) · \(\psi(\varepsilon_{\Omega_\omega + 1})\) · \(\psi(\psi_I(0))\)‎ · \(\omega_1^\mathfrak{Ch}\) · \(\omega_1^\text{CK}\) · \(\lambda,\zeta,\Sigma,\gamma\) · List of countable ordinals
Ordinal hierarchies: Fast-growing hierarchy · Slow-growing hierarchy · Hardy hierarchy · Middle-growing hierarchy · N-growing hierarchy
Uncountable cardinals: \(\omega_1\) · omega fixed point · inaccessible cardinal \(I\) · Mahlo cardinal \(M\) · weakly compact cardinal \(K\) · indescribable cardinal · rank-into-rank cardinal · more...

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