Hacker News new | ask | show | jobs
by normac2 1527 days ago
A lot of this is way over my head both mathematically and philosophically, but could we get away with saying that the reals exist in some slightly weaker sense, more like how a function exists?

I.e., reals are number-like entities that are actually described via a mathematical expressions, but can successfully be used in expressions as if they were numbers.

In this account, while a real can be used in the place of numbers in mathematical expressions, it's really more of a placeholder for a function that provides the operation (or for an expression nested inside the larger one; take your pick).

As a loose programming analogy, think of how in some languages you can use a generator in the exact same way as an array (at least for iteration), even though the array is a static value and the generator is actually backed by a function with dynamic behavior. Also think of Haskell with its lazy data structures that are represented the same as "actual" values (e.g., infinite arrays)

The author sort of covers this here:

> In particular, it seems intuitive that there are countably many descriptions of numbers (assuming that descriptions are finite-length strings of some finite language). And the real numbers are uncountable, so accepting the existence of the reals means that there are numbers that exist but can never be described. And this feels deeply unsettling to me: if we can never interact with these numbers even conceptually, it would be impossible to distinguish between two universes where in one they exist and in the other they don’t. Which to me makes their existence feel tenuous at best.

So that's a good objection. But what if we weaken the claim and say that only the "describable" reals actually exist, and for the rest, we can talk about them in principle but they actually don't have corresponding objects? This would divide reals into two categories: function-esque ones that we can describe, and "hypothetical" reals that can't be successfully represented using any formal syntax. Just as how in a programming language with generators, you have a countably infinite number of valid generators and an uncountably infinite number of generators you could dream up that fail to produce values in some way (e.g. bad syntax, perform illegal operations like div-by-0, or even just a generator someone came up with in a fever dream that isn't representable in symbols at all).