use bdd_restrict more

Doing so reduced the number of GC passes tested in bdd.test, which is
good.

* spot/twaalgos/ltl2tgba_fm.cc: Simplify minato loops with
bdd_restrict.
* spot/twaalgos/synthesis.cc (split_2step): Use bdd_restrict instead
of bdd_appex.
* tests/core/bdd.test, tests/core/ltlf.test: Adjust test cases.
This commit is contained in:
Alexandre Duret-Lutz 2022-10-20 10:48:01 +02:00
parent de29ba9e4c
commit 0ba6949f7d
4 changed files with 27 additions and 38 deletions

View file

@ -1,7 +1,7 @@
#!/bin/sh
# -*- coding: utf-8 -*-
# Copyright (C) 2017, 2018, 2020 Laboratoire de Recherche et Développement de
# l'Epita (LRDE).
# Copyright (C) 2017, 2018, 2020, 2022 Laboratoire de Recherche et
# Développement de l'Epita (LRDE).
#
# This file is part of Spot, a model checking library.
#
@ -23,7 +23,7 @@ set -e
# Make sure that setting the SPOT_BDD_TRACE envvar actually does
# something.
genltl --kr-nlogn=2 |
genltl --kr-n=3 |
SPOT_BDD_TRACE=1 ltl2tgba -x tls-max-states=0 -D >out 2>err
cat err
grep spot: out && exit 1
@ -31,14 +31,14 @@ grep 'spot: BDD package initialized' err
# This value below, which is the number of time we need to garbage
# collect might change if we improve the tool or change the way BuDDy
# is initialized.
test 11 = `grep -c 'spot: BDD GC' err`
test 2 = `grep -c 'spot: BDD GC' err`
# Minimal size for this automaton.
# See also https://www.lrde.epita.fr/dload/spot/mochart10-fixes.pdf
test "147,207" = `autfilt --stats=%s,%e out`
test "2240,4214" = `autfilt --stats=%s,%e out`
# With the default value of tls-max-states, no GC is needed
genltl --kr-nlogn=2 | SPOT_BDD_TRACE=1 ltl2tgba -D --stats=%s,%e >out 2>err
genltl --kr-n=3 | SPOT_BDD_TRACE=1 ltl2tgba -D --stats=%s,%e >out 2>err
cat err
grep 'spot: BDD package initialized' err
test 0 = `grep -c 'spot: BDD GC' err`
test "147,207" = `cat out`
test "2240,4214" = `cat out`

View file

@ -57,7 +57,7 @@ State: 3
HOA: v1
name: "a & X(A & a) & (A U G!A)"
States: 4
Start: 2
Start: 3
AP: 2 "A" "a"
acc-name: Buchi
Acceptance: 1 Inf(0)
@ -70,9 +70,9 @@ State: 1
[!0] 0
[0] 1
State: 2
[0&1] 3
State: 3
[0&1] 1
State: 3
[0&1] 2
--END--
HOA: v1
name: "(a U (A & b)) & (A U G!A) & F((A & c) | (A & d & X!A))"
@ -124,7 +124,7 @@ State: 2 {0}
--END--
HOA: v1
States: 3
Start: 1
Start: 2
AP: 1 "a"
acc-name: Buchi
Acceptance: 1 Inf(0)
@ -133,9 +133,9 @@ properties: trans-labels explicit-labels state-acc deterministic
State: 0 {0}
[t] 0
State: 1
[0] 2
State: 2
[0] 0
State: 2
[0] 1
--END--
HOA: v1
States: 5