Skip to main content

Making Theory Reasoning Simpler

Part of the Lecture Notes in Computer Science book series (LNTCS,volume 12652)

Abstract

Reasoning with quantifiers and theories is at the core of many applications in program analysis and verification. Whilst the problem is undecidable in general and hard in practice, we have been making large pragmatic steps forward. Our previous work proposed an instantiation rule for theory reasoning that produced pragmatically useful instances. Whilst this led to an increase in performance, it had its limitations as the rule produces ground instances which (i) can be overly specific, thus not useful in proof search, and (ii) contribute to the already problematic search space explosion as many new instances are introduced. This paper begins by introducing that specifically addresses these two concerns as it produces general solutions and it is a simplification rule, i.e. it replaces an existing clause by a ‘simpler’ one. Encouraged by initial success with this new rule, we performed an experiment to identify further common cases where the complex structure of theory terms blocked existing methods. This resulted in four further simplification rules for theory reasoning. The resulting extensions are implemented in the Vampire theorem prover and evaluated on SMT-LIB, showing that the new extensions result in a considerable increase in the number of problems solved, including 90 problems unsolved by state-of-the-art SMT solvers.

References

  1. Vampire website. https://vprover.github.io/.

  2. E. Althaus, E. Kruglov, and C. Weidenbach. Superposition modulo linear arithmetic SUP(LA). In Frontiers of Combining Systems, 7th International Symposium, FroCoS 2009, Trento, Italy, September 16–18, 2009. Proceedings, vol. 5749 of Lecture Notes in Computer Science, pp. 84–99. Springer, 2009.

    Google Scholar 

  3. L. Bachmair, H. Ganzinger, and U. Waldmann. Refutational theorem proving for hierarchic first-order theories. Appl. Algebra Eng. Commun. Comput., 5:193–212, 1994.

    Google Scholar 

  4. C. Barrett, C. Conway, M. Deters, L. Hadarean, D. Jovanovic, T. King, A. Reynolds, and C. Tinelli. CVC4. In Proceedings of the 23rd International Conference on Computer Aided Verification, number 6806 in Lecture Notes in Computer Science, pp. 171–177. Springer-Verlag, 2011.

    Google Scholar 

  5. P. Baumgartner and U. Waldmann. Hierarchic Superposition With Weak Abstraction. In Proceedings of the 24th International Conference on Automated Deduction, number 7898 in Lecture Notes in Artificial Intelligence, pp. 39–57. Springer-Verlag, 2013.

    Google Scholar 

  6. M. P. Bonacina, C. Lynch, and L. M. de Moura. On deciding satisfiability by theorem proving with speculative inferences. J. Autom. Reasoning, 47(2), 161–189, 2011.

    Google Scholar 

  7. L. M. de Moura and N. Bjørner. Z3: an efficient SMT solver. In Proc. of TACAS, vol. 4963 of LNCS, pp. 337–340, 2008.

    Google Scholar 

  8. N. Dershowitz and D. A. Plaisted. Rewriting. In Handbook of Automated Reasoning, vol. I, chapter 9, pp. 535–610. Elsevier Science, 2001.

    Google Scholar 

  9. H. Ganzinger and K. Korovin. Theory instantiation. In Logic for Programming, Artificial Intelligence, and Reasoning, 13th International Conference, LPAR 2006, Phnom Penh, Cambodia, November 13–17, 2006, Proceedings, vol. 4246 of Lecture Notes in Computer Science, pp. 497–511. Springer, 2006.

    Google Scholar 

  10. B. Gleiss and M. Suda. Layered clause selection for theory reasoning. In Automated Reasoning, pp. 402–409. Springer International Publishing, 2020.

    Google Scholar 

  11. K. Hoder, G. Reger, M. Suda, and A. Voronkov. Selecting the selection. In Automated Reasoning: 8th International Joint Conference, IJCAR 2016, Coimbra, Portugal, June 27 - July 2, 2016, Proceedings, pp. 313–329. Springer International Publishing, 2016.

    Google Scholar 

  12. D. Knuth and P. Bendix. Simple word problems in universal algebra. In Computational Problems in Abstract Algebra, pp. 263–297. Pergamon Press, 1970.

    Google Scholar 

  13. K. Korovin and A. Voronkov. Integrating linear arithmetic into superposition calculus. In Computer Science Logic, 21st International Workshop, CSL 2007, 16th Annual Conference of the EACSL, Lausanne, Switzerland, September 11–15, 2007, Proceedings, vol. 4646 of Lecture Notes in Computer Science, pp. 223–237. Springer, 2007.

    Google Scholar 

  14. L. Kovács and A. Voronkov. First-order theorem proving and Vampire. In CAV 2013, vol. 8044 of Lecture Notes in Computer Science, pp. 1–35, 2013.

    Google Scholar 

  15. A. Nonnengart and C. Weidenbach. Computing small clause normal forms. In Handbook of Automated Reasoning (in 2 volumes), pp. 335–367. Elsevier and MIT Press, 2001.

    Google Scholar 

  16. G. Reger, N. Bjørner, M. Suda, and A. Voronkov. AVATAR modulo theories. In GCAI 2016. 2nd Global Conference on Artificial Intelligence, vol. 41 of EPiC Series in Computing, pp. 39–52. EasyChair, 2016.

    Google Scholar 

  17. G. Reger and M. Suda. Set of support for theory reasoning. In IWIL Workshop and LPAR Short Presentations, vol. 1 of Kalpa Publications in Computing, pp. 124–134. EasyChair, 2017.

    Google Scholar 

  18. G. Reger, M. Suda, and A. Voronkov. The challenges of evaluating a new feature in Vampire. In Proceedings of the 1st and 2nd Vampire Workshops, vol. 38 of EPiC Series in Computing, pp. 70–74. EasyChair, 2016.

    Google Scholar 

  19. G. Reger, M. Suda, and A. Voronkov. New techniques in clausal form generation. In GCAI 2016. 2nd Global Conference on Artificial Intelligence, vol. 41 of EPiC Series in Computing, pp. 11–23. EasyChair, 2016.

    Google Scholar 

  20. G. Reger, M. Suda, and A. Voronkov. Unification with abstraction and theory instantiation in saturation-based reasoning. In International Conference on Tools and Algorithms for the Construction and Analysis of Systems, pp. 3–22. Springer, 2018.

    Google Scholar 

  21. P. Rümmer. A Constraint Sequent Calculus for First-Order Logic with Linear Integer Arithmetic. In Proceedings of the 15th International Conference on Logic for Programming Artificial Intelligence and Reasoning, number 5330 in Lecture Notes in Artificial Intelligence, pp. 274–289. Springer-Verlag, 2008.

    Google Scholar 

  22. T. Weber, S. Conchon, D. Déharbe, M. Heizmann, A. Niemetz, and G. Reger. The smt competition 2015–2018. Journal on Satisfiability, Boolean Modeling and Computation, 11(1), 221–259, 2019.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Johannes Schoisswohl .

Editor information

Editors and Affiliations

Rights and permissions

Open Access This chapter is licensed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license and indicate if changes were made.

The images or other third party material in this chapter are included in the chapter's Creative Commons license, unless indicated otherwise in a credit line to the material. If material is not included in the chapter's Creative Commons license and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder.

Reprints and Permissions

Copyright information

© 2021 The Author(s)

About this paper

Verify currency and authenticity via CrossMark

Cite this paper

Reger, G., Schoisswohl, J., Voronkov, A. (2021). Making Theory Reasoning Simpler. In: Groote, J.F., Larsen, K.G. (eds) Tools and Algorithms for the Construction and Analysis of Systems. TACAS 2021. Lecture Notes in Computer Science(), vol 12652. Springer, Cham. https://doi.org/10.1007/978-3-030-72013-1_9

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-72013-1_9

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-72012-4

  • Online ISBN: 978-3-030-72013-1

  • eBook Packages: Computer ScienceComputer Science (R0)