Logic programming revisited: logic programs as inductive definitions

  • Authors:
  • Maurice Bruynooghe;Victor Marek;Marc Denecker

  • Affiliations:
  • Katholieke Univ. Leuven, Heverlee, Belgium;Univ. of Kentucky, Lexington;Katholieke Univ. Leuven, Heverlee, Belgium

  • Venue:
  • ACM Transactions on Computational Logic (TOCL) - Special issue devoted to Robert A. Kowalski
  • Year:
  • 2001

Quantified Score

Hi-index 0.01

Visualization

Abstract

Logic programming has been introduced as programming in the Horn clause subset of first-order logic. This view breaks down for the negation as failure inference rule. To overcome the problem, one line of research has been to view a logic program as a set of iff-definitions. A second approach was to identify a unique canonical, preferred, or intended model among the models of the program and to appeal to common sense to validate the choice of such model. Another line of research developed the view of logic programming as a nonmonotonic reasoning formalism strongly related to Default Logic and Autoepistemic Logic. These competing approaches have resulted in some confusion about the declarative meaning of logic programming. This paper investigates the problem and proposes an alternative epistemological foundation for the canonical model approach, which is not based on common sense but on a solid mathematical information principle. The thesis is developed that logic programming can be understood as a natural and general logic of inductive definitions. In particular, logic programs with negation represent nonmonotone inductive definitions. It is argued that this thesis results in an alternative justification of the well-founded model as the unique intended model of the logic program. In addition, it equips logic programs with an easy-to-comprehend meaning that corresponds very well with the intuitions of programmers.