I owe credit to Aarex for the idea of this function, even though he utterly failed to define it. (Sorry Aarex.)
A hydra is inductively defined as any one of the following:
- An tree containing only an unlabeled root node (henceforth referred to as an "empty hydra").
- A hydra, with a leaf node (labeled with an empty hydra) added to the root node.
- A hydra, with a leaf node (labeled with any hydra) added to any non-root node.
That is, a hydra is a finite tree data structure where the root node is unlabeled, all the root node's immediate children are labeled with empty hydras, and all other nodes are labeled with hydras, with finite levels of nesting.
Next we will define a well-ordering over the hydras. We say that \(H \geq J\) iff there exists a series of chops on \(H\) that result in \(J\).
Given a hydra \(H\), we chop \(H\) by selecting a leaf node \(a\) and a nonnegative integer \(n\), then doing the following:
- If \(a\) is labeled with an empty hydra, proceed as in the Kirby-Paris game: let \(b\) be the parent of \(a\), and let \(c\) be the parent of \(b\); remove \(a\) and make \(n\) copies of \(b\), attaching them all to \(c\).
- If \(a\) is labeled with a non-empty hydra \(J\), descend into \(J\) and perform a chop to produce \(J'\). Then proceed as in the Buchholz game: find an ancestor \(b\) of \(a\) labeled with a hydra \(\leq J'\), and let \(S\) be the subtree rooted at \(b\). Let \(S'\) be \(S\), but with \(b\) relabeled to \(J'\), and \(a\) relabeled to \(0\). Back in the original tree, replace \(a\) with \(S'\).
From looking at ordinal notations for hydras, it can be seen that the strength of this notation is \(\psi(\Omega_\Omega)\). (Correction thanks to Deedlit.)