A constructivist would probably state the result more positive (and stronger, constructively): To every countable set M of real numbers, there is a real number not contained in M.
A constructivist would probably state the result more positive (and stronger, constructively): To every countable set M of real numbers, there is a real number not contained in M.
A constructivist would state the result in a variety of ways. But none of them would involve a potentially self-referential construction based on the absolute truth of an infinite number of statements. Which really does rule out Cantor's argument.
What does make real numbers weird when working constructively is that you cannot conclude |x| > 0 from x != 0. This means that 1 / x need not exist even if x != 0, so the real numbers do not form a field in the classical sense.
If you don't trust me, maybe you'll trust wikipedia: https://en.wikipedia.org/wiki/Constructivism_(mathematics)#C....
https://en.wikipedia.org/wiki/Cantor%27s_diagonal_argument#I...
Wikipedia says that the Cantor argument shows "no more" than that there is no bijection between the natural numbers and the real numbers. As far as I can tell, it also proves that there is no surjection from the natural numbers onto the reals in every system of constructive mathematics I know of, so I think this is slightly misleading.
What do you mean by "distinguishable"? In constructivism, a set A such that x = y or x != y for all x, y in A is sometimes called decidable. And yes, it is indeed not true that the real numbers are decidable. This would imply that there is an algorithm that decides whether two infinite sequences of ones and zeroes will differ at some point or agree indefinitely, which is pretty much equivalent to solving the halting problem. On the other hand, the natural numbers, integers, rational numbers and every finite algebraic extension of the rational numbers (for example Q[i], "rational imaginary numbers") is decidable.
Furthermore if we limit all mathematics to things that can in principle be done on a Turing machine, then this statement is trivially true because all possible Turing machines is a countable set.
Moving from Turing machines to a Turing-complete programming language, we could define a real number as an equivalence class of functions from positive integers to fractions such that for each function |f(n) - f(m)| <= 1/n + 1/m, and two such functions are equivalent if |f(n) - g(n)| <= 2/n for all positive n.
The question of whether a given function is actually a real number is in general undecidable. The question of whether two functions represent the same real number is also undecidable. However it is easy to create a set of functions that will definitely include all real numbers under this definition (and a few things that are not), but some of those real numbers will be included multiple times.
And the really important point about this is that suddenly "uncountable" doesn't mean "more". It just means that there is an undecidable question or three creating complexity in the way of generating the mapping.
Mayhap.
>A constructivist would state the result in a variety of ways. But none of them would involve a potentially self-referential construction based on the absolute truth of an infinite number of statements. Which really does rule out Cantor's argument.
But in any case you misunderstand Cantor's argument and constructive mathematics.
mbid is correct; Cantor's diagonalization argument constructively proves the uncountability of the real numbers, see e.g. Bishop-Bridges' CONSTRUCTIVE ANALYSIS, Theorem 2.19, page 29.
I have a similar (and I believe to be equivalent) problems with infinitesimal as well. How does arbitrarily small but non-zero become infinitesimal? Since I have problem with infinitesimal, I find the differentiation of real numbers and rational numbers equally non-sensical.
So mathematician, take a pause, could you explain what is countable infinity? Since you never can finish counting (all the natural numbers), how does it make the set countable? What do we mean exactly by countable here?
Wikipedia refers to the idea of one-to-one correspondence. But since you can never exhaust the correspondence, what do we mean by one-to-one? Give me any unique real, I'll give you a unique natural number, and we can go on forever, so how does that not count as one-to-one correspondence?
Unlike mathematicians, physicists are fine with unresolved :)
PS: I guess countable can be defined as there is a definite way of ordering the set, which is true for natural numbers but questionable for real numbers. I still don't see how the ordering connects to the size of infinity and one to one correspondence. Even for the set of real numbers, I can have an algorithm continuously generate random numbers (discarding re-occurring ones so it will be a unique sequence) and prove there is an order of the set (non-exhaustively defined, same as the set of natural number). The ordering may not be describable though. But non-describable ordering is still an ordering, right? Just as a real number that cannot be exhaustively described is still a number. I don't have to describe it, I can hand-wave it just as the way mathematicians hand-waved the infinity.
Yes, the counting process is non-terminating. But every item gets counted after only finite time.
Refer to my other reply, you asserted a requirement of predefined (describable) counting scheme here. Why that requirement has any relevance here (in the context of infinity)?
The proof that the adversary cannot name such an item is logically the same as a proof that every item gets counted. This is a fundamental logical truth, namely de Morgan's law for universal/existential quantifiers: (not exists x such that P(x)) is the same as (forall x, not P(x))
> Why that requirement has any relevance here
'A counting scheme' is an intuitive way of providing a 'one-to-one correspondence to the natural numbers,' which is used in the technical definition of countability.
So for example, the set of natural numbers is countably infinite and we know this because we can write a function that maps each natural number to exactly one natural number: the id function.
We can extend this and say that the set of even natural numbers is countably infinite because it has a mapping function of x => x / 2.
The same is true for all integers (natural numbers + negative numbers): x => if (x < 0) { x * -1 * 2 } else if (x == 0) { 0 } else { x * 2 + 1 }, i.e. if it's negative map it to an even number and if it is positive map it to an odd number, if it's zero map it to itself.
You can even write a function that maps all rational numbers to the natural numbers, since each rational number can be written as a fraction of two integers. (Figuring out the function is a fun exercise but it is also easy to google)
However, you can't write a function that maps any real number to a natural number. The easiest to understand proof of this is Cantor's Diagonal Argument[0], which is a proof by contradiction that shows that any attempted function must exclude some real numbers. Therefore, the real numbers are not countably infinite, and we call them uncountably infinite.
EDIT: In response to your edit, Cantor's Diagonal Argument basically shows that for any given function (and you have to define the function completely ahead of time - that's key) I can give you a real number that is not included in the domain of your function.
[0]: https://en.wikipedia.org/wiki/Cantor%27s_diagonal_argument
f(r) = if (r == 0) { 0 } { else f(p(r)) + 1 }
If your objection is "You can't determine what the previous real number is." Then my counter-objection is "Please prove that you can't." Which I don't think is possible without first assuming reals are uncountable.Cantor's diagonal argument shows that any mapping from the natural numbers to the real numbers must necessarily miss some real numbers out. It takes some time to get your head around if you aren't used to mathematical proofs, but it's definitely worth looking it up and trying to work through it if you're interested in this subject.
Given real number r, assume there exists a real number q such that q < r and there does not exist a real number x such that q < x < r. Let real number y = (q + r) / 2. It is trivial to show that q < y < r. Therefore we have a contradiction, and therefore there does not exist a real number q that meets our conditions for a "previous real number".
If you take issue with this, then I suggest you read up on the standard construction of the number systems from the naturals up to the reals. This is all very rigorously defined in terms of ZFC set theory.
Not what countable means. The meaning meant is the one about having a map from the set to the integers, where no two things of the set map to the same integer.
The correspondence is meant as either a full thing, or at least a well defined specification which could be applied to any of the things, if you want to get philosophical about ontology or something.
Also, the specification can't depend on things like, what reals have been given as input "previously".
Say that in this game, you have two obligations:
1: for any n,m I give, you must tell me what the mth binary digit of the real number associated with n is, in the mapping you are considering (or, if there is no real number associated with that natural number.).
2: For any finite collection of the binary digits of the real number I am choosing, you must tell me the first natural number such that the corresponding real number matches all the digits I specified.
With these rules, I can choose my real number (specifying more and more digits) such that for any natural number, I will be able to show that my real number doesn't correspond to that natural number, or any lower one.
Therefore, there is no natural number that corresponds to my number in the matching system you are providing.
(To win, I repeat this procedure:
Ask what the first natural not ruled out already by my specification of my number is. (Call that n)
Ask what the nth digits of the real associated with n is.
Inform you that the nth digit of my number turns out to have the other value for its nth digit, so no natural less than or equal to n corresponds to my number.
Repeat.
This will only ever tell you more about my number, and will not result in me changing my mind about any of the digits of my number, yet there is no natural number which won't ever be ruled out as potentially corresponding to my number.
Therefore, no natural corresponds to my number in your system.
So I win.)
For any way of doing the mapping, there is a real number that the mapping misses. Alternative statement: "there is no such mapping that doesn't miss any of the reals".
This is shown because, given a mapping, I can find a real that the mapping misses.
When one says "for all x, there exists a y such that P(x,y)", the y is allowed to depend on the x.
That's what this is.
Why wouldn't your objection apply to the proof that the halting problem is uncomputable ? The program that the halting checker can't check is defined in terms of the halting checker. Why is that allowed? Because that is what the statement is saying. For any purported halting checker, there exists a program it doesn't decide the halting of.
Similarly here, for any purported bijection between the integers and the reals, there is a real that the purported bijection misses.
I don't know if you are using the word "countable" in the standard way, so I don't know what you mean by that last sentence.
The general halting problem is uncomputable. It can only be simulated. However, any program is still assumed to be finitely described. Any discussion in finite domain (including arbitrarily big finite) cannot lead to conclusions or insight toward infinite.
> I don't know if you are using the word "countable" in the standard way, so I don't know what you mean by that last sentence.
In the context of infinity, words such as countable, bigger, order, etc. all lose its standard meaning. We don't really know what it means if we don't really know what infinity is. Mathematicians simply made a definition to countable here -- a finitely described mapping -- that is fine on its own, but completely useless. Since we can't draw any parallels from infinity to finite (including arbitrarily big), we can't really relate any definitions over the infinity to "standard" meaning of those words to the domain of finite.
The computational techniques from Automatic Differentiation use these types of entities to calculate derivatives exactly without approximating infinite (limiting) processes.
Calculus can be done constructively without infinite limiting processes purely algebraically using these nilpotents. And from a geometric interpretation there is nothing nonsensical about a tangent line to a curve.
Also you don't differentiate numbers (real or rational), you can only differentiate functions.
Also the idea of a actual infinity is a poetic mathematical one. It doesn't have to fit reality. The issue is whether it is useful and to what extent.
I don't have problem with calculus -- or I wouldn't be able to do physics. I am having problem with calculus based on infinity.
> Also the idea of an actual infinity is a poetic mathematical one. It doesn't have to fit reality. The issue is whether it is useful and to what extent.
Well said.
> Also you don't differentiate numbers (real or rational), you can only differentiate functions.
Of course I meant distinction.
Start counting the naturals: 1, 2, 3, ...
At future timelike infinity you'll reach infinity.
Now for the reals. Your goal is to step from 0 to 1, by way of 0.1, 0.01, and so forth.
0 0.0........
At future timelike infinity you still haven't stopped adding in zeroes to the right of the decimal point.
In the first case, at any finite time before \breve{i}^+ you will have counted out some finite natural number. In the second case, you will not yet have counted out your first nonzero real.
This survives across changes of positional counting systems, and almost certainly survives arbitrary choices of non-lossy notation, as long as you start with a finite representation of 0.
> Start counting the naturals: 1, 2, 3, ...
> At future timelike infinity you'll reach infinity.
> Now for the reals. Your goal is to step from 0 to 1, by way of 0.1, 0.01, and so forth.
> 0 0.0........
> At future timelike infinity you still haven't stopped adding in zeroes to the right of the decimal point.
> In the first case, at any finite time before \breve{i}^+ you will have counted out some finite natural number. In the second case, you will not yet have counted out your first nonzero real.
The same reasoning applies for rationals, yet they can still be counted.
The definition of «can be counted» means there is a bijection between your set and the naturals. Such kind of bijection can easily be created for the rationals[1] and Cantor's diagonal argument[2] shows that you can't create such bijection for reals.
There is nothing really intuitive about this concept, but fortunately the proofs are pretty straigtforward which give a kind of «intuition» around this.
[1] https://en.wikipedia.org/wiki/Pairing_function#/media/File:D...
[2] https://en.wikipedia.org/wiki/Cantor%27s_diagonal_argument
It is only straightforward once you accepted infinity and all other definitions/description based on infinity.
If you, like me, cannot accept infinity, then all the proofs/descriptions that contain infinity become apparent non-sensical.
>> Start counting the naturals: 1, 2, 3, ... >> At future timelike infinity you'll reach infinity.
This highlights the flaw. You reach infinity with infinity. Nothing is really being said about infinity. But somehow if you accepted the understanding infinity here, the rest of thesis such as cantor's diagonal argument may seem to be natural, except you forget that you really didn't know what infinity is.
All property of infinity cannot be finitely described. So anything about infinity is built on top of infinity. Turtle all the way down (or up), and we don't really know what it is.
A real number with infinite precision is equally meaningless.
(Above are not directly related to your comments. I simply like to summarize my thought).
Now to your comment. You can start counting from 0 by 2s, you'll never hit 1, but that doesn't show 1 is not countable. It only shows that 1 is not countable in this particular counting scheme. Yes, you can devise a counting scheme that never hits some numbers, doesn't really contribute to either proof or insight.
I assume you are familiar with the counting scheme of rational numbers, and in that scheme, it can hit any number within any (finite) precisions. Just as infinity, a number with infinite precision is unclear. You certainly can define it, but the definition will have infinite built-in, and it is not clear what meaning does such definition adds.
Returning to my previous attempt, you could think of instead a successor function; for any finite natural number the immediately adjacent natural number can be found in finite time. For any real number, the immediately adjacent real number cannot be found in finite time because the step from one real number to the next is infinitesimally small.
All of these examples are "de-generalizations" of the mapping argument. Counting integers from 0 by 2s maps bijectively onto the natural numbers. The naturals map injectively and surjectively onto the reals; you exhaust all the naturals counting between 0.0 and 1.0, or 1.0 and 2.0, or even between 0.01 and 0.011.
"A real number with infinite precision is equally meaningless": uhm, integration of infinitesimals (dS, dV, ...) ?
Here you sneaked the concept of reals in. Remember reals are defined on top of infinity. You can't have reals if we are still debating what infinity is. There are infinite amount of numbers between 2.0 and 4.0, in the same sense there are infinite amount of numbers in the natural set.
Your successor function defines any finite natural number, it does not define infinity. In the rational counting scheme, we can reach any number within any finite precision. A real number that is defined on the base of infinity precision requires infinity time to reach with the same counting scheme -- the same way infinity requires infinity time to reach by 1, 2, 3, ... So if you allow infinity time, the same way you allowed infinity in your definition of real, then all real numbers can be reached (including infinity time) by counting -- not that provide any meaning.
Calculus is based on taking limit -- that is assuming a finite precision, albeit arbitrary. Infinitesimals are still finite, not infinite. Otherwise, you cannot divide them.