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:
parent
566118a5be
commit
1f0bb428b0
19 changed files with 110 additions and 40 deletions
|
|
@ -675,6 +675,7 @@ namespace spot
|
|||
bool state_based_acc:1; // State-based acceptance.
|
||||
bool inherently_weak:1; // Weak automaton.
|
||||
bool deterministic:1; // Deterministic automaton.
|
||||
bool stutter_inv:1; // Stutter invariant
|
||||
};
|
||||
union
|
||||
{
|
||||
|
|
@ -757,16 +758,27 @@ namespace spot
|
|||
is.deterministic = val;
|
||||
}
|
||||
|
||||
bool is_stutter_invariant() const
|
||||
{
|
||||
return is.stutter_inv;
|
||||
}
|
||||
|
||||
void prop_stutter_invariant(bool val = true)
|
||||
{
|
||||
is.stutter_inv = val;
|
||||
}
|
||||
|
||||
struct prop_set
|
||||
{
|
||||
bool state_based;
|
||||
bool single_acc;
|
||||
bool inherently_weak;
|
||||
bool deterministic;
|
||||
bool stutter_inv;
|
||||
|
||||
static prop_set all()
|
||||
{
|
||||
return { true, true, true, true };
|
||||
return { true, true, true, true, true };
|
||||
}
|
||||
};
|
||||
|
||||
|
|
@ -782,6 +794,8 @@ namespace spot
|
|||
prop_inherently_weak(other->is_inherently_weak());
|
||||
if (p.deterministic)
|
||||
prop_deterministic(other->is_deterministic());
|
||||
if (p.stutter_inv)
|
||||
prop_stutter_invariant(other->is_stutter_invariant());
|
||||
}
|
||||
|
||||
void prop_keep(prop_set p)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue