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:1-199
, 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 programming-in-the-large. 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 programming-in-the-large. 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 programming-in-the-small 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 Proof-Theoretic 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 proof-theoretic framework; program clauses being considered rules of a formal system. Based on this approach, the soundness and completeness of SLD-resolution is established by purely proof-theoretic 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 proof-theoretic framework; program clauses being considered rules of a formal system. Based on this approach, the soundness and completeness of SLD-resolution is established by purely proof-theoretic 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 meta-rule.
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 re-analysis 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
"... : First-order Horn clause logic can be extended to a higher-order 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 higher-order unification. Althoug ..."
Abstract
-
Cited by 56 (17 self)
- Add to MetaCart
(Show Context)
: First-order Horn clause logic can be extended to a higher-order 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 higher-order unification. Although higher-order unification is more complex than usual first-order 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 higher-order unification to elegantly ...
Modular Logic Programming and Generalized Quantifiers
- PROCEEDINGS OF THE 4TH INTERNATIONAL CONFERENCE ON LOGIC PROGRAMMING AND NONMONOTONIC REASONING (LPNMR-97), NUMBER 1265 IN LNCS
, 1997
"... The research on systems of logic programming with modules has followed two mainstreams, programming-in-the-large, where compositional operators are provided for combining separate and independent modules, and programming-in-the-small, 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, programming-in-the-large, where compositional operators are provided for combining separate and independent modules, and programming-in-the-small, 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 first-order 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 first-order 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 cut-free sequent proof bottom-up. 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 cut-free sequent proof bottom-up. 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.