Methodology for Proving the Termination of Logic Programs

In this paper, we describe a methodology for proving termination of logic programs. First, we introduce U-graphs as an abstraction of logic programs and establish that SLDNF-derivations can be realized by instances of paths in the U-graphs. Such a relation enables us to use U-graphs for establishing the universal termination of logic programs. In our method, we associate pre- and post-assertions to the nodes of the graph and ordered assertions to selected edges of the graph. With this as the basis, we develop a simple method for establishing the termination of logic programs. The simplicity/practicality of the method is illustrated through examples.