Hacker News new | ask | show | jobs
by pdonis 1802 days ago
> We can thus assign natural numbers to real numbers by assigning numbers to their expressions in a natural or formal language

This doesn't work because not all real numbers have expressions in a natural or formal language. This is easily shown by an obvious variation on Cantor's diagonal proof, applied to your lexicographically ordered list of expressions in any natural or formal language.

4 comments

Sure, that is why I wrote:

> In such a sense then, we can trivially "count" the real numbers unless we hold the philosophical view that there are real numbers that are not expressible. This is where it becomes a question of philosophy of mathematics, not mathematics proper.

I'm not disagreeing with your interpretation of Cantor's diagonal proof, I'm merely pointing out that this interpretation depends on a very specific philosophical view of mathematics, namely the platonist view that the real numbers exist independently from their expressions in any natural or formal language and that it makes sense to say that there are real numbers that are not expressible.

And yeah, nearly all working mathematicians will agree with this view and from their perspective the real numbers are uncountable, period, and you are right that what I sketched "doesn't work".

But I think it's important to remember that there are or could be alternative philosophical views of mathematics that lead to a different interpretation, which will reject not the mathematical validity of Cantor's diagonal proof, but rather its usefulness or relevance. After all, how can you convince someone that there are real numbers that are not expressible? By their very nature they cannot be practically used in any calculation, so how could you convince someone who is not convinced by this philosophical assumption of Cantor's diagonal proof?

In other words, Cantor's diagonal proof cannot prove that there are real numbers that are not expressible, because the proof only makes (philosophical) sense if you accept this viewpoint in the first place.

> It is obvious that all expressions in the English language can be ordered from smallest to largest and lexicographically, which makes these expressions trivially countable.

You could say the same about just real numbers, which can also be ordered from smallest to largest. This definitely not 'trivially' implies countability.

Edit: I edited my post shortly after posting from "Humor me and count out the first two real numbers".

EDIT: The parent first said (before being edited, with my original answer after the quote):

> Humor me and count out the first two real numbers in English in lexicographical order.

Probably "one" and "six" (then "ten" and "two", followed by all 4-letter expressions of real numbers), unless you can think of an English expression with a length of three letters or less that would occur before "one" and "six" lexicographically. If you consider "pi" or "e" to be descriptions of real numbers then clearly these would occur before "one" and "six".

But of course you can also pick an arbitrary universal Turing machine or other suitable formalism, pick an encoding as bit strings and order expressions in such a formal language according to their bit strings. Ordering expressions in the English language is only the less formal counterpart.

(If your point is that ordering expressions of real numbers in English is far from unambiguous without first agreeing on a dictionary of valid words and on rules of what can be considered an expression of a real number in more than one word then of course I would agree. But what I'm driving at is not that it's easy to unambiguously count out the real numbers in English, of course it's not, but rather that any kind of natural or formal language expressions, by being recursively enumerable, are "numerous" enough to be a countable set of expressions. To say that the real numbers are uncountable is to accept the view that there are real numbers that are not and can never be expressible in language, which is a view that only makes sense against the backdrop of a very specific philosophical framework. One that is definitely accepted more or less implicitly by most working mathematicians, but not the only possible one. And this philosophical framework cannot itself be justified or grounded by a mathematical argument such as Cantor's diagonal proof.)

---

Reply to the parent after edit:

> You could say the same about just real numbers, which can also be ordered from smallest to largest. This definitely not 'trivially' implies countability.

No, what I meant was that by ordering expressions in the English language or other suitable formal languages first from smallest string to largest string and within these groups lexicographically, you can enumerate all the expressions in such a language, which makes them trivially countable.

Of course this does not give you a 1:1 mapping from expressions in a language to real numbers, but it is meant to illustrate that the real numbers are not uncountable because they are 'too numerous' to be counted by the natural numbers, in the sense that a box is not large enough to hold a collection of things. They are uncountable because we accept the view that there can be real numbers that are not and cannot be expressible in language, which is a platonist view that is open to philosophical critique.

> Probably "one" and "six"

You missed infinitely many numbers between those two. For example "one thousand" and "one dot/comma three".

Once you've worked that all out, can you now tell me which natural number you assigned to "six" in your lexicographical order?

Edit: Ah. Took me a moment to realize you are ordering by number of characters first.

> They are uncountable because we accept the view that there can be real numbers that are not and cannot be expressible in language, which is a platonist view that is open to philosophical critique.

So similar to R \ Q? Or the same?

Oh, I see what the issue is. I wrote "smallest to largest and lexicographically", meaning first from smallest to largest (as measured by the length of the string) and then within each group lexicographically, which is the usual way of giving an enumeration of such expressions as far as I know. Of course you cannot enumerate these expressions if you expect a solely lexicographical ordering. In any case, English was just an example, you can basically pick any Turing-complete language that is recursively enumerable and count its expressions by considering its bit string encodings as natural numbers.

Edit: This is also why the computable numbers are countable, but not computably enumerable (because figuring out which expressions correspond to real numbers is equivalent to the halting problem).

You've convinced me that R without all numbers that are not expressible in typical languages is countable at least.

Though I'm not convinced that numbers that are not expressible don't exist. I could for instance say "the length of this line", which may very well have a length that is not expressible in a language that uses a finite set of symbols (hah, that's why your expressions are countable, of course!).

Consider a language however that instead of numbers simply uses sounds of the appropriate length, or draws lines of proportional length (assuming of course you could do this precisely).

With that language you could express every real number, and you could express numbers that turing machines* or English can't.

*Unless programmed in that language.

Numbers exist only in our heads. They are results of formal symbol manipulations.

What does "to exist" mean for number which can not be written down as some formula (in broad sense of this word) in formal language?

Your "easily shown" is only easily shown if you're sloppy.

If you're careful, it can't be shown at all.

As I already pointed out, if classical mathematics is consistent, then constructivism must be as well. Therefore if you think that you've found a logical flaw in constructivism, the mistake must be in your own thinking.

If you're claiming the existence of entities that you are unable to identify or express, you're veering into religion and faith.