remove_x: Implement detection of stutter-invariant LTL formulas.

* src/bin/ltlfilt.cc: Add options --remove-x and --stutter-invariant.
* src/ltlvisit/remove_x.cc, src/ltlvisit/remove_x.hh: New files.
* src/ltlvisit/Makefile.am: Add them.
* src/ltltest/remove_x.test: New file.
* src/ltltest/Makefile.am: Add it.
* NEWS: Mention the new algorithms.
This commit is contained in:
Alexandre Duret-Lutz 2013-04-05 18:51:05 +02:00
parent 8896c3d5da
commit a7bfb42de7
7 changed files with 282 additions and 1 deletions

View file

@ -90,6 +90,7 @@ TESTS = \
unabbrevwm.test \
consterm.test \
kind.test \
remove_x.test \
lbt.test \
lenient.test \
isop.test \

29
src/ltltest/remove_x.test Executable file
View file

@ -0,0 +1,29 @@
#! /bin/sh
# Copyright (C) 2013 Laboratoire de Recherche et Developement to
# 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 3 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 this program. If not, see <http://www.gnu.org/licenses/>.
. ./defs
run 0 ../../bin/ltlfilt --remove-x -f 'Xa' --equivalent-to 'Ga | (!a & Fa)'
run 1 ../../bin/ltlfilt --stutter-invariant -f 'Xa'
run 0 ../../bin/ltlfilt --stutter-invariant -f 'F(!a & Xa & Xb)'
run 1 ../../bin/ltlfilt --stutter-invariant -f 'F(Xa & Xb)'