Rewrite xor, =>, and <=> in negative_normal_form().

* src/ltlvisit/simplify.hh, src/ltlvisit/simplify.cc
(ltl_simplify::negative_normal_form): Remove the third
parameter and always rewrite XOR, =>, and <=>.  This avoid
problems with the cache, that could have been populated with
a different value for this third parameter.
* src/ltltest/reduc.cc, src/tgbaalgos/ltl2tgba_fm.cc: Adjust
calls to negative_normal_form().
* src/ltltest/nenoform.test: Adjust tests.
This commit is contained in:
Alexandre Duret-Lutz 2011-09-18 22:19:37 +02:00
parent b89f86edcf
commit 03fd46a13b
5 changed files with 18 additions and 36 deletions

View file

@ -1,8 +1,8 @@
#! /bin/sh
# Copyright (C) 2009, 2010 Laboratoire de Recherche et Développement
# Copyright (C) 2009, 2010, 2011 Laboratoire de Recherche et Développement
# de l'Epita (LRDE).
# Copyright (C) 2003, 2004 Laboratoire d'Informatique de Paris 6 (LIP6),
# d<EFBFBD>partement Syst<73>mes R<>partis Coop<6F>ratifs (SRC), Universit<69> Pierre
# département Systèmes Répartis Coopératifs (SRC), Université Pierre
# et Marie Curie.
#
# This file is part of Spot, a model checking library.
@ -44,7 +44,7 @@ run 0 ../nenoform 'a & b' 'b & a & b'
run 0 ../nenoform 'a & !b' '!b & a & a'
run 0 ../nenoform 'a & b & (Xc |(f U !g)| e)' \
'b & a & a & (Xc | e |(f U !g)| e | Xc) & b'
run 0 ../nenoform 'GFa => FGb' 'GFa => FGb'
run 0 ../nenoform 'GFa => FGb' 'FG!a || FGb'
# Basic rewritings
run 0 ../nenoform '!!a' 'a'
@ -52,8 +52,8 @@ run 0 ../nenoform '!!!!!a' '!a'
run 0 ../nenoform '!Xa' 'X!a'
run 0 ../nenoform '!Fa' 'G!a'
run 0 ../nenoform '!Ga' 'F!a'
run 0 ../nenoform '!(a ^ b)' 'a <=> b'
run 0 ../nenoform '!(a <=> b)' '(((a) ^ (b)))'
run 0 ../nenoform '!(a ^ b)' '!a&!b | a&b'
run 0 ../nenoform '!(a <=> b)' '(!a&b) | a&!b'
run 0 ../nenoform '!(a => b)' 'a&!b'
run 0 ../nenoform '!(!a => !b)' '!a&b'
run 0 ../nenoform '!(a U b)' '!a R !b'