Fix syntactic implication rule between R/M and U/W.

* doc/tl/tl.tex, src/ltlvisit/simplify.cc: Fix the rule.
* src/ltltest/reduccmp.test, src/ltltest/syntimpl.test:
Add more tests.
This commit is contained in:
Alexandre Duret-Lutz 2012-05-07 15:58:42 +02:00
parent 70e3e2cd04
commit b71eadd8e3
4 changed files with 23 additions and 8 deletions

View file

@ -324,6 +324,7 @@ for x in ../reduccmp ../reductaustr; do
run 0 $x '!{a;b*;(a* && (b;c));c*}' '!a | X(!b M !{a[*] && {b;c}})'
run 0 $x '{(a;c*;d)|(b;c)}' '(a & X(c W d)) | (b & Xc)'
run 0 $x '!{(a;c*;d)|(b;c)}' '(X(!c M !d) | !a) & (X!c | !b)'
run 0 $x '(Xc R b) & (Xc W 0)' 'b & XGc'
# not reduced
run 0 $x '{a;(b[*2..4];c*;([*0]+{d;e}))*}!' \

View file

@ -1,8 +1,9 @@
#! /bin/sh
# Copyright (C) 2009, 2010 Laboratoire de Recherche et Développement
# de l'Epita (LRDE).
# -*- coding: utf-8 -*-
# Copyright (C) 2009, 2010, 2012 Laboratoire de Recherche et
# Développement de l'Epita (LRDE).
# Copyright (C) 2004 Laboratoire d'Informatique de Paris 6 (LIP6),
# département Systèmes Répartis Coopératifs (SRC), Université 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.
@ -93,3 +94,8 @@ run 0 ../syntimpl 0 'a R b' 'a'
run 0 ../syntimpl 0 'p2' 'p3 || G(p2 && p5)'
run 0 ../syntimpl 0 '!(p3 || G(p2 && p5))' '!p2'
run 0 ../syntimpl 0 'Xc W 0' 'Xc R b'
run 1 ../syntimpl 0 '(c&b) W (b&a)' 'a R b'
exit 0