Possible Duplicate:
How does Cantor's diagonal argument work?
It seems to me that if you have an infinite list of unending decimal numbers between $(0,1)$:
0.xxxxxxxxx...
0.xxxxxxxxx...
...
and you want to generate a number in $(0,1)$ that is not on the list, then Cantor's diagonalization does not work. For example, consider
0.xxy.....
where each x can be any value, and y, being the third, must be different from the the third digit in the third number, is any number except the third digit in the third number.
In this case, we know our number is different from the third number, and because of how we have been writing it (first two digits are appropriately distinct from the first two numbers), we know it is unique so far on the list. However, because this is an infinite list which claims to contain all real numbers between 0 and 1, the number we have written exists somewhere further down the list.
So we continue. We add a fourth digit, which differentiates it from the fourth number in the list. Facing the same problem, we continue to the fifth, then the sixth, and so on...
The point of this, as I understand it, is to show that we can write a number which is not already in this list. However, at any point, there are an infinite number of numbers left in the list, one of which is equal to what we have written. So we must continue on to infinite...
Since we will never reach a point where there are 0 numbers left in the list, we will never finish writing a number which is not on the list. Every digit we add makes it different from more and more numbers on the list, but never from EVERY number on the list. So, in practice, we CAN'T generate a number which is not on the list.
This seems to make perfect sense to me, but it also seems to be incorrect. Can someone please explain why?