mirror of
https://github.com/Z3Prover/z3
synced 2025-06-25 07:13:41 +00:00
trace reason for undef in arithmetic, enable model generation on THEORY incompleteness, but retain undef result
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
4995ce1fde
commit
9412890c63
4 changed files with 11 additions and 5 deletions
|
@ -3945,7 +3945,7 @@ namespace smt {
|
||||||
m_fingerprints.display(tout);
|
m_fingerprints.display(tout);
|
||||||
);
|
);
|
||||||
failure fl = get_last_search_failure();
|
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.
|
// don't generate model.
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1274,8 +1274,10 @@ namespace smt {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
while (m_final_check_idx != old_idx);
|
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;
|
result = FC_GIVEUP;
|
||||||
|
}
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1294,8 +1294,10 @@ namespace smt {
|
||||||
}
|
}
|
||||||
tout << "max: " << max << ", min: " << min << "\n";);
|
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;
|
return FC_GIVEUP;
|
||||||
|
}
|
||||||
|
|
||||||
if (!gcd_test())
|
if (!gcd_test())
|
||||||
return FC_CONTINUE;
|
return FC_CONTINUE;
|
||||||
|
|
|
@ -2314,8 +2314,10 @@ namespace smt {
|
||||||
return FC_DONE;
|
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;
|
return FC_GIVEUP;
|
||||||
|
}
|
||||||
|
|
||||||
TRACE("process_non_linear", display(tout););
|
TRACE("process_non_linear", display(tout););
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue