3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-10 03:07:07 +00:00

Additional BV matchers

This commit is contained in:
Jakob Rath 2022-08-01 14:59:12 +02:00 committed by Nikolaj Bjorner
parent 5d858da58a
commit 2c2ab0d57a

View file

@ -342,6 +342,14 @@ public:
bool is_bv_not(expr const * e) const { return is_app_of(e, get_fid(), OP_BNOT); }
bool is_bv_ule(expr const * e) const { return is_app_of(e, get_fid(), OP_ULEQ); }
bool is_bv_sle(expr const * e) const { return is_app_of(e, get_fid(), OP_SLEQ); }
bool is_ule(expr const * e) const { return is_app_of(e, get_fid(), OP_ULEQ); }
bool is_sle(expr const * e) const { return is_app_of(e, get_fid(), OP_SLEQ); }
bool is_ult(expr const * e) const { return is_app_of(e, get_fid(), OP_ULT); }
bool is_slt(expr const * e) const { return is_app_of(e, get_fid(), OP_SLT); }
bool is_ugt(expr const * e) const { return is_app_of(e, get_fid(), OP_UGT); }
bool is_sgt(expr const * e) const { return is_app_of(e, get_fid(), OP_SGT); }
bool is_uge(expr const * e) const { return is_app_of(e, get_fid(), OP_UGEQ); }
bool is_sge(expr const * e) const { return is_app_of(e, get_fid(), OP_SGEQ); }
bool is_bit2bool(expr const * e) const { return is_app_of(e, get_fid(), OP_BIT2BOOL); }
bool is_bv2int(expr const* e) const { return is_app_of(e, get_fid(), OP_BV2INT); }
bool is_int2bv(expr const* e) const { return is_app_of(e, get_fid(), OP_INT2BV); }
@ -355,9 +363,19 @@ public:
MATCH_UNARY(is_bv_not);
MATCH_BINARY(is_bv_add);
MATCH_BINARY(is_bv_sub);
MATCH_BINARY(is_bv_mul);
MATCH_BINARY(is_bv_sle);
MATCH_BINARY(is_bv_ule);
MATCH_BINARY(is_ule);
MATCH_BINARY(is_sle);
MATCH_BINARY(is_ult);
MATCH_BINARY(is_slt);
MATCH_BINARY(is_uge);
MATCH_BINARY(is_sge);
MATCH_BINARY(is_ugt);
MATCH_BINARY(is_sgt);
MATCH_BINARY(is_bv_umul_no_ovfl);
MATCH_BINARY(is_bv_ashr);
MATCH_BINARY(is_bv_lshr);
MATCH_BINARY(is_bv_shl);