Commit 68a155a8 authored by Alexandre Duret-Lutz's avatar Alexandre Duret-Lutz
Browse files

Büchi translation should not go through fg_safety_to_dca_maybe()

Fixes #366, reported by Simon Jantsch.

* spot/twaalgos/translate.cc: type_&Generic will also match if
type_==BA... use type_==Generic instead.
* tests/core/unambig.test: Add a test corresponding to Simon's report.
* NEWS: Describe the bug.
parent 92369d68
New in spot 2.6.2.dev (not yet released)
Nothing yet.
Bugs fixed:
- Running "ltl2tgba -B" on formulas of the type FG(safety) would
unexpectedly use a co-Büchi automaton as an intermediate step.
This in turn caused "ltl2tgba -U -B" to not produce unambiguous
automata.
New in spot 2.6.2 (2018-09-28)
......
......@@ -322,7 +322,8 @@ namespace spot
if (aut2 && ((type_ == BA) || (type_ & Parity))
&& (pref_ & Deterministic))
return finalize(aut2);
if (!aut2 && (type_ & (Generic | Parity | CoBuchi)))
if (!aut2 && (type_ == Generic
|| type_ & (Parity | CoBuchi)))
{
aut2 = fg_safety_to_dca_maybe(r, simpl_->get_dict(), sba);
if (aut2
......
......@@ -26,6 +26,7 @@ for f in 'Ga' \
'Ga | Gb' \
'Ga | GFb' \
'Ga | FGb' \
'F(Ga | Gb)' \
'XFGa | GFb | Gc' \
'(Ga -> Gb) W c' \
'F(a & !b & (!c W b))' \
......@@ -33,6 +34,8 @@ for f in 'Ga' \
do
ltl2tgba -UH "$f" | autfilt -q --is-unambiguous
ltl2tgba -UH "!($f)" | autfilt -q --is-unambiguous
ltl2tgba -BUH "$f" | autfilt -q --is-unambiguous
ltl2tgba -BUH "!($f)" | autfilt -q --is-unambiguous
ltl2tgba -UH "$f" | autfilt --check |
grep -E 'properties:.* (unambiguous|deterministic)'
ltl2tgba -UH "!($f)" | autfilt --check |
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment