mirror of
https://github.com/Z3Prover/z3
synced 2025-04-24 17:45:32 +00:00
This commit is contained in:
parent
323e0e6270
commit
0810720267
3 changed files with 5 additions and 5 deletions
|
@ -66,7 +66,7 @@ namespace lp_api {
|
|||
lp::constraint_index get_constraint(bool b) const { return m_constraints[b]; }
|
||||
|
||||
inf_rational get_value(bool is_true) const {
|
||||
if (is_true)
|
||||
if (is_true == !get_lit().sign())
|
||||
return inf_rational(m_value); // v >= value or v <= value
|
||||
if (m_is_int) {
|
||||
SASSERT(m_value.is_int());
|
||||
|
|
|
@ -382,7 +382,7 @@ namespace arith {
|
|||
updt_unassigned_bounds(v, +1);
|
||||
m_bounds_trail.push_back(v);
|
||||
m_bool_var2bound.insert(bv, b);
|
||||
TRACE("arith_verbose", tout << "Internalized " << bv << ": " << mk_pp(atom, m) << "\n";);
|
||||
TRACE("arith_verbose", tout << "Internalized " << lit << ": " << mk_pp(atom, m) << " " << *b << "\n";);
|
||||
m_new_bounds.push_back(b);
|
||||
//add_use_lists(b);
|
||||
return true;
|
||||
|
@ -583,11 +583,10 @@ namespace arith {
|
|||
if (e->is_attached_to(get_id()))
|
||||
return e->get_th_var(get_id());
|
||||
theory_var v = mk_var(e);
|
||||
TRACE("arith", tout << "fresh var: v" << v << " " << mk_pp(n, m) << "\n";);
|
||||
TRACE("arith_verbose", tout << "v" << v << " " << mk_pp(n, m) << "\n";);
|
||||
SASSERT(m_bounds.size() <= static_cast<unsigned>(v) || m_bounds[v].empty());
|
||||
reserve_bounds(v);
|
||||
ctx.attach_th_var(e, this, v);
|
||||
TRACE("arith", tout << mk_pp(n, m) << " " << v << "\n";);
|
||||
SASSERT(euf::null_theory_var != v);
|
||||
return v;
|
||||
}
|
||||
|
|
|
@ -145,7 +145,7 @@ namespace arith {
|
|||
bool v_is_int = b.is_int();
|
||||
literal lit2 = sat::null_literal;
|
||||
bool find_glb = (is_true == (k == lp_api::lower_t));
|
||||
TRACE("arith", tout << "v" << v << " find_glb: " << find_glb << " is_true: " << is_true << " k: " << k << " is_lower: " << (k == lp_api::lower_t) << "\n";);
|
||||
TRACE("arith", tout << lit1 << " v" << v << " val " << val << " find_glb: " << find_glb << " is_true: " << is_true << " k: " << k << " is_lower: " << (k == lp_api::lower_t) << "\n";);
|
||||
if (find_glb) {
|
||||
rational glb;
|
||||
api_bound* lb = nullptr;
|
||||
|
@ -187,6 +187,7 @@ namespace arith {
|
|||
m_params.push_back(parameter(m_farkas));
|
||||
m_params.push_back(parameter(rational(1)));
|
||||
m_params.push_back(parameter(rational(1)));
|
||||
TRACE("arith", tout << lit2 << " <- " << m_core << "\n";);
|
||||
assign(lit2, m_core, m_eqs, m_params);
|
||||
++m_stats.m_bounds_propagations;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue