Why does Cantor's diagonal argument not work for rational numbers?

If we map every integer to a string that represents a rational number, and produce a number different from all the ones listed, we are essentially following Cantor's algorithm. But why does it not apply? Is it because we can't be certain that the number produced is a rational number?

-
If you have an explicit countable ordering of the rational numbers and an explicit version of Cantor's algorithm (watching out for the $0.5000\ldots=0.4999\ldots$ issue), then this gives you a way of generating a guaranteed irrational number. –  Henry May 22 '11 at 21:11

1 Answer

It applies, in the sense that you can carry it out. However, the number you obtain through the process is not a rational (it does not have a periodic decimal expansion).

To be precise, the procedure does not let you guarantee that the number you obtain has a periodic decimal expansion (that is, that it is a rational number), and so you are unable to show that the "diagonal number" is a rational that was not in the original list. In fact, if your original list is given explicitly by some bijection, then one is able to show just as explicitly that the number you obtain is not a rational.

-
btw, for anyone interested, there is a nice detailed explanation of exactly this answer here: mathpages.com/home/kmath371.htm –  Christiaan Hattingh Jan 27 at 12:11