User talk:SamSim/Sandbox

Jonathan Bowers' "Exploding Array Function" is a highly recursive system of notation capable of expressing numbers unimaginably larger than anything found in Knuth's up-arrow notation, Conway's chained arrow notation or Steinhaus-Moser notation.

Superdimensions
The next step Bowers made is to make it possible to concisely express arrays-within-arrays. We do this by adding an extra parameter to our "navigation" instructions, (1), (2), (3) etc. This extra parameter defines the "dimensional set" to which the first parameter applies. Instructions of the form (a,0) are equivalent to (a) as before and show how to move within an inner array. Commands of the form (a,1) tell you how to move between these inner arrays, as they are arranged in a larger array. For example (0,1) says to move one array to the right. (Note that (0,0) = (0) can be used to represent "next entry", usually done with a comma.) (1,1) says move onto the next row of arrays. (2,1) the next plane, and so on.

The same rules for evaluating the array-of-arrays still apply. However, the definition of "previous structure" now includes entire previous arrays, rows of arrays, planes of arrays and so on, so we need to extend the definition of "prime block" to these new structures. We say the prime block of a previous array is a p^p array, the prime block of a row of arrays is a row of p p^p arrays, and so on.

Thus, for example:


 * $$\langle b,p(0,1)2\rangle = \langle \langle b,p \rangle, \langle 2 \rangle \rangle = \langle \langle b,p(p)2 \rangle ,\langle 1 \rangle \rangle = \langle \langle b,p(p)2 \rangle \rangle = \langle b,p(p)2 \rangle$$, a p^p array of bs
 * $$ \langle b,p(0,1)d \rangle =  \langle   \langle b,p \rangle,  \langle d \rangle   \rangle  =  \langle   \langle b,p(p)2 \rangle , \langle d-1 \rangle   \rangle $$
 * $$ \langle b,p(0,1)1,d \rangle =  \langle   \langle b,p \rangle,  \langle 1,d \rangle   \rangle  =  \langle   \langle b,p(p)2 \rangle ,  \langle v(A'),d-1 \rangle   \rangle $$
 * $$ \langle b,p(0,1)1,1,d \rangle =  \langle   \langle b,p \rangle,  \langle 1,1,d \rangle   \rangle  =  \langle   \langle b,p(p)2 \rangle ,  \langle b,v(A'),d-1 \rangle   \rangle $$
 * $$ \langle b,p(0,1)(1)2 \rangle =  \langle   \langle b,p \rangle, \left\langle\begin{matrix}1\\2\end{matrix}\right\rangle  \rangle  =  \langle   \langle b,p(p)2 \rangle  , \begin{matrix} \underbrace {  \langle b,b,\ldots,b \rangle  } \\ p \end{matrix}  \rangle $$
 * $$ \langle b,p(0,1)(1)(1)2 \rangle =  \langle   \langle b,p \rangle, \left\langle\begin{matrix}1\\1\\2\end{matrix}\right\rangle  \rangle  =  \langle   \langle b,p(p)2 \rangle  , \begin{matrix} \underbrace { \left\langle\begin{matrix} b&b&\ldots&b \\ b&b&\ldots&b \end{matrix}\right\rangle } \\ p \end{matrix}  \rangle $$
 * $$ \langle b,p(0,1)(0,1)2 \rangle =  \langle   \langle b,p \rangle,  \langle 1 \rangle ,  \langle 2 \rangle   \rangle  =  \langle   \langle b,p(p)2 \rangle ,  \langle b,p(p)2 \rangle   \rangle $$
 * $$ \langle b,p(1,1)2 \rangle = \left\langle\begin{matrix}  \langle b,p \rangle  \\  \langle 2 \rangle  \end{matrix} \right\rangle = \begin{matrix} \underbrace{  \langle   \langle b,p(p)2 \rangle,  \langle b,p(p)2 \rangle , \ldots,  \langle b,p(p)2 \rangle   \rangle  } \\ p \end{matrix}$$, a row of p p^p arrays of bs, containing $$p*p^p = p^{1+p}$$ bs altogether
 * $$ \langle b,p(x,1)2 \rangle =  \langle   \langle b,p(0,1)2 \rangle ,p(x)2 \rangle $$, containing $$p^{x+p}$$ bs altogether

Named numbers expressible in this form:

We can continue to extend our notation to incorporate arrays-of-arrays-of-arrays, using a third dimensional set, signified (a,2).


 * $$ \langle b,p(0,2)2 \rangle =  \langle   \langle   \langle b,p \rangle   \rangle   \langle   \langle  2  \rangle   \rangle   \rangle  =  \langle   \langle   \langle b,p(p)2 \rangle ,p(p)2 \rangle,  \langle   \langle  1  \rangle   \rangle   \rangle  =  \langle  \langle b,p(p)2 \rangle ,p(p)2 \rangle  =  \langle   \langle b,p(0,1)2 \rangle ,p(p)2 \rangle  =  \langle b,p(p,1)2 \rangle $$, containing $$p^{2p}$$ bs altogether


 * $$ \langle b,p(x,2)2 \rangle =  \langle   \langle b,p(0,2),p(x)2 \rangle   \rangle $$, containing $$p^{x+2p}$$ bs altogether

And as this preponderance of arrays-within-arrays becomes more tedious, we can keep going:


 * $$ \langle b,p(0,y)2 \rangle =  \langle b,p(p,y-1)2 \rangle $$, containing $$p^{yp}$$ bs altogether


 * If $$x > 0$$, $$ \langle b,p(x,y)2 \rangle =  \langle   \langle b,p(0,y)2 \rangle ,p(x)2 \rangle $$, containing $$p^{x+yp}$$ bs altogether

Spot the pattern yet?

More named numbers expressible in this form:

It is relatively straightforward to extend our navigational notation to a third argument, a fourth, and eventually unlimited arguments.


 * $$ \langle b,p(0,0,1)2 \rangle =  \langle b,p(0,p)2 \rangle $$, containing $$p^{p^2}$$ entries altogether at the lowest level
 * $$ \langle b,p(x,0,1)2 \rangle =  \langle   \langle b,p(0,0,1)2 \rangle ,p(x)2  \rangle $$, with $$p^{x+p^2}$$ entries
 * $$ \langle b,p(0,y,1)2 \rangle =  \langle   \langle b,p(0,0,1)2 \rangle ,p(0,y)2  \rangle  =  \langle   \langle b,p(0,p)2 \rangle ,p(0,y)2  \rangle  =  \langle b,p(0,y+p)2 \rangle $$, with $$p^{yp+p^2}$$ entries
 * $$ \langle b,p(x,y,1)2 \rangle =  \langle   \langle b,p(0,y,1)2 \rangle ,p(x)2  \rangle $$, with $$p^{x+yp+p^2}$$ entries
 * $$ \langle b,p(0,0,2)2 \rangle =  \langle b,p(0,p,1)2 \rangle $$, with $$p^{2p^2}$$ entries
 * $$ \langle b,p(0,0,z)2 \rangle =  \langle b,p(0,p,z-1)2 \rangle $$, with $$p^{zp^2}$$ entries
 * $$ \langle b,p(x,y,z)2 \rangle =  \langle   \langle b,p(0,y,z)2 \rangle ,2(x)2 \rangle  =  \langle   \langle b,p(0,y+zp)2 \rangle ,2(x)2 \rangle $$, with $$p^{x+yp+zp^2}$$ entries


 * $$ \langle b,p(0,0,0,1)2 \rangle =  \langle b,p(0,0,p)2 \rangle $$, with $$p^{p^3}$$ entries
 * $$ \langle b,p(x,y,z,t)2 \rangle =  \langle   \langle b,p(0,y+zp+tp^2 \rangle ,p(x)2 \rangle $$, with $$p^{x+yp+zp^2+tp^3}$$ entries


 * $$ \langle b,p(x_0,x_1,\ldots,x_n)2 \rangle =  \langle  \langle b,p(0,x_1+x_2p+\ldots+x_np^{n-1})2 \rangle ,p(x_0)2 \rangle $$, with $$p^{x_0+xp+\ldots+x_np^n}$$ entries altogether at the lowest level.

Adding extra dimensions to the navigation notation
Observe that $$ \langle b,p(x_0,x_1,\ldots,x_n)2 \rangle $$ is a structure with $$p^{x_0+x_1p+\ldots+x_np^n}$$ entries in it altogether at the lowest level.

Let's apply a similar kind of navigational instructions to this notation as we did to the original array notation. That is,


 * $$ \langle b,p((1)1)2 \rangle =  \langle b,p(0,0,\ldots,0,1)2 \rangle $$ where there are p zeros, with $$p^{p^p}$$ entries.
 * $$ \langle b,p((1)2)2 \rangle =  \langle b,p(0,0,\ldots,0,2)2 \rangle $$ where there are p zeros, with $$p^{2p^p}$$ entries.
 * $$ \langle b,p((1)0,1)2 \rangle =  \langle b,p(0,0,\ldots,0,1)2 \rangle $$ where there are p+1 zeros, with $$p^{p*p^p}$$ entries.
 * $$ \langle b,p(x_0,x_1,\ldots,x_m(1)y_1,y_2,\ldots,y_n)2 \rangle $$, with $$p^{x_0+x_1p+\ldots+x_mp^m+(y_0+y_1p+\ldots+y_nx^n)p^p}$$ entries.

Note the overlap which arises if the first row in the navigation notation has more than p commands, for example:


 * $$ \langle 2,2(0,0,1(1)1)2 \rangle =  \langle 2,2(0,0,2)2 \rangle $$

As the second row of entries expresses multiples of $$p^p$$, so the row after that expresses multiples of $$(p^p)^2 = p^{2p}$$, the row after that $$(p^p)^3=p^{3p}$$, and so on. Then the next plane expresses (by row) multiples of $$(p^p)^p=p^{p^2}$$, multiples of $$((p^p)^p)^2 = p^{2p^2}$$, multiples of $$((p^p)^p)^3 = p^{3p^2}$$ and so on.


 * $$ \langle b,p(4,2(1)6,7(1)7,8(2)7,8,5)2 \rangle $$ contains $$p^{4+2p+(6+7p)p^p+(7+8p)p^{2p}+(7+8p+5p^2)p^{p^2}}$$ entries at the lowest level.

The plane after that, the $$p^{2p^2}$$ family. The plane after that, the $$p^{3p^2}$$ family.

The next 3-space, the $$p^{p^3}$$ family. The 3-space after that, the $$p^{2p^3}$$ family. The next 4-space, the $$p^{p^4}$$ family. The next 5-space, the $$p^{p^5}$$ family. The next 6-space, the $$p^{p^6}$$ family...

This is getting complicated
What is going on here is not really recursion. Each additional layer of notation is just making it easier and easier to express ever larger levels of arrays-within-arrays. Regardless of how we expand our notation, everything will eventually collapse back to $$ \langle b,p(x,y)2 \rangle =  \langle  \langle b,p(0,y)2 \rangle ,p(x)2 \rangle $$ for some x and y. This structure has $$p^{x+yp}$$ entries in it at the lowest level.

This is a p^x array of p^p arrays of p^p arrays of ... p^p arrays, where there are y nested p^p arrays.

Noting this relationship, we can simplify our analysis of the structures we are creating.


 * $$((1)1)             \rightarrow p^{p^p}$$
 * $$((1)(1)1)          \rightarrow p^{p^{2p}}$$
 * $$((1)(1)(1)1)       \rightarrow p^{p^{3p}}$$
 * $$((2)1)             \rightarrow p^{p^{p^2}}$$
 * $$((2)(1)1)          \rightarrow p^{p^{p^2+p}}$$
 * $$((2)(1)(1)1)       \rightarrow p^{p^{p^2+2p}}$$
 * $$((2)(2)1)          \rightarrow p^{p^{2p^2}}$$
 * $$((3)1)             \rightarrow p^{p^{p^3}}$$
 * $$((x)1)             \rightarrow p^{p^{p^x}}$$


 * $$((0,1)1)=((p)1)    \rightarrow p^{p^{p^p}}$$
 * $$((0,1)(0,1)1)      \rightarrow p^{p^{2p^p}}$$
 * $$((0,1)(0,1)(0,1)1) \rightarrow p^{p^{3p^p}}$$
 * $$((1,1)1)=((1+p)1)  \rightarrow p^{p^{p^{p+1}}}$$
 * $$((2,1)1)=((2+p)1)  \rightarrow p^{p^{p^{p+2}}}$$
 * $$((3,1)1)=((3+p)1)  \rightarrow p^{p^{p^{p+3}}}$$
 * $$((0,2)1)=((2p)1)   \rightarrow p^{p^{p^{2p}}}$$
 * $$((1,2)1)=((1+2p)1) \rightarrow p^{p^{p^{2p+1}}}$$
 * $$((0,3)1)=((3p)1)   \rightarrow p^{p^{p^{3p}}}$$
 * $$((0,4)1)=((4p)1)   \rightarrow p^{p^{p^{4p}}}$$
 * $$((0,0,1)1)=((p^2)1) \rightarrow p^{p^{p^{p^2}}}$$


 * $$((1)1)               \rightarrow p^{p^p}$$
 * $$((0,1)1)=((p)1)      \rightarrow p^{p^{p^p}}$$
 * $$((0,0,1)1)=((p^2)1)  \rightarrow p^{p^{p^{p^2}}}$$
 * $$((0,0,0,1)1)=((p^3)1) \rightarrow p^{p^{p^{p^3}}}$$
 * $$((x_0,x_1,\ldots,x_n)1)=((x_0+x_1p+\ldots+x_np^n)1) \rightarrow p^{p^{p^{x_0+x_1p+\ldots+x_np^n}}}$$


 * $$(((1)1)1)=((0,0,\ldots,p)1)=((p^p)1) \rightarrow p^{p^{p^{p^p}}} = p \uparrow \uparrow 5$$

This notation is all becoming largely superfluous because Bowers hasn't used it to describe many numbers.

In general, then, we know how to render any power of $$p$$ into a set of nested arrays. And we can use array notation to generate that power of p in the first place. Keep watching.

Are we there yet?
For most arrays $$A=\{b,p(X)\#\}$$, we find $$A=b^{z(A)b}$$ for some (usually unspeakable) value of z(A). Let's say A corresponds to a structure of b^b arrays of b^b arrays of ... b^b arrays of b^b arrays of entries, where there are z(A) nested layers of arrays. Call this "an A-type array". (If A is small and the power of b generated is not divisible by b, but just b^p for some p, an A-type array would be just a b^p array of entries.)

This means we can turn almost any array, regardless of size, into a power of b and then into nested set of arrays. We can continue that recursive sequence further still by introducing some more notation. Let's say:


 * $$A$$ & $$i$$ = an A-type array of is
 * $$A$$ & $$i$$ & $$j$$ = an (A-type array of is)-type array of js
 * $$A$$ & $$i$$ & $$j$$ & $$k$$ = an ((A-type array of is)-type array of js)-type array of ks

and so on.

This type of recursion exhausts itself pretty quickly so let's introduce the real second stage of array notation: legion arrays. Use the forward slash "/" for the beginning of a new legion and let's add the new rule:

{b,p / 2} = {b&amp;b&amp;...&amp;b} where there are p bs.

It is more or less trivial to extend the notation to include (/2), (/3), (/4), ..., (/0,1), (/1,1), ... (/0,2), (/0,3) and so on and so on in legion form. This is familiar ground we have trodden many times - all we are doing is flooding the previous structures with bs separated by ampersands instead of commas. The result is legions of legions of legions of etc. etc. ad infinitum.