Declarative modeling of the operational behavior of logic languages
Theoretical Computer Science
Abstract interpretation based on OLDT resolution
Journal of Logic Programming
The underlying search for Magic Templates and tabulation
ICLP'93 Proceedings of the tenth international conference on logic programming on Logic programming
Reasoning about termination of pure Prolog programs
Information and Computation
Norms on terms and their use in proving universal termination of a logic program
Theoretical Computer Science
Tabled evaluation with delaying for general logic programs
Journal of the ACM (JACM)
Proceedings of the 5th ACM Conference on Functional Programming Languages and Computer Architecture
BTA Algorithms to Ensure Termination of Off-Line Partial Evaluation
Proceedings of the Second International Andrei Ershov Memorial Conference on Perspectives of System Informatics
Efficiently Generating Efficient Generating Extensions in Prolog
Selected Papers from the Internaltional Seminar on Partial Evaluation
Binding-Time Annotations Without Binding-Time Analysis
LPAR '01 Proceedings of the Artificial Intelligence on Logic for Programming
Fully automatic binding-time analysis for prolog
LOPSTR'04 Proceedings of the 14th international conference on Logic Based Program Synthesis and Transformation
Fast and accurate strong termination analysis with an application to partial evaluation
WFLP'09 Proceedings of the 18th international conference on Functional and Constraint Logic Programming
Hi-index | 0.00 |
We provide a theoretical basis for studying the termination of tabled logic programs executed under SLG-resolution using a left-to-right computation rule. To this end, we study the classes of quasi-terminating and LG-terminating programs (for a set of atomic goals S). These are tabled logic programs where execution of each call from S leads to only a finite number of different (i.e., non-variant) calls, and a finite number of different calls and computed answer substitutions for them, respectively. We then relate these two classes through a program transformation, and present a characterisation of quasi-termination by means of the notion of quasi-acceptability of tabled programs. The latter provides us with a practical method of proving termination and the method is illustrated on non-trivial examples of tabled logic programs.