3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-25 18:15:32 +00:00

Polysat updates (#5524)

* Move boolean resolution into conflict_core

* Move store() into dedup functionality

* comments

* Call gc()

* Add inference_engine sketch
This commit is contained in:
Jakob Rath 2021-08-31 17:16:45 +02:00 committed by GitHub
parent d1118cb178
commit dde8fb0c37
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
8 changed files with 172 additions and 92 deletions

View file

@ -17,7 +17,28 @@ Author:
namespace polysat {
conflict_explainer::conflict_explainer(solver& s): m_solver(s) {}
bool inf_polynomial_superposition:: perform(conflict_explainer& ce) {
// TODO
return false;
}
conflict_explainer::conflict_explainer(solver& s): m_solver(s) {
inference_engines.push_back(alloc(inf_polynomial_superposition));
}
bool conflict_explainer::saturate() {
for (auto* engine : inference_engines)
if (engine->perform(*this))
return true;
return false;
}
// clause_ref conflict_explainer::resolve(pvar v, ptr_vector<constraint> const& cjust) {
// LOG_H3("Attempting to explain conflict for v" << v);