3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-11-05 13:56:03 +00:00
This commit is contained in:
Nikolaj Bjorner 2022-10-26 12:06:02 -07:00
parent 1720addc4e
commit 2258b9b9b6
3 changed files with 14 additions and 4 deletions

View file

@ -224,6 +224,14 @@ namespace euf {
return;
}
// check if it is trivial
expr_mark visited;
for (expr* arg : *e) {
if (visited.is_marked(arg))
return;
visited.mark(arg);
}
static const unsigned distinct_max_args = 32;
if (sz <= distinct_max_args) {
sat::literal_vector lits;
@ -248,7 +256,8 @@ namespace euf {
func_decl_ref g(m.mk_fresh_func_decl("dist-g", "", 1, &u_ptr, srt), m);
expr_ref a(m.mk_fresh_const("a", u), m);
expr_ref_vector eqs(m);
for (expr* arg : *e) {
for (expr* arg : *e) {
expr_ref fapp(m.mk_app(f, arg), m);
expr_ref gapp(m.mk_app(g, fapp.get()), m);
expr_ref eq = mk_eq(gapp, arg);