3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-09-07 18:21:23 +00:00

inequality::rewrite_equiv

This commit is contained in:
Jakob Rath 2023-02-09 16:33:59 +01:00
parent 06cc15d1cc
commit c60a2b10a5
2 changed files with 57 additions and 0 deletions

View file

@ -226,6 +226,18 @@ namespace polysat {
bool is_strict() const { return m_src.is_negative(); }
signed_constraint as_signed_constraint() const { return m_src; }
operator signed_constraint() const { return m_src; }
/**
* Rewrite to one of six equivalent forms:
*
* i=0 p <= q (unchanged)
* i=1 p <= p - q - 1
* i=2 q - p <= q
* i=3 q - p <= -p - 1
* i=4 -q - 1 <= -p - 1
* i=5 -q - 1 <= p - q - 1
*/
inequality rewrite_equiv(int i) const;
};
class constraint_pp {