minimise SMT proofs by unsat core #790
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Following on from #754, we can now do minimised AVATAR SMT refutations.
The implementation works by conjuring another instance of Z3 to compute an unsat core of the now known-unsat set of SMT clauses. I don't say this is the best implementation, but it's the first and easiest thing that came to mind.
Testing: I've done about 20 minutes' worth of random TPTP problems with
-sas z3and nothing horrible cropped up. I expect this will be slower than the existing implementation since it does more work, but it's The Right Thing so I'm not too bothered. I imagine @quickbeam123 will disagree with me on this, so let the discussion begin!