Eldarica rejects valid smt2 syntax for recognizers
hgvk94 opened this issue · 2 comments
hgvk94 commented
(declare-datatypes ((MList 0)) (((mcons (mhead Int) (mtail MList)) (mnill))))
(declare-fun x () MList)
(declare-fun y () MList)
(assert (and ((_ is mcons) x) (= (mtail x) y) (= y mnill))) ;;valid according to smtlib but Eldarica does not accept this
;; (assert (and (is-mcons x) (= (mtail x) y) (= y mnill))) ;;ALL smt solvers accept this recognizer
(check-sat)
Eldarica (version 2.0.8) does not like the first assertion but it is valid according to smtlib.
More context:
I am trying to write a pretty printer for CHC benchmarks containing ADTs. I would like to use the first representation, but only if Eldarica supports it.
pruemmer commented
This is fixed on Master, and will be working in the next version 2.0.9!
hgvk94 commented
great. Thanks !!