Shifting psi

Shifing psi is a common notation, whereby Ωn is n-shifted. The formal (maybe too formal?) definition is below.

```
**Convention**
ℤ+ denotes the set of positive integers.
For *a*, *b* ∈ *S*, *a*++*b* denotes the concatenation of *a* and *b*.
For *a* ∈ *S* and *n* ∈ ℕ, *a**n* denotes:
  "" if *n*=0, and
  *a*n-1++*a* otherwise.
**Terms**
I define sets *T* and *PT* of formal strings consisting of symbols ψ, (, ), +, 0, and Ω*n* for every positive integer *n* in the following recursive way:
  1. "0" ∈ *T*, *PT*
  2. For all *n* ∈ ℤ+, "Ω*n*" ∈ *T*, *PT*
  3. For all *a*, *b* ∈ *T*, "*a*+*b*" ∈ *T*
  4. For all *a* ∈ *T*, "ψ(*a*)" ∈ *T*, *PT*

I define a set *S* of formal strings in the following way:
  1. *a* ∈ *S* iff *a* is a formal string made out of only the symbols ψ, (, ), +, 0, and Ω*n* for every positive integer *n*.

**Basic functions**
I define a map
  len: *S* → ℕ
       *a* → len(*a*)
in the following way:
  1. len(*a*) is the number of symbols in *a*.

I define a map
  $: *S* × len(S) → *S*
          (*a*,*n*) → *a*$*n*
in the following way:
  1. *a*$*n* is the (1+*n*)th symbol in *a*.

I define a map
  $: *S* × len(S)2 → *S*
         (*a*,*m*,*n*) → *a*$(*m*,*n*)
in the following way:
  1. Let *b* = *a*$*m*.
  2. Let *i* = *m*+1
  3. *b* = *b*++(*a*$*i*)
  4. *i* = *i*+1
  5. If *i*<*n*, go to 3
  6. *a*$(*m*,*n*) = *b*

I define a map
  $: *S* × len(S) × {-1,1} → ℕ ∪ {-1}
                 (*a*,*n*,*d*) → par(*a*,*n*,*d*)
in the following way:
  1. Let *m* = *d*.
  2. Let *i* = *n*
  3. *i* = *i*+*d*
  4. If *a*$*n* = "(", then *m* = *m*+1
  5. Otherwise, if *a*$*n* = ")", then *m* = *m*-1
  6. If *m* &neq; 0, go to 3
  7. If *n* ≥ len(*a*) or *n* < 0, par(*a*,*n*,*d*) = -1
  8. par(*a*,*n*,*d*) = *i*

I define a map
  lv: *T* → ℕ
      *a* → lv(*a*)
in the following recursive way:
  1. If *a* ∈ *PT*,
    1.1. If *a* is Ω*n* for some *n*, lv(*a*) = *n*
    1.2. Otherwise, if *a* is 0, lv(*a*) = 0.
    1.3. Otherwise, *a* is ψ(*b*) for some *b* ∈ *T*. Then, lv(*a*) is lv(*b*).
  2. Otherwise, *a* is *b*+*c* for *b* ∈ *PT*, *c* ∈ *T*. Then, lv(*a*) = lv(*b*).

I define a map
  red: *T* → *T*
       *a* → red(*a*)
in the following recursive way:
  1. If *a* ∈ *PT*,
    1.1. If *a* is Ω*n* for some *n*, red(*a*) = *a*.
    1.2. Otherwise, if *a* is ψ(Ω*n*) for *n* > 1, red(*a*) = Ω*n*-1.
    1.3. Otherwise, *a* is ψ(*b*) for some *b* ∈ *T*. Then, red(*a*) = ψ(red(*b*)).
  2. Otherwise, *a* is *b*+*c* for some *b* ∈ *PT*, *c* ∈ *T*. Then, red(*a*) = red(*b*)+red(*c*).

I define a map
  nrm: *T* × ℤ+ → *T*
        (*a*,*n*) → nrm(*a*,*n*)
in the following recursive way:
  1. If *a* ∈ *PT*,
    1.1. If *a* is Ω*k* for *k* < *n*, nrm(*a*,*n*) = nrm(ψ(Ω*k*+1),*n*).
    1.2. If *a* is Ω*k* for *k* ≥ *n*, nrm(*a*,*n*) = *a*.
    1.3. If *a* is ψ(*b*) for *b* ∈ *T*, nrm(*a*,*n*) = ψ(nrm(*b*,*n*)).
  2. Otherwise, *a* is *b*+*c* for some *b* ∈ *PT*, *c* ∈ *T*. Then, nrm(*a*,*n*) = nrm(*b*,*n*)+nrm(*c*,*n*).

I define a map
  slt: *PT* → *T*
        *a* → slt(*a*)
in the following recursive way:
  1. If *a* = ψ(*b*) for *b* ∈ *PT*, slt(*a*) = *b*.
  2. Otherwise, *a* = ψ(*b*+*c*) for *b* ∈ *PT*. Then, slt(*a*) = *c*.

**Comparison**
For (*a*,*b*) ∈ *T*2, I define a recursive 2-ary relation *a* < *b* in the following recursive way:
  1. If *a*=0, *a* < *b* is equivalent to *b* = 0
  2. If *b*=0, *a* < *b* is equivalent to *a* ≠ 0
  3. Otherwise,
    3.1. Let *t* = max(lv(*a*),lv(*b*))+1.
    3.2. Let *A*, *B* = nrm(*a*,*t*), nrm(*b*,*t*).
    3.3. If *A* ∈ *PT*, then *A* = ψ(*a*') for *a*' ∈ *T*, and *a*" = 0.
    3.4. Otherwise, *A* = ψ(*a*')+*a*" for *a*' ∈ *T*.
    3.5. If *B* ∈ *PT*, then *B* = ψ(*b*') for *b*' ∈ *T*, and *b*" = 0.
    3.6. Otherwise, *B* = ψ(*b*')+*b*" for *b*' ∈ *T*.
  4. If *a*' = *b*', *a* < *b* is equivalent to *a*" < *b*"
  5. If *a*' = Ω*t*, *a* < *b* is false.
  6. If *b*' = Ω*t*, *a* < *b* is true.
  7. Otherwise, *a* < *b* is equivalent to *a*' < *b*'

**Fundamental sequences**
I define a map
  []: *T* × ℤ+ → *T*
       (*a*,*n*) → *a*[*n*]
in the following way:
  1. Let *L* = len(*a*).
  2. If *a* = 0 or *a* = ψ(0), *a*[*n*] = 0 for all *n*
  3. If *a* = *b*++"ψ(0)" for some *b* ∈ *T*, *a*[*n*] = *b* for all *n*
  4. If *a* = Ωt for some *t* ∈ ℤ+, then *a*[*n*] = "ψ("*n*+1++"Ω*t*+*n*+Ω*t*+*n*"++")"*n*+1
  5. Otherwise, if *a* = *b*++"+ψ(0)"++")"*k* or *b*++"ψ(0)"++")"*n*
      for some *b* ∈ *S*, *n* ∈ ℤ+, *b*$(len(*b*)-1) &neq; "+", then,
    5.1. *c* = *b*++")"*n*.
    5.2. *i* = par(*c*,*L*-*n*+2,-1)-1
    5.3. *d* = *c*$(*i*,*L*-*n*+2).
    5.4. *a*[*n*] = *a*$(0,*i*)++*d**n*++")"*n*-2.
  6. Otherwise, if *a* = *b*++"+Ωt"++")"*k* or *b*++"Ωt"++")"*k* for some
      *b* ∈ *S*, *n*, *t* ∈ ℤ+, *b*$(len(*b*)-1) &neq; "+", then,
    6.1. *m* = "+" if *a* = *b*++"+Ωt"++")"*k*.
          Otherwise, *m* = "".
    6.2. *i* = *L*-*n*-1
    6.3. *j* = *L*-*n*
    6.4. *c* = *a*$(*L*-*n*-2)
    6.5. *d* = 0
    6.6. *v* = 0
    6.7. *j* = *j*+1
    6.8. If *L*<*j*, then go to 6.16
    6.9. *i* = par(*a*,*j*,-1)-1
    6.10. *d* = *a*$(*i*,*j*)
    6.11. If *c*<*d*, go to 6.7
    6.12. *c* = *d*
    6.13. *v* = *v*+1
    6.14. If *v*<*t*, go to 6.7
    6.15. Go to 6.18
    6.16. If *m*="+", *a*[*n*] = *b*++"+"++Ωt[*n*]++")"*k*
    6.17. Otherwise, *a*[*n*] = *b*++Ωt[*n*]++")"*k*
    6.18. *v* = 0
    6.19. *v* = *v* + 1
    6.20. *c* = slt(*c*)
    6.21. If *v*<*t*, go to 6.19
    6.22. Let *i* be the highest *x* such that *a*$(*x*,*x*+len(*c*))=*c*.
    6.23. Let *j* be par(*a*,*i*+1,-1)
    6.24. Let *p* be the highest *x* such that *a*$*x*=Ω*t* for some *t* ∈ ℤ+
    6.25. Let *r* be "0" if *t*=1, otherwise Ω*t*-1
    6.26. *a*[*n*] = *a*$(0,*i*)++*a*$(*i*,*p*)*n*++*r*++*a*$(*p*+1,*j*)*n*++*a*$(*j*,len(*a*))

**Ordinal notation**
I define a recursive subset *OT* ⊂ *T* in the following recursive way:
  1. For all *n* ∈ ℤ+, Ω*n* ∈ *OT*
  2. For all *n* ∈ ℤ+, *a* ∈ *OT*, *a*[*n*] ∈ *OT*

I define a map
  o: *OT* → ω1CK
      *a* → *o*(*a*)
in the following inductive way:
  1. If *a* = 0, *o*(*a*) = 0
  2. If *a* = *b*+ψ(0) for *b* ∈ *OT*, *o*(*a*) = *o*(*b*)+1
  3. Otherwise, *o*(*a*) = sup{*o*(*a*[*n*]) | *n* ∈ ℕ}
and in particular believe that *o*(Ω) coincides with the growth rate of
(0,0,0)(1,1,1)(2,2,1)(3,0,0) with respect to BM4.

```