You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The name of one recursive-function definition is different:
In a.txt, there is a function is called sbv.map_a99346
In b.txt, this very function is called sbv.map_532386
Note that while the names are different, the definitions of these functions are identical.
There are no other differences between the scripts.
When I run z3 on them, I get unsat immediately for a.smt2. But z3 goes into an infinite-loop with b.smt2.
I found that if I pass auto_config = false to z3, it converges on both of them quickly.
So, I do have a work-around. But If I could, I'd like to avoid using custom arguments:
I'm curious why a simple name change affects convergence. Any insights would be appreciated.
Is auto_config=false the right solution here? I'm concerned I might be giving up other features by setting this. Is there something less drastic I can do to avoid the problem?
The text was updated successfully, but these errors were encountered:
I have two SMT-Lib scripts:
These scripts are identical, except:
a.txt
, there is a function is calledsbv.map_a99346
b.txt
, this very function is calledsbv.map_532386
When I run z3 on them, I get
unsat
immediately fora.smt2
. But z3 goes into an infinite-loop withb.smt2
.I found that if I pass
auto_config = false
to z3, it converges on both of them quickly.So, I do have a work-around. But If I could, I'd like to avoid using custom arguments:
auto_config=false
the right solution here? I'm concerned I might be giving up other features by setting this. Is there something less drastic I can do to avoid the problem?The text was updated successfully, but these errors were encountered: