mirror of
https://github.com/Z3Prover/z3
synced 2025-09-02 08:10:43 +00:00
tune q-eval and q-ematch
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
92c1b600c3
commit
da124e4275
7 changed files with 119 additions and 36 deletions
|
@ -18,6 +18,7 @@ Author:
|
|||
|
||||
#include "util/obj_hashtable.h"
|
||||
#include "ast/ast_trail.h"
|
||||
#include "ast/rewriter/der.h"
|
||||
#include "sat/smt/sat_th.h"
|
||||
#include "sat/smt/q_mbi.h"
|
||||
#include "sat/smt/q_ematch.h"
|
||||
|
@ -47,6 +48,7 @@ namespace q {
|
|||
sat::literal_vector m_universal;
|
||||
obj_map<sort, expr*> m_unit_table;
|
||||
expr_ref_vector m_expanded;
|
||||
der_rewriter m_der;
|
||||
|
||||
sat::literal instantiate(quantifier* q, bool negate, std::function<expr* (quantifier*, unsigned)>& mk_var);
|
||||
sat::literal skolemize(quantifier* q);
|
||||
|
@ -54,7 +56,9 @@ namespace q {
|
|||
void init_units();
|
||||
expr* get_unit(sort* s);
|
||||
|
||||
expr_ref_vector const& expand(quantifier* q);
|
||||
bool expand(quantifier* q);
|
||||
bool split(expr* arg, expr_ref& e1, expr_ref& e2);
|
||||
bool is_literal(expr* arg);
|
||||
|
||||
friend class ematch;
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue