implement is_liveness() and is_liveness_automaton()

* spot/twaalgos/strength.cc, spot/twaalgos/strength.hh,
spot/tl/hierarchy.cc, spot/tl/hierarchy.hh: Here.
* bin/ltlfilt.cc (--liveness): New filter.
* NEWS: Mention those.
* tests/core/ltlfilt.test, tests/python/ltlsimple.py: Add test cases.
This commit is contained in:
Alexandre Duret-Lutz 2018-10-15 21:35:09 +02:00
parent d2316b1428
commit d94efe9fe1
8 changed files with 63 additions and 11 deletions

View file

@ -700,11 +700,12 @@ namespace
if (matched && (obligation || recurrence || persistence
|| !opt->acc_words.empty()
|| !opt->rej_words.empty()))
|| !opt->rej_words.empty()
|| liveness))
{
spot::twa_graph_ptr aut = nullptr;
if (!opt->acc_words.empty() || !opt->rej_words.empty())
if (!opt->acc_words.empty() || !opt->rej_words.empty() || liveness)
{
aut = ltl_to_tgba_fm(f, simpl.get_dict(), true);
@ -724,6 +725,7 @@ namespace
break;
}
matched &= !liveness || is_liveness_automaton(aut);
}
// Some combinations of options can be simplified.