Results 1  10
of
15
Cutelimination for a logic with definitions and induction
 Theoretical Computer Science
, 1997
"... In order to reason about specifications of computations that are given via the proof search or logic programming paradigm one needs to have at least some forms of induction and some principle for reasoning about the ways in which terms are built and the ways in which computations can progress. The l ..."
Abstract

Cited by 61 (19 self)
 Add to MetaCart
In order to reason about specifications of computations that are given via the proof search or logic programming paradigm one needs to have at least some forms of induction and some principle for reasoning about the ways in which terms are built and the ways in which computations can progress. The literature contains many approaches to formally adding these reasoning principles with logic specifications. We choose an approach based on the sequent calculus and design an intuitionistic logic F Oλ ∆IN that includes natural number induction and a notion of definition. We have detailed elsewhere that this logic has a number of applications. In this paper we prove the cutelimination theorem for F Oλ ∆IN, adapting a technique due to Tait and MartinLöf. This cutelimination proof is technically interesting and significantly extends previous results of this kind. 1
The Bedwyr system for model checking over syntactic expressions
 21th Conference on Automated Deduction, LNAI 4603, 391–397
, 2007
"... Bedwyr is a generalization of logic programming that allows model checking directly on syntactic expressions possibly containing bindings. This system, written in OCaml, is a direct implementation of two recent advances in the theory of proof search. The first is centered on the fact that both finit ..."
Abstract

Cited by 21 (12 self)
 Add to MetaCart
Bedwyr is a generalization of logic programming that allows model checking directly on syntactic expressions possibly containing bindings. This system, written in OCaml, is a direct implementation of two recent advances in the theory of proof search. The first is centered on the fact that both finite success and finite failure can be captured in the sequent calculus by incorporating inference rules for definitions that allow fixed points to be explored. As a result, proof search in such a sequent calculus can capture simple model checking problems as well as may and must behavior in operational semantics. The second is that higherorder abstract syntax is directly supported using termlevel λbinders and the quantifier known as ∇. These features allow reasoning directly on expressions containing bound variables. 2
A congruence format for namepassing calculi
 In Proceedings of the Second Workshop on Structural Operational Semantics (SOS’05), volume 156 of Electron. Notes Theor. Comput. Sci
, 2005
"... ..."
Incorporating tables into proofs
"... nigam at lix.inria.fr dale.miller at inria.fr Abstract. We consider the problem of automating and checking the use of previously proved lemmas in the proof of some main theorem. In particular, we call the collection of such previously proved results a table and use a partial order on the table’s ent ..."
Abstract

Cited by 13 (5 self)
 Add to MetaCart
nigam at lix.inria.fr dale.miller at inria.fr Abstract. We consider the problem of automating and checking the use of previously proved lemmas in the proof of some main theorem. In particular, we call the collection of such previously proved results a table and use a partial order on the table’s entries to denote the (provability) dependency relationship between tabled items. Tables can be used in automated deduction to store previously proved subgoals and in interactive theorem proving to store a sequence of lemmas introduced by a user to direct the proof system towards some final theorem. Tables of literals can be incorporated into sequent calculus proofs using two ideas. First, cuts are used to incorporate tabled items into a proof: one premise of the cut requires a proof of the lemma and the other branch of the cut inserts the lemma into the set of assumptions. Second, to ensure that lemma is not reproved, we exploit the fact that in focused proofs, atoms can have different polarity. Using these ideas, simple logic engines that do focused proof search (such as logic programming interpreters) are able to check proofs for correctness with guarantees that previous work is not redone. We also discuss how a table can be seen as a proof object and discuss some possible uses of tablesasproofs. 1
A Logic for Reasoning with HigherOrder Abstract Syntax
"... Logical frameworks based on intuitionistic or linear logics with highertype quantification have been successfully used to give highlevel, modular, and formal specifications of many important judgments in the area of programming languages and inference systems. Given such specifications, it is natu ..."
Abstract

Cited by 7 (2 self)
 Add to MetaCart
Logical frameworks based on intuitionistic or linear logics with highertype quantification have been successfully used to give highlevel, modular, and formal specifications of many important judgments in the area of programming languages and inference systems. Given such specifications, it is natural to consider proving properties about the specified systems in the framework: for example, given the specification of evaluation for a functional programming language, prove that the language is deterministic or that the subjectreduction theorem holds. One challenge in developing a framework for such reasoning is that higherorder abstract syntax (HOAS), an elegant and declarative treatment of objectlevel abstraction and substitution,is difficult to treat in proofs involving induction. In this paper, we present a metalogic that can be used to reason about judgments coded using HOAS; this metalogic is an extension of a simple intuitionistic logic that admits higherorder quantification over simply typedterms (key ingredients for HOAS) as well as induction and a notion of definition. The latter concept of a definition is a prooftheoretic device that allows certain theories to be treated as “closed ” or as defining fixed points. The resulting metalogic can specify various logical frameworks and a large range of judgments regarding programming languages and inference systems. We illustrate this point through examples, including the admissibility of cut for a simple logic and subject reduction, determinacy of evaluation, and the equivalence of SOS and natural semantics presentations of evaluation for a simple functional programming language. 1.
An Overview of Linear Logic Programming
 in Computational Logic
, 1985
"... Logic programming can be given a foundation in sequent calculus by viewing computation as the process of building a cutfree sequent proof bottomup. The first accounts of logic programming as proof search were given in classical and intuitionistic logic. Given that linear logic allows richer sequen ..."
Abstract

Cited by 7 (1 self)
 Add to MetaCart
Logic programming can be given a foundation in sequent calculus by viewing computation as the process of building a cutfree sequent proof bottomup. The first accounts of logic programming as proof search were given in classical and intuitionistic logic. Given that linear logic allows richer sequents and richer dynamics in the rewriting of sequents during proof search, it was inevitable that linear logic would be used to design new and more expressive logic programming languages. We overview how linear logic has been used to design such new languages and describe briefly some applications and implementation issues for them.
A User Guide to Bedwyr
, 2006
"... Some recent theoretical work in proof search has illustrated that it is possible to combine the following two computational principles into one computational logic. 1. A symmetric treatment of finite success and finite failure. This allows capturing both aspects of may and must behavior in operation ..."
Abstract

Cited by 4 (2 self)
 Add to MetaCart
Some recent theoretical work in proof search has illustrated that it is possible to combine the following two computational principles into one computational logic. 1. A symmetric treatment of finite success and finite failure. This allows capturing both aspects of may and must behavior in operational semantics and mixing model checking and logic programming. 2. Direct support for λtree syntax, as in λProlog, via termlevel λbinders, higherorder pattern unification, and the ∇quantifier. All these features have a clean proof theory. The combination of these features allow, for example, specifying rather declarative approaches to model checking syntactic expressions containing bindings. The Bedwyr system is intended as an implementation of these computational logic principles. Why the name Bedwyr? In the legend of King Arthur and the round table, several knights shared in the search for the holy grail. The name of one of them, Parsifal, is used for an INRIA team associated with the “Slimmer ” effort. Bedwyr was another one of those knights. Wikipedia (using the spelling “Bedivere”) mentions that Bedwyr appears in Monty Python and the Holy Grail where he is “portrayed as a master of the extremely odd logic in the ancient times, whom occasionally blunders. ” Bedwyr is a reimplementation and rethinking ∗ Support has been obtained for this work from the following sources: from INRIA through
Encoding Generic Judgments
 In Proceedings of FSTTCS. Number 2556 in LNCS
, 2002
"... The operational semantics of a computation system is often presented as inference rules or, equivalently, as logical theories. Specifications can be made more declarative and highlevel if syntactic details concerning bound variables and substitutions are encoded directly into the logic using te ..."
Abstract

Cited by 3 (2 self)
 Add to MetaCart
The operational semantics of a computation system is often presented as inference rules or, equivalently, as logical theories. Specifications can be made more declarative and highlevel if syntactic details concerning bound variables and substitutions are encoded directly into the logic using termlevel abstractions (#abstraction) and prooflevel abstractions (eigenvariables). When one wishes to reason about relations defined using termlevel abstractions, generic judgment are generally required.
A Linear Logic Specification for Chimera
, 1997
"... . Forum [36], a powerful logic formalism based on Higher Order Linear Logic, is particularly suited to specify and reason about complex programs and systems. Ehhf [12], a subset of Forum, models many interesting logic programming extensions towards O.O. and concurrent systems and can be viewed as ..."
Abstract

Cited by 3 (3 self)
 Add to MetaCart
. Forum [36], a powerful logic formalism based on Higher Order Linear Logic, is particularly suited to specify and reason about complex programs and systems. Ehhf [12], a subset of Forum, models many interesting logic programming extensions towards O.O. and concurrent systems and can be viewed as a very high level logic programming specification language. The paper presents some results in this direction, namely the specification in Ehhf of Chimera, an Active, ObjectOriented and Deductive Database System. Keywords: Linear Logic, ObjectOriented and Deductive Databases. 1 Introduction Proof theory and automated deduction have provided relevant contributions to computer science, in particular in the fields of highlevel programming languages and formal verification of software. Many different logics have been proposed and used for these purposes. We will work with Linear logic [22] with the aim to use it as a theoretical foundation for modern and powerful specification language...