3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-08-23 11:37:54 +00:00

port over ule_constraint

This commit is contained in:
Nikolaj Bjorner 2023-12-08 10:53:28 -08:00
parent 1465f1d974
commit 4bcd2e038f
7 changed files with 421 additions and 10 deletions

View file

@ -11,15 +11,21 @@ Author:
Jakob Rath 2021-04-06
--*/
#include "sat/smt/polysat_core.h"
#include "sat/smt/polysat_solver.h"
#include "sat/smt/polysat_constraints.h"
#include "sat/smt/polysat_ule.h"
namespace polysat {
signed_constraint constraints::ule(pdd const& p, pdd const& q) {
pdd lhs = p, rhs = q;
bool is_positive = true;
ule_constraint::simplify(is_positive, lhs, rhs);
auto* c = alloc(ule_constraint, p, q);
m_trail.push(new_obj_trail(c));
return signed_constraint(ckind_t::ule_t, c);
auto sc = signed_constraint(ckind_t::ule_t, c);
return is_positive ? sc : ~sc;
}
}