mirror of
https://github.com/Z3Prover/z3
synced 2025-08-08 04:01:22 +00:00
some simplifications based on #4178
This commit is contained in:
parent
269522127b
commit
f0d33ddddb
8 changed files with 32 additions and 9 deletions
|
@ -1031,4 +1031,22 @@ void bool_rewriter::mk_nor(expr * arg1, expr * arg2, expr_ref & result) {
|
|||
mk_not(tmp, result);
|
||||
}
|
||||
|
||||
|
||||
void bool_rewriter::mk_ge2(expr* a, expr* b, expr* c, expr_ref& r) {
|
||||
if (m().is_false(a)) mk_and(b, c, r);
|
||||
else if (m().is_false(b)) mk_and(a, c, r);
|
||||
else if (m().is_false(c)) mk_and(a, b, r);
|
||||
else if (m().is_true(a)) mk_or(b, c, r);
|
||||
else if (m().is_true(b)) mk_or(a, c, r);
|
||||
else if (m().is_true(c)) mk_or(a, b, r);
|
||||
else {
|
||||
expr_ref i1(m()), i2(m()), i3(m());
|
||||
mk_and(a, b, i1);
|
||||
mk_and(a, c, i2);
|
||||
mk_and(b, c, i3);
|
||||
mk_or(i1, i2, i3, r);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
template class rewriter_tpl<bool_rewriter_cfg>;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue