Feedback to Opinion 94

Feedback by Rob Arthan

Dear Prof. Zeilberger,

I am not qualified to comment on your opinion 94 as regards the careers advice 
for Thomas Hales. I will have to leave that to Tom or posterity. I would like 
to comment on the relevance of computational logic to mathematics.

You are certainly right that computer programs can be orders of magnitude more 
reliable at mathematical calculation than humans. The problem is that the 
number of orders of magnitude really matters. In human mathematics, we really 
only get adequate reliability by the multiple independent checks that are 
made on proofs as mathematics is used and taught.

The big problem with computer algebra systems like Maple or Mathematica is 
that they were just not designed with assurance in mind. They give no 
indication of the reliability of the results. On the other hand, if you write 
your own programs, then, while you may be confident that they are free of 
errors, how do you convince anybody else? Peer review of code is incredibly 
time-consuming and tedious and of very limited value. Trying to produce 
totally correct programs is also potentially a waste of time if all you need 
is the correctness of one or two specific calculations.

I believe that the mathematical community and anyone else who cares about 
computer algebra should not be complacent about the dependability of the 
systems they use. We should demand that computer algebra systems be designed 
with dependability in mind. The user must be able to make convincing claims 
about the validity of results. These need not be claims that a complete 
formal proof can be produced, but you need to be able to claim some degree of 
confidence. Otherwise what is the point?

What we have learned in computational logic is that good software engineering 
makes it possible to mitigate the argument that "programs always have bugs". 
For example, the various HOL systems as used in the flyspeck project are 
based on an LCF-style architecture. This means that you only have to trust a 
small and fixed part of the system, namely the logical kernel that carries 
out primitive inferences. The rest of the code can be riddled with bugs, but 
that does not matter: if code outside the kernel goes wrong it may annoy the 
user, but only bugs in the kernel can produce an invalid proof. Practical 
experience over more than 20 years with systems of this type has shown that 
they really do give a very high degree of dependability and even succeed in 
not annoying the user quite a lot of the time. These ideas need to be 
exported into the world of computer algebra. This does not imply total 
rigour: a result can always be given with a qualified certificate of 
reliability (e.g., you might get "proved using WZ as an oracle" from a system 
that hasn't formalized the metatheory of WZ).

So we can mitigate the arguments that "programs always have bugs" and "you 
can't trust a computer", and we have to. We do this in engineering when 
computers are applied to safety-critical problems, and there is no reason why 
we should not do it for the kinds of programs that mathematicians want to 
use. Then, maybe after the retirement of a few diehards, the arguments 
against using computers in mathematics can be consigned to history.

Finally, concerning the axiomatic method, there is one vital difference that 
makes machine language less stifling than a tuxedo: you cannot compile 
high-level languages into a tuxedo. OK, so it took Russell and Whitehead 
hundreds of pages to prove that 1+1 = 2, but that was when it was done for 
the very first time, many decades before there were machines to help. These 
days, with computer assistance, we have a range of "headline" formal proofs 
like 4CT and the Jordan curve theorem. These are based on formal developments 
of much of elementary algebra and analysis together with a lot of interesting 
combinatorics, abstract algebra, geometry and topology. These developments 
include microcosms of computer algebra tools for things like term 
normalisation and symbolic differentiation. I disagree that the returns are 
diminishing and I predict continued and accelerating progress, if for no 
other motivation than "because it is there".

Best Regards,

Rob Arthan.


Back to Opinion 94 of Doron Zeilberger

Doron Zeilberger's Homepage