User blog:Syst3ms/A formal definition for UNOCF

[WIP]

\(\psi_\kappa\) is defined iff \(\kappa\) is regular and uncountable

Some shorthands : \(\psi_\alpha = \psi_{\Omega_{1+\alpha}},\;\alpha < \Omega \\ \psi = \psi_0 = \psi_\Omega\)

In the C function, "n-th entry" means "n-th rightmost entry"

C function symbols : \(C(\alpha) = \Omega_{1+\alpha} \\ C(0:\#) = C(\#) \\ C(\#\S_1 0 \S_2\#) = C(\#\S_1\#),\; \S_1 > \S_2, \text{where } \S_n \text{ are separators} \)
 * \(\#\) is any string of entries
 * \(\#_0\) is a string of zeroes
 * \(\#_1\) is a string of non-zero entries

To compare separators, reverse their content and compare them lexicographically, with \('\{' = '\}' > '9' > \cdots > '0'\)

Rule that hold for any \(\kappa\) :

Initial rule : \(\psi(0) = 1\)

Zero rule : \(\psi_{C(\#\mu+1\#_0)}(0) = C(\#\mu\#_0)\)

Limit rule : \(\psi_\kappa(\alpha) = \lim\limits_{\gamma<\text{cof}(\alpha)} \psi_\kappa(\alpha[\gamma]), \; \alpha \in \text{Lim} \wedge \text{cof}(\alpha) < \kappa\)

Nesting rule : \(\psi_\kappa(\ldots\psi_{a_0}(\cdots\psi_{a_n}(\cdots\psi_{a_{n+1}}(\cdots\lambda)))) = \psi_\kappa(\ldots\psi_{a_0}(\cdots\psi_{a_n}(\cdots\psi_{\text{cof} (\lambda)}( \cdots\psi_{a_{n+1}}(\cdots\lambda)))))\) such that \(\cdots>a_{n+1}>\text{cof}(\lambda) >aa_n >\cdots>a_0>\kappa\)

The difference between \(\cdots\) and \(\ldots\) is that \(\ldots\) allows for further nesting of the \(\psi\) function, whereas \(\cdots\) does not. Here, the \(\cdots\) part must be as big as possible.

So, for example, \(\psi_\Omega(\psi_{\Omega_3}(\psi_\Omega(\psi_{\Omega_3}(\Omega_2)))) = \psi_\Omega(\psi_{\Omega_3}(\psi_\Omega(\psi_{\Omega_2}(\psi_{\Omega_3}(\Omega_2)))))\), rather than \(\psi_\Omega(\psi_{\Omega_2}(\psi_{\Omega_3}(\psi_\Omega(\psi_{\Omega_3}(\Omega_2)))))\)

If \(\kappa<I\) :

Successor rule : \(\psi_\kappa(\alpha+1) = \psi_\kappa(\alpha)\omega\)

Diagonalizer rule : \(\psi_\kappa(\cdots\kappa) = \alpha \mapsto \psi_\kappa(\cdots\alpha)\)

Otherwise (\(\kappa \geq I\)) :

Diagonalizer rule : \(\psi_\kappa(\cdots\kappa) = \alpha \mapsto \psi_\kappa(\cdots\alpha) \;\text{if "} \cdots \text{" is non-empty} \)

Inaccessible rule : \(\psi_\kappa(\alpha) = \mathcal{C}(\kappa, \beta, \delta), \: \alpha=\beta+\delta\wedge \text{cof}(\beta) = \kappa \text{ or } 0 \)

\(\mathcal{C}(\kappa, \beta, \delta) :=\) (All innermost cases are terminal) Start at the first entry of [the C function form of] \(\kappa\). If the entry is 0, jump to the next one. Otherwise, call the current entry a:
 * 1) If the current entry is the first one, find the rightmost non-zero entry and call it b:
 * 2) If there is a 0 after b:
 * 3) If the separator to the right of b is an array ending with 0, start this process inside of it, starting at the first entry.
 * 4) If \(\beta = \kappa\) and \(\delta=0\), look to the right of b :
 * 5) If there is a comma, then the result is \(\min\{\gamma|\gamma = \mathcal{C}(\kappa,0,\gamma)\}\)
 * 6) Otherwise, let the separator to the right of b be \(\{\#\mu+1\}\), then decrement b, replace the 0 with \(1\{\#\mu\}0\) and replace a with \(\psi_\kappa(0)+1\)
 * 7) Otherwise, decrement b, replace the 0 with \(\delta\) and replace a with \(\psi_\kappa(\beta)+1\)
 * 8) Otherwise (b is the second entry) :
 * 9) If the separator to the right of b is an array ending with 0, start this process inside of it, starting at the first entry.
 * 10) If \(\beta = \kappa\) and \(\delta=0\), look to the right of b :
 * 11) If there is a comma, then the result is \(\min\{\gamma|\gamma = \mathcal{C}(\kappa,0,\gamma)\}\)
 * 12) Otherwise, let the separator to the right of b be \(\{\#\mu+1\}\), then decrement b and replace a with \(1\{\#\mu\}\psi_\kappa(0)+1\)
 * 13) Otherwise, decrement b and replace a with \(\psi_\kappa(\beta)+\delta\)
 * 14) Otherwise (the last entry is a 0) :
 * 15) If the separator to the right of a is an array ending with 0, start this process inside of it, starting at the first entry.
 * 16) If \(\beta = \kappa\) and \(\delta=0\), look to the right of b :
 * 17) If there is a comma, then the result is \(\min\{\gamma|\gamma = \mathcal{C}(\kappa,0,\gamma)\}\)
 * 18) Otherwise, let the separator to the right of b be \(\{\#\mu+1\}\), then decrement b and replace the 0 with \(1\{\#\mu\}0\)
 * 19) If \(\beta=0\), then decrement a and replace the entry to the right of it with \(\delta\)
 * 20) Otherwise, decrement a and replace the entry to the right of it with \(\psi_\kappa(\beta)+\delta\)