mirror of
https://github.com/Z3Prover/z3
synced 2025-04-24 09:35:32 +00:00
integrate v2 of lns
This commit is contained in:
parent
dfb7c87448
commit
0ec567fe15
18 changed files with 254 additions and 105 deletions
|
@ -136,6 +136,9 @@ public:
|
|||
}
|
||||
|
||||
void set_phase(expr* e) override { m_solver1->set_phase(e); m_solver2->set_phase(e); }
|
||||
solver::phase* get_phase() override { auto* p = m_solver1->get_phase(); if (!p) p = m_solver2->get_phase(); return p; }
|
||||
void set_phase(solver::phase* p) override { m_solver1->set_phase(p); m_solver2->set_phase(p); }
|
||||
void move_to_front(expr* e) override { m_solver1->move_to_front(e); m_solver2->move_to_front(e); }
|
||||
|
||||
void updt_params(params_ref const & p) override {
|
||||
solver::updt_params(p);
|
||||
|
|
|
@ -112,6 +112,14 @@ public:
|
|||
}
|
||||
|
||||
virtual void set_phase(expr* e) = 0;
|
||||
virtual void move_to_front(expr* e) = 0;
|
||||
|
||||
class phase { public: virtual ~phase() {} };
|
||||
|
||||
virtual phase* get_phase() = 0;
|
||||
|
||||
virtual void set_phase(phase* p) = 0;
|
||||
|
||||
|
||||
void assert_expr(ptr_vector<expr> const& ts) {
|
||||
for (expr* e : ts) assert_expr(e);
|
||||
|
|
|
@ -69,6 +69,9 @@ public:
|
|||
|
||||
solver* base_solver() { return m_base.get(); }
|
||||
void set_phase(expr* e) override { m_base->set_phase(e); }
|
||||
phase* get_phase() override { return m_base->get_phase(); }
|
||||
void set_phase(phase* p) override { m_base->set_phase(p); }
|
||||
void move_to_front(expr* e) override { m_base->move_to_front(e); }
|
||||
|
||||
solver* translate(ast_manager& m, params_ref const& p) override { UNREACHABLE(); return nullptr; }
|
||||
void updt_params(params_ref const& p) override {
|
||||
|
|
|
@ -80,6 +80,9 @@ public:
|
|||
unsigned get_num_assertions() const override;
|
||||
expr * get_assertion(unsigned idx) const override;
|
||||
void set_phase(expr* e) override { }
|
||||
phase* get_phase() override { return nullptr; }
|
||||
void set_phase(phase* p) override { }
|
||||
void move_to_front(expr* e) override { }
|
||||
|
||||
|
||||
expr_ref_vector cube(expr_ref_vector& vars, unsigned ) override {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue