[SMT-LIB] Mixing Integers and Reals in SMT2 formulas
Mohamed Iguernelala
mohamed.iguernelala at ocamlpro.com
Sat Jul 19 04:51:34 EDT 2014
Hello,
Thanks for the link http://smtlib.cs.uiowa.edu/logics/AUFLIRA.smt2. I've
never figured out that "Logics" in SMT-LIB's website "are clickable" ...
So, ok: there is an implicit cast in this case, but it is defined on the
"logic level" not on the theory level.
Regards,
Mohamed.
--
Senior R&D Engineer, OCamlPro
Research Associate, VALS team, LRI.
http://www.iguer.info
Le 19/07/2014 09:48, Jochen Hoenicke a écrit :
> Hello,
>
> 2014-07-19 8:22 GMT+02:00 Martin Brain <martin.brain at cs.ox.ac.uk>:
>> On Fri, 2014-07-18 at 11:16 -0700, Levent Erkok wrote:
>>> I think the point is that such queries should be rejected by compliant
>>> solvers. Or, contrapositively, any solver not rejecting such a query is
>>> non-compliant with the standard. This follows from the core theory
>>> definition in
>>> http://smtlib.cs.uiowa.edu/papers/smt-lib-reference-v2.0-r10.12.21.pdf,
>>> page 30; which requires equality to receive the same "sort" for its
>>> arguments.
>> The problem with requiring all compliant solvers to reject non-compliant
>> input is that it prevents developers adding their own extensions. As I
>> understand it, SMT-LIB is written to support authors in further
>> developing and extending the language.
> I just wanted to point out, that the syntax may be officially correct.
> There is an extension in AUFLIRA and AUFNIRA.
>
> From http://smtlib.cs.uiowa.edu/logics/AUFLIRA.smt2
>
> "For every operator op with declaration (op Real Real s) for some sort s,
> and every term t1, t2 of sort Int and t of sort Real, the expression
> - (op t1 t) is syntactic sugar for (op (to_real t1) t)
> - (op t t1) is syntactic sugar for (op t (to_real t1))
> - (/ t1 t2) is syntactic sugar for (/ (to_real t1) (to_real t2))
> "
>
> One can now argue whether the equality symbol is declared as (= Real
> Real Bool), since it is really a polymorphic operator. Of course, if
> the solver supports this extension, then it should also produce the
> right result, i.e., (= 0 0.5) is unsatisfiable.
>
> Our solver smtinterpol (which only supports the inofficial logic
> QF_AUFLIRA) has some code that is only used to support this extension.
>
> Regards,
> Jochen
> _______________________________________________
> SMT-LIB mailing list
> SMT-LIB at cs.nyu.edu
> http://www.cs.nyu.edu/mailman/listinfo/smt-lib
More information about the SMT-LIB
mailing list