mirror of
https://github.com/Z3Prover/z3
synced 2025-07-19 10:52:02 +00:00
parent
794c09425e
commit
2989d9c241
2 changed files with 6 additions and 1 deletions
|
@ -3681,7 +3681,7 @@ namespace sat {
|
||||||
SASSERT(num_scopes <= scope_lvl());
|
SASSERT(num_scopes <= scope_lvl());
|
||||||
unsigned new_lvl = scope_lvl() - num_scopes;
|
unsigned new_lvl = scope_lvl() - num_scopes;
|
||||||
scope & s = m_scopes[new_lvl];
|
scope & s = m_scopes[new_lvl];
|
||||||
m_inconsistent = false;
|
m_inconsistent = false; // TBD: use model seems to make this redundant: s.m_inconsistent;
|
||||||
unassign_vars(s.m_trail_lim, new_lvl);
|
unassign_vars(s.m_trail_lim, new_lvl);
|
||||||
m_scope_lvl -= num_scopes;
|
m_scope_lvl -= num_scopes;
|
||||||
m_scopes.shrink(new_lvl);
|
m_scopes.shrink(new_lvl);
|
||||||
|
@ -3766,6 +3766,7 @@ namespace sat {
|
||||||
//
|
//
|
||||||
|
|
||||||
void solver::user_push() {
|
void solver::user_push() {
|
||||||
|
pop_to_base_level();
|
||||||
literal lit;
|
literal lit;
|
||||||
bool_var new_v = mk_var(true, false);
|
bool_var new_v = mk_var(true, false);
|
||||||
lit = literal(new_v, false);
|
lit = literal(new_v, false);
|
||||||
|
|
|
@ -572,6 +572,10 @@ public:
|
||||||
private:
|
private:
|
||||||
|
|
||||||
lbool internalize_goal(goal_ref& g, dep2asm_t& dep2asm, bool is_lemma) {
|
lbool internalize_goal(goal_ref& g, dep2asm_t& dep2asm, bool is_lemma) {
|
||||||
|
m_solver.pop_to_base_level();
|
||||||
|
if (m_solver.inconsistent())
|
||||||
|
return l_false;
|
||||||
|
|
||||||
m_pc.reset();
|
m_pc.reset();
|
||||||
m_subgoals.reset();
|
m_subgoals.reset();
|
||||||
init_preprocess();
|
init_preprocess();
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue