mirror of
https://github.com/Z3Prover/z3
synced 2025-05-07 07:45:46 +00:00
generalize level
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
7e7f88ae3d
commit
689c5b4e12
6 changed files with 40 additions and 18 deletions
|
@ -219,11 +219,10 @@ namespace polysat {
|
|||
return *dynamic_cast<ule_constraint const*>(this);
|
||||
}
|
||||
|
||||
std::ostream& constraint::display_extra(std::ostream& out, lbool status) const {
|
||||
std::ostream& constraint::display_extra(std::ostream& out) const {
|
||||
out << " (b";
|
||||
if (has_bvar()) { out << bvar(); } else { out << "_"; }
|
||||
out << ")";
|
||||
(void)status;
|
||||
return out;
|
||||
}
|
||||
|
||||
|
@ -261,6 +260,15 @@ namespace polysat {
|
|||
m_unit_clause = cl;
|
||||
}
|
||||
|
||||
unsigned constraint::level(solver& s) const {
|
||||
if (s.m_bvars.value(sat::literal(bvar())) != l_undef)
|
||||
return s.m_bvars.level(bvar());
|
||||
unsigned level = 0;
|
||||
for (auto v : vars())
|
||||
level = std::max(level, s.get_level(v));
|
||||
return level;
|
||||
}
|
||||
|
||||
lbool signed_constraint::bvalue(solver& s) const {
|
||||
return s.m_bvars.value(blit());
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue