3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-24 09:35:32 +00:00

fixes to #596 and #592: use exponential step increments on integer problems, align int.to.str with canonizer and disequality checker

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2016-05-17 01:00:42 -07:00
parent 5250c3b9ed
commit ec565ae7a0
6 changed files with 289 additions and 55 deletions

View file

@ -71,12 +71,14 @@ void solver_na2as::push() {
}
void solver_na2as::pop(unsigned n) {
pop_core(n);
unsigned lvl = m_scopes.size();
SASSERT(n <= lvl);
unsigned new_lvl = lvl - n;
restore_assumptions(m_scopes[new_lvl]);
m_scopes.shrink(new_lvl);
if (n > 0) {
pop_core(n);
unsigned lvl = m_scopes.size();
SASSERT(n <= lvl);
unsigned new_lvl = lvl - n;
restore_assumptions(m_scopes[new_lvl]);
m_scopes.shrink(new_lvl);
}
}
void solver_na2as::restore_assumptions(unsigned old_sz) {