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:
Alexandre Duret-Lutz 2016-12-30 10:38:04 +01:00
parent ada8185361
commit 684c9c47c4
17 changed files with 62 additions and 35 deletions

View file

@ -375,7 +375,7 @@ namespace spot
else
res = scc_filter_apply<state_filter
<acc_filter_mask<false, true>>>(aut, given_si);
res->prop_copy(aut, { true, true, true, true });
res->prop_copy(aut, { true, true, false, true, true });
return res;
}
@ -415,7 +415,8 @@ namespace spot
res->prop_copy(aut,
{ false, // state-based acceptance is not preserved
true,
true,
false,
true, // determinism improved
true,
});
return res;
@ -449,7 +450,7 @@ namespace spot
res->prop_copy(aut,
{ false, // state-based acceptance is not preserved
true,
false, // determinism may not be preserved
false, false, // determinism may not be preserved
false, // stutter inv. of suspvars probably altered
});
return res;