I repeat here the main problem for completeness, so that the reader has the main objective in mind:

(This article is a light introduction. For more austere results, consult Manuscript 2)

__Main Problem__

If F(x,n) = x^{xx...} iterated n-1 times, is there a definition of a __continuous__ function identical to F, not limited to integral values of n, and valid for larger values of x? (Greg Kavalec in sci.math).

__Abstract__

The problem has been known under the name "continuous extension of the hyper4 operator", "continuous extension of the Ackermann function", "continuous extension of the hyperexponentiation functions", and under various different names.

For a brief history of the problem, please consult Dave L. Renfro's
introduction here., [6], [16] and [44] chapter 2. The main difficulty of the problem lies
with the non-associativity of hyperexponents, outlined in Dave's article,
section E, HYPERROOTS. The problem of non-associativity of hyperexponents has
been investigated thoroughly, in the references
section, in those articles that deal with the equation x^{y} = y^{x}.

Readers interested in several preliminary results, should consult the references (particularly [16], [2], [3], [6] and [40]) and article 3, which introduces the notion of the "hyperroot", with an appropriate analysis and corresponding code to find those roots using Lambert's W function.

The main problem showing up after one has defined ^{1/n}m
to be the n-th order hyperroot of the real number x, is that there are two
"natural" ways to define ^{m/n}x, either as ^{m}(^{1/n}x)
or ^{1/n}(^{m}x). If there is to be any hope of
consistency, those two definitions should produce identical results.

Unfortunately, it is easy to see that the above definitions give in
general different results, unless m=n. Therefore, such a path that
hopes to define ^{r}x for rational r, is naturally doomed to
failure (update: The author has found a way to extend tetration to real numbers based on tetraroots which preserves commutativity of the hyper exponents when both exponents are rationals and reciprocals of each other. For details, consult this article).

Additional hints that doom this path can be easily gotten when one
considers ^{m/n}x and ^{m'/n'}x, with m/n = m'/n'. There are problems there too,
although in some of the references suggestions are given for possible
definitions similar to lim_{k->+oo}^{(km/(kn))}x.

In this presentation we will examine an alternate construction,
which does not suffer from an inconsistency definition-wise and the final
function acquired via the definition has the property that it preserves
continuously the behavior of all the "known" hyperexponentials ^{n}x for
natural n.

Recall our general exponential function again, for completeness here.

f(z,w,n) = {z^{w}, iff n=1, z^{f(z,w,n-1)} iff
n>1}
(1)

We will use the f above, slightly modified to aid us in the extension. Let us then define our new F as follows:

**F(z,w,n) = {z ^{w}, iff n in {0,1}, z^{F(z,w,n-1)}
iff n>1} (2)**

Now let:

[x] = Integer Part Of x.

Define for rational r > 0:

We need the following lemma to make the extension:

**Lemma:**

If {r_{k}}, k in N, is a Cauchy sequence of rationals with
lim_{k->+oo}r_{k} = y in R^{+}-N, {[r_{k}]}
is also a Cauchy sequence of rationals with lim_{k->+oo}[r_{k}]
= [y].

**Proof:**

Given any epsilon, there is a k_{0} in N, such that for all
k > k_{0}: |r_{k} - y| < epsilon.

In particular pick a k_{0}, that guarantees:

For all k > k_{0}: |r_{k} - y| < epsilon = min{|y
- [y]|, |[y] + 1 - y|}. (!!)

It is clear then that for all k > k_{0}: [r_{k}] =
[y], therefore:

|[r_{k}] - [y]| = 0 < epsilon and the result follows.

(The reader may wonder here why I excluded the naturals from the
above
Lemma. Well, if {r_{k}} is ANY Cauchy sequence converging to n,
the Lemma may fail, because if we approach n from the left via a Cauchy
sequence of rationals {r_{k}}, such that r_{k} < n,
for all k:

|[r_{k}] - n| = |n-1-n| = 1 > epsilon for ALL k! So one
should
be careful to pick a Cauchy sequence that approaches n from the right.
Note however that in this case our Deus ex Machina saves us: n is in Q,
and we are covered by the definition for rational r = n :*)).

**Corollary:**

If {r_{k}}, k in N, is a Cauchy sequence of rationals with
lim_{k->+oo}r_{k} = y in R^{+}-N, {r_{k}
- [r_{k}]}, k in N, is also a Cauchy sequence of rationals with
lim_{k->+oo}(r_{k} - [r_{k}]) = y - [y].

**Proof:**

The sum of two fundamental sequences is again fundamental.

We can now naturally extend the definition unambiguously:

