simplify: some new simplification rules

For #263, reported by Mikuláš Klokočka.

G(a & Xe1 & F(b & e2)) = G(a & e1 & Fb & e2)
F(a | Xu1 | G(b | u2)) = F(a | u1 | Gb | u2)

* spot/tl/simplify.cc: Implement the rules.
* doc/tl/tl.tex, NEWS: Document them.
* tests/core/reduccmp.test, tests/core/eventuniv.test: Add test cases.
* tests/core/det.test, tests/core/ltl2tgba2.test: Adjust to expect
smaller automata.
* THANKS: Add Mikuláš.
This commit is contained in:
Alexandre Duret-Lutz 2017-09-02 09:30:26 +02:00
parent cd6f1c2c3e
commit 646c5170ed
8 changed files with 89 additions and 20 deletions

View file

@ -51,7 +51,7 @@ cat >formulas <<'EOF'
1,2,Ga R Fb
1,3,G(a U (b | X((!a & !c) | (a & c))))
1,5,XG((G!a & F!b) | (Fa & (a | Gb)))
1,10,(a U X!a) | XG(!b & XFc)
1,9,(a U X!a) | XG(!b & Fc)
1,4,X(G!a | GFa)
1,4,G(G!a | F!c | G!b)
EOF