genem: implement the logic from the future journal version of ATVA19

This version of the generic emptiness-check, using smart selection and
extraction of the Fin (implemented here via fin_one_extract), was
suggested by Jan Strejček on 2020-06-26.

* spot/twaalgos/genem.cc, spot/twaalgos/genem.hh: Add the spot210
variant.  Also use it for the ACD use-case.
* spot/twaalgos/zlktree.cc (zielonka_tree): Also use the same logic
here.
* tests/python/genem.py: Test the new version as well.
This commit is contained in:
Alexandre Duret-Lutz 2021-09-10 21:30:01 +02:00
parent 7fedb3dc61
commit 9539fbcf4c
4 changed files with 51 additions and 39 deletions

View file

@ -99,6 +99,8 @@ namespace spot
/// \cite baier.19.atva , with the above bug fixed.
/// - "spot29" improves upon the worst case of atva19. This is
/// the default.
/// - "spot210" improves upon "spot29" in a few cases where a Fin
/// is shared by multiple disjuncts.
SPOT_API void
generic_emptiness_check_select_version(const char* emversion = nullptr);