Termination Analysis of Logic Programs Based on Dependency Graphs

This paper introduces a modular framework for termination analysis of logic programming. To this end, we adapt the notions of dependency pairs and dependency graphs (which were developed for term rewriting) to the logic programming domain. The main idea of the approach is that termination conditions for a program are established based on the decomposition of its dependency graph into its strongly connected components. These conditions can then be analysed separately by possibly different well-founded orders. We propose a constraint-based approach for automating the framework. Then, for example, termination techniques based on polynomial interpretations can be plugged in as a component to generate well-founded orders.

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

[2]  Larry Wos,et al.  What Is Automated Reasoning? , 1987, J. Autom. Reason..

[3]  Jürgen Giesl,et al.  Automatic Termination Proofs in the Dependency Pair Framework , 2006, IJCAR.

[4]  Philip Wadler Call-by-Value Is Dual to Call-by-Name - Reloaded , 2005, RTA.

[5]  Frédéric Mesnard,et al.  cTI: A constraint-based termination inference tool for ISO-Prolog , 2005, Theory Pract. Log. Program..

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

[7]  Maurice Bruynooghe,et al.  A Framework for Analyzing the Termination of Definite Logic Programs with respect to Call Patterns , 1992, FGCS.

[8]  Enno Ohlebusch,et al.  Modular Termination Proofs for Rewriting Using Dependency Pairs , 2002, J. Symb. Comput..

[9]  Jürgen Giesl,et al.  The size-change principle and dependency pairs for termination of term rewriting , 2005, Applicable Algebra in Engineering, Communication and Computing.

[10]  Lutz Plümer Termination Proofs for Logic Programs , 1990, Lecture Notes in Computer Science.

[11]  Danny De Schreye,et al.  Constraint-based termination analysis of logic programs , 1999, TOPL.

[12]  Michael Codish,et al.  A Semantic Basis for the Termination Analysis of Logic Programs , 1999, J. Log. Program..

[13]  Danny De Schreye,et al.  Polytool: Proving Termination Automatically Based on Polynomial Interpretations , 2006, LOPSTR.

[14]  Krzysztof R. Apt,et al.  An Analysis of Loop Checking Mechanisms for Logic Programs , 1991, Theor. Comput. Sci..

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

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

[17]  N. A C H U M D E R S H O W I T Z Termination of Rewriting' , 2022 .

[18]  MANH THANG NGUYEN,et al.  Polynomial Interpretations as a Basis for Termination Analysis of Logic Programs , 2005, ICLP.

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

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

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

[22]  Joao Marques-Silva,et al.  Theory and Applications of Satisfiability Testing - SAT 2007, 10th International Conference, Lisbon, Portugal, May 28-31, 2007, Proceedings , 2007, SAT.

[23]  Jürgen Giesl,et al.  Automated Termination Analysis for Logic Programs by Term Rewriting , 2006, LOPSTR.

[24]  Annalisa Bossi,et al.  Norms on Terms and their use in Proving Universal Termination of a Logic Program , 1994, Theor. Comput. Sci..

[25]  Claude Marché,et al.  Mechanically Proving Termination Using Polynomial Interpretations , 2005, Journal of Automated Reasoning.

[26]  Nachum Dershowitz,et al.  A General Framework for Automatic Termination Analysis of Logic Programs , 2000, Applicable Algebra in Engineering, Communication and Computing.

[27]  Neil D. Jones,et al.  The size-change principle for program termination , 2001, POPL '01.

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

[29]  Antonis C. Kakas,et al.  Computational Logic: Logic Programming and Beyond , 2002, Lecture Notes in Computer Science.

[30]  Andreas Podelski,et al.  Transition invariants , 2004, Proceedings of the 19th Annual IEEE Symposium on Logic in Computer Science, 2004..

[31]  Hoon Hong,et al.  Testing Positiveness of Polynomials , 1998, Journal of Automated Reasoning.

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

[33]  Samir Genaim,et al.  Proving Termination One Loop at a Time , 2003, WLPE.

[34]  Hans Zantema,et al.  Matrix Interpretations for Proving Termination of Term Rewriting , 2006, Journal of Automated Reasoning.

[35]  Yoshihito Toyama,et al.  Argument Filtering Transformation , 1999, PPDP.

[36]  Lee Naish Automatic Termination Analysis of Logic Programs , 1997 .

[37]  Frank Plumpton Ramsey,et al.  On a Problem of Formal Logic , 1930 .

[38]  Alexander Serebrenik,et al.  Acceptability with General Orderings , 2002, Computational Logic: Logic Programming and Beyond.