We still don't have any PSL-specific reductions, but at least the LTL reduction now appear to work on PSL formulas. * src/ltlvisit/basicreduce.cc (basic_reduce_visitor): Fix the call to std::copy to handle Concat, Fusion, and AndNLM. * src/ltlvisit/reduce.cc (reduce_visitor): Fix handling of UConcat, EConcat, and EConcatMarked. * src/tgbatest/randpsl.test: Activate reductions. * src/ltltest/reducpsl.test: New file. * src/ltltest/Makefile.am (TESTS): Add it.
40 lines
1.2 KiB
Bash
Executable file
40 lines
1.2 KiB
Bash
Executable file
#!/bin/sh
|
|
# Copyright (C) 2011 Laboratoire de Recherche et Développement
|
|
# de l'Epita (LRDE).
|
|
#
|
|
# This file is part of Spot, a model checking library.
|
|
#
|
|
# Spot is free software; you can redistribute it and/or modify it
|
|
# under the terms of the GNU General Public License as published by
|
|
# the Free Software Foundation; either version 2 of the License, or
|
|
# (at your option) any later version.
|
|
#
|
|
# Spot is distributed in the hope that it will be useful, but WITHOUT
|
|
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
|
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
|
|
# License for more details.
|
|
#
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with Spot; see the file COPYING. If not, write to the Free
|
|
# Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
|
# 02111-1307, USA.
|
|
|
|
|
|
. ./defs
|
|
|
|
set -e
|
|
|
|
check_psl()
|
|
{
|
|
# Make cross products with FM
|
|
run 0 ../ltl2tgba -f -R3 -b "$1" > out.tgba
|
|
run 0 ../ltl2tgba -f -R3 -Pout.tgba -E "!($1)"
|
|
# Also try with -x turned on.
|
|
run 0 ../ltl2tgba -f -x -R3 -b "$1" > out.tgba
|
|
run 0 ../ltl2tgba -f -x -R3 -Pout.tgba -E "!($1)"
|
|
}
|
|
|
|
../../ltltest/randltl -F 50 -f 30 -r 12 -u -s 0 -P a b c |
|
|
while read formula; do
|
|
check_psl "$formula"
|
|
done
|