mirror of
https://github.com/Z3Prover/z3
synced 2025-04-15 21:38:44 +00:00
fix #2763
This commit is contained in:
parent
ad309e53a1
commit
86c35bc7c1
|
@ -974,6 +974,12 @@ public:
|
|||
m_arith_eq_adapter.new_diseq_eh(v1, v2);
|
||||
}
|
||||
|
||||
void apply_sort_cnstr(enode* n, sort*) {
|
||||
if (!th.is_attached_to_var(n)) {
|
||||
mk_var(n->get_owner(), false);
|
||||
}
|
||||
}
|
||||
|
||||
void push_scope_eh() {
|
||||
TRACE("arith", tout << "push\n";);
|
||||
m_scopes.push_back(scope());
|
||||
|
@ -1393,7 +1399,6 @@ public:
|
|||
|
||||
if (v == null_theory_var ||
|
||||
v >= static_cast<theory_var>(m_theory_var2var_index.size())) {
|
||||
TRACE("arith", tout << "Variable v" << v << " not internalized\n";);
|
||||
return rational::zero();
|
||||
}
|
||||
|
||||
|
@ -1402,7 +1407,6 @@ public:
|
|||
return m_variable_values[vi];
|
||||
|
||||
if (!m_solver->is_term(vi)) {
|
||||
TRACE("arith", tout << "not a term v" << v << "\n";);
|
||||
return rational::zero();
|
||||
}
|
||||
|
||||
|
@ -3591,6 +3595,9 @@ bool theory_lra::use_diseqs() const {
|
|||
void theory_lra::new_diseq_eh(theory_var v1, theory_var v2) {
|
||||
m_imp->new_diseq_eh(v1, v2);
|
||||
}
|
||||
void theory_lra::apply_sort_cnstr(enode* n, sort* s) {
|
||||
m_imp->apply_sort_cnstr(n, s);
|
||||
}
|
||||
void theory_lra::push_scope_eh() {
|
||||
theory::push_scope_eh();
|
||||
m_imp->push_scope_eh();
|
||||
|
|
|
@ -75,6 +75,8 @@ namespace smt {
|
|||
|
||||
void reset_eh() override;
|
||||
|
||||
void apply_sort_cnstr(enode * n, sort * s) override;
|
||||
|
||||
void init_model(model_generator & m) override;
|
||||
|
||||
model_value_proc * mk_value(enode * n, model_generator & mg) override;
|
||||
|
|
Loading…
Reference in a new issue