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:
parent
6163085ff8
commit
5063a2cdb6
2 changed files with 110 additions and 68 deletions
|
@ -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)));
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue