Dependency Triples for Improving Termination Analysis of Logic Programs with Cut

In very recent work, we introduced a non-termination preserving transformation from logic programs with cut to definite logic programs. While that approach allows us to prove termination of a large class of logic programs with cut automatically, in several cases the transformation results in a non-terminating definite logic program. In this paper we extend the transformation such that logic programs with cut are no longer transformed into definite logic programs, but into dependency triple problems. By the implementation of our new method and extensive experiments, we empirically evaluate the practical benefit of our contributions.

[1]  Danilo Beuche,et al.  Report of the GI Work Group "Requirements Management Tools for Product Line Engineering" , 2006 .

[2]  Max Bramer Logic Programming with Prolog , 2005, Springer London.

[3]  T. Kraußer,et al.  A Probabilistic Justification of the Combining Calculus under the Uniform Scheduler Assumption , 2007 .

[4]  Jürgen Giesl Termination of Nested and Mutually Recursive Algorithms , 2004, Journal of Automated Reasoning.

[5]  Wolfgang Thomas,et al.  Parametrized Regular Infinite Games and Higher-Order Pushdown Strategies , 2009, FCT.

[6]  Nao Hirokawa,et al.  Automating the Dependency Pair Method , 2005, CADE.

[7]  Joost-Pieter Katoen,et al.  Quantitative Model Checking of Continuous-Time Markov Chains Against Timed Automata Specifications , 2009, 2009 24th Annual IEEE Symposium on Logic In Computer Science.

[8]  Jürgen Giesl,et al.  Polytool: Polynomial interpretations as a basis for termination analysis of logic programs , 2011, Theory Pract. Log. Program..

[9]  Peter J. Stuckey,et al.  Testing for Termination with Monotonicity Constraints , 2005, ICLP.

[10]  Jürgen Giesl,et al.  The Dependency Triple Framework for Termination of Logic Programs , 2009, LOPSTR.

[11]  V. S. Costa,et al.  Theory and Practice of Logic Programming , 2010 .

[12]  Pierre Deransart,et al.  Prolog - the standard: reference manual , 1996 .

[13]  Danny De Schreye,et al.  Termination of Logic Programs: The Never-Ending Story , 1994, J. Log. Program..

[14]  George B. Mertzios,et al.  A New Intersection Model for Multitolerance Graphs , Hierarchy , and Efficient Algorithms , 2010 .

[15]  Frank Wolter,et al.  Monodic fragments of first-order temporal logics: 2000-2001 A.D , 2001, LPAR.

[16]  Jürgen Giesl,et al.  Automated termination proofs for logic programs by term rewriting , 2008, TOCL.

[17]  Jürgen Giesl,et al.  The Dependency Pair Framework: Combining Techniques for Automated Termination Proofs , 2005, LPAR.

[18]  John P. Gallagher,et al.  Termination analysis of logic programs through combination of type-based norms , 2007, TOPL.

[19]  Jacob M. Howe,et al.  Efficient Groundness Analysis in Prolog , 2003, Theory Pract. Log. Program..

[20]  Hans Zantema,et al.  The Termination Competition , 2007, RTA.

[21]  Dr. Pierre Deransart,et al.  Prolog: The Standard , 1996, Springer Berlin Heidelberg.

[22]  Jürgen Giesl,et al.  Termination Analysis of Logic Programs Based on Dependency Graphs , 2007, LOPSTR.

[23]  Jürgen Giesl,et al.  Mechanizing and Improving Dependency Pairs , 2006, Journal of Automated Reasoning.

[24]  Volker Stolz,et al.  Temporal assertions for sequential and concurrent programs , 2007 .

[25]  Massimo Marchiori Proving Existential Termination of Normal Logic Programs , 1996, AMAST.

[26]  Dirk Wilking Empirical studies for the application of agile methods to embedded systems , 2008 .

[27]  Krzysztof R. Apt,et al.  Logic Programming , 1990, Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics.

[28]  Jürgen Giesl,et al.  SAT Solving for Termination Analysis with Polynomial Interpretations , 2007, SAT.

[29]  Jürgen Giesl,et al.  Termination of term rewriting using dependency pairs , 2000, Theor. Comput. Sci..

[30]  Frédéric Mesnard,et al.  Recurrence with affine level mappings is P-time decidable for CLP$({\mathbb R})$ , 2007, Theory and Practice of Logic Programming.

[31]  Jürgen Giesl,et al.  Automated termination analysis for logic programs with cut , 2010, Theory Pract. Log. Program..

[32]  Christoph Walther,et al.  On Proving the Termination of Algorithms by Machine , 1994, Artif. Intell..