
Roei Nahum <roeina@nvidia.com> writes:
Spot works very well on few examples I checked, but having a hard time with the following formula, in which it runs for a very long time without finishing:
(!G(!({{a ##[1:500] b} ##[1:500] c})))
Can you please help me understand why? Is there anything I can configure differently in order to help it to be converged?
Hi Roei, ##[1:i] introduces a lot of non-determinism, and !{...} requires a deterministic automaton to complement it, so the construction is blowing up rapidly. Setting i=500 seems hopeless given the following trend: % for i in `seq 1 15`; do ltl2tgba -x wdba-minimize=0 --low -B \ "(\!G(\!({{a ##[1:$i] b} ##[1:$i] c})))" \ --stats="i=$i gives %s states in %r seconds" done i=1 gives 4 states in 0.000520668 seconds i=2 gives 7 states in 0.000590509 seconds i=3 gives 13 states in 0.0018721 seconds i=4 gives 25 states in 0.00321669 seconds i=5 gives 49 states in 0.00543848 seconds i=6 gives 97 states in 0.0105915 seconds i=7 gives 193 states in 0.0207409 seconds i=8 gives 385 states in 0.0410949 seconds i=9 gives 769 states in 0.113351 seconds i=10 gives 1537 states in 0.307374 seconds i=11 gives 3073 states in 1.10505 seconds i=12 gives 6145 states in 3.69696 seconds i=13 gives 12289 states in 10.1515 seconds i=14 gives 24577 states in 54.9003 seconds i=15 gives 49153 states in 310.364 seconds I do not know what could be done here. Alexandre