Advertisement

Decision Procedures for Automating Termination Proofs

  • Ruzica Piskac
  • Thomas Wies
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6538)

Abstract

Automated termination provers often use the following schema to prove that a program terminates: construct a relational abstraction of the program’s transition relation and then show that the relational abstraction is well-founded. The focus of current tools has been on developing sophisticated techniques for constructing the abstractions while relying on known decidable logics (such as linear arithmetic) to express them. We believe we can significantly increase the class of programs that are amenable to automated termination proofs by identifying more expressive decidable logics for reasoning about well-founded relations. We therefore present a new decision procedure for reasoning about multiset orderings, which are among the most powerful orderings used to prove termination. We show that, using our decision procedure, one can automatically prove termination of natural abstractions of programs.

Keywords

Decision Procedure Function Symbol Ranking Function Cardinality Constraint Ground Term 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Baader, F., Nipkow, T.: Term Rewriting and All That. Cambridge University Press, Cambridge (1998)CrossRefzbMATHGoogle Scholar
  2. 2.
    Bachmair, L., Ganzinger, H.: Resolution theorem proving. In: Handbook of Automated Reasoning, pp. 19–99. MIT Press, Cambridge (2001)CrossRefGoogle Scholar
  3. 3.
    Berdine, J., Cook, B., Distefano, D., O’Hearn, P.W.: Automatic termination proofs for programs with shape-shifting heaps. In: Ball, T., Jones, R.B. (eds.) CAV 2006. LNCS, vol. 4144, pp. 386–400. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  4. 4.
    Colón, M.A., Sipma, H.B.: Synthesis of linear ranking functions. In: Margaria, T., Yi, W. (eds.) TACAS 2001. LNCS, vol. 2031, pp. 67–81. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  5. 5.
    Cook, B., Podelski, A., Rybalchenko, A.: Abstraction refinement for termination. In: Hankin, C., Siveroni, I. (eds.) SAS 2005. LNCS, vol. 3672, pp. 87–101. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  6. 6.
    Cook, B., Podelski, A., Rybalchenko, A.: terminator: Beyond safety. In: Ball, T., Jones, R.B. (eds.) CAV 2006. LNCS, vol. 4144, pp. 415–418. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  7. 7.
    Deng, Y., Sangiorgi, D.: Ensuring termination by typability. Inf. Comput. 204(7), 1045–1082 (2006)MathSciNetCrossRefzbMATHGoogle Scholar
  8. 8.
    Dershowitz, N.: Orderings for term-rewriting systems. In: Symposium on Foundations of Computer Science (SFCS), pp. 123–131 (1979)Google Scholar
  9. 9.
    Dershowitz, N., Manna, Z.: Proving termination with multiset orderings. Commun. ACM 22(8), 465–476 (1979)MathSciNetCrossRefzbMATHGoogle Scholar
  10. 10.
    Dick, J., Kalmus, J., Martin, U.: Automating the Knuth Bendix Ordering. Acta Inf. 28(2), 95–119 (1990)MathSciNetCrossRefzbMATHGoogle Scholar
  11. 11.
    Floyd, R.W.: Assigning meanings to programs. In: Proc. Amer. Math. Soc. Symposia in Applied Mathematics, vol. 19, pp. 19–31 (1967)Google Scholar
  12. 12.
    Ihlemann, C., Jacobs, S., Sofronie-Stokkermans, V.: On local reasoning in verification. In: Ramakrishnan, C.R., Rehof, J. (eds.) TACAS 2008. LNCS, vol. 4963, pp. 265–281. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  13. 13.
    Jacobs, S.: Incremental instance generation in local reasoning. In: Bouajjani, A., Maler, O. (eds.) CAV 2009. LNCS, vol. 5643, pp. 368–382. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  14. 14.
    Kuncak, V., Piskac, R., Suter, P.: Ordered sets in the calculus of data structures. In: Dawar, A., Veith, H. (eds.) CSL 2010. LNCS, vol. 6247, pp. 34–48. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  15. 15.
    Lee, C.S., Jones, N.D., Ben-Amram, A.M.: The size-change principle for program termination. In: POPL, pp. 81–92 (2001)Google Scholar
  16. 16.
    Martín-Mateos, F.-J., Ruiz-Reina, J.-L., Alonso, J.-A., Hidalgo, M.J.: Proof pearl: A formal proof of higman’s lemma in ACL2. In: Hurd, J., Melham, T. (eds.) TPHOLs 2005. LNCS, vol. 3603, pp. 358–372. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  17. 17.
    Narendran, P., Rusinowitch, M., Verma, R.M.: RPO Constraint Solving Is in NP. In: Gottlob, G., Grandjean, E., Seyr, K. (eds.) CSL 1998. LNCS, vol. 1584, pp. 385–398. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  18. 18.
    Nelson, G., Oppen, D.C.: Simplification by cooperating decision procedures. ACM TOPLAS 1(2), 245–257 (1979)CrossRefzbMATHGoogle Scholar
  19. 19.
    Nieuwenhuis, R.: Simple LPO constraint solving methods. Inf. Process. Lett. 47(2), 65–69 (1993)MathSciNetCrossRefzbMATHGoogle Scholar
  20. 20.
    Piskac, R., Kuncak, V.: Decision procedures for multisets with cardinality constraints. In: Logozzo, F., Peled, D.A., Zuck, L.D. (eds.) VMCAI 2008. LNCS, vol. 4905, pp. 218–232. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  21. 21.
    Piskac, R., Kuncak, V.: Linear arithmetic with stars. In: Gupta, A., Malik, S. (eds.) CAV 2008. LNCS, vol. 5123, pp. 268–280. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  22. 22.
    Podelski, A., Rybalchenko, A.: A complete method for the synthesis of linear ranking functions. In: Steffen, B., Levi, G. (eds.) VMCAI 2004. LNCS, vol. 2937, pp. 239–251. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  23. 23.
    Podelski, A., Rybalchenko, A.: Transition invariants. In: LICS 2004 (2004)Google Scholar
  24. 24.
    Podelski, A., Rybalchenko, A.: Transition predicate abstraction and fair termination. ACM TOPLAS 29(3), 15 (2007)CrossRefzbMATHGoogle Scholar
  25. 25.
    Sofronie-Stokkermans, V.: Hierarchic reasoning in local theory extensions. In: Nieuwenhuis, R. (ed.) CADE 2005. LNCS (LNAI), vol. 3632, pp. 219–234. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  26. 26.
    Sofronie-Stokkermans, V., Ihlemann, C.: Automated reasoning in some local extensions of ordered structures. In: ISMVL (2007)Google Scholar
  27. 27.
    Suter, P., Dotta, M., Kuncak, V.: Decision procedures for algebraic data types with abstractions. In: 37th ACM SIGACT-SIGPLAN Symposium on Principles of Programming Languages, POPL (2010)Google Scholar
  28. 28.
    Venkataraman, K.N.: Decidability of the purely existential fragment of the theory of term algebras. Journal of the ACM (JACM) 34(2), 492–510 (1987)MathSciNetCrossRefGoogle Scholar
  29. 29.
    Zarba, C.G.: Combining multisets with integers. In: Voronkov, A. (ed.) CADE 2002. LNCS (LNAI), vol. 2392, p. 363. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  30. 30.
    Zhang, T., Sipma, H.B., Manna, Z.: The Decidability of the First-Order Theory of Knuth-Bendix Order. In: Nieuwenhuis, R. (ed.) CADE 2005. LNCS (LNAI), vol. 3632, pp. 131–148. Springer, Heidelberg (2005)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Ruzica Piskac
    • 1
  • Thomas Wies
    • 2
  1. 1.École Polytechnique Fédérale de Lausanne (EPFL)Switzerland
  2. 2.Institute of Science and Technology (IST)Austria

Personalised recommendations