Friday 20 January 2012

Growing Numbers in all Dimensions

Trajectory of a cloud of gas near the supermassive black hole

Multidimensional array functions for Big numbers.

Past ,, into the second row  §3.4

After the first row of function arguments in our system a second row is appended.
We employ a double comma ,, to separate rows within a multidimensional array.
In a definition list we mark a rule m.♥ if it was covered by some rule m.n before.
We approximate ~> expressions by preceding (just smaller) chained arrows.

  • 3.0 a,1,,1 = a,1.. {,1:a1} ~> 2→a1→a
  • 1.♥ a,b1,,1 = aa,b,,1 == a*2^b,1,,1 ~> 2→a*2^ba*2^b

When entry a has accumulated its first row so that all but entry b=1 is counted down, its job becomes to inflate the size of the row again.
Work out three cases. The approximation as calculated for the first row applies.

  • ♥(5,1,,1) 3.= ♥(5,1,1,1,1,1,1) 2.= ♥(10,5,5,5,5,5) ~> 2^^^^^6\^^^^5 ~> 2→8→5
  • ♥(2,4,,1) 1.= ♥(16,1,,1) 3.=2.= ♥(32.,16..) {:16} ~> 2^..17\^..16 {16 15} ~> 2→19→16
  • ♥(2,1,2,,1) 2.= ♥(2,3,1,,1) 1.= ♥(8,1,1,,1) 2.= ♥(8,9,,1) 1.= ♥(u,1,,1) {u:2^11} ~> 2^..u1\^..u {u u-} ~> 2→u3→u ~> 2→11→2→2

By default a partial row R either starts on 1 or is empty, which implicates we have to follow up with comma elimination A,=A in rules ♥.3.1 and ♥.2.5 below.
Wildcard Z (or in calculations) fits any part to the right of the expression, but because the preceding repetition is greedy, Z and later R won't start with ,1 in the rules ♥.2 respectively.  This can also be read from the matching Z/RegExp descriptions. 

  • 1.♥ a,1bZ = aa,bZ == a*2^b,1Z (redoubling motor)
  • 2.3 a,1..Z {,1:n1 Z/(,(,1+)*)?} = a,1..aZ {,1:n} (upload to end of first row) == aa,a..Z {,a:n}
  • 2.4 a,1..Z {,1:n1 Z/1+(,1+)*,?(,1+)*} = a,1..a,Z {,1:n} (upload within first row) == a,1a,..Z {a,:n} 1.= aa,..Z {a,:n1}
  • 3.1 a,1,,1R = a,1..,,R {,1:a1} (upgrade first row size) 2.= aa,a..,,R {,a:a} ~> 2→a1→a,1,,R
  • 2.5 a,1,,1..R {,1:n1} (uploads to second row entry) = a,1,,1..,a1,R {,1:n-}

We apply the old rules for the first row until the primer pattern a,1,, occurs and then the new dimensional rules kick in. Generally a lower level structure is treated as if it is a subexpression of the higher level waiting on the right.
Only the rightmost structures cannot be inflated and are just counted down and off (this alone guarantees reducibility of the expression).

Two further examples on the second row.

  • ♥(2,1,,4) 3.= ♥(2,1,1,1,,3) 2.= ♥(4,2,2,,3) == ♥(2^11,1,1,,3) = ♥(2^12,2048,,3) ~> ♥(v,1,,3) {v:2^2059} 3.= ♥(v,1..,,2) {,1:v1} ~> ♥(w,1,,2) {w:2→2059→2→2} ~> ♥(x,1,,1) {x:2→2059→3→2} ~> 2→2059→4→2
  • ♥(2,1,,1,2) 2.= ♥(2,1,,3,1) 3.= ♥(2,1,1,1,,2,1) ~> ♥(w,1,,1,1) ~> ♥(w,1,,w) {w:2→2059→2→2} ~> 2→2059→w→2 ~> 2→2059→2→3

With this last example we have passed Graham's number(s) – the largest integer ever used in a serious mathematical article (in 1971, for an upper bound in Ramsey theory).


Formulate the approximation of two rows in system compared to chained arrows.
From the expressions that were reduced to natural number before we've learned that:

  • a,R = a,rí.. {,rí:n} ~ 2^..rn3,1 {^:n} ~> vr,1 {vr:2→rn→n}
  • a,R,,1b ~> 2→vr→vr,1,,b ~ 2→vr→2→2,1,,b ~> 2→@→1b→2,1,,1 {@aR}
  • ri,..,b {ri,:n} ~> 2→@→b1→2 {@ri..}

A meta-mix shortcut @ over a set of variables r1,..rn will ideally derive some lifted mean from this set, but in practice a maximal parameter rm is a safe choice.
Because the numbers are already so Big and there's no need to split any hairs, the @ mix-maximized value is just to make sure that, when rm has a superiorly (or infinitely) larger value than the other parameters our approximation formula still holds. 
It is convenient to write the set of variables assigned to @ without commas and to append new next entries at an existing max-mixed set without further ado. 

  • a,R,,b,1c ~> 2,1,,2→@→b→2,c ~> 2→@→(2→@→b→2)→2,1,,1,c ~> 2→@b→2→3,1,,1,c ~> 2→@b→(2→@b→2→3)→2,1,,1,-c ~> 2→@b→1c→3,1,,1,1
  • a,R,,b,c,1d ~> 2,1,,1,2→@b→c→3,d ~> 2→@b→(2→@b→c→3)→3,1,,1,1,d ~> 2→@bc→2→4,1,,1,1,d ~> 2→@bc→1d→4,1,,1,1,1
  • Rm,,Rn,z ~> 2,1,,1,..2→@,-z {1,:n- @RmRn} ~> 2→@→2→n2,1,,1,..-z {1,:n} ~> 2→@→z→n2,1,,1,..1 {1,:n} ~> 2→@→z1→n2,1,,1
  • ri,1,..,rj,2,..z {ri,1,:m rj,2,:n} ~> 2→@→z1→n2 {@RmRn}

Let the subscripts under a partial row sign R keep count of its number of parameters.
In system one row with length n1 and final entry z can be approximated by Rn→z→n using 3 parameters of chained arrows. Two rows in the system require 4 parameters of chained arrows. You can guess where we are heading at… 

Square array  §3.5

Just like every parameter holds some variable number 1.. every row in what's called a square will have different lengths. In the course of a reduction cascade the sizes in a multidimensional function array behave extremely erratic.
Parameters are counted down to value 1 and likewise row size is reduced until a leftmost entry 1 remains and then the upgrade rule appends a series of ,1 to the row.

First we sketch an overview of the reduction cascade for a system square array.
The rule correspondences (rules rendered m.n= green) could then be sought out.

  • a,b,c,,d,e,,f,g,,h :: a,1,c 2.7= a,a1,c- : a,1,1 2.7= a,a1 :: a,1,,d,e 3.2= a,1..,,d-,e {,1:a1} 2.6=2.7=1.5 aa,a..,,d-,e {,a:a} : a,1,,1,e 2.7= a,1,,a1,e- : a,1,,1,1 2.6= a,1,,a1 :: a,1,,1,,f,g 3.2= a,1,,1..,,f-,g {,1:a1} : a,1,,1,,1,g 2.7= a,1,,1,,a1,g- : a,1,,1,,a1 :: a,1,,1,,1,,h 3.2= a,1,,1,,1..,,h- {,1:a1} : a,1,,1,,1,,1 3.2= a,1,,1,,1.. {,1:a1} 2.6= .

Reuse the rules ♥.0.1,1.5 in the definition of the second dimension or square.
Use a wordcard S/(1+(,1+)*(,(,1+)+)*)? for a partial square (possibly void).

  • 2.6 a,1,,1..,1..Z {,,1:n- ,1:m Z/(,(,1+)+)*} = a,1,,1..,1..aZ {,,1:n- ,1:m-} (upload to end of row, for n=1 of first row, for n>1 a higher row)
  • 2.7 a,1,,1..,1..S {,,1:n- ,1:m} = a,1,,1..,1..a,S {,,1:n- ,1:m-} (upload within a row, for n=1 in first row, for n>1 a higher row)
  • 3.2 a,1,,1..S {,,1:n} (upgrade row size) = a,1,,1..,1..,,S {,,1:n- ,1:a}

From an earlier reduction of ♥(4,2,2,,3) to ♥(w,1,,2) take over the value of w in the course of the following example.

  • ♥(2,1,,1,,1) = ♥(2,1,,1,1,1) = ♥(2,1,,1,3) = ♥(2,1,,3,2) = ♥(2,1,1,1,,2,2) = ♥(4,2,2,,2,2) ~> ♥(w,1,,1,2) ~> ♥(w,1,,w,1) {w:2→2059→2→2} ~> ♥(y,1,,y) {y:2→2059→w→2 ~> 2→2059→2^2059→2} ~> 2→2059→y→2 ~> 2→2059→3→3

To name the size of this number, among Bowers' infinity scrapers it comes just after the Corporalplex, and yet it is among the smallest members of a very large family.


