Skip to content

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

Open
graydon wants to merge 1 commit into
kenmcmil:masterfrom
graydon:disable-ematching-by-default
Open

disable e-matching by default, adding option to turn it on#4
graydon wants to merge 1 commit into
kenmcmil:masterfrom
graydon:disable-ematching-by-default

Conversation

@graydon
Copy link
Copy Markdown

@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