Journal of Automated Reasoning

, Volume 49, Issue 1, pp 53–93 | Cite as

SAT Solving for Termination Proofs with Recursive Path Orders and Dependency Pairs

  • Michael Codish
  • Jürgen Giesl
  • Peter Schneider-Kamp
  • René Thiemann


This paper introduces a propositional encoding for recursive path orders (RPO), in connection with dependency pairs. Hence, we capture in a uniform setting all common instances of RPO, i.e., lexicographic path orders (LPO), multiset path orders (MPO), and lexicographic path orders with status (LPOS). This facilitates the application of SAT solvers for termination analysis of term rewrite systems (TRSs). We address four main inter-related issues and show how to encode them as satisfiability problems of propositional formulas that can be efficiently handled by SAT solving: (A) the lexicographic comparison w.r.t. a permutation of the arguments; (B) the multiset extension of a base order; (C) the combined search for a path order together with an argument filter to orient a set of inequalities; and (D) how the choice of the argument filter influences the set of inequalities that have to be oriented (so-called usable rules). We have implemented our contributions in the termination prover AProVE. Extensive experiments show that by our encoding and the application of SAT solvers one obtains speedups in orders of magnitude as well as increased termination proving power.


Termination SAT solving Term rewriting Recursive path order Dependency pairs 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Arts, T., Giesl, J.: Termination of term rewriting using dependency pairs. Theor. Comp. Sci. 236(1–2), 133–178 (2000)MathSciNetzbMATHCrossRefGoogle Scholar
  2. 2.
    Audemard, G., Simon, L.: glucose.
  3. 3.
    Baader, F., Nipkow, T.: Term Rewriting and All That. Cambridge University Press, Cambridge (1998)Google Scholar
  4. 4.
    Ben-Amram, A.M., Codish, M.: A SAT-based approach to size change termination with global ranking functions. In: TACAS ’08. LNCS 4963, pp. 218–232 (2007)Google Scholar
  5. 5.
    Ben Cherifa, A., Lescanne, P.: Termination of rewriting systems by polynomial interpretations and its implementation. Sci. Comput. Program. 9(2), 137–159 (1987)MathSciNetzbMATHCrossRefGoogle Scholar
  6. 6.
    Biere, A.: PrecoSAT.
  7. 7.
    Bofill, M., Busquets, D., Villaret, M.: A declarative approach to robust weighted max-SAT. In: PPDP ’10, pp. 67–76. ACM (2010)Google Scholar
  8. 8.
    Borralleras, C., Lucas, S., Navarro-Marset, R., Rodríguez-Carbonell, E., Rubio, A.: Solving non-linear polynomial arithmetic via SAT modulo linear arithmetic. In: CADE ’09. LNAI 5663, pp. 294–305 (2009)Google Scholar
  9. 9.
    Codish, M., Schneider-Kamp, P., Lagoon, V., Thiemann, R., Giesl, J.: SAT solving for argument filterings. In: LPAR ’06. LNAI 4246, pp. 30–44 (2006)Google Scholar
  10. 10.
    Codish, M., Lagoon, V., Stuckey, P.J.: Solving partial order constraints for LPO termination. Journal on Satisfiability, Boolean Modeling and Computation 5, 193–215 (2008)MathSciNetGoogle Scholar
  11. 11.
    Codish, M., Genaim, S., Stuckey, P.J.: A declarative encoding of telecommunications feature subscription in SAT. In: PPDP ’09, pp. 255–266. ACM (2009)Google Scholar
  12. 12.
    Dershowitz, N.: Orderings for term-rewriting systems. Theor. Comp. Sci. 17, 279–301 (1982)MathSciNetzbMATHCrossRefGoogle Scholar
  13. 13.
    Eén, N., Sörensson, N.: MiniSAT.
  14. 14.
    Eén, N., Sörensson, N.: Translating pseudo-Boolean constraints into SAT. Journal on Satifiability, Boolean Modeling and Computation 2(1–4), 1–26 (2006)zbMATHGoogle Scholar
  15. 15.
    Endrullis, J., Waldmann, J., Zantema, H.: Matrix interpretations for proving termination of term rewriting. J. Autom. Reason. 40(2–3), 195–220 (2008)MathSciNetzbMATHCrossRefGoogle Scholar
  16. 16.
    Feydy, T., Schutt, A., Stuckey, P.J.: Global difference constraint propagation for finite domain solvers. In: PPDP ’08, pp. 226–235. ACM (2008)Google Scholar
  17. 17.
    Fuhs, C., Giesl, J., Middeldorp, A., Schneider-Kamp, P., Thiemann, R., Zankl, H.: SAT solving for termination analysis with polynomial interpretations. In: SAT ’07. LNCS 4501, pp. 340–354 (2007)Google Scholar
  18. 18.
    Fuhs, C., Giesl, J., Middeldorp, A., Schneider-Kamp, P., Thiemann, R., Zankl, H.: Maximal termination. In: RTA ’08. LNCS 5117, pp. 110–125 (2008)Google Scholar
  19. 19.
    Fuhs, C., Navarro-Marset, R., Otto, C., Giesl, J., Lucas, S., Schneider-Kamp, P.: Search techniques for rational polynomial orders. In: AISC ’08. LNAI 5144, pp. 109–124 (2008)Google Scholar
  20. 20.
    Geser, A.: Relative Termination. PhD Thesis, University of Passau, Germany (1990)Google Scholar
  21. 21.
    Giesl, J., Thiemann, R., Schneider-Kamp, P.: Proving and disproving termination of higher-order functions. In: FroCoS ’05. LNAI 3717, pp. 216–231 (2005)Google Scholar
  22. 22.
    Giesl, J., Thiemann, R., Schneider-Kamp, P.: The dependency pair framework: combining techniques for automated termination proofs. In: LPAR ’04. LNAI 3452, pp. 301–331 (2005)Google Scholar
  23. 23.
    Giesl, J., Schneider-Kamp, P., Thiemann, R.: AProVE 1.2: automatic termination proofs in the dependency pair framework. In: IJCAR ’06. LNAI 4130, pp. 281–286 (2006)Google Scholar
  24. 24.
    Giesl, J., Thiemann, R., Schneider-Kamp, P., Falke, S.: Mechanizing and improving dependency pairs. J. Autom. Reason. 37(3), 155–203 (2006)MathSciNetzbMATHCrossRefGoogle Scholar
  25. 25.
    Gotlieb, A.: TCAS software verification using constraint programming. Knowl. Eng. Rev. (2010, to appear)Google Scholar
  26. 26.
    Hirokawa, N., Middeldorp, A.: Automating the dependency pair method. Inf. Comput. 199(1–2), 172–199 (2005)MathSciNetzbMATHCrossRefGoogle Scholar
  27. 27.
    Hirokawa, N., Middeldorp, A.: Tyrolean termination tool: techniques and features. Inf. Comput. 205(4), 474–511 (2007)MathSciNetzbMATHCrossRefGoogle Scholar
  28. 28.
    Jefferson, C., Moore, N.C.A., Nightingale, P., Petrie, K.E.: Implementing logical connectives in constraint programming. Artif. Intell. 174, 1407–1429 (2010)MathSciNetzbMATHCrossRefGoogle Scholar
  29. 29.
    Kamin, S., Lévy, J.J.: Two Generalizations of the Recursive Path Ordering. Technical Report, University of Illinois, IL, USA (1980)Google Scholar
  30. 30.
    Koprowski, A., Middeldorp, A.: Predictive labeling with dependency pairs using SAT. In: CADE ’07. LNAI 4603, pp. 410–425 (2007)Google Scholar
  31. 31.
    Krishnamoorthy, M.S., Narendran, P.: On recursive path ordering. Theor. Comp. Sci. 40, 323–328 (1985)MathSciNetzbMATHCrossRefGoogle Scholar
  32. 32.
    Kurihara, M., Kondo, H.: Efficient BDD encodings for partial order constraints with application to expert systems in software verification. In: IEA/AIE ’04. LNCS 3029, pp. 827–837 (2004)Google Scholar
  33. 33.
    Kusakari, K., Nakamura, M., Toyama, Y.: Argument filtering transformation. In: PPDP ’99. LNCS 1702, pp. 47–61 (1999)Google Scholar
  34. 34.
    Lankford, D.: On Proving Term Rewriting Systems are Noetherian. Technical Report MTP-3, Louisiana Technical University, Ruston, LA, USA (1979)Google Scholar
  35. 35.
    Le Berre, D., Parrain, A.: SAT4J.
  36. 36.
    Lescanne, P.: Computer experiments with the REVE term rewriting system generator. In: POPL ’83, pp. 99–108. ACM (1983)Google Scholar
  37. 37.
    Lescuyer, S., Conchon, S.: Improving Coq propositional reasoning using a lazy CNF conversion scheme. In: FroCoS ’09. LNCS 5749, pp. 287–303 (2009)Google Scholar
  38. 38.
    Manna, Z., Ness, S.: On the termination of Markov algorithms. In: 3rd Hawaii International Conference on System Science, pp. 789–792 (1970)Google Scholar
  39. 39.
    Mariën, M., Wittocx, J., Denecker, M., Bruynooghe, M.: SAT(ID): Satisfiability of propositional logic extended with inductive definitions. In: SAT ’08. LNCS 4996, pp. 211–224 (2008)Google Scholar
  40. 40.
    Schneider-Kamp, P., Thiemann, R., Annov, E., Codish, M., Giesl, J.: Proving termination using recursive path orders and SAT solving. In: FroCoS ’07. LNAI 4720, pp. 267–282 (2007)Google Scholar
  41. 41.
    Tamura, N., Taga, A., Kitagawa, S., Banbara, M.: Compiling finite linear CSP into SAT. Constraints 14(2), 254–272 (2009)MathSciNetzbMATHCrossRefGoogle Scholar
  42. 42.
    Tseitin, G.: On the complexity of derivation in propositional calculus. In: Studies in Constructive Mathematics and Mathematical Logic, pp. 115–125, 1968. Reprinted in J. Siekmann and G. Wrightson (eds.), Automation of Reasoning, 2:466-483 (1983)Google Scholar
  43. 43.
    Zankl, H., Hirokawa, N., Middeldorp, A.: Constraints for argument filterings. In: SOFSEM ’07. LNCS 4362, pp. 579–590 (2007)Google Scholar
  44. 44.
    Zankl, H., Hirokawa, N., Middeldorp, A.: KBO orientability. J. Autom. Reason. 43(2), 173–201 (2009)MathSciNetzbMATHCrossRefGoogle Scholar
  45. 45.
    Zankl, H., Middeldorp, A.: Increasing interpretations. Ann. Math. Artif. Intell. 56(1), 87–108 (2009)MathSciNetzbMATHCrossRefGoogle Scholar

Copyright information

© Springer Science+Business Media B.V. 2010

Authors and Affiliations

  • Michael Codish
    • 1
  • Jürgen Giesl
    • 2
  • Peter Schneider-Kamp
    • 3
  • René Thiemann
    • 4
  1. 1.Department of Computer ScienceBen-Gurion University of the NegevBeer-ShevaIsrael
  2. 2.LuFG Informatik 2RWTH Aachen UniversityAachenGermany
  3. 3.Department of Mathematics & Computer ScienceUniversity of Southern DenmarkOdense MDenmark
  4. 4.Institute of Computer ScienceUniversity of InnsbruckInnsbruckAustria

Personalised recommendations