Build a formula for approximation of a square upon the two rows already calculated. 
A full row Rn has n entries ri,..rn {:n-} and the sign @ is a dynamic mean, best represented by the largest of all entries previously included in the reduction. 

  • Rm,,Rn,,b ~> 2→@→rn→n1,1,,1,,b {@RmRn} ~> @,1,,1,..@→@→@,,-b {1,:2→@→rn→n1} ~> @→@→@→2→2,1,,1,,-b ~> @→@→@→3→2,1,,1,,--b ~> @→@→@→b→2,1,,1,,1
  • Rm,,Rn,,b,c,d ~> @,1,,1,,@→@→@→b→2,-c,d ~> @→@→@→2→3,1,,1,,1,-c,d ~> @→@→@→c→3,1,,1,,1,1,d ~> @,1,,1,,1,@→@→@→c→3,-d ~> @→@→@→2→4,1,,1,,1,1,-d ~> @→@→@→d→4,1,,1,,1,1,1
  • Rm,,Rn,,Rp ~> @→@→@→rp→p1
  • Rm,,Rn,,Rp,,Rq ~> @→@→@→@→rq→q1
  • Rni,,..Rns {:s-} ~> @→..rns→ns1 {:s}

Let S in the system be a two dimensional array with s rows, where the last row has a length z with a final entry y and let S overall have a maximal parameter value x, then S is approximately larger than a series x→..y→z1 {:s} of Conway's chained arrows – or larger than z1→↑s2 when represented by superchained arrows.

We conclude the square of and the row of chained arrows increase equally fast. Given a large enough size s our spouses won't notice the difference (just 2 parameters).
Now we go one dimension higher.

Cubic arrays  §3.6

The new rules for the cube are an extension of those for the square in the section above, and form a special case in the definition of dimensional arrays in the next section.
For the moment work out an example of a cubic array 11,1,,,111 (in binary notation).

  • ♥(2,1,,,3) = ♥(2,1,,1,,1,,1,,,2) = ♥(2,1,,1,,1,1,1,,,2) = ♥(2,1,,1,,3,2,,,2) = ♥(4,2,2,,2,2,,2,2,,,2) = ♥(2^v0,1,,2,2,,2,2,,,2) {v0:2059} ~> ♥(v1,1,,1,,2,2,,,2) {v1:2→v0→3→3} ~> ♥(v1,1,,1,..v1,,1,2,,,2) {1,:v1} ~> ♥(v2,1,,1,,1,2,,,2) {v2:2→v1→v1→v1 ~ 2→v0→v0→2→2} ~> ♥(v2,1,,1,..v2,,v2,1,,,2) {1,:v2} ~> ♥(v3,1,,1,,v2-,1,,,2) {v3:2→v2→v2→v2 ~ 2→v0→v0→3→2} ~> ♥(v4,1,,1,,v4,,,2) {v4:2→v0→v0→v2→2 ~ 2→v0→v0→2→3} ~> ♥(v5,1,,,2) {v5:2→v0→v0→v4→2 ~ 2→v0→v0→3→3} ~> ♥(v5,..,,..7,,,1) {v5,..:v5 v5,..,,:v5} ~> ♥(v6,1,,,1) {v6:v5→..2 v5→..:v5 ~ v5→↑v5} ~> ♥(v6,..,,..7) {v6,..:v6 v6,..,,:v6} ~> v6→..2 {v6→..:v6} ~> v6→↑v6 ~> v5→↑(v5→↑v5) = v5→↑3→2 ~> v0→↑(v0→↑(v0→v0→v0→3→3)) ~> v0→↑(v0→↑(v0→↑4)) ~> 4→↑4→2

Notice the cube is upgraded with squares when it is reduced to a primer a,1,,,
To compare this number with another notation – in Beaf the next larger would be {3,4,1,1,2} a small Pentadecal.

Now we approximate the cube starting from the earlier results on the square.
A member square Sn holds n rows R and in @ we store a past largest entry. 

  • Sn,,,b ~> @→↑n2,1,,,b {@Sn}

This wraps up the cube.

Multiple dimensions  §3.7

A structure is anything that is systematically countable. A bare structure is counted down and either waiting to be upgraded or to be counted off.
Iterator variables 1.. are the smallest structures in this respect and get an upload from the accumulator value a in rule ♥.4 (more precisely: the bare variable 1 rightmost from the primer has the substructure unit 1 added a times).

We've arranged the primer in the system to be a,1 so the countdown of variable b and the first row stops there if a higher structure is waiting.
Philosophically the accumulator a is not part of any structure and all structures are to be counted down to 1 (except final variables z in expressions of which are counted down to zero, leaving a piece of the structural skeleton to drop off from the right).

To address separators in general we introduce a generic shorthand $ which signifies any type of variable separator.  This translation should be consistent, meaning that similar types are intended at similar positions on both sides of an equation.
Then a dimensional series p$i.. {:n} with various commas $i is ,.. {,:ki} can be written in the shorthand p$.. {:n} in a rule list as below .

  • 0.2 A$ = A
  • 2.? a,1$..1Z {1$:n} = a,1$..a1$Z {1$:n-}

After countable commas ,.. to separate higher dimensions, extradimensional types of separators ,Xi;.. or rather ,`Xi`.. will follow suit.