mirror of
https://github.com/Z3Prover/z3
synced 2025-04-28 19:35:50 +00:00
Add propagate/narrow for ule_constraint (#5214)
* Add helper to check whether pdd is univariate and linear * Reorganize propagate/narrow of eq_constraint * Implement propagate/narrow for ule constraints * Also push trail instruction in push_viable
This commit is contained in:
parent
12444c7e8b
commit
2fac9e6e66
6 changed files with 111 additions and 51 deletions
|
@ -386,6 +386,8 @@ namespace dd {
|
|||
bool is_one() const { return m.is_one(root); }
|
||||
bool is_zero() const { return m.is_zero(root); }
|
||||
bool is_linear() const { return m.is_linear(root); }
|
||||
/** Polynomial is of the form: a * x + b */
|
||||
bool is_unilinear() const { return !is_val() && lo().is_val() && hi().is_val(); }
|
||||
bool is_unary() const { return !is_val() && lo().is_zero() && hi().is_val(); }
|
||||
bool is_binary() const { return m.is_binary(root); }
|
||||
bool is_monomial() const { return m.is_monomial(root); }
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue