On a Rewriting Approach to Satisfiability Procedures: Extension, Combination of Theories and an Experimental Appraisal

  • Alessandro Armando
  • Maria Paola Bonacina
  • Silvio Ranise
  • Stephan Schulz
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3717)


The rewriting approach to \(\mathcal{T}\)-satisfiability is based on establishing termination of a rewrite-based inference system for first-order logic on the \(\mathcal{T}\)-satisfiability problem. Extending previous such results, including the quantifier-free theory of equality and the theory of arrays with or without extensionality, we prove termination for the theories of records with or without extensionality, integer offsets and integer offsets modulo. A general theorem for termination on combinations of theories, that covers any combination of the theories above, is given next. For empirical evaluation, the rewrite-based theorem prover E is compared with the validity checkers CVC and CVC Lite, on both synthetic and real-world benchmarks, including both valid and invalid instances. Parametric synthetic benchmarks test scalability, while real-world benchmarks test ability to handle huge sets of literals. Contrary to the folklore that a general-purpose prover cannot compete with specialized reasoners, the experiments are overall favorable to the theorem prover, showing that the rewriting approach is both elegant and practical.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Arkoudas, K., Zee, K., Kuncak, V., Rinard, M.: Verifying a File System Implementation. In: Davies, J., Schulte, W., Barnett, M. (eds.) ICFEM 2004, vol. 3308, pp. 373–390. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  2. 2.
    Armando, A., Bonacina, M.P., Ranise, S., Rusinowitch, M., Sehgal, A.K.: High-Performance Deduction for Verification: a Case Study in the Theory of Arrays. In: Notes of the 2nd VERIFY Workshop, 3rd FLoC, number 07/2002 in Technical Reports, pp. 103–112. DIKU, U. Copenhagen (2002)Google Scholar
  3. 3.
    Armando, A., Bonacina, M.P., Ranise, S., Schulz, S.: Big Proof Engines as Little Proof Engines: New Results on Rewrite-Based Satisfiability Procedures. In: Notes of the 3rd PDPAR Workshop, CAV-17, Technical Reports. U. Edinburgh (2005)Google Scholar
  4. 4.
    Armando, A., Bonacina, M.P., Ranise, S., Schulz, S.: On a Rewriting Approach to Satisfiability Procedures: Theories of Data Structures, Combination Framework and Experimental Appraisal. Technical Report 36/2005, Dip. di Informatica, U. Verona (May 2005), http://www.sci.univr.it/~bonacina/verify.html
  5. 5.
    Armando, A., Ranise, S., Rusinowitch, M.: A Rewriting Approach to Satisfiability Procedures. Information and Computation 183(2), 140–164 (2003)MATHCrossRefMathSciNetGoogle Scholar
  6. 6.
    Barrett, C.W., Berezin, S.: CVC Lite: A New Implementation of the Cooperating Validity Checker. In: Alur, R., Peled, D.A. (eds.) CAV 2004. LNCS, vol. 3114, pp. 515–518. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  7. 7.
    Barrett, C.W., Dill, D.L., Stump, A.: A Generalization of Shostak’s Method for Combining Decision Procedures. In: Armando, A. (ed.) FroCos 2002. LNCS, vol. 2309, p. 132. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  8. 8.
    Bryant, R.E., Lahiri, S.K., Seshia, S.A.: Modeling and Verifying Systems Using a Logic of Counter Arithmetic with Lambda Expressions and Uninterpreted Functions. In: Brinksma, E., Larsen, K.G. (eds.) CAV 2002, vol. 2404, p. 78. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  9. 9.
    de Moura, L., Owre, S., Rueß, H., Rushby, J., Shankar, N.: The ICS Decision Procedures for Embedded Deduction. In: Basin, D., Rusinowitch, M. (eds.) IJCAR 2004. LNCS, vol. 3097, pp. 218–222. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  10. 10.
    Déharbe, D., Ranise, S.: Light-Weight Theorem Proving for Debugging and Verifying Units of Code. In: Proc. SEFM 2003. IEEE, Los Alamitos (2003)Google Scholar
  11. 11.
    Detlefs, D.L., Nelson, G., Saxe, J.B.: Simplify: a Theorem Prover for Program Checking. Technical Report 148, HP Labs (2003)Google Scholar
  12. 12.
    Ganzinger, H.: Shostak Light. In: Voronkov, A. (ed.) CADE 2002. LNCS, vol. 2392, pp. 332–347. Springer, Heidelberg (2002)Google Scholar
  13. 13.
    Ganzinger, H., Hagen, G., Nieuwenhuis, R., Oliveras, A., Tinelli, C.: DPLL(T): Fast Decision Procedures. In: Alur, R., Peled, D.A. (eds.) CAV 2004. LNCS, vol. 3114, pp. 175–188. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  14. 14.
    Nelson, G., Oppen, D.C.: Simplification by Cooperating Decision Procedures. ACM TOPLAS 1(2), 245–257 (1979)MATHCrossRefGoogle Scholar
  15. 15.
    Nieuwenhuis, R., Rubio, A.: Paramodulation-Based Theorem Proving. In: Handbook of Automated Reasoning, vol. 1. Elsevier Science, Amsterdam (2001)CrossRefGoogle Scholar
  16. 16.
    Rueß, H., Shankar, N.: Deconstructing Shostak. In: Proc. LICS-16. IEEE, Los Alamitos (2001)Google Scholar
  17. 17.
    Schulz, S.: E – A Brainiac Theorem Prover. J. of AI Comm. 15(2–3), 111–126 (2002)MATHGoogle Scholar
  18. 18.
    Schulz, S., Bonacina, M.P.: On Handling Distinct Objects in the Superposition Calculus. In: Notes of the 5th Int. Workshop on Implementation of Logics, LPAR-11, March 2005, pp. 66–77 (2005)Google Scholar
  19. 19.
    Shankar, N.: Little Engines of Proof, Invited talk, 3rd FLoC, Copenhagen (2002), http://www.csl.sri.com/users/shankar/LEP.html
  20. 20.
    Shostak, R.E.: Deciding Combinations of Theories. J. ACM 31(1), 1–12 (1984)MATHCrossRefMathSciNetGoogle Scholar
  21. 21.
    Stump, A., Barrett, C.W., Dill, D.L.: CVC: A cooperating validity checker. In: Brinksma, E., Larsen, K.G. (eds.) CAV 2002. LNCS, vol. 2404, p. 500. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  22. 22.
    Stump, A., Barrett, C.W., Dill, D.L., Levitt, J.: A Decision Procedure for an Extensional Theory of Arrays. In: Proc. LICS-16. IEEE, Los Alamitos (2001)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Alessandro Armando
    • 1
  • Maria Paola Bonacina
    • 2
  • Silvio Ranise
    • 3
  • Stephan Schulz
    • 2
  1. 1.DISTUniversità degli Studi di GenovaGenovaItaly
  2. 2.Dipartimento di InformaticaUniversità degli Studi di VeronaVeronaItaly
  3. 3.LORIA & INRIA-LorraineVillers-lès-NancyFrance

Personalised recommendations