The Hyper-Operating Ultrex Function

Part of Counting Really,Really,Really High

Copyright 2020 by Louis Epstein,All Rights Reserved
The Ultrex Function was created in 2016 in response to some reactions I had received when telling of my other creations such as the popble function,which uses the Knuth,Conway, and Moser functions to feed the Bowers Exploding Array Function.

I was told that the then teenaged Lawrence Hollom had blown past BEAF with his Hyperfactorial Arrays and numbers produced by the popble could not measure up.I was quite unimpressed with the use of the factorial as the operating "particle" is quite plain that n! is less powerful than nn,the Steinhaus-Moser particle operation,as the latter multiplies the input number to a number of factors all equal to itself and the factorial to one fewer,all of whom are less than itself. I busied myself with the ultrex,which raises the base n to a series of exponents numbering as defined by the bound b to a series of exponentially increasing exponents.

I laid out the basis of this with a few layers of enhancement but have yet to go as far as I have intended in demonstrating the far superior potential of this basic operation to factorials in the creation of extremely large numbers.

However,in times of coronavirus I have the time to cogitate on it and have actually looked at Hollom's page on his "hyperfactorials". I am not dissuaded from my position.

Hollom sets out to include hyper-operators (Knuth up-arrows...which I will mainly represent with carets (^) in this article since not all browsers render the ↑ symbol and I will be using some arrows with special powers that need to be noted). Remember that in ultrexing:

The first exponent is always n itself,so n u 1 equals nn for any value of n.Each succeeding exponent is the solution of the entire power tower below it:

2 u 2 = 2^2^(2^2) = 2^2^4 = 2^16 = 65536
3 u 2 = 3^3^27 = 3^7625597484987 = a 3,638,334,640,025-digit number
2 u 3 = 2^2^(2^2)^(2^2^(2^2)) = 2^2^4^65536
4 u 2 = 4^4^256 = 4^13407807929942597099574024998205846127479365820592393377723561443721764030073546976801874298166903427690031858186486050853753882811946569946433649006084096
3 u 3 = 3^3^27^(3^7625597484987)
5 u 2 = 5^5^3125

n u b is always the final exponent of n u (b+1).

At his site Hollom uses the declining multipliers of a factorial as the upward course of his hyper-operated power towers,and the chosen level of hyper-operator remains constant throughout as do the created exponents.If one is building a power-tower from the bottom up for maximum value,neither linear decline nor constancy is want the exponential increases that ultrexing provides.

In Hollom's 4!2 the value of 4 u 2 is encountered by resolving the top exponents of a 27-tier power tower...clearly 4!2 is greater than 4 u 2 but one would not have to ultrex 4 all the way up to 27 to reach a value that leaves 4!2 in the dust,as Hollom's exponents are all 4s while each exponent produced by ultrexing 4 is exponentially greater than the last and cancels out a greater number of 4s while being used to raise lower numbers almost all of which are greater than 4.

The double and triple and so forth ultrexes likewise outstrip factorials.

X (n u's) Y = X (n-1 u's) (X u Y).
2 uu 2 = 2 u 65536.

n u b means that there are nub u's between n and b.

But...we're out to take on hyperfactorials.

So let us not merely ultrex n to b with its simple exponentiation, but let each exponent be preceded by like number of up arrows rather than the single arrows equivalent to exponentiation. To Hyper-Operating Ultrex:

n hu 1 = n n-up-arrows n.
The exponents themselves remain what they would be in standard ultrexing and continue to be numbered by the bound b.
2 hu 2 = 2^^2^^^^4 = 2^^(2^^^2^^^2^^^2)
3 hu 2 = 3^^^3^^^^^^^^^^^^^^^^^^^^^^^^^^^27
4 hu 2 = 4^^^^4^^^^^...256 arrows total...^^^256
2 hu 3 = 2^^2^^^^4^^^...65,536 arrows total...^^^65,536

The underlining continues to indicate a number of hu operations equal to the value of a single hu of the base to the bound.

For simplicity's sake,the apostrophe (') can be used as shorthand for "itself times,to itself" (the manner in which the ultrex function is employed to start each cycle of the popble function).So

4hu' means 4hu (4 hu (4 hu(4 hu 4))).

4hu' means 4 hu (4 hu (4 hu(4 hu....(with 4 hu 4 layers of nesting on the bound)... 4))).

But...why content ourselves with normal exponentiation arrows?

When engaged in hyper-operating ultrexing,let us instead invoke recursion (something I was scolded the ultrex didn't have enough of) and introduce the hyperoperating arrow h↑ to represent it. We must be sure not to have infinite recursion,as to devise the largest possible finite numbers we must postpone halting to the last possible moment while absolutely guaranteeing that it eventually does happen.

So with this form of hyper-operating ultrex...every ^ now representing a h↑ ...

2 hu 2 = 2^^2^^^^4 = 2^^(2^^^(2^^^(2^^^2))) =
2^^(2^^^(2^^^(2^^(2^^2)))) = 2^^(2^^^(2^^^(2^^(2^(2^2))))) = we have to face the infinite recursion issue.
When alone at the end,hyper-operating arrows default to the earlier definition,merely preceding the final exponent with a number of ordinary arrows equal to itself.This mimics the action of ordinary arrows, where 2↑↑↑2 = 2↑↑2 = 2↑2.
2^^(2^^^(2^^^(2^^(2^(2^^2))))) = 2^^(2^^^(2^^^(2^^16))) =
At this point the arrows before the 16 are not alone, they split up...the one on the right acts like an ordinary double arrow and creates a power tower of sixteen twos separated by ordinary arrows("spawn of the last arrow" are always ordinary arrows) while the one on the left waits behind.

Once the power tower is resolved,the new last arrow spawns ordinary performing an old-style hyper-operating ultrex:
2^^(2^^^(2^^^(2 u (2^^16))) =
2 is ultrexed to 2^^16 with each exponent preceded by a like number of ordinary arrows...the first of the 2^^16 exponents is 2,preceded by 2 arrows,then the second is 4,preceded by four arrows,then the third is 65,536,preceded by 65,536 arrows,then the fourth is 22465,536 preceded by that many arrows, and so on through the 2^^16th exponent...ordinary arrows,right?...nothing to be scared of!

So,do the calculations on that (write small in your blue books...we're about to call the resulting integer "the small number",which compared to what's to come,is an understatement).

2^^(2^^^(2^^^(the small number)) =
Here we still have three arrows,and they're still hyperoperating arrows.

2^^(2^^^(2^^(2^^(2^^...(the small number total 2's)...^^(2^^2))...))

Only the final ^^ drop to ordinary status just yet,and after they resolve the preceding pairs resolve in just the same fashion as before,ultrex after ultrex.

Then we resolve the preceding set of three arrows,with a much greater number of arrow-enhanced ultrexes.

Finally the first double arrows after the base are resolved.

That is the value of new-style 2 hu 2 and if we were to hyper-operating-ultrex 2 to the bound of the number we just reached, rather than stop with a bound of 2,we would have 2 2hu 2 or 2hu'.

I don't know if we have yet pounded Graham's Number into sand,but I do know that we desperately need to make this function much more powerful.

Recall that underlining hu means that the number of hu operations is equal to n hu b,repeated operations always nested on the bound. And why should underlined hu's settle for the wimpy little h↑ operator?

Enter the h↑ operator,the recursive hyperoperating up-arrow!

On going through the first cycle of 2 hu 2,instead of

2^^(2^^^(2^^^(2 u (2^^16)))
(2 ultrexed once to 2^^16)
we have
2^^(2^^^(2^^^(2 u (2^^16)))

that is,2 ultrexed 2 u 2^^16 times,nested on the bound,to 2^^16. And since we are hyper-operated-ultrexing every exponent is preceded by its number of recursive hyper-operated-ultrexing arrows which only decline to normal ones at the very top.Resolving 2 hu 2 completely gives us the number to which,instead of 2,we now hyper-operating-ultrex 2 to reach 2hu'.

And now it is high time we stopped dealing with tiny little bases like 2 or tiny little bounds like 2.

While we've built some pretty tall towers from such small foundations,it's more effective by far to use numbers from as bases and the ' notation can use them as bounds as well...replace 2 with E(2) (Epstein's Second Number) and you can say E(2)hu' without taking up much space and denoting a vastly greater number.

So what about arrays?

Array-making is not something I have done much of,but imagine if you would a linear array specified by a comma thusly:


It would not be practical to lay out the numerous comma-separated entries, but they are the base E(2)hu' and every exponent it would take to ultrex itself to itself,with each one repeated in ascending order as many times as itself(the number it would have of arrows in hyper-operated ultrexing). If you would indulge my anthropomorphizing of these numbers,imagine the base as performing on stage at a talent show,demonstrating its skill at self-hyperinflation.By the stage,the second entry is the ticker, the third entry is the timekeeper,and the entries after that are arbiters,ranging from the first arbiter(the fourth entry,still very early among the repetitions of E(2)hu') to the final arbiter (the very last repetition of the highest exponent).
For its first act,the base (which is itself E(2) hyper-operating-ultrexed itself-hyper-operating-ultrexed times to itself to itself) hyper-operating-ultrexes itself itself-hyperoperating-ultrexed-to-itself times to itself.
The ticker goes down by one,and the base repeats its performance based on its new size.
This repeats until the ticker would reach zero,at which point the timekeeper resets the ticker to the size the base has now reached,and itself goes down by one.
This repeats until the timekeeper would reach zero,at which point the first arbiter brings in a new timekeeper of the size the base has now reached, which resets the ticker to the size the base has now reached,while the first arbiter goes down by one.
As each arbiter reaches zero it is replaced by the next arbiter further from the base,which decreases by one,with a new one the current size of the ever-growing base,as are all other entries between that arbiter and the base.
When the final arbiter reaches zero,it ceases to exist as all entries between it and the base are repopulated with ones equal to the then current size of the base.The arbiter before the last becomes the new final arbiter.
As the arbiters dwindle,the replacement cycles continue,until finally the last arbiter is gone,then the timekeeper,then the ticker.

Calculation halts.

At this point,the critics in the audience who were hoping to catcall "doesn't halt" and throw croutons at the stage file out of the auditorium,muttering "naive extension" and squabbling about how many scroobols of loggion marks are in a ducquaxul,composing letters in their heads about how of course their 2↑↑↑3-dimension arrays,which are TETRATIONAL,have to be bigger than ones with only Skewes' NumberG(centillion)-dimensions that are merely exponential.

The poor expanded base is left on stage wanting to keep going,to conjure up a whole new array of ticker,timekeeper,and arbiters based on its current size.

How can we not have pity on the poor little thing?

A simple additional apostrophe


denotes the ability to thus regenerate the whole line with updated entries a number of times equal to the starting value.

A subscripted preface to the apostrophe E(2)hu',E(4)hu''

provides a bound to which that starting value is hyper-operating-ultrexed itself times to set the number of times regenerations are permitted.

MORE MAY COME LATER on replenishment,reincarnation,and resurrection.

In the meantime,enjoy this creation and the 2020 Vision Number it has enabled.

But if you think this is my most powerful function,I invite you to get SHOT...a LHOT.

First edition April 24,2020.Revised to link to SHOT Function April 25,LHOT April 26.