sccinfo: fix accepting run computation
* spot/twaalgos/sccinfo.cc (scc_info::get_accepting_run): Ignore edges whose colors are not part of the colors gathered in the SCC up to deciding acceptance. * tests/python/genem.py: New test case, reported by Clément Tamines. * THANKS: Add him. * NEWS: Mention the bug.
This commit is contained in:
parent
da681e6b4d
commit
480289867f
4 changed files with 19 additions and 6 deletions
|
|
@ -1,5 +1,5 @@
|
|||
# -*- mode: python; coding: utf-8 -*-
|
||||
# Copyright (C) 2018-2021 Laboratoire de Recherche et Développement de l'Epita
|
||||
# Copyright (C) 2018-2022 Laboratoire de Recherche et Développement de l'Epita
|
||||
# (LRDE).
|
||||
#
|
||||
# This file is part of Spot, a model checking library.
|
||||
|
|
@ -138,6 +138,15 @@ State: 0 [0&1] 0 {4 6 7} [0&!1] 1 {0 6} [!0&1] 0 {3 7} [!0&!1] 0 {0}
|
|||
State: 1 [0&1] 0 {4 6 7} [0&!1] 1 {3 6} [!0&1] 0 {4 7} [!0&!1] 1 {0}
|
||||
--END--""")
|
||||
|
||||
# From Clément Tamines (2022-01-14)
|
||||
act = spot.automaton("""HOA: v1 States: 5 Start: 0 AP: 1 "p0"
|
||||
acc-name: none Acceptance: 8 (Inf(6) | Fin(7)) & (Inf(4) | Fin(5)) &
|
||||
(Inf(2) | Fin(3)) & (Inf(0) | Fin(1)) properties: trans-labels
|
||||
explicit-labels trans-acc --BODY-- State: 0 [!0] 1 {1 2 5 6} [!0] 3 {0
|
||||
2 5 6} State: 1 [!0] 4 {1 3 5 6} [0] 3 {0 2 4 7} [!0] 1 {0 2 4 7}
|
||||
State: 2 [0] 2 {1 2 5 6} [0] 1 {0 3 4 6} [!0] 4 {0 2 4 6} State: 3
|
||||
[!0] 2 {0 3 5 7} State: 4 [!0] 2 {0 3 4 6} --END--""")
|
||||
|
||||
|
||||
def generic_emptiness2_rec(aut):
|
||||
spot.cleanup_acceptance_here(aut, False)
|
||||
|
|
@ -306,4 +315,4 @@ def run_bench(automata):
|
|||
assert run3.replay(spot.get_cout()) is True
|
||||
|
||||
|
||||
run_bench([a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a360])
|
||||
run_bench([a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a360, act])
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue