Replies: 2 comments
-
many questions, some take longer to answer than others.
|
Beta Was this translation helpful? Give feedback.
-
Regarding the quantifier questions, I don't have a reference document handy, so would say that you should look at the code. |
Beta Was this translation helpful? Give feedback.
-
Hello, everyone.
I evaluated the runtime impact of some of z3's parameters
but find it difficult to make sense of several of them.
I hope you can give me some pointers.
Among the parameters that influence the runtime for some benchmark are
smt.qi.eager_threshold
,rewriter.cache_all
and
rewriter.flat
.qi.eager_threshold
I understand that this parameter influences whether or not eager quantification is applied
to a quantified formula that has just become part of the current knowledge.
Eager quantification depends on the cost of the quantifier instantiation
which is defined by the parameter
What determines the value for weight and generation?
Does a higher value for
eager_threshold
increase or decrease the likelihood of an eager instantiation?How come there is also a parameter that determines the lazy threshold?
Isn't lazy quantification the only alternative to eager instantiation?
What if a quantified formula passes the threshold
for both - lazy and eager quantification - or for neither?
rewriter.cache_all
My understanding is that the rewriter performs certain substitutions within the AST of the
SMT input as preliminary work of the actual proof.
I found an API documentation at
src/ast/rewriter/rewriter.txt
that says
Is this purely a runtime optimization within the rewriter?
Does it influence the resulting AST of the whole rewriting step?
What is a non-atomic AST? (Is it just constants and variables?)
What is a shared AST?
Thanks
Beta Was this translation helpful? Give feedback.
All reactions