3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-08-07 03:31:23 +00:00

add facility to solve QF_NRA + QF_UF(and other theories) in joint solver to allow broader use of QF_NRA core

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2015-05-10 11:53:36 -07:00
parent 6163085ff8
commit 5063a2cdb6
2 changed files with 110 additions and 68 deletions

View file

@ -27,19 +27,23 @@ Notes:
#include"elim_uncnstr_tactic.h"
#include"simplify_tactic.h"
#include"nnf_tactic.h"
#include"tseitin_cnf_tactic.h"
tactic * mk_qfufnra_tactic(ast_manager & m, params_ref const& p) {
return and_then(and_then(mk_simplify_tactic(m, p),
params_ref main_p = p;
main_p.set_bool("elim_and", true);
main_p.set_bool("blast_distinct", true);
return and_then(and_then(using_params(mk_simplify_tactic(m, p), main_p),
mk_purify_arith_tactic(m, p),
mk_propagate_values_tactic(m, p),
mk_solve_eqs_tactic(m, p),
mk_elim_uncnstr_tactic(m, p)),
and_then(mk_elim_term_ite_tactic(m, p),
mk_solve_eqs_tactic(m, p),
mk_simplify_tactic(m, p),
mk_nnf_tactic(m, p),
using_params(mk_simplify_tactic(m, p), main_p),
mk_tseitin_cnf_core_tactic(m, p),
using_params(mk_simplify_tactic(m, p), main_p),
mk_nl_purify_tactic(m, p)));
}