3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-24 09:35:32 +00:00
This commit is contained in:
Jakob Rath 2022-11-28 18:11:51 +01:00
parent c488a766b5
commit a3767b177c
3 changed files with 6 additions and 3 deletions

View file

@ -137,7 +137,6 @@ namespace polysat {
return s.m_viable.intersect(p0, q0, sc);
}
unsigned umul_ovfl_constraint::hash() const {
return mk_mix(p().hash(), q().hash(), kind());
}

View file

@ -116,7 +116,7 @@ namespace polysat {
m_trail.pop_back();
}
bool viable::intersect(pdd const & p, pdd const & q, signed_constraint const& sc) {
bool viable::intersect(pdd const& p, pdd const& q, signed_constraint const& sc) {
pvar v = null_var;
bool first = true;
bool prop = false;

View file

@ -85,7 +85,11 @@ namespace polysat {
*/
bool intersect(pvar v, signed_constraint const& c);
bool intersect(pdd const & p, pdd const & q, signed_constraint const& c);
/**
* Extract remaining variable v from p and q and try updating viable state for v.
* NOTE: does not require a particular constraint type (e.g., we call this for ule_constraint and umul_ovfl_constraint)
*/
bool intersect(pdd const& p, pdd const& q, signed_constraint const& c);
/**
* Check whether variable v has any viable values left according to m_viable.