mirror of
https://github.com/Z3Prover/z3
synced 2026-02-19 07:04:22 +00:00
Add selective filter on Ackerman axioms
This commit is contained in:
parent
c2a0919f79
commit
51357f6d06
5 changed files with 31 additions and 11 deletions
|
|
@ -53,17 +53,8 @@ namespace sls {
|
|||
if (!is_app(e))
|
||||
return;
|
||||
app* a = to_app(e);
|
||||
if (a->get_num_args() == 0)
|
||||
return;
|
||||
if (!is_uninterp(e)) {
|
||||
return;
|
||||
family_id fid = a->get_family_id();
|
||||
if (fid == basic_family_id)
|
||||
return;
|
||||
if (all_of(*a, [&](expr* arg) { return !is_app(arg) || fid == to_app(arg)->get_family_id(); }))
|
||||
return;
|
||||
}
|
||||
|
||||
if (!ctx.check_ackerman(a))
|
||||
return;
|
||||
auto f = a->get_decl();
|
||||
if (!m_app.contains(f))
|
||||
m_app.insert(f, ptr_vector<app>());
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue