Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Because everyone gave me such good and well meaning answers perhaps you’ll permit me a follow up.

As I understand it we can say the cardinality of the reals is 2^aleph_0. Why is it cheating to create a bijection thusly:

    0 -> 0
    1 -> 1/(2^aleph_0)
    2 -> 2/(2^aleph_0)
etc?


1/(2^{\aleph_0}) isn’t something that has a clear meaning.

2^{\aleph_0} is a cardinal number, which isn’t really a number in the sense of “an element of a field” or something like that. Dividing by it isn’t a well defined thing.

And, you certainly can’t just multiply any real number (or, any real number between 0 and 1) by 2^{\aleph_0} and get a different integer as a result.

(Now, if you work in the surreal numbers, you can define things like n/(2^{\aleph_0}) (identifying cardinals with the first ordinal of that cardinality), but these would not be real numbers. They would all be infinitesimal , smaller than 1/k for all positive integers k, and yet bigger than 0. Similarly in the surreal numbers, you could multiply real numbers between 0 and 1 by 2^{\aleph_0}, but you would get surreal numbers which are larger than every integer (in fact, larger than any countable ordinal))

Summary: What you wrote doesn’t define a mapping from the integers to the real numbers . (It can be interpreted as defining a map from integers to something else though.)


Problem 1: 1/(2^aleph_0) isn't a real number. The real numbers don't contain infinitesimals. It's possible to formalize a number that behaves like 1/(2^aleph_0) "ought to" (surreals would be one possible approach), but the result won't be a real number.

Problem 2: There's no natural number that maps to (say) 1. Even if you do allow 1/(2^aleph_0), there's no finite number n that would make n/(2^aleph_0) = 1. With any reasonable definitions of the operations involved here, n/(2^aleph_0) would always be infinitesimal, so it would never equal a non-infinitesimal.

Problem 3: You're still skipping over infinitely many numbers. If 1/(2^aleph_0) is a number (and again, this requires going beyond the real numbers) and 1.5 is a number, then 1.5 * 1/(2^aleph_0) = 1.5/(2^aleph_0) is also a number, but no natural number gets mapped to that.


I am not entirely sure what you wrote or are asking, but if you're interested in this stuff, come take the course (or read the book) I mentioned here:

https://news.ycombinator.com/item?id=27846666


Are real numbers uniformly spaced? Or are there clusters?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: