Rewrite "(Xc) M b" as "b & X(b U c)", plus three similar rules.
* src/ltlvisit/simplify.hh (ltl_simplifier_options): New option reduce_size_stricly. * src/ltlvisit/simplify.cc (simplify_visitor): Implement these rules. * src/ltltest/reduc.cc: Check with reduce_size_strictly unset or set, but only use the latter result to check sizes. * src/ltltest/reduccmp.test: Test them. * doc/tl/tl.tex: Document them.
This commit is contained in:
parent
c9b34d684a
commit
bb56c26d1c
5 changed files with 122 additions and 48 deletions
|
|
@ -1,6 +1,6 @@
|
|||
#! /bin/sh
|
||||
# Copyright (C) 2009, 2010, 2011, 2012 Laboratoire de Recherche et Developpement
|
||||
# de l'Epita (LRDE).
|
||||
# Copyright (C) 2009, 2010, 2011, 2012 Laboratoire de Recherche et
|
||||
# Developpement de l'Epita (LRDE).
|
||||
# Copyright (C) 2004, 2006 Laboratoire d'Informatique de Paris 6 (LIP6),
|
||||
# département Systčmes Répartis Coopératifs (SRC), Université Pierre
|
||||
# et Marie Curie.
|
||||
|
|
@ -105,6 +105,13 @@ for x in ../reduccmp ../reductaustr; do
|
|||
run 0 $x 'Xa & Xb' 'X(a & b)'
|
||||
run 0 $x 'Xa | Xb' 'X(a | b)'
|
||||
|
||||
run 0 $x 'X(a) M X(b)' 'X(a M b)'
|
||||
run 0 $x 'X(a) W X(b)' 'X(a W b)'
|
||||
run 0 $x 'X(a) M b' 'b & X(b U a)'
|
||||
run 0 $x 'X(a) R b' 'b & X(b W a)'
|
||||
run 0 $x 'X(a) U b' 'b | X(b M a)'
|
||||
run 0 $x 'X(a) W b' 'b | X(b R a)'
|
||||
|
||||
run 0 $x '(a U b) & (c U b)' '(a & c) U b'
|
||||
run 0 $x '(a R b) & (a R c)' 'a R (b & c)'
|
||||
run 0 $x '(a U b) | (a U c)' 'a U (b | c)'
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue