4

I was reading "constructive analysis" by Bishop and right on page 15 he writes "The relation of equality given above for rational numbers is an equivalence relation. In this example there is a finite, mechanical procedure for deciding whether or not two given objects in the set are equal. Such a procedure will not exist in general: there are instances in which we are unable to decide whether or not two given elements of a set are equal;" but then right in the next paragraph he insists that functions need to have a finite, mechanical procedure to be valid constructively.

What makes me confused is why do we let equivalence relations not be decidable, it seems that if we were to fully commit to constructivism we should make everything constructive on the offset. Can someone explain to me why this isn't the case?

MJD
  • 65,394
  • 39
  • 298
  • 580
Jello
  • 103
  • Is this the famous problem deciding whether a given expression is $0$ ? This is actually undecidable and for every theory there is an expression equal to zero such that the theyory cannot prove that. – Peter Jan 22 '24 at 16:00
  • 1
    @Peter "For every theory" needs heavy qualification; e.g. that statement is false for the theory of real closed fields, or for the true theory of arithmetic $Th(\mathbb{N};+,\times)$. – Noah Schweber Jan 22 '24 at 16:58
  • I have requested that this question be reopened since I think it cannot reasonably be considered to be “missing details or clarity”, and nobody has advanced a suggestion on what is missing. – MJD Jan 28 '24 at 15:18
  • One useful (at least for me) way to understand Bishop's constructivism is working over Kleene's first realizability model, in which every function $f\colon \mathbb{N\to N}$ is computable. Bishop's constructivism is not quite formal, although he tried to formulate with Algol (according to Iosif Petrakis, see his habiliitation thesis.) Over the Kleene's first realizability model, every 'procedure' we handle must be 'finite and mechanical.' – Hanul Jeon Mar 19 '24 at 18:19

1 Answers1

5

I have not looked at the Bishop book, but I am going to take a guess. This is an analysis text, so we consider the real numbers.

A real number can be understood as an infinite sequence of digits (modulo the equivalence that makes $0.999\ldots = 1.000\ldots$). Constructively it does not make sense to think of an infinite sequence of digits as a single, completed object. Instead, we imagine a process that can generate as many digits as we want. Think of an algorithm for computing digits of $\sqrt 2$. We can't know $\sqrt2$ exactly, but we can know it to any desired precision.

Now let's suppose we have two real numbers, $a$ and $b$. It makes perfect sense, constructively, to say that we know $$a,b\in \Bbb R$$ because we have in hand processes that will produce rational approximations of $a$ and $b$ to any desired precision.

But something strange happens when we try to compare $$a\stackrel?= b.$$ If the numbers are unequal, we can be certain to detect that: at some point we will have generated enough digits of each number to find a place where they differ.

But if the numbers are equal, that never happens, and we will never become certain. We might have found that the first million digits of each number are the same, but we still don't know that they won't differ sometime later. All we can ever say is that $a$ and $b$ are equal to within some precision.

So in this sense, the $=$ relation is not decidable on real numbers! Nevertheless we can certainly recognize a real number when we have one, and we can perform computations with real numbers, such as addition and multiplication, in the sense that we can describe a process that will produce as many correct digits as we want of the sum or product.

You ask:

if we were to fully commit to constructivism we should make everything constructive on the offset…

This is making everything constructive. The goal is to do mathematics with a more accurate model of what can actually be computed. We want to do real analysis. That involves the real numbers. Conventional mathematics claims that the real numbers have a decidable equality relation. Constructive mathematics denies this, because we cannot always compute numeric results with perfect precision.

MJD
  • 65,394
  • 39
  • 298
  • 580
  • 2
    It's worth noting also that if we only ever mention decidable propositions (as suggested in the question), then classical reasoning on them is constructively sound. But very few interesting propositions are decidable. – mudri Jan 23 '24 at 09:47
  • I understand this, but then shouldn't functions also be allowed to not be decidable? – Jello Jan 28 '24 at 13:47
  • I think you may be looking at this backwards. When we say we can't compare two real numbers and see if they are equal, we are observing a limitation of our power to compute. When we say we can't compute the value of a non-constructive function, we are observing a limitation of our power to compute. Constructive mathematics wants to accurately describe what can be computed. It doesn't pretend that we can evaluate a non-constructive (discontinuous) function, and it doesn't pretend that we can compare real numbers for equality. The two things go in the same direction, not opposite directions. – MJD Jan 28 '24 at 15:06
  • You might be right and it's probably be who's being very nitpicky about this, but I'll like to lay out a thought about this that has been troubling me. So, let's say I accept undecidable relations. But then let's consider the function that takes two real numbers and returns 1 if they are equal and 0 if they are not. It seems to me that if we allow the equivalence relation I would have to allow this function to exist even if it's not constructive. But perhaps relations and functions have different status in constructive math? – Jello Jan 28 '24 at 18:39
  • I think I should probably not get farther into this without carefully looking at what Bishop actually says and how his book does things. – MJD Jan 28 '24 at 21:55