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"...it is quite plain that n! is less powerful
than n^{n},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:

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 useful...you 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.

Thus

2

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

But...we're out to take on

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

etc.

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

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

4* hu*' means
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))))) =

...now 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
arrows...by 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
2^{2465,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 _{2}*hu* 2 or
2*hu*'.

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

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
2

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
http://www.put.com/A/alnumb.html 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.

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

E(2)* hu*',

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

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' Number^{G(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

E(2)* hu*','

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*',

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.