So even in the simpler case, we see that the identity is only valid on certain domains.

In the complex plane, (the principal value of) the exponential operator is defined to be:

a^b = exp(b Log a)

Where Log is the principal value of the logarithm function (the imaginary part is constrained to be in (-&pi;, &pi;]

So if we inspect the identity:

(a^b)^c = (exp(b Log a))^c = exp(c Log exp(b Log a))

while

a^(bc) = exp(bc Log a)

In the case of positive real numbers, one uses the fact that ln and e^ are inverse functions to establish the identity... but in the complex domain, exp is not an invertible function and ln is a multivalued function.

This is his exact reply for you to see Hurkyl (I sold him a bit short actually, he's a maths lecturer at Princeton):

It is, believe it or not, a correct equality.

The reason is that exponentiation in the complex plane is defined as follows: ab = exp(b ln(a)). But as you've noted, ln() is a multi-valued function when applied to complex numbers. Therefore, exponentiation is also multi-valued in the complex domain.

Now consider 1ln(5)/2&pi;i. By definition, this must equal exp( (ln(5)/2&pi;i) ln(1)). If we let ln(1)=0, then we get exp(0) which equals 1, which we expect. But since we're considering complex numbers, ln(1) also equals 0+2&pi;i, in which case 1ln(5)/2&pi;i = exp(ln(5)) = 5. In the same fashion, we can show that 1ln(5)/2&pi;i = exp(2 ln(5))=25, and so on.

If we restrict ourselves to the "primary branch" of the logarithm function...that is, if we arbitrarily require that the imaginary part of ln(z) always lies between -&pi;i and &pi;i...then some of these problems go away. But that in turn causes other problems, like breaking the rule that ln(ab) = ln(a)+ln(b). In short, complex numbers are weird