Tactics for mechanized reasoning: a commentary on Milner (1984) ‘The use of machines to assist in rigorous proof’

Robin Milner's paper, ‘The use of machines to assist in rigorous proof’, introduces methods for automating mathematical reasoning that are a milestone in the development of computer-assisted theorem proving. His ideas, particularly his theory of tactics, revolutionized the architecture of proof assistants. His methodology for automating rigorous proof soundly, particularly his theory of type polymorphism in programing, led to major contributions to the theory and design of programing languages. His citation for the 1991 ACM A.M. Turing award, the most prestigious award in computer science, credits him with, among other achievements, ‘probably the first theoretically based yet practical tool for machine assisted proof construction’. This commentary was written to celebrate the 350th anniversary of the journal Philosophical Transactions of the Royal Society.

[1]  Christopher Strachey,et al.  Fundamental Concepts in Programming Languages , 2000, High. Order Symb. Comput..

[2]  Jacques D. Fleuriot,et al.  IsaPlanner: A Prototype Proof Planner in Isabelle , 2003, CADE.

[3]  C. Flori,et al.  Homotopy Type Theory : Univalent Foundations of Mathematics , 2014 .

[4]  Jeremy Avigad,et al.  A Machine-Checked Proof of the Odd Order Theorem , 2013, ITP.

[5]  Lawrence C. Paulson,et al.  The Inductive Approach to Verifying Cryptographic Protocols , 2021, J. Comput. Secur..

[6]  Karen A. Frenkel,et al.  An interview with Robin Milner , 1993, CACM.

[7]  Adam Chlipala,et al.  Certified Programming with Dependent Types - A Pragmatic Introduction to the Coq Proof Assistant , 2013 .

[8]  Michael J. C. Gordon,et al.  Edinburgh LCF: A mechanised logic of computation , 1979 .

[9]  Michael J. C. Gordon,et al.  From LCF to HOL: a short history , 2000, Proof, Language, and Interaction.

[10]  Panagiotis Manolios,et al.  Computer-Aided Reasoning: An Approach , 2011 .

[11]  Andrej Bauer,et al.  Homotopy Type Theory: Univalent Foundations of Mathematics , 2013, ArXiv.

[12]  Xavier Leroy,et al.  Formal verification of a realistic compiler , 2009, CACM.

[13]  Robin Milner,et al.  A Theory of Type Polymorphism in Programming , 1978, J. Comput. Syst. Sci..

[14]  Lauretta O. Osho,et al.  Axiomatic Basis for Computer Programming , 2013 .

[15]  Anthony C. J. Fox,et al.  Formal Specification and Verification of ARM6 , 2003, TPHOLs.

[16]  Richard J. Boulton Boyer-Moore Automation for the HOL System , 1992, TPHOLs.

[17]  Joe Hurd,et al.  The OpenTheory Standard Theory Library , 2011, NASA Formal Methods.

[18]  Lawrence C. Paulson,et al.  Isabelle: The Next 700 Theorem Provers , 2000, ArXiv.

[19]  Natarajan Shankar,et al.  PVS: A Prototype Verification System , 1992, CADE.

[20]  G. Plotkin,et al.  Proof, language, and interaction: essays in honour of Robin Milner , 2000 .

[21]  Benjamin Grégoire,et al.  Formal certification of code-based cryptographic proofs , 2009, POPL '09.

[22]  M. Gordon,et al.  Introduction to HOL: a theorem proving environment for higher order logic , 1993 .

[23]  Lawrence C. Paulson,et al.  A MACHINE-ASSISTED PROOF OF GÖDEL’S INCOMPLETENESS THEOREMS FOR THE THEORY OF HEREDITARILY FINITE SETS , 2014, The Review of Symbolic Logic.

[24]  C. Peirce An unpublished manuscript) , 2016 .

[25]  Dana S. Scott,et al.  A Type-Theoretical Alternative to ISWIM, CUCH, OWHY , 1993, Theor. Comput. Sci..

[26]  Robin Milner Implementation and applications of Scott's logic for computable functions , 1972 .

[27]  Robin Milner,et al.  Definition of standard ML , 1990 .

[28]  Sebastian Muller Ml For The Working Programmer , 2016 .

[29]  Lawrence Charles Paulson,et al.  Isabelle: A Generic Theorem Prover , 1994 .

[30]  Georges Gonthier,et al.  The Four Colour Theorem: Engineering of a Formal Proof , 2008, ASCM.

[31]  Michael Norrish,et al.  seL4: formal verification of an OS kernel , 2009, SOSP '09.

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

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

[34]  Sandip Ray,et al.  The Right Tools for the Job: Correctness of Cone of Influence Reduction Proved Using ACL2 and HOL4 , 2011, Journal of Automated Reasoning.

[35]  R. Milner,et al.  The use of machines to assist in rigorous proof , 1984, Philosophical Transactions of the Royal Society of London. Series A, Mathematical and Physical Sciences.

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

[37]  P. J. Landin,et al.  The next 700 programming languages , 1966, CACM.

[38]  Jeremy Avigad,et al.  Formally verified mathematics , 2014, Commun. ACM.

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

[40]  Thierry Coquand,et al.  Constructions: A Higher Order Proof System for Mechanizing Mathematics , 1985, European Conference on Computer Algebra.

[41]  Allen Newell,et al.  Report on a general problem-solving program , 1959, IFIP Congress.

[42]  Christopher Strachey,et al.  Toward a mathematical semantics for computer languages , 1971 .