mirror of
https://github.com/Z3Prover/z3
synced 2025-04-30 20:35:51 +00:00
Polysat: conflict explanation prototype (#5353)
* display constraint's extra info in one place * Add stub for conflict explainer * Add helper functions to check whether constraint is active at base level * Add helper class tmp_assign * Add clause_builder; it skips unnecessary literals during clause creation * some fixes * Use clause_builder for forbidden intervals * remove old comments * fixes/comments in solver * print redundant clauses * First pass at conflict_explainer * remove unused model class * Choose value for k * also print min/max k
This commit is contained in:
parent
1fe7dc40fe
commit
3e1cfcd538
11 changed files with 449 additions and 60 deletions
|
@ -19,10 +19,8 @@ Author:
|
|||
namespace polysat {
|
||||
|
||||
std::ostream& eq_constraint::display(std::ostream& out) const {
|
||||
out << p() << (sign() == pos_t ? " == 0" : " != 0") << " @" << level() << " b" << bvar();
|
||||
if (is_undef())
|
||||
out << " [inactive]";
|
||||
return out;
|
||||
out << p() << (sign() == pos_t ? " == 0" : " != 0");
|
||||
return display_extra(out);
|
||||
}
|
||||
|
||||
constraint_ref eq_constraint::resolve(solver& s, pvar v) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue