# [FOM] The unreasonable soundness of mathematics

Mario Carneiro di.gama at gmail.com
Sat May 14 20:57:57 EDT 2016

```On Mon, May 2, 2016 at 9:08 PM, Timothy Y. Chow <tchow at alum.mit.edu> wrote:

> On Mon, 2 May 2016, Mario Carneiro wrote:
>
>> It sounds like what you are objecting to is the very concept of a
>> "specification".
>>
>
> Not quite.  As an ultrafinitist, I'll grant you the ability to specify a
> concrete computer with a specific, feasible number of components and a
> specific, feasible amount of memory.  The sticking point arises when
> generalizing/idealizing to an unbounded amount of memory.
>
> The classical mathematician is, on the basis of a *single* formal proof,
> making a prediction about the behavior of an unbounded number of concrete
> machines.  The ultrafinitist, on the other hand, has to separately build a
> megabyte-sized machine, a gigabyte-sized machine, a terabyte-sized machine,
> etc., and only when each of these machines runs to completion can the
> ultrafinitist assert that there are no positive integers A and B *in a
> certain range* such that A^2 = 2*B^2.  For each concrete machine, the
> ultrafinitist can understand what a spec is for that machine, but the
> classical mathematician's "spec" is, in effect, quantifying over specs of
> *arbitrary size* and it is this step that the ultrafinitist cannot
> understand.  Like the memoryless goldfish's little plastic castle in Ani
> DiFranco's poem, the computational result is a surprise every time to the
> ultrafinitist.

The way I prefer to think about this is that rather than specifying a
single specification parametric over the "size" of the computer, we have
component specifications of bounded size, plus "composition properties"
between the components. The difference between the abstract machine and the
real thing is that real machines have imperfect composition properties,
meaning that the error rate increases as you add more components, while
abstract machines compose perfectly, which makes them easy to study.

How does this interact with your assertion about the "surprise every time"?
An assertion such as the proof that A^2=2*B^2 has no solutions translates
to a statement about machines that follow their specification, regardless
of how large they are. However, because reality is imperfect, the errors
will accumulate as one attempts to build larger computers until a maximum
feasible size is attained, beyond which point no computer will be able to
follow its specification; at no point are *all integers* being accessed.

On Sat, May 14, 2016 at 5:17 PM, Timothy Y. Chow <tchow at alum.mit.edu> wrote:

> My contention is that you can, for any feasible N, spell out in
> ultrafinitist terms what it means for there to not exist positive A and B
> less than N such that A^2=2*B^2, but that you cannot make the leap to
> asserting this for *all N* in the sense that non-ultrafinitists mean it.
> You have to take one feasible N at a time.  And it is therefore an
> unexplained mystery why, as you keep trying larger and larger values of N,
> the equation A^2=2*B^2 remains insoluble.
>

This seems vaguely reminiscent of the distinction between bounded and
unbounded comprehension (or bounded quantifiers generally). That is, you
are denying that "for all n, phi(n)" has ultrafinitist meaning, but
allowing "for all n < N, phi(n)" for feasible N. At the next level, you
have couched it in natural language, so it is not clear if "for all
feasible N, phi(N)" is regarded as being meaningful. Personally, I see no
issues with statements of the form "for all feasible n, phi(n)", even
though the collection of "all feasible n" is not formally coherent.

It is similar to a statement like "as long as the bridge holds, cars will
be able to traverse the river" - the statement avoids infinity by building
in a safety margin. Furthermore, the statement does not require readers to
form the set of all realities in which the bridge holds - it suffices to be
able to test whether the bridge is holding at any given time. By analogy, a
statement about "for all feasible n, phi(n)" does not require the user to
know what a feasible number is in precise detail, so long as any given
example can be classified as feasible or not.

Finally, once "for all feasible n, phi(n)" statements are regarded as
having ultrafinitist meaning, the "endless surprise" puzzle is resolved: we
have a single statement, which quantifies over all the numbers you can hope
to care about; the ultrafinitist is made to be convinced of such a
statement by translating an analogous pure mathematical statement talking
about "all n", with a finite and feasible proof. Having seen the proof, the
ultrafinitist will not be surprised by the gigabyte computer's failure to
find a counterexample, nor the terabyte computer. Should the petabyte
computer find a counterexample, the ultrafinitist will instead suspect a
bug or hardware failure has occurred.

Mario
-------------- next part --------------
An HTML attachment was scrubbed...
URL: </pipermail/fom/attachments/20160514/e4627a89/attachment-0001.html>
```