Why exponentiation is not commutative

Short answer

Exponentiation symbolizes an ordered pair, as opposed to the scalar values you have with addition and multiplication.

Longer exposition

Exponentiation is similar to functions in general in that they can both be represented as ordered pairs. In lambda calculus, the standard algorithmic definition of exponentiation is $\lambda be.eb$, which is literally just defining it as a function and is by far the simplest mathematical operation in Church encoding.

So $a^{b^c}$ could be thought of as some nested functions $a(b(c))$; you would never look at that and wonder why it isn’t equivalent to $(a(b))(c)$, as functions are very clearly non-commutative in general.

Also note that while you can’t effectively carry out multiplication by adding (I mean, not really), or exponentiation by multiplying, the reverse is not true; exponentiation subsumes the lower operations. You can encode arithmetical expressions through judicious use of order of operations:

$$\large \log \log \left[\left(e^{\left(e^a\right)^{b}}\right)^{e^c}\right]=ab+c.$$

In fact, using a regular pushdown stack and the following three operations…

  1. Replace the top value $a$ on the stack with $\log_2 a$.
  2. Replace the top two values $a,b$ on the stack with $a^b$.
  3. Push $2$ onto the stack.

…which seems to allow any standard arithmetical operation you want, and may even be enough for general computation.


In considering the basic operations, I think addition can be understood as combining two quantities of objects where every object is indistinguishable in every way; all you can tell is that each unit is a unit. Three of whatever plus seven of whatever else and you have ten whatevers. I figure this can be represented as a $0$-tuple, $()$, an object with no information.

Moving up to multiplication, we introduce the concept of distinctive properties, namely the prime factors involved. So multiplying two numbers can be viewed as looking through all your factors in both operands, and then lumping together (unit-style) all the factors that signify the same same prime. Thus why $$(2^3\cdot 5 \cdot 7^2)(5^3\cdot 7^4) = 2^{3+0} \cdot 5^{1+3} \cdot 7^{2+4}=2^3 5^4 7^6.$$

I figured in this way, numbers being multiplied could be treated as $1$-tuples once they’re broken down to their prime atomic elements: $(i)$, where $i$ is the index of their particular prime.

And then you get to exponentiation, and I’ll skip to the punchline. The new thing this one shows is order, and can be represented by a $2$-tuple, $(x,a)$. I’m not positive the $k$-tuple outlook is sound, but if it is, it’s interesting that the ordering seems to just emerge as you gradually add arguments to the tuples.

It may also explain why further hyperoperations like tetration and beyond don’t seem to offer much practical use; any more-involved structure, be it a $3$-tuple or anything else, can be broken down and represented adequately by chains of ordered pairs, since handled appropriately, that’s all you need for universal computation.


Finally, it may be tempting to say “but why can’t $(x,a)$ work out to be equivalent to $(a,x)$”, but that’s the entire point: $(x,a)$ isn’t a collection of two objects, like $2\times 3$ or $5+7$; it’s a single object itself, as is $(a,x)$, and the concept of the ordered pair represents an absolutely vital step in complexity. (It occurs to me that this may be why complex math seems to be so rich.)

If those two tuples weren’t distinct from each other (i.e. they were commutative) then they wouldn’t be two different objects, and you wouldn’t have exponentiation. You’d be back to commutative multiplication, which indeed is exactly what you see when you evaluate a power tower from the bottom up using parentheses, so that $(a^b)^c=(a^c)^b=a^{bc}$.

Similar Posts

Leave a Reply