mirror of
https://github.com/Z3Prover/z3
synced 2025-04-24 01:25:31 +00:00
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
016732aa59
commit
39edf73e78
16 changed files with 222 additions and 162 deletions
|
@ -779,3 +779,20 @@ expr_ref arith_util::mk_add_simplify(unsigned sz, expr* const* args) {
|
|||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
bool arith_util::is_considered_uninterpreted(func_decl* f, unsigned n, expr* const* args) {
|
||||
rational r;
|
||||
if (is_decl_of(f, m_afid, OP_DIV) && is_numeral(args[1], r) && r.is_zero()) {
|
||||
return true;
|
||||
}
|
||||
if (is_decl_of(f, m_afid, OP_IDIV) && is_numeral(args[1], r) && r.is_zero()) {
|
||||
return true;
|
||||
}
|
||||
if (is_decl_of(f, m_afid, OP_MOD) && is_numeral(args[1], r) && r.is_zero()) {
|
||||
return true;
|
||||
}
|
||||
if (is_decl_of(f, m_afid, OP_REM) && is_numeral(args[1], r) && r.is_zero()) {
|
||||
return true;
|
||||
}
|
||||
return plugin().is_considered_uninterpreted(f);
|
||||
}
|
||||
|
|
|
@ -442,6 +442,9 @@ public:
|
|||
|
||||
expr_ref mk_add_simplify(expr_ref_vector const& args);
|
||||
expr_ref mk_add_simplify(unsigned sz, expr* const* args);
|
||||
|
||||
bool is_considered_uninterpreted(func_decl* f, unsigned n, expr* const* args);
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue