Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Solution unsoundness in presence of as-array and sat.euf=true #5545

Closed
gsps opened this issue Sep 11, 2021 · 1 comment
Closed

Solution unsoundness in presence of as-array and sat.euf=true #5545

gsps opened this issue Sep 11, 2021 · 1 comment

Comments

@gsps
Copy link

gsps commented Sep 11, 2021

The following produces an invalid model when run with
z3 -smt2 sat.euf=true (but not with z3 -smt2 tactic.default_tactic=smt sat.euf=true).
Applies to both version 4.8.12 and master (34f878f).

(declare-fun f (Int) Int)
(declare-const x Int)
(declare-const ff (Array Int Int))

; NB: Swapping the order of these two assertions leads to the expected unsat result!
(assert (= ff (_ as-array (f (Int) Int))))
(assert (= ff ((as const (Array Int Int)) 0)))

(assert (not (= (select ff x) 0)))
(check-sat)
(get-model)
NikolajBjorner added a commit that referenced this issue Sep 20, 2021
@NikolajBjorner
Copy link
Contributor

thanks for trying it out

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants