introduce is_inherently_weak_automaton()
* spot/twaalgos/strength.cc, spot/twaalgos/strength.hh (is_inherently_weak_automaton): New function. (is_type_automaton): Adjust to implement the above and set prop_inherently_weak(). * spot/twaalgos/isweakscc.cc, spot/twaalgos/isweakscc.hh: Rewrite is_inherently_weak_scc() to not enumerate cycles. * spot/bin/autfilt.cc: Add a --is-inherently-weak option. * spot/tests/readsave.test: More tests. * spot/tests/strength.test: Adjust expected output. * doc/org/hoa.org: Adjust documentation of --check. * NEWS: Mention those changes.
This commit is contained in:
parent
0edb2ad066
commit
1f2260f971
9 changed files with 154 additions and 70 deletions
|
|
@ -26,6 +26,11 @@ namespace spot
|
|||
/// \addtogroup twa_misc
|
||||
/// @{
|
||||
|
||||
/// \brief Whether the SCC number \a scc in \a map has a rejecting
|
||||
/// cycle.
|
||||
SPOT_API bool
|
||||
scc_has_rejecting_cycle(scc_info& map, unsigned scc);
|
||||
|
||||
/// \brief Whether the SCC number \a scc in \a map is inherently
|
||||
/// weak.
|
||||
///
|
||||
|
|
@ -34,13 +39,6 @@ namespace spot
|
|||
///
|
||||
/// Note the terminal SCCs are also inherently weak with that
|
||||
/// definition.
|
||||
///
|
||||
/// The absence of accepting cycle is easy to check (the scc_info
|
||||
/// object can tell whether the SCC is non-accepting already).
|
||||
/// Similarly, an SCC in which all transitions belong to all
|
||||
/// acceptance sets is necessarily weak. For other accepting SCCs,
|
||||
/// this function enumerates all cycles in the given SCC (it stops
|
||||
/// if it find a non-accepting cycle).
|
||||
SPOT_API bool
|
||||
is_inherently_weak_scc(scc_info& map, unsigned scc);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue