uuverifiers / ostrich

An SMT Solver for string constraints

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Solution soundness issue on QF_AUFLIA formula

rainoftime opened this issue · comments

Hi, for the following formula
ostrich 2b3eb9b gives sat, but z3 and cvc4 return unsat.

(set-logic QF_AUFLIA)
(declare-fun a () (Array Int Int))
(declare-fun b () (Array Int Int))
(declare-fun v () Int)
(declare-fun w () Int)
(declare-fun x () Int)
(declare-fun y () Int)
(declare-fun g ((Array Int Int)) Int)
(declare-fun f (Int) Int)
(assert (and (= (store a x v) b) (= (store a y w) b) (not (= (f x) (f y))) (not (= (g a) (g b)))))
(check-sat)
(set-logic ALL)
(declare-sort a 0)
(declare-datatypes ((prod 0)) (((Pair (gx a) (gy a)))))
(declare-fun p () prod)
(assert (forall ((x a) (y a)) (not (= p (Pair x y)))))
(check-sat)

This is fixed in version 1.2, thanks for the report!