Advertisement

Congruence Closure with Free Variables

  • Haniel Barbosa
  • Pascal Fontaine
  • Andrew Reynolds
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10206)

Abstract

Many verification techniques nowadays successfully rely on SMT solvers as back-ends to automatically discharge proof obligations. These solvers generally rely on various instantiation techniques to handle quantifiers. We here show that the major instantiation techniques in SMT solving can be cast in a unifying framework for handling quantified formulas with equality and uninterpreted functions. This framework is based on the problem of \(E\)-ground (dis)unification, a variation of the classic rigid E-unification problem. We introduce a sound and complete calculus to solve this problem in practice: Congruence Closure with Free Variables (CCFV). Experimental evaluations of implementations of CCFV in the state-of-the-art solver CVC4 and in the solver \(\mathsf{veriT} \) exhibit improvements in the former and makes the latter competitive with state-of-the-art solvers in several benchmark libraries stemming from verification efforts.

Notes

Acknowledgments

We are grateful to David Déharbe for his help with the implementation of CCFV and to Jasmin Blanchette for suggesting textual improvements. Experiments presented in this paper were carried out using the Grid’5000 testbed, supported by a scientific interest group hosted by Inria and including CNRS, RENATER and several universities as well as other organizations (https://www.grid5000.fr).

References

  1. 1.
    Baader, F., Nipkow, T.: Term Rewriting and All That. Cambridge University Press, New York (1998)CrossRefzbMATHGoogle Scholar
  2. 2.
    Baader, F., Snyder, W.: Unification theory. In: Robinson, J.A., Voronkov, A., (eds) Handbook of Automated Reasoning, pp. 445–532. Elsevier and MIT Press (2001)Google Scholar
  3. 3.
    Bachmair, L., Ganzinger, H.: Rewrite-based equational theorem proving with selection and simplification. J. Logic Comput. 4(3), 217–247 (1994)MathSciNetCrossRefzbMATHGoogle Scholar
  4. 4.
    Backeman, P., Rümmer, P.: Efficient algorithms for bounded rigid E-unification. In: Nivelle, H. (ed.) TABLEAUX 2015. LNCS (LNAI), vol. 9323, pp. 70–85. Springer, Heidelberg (2015). doi: 10.1007/978-3-319-24312-2_6 CrossRefGoogle Scholar
  5. 5.
    Backeman, P., Rümmer, P.: Theorem proving with bounded rigid E-unification. In: Felty, A.P., Middeldorp, A. (eds.) CADE 2015. LNCS (LNAI), vol. 9195, pp. 572–587. Springer, Heidelberg (2015). doi: 10.1007/978-3-319-21401-6_39 CrossRefGoogle Scholar
  6. 6.
    Barbosa, H., Fontaine, P., Reynolds, A.: Congruence closure with free variables. Technical report, Inria (2016). https://hal.inria.fr/hal-01442691
  7. 7.
    Barrett, C., Conway, C.L., Deters, M., Hadarean, L., Jovanović, D., King, T., Reynolds, A., Tinelli, C.: CVC4. In: Gopalakrishnan, G., Qadeer, S. (eds.) CAV 2011. LNCS, vol. 6806, pp. 171–177. Springer, Heidelberg (2011). doi: 10.1007/978-3-642-22110-1_14 CrossRefGoogle Scholar
  8. 8.
    Barrett, C., Sebastiani, R., Seshia, S., Tinelli, C.: Satisfiability modulo theories. In: Biere, A., Heule, M.J.H., van Maaren, H., Walsh, T. (eds.) Handbook of Satisfiability. Frontiers in Artificial Intelligence and Applications, vol. 185, pp. 825–885. IOS Press, Amsterdam (2009)Google Scholar
  9. 9.
    Barrett, C., Stump, A., Tinelli, C.: The SML-LIB standard: version 2.0. In: Gupta, A., Kroening, D. (eds) International Workshop on Satisfiability Modulo Theories (SMT) (2010)Google Scholar
  10. 10.
    Beckert, B.: Ridig E-unification. In: Bibel, W., Schimidt, P.H. (eds.) Automated Deduction: A Basis for Applications. Foundations: Calculi and Methods, vol. 1. Kluwer Academic Publishers, Dordrecht (1998)Google Scholar
  11. 11.
    Bouton, T., de Oliveira, D.C.B., Fontaine, P.: veriT: an open, trustable and efficient SMT-solver. In: Schmidt, R.A. (ed.) CADE 2009. LNCS (LNAI), vol. 5663, pp. 151–156. Springer, Heidelberg (2009). doi: 10.1007/978-3-642-02959-2_12 CrossRefGoogle Scholar
  12. 12.
    de Moura, L., Bjørner, N.: Efficient E-matching for SMT solvers. In: Pfenning, F. (ed.) CADE 2007. LNCS (LNAI), vol. 4603, pp. 183–198. Springer, Heidelberg (2007). doi: 10.1007/978-3-540-73595-3_13 CrossRefGoogle Scholar
  13. 13.
    de Moura, L., Bjørner, N.: Engineering DPLL(T) + saturation. In: Armando, A., Baumgartner, P., Dowek, G. (eds.) IJCAR 2008. LNCS (LNAI), vol. 5195, pp. 475–490. Springer, Heidelberg (2008). doi: 10.1007/978-3-540-71070-7_40 CrossRefGoogle Scholar
  14. 14.
    de Moura, L., Bjørner, N.: Z3: an efficient SMT solver. In: Ramakrishnan, C.R., Rehof, J. (eds.) TACAS 2008. LNCS, vol. 4963, pp. 337–340. Springer, Heidelberg (2008). doi: 10.1007/978-3-540-78800-3_24 CrossRefGoogle Scholar
  15. 15.
    Degtyarev, A., Voronkov, A.: Equality reasoning in sequent-based calculi. In: Robinson, J.A., Voronkov, A. (eds.) Handbook of Automated Reasoning, pp. 611–706. Elsevier, Amsterdam (2001)CrossRefGoogle Scholar
  16. 16.
    Déharbe, D., Fontaine, P., Le Berre, D., Mazure, B.: Computing prime implicants. In: Formal Methods in Computer-Aided Design (FMCAD), pp. 46–52. IEEE (2013)Google Scholar
  17. 17.
    Detlefs, D., Nelson, G., Saxe, J.B.: Simplify: a theorem prover for program checking. J. ACM 52(3), 365–473 (2005)MathSciNetCrossRefzbMATHGoogle Scholar
  18. 18.
    Fitting, M.: First-Order Logic and Automated Theorem Proving. Springer, New York (1990)CrossRefzbMATHGoogle Scholar
  19. 19.
    Ge, Y., de Moura, L.: Complete instantiation for quantified formulas in satisfiabiliby modulo theories. In: Bouajjani, A., Maler, O. (eds.) CAV 2009. LNCS, vol. 5643, pp. 306–320. Springer, Heidelberg (2009). doi: 10.1007/978-3-642-02658-4_25 CrossRefGoogle Scholar
  20. 20.
    Goubault, J.: A rule-based algorithm for rigid E-unification. In: Gottlob, G., Leitsch, A., Mundici, D. (eds.) KGC 1993. LNCS, vol. 713, pp. 202–210. Springer, Heidelberg (1993). doi: 10.1007/BFb0022569 CrossRefGoogle Scholar
  21. 21.
    Nelson, G., Oppen, D.C.: Fast decision procedures based on congruence closure. J. ACM 27(2), 356–364 (1980)MathSciNetCrossRefzbMATHGoogle Scholar
  22. 22.
    Nieuwenhuis, R., Oliveras, A.: Fast congruence closure, extensions. Inf. Comput. 205(4), 557–580 (2007). Special Issue: 16th International Conference on Rewriting Techniques and ApplicationsMathSciNetCrossRefzbMATHGoogle Scholar
  23. 23.
    Piskac, R., Wies, T., Zufferey, D.: GRASShopper - complete heap verification with mixed specifications. In: Ábrahám, E., Havelund, K. (eds.) TACAS 2014. LNCS, vol. 8413, pp. 124–139. Springer, Heidelberg (2014). doi: 10.1007/978-3-642-54862-8_9 CrossRefGoogle Scholar
  24. 24.
    Reynolds, A., Tinelli, C., de Moura, L.: Finding conflicting instances of quantified formulas in SMT. In: Formal Methods in Computer-Aided Design (FMCAD), pp. 195–202. FMCAD Inc (2014)Google Scholar
  25. 25.
    Reynolds, A., Tinelli, C., Goel, A., Krstić, S., Deters, M., Barrett, C.: Quantifier instantiation techniques for finite model finding in SMT. In: Bonacina, M.P. (ed.) CADE 2013. LNCS (LNAI), vol. 7898, pp. 377–391. Springer, Heidelberg (2013). doi: 10.1007/978-3-642-38574-2_26 CrossRefGoogle Scholar
  26. 26.
    Rümmer, P.: E-matching with free variables. In: Bjørner, N., Voronkov, A. (eds.) LPAR 2012. LNCS, vol. 7180, pp. 359–374. Springer, Heidelberg (2012). doi: 10.1007/978-3-642-28717-6_28 CrossRefGoogle Scholar
  27. 27.
    Tiwari, A., Bachmair, L., Ruess, H.: Rigid E-unification revisited. In: McAllester, D. (ed.) CADE 2000. LNCS (LNAI), vol. 1831, pp. 220–234. Springer, Heidelberg (2000). doi: 10.1007/10721959_17 CrossRefGoogle Scholar

Copyright information

© Springer-Verlag GmbH Germany 2017

Authors and Affiliations

  • Haniel Barbosa
    • 1
    • 2
  • Pascal Fontaine
    • 1
  • Andrew Reynolds
    • 3
  1. 1.LORIA–Inria, Université de LorraineNancyFrance
  2. 2.Universidade Federal do Rio Grande do NorteNatalBrazil
  3. 3.University of IowaIowa CityUSA

Personalised recommendations