introduce is_obligation(f)
This is not optimal yet because it still construct a minimal WDBA internally, but it's better than the previous way to call minimize_obligation() since it can avoid constructing the minimized automaton in a few more cases. * spot/tl/hierarchy.cc, spot/tl/hierarchy.hh: Introduce is_obligation(). * bin/ltlfilt.cc: Wire it to --obligation. * spot/twaalgos/minimize.cc: Implement is_wdba_realizable(), needed by the above. * tests/core/obligation.test: Test it. * bin/man/spot-x.x, NEWS: Document it.
This commit is contained in:
parent
f7ee9ed18e
commit
50fe34a55a
7 changed files with 214 additions and 29 deletions
|
|
@ -732,7 +732,7 @@ namespace
|
|||
// Because this is costly, we compute it later, so that we don't
|
||||
// have to compute it on formulas that have been discarded for
|
||||
// other reasons.
|
||||
if (obligation)
|
||||
if (obligation && (safety || guarantee))
|
||||
{
|
||||
if (!aut)
|
||||
aut = ltl_to_tgba_fm(f, simpl.get_dict(), true);
|
||||
|
|
@ -752,10 +752,10 @@ namespace
|
|||
matched &= !safety || is_safety_automaton(min, &si);
|
||||
}
|
||||
}
|
||||
|
||||
else if (obligation) // just obligation, not safety or guarantee
|
||||
matched &= is_obligation(f, aut);
|
||||
else if (persistence)
|
||||
matched &= spot::is_persistence(f);
|
||||
|
||||
else if (recurrence)
|
||||
matched &= spot::is_recurrence(f, aut);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue