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
|
|
@ -38,7 +38,7 @@ namespace spot
|
|||
|
||||
/// \brief Whether an automaton is weak.
|
||||
///
|
||||
/// An automaton is weak if if any given SCC, all transitions belong
|
||||
/// An automaton is weak if in any given SCC, all transitions belong
|
||||
/// to the same acceptance sets.
|
||||
///
|
||||
/// \param aut the automaton to check
|
||||
|
|
@ -48,6 +48,19 @@ namespace spot
|
|||
SPOT_API bool
|
||||
is_weak_automaton(const const_twa_graph_ptr& aut, scc_info* sm = nullptr);
|
||||
|
||||
/// \brief Whether an automaton is inherently weak.
|
||||
///
|
||||
/// An automaton is inherently weak if in any given SCC, there
|
||||
/// are only accepting cycles, or only rejecting cycles.
|
||||
///
|
||||
/// \param aut the automaton to check
|
||||
///
|
||||
/// \param sm an scc_info object for the automaton if available (it
|
||||
/// will be built otherwise).
|
||||
SPOT_API bool
|
||||
is_inherently_weak_automaton(const const_twa_graph_ptr& aut,
|
||||
scc_info* sm = nullptr);
|
||||
|
||||
/// \brief Whether a minimized WDBA represents a safety property.
|
||||
///
|
||||
/// A minimized WDBA (as returned by a successful run of
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue