Results 1  10
of
29
Least and greatest fixed points in linear logic Extended Version
, 2007
"... david.baelde at enslyon.org dale.miller at inria.fr Abstract. The firstorder theory of MALL (multiplicative, additive linear logic) over only equalities is an interesting but weak logic since it cannot capture unbounded (infinite) behavior. Instead of accounting for unbounded behavior via the addi ..."
Abstract

Cited by 62 (14 self)
 Add to MetaCart
(Show Context)
david.baelde at enslyon.org dale.miller at inria.fr Abstract. The firstorder theory of MALL (multiplicative, additive linear logic) over only equalities is an interesting but weak logic since it cannot capture unbounded (infinite) behavior. Instead of accounting for unbounded behavior via the addition of the exponentials (! and?), we add least and greatest fixed point operators. The resulting logic, which we call µMALL = , satisfies two fundamental proof theoretic properties. In particular, µMALL = satisfies cutelimination, which implies consistency, and has a complete focused proof system. This second result about focused proofs provides a strong normal form for cutfree proof structures that can be used, for example, to help automate proof search. We then consider applying these two results about µMALL = to derive a focused proof system for an intuitionistic logic extended with induction and coinduction. The traditional approach to encoding intuitionistic logic into linear logic relies heavily on using the exponentials, which unfortunately weaken the focusing discipline. We get a better focused proof system by observing that certain fixed points satisfy the structural rules of weakening and contraction (without using exponentials). The resulting focused proof system for intuitionistic logic is closely related to the one implemented in Bedwyr, a recent model checker based on logic programming. We discuss how our proof theory might be used to build a computational system that can partially automate induction and coinduction. 1
Combining generic judgments with recursive definitions
 in "23th Symp. on Logic in Computer Science", F. PFENNING (editor), IEEE Computer Society Press, 2008, p. 33–44, http://www.lix.polytechnique.fr/Labo/Dale.Miller/papers/lics08a.pdf US
"... Many semantical aspects of programming languages are specified through calculi for constructing proofs: consider, for example, the specification of structured operational semantics, labeled transition systems, and typing systems. Recent proof theory research has identified two features that allow di ..."
Abstract

Cited by 22 (5 self)
 Add to MetaCart
(Show Context)
Many semantical aspects of programming languages are specified through calculi for constructing proofs: consider, for example, the specification of structured operational semantics, labeled transition systems, and typing systems. Recent proof theory research has identified two features that allow direct, logicbased reasoning about such descriptions: the treatment of atomic judgments as fixed points (recursive definitions) and an encoding of binding constructs via generic judgments. However, the logics encompassing these two features have thus far treated them orthogonally. In particular, they have not contained the ability to form definitions of objectlogic properties that themselves depend on an intrinsic treatment of binding. We propose a new and simple integration of these features within an intuitionistic logic enhanced with induction over natural numbers and we show that the resulting logic is consistent. The pivotal part of the integration allows recursive definitions to define generic judgments in general and not just the simpler atomic judgments that are traditionally allowed. The usefulness of this logic is illustrated by showing how it can provide elegant treatments of objectlogic contexts that appear in proofs involving typing calculi and arbitrarily cascading substitutions in reducibility arguments.
Case analysis of higherorder data
"... Abstract. We discuss coverage checking for data that is dependently typed and is defined using higherorder abstract syntax. Unlike previous work on coverage checking that required objects to be closed, we consider open data objects, i.e. objects that may depend on some context. Our work may therefo ..."
Abstract

Cited by 16 (14 self)
 Add to MetaCart
(Show Context)
Abstract. We discuss coverage checking for data that is dependently typed and is defined using higherorder abstract syntax. Unlike previous work on coverage checking that required objects to be closed, we consider open data objects, i.e. objects that may depend on some context. Our work may therefore provide insights into coverage checking in Twelf, and serve as a basis for coverage checking in functional languages such as Delphin and Beluga. More generally, our work is a foundation for proofs by case analysis in systems that reason about higherorder abstract syntax. 1
Proof search specifications of bisimulation and modal logics for the πcalculus
 ACM Trans. on Computational Logic
"... We specify the operational semantics and bisimulation relations for the finite πcalculus within a logic that contains the ∇ quantifier for encoding generic judgments and definitions for encoding fixed points. Since we restrict to the finite case, the ability of the logic to unfold fixed points allo ..."
Abstract

Cited by 15 (9 self)
 Add to MetaCart
