From 87396bd648f957c4f05a9692d2e35764b1e352e3 Mon Sep 17 00:00:00 2001 From: Nikolaj Bjorner <nbjorner@microsoft.com> Date: Sat, 5 Sep 2015 11:03:35 -0700 Subject: [PATCH] fix issue #212 - don't use SAT solver core when division semantics is disabled Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com> --- src/tactic/portfolio/smt_strategic_solver.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/tactic/portfolio/smt_strategic_solver.cpp b/src/tactic/portfolio/smt_strategic_solver.cpp index b128b9b1f..f9334bcb2 100644 --- a/src/tactic/portfolio/smt_strategic_solver.cpp +++ b/src/tactic/portfolio/smt_strategic_solver.cpp @@ -38,6 +38,8 @@ Notes: #include"horn_tactic.h" #include"smt_solver.h" #include"inc_sat_solver.h" +#include"bv_rewriter.h" + tactic * mk_tactic_for_logic(ast_manager & m, params_ref const & p, symbol const & logic) { if (logic=="QF_UF") @@ -93,7 +95,8 @@ tactic * mk_tactic_for_logic(ast_manager & m, params_ref const & p, symbol const } static solver* mk_solver_for_logic(ast_manager & m, params_ref const & p, symbol const& logic) { - if (logic == "QF_BV") + bv_rewriter rw(m); + if (logic == "QF_BV" && rw.hi_div0()) return mk_inc_sat_solver(m, p); return mk_smt_solver(m, p, logic); }