mirror of
https://github.com/Z3Prover/z3
synced 2025-11-01 03:57:51 +00:00
#5532 add blocking condition for recursion.
This commit is contained in:
parent
93415740b6
commit
8c406c161e
2 changed files with 13 additions and 8 deletions
|
|
@ -21,6 +21,7 @@ Notes:
|
|||
#include "ast/ast.h"
|
||||
#include "ast/rewriter/rewriter_types.h"
|
||||
#include "ast/act_cache.h"
|
||||
#include "util/obj_hashtable.h"
|
||||
|
||||
/**
|
||||
\brief Common infrastructure for AST rewriters.
|
||||
|
|
@ -60,6 +61,7 @@ protected:
|
|||
proof_ref_vector m_result_pr_stack;
|
||||
// --------------------------
|
||||
|
||||
obj_hashtable<expr> m_blocked;
|
||||
expr * m_root;
|
||||
unsigned m_num_qvars;
|
||||
struct scope {
|
||||
|
|
@ -112,6 +114,8 @@ protected:
|
|||
void set_new_child_flag(expr * old_t, expr * new_t) { if (old_t != new_t) set_new_child_flag(old_t); }
|
||||
|
||||
void elim_reflex_prs(unsigned spos);
|
||||
void block(expr* t) { m_blocked.insert(t); }
|
||||
bool is_blocked(expr* t) const { return m_blocked.contains(t); }
|
||||
public:
|
||||
rewriter_core(ast_manager & m, bool proof_gen);
|
||||
virtual ~rewriter_core();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue