This page shows a possible extension of Aarex's Graham Generator
The pound sign can be anything, including empty. There can be multiple pound signs #1, #2, #3 etc.
In the last few pages about his notation, briefly describes dimensional arrays. Forcal1n#1(n)=Forcal1,1...1,2n-1#1(n) with n 1's. I slightly modified the definition, so in the original notation, it says n-1 instead of n 1's We can extend this to nested arrays, so 1[n]a becomes 1[n-1]1...1[n-1]2[n]a-1. We add another rule: Forcal1[a#1]b#2(n)=Forcal1[a#1]2[a#1]b-1#2(n), and jump inside the first dimesnional seperator. 1[1,2]2= nesting 1[a]2, and if you are before a left-bracket, replace the [a#] with [a#]1[a#]...[a#]1[a#] with a [a#]'s, but 1[a]1[b]2 when a<b is equal to 1[b]2
The first separator is [12], which has level e0. When you see a separator with only a 1 and a level 2 or higher, search for the least separator with a level 1 less than it, It it doesn't exist, create one outside the separator with a level less than the separator, and nest it. For example, 132 searched for level 2 brackets, or it creates a level 2 separator around it.
[122] has level psi(0)=e0
[123] has level psi(1)=e1
[12122] has level psi(W)=z0
[122] has level psi(W^w)=phi(w,0)
[122] has level psi(W^W^w)=SVO
[1[1[122]22]22] has level psi(W^W^W)=LVO
[132] has level psi(e(W+1))=BHO
[11,22] has level psi(Ww)
We can make the notation less cumbersume by not requiring a bracket with level 2 or higher to be inside a level-1 bracket.
Strength: As strong as dropper arrays or the R function We can have [a]b equal to [a,,b], so we can expand this
[1,,1,,2] is the limit of the function, and we can go much stronger
Unlike strong array notation, [1,,1,,2] can be a seperator in the main level of the array.
Each seperator "searches" for a seperator, for example [1,,2] searches for [_]. This is almost exactly like R function.
The double comma is short for [1,,,2], the triple comma is short for [1,,,,2], etc.
The rules of R function and dropper arrays are too complex for me to understand, so I won't put the rules.
Another rule is that if a n-uple comma is in a levels of brackets, where a<n and n>1, replace the seperator, with [1a2], where a is the seperator n-a times.
For example [1,,2] becomes [1[1,,2]2], and [1,,,,3] becomes [1[1[1[1,,,,3]2]2]2], when in the main array
- The main rules reamin the same
- If 1[a]1[b]2 becomes a[b]2 where b is a higher-level seperator than a, and a can be a comma
- Otherwise, start the process
- Start at the first entry
- If it is a 1, move to the right
- If the entry is not a 1
- If a sigle comma is before it, decease the entry by 1 make a copy of the whole expression with the number decreased by 1 in the entry before it
- If there are n commas before it
- Set the n commas to D, and the seperator immediatly surronding the commas to E.
- Set A to T, but decrement the array after E by 1 and replace the entry before E to a seperator sign with a 1 before it and a 2 after it. For example, A of [1,,1,,2] is [1,,1__2], and A of [1,,1,,3] is [1,,1__2,,2]
- Search for a seperator with a level less than or equal to A, and if the seperator has a lower level than A, add A inside the seperator, so [1,,1,,2] becomes [1,,1[1,,1,,2]2].
- Set P and Q so that the seperaor inside the seperaor is PEQ
- Replace that seperator with PP...PP1QQ...QQ with the main number P's and Q's
- If there not a multple comma before it, set 1[A]b to 1[A]2[A]b-1, and jump into the first A
- If there is a left bracket before it, set 1[A,#]2 to 1[A-1,#]1[A-1,#]...[A-1,#]2 with base 1's
I will do level comparison later