powerset: deal with accepting sinks more effectively

Part of #444.

* spot/twaalgos/powerset.cc, spot/twaalgos/powerset.hh: Implement
accepting sink handling.
* spot/twaalgos/minimize.cc (minimize_wdba): Pass sinks to
tgba_powerset.
* spot/misc/bitvect.hh: Add an interesects method.
* tests/core/ltl2tgba2.test: More tests.
* NEWS: Mention this new feature.
This commit is contained in:
Alexandre Duret-Lutz 2020-12-08 17:55:50 +01:00
parent eeaed5592f
commit 48edfd80c2
6 changed files with 75 additions and 8 deletions

View file

@ -477,4 +477,11 @@ test 28 = `ltl2tgba -D -G -S --stats=%s "$f"`
# Issue #443. This used to be too long.
f='(!(G({(a)} |=> {(b)[*32]})))'
test 34 = `ltl2tgba -B --stats=%s "$f"`
test 34,0 = `ltl2tgba -B --stats=%s,%d "$f"`
# Issue #444. Because WDBA-minimization disables itself for large
# automata, the output is only deterministic up to a certain point,
# and the goal is to raise that point.
f='(!(G({(a)} |=> {(b)[*9]})))'
test 11,1 = `ltl2tgba -B --stats=%s,%d "$f"`
f='(!(G({(a)} |=> {(b)[*10]})))'
test 12,0 = `ltl2tgba -B --stats=%s,%d "$f"`