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.
Similar content being viewed by others
References
Armando, A., Ranise, S., Rusinowitch, M.: A rewriting approach to satisfiability procedures. Inform. J. Comput. 183(2), 140–164 (2003)
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)
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)
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)
Baumgartner, P., Tinelli, C.: The model evolution calculus as a first-order DPLL method. Artif. Intell. 172, 591–632 (2008)
Bonacina, M.P., Echenim, M.: Theory decision by decomposition. Symb. J. Comput. 45(2), 229–260 (2010)
Davis, M., Putnam, H.: A computing procedure for quantification theory. J. ACM 7(3), 201–215 (1960)
Davis, M., Logemann, G., Loveland, D.W.: A machine program for theorem-proving. Commun. ACM 5(7), 394–397 (1962)
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)
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)
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)
Dershowitz, N., Jouannaud, J.P.: Rewrite systems. In: Handbook of Theoretical Computer Science, vol. B, chap. 6, pp. 244–320 (1990)
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)
Detlefs, D., Nelson, G., Saxe, J.B.: Simplify: a theorem prover for program checking. J. ACM 52(3), 365–473 (2005)
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)
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
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)
Jackson, D.: Automating first-order relational logic. In: SIGSOFT FSE, pp. 130–139 (2000)
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)
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)
Lee, S.J., Plaisted, D.A.: Eliminating duplication with the hyper-linking strategy. J. Autom. Reasoning 9(1), 25–42 (1992)
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)
Lynch, C., Ranise, S., Ringeissen, C., Tran, D.K.: Automatic decidability and combinability. Inf. Comput. 209(7), 1026–1047 (2011)
Nieuwenhuis, R., Rubio, A.: Paramodulation-based theorem proving. In: Robinson, A., Voronkov, A. (eds.) Hand of Automated Reasoning. The MIT Press (2001)
Riazanov, A., Voronkov, A.: The design and implementation of VAMPIRE. AI Commun. 15(2), 91–110 (2002)
Robinson, J.A.: A machine-oriented logic based on the resolution principle. J. ACM 12(1), 23–41 (1965)
Schulz, S.: E– a brainiac theorem prover. J. AI Commun. 15(2/3), 111–126 (2002)
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)
Sutcliffe, G.: The cade-22 automated theorem proving system competition—CASC-22. AI Commun. 23(1), 47–59 (2010)
Weidenbach, C.: Spass version 0.49. J. Autom. Reasoning 14(2), 247–252 (1997)
Author information
Authors and Affiliations
Corresponding author
Rights 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
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10817-012-9263-4