Let {r

(For the actual details on extending the fundamental exponentials: G_{a}(x)
= a^{x} and H_{a}(x) = x^{a} continuously over
to the Reals, the reader may consult "The Number Systems, Foundations
of
Algebra and Analysis", by Solomon Feferman, page 285).

Will these work? We hope so. Let's see why:

Given y > 0, F(y, x, n) is continuous for all x >= 0, n > 0, n in N.

**Proof:**

By induction on n. y^{x} = F(y, x, 1) = e^{log(y)*x}
is continuous for all x >= 0.

But F(y, x, k+1) = y^{F(y, x, k)}, the last being continuous
as the composition of y^{x}, (which is continuous from the n=1
step) and F(y, x, k) which is continuous by the inductive step.

Fixing y > 0, it is clear that if x is away from integral values
(i.e.
if x is in R^{+}-N), we don't have a problem, since there, x -
[x] is continuous, therefore small changes in x will intuitively result
in small changes for ^{x}y, no matter how high the tower is.

The only "suspicious" points where continuity may actually fail, are the natural numbers. (Because x - [x] is discontinuous there!). The natural numbers are in fact, "the points of transition", where F "acquires" additional exponents.

Let's see what happens:

For fixed y > 0,

**Proof:**

By induction on n. For n = 1, we get:

|^{1+dx}y - ^{1}y| =

|F(y, y^{1+dx-[1+dx]}, [1+dx]) - F(y, 1, 1)| =

|F(y, y^{dx}, 1) - F(y, 1, 1)| =

|y^{ydx} - y^{y0}| < epsilon,
(by Lemma #1, y^{yx}
is continuous at 0)

On the other hand:

|^{1-dx}y - ^{1}y| =

|F(y, 1-dx, 0) - F(y, 1, 1)| =

|y^{1-dx} - y^{1}| < epsilon, (by Lemma #1,
y^{x} is continuous at 1)

Assume now that ^{x}y is continuous at x = k. Then:

|^{k+1+dx}y - ^{k+1}y| =

|F(y, y^{k+1+dx-[k+1+dx]}, [k+1+dx] - F(y, 1, k+1)| =

|F(y, y^{dx}, k+1) - F(y, 1, k+1)| =

|F(y, y^{ydx}, k) - F(y, y^{y0},
k)| < epsilon,
(by the inductive step, composition and Lemma #1)

|^{k+1-dx}y - ^{k+1}y| =

|F(y, y^{k+1-dx-[k+1-dx]}, [k+1-dx] - F(y, 1, k+1)| =

|F(y, y^{1-dx}, k) - F(y, 1, k+1)| =

|F(y, y^{1-dx}, k) - F(y, y^{1}, k)| < epsilon,
(by the inductive step, composition and Lemma #1)

And Lemma #2 is proved. Lemma #2 along with continuity of ^{x}y
at the non-transitional points: {x: x in R^{+} - N} (which
follows
trivially from Lemma #1) proves the main claim.

Let us now see how this function behaves with Maple:

> f_N:=proc(z,w,n)

> option remember;

> if n=0 or n=1 then z^w;

> else z^f_N(z,w,n-1);

> fi;

> end:

And the function ^{r}x:

> f_Q:=proc(z,r)

> local fracpart,intpart;

> intpart:=floor(r);

> fracpart:=r-intpart;

> if intpart>0 then

> f_N(z,z^fracpart,intpart);

> else #intpart=0

> f_N(z,fracpart,0);

> fi;

> end:

Let us now verify some of the more elaborate properties of the
hyperexponential.

First, we know that lim_{n->+oo}^{n}x = e^{-W(-log(x))},
whenever x is [(1/e)^{e}, e^{(1/e)}]. Perhaps we can
then
see some similar behavior on our ^{r}x. (Green line below is e^{-W(-log(x))}).

At the left bound of convergence, (1/e)^{e}:

> plot({'f_Q(exp(-1)^exp(1),r)', exp(-1)},'r'=0...30);

At the right bound of convergence, e^{(1/e)}:

> plot({'f_Q(exp(exp(-1)),r)', exp(1)},'r'=0...30);

Right of the right convergence bound:

> plot({'f_Q(1.9,r)'},'r'=0...3.5);

Left of the left convergence bound:

> plot({'f_Q(0.02534,r)'},'r'=0...6.5);

Note that in all cases, ^{r}x is continuous at the
transitional
points r = n for fixed x.

Note also how the function behaves left of (1/e)^{e} where
it is known that ^{n}x is a two-cycle(!).

On the other hand we have also:

**Lemma #3:**

For fixed y > 0, ^{y}x is continuous for all x in R.

**Sketch of Proof:**

This amounts to showing that for fixed y, the function: F(x, x^{y-[y]},
[y]) is continuous.

But when y is fixed, then so is [y] = n and so is q = y-[y], and in
this case:

F(x, x^{y-[y]}, [y]) =

x^{x...xq} (n + 1 x's).

This follows easily by using induction on n, the fact that x^{y}
is continuous for fixed y and from composition of continuous functions,
with a similar argument of that in the proof of lemma #1. (See also
Feferman
as per above).

Now, we should be able to see the desired extension as a nice continuous interpolation between the graphs of the functions

> plot({seq(f_Q(x,2+n/10),n=1..10)},'x'=0..2);

The more interesting initial and final segments of the above graph:

(To view those segments, change the function bounds to x=0..1 and x=1..2 in the Maple plots above).

(Compare with the graphs in [33], [39] and [40])

To watch the interpolation as animation:

>
display([seq(plot('f_Q(x,2+n/10)','x'=0..2),n=1..10)],insequence=true);

What does the function ^{y}x look like for real y,
intuitively?

Roughly speaking, it is a growing tower of x's, with y "controlling"
the tower's acquisition of further exponentials. The highest exponent q
= y-[y], always varies in [0,1). The interesting stuff happens as y
approaches
a natural number n from the left.

When y approaches n thus, the tower still has [y] + 1 = n - 1 + 1 =
n exponentials. I.e. it is:

x^{x...xq}, n x's. (q = 1^{-}).

Now when y passes over n becoming an integer and then growing
further,
a small miracle happens: The last exponential x^{q}
"stabilizes"
to x^{1} and a __new__ exponential starts on top of it,
with
a new q very close to 0. I.e.

x^{x...xq}, n + 1 x's. (q = 0^{+}).

The exp function (which is what's working under the scenes) makes the transition "seamless", resulting in a "smooth" transitioning into the exponential tower that has one more exponential at its top !!

Intuitively, one could perhaps visualize this function as an already infinite exponential, in which successive "state exponents" get "activated" continuously. I.e.

(x^{y1})^{(xy2)...(xyn)...}

The "state exponents" y_{i} of the function are determined
uniquely
by the decomposition of y as:

y = [y] + {y-[y]} = n + q, n in N, q in [0, 1), with:

y_{i} = 1 for i <= n,

y_{n+1} = q

y_{j} = 0, j > n.

y_{i} always ranges in [0,1) and the function starts with y_{i}
= 0, for all i > 1. As y in ^{y}x moves in (0, +oo), it
causes
(by virtue of its own unique decomposition above) a continuous
"activation"
of those exponents y_{i}, according to the scheme above,
causing
successive "acquisitions" of higher exponentials, which force the tower
to grow indefinitely, __preserving however continuously the functions
^{n}x__
as y passes through the naturals. And that's what we wanted.

What is also quite interesting, is that the above continuous extension satisfies the "hyperexponential-logarithm" property: log(

That the property log(^{n}x) = ^{n-1}x*log(x) holds
for y in N, can be shown easily via induction.

Now let's see if the above identity is true for ^{y}x with
x,
y > 0.

Assume than y is in R^{+}-N.

log(^{y}x) =

log(F(x, x^{y-[y]}, [y])) (1)

Let [y] = n, y - [y] = q, n in N, q in [0,1).

Then (1) is equal to:

log(x^{x...xq}) (n+1 x's) =

x^{x...xq}*log(x) (n x's) =

F(x, x^{q}, n-1)*log(x) (2)

Now if y is in R^{+}-N, it is true that if [y] = n then
[y-1]
= n-1, therefore:

y-1-[y-1] = y-1-(n-1) = y-1-n+1 = y-n = y-[y] = q, and therefore :

^{y-1}x*log(x) =

F(x, x^{y-1-[y-1]}, [y-1])*log(x) =

F(x, x^{q}, n-1)*log(x). (3)

The result follows from (2) and (3).

(A more formal proof can be given using induction, which I omit)

Note that

"If we note that the function w=exp(i*Pi*z/2) maps the half strip
0<Re{z}<1,
Im{z}>0 on to the quadrant |w|<1, 0<arg(w)<Pi/2, the
convergence
(of i^{ii...}) is proved by considering
iterations of this mapping..."

With Maple, the above can be visualized as follows:

>w:=z->exp(I*Pi*z/2);

> for k from 1 to 5 do

>
p[k]:=plot([seq([Re((w@@k)(1/10*n)),Im((w@@k)(1/10*n))],n=0..10)]):

> od:

> plist:={seq(p[k],k=1..5)}:

> display(plist);

[18] contains a hand-drawn representation of the basin exactly as shown above.

While continuously tracing ^{y}i, for y >=0, produces a
surprisingly
similar result:

>complexplot('f_Q(I,y)',y=0..15);

The behavior of f_Q can become quite complex, literally. It is
obvious
that ^{n}(-1) = -1, for all n in N, however, continuously
tracing
f_Q(-1,y) can lead to an infinity of new surprises:

>complexplot('f_Q(-1,y)',y=0..1);

Note that while f_Q always returns to -1 (infinately often, since ^{n}(-1)
=
-1, for all n in N), the in between trace is very complex.

The only problem function

For a more austere analysis, consult this and this article.

For references, check the corresponding section.