Results 1  10
of
45
Logic Programming and Knowledge Representation
 Journal of Logic Programming
, 1994
"... In this paper, we review recent work aimed at the application of declarative logic programming to knowledge representation in artificial intelligence. We consider exten sions of the language of definite logic programs by classical (strong) negation, disjunc tion, and some modal operators and sh ..."
Abstract

Cited by 242 (20 self)
 Add to MetaCart
In this paper, we review recent work aimed at the application of declarative logic programming to knowledge representation in artificial intelligence. We consider exten sions of the language of definite logic programs by classical (strong) negation, disjunc tion, and some modal operators and show how each of the added features extends the representational power of the language.
MODULARITY IN LOGIC PROGRAMMING
 J. LOGIC PROGRAMMING 1993:12:1199
, 1993
"... The research on modular logic programming has evolved along two different directions during the past decade. Various papers have focused primarily on the problems of programminginthelarge. They have proposed module systems equipped with compositional operators for building programs as combination ..."
Abstract

Cited by 86 (4 self)
 Add to MetaCart
The research on modular logic programming has evolved along two different directions during the past decade. Various papers have focused primarily on the problems of programminginthelarge. They have proposed module systems equipped with compositional operators for building programs as combinations of separate and independent components. Other proposals have instead concentrated on the problem of programminginthesmall in an attempt to enrich logic programming with abstraction and scoping mechanisms available in other programming paradigms. The issues that arise in the two approaches are substantially different. The compositional operators of the former allow one to structure programs without any need to extend the theory of Horn clauses. The scoping and abstraction mechanisms of the latter are modeled in terms of the logical connectives of extended logic languages.
A ProofTheoretic Approach to Logic Programming I
 Generalized Horn Clauses, SICS Research Report, 1987; also in J. of Logic and Computation
, 1987
"... In this paper definite Horn clause programs are investigated within a prooftheoretic framework; program clauses being considered rules of a formal system. Based on this approach, the soundness and completeness of SLDresolution is established by purely prooftheoretic methods. Extended Horn clauses ..."
Abstract

Cited by 76 (10 self)
 Add to MetaCart
(Show Context)
In this paper definite Horn clause programs are investigated within a prooftheoretic framework; program clauses being considered rules of a formal system. Based on this approach, the soundness and completeness of SLDresolution is established by purely prooftheoretic methods. Extended Horn clauses are defined as rules of higher levels and related to an approach based on implication formulae in the bodies of clauses. In a further extension, which is treated in Part II of this series, program clauses are viewed as clauses in inductive definitions of atoms, justifying an additional inference schema: a reflection principle that roughly corresponds to interpreting the program clauses as introduction rules in the sense of natural deduction. The evaluation procedures for queries with respect to the defined extensions of definite Horn clause programs are shown to be sound and complete. The sequent calculus with the general elimination schema even permits the introduction of a genuine notion of falsity which is not defined via a metarule.
Compositional Analysis of Modular Logic Programs
 In Proc. Twentieth Annual ACM Symp. on Principles of Programming Languages
, 1993
"... This paper describes a semantic basis for a compositional approach to the analysis of logic programs. A logic program is viewed as consisting of a set of modules, each module defining a subset of the program's predicates. Analyses are constructed by considering abstract interpretations of a ..."
Abstract

Cited by 58 (10 self)
 Add to MetaCart
(Show Context)
This paper describes a semantic basis for a compositional approach to the analysis of logic programs. A logic program is viewed as consisting of a set of modules, each module defining a subset of the program's predicates. Analyses are constructed by considering abstract interpretations of a compositional semantics. The abstract meaning of a module corresponds to its analysis and composition of abstract meanings corresponds to composition of analyses. Such an approach is essential for large program development so that altering one module does not require reanalysis of the entire program. A compositional analysis for ground dependencies is included to illustrate the approach. To the best of our knowledge this is the first account of a compositional framework for the analysis of (logic) programs. 1 Introduction It is widely acknowledged that as the size of a program increases, it becomes impractical to maintain it as a single monolithic structure. Instead, the program has to be...
A Logic Programming Approach To Manipulating Formulas And Programs
 IEEE Symp. Logic Programming
, 1994
"... : Firstorder Horn clause logic can be extended to a higherorder setting in which function and predicate symbols can be variables and terms are replaced with simply typed terms. For such a logic programming language to be complete in principle, it must incorporate higherorder unification. Althoug ..."
Abstract

Cited by 56 (17 self)
 Add to MetaCart
(Show Context)
: Firstorder Horn clause logic can be extended to a higherorder setting in which function and predicate symbols can be variables and terms are replaced with simply typed terms. For such a logic programming language to be complete in principle, it must incorporate higherorder unification. Although higherorder unification is more complex than usual firstorder unification, its availability makes writing certain kinds of programs far more straightforward. In this paper, we present such programs written in a higherorder version of Prolog called Prolog. These programs manipulate structures, such as formulas and programs, which contain abstractions or bound variables. We show how a simple natural deduction theorem prover can be implemented in this language. Similarly we demonstrate how several simple program transformers for a functional programming language can be written in Prolog. These Prolog programs exploit the availability of conversion and higherorder unification to elegantly ...
Modular Logic Programming and Generalized Quantifiers
 PROCEEDINGS OF THE 4TH INTERNATIONAL CONFERENCE ON LOGIC PROGRAMMING AND NONMONOTONIC REASONING (LPNMR97), NUMBER 1265 IN LNCS
, 1997
"... The research on systems of logic programming with modules has followed two mainstreams, programminginthelarge, where compositional operators are provided for combining separate and independent modules, and programminginthesmall, which aims at enhancing logic programming with new logical co ..."
Abstract

Cited by 39 (14 self)
 Add to MetaCart
(Show Context)
The research on systems of logic programming with modules has followed two mainstreams, programminginthelarge, where compositional operators are provided for combining separate and independent modules, and programminginthesmall, which aims at enhancing logic programming with new logical connectives. In this paper, we present
A Modal Extension of Logic Programming: Modularity, Beliefs and Hypothetical Reasoning
, 1995
"... In this paper we present a modal extension of logic programming, which allows both multiple modalities and embedded implications. We show that this extension is well suited for structuring knowledge and, specifically, for defining module constructs within programs, for representing agents beliefs, a ..."
Abstract

Cited by 15 (2 self)
 Add to MetaCart
In this paper we present a modal extension of logic programming, which allows both multiple modalities and embedded implications. We show that this extension is well suited for structuring knowledge and, specifically, for defining module constructs within programs, for representing agents beliefs, and also for hypothetical reasoning. The language contains modalities [a i ] to represent agent beliefs, and a modality 2 which is a kind of common knowledge operator. It allows sequences of modalities to occur in front of clauses, goals and clause heads, and hypothetical implications to occur in goals and in clause bodies. A goal directed proof procedure of the language is presented, and several examples of its use for defining modules are given. In particular, the language is shown to capture different proposal for module definition and composition presented in the literature. The modal logic, of which our programming language is a clausal fragment, is introduced through its Kripke semantic...
A Compositional Semantics for Normal Open Programs
 Proc. of JICSLP
, 1996
"... In this paper we propose a semantics for first order modular (open) programs. Modular programs are built as a combination of separate modules, which may evolve separately, and be verified separately. Therefore, in order to reason over such programs, compositionality plays a crucial role: the semanti ..."
Abstract

Cited by 14 (1 self)
 Add to MetaCart
(Show Context)
In this paper we propose a semantics for first order modular (open) programs. Modular programs are built as a combination of separate modules, which may evolve separately, and be verified separately. Therefore, in order to reason over such programs, compositionality plays a crucial role: the semantics of the whole program must be obtainable as a simple function from the semantics of its individual modules. In this paper we propose such a compositional semantics for firstorder programs. This semantics is correct with respect to the set of logical consequences of the program. Moreover,  in contrast with other approaches  it is always computable. Furthermore, we show how our results on firstorder programs may be applied in a straightforward way to normal logic programs, in which case our semantics might be regarded as a compositional counterpart of Kunen's semantics. Finally we discuss and show how these results have to be modified in order to be applied to normal CLP. 1 Introduct...
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 14 (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.