mirror of
https://github.com/Z3Prover/z3
synced 2025-08-02 09:20:22 +00:00
minor
This commit is contained in:
parent
c76379c0cf
commit
a8bfd01190
2 changed files with 10 additions and 8 deletions
|
@ -34,23 +34,25 @@ namespace polysat {
|
||||||
|
|
||||||
void saturation::log_lemma(pvar v, conflict& core) {
|
void saturation::log_lemma(pvar v, conflict& core) {
|
||||||
IF_VERBOSE(2, {
|
IF_VERBOSE(2, {
|
||||||
auto const& cl = core.lemmas().back();
|
clause* cl = core.lemmas().back();
|
||||||
verbose_stream() << m_rule << " v" << v << " ";
|
verbose_stream() << m_rule << " v" << v << " ";
|
||||||
for (auto lit : *cl)
|
for (auto lit : *cl)
|
||||||
verbose_stream() << s.lit2cnstr(lit) << " ";
|
verbose_stream() << s.lit2cnstr(lit) << " ";
|
||||||
verbose_stream() << " " << *cl << "\n";
|
verbose_stream() << " " << *cl << "\n";
|
||||||
|
IF_VERBOSE(15, {
|
||||||
|
for (auto lit : *cl)
|
||||||
|
verbose_stream() << " " << lit_pp(s, lit) << "\n";
|
||||||
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
void saturation::perform(pvar v, conflict& core) {
|
void saturation::perform(pvar v, conflict& core) {
|
||||||
IF_VERBOSE(2, verbose_stream() << "v" << v << " " << core << "\n");
|
IF_VERBOSE(2, verbose_stream() << "v" << v << " " << core << "\n");
|
||||||
for (auto c : core)
|
for (signed_constraint c : core)
|
||||||
//if (perform(v, c, core)) Why stop eagerly?
|
|
||||||
// return;
|
|
||||||
perform(v, c, core);
|
perform(v, c, core);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool saturation::perform(pvar v, signed_constraint const& c, conflict& core) {
|
bool saturation::perform(pvar v, signed_constraint c, conflict& core) {
|
||||||
if (c.is_currently_true(s))
|
if (c.is_currently_true(s))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
@ -58,10 +60,10 @@ namespace polysat {
|
||||||
|
|
||||||
if (c->is_ule()) {
|
if (c->is_ule()) {
|
||||||
auto i = inequality::from_ule(c);
|
auto i = inequality::from_ule(c);
|
||||||
return try_inequality(v, i, core) | prop;
|
return try_inequality(v, i, core) || prop;
|
||||||
}
|
}
|
||||||
if (c->is_umul_ovfl())
|
if (c->is_umul_ovfl())
|
||||||
return try_umul_ovfl(v, c, core) | prop;
|
return try_umul_ovfl(v, c, core) || prop;
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -173,7 +173,7 @@ namespace polysat {
|
||||||
public:
|
public:
|
||||||
saturation(solver& s);
|
saturation(solver& s);
|
||||||
void perform(pvar v, conflict& core);
|
void perform(pvar v, conflict& core);
|
||||||
bool perform(pvar v, signed_constraint const& sc, conflict& core);
|
bool perform(pvar v, signed_constraint sc, conflict& core);
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue