Barcelogic 1.2 for SMT: System description - Semantic Scholar

3 downloads 0 Views 52KB Size Report
Jun 20, 2007 - Architecture. Barcelogic 1.2 contains a system for SMT based on an efficient imple- mentation of the DPLL(T) framework [GHN+04, NOT04].
Barcelogic 1.2 for SMT: System description∗ Miquel Bofill† , Robert Nieuwenhuis? , Albert Oliveras? , Enric Rodr´ıguez-Carbonell? and Albert Rubio? †

?

Universitat de Girona. Technical University of Catalonia, Barcelona. June 20, 2007

Architecture Barcelogic 1.2 contains a system for SMT based on an efficient implementation of the DPLL(T ) framework [GHN+ 04, NOT04]. A DPLL(T ) system consists of a general DPLL(X) engine, very similar in nature to a SAT solver, whose parameter X can be instantiated with a solver SolverT for a theory T . Once the DPLL(X) engine has been implemented, this approach becomes extremely flexible: new theories can be dealt with by simply plugging in new theory solvers. These solvers only must be able to deal with conjunctions of theory literals and conform to a minimal and simple set of additional requirements [GHN+ 04]. Currently, Barcelogic 1.2 supports difference logic over the integers or the reals, equality with uninterpreted function symbols (EUF) and the interpreted functions symbols predecessor and successor, linear real and integer arithmetic, or combinations of these theories. For the combination of arithmetic (linear integer arithmetic, integer difference logic) and EUF, in general all function symbols are removed by means of Ackermann’s reduction and a solver for the corresponding fragment of arithmetic is used. In the particular case that the input formula contains no ordering predicates and does not employ full arithmetic but just differences of variables, a solver for EUF with predecessor and successor symbols is chosen; in this case, Ackermann’s reduction is applied only if the number of function symbols is reasonably small.

Algorithms and Data Structures The system is written in C++. Apart from the parser and the CNF translator, four are the main components of the system. ∗ Partially supported by Spanish Min. of Educ. and Science through the LogicTools project (TIN2004-03382)

1

REFERENCES

2

1. Its DPLL(X) engine is new with respect to the one of Barcelogic 1.0. Special care has been taken on memory-related issues so as to get an efficient implementation. It is based on the DPLL procedure and does not present any significant novelty wrt. state-of-the-art SAT solvers. 2. The solver for EUF is an extension of a congruence closure algorithm. Apart from determining the satisfiability of a given set of equalities and disequalities E, it can detect that some literals in the original formula are entailed by E. In addition, for each such literal the solver can compute a small subset of E of which the literal is already a logical consequence. More details can be found at [NO03, NO05]. 3. The solver for difference logic is based on the one of [CM06]. This choice allows for greater flexibility in deciding how often to make consistency checks or theory propagation steps. 4. The solver for linear arithmetic is based on a version of the simplex algorithm that allows incremental addition and deletion of strict and non-strict inequalities, and also handles bound constraints specially. In order to deal with integer arithmetic, a branch-and-cut algorithm has also been implemented.

Expected performance Barcelogic 1.2 will compete in the following divisions:QF-UF, QF-IDL, QF-RDL, QF-UFIDL, QF-LRA, QF-LIA and QF-UFLIA.

References [CM06]

S. Cotton and O. Maler. Fast and Flexible Difference Constraint Propagation for DPLL(T). In SAT’06, LNCS 4121, pages 170–183.

[dM05]

L. de Moura. Yices 0.1, 2005. http://fm.csl.sri.com/yices/.

[GHN+ 04] H. Ganzinger, G. Hagen, R. Nieuwenhuis, A. Oliveras, and C. Tinelli. DPLL(T): Fast Decision Procedures. In CAV’04, LNCS 3114, pages 175–188. [NO03]

R. Nieuwenhuis and A. Oliveras. Congruence Closure with Integer Offsets. In LPAR’03, LNCS 2850, pages 78–90.

[NO05]

R. Nieuwenhuis and A. Oliveras. Proof-Producing Congruence Closure. In RTA’05, LNCS 3467, pages 453–468.

[NOT04]

R. Nieuwenhuis, A. Oliveras, and C. Tinelli. Abstract DPLL and Abstract DPLL Modulo Theories. In LPAR’04, LNCS 3452, pages 36–50.

Suggest Documents