mirror of
https://github.com/Z3Prover/z3
synced 2025-10-10 17:58:06 +00:00
na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
74a2bf1588
commit
ecddaeae66
6 changed files with 33 additions and 62 deletions
|
@ -1602,7 +1602,6 @@ namespace sat {
|
|||
}
|
||||
|
||||
lbool solver::bounded_search() {
|
||||
#if 1
|
||||
lbool is_sat = l_undef;
|
||||
while (is_sat == l_undef && !should_cancel()) {
|
||||
if (inconsistent()) is_sat = resolve_conflict_core();
|
||||
|
@ -1614,26 +1613,6 @@ namespace sat {
|
|||
else if (!decide()) is_sat = final_check();
|
||||
}
|
||||
return is_sat;
|
||||
#else
|
||||
while (true) {
|
||||
checkpoint();
|
||||
bool done = false;
|
||||
while (!done) {
|
||||
lbool is_sat = propagate_and_backjump_step(done);
|
||||
if (is_sat != l_true) return is_sat;
|
||||
}
|
||||
|
||||
SASSERT(!inconsistent());
|
||||
do_gc();
|
||||
|
||||
if (!decide()) {
|
||||
lbool is_sat = final_check();
|
||||
if (is_sat != l_undef) {
|
||||
return is_sat;
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
bool solver::should_propagate() const {
|
||||
|
@ -1641,30 +1620,6 @@ namespace sat {
|
|||
}
|
||||
|
||||
|
||||
lbool solver::propagate_and_backjump_step(bool& done) {
|
||||
done = true;
|
||||
propagate(true);
|
||||
if (!inconsistent()) {
|
||||
return should_restart() ? l_undef : l_true;
|
||||
}
|
||||
if (!resolve_conflict())
|
||||
return l_false;
|
||||
if (reached_max_conflicts())
|
||||
return l_undef;
|
||||
if (should_rephase())
|
||||
do_rephase();
|
||||
if (at_base_lvl()) {
|
||||
do_cleanup(false); // cleaner may propagate frozen clauses
|
||||
if (inconsistent()) {
|
||||
TRACE("sat", tout << "conflict at level 0\n";);
|
||||
return l_false;
|
||||
}
|
||||
do_gc();
|
||||
}
|
||||
done = false;
|
||||
return l_true;
|
||||
}
|
||||
|
||||
lbool solver::final_check() {
|
||||
if (m_ext) {
|
||||
switch (m_ext->check()) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue