Results 1  10
of
13
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. ..."
Abstract

Cited by 238 (49 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 192 (54 self)
 Add to MetaCart
(Show Context)
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
"... 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 81 (16 self)
 Add to MetaCart
(Show Context)
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 equivalance algorithm based on the shape of terms. Neither approach appears to scale well to richer languages with, for example, unit types or subtyping, and neither provides a notion of canonical form suitable for proving adequacy of encodings. In this paper we present a new, typedirected equivalence algorithm for the LF type theory that overcomes the weaknesses of previous approaches. The algorithm is practical, scales to richer languages, and yields a new notion of canonical form sufficient for adequate encodings of logical systems. The algorithm is proved complete by a Kripkestyle logical relations argument similar to that suggested by Coquand. Crucially, both the algorithm itself and the logical relations rely only on the shapes of types, ignoring dependencies on terms.
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 59 (3 self)
 Add to MetaCart
(Show Context)
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
A metaprogramming approach to realizing dependently typed logic programming
 In ACM SIGPLAN Conference on Principles and Practice of Declarative Programming (PPDP
, 2010
"... Dependently typed lambda calculi such as the 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 Twelf system is based on such an int ..."
Abstract

Cited by 8 (6 self)
 Add to MetaCart
(Show Context)
Dependently typed lambda calculi such as the 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 Twelf system is based on such an interpretation of LF. We consider here whether a conventional logic programming language can provide the benefits of a Twelflike system for encoding type and proofandformula dependencies. In particular, we present 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 then show 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 resembles the original specification, thereby allowing LF specifications to be viewed as hohh metaprograms. Using the Teyjus implementation of λProlog, we show that our translation provides an efficient means for executing LF specifications, complementing the ability that the Twelf system provides for reasoning about them. Keywords logical frameworks, dependently typed lambda calculi, higherorder logic programming, translation 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... ..."
Abella: A system for reasoning about relational specifications
 Journal of Formalized Reasoning
"... The Abella interactive theorem prover is based on an intuitionistic logic that allows for inductive and coinductive reasoning over relations. Abella supports the λtree approach to treating syntax containing binders: it allows simply typed λterms to be used to represent such syntax and it provides ..."
Abstract

Cited by 4 (4 self)
 Add to MetaCart
(Show Context)
The Abella interactive theorem prover is based on an intuitionistic logic that allows for inductive and coinductive reasoning over relations. Abella supports the λtree approach to treating syntax containing binders: it allows simply typed λterms to be used to represent such syntax and it provides higherorder (pattern) unification, the ∇ quantifier, and nominal constants for reasoning about these representations. As such, it is a suitable vehicle for formalizing the metatheory of formal systems such as logics and programming languages. This tutorial exposes Abella incrementally, starting with its capabilities at a firstorder logic level and gradually presenting more sophisticated features, ending with the support it offers to the twolevel logic approach to metatheoretic reasoning. Along the way, we show how Abella can be used prove theorems involving natural numbers, lists, and automata, as well as involving typed and untyped λcalculi and the picalculus. Contents
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 3 (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 2 (2 self)
 Add to MetaCart
(Show Context)
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

Cited by 1 (1 self)
 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