Foundations of logic programming; (2nd extended ed.)
Foundations of logic programming; (2nd extended ed.)
Inductive assertion method for logic programs
Theoretical Computer Science - International Joint Conference on Theory and Practice of Software Development, P
Static inference of modes and data dependencies in logic programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Handbook of theoretical computer science (vol. B)
Cost analysis of logic programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
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
Declarative programming in Prolog
ILPS '93 Proceedings of the 1993 international symposium on Logic programming
From logic programming to Prolog
From logic programming to Prolog
On the Unification Free Prolog Programs
MFCS '93 Proceedings of the 18th International Symposium on Mathematical Foundations of Computer Science
Automated Verification of Behavioural Properties of Prolog Programs
ASIAN '97 Proceedings of the Third Asian Computing Science Conference on Advances in Computing Science
Verifying Correctness of Logic Programs
TAPSOFT '89 Proceedings of the International Joint Conference on Theory and Practice of Software Development, Volume 2: Advanced Seminar on Foundations of Innovative Software Development II and Colloquium on Current Issues in Programming Languages
Transformation of Left Terminating Programs: the Reordering Problem
LOPSTR '95 Proceedings of the 5th International Workshop on Logic Programming Synthesis and Transformation
Preserving Universal Termination through Unfold/Fold
ALP '94 Proceedings of the 4th International Conference on Algebraic and Logic Programming
LOPSTR '98 Proceedings of the 8th International Workshop on Logic Programming Synthesis and Transformation
Hi-index | 0.00 |
In this paper we study how to verify that a pure Prolog program has solutions for a given query. The detailed analysis of the failure/ success behaviour of a program is necessary when dealing with transformation and verification of pure Prolog programs. In a previous work [10] we defined the class of noFD programs and queries which are characterized statically. We proved that a noFD query cannot have finitely failing derivations in a noFD program. Now, by introducing the concept of a set of exhaustive tests, we define the larger class of successful predicates. We prove that a noFD terminating query for successful predicates have at least one successful derivation. Moreover we propose some techniques based on program transformations for simplifying the verification of the successful condition.