/*++ Copyright (c) 2012 Microsoft Corporation Module Name: default_tactic.cpp Abstract: General purpose tactic for the Z3 logic (when the logic is not specified). Author: Leonardo (leonardo) 2012-02-22 Notes: --*/ #include"default_tactic.h" #include"simplify_tactic.h" #include"qfbv_tactic.h" #include"smt_tactic.h" #include"qflia_tactic.h" #include"qflra_tactic.h" #include"qfnia_tactic.h" #include"qfnra_tactic.h" #include"nra_tactic.h" #include"probe_arith.h" tactic * mk_default_tactic(ast_manager & m, params_ref const & p) { tactic * st = using_params(and_then(mk_simplify_tactic(m), cond(mk_is_qfbv_probe(), mk_qfbv_tactic(m), cond(mk_is_qflia_probe(), mk_qflia_tactic(m), cond(mk_is_qflra_probe(), mk_qflra_tactic(m), cond(mk_is_qfnra_probe(), mk_qfnra_tactic(m), cond(mk_is_qfnia_probe(), mk_qfnia_tactic(m), cond(mk_is_nra_probe(), mk_nra_tactic(m), mk_smt_tactic()))))))), p); return st; }