top | item 36826910

(no title)

gunnihinn | 2 years ago

> they are objects (I call them oracles) that answer Yes or No when asked if the number ought to be between two given rational numbers.

So a real number is a function from pairs of rationals to a two-element set (plus some sanity conditions)? Why is that better than the other constructions?

discuss

order

jostylr|2 years ago

Yes. The basic reason is lazy evaluation and answering the primary question most people care about when using an actual real number in a computation.

The lazy evaluation is that defining the real number is about having a way of answering the question when presented with the rational interval, but one does not actually need to have the answers until asked.

From this perspective, a program that computes Yes or No when given a rational interval via the rule "a<b Yes iff a^2< 2 < b^2" can be said to be the square root of 2. For the usual presentations of the other definitions, they cannot be embodied in a computer. One cannot literally have all the infinite elements of a Cauchy sequence, or the infinite sequence of digits in a decimal representation, or the uncountably many elements of a Dedekind cut, represented in a computer memory. One can have a function in memory.

The other definitions can also be presented, in various ways, as functions as well, but I think, fundamentally, what we want in practice from a real number is an interval of small enough size to be of use in whatever we are doing with the real number. That is what the oracles facilitate.

ginnungagap|2 years ago

One can have a function in memory when the real number is nice in some sense, your example is algebraic.

But what if I want to represent an uncomputable number?

Or regardless of that, under any reasonable encoding of programs that can be held in memory by a computer, there are only countably many programs.