First-Order Theorem Proving and Vampire

  • Laura Kovács
  • Andrei Voronkov
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8044)


In this paper we give a short introduction in first-order theorem proving and the use of the theorem prover Vampire. We discuss the superposition calculus and explain the key concepts of saturation and redundancy elimination, present saturation algorithms and preprocessing, and demonstrate how these concepts are implemented in Vampire. Further, we also cover more recent topics and features of Vampire designed for advanced applications, including satisfiability checking, theory reasoning, interpolation, consequence elimination, and program analysis.


Theorem Prove Predicate Symbol Inference Process Proof Search Empty Clause 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  1. 1.
    Bachmair, L., Ganzinger, H.: Resolution theorem proving. In: Robinson, A., Voronkov, A. (eds.) Handbook of Automated Reasoning, ch. 2, vol. I, pp. 19–99. Elsevier Science (2001)Google Scholar
  2. 2.
    Barrett, C., Stump, A., Tinelli, C.: The Satisfiability Modulo Theories Library (SMT-LIB) (2010),
  3. 3.
    Baumgartner, P., Fuchs, A., de Nivelle, H., Tinelli, C.: Computing Finite Models by Reduction to Function-Free Clause Logic. J. of Applied Logic 7(1), 58–74 (2009)CrossRefzbMATHGoogle Scholar
  4. 4.
    Buchberger, B.: An Algorithm for Finding the Basis Elements of the Residue Class Ring of a Zero Dimensional Polynomial Ideal. J. of Symbolic Computation 41(3-4), 475–511 (2006); Phd thesis 1965, University of Innsbruck, AustriaGoogle Scholar
  5. 5.
    Craig, W.: Three uses of the Herbrand-Gentzen Theorem in Relating Model Theory and Proof Theory. J. of Symbolic Logic 22(3), 269–285 (1957)MathSciNetCrossRefzbMATHGoogle Scholar
  6. 6.
    Denzinger, J., Kronenburg, M., Schulz, S.: DISCOUNT — A Distributed and Learning Equational Prover. J. of Automated Reasoning 18(2), 189–198 (1997)CrossRefGoogle Scholar
  7. 7.
    Dershowitz, N., Plaisted, D.A.: Rewriting. In: Robinson, A., Voronkov, A. (eds.) Handbook of Automated Reasoning, ch. 9, vol. I, pp. 535–610. Elsevier Science (2001)Google Scholar
  8. 8.
    Ganzinger, H., Korovin, K.: New Directions in Instantiation-Based Theorem Proving. In: Proc. of LICS, pp. 55–64 (2003)Google Scholar
  9. 9.
    Hoder, K., Kovács, L., Voronkov, A.: Case Studies on Invariant Generation Using a Saturation Theorem Prover. In: Batyrshin, I., Sidorov, G. (eds.) MICAI 2011, Part I. LNCS, vol. 7094, pp. 1–15. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  10. 10.
    Hoder, K., Kovács, L., Voronkov, A.: Invariant Generation in Vampire. In: Abdulla, P.A., Leino, K.R.M. (eds.) TACAS 2011. LNCS, vol. 6605, pp. 60–64. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  11. 11.
    Hoder, K., Kovács, L., Voronkov, A.: Playing in the Grey Area of Proofs. In: Proc. of POPL, pp. 259–272 (2012)Google Scholar
  12. 12.
    Hoder, K., Voronkov, A.: Comparing Unification Algorithms in First-Order Theorem Proving. In: Mertsching, B., Hund, M., Aziz, Z. (eds.) KI 2009. LNCS, vol. 5803, pp. 435–443. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  13. 13.
    Jhala, R., McMillan, K.L.: A Practical and Complete Approach to Predicate Refinement. In: Hermanns, H., Palsberg, J. (eds.) TACAS 2006. LNCS, vol. 3920, pp. 459–473. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  14. 14.
    Knuth, D., Bendix, P.: Simple Word Problems in Universal Algebras. In: Leech, J. (ed.) Computational Problems in Abstract Algebra, pp. 263–297. Pergamon Press (1970)Google Scholar
  15. 15.
    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
  16. 16.
    Korovin, K., Voronkov, A.: Solving Systems of Linear Inequalities by Bound Propagation. In: Bjørner, N., Sofronie-Stokkermans, V. (eds.) CADE 2011. LNCS, vol. 6803, pp. 369–383. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  17. 17.
    Kovács, L., Moser, G., Voronkov, A.: On Transfinite Knuth-Bendix Orders. In: Bjørner, N., Sofronie-Stokkermans, V. (eds.) CADE 2011. LNCS, vol. 6803, pp. 384–399. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  18. 18.
    Kovács, L., Voronkov, A.: Finding Loop Invariants for Programs over Arrays Using a Theorem Prover. In: Chechik, M., Wirsing, M. (eds.) FASE 2009. LNCS, vol. 5503, pp. 470–485. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  19. 19.
    Kovács, L., Voronkov, A.: Interpolation and Symbol Elimination. In: Schmidt, R.A. (ed.) CADE-22. LNCS, vol. 5663, pp. 199–213. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  20. 20.
    Kovács, L., Voronkov, A.: Vampire Web Page (2013),
  21. 21.
    Löchner, B., Hillenbrand, T.: A Phytography of WALDMEISTER. AI Commun. 15(2-3), 127–133 (2002)zbMATHGoogle Scholar
  22. 22.
    Lusk, E.L.: Controlling Redundancy in Large Search Spaces: Argonne-Style Theorem Proving Through the Years. In: Proc. of LPAR, pp. 96–106 (1992)Google Scholar
  23. 23.
    Martelli, A., Montanari, U.: An Efficient Unification Algorithm. TOPLAS 4(2), 258–282 (1982)CrossRefzbMATHGoogle Scholar
  24. 24.
    McCune, W.W.: OTTER 3.0 Reference Manual and Guide. Technical Report ANL-94/6, Argonne National Laboratory (January 1994)Google Scholar
  25. 25.
    McMillan, K.L.: Interpolation and SAT-Based Model Checking. In: Hunt Jr., W.A., Somenzi, F. (eds.) CAV 2003. LNCS, vol. 2725, pp. 1–13. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  26. 26.
    Nieuwenhuis, R., Rubio, A.: Paramodulation-based theorem proving. In: Robinson, A., Voronkov, A. (eds.) Handbook of Automated Reasoning, ch. 7, vol. I, pp. 371–443. Elsevier Science (2001)Google Scholar
  27. 27.
    Riazanov, A., Voronkov, A.: Limited resource strategy in resolution theorem proving. Journal of Symbolic Computations 36(1-2), 101–115 (2003)MathSciNetCrossRefzbMATHGoogle Scholar
  28. 28.
    Robinson, J.A.: A Machine-Oriented Logic Based on the Resolution Principle. J. ACM 12(1), 23–41 (1965)CrossRefzbMATHGoogle Scholar
  29. 29.
    Schulz, S.: E — a Brainiac Theorem Prover. AI Commun. 15(2-3), 111–126 (2002)zbMATHGoogle Scholar
  30. 30.
    Sekar, R., Ramakrishnan, I.V., Voronkov, A.: Term indexing. In: Robinson, A., Voronkov, A. (eds.) Handbook of Automated Reasoning, ch. 26, vol. II, pp. 1853–1964. Elsevier Science (2001)Google Scholar
  31. 31.
    Sutcliffe, G.: The TPTP Problem Library and Associated Infrastructure. J. Autom. Reasoning 43(4), 337–362 (2009)CrossRefzbMATHGoogle Scholar
  32. 32.
    Sutcliffe, G.: The CADE-23 Automated Theorem Proving System Competition - CASC-23. AI Commun. 25(1), 49–63 (2012)Google Scholar
  33. 33.
    Sutcliffe, G.: The TPTP Problem Library (2013),
  34. 34.
    Sutcliffe, G.: The CADE ATP System Competition (2013),
  35. 35.
    Weidenbach, C., Gaede, B., Rock, G.: SPASS & FLOTTER. Version 0.42. In: McRobbie, M.A., Slaney, J.K. (eds.) CADE 1996. LNCS, vol. 1104, pp. 141–145. Springer, Heidelberg (1996)CrossRefGoogle Scholar
  36. 36.

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • Laura Kovács
    • 1
  • Andrei Voronkov
    • 2
  1. 1.Chalmers University of TechnologySweden
  2. 2.The University of ManchesterUK

Personalised recommendations