Proving Operational Termination of Declarative Programs in General Logics

A declarative program P is a theory in a given computational logic L, so that computation with such a program is efficiently implemented as deduction in L. That is why inference systems are crucial: they both (i) define the logical semantics of a language in its underlying logic L, and (ii) specify the execution of programs in a correct implementation. The notion of operational termination (OT) of a declarative program P identifies termination with absence of infinite inference with P. We further develop the OT notion for declarative programs in general logics with schematic inference systems and characterize OT in terms of chains of proof jumps. We also generalize the Dependency Pair Framework for Term Rewriting Systems to an arbitrary schematic logic L, so that methods for proving declarative programs OT become available for a very wide range of declarative languages. We illustrate the usefulness of the general OT methods we propose by three case studies in three logics: that of Conditional Term Rewriting Systems, the Typed λ-calculus, and Membership Rewriting Logic. In particular, we show how various programs that could not be proved terminating with existing methods can be proved OT with the methods presented here.

[1]  Bernhard Gramlich,et al.  Characterizing and proving operational termination of deterministic conditional term rewriting systems , 2010, J. Log. Algebraic Methods Program..

[2]  Peter Aczel Schematic consequence , 1994 .

[3]  Raúl Gutiérrez,et al.  Proving Termination in the Context-Sensitive Dependency Pair Framework , 2010, WRLA.

[4]  José Meseguer,et al.  2D Dependency Pairs for Proving Operational Termination of CTRSs , 2014, WRLA.

[5]  Richard Statman,et al.  Lambda Calculus with Types: Preface , 2013 .

[6]  José Meseguer,et al.  General Logics , 2006 .

[7]  Enno Ohlebusch,et al.  Advanced Topics in Term Rewriting , 2002, Springer New York.

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

[9]  Francisco Durán,et al.  Proving operational termination of membership equational programs , 2008, High. Order Symb. Comput..

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

[11]  Francisco Durán,et al.  MTT: The Maude Termination Tool (System Description) , 2008, IJCAR.

[12]  Raúl Gutiérrez,et al.  Improving Context-Sensitive Dependency Pairs , 2008, LPAR.

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

[14]  Narciso Martí-Oliet,et al.  All About Maude - A High-Performance Logical Framework, How to Specify, Program and Verify Systems in Rewriting Logic , 2007, All About Maude.

[15]  Francisco Durán,et al.  Methods for Proving Termination of Rewriting-based Programming Languages by Transformation , 2009, PROLE.

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

[17]  José Meseguer,et al.  A Dependency Pair Framework for A OR C-Termination , 2010, WRLA.

[18]  José Meseguer,et al.  Order-sorted dependency pairs , 2008, PPDP.

[19]  Kazuhiro Ogata,et al.  On Proving Operational Termination Incrementally with Modular Conditional Dependency Pairs , 2013 .

[20]  Jürgen Giesl,et al.  Dependency Pairs for Equational Rewriting , 2001, RTA.

[21]  José Meseguer,et al.  Membership algebra as a logical framework for equational specification , 1997, WADT.

[22]  Richard Statman,et al.  Lambda Calculus with Types , 2013, Perspectives in logic.

[23]  Salvador Lucas,et al.  Context-sensitive Computations in Functional and Functional Logic Programs , 1998, J. Funct. Log. Program..

[24]  Salvador Lucas Context-sensitive rewriting strategies , 2002 .

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

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

[27]  Deepak Kapur,et al.  Dependency Pairs for Rewriting with Built-In Numbers and Semantic Data Structures , 2008, RTA.

[28]  Francisco Durán,et al.  Proving termination of membership equational programs , 2004, PEPM '04.

[29]  Zohar Manna,et al.  Proving termination with multiset orderings , 1979, CACM.

[30]  José Meseguer,et al.  Operational termination of conditional term rewriting systems , 2005, Inf. Process. Lett..

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