spot/tests/core/nenoform.test
Alexandre Duret-Lutz 5cb94a1a3f Merge the core and python tests in the tests/ directory
* tests/: Rename as...
* tests/core/: ... this.
* python/tests/: Rename as...
* tests/python/: ... this.
* python/tests/run.in: Move as...
* tests/run.in: This, and adjust.
* tests/Makefile.am: Adjust to run both core and python tests.
* configure.ac, README, debian/python3-spot.examples, debian/rules,
doc/org/tut.org, python/Makefile.am, spot/ltsmin/Makefile.am,
spot/ltsmin/kripke.test, spot/sanity/ipynb.test: Adjust.
2016-01-04 16:02:30 +01:00

73 lines
1.9 KiB
Bash
Executable file

#! /bin/sh
# -*- coding: utf-8 -*-
# Copyright (C) 2009, 2010, 2011, 2014 Laboratoire de Recherche et
# Développement de l'Epita (LRDE).
# Copyright (C) 2003, 2004 Laboratoire d'Informatique de Paris 6 (LIP6),
# département Systèmes Répartis Coopératifs (SRC), Université Pierre
# et Marie Curie.
#
# 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/>.
# Check for the negative_normal_form visitor
. ./defs || exit 1
set -e
cat >nenoform.txt<<EOF
# A few things that do not change
a, a
1, 1
0, 0
!a, !a
a U b, a U b
a & b, a & b
a & b, b & a
a & !b & c, c & a & !b
a & b & c, b & c & a
Xa & b & Xa, b & Xa & b
a & b, b & a & b
a & !b, !b & a & a
a & b & (Xc |(f U !g)| e), b & a & a & (Xc | e |(f U !g)| e | Xc) & b
GFa => FGb, FG!a || FGb
# Basic rewritings
!!a, a
!!!!!a, !a
!Xa, X!a
!Fa, G!a
!Ga, F!a
!(a ^ b), !a&!b | a&b
!(a <=> b), (!a&b) | a&!b
!(a => b), a&!b
!(!a => !b), !a&b
!(a U b), !a R !b
!(a R b), !a U !b
!(!a R !b), a U b
!(a & b & c & d & b), !a | !b | !c | !d
!(a | b | c | d), !a & !b & !c & !d
# Nested rewritings
!(a U (!b U ((a & b & c) R d))), !a R (b R ((!a | !b | !c) U !d))
!(GF a => FG b), GFa & GF!b
# Rational operators
!X{a;b}<>->Fx, X{a;b}[]->G!x
!F({a*}<>->{b*}<>->c), G({a*}[]->{b*}[]->!c)
EOF
run 0 ../nenoform nenoform.txt