Many people have argued that computer programming should strive to become more like mathematics. Maybe so, but not in the way they seem to think. The aim of program verification, an attempt to make pro gramming more mathematics-like, is to increase dramatically one's confidence in the correct functioning of a piece of software, and the device that verifiers use to achieve this goal is a long chain of formal, deductive logic. In mathematics, the aim is to increase one's confidence in the correctness of a theorem, and it's true that one of the devices mathematicians could in theory use to achieve this goal is a long chain of formal logic. But in fact they don't. What they use is a proof, a very different animal. Nor does the proof settle the matter; contrary to what its name suggests, a proof is only one step in the direction of con fidence. We believe that, in the end, it is a social process that deter mines whether mathematicians feel confident about a theorem - and we believe that, because no comparable social process can take place among program verifiers, program verification is bound to fail. We can't see how it's going to be able to affect anyone's confidence about programs. Outsiders see mathematics as a cold, formal, logical, mechanical, monolithic process of sheer intellection; we argue that insofar as it is successful, mathematics is a social, informal, intuitive, organic, human process, a community project. Within the mathematical community, the view of mathematics as logical and formal was elaborated by Bertrand 297
[1]
A. Kempe.
On the Geographical Problem of the Four Colours
,
1879
.
[2]
Thomas L. Heath,et al.
Thirteen Books of Euclid's Elements
,
1911,
The Mathematical Gazette.
[3]
P. J. Cohen,et al.
THE INDEPENDENCE OF THE CONTINUUM HYPOTHESIS.
,
1963,
Proceedings of the National Academy of Sciences of the United States of America.
[4]
Thomas Jech,et al.
About the Axiom of Choice
,
1973
.
[5]
J. A. George.
Computer implementation of the finite element method
,
1971
.
[6]
F. Terry Baker.
Chief Programmer Team Management of Production Programming
,
1972,
IBM Syst. J..
[7]
Philip J. Davis,et al.
Fidelity in mathematical discourse: is one and one really two?
,
1972
.
[8]
Larry Joseph Stockmeyer,et al.
The complexity of decision problems in automata theory and logic
,
1974
.
[9]
S. Ulam,et al.
Adventures of a Mathematician
,
2019,
Mathematics: People · Problems · Results.
[10]
G. Kolata.
Mathematical proofs: the genesis of reasonable doubt.
,
1976,
Science.
[11]
Butler W. Lampson,et al.
Notes on the design of Euclid
,
1977
.
[12]
Imre Lakatos,et al.
On the Uses of Rigorous Proof. (Book Reviews: Proofs and Refutations. The Logic of Mathematical Discovery)
,
1977
.
[13]
John L. Bell,et al.
A course in mathematical logic
,
1977
.
[14]
P. Bateman,et al.
John E. Littlewood (1885–1977) An Informal Obituary
,
1978
.