twa: add prop_set::improve_det
Algorithms that remove transitions can turn a non-deterministic automaton into a deterministic one, so we need to be able to specify that determinism can be improved (as opposed to preserved). * spot/twa/twa.hh (twa::prop_set::improve_det): New attribute. (twa::prop_keep, twa::prop_copy): Honor it. * spot/tl/exclusive.cc, spot/twaalgos/alternation.cc, spot/twaalgos/complete.cc, spot/twaalgos/degen.cc, spot/twaalgos/determinize.cc, spot/twaalgos/mask.cc, spot/twaalgos/minimize.cc, spot/twaalgos/remfin.cc, spot/twaalgos/remprop.cc, spot/twaalgos/sbacc.cc, spot/twaalgos/sccfilter.cc, spot/twaalgos/simulation.cc, spot/twaalgos/strength.cc, spot/twaalgos/stutter.cc, spot/twaalgos/totgba.cc: Adjust calls to prop_keep() and prop_copy().
This commit is contained in:
parent
ada8185361
commit
684c9c47c4
17 changed files with 62 additions and 35 deletions
|
|
@ -594,15 +594,10 @@ namespace spot
|
|||
res->prop_copy(original_,
|
||||
{ false, // state-based acc forced below
|
||||
true, // weakness preserved,
|
||||
true, // determinism checked and overridden below
|
||||
// and "unambiguous" property preserved
|
||||
false, true, // determinism improved
|
||||
true, // stutter inv.
|
||||
});
|
||||
// !unambiguous and !semi-deterministic are not preserved
|
||||
if (original_->prop_semi_deterministic().is_false())
|
||||
res->prop_semi_deterministic(trival::maybe());
|
||||
if (original_->prop_unambiguous().is_false())
|
||||
res->prop_unambiguous(trival::maybe());
|
||||
if (!Cosimulation)
|
||||
res->prop_deterministic(nb_minato == nb_satoneset);
|
||||
if (Sba)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue