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.
- 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 Scholar
Cross Ref
- 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 Scholar
Digital Library
- C. Barrett, P. Fontaine, and C. Tinelli. The Satisfiability Modulo Theories Library (SMT-LIB). www.SMT-LIB.org, 2016.Google Scholar
- L. D. Baxter. The complexity of unification. PhD thesis, University of Waterloo Waterloo, Ontario, 1976. Google Scholar
Digital Library
- 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 Scholar
- J. C. Blanchette, S. Böhme, and L. C. Paulson. Extending Sledgehammer with SMT solvers. Automated Deduction–Cade-23, 6803:116–130, 2013. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- K. L. Clark. Negation as failure. In Logic and data bases, pages 293–322. Springer, 1978.Google Scholar
- 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 Scholar
Digital Library
- H. Comon. Unification et disunification: Théorie et applications. PhD thesis, Institut National Polytechnique de Grenoble-INPG, 1988.Google Scholar
- B. Courcelle. Fundamental properties of infinite trees. Theoretical computer science, 25(2):95–169, 1983.Google Scholar
- 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 Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- J. Ferrante and C. W. Rackoff. The computational complexity of logical theories, volume 718 of Lecture Notes in Mathematics. Springer-Verlag, 1979.Google Scholar
Cross Ref
- 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 Scholar
Digital Library
- J. Herbrand. Recherches sur la théorie de la démonstration. PhD thesis, Université de Paris, 1930.Google Scholar
- W. Hodges. Model Theory. Cambridge University Press, 1993.Google Scholar
- G. Huet. Résolution d’équations dans des langages d’ordre 1, 2... PhD thesis, Université Paris VII, 1976.Google Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Cross Ref
- 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 Scholar
- A. I. Mal’cev. Axiomatizable classes of locally free algebras of certain types. Sibirsk. Mat. Zh, 3:729–743, 1962.Google Scholar
- A. Martelli and U. Montanari. An efficient unification algorithm. ACM Transactions on Programming Languages and Systems (TOPLAS), 4(2): 258–282, 1982. Google Scholar
Digital Library
- 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 Scholar
- T. Nipkow, L. C. Paulson, and M. Wenzel. Isabelle/HOL - A Proof Assistant for Higher-Order Logic, volume 2283 of LNCS. Springer, 2002. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
- J. A. Robinson. A machine-oriented logic based on the resolution principle. Journal of the ACM (JACM), 12(1):23–41, 1965. Google Scholar
Digital Library
- T. Rybina and A. Voronkov. A decision procedure for term algebras with queues. ACM Transactions on Computational Logic, 2(2):155–181, 2001. Google Scholar
Digital Library
- S. Schulz. E - a brainiac theorem prover. AI Communications, 15(2-3): 111–126, 2002. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
Index Terms
Coming to terms with quantified reasoning
Recommendations
Coming to terms with quantified reasoning
POPL '17: Proceedings of the 44th ACM SIGPLAN Symposium on Principles of Programming LanguagesThe 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 ...
I-terms in ordered resolution and superposition calculi: retrieving lost completeness
AISC'10/MKM'10/Calculemus'10: Proceedings of the 10th ASIC and 9th MKM international conference, and 17th Calculemus conference on Intelligent computer mathematicsOrdered resolution and superposition are the state-of-the-art proof procedures used in saturation-based theorem proving, for non equational and equational clause sets respectively. In this paper, we present extensions of these calculi that permit one to ...
Using Isabelle in Two Courses on Logic and Automated Reasoning
Formal Methods TeachingAbstractWe present our experiences teaching two courses on formal methods and detail the contents of the courses and their positioning in the curriculum. The first course is a bachelor course on logical systems and logic programming, with a focus on ...







Comments