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
|
// and "unambiguous" property preserved
|
||||||
true, // stutter inv.
|
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)
|
if (!Cosimulation)
|
||||||
res->prop_deterministic(nb_minato == nb_satoneset);
|
res->prop_deterministic(nb_minato == nb_satoneset);
|
||||||
if (Sba)
|
if (Sba)
|
||||||
|
|
|
||||||
|
|
@ -79,3 +79,36 @@ cat >expected <<EOF
|
||||||
X(!p0 W Xp1)
|
X(!p0 W Xp1)
|
||||||
EOF
|
EOF
|
||||||
diff out expected
|
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