Results 1 
8 of
8
A Linear Logical Framework
, 1996
"... We present the linear type theory LLF as the forAppeared in the proceedings of the Eleventh Annual IEEE Symposium on Logic in Computer Science  LICS'96 (E. Clarke editor), pp. 264275, New Brunswick, NJ, July 2730 1996. mal basis for a conservative extension of the LF logical framework. LLF c ..."
Abstract

Cited by 217 (44 self)
 Add to MetaCart
We present the linear type theory LLF as the forAppeared in the proceedings of the Eleventh Annual IEEE Symposium on Logic in Computer Science  LICS'96 (E. Clarke editor), pp. 264275, New Brunswick, NJ, July 2730 1996. mal basis for a conservative extension of the LF logical framework. LLF combines the expressive power of dependent types with linear logic to permit the natural and concise representation of a whole new class of deductive systems, namely those dealing with state. As an example we encode a version of MiniML with references including its type system, its operational semantics, and a proof of type preservation. Another example is the encoding of a sequent calculus for classical linear logic and its cut elimination theorem. LLF can also be given an operational interpretation as a logic programming language under which the representations above can be used for type inference, evaluation and cutelimination. 1 Introduction A logical framework is a formal system desig...
Logic Programming in the LF Logical Framework
, 1991
"... this paper we describe Elf, a metalanguage intended for environments dealing with deductive systems represented in LF. While this paper is intended to include a full description of the Elf core language, we only state, but do not prove here the most important theorems regarding the basic building b ..."
Abstract

Cited by 175 (50 self)
 Add to MetaCart
this paper we describe Elf, a metalanguage intended for environments dealing with deductive systems represented in LF. While this paper is intended to include a full description of the Elf core language, we only state, but do not prove here the most important theorems regarding the basic building blocks of Elf. These proofs are left to a future paper. A preliminary account of Elf can be found in [26]. The range of applications of Elf includes theorem proving and proof transformation in various logics, definition and execution of structured operational and natural semantics for programming languages, type checking and type inference, etc. The basic idea behind Elf is to unify logic definition (in the style of LF) with logic programming (in the style of Prolog, see [22, 24]). It achieves this unification by giving types an operational interpretation, much the same way that Prolog gives certain formulas (Hornclauses) an operational interpretation. An alternative approach to logic programming in LF has been developed independently by Pym [28]. Here are some of the salient characteristics of our unified approach to logic definition and metaprogramming. First of all, the Elf search process automatically constructs terms that can represent objectlogic proofs, and thus a program need not construct them explicitly. This is in contrast to logic programming languages where executing a logic program corresponds to theorem proving in a metalogic, but a metaproof is never constructed or used and it is solely the programmer's responsibility to construct objectlogic proofs where they are needed. Secondly, the partial correctness of many metaprograms with respect to a given logic can be expressed and proved by Elf itself (see the example in Section 5). This creates the possibilit...
On Equivalence and Canonical Forms in the LF Type Theory
 ACM Transactions on Computational Logic
, 2001
"... Decidability of definitional equality and conversion of terms into canonical form play a central role in the metatheory of a typetheoretic logical framework. Most studies of definitional equality are based on a confluent, stronglynormalizing notion of reduction. Coquand has considered a different ..."
Abstract

Cited by 83 (16 self)
 Add to MetaCart
Decidability of definitional equality and conversion of terms into canonical form play a central role in the metatheory of a typetheoretic logical framework. Most studies of definitional equality are based on a confluent, stronglynormalizing notion of reduction. Coquand has considered a different approach, directly proving the correctness of a practical equivalence algorithm based on the shape of terms. Neither approach appears to scale well to richer languages with unit types or subtyping, and neither directly addresses the problem of conversion to canonical form.
Unification of simply typed lambdaterms as logic programming
 In Eighth International Logic Programming Conference
, 1991
"... The unification of simply typed λterms modulo the rules of β and ηconversions is often called “higherorder ” unification because of the possible presence of variables of functional type. This kind of unification is undecidable in general and if unifiers exist, most general unifiers may not exist ..."
Abstract

Cited by 56 (3 self)
 Add to MetaCart
The unification of simply typed λterms modulo the rules of β and ηconversions is often called “higherorder ” unification because of the possible presence of variables of functional type. This kind of unification is undecidable in general and if unifiers exist, most general unifiers may not exist. In this paper, we show that such unification problems can be coded as a query of the logic programming language Lλ in a natural and clear fashion. In a sense, the translation only involves explicitly axiomatizing in Lλ the notions of equality and substitution of the simply typed λcalculus: the rest of the unification process can be viewed as simply an interpreter of Lλ searching for proofs using those axioms. 1
Tool Support for Logics of Programs
 Mathematical Methods in Program Development: Summer School Marktoberdorf 1996, NATO ASI Series F
, 1996
"... Proof tools must be well designed if they... ..."
Polymorphic Lemmas and Definitions in λProlog and Twelf
 THEORY AND PRACTICE OF LOGIC PROGRAMMING
, 2004
"... λProlog is known to be wellsuited for expressing and implementing logics and inference systems. We show that lemmas and definitions in such logics can be implemented with a great economy of expression. We encode a higherorder logic using an encoding that maps both terms and types of the object log ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
λProlog is known to be wellsuited for expressing and implementing logics and inference systems. We show that lemmas and definitions in such logics can be implemented with a great economy of expression. We encode a higherorder logic using an encoding that maps both terms and types of the object logic (higherorder logic) to terms of the metalanguage (AProlog). We discuss both the Terzo and Teyjus implementations of AProlog. We also encode the same logic in Twelf and compare the features of these two metalanguages for our purposes.
Reasoning Using HigherOrder Abstract Syntax in a HigherOrder Logic Proof Environment: Improvements to Hybrid and a Case Study
"... is a joint program with Carleton University, administered by the Ottawa ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
is a joint program with Carleton University, administered by the Ottawa
REALIZING THE DEPENDENTLY TYPED λCALCULUS
"... Abstract. Dependently typed λcalculi such as the Edinburgh Logical Framework (LF) can encode relationships between terms in types and can naturally capture correspondences between formulas and their proofs. Such calculi can also be given a logic programming interpretation: the system is based on su ..."
Abstract
 Add to MetaCart
Abstract. Dependently typed λcalculi such as the Edinburgh Logical Framework (LF) can encode relationships between terms in types and can naturally capture correspondences between formulas and their proofs. Such calculi can also be given a logic programming interpretation: the system is based on such an interpretation of LF. We have considered whether a conventional logic programming language can also provide the benefits of a Twelflike system for encoding type and term dependencies through dependent typing, and whether it can do so in an efficient manner. In particular, we have developed a simple mapping from LF specifications to a set of formulas in the higherorder hereditary Harrop (hohh) language, that relates derivations and proofsearch between the two frameworks. We have shown that this encoding can be improved by exploiting knowledge of the wellformedness of the original LF specifications to elide much redundant typechecking information. The resulting logic program has a structure that closely follows the original specification, thereby allowing LF specifications to be viewed as metaprograms that generate hohh programs. We have proven that this mapping is correct, and, using the Teyjus implementation of λProlog, we have shown that our translation provides an efficient means for executing LF specifications, complementing the ability the Twelf system provides for reasoning about them. In addition, the translation offers new avenues for reasoning about such specifications, via reasoning over the generated hohh programs. 1. Introduction and