Googology Wiki
Advertisement
Googology Wiki

The work is in progress.

Really, I will highly appreciate if someone check this.

Up to X^^^X and starting things[]

BEAF (pentational arrays)
TypeMultidimensional
Based onExponentiation
Growth rate\(f_{\Gamma_0}(n)\)

An entry is a natural number or X.

An expression consists of one or more entries separated by items, each of which may be either a plus sign (+), a star character (*), a caret (^) (up to three consecutive allowed), and in exceptional case minus sign. The first entry must be X (it can be also a natural number, but only when standing alone). The minus sign can only go in X^^-like expressions in parentheses. For example, one valid example of expression is (X^)X^8 (X^^(-X^8+X^^^5) + 3). Expressions are called structures. The value for structure using my rules will be an array which is solved using three Bowers' rules to large natural number.

In verifications by hyperions (#, ##) I denote the rest of expression, +, *, ^ (may be several consecutive) and - are separators, and A is any substring with one or more conditions. I also will always consider n as a natural number or 0, if conditions don't restrict it.

For every natural number m > 0, I define Sub(m) as m - 1, using usual subtraction.

Rules[]

We need some structure and a natural number n. For example, (X^)X^8 (X^^(-X^8+X^^^5) + 3) [4].

I define the prime block of a structure by these rules (in order of appearing):

  1. If the final separator is + sign:
    1. If the formal string of the structure ends in a +m for some natural number m > 0, then decrement it by 1 and with each reduction add 1 element to an end of the array equal to n, and if it ends in a +0, delete it from the end
    2. Otherwise, start to reduce the part after this + only if this part is less than other terms in sum and otherwise delete smaller terms in sum (so, in X^^X + X nothing is deleted but in X+X^^X first X is deleted)
  2. if the final separator is * sign:
    1. If the formal string of the structure ends in a *m for some natural number m > 1, decrease m by 1, append + sign and copy of structure without +m to the end of it, if it ends in a *1, delete *1 from the end and if it ends in a *0, change entire string into 0
    2. Otherwise, start to reduce the part after this * only if this part is less than other terms in product and otherwise delete smaller terms in product (so, in X^^X * X nothing is deleted but in X*X^^X first X is deleted). Exception: natural numbers can stand in the beginning of structure and they are not deleted: m*# = #*m for any structure # and natural number m. Since X^0 = X^^0 = X^^^0 = 1, they are deleted by rule 2.1 once they appeared in the beginning.
  3. If first separator is ^, rules 1-4 don't apply and first X^ isn't in parentheses:
    1. If substring in parentheses after ^ ends in +m for some formal substring m which doesn't have any + separators outside of parentheses and is not itself a natural number, delete +m (if residue doesn't contain any separators aside from ^, delete also parentheses) and append *X^m to the end of the residue for all n (so, for example, X^(X^2+X) = X^X^2 * X^X)
    2. If substring in parentheses after ^ ends in +m for some formal substring m which doesn't have any + separators outside of parentheses and is itself a natural number m >= 1 (zeros in end are deleted by default), decrement m by 1 and append *n to the end of it, so, for example, X^(X^2+8) [n] = X^(X^2+7) * n). Special cases: X^0 = 1 and X^1 [n] = X[n] = X^0 * n = n.
    3. Otherwise, start to reduce part after X^ only.
  4. Otherwise, if first separator is ^, rules 1-4 don't apply and first X^ is in parentheses:
    1. If substring after ^) in second group of parentheses ends in +m for some natural number m > 0 and doesn't contain a minus sign, delete +m, create m groups of X^ and append it to second argument (so, for example, (X^)(X^^X+2) 3 = (X^)X^^X (X^X^3))
    2. Inverse rule or "reconstruction" of tetration: if substring after (X^)a (where a is arbitrary substring, hereafter: second argument) has only X's and ^ as separators, count the amount of X's and join it to a using + separator (so, for example, (X^)(X+3) X^X^X = (X^)(X+6) 1), if second argument has only single ^^ separator at the level of first X, find the order of ^^ and join it to a using + separator (so, for example, (X^)(X+3) X^^3 = (X^)(X+6) 1), and if second argument is a single 1, then delete this 1 and brackets and put another ^ between X and a (so, for example, (X^)(X+6) 1 = X^^(X+6))
    3. Otherwise:
      1. If second argument doesn't end in +m for some natural number m > 0 and isn't itself a natural number, start to reduce substring after (X^)a (this applies to the result of the previous instance, rule 4.1)
      2. Otherwise, if it ends in +m for some natural number m > 1 or is itself a natural number, decrement m by 1, append +1 to the end of string, start to reduce substring between (X^) and second argument and insert the result of reduction between (X^) and a with minus sign, and original a becomes +a (so, for example, X^2 [n] = X*n and (X^)X^2 3 [n] = (X^)X*n (X^)(-X*n+X^2) 2 + 1))
  5. If first separator is ^^ and rules 1-4 don't apply:
    1. If substring in parentheses after ^^ ends in +m for some natural number m > 0 and doesn't contain a minus sign, delete +m, brackets and one carat sign in X^^, then surround left X^ by parentheses again and append X^^m to the end of the residue after space (so, for example, X^^(X^2+8) = (X^)X^2 X^^8)
    2. Special case: if you have X^^m for some natural number m > 0, change it to m copies of X^ (last ^ is deleted: for example, X^^2 = X^X, X^^5 = X^X^X^X^X) and X^^0 = 1
    3. If substring in parentheses after ^^ doesn't end in +m for some natural number m > 0 and doesn't contain a minus sign, then reduce part after X^^ only
    4. If substring in parentheses contains a minus sign, then start to look to the left - there must be X^ with or without parentheses. Start to expand this expression in whole until expression don't have minus sign anymore (so, for example, X^(X^^(-1+X)+1) = X^(X^^(-1+X)) * X = X^^X * X)
  6. If first separator is ^^^ and rules 1-4 don't apply:
    1. If you have X^^^m for some natural number m, change it to m copies of X^^ (last ^^ is deleted: for example, X^^^2 = X^^X, X^^^5 = X^^X^^X^^X^^X) and X^^^0 = 1
    2. If you have X^^^X, change it to X^^^n
    3. Otherwise, it is undefined

Comparison[]

I divide all expressions to eight groups: numbers, sums, products, first separator is X^, (X^), X^^, X^^^, expressions with - sign.

  1. Natural numbers: compare as usual, and every expression using X is greater then any natural number
  2. Sums: to compare two sums compare them term by term until first distinct term is found - what is smaller will belong to smaller sum. If there are unequal numbers of terms, add necessary number of +0 to end of shorter sum until there are equal numbers of terms. In formal language: #+A+##1 < #+B+##2 if A < B and # = #+0+0+0+0...+0 until number of terms in ## achieved
  3. Products: to compare two products compare them factor by factor until first distinct factor is found - what is smaller will belong to smaller product. If there are unequal numbers of factors, add necessary number of *1 to end of shorter product until there are equal numbers of factors. In formal language: #*A*##1 < #*B*##2 if A < B and # = #*1*1*1*1...*1 until number of factors in ## achieved
  4. X^ to X^: X^# < X^## if and only if # < ## (and note that X = X^1).
  5. X^ to (X^):
    1. D-case: X^# < (X^)#1 ##1 if and only if # < (X^)(-1+#1) ##1,
    2. R-case: (X^)#1 ##1 < X^# if and only if (X^)(-1+#1) ##1 < #.
  6. X^ to X^^:
    1. D-case: X^# < X^^## if and only if # < X^^(-1+##).
    2. R-case: X^^## < X^# if and only if X^^(-1+##) < #.
  7. (X^) to (X^): (X^)#1 ##1 < (X^)#2 ##2 if and only if #1 < #2 and ##1 < (X^)(-#1+#2) ##2 or #1 = #2 and ##1 < ##2
  8. (X^) to X^^:
    1. D-case: (X^)#1 ##1 < X^^# if and only if #1 < # and ##1 < X^^(-#1+#)
    2. R-case: X^^# < (X^)#1 ##1 if and only if # < #1 or # = #1 and 1 < ##1
  9. X^^ to X^^: X^^# < X^^## if and only if # < ##.
  10. Anything to X^^^#: change X^^^m to X^^X^^X^^...^^X with m X's and compare other side using X^^ cases, and X^^^X is greater than all other expressions
  11. Anything to expression with minus sign: ascend with other side until levels (and part of expression with - sign before next separator) are equaled, and then compare all without equaled part. If there are not sufficient number of levels then expression with minus sign is greater. If you are to compare only part with X^^(-#+##) or (X^)(-#+##) ##1 or you obtained this expression using other rules, compare as usual, but -#+## < ## and increasing negative part in structure decreases structure itself.

For example,

X < X+1 because X = X+0 and X+0 < X+1 because 0 < 1,

X+3 < X^2 because X^2 = X^2+0 and X+3 < X^2+0 because X = X^1 < X^2 (1 < 2),

(X^)X X+3 < (X^)(X+1) 2 because X < X+1 and X+3 < (X^)(-X+X+1) 2 = (X^)1 2 = X^2,

(X^)X 3 < X^^(X+2) because X < X+2 and 3 < X^^(-X+X+2) = X^^2 = X^X,

X^^3X < (X^)X^2 2 because 3X = X*3 < X^2 (X^2 = X^2*1 and X = X^1 < X^2)

X^2 < X^X^X^(X^^(-3+X)+1)) because there are 2 levels in left side and X levels in right side,

X^^X = X^X^X^(X^^(-3+X)) < X^X^X^(X^^(-3+X)+1)) because X^^(-3+X) = X^^(-3+X)+0 < X^^(-3+X)+1,

X^X^X^(X^^(-3+X)+1)) < (X^)X (X^(X^^(-(X+1)+X^2)+1) because there are 3+(-3+X) = X = X^1 levels in first expression and X+1+(-(X+1))+X^2 = X^2 in second and X^1 < X^2

Analysis of rules[]

Let's see my eight sets of rules.

1. If the final separator is + sign:

1.1. If the formal string of the structure ends in a +m for some natural number m > 0, then decrement it by 1 and with each reduction add 1 element to an end of the array equal to n, and if it ends in a +0, delete it from the end.

So, rule says:

(# + m) [n] = (# + Sub(m)) [n] ++ {n} for every natural numbers m > 0 and n >= 0, and (# + 0) [n] = # [n].

++ means "concatenation", and the equality sign means "expands in". You don't need to worry about X+1+1 vs. X+2 problem, because by this rule:

(X+1+1) [3] = (X+1+0) [3] ++ {3} = (X+1) [3] ++ {3} (one is subtracted from final 1 and final zero is deleted because string ends in +0)

(X+2) [3] = (X+1) [3] ++ {3} (by direct applying: Sub(2) = 1, so you change 2 into Sub(2) and append ++ {3} to end)

So, both X+1+1 [3] and X+2 [3] are the same arrays: {3,3,3(1)3,3}, with 3+2 = 5 entries.

(Note that in general case resulting number will be much greater than number of entries, but there will be a moment when these two numbers will be comparable to each other - legion arrays. This requires full formalization of & operator - and I wrote in another blog post that I will never define these numbers unless Bowers himself will fix the definition. I wrote an e-mail to him and he doesn't care about this issue.)

1.2. Otherwise, start to reduce the part after this + only if this part is less or equal than other terms in sum and otherwise delete smaller terms in sum.

(I found inconsistence in original rules: after which + should I reduce substring? I corrected this by indicating this explicitly)

By mathematical language:

(# + A) [n] = # + A[n] if A doesn't contain any + separators at level 0 and A < any term in #, otherwise if # = ## + B and B < A, then (## + B) + A = ## + A.

Note that Bowers himself said: "Only if we start with larger structures and add smaller ones afterwards do they become new structures, if we start with smaller structures and add larger ones, we might of well just omitted the earlier small structures."

Let's see if this gives us any contradiction or ambiguation. Let's apply it to X + X + X.

By rule, we should choose substring A such as it will not contain any + separators at level 0. What is level 0? It is basic level of string. Levels are counted from 0 and the counter is increased when you hit ^ separator. So, if you hit X^(X+1) substring, it will also count, because at level 0 there is a single X (+ is on the level 1), and more specifically, in expression X^X^(X+7) first X is on level 0, second X is on level 1 and X+7 is on level 2.

In our case, all three X's are on level 0. We can't choose X + X + X or X + X, because there is + at the level 0. So, there is only one possibility: it is single X, and (X + X + X) [3] = X + X + X[3] = X + X + 3. This didn't give us any ambiguation.

2. If the final separator is * sign:

1. If the formal string of the structure ends in a *m for some natural number m > 1, decrease m by 1, append + sign and copy of structure without +m in the end of it, if it ends in a *1, delete *1 from the end and if it ends in a *0, change entire string into 0

Equivalently:

(# * m) [n] = (# * Sub (m) + #) [n] for every natural numbers m > 0 and n >= 0, (# * 1) [n] -> # [n] and (# * 0) [n] = 0.

where this sum is expanded by rule 2.

Let's see examples.

(X*3) [2] = X*2+X [2] -> X*2+2 [2] = X*2 [2] ++ {2,2} = {2,2(X)2,2(X)2,2}.

2. Otherwise, start to reduce the part after this * only if this part is less than other terms in sum and otherwise delete smaller terms in product

By mathematical language:

(# * A) [n] = # * A[n] if A doesn't contain any * and + separators at level 0 and A < #, and if A is ## + B (B doesn't contain any * and + separators at level 0), then (# * (## + B)) [n] = # * ## + (# * B [n]) if ## < #. Otherwise, if # = ## * B and B < A, then (## * B) * A = ## * A.

Let's apply this to X*(X+1).

X*(X+1) [n] = X+1 [n] because X < X+1.

(The caret expressions will be expanded further - rule 5.)

3. If first separator is ^, rules 1-4 don't apply and first X^ isn't in parentheses:

1. If substring in parentheses after ^ ends in +m for some formal substring m which doesn't have any + separators outside of parentheses and is not itself a natural number, delete +m (if residue doesn't contain any separators aside from ^, delete also parentheses) and append *X^m to the end of the residue for all n (so, for example, X^(X^2+X) = X^X^2 * X^X)

Or mathematically:

X^(#+A) = X^# * X^A if A isn't a natural number.

Note inconsistence in previous rules: I had to change rules because of X^(X+1+1) vs. X^(X+2) problem. Now this problem is resolved (see later).

2. If substring in parentheses after ^ ends in +m for some formal substring m which doesn't have any + separators outside of parentheses and is itself a natural number m >= 1, decrement m by 1 and append *n to the end of it (and X^1 = X) (so, for example, X^(X^2+8) = X^(X^2+7)*n).

Or:

X^(#+m) [n] = X^(#+Sub(m))*n for any natural number m > 0.

Look at this:

X^(X+1+1) [n] = X^(X+1+0)*n = X^(X+1)*n

X^(X+2) [n] = X^(X+1)*n

3. Otherwise, start to reduce part after X^ only.

Or mathematically:

X^# [n] = X^(#[n]) if rules 5.1 and 5.2 don't apply

4. Otherwise, if first separator is ^, rules 1-4 don't apply and first X^ is in parentheses:

1. If substring after ^) in second group of parentheses ends in +m for some natural number m > 0 and doesn't contain a minus sign, delete +m, create m groups of X^ and append it to second argument (so, for example, (X^)(X^^X+2) 3 = (X^)X^^X (X^X^3))

Mathematically:

(X^)(#+m) ## = (X^)# (X^X^X^X^...^##) w/ m X before ## in second group of parentheses

2. Inverse rule or "reconstruction" of tetration: if substring after (X^)a (where a is arbitrary substring, hereafter: second argument) has only X's and ^ as separators, count the amount of X's and join it to a using + separator (so, for example, (X^)(X+3) X^X^X = (X^)(X+6) 1), if second argument has only single ^^ separator at the level of first X, find the order of ^^ and join it to a using + separator (so, for example, (X^)(X+3) X^^3 = (X^)(X+6) 1), and if second argument is a single 1, then delete this 1 and brackets and put another ^ between X and a (so, for example, (X^)(X+6) 1 = X^^(X+6))

Mathematically:

(X^)# (X^^A) = (X^)#+A 1 = X^^(#+A) for any substring A and (X^)# (X^X^X^X^...^X) w/ m Xs = (X^)#+m 1 = X^^(#+m) for any natural number m

The second part of rule in text is there because there was a problem with collapsing: I couldn't collapse (X^)(-2+X) X^^(-X+X^2) into X^^(-2+X^2). So, I had to change this rule.

3. Otherwise:

1. If second argument doesn't end in +m for some natural number m > 0 and isn't itself a natural number, start to reduce substring after (X^)a (this applies to the result of the previous instance, rule 6.1)

Mathematically:

((X^)# ##) [n] = (X^)# (##[n]) if ## isn't a natural number or doesn't end in +m for some natural number m > 0

2. Otherwise, if it ends in +m for some natural number m > 1 or is itself a natural number, decrement m by 1, append +1 to the end of string, start to reduce substring between (X^) and second argument and insert the result of reduction between (X^) and a with minus sign, and original a becomes +a (so, for example, X^2 [n] = X*n and (X^)X^2 3 [n] = (X^)X*n ((X^)(-X*n+X^2) 2 + 1))

Mathematically:

((X^)# ##+m) [n] = (X^)#[n] ((X^)(-#[n]+#) ##+Sub(m) + 1)

5. If first separator is ^^ and rules 1-4 don't apply:

1. If substring in parentheses after ^^ ends in +m for some natural number m > 0 and doesn't contain a minus sign, delete +m, brackets and one carat sign in X^^, then surround left X^ by parentheses again and append X^^m to the end of the residue after space (so, for example, X^^(X^2+8) = (X^)X^2 X^^8)

Mathematically:

X^^(#+m) = (X^)# X^^m for any natural number m

Note that rule 5.1 is deep reverse of rule 4.2. Rule 5.1 is used in external expressions while its "brother" is used in internal expressions (to collapse two substrings into one).

2. Special case: if you have X^^m for some natural number m, change it to m copies of X^ (last ^ is deleted: for example, X^^2 = X^X, X^^5 = X^X^X^X^X)

Mathematically:

X^^m = X^(X^^(Sub(m))) for any natural number and X^^0 = 1.

3. If substring in parentheses after ^^ doesn't end in +m for some natural number m > 0 and doesn't contain a minus sign, then reduce part after X^^ only

That is:

X^^# [n] = X^^(#[n]) if part # doesn't contain a - sign

4. If substring in parentheses contains a minus sign, then start to look to the left - there must be X^ with or without parentheses. Start to expand this expression in whole until expression don't have minus sign anymore (so, for example, X^(X^^(-1+X)+1) = X^(X^^(-1+X)) * X = X^^X * X)

That is, this rule is reduced to earlier rules.

6. If first separator is ^^^ and rules 1-4 don't apply:

1. If you have X^^^m for some natural number m, change it to m copies of X^^ (last ^^ is deleted: for example, X^^^2 = X^^X, X^^^5 = X^^X^^X^^X^^X)

Mathematically:

X^^^m = X^^(X^^^(Sub(m))) for any natural number and X^^0 = 1.

2. If you have X^^^X, change it to X^^^n

Mathematically:

X^^^X [n] = X^^^n

3. Otherwise, it is undefined

That is, expressions like X^^^(X+1), X^^^2X etc. don't have an expansion under this definition.

Proof of well-definedness[]

BEAF is a group of functions from structures to natural numbers. Therefore, I should prove that:

1. for each structure A which is given as a X-expression there is a natural number which is the result of applying all operations,

2. for no structure A there are no relationship to two unequal natural numbers (there is result and it is unique).

It should be proven to all structures greater than X^^X. But my rules give an array from structure, and this array is resolved to a natural number uniquely by three main rules. Now I'm to prove that for each structure A between X^^X and X^^^X there is equivalent array and it's unique. Since I verified the system of rules to be actually non-overlapping, complete and each part of rule allows unique way of expanding, it ensures the result to be unique, but then I should prove that result can exist as a matter of principle. Therefore I prove that for every A and n, A[n] is strictly less than A using binary relation <. This ensures that structure eventually will become empty and it becomes equivalent array. The most difficult part to show the termination is actually to prove the well-foundedness of <. I prove that each subset of structures up to X^^^X has precisely one element m such it is not related by s < m for any structure s. Without loss of generality, I will prove it for subset [a, X^^^X] (that is, the set of all structures between a and X^^^X) for any structure a as for any relation a < b subset [a, b] is supposed to have a as minimal element, a < X^^^X for every a other than X^^^X by comparison rule 10 and binary relation < is transitive by definition as it is relation of comparison thus if subset [a, X^^^X] has minimal element m and a < b < X^^^X, then subset [a, b] is ensured to have the same minimal element m.

Actually, this is quite simple.

  1. For natural numbers this follows from the existence of least natural number.
  2. For structure containing X, this divides into subcases:
    1. ...

Verification of A & 2 = 4[]

X^^X+1 & 2 =

{2,2(1)2,2([1]1)2} (using ([1]1) as separator for X^^X block)

{2,2(1)1,2([1]1)2}

{2,2(1)2([1]1)2}

{2,2([1]1)2}

{2,2(1)2,2}

{2,2(1)1,2}

{2,2(1)2}

{2,2}

4

X^(X^^(-1+X)+1) & 2 =

{2,2(1)2,2([1]1)2,2(1)2,2}

{2,2(1)1,2([1]1)2,2(1)2,2}

{2,2(1)2([1]1)2,2(1)2,2}

{2,2([1]1)2,2(1)2,2}

{2,2(1)2,2([1]1)1,2(1)2,2}

{2,2(1)1,2([1]1)1,2(1)2,2}

{2,2(1)2([1]1)1,2(1)2,2}

{2,2([1]1)1,2(1)2,2}

{2,2(1)2,2([1]1)2(1)2,2}

{2,2(1)1,2([1]1)2(1)2,2}

{2,2(1)2([1]1)2(1)2,2}

{2,2([1]1)2(1)2,2}

{2,2(1)2,2(1)2,2} ? (something went wrong)

Example[]

Expansion of X^^^3 [2]:

X^^^3 = X^^X^^X (rule 6.1)

X^^X^^X [2] = X^^X^^2 (rule 5.3)

X^^X^^2 = X^^X^X (rule 5.2)

X^^X^X [2] = X^^X^2 (rule 5.2)

X^^X^2 [2] = X^^2X (rule 5.3)

X^^2X [2] = X^^(X+2) (rule 5.3)

X^^(X+2) = (X^)X X^X (rule 5.1)

(X^)X X^X [2] = (X^)X X^2 (rule 4.3.1)

(X^)X X^2 [2] = (X^)X X2 (rule 4.3.1)

(X^)X X2 [2] = (X^)X X+2 (rule 4.3.1)

(X^)X X+2 [2] = (X^)2 ((X^)(-2+X) X+1 + 1) = X^X^((X^)(-2+X) X+1 + 1) (rule 4.3.2)

X^X^((X^)(-2+X) X+1 + 1) [2] = X^(((X^)(-1+X) X+1) * 2) (rule 3.1)

X^(((X^)(-1+X) X+1) * 2) = X^(((X^)(-1+X) X+1) + ((X^)(-1+X) X+1)) (rule 2.1 inside of parentheses)

X^(((X^)(-1+X) X+1) + ((X^)(-1+X) X+1)) = (X^)X X+1 * (X^)X X+1 (rule 3.1)

start to expand part after last * only, by rule 2.2

(X^)X X+1 [2] = (X^)2 ((X^)(-2+X) X + 1) = X^X^((X^)(-2+X) X + 1) (rule 6.3.2)

X^X^((X^)(-2+X) X + 1) = X^X^((X^)(-1+X) 1 + 1) = X^X^(X^^(-1+X) + 1) (rule 6.2)

X^X^(X^^(-1+X)+1) [2] = X^(X^(X^^(-1+X))*X) = X^(X^^X*X) (rule 5.1)

X^(X^^X*X) [2] = X^(X^^X*2) (rule 3.3)

X^(X^^X * 2) = X^(X^^X + X^^X) (rule 3 inside of parentheses)

X^(X^^X + X^^X) = X^^(X+1) * X^^(X+1) (rule 3.1)

start to expand part after last * only, by rule 2.2

X^^(X+1) = (X^)X X (rule 7.1)

(X^)X X [2] = (X^)X 2 (rule 6.3.1)

(X^)X 2 [2] = (X^)2 ((X^)(-2+X) 1 + 1) = X^X^((X^)(-2+X) 1 + 1) (rule 4.3.2)

X^X^((X^)(-2+X) 1 + 1) = X^X^(X^^(-2+X) + 1) (rule 4.2)

X^X^(X^^(-2+X) + 1) [2] = X^(X^^(-1+X) * 2) (rule 3.1)

X^(X^^(-1+X) * 2) = X^(X^^(-1+X) + X^^(-1+X)) (rule 2.1)

X^(X^^(-1+X) + X^^(-1+X)) = X^^X * X^^X (rule 3.1)

start to expand part after last * only, by rule 2.2

X^^X [2] = X^^2 (rule 5.3)

X^^2 = X^X (rule 5.2)

X^X [2] = X^2 (rule 3.3)

X^2 [2] = X*2 (rule 3.2)

X*2 = X+X (rule 2.1)

X+X [2] = X+2 (rule 1.2)

X+2 = X U {2,2} = {2,2(1)2,2} (rule 1.1)

Separators in arrays and further examples[]

After X^^X separators in parentheses would be as follows:

A & n = {n,n(A)2}

X^(X^^(-1+X)+1) & 2 = X^^X * X & 2 = {2,2(1)2,2([1]1)2,2(1)2,2}

X^^(X+1) & 2 = (X^)X 2 & 2 = ... = X^(X^^(-1+X)+2) & 2 = {2,2(1)2,2([1]1)2,2(1)2,2(X^(X^^(-1+X)+1))2,2(1)2,2([1]1)2,2(1)2,2} (16 entries)

And sixteen main checkpoints in X^^^3 array are as follows:

2 X

4 X^^X

8 X^(X^^(-1+X)+1)

16 X^^(X+1)

32 X^(X^^X+1)

64 X^(X^^X+X^^(-1+X))

128 X^(X^^X+X^^(-1+X)+1)

256 (X^)X X+1

512 X^((X^)(-1+X) X+1 + 1)

1024 X^((X^)(-1+X) X+1 + X^^(-1+X))

2048 X^((X^)(-1+X) X+1 + X^^(-1+X) + 1)

4096 X^((X^)(-1+X) X+1 + X^^X)

8192 X^((X^)(-1+X) X+1 + X^^X + 1)

16384 X^((X^)(-1+X) X+1 + X^^X + X^^(-1+X))

32768 X^((X^)(-1+X) X+1 + X^^X + X^^(-1+X) + 1)

65536 X^^X^2 = ... = X^^^3

(in future expansions of hexational arrays after X will go X^^^X, and X^^^(X+1) will contain also 65536 entries, but will have completely different separators after a single (1))

Making array grow bigger instead of falling - construction of array[]

This is how I described it in appendix to Cookie Fonster's list of big numbers applying to triakulus:

"So, how this is solved? We start from trimentri:

X^^X & 3 - this has 3^^3, or 7625597484987 entries!

Then we start to alternate +1 and *2 on different stages:

X^^X + 1 & 3 - this has 3^^3+1, or 7625597484988 entries!

X^^X * 2 & 3 - this has 3^^3*2, or 15251194969974 entries!

X^(X^^(-1+X)+1) & 3 - this has 3^(3^^2+1), or 22876792454961 entries!

X^(X^^(-1+X)*2) & 3 - this has 3^(3^^2*2), or 58149737003040059690390169 entries!

X^X^(X^^(-2+X)+1) & 3 - this has 3^81 entries!

X^X^(X^^(-2+X)*2) & 3 - this has 3^729 entries!

X^X^X^(X^^(-3+X)+1) & 3 - this has 3^19683 entries! Understand for now? This has about 10^10000 entries!

When we reach -3+X, it dies. So we change 3 into X now, and it is (X^)X 2 & 3. This is epsilon-one in FGH.

So, we continue to alternate +1 and *2 at this array:

(X^)X 2 + 1 & 3

(X^)X 2 * 2 & 3

X^((X^)(-1+X) 2 + 1) & 3 - this has 3^19684 entries!

X^((X^)(-1+X) 2 * 2) & 3 - this has 3^39366 entries!

X^X^((X^)(-2+X) 2 + 1) & 3 - this has 3^59049 entries!

X^X^((X^)(-2+X) 2 * 2) & 3 - this has 3^387420489 entries!

X^X^X^((X^)(-3+X) 2 + 1) & 3 - this has 3^7625597484987 entries!

-3+X dies at the moment. So it is equal to (X^)X 3 & 3 = X^^(X+1) & 3.

We start to climb for 4 stages now...

X^^(X+1) & 3

X^^(X+1)+1 & 3

X^^(X+1)*2 & 3

X^(X^^X+1) & 3

X^(X^^X*2) & 3

X^X^(X^^(-1+X)+1) & 3

X^X^(X^^(-1+X)*2) & 3

X^X^X^(X^^(-2+X)+1) & 3

X^X^X^(X^^(-2+X)*2) & 3

We have three X^ at the left and we change it to X X's now, but for -2+X there is 1 left (we subtract X-3). So it is (X^)X X+1 & 3.

(X^)X X+1 & 3

(X^)X X*2 & 3

(X^)X X^2 & 3= (X^)X+1 2 & 3

And we climb this way once more... until we hit (X^)X+1 3 & 3 = X^^(X+2) & 3 array. We add 1 level at the time.

After you hit X^^(X+3) & 3, you change it into X^^2X & 3.

After you hit X^^(2X+3) & 3, you change it into X^^3X & 3 = X^^X^2 & 3.

After you hit X^^(2X^2+2X+3) & 3, you change it into X^^3X^2 & 3 = X^^X^3 & 3 = X^^X^X & 3.

This pattern continues until you hit X^^X^X^3 = X^^X^X^X = X^^X^^X = X^^^3 = X^^^X structure. Oh... my... GOD!!!"

Problem of Saibian's 8000th googolism[]

Territerated tethra-ogdon is the Saibian's 8000th googolism. By approximation, it's about f_ε(φ(8,0)+ω)(100) using FGH with standard FS's for binary Veblen's function, or (X^)X X^^(-X+X^8)+X & 100 in BEAF. The problem is: how do you expand this expression?

Let's take base 2 and change 8 to 2. We expand (X^)X X^^(-X+X^2)+X & 2. By rule 6.3.1, we must expand X^^(-X+X^2)+X first because rules 6.1 and 6.2 don't apply. This is X^^(-X+X^2)+2 by rule 2. We now have (X^)X X^^(-X+X^2)+2 & 2. By rule 6.3.2, we must change X after (X^) to 2, subtract it from X, then...

(X^)X X^^(-X+X^2)+2 [2] = (X^)2 (((X^)(-2+X) X^^(-X+X^2)+1 + 1)

By rule 6.2 I collapse (X^)(-2+X) X^^(-X+X^2):

(X^)2 (X^^(-2+X^2)+1 + 1) = X^X^(X^^(-2+X^2)+1 + 1) (because +X-X is eliminated)

Note that +1 in (X^^(-2+X^2)+1 is fixed and last + 1 is prone to change:

X^X^(X^^(-2+X^2)+1 + 1) [2] = X^(X^(X^^(-2+X^2)+1)*2) (rule 5.2)

X^(X^(X^^(-2+X^2)+1)*2) = X^(X^(X^^(-2+X^2)+1) + X^(X^^(-2+X^2)+1)) (rule 3)

X^(X^(X^^(-2+X^2)+1) + X^(X^^(-2+X^2)+1)) = X^(X^(X^^(-2+X^2)+1)) * X^(X^(X^^(-2+X^2)+1)) (rule 5.1)

start to change only last X^(X^(X^^(-2+X^2)+1)), by rule 4

X^(X^(X^^(-2+X^2)+1)) [2] = X^(X^(X^^(-2+X^2))*2) (rule 5.2)

X^(X^(X^^(-2+X^2))*2) = X^(X^(X^^(-2+X^2))+X^(X^^(-2+X^2))) (rule 3)

X^(X^(X^^(-2+X^2))+X^(X^^(-2+X^2))) = X^(X^(X^^(-2+X^2))) * X^(X^(X^^(-2+X^2)))

X^(X^(X^^(-2+X^2))) * X^(X^(X^^(-2+X^2))) = X^^X^2 * X^^X^2 (rule 6.2 - we count X^-chain as operator (X^)m and start to collapse)

We successfully evaded this problem! Of course, I can't write array for (X^)X X^^(-X+X^2)+X & 2 completely here because it would have 2^2^(2^2+2) = 2^64 entries, but it can be stored in hard drive (in exabytes, keep in mind). And of course I cannot write down all perplexions emerging from solving array like (X^)X X^^(-X+X^8)+X & 100 because it would take about 100^^(10^16) (~ sedeniadalogue) symbols only to write down array for this.

I need to write down the milestones in array:

2^16 X^^X^2

2^17 X^(X^^(-1+X^2)+1)

2^20 X^(X^^(-1+X^2)+X^^X)

2^24 X^(X^^(-1+X^2)+(X^)X X+1)

2^32 X^X^(X^^(-2+X^2)+1) = (X^)X X^^(-X+X^2)+1

2^64 (X^)X X^^(-X+X^2)+X

Comparison with ordinals in FGH[]

Now I compare pentational arrays with ordinals using FGH and binary Veblen function.

By construction and climbing method theory by Saibian,

Structure Ordinal in FGH or comment to specific values
X^^X \(\varepsilon_0\)
X^(X^^(-1+X)+1) \(\varepsilon_0^\omega\)
X^X^(X^^(-2+X)+1) \(\varepsilon_0^{\varepsilon_0^\omega}\)
(X^)X 2 \(\varepsilon_1\)
X^((X^)(-1+X) 2 + 1) \(\varepsilon_1^\omega\)
X^X^((X^)(-2+X) 2 + 1) \(\varepsilon_1^{\varepsilon_1^\omega}\)
(X^)X 3 \(\varepsilon_2\)
{a1,a1 ((X^)X 3) 3} lower bound of SCG (1) using Hyp cos' estimation, where a1 = {a2,a2(X^^X)3} and a2 = 2^(3*2^95) (unfortunately, this is actually much higher than real bound, because Hyp cos used non-standard FSs which stagnate the progress unlike this comparison which uses standard FSs for binary Veblen function)
X^^(X+1) \(\varepsilon_\omega\)
(X^)X (X+1) \(\varepsilon_{\omega+1}\)
(X^)X (X*2) \(\varepsilon_{\omega2}\)
(X^)X A \(\varepsilon_\alpha\) for A corresponding to ordinal \(\alpha\)
X^^2X \(\varepsilon_{\varepsilon_0}\)

X^^3X ~ \(\zeta_0 [3]\)

X^^X^2 ~ zeta_0, limit of m(m,n) function

(X^)X^2 2 ~ zeta_1

X^^(X^2+1) ~ zeta_w

X^^(X^2+X) ~ zeta_eps_0

X^^(X^2*2) ~ zeta_zeta_0

X^^X^3 ~ eta_0, mentioned in comments of omega-one-chess ordinal as "proven" lower bound for it, but this was statement without proofs

X^^X^4 ~ phi(4,0)

X^^X^X ~ phi(w,0), limit of some system of arithmetic I can't remember (some subsystem of KP model?)

X^^X^X^2 ~ phi(w^2,0)

X^^A ~ phi(alpha,0) for A corresponding to ordinal alpha

X^^X^^X ~ phi(eps_0,0)

X^^^4 ~ phi(phi(eps_0,0),0)

...

The limit of pentational arrays is X^^^X or phi(1,0,0) = Gamma_0 (the limit of ATR_0).

Extension up to X^^^^X[]

An entry is a natural number or X.

An expression consists of one or more entries separated by items, each of which may be either a plus sign (+), a star character (*), a caret (^) (now up to four consecutive allowed), and in exceptional case minus sign. The first entry must be X (it can be also a natural number, but only when standing alone). The minus sign can only go in X^^-like or X^^^-like expressions in parentheses. For example, one valid example of expression is (X^)X^^^8 (X^^(-X^^^8+X^^^^5) + 3). Expressions are called structures.

In verifications by hyperions (#, ##) I denote the rest of expression, +, *, ^ (may be several consecutive) and - are separators, and A is any substring with one or more conditions. I also will always consider n as a natural number or 0, if conditions don't restrict it.

Rules:

  1. If the formal string of the structure ends in a +m for some natural number m > 0, then decrement it by 1 and with each reduction add 1 element to an end of the array equal to n, and if it ends in a +0, delete it from the end
  2. Otherwise, if the final separator is +, then start to reduce the part after + only
  3. If the formal string of the structure ends in a *m for some natural number m > 1, decrease m by 1, append + sign and copy of structure without +m to the end of it, if it ends in a *1, delete *1 from the end and if it ends in a *0, change entire string into 0
  4. Otherwise, if the final separator is *, then start to reduce the part after * only
  5. If first separator is ^ or ^^, rules 1-4 don't apply and first X^ or X^^ isn't in parentheses:
    1. If substring in parentheses after ^ ends in +m for some formal substring m which doesn't have any + separators outside of parentheses and is not itself a natural number, delete +m (if residue doesn't contain any separators aside from ^, delete also parentheses) and append *X^m to the end of the residue for all n (so, for example, X^(X^2+X) = X^X^2 * X^X)
    2. If substring in parentheses after ^ ends in +m for some formal substring m which doesn't have any + separators outside of parentheses and is itself a natural number m >= 1, decrement m by 1 and append *n to the end of it (and X^1 = X), so, for example, X^(X^2+8) [n] = X^(X^2+7) * n).
    3. If substring in parentheses after ^^ ends in +m for some natural number m > 0 and doesn't contain a minus sign, delete +m, brackets and one carat sign in X^^, then surround left X^ by parentheses again and append X^^m to the end of the residue after space (so, for example, X^^(X^2+8) = (X^)X^2 X^^8)
    4. Special case: if you have X^^m for some natural number m, change it to m copies of X^ (last ^ is deleted: for example, X^^2 = X^X, X^^5 = X^X^X^X^X)
    5. Otherwise, start to reduce part after X^ or X^^ only.
  6. Otherwise, if first separator is ^ or ^^, rules 1-4 don't apply and first X^ or X^^ is in parentheses:
    1. If substring after first separator in second group of parentheses ends in +m for some natural number m > 0 and doesn't contain a minus sign, delete +m, create m groups of X^ or X^^ and append it to second argument (so, for example, (X^)(X^^X+2) 3 = (X^)X^^X (X^X^3) and (X^^)(X^^^X+2) 3 = (X^^)X^^^X (X^^X^^3))
    2. Inverse rule or "reconstruction" of hyperoperation: if substring after (X^)a or (X^^)a (where a is arbitrary substring, hereafter: second argument) has only X's and ^ (resp. ^^) as separators, count the amount of X's and join it to a using + separator (so, for example, (X^)(X+3) X^X^X = (X^)(X+6) 1 and (X^^)(X+3) X^^X^^X = (X^^)(X+6) 1), if second argument has only single ^^ (resp. ^^^) separator at the level of first X, find the order of ^^ (resp. ^^^) and join it to a using + separator (so, for example, (X^)(X+3) X^^3 = (X^)(X+6) 1) and (X^^)(X+3) X^^^3 = (X^^)X+6 1, and if second argument is a single 1, then delete this 1 and brackets and put another ^ between X and a (so, for example, (X^)(X+6) 1 = X^^(X+6) and (X^^)(X+6) 1 = X^^^(X+6))
    3. Otherwise:
      1. If second argument doesn't end in +m for some natural number m > 0 and isn't itself a natural number, start to reduce substring after (X^)a or (X^^)a (this applies to the result of the previous instance, rule 6.1)
      2. Otherwise, if it ends in +m for some natural number m > 1 or is itself a natural number, decrement m by 1, append +1 to the end of string, start to reduce substring after (X^)a (resp. (X^^)a), where a is arbitrary substring, as in rule 6.3.1, but in this case insert the result of reduction between (X^) (resp. (X^)) and a with minus sign, and original a becomes +a (so, for example, X^2 [n] = X*n, (X^)X^2 3 [n] = (X^)X*n (X^)(-X*n+X^2) 2 + 1) and (X^^)X^2 3 [n] = (X^^)X*n (X^^)(-X*n+X^2) 2 + 1))
  7. If first separator is ^^^ and rules 1-4 don't apply:
    1. If substring in parentheses after ^^^ ends in +m for some natural number m > 0 and doesn't contain a minus sign, delete +m, brackets and one caret sign in X^^^, then surround left X^^ by parentheses again and append X^^^m to the end of the residue after space (so, for example, X^^^(X^2+8) = (X^^)X^2 X^^^8)
    2. Special case: if you have X^^^m for some natural number m, change it to m copies of X^^ (last ^^ is deleted: for example, X^^^2 = X^^X, X^^^5 = X^^X^^X^^X^^X)
    3. If substring in parentheses after ^^^ doesn't end in +m for some natural number m > 0 and doesn't contain a minus sign, then reduce part after X^^ only
    4. If substring in parentheses contains a minus sign, then start to look to the left - there must be X^ or X^^ with or without parentheses. Start to expand this expression in whole until expression don't have minus sign anymore (so, for example, X^(X^^(-1+X^^^(-1+X)+1)) = X^(X^^(-1+X^^^(-1+X))) * X = X^^(X^^^(-1+X)) * X = X^^^X * X), but if this is impossible (look at examples below), then consider X^^^(-a+b) as tetra-tower of b levels in which a levels are deleted, and expand it like this
  8. If first separator is ^^^^ and rules 1-4 don't apply:
    1. If you have X^^^^m for some natural number m, change it to m copies of X^^^ (last ^^^ is deleted: for example, X^^^^2 = X^^^X, X^^^^5 = X^^^X^^^X^^^X^^^X)
    2. If you have X^^^^X, change it to X^^^^n
    3. Otherwise, it is undefined

Examples of expansion[]

Expansion of X^^(X^^^(-1+X)+1) [2]:

X^^(X^^^(-1+X)+1) = (X^)X^^^(-1+X) X

(X^)X^^^(-1+X) X [2] = (X^)X^^^(-1+X) 2

X^^^(-1+X) expands like X^^^X without one X^^, so we subtract X by rule 6.3.2:

(X^)X^^^(-1+X) 2 [2] = (X^)X (X^^(-X+X^^^(-1+X)) + 1)

(X^)X (X^^(-X+X^^^(-1+X)) + 1) [2] = (X^)2 (X^^(-2+X^^^(-1+X)) + 1) = X^X^(X^^(-2+X^^^(-1+X)) + 1) = X^(X^^(-1+X^^^(-1+X))*X)

X^(X^^(-1+X^^^(-1+X))*X) [2] = X^(X^^(-1+X^^^(-1+X))*2)

X^(X^^(-1+X^^^(-1+X))*2) = X^(X^^(-1+X^^^(-1+X))+X^^(-1+X^^^(-1+X)))

X^(X^^(-1+X^^^(-1+X))+X^^(-1+X^^^(-1+X))) = X^^^X * X^^^X

So, the array is:

{2,2(1)2,2(X^^^X)2,2(1)2,2(X^(X^^(-1+X^^^(-1+X))+1))2,2(1)2,2(X^^^X)2,2(1)2,2}


It is useful to compare different arrays:

X^4 & 2 = {2,2(1)2,2(2)2,2(1)2,2(3)2,2(1)2,2(2)2,2(1)2,2}

X^X^2 & 2 = {2,2(1)2,2(0,1)2,2(1)2,2(1,1)2,2(1)2,2(0,1)2,2(1)2,2}

X^^(X+1) & 2 = {2,2(1)2,2([1]1)2,2(1)2,2(1[1]1)2,2(1)2,2([1]1)2,2(1)2,2} (using ([1]1) as separator for X^^X and (1[1]1) as separator for X^(X^^(-1+X)+1))

X^^(X^^^(-1+X)+1) & 2 = {2,2(1)2,2(X^^^X)2,2(1)2,2(X^(X^^(-1+X^^^(-1+X))+1))2,2(1)2,2(X^^^X)2,2(1)2,2}

All these arrays have 16 entries, but the structure is different.


Expansion of X^^^(X+1) [2]: (note differences with X^^^3 [2]!)

X^^^(X+1) [2] = (X^^)X X (rule 7.1)

(X^^)X X [2] = (X^^)X 2 (rule 6.3.1)

(X^^)X 2 [2] = (X^^)2 ((X^^)(-2+X) 1 + 1) (rule 6.3.2)

(X^^)2 ((X^^)(-2+X) 1 + 1) = X^^X^^(X^^^(-2+X)+1) (expansion of (X^^)2 and rule 6.2)

X^^X^^(X^^^(-2+X)+1) = X^^((X^)X^^^(-2+X) X)

(X^^^(-2+X) is formally dead expression, so this expression is about the same as X^^X^2. But note that X^^X^2 & n is about f_{zeta_0} (n) in FGH and X^^((X^)X^^^(-2+X) 2) & n is already past Г_0.)

X^^((X^)X^^^(-2+X) X) [2] = X^^((X^)X^^^(-2+X) 2)

To solve this, note that in X^^((X^)X^^^(-1+X) 2) I must split (X^) into two, subtracting some amount of X. But X^^^(-2+X) should be understood as tetra-tower of X X's, two levels of which are deleted from bottom, and in my case X^^^X [2] = X^^^2 = X^^X, so deleting 2 X's leaves me nothing, and this is equalled to 1. I can delete only 1 X right now, and (X^)X^^^(-2+X) 2 = (X^)1 (X^)-1+X^^^(-2+X) 1 + 1 = X^(X^^(-1+X^^^(-2+X))+1)

Continue...

X^^((X^)X^^^(-1+X) 2) [2] = X^^((X^)1 (X^)-1+X^^^(-1+X) 1 + 1)

X^^((X^)1 (X^)-1+X^^^(-2+X) 1 + 1) = X^^X^(X^^(-1+X^^^(-2+X))+1) (note that subtracting 1 left us with 0 X's in internal power tower, so X^^(-1+X^^^(-2+X)) formally equals to 1 and +1 is hiding at the same level, and this sums up to 2, as in X^^X^2, but this is completely different)

NB: I coined large number - carcadannus = X^^X^(X^^(-1+X^^^(-2+X))+1) & 100 = X^^(X^^^(-1+X)*X) & 100. In FGH it is about f_{φ(Г_0+1,0)}(100) using standard FSs for Veblen's function.

X^^X^(X^^(-1+X^^^(-2+X))+1) = X^^(X^(X^^(-1+X^^^(-2+X)))*X)

X^(X^^(-1+X^^^(-2+X))) = X^^(X^^^(-2+X) = X^^^(-1+X), so this is equal to X^^(X^^^(-1+X)*X)

X^^(X^^^(-1+X)*X) [2] = X^^(X^^^(-1+X)*2)

X^^(X^^^(-1+X)*2) = X^^(X^^^(-1+X)+X^^^(-1+X))

note that in last X^^^(-1+X), it is starting X^^X minus one X, so it is equalled to X

X^^(X^^^(-1+X)+X^^^(-1+X)) [2] = X^^(X^^^(-1+X)+X)

X^^(X^^^(-1+X)+X) [2] = X^^(X^^^(-1+X)+2)

X^^(X^^^(-1+X)+2) = (X^)X^^^(-1+X) X^^X

and then X^^X expand to X+2

(X^)X^^^(-1+X) X+2 = (X^)X (X^)-X+X^^^(-1+X) X+1 + 1

(X^)X (X^)-X+X^^^(-1+X) X+1 + 1 [2] = (X^)2 ((X^)(-2+X) (X^)-X+X^^^(-1+X) X+1 + 1)

collapse this:

(X^)(-2+X) (X^)(-X+X^^^(-1+X)) X+1 = (X^)(-2+X^^^(-1+X)) X+1

so...

(X^)2 ((X^)(-2+X) (X^)-X+X^^^(-1+X) X+1 + 1) = X^X^((X^)(-2+X^^^(-1+X)) X+1 + 1)

start to destroy minus signs:

X^X^((X^)(-2+X^^^(-1+X)) X+1 + 1) [2] = X^(((X^)(-1+X^^^(-1+X)) X+1) * 2)

X^(((X^)(-1+X^^^(-1+X)) X+1) * 2) = X^(((X^)(-1+X^^^(-1+X)) X+1 + (X^)(-1+X^^^(-1+X)) X+1))

X^(((X^)(-1+X^^^(-1+X)) X+1 + (X^)(-1+X^^^(-1+X)) X+1)) = (X^)X^^^(-1+X) X+1 * (X^)X^^^(-1+X) X+1

then two (X^)X^^^(-1+X) X (= X^^(X^^^(-1+X)+1) emerge...

(X^)X^^^(-1+X) X [2] = (X^)X^^^(-1+X) 2

(X^)X^^^(-1+X) 2 = (X^)X (X^)-X+X^^^(-1+X) 1 + 1

(X^)X (X^)-X+X^^^(-1+X) 1 + 1 [2] = (X^)2 ((X^)(-2+X) (X^)-X+X^^^(-1+X) 1 + 1)

collapse...

(X^)(-2+X) (X^)-X+X^^^(-1+X) 1 = (X^)(-2+X^^^(-1+X)) 1 = X^^(-2+X^^^(-1+X))

(X^)2 ((X^)(-2+X) (X^)-X+X^^^(-1+X) 1 + 1) = X^X^(X^^(-2+X^^^(-1+X))+1)

X^X^(X^^(-2+X^^^(-1+X))+1) [2] = X^(X^^(-1+X^^^(-1+X))*2)

X^(X^^(-1+X^^^(-1+X))*2) = X^(X^^(-1+X^^^(-1+X))+X^^(-1+X^^^(-1+X)))

X^(X^^(-1+X^^^(-1+X))+X^^(-1+X^^^(-1+X))) = X^^(X^^^(-1+X)) * X^^(X^^^(-1+X)) = X^^^X * X^^^X

and milestones are:

2 X

4 X^^^X

8 X^(X^^(-1+X^^^(-1+X))+1)

16 X^^(X^^^(-1+X)+1) = (X^)X^^^(-1+X) X

256 (X^)X^^^(-1+X) X+1

65536 (X^)X^^^(-1+X) X+2 = ... = X^^^(X+1)

Extension up to X{X}X = {X,X,X}[]

An entry is a natural number or X.

An expression consists of one or more entries separated by items, each of which may be either a plus sign (+), a star character (*), a caret (^) (now any finite number of consecutive carets allowed), a natural number in braces and in exceptional case minus sign. The first entry must be X (it can be also a natural number, but only when standing alone). The minus sign can only go in X^^-like or X^^^-like expressions in parentheses. For example, one valid example of expression is (X^)X^^^8 (X^^(-X^^^8+X^^^^5) + 3). Expressions are called structures.

In verifications by hyperions (#, ##) I denote the rest of expression, +, *, ^ (may be several consecutive) and - are separators, and A is any substring with one or more conditions. I also will always consider n as a natural number or 0, if conditions don't restrict it. I will also write X{a}b instead of X^^^^...^^^^b.

In this part six rules appear, not eight.

Rules (in order of appearing, to be changed and extended):

  1. If the formal string of the structure ends in a +m for some natural number m > 0, then decrement it by 1 and with each reduction add 1 element to an end of the array equal to n, and if it ends in a +0, delete it from the end
  2. Otherwise, if the final separator is +, then start to reduce the part after + only
  3. If the formal string of the structure ends in a *m for some natural number m > 1, create instead of it m entries separated by + items, if it ends in a *1, delete *1 from the end and if it ends in a *0, change entire string into 0
  4. Otherwise, if the final separator is *, then start to reduce the part after * only
  5. If first separator is ^^^^...^^^^ with m ^s (m is natural number > 0) or X{a}b, rules 1-4 don't apply and first X^^^^...^^^^ isn't in parentheses:
    1. If substring in parentheses after one ^ ends in +m for some formal substring m which doesn't have any + separators outside of parentheses, delete +m (if residue doesn't contain any separators aside from ^, delete also parentheses) and append *X^m to the end of the residue for all n (so, for example, X^(X^2+8) = X^X^2 * X^8 and X^(X^2+X) = X^X^2 * X^X)
    2. Special case: if you have X^m for some natural number m > 1, decrement m by 1 and append *n to the end of it.
    3. Otherwise, start to reduce part after X^ only.
  6. Otherwise, if first separator is ^, rules 1-4 don't apply and first X^ is in parentheses:
    1. If substring after ^) in second group of parentheses ends in +m for some natural number m > 0 and doesn't contain a minus sign, delete +m, create m groups of X^ and append it to second argument (so, for example, (X^)(X^^X+2) 3 = (X^)X^^X (X^X^3))
    2. Inverse rule or "reconstruction" of tetration: if substring after (X^)a (where a is arbitrary substring, hereafter: second argument) has only X's and ^ as separators, count the amount of X's and join it to a using + separator (so, for example, (X^)(X+3) X^X^X = (X^)(X+6) 1), and if second argument is a single 1, then delete this 1 and brackets and put another ^ between X and a (so, for example, (X^)(X+6) 1 = X^^(X+6))
    3. Otherwise:
      1. If second argument doesn't end in +m for some natural number m > 0 and isn't itself a natural number, start to reduce substring after (X^)a (this applies to the result of the previous instance, rule 6.1)
      2. Otherwise, if it ends in +m for some natural number m > 1 or is itself a natural number, decrement m by 1, append +1 to the end of string, start to reduce substring after (X^)a, where a is arbitrary substring, as in rule 6.3.1, but in this case insert the result of reduction between (X^) and a with minus sign, and original a becomes +a (so, for example, X^2 [n] = X*n and (X^)X^2 3 [n] = (X^)X*n (X^)(-X*n+X^2) 2 + 1)

Extension up to {X,X,2(1)2} (one-brace arrow notation)[]

One-brace arrow notation (OBAN) is a googological notation. It is an extension of Knuth's arrow notation, and was created for easy formalization of BEAF arrays.

To current day, only n = 2 level was (not) partially formalized. The well-defined part has level of LVO and corresponds to {X,X,2(1)2}.

The base is the first X.

The rules:

  1. If the expression in braces is a natural number m > 0, change it with brackets to m carets. For example, X{3}(X+7) = X^^^(X+7).
  2. Otherwise, If the expression in braces ends in a natural number m > 0, decrement it by 1 and ... (edit)
  3. ... (incomplete)

And for linear array there are rules of conversion:

  1. Find second element of an array. The form is X{A}B for some structure A and second element of an array B.
  2. Start to check all elements of array starting from third to last. Third element is left unchanged and all after this are decreased by 1. Gather all these values in an array.
  3. The values are the coefficients for X_2^m for m running through indices of an array entries, starting with 0. Create a sum of all terms in reverse order. This is A in form.

These rules are to be taken literally. If in rules stand "decreased by 1" and in your array X stands in this place, decrease it by 1 anyway, and result is X-1.

Examples of OBAN[]

So, let's look at examples.

"The second number of phonk" is {X,7,2,1,2} & 3. How to resolve it? Change it to equivalent one-brace form:

  1. Find second element of an array. It is equal to 7, so form is X{A}7 for some A.
  2. Start to check all elements of array starting from third to last.
  3. Third entry is 2. This is unchanged coefficient for free term (Ar_3 = 2).
  4. Fourth entry is 1. Decrement it by 1, it is 0. So, Ar_2 = 0.
  5. Fifth entry is 2. Decrement it by 1, it is 1. So, Ar_1 = 1.
  6. Auxiliary array is {2,0,1}. Create the sum in reverse order: X_2^2+2. This is to be placed instead of A.
  7. The result is {X,7,2,1,2} = X{X_2^2+2}7. Note that it is NOT equal to X{X^2+2}7.

Further expansion:

Decrement number in braces by 1, so it is X_2^2+1, and apply X{X_2^2+1} seven times without last expression in brackets:

X{X_2^2+2}7 = X{X_2^2+1}X{X_2^2+1}X{X_2^2+1}X{X_2^2+1}X{X_2^2+1}X{X_2^2+1}X.

And so on... (to be written)

Note these examples when X is also decreased:

Array: {X,X,X,X,2}

Auxiliary array: {X,X-1,1}

One-brace equivalent expression (part in braces): X_2^2 + (X_2-1)*X_2 + X_2 = X_2^2 + X_2^2 - X_2 + X_2 = X_2^2 + X_2^2 = X_2^2*2

Array: {X,X,X,X,X}

Auxiliary array: {X,X-1,X-1}

One-brace equivalent expression (part in braces): X_2^2*(X_2-1) + X_2*(X_2-1) + X = X_2^3 - X_2^2 + X_2^2 - X_2 + X_2 = X_2^3

It is interesting to see example with prime 2.

These are all steps of expanding 5 & X & 2. Note that X_2+3 & X & 2 will be {X,X,X,X,X,...(1)X,X,X} & 2, X_2*2+1 & X & 2 will be {X,X(1)(1)X} & 2 - both are presumably much higher than BHO, and 5 & X & n is only at φ(ω,0,0,0,0) in quinary Veblen's function - and gradual descend in ordinals as expansion advances.

  1. 5 & X & 2 = {X,X,X,X,X} & 2.
  2. {X,X,X,X,X} & 2 = X{X_2^3}X & 2 (by rules of conversion).
  3. X{X_2^3}X = X{X_2^2*X_2}X.
  4. X{X_2^2*X_2}X [2] = X{X_2^2*2}X. (equivalent to φ(1,ω,0,0,0) in FGH)
  5. X{X_2^2*2}X = X{X_2^2+X_2^2}X.
  6. X{X_2^2+X_2^2}X [2] = X{X_2^2+X_2*X_2}X.
  7. X{X_2^2+X_2*X_2}X [2] = X{X_2^2+X_2*2}X. (equivalent to φ(1,1,ω,0,0) in FGH)
  8. X{X_2^2+X_2*2}X = X{X_2^2+X_2+X_2}X.
  9. X{X_2^2+X_2+X_2}X [2] = X{X_2^2+X_2+2}X. (equivalent to φ(1,1,1,0,0) in FGH)
  10. X{X_2^2+X_2+2}X [2] = X{X_2^2+X_2+2}2.
  11. X{X_2^2+X_2+2}2 [2] = X{X_2^2+X_2+1}X. (equivalent to φ(1,1,0,0,0) in FGH)
  12. X{X_2^2+X_2+1}X [2] = X{X_2^2+X_2+1}2.
  13. X{X_2^2+X_2+1}2 [2] = X{X_2^2+X_2}X. (equivalent to φ(1,0,ω,0,0) in FGH)
  14. X{X_2^2+X_2}X [2] = X{X_2^2+2}X. (equivalent to φ(1,0,1,0,0) in FGH)
  15. X{X_2^2+2}X [2] = X{X_2^2+2}2.
  16. X{X_2^2+2}2 [2] = X{X_2^2+1}X. (equivalent to φ(1,0,0,0,0) in FGH)
  17. X{X_2^2+1}X [2] = X{X_2^2+1}2.
  18. X{X_2^2+1}2 [2] = X{X_2^2}X. (equivalent to φ(ω,0,0,0) in FGH)
  19. X{X_2^2}X [2] = X{X_2*2}X. (equivalent to φ(1,ω,0,0) in FGH)
  20. X{X_2*2}X [2] = X{X_2+2}X. (equivalent to φ(1,1,0,0) in FGH)
  21. X{X_2+2}X [2] = X{X_2+2}2.
  22. X{X_2+2}2 [2] = X{X_2+1}X. (equivalent to φ(1,0,0,0) = A_0 in FGH)
  23. X{X_2+1}X [2] = X{X_2+1}2.
  24. X{X_2+1}2 [2] = X{X_2}X. (equivalent to φ(ω,0,0) in FGH)
  25. X{X_2}X = X{X}X = X{2}X = X^^X = X^X = X^2 = X*2 = X+2, and {2,2(1)2,2} is shown to be 4.

Issues[]

Note that in expression after braces is anything else apart from single X or natural number (but ending in +m where m is natural number > 0) there is splitting - see this:

X^^^(X+2) = X{3}X+2 = (X{2})X X{3}2 = (X{2})X X{2}X (equivalent to (X^^)X X^^X in ordinary BEAF)

{X,X+2,1,2} = X{X_2+1}(X+2) = (X{X_2})X X{X_2+1}2 = (X{X_2})X X{X_2}X = (X{X_2})X X{X}X (equivalent to X{X{X{X{...{X}...}X}X}X}X with X+2 X's in one side)

I have plans to expand this (X{X_2})X 2 as thing that is compared to (X^)X 2, (X^^)X 2, (X^^^)X 2...

(X^)X 2 = {X^^X+1, X^(X^^(-1+X)+1), X^X^(X^^(-2+X)+1)...}

(X^^)X 2 = {X^^^X+1, X^^(X^^^(-1+X)+1), X^^X^^(X^^^(-2+X)+1)...}

...

X{X{X{X{X{...{2}...}X}X}X}X}X w/ X X's in one side = {X{{1}} X + 1, X{X{{1}} (-1+X) + 1}X, X{X{X{{1}} (-2+X) + 1}X}X...}

(equivalent: (X{X_2})X 2 = {X{X_2+1}X+1, X{X_2}(X{X_2+1}(-1+X)+1), X{X_2}X{X_2}(X{X_2+1}(-2+X)+1)...} and {X{X_2+1}X = X{{1}}X)

And (X{X_2})X X = X{X_2+1}(X+1) similar to (X^^)X X = X^^^(X+1).

I call this way "expand in exactly the way you came here". Note:

In X^^X we iterate the map A -> X^A. In (X^)X 2 we start from X^^X+1 and start ascending X^A map again reducing levels.

In X^^^X we iterate the map A -> X^^A. In (X^^)X 2 we start from X^^^X+1 and start ascending X^^A map again reducing levels.

In X{{1}}X we iterate the map A -> X{A}X. In X{X{X{X{X{...{2}...}X}X}X}X}X we start from X{{1}}X+1 and start ascending X{A}X map again reducing levels.

(equivalent: in X{X_2+1}X we iterate the map A -> X{X_2}A. In (X{X_2})X 2 we start from X{X_2+1}X+1 and start ascending X{X_2}A map again reducing levels.)

Beyond[]

Note: this is not official.

"Allowed limit of BEAF" is {X,X,2(1)2}, which is expected to be at LVO.

I will try to formalize BEAF even beyond. If my approach and estimate are correct then {X,X(1)X} ~ X_2+1 & X should be at BHO.

But start with base 2.

As we know, any array starting with 2 and having more than 2 entries (three entries, if linear) should be equal to 4. That means that even I keep adding & signs, it will still be the same array.

The golden array of BEAF is {2,2(1)2,2}. This is X+2 & 2, X*2 & 2, X^2 & 2, X^^2 & 2, X^^^2 & 2... {X,X,X} & 2, {X,X,1,2} & 2... and so on.


X_3 & X_2 & X & 2

X_3 & X_2 = {X_2, X_2}

{X_2,X_2} & X = X_2^X_2 & X = X_2^2 & X = {X,X(1)X,X}

{X,X(1)X,X} [2] = {X,X(1)X,2}

{X,X(1)X,2} [2] = {X,X(1)2,2}

{X,X(1)2,2} [2] = {X,X(1)1,2} (pilot is getting down and 2 X's before (1) are restored)

{X,X(1)1,2} [2] = {X,X(1)X,1} = {X,X(1)X} (? may be connected with fixed point?)

{X,X(1)X} [2] = {X,X(1)2}

{X,X(1)2} [2] = {X,X}

{X,X} = X^X

X^X & 2 = {2,2(1)2,2}

Conclusion[]

By my work these number are now fully well-defined:

(1) Gippatoth = X^^2X & 100

(2) Gappatoth = X^^3X & 100

(3) Geepatoth = X^^4X & 100

(4) Boppatoth = X^^X^2 & 100 (I want to highlight specifically this number - since it is approximately f_{ζ_0}(100) by FGH, it is very close to Fish number 6 which is approximately f_{ζ_0 + 1}(63). Indeed, if we start from 3 and iterate map n -> X^^X^2 & n 63 times, it will be a very good approximation of F_6. Of course, Fish numbers 4 and 7 can not be approximated by any recursive map and for Loader's number it would be nearly impossible to reach this level. Therefore I can say that we transcended all well-defined computable "irregular" googologisms (Flan numbers, Fish numbers and numbers from Bignum Bakeoff) except only for Loader's number.)

(5) Troppatoth = X^^X^3 & 100

(6) Quadroppatoth = X^^X^4 & 100

(7) Triakulus = X^^^X & 3

(8) Kungulus = X^^^100 & 10 (and Oblivion is still ill-defined, despite kungulus is well-defined - there are still serious issues)

(9) Kungulusplex = X^^^kungulus & 10 (note that we transcended Kihara's lower bound for tree(5), which is X^^^X & G, where G = Graham's number)

(10) Сarcadannus = X^^(X^^^(-1+X)*X) & 100

(11) Bungulus = X^^^X^2 & 100

(12) Tritetratrix = X^^^^X & 4

(13) Quadrunculus = X^^^^100 & 10

(14) Tripentatrix = X^^^^^X & 5

(15) Quintunculus = X^^^^^100 & 10

(16) Trihexatrix = X{6}X & 6

(17) Sextunculus = X{6}100 & 10

(18) Triheptatrix = X{7}X & 7

(19) Septunculus = X{7}100 & 10

(20) Trioctatrix = X{8}X & 8

(21) Octunculus = X{8}100 & 10

(22) Trienneatrix = X{9}X & 9

(23) Tridecatrix = X{10}X & 10

(24) Humongulus = X{100}X & 10

Advertisement