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

Case split on booleans #1156

Open
bclement-ocp opened this issue Jul 11, 2024 · 0 comments
Open

Case split on booleans #1156

bclement-ocp opened this issue Jul 11, 2024 · 0 comments
Labels
backlog completeness This issue is about completeness of theories

Comments

@bclement-ocp
Copy link
Collaborator

Alt-Ergo currently does not perform case splits on boolean values nested inside ADTs or records:

$ cat tests/issues/1014.smt2 
(set-logic ALL)
(declare-datatype Data ((cell (value Bool))))
(declare-const x Data)
(declare-const y Data)
(declare-const z Data)
(assert (distinct x y z))
(check-sat)

$ dune exec -- alt-ergo tests/issues/1014.smt2 
                                       
; File "tests/issues/1014.smt2", line 7, characters 1-12: I don't know (0.0005) (6 steps) (goal g_1)

unknown

Initially reported as an ADT bug in #1014, but it turns out to not be an ADT bug — instead, nobody performs case splits for booleans. It is not clear at the moment where we want to do it, but it probably should be the SAT solver since it is where we deal with the boolean theory.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backlog completeness This issue is about completeness of theories
Projects
None yet
Development

No branches or pull requests

1 participant