We need to stop venerating the "real" numbers and start focusing on sets that are actually usable.
We need to stop venerating the "real" numbers and start focusing on sets that are actually usable.
One can definitely "work with" numbers that aren't easy to write. a + (-a) = 0, and this is valid for every real number a, not just "the ones which I can describe with a finite amount of information", or the ones I've written down at some point in my life.
Every number that we can construct can be constructed in a finite amount of symbols. For example sqrt(2) is an unambiguous description of itself. Without use of the sqrt function, we can also call it the number x such that x*x=2. However, every description is a finite string constructed from a finite alphabet. We can easily show that the set of all such descriptions is countably infinite. However, we can also show that the set of all real numbers is uncountably infinite. Therefore, there is an uncountable infinity of real numbers that cannot be constructed.
Then apply the diagonal argument. Take the computable numbers between 0 and 1, including 0, not including 1. These are countable, so we can write them in a list, taking a mapping k from the natural numbers: { 1, 2, 3, 4, ... } to the set of computable numbers in [0,1).
Now let's construct a new number. In the first decimal place we put 1 if the first decimal place of k(1) is 0, and 0 otherwise. In the second place we put 1 if the second decimal place of k(2) is 0, and 0 otherwise. And so on.
This results in a number that's not on the list, and is between 0 and 1. So it must, by our assumption, not be computable.
Things become tricky.
So there's a choice to be made, and most mainstream mathematicians have decided to talk about, use, study, and otherwise accept the existence of the real numbers because it's convenient.
Feel free to choose otherwise.
Let a constructable number be one which can be unambiguously described in a finite string. Because we are working from a finite alphabet, we can trivially see that their is a bijection between the constructables and the integers (if we have n symbols, then each string can be read as an integer in base n, so the amount of constructables is no larger than the integers. We can also show that all integers are constructable, so the amount of constructables is no smaller than the integers). Now, take the set of all constructables, and use the diagonal arguement to construct a new number. We can see that this number is not constructable, however, it would appear that I have just unambigously described it, meaning that it must be constructable.
The only potential hole I see is that the ordering of the constructables when I apply the diagonal arguement is ambigous, but we can unambiguously order them by the lexical ordering of their 'canocial' description, and we can unambiguous define the canonical description as the smallest one when translated into a base n integer.
I suspect that doing the above will run into problems with computable numbers (as it likely involves the halting problem), however it appears to be an unambiguous description of a real number that is not constructable. Obviously there is some flaw in this reasoning.
Second, what does it mean for something to be described (unambiguously or otherwise) with a "finite string?" What is a "string" here?
You're playing too loose with these ideas and it's biting you. You have to start by defining them precisely. For example, I don't see at all how the new number not on your list is "described unambiguously." It's presumably not enough to say "there is some number not on my list, we will call it x" since we know there is more than just one such number. How is that unambiguous?
In any case, that's why you have to define these things precisely.
So you cannot list all constructables in a constructive manner because the list itself is not constructible.
A related concept
The Reals are constructed specifically to be the smallest set that has some nice algebraic properties, like Least Upper Bounds. Sets that model the real world, like the constructables, countables, computables, etc. tend to be subsets of the Reals, and therefore don't have those properties. That absence makes life difficult.
The Real Number system, like almost everything in mathematics, is an approximation of reality that makes a trade-off between faithfulness and tractibility. As it turns out, gaining more of the former loses you quite a bit of the latter. It's generally not worth it.
You're right though that a more precise definition of "real-world numbers" is needed, but I confess that my attempts to think of one in the past few minutes have been essentially circular (coming down to "the ones we know how to compute")!
It's not clear whether the universe is computable, however, in the sense that we only find computable numbers in nature. This is kind of an epistemological catch-22, though. How would we know whether this were the case or not?
The phrase "all undescribable real numbers" does not introduce any problems, because we have still not described any specific undescribable number. We would run into a problem with a phrase such as "the smallest undescribable real number", as that would be a description of a specific undescribable real number. Fourtuantly, that particular phrase does not raise any problems because we can simply conclude that their is no smallest undescribable real number, in the same way that there is no smallest real number in general.