|
ABSTRACT
We present a foundation for a computational meta-theory of languages with bindings implemented in a computer-aided formal reasoning environment. Our theory provides the ability to reason abstractly about operators, languages, open-ended languages, classes of languages, etc. The theory is based on the ideas of higher-order abstract syntax, with an appropriate induction principle parameterized over the language i.e. a set of operators) being used. In our approach, both the bound and free variables are treated uniformly and this uniform treatment extends naturally to variable-length bindings. The implementation is reflective, namely there is a natural mapping between the meta-language of the theorem-prover and the object language of our theory. The object language substitution operation is mapped to the meta-language substitution and does not need to be defined recursively. Our approach does not require designing a custom type theory; in this paper we describe the implementation of this foundational theory within a general-purpose type theory. This work is fully implemented in the MetaPRL theorem prover, using the pre-existing NuPRL-like Martin-Lof-style computational type theory. Based on this implementation, we lay out an outline for a framework for programming language experimentation and exploration as well as a general reflective reasoning framework. This paper also includes a short survey of the existing approaches to syntactic reflection.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
|
| |
2
|
Brian E. Aydemir, Aaron Bohannon, Matthew Fairbairn, J. Nathan Foster, Benjamin C. Pierce, Peter Sewell, Dimitrios Vytiniotis, Geoffrey Washburn, Stephanie Weirich, and Steve Zdancewic. Mechanized metatheory for the masses: The POPLmark challenge. Available from http://www.cis.upenn.edu/group/proj/plclub/mmm/, 2005.
|
| |
3
|
William Aitken and Robert L. Constable. Reflecting on Nuprl : Lessons 1--4. Technical report, Cornell University, Computer Science Department, Ithaca, NY, 1992.
|
| |
4
|
|
| |
5
|
Stuart F. Allen, Robert L. Constable, Douglas J. Howe, and William Aitken. The semantics of reflected proof. In Proceedings of the 5th Symposium on Logic in Computer Science, pages 95--197. IEEE Computer Society Press, June 1990.
|
| |
6
|
|
 |
7
|
|
| |
8
|
|
| |
9
|
Stuart F. Allen. A Non-type-theoretic Definition of Martin-Löf's Types. In D. Gries, editor, Proceedings of the 2nd IEEE Symposium on Logic in Computer Science, pages 215--224. IEEE Computer Society Press, June 1987.
|
| |
10
|
|
| |
11
|
|
| |
12
|
Sergei Artemov. Evidence-based common knowledge. Technical Report TR-2004018, CUNY Ph.D. Program in Computer Science Technical Reports, November 2004.
|
| |
13
|
Eli Barzilay and Stuart Allen. Reflecting higher-order abstract syntax in Nuprl. In Victor A. Carreno, Cézar A. Munoz, and Sophiène Tahar, editors, Theorem Proving in Higher Order Logics; Track B Proceedings of the 15th International Conference on Theorem Proving in Higher Order Logics (TPHOLs 2002), Hampton, VA, August 2002, pages 23--32. National Aeronautics and Space Administration, 2002.
|
| |
14
|
Eli Barzilay, Stuart Allen, and Robert Constable. Practical reflection in Nuprl. Short paper presented at 18th Annual IEEE Symposium on Logic in Computer Science, June 22--25, Ottawa, Canada, 2003.
|
| |
15
|
|
| |
16
|
Eli Barzilay. Implementing Reflection in Nuprl. PhD thesis, Cornell University, 2005. In preparation.
|
| |
17
|
R. L. Constable , S. F. Allen , H. M. Bromley , W. R. Cleaveland , J. F. Cremer , R. W. Harper , D. J. Howe , T. B. Knoblock , N. P. Mendler , P. Panangaden , J. T. Sasaki , S. F. Smith, Implementing mathematics with the Nuprl proof development system, Prentice-Hall, Inc., Upper Saddle River, NJ, 1986
|
| |
18
|
Lúis Crus-Filipe and Freek Weidijk. Hierarchical reflection. In Slind et al. phols2004, pages 66--81.
|
| |
19
|
Robert L. Constable. Using reflection to explain and enhance type theory. In Helmut Schwichtenberg, editor, Proof and Computation, volume 139 of NATO Advanced Study Institute, International Summer School held in Marktoberdorf, Germany, July 20-August 1, NATO Series F, pages 65--100. Springer, Berlin, 1994.
|
| |
20
|
N. G. de Bruijn. Lambda calculus notation with nameless dummies, a tool for automatic formula manipulation, with application to the Church-Rosser theorem. Indagaciones Mathematische, 34:381--392, 1972. This also appeared in the Proceedings of the Koninklijke Nederlandse Akademie van Wetenschappen, Amsterdam, series A, 75, No. 5.
|
| |
21
|
|
| |
22
|
|
| |
23
|
|
| |
24
|
|
| |
25
|
|
| |
26
|
|
| |
27
|
Andrzej Ehrenfeucht and Jan Mycielski. Abbreviating proofs by adding new axioms. Bulletin of the American Mathematical Society, 77:366--367, 1971.
|
| |
28
|
Solomon Feferman et al., editors. Kurt Gödel Collected Works, volume 1. Oxford University Press, Oxford, Clarendon Press, New York, 1986.
|
| |
29
|
|
| |
30
|
|
| |
31
|
|
| |
32
|
Jim Grundy, Tom Melham, and John O'Leary. A reflective functional language for hardware design and theorem proving. Technical Report PRG-RR-03-16, Oxford Univerity, Computing Laboratory, 2003.
|
| |
33
|
Kurt Gödel. Über formal unentscheidbare sĂtze der principia mathematica und verwandter systeme I. Monatshefte für Mathematik und Physik, 38:173--198, 1931. English version in {59}.
|
| |
34
|
K. Gödel. Über die Länge von beweisen. Ergebnisse eines mathematischen Kolloquiums, 7:23--24, 1936. English translation in {28}, pages 397--399.
|
| |
35
|
|
| |
36
|
|
| |
37
|
Jason J. Hickey, Brian Aydemir, Yegor Bryukhov, Alexei Kopylov, Aleksey Nogin, and Xin Yu. A listing of MetaPRL theories. http://metaprl.org/theories.pdf.
|
| |
38
|
J. Harrison. Metatheory and reflection in theorem proving: A survey and critique. Technical Report CRC-53, SRI International, Cambridge Computer Science Research Centre, Millers Yard, Cambridge, UK, February 1995.
|
 |
39
|
|
| |
40
|
|
| |
41
|
|
| |
42
|
|
| |
43
|
Gérard P. Huet and Bernard Lang. Proving and applying program transformations expressed with second-order patterns. Acta Informatica, 11:31--55, 1978.
|
| |
44
|
Jason Hickey, Aleksey Nogin, Robert L. Constable, Brian E. Aydemir, Eli Barzilay, Yegor Bryukhov, Richard Eaton, Adam Granicz, Alexei Kopylov, Christoph Kreitz, Vladimir N. Krupski, Lori Lorigo, Stephan Schmitt, Carl Witty, and Xin Yu. MetaPRL --- A modular logical environment. In David Basin and Burkhart Wolff, editors, Proceedings of the 16th International Conference on Theorem Proving in Higher Order Logics (TPHOLs 2003), volume 2758 of Lecture Notes in Computer Science, pages 287--303. Springer-Verlag, 2003
|
| |
45
|
Jason J. Hickey, Aleksey Nogin, Alexei Kopylov, et al. MetaPRL home page. http://metaprl.org/.
|
| |
46
|
Andrzej Mostowski. Sentences undecidable in formalized arithmetic: an exposition of the theory of Kurt Gödel. Amsterdam: North-Holland, 1952.
|
| |
47
|
|
| |
48
|
Aleksey Nogin, Alexei Kopylov, Xin Yu, and Jason Hickey. A computational approach to reflective meta-reasoning about languages with bindings. Technical Report CaltechCSTR:2005.003, California Institure of Technology, 2005. Available at http://resolver.caltech.edu/CaltechCSTR:2005.003.
|
| |
49
|
Michael Norrish. Recursive function definition for types with binders. In Slind et al. phols2004, pages 241--256.
|
| |
50
|
R. Parikh. Existence and feasibility in arithmetic. The Journal of Symbolic Logic, 36:494--508, 1971.
|
| |
51
|
Lawrence C. Paulson. Isabelle: A Generic Theorem Prover, volume 828 of Lecture Notes in Computer Science. Springer-Verlag, New York, 1994.
|
 |
52
|
|
| |
53
|
|
| |
54
|
Gordon Plotkin. An illative theory of relations. In R. Cooper, K. Mukai, and J. Perry, editors,Situation Theory and Its Applications, Volume 1, number 22 in CSLI Lecture Notes, pages 133--146. Centre for the Study of Language and Information, 1990.
|
| |
55
|
L. Paulson and T. Nipkow. Isabelle tutorial and user's manual. Technical report, University of Cambridge Computing Laboratory, 1990.
|
| |
56
|
Konrad Slind, Annette Bunker, and Ganesh Gopalakrishnan, editors. Proceedings of the 17th International Conference on Theorem Proving in Higher Order Logics (TPHOLs 2004), volume 3223 of Lecture Notes in Computer Science. Springer-Verlag, 2004.
|
| |
57
|
|
 |
58
|
|
| |
59
|
J. van Heijenoort, editor. From Frege to Gödel: A Source Book in Mathematical Logic, 1879--1931. Harvard University Press, Cambridge, MA, 1967.
|
|