3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-13 12:28:44 +00:00

BV: add missing neg internalizer

usually bvneg is eliminated during rewriting, but it can be left behind during e.g. a badly-timed timeout
This commit is contained in:
Nuno Lopes 2023-03-12 19:26:47 +00:00
parent cf4df08fd0
commit a0f3727e90
2 changed files with 3 additions and 0 deletions

View file

@ -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);
@ -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;

View file

@ -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);