Improve IAR construction

spot::iar() was fixed to handle correctly Rabin-like conditions.
It also now supports Streett-like conditions.

* NEWS, spot/twaalgos/postproc.cc: document it
* spot/twaalgos/rabin2parity.cc, spot/twaalgos/rabin2parity.hh:
  implement it
* tests/core/rabin2parity.test, tests/python/except.py: test it
This commit is contained in:
Maximilien Colange 2018-01-23 11:16:34 +01:00
parent ff2a96cc1a
commit 1ebd86de04
6 changed files with 103 additions and 33 deletions

View file

@ -1,6 +1,6 @@
#!/bin/sh
# -*- coding: utf-8 -*-
# Copyright (C) 2017 Laboratoire de Recherche et
# Copyright (C) 2017-2018 Laboratoire de Recherche et
# Développement de l'Epita (LRDE).
#
# This file is part of Spot, a model checking library.
@ -39,9 +39,39 @@ State: 1
[0] 1 {1 }
[!0] 1 {0 1 }
--END--
HOA: v1
States: 1
Start: 0
AP: 1 "a"
acc-name: Streett 1
Acceptance: 2 Fin(0) | Inf(1)
properties: trans-labels explicit-labels state-acc complete
properties: deterministic
--BODY--
State: 0
[t] 0
--END--
HOA: v1
States: 3
Start: 0
AP: 1 "a"
acc-name: Streett 3
Acceptance: 6 (Fin(0) | Inf(1)) & (Fin(2) | Inf(3)) & (Fin(4) | Inf(5))
properties: trans-labels explicit-labels trans-acc deterministic
--BODY--
State: 0
[!0] 0 {1 3}
[0] 1 {}
State: 1
[0] 2 {2}
State: 2
[!0] 0 {0 4}
[0] 2 {}
--END--
EOF
# random automata
randaut 5 -n100 -u -D --acceptance="Rabin 0..6"
randaut 4 -n100 -u -D --acceptance="Rabin 0..6"
randaut 4 -n100 -u -D --acceptance="Streett 0..6"
) | \
autcross \
"autfilt --parity" \