mirror of
https://github.com/Z3Prover/z3
synced 2025-05-05 23:05:46 +00:00
Polysat: expand conflict explanation rules (#5366)
* update example to match slides * Add normalized view of inequalities * workaround * Add a conflict explanation rule * unit clauses should be asserted at the base level * Add src constraint to interval * support non-strict case in first rule * print conflict constraints only once * update second rule * update third rule as well
This commit is contained in:
parent
dec37aee34
commit
20a5baeb70
10 changed files with 249 additions and 159 deletions
|
@ -33,8 +33,10 @@ namespace polysat {
|
|||
clause_ref by_ugt_y();
|
||||
clause_ref by_ugt_z();
|
||||
|
||||
clause_ref y_ule_ax_and_x_ule_z();
|
||||
|
||||
p_dependency_ref null_dep() const { return m_solver.mk_dep_ref(null_dependency); }
|
||||
void push_omega_mul(clause_builder& clause, unsigned level, unsigned p, pdd const& x, pdd const& y);
|
||||
bool push_omega_mul(clause_builder& clause, unsigned level, unsigned p, pdd const& x, pdd const& y);
|
||||
public:
|
||||
conflict_explainer(solver& s, constraints_and_clauses const& conflict);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue