Results 1 
8 of
8
A Computational Approach to Reflective MetaReasoning about Languages with Bindings
 In MERLIN ’05: Proceedings of the 3rd ACM SIGPLAN workshop on Mechanized
, 2005
"... We present a foundation for a computational metatheory of languages with bindings implemented in a computeraided formal reasoning environment. Our theory provides the ability to reason abstractly about operators, languages, openended languages, classes of languages, etc. The theory is based on th ..."
Abstract

Cited by 12 (2 self)
 Add to MetaCart
We present a foundation for a computational metatheory of languages with bindings implemented in a computeraided formal reasoning environment. Our theory provides the ability to reason abstractly about operators, languages, openended languages, classes of languages, etc. The theory is based on the ideas of higherorder 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 variablelength bindings. The implementation is reflective, namely there is a natural mapping between the metalanguage of the theoremprover and the object language of our theory. The object language substitution operation is mapped to the metalanguage 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 generalpurpose type theory. This work is fully implemented in the MetaPRL theorem prover, using the preexisting NuPRLlike MartinL ofstyle 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. 1
OrderTheoretic, Geometric and Combinatorial Models of Intuitionistic S4 Proofs
 IN INTUITIONISTIC MODAL LOGICS AND APPLICATIONS (IMLA’99)
, 1999
"... We propose a few models of proof terms for the intuitionistic modal propositional logic S4. Some of them are based on partial orders, or cpos, or dcpos, some of them on a suitable category of topological spaces and continuous maps. A structure that emerges from these interpretations is that of augme ..."
Abstract

Cited by 6 (3 self)
 Add to MetaCart
We propose a few models of proof terms for the intuitionistic modal propositional logic S4. Some of them are based on partial orders, or cpos, or dcpos, some of them on a suitable category of topological spaces and continuous maps. A structure that emerges from these interpretations is that of augmented simplicial sets. This leads to socalled combinatorial models, where simplices play an important role: the point is that the simplicial structure interprets the 2 modality, and that the category of augmented simplicial sets is itself already a model of intuitionistic propositional S4 proof terms. In fact, this category is an elementary topos, and is therefore a prime candidate to interpret all proof terms for intuitionistic S4 set theory. Finally, we suggest that geometriclike realizations functors provide a recipe to build other models of intuitionistic propositional S4 proof terms.
Verifying Uniqueness in a Logical Framework
, 2004
"... We present an algorithm for verifying that some specified arguments of an inductively defined relation in a dependently typed # calculus are uniquely determined by some other arguments. We prove it correct and also show how to exploit this uniqueness information in coverage checking, which allo ..."
Abstract

Cited by 5 (0 self)
 Add to MetaCart
We present an algorithm for verifying that some specified arguments of an inductively defined relation in a dependently typed # calculus are uniquely determined by some other arguments. We prove it correct and also show how to exploit this uniqueness information in coverage checking, which allows us to verify that a definition of a function or relation covers all possible cases. In combination, the two algorithms significantly extend the power of the metareasoning facilities of the Twelf implementation of LF.
A Modal Lambda Calculus with Iteration and Case Constructs
, 1998
"... An extension of the simplytyped calculus, allowing iteration and case reasoning over terms of functional types that arise when using higher order abstract syntax, has recently been introduced by Joëlle Despeyroux, Frank Pfenning and Carsten Schürmann. This thorny mixing is achieved thanks to the h ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
An extension of the simplytyped calculus, allowing iteration and case reasoning over terms of functional types that arise when using higher order abstract syntax, has recently been introduced by Joëlle Despeyroux, Frank Pfenning and Carsten Schürmann. This thorny mixing is achieved thanks to the help of the operator ` ' of modal logic S4. Here we give a new presentation of their system, with reduction rules, instead of evaluation judgments, that compute the canonical forms of terms. Our presentation is based on a modal calculus that is better from the user's point of view because it requires fewer annotations in terms. Moreover we do not impose a particular strategy of reduction during the computation. Our system enjoys the decidability of typability, soundness of typed reduction with respect to typing rules, the ChurchRosser and strong normalization properties and it is a conservative extension of the simplytyped calculus.
Abstract A SelfHosting Evaluator using HOAS
"... We demonstrate a tiny, yet nontrivial evaluator that is powerful enough to run practical code, including itself. This is made possible using a HigherOrder Abstract Syntax (HOAS) representation — a technique that has become popular in syntaxrelated research during the past decade. With a HOAS enco ..."
Abstract
 Add to MetaCart
We demonstrate a tiny, yet nontrivial evaluator that is powerful enough to run practical code, including itself. This is made possible using a HigherOrder Abstract Syntax (HOAS) representation — a technique that has become popular in syntaxrelated research during the past decade. With a HOAS encoding, we use functions to encode binders in syntax values, leading to an advantages of reflecting binders rather than reimplementing them. In Scheme, hygienic macros cover problems that are associated with binders in an elegant way, but only when extending the language, i.e., when we work at the metalevel. In contrast, HOAS is a useful objectlevel technique, used when we need to represent syntax values that contain bindings — and this is achieved in a way that is simple, robust, and efficient. We gradually develop the code, explaining the technique and its benefits, while playing with the evaluator. 1.
LFMTP 2006 Practical Reflection for Sequent Logics
"... It is wellknown that adding reflective reasoning can tremendously increase the power of a proof assistant. In order for this theoretical increase of power to become accessible to users in practice, the proof assistant needs to provide a great deal of infrastructure to support reflective reasoning. ..."
Abstract
 Add to MetaCart
It is wellknown that adding reflective reasoning can tremendously increase the power of a proof assistant. In order for this theoretical increase of power to become accessible to users in practice, the proof assistant needs to provide a great deal of infrastructure to support reflective reasoning. In this paper we explore the problem of creating a practical implementation of such a support layer. Our implementation takes a specification of a logical theory (which is identical to how it would be specified if we were simply going to reason within this logical theory, instead of reflecting it) and automatically generates the necessary definitions, lemmas, and proofs that are needed to enable the reflected metareasoning in the provided theory. One of the key features of our approach is that the structure of a logic is preserved when it is reflected. In particular, all variables, including metavariables, are preserved in the reflected representation. This also allows the preservation of proof automation—there is a structurepreserving onetoone map from proof steps in the original logic to proof step in the reflected logic. To enable reasoning about terms with sequent context variables, we develop a principle for context induction, called teleportation. This work is fully implemented in the MetaPRL theorem prover.
Abstract A SelfHosting Evaluator using HOAS
"... We demonstrate a tiny, yet nontrivial evaluator that is powerful enough to run practical code, including itself. This is made possible using a HigherOrder Abstract Syntax (HOAS) representation — a technique that has become popular in syntaxrelated research during the past decade. With a HOAS enco ..."
Abstract
 Add to MetaCart
We demonstrate a tiny, yet nontrivial evaluator that is powerful enough to run practical code, including itself. This is made possible using a HigherOrder Abstract Syntax (HOAS) representation — a technique that has become popular in syntaxrelated research during the past decade. With a HOAS encoding, we use functions to encode binders in syntax values, leading to an advantages of reflecting binders rather than reimplementing them. In Scheme, hygienic macros cover problems that are associated with binders in an elegant way, but only when extending the language, i.e., when we work at the metalevel. In contrast, HOAS is a useful objectlevel technique, used when we need to represent syntax values that contain bindings — and this is achieved in a way that is simple, robust, and efficient. We gradually develop the code, explaining the technique and its benefits, while playing with the evaluator. 1.