Proving Termination of Logic Programs

  • Enno Ohlebusch


Proving correctness of a program consists in showing partial correctness (that is, the program meets its specification) and termination (that is, the program cannot run forever). Methods for deciding termination of programs cannot exist because termination is in general undecidable. This motivates the search for sufficient conditions that guarantee termination of a program. If such a technique is successful, it will return the answer: “Yes, the program is terminating.” In all other cases, it might not be able to determine whether the program terminates. In the last decade, the problem of (automatically) proving termination of logic programs has been receiving increasing attention. Many methods have been proposed to prove termination of logic programs; we will not attempt to review all of them here. Instead, we refer to the overview article of De Schreye and Decorte [SD94] ; more recent techniques are discussed in Krishna Rao et al. [KRKS98].


Logic Program Test Suite Predicate Symbol Ground Term Output Position 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Copyright information

© Springer Science+Business Media New York 2002

Authors and Affiliations

  • Enno Ohlebusch
    • 1
  1. 1.Research Group in Practical Computer Science, Faculty of TechnologyUniversity of BielefeldBielefeldGermany

Personalised recommendations