SAT Solving for Argument Filterings

  • Michael Codish
  • Peter Schneider–Kamp
  • Vitaly Lagoon
  • René Thiemann
  • Jürgen Giesl
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4246)


This paper introduces a propositional encoding for lexicographic path orders in connection with dependency pairs. This facilitates the application of SAT solvers for termination analysis of term rewrite systems based on the dependency pair method. We address two main inter-related issues and encode them as satisfiability problems of propositional formulas that can be efficiently handled by SAT solving: (1) the combined search for a lexicographic path order together with an argument filtering to orient a set of inequalities; and (2) how the choice of the argument filtering influences the set of inequalities that have to be oriented. 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.


Partial Order Function Symbol Propositional Variable Propositional Formula Usable Rule 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Annual International Competition of Termination Tools,
  2. 2.
    Arts, T., Giesl, J.: Termination of term rewriting using dependency pairs. Theoretical Computer Science 236, 133–178 (2000)MATHCrossRefMathSciNetGoogle Scholar
  3. 3.
    Baader, F., Nipkow, T.: Term Rewriting and All That. Cambridge (1998)Google Scholar
  4. 4.
    Borralleras, C.: Ordering-based methods for proving termination automatically. PhD thesis, Universitat Politècnica de Catalunya, Spain (2003)Google Scholar
  5. 5.
    Codish, M., Lagoon, V., Stuckey, P.J.: Solving partial order constraints for LPO termination. In: Pfenning, F. (ed.) RTA 2006. LNCS, vol. 4098, pp. 4–18. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  6. 6.
    Comon, H., Narendran, P., Nieuwenhuis, R., Rusinowitch, M.: Decision problems in ordered rewriting. In: Proc. LICS 1998, pp. 276–286 (1998)Google Scholar
  7. 7.
    Dershowitz, N.: Termination of rewriting. J. Symb. Comput 3(1,2), 69–116 (1987)MATHCrossRefMathSciNetGoogle Scholar
  8. 8.
    Eén, N., Sörensson, N.: An extensible SAT-solver. In: Giunchiglia, E., Tacchella, A. (eds.) SAT 2003. LNCS, vol. 2919, pp. 502–518. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  9. 9.
    Empirical evaluation of “SAT Solving for Argument Filterings”,
  10. 10.
    Genet, T., Gnaedig, I.: Termination proofs using GPO ordering constraints with shared term data structure. In: Bidoit, M., Dauchet, M. (eds.) CAAP 1997, FASE 1997, and TAPSOFT 1997. LNCS, vol. 1214, pp. 249–260. Springer, Heidelberg (1997)CrossRefGoogle Scholar
  11. 11.
    Giesl, J., Thiemann, R., Schneider-Kamp, P., Falke, S.: Improving dependency pairs. In: Y. Vardi, M., Voronkov, A. (eds.) LPAR 2003. LNCS, vol. 2850, pp. 165–179. Springer, Heidelberg (2003)Google Scholar
  12. 12.
    Giesl, J., Thiemann, R., Schneider-Kamp, P.: The dependency pair framework: Combining techniques for automated termination proofs. In: Baader, F., Voronkov, A. (eds.) LPAR 2004. LNCS (LNAI), vol. 3452, pp. 301–331. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  13. 13.
    Giesl, J., Thiemann, R., Schneider-Kamp, P.: Proving and disproving termination of higher-order functions. In: Gramlich, B. (ed.) FroCos 2005. LNCS, vol. 3717, pp. 216–231. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  14. 14.
    Giesl, J., Schneider-Kamp, P., Thiemann, R.: AProVE 1.2: Automatic termination proofs in the DP framework. In: Furbach, U., Shankar, N. (eds.) IJCAR 2006. LNCS (LNAI), vol. 4130, pp. 281–286. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  15. 15.
    Hirokawa, N., Middeldorp, A.: Tsukuba Termination Tool. In: Nieuwenhuis, R. (ed.) RTA 2003. LNCS, vol. 2706, pp. 311–320. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  16. 16.
    Hirokawa, N., Middeldorp, A.: Dependency pairs revisited. In: van Oostrom, V. (ed.) RTA 2004. LNCS, vol. 3091, pp. 249–268. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  17. 17.
    Hirokawa, N., Middeldorp, A.: Automating the dependency pair method. Information and Computation 199(1,2), 172–199 (2005)MATHCrossRefMathSciNetGoogle Scholar
  18. 18.
    Hirokawa, N., Middeldorp, A.: Tyrolean Termination Tool. In: Giesl, J. (ed.) RTA 2005. LNCS, vol. 3467, pp. 175–184. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  19. 19.
    Kamin, S., Lévy, J.J.: Two generalizations of the recursive path ordering. University of Illinois, IL, USA (1980) (Unpublished Manuscript)Google Scholar
  20. 20.
    Kurihara, M., Kondo, H.: Efficient BDD encodings for partial order constraints with application to expert systems in software verification. In: Orchard, B., Yang, C., Ali, M. (eds.) IEA/AIE 2004. LNCS, vol. 3029, pp. 827–837. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  21. 21.
    Kusakari, K., Nakamura, M., Toyama, Y.: Argument filtering transformation. In: Nadathur, G. (ed.) PPDP 1999. LNCS, vol. 1702, pp. 47–61. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  22. 22.
    SAT4J satisfiability library for Java,
  23. 23.
    Thiemann, R., Giesl, J., Schneider-Kamp, P.: Improved modular termination proofs using dependency pairs. In: Basin, D., Rusinowitch, M. (eds.) IJCAR 2004. LNCS, vol. 3097, pp. 75–90. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  24. 24.
    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, vol. 2, pp. 466–483. Springer, Heidelberg (1983)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Michael Codish
    • 1
  • Peter Schneider–Kamp
    • 2
  • Vitaly Lagoon
    • 3
  • René Thiemann
    • 2
  • Jürgen Giesl
    • 2
  1. 1.Dept. of Computer ScienceBen-Gurion UniversityIsrael
  2. 2.LuFG Informatik 2RWTH AachenGermany
  3. 3.Dept. of Computer Science and Software EngineeringUniversity of MelbourneAustralia

Personalised recommendations