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

remove lazy push from theory_lra

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2020-08-30 12:07:14 -07:00
parent 9b5dc0ca26
commit 727ea43b16
7 changed files with 71 additions and 61 deletions

View file

@ -4072,19 +4072,15 @@ void theory_lra::init() {
m_imp->init();
}
bool theory_lra::internalize_atom(app * atom, bool gate_ctx) {
force_push();
return m_imp->internalize_atom(atom, gate_ctx);
}
bool theory_lra::internalize_term(app * term) {
force_push();
return m_imp->internalize_term(term);
}
void theory_lra::internalize_eq_eh(app * atom, bool_var v) {
force_push();
m_imp->internalize_eq_eh(atom, v);
}
void theory_lra::assign_eh(bool_var v, bool is_true) {
force_push();
m_imp->assign_eh(v, is_true);
}
lbool theory_lra::get_phase(bool_var v) {
@ -4097,22 +4093,16 @@ bool theory_lra::use_diseqs() const {
return m_imp->use_diseqs();
}
void theory_lra::new_diseq_eh(theory_var v1, theory_var v2) {
force_push();
m_imp->new_diseq_eh(v1, v2);
}
void theory_lra::apply_sort_cnstr(enode* n, sort* s) {
force_push();
m_imp->apply_sort_cnstr(n, s);
}
void theory_lra::push_scope_eh() {
if (lazy_push())
return;
theory::push_scope_eh();
m_imp->push_scope_eh();
}
void theory_lra::pop_scope_eh(unsigned num_scopes) {
if (lazy_pop(num_scopes))
return;
m_imp->pop_scope_eh(num_scopes);
theory::pop_scope_eh(num_scopes);
}
@ -4126,7 +4116,6 @@ void theory_lra::init_search_eh() {
m_imp->init_search_eh();
}
final_check_status theory_lra::final_check_eh() {
force_push();
return m_imp->final_check_eh();
}
bool theory_lra::is_shared(theory_var v) const {
@ -4136,7 +4125,6 @@ bool theory_lra::can_propagate() {
return m_imp->can_propagate();
}
void theory_lra::propagate() {
force_push();
m_imp->propagate();
}
justification * theory_lra::why_is_diseq(theory_var v1, theory_var v2) {