haRVey is now known as veriT. You can find the new website at verit-solver.org.

What is haRVey?

haRVey is a SMT (Satisfiability Modulo Theories) prover. There are presently two branches of haRVey: haRVey-SAT and haRVey-FOL.

* haRVey-FOL integrates a First-Order Logic theorem prover (hence its name), i.e. the E-prover. It uses the superposition calculus as implemented by the E-prover, to determine the satisfiability of Boolean combinations of atoms with functions interpreted in a first-order theory with equality.

For a description of the main techniques used in haRVey-FOL, see: Alessandro Armando, Silvio Ranise and Michael Rusinowitch. A Rewriting Approach to Satisfiability Procedures. J. of Information and Computation, Volume 183, Issue 2, 15 June 2003, Pages 140-164.

* haRVey-SAT is based on congruence closure, the Nelson-Oppen framework, and rudimentary instantiation techniques to decide the satisfiability of a set of atoms written with uninterpreted symbols, linear arithmetics, some lambda-expressions, and some quantifiers. The Boolean engine is a SAT solver (zChaff or MiniSAT), hence its name.

For a description of the main techniques used in haRVey-SAT, see: Pascal Fontaine. Techniques for verification of concurrent systems with invariants. PhD Thesis, Institut Montefiore, Université de Liège, Belgium, September 2004. (PS, PS (2/sheet), bibtex)

Current developments aim at merging both branches, and provide one uniform tool. The main issues are

  • the logics are different: haRVey-SAT is multi-sorted, haRVey-FOL is not
  • there is some technical and theoretical difficulties to combine first-order provers within a Nelson-Oppen scheme

So, haRVey is still in development stage, but if you want to give it a try, go to the Download section.

haRVey is also...