Computational Reflection in the Calculus of Constructions and its Application to Theorem Proving

This paper describes a computational reflection mechanism for the calculus of constructions. In this framework it is possible to encode functions that operate on syntactic representations on the meta-level and to verify semantic relations between the object-level denotations of the source and the target of meta-functions. Moreover, it is shown how computational reflection can easily be integrated with existing proof development systems based on refinement methods in order to extend theorem proving capabilities in a sound way.

[1]  Peter Lee,et al.  Metacircularity in the Polymorphic lambda-Calculus , 1991, Theor. Comput. Sci..

[2]  Richard W. Weyhrauch,et al.  Prolegomena to a Theory of Mechanized Formal Reasoning , 1980, Artif. Intell..

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

[4]  Georg Kreisel,et al.  Reflection Principles and Their Use for Establishing the Complexity of Axiomatic Systems , 1968 .

[5]  Thierry Coquand,et al.  The Calculus of Constructions , 1988, Inf. Comput..

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

[7]  Douglas J. Howe Reflecting the semantics of reflected proof , 1993 .

[8]  Douglas J. Howe Computational Metatheory in Nuprl , 1988, CADE.

[9]  Robert L. Constable,et al.  Formalized Metareasoning in Type Theory , 1986, LICS.

[10]  Friedrich W. von Henke,et al.  An Algebraic Approach to Data Types, Program Verification, and Program Synthesis , 1976, MFCS.

[11]  Robert Harper,et al.  Type Checking, Universe Polymorphism, and Typical Ambiguity in the Calculus of Constructions (Draft) , 1989, TAPSOFT, Vol.2.

[12]  Bengt Nordström,et al.  Programming in Martin-Löf's Type Theory , 1990 .

[13]  Harald Ruess,et al.  Reflection of Formal Tactics in a Deductive Reflection Framework , 1996, CADE.

[14]  Torben Æ. Mogensen Efficient self-interpretation in lambda calculus , 1992, Journal of Functional Programming.

[15]  Robert L. Constable,et al.  The semantics of reflected proof , 1990, [1990] Proceedings. Fifth Annual IEEE Symposium on Logic in Computer Science.

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

[17]  J. Girard,et al.  Proofs and types , 1989 .

[18]  Natarajan Shankar,et al.  Formal Verification for Fault-Tolerant Architectures: Prolegomena to the Design of PVS , 1995, IEEE Trans. Software Eng..