support for semi-deterministic property

* spot/twa/twa.hh (prop_semi_deterministic): New methods.
* spot/parseaut/parseaut.yy, spot/twaalgos/hoa.cc: Add support for the
semi-deterministic property.
* doc/org/concepts.org, doc/org/hoa.org: Document it.
* spot/twaalgos/isdet.cc,
spot/twaalgos/isdet.hh (is_semi_deterministic): New function.
* bin/autfilt.cc: Add --is-semi-deterministic.
* bin/common_aoutput.cc: Add --check=semi-deterministic.
* tests/core/semidet.test: New file.
* tests/Makefile.am: Add it.
* tests/core/parseaut.test, tests/core/readsave.test: Adjust.
This commit is contained in:
Alexandre Duret-Lutz 2016-12-29 16:37:43 +01:00
parent db5d9780f1
commit 4b01387817
14 changed files with 265 additions and 50 deletions

View file

@ -74,4 +74,13 @@ namespace spot
/// i.e., each state as a successor for any possible configuration.
SPOT_API bool
is_complete(const const_twa_graph_ptr& aut);
/// \brief Return true iff \a aut is semi-deterministic.
///
/// An automaton is semi-deterministic if the sub-automaton
/// reachable from any accepting SCC is deterministic.
SPOT_API bool
is_semi_deterministic(const const_twa_graph_ptr& aut);
}