Monocurl Essays
Series Download

Why x⁰ = 1, and negative and fractional exponents

Powers of 2 halve as the exponent drops, and one rule, add exponents when you multiply, forces 2⁰ = 1, 2⁻¹ = 1/2 and 2^(1/2) = √2.

20 min·High school·

The powers of 2 as bars. The exponents from $-3$ to 3 are laid out with question marks over those not yet computed. From $2^3 = 8$ each step to the left halves the height: 4, 2, then $2^0 = 1$, then $2^{-1} = \frac12$, $2^{-2} = \frac14$ and $2^{-3} = \frac18$. The bars shrink toward zero and never reach it.
Monocurl source
let BX = |n| 0.98 * n
let BASE = -1.4
let HU = 0.36
let Bar = |n| {
    let top = BASE + HU * 2 ^ n
    var lift = 0.3
    if (n < 0) { lift = 0.42 }
    return [
        Shape([[BX(n) - 0.37, BASE, 0], [BX(n) + 0.37, BASE, 0], [BX(n) + 0.37, top, 0], [BX(n) - 0.37, top, 0]], sign_col(n), 0.3, 3),
        center{[BX(n), top + lift, 0]} Math(frac_tex(n), 0.82, sign_col(n))
    ]
}
let Ask = |n| [
    Shape([[BX(n) - 0.37, BASE, 0], [BX(n) + 0.37, BASE, 0], [BX(n) + 0.37, BASE + 0.7, 0], [BX(n) - 0.37, BASE + 0.7, 0]], SLATE, 0.06, 2),
    center{[BX(n), BASE + 0.35, 0]} Math("?", 0.9, SLATE)
]
mesh exps = map(range(-3, 4), |n| center{[BX(n), BASE - 0.38, 0]} Math(pow_tex(n), 0.82))
mesh asks = [Ask(-3), Ask(-2), Ask(-1), Ask(0)]
mesh bars = [Bar(3), Bar(2), Bar(1)]
mesh note = []

slide "halve"
    play Wait(1)
    note = [
        Tip([0.35, 1.25, 0], [-3.2, 1.25, 0], SLATE, 3),
        center{[-1.45, 1.65, 0]} Cap("each step left: half as much", 0.78, SLATE)
    ]
    play Fade(0.6, [&note])
    asks = [Ask(-3), Ask(-2), Ask(-1)]
    play Fade(0.25, [&asks])
    bars .= Bar(0)
    play Fade(0.7, [&bars])
    play Wait(0.4)
    asks = [Ask(-3), Ask(-2)]
    play Fade(0.25, [&asks])
    bars .= Bar(-1)
    play Fade(0.7, [&bars])
    play Wait(0.3)
    asks = [Ask(-3)]
    play Fade(0.25, [&asks])
    bars .= Bar(-2)
    play Fade(0.7, [&bars])
    play Wait(0.3)
    asks = []
    play Fade(0.25, [&asks])
    bars .= Bar(-3)
    play Fade(0.7, [&bars])
    play Wait(2.2)

Uses the shared definitions for this lesson's figures.

The expression $2^3$ means $2 \times 2 \times 2$, three factors of 2. By the same reading $2^0$ should mean “no factors of 2”, and a product with nothing in it sounds as if it ought to be nothing, which is 0. Every textbook and calculator says $2^0 = 1$ instead. It gets stranger: the same sources say $2^{-1} = \frac12$ and $2^{1/2} = \sqrt2$, and nobody can multiply a number by itself minus one times, or half a time.

These look like conventions that someone chose. They are better described as forced moves. There is one rule about exponents that is plainly true for counting numbers, and if we insist that the rule keep working, then $2^0$, $2^{-1}$ and $2^{1/2}$ have no freedom left: each can only be one number.

The pattern: one step left is one division

Start with what repeated multiplication does give us.

$$ 2^1 = 2, \quad 2^2 = 4, \quad 2^3 = 8, \quad 2^4 = 16. $$

Read the list from left to right and each value is double the one before, because raising the exponent by 1 puts in one more factor of 2. Read it from right to left and each value is half the one before. The second reading does not need to stop at $2^1$.

  1. The powers we can compute by multiplying: 2, 4, 8 and 16. What belongs in the empty boxes?
  2. Each step to the right adds 1 to the exponent and multiplies the value by 2.
  3. So each step to the left subtracts 1 from the exponent and divides the value by 2.
  4. One more step left: the exponent is 0 and the value is 2 divided by 2, which is 1.
  5. Keep going. Exponent -1 gives one half, and exponent -2 gives one quarter.
The values of $2^n$ in a row. Each step to the right adds 1 to the exponent and doubles the value, so each step to the left subtracts 1 and halves it. Continuing left from $2^1 = 2$ gives $2^0 = 1$, $2^{-1} = \frac12$ and $2^{-2} = \frac14$.
Monocurl source
let CX = |n| -2.94 + 0.98 * (n + 2)
let Cell = |n| [
    Box([CX(n), 0.75, 0], [0.86, 0.72], sign_col(n), 0.14, 2.5),
    center{[CX(n), 0.75, 0]} Math(pow_tex(n), 0.85),
    Box([CX(n), -0.45, 0], [0.86, 0.9], sign_col(n), 0.28, 2.5),
    center{[CX(n), -0.45, 0]} Math(frac_tex(n), 0.85, sign_col(n))
]
let Up = |n| [
    Tip([CX(n) + 0.12, 1.38, 0], [CX(n + 1) - 0.12, 1.38, 0], AZURE, 2.5, 0.14),
    center{[(CX(n) + CX(n + 1)) / 2, 1.72, 0]} Math("\times 2", 0.74, AZURE)
]
let Down = |n| [
    Tip([CX(n + 1) - 0.12, -1.2, 0], [CX(n) + 0.12, -1.2, 0], EMBER, 2.5, 0.14),
    center{[(CX(n) + CX(n + 1)) / 2, -1.55, 0]} Math("\div 2", 0.74, EMBER)
]
let Ghost = |n| [
    Box([CX(n), 0.75, 0], [0.86, 0.72], SLATE, 0.06, 2),
    center{[CX(n), 0.75, 0]} Math(pow_tex(n), 0.85, SLATE),
    Box([CX(n), -0.45, 0], [0.86, 0.9], SLATE, 0.06, 2),
    center{[CX(n), -0.45, 0]} Math("?", 0.9, SLATE)
]
mesh ghosts = []
mesh cells = []
mesh ups = []
mesh downs = []

slide "The powers we can compute by multiplying: 2, 4, 8 and 16. What belongs in the empty boxes?"
    ghosts = [Ghost(-2), Ghost(-1), Ghost(0)]
    cells = [Cell(1), Cell(2), Cell(3), Cell(4)]
    play Fade(0.7)

slide "Each step to the right adds 1 to the exponent and multiplies the value by 2."
    ups = [Up(1), Up(2), Up(3)]
    play Fade(0.7)

slide "So each step to the left subtracts 1 from the exponent and divides the value by 2."
    downs = [Down(3), Down(2), Down(1)]
    play Fade(0.7)

slide "One more step left: the exponent is 0 and the value is 2 divided by 2, which is 1."
    ghosts = [Ghost(-2), Ghost(-1)]
    play Fade(0.3, [&ghosts])
    cells .= Cell(0)
    downs .= Down(0)
    play Fade(0.7)

slide "Keep going. Exponent -1 gives one half, and exponent -2 gives one quarter."
    ghosts = []
    play Fade(0.3, [&ghosts])
    cells .= Cell(-1)
    cells .= Cell(-2)
    downs .= Down(-1)
    downs .= Down(-2)
    play Fade(0.7)

Uses the shared definitions for this lesson's figures.

Pause and try

Do the same for powers of 3. Starting from $3^3 = 27$, step left three times past $3^1$. What values does the pattern give for $3^0$, $3^{-1}$ and $3^{-2}$?

Show answerHide answer

Each step left divides by 3: $27, 9, 3$, then $3^0 = 1$, $3^{-1} = \frac13$, $3^{-2} = \frac19$. The value at exponent 0 is again 1, because one step left from $3^1 = 3$ is $3 \div 3$.

The pattern suggests $2^0 = 1$, and it suggests that the answer has nothing to do with the base: for any base $a$ other than 0, one step left from $a^1 = a$ is $a \div a = 1$.

You might object that a pattern is only a suggestion. Nothing obliges a sequence to continue the way it began. To turn the suggestion into a reason, we need to know what the pattern is a consequence of.

The rule behind the pattern

Multiply two powers of 2 and count factors.

$$ 2^3 \times 2^2 = (2 \times 2 \times 2) \times (2 \times 2) = 2^5. $$

Three factors followed by two factors is five factors. Nothing more is going on, and the same count works for any base $a$ and any positive whole numbers $m$ and $n$:

$$ a^m \times a^n = a^{m+n}. $$

This rule is what “one step right doubles” comes from, since $2^n \times 2^1 = 2^{n+1}$. It is a fact about counting, so for positive whole exponents it is beyond dispute.

Now suppose we want to give $2^0$ a meaning, and we want the rule to remain true when one of the exponents is 0. Then we are committed to $2^0 \times 2^2 = 2^{0+2} = 2^2$. Step through what that says.

  1. Three factors of 2 times two factors of 2 is five factors of 2. The exponents add: 3 + 2 = 5.
  2. Take one factor out of the first group. Now 2 + 2 = 4 factors, and the product is 16.
  3. Take out another. One factor times two factors is three factors, and the product is 8.
  4. Take out the last one. The first group is empty, the second group is untouched, and the product is 4.
  5. The empty group multiplied by 4 gives 4. Only one number does that, so the empty group is worth 1.
The product $2^m \times 2^2$ drawn as a group of $m$ factors next to a group of 2 factors, for $m = 3, 2, 1, 0$. The exponents add because the factors are counted together. When the first group is empty the product is still $2^2$, so the empty group must act as the number 1.
Monocurl source
let SX = |i| -2.85 + 0.98 * i
let YD = 0.45
let Stage = |m, one| block {
    for (i in range(3 - m, 3)) {
        . Two([SX(i), YD, 0], AZURE, 0.4)
    }
    . center{[SX(3), YD, 0]} Math("\times", 0.9)
    . Two([SX(4), YD, 0], EMBER, 0.4)
    . Two([SX(5), YD, 0], EMBER, 0.4)
    . Under(SX(4) - 0.42, SX(5) + 0.42, -0.2, "2 factors", EMBER)
    if (m > 0) {
        var word = " factors"
        if (m == 1) { word = " factor" }
        . Under(SX(3 - m) - 0.42, SX(2) + 0.42, -0.2, str_join([to_string(m), word]), AZURE)
        . Under(SX(3 - m) - 0.42, SX(5) + 0.42, -1.1, str_join([to_string(m + 2), " factors in all"]), INK)
    }
    if (m == 0) {
        . Box([SX(2), YD, 0], [0.8, 0.8], AZURE, 0.06, 2)
        . center{[SX(1) - 0.3, YD, 0]} Cap("no factors", 0.78, AZURE)
        if (one == 1) {
            . center{[SX(2), YD, 0]} Math("1", 0.95, LEAF)
        }
    }
    . center{[0, 1.6, 0]} Math(str_join([pow_tex(m), " \times 2^{2} = ", pow_tex(m + 2), " = ", to_string(2 ^ (m + 2))]), 1.05)
    . center{[3.2, YD, 0]} Math(str_join(["= ", to_string(2 ^ (m + 2))]), 1.0)
}
mesh stage = []
mesh verdict = []

slide "Three factors of 2 times two factors of 2 is five factors of 2. The exponents add: 3 + 2 = 5."
    stage = Stage(3, 0)
    play Fade(0.7)

slide "Take one factor out of the first group. Now 2 + 2 = 4 factors, and the product is 16."
    stage = []
    play Fade(0.3)
    stage = Stage(2, 0)
    play Fade(0.5)

slide "Take out another. One factor times two factors is three factors, and the product is 8."
    stage = []
    play Fade(0.3)
    stage = Stage(1, 0)
    play Fade(0.5)

slide "Take out the last one. The first group is empty, the second group is untouched, and the product is 4."
    stage = []
    play Fade(0.3)
    stage = Stage(0, 0)
    play Fade(0.5)

slide "The empty group multiplied by 4 gives 4. Only one number does that, so the empty group is worth 1."
    stage = Stage(0, 1)
    verdict = center{[0, -1.3, 0]} Math("2^0 = 1", 1.25, LEAF)
    play Fade(0.7)

Uses the shared definitions for this lesson's figures.

The rule demands $2^0 \times 4 = 4$. Divide both sides by 4 and $2^0 = 1$. The guess $2^0 = 0$ fails this test immediately: it would make $2^0 \times 4 = 0$, not 4.

The picture also repairs the intuition that went wrong at the start. “No factors” does mean that nothing has been multiplied in. But multiplying nothing in leaves a product unchanged, and the number that leaves products unchanged is 1, not 0. Zero is what you get from adding nothing. It helps to read $2^n$ as “start at 1 and multiply by 2, $n$ times”. Zero times leaves you at the start.

Pause and try

Use the rule $a^m \times a^n = a^{m+n}$ to decide what $2^{-3}$ has to be. (Choose a second exponent that makes the sum something you already know.)

Show answerHide answer

Pair $-3$ with $3$: the rule requires $2^{-3} \times 2^3 = 2^{-3+3} = 2^0 = 1$. So $2^{-3} \times 8 = 1$, and $2^{-3} = \frac18$. This agrees with stepping left three times from 1 in the pattern.

The argument in that answer works in general. If the rule is to hold, then $a^{-n} \times a^n = a^0 = 1$, so $a^{-n}$ must be the number that multiplies $a^n$ to give 1, namely $\frac{1}{a^n}$. A negative exponent has nothing to do with negative numbers. It counts divisions: start at 1 and divide by $a$, $n$ times.

The condition $a \ne 0$ is there because $\frac{1}{0^n}$ would be a division by zero. We have shown that these are the only definitions compatible with the rule. That is half of what we need. The other half is that with these definitions the rule really does hold, in every combination of signs, and that requires a proof.

A power of a power

One more counting fact will be needed. What is $(2^5)^3$?

The power (2^5)^3 written out. It is three copies of 2^5 multiplied together, and each copy is a row of five factors of 2, so there are 3 \times 5 = 15 factors in all: (2^5)^3 = 2^{15}.
The power $(2^5)^3$ written out. It is three copies of $2^5$ multiplied together, and each copy is a row of five factors of 2, so there are $3 \times 5 = 15$ factors in all: $(2^5)^3 = 2^{15}$.
Monocurl source
let ROWS = 3
let COLS = 5
let GX = |j| -3.3 + 0.92 * j
let GY = |i| 1.0 - 0.95 * i
mesh factors = block {
    for (i in range(0, ROWS)) {
        for (j in range(0, COLS)) {
            . Two([GX(j), GY(i), 0], AZURE, 0.36)
        }
        . center{[GX(COLS) + 0.1, GY(i), 0]} Math(str_join(["= ", pow_tex(COLS)]), 0.9, AZURE)
    }
}
mesh notes = [
    Under(GX(0) - 0.4, GX(COLS - 1) + 0.4, GY(ROWS - 1) - 0.55, str_join([to_string(ROWS), " rows of ", to_string(COLS), " factors"]), SLATE),
    center{[2.85, 0.5, 0]} Math(str_join(["(2^{", to_string(COLS), "})^{", to_string(ROWS), "}"]), 1.1),
    center{[2.85, -0.3, 0]} Math(str_join(["= 2^{", to_string(ROWS), " \times ", to_string(COLS), "}"]), 1.1),
    center{[2.85, -1.1, 0]} Math(str_join(["= 2^{", to_string(ROWS * COLS), "}"]), 1.1, LEAF)
]

Uses the shared definitions for this lesson's figures.

It is three rows of five factors, fifteen in all. In general, for positive integers $m$ and $n$, $(a^m)^n$ is $n$ rows of $m$ factors, so

$$ (a^m)^n = a^{mn}. $$

For $a \ne 0$ this extends to all integers $m$ and $n$ by going through the signs one case at a time with the definitions above. One case shows the pattern, $(a^m)^{-n} = \frac{1}{(a^m)^n} = \frac{1}{a^{mn}} = a^{-mn}$ for positive $m$ and $n$, and we leave the others as an exercise.

Half a step: what the exponent 1/2 has to be

Now the harder question. A colony of bacteria doubles every hour, so after $t$ hours it is $2^t$ times its present size. After 3 hours, 8 times. At $t = 0$, which is now, 1 times. One hour ago, at $t = -1$, half. The definitions so far match the story at every whole number of hours. But the colony does not grow in hourly jumps. What is it multiplied by in half an hour?

Pause and try

Call the half-hour factor $f$. Growing for half an hour and then another half hour is growing for one hour. Write that as an equation for $f$. Is $f = 1.5$, the number halfway between 1 and 2, a solution? Find $f$ to two decimal places by trial.

Show answerHide answer

Two half-hours multiply the colony by $f$ and then by $f$ again, and the total must be a doubling: $f \times f = 2$. The guess $1.5$ gives $1.5 \times 1.5 = 2.25$, too much. Trying smaller values: $1.4^2 = 1.96$ (too little), $1.41^2 = 1.9881$ (too little), $1.42^2 = 2.0164$ (too much). So $f$ is between 1.41 and 1.42. The exact value is $\sqrt2 = 1.41421\ldots$

  1. In one hour the colony is multiplied by 2: from size 1 to size 2.
  2. Guess that half an hour multiplies by 1.5. Two such steps reach 2.25, which is past 2.
  3. Try 1.4 instead. Two steps reach 1.96, which is short of 2.
  4. The factor that works is the positive number whose square is 2, about 1.414.
Finding the factor for half an hour of growth on a number line from 1 to 2.25. One hour multiplies by 2. Two half-hour steps of 1.5 overshoot to 2.25, two steps of 1.4 fall short at 1.96, and two steps of $\sqrt2 \approx 1.414$ land exactly on 2.
Monocurl source
let P = |v| -3.35 + (v - 1) * 4.7
let LY = -0.9
let Hop = |a, b, h, col, w = 3.5| stroke{col, w} Polyline(map(sample(0, 1, 28), |u| [P(a) + (P(b) - P(a)) * u, LY + h * sin(PI * u), 0]))
let Pair = |f, ftex, eqtex, col, verdict| [
    Hop(1, f, 0.85, col),
    Hop(f, f * f, 0.85, col),
    Pt([P(f), LY, 0], col, 0.09),
    Pt([P(f * f), LY, 0], col, 0.11),
    center{[(P(1) + P(f)) / 2, LY + 0.3, 0]} Math(str_join(["\times ", ftex]), 0.78, col),
    center{[(P(f) + P(f * f)) / 2, LY + 0.3, 0]} Math(str_join(["\times ", ftex]), 0.78, col),
    center{[1.5, 1.75, 0]} Math(eqtex, 0.95, col),
    center{[2.55, 1.2, 0]} Cap(verdict, 0.78, col)
]
let Guess = |f, col, verdict| Pair(f, to_string(f, 1), str_join([to_string(f, 1), " \times ", to_string(f, 1), " = ", to_string(f * f, 2)]), col, verdict)
mesh line = block {
    . Seg([P(0.94), LY, 0], [P(2.4), LY, 0], SLATE, 2.5)
    for (v in [1, 1.25, 1.5, 1.75, 2, 2.25]) {
        . Seg([P(v), LY - 0.09, 0], [P(v), LY + 0.09, 0], SLATE, 2.5)
    }
    for (v in [1, 1.5, 2]) {
        . center{[P(v), LY - 0.4, 0]} Math(to_string(v, 1), 0.78, SLATE)
    }
    . center{[P(2.25), LY - 0.4, 0]} Math("2.25", 0.78, SLATE)
    . center{[P(1), LY - 0.85, 0]} Note("now", 0.72)
}
mesh hour = []
mesh tries = []

slide "In one hour the colony is multiplied by 2: from size 1 to size 2."
    hour = [
        Hop(1, 2, 2.15, AZURE, 4),
        Pt([P(1), LY, 0], AZURE, 0.1),
        Pt([P(2), LY, 0], AZURE, 0.1),
        center{[P(1.5), LY + 2.45, 0]} Math("\times 2", 0.9, AZURE)
    ]
    play Fade(0.7)

slide "Guess that half an hour multiplies by 1.5. Two such steps reach 2.25, which is past 2."
    tries = Guess(1.5, ROSE, "too far")
    play Fade(0.7)

slide "Try 1.4 instead. Two steps reach 1.96, which is short of 2."
    tries = []
    play Fade(0.3)
    tries = Guess(1.4, ROSE, "too short")
    play Fade(0.6)

slide "The factor that works is the positive number whose square is 2, about 1.414."
    tries = []
    play Fade(0.3)
    tries = Pair(sqrt(2), "\sqrt{2}", "\sqrt{2} \times \sqrt{2} = 2", LEAF, "exactly 2")
    play Fade(0.6)

Uses the shared definitions for this lesson's figures.

The story and the rule say the same thing. If $2^{1/2}$ is to mean anything and the rule is to survive, then

$$ 2^{1/2} \times 2^{1/2} = 2^{\frac12 + \frac12} = 2^1 = 2, $$

so $2^{1/2}$ is a number whose square is 2. There are two such numbers, $\sqrt2$ and $-\sqrt2$, and we take the positive one, as the colony does. The rule leaves no choice in this either: $2^{1/2} = 2^{1/4} \times 2^{1/4}$ would be the square of a real number, and a square is never negative. The same reasoning with three equal steps gives $2^{1/3} \times 2^{1/3} \times 2^{1/3} = 2$, so $2^{1/3}$ is the cube root of 2, and in general $a^{1/n}$ must be an $n$th root of $a$.

Fractions with other numerators follow from the power-of-a-power rule: $\frac{3}{2} = 3 \times \frac12$, so $2^{3/2}$ should be $(2^{1/2})^3 = (\sqrt2)^3 = 2\sqrt2 \approx 2.828$. That is the colony after an hour and a half: one doubling and one half-step.

To make a definition out of this we need to be sure that the root in question exists and that there is only one positive one.

There is something to check before this definition can be trusted. The fractions $\frac12$ and $\frac24$ are the same number, so $a^{1/2}$ and $a^{2/4}$ had better be the same number too, although the definition computes them differently: one is $\sqrt{a}$, the other is $(\sqrt[4]{a})^2$.

The other two laws you may know, $(a^r)^s = a^{rs}$ and $(ab)^r = a^r b^r$ for positive $a$, $b$ and rational $r$, $s$, are true as well. We do not prove them here; the proofs run in the same style, by reducing to integer exponents and using the uniqueness of roots, and Problem 8 does one case.

The curve through all the points

We now have a value of $2^x$ for every rational $x$. Plot them, starting with whole numbers and then adding halves, quarters and eighths.

The points $(x, 2^x)$ for whole-number $x$ from $-3$ to 3, then for multiples of $\frac12$, then $\frac14$, then $\frac18$. The new points fall between the old ones along one smooth rising curve, the graph of $y = 2^x$.
Monocurl source
let fc = Frame(-3.2, 3.2, 0, 8.6, [-0.95, 0.12, 0], 4.5, 3.3)
let Dots = |k, r| map(range(0, 6 * k + 1), |i| Pt(at(fc, -3 + i / k, 2 ^ (-3 + i / k)), AZURE, r))
let Stage = |word, k| [
    center{[2.75, 1.0, 0]} Note("exponents", 0.74),
    center{[2.75, 0.5, 0]} Cap(word, 0.8, AZURE),
    center{[2.75, -0.4, 0]} Note("points plotted", 0.74),
    center{[2.75, -0.9, 0]} Math(to_string(6 * k + 1), 1.0)
]
mesh grid = GridLines(fc, [-3, -2, -1, 1, 2, 3], [1, 2, 4, 6, 8])
mesh axes = [
    Axes(fc, "x"),
    XTicks(fc, [-3, -2, -1, 1, 2, 3]),
    center{[fx(fc, 0) + 0.3, fy(fc, 2), 0]} Math("2", 0.72, SLATE),
    center{[fx(fc, 0) + 0.3, fy(fc, 4), 0]} Math("4", 0.72, SLATE),
    center{[fx(fc, 0) + 0.3, fy(fc, 8), 0]} Math("8", 0.72, SLATE),
    center{[fx(fc, 0) - 0.55, fy(fc, 8.6) + 0.15, 0]} Math("2^x", 0.85, SLATE)
]
mesh curve = []
mesh dots = Dots(1, 0.09)
mesh stage = Stage("whole numbers", 1)

slide "fill"
    play Wait(1.2)
    stage = []
    play Fade(0.3, [&stage])
    dots = Dots(2, 0.075)
    stage = Stage("halves", 2)
    play Fade(0.7)
    play Wait(0.9)
    stage = []
    play Fade(0.3, [&stage])
    dots = Dots(4, 0.06)
    stage = Stage("quarters", 4)
    play Fade(0.7)
    play Wait(0.9)
    stage = []
    play Fade(0.3, [&stage])
    dots = Dots(8, 0.05)
    stage = Stage("eighths", 8)
    play Fade(0.7)
    play Wait(0.9)
    curve = Graph(fc, two_to, -3, 3, AZURE, 3)
    play Write(1.2, [&curve])
    play Wait(1.8)

Uses the shared definitions for this lesson's figures.

The points do not scatter. In the picture each new batch lands between its neighbors, and together they trace a curve that rises from left to right, passes through $(0, 1)$, and flattens toward the horizontal axis on the left without touching it, since no power of 2 is zero or negative.

That curve has points above irrational values of $x$ as well, such as $x = \sqrt2$ or $x = \pi$, where no fraction is available. The value there is defined as the number that the values at nearby rational exponents close in on: $2^{1.4}, 2^{1.41}, 2^{1.414}, \dots$ approach a single number, about $2.665$, and that number is called $2^{\sqrt2}$. Showing that this always works, and that the rule $a^x a^y = a^{x+y}$ survives, again uses the completeness of the real numbers, and we take it on trust here.

Worked examples

The size N(t) = 500 \times 2^{t/3} of a colony that doubles every 3 hours. Marked points: 250 three hours ago, 500 now, about 707 after 1.5 hours, 1000 after 3 hours, about 1414 after 4.5 hours and 2000 after 6 hours.
The size $N(t) = 500 \times 2^{t/3}$ of a colony that doubles every 3 hours. Marked points: 250 three hours ago, 500 now, about 707 after 1.5 hours, 1000 after 3 hours, about 1414 after 4.5 hours and 2000 after 6 hours.
Monocurl source
let fg = Frame(-4, 7, 0, 2350, [0.3, 0.2, 0], 5.9, 3.2)
let N = |t| 500 * 2 ^ (t / 3)
mesh grid = GridLines(fg, [-3, 0, 3, 6], [500, 1000, 1500, 2000])
mesh axes = block {
    . Tip(at(fg, -4, 0), [fx(fg, 7) + 0.25, fy(fg, 0), 0], SLATE, 2.5, 0.15)
    . Tip(at(fg, -4, 0), [fx(fg, -4), fy(fg, 2350) + 0.2, 0], SLATE, 2.5, 0.15)
    for (t in [-3, 0, 3, 6]) {
        . Seg([fx(fg, t), fy(fg, 0) - 0.07, 0], [fx(fg, t), fy(fg, 0) + 0.07, 0], SLATE, 2)
        . center{[fx(fg, t), fy(fg, 0) - 0.33, 0]} Math(to_string(t), 0.75, SLATE)
    }
    for (v in [500, 1000, 1500, 2000]) {
        . center{[fx(fg, -4) - 0.48, fy(fg, v), 0]} Math(to_string(v), 0.72, SLATE)
    }
    . center{[fx(fg, 7) - 0.8, fy(fg, 0) - 0.7, 0]} Note("hours from now", 0.72)
    . center{[fx(fg, -4) + 0.75, fy(fg, 2350) + 0.1, 0]} Note("bacteria", 0.72)
}
mesh curve = Graph(fg, N, -4, 6.6)
mesh marks = block {
    for (t in [-3, 0, 1.5, 3, 4.5, 6]) {
        var col = AZURE
        if (t == 1.5 or t == 4.5) { col = EMBER }
        . Pt(at(fg, t, N(t)), col, 0.1)
        var dx = -0.45
        var dy = 0.34
        if (t < 0) {
            dx = 0.48
            dy = -0.17
        }
        if (t == 1.5) { dy = 0.2 }
        . center{[fx(fg, t) + dx, fy(fg, N(t)) + dy, 0]} Math(to_string(N(t), 0), 0.8, col)
    }
}

Uses the shared definitions for this lesson's figures.

Where the rules stop

Each extension came with a condition, and each condition is needed.

Zero as a base. $0^n = 0$ for every positive integer $n$, but $0^{-1}$ would be $\frac10$, which is undefined. And $0^0$ is pulled two ways: the pattern $a^0 = 1$ says 1, and the pattern $0^n = 0$ says 0. The argument that forced $a^0 = 1$ divided by a power of $a$, which is not possible when $a = 0$, so the rule gives no verdict. In algebra and in counting problems $0^0$ is taken to be 1 by convention, because formulas then come out right: a polynomial’s constant term $c$ is written $c\,x^0$, and that should still equal $c$ at $x = 0$. In calculus $0^0$ is left undefined, because expressions in which the base and the exponent both shrink toward 0 can approach different values depending on how they shrink.

Negative bases. Integer powers of negative numbers are fine: $(-2)^3 = -8$ and $(-2)^{-2} = \frac14$. Fractional powers are not. No real number squares to $-4$, so $(-4)^{1/2}$ is not a real number. Even where a root exists the rules break. The cube root of $-8$ is $-2$, so one would like $(-8)^{1/3} = -2$. But $\frac13 = \frac26$, and computing $(-8)^{2/6}$ as the sixth root of $(-8)^2 = 64$ gives $+2$, while the definition’s own order, the sixth root first, has nothing to work with, since no real number has sixth power $-8$. Two ways of writing the same exponent give different answers, which is exactly what part (i) of the theorem rules out for positive bases. This is why fractional exponents are defined only for $a > 0$.

Common mistakes

Stepping back

The difficulty at the start was that “multiply $a$ by itself $n$ times” has no meaning unless $n$ is a positive whole number. We did not look for a cleverer reading of that phrase. We found the one property of powers that everything else depends on, $a^m \times a^n = a^{m+n}$, and asked what each new kind of exponent would have to be for that property to survive. Each time there was only one candidate, and each time we then proved that the candidate works.

This way of extending an idea, keep the law and let it tell you the definition, is one of the most common moves in mathematics. It is how the product of two negative numbers is decided, and it is how exponents are extended once more, to complex numbers, in the lesson on Euler’s formula. The rule itself turns multiplication into addition of exponents, which is the idea behind logarithms.

Check yourself

What is $9^{-1/2}$?

Problems

Problem 1

Evaluate: (a) $5^0$, (b) $2^{-4}$, (c) $\left(\frac13\right)^{-2}$, (d) $10^{-3}$.

Show solutionHide solution

(a) $5^0 = 1$.

(b) $2^{-4} = \frac{1}{2^4} = \frac{1}{16}$.

(c) $\left(\frac13\right)^{-2} = \frac{1}{(1/3)^2} = \frac{1}{1/9} = 9$. A negative exponent on a fraction turns it upside down.

(d) $10^{-3} = \frac{1}{1000} = 0.001$.

Problem 2

Evaluate: (a) $16^{1/2}$, (b) $27^{2/3}$, (c) $16^{-3/4}$, (d) $32^{0.4}$.

Show solutionHide solution

(a) The positive number whose square is 16 is 4.

(b) $27^{1/3} = 3$ because $3^3 = 27$, so $27^{2/3} = 3^2 = 9$.

(c) $16^{1/4} = 2$ because $2^4 = 16$, so $16^{-3/4} = 2^{-3} = \frac18$.

(d) $0.4 = \frac25$, and $32^{1/5} = 2$ because $2^5 = 32$. So $32^{0.4} = 2^2 = 4$.

Problem 3

Simplify, writing the answer without negative exponents: (a) $(x^2y^{-3})(x^{-5}y)$ for nonzero $x, y$; (b) $(a^4)^{1/2} \cdot a^{-3}$ for $a > 0$.

Show solutionHide solution

(a) Collect the powers of each base and add exponents: $x^{2 + (-5)}\,y^{-3 + 1} = x^{-3}y^{-2} = \dfrac{1}{x^3y^2}$.

(b) $(a^4)^{1/2}$ is the positive number whose square is $a^4$, and that is $a^2$, since $a^2 > 0$ and $(a^2)^2 = a^4$. Then $a^2 \cdot a^{-3} = a^{-1} = \dfrac1a$.

Problem 4

Our way of writing numbers uses powers of ten. (a) Continue the pattern of place values $10^2, 10^1, \dots$ two more steps and use it to write $4.07$ as a sum of digits times powers of 10. (b) Write $0.00032$ in the form $3.2 \times 10^n$.

Show solutionHide solution

(a) Each place is worth a tenth of the place to its left: $10^2 = 100$, $10^1 = 10$, $10^0 = 1$, $10^{-1} = \frac{1}{10}$, $10^{-2} = \frac{1}{100}$. So the units place is the $10^0$ place, and

$$ 4.07 = 4 \times 10^0 + 0 \times 10^{-1} + 7 \times 10^{-2}. $$

(b) Moving the decimal point one place to the left divides by 10, which lowers the exponent by 1. To get from $3.2$ to $0.00032$ the point moves 4 places left, so $0.00032 = 3.2 \times 10^{-4}$. Check: $3.2 \times \frac{1}{10000} = 0.00032$.

Problem 5

A dose of a medicine leaves 80 mg in the bloodstream now, and the amount halves every 6 hours. (a) Write a formula for the amount $A(t)$ in mg after $t$ hours. (b) Find the amount after 12 hours and after 3 hours. (c) What does the formula give for $t = -6$, and what does that mean?

Show solutionHide solution

(a) Each 6 hours multiplies the amount by $\frac12 = 2^{-1}$, and $t$ hours is $\frac{t}{6}$ such periods: $A(t) = 80 \times 2^{-t/6}$.

(b) $A(12) = 80 \times 2^{-2} = 20$ mg. $A(3) = 80 \times 2^{-1/2} = \frac{80}{\sqrt2} \approx 56.6$ mg. This is less than 60, the value halfway between 80 and 40, because the amount falls faster early in each halving period.

(c) $A(-6) = 80 \times 2^{1} = 160$ mg. Six hours ago there was twice as much, provided the dose had already been given by then.

Problem 6

Without a calculator, decide which is larger: (a) $2^{3/2}$ or $3$; (b) $2^{1/2}$ or $3^{1/3}$.

Show solutionHide solution

For positive numbers, the larger number has the larger $n$th power (this was the “at most one” step in the proof about roots). So compare suitable powers.

(a) Square both: $(2^{3/2})^2 = 2^3 = 8$ and $3^2 = 9$. Since $8 < 9$, $2^{3/2} < 3$. (Indeed $2^{3/2} = 2\sqrt2 \approx 2.83$.)

(b) Raise both to the 6th power, which clears both roots: $(2^{1/2})^6 = 2^3 = 8$ and $(3^{1/3})^6 = 3^2 = 9$. Since $8 < 9$, $2^{1/2} < 3^{1/3}$. (They are about $1.414$ and $1.442$.)

Problem 7

Find the error in this argument. “$-1 = (-1)^1 = (-1)^{2/2} = \left((-1)^2\right)^{1/2} = 1^{1/2} = 1$, so $-1 = 1$.”

Show solutionHide solution

The first two equalities are harmless, and so is the last: $1^{1/2} = 1$. The false step is $(-1)^{2/2} = \left((-1)^2\right)^{1/2}$. It uses the law $(a^r)^s = a^{rs}$ with $a = -1$, $r = 2$ and $s = \frac12$, and it rewrites the exponent $1$ as $\frac22$. Both the law for fractional exponents and the fact that the value does not depend on how the fraction is written were established only for a positive base, and their proofs used the uniqueness of the positive root. For $a = -1$ the number $(-1)^2 = 1$ has two square roots, $1$ and $-1$, and the step silently replaces one by the other.

Problem 8

Let $a$ and $b$ be positive real numbers and $n$ a positive integer. (a) Prove that $(ab)^{1/n} = a^{1/n}\,b^{1/n}$. (b) Use this to write $\sqrt{12}$ as a whole number times $\sqrt3$.

Show solutionHide solution

(a) Let $c = a^{1/n}$ and $d = b^{1/n}$, so $c$ and $d$ are positive, $c^n = a$ and $d^n = b$. The product $cd$ is positive, and its $n$th power is $n$ factors of $cd$, which can be reordered as $n$ factors of $c$ times $n$ factors of $d$:

$$ (cd)^n = c^n d^n = ab. $$

So $cd$ is a positive number whose $n$th power is $ab$. There is only one such number, and by definition it is $(ab)^{1/n}$. Hence $(ab)^{1/n} = cd = a^{1/n}b^{1/n}$.

(b) $\sqrt{12} = (4 \times 3)^{1/2} = 4^{1/2} \times 3^{1/2} = 2\sqrt3$. Check by squaring: $(2\sqrt3)^2 = 4 \times 3 = 12$.

Shared definitions used by this lesson's figures
# house kit: prepended to every essay figure after the std imports

# palette. AZURE and EMBER are the two actors, LEAF marks an answer, ROSE a problem
let PAPER = [1, 1, 1, 1]
let INK = [0.08, 0.09, 0.11, 1]
let SLATE = [0.40, 0.44, 0.50, 1]
let MIST = [0.85, 0.86, 0.88, 1]
let AZURE = [0.13, 0.42, 0.68, 1]
let EMBER = [0.89, 0.42, 0.12, 1]
let LEAF = [0.13, 0.55, 0.36, 1]
let ROSE = [0.78, 0.22, 0.24, 1]
let PLUM = [0.47, 0.30, 0.66, 1]
let GOLD = [0.85, 0.62, 0.08, 1]

background = PAPER

# an opaque pastel of col; use for fills so overlaps do not darken
let tint = |col, amount = 0.18| [
    1 - (1 - col[0]) * amount,
    1 - (1 - col[1]) * amount,
    1 - (1 - col[2]) * amount,
    1
]

# text: Cap for labels, Note for quiet labels, Math for typeset maths
let Cap = |txt, size = 0.75, col = INK| color{col} Text(txt, size, "Charter")
let Note = |txt, size = 0.65| color{SLATE} Text(txt, size, "Charter")
let Math = |tex, size = 0.9, col = INK| color{col} Tex(tex, size)

# a paper rectangle to sit behind text that crosses lines
let Plate = |pos, size| center{pos} fill{PAPER} stroke{alpha{0} PAPER, 0} Rect(size)

# shapes with fill and stroke both set, so no stray black appears
let Pt = |pos, col = INK, r = 0.075| center{pos} fill{col} stroke{col, 1} Circle(r, 48)
let Ring = |pos, col = INK, r = 0.1, w = 3| center{pos} fill{PAPER} stroke{col, w} Circle(r, 48)
let Seg = |a, b, col = INK, w = 3| stroke{col, w} Line(a, b)
let Path = |pts, col = INK, w = 3| stroke{col, w} Polyline(pts)
let Region = |pts, col| fill{col} stroke{alpha{0} col, 0} Polygon(pts)
let Outline = |pts, col = INK, w = 3| fill{alpha{0} PAPER} stroke{col, w} Polygon(pts)
let Shape = |pts, col, amount = 0.18, w = 3| fill{tint(col, amount)} stroke{col, w} Polygon(pts)
let Disc = |pos, r, col, amount = 0.18, w = 3| center{pos} fill{tint(col, amount)} stroke{col, w} Circle(r, 96)
let Box = |pos, size, col, amount = 0.18, w = 3| center{pos} fill{tint(col, amount)} stroke{col, w} Rect(size)
# a line from a to b ending in a small solid arrowhead
let Tip = |a, b, col = INK, w = 3, head = 0.17| {
    let d = normalize([b[0] - a[0], b[1] - a[1], 0])
    let n = [-d[1], d[0], 0]
    let base = [b[0] - d[0] * head, b[1] - d[1] * head, 0]
    return [
        stroke{col, w} Line(a, base),
        fill{col} stroke{col, 1} Polygon([
            b,
            [base[0] + n[0] * head * 0.42, base[1] + n[1] * head * 0.42, 0],
            [base[0] - n[0] * head * 0.42, base[1] - n[1] * head * 0.42, 0]
        ])
    ]
}

# plots. a frame is [x0, x1, y0, y1, centre, width, height]: a data window and the scene box it fills
let Frame = |x0, x1, y0, y1, c = [0, 0, 0], w = 6.4, h = 3.6| [x0, x1, y0, y1, c, w, h]
let fx = |fr, x| fr[4][0] + (x - (fr[0] + fr[1]) / 2) * fr[5] / (fr[1] - fr[0])
let fy = |fr, y| fr[4][1] + (y - (fr[2] + fr[3]) / 2) * fr[6] / (fr[3] - fr[2])
let at = |fr, x, y| [fx(fr, x), fy(fr, y), 0]

# axes through the data origin (or the nearest edge of the window), with optional names
let Axes = |fr, x_name = "", y_name = "", col = SLATE| {
    let ox = clamp(fr[0], 0, fr[1])
    let oy = clamp(fr[2], 0, fr[3])
    var parts = [
        Tip(at(fr, fr[0], oy), [fx(fr, fr[1]) + 0.25, fy(fr, oy), 0], col, 2.5, 0.15),
        Tip(at(fr, ox, fr[2]), [fx(fr, ox), fy(fr, fr[3]) + 0.25, 0], col, 2.5, 0.15)
    ]
    if (x_name != "") {
        parts .= center{[fx(fr, fr[1]) + 0.5, fy(fr, oy), 0]} Math(x_name, 0.8, col)
    }
    if (y_name != "") {
        parts .= center{[fx(fr, ox), fy(fr, fr[3]) + 0.5, 0]} Math(y_name, 0.8, col)
    }
    return parts
}

# tick marks with numbers at the listed data values
let XTicks = |fr, xs, col = SLATE, places = 0| block {
    let oy = fy(fr, clamp(fr[2], 0, fr[3]))
    for (x in xs) {
        . Seg([fx(fr, x), oy - 0.07, 0], [fx(fr, x), oy + 0.07, 0], col, 2)
        . center{[fx(fr, x), oy - 0.33, 0]} Math(to_string(x, places), 0.72, col)
    }
}
let YTicks = |fr, ys, col = SLATE, places = 0| block {
    let ox = fx(fr, clamp(fr[0], 0, fr[1]))
    for (y in ys) {
        . Seg([ox - 0.07, fy(fr, y), 0], [ox + 0.07, fy(fr, y), 0], col, 2)
        . center{[ox - 0.36, fy(fr, y), 0]} Math(to_string(y, places), 0.72, col)
    }
}

# faint grid lines at the listed data values
let GridLines = |fr, xs, ys, col = MIST| block {
    for (x in xs) {
        . Seg(at(fr, x, fr[2]), at(fr, x, fr[3]), col, 1.5)
    }
    for (y in ys) {
        . Seg(at(fr, fr[0], y), at(fr, fr[1], y), col, 1.5)
    }
}

# the graph of f over [a, b], drawn in the frame. values are clamped to the window
let Graph = |fr, f, a, b, col = AZURE, w = 4, n = 160|
    stroke{col, w} Polyline(map(sample(a, b, n), |x| at(fr, x, clamp(fr[2], f(x), fr[3]))))

# the region between the graph of f and the x axis over [a, b]
let AreaUnder = |fr, f, a, b, col = AZURE, amount = 0.2, n = 80| {
    var pts = [at(fr, a, 0)]
    for (x in sample(a, b, n)) {
        pts .= at(fr, x, clamp(fr[2], f(x), fr[3]))
    }
    pts .= at(fr, b, 0)
    return fill{tint(col, amount)} stroke{alpha{0} col, 0} Polygon(pts)
}

let frac_tex = |n| {
    if (n >= 0) { return to_string(2 ^ n) }
    return str_join(["\frac{1}{", to_string(2 ^ (0 - n)), "}"])
}
let pow_tex = |n| str_join(["2^{", to_string(n), "}"])
let sign_col = |n| {
    if (n > 0) { return AZURE }
    if (n < 0) { return EMBER }
    return LEAF
}
# a disc with a 2 in it: one factor of 2
let Two = |pos, col, r = 0.32| [Disc(pos, r, col, 0.25, 3), center{pos} Math("2", 0.85, col)]
# a bracket under the stretch from x0 to x1 with a label below it
let Under = |x0, x1, y, txt, col| [
    Path([[x0, y + 0.12, 0], [x0, y, 0], [x1, y, 0], [x1, y + 0.12, 0]], col, 2.5),
    center{[(x0 + x1) / 2, y - 0.3, 0]} Cap(txt, 0.74, col)
]
let two_to = |x| 2 ^ x