On the existence of nonterminating queries for a restricted class of PROLOG-clauses
Artificial Intelligence
The craft of Prolog
Termination proofs for logic programs
Termination proofs for logic programs
Modular termination proofs for logic and pure PROLOG programs
Advances in logic programming theory
From logic programming to Prolog
From logic programming to Prolog
An abstract approach to some loop detection problems
Fundamenta Informaticae
Contributions to the Theory of Logic Programming
Journal of the ACM (JACM)
Goal independency and call patterns in the analysis of logic programs
SAC '94 Proceedings of the 1994 ACM symposium on Applied computing
Loop checks for logic programs with functions
Theoretical Computer Science
POPL '82 Proceedings of the 9th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Inferring Termination Conditions for Logic Programs Using Backwards Analysis
LPAR '01 Proceedings of the Artificial Intelligence on Logic for Programming
Termination of Logic Programs Using Semantic Unification
LOPSTR '95 Proceedings of the 5th International Workshop on Logic Programming Synthesis and Transformation
Termination Analysis for Mercury
SAS '97 Proceedings of the 4th International Symposium on Static Analysis
Applying Static Analysis Techniques for Inferring Termination Conditions of Logic Programs
SAS '01 Proceedings of the 8th International Symposium on Static Analysis
Halting Problem of One Binary Horn Clause is Undecidable
STACS '93 Proceedings of the 10th Annual Symposium on Theoretical Aspects of Computer Science
Inference of termination conditions for numerical loops in Prolog
Theory and Practice of Logic Programming
Nontermination inference of logic programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Hi-index | 0.00 |
In this paper, we begin with an approach to nontermination inference of logic programs. Our framework relies on an extension of the Lifting Theorem, where some specific argument positions can be instantiated while others are generalized. Atomic left looping queries are generated bottom-up from selected subsets of the binary unfoldings of the program of interest. Then non-termination inference is tailored to attempt proofs of optimality of left termination conditions computed by a termination inference tool. For each class of atomic queries not covered by a termination condition, the aim is to ensure the existence of one query from this class which leads to an infinite search tree. An experimental evaluation is reported. When termination and non-termination analysis produce complementary results for a logic procedure, they induce a characterization of the operational behavior of the logic procedure with respect to the left most selection rule and the language used to describe sets of atomic queries.