[SMT-LIB] Bug in pattern in smtlib2 benchmarks
Jochen Hoenicke
hoenicke at informatik.uni-freiburg.de
Mon Feb 21 10:07:14 EST 2011
Hello,
we started implementing pattern-based quantifier instantiation in our
solver and stumbled over something that looks like a bug in the
benchmark converter.
The file AUFLIA/boogie/AdditiveMethods_AdditiveMethods.N.smt2 contains the line
(assert (forall ((?A Int) (?r Int) (?T Int)) (! (let ((?v_0
(ValueArray ?A ?r))) (=> (subtypes ?T ?v_0) (= ?T ?v_0))) :pattern
((subtypes ?T ?v_0)) )))
Note that in this construct the annotation ":pattern ((subtypes ?T
?v_0))" is outside of the scope of the let command, hence the variable
?v_0 is undefined in this pattern.
Interestingly, the corresponding assumption in smtlib-1.2 does not
contain the let at all:
:assumption
(forall (?A Int) (?r Int) (?T Int)
(implies (subtypes ?T (ValueArray ?A ?r)) (= ?T (ValueArray ?A ?r)))
:pat {(subtypes ?T (ValueArray ?A ?r))})
Regards,
Jochen
--
Jochen Hoenicke,
Email: hoenicke at informatik.uni-freiburg.de Tel: +49 761 203 8243
More information about the SMT-LIB
mailing list