Theory of linear and integer programming
Theory of linear and integer programming
CAV'07 Proceedings of the 19th international conference on Computer aided verification
Decision procedures for SAT, SAT modulo theories and beyond. the barcelogictools
LPAR'05 Proceedings of the 12th international conference on Logic for Programming, Artificial Intelligence, and Reasoning
A fast linear-arithmetic solver for DPLL(T)
CAV'06 Proceedings of the 18th international conference on Computer Aided Verification
DPLL(T) with exhaustive theory propagation and its application to difference logic
CAV'05 Proceedings of the 17th international conference on Computer Aided Verification
CADE' 20 Proceedings of the 20th international conference on Automated Deduction
Lemma learning in SMT on linear constraints
SAT'06 Proceedings of the 9th international conference on Theory and Applications of Satisfiability Testing
On Using Floating-Point Computations to Help an Exact Linear Arithmetic Decision Procedure
CAV '09 Proceedings of the 21st International Conference on Computer Aided Verification
Superposition modulo linear arithmetic SUP(LA)
FroCoS'09 Proceedings of the 7th international conference on Frontiers of combining systems
PSI'11 Proceedings of the 8th international conference on Perspectives of System Informatics
CAV'13 Proceedings of the 25th international conference on Computer Aided Verification
Hi-index | 0.00 |
Many highly sophisticated tools exist for solving linear arithmetic optimization and feasibility problems. Here we analyze why it is difficult to use these tools inside systems for SAT Modulo Theories (SMT) for linear arithmetic: one needs support for disequalities, strict inequalities and,more importantly, for dealingwith incorrect results due to the internal use of imprecise floating-point arithmetic.We explain how these problems can be overcome by means of result checking and error recovery policies. Second, by means of carefully designed experiments with, among other tools, the newest version of ILOG CPLEX and our own new Barcelogic T-solver for arithmetic, we show that, interestingly, the cost of result checking is only a small fraction of the total T-solver time. Third, we report on extensive experiments running exactly the same SMT search using CPLEX and Barcelogic as T-solvers, where CPLEX tends to be slower than Barcelogic. We analyze these at first sight surprising results, explaining why tools such as CPLEX are not very adequate (nor designed) for this kind of relatively small incremental problems. Finally, we show how our result checking techniques can still be very useful in combination with inexact floating-point-based T-solvers designed for incremental SMT problems.