[SMT-LIB] Question on SMTLIB
Paulo J. Matos
pocm at soton.ac.uk
Fri Oct 27 09:44:35 EDT 2006
Hi all,
While reading the last version of the standard and thinking lisp-wise
I thought to myself if the let's and flet's of smtlib can introduce
namespaces, i.e., if variables can shadow each other or we can define
2 variables with the same name within different namespaces. The answer
is not obvious and I can't find a reference to it in the standard.
Moreover, it seems the solvers do not agree on this:
(benchmark var-test
:logic QF_LIA
:extrafuns ((y Int))
:formula (or (flet (?x (= y 1)) ?x)
(flet (?x (= y 2)) ?x)))
Both Mathsat3.3.1 and ario1.1 return parse error, however, yices1.0
returns sat.
So, what should happen in this case? (from page 13 I would guess this
is possible)
and more, this is also possible:
...
:formula (flet (?x (and x y)) (or ?x (flet (?x (and z w)) ?x)))
Which mean that each variable definition creates an enclosing namespace, right?
Regards,
--
Paulo Jorge Matos - pocm at soton.ac.uk
http://www.personal.soton.ac.uk/pocm
PhD Student @ ECS
University of Southampton, UK
More information about the SMT-LIB
mailing list