Results 1 - 10
of
289
Abstract interpretation and application to logic programs
, 1992
"... Abstract interpretation is a theory of semantics approximation which is usedfor the construction of semantics-basedprogram analysis algorithms (sometimes called“data flow analysis”), the comparison of formal semantics (e.g., construction of a denotational semantics from an operational one), the des ..."
Abstract
-
Cited by 263 (14 self)
- Add to MetaCart
Abstract interpretation is a theory of semantics approximation which is usedfor the construction of semantics-basedprogram analysis algorithms (sometimes called“data flow analysis”), the comparison of formal semantics (e.g., construction of a denotational semantics from an operational one), the design of proof methods, etc. Automatic program analysers are used for determining statically conservative approximations of dynamic properties of programs. Such properties of the run-time behavior of programs are useful for debugging (e.g., type inference), code optimization (e.g., compile-time garbage collection, useless occur-check elimination), program transformation (e.g., partial evaluation, parallelization), andeven program correctness proofs (e.g., termination proof). After a few simple introductory examples, we recall the classical framework for abstract interpretation of programs. Starting from a standardoperational semantics formalizedas a transition system, classes of program properties are first encapsulatedin collecting semantics expressedas fixpoints on partial orders representing concrete program properties. We consider invariance properties characterizing the descendant states of the initial states (corresponding to top/down or forward analyses), the ascendant states of the final states (corresponding to bottom/up or backward analyses) as well as a combination
Complexity and Expressive Power of Logic Programming
, 1997
"... This paper surveys various complexity results on different forms of logic programming. The main focus is on decidable forms of logic programming, in particular, propositional logic programming and datalog, but we also mention general logic programming with function symbols. Next to classical results ..."
Abstract
-
Cited by 240 (51 self)
- Add to MetaCart
This paper surveys various complexity results on different forms of logic programming. The main focus is on decidable forms of logic programming, in particular, propositional logic programming and datalog, but we also mention general logic programming with function symbols. Next to classical results on plain logic programming (pure Horn clause programs), more recent results on various important extensions of logic programming are surveyed. These include logic programming with different forms of negation, disjunctive logic programming, logic programming with equality, and constraint logic programming. The complexity of the unification problem is also addressed.
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.
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 202 (19 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.
On the Complexity of Propositional Knowledge Base Revision, Updates, and Counterfactuals
- ARTIFICIAL INTELLIGENCE
, 1992
"... We study the complexity of several recently proposed methods for updating or revising propositional knowledge bases. In particular, we derive complexity results for the following problem: given a knowledge base T , an update p, and a formula q, decide whether q is derivable from T p, the updated (or ..."
Abstract
-
Cited by 157 (11 self)
- Add to MetaCart
We study the complexity of several recently proposed methods for updating or revising propositional knowledge bases. In particular, we derive complexity results for the following problem: given a knowledge base T , an update p, and a formula q, decide whether q is derivable from T p, the updated (or revised) knowledge base. This problem amounts to evaluating the counterfactual p > q over T . Besides the general case, also subcases are considered, in particular where T is a conjunction of Horn clauses, or where the size of p is bounded by a constant.
Reasoning about Termination of Pure Prolog Programs
- Information and Computation
, 1993
"... We provide a theoretical basis for studying termination of (general) logic programs with the Prolog selection rule. To this end we study the class of left terminating programs. These are logic programs that terminate with the Prolog selection rule for all ground goals. We offer a characterization of ..."
Abstract
-
Cited by 117 (14 self)
- Add to MetaCart
We provide a theoretical basis for studying termination of (general) logic programs with the Prolog selection rule. To this end we study the class of left terminating programs. These are logic programs that terminate with the Prolog selection rule for all ground goals. We offer a characterization of left terminating positive programs by means of the notion of an acceptable program that provides us with a practical method of proving termination. The method is illustrated by giving a simple proof of termination of the quicksort program for the desired class of goals. Then we extend this approach to the class of general logic programs by modifying the concept of acceptability. We prove that acceptable general programs are left terminating. The converse implication does not hold but we show that under the assumption of nonfloundering from ground goals every left terminating general program is acceptable. Finally, we prove that various ways of defining semantics coincide for acceptable gen...
S-Semantics Approach: Theory and Applications
, 1994
"... The paper is a general overview of an approach to the semantics of logic programs whose aim is finding notions of models which really capture the operational semantics, and are therefore useful for defining program equivalences and for semantics-based program analysis. The approach leads to the intr ..."
Abstract
-
Cited by 110 (26 self)
- Add to MetaCart
The paper is a general overview of an approach to the semantics of logic programs whose aim is finding notions of models which really capture the operational semantics, and are therefore useful for defining program equivalences and for semantics-based program analysis. The approach leads to the introduction of extended interpretations which are more expressive than Herbrand interpretations. The semantics in terms of extended interpretations can be obtained as a result of both an operational (top-down) and a fixpoint (bottom-up) construction. It can also be characterized from the model-theoretic viewpoint, by defining a set of extended models which contains standard Herbrand models. We discuss the original construction modeling computed answer substitutions, its compositional version and various semantics modeling more concrete observables. We then show how the approach can be applied to several extensions of positive logic programs. We finally consider some applications, mainly in the area of semantics-based program transformation and analysis.
Propositional Circumscription and Extended Closed World Reasoning are $\Pi^P_2$-complete
- Theoretical Computer Science
, 1993
"... Circumscription and the closed world assumption with its variants are well-known nonmonotonic techniques for reasoning with incomplete knowledge. Their complexity in the propositional case has been studied in detail for fragments of propositional logic. One open problem is whether the deduction prob ..."
Abstract
-
Cited by 94 (21 self)
- Add to MetaCart
Circumscription and the closed world assumption with its variants are well-known nonmonotonic techniques for reasoning with incomplete knowledge. Their complexity in the propositional case has been studied in detail for fragments of propositional logic. One open problem is whether the deduction problem for arbitrary propositional theories under the extended closed world assumption or under circumscription is $\Pi^P_2$-complete, i.e., complete for a class of the second level of the polynomial hierarchy. We answer this question by proving these problems $\Pi^P_2$-complete, and we show how this result applies to other variants of closed world reasoning.
A Survey on Complexity Results for Non-monotonic Logics
- Journal of Logic Programming
, 1993
"... This paper surveys the main results appeared in the literature on the computational complexity of non-monotonic inference tasks. We not only give results about the tractability/intractability of the individual problems but we also analyze sources of complexity and explain intuitively the nature of e ..."
Abstract
-
Cited by 76 (5 self)
- Add to MetaCart
This paper surveys the main results appeared in the literature on the computational complexity of non-monotonic inference tasks. We not only give results about the tractability/intractability of the individual problems but we also analyze sources of complexity and explain intuitively the nature of easy/hard cases. We focus mainly on non-monotonic formalisms, like default logic, autoepistemic logic, circumscription, closed-world reasoning and abduction, whose relations with logic programming are clear and well studied. Complexity as well as recursion-theoretic results are surveyed. Work partially supported by the ESPRIT Basic Research Action COMPULOG and the Progetto Finalizzato Informatica of the CNR (Italian Research Council). The first author is supported by a CNR scholarship 1 Introduction Non-monotonic logics and negation as failure in logic programming have been defined with the goal of providing formal tools for the representation of default information. One of the ideas und...
Reasoning about Prolog Programs: from Modes through Types to Assertions
, 1994
"... We provide here a systematic comparative study of the relative strength and expressive power of a number of methods for program analysis of Prolog. Among others we show that these methods can be arranged in the following hierarchy: mode analysis ⇒ type analysis ⇒ monotonic properties &rArr ..."
Abstract
-
Cited by 76 (4 self)
- Add to MetaCart
We provide here a systematic comparative study of the relative strength and expressive power of a number of methods for program analysis of Prolog. Among others we show that these methods can be arranged in the following hierarchy: mode analysis ⇒ type analysis ⇒ monotonic properties ⇒ non-monotonic run-time properties. We also discuss a method allowing us to prove global run-time properties.

