Skip to content

Why You Cannot Divide by Zero: Granting 0 a Reciprocal Collapses the Number System to a Point

Prerequisite:Why Mathematics Is Hard: Abstraction, Logic, and the Cumulative Wall

Raw
  • The quotient a÷ba \div b is by definition “the number which, multiplied by bb, gives aa”. Returning to this definition makes the ban on division by zero visible through pure computation.
  • When b=0b = 0, anything multiplied by 00 gives only 00. Hence 5÷05 \div 0 has no answer at all, while 0÷00 \div 0 has far too many (every number is an answer).
  • Admitting even a single “reciprocal of 00” forces 1=01 = 0 through the distributive law, and then every number in that world becomes 00. The prohibition is not a moral rule; it is a measure that prevents the system from destroying itself.
  • Looking at the graph of y=1/xy = 1/x: approaching 00 from the right sends us to ++\infty, from the left to -\infty. Since the destination depends on the direction of approach, we cannot “fill in” the value at x=0x = 0 by a limit either.
  • There are escape routes nonetheless: the Riemann sphere, obtained by adjoining exactly one point \infty to the complex numbers; differentiation, which handles limits of the type 0÷00 \div 0; and the computational convention of simply declaring a÷0=0a \div 0 = 0. Each of them settles the matter by reshaping what “division” means.

1. Motivation: why teachers never explain the reason

Section titled “1. Motivation: why teachers never explain the reason”

In primary school we are told “you must not divide by 00”. Ask why, and the answer is usually “that is the rule” or “there is no answer”. In secondary school, whenever a denominator could vanish, the clause “assume x0x \neq 0” is attached in silence, and the reason for avoiding that point is often left unsaid.

As a result, the prohibition tends to be treated as one of mathematics’ arbitrary taboos. Type 1 ÷ 0 = into a calculator and you get Error. A spreadsheet snaps back with #DIV/0!. A program halts with an exception. It looks as though all the machines have agreed on a common story.

The reason, however, is remarkably simple. If we return to the definition of the word “division”, we can check on the spot that the answer to a division by 00 either fails to exist or fails to be determined. Pushing one step further and asking “what happens if we force an answer anyway?” reveals the number system itself falling apart. This article follows both stages, writing out every computation.

Many rules in mathematics have exactly this structure: what looks like an arbitrary edict turns out to be nothing but a consequence of a definition. For practice in reading rules as consequences rather than as items to memorize, see Why mathematics is hard, and in particular what a proof is(Definition 4.1)[Why Mathematics Is Hard]. The procedure of fixing the meaning of a symbol before producing an answer is used in the same form in Is 1 equal to 0.999…?, at the definition of the value of an infinite decimal(Definition 2.2)[Is 1 Equal to 0.999…? Fixing the Meaning of an Infinite Decimal First].

Let us first make the meaning of “division” explicit. Why is 12÷3=412 \div 3 = 4 correct? Because 3×4=123 \times 4 = 12. Division, in other words, is the operation that retraces multiplication backwards.

Definition 2.1Division as the inverse of multiplication

Let aa, bb be real numbers. When the equation

b×x=ab \times x = a

has exactly one solution xx, we write that solution as a÷ba \div b (or ab\dfrac{a}{b}) and call it the quotient of aa by bb. When no solution exists, or when two or more solutions exist, a÷ba \div b is undefined.

The clause “exactly one” deserves emphasis. The symbol a÷ba \div b is a name for a single number. A name whose referent does not exist, or is not unique, cannot function as a name. (The converse situation is harmless: one number may carry several names. That 0.9990.999\ldots and 1.0001.000\ldots are two names for the same number is an example — double representation of decimal expansions(Theorem 6.1)[Is 1 Equal to 0.999…? Fixing the Meaning of an Infinite Decimal First].) The same consideration is why 4\sqrt{4} is defined not as “a number whose square is 44” but as “the non-negative number whose square is 44”.

Definition 2.2Reciprocal

For a real number bb, when there is exactly one real number xx satisfying b×x=1b \times x = 1, we call it the reciprocal of bb and write it b1b^{-1} or 1b\dfrac{1}{b}.

For b0b \neq 0 the reciprocal exists: for instance b=3b = 3 gives x=1/3x = 1/3. Moreover a÷b=a×b1a \div b = a \times b^{-1} holds. Indeed b×(a×b1)=a×(b×b1)=a×1=ab \times (a \times b^{-1}) = a \times (b \times b^{-1}) = a \times 1 = a, so a×b1a \times b^{-1} really is a solution of the equation in Definition 2.1.

3. 5÷05 \div 0 has no solution; 0÷00 \div 0 has a flood of them

Section titled “3. 5÷05 \div 05÷0 has no solution; 0÷00 \div 00÷0 has a flood of them”

Everything hinges on the following lemma. “Anything times 00 is 00” looks self-evident, but it is not a slogan: it is a fact provable from the distributive law.

Lemma 3.1Absorption property of zero

For every real number aa we have a×0=0a \times 0 = 0.

Proof(Lemma 3.1)

Since 00 is the additive identity, 0=0+00 = 0 + 0. Multiplying both sides by aa and using distributivity,

a×0=a×(0+0)=a×0+a×0.a \times 0 = a \times (0 + 0) = a \times 0 + a \times 0 .

Now a×0a \times 0 is a single real number, so its additive inverse (a×0)-(a \times 0) exists. Adding it to both sides of the equation above, the left-hand side becomes

a×0+((a×0))=0,a \times 0 + \bigl(-(a \times 0)\bigr) = 0,

and the right-hand side becomes

a×0+a×0+((a×0))=a×0+0=a×0.a \times 0 + a \times 0 + \bigl(-(a \times 0)\bigr) = a \times 0 + 0 = a \times 0 .

Therefore 0=a×00 = a \times 0.

What this lemma says is that inside multiplication, 00 is a black hole: whatever we throw in, only 00 comes out. Retracing that operation backwards is therefore bound to go wrong.

Proposition 3.2A nonzero number cannot be divided by 0

Let aa be a nonzero real number. Then no real number xx satisfies 0×x=a0 \times x = a. Consequently a÷0a \div 0 is undefined in the sense of Definition 2.1.

Proof(Proposition 3.2)

Suppose some real number xx satisfied 0×x=a0 \times x = a. By commutativity 0×x=x×00 \times x = x \times 0, and applying Lemma 3.1 to xx gives x×0=0x \times 0 = 0. Hence a=0a = 0, contradicting the hypothesis a0a \neq 0. So no such xx exists.

Proposition 3.30 ÷ 0 is indeterminate

The equation 0×x=00 \times x = 0 holds for every real number xx. Hence the solution is not unique, and 0÷00 \div 0 is undefined in the sense of Definition 2.1.

Proof(Proposition 3.3)

For an arbitrary real number xx, commutativity together with Lemma 3.1 gives 0×x=x×0=00 \times x = x \times 0 = 0. Thus the solution set of the equation 0×x=00 \times x = 0 is all of the reals, and in particular contains at least 22 elements (for instance x=0x = 0 and x=1x = 1). Since the solution is not unique, there is no way to decide which number to select as the quotient.

So division by zero fails in two distinct ways. For 5÷05 \div 0 the number of candidates is zero; for 0÷00 \div 0 it is infinite. We call the former “no answer” and the latter “no determined answer (indeterminate)”. Both are equally guilty in that the symbol a÷ba \div b cannot point to a single number.

flowchart TD
A["Look for solutions of b × x = a"] --> B{"Is b ≠ 0?"}
B -- yes --> C["exactly 1 solution<br/>x = a × (1/b)"]
B -- no --> D&#123;"Is a ≠ 0?"&#125;
D -- yes --> E["0 solutions<br/>(the case 5 ÷ 0)"]
D -- no --> F["infinitely many solutions<br/>(the case 0 ÷ 0)"]
How many solutions does a ÷ b have?

Example 3.4Thinking with cookies

12÷312 \div 3 asks: “if 1212 cookies are shared equally among 33 people, how many does each get?” What then is 12÷012 \div 0? “If 1212 cookies are shared among 00 people, how many does each get?” There is nobody, so there is no number of cookies per person to report. Worse, the question of where the 1212 cookies went remains. However many we hand to each of 00 people, the total handed out is 00 cookies, never 1212. This is Proposition 3.2 in everyday language.

By contrast, 0÷00 \div 0 asks: “if 00 cookies are shared among 00 people, how many does each get?” Give 11 cookie to each of 00 people and the total is 00; give 100100 each and the total is still 00. Every answer is consistent. This is Proposition 3.3.

4. Admitting a “reciprocal of 00” collapses the world

Section titled “4. Admitting a “reciprocal of 000” collapses the world”

At this point the persistent reader objects: “If the answer does not exist, why not create it? There was no answer for 1\sqrt{-1} either, and we invented a new number ii.”

This is a good objection. Mathematics has in fact expanded the number system by exactly that move: negative numbers because subtraction failed, fractions because division failed, imaginary numbers because x2=1x^2 = -1 had no solution. Why not create, by the same move, “a new number \infty satisfying 0×=10 \times \infty = 1”?

The answer is: “You can create it, but then you must give up one of the laws of arithmetic.” The following theorem shows how large the price is.

Theorem 4.1Giving zero an inverse collapses everything

Let KK be a set on which addition, subtraction and multiplication are defined, which has an additive identity 00 and a multiplicative identity 11, and in which associativity, commutativity and distributivity hold (a commutative ring). If some element ee of KK satisfies

0×e=1,0 \times e = 1 ,

then every element of KK equals 00. That is, K={0}K = \{0\}, and in particular 1=01 = 0.

Proof(Theorem 4.1)

By hypothesis 0×e=10 \times e = 1. On the other hand, the proof of Lemma 3.1 used only distributivity and additive inverses, so it goes through verbatim in KK, giving 0×e=00 \times e = 0. The same element equals both 11 and 00, whence

1=0.1 = 0 .

Now take an arbitrary element aa of KK. Using the fact that 11 is the multiplicative identity together with the identity 1=01 = 0 just obtained,

a=a×1=a×0=0a = a \times 1 = a \times 0 = 0

(the last equality is again Lemma 3.1). Since aa was arbitrary, every element of KK is 00.

This result is drastic. Admitting a single reciprocal of 00 turns 11, 22, 7-7 and π\pi all into 00, and the number line collapses to a point. In a world where 00 is the only distinguishable number, equations, functions and graphs all lose their meaning. Nothing broke when we introduced the imaginary unit: the arithmetic of the reals carries over unchanged inside the complex numbers. On the contrary, new relations such as eiθ=cosθ+isinθe^{i\theta} = \cos\theta + i\sin\theta came to light (Euler's formula(Theorem 4.1)[Euler and Ramanujan]). Division by zero is decisively different on this point.

Corollary 4.2No number system contains a reciprocal of 0

In a commutative ring with 010 \neq 1 — the integers, the rationals, the reals, the complex numbers, and the polynomials with real coefficients are all of this kind — there is no element ee satisfying 0×e=10 \times e = 1.

Proof(Corollary 4.2)

If such an element existed, Theorem 4.1 would give 1=01 = 0, contradicting the hypothesis 010 \neq 1.

Remark 4.3

Conversely, there is exactly one system that accepts 1=01 = 0: the zero ring, whose only element is 00. Division by 00 genuinely works there (0÷0=00 \div 0 = 0). But since there is only one number, every computation — not just division — reduces to 0=00 = 0. The price of permitting division by zero is that mathematics falls completely silent.

What concretely goes wrong when the prohibition is violated? Let us look at the famous “proof”.

Example 4.4A fake proof that 1 = 2

Let aa and bb be nonzero real numbers with a=ba = b. Multiplying both sides by aa,

a2=ab.a^2 = ab .

Subtracting b2b^2 from both sides,

a2b2=abb2.a^2 - b^2 = ab - b^2 .

Factoring the left-hand side and taking out bb on the right,

(a+b)(ab)=b(ab).(a+b)(a-b) = b(a-b) .

Dividing both sides by aba - b,

a+b=b.a + b = b .

Since a=ba = b, the left-hand side is 2b2b, so 2b=b2b = b. Dividing both sides by b (0)b\ (\neq 0),

2=1.2 = 1 .

Where is the mistake? We assumed a=ba = b, so ab=0a - b = 0. The single line “divide both sides by aba-b” was precisely an act of dividing by 00. By Proposition 3.2 and Proposition 3.3, that operation has no meaning.

To be more precise: the equation (a+b)(ab)=b(ab)(a+b)(a-b) = b(a-b) is itself correct (both sides are 00); what is wrong is the inference from it to a+b=ba+b = b. Concluding x=yx = y from xc=ycxc = yc is legitimate only when c0c \neq 0, and the justification was that one may multiply both sides by c1c^{-1}. For c=0c = 0 the required c1c^{-1} does not exist (Corollary 4.2).

5. A graphical view: what 1/x1/x does near 00

Section titled “5. A graphical view: what 1/x1/x1/x does near 000”

From the algebraic side the verdict was “no answer, or too many”. From the analytic side — graphs and limits — a different face appears. Let us draw the graph of f(x)=1/xf(x) = 1/x.

xyx = 0 is a “wall”
The graph of y = 1/x. There is not a single point directly above x = 0.

The right branch rises without any ceiling as xx approaches 00. The left branch, approaching 00 likewise, drops through the floor. Let us confirm this numerically.

Example 5.1A table of values of 1/x

Values of 1/x1/x as xx approaches 00.

xx0.10.10.010.010.0010.0010.00010.0001
1/x1/x1010100100100010001000010000
xx0.1-0.10.01-0.010.001-0.0010.0001-0.0001
1/x1/x10-10100-1001000-100010000-10000

Approaching from the right, the values grow arbitrarily large in the ++ direction; approaching from the left, they become arbitrarily small in the - direction. Far from narrowing, the gap between the two widens as xx gets closer to 00. At x=104x = 10^{-4} the difference between the two values is already 2000020000.

Let us pin down “grows arbitrarily large” with a formula rather than intuition. The essential point is that, however large a target value we fix, there is always an xx close enough to 00 to exceed it. (What guarantees that arbitrarily small positive numbers are available is the Archimedean property of the reals — the Archimedean principle(Lemma 3.6)[Is 1 Equal to 0.999…? Fixing the Meaning of an Infinite Decimal First].)

Definition 5.2Divergence to positive infinity

We say that a function g(x)g(x) diverges to positive infinity as x0+x \to 0^{+} (that is, as xx approaches 00 through positive values) if, for every number M>0M > 0 however large, one can choose a corresponding δ>0\delta > 0 such that

0<x<δ    g(x)>M.0 < x < \delta \implies g(x) > M .

In this case we write limx0+g(x)=+\displaystyle\lim_{x \to 0^{+}} g(x) = +\infty. Divergence to negative infinity is defined in the same way, replacing g(x)>Mg(x) > M by g(x)<Mg(x) < -M. For x0x \to 0^{-} (that is, as xx approaches 00 through negative values), replace the condition 0<x<δ0 < x < \delta by δ<x<0-\delta < x < 0.

Proposition 5.3One-sided limits of 1/x

limx0+1x=+,limx01x=.\lim_{x \to 0^{+}} \frac{1}{x} = +\infty, \qquad \lim_{x \to 0^{-}} \frac{1}{x} = -\infty .
Proof(Proposition 5.3)

We prove the first statement. Take M>0M > 0 arbitrarily and set δ=1M\delta = \dfrac{1}{M} (since M>0M > 0, we have δ>0\delta > 0). Suppose 0<x<δ0 < x < \delta. As xx and δ\delta are both positive, multiplying through by the positive number 1xδ\dfrac{1}{x\delta} leaves the inequality direction unchanged:

0<x<δ    1δ<1x,0 < x < \delta \implies \frac{1}{\delta} < \frac{1}{x} ,

that is, 1x>M\dfrac{1}{x} > M. Since MM was arbitrary, the condition of Definition 5.2 is met, and limx0+1/x=+\lim_{x \to 0^{+}} 1/x = +\infty.

The second statement follows because 1/x=1/x1/x = -\,1/|x| for x<0x < 0: applying the first part to x0+|x| \to 0^{+} gives 1/x>M1/|x| > M, that is, 1/x<M1/x < -M.

Corollary 5.4The limit as x tends to 0 does not exist

limx01x\displaystyle\lim_{x \to 0} \frac{1}{x} exists neither as a real number, nor as ++\infty, nor as -\infty.

Proof(Corollary 5.4)

For the limit to exist, the destination when approaching from the right must agree with the destination when approaching from the left. By Proposition 5.3 the former is ++\infty and the latter is -\infty, so they disagree. More concretely, however small we take δ>0\delta > 0 (a narrower interval makes the claim stronger, so we may assume δ1\delta \le 1), the interval 0<x<δ0 < |x| < \delta contains both an xx with 1/x>11/x > 1 (for instance x=δ/2x = \delta/2) and an xx with 1/x<11/x < -1 (for instance x=δ/2x = -\delta/2). Hence the values of 1/x1/x never accumulate at a single place.

Removing x=0x = 0 from the domain of f(x)=1/xf(x) = 1/x is not merely because “the values get too big there”. It is because the destinations disagree depending on the direction of approach, so no assigned value can make the function continuous. Even if we decreed f(0)=42f(0) = 42, the graph would merely leap around 4242 between the value 1000010000 at x=0.0001x = 0.0001 and the value 10000-10000 at x=0.0001x = -0.0001.

5.1. The 0÷00 \div 0 type: “the answer can be anything”

Section titled “5.1. The 0÷00 \div 00÷0 type: “the answer can be anything””

The indeterminacy of 0÷00 \div 0 becomes vividly visible in the language of limits.

Example 5.5Different answers from the same 0 ÷ 0 shape

In each of the following three cases, both numerator and denominator tend to 00 as x0x \to 0. Formally, all three are of the shape "0÷00 \div 0".

limx03xx=limx03=3,limx0x2x=limx0x=0,limx0+xx2=limx0+1x=+.\begin{aligned} \lim_{x \to 0} \frac{3x}{x} &= \lim_{x \to 0} 3 = 3, \\[4pt] \lim_{x \to 0} \frac{x^{2}}{x} &= \lim_{x \to 0} x = 0, \\[4pt] \lim_{x \to 0^{+}} \frac{x}{x^{2}} &= \lim_{x \to 0^{+}} \frac{1}{x} = +\infty . \end{aligned}

Every manipulation above is carried out only in the range x0x \neq 0, which is legitimate because a limit does not ask about the value at x=0x = 0 itself. The last line uses Proposition 5.3.

Depending on the ratio of the “speeds” at which numerator and denominator approach 00, the answer comes out as 33, as 00, or as ++\infty. Choosing coefficients similarly, one can produce any real number (limx0cx/x=c\lim_{x\to 0} cx/x = c). Hence no single value can be assigned to 0÷00 \div 0. This is the analytic version of Proposition 3.3.

So far the story has been one of impossibility. Has mathematics then given up on dividing by 00 forever? Not quite. If we reshape the meaning of division, or of number, we can permit it in a limited way. Here are three representative approaches.

Approach 1: the Riemann sphere. Consider the set C{}\mathbb{C} \cup \{\infty\} obtained from the complex numbers C\mathbb{C} by adjoining exactly one new point \infty, called the point at infinity. Here one declares z/0=z / 0 = \infty for z0z \neq 0, and z/=0z / \infty = 0. There is no conflict with Theorem 4.1, because this set is not a number system in which all four arithmetic operations hold. Indeed +\infty + \infty, \infty - \infty, 0×0 \times \infty, /\infty / \infty, and 0/00/0 are all left undefined. The problem of disagreeing destinations on the left and the right also dissolves: in the complex plane one can approach 00 by circling around it, so ++\infty and -\infty join into the single point \infty. The price paid was the freedom to subtract.

Approach 2: circumvention by limits. As we saw in Example 5.5, an expression of type 0/00/0 acquires a value once a specific mode of approach is prescribed. Differential and integral calculus pursue this policy systematically, and tools such as l’Hôpital’s rule have been developed to handle the 0/00/0 type in an organized fashion. Here one is not “dividing by 00” but “watching where the result of dividing by a number close to 00 goes”. Since the reals contain no “smallest positive number closest to 00” (there are no infinitesimals in the reals(Corollary 5.2)[Is 1 Equal to 0.999…? Fixing the Meaning of an Infinite Decimal First]), tracking such destinations is the only way to approach 00 at all.

Approach 3: declaring a÷0=0a \div 0 = 0 for convenience. Proof assistants such as Isabelle/HOL and Coq, and the integer division of some programming languages, sometimes define a÷0=0a \div 0 = 0. This is an engineering compromise that saves the trouble of writing “undefined when dividing by 00” every time. Even this convention does not conflict with Theorem 4.1: no reciprocal of 00 has been created; the symbol ÷\div has merely been given a two-case meaning, “the quotient if b0b \neq 0, and 00 if b=0b = 0”. What breaks instead is the basic property (a÷b)×b=a(a \div b) \times b = a when b=0b = 0.

Approach 4 (a bonus): floating-point numbers. In the real-number arithmetic of calculators and computers (the IEEE 754 standard), 1.0/0.01.0 / 0.0 returns inf, 1.0/0.0-1.0 / 0.0 returns -inf, and 0.0/0.00.0 / 0.0 returns nan (not a number). This implements, directly as values, the distinction between Proposition 3.2 and Proposition 3.3: infinity for “no solution”, not-a-number for “indeterminate”. It is well designed.

import numpy as np
with np.errstate(divide="ignore", invalid="ignore"):
print(np.float64(1.0) / np.float64(0.0)) # inf
print(np.float64(-1.0) / np.float64(0.0)) # -inf
print(np.float64(0.0) / np.float64(0.0)) # nan
# Integer division raises an exception
try:
1 // 0
except ZeroDivisionError as e:
print("ZeroDivisionError:", e)

nan has the property of being equal to no number whatsoever, so nan == nan evaluates to false. The value itself declares that the answer is undetermined.

Remark 6.1

Historically, attempts to divide by 00 go back a long way. The seventh-century Indian mathematician Brahmagupta, among the earliest to write down systematic rules treating 00 as a number, stated that 0÷0=00 \div 0 = 0 (an error by modern lights). In the twelfth century Bhāskara II took the position that a÷0a \div 0 is an “infinite quantity”, coming close to the idea behind the Riemann sphere. Once 00 ceased to be “nothing” and became a number one computes with, this problem became unavoidable. For the people who made the history of number, see also Famous mathematicians (Ramanujan and Euler); the anecdote about Ramanujan, heir to the same Indian mathematical lineage, is at the story of 1729(Example 6.1)[Euler and Ramanujan].

Exercise 7.1Easy

Returning to Definition 2.1, explain why 6÷06 \div 0 is undefined. Then state how the reason that 0÷00 \div 0 is undefined differs from the reason in the case of 6÷06 \div 0.

Solution

6÷06 \div 0 denotes the solution of the equation 0×x=60 \times x = 6. By Lemma 3.1, 0×x=00 \times x = 0 for every real number xx, so the left-hand side is always 00 and never 66. Hence not a single solution exists, and there is no number for the symbol 6÷06 \div 0 to denote (Proposition 3.2).

0÷00 \div 0 denotes the solution of 0×x=00 \times x = 0, but here every real number xx is a solution (Proposition 3.3). So 6÷06 \div 0 has 00 candidates and “does not exist”, while 0÷00 \div 0 has infinitely many candidates and “is not determined uniquely (is indeterminate)”. Since the definition demands that a solution “exist and be unique”, both fail.

Exercise 7.2Standard

Point out the error in the following “proof”, stating explicitly at which line an illegitimate step is taken and what it is.

“Let x=1x = 1. Then x2=xx^2 = x. Subtracting 11 from both sides gives x21=x1x^2 - 1 = x - 1. Factoring the left-hand side gives (x+1)(x1)=x1(x+1)(x-1) = x-1. Dividing both sides by x1x-1 gives x+1=1x + 1 = 1. Hence x=0x = 0. Since we assumed x=1x = 1, we get 1=01 = 0.”

Solution

The error is the line “dividing both sides by x1x-1”. From the hypothesis x=1x = 1 we have x1=0x - 1 = 0, so this operation amounts to dividing by 00.

In more detail: the equation (x+1)(x1)=x1(x+1)(x-1) = x-1 is correct — substituting x=1x = 1 makes both sides 00. The inference from it to x+1=1x+1 = 1 has the general form ac=bc    a=bac = bc \implies a = b, and that inference is valid only when c0c \neq 0, that is, only when one may multiply both sides by c1c^{-1}. By Corollary 4.2, c=0c = 0 has no reciprocal, so the inference is unavailable for c=0c = 0.

Note that the conclusion 1=01 = 0 of this “proof” is exactly what Theorem 4.1 predicted: allow the operation of dividing by 00 even once, and precisely this equation appears.

Exercise 7.3Standard

Evaluate the following limits. Besides the answers, explain that the intermediate manipulations are not divisions by 00 at x=0x = 0.

(1) limx0x2+3xx,(2) limx0(x+2)24x,(3) limx0+x+1x2.\text{(1)}\ \lim_{x \to 0} \frac{x^{2} + 3x}{x}, \qquad \text{(2)}\ \lim_{x \to 0} \frac{(x+2)^{2} - 4}{x}, \qquad \text{(3)}\ \lim_{x \to 0^{+}} \frac{x + 1}{x^{2}} .
Solution

(1) Factoring the numerator gives x2+3x=x(x+3)x^2 + 3x = x(x+3). In the limit x0x \to 0 we look only at the values passed through on the way to 00, never at x=0x = 0 itself. Hence we may assume x0x \neq 0 and cancel xx:

x2+3xx=x(x+3)x=x+3(x0).\frac{x^{2}+3x}{x} = \frac{x(x+3)}{x} = x + 3 \quad (x \neq 0).

The right-hand side tends to 33 as x0x \to 0, so the answer is 33.

(2) Expanding the numerator gives (x+2)24=x2+4x+44=x2+4x=x(x+4)(x+2)^2 - 4 = x^2 + 4x + 4 - 4 = x^2 + 4x = x(x+4). As in (1), cancel for x0x \neq 0:

(x+2)24x=x+4(x0),\frac{(x+2)^{2}-4}{x} = x + 4 \quad (x \neq 0),

and the limit is 44. (This is precisely the computation of the derivative f(2)=4f'(2) = 4 of f(t)=t2f(t) = t^2 at t=2t = 2.)

(3) The numerator tends to 11 as x0+x \to 0^{+}, while the denominator x2x^2 tends to 00 while staying positive. This is not of type 0/00/0, so no cancellation occurs. Indeed, for 0<x<10 < x < 1 we have x+1>1x + 1 > 1, so

x+1x2>1x2>1x\frac{x+1}{x^{2}} > \frac{1}{x^{2}} > \frac{1}{x}

(the last inequality because x2<xx^2 < x when 0<x<10 < x < 1). By Proposition 5.3 the rightmost expression diverges to ++\infty as x0+x \to 0^{+}, so limx0+x+1x2=+\displaystyle\lim_{x \to 0^{+}} \frac{x+1}{x^{2}} = +\infty.

In all three problems, what was cancelled was a “nonzero number close to 00”, not 00 itself. This is exactly the dividing line between division by zero and limits.

Exercise 7.4Hard

Suppose we adopt the convention introduced in Section 6 of “defining a÷0=0a \div 0 = 0”. Explain why this convention does not conflict with Theorem 4.1, and give one concrete example of a property that is lost in exchange.

Solution

Why there is no conflict. What Theorem 4.1 forbids is the existence, within the set of numbers, of an element ee satisfying 0×e=10 \times e = 1. The convention creates no new number. The set of real numbers is left as it is, and only the symbol ÷\div is given the two-case meaning

a÷b={a×b1(b0)0(b=0).a \div b = \begin{cases} a \times b^{-1} & (b \neq 0) \\ 0 & (b = 0) \end{cases} .

Writing 0÷0=00 \div 0 = 0 is not a claim that the reciprocal of 00 is 00 (were that claimed, we would have 0×0=10 \times 0 = 1, hence 0=10 = 1 by Lemma 3.1, and everything would collapse). Therefore none of the laws of addition, subtraction and multiplication break.

The property lost. The most basic property of division,

(a÷b)×b=a,(a \div b) \times b = a ,

fails for b=0b = 0. Indeed, taking a=1a = 1 and b=0b = 0, the convention gives 1÷0=01 \div 0 = 0, so

(1÷0)×0=0×0=01=a.(1 \div 0) \times 0 = 0 \times 0 = 0 \neq 1 = a .

Likewise ”a÷b=ca \div b = c implies a=c×ba = c \times b” fails. In other words, this ÷\div is no longer the inverse of multiplication in the sense of Definition 2.1. Since using (a÷b)×b=a(a \div b) \times b = a while forgetting to write the condition b0b \neq 0 yields false conclusions, a system adopting this convention retains the responsibility of stating that condition on the side of the theorems. The trouble has not disappeared; it has merely moved.

  • Kazuo Matsuzaka, Daisūkei Nyūmon (Introduction to Algebraic Systems), Iwanami Shoten, 1976 (in Japanese) — the chapters on rings and fields; the standard treatment of the non-existence of an inverse of 00 and of the zero ring.
  • Mitsuo Sugiura, Kaiseki Nyūmon I (Introduction to Analysis I), University of Tokyo Press, 1980 (in Japanese) — Chapter I; rigorous definitions of limits and divergence.
  • Lars V. Ahlfors, Complex Analysis, 3rd ed., McGraw-Hill, 1979 — Chapter 1; the introduction of the Riemann sphere and the point at infinity.
  • Kim Plofker, Mathematics in India, Princeton University Press, 2009 — the treatment of zero by Brahmagupta and Bhāskara II.
  • IEEE Standard for Floating-Point Arithmetic (IEEE 754-2019) — the specification of inf and nan in division.

Appendix: Exceptions or special values — which is better?

Section titled “Appendix: Exceptions or special values — which is better?”

In practical programming, division by zero is handled in two ways. For integer division, many languages throw an exception and stop the computation; for floating-point numbers, the prevailing implementations return inf or nan and carry on. The Python example in the previous section showed the two coexisting inside one language.

Both have their reasons. Stopping with an exception is safe in that it never lets a mistake slip by. A vanishing denominator usually indicates a logical error in the program, so halting on the spot makes the cause easier to locate. Returning nan, on the other hand, comes into its own when a large numerical computation must not be interrupted. If, among a million data points, the denominator vanishes at just one, it is more practical to mark that one point as nan and finish computing all the rest. The nan acts as a tag reading “this value cannot be trusted”, propagating into subsequent computations (any sum or product involving nan is again nan).

What they share is that both refuse to return an ordinary number. If 1/01/0 silently returned 00, that 00 would be indistinguishable from a legitimate result, and the error would spread quietly downstream. What Proposition 3.2 and Proposition 3.3 say is precisely that there is no ordinary number to return. Exceptions and nan alike are simply reporting this mathematical fact honestly, each in its own way.

Report an error in this article ・Operated by: Mugen Giken LLCPricingTermsLegal notice

© 2026 夢現技研合同会社 ・Feeding the text to an LLM is welcome. Code samples are MIT licensed.