Skip to content

Commit

Permalink
smtfd solver that uses lazy iteration around fd to produce theory lemmas
Browse files Browse the repository at this point in the history
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
  • Loading branch information
NikolajBjorner committed Sep 7, 2019
1 parent e881c4a commit c476c4a
Show file tree
Hide file tree
Showing 4 changed files with 1,029 additions and 0 deletions.
4 changes: 4 additions & 0 deletions src/ast/rewriter/bv_rewriter.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2244,6 +2244,10 @@ br_status bv_rewriter::mk_bv_mul(unsigned num_args, expr * const * args, expr_re
br_status bv_rewriter::mk_bit2bool(expr * n, int idx, expr_ref & result) {
rational v, bit;
unsigned sz = 0;
if (m_util.is_mkbv(n)) {
result = to_app(n)->get_arg(idx);
return BR_DONE;
}
if (!is_numeral(n, v, sz))
return BR_FAILED;
if (idx < 0 || idx >= static_cast<int>(sz))
Expand Down
2 changes: 2 additions & 0 deletions src/tactic/fd_solver/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,10 @@ z3_add_component(fd_solver
enum2bv_solver.cpp
fd_solver.cpp
pb2bv_solver.cpp
smtfd_solver.cpp
COMPONENT_DEPENDENCIES
sat_solver
TACTIC_HEADERS
fd_solver.h
smtfd_solver.h
)
Loading

0 comments on commit c476c4a

Please sign in to comment.