ltl-split: deal with suspendable formulas that are false
Fixes #358. * spot/twaalgos/translate.cc: Fix the assert(). * tests/core/ltl2tgba2.test: Add a test case.
This commit is contained in:
parent
d82419de1a
commit
e48c6c40d0
2 changed files with 10 additions and 2 deletions
|
|
@ -266,8 +266,14 @@ namespace spot
|
|||
scc_info si(susp_aut, scc_info_options::NONE);
|
||||
if (si.is_trivial(si.scc_of(susp_aut->get_init_state_number())))
|
||||
{
|
||||
assert(!si.is_trivial(0));
|
||||
susp_aut->set_init_state(si.one_state_of(0));
|
||||
unsigned st = si.one_state_of(0);
|
||||
// The bottom SCC can actually be trivial if it
|
||||
// has no successor because the formula is
|
||||
// equivalent to false.
|
||||
assert(!si.is_trivial(0) ||
|
||||
susp_aut->out(st).begin()
|
||||
== susp_aut->out(st).end());
|
||||
susp_aut->set_init_state(st);
|
||||
susp_aut->purge_unreachable_states();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue