mirror of
https://github.com/Z3Prover/z3
synced 2025-08-30 23:10:08 +00:00
merge with unstable
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
commit
c706e91019
18 changed files with 49 additions and 38 deletions
|
@ -1616,6 +1616,8 @@ namespace smt {
|
|||
unsigned qhead = m_qhead;
|
||||
if (!bcp())
|
||||
return false;
|
||||
if (m_cancel_flag)
|
||||
return true;
|
||||
SASSERT(!inconsistent());
|
||||
propagate_relevancy(qhead);
|
||||
if (inconsistent())
|
||||
|
@ -3950,7 +3952,7 @@ namespace smt {
|
|||
m_fingerprints.display(tout);
|
||||
);
|
||||
failure fl = get_last_search_failure();
|
||||
if (fl == TIMEOUT || fl == MEMOUT || fl == CANCELED || fl == NUM_CONFLICTS || fl == THEORY) {
|
||||
if (fl == TIMEOUT || fl == MEMOUT || fl == CANCELED || fl == NUM_CONFLICTS) {
|
||||
// don't generate model.
|
||||
return;
|
||||
}
|
||||
|
|
|
@ -1274,8 +1274,10 @@ namespace smt {
|
|||
}
|
||||
}
|
||||
while (m_final_check_idx != old_idx);
|
||||
if (result == FC_DONE && m_found_unsupported_op)
|
||||
if (result == FC_DONE && m_found_unsupported_op) {
|
||||
TRACE("arith", tout << "Found unsupported operation\n";);
|
||||
result = FC_GIVEUP;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
|
|
|
@ -1299,8 +1299,10 @@ namespace smt {
|
|||
}
|
||||
tout << "max: " << max << ", min: " << min << "\n";);
|
||||
|
||||
if (m_params.m_arith_ignore_int)
|
||||
if (m_params.m_arith_ignore_int) {
|
||||
TRACE("arith", tout << "Ignore int: give up\n";);
|
||||
return FC_GIVEUP;
|
||||
}
|
||||
|
||||
if (!gcd_test())
|
||||
return FC_CONTINUE;
|
||||
|
|
|
@ -2314,13 +2314,15 @@ namespace smt {
|
|||
return FC_DONE;
|
||||
}
|
||||
|
||||
if (!m_params.m_nl_arith)
|
||||
if (!m_params.m_nl_arith) {
|
||||
TRACE("non_linear", tout << "Non-linear is not enabled\n";);
|
||||
return FC_GIVEUP;
|
||||
}
|
||||
|
||||
TRACE("process_non_linear", display(tout););
|
||||
|
||||
if (m_nl_rounds > m_params.m_nl_arith_rounds) {
|
||||
TRACE("non_linear", tout << "GIVE UP non linear problem...\n";);
|
||||
TRACE("non_linear", tout << "GIVEUP non linear problem...\n";);
|
||||
IF_VERBOSE(3, verbose_stream() << "Max. non linear arithmetic rounds. Increase threshold using NL_ARITH_ROUNDS=<limit>\n";);
|
||||
return FC_GIVEUP;
|
||||
}
|
||||
|
|
|
@ -1066,11 +1066,8 @@ template<typename Ext>
|
|||
void theory_diff_logic<Ext>::get_eq_antecedents(
|
||||
theory_var v1, theory_var v2, unsigned timestamp, conflict_resolution & cr) {
|
||||
imp_functor functor(cr);
|
||||
bool r;
|
||||
r = m_graph.find_shortest_zero_edge_path(v1, v2, timestamp, functor);
|
||||
SASSERT(r);
|
||||
r = m_graph.find_shortest_zero_edge_path(v2, v1, timestamp, functor);
|
||||
SASSERT(r);
|
||||
VERIFY(m_graph.find_shortest_zero_edge_path(v1, v2, timestamp, functor));
|
||||
VERIFY(m_graph.find_shortest_zero_edge_path(v2, v1, timestamp, functor));
|
||||
}
|
||||
|
||||
template<typename Ext>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue