Finding and Certifying Loops

The first part of this paper presents a new approach for automatically proving nontermination of string rewrite systems. We encode rewrite sequences as propositional formulas such that a loop can be extracted from a satisfying assignment. Alternatively, loops can be found by enumerating forward closures. In the second part we give a formalization of loops in the theorem prover Isabelle/HOL. Afterwards, we use Isabelle's code-generation facilities to certify loops. The integration of our approach in CeTA (a program for automatic certification of termination proofs) makes it the first tool capable of certifying nontermination.

[1]  Aart Middeldorp,et al.  Match-bounds revisited , 2009, Inf. Comput..

[2]  Sébastien Hinderer,et al.  CoLoR : a Coq library on rewriting and termination , 2006 .

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

[4]  Florian Haftmann,et al.  Code generation from specifications in higher-order logic , 2009 .

[5]  Hans Zantema Termination of String Rewriting Proved Automatically , 2005, Journal of Automated Reasoning.

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

[7]  Tobias Nipkow,et al.  Term rewriting and all that , 1998 .

[8]  Jan Willem Klop,et al.  Term Rewriting Systems: From Church-Rosser to Knuth-Bendix and Beyond , 1990, ICALP.

[9]  Dieter Hofbauer,et al.  Termination Proofs for String Rewriting Systems via Inverse Match-Bounds , 2005, Journal of Automated Reasoning.

[10]  Aart Middeldorp,et al.  Tyrolean Termination Tool 2 , 2009, RTA.

[11]  Alice Feller Termination , 2009 .

[12]  Jürgen Giesl,et al.  Proving and Disproving Termination of Higher-Order Functions , 2005, FroCoS.

[13]  René Thiemann,et al.  Certification of Termination Proofs Using CeTA , 2009, TPHOLs.

[14]  Pierre Castéran,et al.  Interactive Theorem Proving and Program Development , 2004, Texts in Theoretical Computer Science An EATCS Series.

[15]  Stephen A. Cook,et al.  The complexity of theorem-proving procedures , 1971, STOC.

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

[17]  Yves Bertot,et al.  Interactive Theorem Proving and Program Development: Coq'Art The Calculus of Inductive Constructions , 2010 .

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

[19]  Niklas Sörensson,et al.  An Extensible SAT-solver , 2003, SAT.

[20]  Johannes Waldmann Matchbox: A Tool for Match-Bounded String Rewriting , 2004, RTA.

[21]  Hans Zantema,et al.  Non-looping string rewriting , 1999, RAIRO Theor. Informatics Appl..

[22]  Bruno Dutertre,et al.  A Fast Linear-Arithmetic Solver for DPLL(T) , 2006, CAV.

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

[24]  David A. Plaisted,et al.  A Structure-Preserving Clause Form Translation , 1986, J. Symb. Comput..

[25]  Armin Biere,et al.  Bounded Model Checking Using Satisfiability Solving , 2001, Formal Methods Syst. Des..

[26]  Pierre Courtieu,et al.  Certification of Automated Termination Proofs , 2007, FroCoS.

[27]  Étienne Payet,et al.  Loop detection in term rewriting using the eliminating unfoldings , 2008, Theor. Comput. Sci..

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

[29]  Tobias Nipkow,et al.  A Proof Assistant for Higher-Order Logic , 2002 .