Skip to content

Commit

Permalink
BV: add missing neg internalizer
Browse files Browse the repository at this point in the history
usually bvneg is eliminated during rewriting, but it can be left behind during e.g. a badly-timed timeout
  • Loading branch information
nunoplopes committed Mar 12, 2023
1 parent cf4df08 commit a0f3727
Show file tree
Hide file tree
Showing 2 changed files with 3 additions and 0 deletions.
2 changes: 2 additions & 0 deletions src/smt/theory_bv.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -811,6 +811,7 @@ namespace smt {
init_bits(e, bits);
}

MK_UNARY(internalize_neg, mk_neg);
MK_UNARY(internalize_not, mk_not);
MK_UNARY(internalize_redand, mk_redand);
MK_UNARY(internalize_redor, mk_redor);
Expand Down Expand Up @@ -895,6 +896,7 @@ namespace smt {
}
switch (term->get_decl_kind()) {
case OP_BV_NUM: internalize_num(term); return true;
case OP_BNEG: internalize_neg(term); return true;
case OP_BADD: internalize_add(term); return true;
case OP_BSUB: internalize_sub(term); return true;
case OP_BMUL: internalize_mul(term); return true;
Expand Down
1 change: 1 addition & 0 deletions src/smt/theory_bv.h
Original file line number Diff line number Diff line change
Expand Up @@ -196,6 +196,7 @@ namespace smt {
void internalize_ext_rotate_right(app * n);
void internalize_and(app * n);
void internalize_or(app * n);
void internalize_neg(app * n);
void internalize_not(app * n);
void internalize_nand(app * n);
void internalize_nor(app * n);
Expand Down

0 comments on commit a0f3727

Please sign in to comment.