[Math] proof of rational numbers as repeating or terminating decimal

algebra-precalculusdecimal-expansionproof-verificationproof-writingrational numbers

As an exercise in my conceptual algebra class we attempted to determine the reason why this theorem holds true in the forward direction. (Note we decided not to tackle the opposite direction) I wrote out a proof of it for the discussion that laid it out rather simply but I would like to make it more formal. However, the more formal version doesn't seem as clear to me as my original did.

Original plain English proof:
If we take any rational number p/q and begin to work out the division we see that at each step we have a remainder. This remainder will always be a value between 0 and q-1 because if it was not we would know from the rules of division that our quotie t was wrong.

If our remainder is 0 then the decimal terminates and we are finished. If we never get 0 then there are only a limited set of numbers our remainder can be and eventually one of them will be repeated. As soon as a remainder is repeated the entire decimal will repeat itself giving us a repeating decimal.

Therefore every rational number is represented by a decimal that either terminates or repeats.

Formal proof attempt:
Claim: if a number is rational, then it's decimal expansion either terminates or repeats.

Proof: let a/b be a rational number. Then by the definition of rational numbers a/b is a ratio of the integers a and b where b divides a.

Then by the division algorithm a=bq+r for some integers q,r and 0 <= r < b

It follows that if r is 0 the decimal terminates. If r is not 0 then, because r can only be a restricted set of integers, by the pigeonhole principle at some point r must repeat.

Thus the decimal expansion of a rational number either terminates or repeats.

Best Answer

This theorem is about the decimal number system, this suggests that the number $10$ might play some role here.

Indeed, for any rational $x=a/b\ $ (with $\gcd(a,b)=1$), if $b|10^n$ then $x$ will have at most $n$ fractional digits.
Else, deduce the problem to the case when $\gcd(b,10)=1\ $ (by multiplying a power of $10$).
Finally, for such a $b$ one needs to find an $n$ that makes $b|(10^n-1)$. Then $n$ will be a period for the infinite sequence.

The classical $1/7=0.(142857)^\bullet$ is a good example to study. Observe that $7|999999$.