TY - JOUR
T1 - A general framework for automatic termination analysis of logic programs
AU - Dershowitz, Nachum
AU - Lindenstrauss, Naomi
AU - Sagiv, Yehoshua
AU - Serebrenik, Alexander
PY - 2001
Y1 - 2001
N2 - This paper describes a general framework for automatic termination analysis of logic programs, where we understand by "termination" the finiteness of the LD-tree constructed for the program and a given query. A general property of mappings from a certain subset of the branches of an infinite LD-tree into a finite set is proved. From this result several termination theorems are derived, by using different finite sets. The first two are formulated for the predicate dependency and atom dependency graphs. Then a general result for the case of the query-mapping pairs relevant to a program is proved (cf. [29, 21]). The correctness of the TermiLog system described in [22] follows from it. In this system it is not possible to prove termination for programs involving arithmetic predicates, since the usual order for the integers is not well-founded. A new method, which can be easily incorporated in TermiLog or similar systems, is presented, which makes it possible to prove termination for programs involving arithmetic predicates. It is based on combining a finite abstraction of the integers with the technique of the query-mapping pairs, and is essentially capable of dividing a termination proof into several cases, such that a simple termination function suffices for each case. Finally several possible extensions are outlined.
AB - This paper describes a general framework for automatic termination analysis of logic programs, where we understand by "termination" the finiteness of the LD-tree constructed for the program and a given query. A general property of mappings from a certain subset of the branches of an infinite LD-tree into a finite set is proved. From this result several termination theorems are derived, by using different finite sets. The first two are formulated for the predicate dependency and atom dependency graphs. Then a general result for the case of the query-mapping pairs relevant to a program is proved (cf. [29, 21]). The correctness of the TermiLog system described in [22] follows from it. In this system it is not possible to prove termination for programs involving arithmetic predicates, since the usual order for the integers is not well-founded. A new method, which can be easily incorporated in TermiLog or similar systems, is presented, which makes it possible to prove termination for programs involving arithmetic predicates. It is based on combining a finite abstraction of the integers with the technique of the query-mapping pairs, and is essentially capable of dividing a termination proof into several cases, such that a simple termination function suffices for each case. Finally several possible extensions are outlined.
KW - Abstract interpretation
KW - Constraints
KW - Termination of logic programs
UR - http://www.scopus.com/inward/record.url?scp=0034952407&partnerID=8YFLogxK
U2 - 10.1007/s002000100065
DO - 10.1007/s002000100065
M3 - ???researchoutput.researchoutputtypes.contributiontojournal.article???
AN - SCOPUS:0034952407
SN - 0938-1279
VL - 12
SP - 117
EP - 156
JO - Applicable Algebra in Engineering, Communications and Computing
JF - Applicable Algebra in Engineering, Communications and Computing
IS - 1-2
ER -