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:
parent
5250c3b9ed
commit
ec565ae7a0
6 changed files with 289 additions and 55 deletions
|
@ -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) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue