mirror of
https://github.com/Z3Prover/z3
synced 2025-04-29 20:05:51 +00:00
optimizing pb
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
e2db1418f9
commit
e180cfe256
7 changed files with 247 additions and 314 deletions
|
@ -50,13 +50,15 @@ struct is_non_qffpa_predicate {
|
|||
|
||||
void operator()(app * n) {
|
||||
sort * s = get_sort(n);
|
||||
if (!m.is_bool(s) && !(u.is_float(s) || u.is_rm(s)))
|
||||
if (!(m.is_bool(s) || u.is_float(s) || u.is_rm(s)))
|
||||
throw found();
|
||||
family_id fid = s->get_family_id();
|
||||
family_id fid = n->get_family_id();
|
||||
if (fid == m.get_basic_family_id())
|
||||
return;
|
||||
if (fid == u.get_family_id())
|
||||
return;
|
||||
if (is_uninterp_const(n))
|
||||
return;
|
||||
|
||||
throw found();
|
||||
}
|
||||
|
@ -76,13 +78,15 @@ struct is_non_qffpabv_predicate {
|
|||
|
||||
void operator()(app * n) {
|
||||
sort * s = get_sort(n);
|
||||
if (!m.is_bool(s) && !(fu.is_float(s) || fu.is_rm(s) || bu.is_bv_sort(s)))
|
||||
if (!(m.is_bool(s) || fu.is_float(s) || fu.is_rm(s) || bu.is_bv_sort(s)))
|
||||
throw found();
|
||||
family_id fid = s->get_family_id();
|
||||
family_id fid = n->get_family_id();
|
||||
if (fid == m.get_basic_family_id())
|
||||
return;
|
||||
if (fid == fu.get_family_id() || fid == bu.get_family_id())
|
||||
return;
|
||||
if (is_uninterp_const(n))
|
||||
return;
|
||||
|
||||
throw found();
|
||||
}
|
||||
|
@ -109,4 +113,4 @@ probe * mk_is_qffpa_probe() {
|
|||
probe * mk_is_qffpabv_probe() {
|
||||
return alloc(is_qffpabv_probe);
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue