Results 1 -
7 of
7
Logic Programming in a Fragment of Intuitionistic Linear Logic: Extended Abstract
- In Kahn, G. (Ed.), Sixth Annual Symposium on Logic in Computer Science
, 1991
"... When logic programming is based on the proof theory of intuitionistic logic, it is natural to allow implications in goals and in the bodies of clauses. Attempting to prove a goal of the form D ⊃ G from the context (set of formulas) Γ leads to an attempt to prove the goal G in the extended context Γ ..."
Abstract
-
Cited by 283 (36 self)
- Add to MetaCart
When logic programming is based on the proof theory of intuitionistic logic, it is natural to allow implications in goals and in the bodies of clauses. Attempting to prove a goal of the form D ⊃ G from the context (set of formulas) Γ leads to an attempt to prove the goal G in the extended context Γ ∪ {D}. Thus during the bottom-up search for a cut-free proof contexts, represented as the left-hand side of intuitionistic sequents, grow as stacks. While such an intuitionistic notion of context provides for elegant specifications of many computations, contexts can be made more expressive and flexible if they are based on linear logic. After presenting two equivalent formulations of a fragment of linear logic, we show that the fragment has a goal-directed interpretation, thereby partially justifying calling it a logic programming language. Logic programs based on the intuitionistic theory of hereditary Harrop formulas can be modularly embedded into this linear logic setting. Programming examples taken from theorem proving, natural language parsing, and data base programming are presented: each example requires a linear, rather than intuitionistic, notion of context to be modeled adequately. An interpreter for this logic programming language must address the problem of splitting contexts; that is, when attempting to prove a multiplicative conjunction (tensor), say G1 ⊗ G2, from the context ∆, the latter must be split into disjoint contexts ∆1 and ∆2 for which G1 follows from ∆1 and G2 follows from ∆2. Since there is an exponential number of such splits, it is important to delay the choice of a split as much as possible. A mechanism for the lazy splitting of contexts is presented based on viewing proof search as a process that takes a context, consumes part of it, and returns the rest (to be consumed elsewhere). In addition, we use collections of Kripke interpretations indexed by a commutative monoid to provide models for this logic programming language and show that logic programs admit a canonical model. 1
Logic Programming and Negation: A Survey
- JOURNAL OF LOGIC PROGRAMMING
, 1994
"... We survey here various approaches which were proposed to incorporate negation in logic programs. We concentrate on the proof-theoretic and model-theoretic issues and the relationships between them. ..."
Abstract
-
Cited by 216 (8 self)
- Add to MetaCart
We survey here various approaches which were proposed to incorporate negation in logic programs. We concentrate on the proof-theoretic and model-theoretic issues and the relationships between them.
Applications of Linear Logic to Computation: An Overview
, 1993
"... This paper is an overview of existing applications of Linear Logic (LL) to issues of computation. After a substantial introduction to LL, it discusses the implications of LL to functional programming, logic programming, concurrent and object-oriented programming and some other applications of LL, li ..."
Abstract
-
Cited by 41 (3 self)
- Add to MetaCart
This paper is an overview of existing applications of Linear Logic (LL) to issues of computation. After a substantial introduction to LL, it discusses the implications of LL to functional programming, logic programming, concurrent and object-oriented programming and some other applications of LL, like semantics of negation in LP, non-monotonic issues in AI planning, etc. Although the overview covers pretty much the state-of-the-art in this area, by necessity many of the works are only mentioned and referenced, but not discussed in any considerable detail. The paper does not presuppose any previous exposition to LL, and is addressed more to computer scientists (probably with a theoretical inclination) than to logicians. The paper contains over 140 references, of which some 80 are about applications of LL. 1 Linear Logic Linear Logic (LL) was introduced in 1987 by Girard [62]. From the very beginning it was recognized as relevant to issues of computation (especially concurrency and stat...
Linear Logic and Computation: A Survey
- Proof and Computation, Proceedings Marktoberdorf Summer School
, 1993
"... . This is a survey of computational aspects of linear logic related to proof search. Keywords. Linear logic, cut free proof search, logic programming, complexity. 1 Introduction Linear logic, introduced by Girard [14, 36, 32], is a refinement of classical logic. While the central notions of truth ..."
Abstract
-
Cited by 14 (6 self)
- Add to MetaCart
. This is a survey of computational aspects of linear logic related to proof search. Keywords. Linear logic, cut free proof search, logic programming, complexity. 1 Introduction Linear logic, introduced by Girard [14, 36, 32], is a refinement of classical logic. While the central notions of truth (emphasized in classical logic) and proof construction (emphasized in intuitionistic logic) remain important in linear logic, it might be said that the emphasis in linear logic is on state. Linear logic is sometimes described as being resource sensitive because it provides an intrinsic and natural accounting of process states, events, and resources. Linear logic also sheds new light on classical logic and its relationship to intuitionistic logic, see Girard [15, 16] and Danos et al. [11]. An evocative semantic paradigm for linear logic by means of games is proposed by Blass [7] and by Abramsky and Jagadeesan [2]. As an intuitive motivation, let us consider reading logical deductions so tha...
The Declarative Semantics of the Prolog Selection Rule
- In Proceedings of the Ninth Annual IEEE Symposium on Logic in Computer Science, LICS ’94
, 1994
"... We axiomatize the Prolog selection rule which always selects the leftmost literal in a goal. We introduce a new completion of a logic program which we call the #-completion of the program. The #-completion is formulated as a first-order theory in a language extended by new predicate symbols which e ..."
Abstract
-
Cited by 10 (4 self)
- Add to MetaCart
We axiomatize the Prolog selection rule which always selects the leftmost literal in a goal. We introduce a new completion of a logic program which we call the #-completion of the program. The #-completion is formulated as a first-order theory in a language extended by new predicate symbols which express success, failure and left-termination of queries. The main results of the paper are the following. If a query succeeds, fails or is left-terminating under the Prolog selection rule, then the corresponding formula in the extended language is provable from the #-completion. Conversely, if a logic program and a query are correct with respect to some mode assignment and if one can prove in the #-completion that the query succeeds and is leftterminating, then the goal is successful and Prolog, using its depth first search, will compute an answer substitution for the goal. This result can even be extended to so called non-floundering queries. 1
A Transformation of Propositional Prolog Programs into Classical Logic
- Archive for Mathematical Logic
, 1995
"... . We transform a propositional Prolog program P into a set of propositional formulas prl(P ) and show that Prolog, using its depth-first left-to-right search, is sound and complete with respect to prl(P ). This means that a goal succeeds in Prolog if and only if it follows from prl(P ) in classical ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
. We transform a propositional Prolog program P into a set of propositional formulas prl(P ) and show that Prolog, using its depth-first left-to-right search, is sound and complete with respect to prl(P ). This means that a goal succeeds in Prolog if and only if it follows from prl(P ) in classical propositional logic. The generalization of prl(P ) to predicate logic leads to a system for which Prolog is still sound but unfortunately not complete. If one changes, however, the definition of the termination operator, then one obtains a theory that allows to prove termination of arbitrary non-floundering goals under Prolog. 1
A Quantifier-Free Completion of Logic Programs
- Computer Science Logic, selected papers from CSL ’89
, 1990
"... We present a proof theoretic approach to the problem of negation in logic programming. We introduce a quantifier-free sequent calculus which is sound for Negation as Failure. Some extensions of the calculus have 3-valued or intuitionistic interpretations. 1 ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
We present a proof theoretic approach to the problem of negation in logic programming. We introduce a quantifier-free sequent calculus which is sound for Negation as Failure. Some extensions of the calculus have 3-valued or intuitionistic interpretations. 1

