I have decided to change the format of my notation to a[X_{{a,b,c}}]b. The previous form is not completely incorrect, but I prefer this.

## Basic Separators

First, let's make a[X_{{x[0]y}}]b = a[X_{{x,x,x...x}}]b with y entries. That's the very first and basic separator. Now, before we think about the next separator, we have to think how multiple [0] separators would react. For example, what would this solve to: 9[X_{{3[0]2[0]3}}3 = 9[X_{{3[0]2,2,2}}]3. We have a few options.

- Weak option. 9[X
_{{3[0]2,2,2}}]3 = 9[X_{{3,3,2,2}}]3. I think it's pretty obvious why this is lame. - Medium option. 9[X
_{{3[0]2,2,2}}]3 = 9[X_{{3[0]9[X{2,2,2}]3}}]3. This is way stronger but still rather weak. - Strong option. This is a bit more complex, and the option I chose. 9[X
_{{3[0]2,2,2}}]3 = 9[X_{{3[0]2,9[X{3[0]2,9[X..{3[0]2,2,1}..]}]}}] with 9[X_{{3[0]2,2,1}}]3 nestings. In other words, by treating the series of entries as a sort of array in itself, we reach much higher strength.

Firstly though, I need to explain a few things. The nesting that works like normal arrays works only up to when there is only one entry left: the one to the right of the separator. From here, it's pretty clear how to continue with separators: a[X_{{x[y+1]z}}]b = a[X_{{x[y]x[y]x[y]x...x[y]x}}]b. Furthermore, separators are always solved right to left. That is, this: 7[X_{{2[4]3[1]2}}]2 would decompose into this: 7[X_{{2[4]3[0]3}}]2 = 7[X_{{2[4]3,3,3}}]2 and not into this: 7[X_{{2[3]2[3]2[1]2}}]2.

Here's a small example: 3[X_{{3[1]4[0]0,0}}]2 = 3[X_{{3[1]4[0]3}}]2 = 3[X_{{3[1]4,4,4}}]2 = 3[X_{{3[1]4,3[X{3[1]4,3[X..{3[1]4,4,3}..]}]}}]2 with 3[X_{{3[1]4,4,3}}]2 nestings. This will eventually decompose into 3[X_{{3[1]x}}]2 with a crazily large x, and that's equal to 3[X_{{3[0]3[0]3[0]...3[0]3}}] with x 3's, and we've seen how big the numbers get with merely one [0] at the end!

Now that we've defined basic separators, surely we can go beyond. Well, yes, we can.

## Nested Separators

We have defined separators, and we've defined arrays. Why not let the separators become arrays, like this: a[X_{{x[1,0]y}}]b = a[X_{{x[0,a[X{x[0,a[X..[0,0]..]y}]y}}]b with a[X_{{x[0,a[X{x[0,0]y}]b}}]b nestings. With that in mind, we can make the separator an array in itself, even containing a separator! For example: 6[X_{{3[4[7]9,10[2[4]3]8]4}}]5. This brings me to the limit of my notation so far (but not for long): the G(n) function.

G(1) = 1

G(n) = n[X_{{n[n[n[...n[n]n...]n]n]n}}]n with G(n-1) nestings. This function is at least f_w^w2(n), and I think much much more. Let's check the first values of this function:

G(1) = 1 (by definition)

G(2) = 2[X_{{2}}]2 = 4 (trivial case)

G(3) = 3[X_{{3[3[3[3]3]3]3}}]3 = 3[X_{{3[3[3[2]3[2]3]3]3}}]3 = 3[X_{{3[3[3[2]3[1]3[1]3]3]3}}]3 = 3[X_{{3[3[3[2]3[1]3[0]3[0]3]3]3}}]3 = 3[X_{{3[3[3[2]3[1]3[0]3,3,3]3]3}}]3 = 3[X_{{3[3[3[2]3[1]3[0]3,3[X{3[3[3[2]3[1]3[0]3,3[X{3[3[3[2]3[1]3[0]3,3[X..3[X{3[3[3[2]3[1]3[0]3,3,2}]3..]3]3]3}]3]3]3}]3]3]3}}]3 with 3[X_{{3[3[3[2]3[1]3[0]3,3,2]3]3}}]3 nestings.

That exploded pretty fast! I think my notation now deserves one or two numbers. G(10^{100}) is called Googox (pronounced GOO-gox), and G^{10100}(10^{100}) is Supergox (pronounced SU-per-gox).

## Rules

### Definitions

An entry is a single non-negative integer or 2 non-negative integers separated by a separator, which is an entry inside square brackets.

"#" means a linear array, an array composed only of non-negative integers separated by commas. If there is a separator somewhere in the array, then the linear array counts only from the number to the right of the separator.

"N" means a non-zero number.

"&" means a single number or array composed of entries inside curly brackets separated by commas.

// means any amount of brackets and entries inside a separator on the left side (including zero, that is no nesting).

\\ means any amount of brackets and entries inside a separator on the left side (including zero).

Y means a string of zeroes of length zero or more in a linear array.

@ means rest of expression on the same level of nesting.

+++ means rest of expression.

### Actual Rules

- a[X
_{1}]b = a^^{b}a - a[X
_{&}]1 = a^a - a[X
_{x+1}]b+1 = a[X_{x}](a[X_{x+1}]b) - a[X
_{{0}}]b = a[X_{a}]b - a[X
_{{n+1}}]b = a[X_{a[Xa[X..{n}..]b]b}]b with a[X_{{n}}]b nestings - a[X
_{{+++,//Y,0,0\\}}]b = a[X_{{+++,//Y,a\\}}]b - a[X
_{{+++,//#,n+1,0\\}}= a[X_{{+++,//#,n,a[X{+++,#,n,a[X..{+++,//#,n,0\\}..]b\\}]b\\}}]b with a[X_{{+++,//#,n,a[X{+++,//#,n,0\\}]b\\}}]b nestings - a[X
_{{+++,//#,m,n+1\\}}]b = a[X_{{+++,//#,a[X+++,//#,a[X...{+++,//#,m,n\\}..]b\\}]b\\}}]b with a[X_{{+++,//#,m,n\\}}]b nestings. - a[X
_{{+++,//@x[0]y\\}}]b = a[X_{{+++,//@x,x,x...x,x\\}]b with y x's. - a[X
_{{+++,//@x[n+1]y\\}}]b = a[X_{{+++,//@x[n]x[n]x[n]x...x[n]x\\}}b with y x's.

The strength of the notation reaches up to about f_w^{w2+1}(n). Analysis coming soon!