Extending Arrow Notations

  1. Introduction
  2. Complex Arrow Notation (\(\uparrow?\))
  3. Nested Arrow Notation (\(\{\uparrow\}\))
  4. Super Nested Arrow Notation (\(\{\uparrow\}\text{^}\))
  5. Array Nested Arrow Notation (\(\{\uparrow\}^{\lbrack\rbrack}\))
  6. Symbolic Braces Arrow Notation (\(\{\uparrow\}\text{_}\))
  7. Array Braces Arrow Notation (\(\{\uparrow\}_{\lbrack\rbrack}\))
  8. Dimensional Array Arrow Notation (\(\{\uparrow\}\lbrack+\rbrack\))
  9. Superdimensional Array Arrow Notation (\(\{\uparrow\}\lbrack\times\rbrack\))
  10. Hyperdimensional Array Arrow Notation (\(\{\uparrow\}\lbrack\uparrow\rbrack\))
  11. Nested Array Arrow Notation (\(\{\uparrow\}\lbrack\lbrack\rbrack\rbrack\))
  12. Hypernested Hyperarray Arrow Notation (\(\{\uparrow\}\lbrack\rbrack\bullet\))

Introduction

Hello. Today I will try to make an extension to the Knuth's Arrow Notations. Arrow Notations is defined as following:

Where \(\uparrow^n\) means \(\uparrow\uparrow...\uparrow\) (n \(\uparrow\)s). The function \(f(n)=n\uparrow^an\) where a is a constant have a growth rate of \(f_{a+1}(n)\) and the function \(g(n)=n\uparrow^nn\) have a growth rate of \(f_\omega(n)\) in fast-growing hierarchy.

Complex Arrow Notation (\(\uparrow?\))

Now, I interpreted the multiple \(\uparrow\)s as multiplication, so first I thought of multiplication by a number. By the generic rule of hyper operations, I thought of the following:
\(a\left(\uparrow^nm\right)b=a\uparrow^{n}a\uparrow^{n}a...\uparrow^{n}b\) (m copies of a)
Which makes little more sense if it was interpreted like that:
\(a\left(\uparrow^nm\right)b=f^m(b)\) where \(f(x)=a\uparrow^nx\)
So, the generic rule can be rewritten like this:
\(a\uparrow^n b=a\left(\uparrow^{n-1}(b-1)\right)a=a\left(\uparrow^{n-1}b\right)1\)
And function \(f(n)=n(\uparrow^nn)n=n\uparrow^{n+1}(n+1)\) have growth rate somewhat comparable to \(f_\omega(n+1)\) in fast growing hierarchy.

Then, as I do this, I thought of making more complex expression can be done with this.
I saw that the multiplicated arrow rule goes following:
\(a\left(\uparrow^nm\right)b=a\left(\underset{m}{\underbrace{\uparrow^n+\uparrow^n+...+\uparrow^n}}\right)b=\underset{m}{\underbrace{a\uparrow^na\uparrow^n...\uparrow^n}}b\)
So, I thought I could have each added uparrows to have different number of arrows. This lead to the following:
\(a\left(\uparrow^{n_1}+\uparrow^{n_2}+...+\uparrow^{n_k}\right)b=a\uparrow^{n_1}a\uparrow^{n_2}...\uparrow^{n_k}b\)
This notations are not communitive, so it should not be calculated inside the arrows.
Here, I defined the arrow multiplication with paranthesis.
\(a\left(\uparrow^{n_{1,1}}+\uparrow^{n_{1,2}}+...+\uparrow^{n_{1,k}}\right)\left(\uparrow^{n_{2,1}}+\uparrow^{n_{2,2}}+...+\uparrow^{n_{2,l}}\right)b\)
\(=f^{\left(\uparrow^{n_{2,1}}+...+\uparrow^{n_{2,l}}\right)}(b)\;\text{where}\;f(x)=a\left(\uparrow^{n_{1,1}}+...+\uparrow^{n_{1,k}}\right)x=a\uparrow^{n_{1,1}}...\uparrow^{n_{1,k}}x\)
\(=\underset{a\left(\uparrow^{n_{2,1}}+...+\uparrow^{n_{2,l}}\right)b}{\underbrace{a\left(\uparrow^{n_{1,1}}+...+\uparrow^{n_{1,k}}\right)...\left(\uparrow^{n_{1,1}}+...+\uparrow^{n_{1,k}}\right)b}}\)
So multiple multiplications can be calculated right to left:
\(a(@_1@_2...@_k)b\)
\(=\underset{\underset{\underset{a@_kb}{\underbrace{\vdots}}}{\underbrace{a@_2...@_2b}}}{\underbrace{a@_1...@_1b}}\;\text{where}\;@_n\;\text{is an operation represented by arrows}\)
Addition of paranthesis can be just connected.
\(a\left(\left(\uparrow^{n_{1,1}}+\uparrow^{n_{1,2}}+...+\uparrow^{n_{1,k}}\right)+\left(\uparrow^{n_{2,1}}+\uparrow^{n_{2,2}}+...+\uparrow^{n_{2,l}}\right)\right)b\)
\(=a\left(\uparrow^{n_{1,1}}+...+\uparrow^{n_{1,k}}\right)\left(a\left(\uparrow^{n_{2,1}}+...+\uparrow^{n_{2,l}}\right)b\right) \)
\(=a\left(\uparrow^{n_{1,1}}+...+\uparrow^{n_{1,k}}+\uparrow^{n_{2,1}}+...+\uparrow^{n_{2,l}}\right)b\)
I define the following two numbers:
Centicave=\(100\left(\uparrow^{100}1+\uparrow^{99}2+...+\uparrow^{1}100\right)100\)
Centivex=\(100\left(\uparrow^{1}100+\uparrow^{2}99+...+\uparrow^{100}1\right)100\)

Nested Arrow Notation (\(\{\uparrow\}\)) *Not NaN: that's more fast growing notation.

So then I thought of adding instead the higher operations into the arrows.
First is to put arrows onto the exponents, obviously.
Looking at the multiplication by a number turns into by arrows, it makes so that it is equivalent to multiplying to the second operant, as seen above, so the exponentiated arrows would make the number of arrows turn into something related to the operand. This lead me to do the following:
\(a\left(\uparrow^{\uparrow^n}\right)b\)
\(=\underset{a\uparrow^nb}{\underbrace{a\uparrow\uparrow...\uparrow b}}\)
\(=a\uparrow^{a\uparrow^nb}b\)
And iterated exponents? Easy.
\(a\left(\uparrow^{\uparrow^{\cdots^n}}\right)b\)
\(=a\uparrow^{a\uparrow^{\cdots^{a\uparrow^nb}}b}b\)
And operations exponentiated applies to the each applied operation. Examples:
\(a\left(\uparrow^{\uparrow^4}3\right)b\)
\(=a\uparrow^{a\uparrow^4b}a\uparrow^{a\uparrow^4b}a\uparrow^{a\uparrow^4b}b\)
\(a\left(\uparrow^{\uparrow^{\uparrow^3}2}+\uparrow^{\uparrow^2}3\right)b\)
\(=a\uparrow^{a\uparrow^{a\uparrow^3b}a\uparrow^{a\uparrow^3b}b}a\uparrow^{a\uparrow^2b}a\uparrow^{a\uparrow^2b}a\uparrow^{a\uparrow^2b}b\)
Wow, it gets pretty complicated. I probably not going to expand too much then.
Well, the function \(f(n)=n(\uparrow^{\uparrow^n})n\) have growth rate of around \(f_\omega(f_\omega(n))=f_\omega^2(n)\).

Ok, now I did exponentiation, how about tetration level? Same idea. Just hope not to mess up. I will use \(\{\}\) around the arrow operations to arrows to not confuse it between.
\(a(\uparrow^m\{\uparrow\uparrow\}n)b\)
\(=a\left(\left.(\uparrow^m)^{(\uparrow^m)^{\cdots}}\right\}n\right)b\)...?
Wait wait wait that's not going to work. Arrows don't work like numbers. I can't just replace it with \(x\) or something. I have to think it differently. How about this?
\(a(\uparrow^m\{\uparrow\uparrow\}n)b\)
\(=a\left(\left.\uparrow^{\uparrow^{\cdots^m}}\right\}n\right)b\)
\(=\left.\underset{\underset{\underset{a\uparrow^mb}{\underbrace{\vdots}}}{\underbrace{a\uparrow\uparrow...\uparrow b}}}{\underbrace{a\uparrow\uparrow...\uparrow b}}\right\}n\) (the count \(n\) is not including \(m\) or \(a\uparrow^mb\))
Therefore, the growth rate of \(f(n)=n(\uparrow^n\{\uparrow\uparrow\}n)n\) is \(f_\omega^n(n)=f_{\omega+1}(n)\).
So yeah this is more logical. Also, in this notation the Graham's number \(g_{64}\) is way easier to represent.
\(g_{64}=3(\uparrow^4\{\uparrow\uparrow\}63)3\)
Or, the \(g_n\) sequence can be represented very simply:
\(g_n=3(\uparrow^4\{\uparrow\uparrow\}(n-1))3\)
And yes, with some thinking, the notation will represent the sequence in the exactly same form.
I define these numbers:
Sheetquart=\(4(\uparrow\{\uparrow\uparrow\}2)4\)
Stackquart=\(4(\uparrow\{\uparrow\uparrow\}16)4\)
Towerquart=\(4(\uparrow\{\uparrow\uparrow\}2^{20})4\)
Tetragol=\(100(\uparrow^{100}\{\uparrow\uparrow\}100)100\)
I love powers of 2.
Let's define it recursively to make later jobs easier:
\(a(\uparrow^n\{\uparrow\uparrow\}m)b=\left\{\begin{matrix}a\uparrow^nb&m=0\\a\left(\uparrow^{\uparrow^n\{\uparrow\uparrow\}(m-1)}\right)b&else\end{matrix}\right.\)
Now I can define tetration tower! Well, it works just like regular tetrations, but to not to make it broken, I had to take some liberty again. It is still calculated from right to left, but it is extended differently.
\(a(@\{\uparrow\uparrow\}\alpha)b=\left\{\begin{matrix}a@b&\alpha=0\\a\left(\uparrow^{@\{\uparrow\uparrow\}(\alpha-1)}\right)b&\alpha\in\mathbb{N}\\a\left(@\{\uparrow\uparrow\}(a\alpha b)\right)b&else\end{matrix}\right.\) where \(@\) is the left most operation of iterated tetrations and \(\alpha\) can be a number or arrow structure
Remember that the order of operations are paranthesis, tetration+ hyperoperations, exponentiation, multiplication, and then addition.

Now I made it recursive, it is easier to define it into any hyperoperations.
\(a(@\{\uparrow^n\}\alpha)b=\left\{\begin{matrix}a@b&\alpha=0\\a\left(@\{\uparrow^{m-1}\}(@\{\uparrow^m\}(\alpha-1))\right)b&\alpha\in\mathbb{N}\\a\left(@\{\uparrow^n\}(a\alpha b)\right)b&else\end{matrix}\right.\) where \(@\) is the left most operation of iterated hyperoperations and \(\alpha\) can be a number or arrow structure
And, since \(a(@\{\uparrow^n\}\alpha)b=a(@\{\uparrow^{n-1}\}@\{\uparrow^{n-1}\}...\alpha)b\), the growth rate of functions \(f(n)=n(n\{\uparrow^a\}n)n\) where a is constant and \(g(n)=n(n\{\uparrow^n\}n)n\) have growth rate of \(f_{\omega+(a-1)}(n)\) and \(f_{\omega2}(n)\) respectively.
Now I define more numbers.
Pentagol=\(100\left(\uparrow^{100}\{\uparrow^{100}\}100\right)100\)
Centicaver=\(100\left(\uparrow^{100}\{\uparrow^1\}\uparrow^{99}\{\uparrow^2\}...\{\uparrow^{100}\}\uparrow^1\right)100\)
Centivexer=\(100\left(\uparrow^1\{\uparrow^{100}\}\uparrow^2\{\uparrow^{99}\}...\{\uparrow^1\}\uparrow^{100}\right)100\)

Now that is done, let's have something else than just arrows inside \(\{\}\)!
How I do that? Well, there can be addition and multiplication inside just like before and let them act like before! It is just that a and b is replaced with bunch of other arrows. It is hard to explain with a definition, so I will just put examples:
\(a(\uparrow^3\{\uparrow^3+\uparrow^22\}\uparrow^4)b\)
\(=a(\uparrow^3\{\uparrow^3\}\uparrow^3\{\uparrow^2\}\uparrow^3\{\uparrow^2\}\uparrow^4)b\)
To compute stacked arrows, to hold the equality of plus sign, the expression is opened first.
\(a(\uparrow^2+\uparrow^3\{\uparrow^{\uparrow^4}\}\uparrow^2+\uparrow^5)b\)
\(=a\uparrow^2a(\uparrow^3\{\uparrow^{\uparrow^4}\}\uparrow^2)a\uparrow^5b\)
Since hyperoperations from tetration are always calculated from right to left, it will be paranthesized as following:
\(=a\uparrow^2\left(a(\uparrow^3\{\uparrow^{\uparrow^4}\}\uparrow^2)(a\uparrow^5b)\right)\)
Then, it will take left and right arguments of the whole operation, copy it and put it on the sides the exponent of insidemost arrow, and for left, the arguments are computed with left operation, and for right argument are computed by the right operation. The exponent of arrow will be inside curly brackets and be surrounded by operands of \(\{\}\). Thus, the expression will be
\(=a\uparrow^2\left(\color{magenta}{a}(\color{red}{\uparrow^3}\{\uparrow^{(\color{magenta}{a}\color{red}{\uparrow^3}\color{blue}{(a\uparrow^5b)})(\color{red}{\uparrow^3}\{\uparrow^4\}\color{green}{\uparrow^2})(\color{magenta}{a}\color{green}{\uparrow^2}\color{blue}{(a\uparrow^5b)})}\}\color{green}{\uparrow^2})\color{blue}{(a\uparrow^5b)}\right)\)
Getting rid of some paranthesis will make this: \(=a\uparrow^2\color{magenta}{a}(\color{red}{\uparrow^3}\{\uparrow^{(\color{magenta}{a}\color{red}{\uparrow^3}\color{blue}{a\uparrow^5b})(\color{red}{\uparrow^3}\{\uparrow^4\}\color{green}{\uparrow^2})(\color{magenta}{a}\color{green}{\uparrow^2}\color{blue}{a\uparrow^5b})}\}\color{green}{\uparrow^2})\color{blue}{a\uparrow^5b}\)
So, the exponentiated arrows inside of \(\{\}\)s will be like this:
\(\color{magenta}a(\color{red}{@_a}\{\uparrow^\color{olive}{@_e}\}\color{green}{@_b})\color{blue}b\) \(=\color{magenta}a(\color{red}{@_a}\{\uparrow^{(\color{magenta}a\color{red}{@_a}\color{blue}b)(\color{red}{@_a}\{\color{olive}{@_e}\}\color{green}{@_b})(\color{magenta}a\color{green}{@_b}\color{blue}b)}\}\color{green}{@_b})\color{blue}b\)
*\(\color{magenta}a\) and \(\color{blue}b\) are integer, and \(\color{red}{@_a}\), \(\color{green}{@_b}\), and \(\color{olive}{@_e}\) are operations.
Because when exponent is arrow if right of \(\{\}\) is a number it is currently undefined, I define it as following:
\(a(@_a\{\uparrow^{@_e}\}n)b\)
\(=a(\underset{n\;@_a\text{s}}{\underbrace{@_a\{\uparrow^{@_e}\}@_a\{\uparrow^{@_e}\}...@_a}})b\)
Let \(\mathbb{A}\) be set of all arrow structures
Therefore, the entire recursive definition of exponentiated arrows inside \(\{\}\) is
\(a(@\{\uparrow^\alpha\}\beta)b=\left\{\begin{matrix}a\left(\uparrow^{@\{\uparrow\uparrow\}(\beta-1)}\right)b&\alpha=2\land\beta\not\in\mathbb{A}\\a\left(@\{\uparrow^{\alpha-1}\}@\{\uparrow^\alpha\}(\beta-1)\right)b&\alpha\in\mathbb{N}\backslash2\land\beta\in\mathbb{N}\\a\left(@\{\uparrow^\alpha\}(a\beta b)\right)b&\alpha\in\mathbb{N}\backslash2\land\beta\in\mathbb{A}\\a\left(@\{\uparrow^{(a@b)(@\{\alpha\}\beta)(a\beta b)}\}\beta\right)b&\alpha\in\mathbb{A}\land\beta\in\mathbb{A}\\a\left(@\{\uparrow^\alpha\}@\{\uparrow^\alpha\}(\beta-1)\right)b&\alpha\in\mathbb{A}\land\beta\in\mathbb{N}\backslash1\\@&\alpha\in\mathbb{A}\land\beta=1\\1&\alpha\not=2\land\beta=0\end{matrix}\right.\)
Domains:

By this, the function \(f(n)=n(\uparrow^n\{\uparrow^n\}\uparrow^n)n\) should be around \(f_{\omega2}(n)\).
This can be further extended by defining that so that the multiple \(\{\}\) will be calculated from inside.

Super Nested Arrow Notation (\(\{\uparrow\}\text{^}\))

Because the limit of the expression will be \(a(\uparrow\{\uparrow\{...\) , the next obvious option is to describing number of \(\{\}\) nesting as a number. That's what I did.
\(a(@\underset{n}{\underbrace{\{@\{@...@\{}}\text{#}\}\alpha...\}\alpha\}b=a(@\{\{n_\text{#}\}\}\alpha)b\)
And other definition I will just Ctrl+C Ctrl+V.
\(a(@\{\{{n_1}_{\text{#}_1}+{n_2}_{\text{#}_2}\}\}\alpha)b\)
\(=a(@\{\{{n_1}_{\text{#}_1}\}+\{{n_2}_{\text{#}_2}\}\}\alpha)b\)
\(=a(@\{\{{n_1}_{\text{#}_1}\}\}@\{\{{n_2}_{\text{#}_2}\}\}\alpha)b\)
\(a(@\{\{n_\text{#}m\}\}\alpha)b\)
\(=a(@\{\{\underset{m}{\underbrace{n_\text{#}+n_\text{#}...+n_\text{#}}}\}\}\alpha)b\)
\(a(@\{\{\uparrow_\text{#}\}\}\alpha)b=a(@\{\{a(@\{\text{#}\}\alpha)b_\text{#}\}\}\alpha)b\)
\(a(@\{\{\uparrow^\alpha_\text{#}\}\}\beta)b=\left\{\begin{matrix}a(@\{\{a(@\{\text{#}\}\beta)b_\text{#}\}\}\alpha)b&\alpha=1\\a\left(@\{\{\uparrow^{\alpha-1}_\text{#}\}\}@\{\{\uparrow^\alpha_\text{#}\}\}(\beta-1)\right)b&\alpha\in\mathbb{N}\backslash1\land\beta\not\in\mathbb{A}\\a\left(@\{\{\uparrow^\alpha_\text{#}\}\}(a\beta b)\right)b&\alpha\in\mathbb{N}\backslash1\land\beta\in\mathbb{A}\\a\left(@\{\{\uparrow^{(a@b)(@\{\{\alpha_\text{#}\}\}\beta)(a\beta b)}_\text{#}\}\}\beta\right)b&\alpha\in\mathbb{A}\land\beta\in\mathbb{A}\\a\left(@\{\{\uparrow^\alpha_\text{#}\}\}@\{\{\uparrow^\alpha_\text{#}\}\}(\beta-1)\right)b&\alpha\in\mathbb{A}\land\beta\in\mathbb{N}\backslash1\\@&\alpha\in\mathbb{A}\land\beta=1\\1&\alpha\not=1\land\beta=0\end{matrix}\right.\)
Domains:

Function \(f(n)=n(\uparrow^n\{\{\uparrow^n_{\uparrow^n}\}\}\uparrow^n)n\) has a growth rate of \(f_{\omega3}(n)\)

So, that being defined, it can be generalized to arbiturarly number of \(\{\}\)s.
\(a(@\underset{m}{\underbrace{\{@\{@...@\{}}@_k\}^n_{@_1,@_2,...,@_{k-1}}\alpha...\}^n_{@_1,@_2,...,@_{k-1}}\alpha\}^n_{@_1,@_2,...,@_{k-1}}b=a(@\{m_{@_1,@_2,...,@_k}\}^{n+1}\alpha)b\)
\(a(@\{{n_1}_{\text{#}_1}+{n_2}_{\text{#}_2}\}^n\alpha)b\)
\(=a(@\{{n_1}_{\text{#}_1}\}^n+\{{n_2}_{\text{#}_2}\}^n\alpha)b\)
\(=a(@\{{n_1}_{\text{#}_1}\}^n@\{{n_2}_{\text{#}_2}\}^n\alpha)b\)
\(a(@\{n_\text{#}m\}^n\alpha)b\)
\(=a(@\{\underset{m}{\underbrace{n_\text{#}+n_\text{#}...+n_\text{#}}}\}^n\alpha)b\)
\(a(@\{\uparrow_{@_1,@_2,...,@_n}^n\alpha)b=a(@\{a(@\{{@_n}_{@_1,@_2,...,@_{n-1}}\}^{n-1}\alpha)b_{@_1,@_2,...,@_{n-1}}\}^n\alpha)b\)
\(a(@\{\uparrow^\alpha_\text{#}\}^n\beta)b=\left\{\begin{matrix}a(@\{a(@\{@_{{n-1}_{@_1,@_2,...,@_{n-2}}}\}^{n-1}\beta)b_\text{#}\}^n\alpha)b&\alpha=1\\a\left(@\{\uparrow^{\alpha-1}_\text{#}\}^n@\{\uparrow^\alpha_\text{#}\}^n(\beta-1)\right)b&\alpha\in\mathbb{N}\backslash1\land\beta\not\in\mathbb{A}\\a\left(@\{\uparrow^\alpha_\text{#}\}^n(a\beta b)\right)b&\alpha\in\mathbb{N}\backslash1\land\beta\in\mathbb{A}\\a\left(@\{\uparrow^{(a@b)(@\{\alpha_\text{#}\}^n\beta)(a\beta b)}_\text{#}\}^n\beta\right)b&\alpha\in\mathbb{A}\land\beta\in\mathbb{A}\\a\left(@\{\uparrow^\alpha_\text{#}\}^n@\{\uparrow^\alpha_\text{#}\}^n(\beta-1)\right)b&\alpha\in\mathbb{A}\land\beta\in\mathbb{N}\backslash1\\@&\alpha\in\mathbb{A}\land\beta=1\\1&\alpha\not=1\land\beta=0\end{matrix}\right.\)
Domains:

Calculation example:
\(3(\uparrow^3\{\uparrow^3_{\uparrow^3,\uparrow^3}\}^3\uparrow^3)3\) which I name it Tricover
\(=3(\uparrow^3\{\uparrow^3_{\uparrow^3,\uparrow^3}\}^3(3\uparrow^33))3\)
\(=3(\uparrow^3\{\uparrow^2_{\uparrow^3,\uparrow^3}\}^3\uparrow^3\{\uparrow^3_{\uparrow^3,\uparrow^3}\}^3(3\uparrow^33-1))3\)
...
\(=3(\underset{3\uparrow^33}{\underbrace{\uparrow^3\{\uparrow^2_{\uparrow^3,\uparrow^3}\}^3\cdots\{\uparrow^2_{\uparrow^3,\uparrow^3}\}^3\uparrow^3}})3\)
\(=3(\underset{3\uparrow^33-2}{\underbrace{\uparrow^3\{\uparrow^2_{\uparrow^3,\uparrow^3}\}^3\cdots\{\uparrow^2_{\uparrow^3,\uparrow^3}\}^3}}\underset{3\uparrow^33}{\underbrace{\uparrow^3\{\uparrow_{\uparrow^3,\uparrow^3}\}^3\cdots\{\uparrow_{\uparrow^3,\uparrow^3}\}^3\uparrow^3}})3\)
\(=3(\underset{3\uparrow^33-2}{\underbrace{\uparrow^3\{\uparrow^2_{\uparrow^3,\uparrow^3}\}^3\cdots\{\uparrow^2_{\uparrow^3,\uparrow^3}\}^3}}\underset{3\uparrow^33-1}{\underbrace{\uparrow^3\{\uparrow_{\uparrow^3,\uparrow^3}\}^3\cdots\uparrow^3}}\{3(\uparrow^3\{\uparrow^3_{\uparrow^3}\}^2\uparrow^3)3_{\uparrow^3,\uparrow^3}\}^3\uparrow^3)3\)

I then thought of shorthand for writing the subscript/the inner entry for the deeper brackets, and that is to use \(\sim\) for the subscript. If the subscript is only the \(\sim\), replace the \(\sim\) with the inner entry if the nesting is two brackets, else add the inner entry after it. In another words, it accounts for abbreviating sufficient amount of the array with the inner entry of deepest brackets.
Therefore, Tricover can be rewritten little shorter as \(3(\uparrow^3\{\uparrow^3_\sim\}^3\uparrow^3)3\).
The functions \(f(n)=n\left(\uparrow^n\{n_\sim\}^a\uparrow^n\right)n\) where a is a constant and \(g(n)=n\left(\uparrow^n\{n_\sim\}^n\uparrow^n\right)n\) have growth rates \(f_{\omega(a+1)}(n)\) and I think \(f_{\omega^2}(n)\).
Note that \(3(\uparrow\{\uparrow^2+\uparrow\}3)3\) and \(3(\uparrow\{(\uparrow^2+\uparrow)\}3)3\) are different because the first one is interpreted as multiple operations added together and the latter is interpreted as one operation.

Array Nested Arrow Notation (\(\{\uparrow\}^{\lbrack\rbrack}\))

Now, I am thinking of the arrays in exponents, but only works with only the \(\sim\) in subscript. If the array is form of \(1,1,...,\alpha,...\), replace the last 1 with the expression but with the array replaced with \(\alpha,\alpha,...,\alpha-1,...\). If the first entry is not 1, do the same thing with \(\{\uparrow\}\text{^}\) but with extra bits. The trailing 1 can be emitted. \(f(n)=n(\uparrow^n\{n\}^{\underset{n}{\underbrace{n,n,...,n}}}n)n)\) has growth rate \(f_{\omega^2+\omega}(n)\).

Symbolic Braces Arrow Notation (\(\{\uparrow\}\text{_}\))

The limit of the \(\{\uparrow\}^{\lbrack\rbrack}\) is aforementioned \(n(\uparrow^n\{n\}^{\underset{n}{\underbrace{n,n,...,n}}}n)n)\). And this is exactly what the next extension will be.
The \(\{\}\) is equivalent to \(\{\}_1\). There are multiple pairs of braces, the n-th denoted \(\{\}_n\). If \(n>1\), \(a(@_a\{@_c\}_n@_b)b=a(@_a\{@_c\}_{n-1}^{\underset{n}{\underbrace{n,n,...,n}}}@_b)b\). To reduce confusion, one may move the subscript in \(\{\uparrow\}\text{^}\) by moving them after a \(:\)(colon). \(f(n)=n(\uparrow^n\{n\}_n^{\underset{n}{\underbrace{n,n,...,n}}}n)n\) has growth rate \(f_{\omega^2+\omega+1}(n)\).

Array Braces Arrow Notation (\(\{\uparrow\}_{\lbrack\rbrack}\))

The limit, again, is \(n(\uparrow^n\{n\}_n^{\underset{n}{\underbrace{n,n,...,n}}}n)n\). As the name suggest, this is extended in a same way as \(\{\uparrow\}^{\lbrack\rbrack}\).
The new formula is \(a(@_a\{@_c\}_{1,1,...,n,...}@_b)b=a(@_a\{@_c\}_{n,n,...,n-1,...}^{\underset{n}{\underbrace{n,n,...,n}}}@_b)b\). The function \(f(n)=n(\uparrow^n\{n\}_{\underset{n}{\underbrace{n,n,...,n}}}^{\underset{n}{\underbrace{n,n,...,n}}}n)n\) has growth rate \(f_{\omega^2+\omega2}(n)\).

Dimensional Array Arrow Notation (\(\{\uparrow\}\lbrack+\rbrack\))

Since the arrays introduced in \(\{\uparrow\}^{\lbrack\rbrack}\) and \(\{\uparrow\}_{\lbrack\rbrack}\) has the same definition, this can be extended by interpreting the arrays as linear arrays.
The array is now placed inside \(\lbrack\rbrack\) placed after the \(\{\}\). The top array from \(\{\uparrow\}^{\lbrack\rbrack}\) (\(^{n_1,n_2,...,n_k}\)) are \(\lbrack n_1,n_2,...,n_k\rbrack\). The linear arrays are seperated with \(\lbrack X\rbrack\), indicating the structure seperated. The array seperator other than comma(which is equivalent to \(\lbrack1\rbrack\)) are inside \(\lbrack\rbrack\).
The arrays that existed before (\(^{m_1,m_2,...,m_k}_{n_1,n_2,...,n_k}\)) are \(\lbrack m_1,m_2,...,m_k\lbrack X\rbrack n_1,n_2,...,n_k\rbrack\). \(n\times n\) array of \(n\) is \(\lbrack\lbrack X^2\rbrack n\rbrack\).
If multiple structures are seperated, like two \(\lbrack X\rbrack\), can be added(for the example, \(\lbrack2X\rbrack\)). There can also be different seperators like \(\lbrack X^2\rbrack\lbrack X\rbrack=\lbrack X^2+X\rbrack\). Note that if there are smaller seperator before larger one, the smaller one can be ommited if there are only \(1\)s inbetween, for example \(\lbrack X\rbrack\lbrack X^2\rbrack=\lbrack X^2\rbrack\).
If there are larger seperator before hand, also fill them with a corresponding structure.
Let \(\langle\alpha\rangle n\) denote \(\alpha\) array of \(n\). Generally, \(\lbrack\lbrack\alpha\rbrack n\rbrack=\lbrack\langle\alpha\rangle n\lbrack\alpha\rbrack n-1\rbrack\).
The rules of solving dimensional array:

The number of \(n\)s resulting should be equal to as if all \(X\)s where to be replaced with \(n\) and computated.
The limit of this \(f(n)=n(\uparrow^n\{n\}\lbrack(\langle X^n\rangle n)\rbrack n)n\) has growth rate \(f_{\omega^\omega}(n)\).

Superdimensional Array Arrow Notation (\(\{\uparrow\}\lbrack\times\rbrack\))

The limit ended with \(\langle X^n\rangle n\). This can be continued via consept of superdimensions and trend to replace \(X\) with \(n\). Therefore, the next seperator is \(\lbrack X^X\rbrack\), equivalent to Hilbert Space seperator.
The next ofcource is \(\lbrack\lbrack X^{X+1}\rbrack n\cdots\rbrack=\lbrack\underset{n\;\langle X^X\rangle n\text{ s}}{\underbrace{\langle X^X\rangle n\lbrack X^X\rbrack\cdots\lbrack X^X\rbrack\langle X^X\rangle n}}\lbrack X^{X+1}\rbrack n-1\cdots\rbrack\), then \(\lbrack\lbrack X^{X+2}\rbrack n\cdots\rbrack=\lbrack n\;\langle X^X\rangle n\text{ s}\lbrack X^{X+2}\rbrack n-1\cdots\rbrack\).
This continues until \(\lbrack\lbrack X^{2X}\rbrack n\cdots\rbrack=\lbrack\langle X^{X+n}\rangle n\lbrack X^X\rbrack n-1\cdots\rbrack\) were the left side is filled with \(n\). It is now really difficult to describe this, but \(\lbrack X^{3X}\rbrack\) filles up to a \(\lbrack X^{2X+n}\rbrack\).
Here are the rules to solve these formulas inside \(\langle\rangle\), along with the previous formlae. The \(n\) come from the outside. Works on all levels.

Here is an example:
\(\lbrack\lbrack X^{X^X}\rbrack2\rbrack\)
\(=\lbrack\langle X^{X^X}\rangle 2\lbrack X^{X^X}\rbrack1\rbrack\)
\(=\lbrack\langle X^{X^X}\rangle2\rbrack\)
\(=\lbrack\langle X^{X^2}\rangle2\rbrack\)
\(=\lbrack\langle X^{2X}\rangle2\rbrack\)
\(=\lbrack\langle X^{X+2}\rangle2\rbrack\)
\(=\lbrack\langle 2X^{X+1}\rangle2\rbrack\)
\(=\lbrack\langle X^{X+1}\rangle2\lbrack X^{X+1}\rbrack\langle X^{X+1}\rangle2\rbrack\)
 \(\lbrack\langle X^{X+1}\rangle2\rbrack\)
 \(=\lbrack\langle 2X^X\rangle2\rbrack\)
 \(=\lbrack\langle X^X\rangle2\lbrack X^X\rbrack\langle X^X\rangle2\rbrack\)
  \(\lbrack\langle X^X\rangle2\rbrack\)
  \(=\lbrack\langle X^2\rangle2\rbrack\)
  \(=\lbrack\langle 2X\rangle2\rbrack\)
  \(=\lbrack\langle X\rangle2\lbrack X\rbrack\langle X\rangle2\rbrack\)
   \(\lbrack\langle X\rangle2\rbrack\)
   \(=\lbrack\langle 2\rangle2\rbrack\)
   \(=\lbrack2,2\rbrack\)
  \(=\lbrack2,2\lbrack X\rbrack2,2\rbrack\)
 \(=\lbrack2,2\lbrack X\rbrack2,2\lbrack X^X\rbrack2,2\lbrack X\rbrack2,2\rbrack\)
\(=\lbrack2,2\lbrack X\rbrack2,2\lbrack X^X\rbrack2,2\lbrack X\rbrack2,2\lbrack X^{X+1}\rbrack2,2\lbrack X\rbrack2,2\lbrack X^X\rbrack2,2\lbrack X\rbrack2,2\rbrack\)
The math checks out since there are \(16=2^{2^2}\) 2s.
Here are some FGH approximation:
Array FGH ordinal
\(\lbrack\lbrack X^X\rbrack n\rbrack\) \(\omega^\omega\)
\(\lbrack\lbrack X^{2X}\rbrack n\rbrack\) \(\omega^{\omega2}\)
\(\lbrack\lbrack X^{X^2}\rbrack n\rbrack\) \(\omega^{\omega^2}\)
\(\lbrack\lbrack X^{X^X}\rbrack n\rbrack\) \(\omega^{\omega^X}\)
\(\lbrack\lbrack X^{X^{X^X}}\rbrack n\rbrack\) \(\omega^{\omega^{\omega^\omega}}\)
\(\lbrack\lbrack X\uparrow\uparrow m\rbrack n\rbrack\) \(\varepsilon_0\lbrack m+1\rbrack\)
It's worth noting that the structure emulates the ordinal.
The last one is the limit of superdimensional array and \(\{\uparrow\}\lbrack\times\rbrack\).

Hyperdimensional Array Arrow Notation (\(\{\uparrow\}\lbrack\uparrow\rbrack\))

You already know what comes next, it's tetrational space! It is denoted \(\lbrack X\uparrow\uparrow X\rbrack\). Then \(\lbrack X\uparrow\uparrow\uparrow X\rbrack\), and then \(\lbrack X\uparrow^XX\rbrack\)!
The formulae added:

FGH:
Array FGH ordinal
\(\lbrack\lbrack X\uparrow\uparrow X\rbrack n\rbrack\) \(\varepsilon_0\)
\(\lbrack\lbrack X\uparrow\uparrow\uparrow X\rbrack n\rbrack\) \(\zeta_0\)
\(\lbrack\lbrack X\uparrow^4 X\rbrack n\rbrack\) \(\eta_0=\varphi_3(0)\)
\(\lbrack\lbrack X\uparrow^X X\rbrack n\rbrack\) \(\varphi_\omega(0)=\varphi_{\varphi_0(0)}(0)\)
\(\lbrack\lbrack X\uparrow^{\uparrow^X} X\rbrack n\rbrack\) \(\varphi_{\varphi_{\varphi_0(0)}(0)}(0)=\Gamma_0\lbrack2\rbrack\)
\(\lbrack\lbrack X(\uparrow^X\{\uparrow\uparrow\}X)X\rbrack n\rbrack\) \(\Gamma_0\)
\(\lbrack\lbrack X(\uparrow^X\{\uparrow^3\}X)X\rbrack n\rbrack\) \(\Gamma_\omega\)
\(\lbrack\lbrack X(\uparrow^X\{\uparrow^4\}X)X\rbrack n\rbrack\) \(\Gamma_{\Gamma_{\cdots}}=\varphi(1,1,0)\)
\(\lbrack\lbrack X(\uparrow^X\{\uparrow^5\}X)X\rbrack n\rbrack\) \(\varphi(1,1,\omega)\)
\(\lbrack\lbrack X(\uparrow^X\{\uparrow^X\}X)X\rbrack n\rbrack\) \(\varphi(1,\omega,0)\)
\(\lbrack\lbrack X(\uparrow^X\{\uparrow^\uparrow\}X)X\rbrack n\rbrack\) \(\varphi(1,\omega^\omega,0)\)
\(\lbrack\lbrack X(\uparrow^X\{\uparrow^{\uparrow^2}\}X)X\rbrack n\rbrack\) \(\varphi(1,\varepsilon_0,0)\)
\(\lbrack\lbrack X(\uparrow^X\{\uparrow^{\uparrow^X}\}X)X\rbrack n\rbrack\) \(\varphi(1,\varphi_\omega(0),0)\)
\(\lbrack\lbrack X(\uparrow^X\{\uparrow^X\{\uparrow\uparrow\}X\}X)X\rbrack n\rbrack\) \(\varphi(1,\Gamma_0,0)\)
\(\lbrack\lbrack X(\uparrow^X\{\{3_{\uparrow\uparrow}\}\}X)X\rbrack n\rbrack\) \(\varphi(1,\varphi(1,\Gamma_0,0),0)\)
\(\lbrack\lbrack X(\uparrow^X\{\{X_{\uparrow\uparrow}\}\}X)X\rbrack n\rbrack\) \(\varphi(2,0,0)\)
\(\lbrack\lbrack X(\uparrow^X\{\{\uparrow\uparrow_\sim\}\}^XX)X\rbrack n\rbrack\) \(\varphi(\omega,0,0)\)
\(\lbrack\lbrack X(\uparrow^X\{\uparrow\uparrow_\sim\}^{1,X}X)X\rbrack n\rbrack\) \(\varphi(\omega+1,0,0)\)
\(\lbrack\lbrack X(\uparrow^X\{\uparrow\uparrow_\sim\}^{\langle X\rangle X}X)X\rbrack n\rbrack\) \(\varphi(\omega2,0,0)\)
\(\lbrack\lbrack X(\uparrow^X\{\uparrow\uparrow_\sim\}_XX)X\rbrack n\rbrack\) \(\varphi(\omega2+1,0,0)\)
\(\lbrack\lbrack X(\uparrow^X\{\uparrow\uparrow_\sim\}\lbrack\langle 2X\rangle X\rbrack X)X\rbrack n\rbrack\) \(\varphi(\omega3,0,0)\)
\(\lbrack\lbrack X(\uparrow^X\{\uparrow\uparrow_\sim\}\lbrack X^X\rbrack X)X\rbrack n\rbrack\) \(\varphi(\omega^\omega,0,0)\)
\(\lbrack\lbrack X(\uparrow^X\{\uparrow\uparrow_\sim\}\lbrack X\uparrow\uparrow X\rbrack X)X\rbrack n\rbrack\) \(\varphi(\varepsilon_0,0,0)\)
\(\lbrack\lbrack X(\uparrow^X\{\uparrow\uparrow_\sim\}\lbrack \uparrow^X\{\uparrow\uparrow\}X\rbrack X)X\rbrack n\rbrack\) \(\varphi(\Gamma_0,0,0)\)
\(\lbrack\lbrack X(\uparrow^X\{\uparrow\uparrow_\sim\}\\\;\lbrack\lbrack X(\uparrow^X\{\uparrow\uparrow_\sim\}\\\;\;\lbrack \uparrow^X\{\uparrow\uparrow\}X\rbrack X)X\rbrack n\rbrack X)X\rbrack n\rbrack\) \(\varphi(\varphi(\Gamma_0,0,0),0,0)\)
\(\underset{\text{Nested }n\text{ times}}{\underbrace{\lbrack\lbrack X(\uparrow^X\{\uparrow\uparrow_\sim\}\cdots\lbrack \uparrow^X\{\uparrow\uparrow\}X\rbrack X)X\rbrack n\rbrack\cdots X)X\rbrack n\rbrack}}\) \(\lbrack\lbrack X(\uparrow^X\{\uparrow\uparrow_\sim\}\\\;\lbrack\lbrack X(\uparrow^X\{\uparrow\uparrow_\sim\}\\\;\;\lbrack \uparrow^X\{\uparrow\uparrow\}X\rbrack X)X\rbrack X\rbrack X)X\rbrack n\rbrack\) \(\varphi(\varphi(\Gamma_0,0,0),0,0)\)
\(\underset{\text{Nested }n\text{ times}}{\underbrace{\lbrack\lbrack X(\uparrow^X\{\uparrow\uparrow_\sim\}\cdots\lbrack \uparrow^X\{\uparrow\uparrow\}X\rbrack X)X\rbrack X\rbrack\cdots X)X\rbrack n\rbrack}}\) \(\varphi(1,0,0,0)\)(Ackermann ordinal)

Nested Array Arrow Notation (\(\{\uparrow\}\lbrack\lbrack\rbrack\rbrack\))

Let \(a(@_a\{@_c\}\lbrack\lbrack n_\alpha\rbrack\rbrack@_b)b=a(@_a\{@_c\}\underset{\text{Nested }n\text{ times}}{\underbrace{\lbrack\lbrack X(\uparrow^X\{\alpha_\sim\}\cdots\lbrack \uparrow^X\{\alpha\}X\rbrack X)X\rbrack X\rbrack\cdots X)X\rbrack n\rbrack@_b)b}}\).
Then inherit literally EVERYTHING from the smaller notation, and the formulas from \(\{\uparrow\}\) but \(\{\}\) replaced with \(\lbrack\rbrack\).
Then make \(a(@_a\{@_c\}\lbrack\lbrack\lbrack n_{\beta,\alpha}\rbrack\rbrack\rbrack@_b)b=a(@_a\{@_c\}\underset{\text{Nested }n\text{ times}}{\underbrace{\lbrack\lbrack\lbrack\lbrack X(\uparrow^X\{\alpha_\sim\}\cdots\lbrack\lbrack \uparrow^X\{\alpha\}X_\beta\rbrack\rbrack X)X_\beta\rbrack\rbrack X_\beta\rbrack\rbrack\cdots X)X_\beta\rbrack\rbrack n_\beta\rbrack\rbrack@_b)b}}\)
Then make \(\lbrack\rbrack\) equivalent to \(\lbrack\rbrack^1\), \(\lbrack\lbrack\rbrack\rbrack\) to \(\lbrack\rbrack^2\) and so on.
Then inherit everything from \(\{\uparrow\}\text{^}\) but \(\{\}\) replaced with \(\lbrack\rbrack\).
Then inherit everything from everything but \(\{\}\) replaced with \(\lbrack\rbrack\).

Hypernested Hyperarray Arrow Notation (\(\{\uparrow\}\lbrack\rbrack\bullet\))

Let the expression with \(n\) array array... nesting, kind of like \(\lbrack\lbrack\cdots\rbrack\rbrack\lbrack\lbrack\cdots\rbrack\rbrack\cdots=A\), and let \(/n\backslash=A/n-1\backslash\).

More coming soon...