SMELS: Satisfiability Modulo Equality with Lazy Superposition

  • Christopher Lynch
  • Duc-Khanh Tran
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5311)

Abstract

We give a method for extending efficient SMT solvers to handle quantifiers, using Superposition inference rules. In our method, the input formula is converted into CNF as in traditional first order logic theorem provers. The ground clauses are given to the SMT solver, which runs a DPLL method to build partial models. The partial model is passed to a Congruence Closure procedure, as is normally done in SMT. Congruence Closure calculates all reduced (dis)equations in the partial model and passes them to a Superposition procedure, along with a justification. The Superposition procedure then performs an inference rule, which we call Justified Superposition, between the (dis)equations 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 this method, using a nontrivial modification of Bachmair and Ganzinger’s model generation technique. We believe this combination uses the best of both worlds, an SMT process to handle ground clauses efficiently, and a Superposition procedure which uses orderings to handle the nonground clauses.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
  2. 2.
    Armando, A., Ranise, S., Rusinowitch, M.: A Rewriting Approach to Satisfiability Procedures. Journal of Information and Computation 183(2), 140–164 (2003)MathSciNetCrossRefMATHGoogle Scholar
  3. 3.
    Bachmair, L., Ganzinger, H.: Resolution theorem proving. In: Robinson, A., Voronkov, A. (eds.) Handbook of Automated Reasoning, ch.2, vol. 1, pp. 19–100. North Holland, Amsterdam (2001)CrossRefGoogle Scholar
  4. 4.
    Bachmair, L., Ganzinger, H., Lynch, C., Snyder, W.: Basic paramodulation and superposition. In: Kapur, D. (ed.) CADE 1992. LNCS, vol. 607, pp. 462–476. Springer, Heidelberg (1992)Google Scholar
  5. 5.
    Barrett, C., Tinelli, C.: CVC3. In: Damm, W., Hermanns, H. (eds.) CAV 2007. LNCS, vol. 4590, pp. 298–302. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  6. 6.
    Baumgartner, P.: Logical engineering with instance-based methods. In: Pfenning, F. (ed.) CADE 2007. LNCS (LNAI), vol. 4603, pp. 404–409. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  7. 7.
    Baumgartner, P., Tinelli, C.: The model evolution calculus as a first-order DPLL method. Artificial Intelligence 172, 591–632 (2008)MathSciNetCrossRefMATHGoogle Scholar
  8. 8.
    de Moura, L., Bjorner, N.: Z3: An Efficient SMT Solver. In: Ramakrishnan, C.R., Rehof, J. (eds.) TACAS 2008. LNCS, vol. 4963, pp. 337–340. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  9. 9.
    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 2003) (2003)Google Scholar
  10. 10.
    Dershowitz, N., Jouannaud, J.-P.: Rewrite Systems, Handbook of Theoretical Computer Science, ch. 6, vol. B, pp. 244–320 (1990)Google Scholar
  11. 11.
    Detlefs, D., Nelson, G., Saxe, J.B.: Simplify: A Theorem Prover for Program Checking. Technical Report HPL-2003-148, HP Laboratories (2003)Google Scholar
  12. 12.
    Ganzinger, H., Korovin, K.: New directions in instantiation-based theorem proving. In: Proc. 18th IEEE Symposium on Logic in Computer Science (LICS 2003), pp. 55–64. IEEE Computer Society Press, Los Alamitos (2003)CrossRefGoogle Scholar
  13. 13.
    Korovin, K., Voronkov, A.: Integrating linear arithmetic into superposition calculus. In: Duparc, J., Henzinger, T.A. (eds.) CSL 2007. LNCS, vol. 4646, pp. 223–237. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  14. 14.
    Nieuwenhuis, R., Rubio, A.: Paramodulation-based theorem proving. In: Robinson, A., Voronkov, A. (eds.) Hand. of Automated Reasoning. Elsevier and MIT Press (2001)Google Scholar
  15. 15.
    Riazanov, A., Voronkov, A.: The design and implementation of VAMPIRE. AI Commun. 15(2), 91–110 (2002)MATHGoogle Scholar
  16. 16.
    Schulz, S.: E – A Brainiac Theorem Prover. Journal of AI Communications 15(2/3), 111–126 (2002)MATHGoogle Scholar
  17. 17.
    Weidenbach, C.: Spass version 0.49. Journal of Automated Reasoning 14(2), 247–252 (1997)MathSciNetCrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2008

Authors and Affiliations

  • Christopher Lynch
    • 1
  • Duc-Khanh Tran
    • 2
  1. 1.Clarkson UniversityUSA
  2. 2.Max-Planck-Insitut für InformatikGermany

Personalised recommendations