mirror of
https://github.com/Z3Prover/z3
synced 2025-07-18 02:16:40 +00:00
add empty/full regular languages, escape sequence fixes, check cancellation inside simplifier
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
57e1d4dc1f
commit
e0215400e2
5 changed files with 91 additions and 29 deletions
|
@ -127,11 +127,11 @@ bool simplifier::get_subst(expr * n, expr_ref & r, proof_ref & p) {
|
|||
return false;
|
||||
}
|
||||
|
||||
void simplifier::reduce_core(expr * n) {
|
||||
if (!is_cached(n)) {
|
||||
void simplifier::reduce_core(expr * n1) {
|
||||
if (!is_cached(n1)) {
|
||||
// We do not assume m_todo is empty... So, we store the current size of the todo-stack.
|
||||
unsigned sz = m_todo.size();
|
||||
m_todo.push_back(n);
|
||||
m_todo.push_back(n1);
|
||||
while (m_todo.size() != sz) {
|
||||
expr * n = m_todo.back();
|
||||
if (is_cached(n))
|
||||
|
@ -142,6 +142,10 @@ void simplifier::reduce_core(expr * n) {
|
|||
m_todo.pop_back();
|
||||
reduce1(n);
|
||||
}
|
||||
if (m.canceled()) {
|
||||
cache_result(n1, n1, 0);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue