mirror of
https://github.com/Z3Prover/z3
synced 2025-05-02 13:27:01 +00:00
revise bv-bounds-tactic
- share common functionality - rename propagate-bv-bounds-new to propagate-bv-bound2 for now - expose configuration options in bounds propagation
This commit is contained in:
parent
e2a6376ddf
commit
dbc299efbb
4 changed files with 341 additions and 421 deletions
|
@ -542,6 +542,10 @@ class expr_substitution_simplifier : public dom_simplifier {
|
|||
public:
|
||||
expr_substitution_simplifier(ast_manager& m): m(m), m_subst(m), m_scoped_substitution(m_subst), m_trail(m) {}
|
||||
|
||||
void updt_params(params_ref const & p) override {}
|
||||
|
||||
void collect_param_descrs(param_descrs& r) override {}
|
||||
|
||||
bool assert_expr(expr * t, bool sign) override {
|
||||
expr* tt;
|
||||
if (m.is_not(t, tt))
|
||||
|
|
|
@ -105,9 +105,13 @@ class dom_simplifier {
|
|||
virtual dom_simplifier * translate(ast_manager & m) = 0;
|
||||
|
||||
virtual unsigned scope_level() const = 0;
|
||||
|
||||
|
||||
virtual void updt_params(params_ref const & p) = 0;
|
||||
|
||||
virtual void collect_param_descrs(param_descrs& r) = 0;
|
||||
};
|
||||
|
||||
|
||||
class dom_simplify_tactic : public tactic {
|
||||
ast_manager& m;
|
||||
dom_simplifier* m_simplifier;
|
||||
|
@ -156,13 +160,13 @@ public:
|
|||
char const* name() const override { return "dom_simplify"; }
|
||||
|
||||
tactic * translate(ast_manager & m) override;
|
||||
void updt_params(params_ref const & p) override {}
|
||||
static void get_param_descrs(param_descrs & r) {}
|
||||
void collect_param_descrs(param_descrs & r) override { get_param_descrs(r); }
|
||||
void updt_params(params_ref const & p) override { m_simplifier->updt_params(p); }
|
||||
void collect_param_descrs(param_descrs & r) override { m_simplifier->collect_param_descrs(r); }
|
||||
void operator()(goal_ref const & in, goal_ref_buffer & result) override;
|
||||
void cleanup() override;
|
||||
};
|
||||
|
||||
|
||||
tactic * mk_dom_simplify_tactic(ast_manager & m, params_ref const & p = params_ref());
|
||||
|
||||
/*
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue