The semantics of reflected proof

The authors lay the foundations for reasoning about proofs whose steps include both invocations of programs to build subproofs (tactics) and references to representations of proofs themselves (reflected proofs). The main result is the definition of a single type of proof which can mention itself, using a novel technique which finds a fixed point of a mapping between metalanguage and object language. This single type contrasts with hierarchies of types used in other approaches to accomplish the same classification. It is shown that these proofs are valid, and that every proof can be reduced to a proof involving only primitive inference rules. The extension of the results to proofs from which programs (such as tactics) can be derive and to proofs that can refer to a library of definitions and previously proven theorems is shown. It is believed that the mechanism of reflection is fundamental in building proof development systems, and its power is illustrated with applications to automating reasoning and describing modes of computation.<<ETX>>

[1]  Fausto Giunchiglia,et al.  Reflection in Constructive and Non-constructive Automated Reasoning , 1988, META.

[2]  Timothy G. Griffin Notational definition and top-down refinement for interactive proof development systems , 1988 .

[3]  Richard W. Weyhrauch,et al.  Prolegomena to a theory of formal reasoning , 1978 .

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

[5]  中野 裕,et al.  PX, a computational logic , 1988 .

[6]  S. Allen A Non-Type-Theoretic Semantics for Type-Theoretic Language , 1987 .

[7]  Frank van Harmelen,et al.  A Rational Reconstruction and Extension of Recursion Analysis , 1989, IJCAI.

[8]  J. Schwartz,et al.  Metamathematical extensibility for theorem verifiers and proof-checkers☆ , 1979 .

[9]  S. Feferman Formal Theories for Transfinite Iterations of Generalized Inductive Definitions and Some Subsystems of Analysis , 1970 .

[10]  George Boolos,et al.  Computability and logic , 1974 .

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

[12]  David Basin,et al.  Building Problem Solving Environments in Constructive Type Theory , 1989 .

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

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

[15]  John McCarthy,et al.  A BASIS FOR A MATHEMATICAL THEORY OF COMPUTATION 1) , 2018 .

[16]  Douglas James Howe Automating reasoning in an implementation of constructive type theory , 1988 .

[17]  Brian Cantwell Smith,et al.  Reflection and semantics in LISP , 1984, POPL.

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

[19]  Stuart Allen A Non-Type-Theoretic Definition of Martin-Löf's Types , 1987, LICS.

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

[21]  Gopalan Nadathur,et al.  A Logic Programming Approach to Manipulating Formulas and Programs , 1987, SLP.

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

[23]  Robin Milner,et al.  Edinburgh lcf: a mechanized logic of computation , 1978 .

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

[25]  Robert L. Constable,et al.  Reflecting the Open-Ended Computation System of Constructive Type Theory , 1991 .

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

[27]  A. Troelstra Metamathematical investigation of intuitionistic arithmetic and analysis , 1973 .

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

[29]  Alan Bundy A Broader Interpretation of Logic in Logic Programming , 1988, ICLP/SLP.

[30]  S. Hayashi,et al.  PX, a computational logic , 1988 .