User blog comment:GamesFan2000/Cascade Notation, Pt. 1/@comment-35470197-20190316235533

It is better to clarifyfirst the left associativity of the operators.

> I don’t really know how to define a ruleset for this

To begin with, writing down rules without abbreviated nesting like "n +'s" is helpful for you to formalise it. For higher operators of level greater than \(\omega\), such an abbreviation will cause confusion, which prevent you from succeeding in formalisation.

For example, rewriting the basic rules as the following simple recursion increases the formalisability: \begin{eqnarray*} n \underbrace{+ \cdots +}_{L+1} m & = & \left\{ \begin{array}{ll} n & (m = 0) \\ 0 & (n = 0, m > 0) \\ n \underbrace{\underbrace{+ \cdots +}_L n \cdots \underbrace{+ \cdots +}_L n}_{n-1} & (n > 0, m = 1) \\ (n \underbrace{+ \cdots +}_{L+1} (m-1)) \underbrace{+ \cdots +}_{L+1} 1 & (n > 0, m > 1) \end{array} \right. \end{eqnarray*} Actually, abbreviating nestings causes serious ambiguity which prevents you from formalising. For example, what does "\(0\) \(0\)'s" mean?

Now, what is \(n (+) 2\)? Since you abbreviated the explicit way to compute it, I could not even guess the result. Is it just \((n (+) 1) (+) 1\)? Then how about writing the following rule? \begin{eqnarray*} n (+) m & = & \left\{ \begin{array}{ll} n & (m = 0) \\ 0 & (n = 0, m > 0) \\ n \underbrace{\underbrace{+ \cdots +}_n n \cdots \underbrace{+ \cdots +}_n n}_{n-1} & (n > 0, m = 1) \\ (n (+) (m-1)) (+) 1 & (n > 0, m > 1) \end{array} \right. \end{eqnarray*} After that, you can formalise higher operators by a similar recursion, as long as you formalise what "next-highest-level operator" means. In order to do this, you need to enumerate operators above \((+)\) by \(\omega\).

If you intend to repeat the process through transfinite induction beyond \(\omega\), then "next-highest-level operator" does not make sense. On the other hand, you can define a similar operators indexed by ordinals \(\alpha\) with a system of fundamental sequences in the following way: \begin{eqnarray*} n +_0 m & = & n + 1\\ n +_{\alpha} m & = & \left\{ \begin{array}{ll} n & (m = 0) \\ 0 & (n = 0, m > 0) \\ n \underbrace{+_{\alpha[n]} n \cdots +_{\alpha[n]} n}_{n-1} & (n > 0, m = 1) \\ (n +_{\alpha} (m-1)) +_{\alpha} 1 & (n > 0, m > 1) \end{array} \right. \end{eqnarray*} Here, \(\alpha[n]\) means the predicessor of \(\alpha\) in the case where \(\alpha\) is a successor.

Therefore the point is reduced to constructing an ordinal notation with a system of fundamental sequences.