A Theorem Prover for a Computational Logic

We briefly review a mechanical theorem-prover for a logic of recursive functions over finitely generated objects including the integers, ordered pairs, and symbols. The prover, known both as NQTHM and as the Boyer-Moore prover, contains a mechanized principle of induction and implementations of linear resolution, rewriting, and arithmetic decision procedures. We describe some applications of the prover, including a proof of the correct implementation of a higher level language on a microprocessor defined at the gate level. We also describe the ongoing project of recoding the entire prover as an applicative function within its own logic.

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

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

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

[4]  G. Carpenter In Providence, R. I. , 1929 .

[5]  Benedetto Lorenzo Di Vito,et al.  Verification of communications protocols and abstract process models , 1982 .

[6]  Conclusions , 1989 .

[7]  W. Bledsoe,et al.  Automated Theorem Proving: After 25 Years , 1984 .

[8]  J. S. Moore,et al.  Proof Checking The RSA Public Key Encryption Algorithm , 1984 .

[9]  Robert S. Boyer,et al.  Functional Instantiation in First-Order Logic , 1991, Artificial and Mathematical Theory of Computation.

[10]  Robert S. Boyer,et al.  The use of a formal simulator to verify a simple real time control program , 1990 .

[11]  李幼升,et al.  Ph , 1989 .

[12]  John McCarthy,et al.  LISP 1.5 Programmer's Manual , 1962 .

[13]  Leslie Lamport,et al.  Reaching Agreement in the Presence of Faults , 1980, JACM.

[14]  Christian Lengauer,et al.  The automated proof of a trace transformation for a bitonic sort , 1986, Theor. Comput. Sci..

[15]  Robert S. Boyer,et al.  Metafunctions: Proving Them Correct and Using Them Efficiently as New Proof Procedures. , 1979 .

[16]  Carolyn L. Talcott,et al.  String-Functional Semantics for Formal Verification of Synchronous Circuits , 1988 .

[17]  Robert S. Boyer,et al.  MJRTY: A Fast Majority Vote Algorithm , 1991, Automated Reasoning: Essays in Honor of Woody Bledsoe.

[18]  Robert S. Boyer,et al.  A Lemma Driven Automatic Theorem Prover for Recursive Function Theory , 1977, IJCAI.

[19]  David M. Goldschlag,et al.  Mechanically Verifying Concurrent Programs with the Boyer-Moore Prover , 1990, IEEE Trans. Software Eng..

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

[21]  J. Shepherdson,et al.  Computer programming and formal systems , 1965 .

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

[23]  Robert S. Boyer,et al.  A Mechanical Proof of the Unsolvability of the Halting Problem , 1984, JACM.

[24]  Natarajan Shankar,et al.  A mechanical proof of the Church-Rosser theorem , 1988, JACM.

[25]  Robert S. Boyer,et al.  Integrating decision procedures into heuristic theorem provers: a case study of linear arithmetic , 1988 .

[26]  John McCarthy,et al.  Computer programs for checking mathematical proofs , 1962 .

[27]  John McCarthy,et al.  A basis for a mathematical theory of computation, preliminary report , 1899, IRE-AIEE-ACM '61 (Western).

[28]  Matt Kaufmann,et al.  AN INTEGER LIBRARY FOR NQTHM , 1990 .

[29]  Helen Murray Roberts,et al.  Elements of mathematics , 1956 .

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

[31]  John McCarthy,et al.  Recursive functions of symbolic expressions and their computation by machine, Part I , 1960, Commun. ACM.

[32]  Shirley Dex,et al.  JR 旅客販売総合システム(マルス)における運用及び管理について , 1991 .

[33]  Leslie Lamport,et al.  The Byzantine Generals Problem , 1982, TOPL.

[34]  Matt Kaufmann,et al.  DEFN-SK: An Extension of the Boyer-Moore Theorem Prover to Handle First-Order Quantifiers ***DRAFT*** , 1989 .

[35]  Guy L. Steele,et al.  Common Lisp the Language , 1984 .

[36]  J. Strother Moore,et al.  A Mechanical Proof of the Termination of Takeuchi's Function , 1979, Inf. Process. Lett..

[37]  Christian Lengauer,et al.  A mechanically certified theorem about optimal concurrency of sorting networks , 1986, POPL '86.

[38]  Robert S. Boyer,et al.  A Verification Condition Generator for FORTRAN. , 1980 .

[39]  Thomas L. Heath,et al.  Thirteen Books of Euclid's Elements , 1911, The Mathematical Gazette.

[40]  Matt Kaufmann,et al.  A Parallel Version of the Boyer-Moore Prover , 1989 .

[41]  Robert S. Boyer,et al.  The Correctness Problem in Computer Science , 1982 .

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

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

[44]  Matt Kaufmann,et al.  Comparing Gypsy and the Boyer-Moore Logic for Specifying Secure Systems , 1987 .

[45]  Bruce Lercher,et al.  Recursive Number Theory , 1958, The Mathematical Gazette.

[46]  Joseph Sifakis,et al.  Proceedings of the International Workshop on Automatic Verification Methods for Finite State Systems , 1989 .

[47]  S. Chou Mechanical Geometry Theorem Proving , 1987 .

[48]  Matt Kaufmann An Interactive Enhancement to the Boyer-Moore Theorem Prover , 1988, CADE.

[49]  Carolyn L. Talcott,et al.  Formal Verification of Synchronous Circuits based on String-Functional Semantics: The 7 Paillet Circuits in Boyer-Moore , 1989, Automatic Verification Methods for Finite State Systems.

[50]  D.M. Goldschlag Proving proof rules: a proof system for concurrent programs , 1990, Fifth Annual Conference on Computer Assurance, Systems Integrity, Software Safety and Process Security..

[51]  Alexandre Bronstein MLP: string-functional semantics and Boyer-Moore mechanization for the formal verification of synchronous circuits , 1990 .

[52]  Robert S. Boyer,et al.  Program Verification , 1985, J. Autom. Reason..

[53]  Robert S. Boyer,et al.  A verified operating system kernel , 1987 .

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

[55]  Robert S. Boyer,et al.  A Mechanical Proof of the Turing Completeness of Pure LISP. , 1983 .

[56]  G. Gibson The Thirteen Books of Euclid's Elements , 1927, Nature.

[57]  J. Heijenoort From Frege To Gödel , 1967 .

[58]  David M. Goldschlag Mechanizing Unity , 1990, Programming Concepts and Methods.

[59]  Matt Kaufmann An Example in Nqthm: Ramsey's Theorem , 1992 .

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