Checking Termination of Datalog with Function Symbols Through Linear Constraints

Enriching Datalog programs 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 show different results on the correctness and the expressivity of the proposed technique.

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

[2]  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.

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

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

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

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

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

[8]  Marco Calautti,et al.  Checking Termination of Logic Programs with Function Symbols through Linear Constraints , 2014, RuleML.

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

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

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

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

[13]  Sergio Greco,et al.  Incomplete Data and Data Dependencies in Relational Databases , 2012, Incomplete Data and Data Dependencies in Relational Databases.

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

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

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

[17]  Marco Calautti,et al.  Detecting Decidable Classes of Finitely Ground Logic Programs with Function Symbols , 2017, ACM Trans. Comput. Log..

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

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

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

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

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

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

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

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

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

[27]  Piero A. Bonatti,et al.  On Finitely Recursive Programs , 2007, ICLP.

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

[29]  Marco Calautti,et al.  Checking Termination of Bottom-Up Evaluation of Logic Programs with Function Symbols , 2015, Theory Pract. Log. Program..

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

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

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

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