minimize_wdba: fix handling of input with useless SCCs
* spot/twaalgos/minimize.cc (minimize_wdba): Diminish the color of terminal SCCs that are incomplete, as if they had a non-accepting sink as successor. * spot/twaalgos/strength.hh, spot/twaalgos/strength.cc (is_terminal_automaton): Add an option to ignore trivial SCC as we did before, since it matters for deciding membership to the guarantee class. (is_safety_mwdba): Rewrite as ... (is_safety_automaton): ... generalizating to any acceptance, and ignoring trivial SCCs. * bin/ltlfilt.cc, python/ajax/spotcgi.in, spot/tl/hierarchy.cc, tests/core/ikwiad.cc: Adjust usage of is_terminal_automaton and is_safety_automaton(). * tests/core/hierarchy.test: Add a problematic formula as test-case. * NEWS: Mention the bug.
This commit is contained in:
parent
7d9ce0d6fc
commit
c9918f6407
9 changed files with 94 additions and 50 deletions
|
|
@ -62,3 +62,7 @@ cat >expected <<EOF
|
|||
37 safety obligation persistence recurrence reactivity
|
||||
EOF
|
||||
diff out expected
|
||||
|
||||
|
||||
test B = `ltlfilt --format=%h -f '(Gb R (b xor Gb)) W (a W Xa)'`
|
||||
ltlfilt -q --safety --guarantee -f '(Gb R (b xor Gb)) W (a W Xa)'
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
// -*- coding: utf-8 -*-
|
||||
// Copyright (C) 2007-2016 Laboratoire de Recherche et Développement
|
||||
// Copyright (C) 2007-2017 Laboratoire de Recherche et Développement
|
||||
// de l'Epita (LRDE).
|
||||
// Copyright (C) 2003-2007 Laboratoire d'Informatique de Paris 6
|
||||
// (LIP6), département Systèmes Répartis Coopératifs (SRC), Université
|
||||
|
|
@ -1373,8 +1373,9 @@ checked_main(int argc, char** argv)
|
|||
}
|
||||
else
|
||||
{
|
||||
bool g = is_terminal_automaton(ensure_digraph(a));
|
||||
bool s = is_safety_mwdba(ensure_digraph(a));
|
||||
bool g = is_terminal_automaton(ensure_digraph(a),
|
||||
nullptr, true);
|
||||
bool s = is_safety_automaton(ensure_digraph(a));
|
||||
if (g && !s)
|
||||
{
|
||||
std::cout << "this is a guarantee property (hence, "
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue