Not signed in (Sign In)

Not signed in

Want to take part in these discussions? Sign in if you have an account, or apply for one below

  • Sign in using OpenID

Site Tag Cloud

2-category 2-category-theory abelian-categories adjoint algebra algebraic algebraic-geometry algebraic-topology analysis analytic-geometry arithmetic arithmetic-geometry book bundles calculus categorical categories category category-theory chern-weil-theory cohesion cohesive-homotopy-type-theory cohomology colimits combinatorics complex complex-geometry computable-mathematics computer-science constructive cosmology deformation-theory descent diagrams differential differential-cohomology differential-equations differential-geometry digraphs duality elliptic-cohomology enriched fibration foundation foundations functional-analysis functor gauge-theory gebra geometric-quantization geometry graph graphs gravity grothendieck group group-theory harmonic-analysis higher higher-algebra higher-category-theory higher-differential-geometry higher-geometry higher-lie-theory higher-topos-theory homological homological-algebra homotopy homotopy-theory homotopy-type-theory index-theory integration integration-theory k-theory lie-theory limits linear linear-algebra locale localization logic mathematics measure-theory modal modal-logic model model-category-theory monad monads monoidal monoidal-category-theory morphism motives motivic-cohomology nforum nlab noncommutative noncommutative-geometry number-theory of operads operator operator-algebra order-theory pages pasting philosophy physics pro-object probability probability-theory quantization quantum quantum-field quantum-field-theory quantum-mechanics quantum-physics quantum-theory question representation representation-theory riemannian-geometry scheme schemes set set-theory sheaf sheaves simplicial space spin-geometry stable-homotopy-theory stack string string-theory superalgebra supergeometry svg symplectic-geometry synthetic-differential-geometry terminology theory topology topos topos-theory tqft type type-theory universal variational-calculus

Vanilla 1.1.10 is a product of Lussumo. More Information: Documentation, Community Support.

Welcome to nForum
If you want to take part in these discussions either sign in now (if you have an account), apply for one now (if you don't).
    • CommentRowNumber1.
    • CommentAuthorRichard Williamson
    • CommentTimeNov 20th 2016
    • (edited Nov 20th 2016)

    Mike asked a question on Math Overflow, and also on the constructive mathematics mailing list (where I saw it), concerning whether it is possible to prove, for any pointwise continuous map f:[a,b]f : [a,b] \rightarrow \mathbb{R} with f(a)<0<f(b)f(a) \lt 0 \lt f(b), and any ε>0\epsilon \gt 0, that there is an x[a,b]x \in [a,b] such that |f(x)|<ε\left| f(x) \right| \lt \epsilon.

    My thought is that this might be neither true nor false. For it seems impossible that there could be a counter-example: how one could possible prove that a function is continuous if there is a provable gap in it?! That the IVT itself is provably false constructively is reasonable, because one can imagine that one can come provably arbitrarily close to zero, without provably hitting zero. But proving that there is a gap is a completely different matter; I cannot see any way in which one could possibly demonstrate continuity in that case.

    On the other hand, giving a constructive proof seems very difficult as well. Continuous functions are just too wild locally in general. The only control that one has is around the points f(a)f(a) and f(b)f(b). To be able to give a proof of the approximate IVT, one would need to be able to ’squeeze’ in towards 00. And it seems to me impossible to do this constructively in a way which ensures that one is squeezing above a certain distance each time; and if one does not have the latter property, then one cannot guarantee that one will end up sufficiently close to zero.

    • CommentRowNumber2.
    • CommentAuthorTobyBartels
    • CommentTimeNov 21st 2016

    This is fairly common in constructive mathematics. Even in classical mathematics, it may be impossible both to prove that something is true and to find a counterexample; think of the continuum hypothesis, for example. But it happens a lot more in constructive mathematics.

    • CommentRowNumber3.
    • CommentAuthorMike Shulman
    • CommentTimeNov 21st 2016

    Of course it’s impossible to construct a counterexample in constructive mathematics, since it is consistent to assume countable choice which makes the theorem provable. My question is therefore at the meta-level: is it provable, or if not, is there a countermodel (not an internal counterexample), analogous to the forcing models in which CH is false.

    • CommentRowNumber4.
    • CommentAuthorRichard Williamson
    • CommentTimeNov 21st 2016
    • (edited Nov 21st 2016)

    Sorry, I could have been clearer. What I was getting at is that:

    1) I cannot imagine that there could be any model in which the approximate IVT admits a counter-example;

    2) I also would be extremely surprised if it is provable.

    This is the sense in which I meant that it might be ’neither true nor false’; more accurate, but long-winded, would have been ’not provable but not demonstrably so’. I do not know if there is a standard terminology for this?

    The continuum hypothesis and the constructive on-the-nose IVT are slightly different, in that one can demonstrate that they are not provable (i.e. provide a model exhibiting falsity, as well of course as a model exhibiting truth, so that they are, in a sense, ’both true and false’).

    • CommentRowNumber5.
    • CommentAuthorMike Shulman
    • CommentTimeNov 21st 2016

    Well, if it is not provable, then (in a classical metatheory) there is necessarily at least one model in which it is not true, namely the free topos, in which the true statements are precisely the provable ones. In general this is the content of “completeness theorems” – anything that is not provable admits a countermodel, and conversely anything that is true in all models is provable.

  1. Such completeness theorems do seem to be very dependent on a classical meta-theory to me, and thus I would be inclined to not regard them as presenting an obstruction.

    What is your feeling on the matter? Are you inclined to think that it is provable?

    My own feeling is that if it is provable in completely plain constructivity, then it will not be through some wizardry. I think that either there is some simple idea which everyone through the ages has overlooked (which would be astounding), or it is not possible. One can possibly reduce and reduce the amount of choice involved so that one obtains a proof in a setting you are interested in, but a proof in completely plain constructivity would be remarkable.

    But, to me, even such a proof would be blown out of the water by a counter-model. If there is some model of the real numbers (etc) in which can prove that a ’continuous function’ has a gap, then our intuition as to the definition of pointwise continuity has been woefully misled all these years, as I see it! Do you disagree?

    • CommentRowNumber7.
    • CommentAuthorMike Shulman
    • CommentTimeNov 21st 2016

    I think you’re misunderstanding the nature of a countermodel. I certainly don’t expect that there is a model in which there is a particular pointwise-continuous function that has a gap. But I think the most likely situation is that there is a model in which the statement “every pointwise continuous function satisfies aIVT” is not assertable, not because there is a particular pointwise-continuous function that violates aIVT, but because the conclusion of aIVT cannot be asserted continuously/computably in its inputs.

    However, I wouldn’t bet too much money on that being the outcome. I think it’s not too unlikely that there is a proof that hasn’t been found simply because no one was looking for it: few “constructivists” who are interested in things like aIVT seem to understand why anyone would object to countable choice.

    • CommentRowNumber8.
    • CommentAuthorMike Shulman
    • CommentTimeNov 21st 2016

    In fact, I wouldn’t even be all that surprised if there is a proof already in the literature somewhere that no one has noticed because they weren’t looking for it.

    • CommentRowNumber9.
    • CommentAuthorRichard Williamson
    • CommentTimeNov 22nd 2016
    • (edited Nov 22nd 2016)

    But I think the most likely situation is that there is a model in which the statement “every pointwise continuous function satisfies aIVT” is not assertable, not because there is a particular pointwise-continuous function that violates aIVT, but because the conclusion of aIVT cannot be asserted continuously/computably in its inputs.

    I’m not sure what you mean to say here. The well-known counter-model to the IVT is of the kind you mention. But it is still an actual counter-model, i.e. there is a model (the effective topos, for instance) where the IVT is demonstrably false, building from a weak counter-example which uses a specific function.

    I am saying that I suspect that such a counter-model does not exist for the aIVT. I cannot make sense of what you are suggesting should be taken to be the meaning of a counter-model to the aIVT…could you elaborate?

    I think it’s not too unlikely that there is a proof that hasn’t been found simply because no one was looking for it

    I myself think that it is highly unlikely, but we can agree to disagree! If someone comes up with a proof, I would be delighted to see it: I can’t imagine how such a proof would go, without any use of choice, myself.

    • CommentRowNumber10.
    • CommentAuthorMike Shulman
    • CommentTimeNov 22nd 2016

    My intuition for computable models is not as strong; I’m not sure exactly what happens in the effective topos. But in the topological counter-models that I understand, there is not actually a specific function but rather a family of functions, such as f e(x)=g(x)+ef_e(x) = g(x)+e where g(x)g(x) is constantly 0 on some subinterval [c,d][a,b][c,d] \subset [a,b]. So f ef_e has a root <c\lt c if e>0e\gt 0 and a root >d\gt d if e<0e\lt 0, and each f ef_e has a root, but the statement “each f ef_e has a root” is not true internally to the model because there is a discontinuous jump in the position of the root. This is the sort of countermodel that I think is most likely to exist for the aIVT as well.

    • CommentRowNumber11.
    • CommentAuthorRichard Williamson
    • CommentTimeNov 22nd 2016
    • (edited Nov 22nd 2016)

    To be able to use a specific function, one only needs to know (i.e. it needs to be demonstrable in the model) that there is some xx \in \mathbb{R} such that we cannot decide whether x0x \geq 0 or x0x \leq 0 (i.e the negation of x,(x0)(x0)\forall x \in \mathbb{R}, (x \geq 0) \vee (x \leq 0) is demonstrable). Then we take exactly the single function f ef_{e} that you describe, with e=xe=x. The point (the weak counter-model) is that we cannot determine a root of f xf_{x}, because if we could, then we could determine whether x0x \geq 0 or x0x \leq 0. So this example is not something exotic, but something really very natural in a constructive setting (the fact that there is an xx such that we cannot determine x0x \geq 0 or x0x \leq 0 is rather fundamental to constructive analysis). It is what I was getting at when I wrote that we cannot provably obtain (i.e. construct) a root.

    Whereas the aIVT would seem to me to be of a very different flavour. In the above counter-model for the IVT, we begin with an obviously continuous function (what you called gg). Something like this is clearly not possible for the aIVT. I cannot imagine that passing from a constructive to a non-constructive setting could ’close the gap’ of a discontinuous function. And I don’t think that one can play logical games here; I think that if there is a counter-model, there will be one for a specific function.

    • CommentRowNumber12.
    • CommentAuthorMike Shulman
    • CommentTimeNov 22nd 2016

    I don’t see any reason to believe that a counter-model would have to be for a specific function. In fact it’s precisely because, as you asy the aIVT has a different flavor, that I think a counter-model with a specific function is unlikely to work.

    • CommentRowNumber13.
    • CommentAuthorMike Shulman
    • CommentTimeNov 23rd 2016

    MO user Matt F. has posted a proposed proof, and I don’t see anything wrong with it yet. The idea is that at the point when we make a “choice” in the proof that uses countable choice, we can instead interpolate between the two options.

    • CommentRowNumber14.
    • CommentAuthorRichard Williamson
    • CommentTimeNov 23rd 2016
    • (edited Nov 23rd 2016)

    I would be delighted to salute human ingenuity if the proof holds (actually, either way I salute the ingenuity of the attempt)!

    Everybody seems to think it does hold. However, I am not yet completely convinced about the definition of d nd_{n}. For it seems to me that we can construct a weak counter-example to d nd_{n} being constructable. As in #11, let xx \in \mathbb{R} be such that we cannot decide whether xε2x \geq \frac{\epsilon}{2} or xε2x \leq \frac{\epsilon}{2} (where this has the precise meaning that I described in #11). Let ff be any pointwise continuous function satisfying the hypotheses such that f(c n)=xf(c_{n}) = x for some nn. It seems to me that we cannot decide constructively what d nd_{n} should be in this case. For we need to be able to decide what min(12+f(c n)ε,1)min\left( \frac{1}{2} + \frac{f(c_{n})}{\epsilon}, 1\right) is. For this, we need to be able to decide if 12+f(c n)ε1\frac{1}{2} + \frac{f(c_{n})}{\epsilon} \geq 1 or 12+f(c n)ε1\frac{1}{2} + \frac{f(c_{n})}{\epsilon} \leq 1. But if we could decide this, then we could decide whether or not x=f(c n)ε2x=f(c_{n}) \geq \frac{\epsilon}{2} or x=f(c n)ε2x=f(c_{n}) \leq \frac{\epsilon}{2}. But this is demonstrably impossible.

    What am I overlooking here?

    • CommentRowNumber15.
    • CommentAuthorDavidRoberts
    • CommentTimeNov 23rd 2016

    Your arguments to min are not the same as in the proof. Not that this is a fatal flaw to your argument, but I trust the people who have said on MO the proof holds up. My query is also about the definition of max and min in the constructive setting. Perhaps we can define d nd_n like so, but we don’t know what it is. Given a proof that such and such a number is separated from 0 and positive, then we could make a definite pronouncement about it… Is this right?

  2. This was a typo (or more precisely something that I failed to remove after changing my mind half way about how to present things), thanks for spotting it! I have corrected the typo now, and also simplified things slightly.

    • CommentRowNumber17.
    • CommentAuthorMike Shulman
    • CommentTimeNov 23rd 2016

    “Deciding what min(12+f(c n)ε,1)min\left( \frac{1}{2} + \frac{f(c_{n})}{\epsilon}, 1\right) is” doesn’t require deciding whether it is 1\ge 1 or 1\le 1. Otherwise we wouldn’t be able to “decide” what your xx is either.

    Actually I don’t think “deciding what a number is” is a good phrase to use, since it invokes a feeling of some need like this. All that we need to do with d nd_n is define it, which means to give either a Cauchy sequence converging to it or a Dedekind cut specifying it. In either case it’s straightforward to define the max and min functions.

    • CommentRowNumber18.
    • CommentAuthorDavidRoberts
    • CommentTimeNov 24th 2016

    I guess I was falling into the trap of trying to decide whether d nd_n is equal to one or other of the two options. But this I not intuitionistically valid.

    • CommentRowNumber19.
    • CommentAuthorRichard Williamson
    • CommentTimeNov 24th 2016
    • (edited Nov 24th 2016)

    Let me try to elaborate, Mike. I agree of course that minmin and d nd_n can be defined constructively. But I don’t agree that we are then done. In particular, we are not necessarily able to prove what minmin or d nd_n are equal to.

    For a constructive proof of the aIVT, we need to construct an xx such that |f(x)|ε\left| f(x) \right| \leq \epsilon. And to me it seems that this can’t be done in general, for the reason I gave: there might be a yy such that the negation of (yε2)(yε2)\left( y \leq \frac{\epsilon}{2} \right) \vee \left( y \geq \frac{\epsilon}{2} \right) is provable, and such that f(c n)=yf(c_n) = y. In this case, one cannot prove that d m=1d_m = 1 or d m=0d_m = 0 in the manner of the end of the proposed proof, so we cannot construct a m+1a_{m+1} or b m+1b_{m+1}, and hence we cannot construct xx.

    • CommentRowNumber20.
    • CommentAuthorRichard Williamson
    • CommentTimeNov 24th 2016
    • (edited Nov 24th 2016)

    In particular, I think that there may be a subtle error in the proof when it comes to trichotomy. What is true is that since ε2<ε\frac{\epsilon}{2} \lt \epsilon, we can prove that either f(c m)>ε2f(c_{m}) \gt \frac{\epsilon}{2} or f(c m)<εf(c_{m}) \lt \epsilon. And similarly, since ε<ε2-\epsilon \lt -\frac{\epsilon}{2}, we have that either f(c m)>εf(c_{m}) \gt -\epsilon or f(c m)<ε2f(c_{m}) \lt -\frac{\epsilon}{2}. But this is not the same as saying that we can prove that one of the following holds:

    1) f(c m)<ε2f(c_{m}) \lt -\frac{\epsilon}{2};

    2) f(c m)>ε2f(c_{m}) \gt \frac{\epsilon}{2};

    3) |f(c m)|<ε\left| f(c_{m}) \right| \lt \epsilon.

    For suppose that we can prove that 3) does not hold. Then whether 1) or 2) holds depends on whether we proved that f(c m)<εf(c_{m}) \lt \epsilon is not the case or that f(c m)>εf(c_{m}) \gt -\epsilon is not the case. Constructively, we cannot prove that one of these two things must not be the case.

    • CommentRowNumber21.
    • CommentAuthorMike Shulman
    • CommentTimeNov 24th 2016

    The trichotomy of 1-3 follows from the two disjunctions that you mentioned before it. The two disjunctions put together tell us that either

    • f(c m)>ε/2f(c_m)\gt \varepsilon/2 and f(c m)>εf(c_m) \gt -\varepsilon, in which case (2) holds;
    • f(c m)>ε/2f(c_m)\gt \varepsilon/2 and f(c m)<ε/2f(c_m) \lt -\varepsilon/2, which is impossible;
    • f(c m)<εf(c_m) \lt \varepsilon and f(c m)>εf(c_m) \gt -\varepsilon, in which case (3) holds;
    • f(c m)<εf(c_m) \lt \varepsilon and f(c m)<ε/2f(c_m) \lt -\varepsilon/2, in which case (1) holds.
    • CommentRowNumber22.
    • CommentAuthorRichard Williamson
    • CommentTimeNov 24th 2016
    • (edited Nov 24th 2016)

    My point is that there is no way to constructively to choose between these options, i.e., if one prefers to think of it this way, there is no algorithm which takes ff and c mc_{m} and can tell us which of these four possibilities holds.

    If we have a proof of the negation of (f(c m)ε2)(f(c m)ε2)\left( f(c_{m}) \leq \frac{\epsilon}{2} \right) \vee \left( f(c_{m}) \geq \frac{\epsilon}{2} \right), then three of these four possibilities contradict it. So the only thing we can possibly give a proof of in that case is that (3) holds. Hence we cannot construct a m+1a_{m+1} or b m+1b_{m+1}, etc.

    • CommentRowNumber23.
    • CommentAuthorMike Shulman
    • CommentTimeNov 24th 2016

    there is no algorithm which takes ff and c mc_{m} and can tell us which of these four possibilities holds.

    It is certainly true that there is no function definable in constructive logic that will take as given a real number yy (nothing in the disagreement is relevant to whether yy is of the form f(c m)f(c_m)) and output “1”, “2”, or “3” with the property that the statement with that number is true, because if there were then it would define a nonconstant function 3\mathbb{R}\to 3 which is not possible. However, for the same reasons there is no function that will take a real number yy and output “1” or “0” with the property that if it outputs “1” then y<1y\lt 1 and if it outputs “0” then y>0y\gt 0, since that would be a nonconstant function 2\mathbb{R}\to 2. However, the nonexistence of this latter function does not prevent us from proving the true statement “every real number is either <1\lt 1 or >0\gt 0”, and likewise the nonexistence of the former function does not obstruct the desired trichotomy here.

    This is one of the places where traditional “constructivists” often get tied up in knots, because they don’t understand the difference between the disjoint union A+BA+B and the disjunction ABA\vee B, or more generally between constructions and proofs. In HoTT language, AB=A+BA\vee B = \Vert A+B\Vert.

    Of course, if we were going to give a definition based on which of the three properties held, then we would be stuck because we would need A+B+CA+B+C rather than just ABCA\vee B\vee C. However, that’s not what the proof does. The numbers a m+1a_{m+1} and b m+1b_{m+1} are defined without any need for the trichotomy. The trichotomy is only used in order to prove something about these numbers once they have been defined.

    • CommentRowNumber24.
    • CommentAuthorRichard Williamson
    • CommentTimeNov 24th 2016
    • (edited Nov 24th 2016)

    Thanks, Mike, this is helpful in clarifying our respective point of views. You agree, then, that this proof does not give any algorithm to produce an xx such that |f(x)|<ε\left| f(x) \right| \lt \epsilon? This is what I have been taking to be the meaning of giving a proof of the aIVT the whole time (I suppose that I am a traditional ’constructivist’ in this regard)! In particular, it explains why I do not consider the proof to be a proof in the sense I was looking for.

    Indeed, I find the argument rather ’theological’, even when considered in the way you suggest. I mean, take c 1c_{1}. Suppose that we do not have a proof that f(c 1)ε2f(c_{1}) \geq \frac{\epsilon}{2} or that f(c 1)ε2f(c_{1}) \leq \frac{\epsilon}{2}. Then, since the proof still goes through, we must have a proof that |f(c 1)|<ε\left| f(c_{1}) \right| \lt \epsilon. This meta-implication looks preposterous to me.

    • CommentRowNumber25.
    • CommentAuthorTobyBartels
    • CommentTimeNov 25th 2016

    Richard, would you agree that (given any real xx and any positive real ε\varepsilon) that x>0x \gt 0 or x<εx \lt \varepsilon? Do you conclude that if we do not have a proof that x0x \geq 0 then we must have a proof that x<εx \lt \varepsilon? I don't see why the trichotomy in this proof is any more preposterous.

    • CommentRowNumber26.
    • CommentAuthorTobyBartels
    • CommentTimeNov 25th 2016
    • (edited Nov 25th 2016)

    The proof produces an algorithm until the very end. There are precise formulas given for each value of aa, bb, cc, and dd, and we only have to make a finite number of nondeterministic comparisons to get the final result from the sequence cc.

    • CommentRowNumber27.
    • CommentAuthorMike Shulman
    • CommentTimeNov 25th 2016

    In order to conclude that |f(c 1)|<ε|f(c_1)|\lt \varepsilon from the trichotomy we have to know that f(c 1)ε/2f(c_1)\ge \varepsilon/2 and f(c 1)ε/2f(c_1)\le-\varepsilon/2 are false. That’s very different from “not having proofs that they are true”. Indeed one might argue that that difference is at the very heart of constructivism.

    It is an interesting question, though, whether we can prove aIVT with an untruncated existential. That is, Matt’s proof is that f: x:\textstyle \prod_{f:\mathbb{R}\to\mathbb{R}} \prod_{\dots} \Vert \sum_{x:\mathbb{R}} \dots \Vert; can we prove instead f: x:\textstyle \prod_{f:\mathbb{R}\to\mathbb{R}} \prod_{\dots} \sum_{x:\mathbb{R}} \dots?

  3. Hi Toby, thanks for joining in the discussion. I am very interested to hear your thoughts.

    Do you conclude that if we do not have a proof that x0x \geq 0 then we must have a proof that x<εx \lt \varepsilon?

    I would not make this conclusion. Recall that I am regarding proof as the same as a construction, i.e. having an algorithm. Then there is simply no relationship between not having a proof that x0x \geq 0, and having a proof that x<εx \lt \epsilon. I might not know enough about xx to be able to prove either of these things.

    would you agree that (given any real xx and any positive real ε\varepsilon) that x>0x \gt 0 or x<εx \lt \varepsilon?

    I do not agree that there is an algorithm that given xx, tells me whether x>0x \gt 0 or x<εx \lt \varepsilon.

    I do agree that one can give a proof in a less constructive sense, which is the one everyone else is thinking of. This proof uses the fact that xx can be built out of rationals in some way. Now, given xx, I do not have an algorithm to find how it can be built out of rationals. So I do not know how to apply this proof.

    A good example is something like the real number y=min(0,x)y=min(0, x), for some real number xx. If we had an algorithm to find what yy is given xx, we would have an algorithm for showing that x0x \geq 0 or x0x \leq 0 for any xx, which is impossible. We only know that yy is built out of rationals in some way, and we have a proof that works for anything built of rationals.

    So, in my view, one can see it as a form of choice, when proving something like x>0x \gt 0 or x<εx \lt \epsilon, that one is ’picking’ out a way to build yy from rationals, even though one doesn’t have an algorithm to do it.

    I am actually really interested in people’s views on whether they consider the following preposterous. Forget about the background here for a moment, and just take the statement on its own.

    if we do not have a proof that x0x \geq 0 then we must have a proof that x<εx \lt \varepsilon?

    Regarding the following…

    The proof produces an algorithm until the very end.

    …perhaps what I have written above helps explain why I do not agree.

    There are precise formulas given for each value of aa, bb, cc, and dd.

    Yes, they are precise formulas, so they define some real number, but, as above, there is no algorithm to tell us which real number they define, and so we do not get an algorithm with allows us to compute xx.

    I’m not playing the contrarian here, these are my genuine views! I am very interested in others’ thoughts, and hope that people will continue to contribute.

    • CommentRowNumber29.
    • CommentAuthorRichard Williamson
    • CommentTimeNov 25th 2016
    • (edited Nov 25th 2016)

    Posted the above before reading Mike’s last comment.

    In order to conclude that |f(c 1)|<ε|f(c_1)|\lt \varepsilon from the trichotomy we have to know that f(c 1)ε/2f(c_1)\ge \varepsilon/2 and f(c 1)ε/2f(c_1) \le \varepsilon/2 are false. That’s very different from “not having proofs that they are true”. Indeed one might argue that that difference is at the very heart of constructivism.

    Yes, I was very careful to use the term ’meta-implication’. I am not arguing that we can prove anything in the model. I think that I wrote is perfectly reasonable on the meta-level: we have a proof that one of three things holds, we do not have a proof that two of them hold, so if we are saying that the argument goes through, then there is only one possibility…

    (Note that there is no (meta-)contradiction here. Whereas having a proof that one of three things holds and not having a proof of any of them is a (meta-)contradiction.)

  4. Perhaps it will help if I paraphrase the meta argument. Suppose it is known for certain at the present time that there is a green ball, a red ball, or a blue ball in a bag. Suppose that it is not known for certain at the present time that there is either a green ball or a red ball. Then, since we are certain at the present time (i.e. we are not allowing the possibility of further information coming our way) that we must have one of the three balls, it must be a blue ball.

    • CommentRowNumber31.
    • CommentAuthorMike Shulman
    • CommentTimeNov 25th 2016

    Re #30, no, that doesn’t follow at all. It is possible to know that one of three things must be true without knowing which of them is true. For instance, I know that at this moment there are either one, two, or three people asleep in my house, because there are four people total, Rena is asleep, and I am awake; but because Megan and Arthur are in another room I do not know which of the three possibilities obtains.

    The “interesting question” in my #27 is false, by the way. Consider f s(x)=x(x1)(x+1)+sf_s(x) = x(x-1)(x+1)+s. For s<1/2s\lt -1/2 the only approximate roots (for ε\varepsilon sufficiently small) are >1\gt 1, and for s>1/2s\gt 1/2 the only approximate roots are <1\lt -1. If there were an untruncated proof of aIVT, then there would be a function \mathbb{R} \to \mathbb{R} assigning to each ss an approximate root of f sf_s, but this is impossible to do continuously.

    • CommentRowNumber32.
    • CommentAuthorTobyBartels
    • CommentTimeNov 25th 2016

    @Richard #28:

    Do you conclude that […]

    I would not make this conclusion.

    But presumably you would hypothetically conclude that from

    (given any real xx and any positive real ε\varepsilon) that x>0x \gt 0 or x<εx \lt \varepsilon?

    which you apparently do not really accept:

    I do not agree that there is an algorithm that given xx, tells me whether x>0x \gt 0 or x<εx \lt \varepsilon.

    Although that's not exactly what I asked, because constructive mathematics isn't necessarily about algorithms.

    Even in a computable model of constructive mathematics, an algorithm doesn't take a real number as input but rather takes a computable representation of a real number, and then there is an algorithm that tells you whether x>0x \gt 0 or x<εx \lt \varepsilon (assuming that ε\varepsilon is also given by a computable representation and you have a proof that ε>0\varepsilon \gt 0 to refer to; I'll use ε=1/n\varepsilon = 1/n for a positive integer nn to keep it simple).

    I suppose that the details will vary with the model, but in the one that I keep in my head, a real number is given by an algorithm that, given a positive integer nn, returns an integer x nx_n, in such a way that |mx nnx m|<m+n{|{m x_n - n x_m}|} \lt m + n for each mm and nn. (The idea is that xx is within 1/n1/n of the rational number x n/nx_n/n.) Then to decide whether the real number given by such an algorithm is greater than 00 or less than 1/n1/n, it is sufficient to compute x nx_n; if x n0x_n \leq 0, then x<εx \lt \varepsilon, and if x n1x_n \geq 1, then x>0x \gt 0.

    Of course, different algorithms can given equal real numbers. (The algorithms xx and yy define equal real numbers iff |x ny n|<2{|{x_n - y_n}|} \lt 2 for each nn.) Certainly there is constructively no function ff (understood as an extensional function preserving this equality) that given xx, returns 00 or 11 such that x<εx \lt \varepsilon if f(x)=0f(x) = 0 and x>0x \gt 0 if f(x)=1f(x) = 1. It would be asking too much of the algorithm to expect it to be extensional like that.

    But perhaps we should set that aside, since I think that I see a more serious issue …

    • CommentRowNumber33.
    • CommentAuthorTobyBartels
    • CommentTimeNov 26th 2016

    @Richard #28 still:

    A good example is something like the real number y=min(0,x)y=min(0, x), for some real number xx. If we had an algorithm to find what yy is given xx, we would have an algorithm for showing that x0x \geq 0 or x0x \leq 0 for any xx, which is impossible.

    I can't imagine why we would have such a thing.

    It occurs to me that perhaps you are coming from outside the mainstream of Bishop-style constructivism, which is how I usually write, and so you might not know what we (meaning at least me, Mike, and Matt F.) mean by min\min and max\max. I agree that you cannot take a Kuratowski-finite set of real numbers, such as {0,x}\{0,x\}, and expect to find a literal minimum element in constructive mathematics. Yet when we write min(0,x)\min(0,x), it does look as if we expected to do that. However, when we write min\min, we are actually merely extending the honest-to-goodness-minimum binary operation on the rational numbers to the real numbers, in the same way that we write +{+} to extend the addition operation on the rational numbers to the real numbers; perhaps it would be more honest to write inf\inf instead. Anyway, it is not intended to be a constructive theorem that min(0,x)=0\min(0,x) = 0 or min(0,x)=x\min(0,x) = x, even if we call it min\min. So we can compute min(0,x)\min(0,x) without deciding whether x0x \geq 0 or x0x \leq 0.

    If you doubt this, then I offer you a challenge. Specify, in whatever way you feel appropriate, a real number xx, and I will specify min(0,x)\min(0,x) in a similar way. Even if I can't tell you whether x0x \geq 0 or x0x \leq 0. Then you will see I mean by that.

    Once you understand what we mean by min\min and max\max, then I think that you'll agree that Matt F.'s proof is algorithmic until the end, and then we can get back to worrying about whether it is valid to say that |x|>ε/2{|x|} \gt \varepsilon/2 or |x|<ε{|x|} \lt \varepsilon.

    • CommentRowNumber34.
    • CommentAuthorDavidRoberts
    • CommentTimeNov 26th 2016

    @Toby #32

    That’s a nice representation of reals :-)

  5. I will reply to other things later, but I just wished to say (assuming that I am making correct deductions from the first paragraph in #31): congratulations on the birth, Mike!

    • CommentRowNumber36.
    • CommentAuthorMike Shulman
    • CommentTimeNov 26th 2016
    • (edited Nov 26th 2016)

    Thanks Richard! Rena Faye Shulman was born a few weeks ago.

    Toby’s representation of reals as sequences +\mathbb{Z}^+\to\mathbb{Z} reminds me of this one.

    Regarding the meta-argument in 29-30, there is one situation in which it holds, namely the “disjunction theorem” of pure constructive mathematics: if we can prove in the empty context that PQP\vee Q, then either we can prove PP or we can prove QQ. But this depends crucially on the context being empty, which is not the case here.

    • CommentRowNumber37.
    • CommentAuthorTodd_Trimble
    • CommentTimeNov 26th 2016

    Indeed, congratulations to Mike and Megan! A boy and a girl: that’s wonderful (and what our family has as well). How old is Arthur now?

    • CommentRowNumber38.
    • CommentAuthorMike Shulman
    • CommentTimeNov 26th 2016

    Arthur is 3 years and a bit — and harder to handle than his sister right now. (-:

    • CommentRowNumber39.
    • CommentAuthorRichard Williamson
    • CommentTimeNov 26th 2016
    • (edited Nov 26th 2016)

    Marvellous, I’m happy to hear the birth was successful!

    Thanks very much again for your further thoughts, Toby. I’ll respond to things in bits and bobs.

    For now, I’ll just respond to your challenge of #33. The issue as I see it has nothing to do with real numbers, it is rather the distinction between intensional and extensional definitions.

    Let xx be defined inductively as follows. Begin with 11. At the ii-th stage, multiply by (1) i1i(-1)^{i} \frac{1}{i} if 2 i12^{i} - 1 is a (Mersenne) prime. Stop when, say, i=100,000,000i=100,000,000 (or anything which gives us a number for which not all possibilities below it have been checked at the time of writing to be Mersenne primes or not).

    Can you, using a definition of minmin for rational numbers in general (the precise details you can choose as you like), say anything about min(0,x)min(0,x)?

    • CommentRowNumber40.
    • CommentAuthorMike Shulman
    • CommentTimeNov 27th 2016

    There’s no reason to stop! In any case, I think the answer is min(0,x) i=min(0,x i)\min(0,x)_i = \min(0,x_i).

  6. There’s no reason to stop!

    Do you think so? I actually find that quite interesting. I mean, obviously the induction makes sense without stopping. But are you claiming that we still have a well-defined rational number in that case?

    In any case, I think the answer is min(0,x) i=min(0,x i)\min(0,x)_i = \min(0,x_i).

    That’s also very interesting, thanks! I need to think some more about it. But if we assume it is correct, are you actually proceeding from a general definition of minmin to obtain this? And if so, is your calculation dependent on something specific about my construction of xx, for instance the fact that it is inductive? Or are you proceeding more intensionally, using some characterisation of minmin. In the latter case: which characterisation?

    • CommentRowNumber42.
    • CommentAuthorRichard Williamson
    • CommentTimeNov 27th 2016
    • (edited Nov 27th 2016)

    Let me also just raise one thing that I had in mind with this example. There could come a point where the computation of xx is such that we cannot distinguish it from 00. Maybe we do not have enough paper to write down all the digits to the right of the decimal point before we see a non-zero one. Maybe our computer hardware does not allow us to go beyond a certain proximity to zero. So we might not even be able to compute xx to an extensional rational number to which we can apply the general definition of minmin, which relies on such an extensional description.

    This is not ultrafinitism as such: the definition of xx makes perfect sense as a construction, it is just that we might not be able to arrive at something extensional by carrying out this construction.

    • CommentRowNumber43.
    • CommentAuthorMike Shulman
    • CommentTimeNov 27th 2016

    Oh, I think I misunderstood your definition. Sorry, I should have read more carefully and thought longer. If you don’t stop, then I don’t think the definition is valid constructively, because without knowing whether the Mersenne primes stop (or even how quickly they peter out) we can’t give a modulus of convergence to make your sequence Cauchy. But if you do stop, then you’ve defined not only a real number but a rational number, and so min(x,0)=0\min(x,0) = 0 if x0x\ge 0 and min(x,0)=x\min(x,0) = x if x<0x\lt 0, since inequality of rational numbers satisfies trichotomy.

    • CommentRowNumber44.
    • CommentAuthorRichard Williamson
    • CommentTimeNov 28th 2016
    • (edited Nov 28th 2016)

    No problem! I appreciate that this may be considered heretical, but what I am arguing is that this is not reasonable even in the rational case. Reasonable in the case of xx being given extensionally (i.e. given as mn\frac{m}{n}, however one wishes to define this in terms of the integers, for some mm and nn): yes, for the reason you give. Reasonable in the case of xx being given intensionally: not necessarily, I am arguing.

    • CommentRowNumber45.
    • CommentAuthorMike Shulman
    • CommentTimeNov 28th 2016

    In that case I guess you are an ultrafinitist. I don’t know of any other kind of constructive math in which inequality of rational numbers is not trichotomous.

  7. Possibly, although I’ve never thought of my views that way. I touched briefly on this in the second praragraph of #42.

    I would say more that I am arguing that the difference between intensional and extensional definitions should be taken seriously from a constructive point of view. Perhaps this viewpoint is closer to some kind of modal logic. I actually made a similar point once in a different setting, at the HoTT blog, where we had equal difficulties to here understanding one another, here!

    My views actually strike me as an obvious point, I am amazed if others do not consider it so.

    • CommentRowNumber47.
    • CommentAuthorMike Shulman
    • CommentTimeNov 30th 2016

    In reply to 42, we absolutely can arrive at something extensional by carrying out your construction; it’s just that we haven’t done it yet.

    • CommentRowNumber48.
    • CommentAuthorMike Shulman
    • CommentTimeNov 30th 2016

    In any case, I think I have no more to contribute to this discussion, since we’re reached the point of philosophical rather than mathematical difference, and on most days I’m not interested in the usual philosophical justifications for constructivism anyway — for me, constructive logic is interesting because unlike classical logic it is preserved by internalizing in arbitrary toposes. But you should be aware that your views seem to be significantly at odds with the vast majority of philosophical constructivists too.

  8. But you should be aware that your views seem to be significantly at odds with the vast majority of philosophical constructivists too.

    Yes, I am perfectly aware that these are my views, informed by other points of view of constructivism, but not following any particular one :-)

    for me, constructive logic is interesting because unlike classical logic it is preserved by internalizing in arbitrary toposes

    I appreciate that, and am aware that you have been given an argument that allows you to prove what you need.

    we absolutely can arrive at something extensional by carrying out your construction; it’s just that we haven’t done it yet.

    Of course, any intensional constructive definition can in principle be computed to something extensional. My point is simply that we cannot actually carry out Matt’s proof in practise in general. For that reason, I do not consider it to be a constructive proof.

    If we all feel that we understand each other, then I guess that we are indeed done. If not, I’ll keep an eye on the thread.

    • CommentRowNumber50.
    • CommentAuthorMike Shulman
    • CommentTimeNov 30th 2016

    Well, Toby hasn’t said anything since #33, so he might have more to add.

    • CommentRowNumber51.
    • CommentAuthorTobyBartels
    • CommentTimeDec 2nd 2016

    I endorse Mike's answer to the challenge in #40. This is a better answer than the one in #43, since it makes fewer assumptions vis-a-vis finitism. Besides that, it's obtained by general principle, not anything specific to the example at hand.

    In fact, I'd try to define min(0,x)\min(0,x) as much as possible in the same way that you defined xx. So min(0,x)\min(0,x) is defined inductively, although since we can't compute min(0,x) i+1\min(0,x)_{i+1} directly from min(0,x) i\min(0,x)_i, you have to keep track of some extra data (well, one extra datum). So begin with 00, and set the extra datum to 11. At the ii-th stage, multiply the extra datum by (1) i1i(-1)^{i} \frac{1}{i} if 2 i12^{i} - 1 is a (Mersenne) prime, and depending on whether the resulting number is positive or negative, let min(0,x) i\min(0,x)_i be that number or 00, respectively. Of course if we go on to, say, i=100,000,000i=100,000,000 (or anything which gives us a number for which not all possibilities below it have been checked at the time of writing to be Mersenne primes or not), then nobody has yet calculated what min(0,x) i\min(0,x)_i is, but nobody has yet calculated what min(0,x)\min(0,x) is either, so that's only fair.

    I suppose that you might object to the step that depends on whether a certain as-yet-uncalculated rational number is positive or negative. But even an intensional definition is only required to say how you would calculate something if you got that far, and this calculation would produce some result if you got there, so we can compute anything that we are actually called upon to compute. (In fact, it's just a matter of whether the number of Mersenne primes below 2 i2^i is even or odd, and that's an even simpler inductive definition than anything else that we're considering; it's the easiest of all calculations in this problem.)

    • CommentRowNumber52.
    • CommentAuthorMike Shulman
    • CommentTimeDec 2nd 2016

    Put differently, it’s easy to prove by induction that this definition of min(0,x)\min(0,x) works. So if you object to it, you must also object to induction on natural numbers.

    • CommentRowNumber53.
    • CommentAuthorRichard Williamson
    • CommentTimeDec 6th 2016
    • (edited Dec 6th 2016)

    Regarding #51 and #52: it seems to me that my point of view still has not been understood. For it is exactly my point that the following course of action…

    In fact, I’d try to define min(0,x)min(0,x)

    …is not relevant. In Matt F’s proof, one needs a general definition of min(x,1)min(x, 1) for a real number xx (let us change to min(0,x)min(0,x)). This relies on a representation of xx as built out of rational numbers. Take any implementation on Matt F.’s proof that you like on a computer. I claim that I will always be able to define an ff for which that proof will fail to be carried out, because the computer will not be able to get from my intensionally defined ff to an extensional representation of ff evaluated on some real number. For that reason, I do not regard it as constructive in the sense I am looking for.

    My objection even goes through for the integers. Just change the xx as I defined it to beginning with 11, and at the ii-th stage multiplying by +1+1 if 2 i12^{i}-1 is a prime, and multiplying by 1-1 if not.

    The point is that min(0,x)min(0,x) can only be defined for a general integer xx using an extensional representation of xx as an integer. We do not have such a representation for the xx I gave. Because min(0,x)min(0,x) is not possible to define for an arbitrary intensionally given xx, it is essentially useless from the philosophical standpoint that I am taking.

    Now, of course, one can define any old integer by hand for a particular xx, and call it min(0,x)min(0,x). But there is no way that one can compare this to the min(0,x)min(0,x) defined in the general way. If one defines min(0,x)min(0,x) in a more intensional way, being dependent on being able to prove that 0x0 \leq x or x0x \leq 0, then of course I accept the definition as valid. But with this intensional definition of min(0,x)min(0,x), one cannot carry out Matt F.s proof, which relies fundamentally on the extensionality of the definition. I mean, if one imposes on ff that one can determine whether f(x)ε2f(x) \geq \frac{\epsilon}{2} or f(x)ε2f(x) \leq \frac{\epsilon}{2} for any xx, so that one can use the intensional definition of minmin, then one is removing the principal difficulty of constructive analysis, and of course one will then be able to give a proof of the aIVT!

    • CommentRowNumber54.
    • CommentAuthorMike Shulman
    • CommentTimeDec 6th 2016

    I’m afraid this discussion has gone beyond the point where it’s worth my time to try to make sense of what you’re saying. As I said, I’m not really a philosophical constructivist, and the proof is valid in all well-defined systems and models for constructive mathematics that I’m aware of.

  9. As I already wrote in #49, that is fine by me. I am making a philosophical point; people can take it or leave it. Since new comments were made after #49 that indicate a lack of understanding of the point that I am making, I feel it reasonable to respond.

  10. Should anybody be interested, it may help to know that the point of view that I am putting forward is certainly influenced by work on semantics in linguistics. I am very interested in the question of the nature of meaning in mathematics, and many discussions that I have been involved in on the n-café and here have been to do with this. I perfectly understand that most mathematicians are indifferent to the question of whether their daily work is meaningful :-).

    • CommentRowNumber57.
    • CommentAuthorMike Shulman
    • CommentTimeDec 7th 2016

    Sorry, I should stick to what I said I was going to do and bow out, rather than continuing to stick my oar in and then contradicting myself by claiming that I really have nothing to say. (-:O

    • CommentRowNumber58.
    • CommentAuthorTobyBartels
    • CommentTimeDec 9th 2016

    Richard, I just don't understand why you claim that the computation in the proof can't be carried out. As we work through your example, we do a bunch of primality testing, some multiplication, some comparison, but at no point are we unable to proceed with the computation. Yes, it's a laborious computation, since you gave a laborious example, but it can always be done.

    The only point that I can get out of it is that the computation is not merely laborious but, when carried out far enough, something that literally nobody can actually complete in our physical reality. Fair enough. But I have three objections to the idea that this impugns Matt F.'s proof in any way:

    • This goes beyond constructivism to ultrafinitism. If the claim is that Matt F.'s proof is not ultrafinitist, then that is what we should say, not that it is not constructivist.
    • This isn't really about the Intermediate Value Theorem. You're objecting to the function (xmax(0,x))(x \mapsto \max(0,x)), so let's talk about that. If that's not ultrafinitist, then of course Matt F.'s proof is not, nor the plethora of other constructive results that use this function.
    • Even from an ultrafinitist perspective, there's nothing wrong with the function (x(0,x))(x \mapsto (0,x)). We can't compute max(0,x)\max(0,x) for the xx that you give, because we can't compute xx itself. All that you really have is a number xx that is not feasible to compute; that max(0,x)\max(0,x) isn't feasible either is not interesting.
    • CommentRowNumber59.
    • CommentAuthorRichard Williamson
    • CommentTimeDec 10th 2016
    • (edited Dec 10th 2016)

    By ’constructivism’, I am simply referring to the philosophy which regards a proof as a construction, a method/recipe. Now, one can take a particular formalist definition which follows this philosophy to a certain extent (which is essentially the setting that Mike is interested in) and call this ’constructivism’. My point of view is that the formalist definition of constructivism that Mike, and I believe yourself, are thinking of, is not truly constructive in the philosophical sense, because it equates intensional and extensional definitions, which I view as without justification (a form of choice).

    This is not ultrafinitism (at least in any conventional sense). Ultrafinitism would reject the definition of my xx, for instance, whereas I regard it as perfectly well-defined. One could prove all kinds of things about xx, all of which I would regard as perfectly valid constructively. But just because something is well-defined (is intensionally meaningful) does not mean that it computed to an explicit (extensional) integer (or whatever). So we are not justified in replacing xx by an explicit integer. This much of my philosophy is influenced by ultrafinitism, certainly, but it is far from ultrafinitism per se.

    So to write the following is to misunderstand my point of view.

    You’re objecting to the function xmax(0,x)x \mapsto \max(0,x)

    there’s nothing wrong with the function x(0,x)x \mapsto (0,x). We can’t compute max(0,x)\max(0,x) for the xx that you give, because we can’t compute xx itself.

    There is nothing wrong with the function x(0,x)x \mapsto (0,x), i.e. I view it as perfectly well-defined (it has intensional meaning). There is a problem if we wish to use it in a way which requires an extensional xx, i.e. an explicit xx.

    Similarly, there is no problem as such with the function xmax(0,x)x \mapsto \max(0,x) from my point of view, it is just useless, because it relies on an extensional xx. There is a problem if we wish to use this function with an intensionally defined xx, because it is not justified to replace this xx by an extensional (i.e. explicit) integer. To get something useful intensionally, we should instead be looking at the function in context: for instance, (x0)(x0)xmax(0,x)(x \geq 0) \vee (x \leq 0) \vdash x \mapsto \max(0,x).

    This isn’t really about the Intermediate Value Theorem

    It is entirely relevant. A proof has been proposed, which I am pointing out is not truly constructive from a philosophical point of view, because it relies on equating intensional and extensional definitions, which is not justifiable.

    • CommentRowNumber60.
    • CommentAuthorMike Shulman
    • CommentTimeDec 10th 2016

    I am pointing out is not truly constructive from a philosophical point of view

    You should say instead “I am pointing out is not truly constructive from my philosophical point of view”, because your views are clearly at odds with those of the vast majority of constructivists.

  11. I wrote it the way I did after consideration. For 1) below is part of the definition of constructivism, and 2) below is a fact.

    1) In constructivism, the giving of a proof is the providing of a method.

    2) It is not possible to give a method to replace an intensionally defined integer (or whatever) by an extensional one

    It then follows that a proof which relies on a method for replacing an intensionally defined integer (or whatever) with an extensional one is not constructively valid.

    The only place where one’s own views enter is whether or not one chooses to disregard this observation or not. In the formalist approaches to constructivism that have been mentioned, one disregards it. My view is that it should not be disregarded. Whether or not that is a view shared by other people who think of themselves as constructivists is not really of any significance: philosophy is not populism!

    • CommentRowNumber62.
    • CommentAuthorMike Shulman
    • CommentTimeDec 10th 2016

    Occasionally, however, a little humility is in order. As is a recognition that for better or for worse, a philosophical word like “constructivism” is defined by the consensus of its adherents, at least if meaningful conversation is to be possible.

  12. I am not sure what you perceive as a lack of humility. I have worked with constructive mathematics for years, and am well acquainted both with the literature and with computer implementations. I feel free to form my own independent views. That I have my own view does not of course imply a denigration of the views of others; it is possible to have a viewpoint that is outside of the conventional one without having a lack of humility!

    As is a recognition that for better or for worse, a philosophical word like “constructivism” is defined by the consensus of its adherents, at least if meaningful conversation is to be possible.

    I have explained very precisely what exactly it is about ’constructivism’ that I am discussing, for instance in 1) of #60, and I think that the latter is not at all controversial. Point 2) may or may not be new, but it is not to do with what constructivism itself is: it is an independent observation. And when we put 1) and 2) together, we obtain something which we may choose to disregard, or may not, when claiming that a proof is ’constructively valid’. Valid in various formal systems that many people call ’constructive mathematics’: yes. Valid according to the philosophy that lies behind constructive mathematics: no, as I see it. Again, this is not a lack of humility, this is drawing a simple consequence from a fact.

    • CommentRowNumber64.
    • CommentAuthorMike Shulman
    • CommentTimeDec 11th 2016

    By humility I meant a recognition that one might be wrong. In particular, I cannot make any sense of your “fact” (2); I do not know what an “extensional definition” is. I don’t really want to get into an argument about that, just to make the point that what seems self-evident to you may seem like nonsense to someone else.

    I have to say that it’s hard for me to believe that you are well-acquainted with the literature and implementations of constructive mathematics, given that at the beginning of this thread you seemed unaware that your views were at odds with practically all other constructivists in the world. If you were aware of that, then I would have expected you to realize that Matt’s proof was given in the context of “standard constructivism” and that I and other readers were also evaluating it in that context and would probably be ourselves unaware that you hold a radically nonstandard philosophical position, and that therefore saying “there is a subtle error in this proof” would be much less helpful in communicating the actual state of affairs than something like “Personally, I would not regard this as constructive, although I’m aware that by the standards of traditional constructivism it is acceptable.”

    • CommentRowNumber65.
    • CommentAuthorMike Shulman
    • CommentTimeDec 11th 2016

    Regarding intensional and extensional, if those adjectives are to be applied to definitions at all, I would say that all definitions are intensional. Usually however I think they are applied to constructions or properties of objects, an extensional property being one that depends only on the “behavior” of an object (what a traditional mathematician would call “the object being defined”) while an intensional one can depend on how it is defined. So if what you mean by (2) is that there is no method for determining whether two (intensional) definitions have the same behavior (i.e. “yield the same extensional object”), then that is not at all disregarded in ordinary constructive mathematics: in fact it is central to it, namely the fact that not all sets have decidable equality.

    The definition of min(0,x)\min(0,x) doesn’t require any such extensional information: it starts from an (“intensional”) definition of a number xx and produces another (“intensional”) definition of a new number min(0,x)\min(0,x). You gave a procedure for computing a number xx; from that procedure we can deduce an analogous procedure for computing the number min(0,x)\min(0,x). Neither computation has been carried out, but if you regard the first procedure as defining xx then the second procedure should count just as well as a definition of min(0,x)\min(0,x). There’s no reason to hold the output to a higher standard of extensionality than the input.

    On the other hand, if by an “extensional definition” you mean an expression in canonical form (e.g. a “numeral” like S(S(S(0))):S(S(S(0))):\mathbb{N}), then in a variety of constructivism with strong normalization your (2) is false because of your (1): simply normalize a definition until it becomes canonical.

    • CommentRowNumber66.
    • CommentAuthorRichard Williamson
    • CommentTimeDec 11th 2016
    • (edited Dec 11th 2016)

    I have to say that it’s hard for me to believe that you are well-acquainted with the literature and implementations of constructive mathematics

    I don’t know what motivation you think I might have for claiming this without it being the case! I am not in any case going to attempt to convince anybody of this. If you knew me in person, I think you would not have written this :-).

    at the beginning of this thread you seemed unaware that your views were at odds with practically all other constructivists in the world.

    The question I was interested in was (and still is) whether there is a constructive proof of the aIVT. By ’constructive’, I had in mind the standard philosophical notion (an aspect of which is 1) in #61). Now, we could avoided some confusion if I had been more attentive and noticed that you were interested in a specific formal system rather than the constructivism more generally: the fact that you used the term ’plain constructivism’, or something like that, was what I was responding to, since what came to my mind with the use of this term was the basic ’philosophical’ constructivism of which 1) in #61 is a part.

    I was perfectly aware that my views on what philosophical constructivism allows in mathematical practise are apparently new. It took me a while before I was able to pinpoint where the difference was in the setting of this discussion, and how to put it in a way that would be understood (and the latter may still not have been achieved). In particular, the reason that I suggested that there may be a ’subtle error’ is because the step I was referring to in Matt F’s argument is to me so evidently non-constructive, and I have viewed it in that way for such a long time, that I had forgotten why my reasons that I regard the argument as not constructively valid may not be an obstruction in the formal systems that you are interested in; and, as this discussion is testimony to, the reasons that I regard the argument as not constructively valid seem to appear somewhat subtle to people.

    By humility I meant a recognition that one might be wrong.

    I am perfectly willing to acknowledge an error in my reasoning if I make one. Since it seems that no-one has actually understood the point I am making, which is a pre-requisite for giving a refutation of it, I’m not quite sure what you expect.

    I am not going to respond to #65. I think that I have explained my point clearly enough now for it to be understood, and what is written in #65 does not understand it. I am not interested in endlessly repeating myself, only in having a discussion about something which I find interesting and important. If what I have written already is not sufficient to communicate my point, that discussion will not come about, I feel. In particular, I feel that what I have already written sufficiently addresses #65.

    • CommentRowNumber67.
    • CommentAuthorTobyBartels
    • CommentTimeDec 12th 2016

    Richard, I believe that Mike is mostly interested in constructivism for its relationship to the internal language of elementary toposes and the like. I'm the one who's interested in it for more philosophical reasons. But I'm afraid that I really don't understand your philosophical position.

    This isn’t really about the Intermediate Value Theorem

    It is entirely relevant. A proof has been proposed, […]

    I didn't mean that it's irrelevant; I meant that your disagreements with us can (and so should) be isolated in something more basic than the IVT. Such as the nature of min\min. You certainly brought them up in an appropriate place.

    I believe that I understand the difference between intensional and extensional definition. I'm thinking of the kind of issues in this Stanford Encyclopedia article (despite its focus on classical logic). If this is what you're talking about, then we're on the same page here. Nevertheless, I do not understand what

    It is not possible to give a method to replace an intensionally defined integer (or whatever) by an extensional one

    has to do with any of this. Where is anyone trying to do anything like that?

    In particular, when you write

    There is nothing wrong with the function x(0,x)x \mapsto (0,x), i.e. I view it as perfectly well-defined (it has intensional meaning). There is a problem if we wish to use it in a way which requires an extensional xx, i.e. an explicit xx.

    I have no idea why you think anybody is trying to use max\max in this way. I think that you should interpret the appearance of max\max and min\min in Matt F.'s proof in accordance with the well-defined intensional meaning of max\max and min\min, and what goes wrong with that?

    • CommentRowNumber68.
    • CommentAuthorMike Shulman
    • CommentTimeDec 12th 2016

    Richard, I’m sorry; I didn’t mean to impugn your honesty. I just meant that what you wrote above doesn’t sound to me as though it were written by someone familiar with the literature. I think that if you hold very nonstandard philosophical beliefs that impact the way you do mathematics, it’s incumbent upon you to be aware of exactly how that difference manifests itself, and to check carefully whether that’s the problem before expressing any opinion about the correctness of other people’s proofs.

    • CommentRowNumber69.
    • CommentAuthorRichard Williamson
    • CommentTimeDec 12th 2016
    • (edited Dec 12th 2016)

    If this is what you’re talking about, then we’re on the same page here.

    Great! I haven’t read through the link closely, but it certainly looks like the kind of thing I’m getting at.

    I think that you should interpret the appearance of max\max and min\min in Matt F.’s proof in accordance with the well-defined intensional meaning of max\max and min\min, and what goes wrong with that?

    I’m very interested in discussing this. What exactly do you mean by ’the well-defined intensional meaning of max\max and min\min’? If you mean the one I suggested, where we are working in a context such as (xy)(yx)(x \geq y) \vee (y \geq x), then I mentioned already where I see the problem as being: we certainly do not have such a context for an arbitrary f(c n)f(c_{n}) as in Matt F’s argument.

    Otherwise, I am not sure what you have in mind. Let us consider again the case of integers, or even natural numbers, for simplicity. Suppose that we regard the natural numbers as defined inductively the usual way: we have a 00, and given an nn, we can construct an S(n)S(n). Using this, one can define say min(S(S(0)),n)\min(S(S(0)),n) for an arbitrary given extensional natural number nn, i.e. one defined strictly in terms of this definition: it is nn for n=0n=0 and n=S(0)n=S(0), and S(S(0))S(S(0)) otherwise (where, to be precise, we use induction to make sense of this ’otherwise’). But this is not much use in practise, because we do not have a method to convert an intensionally defined nn into an extensional one. This does not have to be a matter of inability to compute, as suggested by ultrafinitism. It could be anything. A young child may for instance be able to count to ten, but may not actually be able to recognise three objects of a certain kind as corresponding to the ’three’ they reach when counting. Or an engineer may have a calculation dependent upon the number of dwellings in an area, which may in turn be dependent on an as yet unpassed piece of legislation, so that there is no way even in principle to replace this intensionally defined number by an extensional one.

    As an aside, from this, hopefully it is evident that my answer to the last paragraph of Mike’s #65 would of course be that strong normalisation, which is after all a syntactic notion rather than a philosophical one, would not be something of relevance in the kind of constructive mathematics that I am envisioning.

    • CommentRowNumber70.
    • CommentAuthorMike Shulman
    • CommentTimeDec 12th 2016
    • (edited Dec 12th 2016)

    It seems to me that when discussing children and engineers you have left the realm of mathematics entirely, but I think the point is still valid that you can get out something that’s just as good as what goes in. If the number xx of dwellings in an area depends on an unpassed law, then y=max(x,10)y=max(x,10) will also depend on that unpassed law, but it is just as good a number as xx is. If the law says that x=12x=12, then x=y=12x=y=12, whereas if the law says that x=8x=8, then x=8x=8 and y=10y=10. In what sense is yy any less acceptable than xx?

  13. I just meant that what you wrote above doesn’t sound to me as though it were written by someone familiar with the literature.

    I can certainly appreciate that it may not be easy to see how I have been approaching the discussion, and that this can have led to miscommunication. Mostly I have been approaching this as an on the fly discussion rather than a treatise on my philosophical views on constructivism, and I have been approaching it from the point of view of my own interest in the original question. Hopefully we can agree that this is natural enough, even if not optimal with regards to clear communication.

    • CommentRowNumber72.
    • CommentAuthorRichard Williamson
    • CommentTimeDec 12th 2016
    • (edited Dec 12th 2016)

    but I think the point is still valid that you can get out something that’s just as good as what goes in

    And that is my point. Certainly max(x,10)\max(x, 10) is reasonable to consider in the context of the legislation having been passed. Because this piece of legislation provides us with a means to replace xx by an extensional natural number. Just as in Matt F’s argument, if we know that f(c n)ε2f(c_{n}) \geq \frac{\epsilon}{2} or f(c n)ε2f(c_{n}) \leq \frac{\epsilon}{2}, then of course there is no problem for this particular c nc_{n}. But we cannot assume that in general, i.e. we cannot work in an empty context for Matt F’s argument.

    • CommentRowNumber73.
    • CommentAuthorMike Shulman
    • CommentTimeDec 12th 2016

    It sounds as though you may still be hung up on the point that Toby addressed in #33, namely that “min(x,y)\min(x,y)” is not defined by comparing xx to yy and checking which of them is bigger. If it were, then yes, certainly, constructivity would require that we know that one of them is bigger before we can make the comparison. The point is that we can define min(x,y)\min(x,y) constructively by giving a representation for it as a real number of exactly the same sort as the representations that we are given of xx and yy, so that it is just as good of a number as they are, even without knowing that (xy)(yx)(x\le y) \vee (y\le x).

    This is just like how max(x,10)\max(x,10) is just as good of a number as xx is, even before the law is passed (and hence before we know “extensionally” or whatever “exactly what” xx and max(x,10)\max(x,10) are). You haven’t explained in what sense you see max(x,10)\max(x,10) as any less acceptable than xx itself. We don’t need an “extensional” definition of xx, whatever that means, in order to give an intensional definition of max(x,10)\max(x,10).

    • CommentRowNumber74.
    • CommentAuthorTobyBartels
    • CommentTimeDec 13th 2016

    What exactly do you mean by ’the well-defined intensional meaning of max\max and min\min’?

    I wrote that since you claimed that there was one, but in light of

    If you mean the one I suggested, where we are working in a context such as (xy)(yx)(x \geq y) \vee (y \geq x)

    that's not sufficient, at least for real numbers.

    That said, (xy)(yx)(x \geq y) \vee (y \geq x) is a theorem of Heyting arithmetic. So in that context, at least, when working with natural numbers, there should be no problem with max\max and min\min. This extends trivially to rational numbers, and then the real numbers have a more complicated definition that does not presume (xy)(yx)(x \geq y) \vee (y \geq x) but builds on max\max and min\min for rational numbers instead.

    one can define say min(S(S(0)),n)\min(S(S(0)),n) for an arbitrary given extensional natural number nn

    Similarly, (n=0)(n=S(0))(nS(S(0)))(n = 0) \vee (n = S(0)) \vee (n \geq S(S(0))) is a theorem of Heyting arithmetic, so min(S(S(0)),n)\min(S(S(0)),n) should be straightforward. Maybe your position is that Heyting arithmetic isn't really constructive by your philosophy, or that it only applies to extensional natural numbers?

    Or an engineer may have a calculation dependent upon the number of dwellings in an area, which may in turn be dependent on an as yet unpassed piece of legislation, so that there is no way even in principle to replace this intensionally defined number by an extensional one.

    Mike suggested that this is leaving mathematics, but I wouldn't say that. Applied math is still math, and it ought to be able to handle whatever we throw at it; or at least, we ought to have some idea of what we can throw at it that it can handle.

    But I still don't understand the objection. If you're willing to accept the number xx of dwellings in a given area, even though it cannot be pinned down (and I think that one should be so willing), then why not accept the number max(x,10)\max(x,10)? It cannot also be pinned down, but it still has a meaning: the number of dwellings in the area or the number ten, whichever is larger. (It's also useful to prove by induction on xx that such a number exists, although I would argue that the expression has a meaning regardless.)

    • CommentRowNumber75.
    • CommentAuthorMike Shulman
    • CommentTimeDec 13th 2016

    Yes, applied math is certainly still math. I guess this is getting into the realms of constructive philosophy that I’ve never understood; maybe some people would consider a child’s lack of understanding of numbers to be a reason that a number might not be well-defined, although to me that makes even less sense than the usual arguments about Goldbach’s conjecture or whatever.

    • CommentRowNumber76.
    • CommentAuthorRichard Williamson
    • CommentTimeDec 14th 2016
    • (edited Dec 14th 2016)

    Regarding #75: I consider the example that I gave about a young child’s understanding of numbers to illustrate the point that I am making quite well. The child can count up to say 10, so can define the number three extensionally. If asked, ’how many books are there on the table?’, they understand that the answer to the question should be a number, and they may well be able to answer correctly if the answer is one or two. So the answer for the child is xx, where xx has the intensional meaning: number of books on the table. But the child is not able to convert xx to the extensional number three. This illustrates the only point that I am really making: that there is no method to replace an intensional definition by an extensional one, and hence an argument which relies on having such a method is not, according to the philosophical definition of constructivism, constructively valid.

    Regarding #73 and #74: it may be that my use of the context (xy)(yx)(x \geq y) \vee (y \geq x) is contributing to confusion, rather than helping. I am perfectly aware that such a context is not needed for the usual (extensional) constructive definition of min(x,y)\min(x,y).

    The point is that we can define min(x,y)\min(x,y) constructively by giving a representation for it as a real number of exactly the same sort as the representations that we are given of xx and yy, so that it is just as good of a number as they are, even without knowing that (xy)(yx)(x \le y) \vee (y\le x).

    This is true if xx and yy are given extensionally. It is certainly not the case if even one of xx or yy are given intensionally. Because there is no way to say anything in general what an intensional definition looks like, so there is no method for taking an intensional xx and/or yy and producing min(x,y)\min(x,y). This seems perfectly evident to me; it seems to me a basic point about the intensional/extensional distinction, which was already understood by Frege, and no doubt before that as well.

    This is just like how max(x,10)\max(x,10) is just as good of a number as xx is

    Again, the problem is that, yes, for individual intensionally defined xx, we may of course be able to cook up a max(x,10)\max(x,10), but there is no method for this. Perhaps you are thinking that if xx can be defined in a certain context, then so can max(x,10)\max(x,10). But not all examples of the inability to replace intensionally defined numbers by extensional ones are like this. To return to the example of the young child, they may well understand the notion of larger and smaller than for collections of 3 and 5 objects, i.e. they have an intensional definition of max(3,5)\max(3,5), without being to convert these intensionally defined numbers into extensional ones.

    I would not dismiss this kind of example, by the way. The literature of mathematical didactics is rich, and through observing the process of learning mathematics, we can understand a great deal about it; doing mathematical research is not the only way to obtain insight into mathematics.

    But there are plenty of other examples. For my example xx involving inability to compute beyond a certain point, you yourselves gave earlier an intensional definition of min(0,x)\min(0,x) which you appeared satisfied with at that point. Again, there is no context involved here. So, again, we may be able to define max(x,y)\max(x,y) and min(x,y)\min(x,y) intensionally, but there is no recipe for this; the three examples we have looked at are completely different from one another.

    • CommentRowNumber77.
    • CommentAuthorMike Shulman
    • CommentTimeDec 14th 2016

    What exactly do you object to about the usual constructive definition of max(x,y)?\max(x,y)? What about it appears to require xx and yy to be “extensional”?

  14. Maybe your position is that Heyting arithmetic isn’t really constructive by your philosophy, or that it only applies to extensional natural numbers?

    Exactly.

    • CommentRowNumber79.
    • CommentAuthorRichard Williamson
    • CommentTimeDec 14th 2016
    • (edited Dec 14th 2016)

    What exactly do you object to about the usual constructive definition of max(x,y)\max(x,y)? What about it appears to require xx and yy to be “extensional”?

    Which setting are we working in? Probably it’s best to stick to the natural numbers, to avoid any possible confusion. I gave a definition (in a special case) for the natural numbers earlier in the thread, for min(0,x)\min(0,x). It uses fundamentally the fact that xx is given extensionally. One can give a similar definition for min(x,y)\min(x,y) for arbitrary xx and yy. If you prefer a different definition, feel free to present it, and then I will reply.

    • CommentRowNumber80.
    • CommentAuthorMike Shulman
    • CommentTimeDec 14th 2016

    If you regard a definition like “carry out X procedure for 1 million steps and output the result” as a valid intensional definition of an integer xx, then why isn’t “carry out X procedure for 1 million steps, if the result is negative then output it, otherwise output zero” just as valid an intensional definition of min(0,x)\min(0,x)?

    • CommentRowNumber81.
    • CommentAuthorMike Shulman
    • CommentTimeDec 14th 2016

    It seems to me that to a philosophical constructivist, an “intensional definition” must consist of a method for producing an “extensional definition” (this is your (1) in #61). This is the point I intended to make with the comment about strong normalization in #65. A definition of min(x,y)\min(x,y) is written in terms of extensional information about xx and yy, but it applies just as well to intensional xx and yy and produces an intensional result, because intensional definitions denote extensional objects.

  15. why isn’t “carry out X procedure for 1 million steps, if the result is negative then output it, otherwise output zero” just as valid an intensional definition of min(0,x)\min(0,x)?

    It is perfectly valid to give a definition of min(0,x)\min(0,x) which involves carrying out a procedure for a million steps. However, if we have defined min(0,x)\min(0,x) in an extensional way, and then wish to use this extensional definition, we need to first compute xx to an extensional number, which is not possible. This is very like using just a universal property to prove something about an object in a category, compared to using something ’extensional’ about that object, i.e. where we are using some structure of the object which is not visible from the point of view of category theory alone. We can prove lots of things from intensional definitions without needing to replace them by extensional ones.

    an “intensional definition” must consist of a method for producing an “extensional definition”

    No. Just think of a category with a natural numbers object. We can perfectly well speak of a natural number without specifying which one it is, and do lots of perfectly good mathematics concerning natural numbers. If we need a theorem about a specific natural number in practise which we can compute, we just plug it in.

    In the example concerning legislation, we have a perfectly well-defined natural number intensionally, dependent on the piece of legislation. If we plug in a specific piece of legislation, we get an extensional natural number. But we can prove things about the intensional natural number without relying on any specific piece of legislation.

  16. I would also like to not lose sight of Matt F’s argument here. I still think that my original weak counter-example of #14 is a valid objection. If you accept that there could be an ff for which it is not decidable whether f(c n)ε2f(c_{n}) \geq \frac{\epsilon}{2} or f(c n)ε2f(c_{n}) \leq \frac{\epsilon}{2}, which I would think would be completely uncontroversial in any form of constructive analysis, then I still think that, from a philosophical point of view, the logic involving trichotomy is nonsense: one cannot get something for nothing.

    I mean, it is clear that if it is not decidable whether f(c n)ε2f(c_{n}) \geq \frac{\epsilon}{2} or f(c n)ε2f(c_{n}) \leq \frac{\epsilon}{2}, then two of the possibilities in the trichotomy are impossible to demonstrate. Would you really claim, therefore, Mike and Toby, that there is a method to show that |f(c n)|| f(c_{n}) | is less than ε\epsilon whenever f(c n)ε2f(c_{n}) \geq \frac{\epsilon}{2} or f(c n)ε2f(c_{n}) \leq \frac{\epsilon}{2} is not decidable? If not, then how do you proceed to the next step of the induction?

    • CommentRowNumber84.
    • CommentAuthorMike Shulman
    • CommentTimeDec 15th 2016

    Would you really claim, therefore, Mike and Toby, that there is a method to show that |f(c n)|| f(c_{n}) | is less than ε\epsilon whenever f(c n)ε2f(c_{n}) \geq \frac{\epsilon}{2} or f(c n)ε2f(c_{n}) \leq \frac{\epsilon}{2} is not decidable?

    The method is that you compute an approximation to f(c n)f(c_n) that is sufficiently good to ensure that one of the three possibilities holds. The fact that f(c n)f(c_n) is defined constructively means (by definition of “real number”) that it can be approximated arbitrarily closely by rational numbers, and we know how to compare rational numbers. In this case It suffices to get closer than ε/2\varepsilon/2. The difference with “f(c n)ε2f(c_{n}) \geq \frac{\epsilon}{2} or f(c n)ε2f(c_{n}) \leq \frac{\epsilon}{2}” is that no finite distance of approximation is sufficient to ensure that one of those two possibilities holds, essentially because they are closed rather than open conditions.

    • CommentRowNumber85.
    • CommentAuthorMike Shulman
    • CommentTimeDec 15th 2016

    We can perfectly well speak of a natural number without specifying which one it is, and do lots of perfectly good mathematics concerning natural numbers.

    It sounds like you are confusing the assumption of an arbitrary, unspecified, natural number with the definition of a specific natural number. To define a specific natural number, constructively, we must specify it. But we are free to assume a variable n:n:\mathbb{N} in the context without giving it a value, such as when proving a statement of the form “for all nn…”.

    • CommentRowNumber86.
    • CommentAuthorMike Shulman
    • CommentTimeDec 15th 2016

    It is perfectly valid to give a definition of min(0,x)\min(0,x) which involves carrying out a procedure for a million steps. However, if we have defined min(0,x)\min(0,x) in an extensional way, and then wish to use this extensional definition, we need to first compute xx to an extensional number, which is not possible.

    Are you saying you don’t have a problem with the definition of min(0,x)\min(0,x), but only object if it has to be “used extensionally”? What does “used extensionally” mean?

    • CommentRowNumber87.
    • CommentAuthorRichard Williamson
    • CommentTimeDec 15th 2016
    • (edited Dec 15th 2016)

    Regarding #84: I don’t think this answers my question. If we cannot prove that f(c n)ε2f(c_{n}) \leq \frac{\epsilon}{2} and we also cannot prove that f(c n)ε2f(c_{n}) \geq \frac{\epsilon}{2}, then we certainly cannot prove that either of the strict inequalities holds either. Now Matt F is using that either one of these two strict inequalities holds, or else |f(c n)|ε| f(c_{n}) | \leq \epsilon; and he relies on one of these three statements being true to proceed to the next step of his inductive argument. So either we have to conclude that |f(c n)|ε| f(c_{n}) | \leq \epsilon, or we cannot proceed in this case to the next step of Matt F’s inductive argument.

    • CommentRowNumber88.
    • CommentAuthorTobyBartels
    • CommentTimeDec 16th 2016

    @Richard #78:

    Maybe your position is that Heyting arithmetic isn’t really constructive by your philosophy, or that it only applies to extensional natural numbers?

    Exactly.

    OK, that is very interesting. I think that it's fair to say that Matt F.'s proof is intended to apply to functions between numbers that can be approximated by [differences of ratios of] numbers to which Heyting arithmetic does apply.

    I can accept that you have a notion of natural number for which Heyting arithmetic is invalid, in particular in which the theorem (xy)(yx)(x \leq y) \vee (y \leq x) is invalid. I'm still not clear on your philosophical objection to the binary operations max\max and min\min on these numbers. While one certainly could consider a system of arithmetic that lacks them, I'm interested in your philosophical reasons why one should use a system of arithmetic that lacks them.

    It's not merely that you can't define them using more primitive operations. Consider that in Robinson arithmetic, and even in first-order formulations of Peano arithmetic or Heyting arithmetic, one is unable to define addition and multiplication, so one puts them in as primitive operations. Similarly, if one is unable to define max\max and min\min, then they could be put in as primitive operations. I justify doing so on the grounds that they are even more basic than addition and multiplication; if arithmetic is about operations on natural numbers, then these are about the most basic operations that one could consider.

    So I would ask you not to think of the definition of max(x,y)\max(x,y) by cases depending on whether xyx \leq y or yxy \leq x. Instead, think of the intensional meaning of it, just as you would for x+yx + y or xyx \cdot y. You seem to do exactly this sometimes:

    To return to the example of the young child, they may well understand the notion of larger and smaller than for collections of 3 and 5 objects, i.e. they have an intensional definition of max(3,5)\max(3,5), without being to convert these intensionally defined numbers into extensional ones.

    It seems to me that we ought to say xx and yy here instead of 33 and 55, since writing the latter suggests that we've identified these numbers extensionally, which is exactly what the child has not done. But still, the child is able to conceive of max(x,y)\max(x,y), perhaps even able to notice that max(x,y)=y\max(x,y) = y in this instance. The child would conceive of max(x,y)\max(x,y) in the same way that they would conceive of x+yx + y or xyx \cdot y, by the inherent intensional meaning of those operations.

    Now I half expect you to say that you don't believe in x+yx + y or xyx \cdot y either, at least not when xx and yy are only given intensionally. In which case, you have several more fronts on which to attack Matt F.'s proof!

    • CommentRowNumber89.
    • CommentAuthorTobyBartels
    • CommentTimeDec 16th 2016

    @Richard #83:

    I would also like to not lose sight of Matt F’s argument here.

    OK, but I'm going to interpret Matt F.'s proof as about real numbers that can be approximated arbitrarily well by rational numbers for which (xy)(yx)(x \leq y) \vee (y \leq x) is true. Thus breaking the acceptance of it into parts: the stuff in my previous comment, and the stuff in this commment.

    Would you really claim, therefore, Mike and Toby, that there is a method to show that |f(c n)|| f(c_{n}) | is less than ε\epsilon whenever f(c n)ε2f(c_{n}) \geq \frac{\epsilon}{2} or f(c n)ε2f(c_{n}) \leq \frac{\epsilon}{2} is not decidable? If not, then how do you proceed to the next step of the induction?

    If we're talking about real numbers, then yes. I'm a little leery about accepting undecidability as a proposition; a fact known to be true should remain true even as I gain additional information, and undecidability doesn't behave that way. Still, yes, in practice, because I believe the (a priori stronger) statement that xεx \leq \epsilon or xε/2x \geq \epsilon/2, in the sense that I can decide which with enough work.

    First, since ε>0\epsilon \gt 0, we have a natural number nn such that 1/nε1/n \leq \epsilon. Now approximate xx and ε\epsilon with rational numbers to within 1/(8n)1/(8n). (If you can't do that, then to my mind, you don't have real numbers to begin with.) That is, I have rational numbers pp and qq such that p1/(8n)xp+1/(8n)p - 1/(8n) \leq x \leq p + 1/(8n) and q1/(8n)εq+1/(8n)q - 1/(8n) \leq \epsilon \leq q + 1/(8n). Since p+1/(4n)p + 1/(4n) and qq are rational, either p+1/(4n)qp + 1/(4n) \leq q or qp+1/(4n)q \leq p + 1/(4n). If p+1/(4n)qp + 1/(4n) \leq q, then xp+1/(8n)q1/(4n)+1/(8n)ε+1/(8n)1/(8n)=εx \leq p + 1/(8n) \leq q - 1/(4n) + 1/(8n) \leq \epsilon + 1/(8n) - 1/(8n) = \epsilon, so xεx \leq \epsilon; if qp+1/(4n)q \leq p + 1/(4n), then xp1/(8n)q1/(4n)1/(8n)ε1/(8n)3/(8n)=ε1/(2n)εε/2=ε/2x \geq p - 1/(8n) \geq q - 1/(4n) - 1/(8n) \geq \epsilon - 1/(8n) - 3/(8n) = \epsilon - 1/(2n) \geq \epsilon - \epsilon/2 = \epsilon/2, so xε/2x \geq \epsilon/2. Either way, xεx \leq \epsilon or xε/2x \geq \epsilon/2.

    • CommentRowNumber90.
    • CommentAuthorMike Shulman
    • CommentTimeDec 16th 2016

    You seem to be confusing “don’t have a proof of” with “know to be false”. My 84 and Toby’s 89 explain how, even if we don’t start out having a proof of f(c n)ε2f(c_{n}) \leq \frac{\epsilon}{2} or of f(c n)ε2f(c_{n}) \geq \frac{\epsilon}{2}, we can produce a proof of one of the three statements in the trichotomy. Depending on which of the three trichotomous statements we end up proving, it could be that we will end up also obtaining a proof of f(c n)ε2f(c_{n}) \leq \frac{\epsilon}{2} or of f(c n)ε2f(c_{n}) \geq \frac{\epsilon}{2}. But that doesn’t contradict the fact that we didn’t used to have a proof of either of those.

    We have to be careful to separate the theory from the metatheory. If there is a real number xx definable in the empty context such that we can prove, as a meta-statement about our theory, that it is impossible to prove that xε2x\leq \frac{\epsilon}{2} and also impossible to prove that xε2x \geq \frac{\epsilon}{2}, then because we can prove that xεx\le \epsilon or xε2x\ge \frac{\epsilon}{2}, and because pure constructive logic satisfies the disjunction property for proofs in the empty context (if we can prove “P or Q” then we can either prove P or prove Q), it must be that we can prove xεx\le \epsilon. But this “reasoning about proofs” only works in the metatheory, and only in the empty context.

    • CommentRowNumber91.
    • CommentAuthorMike Shulman
    • CommentTimeDec 16th 2016

    As for the legislation example, I would really prefer to restrict to mathematical statements, but I can try to translate over there. If we know for sure that the legislation will be passed (say) next summer, then there is a method to compute the number: just wait until the law is passed. If we don’t know that any relevant legislation will ever be passed, then the definition of the number is not constructively valid, just as the definition “x=0x = 0 if Goldbach’s conjucture is true and x=1x=1 if it is false” is not constructively acceptable.

  17. I think that it’s fair to say that Matt F.’s proof is intended to apply to functions between numbers that…

    Yes, absolutely, my interest is in whether it is constructive in the philosophical sense; I completely agree that it was not intended to address these concerns.

    Other than that, I think we have reached a point of understanding, which I would like to summarise, and then bow out of the discussion, barring some very new point being raised.

    1) In my view, due to meta-mathematical considerations (justified by an intepretation of philosophical constructivism), the logic of the trichotomy step in Matt F’s argument is not valid, for the reason I have already given several times, lastly in #87.

    Note on 1): I entirely accept that the logic can be justified in the formal system that Matt F is working, and more generally whenever one can do the kind of things that Toby is doing in #89. But, contrary to you both, I do not see this as invalidating the meta-mathematical/philosophical considerations. This is not ’confusion’ on my part, this is just my point of view: I consider the meta-mathematical argument to be a valid objection, and if there is something in the model that validates it, then it is something in the model which is awry from a philosophical point of view.

    2) Morever, I consider the d nd_{n}’s in Matt F’s argument to be well-defined only if we have a method to obtain f(c n)f(c_{n}) extensionally in an empty context (because his definition of min\min and max\max relies on such an extensional definition). I claim that the assertion that we always have such a method to be a form of choice, because there is no method in general to replace an intensional definition (which may have some context) by an extensional one with no context.

    Note a) on 2): we have discussed at length some examples intended to illustrate why I take this viewpoint. I am content to rest on what I have already written; I think the examples hold water in illustrating my point, and my feeling is that the objections that are arising are not sufficiently new from what has been written before for me to find the energy to keep responding. After all, this is a philosophical matter; one has to ’see’ it for oneself.

    Note b) on 2): Yes, we could define/evaluate min\min and max\max in all sorts of ways, and yes, we could consider other settings, and, yes, for natural numbers, I consider them to have intensional meaning in and of themselves, and am not against taking them as primitive. But it is an absolute fact that Matt F’s definition of min\min and max\max relies on a rational approximation to f(c n)f(c_{n}), and, therefore, we need to be able to obtain such an approximation to proceed, which we (meta-mathematically; of course within the model this is fine, because it is assumed as part of the formal system) cannot in general, for reasons of the intensional/extensional distinction. Again, I do not wish to write any more about this; one may object, but these objections are, in my view, highly unlikely to address my point.

    Indeed, this last sentence goes for both 1) and 2) for me; they are both philosophical points which I see as evident. I thank everyone for their contributions to the discussion; if anyone has obtained anything useful from the discussion, that is great! For my part, I stick to my original point of view on the aIVT from #1 (later clarified slightly), seen from my version of constructivism; but it has been interesting to attempt to illustrate my views in the context of Matt F’s argument!

    • CommentRowNumber93.
    • CommentAuthorMike Shulman
    • CommentTimeDec 18th 2016

    In principle I of course agree that validity in a particular formal system has no bearing on a philosophical argument unless one believes for philosophical reasons in that formal system. For this reason, I have been trying to understand your philosophical arguments on their own merits, but I have been unable to make any sense of them.

    • CommentRowNumber94.
    • CommentAuthorTobyBartels
    • CommentTimeDec 19th 2016

    Like Mike, I want to understand your philosophical point of view, especially because I want to develop constructive mathematics that will satisfy as many philosophical outlooks as possible. However, your last comment has only confused me more, particularly note (2)(b). (I can elaborate on that if anyone is interested.)

    • CommentRowNumber95.
    • CommentAuthorTodd_Trimble
    • CommentTimeDec 19th 2016

    I’m interested, Toby.

    I’m only a lurker here, and certainly haven’t attempted to master all aspects of this discussion, but since it seems that the mathematics of Matt F.’s arguments conforms to a commonly accepted standard of constructive mathematics which Richard objects to in parts, I wonder what constructive mathematics looks like according to a standard Richard does find acceptable. Has it been developed anywhere? Are there others who have the same outlook as Richard?

  18. Toby, feel free of course to elaborate.

    I wonder what constructive mathematics looks like according to a standard Richard does find acceptable.

    I think a good example is any kind of category theory in which one fixes a certain doctrine (category with structure, eg, a category with products), and uses only that structure to prove things. I mentioned this kind of example in #82. One can do an enormous amount of mathematics in an intensional way in something like the 2-category of categories. Here, one is using only the intensional structure of the objects of the category/2-category; what the objects look like (i.e. their extensional definition) in any particular example of such a category is irrelevant.

    Are there others who have the same outlook as Richard?

    I am not aware of anyone. But I do think that anyone who has thought hard about formal semantics in linguistics should have a good feeling for the difference between intensional and extensional definitions, and I think the idea that there is a method to convert from one to the other would be preposterous to any such person.

    Again, consider the previous example: if someone presents me with an example of a category with products, then, without knowing anything about what the products look like explicitly/extensionally, I can prove all kinds of things about particular objects that I am interested in. Yet, since I don’t know what the products look like extensionally, I don’t have any method to convert my constructed objects to extensional ones. You might say: well, in order for the category with products to be well-defined and meaningful, we have to be able to reduce it all to set theory or whatever, so in principle we can replace the constructed objects by extensional set-theoretic ones. But this is only one point of view. Although this is possible in principle, we might regard the resulting extensional definitions to be meaningless in their complexity and lack of intuitivity. And even though it is possible in principle, we are still relying on a choice of foundations (set theory, for instance), whereas all kinds of other foundations would do equally well; so we are led to the conclusion that the meaning of what I am doing in the category with products does not come from the ability to be able to understand the structure of the category with products extensionally. From considerations such as these, I reject, on philosophical grounds, the fact that we need a method to replace an intensional definition by an extensional one; and I find mathematics developed without such a method to be more meaningful.

    To go further from this point of view to the statement that there is no method to replace an intensional definition by an extensional one, we can point to the fact that there is no single of choice of foundations from which to apply a reductionist technique. One can choose one, but the intensional definition has meaning beyond it. There is no method which can tell us which foundations to choose! It is exactly that: a choice. And, from this kind of way of thinking, I regard it as a form of choice to have as a part of one’s formal system that one can replace intensional by extensional definitions: one is relying on one’s choice of foundations, not the intrinsic meaning of the intensional definition.

    • CommentRowNumber97.
    • CommentAuthorTobyBartels
    • CommentTimeDec 21st 2016

    To elaborate on what I said in #94:

    Richard, you say in note (2.b) in #92

    I consider [min\min and max\max] to have intensional meaning in and of themselves

    which seems to contradict your objection in #53

    The point is that min(0,x)min(0,x) can only be defined for a general integer xx using an extensional representation of xx as an integer.

    Your objection to Matt F.'s proof seems to rely on your claim that we need to turn an intensional description of something into an extensional one (which is not generally a valid step) in order to apply the constructions in that proof, so I've been trying to understand what you mean by that and why you believe it is so, and so you can appreciate that the apparent contradiction cited above has only confused me further.

    • CommentRowNumber98.
    • CommentAuthorTobyBartels
    • CommentTimeDec 21st 2016

    @Richard #96:

    I'm not sure what sorts of categories-with-structure you consider to be doctrines (since that term is itself vague), but how about elementary toposes? If it has no mistakes, then Matt F.'s proof can be interpreted as a statement about that doctrine; indeed, that was what Mike asked for originally (and why he was unhappy with the first answer, which cannot be so interpreted). Is it fair to say that you accept Matt F.'s proof as a proof about elementary toposes, even if you don't accept it as a proof about functions between real numbers?

    • CommentRowNumber99.
    • CommentAuthorRichard Williamson
    • CommentTimeDec 26th 2016
    • (edited Dec 26th 2016)

    which seems to contradict your objection in #53

    In #53, I was referring to the formal system in which Matt F is working, i.e., what is needed for his argument to go through. Whereas 2 b) in #92 is about constructivism as I see it philosophically.

    Your objection to Matt F.’s proof seems to rely on your claim that we need to turn an intensional description of something into an extensional one (which is not generally a valid step) in order to apply the constructions in that proof

    Actually, my principal specific objection to Matt F’s proof is what I see as the clear (meta-mathematical/philosophical) invalidity of the trichotomy argument from a constructive point of view.

    But, yes, I do also object to the definition of d nd_{n}. One cannot have it both ways. Either one gives some extensional definition of minmin and maxmax, and then one needs to have a method to convert any real number to an extensional one in order to proceed, which I view as clearly impossible philosophically; or one has to work intensionally, in which case one will not be able to argue as in Matt F’s proof.

    Let me try one more example to emphasise the choice aspect of intensional vs extensional real numbers. Take something like sinx\sin x for some xx. There are lots of different ways to define this real number. Each different notion will give us a different method to approximate it with rational numbers, i.e. arrive at an extensional definition of it. These extensional definitions are not the same, and there is no method to tell me which one to choose: it is a form of choice. The intensional meaning of sin\sin is something which includes as part of it all of these different ways of defining it.

    Is it fair to say that you accept Matt F.’s proof as a proof about elementary toposes,

    I have already written several times that I accept Matt F’s proof within the kind of formal system that he and MIke have in mind, such as this one.

    Regarding the philosophical point: this would only really shift our discussion to what is non-constructive from my point of view about elementary toposes :-). I intended my example of intensional mathematics to be purely illustrative, not to suggest that I would accept all kinds of doctrines.

    Some things are evidently constructively valid in any sense. Much of diagrammatic knot theory, for instance: everything can be described in a finite way, and has clear algorithmic content. More generally, a lot of piece-wise linear topology, where one is glueing together finite collections of simplices, cubes, etc. But smooth stuff I don’t, in my own work, touch with a barge pole :-).

    • CommentRowNumber100.
    • CommentAuthorTobyBartels
    • CommentTimeDec 28th 2016

    Either one gives some extensional definition of minmin and maxmax, and then one needs to have a method to convert any real number to an extensional one in order to proceed, which I view as clearly impossible philosophically; or one has to work intensionally, in which case one will not be able to argue as in Matt F’s proof.

    Well, I would just like to stipulate that of course one should work intensionally. But even so, I have no idea what's wrong with Matt F.'s proof.