Smaus, Jan-Georg and Hill, Pat and King, Andy
Termination of Logic Programs with block Declarations Running in Several Modes.
In: Palamidessi, Catuscia, ed.
International Symposium on Programming Languages: Implementations, Logics and Programs.
Lecture Notes in Computer Science, 1490
Springer-Verlag, see also http://www.springer.de/comp/lncs/index.html, pp. 182-196.
ISBN 3-540-65012-1 .
(Full text available)
We show how termination of logic programs with delay declarations can be proven. Three features are distinctive of this work: (a) we assume that predicates can be used in several modes; (b) we show that block declarations, which are a very simple delay construct, are sufficient; (c) we take the selection rule into account, assuming it to be as in most Prolog implementations. Our method is based on identifying the so-called robust predicates, for which the textual position of an atom using this predicate is irrelevant. The method can be used to verify existing programs, and to assist in writing new programs. As a byproduct, we also show how programs can be proven to be free from occur-check and floundering.
- Depositors only (login required):