I don't think I buy your argument, but I'm absolutely not a mathematician, so I could have missed something. Why I don't buy it:
It seems you didn't need to redefine the reals as programs to make this argument--the reals are classically defined as Cauchy sequences of rationals and (if the argument were valid) you could make the same claim using these sequences instead of programs.
I don't think the actual philosophical question is whether the reals are countable, it's whether the reals "exist". You can't define the reals such that they're countable because if you did, they wouldn't be the same structure.
The truth of your statement depends on what philosophy of mathematics you accept. Which itself is not something that can ever be settled by pure reason.
Here is a definition of the reals to consider. A real number is a computer program which implements a function f from positive integers N to the rationals such that |f(n) - f(m)| < 1/n + 1/m. This is a reasonable definition of real numbers, and all real numbers that you're likely to hear of are real numbers under this definition.
But now consider. There are a finite number of symbols that we build programs out of. Therefore for every N, there are a finite number of possible computer programs of length N. Only some of which represent real numbers under this definition. Therefore there is a countable sequence which contains all real numbers in it!
What is the key philosophical difference between this system of mathematics and the usual one? Quite simply this. Classical mathematics asserts the existence of things that cannot be written down or calculated by humans. This system of mathematics denies the existence of things which we cannot write down.
Now about a hundred years ago there was a major debate between these two philosophical camps. In the end the classical school won simply because most mathematicians don't care about philosophy, and classical mathematics is easier to work with. But the purportedly inescapable logical conclusions that you're taught about are not actually as inescapable as you've been lead to believe.
tl;dr: Your argument doesn't make any sense. Don't copy math arguments from hipster blogs or wikipedia. They rarely make any sense.
I am fully aware of the constructionist approach to mathematics.
But your argument goes somewhat like this:
The reals are real
In computer programs however, we can only do so much
Every computer program represents a real number
For every bounded amount of bits, there is only a countable set of computer programs
Therefore, the reals are countable.
This is not how math works. You extrapolate from a bounded set that is countable to the collection of all those bounded sets - and then claim because every one set is bounded, the collection must be bounded as well - and therefore countable.
Let me make a similar argument just to show how silly your argument is. Here we go:
1. Every set of integers with only one element is finite. Call it a trivial set, for example: {1}
2. Every finite union of such trivial sets is finite
3. Every finite union of such a finite union of trivial sets is finite
4. and so on - after many iterations, your finite set will look pretty big to the human eye - almost as if it was the set of integers.
5. Therefore, the set of integers must be finite.
Sounds pretty silly, right? Thats what you've done for a different property of a different set.
That is nonsense. This is why arguing with illiterates about math is so annoying. They think they can write non-stringent arguments and then claim they have "somewhat proof". In math, there is no such thing as "somewhat proof". You are either right or you are wrong. The reals are the reals by definition. You can not make them countable.
What you can make countable is sets of numbers that you work with. Sure. You wont ever create a computer that has access to all the reals, PRECISELY because it operates from a position of countable-ness (even quantum computers). But thats not what I care about when I talk math.
The real numbers are not accessible to in a "reality" way. They lie fully in the realm of arcane mathematics. Like many other things do. You would never claim that the hyper-exponentiation operator had anything to do with reality, and it doesn't. Neither do the reals. You're just confused about them because they appear so prominently in middle school mathematics.
Accept it and move on.
Mathematics is the realm of absolute truth. Everything we have proven is de facto true. You can make an argument that we are doing the "wrong kind of mathematics". And that may actually be true. But it doesn't change anything about our discipline. If you want to get philosophical and create a new Mathematics discipline based on different arbitrary rules (axioms), you are free to do so. But you will have to prove a lot of very mundane things and go through centuries of early day fuckups and its very likely that you will soon seek to merge with the already established mathematics.
Call it math2.0. I'll play with it. If its interesting, why not. But don't expect your new math to be more interesting than the one we've got.
Your ignorance hides wisdom and an unexamined assumption in classical mathematics.
The problem is what does existence mean?
Classical math includes "procedures" with processes based on absolute truth. They avoid paradox only because you cannot reason about the reasoning process itself. The result of this is simpler arguments, but we must accept the existence of things that we can never, even in principle, write down.
Now let's change existence to mean that mathematical things only exist when we can write them down. (Classical mathematics calls this the constructible universe.) So procedures must be computer programs. Real numbers are represented computer programs that produce a sequence of rational numbers converging at a known rate. An enumeration of real numbers is a program that produces a list of programs that themselves represent real numbers. And so on.
Now try Cantor's argument. We start with an enumeration of the real numbers. A program that creates a list of programs. We then construct a new real number as per Cantor. So far so good. And, as Cantor said, the new real number cannot be on the enumeration. Cantor now concludes that there are more real numbers.
BUT his conclusion is now false! I can easily write down a program that lists every possible program. Ones that crash. Ones that run forever and never stop. And, yes, ones that represent real numbers. It is a countable list. And our new real is on the list!
The problem isn't that there are too many real numbers. It is that you can't decide whether or not a given program represents a real number without solving the halting problem. So every enumeration has a choice - it either includes things that aren't real numbers, or it misses some real numbers. But all the things that can be real numbers are on a countable list!
The only sense in which there can be "more" real numbers in classical mathematics is that we accept the "existence" of numbers whose claim to exist is extremely tentative. And we do so with decision "procedures" that depend on decisions made based on unverifiable absolute truths.
If you want a sense of how different mathematics looks if you don't do that, look up Constructivism.
Surely working with computable reals is sufficient? There's no point in writing a computer program that attempts to work with non-computable reals, for obvious reasons. And computable reals are countable.
First, yes the rationals are already countable. But the reals are uncountable. You cannot write a function to generate all real numbers - not even if you allowed the function to run for an infinite amount of time.
Second, most of the reals are individually uncomputable, which literally means no, we cannot calculate them to arbitrary precision (or any exact precision).
Likewise we cannot just redefine the set of real numbers to be restricted to the set of computable reals. Analysis rapidly breaks down when you do so and it follows that the real field is no longer closed (by definition, and therefore no longer subject to the field axioms).
Actually, I think you bring up some really good points.
If you believe the reals are countable, then your task is to come up with one, just one, scheme for enumerating them (i.e. putting in 1-to-1 correspondence with the naturals). If, on the other hand, you believe the reals are uncountable, then your task is decidedly harder: You need to come up with some scheme that, given any proposed enumeration, you can produce a number definitively not on that list.
Cantor's argument does the latter. Given any scheme---say a computer program---that claims to enumerate the reals, Cantor's argument shows us how to build a corresponding computer program to generate the digits of a number that are never produced by your original program. I.e. if you let the original program list out N reals, Cantor's program can give you an N-digit number that it has definitely not listed. The original program certainly might list it later, but by that point it's listed N+M digits and Cantor's program can give an N+M-digit number that's missing. The point being that Cantor's program always works, no matter how big N gets.
On the other hand, as another poster has pointed out, the Cantor scheme fails to work for an actually countable set, like the even numbers or primes. Cantor's argument will still work in a sense. It will give you something, but the thing it gives you will always violate some property that the original set of things must satisfy, like having only finite digits or whatnot.
> That depends entirely on whether or not real numbers can be physically represented in our universe. That is unknown.
At least some real numbers can be. Take the construction of reals from Cauchy sequences of rationals. We can easily write a computer program that produces a sequence of rationals that converges to e. To produce later terms it would have to run for a long time on a large computer, but the program still represents e.
The existence of numbers other than those which are representable as a computation on a computer is a question for philosophical debate. That is what I was referring to with:
Except that you don't address that point there. You don't say anything relevant to it other than the trivial statement that existence is not a pithy value.
Again, you are showing a complete lack of awareness of literally decades of historical debate within mathematics.
> That is an earlier essay which is not a part of this series. The upshot is that the question is not whether or not the reals exist, but rather what ontological category the belong in. That is an open question.
Of course it is open. The answer depends, among other things, on your beliefs about God.
However the best that can be proven is that we have a collection of axioms which involve statements about existence, that we have good reason to believe will never contradict each other. What connection there is between this statement of existence, and normal notions, is very abstract and complex.
> > But you can't get there from physical systems.
>
> Of course you can. Unless you are a dualist, we did get there from physical systems because we are physical systems. There is no other way to get anywhere.
No. We proved formal statements about collections of axioms that made conclusions about existence, without attempting to connect the technical definition of existence in those formal definitions with any other notion of existence that people might have.
We certainly did not get to anything resembling a notion of actual existence. Merely the conclusion that if such and so axioms are true, then that statement is also true.
And there is no need to go to complicated stuff like "real numbers" to see all of the key issues.
The best example that I've seen is https://en.wikipedia.org/wiki/Robertson%E2%80%93Seymour_theo.... That theorem says that any category of finite graphs which is closed under taking graph minors, has a finite list of excluded minors that categorizes the category. The theorem's proof is nonconstructive, which means that it offers no way to find that finite list. It offers no way to put an upper bound on that finite list. If you were given a purported complete finite list, it offers no way to prove that this list is complete.
When I say "it offers no way", I'm being mild. In fact we can prove that there are categories with finite definitions such that there is no algorithm which can find the list. No algorithm which can verify an upper bound. And no algorithm to verify that an answer is correct. Each of these runs into Halting problem kind of liar's paradoxes.
Let's make this concrete. The set of planar graphs is closed under graph minors, and it has exactly two minimal forbidden minors. They are K5 and K3,3.
For the set of toroidal graphs - that's like planar except that you're drawing it on a torus - we have thousands of minimal forbidden minors. We currently have no reason to believe we have the complete list, no upper bound on how many there might be, no upper bound on the size of forbidden minors, and no reason to believe we could verify a correct list if it was given to us.
The Robinson-Seymour theorem leads to the statement that there must exist unverifiable finite things of unknowable size. The set of minimal forbidden minors for toroidal graphs may well be one of those things. But what does it mean to say that an unverifiable finite thing of unknowable size "really" exists?
The reals one defines thee reals constructively in essentially the same way as one does classically. When the parent commenter says the reals in constructive mathematics are uncountable, he means that inside of a constructive system one can prove the statement
There does not exist a bijection between the natural numbers and the real numbers.
which is true. You are free to interpret constructive logic in various ways. If you interpret it as the logic of computable things, in which case this statement becomes interpreted as something like
There is no computable bijection between the natural numbers and the computable reals.
If you interpret it into classical logic, it becomes (now in the classical sense)
There is no bijection between the natural numbers and the reals.
Constructive mathematicians definitely do believe the reals exist and are uncountable. Not all reals are computable or definable. The set of computable reals is countable. There are different varieties of constructive mathematics. A very large majority of constructive mathematicians believe the reals are uncountable. In intuitionistic mathematics the reals are uncountable.
In some constructive versions of math you get weird things like there being an injection from R to N but there not being a bijection due to diagonalization.
I think you are confusing computable/nameable with constructive as that term is used by most mathematicians.
Thanks for the response, a few of my friends in Facebook told me the same thing, the constructed number is infinite, so it is not a member of the set and my argument is invalid. Do you have any insight as to why my attempt to show that the reals are countable by placing them in a binary tree is also wrong? We know the rationals are countable by putting them in a grid and mapping them to the natural numbers, how is this fundamentally different from putting the reals in a binary tree?
Sure reals are uncountably infinite, but they're (mostly) not specifiable. Even with Turing machines I'm are afraid you're limited to countable numbers, and on these measly finite state machines they call computers these days you're even worse off.
Let's define real numbers in a concrete way where they certainly exist, such as by equivalence classes of Cauchy sequences. Where a Cauchy sequence is a computer program that takes in a natural number, and returns a rational, complete with a proof that the rationals that it spits out will converge at a calculable rate.
Your mapping can now be constructed from an enumeration of such programs. (A single real may appear many times because many programs are equivalent. That's just a detail.) For each program we can put in a large enough number that we get the decimal place down to one of two. (The old 0.9999.... = 0 problem is a small complication here.) And then we pop out a clearly different digit. Given the mapping, this program can be easily written. And so we can produce our number which starts off in your example as the sequence .6, .64, .643, ... .
So far, so good. But what goes wrong?
Well we have a program that we assert produces a real. It certainly seems to do so. But proving that it represents a real requires proving that the program will always give the next digit. That requires proving that it works as advertised. That requires proving that the logic we used to make all of our decisions is consistent. But by Gödel's Incompleteness Theorem, we can only prove that if our logic is INCONSISTENT. And therefore our nice program doesn't have a proof that when ask for the n'th rational that it will ever return anything. And therefore it doesn't represent a real number!
This is why Cantor's diagonalization argument fails in constructivism. The impossibility of making a one-to-one map between naturals and reals becomes a statement about the self-referential logic embedded in the definition of real numbers, and NOT a proof that there exist an uncountable number of real numbers that we can never write down any meaningful description of!
Even if you don't subscribe to constructivism, I think it is important to recognize that the confident statements we make about infinity in classical mathematics rest on unprovable philosophical assumptions of a potentially dubious nature.
Sure, but no one uses the reals anyway for 'constructible' things. As I pointed out, the computable reals themselves form a closed field and are the things you would find when describing real life.
As for the 'problem'... I personally don't view it that way. In my opinion (and it's just that, since there's no mathematical 'truth' here), I don't believe non-computable reals exist in any meaningful way. I believe this is similar to how we talk about a 'program that can check if another one halts'. Anyone can make that statement and claim that such a thing exists, but it's not at all clear that such a thing exists. But that's a lot different than saying there are X particles in the universe, thus the number X + 1 does not exist. Because x + 1 does exist and you can write a turing machine that can compute it to any precision (or a lambda calculus function that'll give you the next church encoded representation of it, etc).
My point is two fold. Firstly that there are certainly numbers that are greater than the total number of 'stuff' in the universe. Secondly, that there are some numbers that cannot be described in any meaningful way. These can be said to not exist (my belief), but others disagree.
Good talk. I agree with you (and the articles you linked which I read, BTW thank you for those there's a lot more reading for me to do) in explicit claims that the vast majority of real numbers cannot be rigorously constructed, and that there are many for which representation is not possible. To my knowledge this is a philosophical argument, and one for which we don't have any falsifiable theories which could be used to test one side versus another.
> You are arguing that an alternative number system should be 'infinitely dense', and I agree. But take e.g. the finite/constructive reals [1, 2], they are still 'infinitely dense'.
I'm only arguing that insofar as one can do useful things with holomorphic functions and the constructions we require to define them require the specific defining properties of the complex numbers (continuity, closure under important functions rather than clopensure, etc). If you want these properties then you're stuck with uncountable number systems and the baggage RE representation that comes along with them.
> That's exactly my point. Maybe approaching it from the point of view of 'what are the limitations of this model?' is helpful. Also see the discussion in [2].
> This is not an argument whether real numbers are useful, a good model, or interesting (there is not doubt they are all three).
Agreed, my argument is purely that the reals are "able" to "exist" in "reality" in the same way as the rationals. One of the more famous irrationals is Pi, which is of interest precisely because it is referenced by reality. The difference between the two is that the rationals are not continuous for useful definitions of continuity and so we fix that.
That "existence" is dependent on human interpretation of that word, and there's no particular reason to expect that we have the ability to see whatever the fundamental underlying reality* of our world even is. You could just as easily argue that negative integers do not exist because owing someone something generally requires a reference to the entity owed rather than just a indicating a lack of meaningful possession.
There are many intelligent species here on our planet which have internal models of reality, which we know are less than correct (e.g. good luck teaching anything beyond basic intuition of classical physics to a parrot), what makes us special? There are many humans who cannot handle the abstraction of charm and flavor and spin being very much real physical properties of the invisible objects underlying the reality we're able to observe.
You can argue forever over finitism and the holographic principle and what "really exists," but such discussions are fundamentally limited by the things having them. The thing we use for this analysis (logic) is itself a human construction and certainly not something which is even as real as the number 1. Our best understanding of the underlying structure of the universe right now is that it is probabilistic, which is almost antithetical to the idea of logic being the underlying set of rules by which it operates. I see the arguments people make regarding these, but what I do not see is a meaningful distinction between 1 in Z which maps to a human concept of possession of a singular instance of an object versus Pi in R which maps to a human concept of the ratio between specific properties of certain classes of objects. Both have their basis in reality grounded by human perception, both can be used to any precision you're able to, both are meaningless beyond the human constructions used to define them. The only reason we consider math to be a universal thing likely discovered by every sufficiently intelligent species is because it is of such high utility in constructing predictions which provide an evolutionary benefit.
* which is under no obligation to even be the type of thing we consider to be an "underlying reality," that's just how it seems to present itself to us
It's a literal assertion that the reals (all reals) ARE countable .. subject to taking issue with aspects of Cantors argument.
It opens:
> In 1874 Georg Cantor published a theorem stating that every sequence of reals is avoided by some real, thereby showing that the reals are not countable.
> Cantor's proof uses classical logic.
> There are constructive proofs, although they all rely on the axiom of countable choice. Can the real numbers be shown uncountable without excluded middle and without the axiom of choice?
>An answer has not been found so far, although not for lack of trying.
> We show that there is a topos in which the real numbers are countable, i.e., there is an epimorphism from the object of natural numbers to the object of Dedekind reals.
> Therefore, higher-order intuitionistic logic cannot show the reals to be uncountable.
I am just guessing here, but I think the problem is that even if you redefine a real number as "that which can be written by a program", you cannot write a program that enumerates all such numbers.
That's kinda because different real numbers require programs of different complexity (for any specific complexity, e.g. the number of bytes, there is only a finite number of programs with that complexity), so listing all the real numbers would require infinite complexity, i.e. not a (finite) program.
So there is a countable set of integer, and a set of reals (by the new definition) which is countable (by the usual definition) but cannot be enumerated, so it is technically "uncountable" (by the new definition).
The trick is that if you are changing definitions, you may accidentally also change the definition of "countable". Because it is defined as "that which can be mapped to integers", but the problem is, which mappings are considered legal and which are not. In the world of "only things written by programs exist", only mappings which can be generated by programs exist; which is not the same as all possible mappings, so a few previously countable things now become "uncountable".
if you describe the real numbers as setoids of Cauchy sequences
with Cauchy-equivalence as the equivalence relation, then there
are uncountably many real numbers.
I start with computable sequences (or — if want — with turing machines), define natural numbers based on them, go to the rational numbers, define real numbers as a setoid of cauchy-sequences (note: all these sequences will be computable by the way we constructed them) of rational numbers, and end up with countably many. So, it depends on what you start your constructive world with. I see no way to start with something uncountable.
You talk about meta-theory and models. I never saw the reason to complicate things with that. Care to elaborate?
It seems you didn't need to redefine the reals as programs to make this argument--the reals are classically defined as Cauchy sequences of rationals and (if the argument were valid) you could make the same claim using these sequences instead of programs.
I don't think the actual philosophical question is whether the reals are countable, it's whether the reals "exist". You can't define the reals such that they're countable because if you did, they wouldn't be the same structure.
reply