34 comments

[ 2.8 ms ] story [ 92.0 ms ] thread
To explain the flaw in the reasoning, it's easiest to generalize -

    y = x ^ (x ^ x ^ x ^ ...)
      = x ^ y
and hence

    x = y ^ (1/y)
      = exp( 1/y * log(y) )
which is defined for y > 0.

Graphing this using Google plot [0] or Wolfram Alpha [1], or just differentiating, reveals that it has a maximum at x = e, and that x takes the value sqrt(2) at both y = 2 and y = 4.

Therefore the inversion, which is the original equation

    y = x ^ (x ^ x ^ x ^ ...)
is dual-valued, i.e. it is not a mathematical function. For it to be a function, you need to specify whether you are on the upper branch (so that y = 4) or the lower branch (so that y = 2). Deliberately obfuscating the difference between the two branches leads to the conclusion that 2 = 4.

The square root function can lead to a similar confusion, since there are two solutions to the equation

    y = x^2
and hence the "function"

    x = sqrt(y)
is not really a function unless we specify whether we are on the upper (x > 0) or lower (x < 0) branch. By convention we interpret sqrt(y) to be the upper branch, and write -sqrt(y) for the lower branch, but there's nothing that forces that choice.

Obfuscating the difference between the two branches could lead one to conclude that 1 = -1, although the fallacy is more obvious in this case, since everyone is familiar with the fact that the square root function is dual-valued.

[0] https://www.google.co.uk/search?q=y%5E(1%2Fy)

[1] http://www.wolframalpha.com/input/?i=y%5E(1%2Fy)

Also the big red flag in the reasoning is:

> "But take the square root of each side".

Sorry, but that's not really something you can do without recognising the fact that there are two square roots.

This is a red herring.
It's certainly not a mathematical function. That being said, to even write 4 = x ^ (x ^ x ^ x ^ ...) is a bit misleading. The function diverges for y not in the range of e^-1 < y < e. I think that's a bit simpler and elegant way to look at it. A proof can be found on page 240: http://www.maa.org/sites/default/files/pdf/upload_library/22... (pdf)
(comment deleted)
I think your argument is avoiding the real issues. One problem is that the simplification of setting y = x^y introduces new solutions that are not solutions to the original equation. While any solution of the original must also satisfy y = x^y, the reverse is not true.

Even worse, the OP's algebraic manipulations assume there exists a solution to the equation. It's not logically sound to assume something exists and use that fact to prove that it exists.

(comment deleted)
Well... except that, if by equality you mean mathematical equality as real numbers, and by "0.9…" you mean the limit of the sequence (0.9, 0.99, 0.999, …), then in fact "0.9…" does equal 1. I'd argue that this is almost certainly what you in fact meant when you wrote "0.9", "1", and "equals". In fact, "0.9999… = 1" is true, and an appreciation of mathematics beyond a purely-syntactic level will make this clear. It will also help clear up puzzles like the OP.
(comment deleted)
Notice that you write 0.9... with dots instead of just writing the number... because it isn't a "normal" number. Of course I agree, it approaches 1 for any number of digits. But infinitely many digits are not a number of digits.

Please, define the exact meaning of the ... you use.

The comment to which this is a reply has been deleted. To give this comment (its siblings) context, there is the text:

    Yes I meant that. It makes no sense, because with
    that flawed logic you can formulate the following:

    1/3 = 0.3... -> 0.3... * 3 = 0.9... -> 0.9.. = 3/3 = 1

    If anything, 0.9... APPROACHES 1. Something like
    0.9... ~ 1 is a better notation.
Consider the expression 0.9999...

It's easy to write syntactic nonsense, so it's not obvious that this has any meaning at all. However, if you are going to give that a meaning, then the most reasonable meaning to assign is that it's the limit of the sequence:

  0.9, 0.99, 0.999, 0.9999, 0.99999, ...
The limit is 1. The terms of the sequence approach 1, yes, but the limit does not approach anything because it doesn't move and it doesn't change. The limit is a value, and that value is 1.

Your comment about 0.999... approaching 1 is genuinely wrong, and very, very misleading.

It's even more wrong (whatever that means) to say that 0.9999... ~ 1. That's genuinely not a better notation. The interpretation of the meaning of the expression 0.9999... as given above does not allow that the expression 0.9999... should have any value other than 1.[0]

[0] Assuming you're working in the standard reals, which form the Archimedean totally ordered complete infinite field. If you're in non-standard analysis then that's something completely different.

Fyi, "3/3 = 1" is true as well, which you seem to be indicating is not the case. 3/3 does not approach 1; it is exactly 1. In fact, the idea of "approaches" cannot happen with just rational numbers. You need a limit in order for the word "approaches" to be correct. I think you need to read up on math terminology a little (and just math in general) if you want to try and discuss this... though there's no point discussing this because that implies there's more than one side.

In the case of .99.., that could be expressed using a limit and thus you could say it approaches 1, though it's much more accurate to say that it equals 1.

> In fact, the idea of "approaches" cannot happen with just rational numbers.

Yes, it can. The sequence 0.9, 0.99, 0.999, ... is entirely composed of rational numbers, and its limit is also a rational number.

The issue with rational numbers is that there are sequences which are composed entirely of rational numbers but do not have limits that are rational numbers. An example is 1.4, 1.41, 1.414, ..., i.e., successive truncations of the decimal expansion of sqrt(2). The limit of the sequence is sqrt(2) itself, which is irrational. So in that particular case, the concept of "taking the limit of a sequence" can't be applied within the rational numbers. But that doesn't mean it can't be applied at all; you just need to restrict to sequences that have rational limits.

Just a thought ...

  euank> In fact, the idea of "approaches" cannot
  euank> happen with just rational numbers.

  pdonis> Yes, it can. The sequence 0.9, 0.99, 0.999, ...
  pdonis> is entirely composed of rational numbers, and its
  pdonis> limit is also a rational number.
Everything you write is correct, but I think you're refuting something that wasn't intended. I think euank's comment meant that you can't have a concept of "approaches" when you're just dealing with single values. That's what the "just" is intended to mean, you're "just" dealing with numbers, not with sequences.

With that reading your comment is misplaced, although I can completely understand the interpretation you put on it, and were that what had been intended, your comment would have been well stated.

In the off chance you're not trolling, I'll bite.

> with that flawed logic you can formulate the following: [...]

What you have written there is just the original statement in different words. You can't say "X can't be true, because then X would be true which doesn't make sense". You haven't said anything which conflicts with the original statement.

In fact it is true that "0.999..." is exactly equal to 1, which is also exactly equal to 3/3. Those are three different representations of the exact same number, just like how 1/3 is exactly equal to "0.333...". There is no "approaching" involved.

> In the off chance you're not trolling, I'll bite.

If you want to know something on internet, just say something wrong and someone will come up to explain.

No, this is bullshit, but 0.99.. does equal one in the standard system of math we use every day. It's not even up for debate.

Don't be belligerently wrong. It's not becoming.

(comment deleted)
> But the part in brackets is the same as the whole

Can someone explain what this means?

So the logic goes, consider x^x^x^...=2. We have an infinite tower of x's. Now, suppose we group all but the first x as so: x^(x^x^x^..)=2. The number of x's in the parenthesis is still infinite (infinity minus 1 is still infinity). We already know by hypothesis that x^x^x^...=2. So we can substitute this in for the term in parenthesis since they are both an infinite tower of x's and get: x^2=2.
Just as wrong as saying:

1) Inf - 2 = Inf

2) Inf - 4 = Inf

Hence: 2 = 4

Alway be careful when doing operations on infinite numbers, sequences etc. These are the kind of things that roll out of that.

The author just found a way to write something similar in a more fancier way.

The difference is that the equation is actually correct for y=2. It doesn't apply for y=4 because it only converges in the range e^-1 < y < e.
EDIT: Ignore this.

I tried doing this for x = sqrt(2) and it quickly approaches infinity. What is the actual solution for x?

I don't see what you're doing to make it approach infinity. Let r0=sqrt(2) and r(i+1)=sqrt(2)^r(i). Then

  r0 = 1.4142135624
  r1 = 1.6325269194
  r2 = 1.7608395559
  r3 = 1.8409108693
  r4 = 1.8927126968
  r5 = 1.9269997018
  r6 = 1.9500347738
  r7 = 1.9656648865

  ...
This is clearly approaching 2. Not sure what you were doing.

Edit: Ah! I see - you've got the association the wrong way round. The convention is that a^b^c is a^(b^c). This is because (a^b)^c can just as easily be expressed as a^(bc), so you get more expressive power.

You're right. I just completely abused math and did previous^x rather than x^previous. Fixed the code and it does become 2. Thanks.
I don't believe all the comments pointing out that x^(x^...) converges only in a certain range are the best way to understand what's going on here. The way I see it, the "solve for x" puzzle really just serves to obscure the true reasoning used:

    if y=sqrt(2)^y and z=sqrt(2)^z, then y=z.
When put like this, we can see that this is clearly false: solutions to the equation need not be equal any more than all zeros of a polynomial need be equal.
Well if you observe the tower power is an injective function then that just fixes everything :)
So to recap:

1) If we define f(x)=x^x^x^... as the limit of the sequence x, x^x, x^x^x, ... then f(sqrt(2))=2, not 4, and in fact there's no such x that f(x)=4.

2) If we instead "solve" the equation y=x^x^x... by dubious manipulations with infinite expressions, we get x=y^(1/y), so y=2 and y=4 both lead to x=sqrt(2).

When playing with infinite expressions, you must always keep in mind how they're defined in terms of limits. If you learn to do that, many puzzles with infinity will stop bothering you forever, like Zeno's paradox, 0.999...=1, etc.

why did you write this?
It's a puzzle, and a good one. There are puzzles where the challenge is to work out what the insight is needed to see the solution, and there are puzzles where the challenge is to work out exactly what calculation is needed (and then to do it).

In this case the puzzle is to find the error in the reasoning. Other examples of this include the two-envelope problem, the unexpected hanging, and the case of the missing dollar. Sometimes puzzles like this reveal deep insights into the subject, sometimes they point out that "obvious" things aren't obvious, and sometimes they reveal weaknesses in our understanding or reasoning.

This is - for some students - an excellent introduction to why we need to be careful when dealing with certain types of mathematical manipulation.