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

ASSERTION VIOLATION, File: ../src/qe/qe_mbp.cpp, Line: 572 #6889

Closed
merlinsun opened this issue Sep 6, 2023 · 4 comments
Closed

ASSERTION VIOLATION, File: ../src/qe/qe_mbp.cpp, Line: 572 #6889

merlinsun opened this issue Sep 6, 2023 · 4 comments
Assignees
Labels

Comments

@merlinsun
Copy link

Hi,
For this instance, z3 4d9af78 debug build

$ z3 small.smt2          
ASSERTION VIOLATION
File: ../src/qe/qe_mbp.cpp
Line: 572
!eval.is_false(fml)
(C)ontinue, (A)bort, (S)top, (T)hrow exception, Invoke (G)DB
a
$ cat small.smt2
(declare-fun a () (Array (Array Bool Bool) Bool))
(declare-fun va () (Array (Array (Array Bool Bool) Bool) (Array (Array Bool Bool) Bool)))
(declare-fun r () (Array Bool Bool))
(declare-fun r1 () (Array (Array Bool Bool) Bool))
(assert (forall ((v (Array Int (Array (Array Bool Bool) Bool)))) (distinct a r1 (v 0) (select (store va a (store (v 0) r false)) a))))
(check-sat-using qsat)
@NikolajBjorner
Copy link
Contributor

@hgvk94 - it appears to be within qel_project and how it handles distinct.
The model evaluates (not (distrinct ....)) of several arguments to false. However, two of the arrays are constant false under the model.

(let ((a!1 (distinct ((as const (Array (Array Bool Bool) Bool)) true)
                     ((as const (Array (Array Bool Bool) Bool)) false)
                     (store ((as const (Array (Array Bool Bool) Bool)) false)
                            (store ((as const (Array Bool Bool)) false)
                                   false
                                   true)
                            true)
                     (store ((as const (Array (Array Bool Bool) Bool)) false)
                            (store ((as const (Array Bool Bool)) false)
                                   false
                                   true)
                            false))))
  (not a!1))

@hgvk94
Copy link
Contributor

hgvk94 commented Sep 15, 2023

Yes, we just dodn't support distinct in the new MBP. I am working on fixing this.

@hgvk94
Copy link
Contributor

hgvk94 commented Nov 14, 2023

I have fixed this (and the duplicate issue #6913) locally. Will submit a PR in the next couple of days.

@NikolajBjorner
Copy link
Contributor

would be good as I am planning to drop an updated release in the next couple of days as well.

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

No branches or pull requests

4 participants