[SMTCOMP] IMPORTANT: the infinite-precision issue

Cesare Tinelli tinelli at cs.uiowa.edu
Mon Jun 12 18:08:21 EDT 2006


Hi Roberto,

I second your request for clear rules. And I leave it to the SMT-COMP 
organizers to establish what those should be.
Here, I just have a couple of comments about your email.

Roberto Sebastiani wrote:
> Hi all.
> I think the discussion has gone a little far from the original issue I 
> raised.
> Thus, let me do one step back.
> 
> (First, Leonardo, notice that we're perfectly at ease with the idea of 
> incomplete solvers, but this was not intended to be the issue of my email.)
> 
> My issue was: we WANT CLEAR RULES ABOUT INFINITE PRECISION.
> 
> That is, for each category, either:
> 1) we state that infinite precision is required, and we add a significant
> amount of "critical" problems (which may cause wrong solution if plain 
> finite
>  precision is used), or
> 2) we state that infinite precision is *not* required, and we include
> no such critical problem.
> 
> In the first case, each tool is guaranteed againts unfair comparisions with
> non-infinite-precision tools. In the second case, one can safely release 
> infinite precision to that to have a fair competition with 
> non-infinite-precision tools.
> 
> Notice that we're not pushing for either direction: we're simply pushing 
> for clear rules.
> 
> Roberto
> 
> PS: as far as Cesare's proposal is concerned, I agree with the arguments 
> of Paulo Matos. Moreover, from a practical perspective, I think this 
> would add a lot of extra workload in estabilishing the ranges and/or ask 
> the authors.
 >
I do agree with that of course, but I'm not sure how much less work 
there is in your proposal 1) above.
Adding a significant number of critical problems to a division would 
require the ability to choose them from an even greater pool. Wouldn't 
identifying or generating problems for this pool require a similar 
amount of work as well?


> (BTW: who guarantees that the authors of the problems are right?).
>> From a more principled perspective, I don't like the idea of 
>> customizing tools for 
> single instances, or of adopting tricks like
> "if infty run mathsat_infty else if 32 run mathsat_32 else run mathsat_64".
> 
Fair enough. But I find it puzzling to hear this from a main MathSAT 
developer. Isn't MathSAT's layered approach based exactly on the 
principle of using the right (sub)solver for each specific input 
(sub)problem? How would this be different?

Cheers,


Cesare



> 
> 
> 
> 
> 
> 
> 
> On Tue, 6 Jun 2006, Leonardo de Moura wrote:
> 
>> 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