hoa: add support for controllable-AP
* doc/spot.bib (perez.19.hoa): New entry. * spot/parseaut/public.hh: Mention it. * spot/parseaut/parseaut.yy, spot/parseaut/scanaut.ll: Learn to parse the controllable-AP header. * spot/twaalgos/hoa.cc: Print it. * tests/core/ltlsynt.test, tests/core/parseaut.test, tests/core/readsave.test, tests/python/_synthesis.ipynb, tests/python/except.py, tests/python/games.ipynb, tests/python/mealy.py, tests/python/synthesis.py: Adjust or augment test cases.
This commit is contained in:
parent
7cefe30d97
commit
8c33f959a3
14 changed files with 134 additions and 15 deletions
|
|
@ -63,6 +63,7 @@
|
|||
"acc-name: all\n",
|
||||
"Acceptance: 0 t\n",
|
||||
"properties: trans-labels explicit-labels state-acc deterministic\n",
|
||||
"controllable-AP: 2\n",
|
||||
"--BODY--\n",
|
||||
"State: 0\n",
|
||||
"[!0&!1] 1\n",
|
||||
|
|
@ -101,6 +102,7 @@
|
|||
"acc-name: all\n",
|
||||
"Acceptance: 0 t\n",
|
||||
"properties: trans-labels explicit-labels state-acc deterministic\n",
|
||||
"controllable-AP: 2\n",
|
||||
"--BODY--\n",
|
||||
"State: 0\n",
|
||||
"[!0&!1] 1\n",
|
||||
|
|
@ -140,6 +142,7 @@
|
|||
"Acceptance: 0 t\n",
|
||||
"properties: trans-labels explicit-labels state-acc deterministic\n",
|
||||
"spot-state-player: 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n",
|
||||
"controllable-AP: 2\n",
|
||||
"--BODY--\n",
|
||||
"State: 0\n",
|
||||
"[!0&!1] 7\n",
|
||||
|
|
@ -206,6 +209,7 @@
|
|||
"acc-name: all\n",
|
||||
"Acceptance: 0 t\n",
|
||||
"properties: trans-labels explicit-labels state-acc deterministic\n",
|
||||
"controllable-AP: 2\n",
|
||||
"--BODY--\n",
|
||||
"State: 0\n",
|
||||
"[0&1&!2] 1\n",
|
||||
|
|
@ -225,6 +229,7 @@
|
|||
"acc-name: all\n",
|
||||
"Acceptance: 0 t\n",
|
||||
"properties: trans-labels explicit-labels state-acc deterministic\n",
|
||||
"controllable-AP: 2\n",
|
||||
"--BODY--\n",
|
||||
"State: 0\n",
|
||||
"[0&1&!2] 1\n",
|
||||
|
|
@ -245,6 +250,7 @@
|
|||
"Acceptance: 0 t\n",
|
||||
"properties: trans-labels explicit-labels state-acc deterministic\n",
|
||||
"spot-state-player: 0 0 1 1 1 1\n",
|
||||
"controllable-AP: 2\n",
|
||||
"--BODY--\n",
|
||||
"State: 0\n",
|
||||
"[0&1] 2\n",
|
||||
|
|
@ -273,6 +279,7 @@
|
|||
"Acceptance: 0 t\n",
|
||||
"properties: trans-labels explicit-labels state-acc deterministic\n",
|
||||
"spot-state-player: 0 0 1 1 1 1\n",
|
||||
"controllable-AP: 2\n",
|
||||
"--BODY--\n",
|
||||
"State: 0\n",
|
||||
"[0] 2\n",
|
||||
|
|
@ -296,6 +303,7 @@
|
|||
"acc-name: all\n",
|
||||
"Acceptance: 0 t\n",
|
||||
"properties: trans-labels explicit-labels state-acc deterministic\n",
|
||||
"controllable-AP: 2\n",
|
||||
"--BODY--\n",
|
||||
"State: 0\n",
|
||||
"[0&2] 0\n",
|
||||
|
|
@ -312,6 +320,7 @@
|
|||
"Acceptance: 0 t\n",
|
||||
"properties: trans-labels explicit-labels state-acc deterministic\n",
|
||||
"spot-state-player: 0 0 1 1 1 1\n",
|
||||
"controllable-AP: 2\n",
|
||||
"--BODY--\n",
|
||||
"State: 0\n",
|
||||
"[0] 2\n",
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
# -*- mode: python; coding: utf-8 -*-
|
||||
# Copyright (C) 2018-2021 Laboratoire de Recherche et Développement de
|
||||
# Copyright (C) 2018-2022 Laboratoire de Recherche et Développement de
|
||||
# l'Epita (LRDE).
|
||||
#
|
||||
# This file is part of Spot, a model checking library.
|
||||
|
|
@ -278,3 +278,14 @@ except OverflowError as e:
|
|||
assert "reversed" in str(e)
|
||||
else:
|
||||
report_missing_exception()
|
||||
|
||||
|
||||
a = spot.translate("a")
|
||||
b = spot.translate("b")
|
||||
spot.set_synthesis_outputs(a, b.ap_vars())
|
||||
try:
|
||||
a.to_str()
|
||||
except RuntimeError as e:
|
||||
se = str(e)
|
||||
assert "synthesis-outputs" in se
|
||||
assert "unregistered proposition" in se
|
||||
|
|
|
|||
|
|
@ -972,6 +972,7 @@
|
|||
"properties: trans-labels explicit-labels trans-acc colored complete\n",
|
||||
"properties: deterministic\n",
|
||||
"spot-state-player: 0 0 0 0 0 1 1 1 1 1 1 1\n",
|
||||
"controllable-AP: 0\n",
|
||||
"--BODY--\n",
|
||||
"State: 0\n",
|
||||
"[!1] 5 {1}\n",
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
#!/usr/bin/python3
|
||||
# -*- mode: python; coding: utf-8 -*-
|
||||
# Copyright (C) 2021 Laboratoire de Recherche et Développement de
|
||||
# Copyright (C) 2021, 2022 Laboratoire de Recherche et Développement de
|
||||
# l'EPITA.
|
||||
#
|
||||
# This file is part of Spot, a model checking library.
|
||||
|
|
@ -556,6 +556,7 @@ AP: 2 "a" "b"
|
|||
acc-name: all
|
||||
Acceptance: 0 t
|
||||
properties: trans-labels explicit-labels state-acc deterministic
|
||||
controllable-AP: 1
|
||||
--BODY--
|
||||
State: 0
|
||||
[0&1] 0
|
||||
|
|
@ -596,6 +597,7 @@ AP: 2 "a" "b"
|
|||
acc-name: all
|
||||
Acceptance: 0 t
|
||||
properties: trans-labels explicit-labels state-acc deterministic
|
||||
controllable-AP: 1
|
||||
--BODY--
|
||||
State: 0
|
||||
[!0&!1] 1
|
||||
|
|
@ -607,5 +609,3 @@ State: 1
|
|||
|
||||
res = spot.reduce_mealy(aut, True)
|
||||
assert res.to_str() == exp
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
# -*- mode: python; coding: utf-8 -*-
|
||||
# Copyright (C) 2021 Laboratoire de Recherche et Développement
|
||||
# Copyright (C) 2021, 2022 Laboratoire de Recherche et Développement
|
||||
# de l'Epita
|
||||
#
|
||||
# This file is part of Spot, a model checking library.
|
||||
|
|
@ -38,6 +38,7 @@ Acceptance: 6 Inf(5) | (Fin(4) & (Inf(3) | (Fin(2) & (Inf(1) | Fin(0)))))
|
|||
properties: trans-labels explicit-labels state-acc colored complete
|
||||
properties: deterministic
|
||||
spot-state-player: 0 1 1
|
||||
controllable-AP:
|
||||
--BODY--
|
||||
State: 0 {1}
|
||||
[!0] 1
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue