[SMTCOMP] IMPORTANT: the infinite-precision issue

Leonardo de Moura demoura at csl.sri.com
Tue Jun 6 18:45:52 EDT 2006


Hi Roberto,

This is a good point.

> there is an important question about SMT-COMP which apparently  
> nobody asked so far: do we explicitly require infinite precision  
> from SMT solvers on arithmetic-related theories? (I.e., RDL/IDL/LAR/ 
> LAI and combinations.)

I believe one needs to use multi precision arithmetic for solving  
some problems in
LRA and LIA, but I agree with you that the benchmarks in RDL and IDL  
do not
require infinite precision.

I'm not sure if we should force/require people to use multi precision  
arithmetic.
I think it is perfectly ok to use fixed precision, and return "unknown"
when an overflow/underflow is detected.

I also believe it is perfectly ok to enter an incomplete solver, and  
return
"unknown" for formulas you know your solver is incomplete.
For example, Aaron Stump did that last year. CVC is not complete
for integers, and he returned "unknown" for potential "sat" instances.

Anyway, I really interested in knowing what the rest of the SMT  
community
thinks about this issue.

> On the one hand, infinite precision prevents an SMT tool from
> giving wrong answers on some problems. On the other hand, using  
> infinite precision significantly slows down the performances  
> (around a 3 factor in our experience).

In my experiments, I noticed a 1.4 factor. I'm using GMP  
(www.swox.com/gmp/)
for infinite precision. I guess you are using it too. :-)
We found that memory management can be expensive with GMP, and a good  
trick
is to create a pool of GMP numbers and reuse them for intermediate  
computations.

Cheers,
Leonardo.






More information about the SMT-COMP mailing list