mirror of
https://github.com/Z3Prover/z3
synced 2026-03-06 13:24:51 +00:00
add debugging output
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
187a6b17dd
commit
3f3ac924ab
3 changed files with 23 additions and 1 deletions
|
|
@ -546,6 +546,18 @@ namespace polysat {
|
|||
return false;
|
||||
}
|
||||
|
||||
|
||||
std::ostream& operator<<(std::ostream& out, viable::explain_t e) {
|
||||
switch(e) {
|
||||
case viable::explain_t::conflict: return out << "conflict";
|
||||
case viable::explain_t::propagation: return out << "propagation";
|
||||
case viable::explain_t::assignment: return out << "assignment";
|
||||
case viable::explain_t::none: return out << "none";
|
||||
default: UNREACHABLE();
|
||||
}
|
||||
return out;
|
||||
}
|
||||
|
||||
/*
|
||||
* Explain why the current variable is not viable or
|
||||
* or why it can only have a single value.
|
||||
|
|
@ -555,6 +567,8 @@ namespace polysat {
|
|||
auto last = m_explain.back();
|
||||
auto after = last;
|
||||
|
||||
verbose_stream() << m_explain_kind << "\n";
|
||||
|
||||
if (c.inconsistent())
|
||||
verbose_stream() << "inconsistent explain\n";
|
||||
TRACE("bv", display_explain(tout));
|
||||
|
|
@ -631,7 +645,7 @@ namespace polysat {
|
|||
return result;
|
||||
}
|
||||
|
||||
dependency viable::propagate_from_containing_slice(entry* e, rational const& value, dependency_vector const& e_deps) {
|
||||
dependency viable::propagate_from_containing_slice(entry* e, rational const& value, dependency_vector const& e_deps) {
|
||||
for (auto const& slice : m_overlaps)
|
||||
if (auto d = propagate_from_containing_slice(e, value, e_deps, slice); !d.is_null())
|
||||
return d;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue