# Is 1 Equal to 0.999…? Fixing the Meaning of an Infinite Decimal First

> We examine 0.999… = 1 by first defining what an infinite decimal means, then carry the three classical arguments to completion and explain why intuition rebels.
> https://rikai.mugen-giken.com/en/mathematics/math-columns/one-equals-0-999

## 0. Key points

- The question "is $0.999\ldots$ equal to $1$?" is **not yet a mathematical question**. We must first decide what the symbol $0.999\ldots$ denotes.
- The standard decision is: it denotes the **supremum (equivalently, the limit)** of the sequence of finite decimals $0.9,\ 0.99,\ 0.999,\ \ldots$. Under this convention $0.999\ldots = 1$ **can be proved**. Not an approximation, not a convenience — an equality.
- The three famous arguments (multiplying $1/3$ by $3$; multiplying by $10$ and subtracting; examining the supremum of the partial sums straight from the definition) all reach the correct conclusion, but **they rest on different hidden assumptions**. Bringing those assumptions into the open is the main purpose of this article.
- Intuition rebels for three main reasons: confusing the *process* of approaching indefinitely with the *value* reached; believing there is a "last digit"; and believing that different notation must mean a different number.
- What settles the matter is the **Archimedean property** of the reals (there is no positive number smaller than every positive number). We separate the slogan "the reals have no gaps" into density, completeness and the Archimedean property.

## 1. Motivation: a dispute that never ends

One of the most reliably reproduced mathematical disputes on the internet is this one.

> Is $0.999\ldots$ (with infinitely many $9$s) equal to $1$, or is it "indefinitely close to $1$ but not $1$"?

There is a reason this argument survives year after year: **neither side states what the symbol $0.999\ldots$ means before arguing about it**. Disputing whether two things are equal, when one of the symbols has been given no meaning, cannot be settled. It is like arguing over whether the fruit is delicious without saying which fruit.

What separates mathematics from ordinary argument is that at exactly this point it stops and says: let us first fix what the words mean. What happens when one sets off without a definition appears in the same shape in [Why you must not divide by zero](/en/mathematics/math-columns/division-by-zero). There, fixing what division is (<Ref to="mathematics/math-columns/division-by-zero#def-division" text="division as the inverse of multiplication" />) shows that dividing by $0$ cannot be defined (<Ref to="mathematics/math-columns/division-by-zero#prop-no-solution" text="a nonzero number cannot be divided by 0" />); here, fixing what an infinite decimal is lets us prove an equality. The directions are opposite, but the move is the same.

What is interesting is that even after the meaning has been fixed and the proof read to the end, many people say "I follow it in my head, but it does not sit right." That discomfort is itself worth observing. Research in mathematics education studies the gap between the mental picture a person carries (the *concept image*) and the formal definition (the *concept definition*), and $0.999\ldots$ has served as the standard illustration of that gap for limits (the 1981 paper of Tall and Vinner; see the references). As an experience of betrayed intuition it belongs with the [Monty Hall problem](/en/mathematics/math-columns/monty-hall-problem) (<Ref to="mathematics/math-columns/monty-hall-problem#thm-switch" text="switching wins with probability 2/3" />), right down to the resistance that persists after one has been told the answer.

The article proceeds as follows. We fix the meaning of the symbol (Section 2), carry the three arguments to completion (Section 3), take apart the reasons intuition rebels (Section 4), and finally identify what the phrase "the reals have no gaps" really refers to (Sections 5 and 6).

## 2. Preliminaries: what does the symbol 0.999… denote?

We begin with finite decimals, where nobody objects.

<Definition id="def-finite-decimal" title="Value of a finite decimal">
Let $a_1, a_2, \ldots, a_n$ be integers between $0$ and $9$. The symbol $0.a_1a_2\cdots a_n$ is agreed to denote the finite sum

$$
\sum_{k=1}^{n} a_k \cdot 10^{-k}.
$$
</Definition>

This is mere shorthand. Here $0.999$ means $9/10 + 9/100 + 9/1000$, which computes to $999/1000$. Only finitely many additions occur, so nothing new has happened.

The trouble starts when the $9$s never stop. **Adding infinitely many numbers is an operation that has not yet been defined.** Addition is an operation on two numbers, extended inductively to finitely many. An infinite sum does not exist until we define it. Skip this step, say "the thing you get by adding infinitely many", and the argument is left hanging in mid-air. (For the general convention that defines an infinite sum as the limit of the partial sums, see <Ref to="mathematics/math-columns/famous-mathematicians#def-series" text="the definition of the sum of an infinite series" />.)

So we **decree** the value of an infinite decimal as follows.

<Definition id="def-infinite-decimal" title="Value of an infinite decimal">
For each $k = 1, 2, 3, \ldots$ let $a_k$ be an integer between $0$ and $9$. Put the $n$-th partial sum

$$
s_n = \sum_{k=1}^{n} a_k \cdot 10^{-k}.
$$

The value of the symbol $0.a_1a_2a_3\cdots$ is the **supremum** $\sup S$ of the set $S = \{s_1, s_2, s_3, \ldots\}$, that is, the least of the upper bounds of $S$.
</Definition>

For this definition to mean anything, $\sup S$ must exist as a real number. What guarantees it is the **continuity axiom (existence of suprema)** for the reals. The set $S$ is bounded above by $1$ (since $s_n \le \sum_{k=1}^n 9 \cdot 10^{-k} < 1$) and is nonempty, so the supremum exists. In a world containing only rationals a supremum need not exist (the set $\{x \in \mathbb{Q} : x^2 < 2\}$ has no rational supremum), so this step genuinely uses a property of the reals.

<Remark id="rem-sup-is-limit">
Since $s_1 \le s_2 \le s_3 \le \cdots$ is increasing, $\sup S$ coincides with the limit $\lim_{n \to \infty} s_n$ of the sequence $(s_n)$. Hence <Ref to="def-infinite-decimal" /> may equally be phrased as "the limit of the partial sums", and below we use whichever form is convenient. Recall the definition of the limit: we write $\lim s_n = L$ when for every $\varepsilon > 0$ there is an index $N$ such that $n \ge N$ implies $|s_n - L| < \varepsilon$.
</Remark>

<Aside type="note">
We are free to choose a different definition. Anyone who wishes to define $0.999\ldots$ to be something smaller than $1$ may do so. But they then incur the obligation to say which number system the new object belongs to, how it is added, and how it is compared in size. As Section 6 shows, this costs more than one expects.
</Aside>

## 3. Carrying the three arguments to completion

First we settle the computation on the side of finite decimals.

<Proposition id="prop-partial-sum" title="The finite decimal with n nines">
Let $n \ge 1$ be an integer and let $s_n = \underbrace{0.99\cdots 9}_{n \text{ nines}}$, that is, $s_n = \sum_{k=1}^{n} 9 \cdot 10^{-k}$. Then

$$
s_n = 1 - 10^{-n}.
$$
</Proposition>

<Proof of="prop-partial-sum">
We use the identity $(x - 1)(x^{n-1} + x^{n-2} + \cdots + x + 1) = x^{n} - 1$. Expanding the left-hand side gives $x^n + x^{n-1} + \cdots + x$ minus $x^{n-1} + \cdots + x + 1$; every intermediate term cancels and $x^n - 1$ remains. Substituting $x = 10$,

$$
9 \cdot (10^{n-1} + 10^{n-2} + \cdots + 10 + 1) = 10^{n} - 1.
$$

Dividing both sides by $10^{n}$, the left-hand side becomes

$$
9 \cdot (10^{-1} + 10^{-2} + \cdots + 10^{-n}) = \sum_{k=1}^{n} 9 \cdot 10^{-k} = s_n
$$

(by <Ref to="def-finite-decimal" />), while the right-hand side is $(10^n - 1)/10^n = 1 - 10^{-n}$. Hence $s_n = 1 - 10^{-n}$.
</Proof>

Let us check a case. For $n = 3$ we have $s_3 = 0.999$, and $1 - 10^{-3} = 1 - 0.001 = 0.999$. Correct. The formula reads: "however many $9$s you write down, a gap of exactly $10^{-n}$ from $1$ remains." The gap does remain — **as long as there are finitely many**.

### 3.1. Argument 1: multiply $1/3$ by $3$

This is the one seen most often.

<Proposition id="prop-third" title="Consequence of the expansion of 1/3">
If $0.333\ldots = 1/3$ (with infinitely many $3$s), then $0.999\ldots = 1$.
</Proposition>

<Proof of="prop-third">
Put $t_n = \underbrace{0.33\cdots 3}_{n \text{ threes}}$. Dividing the computation of <Ref to="prop-partial-sum" /> by $3$ gives $t_n = s_n / 3 = (1 - 10^{-n})/3$. By hypothesis $\lim_{n\to\infty} t_n = 1/3$.

On the other hand $s_n = 3 t_n$, so using the fact that limits commute with multiplication by a constant ($\lim c\,t_n = c \lim t_n$),

$$
\lim_{n \to \infty} s_n = \lim_{n \to \infty} 3 t_n = 3 \cdot \frac{1}{3} = 1.
$$

By <Ref to="rem-sup-is-limit" /> this limit is the value of $0.999\ldots$, so $0.999\ldots = 1$.
</Proof>

<Remark id="rem-third-circular">
The argument is correct, but **one should be careful about where its persuasive force comes from**. The equality $0.333\ldots = 1/3$ is an assertion of exactly the same kind as $0.999\ldots = 1$ (both say that the value of an infinite decimal is exactly equal to a certain rational). So this is an argument for **consistency** — if you accept one, accept the other — and not a proof from nothing. If $1/3$ feels safer because long division makes it convincing, that only reflects familiarity with the long-division procedure; logically both stand on the same cliff. As a proof, its entire content is the single fact that limits commute with multiplication by a constant.
</Remark>

### 3.2. Argument 2: multiply by $10$ and subtract

The next most famous runs: put $x = 0.999\ldots$; then $10x = 9.999\ldots$, so $10x - x = 9$ and hence $x = 1$. Three lines. It is fast, but it silently uses the claim that multiplying by $10$ leaves the fractional part in exactly the same shape. Filling in that step gives the following.

<Proposition id="prop-shift" title="The digit-shift argument">
If $x = 0.999\ldots$ is defined in the sense of <Ref to="def-infinite-decimal" />, then $10x = 9 + x$. Consequently $x = 1$.
</Proposition>

<Proof of="prop-shift">
For $s_n = 1 - 10^{-n}$ (<Ref to="prop-partial-sum" />) and $n \ge 2$ we have

$$
10 s_n = 10(1 - 10^{-n}) = 10 - 10^{-(n-1)} = 9 + \bigl(1 - 10^{-(n-1)}\bigr) = 9 + s_{n-1}.
$$

All that was used here is the exponent law $10 \cdot 10^{-n} = 10^{-(n-1)}$ together with <Ref to="prop-partial-sum" /> applied to $n-1$. The identity is the formulaic expression of the obvious fact that multiplying $0.99\cdots9$ ($n$ nines) by $10$ produces $9.99\cdots9$ (with $n-1$ nines after the point).

Now let $n \to \infty$ on both sides. By <Ref to="rem-sup-is-limit" /> we have $\lim s_n = x$, and also $\lim s_{n-1} = x$ (shifting the index by $1$ does not change the limit). Limits are preserved by multiplication by a constant and by addition, so the left-hand side converges to $10x$ and the right-hand side to $9 + x$. Limits are unique, so $10x = 9 + x$, that is $9x = 9$ and $x = 1$.
</Proof>

<Remark id="rem-shift-danger">
It is dangerous to read this argument as "long-division-style subtraction of two infinite decimals". The same gesture applied to $y = \cdots 999$ (an integer with infinitely many $9$s to the left) gives $10y = \cdots 990 = y - 9$ and hence $y = -1$, which does not hold among the ordinary reals. **If one runs the operations formally without first checking that the limit exists, false conclusions arrive without complaint.** In the sense that slipping in one undefined operation can wreck a conclusion arbitrarily, this is the same pattern as the fake proof of $1 = 2$ that conceals a division by $0$ (<Ref to="mathematics/math-columns/division-by-zero#ex-fake-proof" text="the fake proof of 1 = 2" />). The proof above is valid because <Ref to="def-infinite-decimal" /> has already guaranteed that $x$ is an existing real number. Incidentally, there *is* a number system in which $\cdots 999 = -1$ genuinely holds; we come to it in Section 6.
</Remark>

### 3.3. Argument 3: go straight to the definition

The two preceding arguments manipulated $0.999\ldots$ after granting that it exists as a real number. Working straight from the definition gives the following, which is the argument that matters. As preparation we set up one tool, which is also the protagonist of Section 5.

<Lemma id="lem-archimedes" title="Archimedean principle (version for powers of 10)">
For every real $\varepsilon > 0$ there is a natural number $n$ with $10^{-n} < \varepsilon$.
</Lemma>

<Proof of="lem-archimedes">
First we show $10^{n} \ge 1 + 9n$ for every natural number $n$. For $n = 1$ this reads $10 \ge 10$, which holds. Assuming it for $n$,

$$
10^{n+1} = 10 \cdot 10^{n} \ge 10(1 + 9n) = 10 + 90n \ge 10 + 9n = 1 + 9(n+1)
$$

(the second inequality follows from $90n \ge 9n$, i.e. from $81n \ge 0$), so it holds for $n+1$. By induction it holds for every $n$.

Next apply the Archimedean property of the reals (for every real $M$ there is a natural number $n > M$) with $M = 1/(9\varepsilon)$, obtaining a natural number $n$ with $n > 1/(9\varepsilon)$. For this $n$,

$$
10^{n} \ge 1 + 9n > 9n > 9 \cdot \frac{1}{9\varepsilon} = \frac{1}{\varepsilon}
$$

(the leftmost inequality is the one just proved, the next uses $1 > 0$, and the last is $n > 1/(9\varepsilon)$ multiplied by $9$). Since $10^{n}$ and $1/\varepsilon$ are both positive, taking reciprocals reverses the inequality and yields $10^{-n} < \varepsilon$.
</Proof>

<Theorem id="thm-main" title="0.999… = 1">
Let $s_n = \underbrace{0.99\cdots9}_{n \text{ nines}}$ and $S = \{s_1, s_2, s_3, \ldots\}$. If $0.999\ldots = \sup S$ in the sense of <Ref to="def-infinite-decimal" />, then

$$
0.999\ldots = 1.
$$
</Theorem>

<Proof of="thm-main">
We verify in two steps that $1$ is the least of the upper bounds.

**Step 1: $1$ is an upper bound for $S$.** By <Ref to="prop-partial-sum" /> we have $s_n = 1 - 10^{-n}$, and $10^{-n} > 0$, so $s_n < 1$ for every $n$. Hence $1$ is an upper bound for $S$.

**Step 2: no number smaller than $1$ can be an upper bound.** Take any $c < 1$ and put $\varepsilon = 1 - c > 0$. By <Ref to="lem-archimedes" /> there is a natural number $n$ with $10^{-n} < \varepsilon$. For this $n$,

$$
s_n = 1 - 10^{-n} > 1 - \varepsilon = c,
$$

so we have found an element $s_n$ of $S$ exceeding $c$. Hence $c$ is not an upper bound.

Step 1 shows $1$ is an upper bound and Step 2 shows nothing below $1$ is, so the least upper bound is $1$. That is, $\sup S = 1$, i.e. $0.999\ldots = 1$.
</Proof>

The shape of this proof is worth remembering. Showing "the supremum is $L$" always takes two steps: that $L$ is an upper bound (nobody exceeds $L$), and that for any value even slightly below $L$ there is an element reaching past it. Step 2 is precisely what makes $1$ the borderline value.

<Example id="ex-half" title="Computing 0.4999… = 0.5 to the end">
Put $t_n = 0.4\underbrace{99\cdots9}_{n-1 \text{ nines}}$ for $n \ge 2$. Following the definition,

$$
t_n = \frac{4}{10} + \sum_{k=2}^{n} 9 \cdot 10^{-k}
= \frac{4}{10} + \frac{1}{10}\sum_{j=1}^{n-1} 9 \cdot 10^{-j}
= \frac{4}{10} + \frac{1}{10}\bigl(1 - 10^{-(n-1)}\bigr)
$$

(substituting $k = j+1$ and applying <Ref to="prop-partial-sum" /> to $n-1$). Simplifying,

$$
t_n = 0.4 + 0.1 - 10^{-n} = 0.5 - 10^{-n}.
$$

Exactly the same two-step argument as in the proof of <Ref to="thm-main" /> ($0.5$ is an upper bound; no $c < 0.5$ can be one, by <Ref to="lem-archimedes" />) gives $\sup\{t_n\} = 0.5$. So $0.4999\ldots = 0.5$. The equality $0.999\ldots = 1$ is no special accident: the same thing happens for every nonzero finite decimal.
</Example>

<Example id="ex-base-two" title="The same phenomenon in base two">
Consider $0.111\ldots_{(2)}$ in base two. The partial sums are $u_n = \sum_{k=1}^{n} 2^{-k}$, and the same identity as in <Ref to="prop-partial-sum" /> (with $x = 2$) gives $u_n = (2^n - 1)/2^n = 1 - 2^{-n}$. Since $2^{n} \ge 1 + n$ (induction: $2 \ge 2$ for $n=1$, and $2^{n+1} = 2\cdot 2^n \ge 2 + 2n \ge 2 + n$), the quantity $2^{-n}$ becomes arbitrarily small, and exactly the same two-step argument as in <Ref to="thm-main" /> yields $0.111\ldots_{(2)} = 1$. **The phenomenon is not caused by the base $10$.** It is intrinsic to positional notation itself.
</Example>

<Example id="ex-repeating" title="Converting a repeating decimal into a fraction">
We compute $0.363636\ldots$. Grouping two digits at a time, the partial sums are $v_n = \sum_{k=1}^{n} 36 \cdot 100^{-k}$. Putting $x = 100$ in the identity $(x-1)(x^{n-1} + \cdots + x + 1) = x^n - 1$ gives $99(100^{n-1} + \cdots + 1) = 100^n - 1$, so multiplying both sides by $36/(99 \cdot 100^{n})$ yields

$$
v_n = \frac{36}{99} \cdot \frac{100^n - 1}{100^n} = \frac{36}{99}\bigl(1 - 100^{-n}\bigr) = \frac{4}{11}\bigl(1 - 100^{-n}\bigr).
$$

Since $100^{-n} \le 10^{-n}$, <Ref to="lem-archimedes" /> applies and $\sup\{v_n\} = 4/11$. Indeed $4 \div 11 = 0.3636\ldots$, which is consistent. Every repeating decimal can be turned into a fraction by this procedure. Conversely, a non-repeating infinite decimal is irrational.
</Example>

<Figure caption="The logical structure of 0.999… = 1. The stage where the definition is fixed is separate from the stage where something is proved">
<Mermaid code={`flowchart TD
  A["Fix the meaning of the symbol 0.999…"] --> B["Sequence of partial sums 0.9, 0.99, 0.999, …"]
  B --> C["Declare its supremum to be the value (existence of the supremum is the continuity axiom for the reals)"]
  C --> D["Is the supremum 1?"]
  D --> E["1 is an upper bound: every partial sum is below 1"]
  D --> F["No number below 1 is an upper bound: Archimedean principle"]
  E --> G["0.999… = 1"]
  F --> G`} />
</Figure>

## 4. Why does intuition rebel?

If three proofs still fail to convince, the trouble is not with the logic but with the mental picture. Let us take the common sticking points apart one at a time.

**Sticking point 1: "approaching indefinitely" is a process, not a destination.**

When we picture the sequence $0.9,\ 0.99,\ 0.999,\ \ldots$, we watch it the way we watch a film: we see the intermediate stages growing. In every frame of that film a gap from $1$ remains (by <Ref to="prop-partial-sum" />, the gap at frame $n$ is exactly $10^{-n}$). So it feels as though the gap never disappears.

That feeling is correct. **And $0.999\ldots$ is not any frame of that film.** What <Ref to="def-infinite-decimal" /> specified is a single motionless number: the supremum of the whole set of frames. Confusing the film with the place the film is heading is what makes the conversation break down. It is the *sequence* that approaches indefinitely; the number $0.999\ldots$ does not approach anything. Numbers do not move.

**Sticking point 2: "there must be something after the last $9$."**

One often sees the claim $1 - 0.999\ldots = 0.000\ldots1$. Let us read the symbol seriously. Positional notation is a rule assigning, to each natural number $k$, the digit in the $k$-th place (<Ref to="def-infinite-decimal" />). When one writes $0.000\ldots1$, in which place does the $1$ sit?

If the answer is the $m$-th place for a natural number $m$, then the number is $10^{-m}$, a positive number. But by <Ref to="thm-main" /> the difference is $0$, so this is wrong. If the answer is "the very last place, which no natural number labels", then positional notation contains no such place, because the set of natural numbers $\mathbb{N} = \{1, 2, 3, \ldots\}$ has no greatest element. In other words, the symbol $0.000\ldots1$ **merely looks like a decimal; it denotes nothing**.

**Sticking point 3: "different notation must mean a different number."**

This belief runs deep. Nobody objects to $1/2$, $2/4$ and $3/6$ being the same number, nor to $\sqrt{4}$ and $2$ being the same, because a name and the thing it names are different. Yet decimal notation alone somehow feels like the number itself. Presumably that is because decimals have been drilled into us as a computational tool since primary school.

In fact decimal notation is just one more kind of name. And numbers with two names really do exist: that is the theorem on double representations in Section 6.

<Figure caption="No 'gap' comes into view however far we magnify. The band remaining at the right shrinks through 0.1, 0.01, 0.001, and becomes smaller than any positive width">
<svg viewBox="0 0 720 215" width="100%" role="img" aria-label="Three number lines magnified in turn at 0.9, 0.99 and 0.999">
  <g stroke="currentColor" fill="none" stroke-width="1.5">
    <line x1="60" y1="40" x2="660" y2="40" />
    <line x1="60" y1="110" x2="660" y2="110" />
    <line x1="60" y1="180" x2="660" y2="180" />
    <line x1="60" y1="34" x2="60" y2="46" />
    <line x1="600" y1="34" x2="600" y2="46" />
    <line x1="660" y1="34" x2="660" y2="46" />
    <line x1="60" y1="104" x2="60" y2="116" />
    <line x1="600" y1="104" x2="600" y2="116" />
    <line x1="660" y1="104" x2="660" y2="116" />
    <line x1="60" y1="174" x2="60" y2="186" />
    <line x1="600" y1="174" x2="600" y2="186" />
    <line x1="660" y1="174" x2="660" y2="186" />
  </g>
  <g fill="var(--sl-color-accent)" opacity="0.3">
    <rect x="600" y="34" width="60" height="12" />
    <rect x="600" y="104" width="60" height="12" />
    <rect x="600" y="174" width="60" height="12" />
  </g>
  <g stroke="currentColor" fill="none" stroke-width="1" stroke-dasharray="4 4" opacity="0.7">
    <line x1="600" y1="48" x2="60" y2="98" />
    <line x1="660" y1="48" x2="660" y2="98" />
    <line x1="600" y1="118" x2="60" y2="168" />
    <line x1="660" y1="118" x2="660" y2="168" />
  </g>
  <g fill="currentColor" font-size="13" text-anchor="middle">
    <text x="60" y="24">0</text>
    <text x="600" y="24">0.9</text>
    <text x="668" y="24" text-anchor="start">1</text>
    <text x="60" y="134">0.9</text>
    <text x="600" y="134">0.99</text>
    <text x="668" y="134" text-anchor="start">1</text>
    <text x="60" y="204">0.99</text>
    <text x="600" y="204">0.999</text>
    <text x="668" y="204" text-anchor="start">1</text>
  </g>
</svg>
</Figure>

## 5. What exactly does "the reals have no gaps" mean?

One often hears that "in the reals there is no room between $0.999\ldots$ and $1$". Three assertions of quite different character are mixed into this "no room". Let us separate them.

<Theorem id="thm-between" title="Between two distinct reals there is another real">
If real numbers $a, b$ satisfy $a < b$, then there is a real number $c$ with $a < c < b$. Indeed $c = (a+b)/2$ satisfies the condition.
</Theorem>

<Proof of="thm-between">
Put $c = (a+b)/2$. Adding $a$ to both sides of $a < b$ gives $2a < a + b$, and dividing by $2$ gives $a < c$. Likewise, adding $b$ to both sides of $a < b$ gives $a + b < 2b$, and dividing by $2$ gives $c < b$. Hence $a < c < b$. All that was used is the compatibility of the order with the arithmetic operations (one may add the same number to both sides of an inequality, and divide by a positive number).
</Proof>

This property is called **density**. It yields an alternative proof of <Ref to="thm-main" />. If $0.999\ldots < 1$, there would be a real $c$ between them. That $c$ would be larger than every $s_n$ (since $s_n \le 0.999\ldots < c$) and smaller than $1$. But Step 2 in the proof of <Ref to="thm-main" /> showed that no number below $1$ can be an upper bound for $S$. Contradiction. Hence the challenge "name a number in between" has no answer in principle.

But density alone is not enough. In fact **the rationals alone are already dense** (if $a, b$ are rational, so is $(a+b)/2$). Even so the rationals have a hole where $\sqrt{2}$ should be. Being dense and having no holes are different things.

What is really doing the work is the property behind <Ref to="lem-archimedes" />.

<Corollary id="cor-no-infinitesimal" title="There are no infinitesimals among the reals">
No real number $\delta$ satisfies "$\delta > 0$ and $\delta < 1/n$ for every natural number $n$".
</Corollary>

<Proof of="cor-no-infinitesimal">
Suppose such a $\delta > 0$ existed. Applying <Ref to="lem-archimedes" /> with $\varepsilon = \delta$, we obtain a natural number $n_0$ with $10^{-n_0} < \delta$.

On the other hand $N = 10^{n_0}$ is itself a natural number, so the hypothesis "$\delta < 1/n$ for every natural number $n$" may be applied with $n = N$, giving

$$
\delta < \frac{1}{10^{n_0}} = 10^{-n_0}.
$$

Combined with $10^{-n_0} < \delta$ this gives $\delta < \delta$, a contradiction. Hence no such $\delta$ exists.
</Proof>

The cast is now complete. Let us tabulate the three properties.

| Property | Content | Rationals $\mathbb{Q}$ | Reals $\mathbb{R}$ | Role in $0.999\ldots = 1$ |
|---|---|---|---|---|
| Density | Between two distinct numbers lies another | Holds | Holds | Blocks the objection "produce the number in between" |
| Archimedean property | No infinitesimals exist (<Ref to="cor-no-infinitesimal" />) | Holds | Holds | **Decides the equality**: nothing below $1$ is an upper bound |
| Completeness | Every set bounded above has a supremum | Fails | Holds | **Gives the symbol $0.999\ldots$ a value** |

<Remark id="rem-which-axiom">
The point to take from the table is this. The equality $0.999\ldots = 1$ itself actually holds within the rationals (both the partial sums and the limit are rational). Completeness is needed not for the proof of the equality but one step earlier, **where we assert that a symbol with infinitely many $9$s may be assigned a number at all**. The explanation "$0.999\ldots = 1$ because the reals are continuous" is therefore near the mark without hitting it. The Archimedean property decides the equality; completeness gives the symbol its meaning.
</Remark>

## 6. Is there a way out? Double representations and worlds with infinitesimals

As <Ref to="ex-half" /> showed, $1$ is not the only number with two representations. Exactly which numbers have them is completely determined.

<Theorem id="thm-double-rep" title="Double representation of decimal expansions">
Let $x$ be a real number with $0 < x \le 1$. Then $x$ has two or more distinct decimal expansions (representations of the form $0.a_1a_2a_3\cdots$, where for $x = 1$ we also allow $1.000\ldots$) if and only if $x$ can be written as $x = q/10^{k}$ with integers $q \ge 1$ and $k \ge 0$, that is, if and only if $x$ is a finite decimal. In that case there are exactly two representations, one ending in a repetition of $0$ and the other in a repetition of $9$.
</Theorem>

<Remark id="rem-double-rep-proof">
The proof is placed in the Appendix. The skeleton of the argument is: find the first place where the two expansions disagree, then squeeze the value between bounds from both sides; the condition for equality forces one expansion to be $0$ from there on and the other to be $9$ from there on. <Ref to="lem-archimedes" /> is used at exactly one point, in estimating the value of the expansion with the trailing $9$s.
</Remark>

<Remark id="rem-why-it-matters">
This duplication looks like an inconvenience, but it is actively exploited within mathematics. For instance, when the Cantor set is defined as "the set of numbers whose base-$3$ expansion contains no digit $1$", it is the double representation $1/3 = 0.1000\ldots_{(3)} = 0.0222\ldots_{(3)}$ that makes $1/3$ belong to the Cantor set after all. Ignore double representations and the definition breaks.
</Remark>

Can one then build a world in which $0.999\ldots \ne 1$? We describe two directions. Both are genuine mathematics, and neither is the escape route one hopes for.

<Remark id="rem-hyperreal">
**Hyperreals (an ordered field with infinitesimals).** One can extend the reals to a field $^{*}\mathbb{R}$ containing an infinitesimal $\delta$ that is greater than $0$ and smaller than every $1/n$. This does not contradict <Ref to="cor-no-infinitesimal" />, because $^{*}\mathbb{R}$ is not Archimedean — it is a different system. There, numbers such as $1 - \delta$, "smaller than $1$ by an infinitesimal", genuinely exist.

But this does not make $0.999\ldots \ne 1$. As long as the symbol $0.999\ldots$ means "a sequence of $9$s indexed by the natural numbers $1, 2, 3, \ldots$", its partial sums are indexed by the standard natural numbers and the value is still $1$. To create a difference one must **extend the index set to an infinite hypernatural $H$ and consider the finite sum $1 - 10^{-H}$ with "$H$ nines"**. That is an operation replacing the meaning of the symbol, not a change in the value of the same symbol. A careful discussion of this point is the paper of Katz and Katz (see the references).
</Remark>

<Remark id="rem-p-adic">
**The $10$-adic numbers (relatives of the $p$-adic numbers).** The equality $\cdots 999 = -1$, which <Ref to="rem-shift-danger" /> declared false among the reals, is a bona fide equality in the world of $10$-adic integers. There, the closeness of two numbers is measured by the highest power of $10$ dividing their difference: divisible by $10$ means close, divisible by $100$ means closer still. In this sense $\cdots 999 + 1 = \cdots 000 = 0$, so indeed $\cdots 999 = -1$.

What happens here concerns $9$s extending infinitely to the **left**, whereas our $0.999\ldots$ extends to the right. That changing the measure of closeness reverses which direction of infinitely many digits carries meaning is a phenomenon worth remembering. There is not one number system: the world is fixed the moment we decide what "close" shall mean.
</Remark>

In the end, to make $0.999\ldots \ne 1$ one must either abandon the reals or replace the meaning of the symbol. And whichever one chooses, the naive image of "a number indefinitely close to $1$ but not equal to $1$" is not thereby realised. This sensation — that defending intuition turns out to cost far more than expected — is precisely the theme of [Why mathematics is hard](/en/mathematics/math-columns/why-math-is-hard), an instance of the barrier of <Ref to="mathematics/math-columns/why-math-is-hard#def-abstraction" text="abstraction" />.

## 7. Exercises

<Exercise id="exr-eight" difficulty="Easy">
Show that $7.999\ldots = 8$ by writing out the sequence of partial sums.

<Solution>
The $n$-th partial sum is $w_n = 7 + \underbrace{0.99\cdots9}_{n \text{ nines}}$. By <Ref to="prop-partial-sum" />,

$$
w_n = 7 + (1 - 10^{-n}) = 8 - 10^{-n}.
$$

Since $10^{-n} > 0$ we have $w_n < 8$ for every $n$, so $8$ is an upper bound. Next let $c < 8$ and put $\varepsilon = 8 - c > 0$. By <Ref to="lem-archimedes" /> there is an $n$ with $10^{-n} < \varepsilon$, and for that $n$ we get $w_n = 8 - 10^{-n} > 8 - \varepsilon = c$, so $c$ is not an upper bound. Hence the least upper bound is $8$, and $7.999\ldots = 8$ in the sense of <Ref to="def-infinite-decimal" />.
</Solution>
</Exercise>

<Exercise id="exr-repeating-fraction" difficulty="Standard">
Express $0.1234343434\ldots$ (with $34$ repeating from the third decimal place onwards) as a fraction in lowest terms.

<Solution>
We split off the non-repeating head from the repeating part:

$$
x = 0.12 + 0.00343434\ldots = \frac{12}{100} + \frac{1}{100} \times 0.343434\ldots
$$

(in the second term, instead of shifting the decimal point of the repeating part two places back to the right, we multiply by $1/100$). Carrying out exactly the same computation as in <Ref to="ex-repeating" /> with numerator $34$, the partial sums are $\frac{34}{99}(1 - 100^{-n})$ and their supremum is $34/99$. Hence

$$
x = \frac{12}{100} + \frac{1}{100}\cdot\frac{34}{99} = \frac{12}{100} + \frac{34}{9900} = \frac{1188}{9900} + \frac{34}{9900} = \frac{1222}{9900} = \frac{611}{4950}.
$$

We check that this is in lowest terms: $611 = 13 \times 47$ and $4950 = 2 \times 3^2 \times 5^2 \times 11$ have no common prime factor, so $611/4950$ is reduced. As a check, long division of $611$ by $4950$ gives $0.123434\ldots$, which agrees.
</Solution>
</Exercise>

<Exercise id="exr-epsilon-n" difficulty="Standard">
Let $s_n = 1 - 10^{-n}$. For an arbitrary $\varepsilon > 0$, give a formula in $\varepsilon$ for an $N$ such that $n \ge N$ implies $1 - s_n < \varepsilon$. Then find the smallest such $N$ for $\varepsilon = 10^{-6}$ and for $\varepsilon = 1/2026$.

<Solution>
Since $1 - s_n = 10^{-n}$, the condition is $10^{-n} < \varepsilon$, that is $10^{n} > 1/\varepsilon$, which on taking common logarithms is equivalent to $n > \log_{10}(1/\varepsilon)$. Hence it suffices to take

$$
N = \lfloor \log_{10}(1/\varepsilon) \rfloor + 1
$$

(where $\lfloor \cdot \rfloor$ is the floor function). Because $10^{-n}$ is decreasing in $n$, the condition persists for all $n \ge N$.

For $\varepsilon = 10^{-6}$ the condition $10^{n} > 10^{6}$ is necessary and sufficient, and is equivalent to $n \ge 7$. So the smallest $N$ is $7$. Indeed $n = 6$ fails, since $10^{-6} < 10^{-6}$ is false.

For $\varepsilon = 1/2026$ the condition is $10^{n} > 2026$. Since $10^{3} = 1000 < 2026$ and $10^{4} = 10000 > 2026$, the smallest $N$ is $4$. In other words, already at $0.9999$ the gap from $1$ is smaller than $1/2026$.
</Solution>
</Exercise>

<Exercise id="exr-last-digit" difficulty="Hard">
Examine the claim "$1 - 0.999\ldots = 0.000\ldots1$". Explain what happens when one tries to interpret $0.000\ldots1$ seriously as an infinite decimal, in the light of <Ref to="def-infinite-decimal" /> and <Ref to="cor-no-infinitesimal" />.

<Solution>
By <Ref to="def-infinite-decimal" />, an infinite decimal assigns to each natural number $k$ a digit $a_k$ in the $k$-th place. When one writes $0.000\ldots1$, let $m$ be the position where the digit $1$ sits. There are two possibilities.

**(i) $m$ is a natural number.** Then $a_m = 1$ and all other digits are $0$, so the partial sums are $0$ for $n < m$ and $10^{-m}$ for $n \ge m$, and the supremum is $10^{-m}$. This is a positive number. But by <Ref to="thm-main" /> we have $1 - 0.999\ldots = 0$, so $10^{-m} = 0$, a contradiction (since $10^{-m} > 0$).

**(ii) $m$ lies "after every natural number".** No such place exists in the framework of <Ref to="def-infinite-decimal" />, since we decided that positions of digits are labelled by natural numbers. As $\mathbb{N}$ has no greatest element, "the place after the last one" lies outside the notation.

If one forcibly introduced a number $\delta$ realising (ii), then $\delta$ would have to satisfy $0 < \delta < 10^{-m}$ for every $m$, and by <Ref to="cor-no-infinitesimal" /> no such real number exists. So $0.000\ldots1$ is a symbol denoting nothing within the reals. Adopting a system with infinitesimals outside the reals (<Ref to="rem-hyperreal" />) does let $\delta$ itself exist, but even then the value of $0.999\ldots$ remains $1$, and the difference does not become $\delta$.
</Solution>
</Exercise>

<Aside type="tip">
Across all four exercises the same two tools are used throughout. One is the formula for a finite sum (<Ref to="prop-partial-sum" />), the other is the fact that the gap can be made arbitrarily small (<Ref to="lem-archimedes" />). When handling infinite decimals, almost nothing beyond these two ever appears.
</Aside>

## References

- Takagi Teiji, *Kaiseki Gairon* (in Japanese), Iwanami Shoten — Chapter 1 (continuity of the reals and limits of sequences; the correspondence between infinite decimals and real numbers is treated there).
- Sugiura Mitsuo, *Kaiseki Nyūmon I* (in Japanese), University of Tokyo Press, 1980 — Chapter I (the axioms for the reals, suprema and infima, the Archimedean principle).
- W. Rudin, *Principles of Mathematical Analysis*, 3rd ed., McGraw-Hill, 1976 — Chapter 1 (The Real and Complex Number Systems; construction of the real field and the least-upper-bound property).
- D. Tall and S. Vinner, "Concept image and concept definition in mathematics with particular reference to limits and continuity", *Educational Studies in Mathematics* 12 (1981), 151–169. [DOI: 10.1007/BF00305619](https://doi.org/10.1007/BF00305619)
- K. U. Katz and M. G. Katz, "When is .999... less than 1?", *The Montana Mathematics Enthusiast* 7 (2010), 3–30. [arXiv:1007.3018](https://arxiv.org/abs/1007.3018)
- F. Q. Gouvêa, *p-adic Numbers: An Introduction*, 3rd ed., Springer, 2020 — Chapters 1 and 3 ($p$-adic measures of closeness, and expansions extending infinitely to the left).

## Appendix: Proof of the theorem on double representations

**Strategy.** In <Ref to="thm-double-rep" /> the hard direction is "two expansions imply a finite decimal". We focus on the first place where the two expansions disagree and squeeze the value from above and below. The two bounds coincide, so all the inequalities must be equalities, and the shape of the digits is thereby determined.

**Converse direction (a finite decimal has two expansions).** Let $x = 0.a_1a_2\cdots a_k$ with $a_k \ne 0$ and $k \ge 1$. The first expansion is $a_1 a_2 \cdots a_k 000\cdots$. The second lowers the $k$-th digit to $a_k - 1$ and sets every subsequent digit to $9$. Indeed, by the same computation as in <Ref to="ex-half" />, the contribution from the $k$-th place onwards is

$$
(a_k - 1)\cdot 10^{-k} + \sum_{j > k} 9 \cdot 10^{-j} = (a_k - 1) \cdot 10^{-k} + 10^{-k} = a_k \cdot 10^{-k},
$$

so the value is unchanged (in the second equality we used that the value of the infinite string of $9$s is $10^{-k}$, that is, <Ref to="thm-main" /> multiplied by $10^{-k}$). For $x = 1$ the two corresponding expansions are $1.000\ldots$ and $0.999\ldots$.

**Forward direction (two expansions imply a finite decimal).** Suppose $(a_k)$ and $(b_k)$ are two distinct expansions of the same $x$. Being distinct, there is an index with $a_m \ne b_m$; let $m$ be the smallest such (every nonempty subset of the natural numbers has a least element). Swapping the names of the two expansions if necessary, we may assume $a_m > b_m$, that is $a_m \ge b_m + 1$ (digits are integers). Put $P = \sum_{k < m} a_k 10^{-k} = \sum_{k<m} b_k 10^{-k}$ (the two agree by minimality of $m$).

Lower bound from the $(a_k)$ side. All terms are nonnegative, so

$$
x \ge P + a_m 10^{-m} \ge P + (b_m + 1) 10^{-m}.
$$

Upper bound from the $(b_k)$ side. Using $b_k \le 9$,

$$
x \le P + b_m 10^{-m} + \sum_{k > m} 9 \cdot 10^{-k} = P + b_m 10^{-m} + 10^{-m} = P + (b_m + 1)10^{-m}
$$

(here we used <Ref to="thm-main" /> multiplied by $10^{-m}$).

The upper and lower bounds coincide, so every inequality along the way is an equality. Reading off the conditions for equality, we obtain simultaneously:

- $a_m = b_m + 1$;
- on the $(a_k)$ side the contribution of the terms with $k > m$ is $0$, that is $a_k = 0$ for all $k > m$;
- on the $(b_k)$ side, $b_k = 9$ for all $k > m$.

In particular $x = P + a_m 10^{-m}$ is a finite decimal terminating at the $m$-th place, so $x = q/10^{m}$ with $q$ an integer. This proves that $x$ is a finite decimal, and at the same time that "the two expansions are exactly a $0$-tailed and a $9$-tailed pair". The argument also shows that three or more expansions are impossible: any two of them must have the form above, so only the two candidates, $0$-tailed and $9$-tailed, are available.
