Complexity and expressive power of logic programming

  title={Complexity and expressive power of logic programming},
  author={Evgeny Dantsin and Thomas Eiter and Georg Gottlob and Andrei Voronkov},
  journal={Proceedings of Computational Complexity. Twelfth Annual IEEE Conference},
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… 
Disjunctive Logic Programs versus Normal Logic Programs
A translation from disjunctive logic programs into normal logic programs is proposed and then proved to be sound over infinite structures and the equivalence of expressive power of two kinds of logic programs over arbitrary structures is shown to coincide with that over finite structures and coincide with whether or not NP is closed under complement.
Probabilistic logic programming with conditional constraints
It is shown that probabilistic logic programming under certain syntactic and semantic restrictions is closely related to van Emden's quantitative deduction, and thus has computational properties similar to calssical logic programming.
Expressiveness of Logic Programs under the General Stable Model Semantics
The equivalence of the expressiveness of normal logic programs and disjunctive logic programs over arbitrary structures is shown to coincide with that over finite structures and coincide with whether the complexity class NP is closed under complement.
Logic programming and cardinality constraints : theory and practice
This work defines an ASP language, cardinality constraint programs (CCP), a declarative formal semantics that is based on the stable model semantics of normal logic programs, and identifies a syntactic subclass of CCPs, namely omega-restricted programs, that are decidable even when function symbols are allowed.
Probabilistic Logic Programming with Conditional Constraints Probabilistic Logic Programming with Conditional Constraints Revised Version, May 2000
It is shown that probabilistic logic programming under certain syntactic and semantic restrictions is close ly related to van Emden’s quantitative deduction, and thus has computational properties similar to c lassical logic programming.
Complexity Results for Checking Equivalence of Stratified Logic Programs
This paper considers the important classes of stratified programs and its subclass of acyclic programs, and shows that in the propositional setting, deciding strong and uniform equivalence is as hard as for arbitrary normal logic programs (and thus coNP-complete), but is polynomial in some restricted cases.
Well-Supported Semantics for Logic Programs with Generalized Rules
This paper defines the justified stable semantics for general logic programs, proposes a general notion of well-supportedness, and shows the relationships between the two, and addresses the issue of computational complexity for various classes of general programs.
Logic programming applications: what are the abstractions and implementations?
This chapter presents an overview of applications of logic programming, classifying them based on the abstractions and implementations of logic languages that support the applications. The three key
Semantics of logic programs with aggregates
A framework admits arbitrary aggregate relations in the bodies of rules which follows a denotational approach in which a semantics is defined as a (set of) fixpoint(s) of an operator associated with a program.
Complexity results for answer set programming with bounded predicate arities and implications
This paper presents a language fragment in which the arities of predicates are bounded by a constant, and analyzes the complexity of various reasoning tasks and computational problems for this fragment, comprising answer set existence, brave and cautious reasoning, and strong equivalence.


Expressiveness of Stable Model Semantics for Disjuncitve Logic Programs with Functions
Logic Programming and Knowledge Representation
This paper considers extensions of the language of definite logic programs by classical (strong) negation, disjunction, and some modal operators and shows how each of the added features extends the representational power of thelanguage.
Horn Clauses Queries and Generalizations
Transformations of Logic Programs
Normal Forms and the Complexity of Computations of Logic Programs
It is shown that logic programs with the simplest possible normal forms, i.e. programs with at most one called node and one calling leaf, can simulate computations of arbitrary Turing machine and can exhibit arbitrary complex computational behaviour.
Enumeration Operators and Modular Logic Programming
The Semantics of Predicate Logic as a Programming Language
In this paper the operational and fixpoint semantics of predicate logic programs are defined, and the connections with the proof theory and model theory of logic are investigated, and it is concluded that operational semantics is a part ofProof theory and that fixpoint semantic is a special case of model-theoretic semantics.
Semantics for Disjunctive Logic Programs with Explicit and Default Negation
This work studies the semantics of disjunctive programs that contain both explicit negation and negation-by-default, called extended disJunctive logic programs, and general techniques are described for extending model, fixpoint, and proof theoretic characterizations of an arbitrary semantics of normal disjunctions logic programs to cover the class of extended programs.
The Integration of Functions into Logic Programming: From Theory to Practice
  • M. Hanus
  • Computer Science
    J. Log. Program.
  • 1994
The integration of functions into logic programming: a survey
This paper surveys the development of the operational semantics as well as the improvement of the implementation of functional logic languages.