3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-23 09:05:31 +00:00

improve parser error message over API, streamline names of statistics for arithmetic solver

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2016-12-25 17:27:56 -08:00
parent c44dd01292
commit 2bd29548da
8 changed files with 54 additions and 25 deletions

View file

@ -350,8 +350,10 @@ namespace opt {
for (unsigned i = 0; i < m_soft_constraints.size(); ++i) {
expr* e = m_soft_constraints[i];
bool is_not = m.is_not(e, e);
out << mk_pp(e, m)
<< ((is_not != get_assignment(i))?" |-> true\n":" |-> false\n");
out << m_weights[i] << ": " << mk_pp(e, m)
<< ((is_not != get_assignment(i))?" |-> true ":" |-> false ")
<< "\n";
}
}

View file

@ -792,10 +792,14 @@ namespace opt {
arg = mk_not(m, arg);
offset -= weight;
}
if (m.is_true(arg) || weight.is_zero()) {
if (m.is_true(arg)) {
IF_VERBOSE(1, verbose_stream() << weight << ": " << mk_pp(m_objectives[index].m_terms[i].get(), m) << " |-> true\n";);
}
else if (weight.is_zero()) {
// skip
}
else if (m.is_false(arg)) {
IF_VERBOSE(1, verbose_stream() << weight << ": " << mk_pp(m_objectives[index].m_terms[i].get(), m) << " |-> false\n";);
offset += weight;
}
else {

View file

@ -47,6 +47,7 @@ namespace opt {
m_first(true),
m_was_unknown(false) {
m_params.updt_params(p);
std::cout << "Case split strategy " << m_params.m_case_split_strategy << "\n";
if (m_params.m_case_split_strategy == CS_ACTIVITY_DELAY_NEW) {
m_params.m_relevancy_lvl = 0;
}