Checking Termination of Logic Programs with Function Symbols through Linear Constraints

Enriching answer set programming with function symbols makes modeling easier, increases the expressive power, and allows us to deal with infinite domains. However, this comes at a cost: common inference tasks become undecidable. To cope with this issue, recent research has focused on finding trade-offs between expressivity and decidability by identifying classes of logic programs that impose limitations on the use of function symbols but guarantee decidability of common inference tasks. Despite the significant body of work in this area, current approaches do not include many simple practical programs whose evaluation terminates. In this paper, we present the novel class of rule-bounded programs. While current techniques perform a limited analysis of how terms are propagated from an individual argument to another, our technique is able to perform a more global analysis, thereby overcoming several limitations of current approaches. We also present a further class of cycle-bounded programs where groups of rules are analyzed together. We show different results on the correctness and the expressivity of the proposed techniques.

[1]  Germán Vidal,et al.  Fast offline partial evaluation of logic programs , 2014, Inf. Comput..

[2]  Mario Alviano,et al.  Disjunctive ASP with functions: Decidable queries and effective computation , 2010, Theory Pract. Log. Program..

[3]  Sergio Greco,et al.  Logic programming with function symbols: Checking termination of bottom-up evaluation through program adornments , 2013, Theory and Practice of Logic Programming.

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

[5]  Aart Middeldorp,et al.  Root-Labeling , 2008, RTA.

[6]  Piero A. Bonatti,et al.  On finitely recursive programs1 , 2009, Theory and Practice of Logic Programming.

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

[8]  Tommi Syrjänen Omega-Restricted Logic Programs , 2001, LPNMR.

[9]  A Bikakis,et al.  Checking Termination of Logic Programs with Function Symbols through Linear Constraints , 2014, RuleML.

[10]  Manuel V. Hermenegildo,et al.  Energy Consumption Analysis of Programs Based on XMOS ISA-Level Models , 2013, LOPSTR.

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

[12]  Fabrizio Riguzzi,et al.  Terminating Evaluation of Logic Programs with Finite Three-Valued Models , 2014, TOCL.

[13]  Enno Ohlebusch,et al.  Termination of Logic Programs: Transformational Methods Revisited , 2001, Applicable Algebra in Engineering, Communication and Computing.

[14]  Thomas Eiter,et al.  Liberal Safety for Answer Set Programs with External Sources , 2013, AAAI.

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

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

[17]  Hans Zantema,et al.  Termination of Term Rewriting by Semantic Labelling , 1995, Fundam. Informaticae.

[18]  Giovambattista Ianni,et al.  Computable Functions in ASP: Theory and Implementation , 2008, ICLP.

[19]  Martin Gebser,et al.  Answer Set Solving in Practice , 2012, Answer Set Solving in Practice.

[20]  Germán Vidal Quasi-terminating logic programs for ensuring the termination of partial evaluation , 2007, PEPM '07.

[21]  Alexander Serebrenik,et al.  On Termination of Meta-Programs , 2001, LPAR.

[22]  Germán Vidal,et al.  Termination of narrowing via termination of rewriting , 2010, Applicable Algebra in Engineering, Communication and Computing.

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

[24]  Danny De Schreye,et al.  Non-termination analysis of logic programs with integer arithmetics , 2011, Theory Pract. Log. Program..

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

[26]  Sergio Greco,et al.  On the Termination of Logic Programs with Function Symbols , 2012, ICLP.

[27]  Martin Gebser,et al.  GrinGo : A New Grounder for Answer Set Programming , 2007, LPNMR.

[28]  Allen Van Gelder,et al.  Termination detection in logic programs using argument sizes (extended abstract) , 1991, PODS.

[29]  Piero A. Bonatti,et al.  Reasoning with infinite stable models , 2001, Artif. Intell..

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

[31]  Yuliya Lierler,et al.  One More Decidable Class of Finitely Ground Programs , 2009, ICLP.

[32]  Michael Gelfond,et al.  Classical negation in logic programs and disjunctive databases , 1991, New Generation Computing.

[33]  Sergio Greco,et al.  Bounded Programs: A New Decidable Class of Logic Programs with Function Symbols , 2013, IJCAI.

[34]  Fabrizio Riguzzi,et al.  Well–definedness and efficient inference for probabilistic logic programming under the distribution semantics , 2011, Theory and Practice of Logic Programming.

[35]  Wolfgang Faber,et al.  Logic Programming and Nonmonotonic Reasoning , 2011, Lecture Notes in Computer Science.

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

[37]  Danny De Schreye,et al.  Termination proofs for logic programs with tabling , 2001, TOCL.

[38]  Hans Zantema,et al.  Total termination of term rewriting , 1993, Applicable Algebra in Engineering, Communication and Computing.

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