Guarded horn clauses: A parallel logic programming language with the concept of a guard
Proceedings of the first Franco-Japanese Symposium on Programming of future generation computers
Termination proofs for logic programs
Termination proofs for logic programs
An analysis of loop checking mechanisms for logic programs
Theoretical Computer Science
Proving termination properties of Prolog programs: a semantic approach
Journal of Logic Programming
Strong termination of logic programs
Journal of Logic Programming
Cost analysis of logic programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Control generation for logic programs
ICLP'93 Proceedings of the tenth international conference on logic programming on Logic programming
A grammatical view of logic programming
A grammatical view of 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
The Go¨del programming language
The Go¨del programming language
Automatic inference of norms: a missing link in automatic termination analysis
ILPS '93 Proceedings of the 1993 international symposium on Logic programming
Cardinality analysis of Prolog
ILPS '94 Proceedings of the 1994 International Symposium on Logic programming
Modular termination proofs for logic and pure PROLOG programs
Advances in logic programming theory
From logic programming to Prolog
From logic programming to Prolog
Proving termination of GHC programs
New Generation Computing
Constraint-based termination analysis of logic programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Proving termination of input-consuming logic programs
Proceedings of the 1999 international conference on Logic programming
Bounded nondeterminism of logic programs
Proceedings of the 1999 international conference on Logic programming
Termination analysis for abductive general logic programs
Proceedings of the 1999 international conference on Logic programming
Communications of the ACM
Termination proofs for logic programs with tabling
ACM Transactions on Computational Logic (TOCL)
∃ -Universal termination of logic programs
Theoretical Computer Science
On the Unification Free Prolog Programs
MFCS '93 Proceedings of the 18th International Symposium on Mathematical Foundations of Computer Science
Localizing and Explaining Reasons for Non-terminating Logic Programs with Failure-Slices
PPDP '99 Proceedings of the International Conference PPDP'99 on Principles and Practice of Declarative Programming
Verification of Logic Programs with Delay Declarations
AMAST '95 Proceedings of the 4th International Conference on Algebraic Methodology and Software Technology
Proving Existential Termination of Normal Logic Programs
AMAST '96 Proceedings of the 5th International Conference on Algebraic Methodology and Software Technology
Termination of Constraint Logic Programs
ICALP '97 Proceedings of the 24th International Colloquium on Automata, Languages and Programming
Detecting Unsolvable Queries for Definite Logic Programs
PLILP '98/ALP '98 Proceedings of the 10th International Symposium on Principles of Declarative Programming
Generating Efficient, Terminating Logic Programs
TAPSOFT '97 Proceedings of the 7th International Joint Conference CAAP/FASE on Theory and Practice of Software Development
Proving Termination of Logic Programs by Transforming them into Equivalent Term Rewriting Systems
Proceedings of the 13th Conference on Foundations of Software Technology and Theoretical Computer Science
Inferring Argument Size Relationships with CLP(R)
LOPSTR '96 Proceedings of the 6th International Workshop on Logic Programming Synthesis and Transformation
Termination Analysis for Mercury
SAS '97 Proceedings of the 4th International Symposium on Static Analysis
On Termination of Constraint Logic Programs
CP '95 Proceedings of the First International Conference on Principles and Practice of Constraint Programming
The Finiteness of Logic Programming Derivations
Proceedings of the Third International Conference on Algebraic and Logic Programming
Logic Programs as term Rewriting Systems
ALP '94 Proceedings of the 4th International Conference on Algebraic and Logic Programming
A Transformational Methodology for Proving Termination of Logic Programs
CSL '91 Proceedings of the 5th Workshop on Computer Science Logic
Termination Proofs of Well-Moded Logic Programs via Conditional Rewrite Systems
CTRS '92 Proceedings of the Third International Workshop on Conditional Term Rewriting Systems
Verifying termination and error-freedom of logic programs with block declarations
Theory and Practice of Logic Programming
On proving left termination of constraint logic programs
ACM Transactions on Computational Logic (TOCL)
Negation as Failure through Abduction: Reasoning about Termination
Computational Logic: Logic Programming and Beyond, Essays in Honour of Robert A. Kowalski, Part I
On logic programs that always succeed
Science of Computer Programming
Termination of simply moded logic programs with dynamic scheduling
ACM Transactions on Computational Logic (TOCL)
Making assumptions in the automated derivation
Information Sciences: an International Journal
A uniform approach to logic programming semantics
Theory and Practice of Logic Programming
Termination of Floating-Point Computations
Journal of Automated Reasoning
Control Generation by Program Transformation
Fundamenta Informaticae - Program Transformation: Theoretical Foundations and Basic Techniques. Part 2
Control Generation by Program Transformation
Fundamenta Informaticae - Program Transformation: Theoretical Foundations and Basic Techniques. Part 2
Hi-index | 0.00 |
Termination of logic programs depends critically on the selection rule, i.e. the rule that determines which atom is selected in each resolution step. In this article, we classify programs (and queries) according to the selection rules for which they terminate. This is a survey and unified view on different approaches in the literature. For each class, we present a sufficient, for most classes even necessary, criterion for determining that a program is in that class. We study six classes: a program strongly terminates if it terminates for all selection rules; a program input terminates if it terminates for selection rules which only select atoms that are sufficiently instantiated in their input positions, so that these arguments do not get instantiated any further by the unification; a program local delay terminates if it terminates for local selection rules which only select atoms that are bounded w.r.t. an appropriate level mapping; a program left-terminates if it terminates for the usual left-to-right selection rule; a program ∃-terminates if there exists a selection rule for which it terminates; finally, a program has bounded nondeterminism if it only has finitely many refutations. We propose a semantics-preserving transformation from programs with bounded nondeterminism into strongly terminating programs. Moreover, by unifying different formalisms and making appropriate assumptions, we are able to establish a formal hierarchy between the different classes.