work around issue #317
* spot/twaalgos/cobuchi.cc: Call sbacc() on transition-based input. * tests/Makefile.am: Remove XFAIL_TESTS. * NEWS: Adjust.
This commit is contained in:
parent
61b0a542f1
commit
c920825fad
3 changed files with 19 additions and 5 deletions
5
NEWS
5
NEWS
|
|
@ -33,7 +33,8 @@ New in spot 2.4.4.dev (net yet released)
|
||||||
- ltl2tgba, autfilt, and dstar2tgba have some new '--cobuchi' option
|
- ltl2tgba, autfilt, and dstar2tgba have some new '--cobuchi' option
|
||||||
to force co-Büchi acceptance on the output. Beware: if the input
|
to force co-Büchi acceptance on the output. Beware: if the input
|
||||||
language is not co-Büchi realizable the output automaton will
|
language is not co-Büchi realizable the output automaton will
|
||||||
recognize a superset of the input.
|
recognize a superset of the input. Currently, the output is
|
||||||
|
always state-based.
|
||||||
|
|
||||||
- genltl learned to generate six new families of formulas, taken from
|
- genltl learned to generate six new families of formulas, taken from
|
||||||
the SYNTCOMP competition on reactive synthesis, and from from
|
the SYNTCOMP competition on reactive synthesis, and from from
|
||||||
|
|
@ -97,7 +98,7 @@ New in spot 2.4.4.dev (net yet released)
|
||||||
these four functions. The language of produced automata include
|
these four functions. The language of produced automata include
|
||||||
the original language, but may be larger if the original automaton
|
the original language, but may be larger if the original automaton
|
||||||
is not co-Büchi realizable. Based on Boker & Kupferman FOSSACS'11
|
is not co-Büchi realizable. Based on Boker & Kupferman FOSSACS'11
|
||||||
paper.
|
paper. Currently only supports state-based output.
|
||||||
|
|
||||||
- spot::scc_info::states_on_acc_cycle_of() return all states
|
- spot::scc_info::states_on_acc_cycle_of() return all states
|
||||||
visited by any accepting cycle of the specified SCC. It only
|
visited by any accepting cycle of the specified SCC. It only
|
||||||
|
|
|
||||||
|
|
@ -31,6 +31,7 @@
|
||||||
#include <spot/twaalgos/totgba.hh>
|
#include <spot/twaalgos/totgba.hh>
|
||||||
#include <spot/twaalgos/isdet.hh>
|
#include <spot/twaalgos/isdet.hh>
|
||||||
#include <spot/twaalgos/strength.hh>
|
#include <spot/twaalgos/strength.hh>
|
||||||
|
#include <spot/twaalgos/sbacc.hh> // For issue #317
|
||||||
|
|
||||||
#include <stack>
|
#include <stack>
|
||||||
#include <unordered_map>
|
#include <unordered_map>
|
||||||
|
|
@ -274,6 +275,11 @@ namespace spot
|
||||||
throw std::runtime_error("dnf_to_nca() only works with DNF acceptance "
|
throw std::runtime_error("dnf_to_nca() only works with DNF acceptance "
|
||||||
"condition");
|
"condition");
|
||||||
|
|
||||||
|
// FIXME: At the moment this algorithm does not support
|
||||||
|
// transition-based acceptance. See issue #317. Once that is
|
||||||
|
// fixed we may remove the next line.
|
||||||
|
ref = sbacc(std::const_pointer_cast<twa_graph>(ref));
|
||||||
|
|
||||||
auto streett_aut = spot::dnf_to_streett(ref, true);
|
auto streett_aut = spot::dnf_to_streett(ref, true);
|
||||||
|
|
||||||
std::vector<acc_cond::rs_pair> pairs;
|
std::vector<acc_cond::rs_pair> pairs;
|
||||||
|
|
@ -609,6 +615,11 @@ namespace spot
|
||||||
throw std::runtime_error("nsa_to_dca() only works with Streett-like or "
|
throw std::runtime_error("nsa_to_dca() only works with Streett-like or "
|
||||||
"Parity acceptance condition");
|
"Parity acceptance condition");
|
||||||
|
|
||||||
|
// FIXME: At the moment this algorithm does not support
|
||||||
|
// transition-based acceptance. See issue #317. Once that is
|
||||||
|
// fixed we may remove the next line.
|
||||||
|
aut = sbacc(std::const_pointer_cast<twa_graph>(aut));
|
||||||
|
|
||||||
// Get states that must be visited infinitely often in NCA.
|
// Get states that must be visited infinitely often in NCA.
|
||||||
vect_nca_info nca_info;
|
vect_nca_info nca_info;
|
||||||
nsa_to_nca(aut, named_states, &nca_info);
|
nsa_to_nca(aut, named_states, &nca_info);
|
||||||
|
|
@ -635,6 +646,11 @@ namespace spot
|
||||||
throw std::runtime_error("dnf_to_dca() only works with DNF (Rabin-like "
|
throw std::runtime_error("dnf_to_dca() only works with DNF (Rabin-like "
|
||||||
"included) acceptance condition");
|
"included) acceptance condition");
|
||||||
|
|
||||||
|
// FIXME: At the moment this algorithm does not support
|
||||||
|
// transition-based acceptance. See issue #317. Once that is
|
||||||
|
// fixed we may remove the next line.
|
||||||
|
aut = sbacc(std::const_pointer_cast<twa_graph>(aut));
|
||||||
|
|
||||||
// Get states that must be visited infinitely often in NCA.
|
// Get states that must be visited infinitely often in NCA.
|
||||||
vect_nca_info nca_info;
|
vect_nca_info nca_info;
|
||||||
dnf_to_nca(aut, false, &nca_info);
|
dnf_to_nca(aut, false, &nca_info);
|
||||||
|
|
|
||||||
|
|
@ -315,9 +315,6 @@ TESTS_twa = \
|
||||||
core/parity2.test \
|
core/parity2.test \
|
||||||
core/ltlsynt.test
|
core/ltlsynt.test
|
||||||
|
|
||||||
# Issue #317.
|
|
||||||
XFAIL_TESTS = core/dca2.test
|
|
||||||
|
|
||||||
############################## PYTHON ##############################
|
############################## PYTHON ##############################
|
||||||
|
|
||||||
if USE_PYTHON
|
if USE_PYTHON
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue