The automation of proof: a historical and sociological exploration

This article reviews the history of the use of computers to automate mathematical proofs. It identifies three broad strands of work: automatic theorem proving where the aim is to simulate human processes of deduction; automatic theorem proving where any resemblance to how humans deduce is considered to be irrelevant; and interactive theorem proving, where the proof is directly guided by a human being. The first strand has been underpinned by commitment to the goal of artificial intelligence; practitioners of the second strand have been drawn mainly from mathematical logic; and the third strand has been rooted primarily in the verification of computer programs and hardware designs.

[1]  Gottfried Wilhelm Leibniz,et al.  Elements of a Calculus , 1966 .

[2]  Larry Wos,et al.  Automated Theorem Proving 1965–1970 , 1983 .

[3]  Alan Bundy,et al.  The Computer Modelling of Mathematical Reasoning , 1983 .

[4]  B Dreben,et al.  On the Completeness of Quantification Theory. , 1952, Proceedings of the National Academy of Sciences of the United States of America.

[5]  Donald W. Loveland,et al.  Automated theorem proving: a logical basis , 1978, Fundamental studies in computer science.

[6]  J. Robinson,et al.  Review: Abraham Robinson, Proving a Theorem (as Done by Man, Logician, or Machine) , 1967 .

[7]  Robert S. Boyer,et al.  Proving Theorems about LISP Functions , 1973, JACM.

[8]  Larry Wos Solving Open Questions with an Automated Theorem-Proving Program , 1982, CADE.

[9]  Geoffrey Hunter What Computers Can't Do , 1988, Philosophy.

[10]  L. Wos,et al.  Paramodulation and Theorem-Proving in First-Order Theories with Equality , 1983 .

[11]  W. V. Quine,et al.  A proof procedure for quantification theory , 1955, Journal of Symbolic Logic.

[12]  James C. King,et al.  A Program Verifier , 1971, IFIP Congress.

[13]  Robert Bumcrot On Lattice Complements , 1965 .

[14]  John McCarthy,et al.  Towards a Mathematical Science of Computation , 1962, IFIP Congress.

[15]  K. Gödel Über formal unentscheidbare Sätze der Principia Mathematica und verwandter Systeme I , 1931 .

[16]  Richard J. Lipton,et al.  Social processes and proofs of theorems and programs , 1977, POPL.

[17]  Donald Irvin Good,et al.  Toward a man-machine system for proving program correctness , 1970 .

[18]  K. Appel,et al.  Every planar map is four colorable. Part I: Discharging , 1977 .

[19]  W. W. Bledsoe,et al.  A Man-Machine Theorem-Proving System , 1973, IJCAI.

[20]  Robin Milner,et al.  Logic for Computable Functions: description of a machine implementation. , 1972 .

[21]  Rod M. Burstall,et al.  Proving Properties of Programs by Structural Induction , 1969, Comput. J..

[22]  Donald W. Loveland,et al.  Automated theorem proving: a quarter-century review , 1984 .

[23]  de Ng Dick Bruijn Automath A Language for Mathematics , 1973 .

[24]  Theodore Hailperin Foundations of Probability in Mathematical Logic , 1937, Philosophy of Science.

[25]  Robert A. Kowalski,et al.  The early years of logic programming , 1988, CACM.

[26]  S. H. Banks,et al.  Security policy , 1990, Comput. Secur..

[27]  M. Gordon HOL : A machine oriented formulation of higher order logic , 1985 .

[28]  Patrick J. Hayes,et al.  A critique of pure treason , 1987 .

[29]  Graham Wrightson,et al.  Automation of reasoning--classical papers on computational logic , 2012 .

[30]  P. S. Tasker,et al.  DEPARTMENT OF DEFENSE TRUSTED COMPUTER SYSTEM EVALUATION CRITERIA , 1985 .

[31]  Robert S. Boyer,et al.  A Biographical Sketch of W. W. Bledsoe , 1991, Automated Reasoning: Essays in Honor of Woody Bledsoe.

[32]  Hao Wang,et al.  Proving theorems by pattern recognition I , 1960, Commun. ACM.

[33]  D. Gorenstein The Enormous Theorem , 1985 .

[34]  Gottlob Frege,et al.  Begriffsschrift, eine der arithmetischen nachgebildete Formelsprache des reinen Denkens , 1879 .

[35]  John Alan Robinson Formal and Informal Proofs , 1991, Automated Reasoning: Essays in Honor of Woody Bledsoe.

[36]  Ralph L. London Computer Programs can be Proved Correct , 1970 .

[37]  Martin Davis,et al.  The Prehistory and Early History of Automated Deduction , 1983 .

[38]  F. Ramsey The foundations of mathematics , 1932 .

[39]  Lawrence J. Henschen,et al.  What Is Automated Theorem Proving? , 1985, J. Autom. Reason..

[40]  José Roberto Cardoso,et al.  Linear and nonlinear self-adaptive finite element field calculation , 1995, 38th Midwest Symposium on Circuits and Systems. Proceedings.

[41]  M. Davis A Computer Program for Presburger’s Algorithm , 1983 .

[42]  D. Barton,et al.  Grundlagen der Analysis , 1934 .

[43]  Evert W. Beth,et al.  On Machines Which Prove Theorems , 1962 .

[44]  Patrick Henry Winston,et al.  Proposal to ARPA for Research on Intelligent Automata and Micro-Automation , 1973 .

[45]  Jonathan K. Millen,et al.  Verifying Security , 1981, CSUR.

[46]  W. W. Bledsoe,et al.  Non-Resolution Theorem Proving , 1977, Artif. Intell..

[47]  Robert S. Boyer,et al.  Computational Logic , 1990, ESPRIT Basic Research Series.

[48]  Henri Poincaré,et al.  Science et méthode , 1934 .

[49]  James Fleck,et al.  Development and Establishment in Artificial Intelligence , 1982 .

[50]  Dag Prawitz,et al.  A Mechanical Proof Procedure and its Realization in an Electronic Computer , 1960, JACM.

[51]  Nils J. Nilsson,et al.  Artificial Intelligence , 1974, IFIP Congress.

[52]  J. R. Guard,et al.  Semi-Automated Mathematics , 1969, JACM.

[53]  Nancy S. Struever The Rhetoric of the Human Sciences , 1989 .

[54]  Donald I. Good,et al.  Mechanical proofs about computer programs , 1984, Philosophical Transactions of the Royal Society of London. Series A, Mathematical and Physical Sciences.

[55]  Marvin Minsky,et al.  Proposal to ARPA for Research on Artificial Intelligence at MIT, 1970-1971 , 1970 .

[56]  M. E. P. Valdez,et al.  A gift from Pandora's box : The software crisis , 1988 .

[57]  C. GilmoreP. A proof method for quantification theory , 1960 .

[58]  E. L. Lusk,et al.  Semigroups, antiautomorphisms, and involutions: a computer solution to an open problem. I , 1981 .

[59]  A. J. Nevins,et al.  A Human Oriented Logic for Automatic Theorem-Proving , 1974, JACM.

[60]  Hans Hahn,et al.  Grundlagen der Analysis , 1911 .

[61]  Christopher Cherniak,et al.  Computational Complexity and the Universal Acceptance of Logic , 1984 .

[62]  W. W. Bledsoe,et al.  Splitting and Reduction Heuristics in Automatic Theorem Proving , 1971, Artif. Intell..

[63]  M. L. Murphy,et al.  A biographical sketch , 1970 .

[64]  K. Gödel Die Vollständigkeit der Axiome des logischen Funktionenkalküls , 1930 .

[65]  Robert W. Floyd,et al.  Assigning Meanings to Programs , 1993 .

[66]  Wolfgang Bibel,et al.  Automated Theorem Proving , 1987, Artificial Intelligence / Künstliche Intelligenz.

[67]  Daniel Crevier,et al.  Ai: The Tumultuous History Of The Search For Artificial Intelligence , 1993 .

[68]  Jacques Herbrand Recherches sur la théorie de la démonstration , 1930 .

[69]  L. Wos,et al.  Automated generation of models and counterexamples and its application to open questions in Ternary Boolean algebra , 1978, MVL '78.

[70]  Robin Milner,et al.  LCF: A Way of Doing Proofs with a Machine , 1979, MFCS.

[71]  Nissim Francez,et al.  Program verification , 1992, International computer science series.

[72]  E. Feigenbaum,et al.  Computers and Thought , 1963 .

[73]  Larry Wos,et al.  The Concept of Demodulation in Theorem Proving , 1967, JACM.

[74]  Fred B. Schneider,et al.  A Theory of Sets , 1993 .

[75]  Woody Bledsoe I had a dream: AAAI presidential address , 1986 .

[76]  A. M. Turing,et al.  Checking a large routine , 1989 .

[77]  K. Appel,et al.  Every Planar Map Is Four Colorable , 2019, Mathematical Solitaires & Games.

[78]  Stephen A. Cook,et al.  The complexity of theorem-proving procedures , 1971, STOC.

[79]  Herbert Mehrtens,et al.  Moderne Sprache, Mathematik : eine Geschichte des Streits um die Grundlagen der Disziplin und des Subjekts formaler Systeme , 1992 .

[80]  Douglas B. Lenat,et al.  AM, an artificial intelligence approach to discovery in mathematics as heuristic search , 1976 .

[81]  G. M.,et al.  The Thirteen Books of Euclid's Elements , 1909, Nature.

[82]  Keith Hanna,et al.  Specification and Verification using Higher-Order Logic: A Case Study , 1986 .

[83]  F. F. Bonsall A Down-To-Earth View of Mathematics. , 1982 .

[84]  A. Turing On Computable Numbers, with an Application to the Entscheidungsproblem. , 1937 .

[85]  Steven K. Winker Generation and Verification of Finite Models and Counterexamples Using an Automated Theorem Prover Answering Two Open Questions , 1982, JACM.

[86]  H. Simon,et al.  Models of My Life , 1991 .

[87]  Brian Randell,et al.  Software engineering : report on a conference sponsored by the NATO Science Committee, Garmisch, Germany, 7th to 11th October 1968 , 1969 .

[88]  Lawrence C. Paulson Tactics and Tacticals , 1987 .

[89]  K. Appel,et al.  Microfiche supplement to “Every planar map is four colorable” , 1977 .

[90]  Hilary Putnam,et al.  A Computing Procedure for Quantification Theory , 1960, JACM.

[91]  William Stanley Jevons I. On the mechanical performance of logical inference , 1870, Proceedings of the Royal Society of London.

[92]  P. H. Nidditch,et al.  Introductory formal logic of mathematics , 1959 .

[93]  Herman H. Goldstine,et al.  Planning and coding of problems for an Electronic Computing Instrument , 1947 .

[94]  M. Schaefer,et al.  Symbol security condition considered harmful , 1989, Proceedings. 1989 IEEE Symposium on Security and Privacy.

[95]  Robert S. Boyer,et al.  Computer Proofs of Limit Theorems , 1971, IJCAI.

[96]  Robert S. Boyer,et al.  A computational logic handbook , 1979, Perspectives in computing.

[97]  Nicolas Bourbaki Elements of Mathematics: Theory of Sets , 1968 .

[98]  J. A. Robinson,et al.  Logic and logic programming , 1992, CACM.

[99]  Seymour E. Goodman,et al.  Software: recommendations for an export control policy , 1980, CACM.

[100]  D. Loveland,et al.  Empirical explorations of the geometry-theorem proving machine , 1995 .

[101]  H. Dreyfus What Computers Can't Do: The Limits of Artificial Intelligence , 1978 .

[102]  Lawrence C. Paulson,et al.  Logic and computation - interactive proof with Cambridge LCF , 1987, Cambridge tracts in theoretical computer science.

[103]  Rance Cleaveland,et al.  Implementing mathematics with the Nuprl proof development system , 1986 .

[104]  J. C. Shaw,et al.  Empirical explorations of the logic theory machine: a case study in heuristic , 1899, IRE-AIEE-ACM '57 (Western).

[105]  Thomas Ross Machines who think. , 1933, Science.

[106]  Nathaniel Rochester,et al.  Intelligent Behavior in Problem-Solving Machines , 1958, IBM J. Res. Dev..

[107]  Cliff B. Jones,et al.  An Early Program Proof by Alan Turing , 1984, Annals of the History of Computing.

[108]  John McCarthy,et al.  Correctness of a compiler for arithmetic expressions , 1966 .

[109]  D. Devorkin,et al.  The talk of the town , 1976 .

[110]  Paul C. Gilmore,et al.  A Proof Method for Quantification Theory: Its Justification and Realization , 1960, IBM J. Res. Dev..

[111]  Avra Cohn,et al.  A Proof of Correctness of the Viper Microprocessor: The First Level , 1988 .

[112]  van Ls Bert Benthem Jutting,et al.  Checking Landau's “Grundlagen” in the Automath System: Appendices 3 and 4 (The PN-lines; Excerpt for “Satz 27”) , 1994 .

[113]  Allen Newell,et al.  Heuristic Problem Solving: The Next Advance in Operations Research , 1958 .

[114]  J. A. Robinson,et al.  A Machine-Oriented Logic Based on the Resolution Principle , 1965, JACM.

[115]  Peter Naur Proof of Algorithms by General Snapshots , 1966 .

[116]  T. Kuhn,et al.  The Structure of Scientific Revolutions. , 1964 .

[117]  Donald MacKenzie,et al.  The fangs of the VIPER , 1991, Nature.

[118]  W. Bledsoe A new method for proving certain Presburger formulas , 1975, IJCAI 1975.

[119]  L. Wos,et al.  Automated reasoning answers open questions. , 1993 .

[120]  D. E. Bell,et al.  Secure Computer Systems : Mathematical Foundations , 2022 .

[121]  Lawrence J. Henschen,et al.  Questions concerning possible shortest single axioms for the equivalential calculus: an application of automated theorem proving to infinite domains , 1983, Notre Dame J. Formal Log..

[122]  Hao Wang,et al.  Toward Mechanical Mathematics , 1960, IBM J. Res. Dev..

[123]  N. Shankar Proof-checking metamathematics (theorem-proving) , 1986 .

[124]  Carl Hewitt,et al.  Description and Theoretical Analysis (Using Schemata) of Planner: A Language for Proving Theorems and Manipulating Models in a Robot , 1972 .

[125]  Larry Wos,et al.  Problems and Experiments for and with Automated Theorem-Proving Programs , 1976, IEEE Transactions on Computers.

[126]  Hao Wang,et al.  Computer Theorem Proving and Artificial Intelligence , 1990 .

[127]  Walter P. van Stigt,et al.  Brouwer's intuitionism , 1990 .

[128]  Robert S. Boyer,et al.  A Theorem Prover for a Computational Logic , 1990, CADE.

[129]  Hao Wang Proving theorems by pattern recognition — II , 1961 .

[130]  Peter B. Andrews,et al.  AUTOMATING HIGHER-ORDER LOGIC , 1984 .