simplifier: add two new rules
Fixes #354. * spot/tl/simplify.cc: Implement the rules. * doc/tl/tl.tex, NEWS: Document them. * tests/core/reduccmp.test: Add tests. * tests/core/det.test, tests/core/satmin.test: Adjust.
This commit is contained in:
parent
8e3b982985
commit
ca1c67a73d
6 changed files with 51 additions and 29 deletions
|
|
@ -36,7 +36,7 @@ cat >formulas <<'EOF'
|
|||
1,5,a M G(F!b | X!a)
|
||||
1,4,G!a R XFb
|
||||
1,4,XF(!a | GFb)
|
||||
1,6,GF!a U Xa
|
||||
1,5,X(GF!a U a)
|
||||
1,5,(a | G(a M !b)) W Fc
|
||||
1,6,Fa W Xb
|
||||
1,9,X(a R ((!b & F!c) M X!a))
|
||||
|
|
|
|||
|
|
@ -192,7 +192,11 @@ GFa <=> GFb, F(G(Fa&Fb)|G(!a&!b))
|
|||
FGa | (GFa & GFb), F(Ga | (G(Fa & Fb)))
|
||||
|
||||
Gb W a, Gb|a
|
||||
a W Fb, a W Fb
|
||||
Fb M Fa, Fa & Fb
|
||||
a M Gb, a M Gb
|
||||
GFa R Xf, X(GFa R f)
|
||||
GFa U Xf, X(GFa U f)
|
||||
|
||||
a U (b | G(a) | c), a W (b | c)
|
||||
a U (G(a)), Ga
|
||||
|
|
|
|||
|
|
@ -1140,8 +1140,8 @@ cat >expected <<'EOF'
|
|||
"!(X(F((!(p0)) | (G(F(p1))))))","15",3
|
||||
"!(X(F((!(p0)) | (G(F(p1))))))","16",3
|
||||
"!(X(F((!(p0)) | (G(F(p1))))))","17",3
|
||||
"(G((F(!(p0))) U (!(p0)))) U (X(p0))","1",6
|
||||
"(G((F(!(p0))) U (!(p0)))) U (X(p0))","2",6
|
||||
"(G((F(!(p0))) U (!(p0)))) U (X(p0))","1",5
|
||||
"(G((F(!(p0))) U (!(p0)))) U (X(p0))","2",5
|
||||
"(G((F(!(p0))) U (!(p0)))) U (X(p0))","3",5
|
||||
"(G((F(!(p0))) U (!(p0)))) U (X(p0))","4",5
|
||||
"(G((F(!(p0))) U (!(p0)))) U (X(p0))","6",5
|
||||
|
|
@ -1156,22 +1156,22 @@ cat >expected <<'EOF'
|
|||
"(G((F(!(p0))) U (!(p0)))) U (X(p0))","15",5
|
||||
"(G((F(!(p0))) U (!(p0)))) U (X(p0))","16",5
|
||||
"(G((F(!(p0))) U (!(p0)))) U (X(p0))","17",5
|
||||
"!((G((F(!(p0))) U (!(p0)))) U (X(p0)))","1",5
|
||||
"!((G((F(!(p0))) U (!(p0)))) U (X(p0)))","2",5
|
||||
"!((G((F(!(p0))) U (!(p0)))) U (X(p0)))","3",5
|
||||
"!((G((F(!(p0))) U (!(p0)))) U (X(p0)))","4",5
|
||||
"!((G((F(!(p0))) U (!(p0)))) U (X(p0)))","6",5
|
||||
"!((G((F(!(p0))) U (!(p0)))) U (X(p0)))","7",5
|
||||
"!((G((F(!(p0))) U (!(p0)))) U (X(p0)))","8",5
|
||||
"!((G((F(!(p0))) U (!(p0)))) U (X(p0)))","9",5
|
||||
"!((G((F(!(p0))) U (!(p0)))) U (X(p0)))","10",5
|
||||
"!((G((F(!(p0))) U (!(p0)))) U (X(p0)))","11",5
|
||||
"!((G((F(!(p0))) U (!(p0)))) U (X(p0)))","12",5
|
||||
"!((G((F(!(p0))) U (!(p0)))) U (X(p0)))","13",5
|
||||
"!((G((F(!(p0))) U (!(p0)))) U (X(p0)))","14",5
|
||||
"!((G((F(!(p0))) U (!(p0)))) U (X(p0)))","15",5
|
||||
"!((G((F(!(p0))) U (!(p0)))) U (X(p0)))","16",5
|
||||
"!((G((F(!(p0))) U (!(p0)))) U (X(p0)))","17",5
|
||||
"!((G((F(!(p0))) U (!(p0)))) U (X(p0)))","1",4
|
||||
"!((G((F(!(p0))) U (!(p0)))) U (X(p0)))","2",4
|
||||
"!((G((F(!(p0))) U (!(p0)))) U (X(p0)))","3",4
|
||||
"!((G((F(!(p0))) U (!(p0)))) U (X(p0)))","4",4
|
||||
"!((G((F(!(p0))) U (!(p0)))) U (X(p0)))","6",4
|
||||
"!((G((F(!(p0))) U (!(p0)))) U (X(p0)))","7",4
|
||||
"!((G((F(!(p0))) U (!(p0)))) U (X(p0)))","8",4
|
||||
"!((G((F(!(p0))) U (!(p0)))) U (X(p0)))","9",4
|
||||
"!((G((F(!(p0))) U (!(p0)))) U (X(p0)))","10",4
|
||||
"!((G((F(!(p0))) U (!(p0)))) U (X(p0)))","11",4
|
||||
"!((G((F(!(p0))) U (!(p0)))) U (X(p0)))","12",4
|
||||
"!((G((F(!(p0))) U (!(p0)))) U (X(p0)))","13",4
|
||||
"!((G((F(!(p0))) U (!(p0)))) U (X(p0)))","14",4
|
||||
"!((G((F(!(p0))) U (!(p0)))) U (X(p0)))","15",4
|
||||
"!((G((F(!(p0))) U (!(p0)))) U (X(p0)))","16",4
|
||||
"!((G((F(!(p0))) U (!(p0)))) U (X(p0)))","17",4
|
||||
"((p0) | (G((p0) M (!(p1))))) W (F(p2))","1",4
|
||||
"((p0) | (G((p0) M (!(p1))))) W (F(p2))","2",5
|
||||
"((p0) | (G((p0) M (!(p1))))) W (F(p2))","3",4
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue