You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I am currently working with Z3 version 4.13.0 and think that z3 returns erroneously SAT for the following CHC-formula:
(set-logic HORN)
(declare-fun inv1 (Int (Array Int Int) Int Int Int) Bool)
(declare-fun inv2 ((Array Int Int) (Array Int Int) Int Int Int) Bool)
(assert (inv1 1 (store ((as const (Array Int Int)) 0) 1 (- 1)) 0 0 2))
(assert (forall ((A (Array Int Int))
(B Int)
(C Int)
(D Int)
(E Int)
(F Int)
(myunused Int))
(let ((a!1 (= E (ite (<= C (select A B)) C (select A B)))))
(=> (and (inv1 myunused A B C D) (= F (+ 1 B)) (> D B) a!1)
(inv1 2 A (+ 1 B) E D)))))
(assert (forall ((A (Array Int Int))
(B Int)
(C Int)
(D Int)
(E (Array Int Int))
(myunused Int))
(=> (and (inv1 myunused A B C D) (>= B D) ) (inv2 A E C 0 D))))
(assert (forall ((A (Array Int Int))
(B (Array Int Int))
(C Int)
(F (Array Int Int)))
(let ((a!1 (and (inv2 A B C 0 2)
(= (store B 1 (select A 1)) F))))
(=> a!1 (inv2 A F (+ 1 C) 0 2)))))
(assert (forall ((A (Array Int Int))
(B (Array Int Int))
(C Int)
(D Int)
(E Int)
(F Int))
(let ((a!1 (and (inv2 A B C D E)
(>= C F)
(> E F)
(> F 0)
)))
(=> a!1 false))))
(check-sat)
I get
$ z3 unsat.smt2
sat
However it seems that the formula is UNSAT and eldarica can even give an unsat proof:
Hello everyone,
I am currently working with Z3 version 4.13.0 and think that z3 returns erroneously SAT for the following CHC-formula:
I get
However it seems that the formula is UNSAT and eldarica can even give an unsat proof:
I already minimized the SMT-file. Thanks in advance.
The text was updated successfully, but these errors were encountered: