skip to main content
research-article

Coming to terms with quantified reasoning

Published:01 January 2017Publication History
Skip Abstract Section

Abstract

The theory of finite term algebras provides a natural framework to describe the semantics of functional languages. The ability to efficiently reason about term algebras is essential to automate program analysis and verification for functional or imperative programs over inductively defined data types such as lists and trees. However, as the theory of finite term algebras is not finitely axiomatizable, reasoning about quantified properties over term algebras is challenging.

In this paper we address full first-order reasoning about properties of programs manipulating term algebras, and describe two approaches for doing so by using first-order theorem proving. Our first method is a conservative extension of the theory of term alge- bras using a finite number of statements, while our second method relies on extending the superposition calculus of first-order theorem provers with additional inference rules.

We implemented our work in the first-order theorem prover Vampire and evaluated it on a large number of inductive datatype benchmarks, as well as game theory constraints. Our experimental results show that our methods are able to find proofs for many hard problems previously unsolved by state-of-the-art methods. We also show that Vampire implementing our methods outperforms existing SMT solvers able to deal with inductive data types.

References

  1. C. Barrett, I. Shikanian, and C. Tinelli. An abstract decision procedure for a theory of inductive data types. Journal on Satisfiability, Boolean Modeling and Computation, 3:21–46, 2007.Google ScholarGoogle ScholarCross RefCross Ref
  2. C. Barrett, C. Conway, M. Deters, L. Hadarean, D. Jovanovic, T. King, A. Reynolds, and C. Tinelli. CVC4. In CAV, volume 6806 of LNCS. Springer, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. C. Barrett, P. Fontaine, and C. Tinelli. The Satisfiability Modulo Theories Library (SMT-LIB). www.SMT-LIB.org, 2016.Google ScholarGoogle Scholar
  4. L. D. Baxter. The complexity of unification. PhD thesis, University of Waterloo Waterloo, Ontario, 1976. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. N. Bjorner, K. McMillan, and A. Rybalchenko. Higher-order program verification as satisfiability modulo theories with algebraic data-types. arXiv preprint arXiv:1306.5264, 2013.Google ScholarGoogle Scholar
  6. J. C. Blanchette, S. Böhme, and L. C. Paulson. Extending Sledgehammer with SMT solvers. Automated Deduction–Cade-23, 6803:116–130, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. K. Claessen, M. Johansson, D. Rosén, and N. Smallbone. Automating inductive proofs using theory exploration. In Automated Deduction– CADE-24, volume 7898 of LNCS, pages 392–406. Springer, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. K. L. Clark. Negation as failure. In Logic and data bases, pages 293–322. Springer, 1978.Google ScholarGoogle Scholar
  9. A. Colmerauer et al. Expressiveness of full first order constraints in the algebra of finite or infinite trees. In Principles and Practice of Constraint Programming–CP 2000, volume 1894 of LNCS, pages 172– 186. Springer, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. H. Comon. Unification et disunification: Théorie et applications. PhD thesis, Institut National Polytechnique de Grenoble-INPG, 1988.Google ScholarGoogle Scholar
  11. B. Courcelle. Fundamental properties of infinite trees. Theoretical computer science, 25(2):95–169, 1983.Google ScholarGoogle Scholar
  12. T. B. H. Dao. Résolution de contraintes du premier ordre dans la théorie des arbres finis ou infinis. PhD thesis, Université Aix-Marseille 2, 2000.Google ScholarGoogle Scholar
  13. L. De Moura and N. Bjørner. Efficient e-matching for smt solvers. In International Conference on Automated Deduction, volume 4603 of LNCS, pages 183–198. Springer, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. L. M. de Moura and N. Bjørner. Z3: An Efficient SMT Solver. In TACAS, volume 4963 of LNCS, pages 337–340. Springer, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. J. Ferrante and C. W. Rackoff. The computational complexity of logical theories, volume 718 of Lecture Notes in Mathematics. Springer-Verlag, 1979.Google ScholarGoogle ScholarCross RefCross Ref
  16. J. A. Goguen, J. W. Thatcher, E. G. Wagner, and J. B. Wright. Initial algebra semantics and continuous algebras. Journal of the ACM (JACM), 24(1): 68–95, 1977. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. J. Herbrand. Recherches sur la théorie de la démonstration. PhD thesis, Université de Paris, 1930.Google ScholarGoogle Scholar
  18. W. Hodges. Model Theory. Cambridge University Press, 1993.Google ScholarGoogle Scholar
  19. G. Huet. Résolution d’équations dans des langages d’ordre 1, 2... PhD thesis, Université Paris VII, 1976.Google ScholarGoogle Scholar
  20. K. Korovin and A. Voronkov. Integrating linear arithmetic into superposition calculus. In Computer Science Logic, volume 4646 of Lecture Notes in Computer Science, pages 223–237. Srpinger, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. L. Kovács and A. Voronkov. First-Order Theorem Proving and Vampire. In Proceedings of CAV, volume 8044 of LNCS, pages 1–35, 2013.Google ScholarGoogle ScholarCross RefCross Ref
  22. M. J. Maher. Complete axiomatizations of the algebras of finite, rational and infinite trees. In Proceedings of the Third Annual Symposium onLogic in Computer Science, pages 348–357. IEEE Computer Society, 1988.Google ScholarGoogle Scholar
  23. A. I. Mal’cev. Axiomatizable classes of locally free algebras of certain types. Sibirsk. Mat. Zh, 3:729–743, 1962.Google ScholarGoogle Scholar
  24. A. Martelli and U. Montanari. An efficient unification algorithm. ACM Transactions on Programming Languages and Systems (TOPLAS), 4(2): 258–282, 1982. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. R. Nieuwenhuis and A. Rubio. Paramodulation-Based Theorem Proving. In A. Robinson and A. Voronkov, editors, Handbook of Automated Reasoning, volume I, chapter 7, pages 371–443. Elsevier Science, 2001.Google ScholarGoogle Scholar
  26. T. Nipkow, L. C. Paulson, and M. Wenzel. Isabelle/HOL - A Proof Assistant for Higher-Order Logic, volume 2283 of LNCS. Springer, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. M. S. Paterson and M. N. Wegman. Linear unification. In Proceedings of the eighth annual ACM symposium on Theory of computing, pages 181–186. ACM, 1976. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. A. Reynolds and J. C. Blanchette. A decision procedure for (co)datatypes in SMT solvers. In Automated Deduction–CADE-25, volume 9195 of LNCS, pages 197–213. Springer, 2015.Google ScholarGoogle Scholar
  29. J. A. Robinson. A machine-oriented logic based on the resolution principle. Journal of the ACM (JACM), 12(1):23–41, 1965. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. T. Rybina and A. Voronkov. A decision procedure for term algebras with queues. ACM Transactions on Computational Logic, 2(2):155–181, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. S. Schulz. E - a brainiac theorem prover. AI Communications, 15(2-3): 111–126, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. K. Venkataraman. Decidability of the purely existential fragment of the theory of term algebras. Journal of the ACM (JACM), 34(2):492–510, 1987. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. S. G. Vorobyov and A. Voronkov. Complexity of nonrecursive logic programs with complex values. In Proceedings of the seventeenth ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems, pages 244–253. ACM Press, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. D. Vytiniotis, S. Peyton Jones, K. Claessen, and D. Rosén. HALO: Haskell to logic through denotational semantics. In Proceedings of the 40th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL ’13, pages 431–442. ACM, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Coming to terms with quantified reasoning

                      Recommendations

                      Comments

                      Login options

                      Check if you have access through your login credentials or your institution to get full access on this article.

                      Sign in

                      Full Access

                      PDF Format

                      View or Download as a PDF file.

                      PDF

                      eReader

                      View online with eReader.

                      eReader
                      About Cookies On This Site

                      We use cookies to ensure that we give you the best experience on our website.

                      Learn more

                      Got it!