Results 1  10
of
35
Ordered Linear Logic and Applications
, 2001
"... This work is dedicated to my parents. Acknowledgments Firstly, and foremost, I would like to thank my principal advisor, Frank Pfenning, for his patience with me, and for teaching me most of what I know about logic and type theory. I would also like to acknowledge some useful discussions with Kevin ..."
Abstract

Cited by 39 (0 self)
 Add to MetaCart
(Show Context)
This work is dedicated to my parents. Acknowledgments Firstly, and foremost, I would like to thank my principal advisor, Frank Pfenning, for his patience with me, and for teaching me most of what I know about logic and type theory. I would also like to acknowledge some useful discussions with Kevin Watkins which led me to simplify some of this work. Finally, I would like to thank my other advisor, John Reynolds, for all his kindness and support over the last five years. Abstract This thesis introduces a new logical system, ordered linear logic, which combines reasoning with unrestricted, linear, and ordered hypotheses. The logic conservatively extends (intuitionistic) linear logic, which contains both unrestricted and linear hypotheses, with a notion of ordered hypotheses. Ordered hypotheses must be used exactly once, subject to the order in which they were assumed (i.e., their order cannot be changed during the course of a derivation). This ordering constraint allows for logical representations of simple data structures such as stacks and queues. We construct ordered linear logic in the style of MartinL&quot;of from the basic notion of a hypothetical judgement. We then show normalization for the system by constructing a sequent calculus presentation and proving cutelimination of the sequent system.
The Abella interactive theorem prover (system description
 In Fourth International Joint Conference on Automated Reasoning
, 2008
"... Abella [3] is an interactive system for reasoning about aspects of object languages that have been formally presented through recursive rules based on syntactic structure. Abella utilizes a twolevel logic approach to specification and reasoning. One level is defined by a specification logic which s ..."
Abstract

Cited by 36 (4 self)
 Add to MetaCart
(Show Context)
Abella [3] is an interactive system for reasoning about aspects of object languages that have been formally presented through recursive rules based on syntactic structure. Abella utilizes a twolevel logic approach to specification and reasoning. One level is defined by a specification logic which supports a transparent
A Proof Search Specification of the πCalculus
 IN 3RD WORKSHOP ON THE FOUNDATIONS OF GLOBAL UBIQUITOUS COMPUTING
, 2004
"... We present a metalogic that contains a new quantifier (for encoding "generic judgment") and inference rules for reasoning within fixed points of a given specification. We then specify the operational semantics and bisimulation relations for the finite πcalculus within this metalogic ..."
Abstract

Cited by 21 (11 self)
 Add to MetaCart
(Show Context)
We present a metalogic that contains a new quantifier (for encoding "generic judgment") and inference rules for reasoning within fixed points of a given specification. We then specify the operational semantics and bisimulation relations for the finite πcalculus within this metalogic. Since we
Optimizing HigherOrder Pattern Unification
 19th International Conference on Automated Deduction
, 2003
"... We present an abstract view of existential variables in a dependently typed lambdacalculus based on modal type theory. This allows us to justify optimizations to pattern unification such as linearization, which eliminates many unnecessary occurschecks. The presented modal framework explains a ..."
Abstract

Cited by 19 (10 self)
 Add to MetaCart
We present an abstract view of existential variables in a dependently typed lambdacalculus based on modal type theory. This allows us to justify optimizations to pattern unification such as linearization, which eliminates many unnecessary occurschecks. The presented modal framework explains a number of features of the current implementation of higherorder unification in Twelf and provides insight into several optimizations. Experimental results demonstrate significant performance improvement in many example applications of Twelf, including those in the area of proofcarrying code.
Testing concurrent systems: An interpretation of intuitionistic logic
"... Abstract. We present the natural confluence of higherorder hereditary Harrop formulas (HH formulas) as developed concretely in λProlog, Constraint Logic Programming (CLP, [JL87]), and Concurrent Constraint Programming (CCP, [Sar93]) as a fragment of (intuitionistic, higherorder) logic. The combina ..."
Abstract

Cited by 14 (1 self)
 Add to MetaCart
Abstract. We present the natural confluence of higherorder hereditary Harrop formulas (HH formulas) as developed concretely in λProlog, Constraint Logic Programming (CLP, [JL87]), and Concurrent Constraint Programming (CCP, [Sar93]) as a fragment of (intuitionistic, higherorder) logic. The combination is motivated by the need for a simple executable, logical presentation for static and dynamic semantics of modern programming languages. The power of HH formulas is needed for higherorder abstract syntax, and the power of constraints is needed to naturally abstract the underlying domain of computation. Underpinning this combination is a sound and complete operational interpretation of a twosided sequent presentation of (a large fragment of) intuitionistic logic in terms of behavioral testing of concurrent systems. Formulas on the left hand side of a sequent style presentation are viewed as a system of concurrent agents, and formulas on the right hand side as tests against this evolving system. The language permits recursive definitions of agents and tests, allows tests to augment the system being tested and allows agents to be contingent on the success of a test. We present a condition on proofs, operational derivability (OD), and show that the operational semantics generates only operationally derivable proofs. We show that a sequent in this logic has a proof iff it has an operationally derivable proof. 1
Compiler Construction in Higher Order Logic Programming
 In Practical Aspects of Declarative Languages
, 2002
"... This paper describes a general method of compiler implementation using higher order abstract syntax and logic programming. A working compiler written in Prolog is used to demonstrate this method. ..."
Abstract

Cited by 13 (2 self)
 Add to MetaCart
(Show Context)
This paper describes a general method of compiler implementation using higher order abstract syntax and logic programming. A working compiler written in Prolog is used to demonstrate this method.
Representing and reasoning with operational semantics
 In: Proceedings of the Joint International Conference on Automated Reasoning
, 2006
"... The operational semantics of programming and specification languages is often presented via inference rules and these can generally be mapped into logic programminglike clauses. Such logical encodings of operational semantics can be surprisingly declarative if one uses logics that directly account ..."
Abstract

Cited by 11 (2 self)
 Add to MetaCart
The operational semantics of programming and specification languages is often presented via inference rules and these can generally be mapped into logic programminglike clauses. Such logical encodings of operational semantics can be surprisingly declarative if one uses logics that directly account for termlevel bindings and for resources, such as are found in linear logic. Traditional theorem proving techniques, such as unification and backtracking search, can then be applied to animate operational semantic specifications. Of course, one wishes to go a step further than animation: using logic to encode computation should facilitate formal reasoning directly with semantic specifications. We outline an approach to reasoning about logic specifications that involves viewing logic specifications as theories in an objectlogic and then using a metalogic to reason about properties of those objectlogic theories. We motivate the principal design goals of a particular metalogic that has been built for that purpose.
Tradeoffs in the Intensional Representation of Lambda Terms
 Rewriting Techniques and Applications (RTA 2002), volume 2378 of LNCS
, 2002
"... Higherorder representations of objects such as programs, specifications and proofs are important to many metaprogramming and symbolic computation tasks. Systems that support such representations often depend on the implementation of an intensional view of the terms of suitable typed lambda calculi. ..."
Abstract

Cited by 10 (3 self)
 Add to MetaCart
(Show Context)
Higherorder representations of objects such as programs, specifications and proofs are important to many metaprogramming and symbolic computation tasks. Systems that support such representations often depend on the implementation of an intensional view of the terms of suitable typed lambda calculi. Refined lambda calculus notations have been proposed that can be used in realizing such implementations. There are, however, choices in the actual deployment of such notations whose practical consequences are not well understood. Towards addressing this lacuna, the impact of three specific ideas is examined: the de Bruijn representation of bound variables, the explicit encoding of substitutions in terms and the annotation of terms to indicate their independence on external abstractions. Qualitative assessments are complemented by experiments over actual computations using the lambdaProlog language.
HigherOrder Quantification and Proof Search
 In Proceedings of the AMAST confrerence, LNCS
, 2002
"... Logical equivalence between logic programs that are firstorder logic formulas holds between few logic programs, partly because firstorder logic does not allow auxiliary programs and data structures to be hidden. As a result of not having such abstractions, logical equivalence will force these a ..."
Abstract

Cited by 10 (4 self)
 Add to MetaCart
(Show Context)
Logical equivalence between logic programs that are firstorder logic formulas holds between few logic programs, partly because firstorder logic does not allow auxiliary programs and data structures to be hidden. As a result of not having such abstractions, logical equivalence will force these auxiliaries to be present in any equivalence program.
Practical higherorder pattern unification with onthefly raising
 In ICLP 2005: 21st International Logic Programming Conference, volume 3668 of LNCS
, 2005
"... Abstract. Higherorder pattern unification problems arise often in computations carried out within systems such as Twelf, λProlog and Isabelle. An important characteristic of such problems is that they are given by equations appearing under a prefix of alternating universal and existential quantifie ..."
Abstract

Cited by 10 (4 self)
 Add to MetaCart
(Show Context)
Abstract. Higherorder pattern unification problems arise often in computations carried out within systems such as Twelf, λProlog and Isabelle. An important characteristic of such problems is that they are given by equations appearing under a prefix of alternating universal and existential quantifiers. Existing algorithms for solving these problems assume that such prefixes are simplified to a ∀∃ ∀ form by an a priori application of a transformation known as raising. There are drawbacks to this approach. Mixed quantifier prefixes typically manifest themselves in the course of computation, thereby requiring a dynamic form of preprocessing that is difficult to support in lowlevel implementations. Moreover, raising may be redundant in many cases and its effect may have to be undone by a subsequent pruning transformation. We propose a method to overcome these difficulties. In particular, a unification algorithm is described that proceeds by recursively descending through the structures of terms, performing raising and other transformations onthefly and only as needed. This algorithm also exploits an explicit substitution notation for lambda terms. 1