mirror of
https://github.com/Z3Prover/z3
synced 2025-10-04 23:13:57 +00:00
alternate strategies for QF_NIA
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
517b081202
commit
36204fafa0
2 changed files with 9 additions and 6 deletions
|
@ -24,7 +24,6 @@ Notes:
|
||||||
#include "tactic/core/solve_eqs_tactic.h"
|
#include "tactic/core/solve_eqs_tactic.h"
|
||||||
#include "tactic/core/elim_uncnstr_tactic.h"
|
#include "tactic/core/elim_uncnstr_tactic.h"
|
||||||
#include "smt/tactic/smt_tactic.h"
|
#include "smt/tactic/smt_tactic.h"
|
||||||
// include"mip_tactic.h"
|
|
||||||
#include "tactic/arith/add_bounds_tactic.h"
|
#include "tactic/arith/add_bounds_tactic.h"
|
||||||
#include "tactic/arith/pb2bv_tactic.h"
|
#include "tactic/arith/pb2bv_tactic.h"
|
||||||
#include "tactic/arith/lia2pb_tactic.h"
|
#include "tactic/arith/lia2pb_tactic.h"
|
||||||
|
|
|
@ -102,13 +102,17 @@ static tactic * mk_qfnia_nlsat_solver(ast_manager & m, params_ref const & p) {
|
||||||
mk_fail_if_undecided_tactic());
|
mk_fail_if_undecided_tactic());
|
||||||
}
|
}
|
||||||
|
|
||||||
tactic * mk_qfnia_tactic(ast_manager & m, params_ref const & p) {
|
static tactic * mk_qfnia_smt_solver(ast_manager& m, params_ref const& p) {
|
||||||
params_ref simp_p = p;
|
params_ref simp_p = p;
|
||||||
simp_p.set_bool("som", true); // expand into sums of monomials
|
simp_p.set_bool("som", true); // expand into sums of monomials
|
||||||
|
return and_then(using_params(mk_simplify_tactic(m), simp_p), mk_smt_tactic());
|
||||||
|
}
|
||||||
|
|
||||||
|
tactic * mk_qfnia_tactic(ast_manager & m, params_ref const & p) {
|
||||||
|
|
||||||
return and_then(mk_qfnia_premable(m, p),
|
return and_then(mk_qfnia_premable(m, p),
|
||||||
or_else(mk_qfnia_nlsat_solver(m, p),
|
or_else(mk_qfnia_sat_solver(m, p),
|
||||||
mk_qfnia_sat_solver(m, p),
|
try_for(mk_qfnia_smt_solver(m, p), 2000),
|
||||||
and_then(using_params(mk_simplify_tactic(m), simp_p),
|
mk_qfnia_nlsat_solver(m, p),
|
||||||
mk_smt_tactic())));
|
mk_qfnia_smt_solver(m, p)));
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue