User talk:SamSim/Sandbox

From Wikipedia, the free encyclopedia

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.



Contents

[edit] 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 * pp = p1 + p bs altogether
 \langle b,p(x,1)2 \rangle  =  \langle   \langle b,p(0,1)2 \rangle ,p(x)2 \rangle , containing px + p bs altogether

Named numbers expressible in this form:

Name Value
hyperal  \langle 10,2(0,1)2 \rangle  =  \langle 10,2(2)2 \rangle  = \left\langle\begin{matrix}10&10\\10&10\end{matrix}\right\rangle
dimentri  \langle 3,3(0,1)2 \rangle  =  \langle 3,3(3)2 \rangle , a 3-by-3-by-3 array of threes
dimendecal  \langle 10,10(0,1)2 \rangle  =  \langle 10,10(10)2 \rangle , a 10^10 array of 10s

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 p2p bs altogether
 \langle b,p(x,2)2 \rangle  =  \langle   \langle b,p(0,2),p(x)2 \rangle   \rangle , containing px + 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 pyp 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 px + yp bs altogether

Spot the pattern yet?

More named numbers expressible in this form:


Name Value
dulatri  \langle 3,3(0,2)2 \rangle  =  \langle   \langle 3,3(0,1)2 \rangle ,3(3)2 \rangle  =  \langle  \text{dimentri},3(3)2 \rangle , a 3^3 array of dimentris
trilatri  \langle 3,3(0,3)2 \rangle  =  \langle   \langle 3,3(0,2)2 \rangle ,3(3)2 \rangle , a 3^3 array of dulatris
gingulus  \langle 10,100(0,2)2 \rangle  =  \langle   \langle 10,100(0,1)2 \rangle ,100(100)2 \rangle , a 100^100 array of 100^100 arrays of tens
gangulus  \langle 10,100(0,3)2 \rangle , a 100^100 array of ginguluses
geengulus  \langle 10,100(0,4)2 \rangle , a 100^100 array of ganguluses
gowngulus  \langle 10,100(0,5)2 \rangle , a 100^100 array of geenguluses
gungulus  \langle 10,100(0,6)2 \rangle , a 100^100 array of gownguluses

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.
Name Value
trilatri  \langle 3,3(0,0,1)2 \rangle  =  \langle 3,3(0,3)2 \rangle , a 3^3 array of 3^3 arrays of 3^3 arrays of threes, with 3^{3^2} entries
trimentri  \langle 3,3(0,0,0,1)2 \rangle  =  \langle 3,3(0,9)2 \rangle , with 3^{3^3} entries
bongulus  \langle 10,100(0,0,1)2 \rangle  =  \langle 10,100(0,100)2 \rangle , with 100^{100^2} entries
bingulus  \langle 10,100(0,0,2)2 \rangle  =  \langle 10,100(0,200)2 \rangle , with 100^{2*100^2} entries
bangulus  \langle 10,100(0,0,3)2 \rangle  =  \langle 10,100(0,300)2 \rangle , with 100^{3*100^2} entries
trongulus  \langle 10,100(0,0,0,1)2 \rangle  =  \langle 10,100(0,100^2)2 \rangle , with 100^{100^3} entries
quadrongulus  \langle 10,100(0,0,0,0,1)2 \rangle  =  \langle 10,100(0,100^3)2 \rangle , with 100^{100^4} entries
goplexulus \begin{matrix}  \langle 10,100(& \underbrace{ 0,0,\ldots,0 }&,1)2 \rangle  \\ &100 \end{matrix} =  \langle 10,100(0,100^{99})2 \rangle , with 100^{100^{100}} entries

[edit] 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


Name Value
trimentri  \langle 3,3((1)1)2 \rangle  =  \langle 3,3(0,0,0,1)2 \rangle , with 3^{3^3} entries
goplexulus  \langle 10,100((1)1)2 \rangle  = \begin{matrix}  \langle 10,100(& \underbrace{ 0,0,\ldots,0 }&,1)2 \rangle  \\ &100 \end{matrix}, with 100^{100^{100}} entries

As the second row of entries expresses multiples of pp, so the row after that expresses multiples of (pp)2 = p2p, the row after that (pp)3 = p3p, 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...

[edit] 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 px + 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.

Name Value
goduplexulus  \langle 10,100((0,1)1)2 \rangle  =  \langle 10,100((100)1)2 \rangle , a 100^{100^{100^{100}}}=10\uparrow\uparrow4 array of tens
gotriplexulus  \langle 10,100(((1)1)1)2 \rangle  =  \langle 10,100((0,0,\ldots,1)1)2 \rangle  =  \langle 10,100((100^{100})1)2 \rangle , a 100\uparrow\uparrow5 array of tens
goppatoth a 10\uparrow\uparrow100=10^{10\uparrow\uparrow99} array of tens
goppatothplex a 10\uparrow\uparrow\text{goppatoth} array of tens
triakulus a  \langle 3,3,3 \rangle  = 3\uparrow\uparrow\uparrow3 array of threes
kungulus a  \langle 10,100,3 \rangle  = 10\uparrow\uparrow\uparrow100 array of tens
kungulusplex a  \langle 10,\text{kungulus},3 \rangle  = 10\uparrow\uparrow\uparrow\text{kungulus} array of tens
quadrunculus a  \langle 10,100,4 \rangle  = 10\uparrow\uparrow\uparrow\uparrow100 array of tens
tridecatrix a  \langle 10,10,10 \rangle array of tens
humongulus a  \langle 10,10,100 \rangle array of tens
golapulus a  \langle 10,100(100)2 \rangle  = \text{gongulus} array of tens
golapulusplex a golapulus array of tens

[edit] Are we there yet?

For most arrays A=\{b,p(X)\#\}, we find A = bz(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.

Name Value
tritri 3 & 3 = {3,3,3}
tetratri 4 & 3 = {3,3,3,3}
pentatri 5 & 3 = {3,3,3,3,3}
hexatri 6 & 3 = {3,3,3,3,3,3}
heptatri 7 & 3 = {3,3,3,3,3,3,3}
ultatri 27 & 3 = \begin{matrix} \underbrace { \{3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3\} } \\ 27 \end{matrix}
supertet 4 & 4 = {4,4,4,4}
superpent 5 & 5 = {5,5,5,5,5}
superhex 6 & 6 = {6,6,6,6,6,6}
supersept 7 & 7 = {7,7,7,7,7,7,7}
superoct 8 & 8 = {8,8,8,8,8,8,8,8}
superenn 9 & 9 = {9,9,9,9,9,9,9,9,9}
iteral (also called superdec) 10 & 10 = {10,10,10,10,10,10,10,10,10,10}
tridecal 3 & 10 = {10,10,10}
general (also called tetradecal) 4 & 10 = {10,10,10,10}
pentadecal 5 & 10 = {10,10,10,10,10}
hexadecal 6 & 10 = {10,10,10,10,10,10}
heptadecal 7 & 10 = {10,10,10,10,10,10,10}
octadecal 8 & 10 = {10,10,10,10,10,10,10,10}
ennadecal 9 & 10 = {10,10,10,10,10,10,10,10,10}
iteral (also called duperdecal) 10 & 10 = \begin{matrix} \underbrace { \{10,10,10,10,10,10,10,10,10,10\} } \\ 10 \end{matrix}
hyperal 2 & 2 & 10 = {2,2} & 10 = \left\langle\begin{matrix}10&10\\10&10\end{matrix}\right\rangle
dutritri {3,2} & 3 = \left\langle\begin{matrix}3&3&3\\3&3&3\\3&3&3\end{matrix}\right\rangle
dutridecal {3,2} & 10 = \left\langle\begin{matrix}10&10&10\\10&10&10\\10&10&10\end{matrix}\right\rangle
xappol {10,2} & 10 = \left\langle\begin{matrix} 10&10&10&10&10&10&10&10&10&10 \\ 10&10&10&10&10&10&10&10&10&10 \\ 10&10&10&10&10&10&10&10&10&10 \\ 10&10&10&10&10&10&10&10&10&10 \\ 10&10&10&10&10&10&10&10&10&10 \\ 10&10&10&10&10&10&10&10&10&10 \\ 10&10&10&10&10&10&10&10&10&10 \\ 10&10&10&10&10&10&10&10&10&10 \\ 10&10&10&10&10&10&10&10&10&10 \\ 10&10&10&10&10&10&10&10&10&10 \end{matrix}\right\rangle
xappolplex {xappol,2} & 10 = a xappol-by-xappol array of tens
dimentri 2 & 3 & 3 = {3,3} & 3 = a 3-by-3-by-3 array of threes
colossal {10,3} & 10 = a 10-by-10-by-10 array of tens
colossalplex {colossal,3} & 10 = a colossal-by-colossal-by-colossal array of tens
terossol {10,4} & 10 = a 10-by-10-by-10-by-10 array of tens
terossolplex {terossol,4} & 10
petossol {10,5} & 10
petossolplex {petossol,5} & 10
ectossol {10,6} & 10
ectossolplex {ectossol,6} & 10
zettossol {10,7} & 10
yottossol {10,8} & 10
xennossol {10,9} & 10
dimendecal 2 & 10 & 10 = {10,10} & 10
googol {10,100} = 10100
gongulus googol & 10, a 10100 array of tens
gongulusplex {10,gongulus} & 10
gongulusduplex {10,gongulusplex} & 10
gongulustriplex {10,gongulusduplex} & 10
gongulusquadraplex {10,gongulustriplex} & 10
golapulus gongulus & 10, a gongulus-type array of tens
golapulusplex golapulus & 10, a golapulus-type array of tens
golapulusplux gongulus & 10 & 10 & \ldots & 10, with a golapulus of tens in a row
trimentri {3,3,2} & 3 = a 3^{3^3} array of threes
goplexulus {100,3,2} & 10 = a 100^{100^{100}} array of tens
goduplexulus {100,4,2} & 10
gotriplexulus {100,5,2} & 10
goppatoth {10,100,2} & 10
goppatothplex {10,goppatoth,2} & 10
triakulus 3 & 3 & 3 = {3,3,3} & 3
kungulus {10,100,3} & 10
kungulusplex {10,kungulus,3} & 10
quadrunculus {10,100,4} & 10
tridecatrix 3 & 10 & 10 = {10,10,10} & 10
humongulus {10,10,100} & 10

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&b&...&b} where there are p bs.

Name Value
tritri {3,2 / 2} = 3 & 3
supertet {4,2 / 2} = 4 & 4
superpent {5,2 / 2} = 5 & 5
superhex {6,2 / 2} = 6 & 6
supersept {7,2 / 2} = 7 & 7
superoct {8,2 / 2} = 8 & 8
superenn {9,2 / 2} = 9 & 9
iteral {10,2 / 2} = 10 & 10
triakulus {3,3 / 2} = 3 & 3 & 3
big boowa {3,3,3 / 2}
great big boowa {3,3,4 / 2}
grand boowa {3,3,big boowa / 2}
super gongulus {10,10(100)2 / 2} = 10 & ... & 10 with a gongulus of tens
wompogulus {10,10(100)2 / 100}
wompogulusplex {10,10(100)2 / wompogulus}, presumably

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.

Name Value
guapamonga {{10,10(100)2},10 (/100) 2 }, a 10^100-type legion array of gonguluses
guapamongaplex {{10,10(guapamonga)2},10 (/guapamonga) 2}, a 10^guapamonga-type legion array of 10^guapamonga arrays of tens
big hoss {100,100 //////.......///// 2} - with 100 /'s.
great big hoss {big hoss, big hoss /////.......///// 2} - with big hoss /'s
meameamealokkapoowa {Not Defined Yet}
meameamealokkapoowa oompa {Not Defined Yet}