Skip to main content
Log in

SMELS: Satisfiability Modulo Equality with Lazy Superposition

  • Published:
Journal of Automated Reasoning Aims and scope Submit manuscript

Abstract

We consider the problem of checking satisfiability of quantified formulae in First Order Logic with Equality. We propose a new procedure for combining SAT solvers with Superposition Theorem Provers to handle quantified formulae in an efficient and complete way. In our procedure, the input formula is converted into CNF as in traditional first order logic theorem provers. The ground clauses are given to the SAT solver, which runs a DPLL method to build partial models. The partial model is reduced, and then passed to a Superposition procedure, along with justifications of literals. The Superposition procedure then performs an inference rule, which we call Justified Superposition, between the ground literals and the nonground clauses, plus usual Superposition rules with the nonground clauses. Any resulting ground clauses are provided to the DPLL engine. We prove the completeness of our procedure, using a nontrivial modification of the Bachmair and Ganzinger’s model generation technique. We have implemented a theorem prover based on this idea by reusing state-of-the-art SAT solver and Superposition Theorem Prover. Our theorem prover inherits the best of both worlds: a SAT solver to handle ground clauses efficiently, and a Superposition theorem prover which uses powerful orderings to handle the nonground clauses. Experimental results are promising, and hereby confirm the viability of our method.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Armando, A., Ranise, S., Rusinowitch, M.: A rewriting approach to satisfiability procedures. Inform. J. Comput. 183(2), 140–164 (2003)

    Article  MathSciNet  MATH  Google Scholar 

  2. Bachmair, L., Ganzinger, H.: Resolution theorem proving. In: Robinson, A., Voronkov, A. (eds.) Handbook of Automated Reasoning, vol. 1, chap. 2, pp. 19–100. The MIT Press (2001)

  3. Bachmair, L., Ganzinger, H., Lynch, C., Snyder, W.: Basic paramodulation and superposition. In: Automated Deduction—CADE-11, 11th International Conference on Automated Deduction, Saratoga Springs, NY, USA. Lecture Notes in Computer Science, vol. 607, pp. 462–476. Springer (1992)

  4. Barrett, C., Tinelli, C.: CVC3. In: Damm, W., Hermanns, H. (eds.) Proceedings of the 19th International Conference on Computer Aided Verification (CAV’07), Berlin, Germany. Lecture Notes in Computer Science, vol. 4590, pp. 298–302. Springer (2007)

  5. Baumgartner, P., Tinelli, C.: The model evolution calculus as a first-order DPLL method. Artif. Intell. 172, 591–632 (2008)

    Article  MathSciNet  MATH  Google Scholar 

  6. Bonacina, M.P., Echenim, M.: Theory decision by decomposition. Symb. J. Comput. 45(2), 229–260 (2010)

    Article  MathSciNet  MATH  Google Scholar 

  7. Davis, M., Putnam, H.: A computing procedure for quantification theory. J. ACM 7(3), 201–215 (1960)

    Article  MathSciNet  MATH  Google Scholar 

  8. Davis, M., Logemann, G., Loveland, D.W.: A machine program for theorem-proving. Commun. ACM 5(7), 394–397 (1962)

    Article  MathSciNet  MATH  Google Scholar 

  9. de Moura, L., Bjørner, N.: Engineering dpll(t) + saturation. In: Automated Reasoning, 4th International Joint Conference, Sydney, Australia, 12–1 August 2008. Lecture Notes in Computer Science, vol. 5195, pp. 475–490. Springer (2008)

  10. de Moura, L., Bjørner, N.: Z3: : An Efficient SMT Solver. In: Proceedings of the 14th International Conference on Tools and Algorithms for the Construction and Analysis of Systems, Budapest, Hungary. Lecture Notes in Computer Science, vol. 4963, pp. 337–340. Springer (2008)

  11. Déharbe, D., Ranise, S.: Light-weight theorem proving for debugging and verifying units of code. In: Press, I.C.S. (ed.) Proc. of the Int. Conf. on Software Engineering and Formal Methods (SEFM’03) (2003)

  12. Dershowitz, N., Jouannaud, J.P.: Rewrite systems. In: Handbook of Theoretical Computer Science, vol. B, chap. 6, pp. 244–320 (1990)

  13. Deshane, T., Hu, W., Jablonski, P., Lin, H., Lynch, C., McGregor, R.E.: Encoding first order proofs in SAT. In: Proceedings Automated Deduction—CADE-21, 21st International Conference on Automated Deduction, Bremen, Germany, 17–20 July 2007. Lecture Notes in Computer Science, vol. 4603, pp. 476–491. Springer (2007)

  14. Detlefs, D., Nelson, G., Saxe, J.B.: Simplify: a theorem prover for program checking. J. ACM 52(3), 365–473 (2005)

    Article  MathSciNet  Google Scholar 

  15. Ganzinger, H., Korovin, K.: New directions in instantiation-based theorem proving. In: Proc. 18th IEEE Symposium on Logic in Computer Science (LICS’03), pp. 55–64. IEEE Computer Society Press (2003)

  16. Ganzinger, H., Hagen, G., Nieuwenhuis, R., Oliveras, A., Tinelli, C.: DPLL(T): Fast decision procedures. In: Alur, R., Peled, D. (eds.) Proceedings of the 16th International Conference on Computer Aided Verification (CAV’04), Boston, Massachusetts. Lecture Notes in Computer Science, vol. 3114, pp. 175–188. Springer (2004). ftp://ftp.cs.uiowa.edu/pub/tinelli/papers/GanHNOT-CAV-04.pdf

  17. Hooker, J.N., Rago, G., Chandru, V., Shrivastava, A.: Partial instantiation methods for inference in first-order logic. J. Autom. Reasoning 28(5), 371–396 (2002)

    Article  MathSciNet  MATH  Google Scholar 

  18. Jackson, D.: Automating first-order relational logic. In: SIGSOFT FSE, pp. 130–139 (2000)

  19. Korovin, K.: iProver—an instantiation-based theorem prover for first-order logic (system description). In: Automated Reasoning, 4th International Joint Conference, IJCAR 2008, Sydney, Australia, 12–15 August 2008, Proceedings. Lecture Notes in Computer Science, vol. 5195, pp. 292–298. Springer (2008)

  20. Korovin, K., Voronkov, A.: Integrating linear arithmetic into superposition calculus. In: Computer Science Logic (CSL’07). Lecture Notes in Computer Science, vol. 4646, pp. 223–237. Springer (2007)

  21. Lee, S.J., Plaisted, D.A.: Eliminating duplication with the hyper-linking strategy. J. Autom. Reasoning 9(1), 25–42 (1992)

    Article  MathSciNet  MATH  Google Scholar 

  22. Lynch, C., McGregor, R.E.: Combining instance generation and resolution. In: Ghilardi, S., Sebastiani, R. (eds.) Frontiers of Combining Systems, 7th International Symposium, FroCoS 2009, Trento, Italy, 16–18 September 2009. Lecture Notes in Computer Science, vol. 5749, pp. 304–318. Springer (2009)

  23. Lynch, C., Ranise, S., Ringeissen, C., Tran, D.K.: Automatic decidability and combinability. Inf. Comput. 209(7), 1026–1047 (2011)

    Article  MathSciNet  MATH  Google Scholar 

  24. Nieuwenhuis, R., Rubio, A.: Paramodulation-based theorem proving. In: Robinson, A., Voronkov, A. (eds.) Hand of Automated Reasoning. The MIT Press (2001)

  25. Riazanov, A., Voronkov, A.: The design and implementation of VAMPIRE. AI Commun. 15(2), 91–110 (2002)

    MATH  Google Scholar 

  26. Robinson, J.A.: A machine-oriented logic based on the resolution principle. J. ACM 12(1), 23–41 (1965)

    Article  MATH  Google Scholar 

  27. Schulz, S.: E– a brainiac theorem prover. J. AI Commun. 15(2/3), 111–126 (2002)

    MATH  Google Scholar 

  28. Strichman, O., Seshia, S.A., Bryant, R.E.: Deciding separation formulas with sat. In: Brinksma, E., Larsen, K.G. (eds.) Computer Aided Verification, 14th International Conference, CAV 2002, Proceedings, Copenhagen, Denmark, 27–31 July 2002. Lecture Notes in Computer Science, vol. 2404, pp. 209–222. Springer (2002)

  29. Sutcliffe, G.: The cade-22 automated theorem proving system competition—CASC-22. AI Commun. 23(1), 47–59 (2010)

    MathSciNet  MATH  Google Scholar 

  30. Weidenbach, C.: Spass version 0.49. J. Autom. Reasoning 14(2), 247–252 (1997)

    Article  MathSciNet  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Duc-Khanh Tran.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Lynch, C., Ta, QT. & Tran, DK. SMELS: Satisfiability Modulo Equality with Lazy Superposition. J Autom Reasoning 51, 325–356 (2013). https://doi.org/10.1007/s10817-012-9263-4

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10817-012-9263-4

Keywords

Navigation