simulation: does not preserve !unambiguous, !semi-deterministic
* spot/twaalgos/simulation.cc: Reset those to maybe. * tests/core/semidet.test: Add some tests.
This commit is contained in:
parent
bedd96a7ba
commit
ada8185361
2 changed files with 38 additions and 0 deletions
|
|
@ -598,6 +598,11 @@ namespace spot
|
|||
// and "unambiguous" property preserved
|
||||
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)
|
||||
|
|
|
|||
|
|
@ -79,3 +79,36 @@ cat >expected <<EOF
|
|||
X(!p0 W Xp1)
|
||||
EOF
|
||||
diff out expected
|
||||
|
||||
|
||||
# This automaton becomes semi-deterministic once simplified with
|
||||
# simulation-based reductions.
|
||||
cat >ex <<EOF
|
||||
HOA: v1
|
||||
AP: 2 "a" "b"
|
||||
Start: 0
|
||||
States: 6
|
||||
Acceptance: 1 Inf(0)
|
||||
--BODY--
|
||||
State: 0
|
||||
[!0] 0
|
||||
[0] 1
|
||||
[1] 5
|
||||
State: 1 {0}
|
||||
[0] 1
|
||||
State: 2
|
||||
[!1] 4
|
||||
State: 3
|
||||
[1] 4
|
||||
State: 4 {0}
|
||||
[!0] 4
|
||||
State: 5 {0}
|
||||
[!1] 5
|
||||
[1] 2
|
||||
[1] 3
|
||||
--END--
|
||||
EOF
|
||||
|
||||
autfilt -H1.1 ex -v --is-semi-det > out
|
||||
autfilt -H1.1 --small out >out2
|
||||
autfilt --trust=no -H1.1 --is-semi-det out2
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue