3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-08-25 12:35:59 +00:00

add TODO marker in saturation for overflow rule

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2022-12-03 09:07:24 -08:00
parent 0657cdd4a7
commit 0288704a59
2 changed files with 77 additions and 2 deletions

View file

@ -44,6 +44,7 @@ namespace polysat {
bool try_ugt_z(pvar z, conflict& core, inequality const& c);
bool try_ugt_z(pvar z, conflict& core, inequality const& x_l_z0, inequality const& yz_l_xz, pdd const& y, pdd const& x);
bool try_mul_bounds(pvar x, conflict& core, inequality const& axb_l_y);
bool try_tangent(pvar v, conflict& core, inequality const& c);
// c := lhs ~ v
@ -61,8 +62,16 @@ namespace polysat {
bool verify_Xy_l_XZ(pvar y, inequality const& c, pdd const& x, pdd const& z);
// c := Y ~ Ax
bool is_Y_l_Ax(pvar x, inequality const& d, pdd& a, pdd& y);
bool verify_Y_l_Ax(pvar x, inequality const& d, pdd const& a, pdd const& y);
bool is_Y_l_Ax(pvar x, inequality const& c, pdd& a, pdd& y);
bool verify_Y_l_Ax(pvar x, inequality const& c, pdd const& a, pdd const& y);
// c := Ax ~ Y
bool is_Ax_l_Y(pvar x, inequality const& c, pdd& a, pdd& y);
bool verify_Ax_l_Y(pvar x, inequality const& c, pdd const& a, pdd const& y);
// c := Ax + B ~ Y
bool is_AxB_l_Y(pvar x, inequality const& c, pdd& a, pdd& b, pdd& y);
bool verify_AxB_l_Y(pvar x, inequality const& c, pdd const& a, pdd const& b, pdd const& y);
// c := Y*X ~ z*X
bool is_YX_l_zX(pvar z, inequality const& c, pdd& x, pdd& y);