Closed facferreira closed 4 years ago
Thanks for the scenario.
@mtrberzi: it crashes with z3 smt.string_solver=z3str3
@NikolajBjorner thanks, I'll look into this one (it may be due to having no implementation of re.loop
but I'll double-check)
is there an update on the z3str3 side?
The example given is actually incomplete (no check-sat) and produces several parser errors referring to multiple declarations of several functions and sorts
Hi, I have a more or less complex example that has several expressions, but noticed that one expression involving regular expressions is slowing extremely, making Z3 timeout (given an timeout of 10s).
In the middle of the example, there is one expression
For easy reference,
If this expression is present, Z3 timeouts after 10s. However, removing that same expression makes Z3 return "unknown" with a candidate model after just 0.08s.
Also, I tried to change the 3 of re.loop to 1 and it produced a result in less than 1s. Increasing that to 2 leads to timeout. One other attempt I did, was change a!30 to (re.range "a" "z"), which Z3 returned a result in less than 1s.
So, is it normal that a relatively simple regular expression leads to timeout?
Thanks.