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

disable e-matching by default, adding option to turn it on #4

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

graydon
Copy link

@graydon graydon commented Jan 22, 2021

We've been working on a model that produces queries that cause Z3 to diverge. On a hunch, I tried running the same .smt2 query with Z3's e-matching quantifier-instantiation strategy disabled, and it now returns a result in a (relatively) timely fashion.

If I understand correctly, checking formulas in FAU should really never be using e-matching anyways, right? Or is it supposed to be harmless to have it turned on anyways, and just assume it doesn't get used (or only gets used in an interleaved fashion with MBQI, or something)? Anyway, it appears to risk divergence to have it turned on, at least in some cases!

(Interestingly, this only works if I also run ivy with incremental=false, which I do not really understand the effects of in terms of quantifier instantiation -- or any other bit of Z3 internals -- but it at least does work then!)

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

Successfully merging this pull request may close these issues.

1 participant