sbacc: remove spurious initial state in some output

This fixes #492, based on a report from Jérôme Dubois.

* spot/twaalgos/sbacc.cc: If the initial state is in a rejecting
component, start with an initial state whose colors are unsat_mark.
* tests/core/sbacc.test: Add test case.
* tests/python/pdegen.py: Adjust it.
This commit is contained in:
Alexandre Duret-Lutz 2021-12-16 17:23:06 +01:00
parent 9d6ba3ff77
commit 80fd158ed5
4 changed files with 47 additions and 7 deletions

View file

@ -1,5 +1,5 @@
# -*- mode: python; coding: utf-8 -*-
# Copyright (C) 2019, 2020 Laboratoire de Recherche et Développement de
# Copyright (C) 2019, 2020, 2021 Laboratoire de Recherche et Développement de
# l'Epita (LRDE).
#
# This file is part of Spot, a model checking library.
@ -124,8 +124,8 @@ assert dehoa == """HOA: v1
States: 4
Start: 0
AP: 1 "p0"
acc-name: parity max even 2
Acceptance: 2 Fin(1) & Inf(0)
acc-name: co-Buchi
Acceptance: 1 Fin(0)
properties: trans-labels explicit-labels trans-acc complete
properties: deterministic
--BODY--
@ -134,11 +134,11 @@ State: 0 "0#0"
[!0] 2
State: 1 "1#0"
[!0] 2
[0] 3 {0 1}
[0] 3 {0}
State: 2 "3#0"
[t] 2 {0}
[t] 2
State: 3 "2#0"
[0] 1 {0 1}
[0] 1 {0}
[!0] 2
--END--"""