(Show Context)
We specify the operational semantics and bisimulation relations for the finite πcalculus within a logic that contains the ∇ quantifier for encoding generic judgments and definitions for encoding fixed points. Since we restrict to the finite case, the ability of the logic to unfold fixed points allows this logic to be complete for both the inductive nature of operational semantics and the coinductive nature of bisimulation. The ∇ quantifier helps with the delicate issues surrounding the scope of variables within πcalculus expressions and their executions (proofs). We shall illustrate several merits of the logical specifications permitted by this logic: they are natural and declarative; they contain no sideconditions concerning names of variables while maintaining a completely formal treatment of such variables; differences between late and open bisimulation relations arise from familar logic distinctions; the interplay between the three quantifiers (∀, ∃, and ∇) and their scopes can explain the differences between early and late bisimulation and between various modal operators based on bound input and output actions; and proof search involving the application of inference rules, unification, and backtracking can provide complete proof systems for onestep transitions, bisimulation, and satisfaction in modal logic. We also illustrate how one can encode the πcalculus with replications, in an extended logic with induction and coinduction.
Nominal Abstraction
, 2009
"... Recursive relational specifications are commonly used to describe the computational structure of formal systems. Recent research in proof theory has identified two features that facilitate direct, logicbased reasoning about such descriptions: the interpretation of atomic judgments through recursive ..."
Abstract

Cited by 11 (8 self)
 Add to MetaCart
Recursive relational specifications are commonly used to describe the computational structure of formal systems. Recent research in proof theory has identified two features that facilitate direct, logicbased reasoning about such descriptions: the interpretation of atomic judgments through recursive definitions and an encoding of binding constructs via generic judgments. However, logics encompassing these two features do not currently allow for the definition of relations that embody dynamic aspects related to binding, a capability needed in many reasoning tasks. We propose a new relation between terms called nominal abstraction as a means for overcoming this deficiency. We incorporate nominal abstraction into a rich logic also including definitions, generic quantification, induction, and coinduction that we then prove to be consistent. We present examples to show that this logic can provide elegant treatments of binding contexts that appear in many proofs, such as those establishing properties of typing calculi and of arbitrarily cascading substitutions that play a role in reducibility arguments.
Cut elimination for a logic with induction and coinduction
 JOURNAL OF APPLIED LOGIC
, 2012
"... ..."
Relating nominal and higherorder abstract syntax specifications
 in: Proceedings of the 2010 Symposium on Principles and Practice of Declarative Programming, ACM
"... Nominal abstract syntax and higherorder abstract syntax provide a means for describing binding structure which is higherlevel than traditional techniques. These approaches have spawned two different communities which have developed along similar lines but with subtle differences that make them dif ..."
Abstract

Cited by 5 (2 self)
 Add to MetaCart
Nominal abstract syntax and higherorder abstract syntax provide a means for describing binding structure which is higherlevel than traditional techniques. These approaches have spawned two different communities which have developed along similar lines but with subtle differences that make them difficult to relate. The nominal abstract syntax community has devices like names, freshness, nameabstractions with variable capture, and thequantifier, whereas the higherorder abstract syntax community has devices like λbinders, λconversion, raising, and the ∇quantifier. This paper aims to unify these communities and provide a concrete correspondence between their different devices. In particular, we develop a semanticspreserving translation from αProlog, a nominal abstract syntax based logic programming language, to G − , a higherorder abstract syntax based logic programming language. We also discuss higherorder judgments, a common and powerful tool for specifications with higherorder abstract syntax, and we show how these can be incorporated into G −. This establishes G − as a language with the power of higherorder abstract syntax, the finegrained variable control of nominal specifications, and the desirable properties of higherorder judgments.
Finding Unity in Computational Logic
"... While logic was once developed to serve philosophers and mathematicians, it is increasingly serving the varied needs of computer scientists. In fact, recent decades have witnessed the creation of the new discipline of Computational Logic. While Computation Logic can claim involvement in many, divers ..."
Abstract

Cited by 4 (1 self)
 Add to MetaCart
(Show Context)
While logic was once developed to serve philosophers and mathematicians, it is increasingly serving the varied needs of computer scientists. In fact, recent decades have witnessed the creation of the new discipline of Computational Logic. While Computation Logic can claim involvement in many, diverse areas of computing, little has been done to systematize the foundations of this new discipline. Here, we envision a unity for Computational Logic organized around recent developments in the theory of sequent calculus proofs. We outline how new tools and methodologies can be developed around a boarder approach to computational logic. Computational logic, unity of logic, proof theory 1. SOFTWARE AND HARDWARE CORRECTNESS IS CRITICALLY IMPORTANT Computer systems are everywhere in our societies and their integration with all parts of our lives is constantly increasing. There are a host of computer systems—such as those in cars, airplanes, missiles, hospital equipment—where correctness of software is
Principles of Constructive Provability Logic
, 2010
"... We present a novel formulation of the modal logic CPL, a constructive logic of provability that is closely connected to the GödelLöb logic of provability. Our logical formulation allows modal operators to talk about both provability and nonprovability of propositions at reachable worlds. We are in ..."
Abstract

Cited by 4 (3 self)
 Add to MetaCart
(Show Context)
We present a novel formulation of the modal logic CPL, a constructive logic of provability that is closely connected to the GödelLöb logic of provability. Our logical formulation allows modal operators to talk about both provability and nonprovability of propositions at reachable worlds. We are interested in the applications of CPL to logic programming; however, this report focuses on the presentation of a minimal fragment (in the sense of minimal logic) of CPL and on the formalization of minimal CPL and its metatheory in the Agda programming language. We present both a natural deduction system and a sequent calculus for minimal CPL and show that the presentations are equivalent.
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