Implementing mathematics with the Nuprl proof development system
Implementing mathematics with the Nuprl proof development system
PLDI '88 Proceedings of the ACM SIGPLAN 1988 conference on Programming Language design and Implementation
Elf: a language for logic definition and verified metaprogramming
Proceedings of the Fourth Annual Symposium on Logic in computer science
Reflection in constructive and non-constructive automated reasoning
Meta-programming in logic programming
A framework for defining logics
Journal of the ACM (JACM)
Shared annotation for cooperative learning
CSCL '95 The first international conference on Computer support for collaborative learning
Metalogical Frameworks II: Developing a Reflected Decision Procedure
Journal of Automated Reasoning
Proceedings of the 16th International Conference on Automated Deduction: Automated Deduction
CADE-16 Proceedings of the 16th International Conference on Automated Deduction: Automated Deduction
Higher-Order Abstract Syntax with Induction in Coq
LPAR '94 Proceedings of the 5th International Conference on Logic Programming and Automated Reasoning
Higher-Order Abstract Syntax in Coq
TLCA '95 Proceedings of the Second International Conference on Typed Lambda Calculi and Applications
Primitive Recursion for Higher-Order Abstract Syntax
TLCA '97 Proceedings of the Third International Conference on Typed Lambda Calculi and Applications
Five Axioms of Alpha-Conversion
TPHOLs '96 Proceedings of the 9th International Conference on Theorem Proving in Higher Order Logics
Combining Higher Order Abstract Syntax with Tactical Theorem Proving and (Co)Induction
TPHOLs '02 Proceedings of the 15th International Conference on Theorem Proving in Higher Order Logics
Sequent Schema for Derived Rules
TPHOLs '02 Proceedings of the 15th International Conference on Theorem Proving in Higher Order Logics
Nuprl-Light: An Implementation Framework for Higher-Order Logics
CADE-14 Proceedings of the 14th International Conference on Automated Deduction
The Nuprl Open Logical Environment
CADE-17 Proceedings of the 17th International Conference on Automated Deduction
Abstract Syntax and Variable Binding
LICS '99 Proceedings of the 14th Annual IEEE Symposium on Logic in Computer Science
Reflection and semantics in LISP
POPL '84 Proceedings of the 11th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Justifying Calculational Logic by a Conventional Metalinguistic Semanti cs
Justifying Calculational Logic by a Conventional Metalinguistic Semanti cs
Quotation and Reflection in Nuprl and Scheme
Quotation and Reflection in Nuprl and Scheme
A non-type-theoretic semantics for type-theoretic language
A non-type-theoretic semantics for type-theoretic language
The metaprl logical programming environment
The metaprl logical programming environment
Recursion over objects of functional type
Mathematical Structures in Computer Science
A definitional approach to primitivexs recursion over higher order abstract syntax
MERLIN '03 Proceedings of the 2003 ACM SIGPLAN workshop on Mechanized reasoning about languages with variable binding
Implementing reflection in nuprl
Implementing reflection in nuprl
Formal compiler construction in a logical framework
Higher-Order and Symbolic Computation
Mechanized meta-reasoning using a hybrid HOAS/de bruijn representation and reflection
Proceedings of the eleventh ACM SIGPLAN international conference on Functional programming
Formalizing Type Operations Using the “Image” Type Constructor
Electronic Notes in Theoretical Computer Science (ENTCS)
Practical Reflection for Sequent Logics
Electronic Notes in Theoretical Computer Science (ENTCS)
Calculemus '07 / MKM '07 Proceedings of the 14th symposium on Towards Mechanized Mathematical Assistants: 6th International Conference
Combining de Bruijn indices and higher-order abstract syntax in Coq
TYPES'06 Proceedings of the 2006 international conference on Types for proofs and programs
A modal logic internalizing normal proofs
Information and Computation
Hi-index | 0.00 |
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.