User blog comment:Syst3ms/YAUD/@comment-35470197-20180810233326

It is better to declare what formal symbols you are allowed to use in the ordinal notation. I guess that they are a constant symbol \(0\), a constant symbol \(\omega\), a constant symbol \(M\), an addition symbol \(+\), a multiplication symbol \(*\), an exponential symbol \(\textrm{^}\) (you can abbreviate \(\alpha \textrm{^} \beta\) to \(\alpha^{\beta}\).), and a function symbol \(\psi\) (you can abbreviate \(\psi(\alpha,\beta)\) to \(\psi_{\alpha}(\beta), \(\psi_{\psi_M(0)}(\alpha)\) to \(\psi(\alpha)\), and \(\psi(0)\) to \(1\)\).

Since you directly define an ordinal notation with formal strings, you need to define the relation \(<\) in a recursive way, too.

For cofinality;
 * \(\textrm{cof}(\alpha+1) = 1\) is better in the recursion, isn't it?
 * In the definition of \(\textrm{cof}(\psi_M(\alpha))\) with \(\textrm{cof}(\alpha)\), it is better to add the condition \(\textrm{cof}(\alpha) \neq M\) in order to avoid the misunderstanding derived from the multiple definition.
 * In the definition of \(\textrm{cof}(\alpha * \beta)\) and \(\textrm{cof}(\alpha^{\beta})\) with \(\textrm{cof}(\beta) = 0\), we have problems when \(\beta = 0\). That is one of reasons why \(\textrm{cof}(\alpha+1)\) should be \(1\). If you defined \(\textrm{cof}(\alpha+1) = 1\). then you could replace the condition \(\textrm{cof}(\beta) = 0\) by \(\textrm{cof}(\beta) = 1\), and others by suitable conditions.)
 * You forgot to write a definition of \(\textrm{cof}(\alpha * \beta)\) with \(\alpha \neq 0\) and \(\textrm{cof}(\beta) > 1\).
 * You forgot to write an assumpotion that \(\kappa\) in \(\psi_{\kappa}(0)\) should be of the form \(\psi_M(\alpha)\), if you assume it.
 * It is better to reorder the definitions in order to avoid forgetting to write definitions in all cases.

For \(\psi\)
 * In order to regard natural numbers as formal strings, \(n\) is regarded as a shorthand of \(\underbrace{1 + \cdots + 1}_{n \textrm{-times}}\) here.
 * On \(\psi_{\kappa}(\alpha)[\beta]\) with \(\textrm{cof}(\kappa) \geq \textrm{\alpha}(\alpha) > 0\), you forgot to write a restriction of \(\beta\)? Do you just assume \(\beta < \textrm{cof}(\alpha)\)? Or do you assume more on the expression, as Buchholz did?
 * Is your \(\omega\) just a shorthand of \(\psi_{\psi_M(0)}(1)\), right? (Since we are not working on set theory but on formal strings, the equality \(\psi_{\psi_M(0)}(1)[n] = \underbrace{1 + \cdots + 1}_{n \textrm{-times}}\) does not imply \(\psi_{\psi_M(0)}(1) = \omega\).) Such an equality is necesary when you use \(\psi_{\kappa}(\alpha)\) with \(\psi_{\kappa}(\psi_{\textrm{cof}(\alpha)}(0))\).