Running ltl2tgba -R1q -R1t -N would degeneralize before and
after the simulation-reduction. Report from Tomáš Babiak <xbabiak@fi.muni.cz>. * src/tgbaalgos/neverclaim.hh (never_claim_reachable): Take a tgba as input. * src/tgbaalgos/neverclaim.cc (never_claim_bfs): Call state_is_accepting() only if this tgba turns out to be a tgba_sba_proxy. Otherwise check the acceptance of one outgoing transition as we do in dotty_bfs since 2011-03-05. * src/tgbatest/ltl2tgba.cc: Do not redegeneralize before calling never_claim_reachable() if we know the automaton is degeneralized already. * src/tgbatest/ltl2tgba.test: Add a test case.
This commit is contained in:
parent
1c2450f609
commit
d8ba172e6d
5 changed files with 61 additions and 13 deletions
|
|
@ -1142,16 +1142,14 @@ main(int argc, char** argv)
|
|||
case 8:
|
||||
{
|
||||
assert(degeneralize_opt == DegenSBA);
|
||||
const spot::tgba_sba_proxy* s =
|
||||
dynamic_cast<const spot::tgba_sba_proxy*>(a);
|
||||
if (s)
|
||||
spot::never_claim_reachable(std::cout, s, f, spin_comments);
|
||||
if (assume_sba || dynamic_cast<const spot::tgba_sba_proxy*>(a))
|
||||
spot::never_claim_reachable(std::cout, a, f, spin_comments);
|
||||
else
|
||||
{
|
||||
// It is possible that we have applied other
|
||||
// operations to the automaton since its initial
|
||||
// degeneralization. Let's degeneralize again!
|
||||
s = new spot::tgba_sba_proxy(a);
|
||||
spot::tgba_sba_proxy* s = new spot::tgba_sba_proxy(a);
|
||||
spot::never_claim_reachable(std::cout, s, f, spin_comments);
|
||||
delete s;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue