Results 1 
8 of
8
Logic Programming in a Fragment of Intuitionistic Linear Logic
"... 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 306 (40 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 bottomup search for a cutfree proof contexts, represented as the lefthand 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 goaldirected 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.
A SemiFunctional Implementation of a HigherOrder Logic Programming Language
 Topics in Advanced Language Implementation
, 1991
"... ions *) and varbind = Varbind of string * term (* Variable binders , Type *) In the implementation of the term language and the type checker, we have two constants type and pi. And, yes, type is a type, though this could be avoided by introducing universes (see [16]) without any changes to the code ..."
Abstract

Cited by 35 (0 self)
 Add to MetaCart
ions *) and varbind = Varbind of string * term (* Variable binders , Type *) In the implementation of the term language and the type checker, we have two constants type and pi. And, yes, type is a type, though this could be avoided by introducing universes (see [16]) without any changes to the code of the unifier. As is customary, we use A ! B as an abbreviation for \Pix : A: B if x does not occur free in B. Also, however, \Pix : A: B is an abbreviation for the application pi A (x : A: B). In our formulation, then, the constant pi has type \PiA : type: ((A ! type) ! type). As an example consider a predicate constant eq of type \PiA : type: A ! A ! o (where o is the type of formulas as indicated in Section 9). The single clause eqAM M: correctly models equality, that is, a goal of the form eq AM N will succeed if M and N are unifiable. The fact that unification now has to branch can be seen by considering the goal eq int (F 1 1) 1 which has three solutions for the functional logic var...
Representing Objects in a Logic Programming Language with Scoping Constructs
 International Conference in Logic Programming
, 1990
"... We present a logic programming language that uses implications and universal quantifiers in goals and the bodies of clauses to provide a simple scoping mechanism for program clauses and constants. Within this language it is possible to define a simple notion of parametric module and local constant. ..."
Abstract

Cited by 28 (8 self)
 Add to MetaCart
We present a logic programming language that uses implications and universal quantifiers in goals and the bodies of clauses to provide a simple scoping mechanism for program clauses and constants. Within this language it is possible to define a simple notion of parametric module and local constant. Given this ability to structure programs, we explore how objectoriented programming, where objects are viewed as abstractions with behaviors, state, and inheritance, might be accommodated. To capture the notion of mutable state, we depart from the pure logic setting by adding a declaration that certain local predicates are deterministic (they succeed at most once). This declaration, along with a goalcontinuation passing style of programming is adequate to model the state of objects. We also examine a few aspects of how having objects embedded in logic programming can be used to enrich the notion of object: for examples, objects may be partial (that is, may contain free variables) and nond...
A Framework for Modal Logic Programming
 In Joint International Conference and Symposium on Logic Programming
, 1996
"... In this paper we present a framework for developing modal extensions of logic programming, which are parametric with respect to the properties chosen for the modalities and which allow sequences of modalities of the form [t], where t is a term of the language, to occur in front of clauses, goals and ..."
Abstract

Cited by 18 (3 self)
 Add to MetaCart
In this paper we present a framework for developing modal extensions of logic programming, which are parametric with respect to the properties chosen for the modalities and which allow sequences of modalities of the form [t], where t is a term of the language, to occur in front of clauses, goals and clause heads. The properties of modalities are specified by a set A of inclusion axioms of the form [t 1 ] : : : [t n ]ff oe [s 1 ] : : : [s m ]ff. The language can deal with many of the wellknown modal systems and several examples are provided. Due to its features, it is particularly suitable for performing epistemic reasoning, defining parametric and nested modules, describing inheritance in a hierarchy of classes and reasoning about actions. A goal directed proof procedure of the language is presented, which is modular with respect to the properties of modalities. Moreover, we define a fixpoint semantics, by generalizing the standard construction for Horn clauses, which is used to prov...
Workflows, Transactions, and Datalog
 In Proc. ACM Symposium on Principles of Database Systems (PODS’99
, 1999
"... Transaction Datalog (abbreviated T D) is a concurrent programming language that provides process modeling, database access, and advanced transactions. This paper illustrates the use of T D for specifying and simulating workflows, with examples based on the needs of a highthroughput genome laborator ..."
Abstract

Cited by 10 (0 self)
 Add to MetaCart
Transaction Datalog (abbreviated T D) is a concurrent programming language that provides process modeling, database access, and advanced transactions. This paper illustrates the use of T D for specifying and simulating workflows, with examples based on the needs of a highthroughput genome laboratory. In addition to database support, these needs include concurrent access to shared resources, synchronization of work, and networks of cooperating workflows. We also use T D to explore the computational complexity of workflows in dataintensive applications. We show, for instance, that workflows can be vastly more complex than database transactions, largely because concurrent processes can interact and communicate via the database (i:e:, one process can read what another one writes). We then investigate the sources of this complexity, focusing on features for data modeling and process modeling. We show that by carefully controlling these features, the complexity of workflows can be reduced ...
Hypothetical Reasoning with Intuitionistic Logic
 NonStandard Queries and Answers, Studies on Logic and Computation, chapter 8
, 1994
"... This paper addresses a limitation of most deductive database systems: They cannot reason hypothetically. Although they reason effectively about the world as it is, they are poor at tasks such as planning and design, where one must explore the consequences of hypothetical actions and possibilities. T ..."
Abstract

Cited by 5 (4 self)
 Add to MetaCart
This paper addresses a limitation of most deductive database systems: They cannot reason hypothetically. Although they reason effectively about the world as it is, they are poor at tasks such as planning and design, where one must explore the consequences of hypothetical actions and possibilities. To address this limitation, this paper presents a logicprogramming language in which a user can create hypotheses and draw inferences from them. Two types of hypothetical operations are considered: the insertion of tuples into a database, and the creation of new constant symbols. These two operations are interesting, not only because they extend the capabilities of database systems, but also because they fit neatly into a wellestablished logical framework, namely intuitionistic logic. This paper presents the proof theory for the logic, outlines its intuitionistic model theory, and summarizes results on its complexity and on its ability to express database queries. Our results establish a st...
Circumscribing Embedded Implications (Without Stratifications)
 Journal of Logic Programming
, 1992
"... This paper is a study of circumscription, not in classical logic, as usual, but in intuitionistic logic. We first review the intuitionistic circumscription of Horn clause logic programs, which was discussed in previous work, and we then consider the larger class of embedded implications . The ordina ..."
Abstract

Cited by 2 (2 self)
 Add to MetaCart
This paper is a study of circumscription, not in classical logic, as usual, but in intuitionistic logic. We first review the intuitionistic circumscription of Horn clause logic programs, which was discussed in previous work, and we then consider the larger class of embedded implications . The ordinary circumscription axiom turns out to be inappropriate for this class of rules, and we analyze two alternatives: (1) prioritized circumscription, which works for stratified embedded implications; and (2) partial circumscription, which is independent of the stratification. We then show that these two approaches coincide by identifying a single structure that serves as the final Kripke model for both circumscription axioms. This means that prioritized circumscription and partial circumscription entail exactly the same set of implicational queries. Several applications of these ideas are described, including: (1) an interpretation of negationasfailure; (2) a formalization of indefinite reasoni...
A strong logic programming view for static embedded implication
 In Proc. of the 2 nd Int. Conf. of Foundation of Software Science and Computation Structures (FOSSACS'99
, 1999
"... Abstract. A strong (L) logic programming language ([14, 15]) is given by two subclasses of formulas (programs and goals) of the underlying logic L, provided that: firstly, any program P (viewed as a Ltheory) has a canonical model MP which is initial in the category of all its Lmodels; secondly, th ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
Abstract. A strong (L) logic programming language ([14, 15]) is given by two subclasses of formulas (programs and goals) of the underlying logic L, provided that: firstly, any program P (viewed as a Ltheory) has a canonical model MP which is initial in the category of all its Lmodels; secondly, the Lsatisfaction of a goal G in MP is equivalent to the Lderivability of G from P, and finally, there exists an effective (computable) proofsubcalculus of the Lcalculus which works out for derivation of goals from programs. In this sense, Horn clauses constitute a strong (firstorder) logic programming language. Following the methodology suggested in [15] for designing logic programming languages, an extension of Horn clauses should be made by extending its underlying firstorder logic to a richer logic which supports a strong axiomatization of the extended logic programming language. A wellknown approach for extending Horn clauses with embedded implications is the static scope programming language presented in [8]. In this paper we show that such language can be seen as a strong FO ⊃ logic programming language, where FO ⊃ is a very natural extension of firstorder logic with intuitionistic implication. That is, we present a new characterization of the language in [8] which shows that Horn clauses extended with embedded implications, viewed as FO ⊃theories, preserves all the attractive mathematical and computational properties that Horn clauses satisfy as firstordertheories. 1