product: Büchi|Büchi=Büchi, CoBüchi&CoBüchi=CoBüchi

Improve the construction of the above constructions, saving colors.

* spot/twaalgos/product.cc: Here.
* spot/twaalgos/product.hh, NEWS: Mention it.
* tests/core/prodchain.test, tests/core/prodor.test,
tests/python/_product_weak.ipynb: Adjust.
This commit is contained in:
Alexandre Duret-Lutz 2022-09-06 18:05:52 +02:00
parent 7cf580a9c5
commit 0f131f2eee
6 changed files with 6449 additions and 2140 deletions

View file

@ -32,12 +32,12 @@ for i in *.hoa; do
shift
done
shift
if $MAX_ACCSETS -eq 32; then
if [ $MAX_ACCSETS -eq 32 ]; then
autfilt "$@" 2> error && exit 1
grep 'Too many acceptance sets used' error
fi
autfilt -B "$@" > result
test "127,253,508,1" = `autfilt --stats=%s,%e,%t,%a result`
autfilt -B --low "$@" > result
test "4,7,16,1" = `autfilt --stats=%s,%e,%t,%a result`
set x
shift
@ -46,9 +46,37 @@ for i in *.hoa; do
shift
done
shift
if $MAX_ACCSETS -eq 32; then
autfilt "$@" 2> error && exit 1
autfilt -B --low "$@" > result
test "45,89,180,1" = `autfilt --stats=%s,%e,%t,%a result`
set x
shift
for i in 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 \
22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42; do
ltl2tgba -D --cobuchi -S "{a[*$i]}<>->FGb" > $i.hoa
done
for i in *.hoa; do
set x "$@" --product $i
shift
done
shift
autfilt -D --cobuchi --low -S "$@" > result
test "85,170,174,1" = `autfilt --stats=%s,%e,%t,%a result`
set x
shift
for i in *.hoa; do
set x "$@" --product-or $i
shift
done
shift
if [ $MAX_ACCSETS -eq 32 ]; then
autfilt --cobuchi -S "$@" 2> error && exit 1
grep 'Too many acceptance sets used' error
fi
autfilt -B "$@" > result
test "45,89,180,1" = `autfilt --stats=%s,%e,%t,%a result`
# FIXME: implement degeneralization for generalized-co-Büchi
# autfilt --cobuchi --low -S "$@" > result
# test "45,89,180,1" = `autfilt --stats=%s,%e,%t,%a result`
true

View file

@ -1,6 +1,6 @@
#!/bin/sh
# -*- coding: utf-8 -*-
# Copyright (C) 2015, 2017-2018, 2021 Laboratoire de Recherche et
# Copyright (C) 2015, 2017-2018, 2021-2022 Laboratoire de Recherche et
# Développement de l'Epita (LRDE).
#
# This file is part of Spot, a model checking library.
@ -154,8 +154,8 @@ diff por.hoa exp
ltl2tgba -BDH 'GFa' > gfa.hoa
ltl2tgba -x '!wdba-minimize' -DH 'Xb' > xb.hoa
autfilt --product-or gfa.hoa xb.hoa -H > por.hoa
cat por.hoa
autfilt --product-or gfa.hoa xb.hoa -H > por2.hoa
cat por2.hoa
cat >exp <<EOF
HOA: v1
@ -194,4 +194,4 @@ State: 6
[!0] 6
--END--
EOF
diff por.hoa exp
diff por2.hoa exp

File diff suppressed because it is too large Load diff