-
Notifications
You must be signed in to change notification settings - Fork 25
Various updates in preparation for Z3 version update #585
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
base: master
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -51,16 +51,10 @@ trait BoogieInterface { | |
| "/errorTrace:0", | ||
| "/errorLimit:10000000", | ||
| "/proverOpt:O:smt.AUTO_CONFIG=false", | ||
| "/proverOpt:O:smt.PHASE_SELECTION=0", | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. What's the rationale for removing these three? It might be a good thing to do, but presumably has some chance of non-trivial performance impact (maybe in either direction?) |
||
| "/proverOpt:O:smt.RESTART_STRATEGY=0", | ||
| "/proverOpt:O:smt.RESTART_FACTOR=|1.5|", | ||
| "/proverOpt:O:smt.ARITH.RANDOM_INITIAL_VALUE=true", | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. looking at the docs, I'm surprised we had this one - seems good to get rid of anyway |
||
| "/proverOpt:O:smt.CASE_SPLIT=3", | ||
| "/proverOpt:O:smt.DELAY_UNITS=true", | ||
| "/proverOpt:O:NNF.SK_HACK=true", | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I assume this option has gone? Not sure what it did, to be honest |
||
| "/proverOpt:O:smt.MBQI=false", | ||
| "/proverOpt:O:smt.QI.EAGER_THRESHOLD=100", | ||
| "/proverOpt:O:smt.BV.REFLECT=true", | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Does this option no longer exist? It seems like one that could have quite significant effects on performance but only for problems using bitvectors + quantifiers |
||
| "/proverOpt:O:smt.qi.max_multi_patterns=1000", | ||
| s"/proverOpt:PROVER_PATH=$z3Path") | ||
|
|
||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's move this to before the inequalities (two conjuncts earlier); I think (heuristically) it can be useful to put the first-to-be-ruled-out cases first.
Also, although I don't think it's relevant for what this axiom does directly, adding
s0 != Seq#Append(s0,s1) &&before it should be fine and I think it might be easier to get this consistent if we follow this pattern everywhere: rule out the cases where the operator doesn't actually create new sequences, and only add the index terms under these conditions. I didn't think about it that way when making the previous changes, but I think this fits well how to make this more methodical.