Introduction to the fast-growing hierarchy

The fast-growing hierarchy is a hierarchy of functions based on the ordinal numbers. It is particularly notable in googology not only in the growth rates of the numbers produced, but also its very simple formal definition.

Definition
Here's the easy-to-understand definition:
 * 1) \(f_0(n) = f(n) = n+1\)
 * 2) \(f_\alpha^{m+1}(n) = f_\alpha(f_\alpha^m(n))\)
 * 3) \(f_\alpha^0(n) = n\)
 * 4) \(f_{\alpha+1}(n) = f_\alpha^n(n)\)
 * 5) \(f_\alpha(n) = f_{\alpha[n]}(n)\)

Here \(\alpha\) can be any countable ordinal, except for rule 5. In rule 5, we require it to be limit, and denote by \(\alpha[n]\) the \(n\)th term of a fixed fundamental sequence assigned to ordinal \(\alpha\). A system of fundamental sequences for limit ordinals below a given supremum is not unique, and fast-growing hierarchy heavily depends on the choice of such a system. In particular, fast-growing hierarchy is ill-defined unless a specific choice of a system of fundamental sequences is explicitly fixed in the context. Beginners should be very careful about this issue, because it frequently appears when googologists talk about "catching ordinals", "ordinal regarded as the growth rate", "the proof-theoretic ordinal in fast-growing hierarchy" and so on without understanding the dependency of the choice of a system of fundamental sequences. The general case where \(f_0\) is any increasing function forms a fast iteration hierarchy.a

The first rule states the base case: \(f_0(n) = n+1\). This is where the power of the function comes from. The second and third rules define function iteration on the fast growing hierarchy (it can be defined on all other functions as well; but, this was defined on the fast growing hierarchy to avoid confusion). The fourth rule states that if the subscript is a successor ordinal, it will decrement that subscript, and it will iterate that function n times. Lastly, if the subscript is a limit ordinal, it will take the nth term of its fundamental sequence, and plug it back into the subscript. Now, you may be asking: "What the heck are ordinals?!".

Ordinal numbers
The German mathematician invented an extension to the nonnegative numbers, called the ordinal numbers. 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\}\).

From 0 to \(\varepsilon_0\)
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.

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\)

From \(\varepsilon_0\) to \(\Gamma_0\)
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_{\omega^\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\).

We only have finitely many Greek letters, so the next step is to generalize these. Define the Veblen hierarchy as \(\varphi(0,\alpha) = \omega^\alpha\), and define \(\varphi(\beta + 1,\alpha)\) as the \(\alpha\)th solution (starting from 0th) \(\gamma\) to the equation \(\varphi(\beta,\gamma) = \gamma\). This gives us \(\varphi(1,\alpha) = \varepsilon_\alpha, \varphi(2,\alpha) = \zeta_\alpha, \varphi(3,\alpha) = \eta_\alpha, \ldots\).

What would happen if the subscript is a limit ordinal? Obviously, we could define \(\varphi(\omega,0)\) as the limit of \(\varphi(1,0), \varphi(2,0), \varphi(3,0), \ldots\), but what is \(\varphi(\omega,1)\)? We could define as a similar way as \(\varphi(\omega,0)\), so \(\varphi(\omega,1)\) is the limit of \(\varphi(1,\varphi(\omega,0)+1), \varphi(2,\varphi(\omega,0)+1), \varphi(3,\varphi(\omega,0)+1), \ldots\). The +1 is to avoid fixed points, since, \(\alpha+1\) generally is not a fixed point of the map \(x \mapsto \varphi(\beta,x)\) for ordinals \(\alpha\) and \(\beta\). This ensures we don't get stuck.

Generally, when the subscript is a limit ordinal, we have \(\varphi(\alpha,\beta+1)[n]\) = \(\varphi(\alpha[n],\varphi(\alpha,\beta) + 1)\). We have \(\beta+1\) in the definition to avoid problems when \(\beta\) is a limit ordinal.

The limit of the Veblen hierarchy is \(\varphi(\varphi(\varphi(\ldots,0),0),0) = \Gamma_0\), the famous Feferman–Schütte ordinal. This is the solution \(\Gamma\) to the equation \(\varphi(\Gamma,0) = \Gamma\).

Fundamental Sequences
The last rule of FGH says something about fundamental sequences. Now, what are fundamental sequences? To understand these things, you need to think in terms of limits. \(\omega\) has the fundamental sequence \(\{1, 2, 3, 4, 5, 6, \ldots\}\). \(\omega\cdot 2\) (or \(\omega+\omega\)) has the fundamental sequence \(\{\omega+1, \omega+2, \omega+3, \ldots\}\). \(\omega^2\) (or \(\omega\cdot\omega\)) has the fundamental sequence \(\{\omega, \omega\cdot 2, \omega\cdot 3, \omega\cdot 4, \ldots\}\). \(\omega^\omega\) has the fundamental sequence \(\{\omega, \omega^2, \omega^3, \ldots\}\). We can think of fundamental sequences as the most basic progressions leading to some ordinal. So, we can say that \(\varepsilon_0\) has the fundamental sequence \(\{\omega, \omega^\omega, \omega^{\omega^\omega}, \ldots\}\).

Examples of Fundamental Sequences beyond \(\varepsilon_0\)
While \(\{\omega, \omega^\omega, \omega^{\omega^\omega}, \ldots\}\) is the fundamental sequence of \(\varepsilon_0\), there are no standard fundamental sequences beyond this point, and there are infinitely many possible ways in which fundamental sequences could be formed. Here are examples of the most common continuations for fundamental sequences up to \(\Gamma_0\).

\(\varepsilon_0\): \(\{\omega, \omega^\omega, \omega^{\omega^\omega}, \ldots\}\)

\(\varepsilon_0+\omega\): \(\{\varepsilon_0+1, \varepsilon_0+2, \varepsilon_0+3, \ldots\}\)

\(\varepsilon_0+\omega\cdot 2\): \(\{\varepsilon_0+\omega+1, \varepsilon_0+\omega+2, \varepsilon_0+\omega+3, \ldots\}\)

\(\varepsilon_0+\omega^2\): \(\{\varepsilon_0+\omega, \varepsilon_0+\omega\cdot 2, \varepsilon_0+\omega\cdot 3, \ldots\}\)

\(\varepsilon_0+\omega^\omega\): \(\{\varepsilon_0+\omega, \varepsilon_0+\omega^2, \varepsilon_0+\omega^3, \ldots\}\)

\(\varepsilon_0+\varepsilon_0\) = \(\varepsilon_0\cdot 2\): \(\{\varepsilon_0+\omega, \varepsilon_0+\omega^\omega, \varepsilon_0+\omega^{\omega^\omega}, \ldots\}\)

\(\varepsilon_0\cdot \omega\): \(\{\varepsilon_0, \varepsilon_0\cdot 2, \varepsilon_0\cdot 3, \varepsilon_0\cdot 4, \ldots\}\)

\(\varepsilon_0\cdot \omega\cdot 2\): \(\{\varepsilon_0\cdot (\omega+1), \varepsilon_0\cdot(\omega+2), \varepsilon_0\cdot(\omega+3), \ldots\}\)

Example
\(f_{\omega+1}(3)\)

\( = f_\omega^3(3)\)

\( = f_\omega(f_\omega^2(3))\)

\( = f_\omega(f_\omega(f_\omega(3)))\)

\( = f_\omega(f_\omega(f_{\omega[3]}(3)))\)

\( = f_\omega(f_\omega(f_3(3)))\)

\( = f_\omega(f_\omega(f_2^3(3)))\)

\( = f_\omega(f_\omega(f_2(f_2(f_2(3)))))\)

\( = f_\omega(f_\omega(f_2(f_2(f_1^3(3)))))\)

\( = f_\omega(f_\omega(f_2(f_2(f_1(f_1(f_1(3)))))))\)

\( = f_\omega(f_\omega(f_2(f_2(f_1(f_1(6))))))\)

\( = f_\omega(f_\omega(f_2(f_2(f_1(12)))))\)

\( = f_\omega(f_\omega(f_2(f_2(24))))\)

\( = f_\omega(f_\omega(f_2(402,653,184)))\)

\(=f_\omega(f_\omega(2^{402,653,211}402,653,211))\)

\(=f_\omega(f_{\omega[2^{402,653,211}402,653,211]}(2^{402,653,211}402,653,211))\)

\(=f_\omega(f_{2^{402,653,211}402,653,211}(2^{402,653,211}402,653,211))\)