3
0
Fork 0
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:
Nikolaj Bjorner 2025-01-29 11:42:39 -08:00
parent c2a0919f79
commit 51357f6d06
5 changed files with 31 additions and 11 deletions

View file

@ -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>());