3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-24 09:35:32 +00:00

fixes to lookahead

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2017-06-08 17:25:06 -07:00
parent 964102726d
commit c870b77366
11 changed files with 40 additions and 11 deletions

View file

@ -274,6 +274,10 @@ public:
return m_solver1->get_num_assumptions() + m_solver2->get_num_assumptions();
}
virtual expr_ref lookahead(expr_ref_vector const& candidates) {
return m_solver1->lookahead(candidates);
}
virtual expr * get_assumption(unsigned idx) const {
unsigned c1 = m_solver1->get_num_assumptions();
if (idx < c1) return m_solver1->get_assumption(idx);

View file

@ -162,9 +162,13 @@ bool solver::is_literal(ast_manager& m, expr* e) {
return is_uninterp_const(e) || (m.is_not(e, e) && is_uninterp_const(e));
}
#if 0
expr_ref solver::lookahead(expr_ref_vector const& candidates) {
std::cout << "lookahead: " << candidates.size() << "\n";
INVOKE_DEBUGGER();
ast_manager& m = candidates.get_manager();
return expr_ref(m.mk_true(), m);
}
#endif

View file

@ -176,7 +176,7 @@ public:
\brief extract a lookahead candidates for branching.
*/
virtual expr_ref lookahead(expr_ref_vector const& candidates);
virtual expr_ref lookahead(expr_ref_vector const& candidates) = 0;
/**
\brief extract learned lemmas.

View file

@ -75,6 +75,12 @@ public:
virtual expr * get_assertion(unsigned idx) const;
virtual ast_manager& get_manager() const;
virtual expr_ref lookahead(expr_ref_vector const& candidates) {
ast_manager& m = get_manager();
std::cout << "tactic2solver\n";
return expr_ref(m.mk_true(), m);
}
};
ast_manager& tactic2solver::get_manager() const { return m_assertions.get_manager(); }