veriT: an open, trustable and efficient SMT-solver Thomas Bouton 2 , Diego Caminha B. de Oliveira 2 , David D´ eharbe 1 , and Pascal Fontaine 2 1 Universidade Federal do Rio Grande do Norte, Natal, RN, Brazil david@dimap.ufrn.br 2 LORIA–INRIA, Nancy, France {Thomas.Bouton,Diego.Caminha,Pascal.Fontaine}@loria.fr Abstract. This article describes the first public version of the satisfiabil- ity modulo theory (SMT) solver veriT. It is open-source, proof-producing, and complete for quantifier-free formulas with uninterpreted functions and difference logic on real numbers and integers. 1 Introduction We present the satisfiability modulo theory (SMT) solver veriT, a joint work of University of Nancy, INRIA (Nancy, France) and Federal University of Rio Grande do Norte (Natal, Brazil). veriT provides an open, trustable and reason- ably efficient decision procedure for the logic of unquantified formulas over unin- terpreted symbols, difference logic over integer and real numbers, and the com- bination thereof. This corresponds to the logics identified as QF IDL, QF RDL, QF UF and QF UFIDL in the SMT-LIB benchmarks [14, 2]. veriT also includes quantifier reasoning capabilities through the integration of a first-order prover and quantifier instantiation heuristics. Finally, veriT has proof-production capa- bilities; it outputs proofs that may be used or checked by external tools. veriT is incremental, i.e. after each satisfiability check, new formulas can be added conjunctively to the already checked set of formulas. The input format is the SMT-LIB language [14], but veriT can also be used as a library with an API following the guidelines of [11]. The tool is open-source and distributed under the BSD licence at http://www.verit-solver.org. Internally, the solver is organized to be easily extended by plugging new decision procedures in a Nelson-Oppen like combination schema. Although not (yet) as fast as the solvers performing best in the SMT competition [2], veriT has a decent efficiency. We thus claim that it can already be useful in verification platforms where an open- source license, extensibility, and proof certification are important. Selected features of the veriT solver and an experimental evaluation of its efficiency are presented in Section 2 and 3, respectively. Future developments are described in Section 4. 2 System description The reasoning core of veriT uses a SAT solver [8] to produce models of the Boolean abstraction of the input formula. Such propositional assignments are