add a stutter-invariant property to automata

... and show it in the HOA output.  Fixes #60.

* src/tgba/tgba.hh: Add is_stutter_invariant().
* src/tgbaalgos/hoa.cc: Print stutter-invariant
and inherently-weak.
* src/tgbaalgos/ltl2tgba_fm.cc: Set both.
* src/tgbaalgos/are_isomorphic.cc, src/tgbaalgos/complete.cc,
src/tgbaalgos/degen.cc, src/tgbaalgos/dtgbacomp.cc,
src/tgbaalgos/mask.cc, src/tgbaalgos/minimize.cc,
src/tgbaalgos/remfin.cc, src/tgbaalgos/sccfilter.cc,
src/tgbaalgos/simulation.cc, src/tgbaalgos/stutter.cc,
src/tgbatest/hoaparse.test, src/tgbatest/ltldo.test,
src/tgbatest/monitor.test, src/tgbatest/randomize.test,
src/tgbatest/remfin.test, src/tgbatest/sbacc.test: Adjust.
This commit is contained in:
Alexandre Duret-Lutz 2015-02-28 16:44:06 +01:00
parent 566118a5be
commit 1f0bb428b0
19 changed files with 110 additions and 40 deletions

View file

@ -432,6 +432,7 @@ namespace spot
true, // single_acc
false, // inherently_weak
false, // deterministic
false, // stutter inv.
});
a->merge_transitions();
return a;
@ -452,6 +453,7 @@ namespace spot
true, // single_acc
false, // inherently_weak
false, // deterministic
false, // stutter inv.
});
unsigned n = a->num_states();
@ -516,7 +518,7 @@ namespace spot
tgba_digraph_ptr
closure(const const_tgba_digraph_ptr& a)
{
return closure(make_tgba_digraph(a, {true, true, true, true}));
return closure(make_tgba_digraph(a, {true, true, true, true, false}));
}
// The stutter check algorithm to use can be overridden via an