Why are there more numbers from [0,1] than all of natural numbers?
How is the new number that you create using Cantors diagonal argument not on the list? If that list contains all the real numbers?
Example:
0 - 0.241251212...
1 - 0.556868362...
2 - 0.5177412125...
3 - 0.251868242...
And by making by adding one to first digit of first number, second digit of second number etc.. we get a number that is not on the list. Let's call this new number C.
C - 0.3689...
How is it possible that this number C is not on the list? It doesn't feel possible.
I made a new table of numbers that suggest it should be possible to map every single natural number to a real number
0 - 0.000000000...
1 - 0.100000000...
2 - 0.200000000...
3 - 0.300000000...
4 - 0.400000000...
We can keep going like this until we reach 10th (or 11th if we count from 0) number where something interesting happens. 10 should be matched to 0.10 followed by trailing zeros to infinity. But 0.10 is the same as 0.100000000... and we already matched that to 1. We get a free number to match something to! We will use that later.
Now if the real numbers first digit after the decimal point is greater than 0 we can just match it and rest of the digits to a natural number.
427794279... - 0.427794279...
816472849... - 0.816472849...
But there's a problem. What happens when the first digit after the decimal point is equal to 0? What can we map 0.0034052400000... to? That's where those free unmatched numbers come in.
We first write the part after the zeroes which is 340524 we ignore the trailing zeroes. Then for every zero before 340524 we add that many zeroes at the end of the natural number and we get:
34052400 - 0.003405240000...
10 - 0.010000...
100 - 0.0010000...
5000 - 0.00050000...
What's neat about this list is that we can find where on the list every real number is. If we use Cantors diagonal argument on the ordered list starting from 1 we will get 0.211111... which we know is matched to 211111... How ever you change the number it's guaranteed to change it into a number that is on the list.
or even C
C - 0.3689... - 3689...
To make sure this list maps everything after 9th (or 10th) number we match every multiple of 10 to its real number before we got to next power of 10. After that we drop back down and map every number before it using rules above.
9 - 0.9000...
10 - 0.0100...
20 - 0.0200...
...
90 - 0.0900...
11 - 0.1100...
12 - 0.1200...
This all makes sense, so why is it not right? Any counter-example or a mistake that you can find would help a lot. Thanks!
The idea of Cantor's diagonal argument is the classical method of proof by contradiction. One supposes that there is a list of all real numbers and produces, using a perfectly valid method (i.e., following strictly all the postulated axioms and rules of deduction), a real number that is different from every real number in the list.
This number must be in the list, by hypothesis. Therefore, it must be exactly equal to one of the numbers (that's precisely what belonging to the list means). But that does not happen, so one has a contradiction. As every step is perfectly valid, one concludes that the hypothesis is wrong and there is no injective function from $\mathbb{N}$ to $\mathbb{R}$.
Your idea is not correct because at the beginning of your description, you say
"Now if the real numbers first digit after the decimal point is greater than $0$ we can just match it and rest of the digits to a natural number."
Every natural number consists of a finite string of digits (or an infinite sequence where all but a finite amount of digits are different from $0$), therefore, it is impossible to match the number you mentioned $0,2111 \ldots$, which has an infinite amount of digits equal to $1$, to a natural number, because this natural number would have to have infinitely many digits different from $0$.