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:
parent
964102726d
commit
c870b77366
11 changed files with 40 additions and 11 deletions
|
@ -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);
|
||||
|
|
|
@ -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
|
||||
|
||||
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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(); }
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue