-2

If we omit the "0." part of diagonalization table in http://www.cs.virginia.edu/~lat7h/blog/posts/124.html we would get natural numbers. So does it mean that the diagonalization argument applies to natural numbers as well? I found the following similar quest http://www.cs.virginia.edu/~lat7h/blog/posts/124.html but it is talking about binary representation and I am looking for a pure real and natural number argument.

Asaf Karagila
  • 405,794
  • 3
    The problem with omitting the "0." part of the argument is that while $0.a_1a_2\dots$ is a number, $a_1a_2\dots$ is not itself a number. – Santana Afton Mar 06 '17 at 18:29
  • 3
    By the way, don't put too much faith in the blog post you're linking to there. The overall gist of it is right, but it fails to speak about the problem of some numbers having more than one decimal expansion (e.g. $0.1000\ldots = 0.0999\ldots$), and it falsely claims that "there are $\aleph_1$ real numbers". – hmakholm left over Monica Mar 06 '17 at 18:39

2 Answers2

2

This is a common question, and the answer is: natural numbers only have finitely many digits.

The sequence "$1111111...$" does not correspond to a natural number. That is, your mistake is the claim that removing the "$0.$" yields a natural number.


EDIT: The OP comments

Would you please elaborate on why dropping "0." from "$0.356792$" doesn't yield a natural number "$356792$"?!!!

Of course it does. However, in doing so you ignore most of the decimal expansion: what about all the zeroes at the end? $0.356792$ is just $0.356792000000...$ abbreviated.

OK, you can fix this by saying "Cut the decimal expansion off once you hit an infinite string of zeroes." But this breaks down for most reals: what on earth do you do with e.g. $${1\over 3}=0.33333333333...?$$

The point is that "most" real numbers between $0$ and $1$ will break your idea; and in fact this can be made precise - there are only countably many reals between $0$ and $1$ which don't break your idea!

EDIT 2: This is essentially the same error that arises if you try to apply diagonalization to a complete list of natural numbers; see the comments below.


Incidentally, I think the line at the end of the linked blogpost

When all is said and done, a proof is just a social con­struct, a par­tic­u­lar kind of per­sua­sive argu­ment. Accept it only if it convinces you.

is misleading in a very important sense: it conflates the social construct of a proof, in the sense of a persuasive argument, with the precise notion of a formal proof. And we can tell that the latter is a precise notion, since we can train computers to check proofs, and even produce proofs. So we can show e.g. that (in classical logic, from the axioms of ZF) Cantor's diagonal argument works; and this is not a fact that is up for debate. Now, if you change the logic, or change the axioms, then the situation changes, and indeed one of the arguments against classical logic (which incidentally I don't find convincing at all, but one's mileage may vary) is that it fails to capture the informal notion of proof, so there is a sense in which the quoted passage is right; but it is also in my opinion extremely misleading.

Noah Schweber
  • 260,658
  • Would you please elaborate on why dropping "0." from "0.356792" doesn't yield a natural number "356792"?!!! – user650585 Mar 06 '17 at 18:35
  • @user650585 See my edit (specifically, the middle part). – Noah Schweber Mar 06 '17 at 18:39
  • OK let me ask it another way. Lets say we list all the natural numbers in the table, each row showing one of those numbers. Now can't we say by the same argument that we can come up with a new natural number who's digits are different than every row of the table the same way we did for real-natural? – user650585 Mar 06 '17 at 20:09
  • @user650585 No, we can't. First of all, we run into the trouble of running out of digits: e.g. if $10$ is the fourteenth element on our list, what's its fourteenth digit? Now that can be fixed, but fundamentally the problem you hit is that you get an infinite sequence which does not correspond to a natural number. E.g. let's say you fix the first problem by saying, "If you run out of digits, write "$0$"." OK, well now consider the list of the usual naturals in order (in binary for simplicity). $1, 10, 11, 100, . . .$. Clearly after the second number we always run out of digits. (continued) – Noah Schweber Mar 06 '17 at 20:26
  • In particular, the antidiagonal sequence we produce is $0100000000....$ (all those zeroes coming from the "run-out-of-digits" trick). Well, that's not a natural number! Anytime you try this trick, or something like it, you'll wind up building a sequence which is not a natural number, and so shouldn't be on the list in the first place. Similarly, if you try diagonalization against the rationals, you'll produce a non-periodic sequence, corresponding to an irrational, which again shouldn't be on the list. – Noah Schweber Mar 06 '17 at 20:27
  • Thanks for your replies. Now what if we add the zeros to the left and also start indexing from right to left. So lets say number 4 at 7th row becomes 0000004? Wouldn't that resolve these issues? – user650585 Mar 06 '17 at 21:13
  • @user650585 Nope, still broken: you still get an infinite string that doesn't correspond to a natural number! Let's do things in binary, again: our natural numbers in order are $1, 10, 11, 100, 101, 110, 111, . . .$. After shifting appropriately, they are $${\color{red} 1}, 1{\color{red}0}, 01{\color{red}1}, 010{\color{red}0}, 0010{\color{red}1}, 00011{\color{red}0}, 000011{\color{red}1}, . . .$$ and the diagonal sequence is $1010101...$ Flipping the bits of the diagonal gives $0101010...$ and this infinite string - again, as usual, and as will always happen - is not a natural number! – Noah Schweber Mar 06 '17 at 21:20
  • It's always a good idea, by the way, to try actually writing out your idea and seeing what it looks like - otherwise it's easy to convince yourself that you've managed to do something that you have not, in fact, done. – Noah Schweber Mar 06 '17 at 21:26
1

If you omit the "$0.$", the diagonal list you get out is just an infinite list of digits without any decimal point anywhere. Such a list does not represent any natural number -- or, indeed, any real number either.

  • Would you please elaborate on why dropping "0." from "0.356792" doesn't yield a natural number "356792"?!!! – user650585 Mar 06 '17 at 18:36
  • 1
    @user650585: You have no guarantee that the diagonal list contains only finitely many digits -- in fact that will not be the case if you list the natural numbers in their usual order. (And this is fact no matter how many exclamation signs you use). – hmakholm left over Monica Mar 06 '17 at 18:40