3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-08-25 04:26:00 +00:00

fixing get-arith-vars and extraction of private variables

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2018-12-28 11:23:52 +08:00
parent 2cc3918027
commit da95fd7d83
2 changed files with 72 additions and 9 deletions

View file

@ -110,14 +110,17 @@ namespace qe {
solver_ref m_solver;
solver_ref m_dual_solver;
struct is_atom_proc;
struct is_arith_var_proc;
struct is_arith_var_proc1;
struct is_arith_var_proc2;
app_ref_vector get_arith_vars(model_ref& mdl, expr_ref_vector& lits);
app_ref_vector get_arith_vars1(model_ref& mdl, expr_ref_vector& lits);
app_ref_vector get_arith_vars2(model_ref& mdl, expr_ref_vector& lits);
bool get_literals(model_ref& mdl, expr_ref_vector& lits);
void collect_atoms(expr_ref_vector const& fmls);
void project0(model_ref& mdl, expr_ref_vector& lits);
void project(model_ref& mdl, expr_ref_vector& lits);
void order_avars(model_ref& mdl, expr_ref_vector& lits, app_ref_vector& avars);
void filter_private_arith(app_ref_vector& avars);
public:
euf_arith_mbi_plugin(solver* s, solver* emptySolver);
~euf_arith_mbi_plugin() override {}