Efficient tests for top-down termination of logical rules

Jeffrey D. Ullman, Allen Van Gelder

Journal of the ACM · 1988 · 119 citations · 12 references

DOIFull text

Open access

Concepts

TL;DR

Top‑down (Prolog‑like) evaluation of logical rules must terminate, and fast termination tests are essential, especially for the widely satisfied uniqueness property. The study introduces the uniqueness property of logical rules to facilitate termination analysis. The NAIL! system processes rule fragments, selects optimal evaluation strategies, and for rules with the uniqueness property generates polynomial‑time inequalities whose satisfaction guarantees termination, providing a polynomial test.

Abstract

Considered is the question of whether top-down (Prolog-like) evaluation of a set of logical rules can be guaranteed to terminate. The NAIL! system is designed to process programs consisting of logical rules and to select, for each fragment of the program, the best from among many possible strategies for its evaluation. In the context of such a system, it is essential that termination tests be fast. Thus, the “uniqueness” property of logical rules is introduced. This property is satisfied by many of the common examples of rules and is easily recognized. For rules with this property, a set of inequalities, whose satisfaction is sufficient for termination of the rules, can be generated in polynomial time. Then a polynomial test for satisfaction of constraints generated by this process is given.

References

12