Skip to content

z3 hangs on query involving maps and bitvectors #7484

@ranjitjhala

Description

@ranjitjhala

Hi z3 team -- my student @vrindisbacher came across the following two SMTLIB queries that seem to finish instantaneously with cvc5 but seem to make z3 hang indefinitely. I will ask John Regehr's help with using c-reduce to minimize the tests -- but maybe you have some idea?

There are two files.

The first test z3-slow-1.smt2.txt should work just by pure equality/congruence.

There is a lot of junk in it but we're just checking a VC of the form. (a = b) => (a = b)

(assert (= a b))
(assert (not (= a b)))
(check-sat)

except that that the a and b are blown out into gigantic terms involving map-set
and bitvector operations, with some additional booleans recording the equality...

The second is not so trivial, but both seem to finish swiftly with CVC5.

Any ideas on what might be happening?

z3-slow-1.smt2.txt
z3-slow-2.smt2.txt

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions