Results 1 - 10
of
14
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. 264--275, New Brunswick, NJ, July 27--30 1996. mal basis for a conservative extension of the LF logical framework. LLF c ..."
Abstract
-
Cited by 203 (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. 264--275, New Brunswick, NJ, July 27--30 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 Mini-ML 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 cut-elimination. 1 Introduction A logical framework is a formal system desig...
Automating the Meta Theory of Deductive Systems
, 2000
"... not be interpreted as representing the o cial policies, either expressed or implied, of NSF or the U.S. Government. This thesis describes the design of a meta-logical framework that supports the representation and veri cation of deductive systems, its implementation as an automated theorem prover, a ..."
Abstract
-
Cited by 78 (17 self)
- Add to MetaCart
not be interpreted as representing the o cial policies, either expressed or implied, of NSF or the U.S. Government. This thesis describes the design of a meta-logical framework that supports the representation and veri cation of deductive systems, its implementation as an automated theorem prover, and experimental results related to the areas of programming languages, type theory, and logics. Design: The meta-logical framework extends the logical framework LF [HHP93] by a meta-logic M + 2. This design is novel and unique since it allows higher-order encodings of deductive systems and induction principles to coexist. On the one hand, higher-order representation techniques lead to concise and direct encodings of programming languages and logic calculi. Inductive de nitions on the other hand allow the formalization of properties about deductive systems, such as the proof that an operational semantics preserves types or the proof that a logic is is a proof calculus whose proof terms are recursive functions that may be consistent.M +
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 meta-theory of a type-theoretic logical framework. Most studies of definitional equality are based on a confluent, strongly-normalizing notion of reduction. Coquand has considered a different ..."
Abstract
-
Cited by 78 (15 self)
- Add to MetaCart
Decidability of definitional equality and conversion of terms into canonical form play a central role in the meta-theory of a type-theoretic logical framework. Most studies of definitional equality are based on a confluent, strongly-normalizing 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.
Efficient resource management for linear logic proof search
- Proceedings of the 5th International Workshop on Extensions of Logic Programming
, 1996
"... The design of linear logic programming languages and theorem provers opens a number of new implementation challenges not present in more traditional logic languages such as Horn clauses (Prolog) and hereditary Harrop formulas (λProlog and Elf). Among these, the problem of efficiently managing the li ..."
Abstract
-
Cited by 52 (11 self)
- Add to MetaCart
The design of linear logic programming languages and theorem provers opens a number of new implementation challenges not present in more traditional logic languages such as Horn clauses (Prolog) and hereditary Harrop formulas (λProlog and Elf). Among these, the problem of efficiently managing the linear context when solving a goal is of crucial importance for the use of these systems in non-trivial applications. This paper studies this problem in the case of Lolli [HM94], though its results have application to other systems. We first give a prooftheoretic presentation of the operational semantics of this language as a resolution calculus. We then present a series of resource management systems designed to eliminate the nondeterminism in the distribution of linear formulas that undermines the efficiency of a direct implementation of this system. 1
Automated Theorem Proving in a Simple Meta-Logic for LF
- PROCEEDINGS OF THE 15TH INTERNATIONAL CONFERENCE ON AUTOMATED DEDUCTION (CADE-15
, 1998
"... Higher-order representation techniques allow elegant encodings of logics and programming languages in the logical framework LF, but unfortunately they are fundamentally incompatible with induction principles needed to reason about them. In this paper we develop a meta-logic M_2 which allows i ..."
Abstract
-
Cited by 32 (15 self)
- Add to MetaCart
Higher-order representation techniques allow elegant encodings of logics and programming languages in the logical framework LF, but unfortunately they are fundamentally incompatible with induction principles needed to reason about them. In this paper we develop a meta-logic M_2 which allows inductive reasoning over LF encodings, and describe its implementation in Twelf, a special-purpose automated theorem prover for properties of logics and programming languages. We have used Twelf to automatically prove a number of non-trivial theorems, including type preservation for Mini-ML and the deduction theorem for intuitionistic propositional logic.
The ∇-calculus. Functional programming with higher-order encodings
- In Proceedings of the 7th International Conference on Typed Lambda Calculi and Applications
, 2005
"... Abstract. Higher-order encodings use functions provided by one language to represent variable binders of another. They lead to concise and elegant representations, which historically have been difficult to analyze and manipulate. In this paper we present the ∇-calculus, a calculus for defining gener ..."
Abstract
-
Cited by 23 (3 self)
- Add to MetaCart
Abstract. Higher-order encodings use functions provided by one language to represent variable binders of another. They lead to concise and elegant representations, which historically have been difficult to analyze and manipulate. In this paper we present the ∇-calculus, a calculus for defining general recursive functions over higher-order encodings. To avoid problems commonly associated with using the same function space for representations and computations, we separate one from the other. The simply-typed λ-calculus plays the role of the representation-level. The computationlevel contains not only the usual computational primitives but also an embedding of the representation-level. It distinguishes itself from similar systems by allowing recursion under representation-level λ-binders while permitting a natural style of programming which we believe scales to other logical frameworks. Sample programs include bracket abstraction, parallel reduction, and an evaluator for a simple language with first-class continuations. 1
Elimination of Negation in a Logical Framework
, 2000
"... Logical frameworks with a logic programming interpretation such as hereditary Harrop formulae (HHF) [15] cannot express directly negative information, although negation is a useful specification tool. Since negation-as-failure does not fit well in a logical framework, especially one endowed with ..."
Abstract
-
Cited by 10 (3 self)
- Add to MetaCart
Logical frameworks with a logic programming interpretation such as hereditary Harrop formulae (HHF) [15] cannot express directly negative information, although negation is a useful specification tool. Since negation-as-failure does not fit well in a logical framework, especially one endowed with hypothetical and parametric judgements, we adapt the idea of elimination of negation introduced in [21] for Horn logic to a fragment of higher-order HHF. This entails finding a middle ground between the Closed World Assumption usually associated with negation and the Open World Assumption typical of logical frameworks; the main technical idea is to isolate a set of programs where static and dynamic clauses do not overlap.
Ordered Linear Logic Programming
, 1998
"... We begin with a review of intuitionistic non-commutative linear logic (INCLL), a refinement of linear logic with an inherent notion of order proposed by the authors in prior work. We then develop a logic programming interpretation for INCLL in two steps: (1) we give a system of ordered uniform deriv ..."
Abstract
-
Cited by 8 (6 self)
- Add to MetaCart
We begin with a review of intuitionistic non-commutative linear logic (INCLL), a refinement of linear logic with an inherent notion of order proposed by the authors in prior work. We then develop a logic programming interpretation for INCLL in two steps: (1) we give a system of ordered uniform derivations which is sound and complete with respect to INCLL, and (2) we present a model of resource consumption which removes non-determinism from ordered resource allocation during search for uniform derivations. We also illustrate the expressive power of the resulting ordered linear logic programming language through some examples, including programs for merge sort, insertion sort, and natural language parsing. 1 The authors can be reached at jpolakow@cs.cmu.edu and fp@cs.cmu.edu. This work was sponsored NSF Grants CCR-9804014 and CCR-9619584. The views and conclusions contained in this document are those of the authors and should not be interpreted as representing the official policies, ei...
A proof-theoretic account of logical relations
, 2006
"... Proofs by logical relations (a.k.a. Tait’s method) are useful for demonstrating foundational properties of typed λ-calculi. Unfortunately, because the definition of a logical relation typically relies on set-theoretic machinery, these proofs are notoriously difficult to formalize in machine-checkabl ..."
Abstract
-
Cited by 5 (0 self)
- Add to MetaCart
Proofs by logical relations (a.k.a. Tait’s method) are useful for demonstrating foundational properties of typed λ-calculi. Unfortunately, because the definition of a logical relation typically relies on set-theoretic machinery, these proofs are notoriously difficult to formalize in machine-checkable detail. Our notion of logical relation is defined in terms of the provability of a class of first-order formulas. We prove canonical forms for the simply-typed λ-calculus using our notion of logical relations, and provide a generic recipe for proving a class of theorems in a similar manner. The proof of canonical forms has been formalized in the Twelf proof assistant. 1
A Comparison of Formalizations of the Meta-Theory of a Language with Variable Bindings in Isabelle
- Supplemental Proceedings of the 14th International Conference on Theorem Proving in Higher Order Logics
, 2001
"... Abstract. Theorem provers can be used to reason formally about programming languages and there are various general methods for the formalization of variable binding operators. Hence there are choices for the style of formalization of such languages, even within a single theorem prover. The choice of ..."
Abstract
-
Cited by 5 (2 self)
- Add to MetaCart
Abstract. Theorem provers can be used to reason formally about programming languages and there are various general methods for the formalization of variable binding operators. Hence there are choices for the style of formalization of such languages, even within a single theorem prover. The choice of formalization can affect how easy or difficult it is to do automated reasoning. The aim of this paper is to compare and contrast three formalizations (termed de Bruijn, weak HOAS and full HOAS) of a typical functional programming language. Our contribution is a detailed report on our formalizations, a survey of related work, and a final comparative summary, in which we mention a novel approach to a hybrid de Bruijn/HOAS syntax. 1

