mirror of
https://github.com/Z3Prover/z3
synced 2025-08-07 03:31:23 +00:00
python for accessing lambda, switch to theory branching for QF_LRA
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
520ea65f32
commit
2b2f016f96
4 changed files with 14 additions and 13 deletions
|
@ -409,7 +409,7 @@ namespace smt {
|
|||
m_params.m_nnf_cnf = false;
|
||||
m_params.m_arith_eq_bounds = true;
|
||||
m_params.m_arith_eq2ineq = true;
|
||||
m_params.m_phase_selection = PS_ALWAYS_FALSE;
|
||||
// m_params.m_phase_selection = PS_THEORY;
|
||||
m_params.m_restart_strategy = RS_GEOMETRIC;
|
||||
m_params.m_restart_factor = 1.5;
|
||||
m_params.m_restart_adaptive = false;
|
||||
|
@ -442,7 +442,7 @@ namespace smt {
|
|||
}
|
||||
}
|
||||
m_params.m_arith_eq_bounds = true;
|
||||
m_params.m_phase_selection = PS_ALWAYS_FALSE;
|
||||
// m_params.m_phase_selection = PS_THEORY;
|
||||
m_params.m_restart_strategy = RS_GEOMETRIC;
|
||||
m_params.m_restart_factor = 1.5;
|
||||
m_params.m_restart_adaptive = false;
|
||||
|
@ -456,13 +456,14 @@ namespace smt {
|
|||
}
|
||||
|
||||
void setup::setup_QF_LRA() {
|
||||
TRACE("setup", tout << "setup_QF_LRA(st)\n";);
|
||||
TRACE("setup", tout << "setup_QF_LRA()\n";);
|
||||
m_params.m_relevancy_lvl = 0;
|
||||
m_params.m_arith_eq2ineq = true;
|
||||
m_params.m_arith_reflect = false;
|
||||
m_params.m_arith_propagate_eqs = false;
|
||||
m_params.m_eliminate_term_ite = true;
|
||||
m_params.m_nnf_cnf = false;
|
||||
m_params.m_phase_selection = PS_THEORY;
|
||||
setup_lra_arith();
|
||||
}
|
||||
|
||||
|
|
|
@ -944,10 +944,6 @@ public:
|
|||
if (!m_bool_var2bound.find(v, b)) {
|
||||
return l_undef;
|
||||
}
|
||||
scoped_internalize_state st(*this);
|
||||
st.vars().push_back(b->get_var());
|
||||
st.coeffs().push_back(rational::one());
|
||||
init_left_side(st);
|
||||
lp::lconstraint_kind k = lp::EQ;
|
||||
switch (b->get_bound_kind()) {
|
||||
case lp_api::lower_t:
|
||||
|
@ -956,10 +952,11 @@ public:
|
|||
case lp_api::upper_t:
|
||||
k = lp::LE;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
auto vi = get_var_index(b->get_var());
|
||||
rational bound = b->get_value();
|
||||
return m_solver->compare_values(vi, k, bound) ? l_true : l_false;
|
||||
return m_solver->compare_values(vi, k, b->get_value()) ? l_true : l_false;
|
||||
}
|
||||
|
||||
void new_eq_eh(theory_var v1, theory_var v2) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue