Automating the meta theory of deductive systems

This thesis describes the design of a meta-logical framework that supports the representation and veri cation of deductive systems, its implementation as an automated theorem prover, and experimental results related to the areas of programming languages, type theory, and logics. Design: The meta-logical framework extends the logical framework LF [HHP93] by a meta-logic M+2 . This design is novel and unique since it allows higher-order encodings of deductive systems and induction principles to coexist. On the one hand, higher-order representation techniques lead to concise and direct encodings of programming languages and logic calculi. Inductive de nitions on the other hand allow the formalization of properties about deductive systems, such as the proof that an operational semantics preserves types or the proof that a logic is consistent. M+2 is a proof calculus whose proof terms are recursive functions that may be de ned by cases and range over dependent higher-order types. The soundness of M+2 follows from a realizability interpretation of proof terms as total recursive functions. Implementation: A proof search algorithm for proof terms inM+2 is implemented in the metatheorem prover that is part of the Twelf system [PS99b]. Its takes full advantage of higher-order encodings while using inductive reasoning. Experiments: Twelf has been used for many experiments. Among others, it proved automatically the Church-Rosser theorem for the simply-typed -calculus and the cut-elimination theorem for intuitionistic rst-order logic. In programming languages, it proved various type preservation theorems for di erent operational semantics and compiler correctness theorems. In logics, it was able to derive the equivalence of various logic calculi, such as the natural deduction calculus, the sequent calculus, and the Hilbert calculus. Twelf also proved that Cartesian closed categories can be embedded into the simply-typed -calculus. In the special domains of programming languages, type theory, and logics, Twelf's reasoning power far exceeds that of any other theorem prover.

[1]  George C. Necula,et al.  Compiling with proofs , 1998 .

[2]  Martin Hofmann Semantical analysis of higher-order abstract syntax , 1999, Proceedings. 14th Symposium on Logic in Computer Science (Cat. No. PR00158).

[3]  William McCune,et al.  OTTER 3.0 Reference Manual and Guide , 1994 .

[4]  Peter Schroeder-Heister Definitional Reflection and the Completion , 1993, ELP.

[5]  Frank Pfenning,et al.  Elf: a language for logic definition and verified metaprogramming , 1989, [1989] Proceedings. Fourth Annual Symposium on Logic in Computer Science.

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

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

[8]  GERARD P. HUET,et al.  The Undecidability of Unification in Third Order Logic , 1973, Inf. Control..

[9]  Martín Abadi,et al.  A type system for Java bytecode subroutines , 1999, TOPL.

[10]  Frank Pfenning,et al.  Structural cut elimination , 1995, Proceedings of Tenth Annual IEEE Symposium on Logic in Computer Science.

[11]  William A. Howard,et al.  The formulae-as-types notion of construction , 1969 .

[12]  Frank Pfenning,et al.  Natural Deduction for Intuitionistic Non-communicative Linear Logic , 1999, TLCA.

[13]  Robert Harper,et al.  An Interpretation of Standard ML in Type Theory , 1997 .

[14]  Richard Statman,et al.  Higher-Order Rewriting with Dependent Types , 1999 .

[15]  G. Huet,et al.  Equations and rewrite rules: a survey , 1980 .

[16]  Lawrence Charles Paulson Tactics and tacticals in Cambridge LCF , 1983 .

[17]  Dale Miller,et al.  Cut-elimination for a logic with definitions and induction , 2000, Theor. Comput. Sci..

[18]  W. Bibel,et al.  Automated deduction : a basis for applications , 1998 .

[19]  Jr. Hartley Rogers Theory of Recursive Functions and Effective Computability , 1969 .

[20]  Natarajan Shankar,et al.  Metamathematics, machines, and Gödels's proof , 1994, Cambridge tracts in theoretical computer science.

[21]  Dieter Hutter,et al.  INKA: The Next Generation , 1996, CADE.

[22]  Per Martin-Löf,et al.  Constructive mathematics and computer programming , 1984 .

[23]  Christine Paulin-Mohring,et al.  Inductive Definitions in the system Coq - Rules and Properties , 1993, TLCA.

[24]  Frank Pfenning,et al.  Mode and Termination Checking for Higher-Order Logic Programs , 1996, ESOP.

[25]  Patrick J. Hayes,et al.  Computation and Deduction , 1973, MFCS.

[26]  Frank Yellin,et al.  The java virtual machine , 1996 .

[27]  Roger M. Needham,et al.  Using encryption for authentication in large networks of computers , 1978, CACM.

[28]  Dale A. Miller,et al.  AN OVERVIEW OF PROLOG , 1988 .

[29]  Paul Hudak The Haskell School of Expression: Learning Functional Programming through Multimedia , 1999 .

[30]  Dale Miller,et al.  A Logic Programming Language with Lambda-Abstraction, Function Variables, and Simple Unification , 1991, J. Log. Comput..

[31]  Wilfried Sieg,et al.  Normal Natural Deduction Proofs (in classical logic) , 1998, Stud Logica.

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

[33]  Dale Miller,et al.  A logic for reasoning with higher-order abstract syntax , 1997, Proceedings of Twelfth Annual IEEE Symposium on Logic in Computer Science.

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

[35]  Frank Pfenning,et al.  Elf: A Meta-Language for Deductive Systems (System Descrition) , 1994, CADE.

[36]  R. Pollack The Theory of LEGO A Proof Checker for the Extended Calculus of Constructions , 1994 .

[37]  Mark Staples Representing WP Semantics in Isabelle/ZF , 1999, TPHOLs.

[38]  Lena Magnusson,et al.  The implementation of ALF : a proof editor based on Martin-Löf's monomorphic type theory with explicit substitution , 1994 .

[39]  Tobias Nipkow,et al.  Javalight is type-safe—definitely , 1998, POPL '98.

[40]  Frank Pfenning,et al.  A Module System for a Programming Language Based on the LF Logical Framework , 1998, J. Log. Comput..

[41]  Somesh Jha,et al.  Model Checking for Security Protocols , 1997 .

[42]  David L. DillComputer Generating Proofs from a Decision Procedure , 1999 .

[43]  Frank Pfenning,et al.  Higher-order abstract syntax , 1988, PLDI '88.

[44]  Christoph Kreitz,et al.  A Proof Environment for the Development of Group Communication Systems , 1998, CADE.

[45]  Alan Robinson,et al.  The Inverse Method , 2001, Handbook of Automated Reasoning.

[46]  Simon Thompson,et al.  Haskell: The Craft of Functional Programming , 1996 .

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

[48]  Gavin Lowe,et al.  Breaking and Fixing the Needham-Schroeder Public-Key Protocol Using FDR , 1996, Softw. Concepts Tools.

[49]  Jacob M. Howe,et al.  Proof search issues in some non-classical logics , 1998 .

[50]  Frank Pfenning,et al.  A Proof of the Church-Rosser Theorem and its Representation in a Logical Framework , 1992 .

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

[52]  D. Prawitz Natural Deduction: A Proof-Theoretical Study , 1965 .

[53]  Frank Pfenning,et al.  Termination and Reduction Checking in the Logical Framework , 2000 .

[54]  Robert Pollack,et al.  How to Believe a Machine-Checked Proof , 1997 .

[55]  Deepak Kapur,et al.  Automated Geometric Reasoning: Dixon Resultants, Gröbner Bases, and Characteristic Sets , 1996, Automated Deduction in Geometry.