Automatic theorem proving has a number of important applications, such as software verification, hardware verification, hardware design, knowledge representation and reasoning, the Semantic Web, algebra, and proving theorems in mathematics. Over 50 years of research in theorem proving have resulted in one of the most advanced and elegant theories in computer science. This area is an ideal target for scientific engineering: implementation techniques have to be developed to realise an advanced theory in practically valuable tools.
Vampire is a theorem prover, that is, a system able to prove theorems — although now it can do much more! Its main focus is in proving theorems in first-order logic but it can also prove non-theorems and build finite models, as well as reasoning in combinations of theories, such as arithmetic, arrays, and datatypes, and with higher-order logic. The development of Vampire began in 1994 and has survived a number of rewritings (see history).
NEW LICENCE! We are very pleased to announce that Vampire is now available under a BSD 3-Clause licence, allowing (free) industrial and academic usage. It would be great to hear from you if you are making use of this new licence within your work. Please join our very low-traffic mailing list for updates. You may also want to want to use the GitHub Issues page for questions or issues.
- Vampire is very fast, as can be judged by our awards at the CASC and SMT-COMP comeptitions
- Vampire has an easy to use portfolio mode (see Usage) that can be run in multicore mode
- Vampire can "pretend to be an SMT solver" in the sense that it accepts SMT-LIB input (see Usage) and can effectively reason in combinations of first-order logic and theories, such as integer arithmetic, which makes it useful for reasoning with theories and quantifiers
- Vampire can produce detailed proofs and finite models
- Vampire supports (inductive) reasoning over algebraic data types (finite term algebras)
- Vampire can generate interpolants