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) |