#!/bin/sh # -*- coding: utf-8 -*- # Copyright (C) 2013 Laboratoire de Recherche et Développement # de l'Epita (LRDE). # # This file is part of Spot, a model checking library. # # Spot is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # Spot is distributed in the hope that it will be useful, but WITHOUT # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY # or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public # License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . . ./defs set -e ltl2tgba=ltl2tgba ltlcross=ltlcross # The formulas below have been removed from the list to reduce the time # required to complete the test. In the future, we would like to respond # quickly to them. # # GF(a <-> XXXb) # X((a M F((!c & !b) | (c & b))) W (G!c U b)) # (Fa W b) R (Fc | !a) # G((G!a & ((!b & X!c) | (b & Xc))) | (Fa & ((!b & Xc) | (b & X!c)))) # X(a R ((!b & F!c) M X!a)) # X(Gc | XG((b & Ga) | (!b & F!a))) # (a U X!a) | XG(!b & XFc) # XXG(Fa U Xb) # # Those one where removed because they were too long in the "expected" file. # We can not exceed 80 characters! # # p U (q & X(r & F(s & XF(u & XF(v & XFw))))) # (p U q U r) || (q U r U p) || (r U p U q) cat >formulas <<'EOF' XXa GF(a -> XXXb) F(p & XF(q & XF(r & XFs))) F(q & X(p U r)) F(p & X(q & XFr)) p U (q & X(r U s)) G(a -> Fb) & G(c -> Fd) GFa & GFb GFa | GFb | GFc GFa a U b U c U d G(a -> Fb) & Gc (Ga -> Fb) & (G!a -> F!b) G(a -> Fb) & G(b -> Fc) G(a -> Fb) & G(!a -> F!b) GFp && GFq && GF r && GF u G(p -> q U r) GF(a <-> XXb) G!c & G(a -> Fb) & G(b -> Fc) G(a -> XXXb) G(a -> Fb) G(a U b U !a U !b) X(((a & b) R (!a U !c)) R b) (!a M !b) W F!c (b & Fa & GFc) R a (a R (b W a)) W G(!a M (c | b)) X(G(!a M !b) | G(a | G!a)) Fa W Gb Ga | GFb a M G(F!b | X!a) G!a R XFb XF(!a | GFb) G(F!a U !a) U Xa (a | G(a M !b)) W Fc Fa W Xb XG!a R Fb GFc | (a & Fb) X(a R (Fb R F!b)) G(Xa M Fa) X(Gb | GFa) Ga R Fb G(a U (b | X((!c & !a) | (a & c)))) XG((G!a & F!b) | (Fa & (a | Gb))) X(G!a | GFa) G(G!a | F!c | G!b) G(a | Fa) EOF # The following tests are named from 1 to 11 in order to reduce the length of # each line. If a test fails during the diff, it is easily identifiable. $ltlcross -F formulas \ --timeout=60 \ "{1} $ltl2tgba --det --lbtt %f >%T" \ "{2} $ltl2tgba --det --lbtt -x tba-det %f >%T" \ "{3} $ltl2tgba --det --lbtt -x sat-acc=1 %f >%T" \ "{4} $ltl2tgba --det --lbtt -x sat-acc=3 %f >%T" \ "{5} $ltl2tgba --det --lbtt -x sat-states=3 %f >%T" \ "{6} $ltl2tgba --det --lbtt -x sat-minimize %f >%T" \ "{7} $ltl2tgba --det --lbtt -x sat-minimize=2 %f >%T" \ --csv=det.csv grep -v ',\"5\",' det.csv | cut -d ',' -f '1,2,6' > extracted cat >expected <<'EOF' "formula","tool","states" "X(X(p0))","1",4 "X(X(p0))","2",4 "X(X(p0))","3",4 "X(X(p0))","4",4 "X(X(p0))","6",4 "X(X(p0))","7",4 "!(X(X(p0)))","1",4 "!(X(X(p0)))","2",4 "!(X(X(p0)))","3",4 "!(X(X(p0)))","4",4 "!(X(X(p0)))","6",4 "!(X(X(p0)))","7",4 "G(F((p0) -> (X(X(X(p1))))))","1",1 "G(F((p0) -> (X(X(X(p1))))))","2",1 "G(F((p0) -> (X(X(X(p1))))))","3",1 "G(F((p0) -> (X(X(X(p1))))))","4",1 "G(F((p0) -> (X(X(X(p1))))))","6",1 "G(F((p0) -> (X(X(X(p1))))))","7",1 "!(G(F((p0) -> (X(X(X(p1)))))))","1",2 "!(G(F((p0) -> (X(X(X(p1)))))))","2",2 "!(G(F((p0) -> (X(X(X(p1)))))))","3",2 "!(G(F((p0) -> (X(X(X(p1)))))))","4",2 "!(G(F((p0) -> (X(X(X(p1)))))))","6",2 "!(G(F((p0) -> (X(X(X(p1)))))))","7",2 "F((p0) & (X(F((p1) & (X(F((p2) & (X(F(p3))))))))))","1",5 "F((p0) & (X(F((p1) & (X(F((p2) & (X(F(p3))))))))))","2",5 "F((p0) & (X(F((p1) & (X(F((p2) & (X(F(p3))))))))))","3",5 "F((p0) & (X(F((p1) & (X(F((p2) & (X(F(p3))))))))))","4",5 "F((p0) & (X(F((p1) & (X(F((p2) & (X(F(p3))))))))))","6",5 "F((p0) & (X(F((p1) & (X(F((p2) & (X(F(p3))))))))))","7",5 "!(F((p0) & (X(F((p1) & (X(F((p2) & (X(F(p3)))))))))))","1",4 "!(F((p0) & (X(F((p1) & (X(F((p2) & (X(F(p3)))))))))))","2",4 "!(F((p0) & (X(F((p1) & (X(F((p2) & (X(F(p3)))))))))))","3",4 "!(F((p0) & (X(F((p1) & (X(F((p2) & (X(F(p3)))))))))))","4",4 "!(F((p0) & (X(F((p1) & (X(F((p2) & (X(F(p3)))))))))))","6",4 "!(F((p0) & (X(F((p1) & (X(F((p2) & (X(F(p3)))))))))))","7",4 "F((p0) & (X((p1) U (p2))))","1",3 "F((p0) & (X((p1) U (p2))))","2",3 "F((p0) & (X((p1) U (p2))))","3",3 "F((p0) & (X((p1) U (p2))))","4",3 "F((p0) & (X((p1) U (p2))))","6",3 "F((p0) & (X((p1) U (p2))))","7",3 "!(F((p0) & (X((p1) U (p2)))))","1",2 "!(F((p0) & (X((p1) U (p2)))))","2",2 "!(F((p0) & (X((p1) U (p2)))))","3",2 "!(F((p0) & (X((p1) U (p2)))))","4",2 "!(F((p0) & (X((p1) U (p2)))))","6",2 "!(F((p0) & (X((p1) U (p2)))))","7",2 "F((p0) & (X((p1) & (X(F(p2))))))","1",4 "F((p0) & (X((p1) & (X(F(p2))))))","2",4 "F((p0) & (X((p1) & (X(F(p2))))))","3",4 "F((p0) & (X((p1) & (X(F(p2))))))","4",4 "F((p0) & (X((p1) & (X(F(p2))))))","6",4 "F((p0) & (X((p1) & (X(F(p2))))))","7",4 "!(F((p0) & (X((p1) & (X(F(p2)))))))","1",3 "!(F((p0) & (X((p1) & (X(F(p2)))))))","2",3 "!(F((p0) & (X((p1) & (X(F(p2)))))))","3",3 "!(F((p0) & (X((p1) & (X(F(p2)))))))","4",3 "!(F((p0) & (X((p1) & (X(F(p2)))))))","6",3 "!(F((p0) & (X((p1) & (X(F(p2)))))))","7",3 "(p0) U ((p1) & (X((p2) U (p3))))","1",4 "(p0) U ((p1) & (X((p2) U (p3))))","2",4 "(p0) U ((p1) & (X((p2) U (p3))))","3",4 "(p0) U ((p1) & (X((p2) U (p3))))","4",4 "(p0) U ((p1) & (X((p2) U (p3))))","6",4 "(p0) U ((p1) & (X((p2) U (p3))))","7",4 "!((p0) U ((p1) & (X((p2) U (p3)))))","1",4 "!((p0) U ((p1) & (X((p2) U (p3)))))","2",4 "!((p0) U ((p1) & (X((p2) U (p3)))))","3",4 "!((p0) U ((p1) & (X((p2) U (p3)))))","4",4 "!((p0) U ((p1) & (X((p2) U (p3)))))","6",4 "!((p0) U ((p1) & (X((p2) U (p3)))))","7",4 "(G((p0) -> (F(p1)))) & (G((p2) -> (F(p3))))","1",4 "(G((p0) -> (F(p1)))) & (G((p2) -> (F(p3))))","2",4 "(G((p0) -> (F(p1)))) & (G((p2) -> (F(p3))))","3",4 "(G((p0) -> (F(p1)))) & (G((p2) -> (F(p3))))","4",4 "(G((p0) -> (F(p1)))) & (G((p2) -> (F(p3))))","6",4 "(G((p0) -> (F(p1)))) & (G((p2) -> (F(p3))))","7",4 "!((G((p0) -> (F(p1)))) & (G((p2) -> (F(p3)))))","1",3 "!((G((p0) -> (F(p1)))) & (G((p2) -> (F(p3)))))","2",3 "!((G((p0) -> (F(p1)))) & (G((p2) -> (F(p3)))))","3",3 "!((G((p0) -> (F(p1)))) & (G((p2) -> (F(p3)))))","4",3 "!((G((p0) -> (F(p1)))) & (G((p2) -> (F(p3)))))","6",3 "!((G((p0) -> (F(p1)))) & (G((p2) -> (F(p3)))))","7",3 "(G(F(p0))) & (G(F(p1)))","1",1 "(G(F(p0))) & (G(F(p1)))","2",1 "(G(F(p0))) & (G(F(p1)))","3",1 "(G(F(p0))) & (G(F(p1)))","4",1 "(G(F(p0))) & (G(F(p1)))","6",1 "(G(F(p0))) & (G(F(p1)))","7",1 "!((G(F(p0))) & (G(F(p1))))","1",3 "!((G(F(p0))) & (G(F(p1))))","2",3 "!((G(F(p0))) & (G(F(p1))))","3",3 "!((G(F(p0))) & (G(F(p1))))","4",3 "!((G(F(p0))) & (G(F(p1))))","6",3 "!((G(F(p0))) & (G(F(p1))))","7",3 "(G(F(p0))) | (G(F(p1))) | (G(F(p2)))","1",1 "(G(F(p0))) | (G(F(p1))) | (G(F(p2)))","2",1 "(G(F(p0))) | (G(F(p1))) | (G(F(p2)))","3",1 "(G(F(p0))) | (G(F(p1))) | (G(F(p2)))","4",1 "(G(F(p0))) | (G(F(p1))) | (G(F(p2)))","6",1 "(G(F(p0))) | (G(F(p1))) | (G(F(p2)))","7",1 "!((G(F(p0))) | (G(F(p1))) | (G(F(p2))))","1",2 "!((G(F(p0))) | (G(F(p1))) | (G(F(p2))))","2",2 "!((G(F(p0))) | (G(F(p1))) | (G(F(p2))))","3",2 "!((G(F(p0))) | (G(F(p1))) | (G(F(p2))))","4",2 "!((G(F(p0))) | (G(F(p1))) | (G(F(p2))))","6",2 "!((G(F(p0))) | (G(F(p1))) | (G(F(p2))))","7",2 "G(F(p0))","1",1 "G(F(p0))","2",1 "G(F(p0))","3",1 "G(F(p0))","4",1 "G(F(p0))","6",1 "G(F(p0))","7",1 "!(G(F(p0)))","1",2 "!(G(F(p0)))","2",2 "!(G(F(p0)))","3",2 "!(G(F(p0)))","4",2 "!(G(F(p0)))","6",2 "!(G(F(p0)))","7",2 "(p0) U ((p1) U ((p2) U (p3)))","1",4 "(p0) U ((p1) U ((p2) U (p3)))","2",4 "(p0) U ((p1) U ((p2) U (p3)))","3",4 "(p0) U ((p1) U ((p2) U (p3)))","4",4 "(p0) U ((p1) U ((p2) U (p3)))","6",4 "(p0) U ((p1) U ((p2) U (p3)))","7",4 "!((p0) U ((p1) U ((p2) U (p3))))","1",4 "!((p0) U ((p1) U ((p2) U (p3))))","2",4 "!((p0) U ((p1) U ((p2) U (p3))))","3",4 "!((p0) U ((p1) U ((p2) U (p3))))","4",4 "!((p0) U ((p1) U ((p2) U (p3))))","6",4 "!((p0) U ((p1) U ((p2) U (p3))))","7",4 "(G((p0) -> (F(p1)))) & (G(p2))","1",2 "(G((p0) -> (F(p1)))) & (G(p2))","2",2 "(G((p0) -> (F(p1)))) & (G(p2))","3",2 "(G((p0) -> (F(p1)))) & (G(p2))","4",2 "(G((p0) -> (F(p1)))) & (G(p2))","6",2 "(G((p0) -> (F(p1)))) & (G(p2))","7",2 "!((G((p0) -> (F(p1)))) & (G(p2)))","1",3 "!((G((p0) -> (F(p1)))) & (G(p2)))","2",3 "!((G((p0) -> (F(p1)))) & (G(p2)))","3",3 "!((G((p0) -> (F(p1)))) & (G(p2)))","4",3 "!((G((p0) -> (F(p1)))) & (G(p2)))","6",3 "!((G((p0) -> (F(p1)))) & (G(p2)))","7",3 "((G(p0)) -> (F(p1))) & ((G(!(p0))) -> (F(!(p1))))","1",4 "((G(p0)) -> (F(p1))) & ((G(!(p0))) -> (F(!(p1))))","2",4 "((G(p0)) -> (F(p1))) & ((G(!(p0))) -> (F(!(p1))))","3",4 "((G(p0)) -> (F(p1))) & ((G(!(p0))) -> (F(!(p1))))","4",4 "((G(p0)) -> (F(p1))) & ((G(!(p0))) -> (F(!(p1))))","6",4 "((G(p0)) -> (F(p1))) & ((G(!(p0))) -> (F(!(p1))))","7",4 "!(((G(p0)) -> (F(p1))) & ((G(!(p0))) -> (F(!(p1)))))","1",3 "!(((G(p0)) -> (F(p1))) & ((G(!(p0))) -> (F(!(p1)))))","2",3 "!(((G(p0)) -> (F(p1))) & ((G(!(p0))) -> (F(!(p1)))))","3",3 "!(((G(p0)) -> (F(p1))) & ((G(!(p0))) -> (F(!(p1)))))","4",3 "!(((G(p0)) -> (F(p1))) & ((G(!(p0))) -> (F(!(p1)))))","6",3 "!(((G(p0)) -> (F(p1))) & ((G(!(p0))) -> (F(!(p1)))))","7",3 "(G((p0) -> (F(p1)))) & (G((p1) -> (F(p2))))","1",4 "(G((p0) -> (F(p1)))) & (G((p1) -> (F(p2))))","2",4 "(G((p0) -> (F(p1)))) & (G((p1) -> (F(p2))))","3",4 "(G((p0) -> (F(p1)))) & (G((p1) -> (F(p2))))","4",3 "(G((p0) -> (F(p1)))) & (G((p1) -> (F(p2))))","6",3 "(G((p0) -> (F(p1)))) & (G((p1) -> (F(p2))))","7",3 "!((G((p0) -> (F(p1)))) & (G((p1) -> (F(p2)))))","1",3 "!((G((p0) -> (F(p1)))) & (G((p1) -> (F(p2)))))","2",3 "!((G((p0) -> (F(p1)))) & (G((p1) -> (F(p2)))))","3",3 "!((G((p0) -> (F(p1)))) & (G((p1) -> (F(p2)))))","4",3 "!((G((p0) -> (F(p1)))) & (G((p1) -> (F(p2)))))","6",3 "!((G((p0) -> (F(p1)))) & (G((p1) -> (F(p2)))))","7",3 "(G((p0) -> (F(p1)))) & (G((!(p0)) -> (F(!(p1)))))","1",3 "(G((p0) -> (F(p1)))) & (G((!(p0)) -> (F(!(p1)))))","2",3 "(G((p0) -> (F(p1)))) & (G((!(p0)) -> (F(!(p1)))))","3",3 "(G((p0) -> (F(p1)))) & (G((!(p0)) -> (F(!(p1)))))","4",3 "(G((p0) -> (F(p1)))) & (G((!(p0)) -> (F(!(p1)))))","6",3 "(G((p0) -> (F(p1)))) & (G((!(p0)) -> (F(!(p1)))))","7",3 "!((G((p0) -> (F(p1)))) & (G((!(p0)) -> (F(!(p1))))))","1",3 "!((G((p0) -> (F(p1)))) & (G((!(p0)) -> (F(!(p1))))))","2",3 "!((G((p0) -> (F(p1)))) & (G((!(p0)) -> (F(!(p1))))))","3",3 "!((G((p0) -> (F(p1)))) & (G((!(p0)) -> (F(!(p1))))))","4",3 "!((G((p0) -> (F(p1)))) & (G((!(p0)) -> (F(!(p1))))))","6",3 "!((G((p0) -> (F(p1)))) & (G((!(p0)) -> (F(!(p1))))))","7",3 "(G(F(p0))) & (G(F(p1))) & (G(F(p2))) & (G(F(p3)))","1",1 "(G(F(p0))) & (G(F(p1))) & (G(F(p2))) & (G(F(p3)))","2",1 "(G(F(p0))) & (G(F(p1))) & (G(F(p2))) & (G(F(p3)))","3",1 "(G(F(p0))) & (G(F(p1))) & (G(F(p2))) & (G(F(p3)))","4",1 "(G(F(p0))) & (G(F(p1))) & (G(F(p2))) & (G(F(p3)))","6",1 "(G(F(p0))) & (G(F(p1))) & (G(F(p2))) & (G(F(p3)))","7",1 "!((G(F(p0))) & (G(F(p1))) & (G(F(p2))) & (G(F(p3))))","1",5 "!((G(F(p0))) & (G(F(p1))) & (G(F(p2))) & (G(F(p3))))","2",5 "!((G(F(p0))) & (G(F(p1))) & (G(F(p2))) & (G(F(p3))))","3",5 "!((G(F(p0))) & (G(F(p1))) & (G(F(p2))) & (G(F(p3))))","4",5 "!((G(F(p0))) & (G(F(p1))) & (G(F(p2))) & (G(F(p3))))","6",5 "!((G(F(p0))) & (G(F(p1))) & (G(F(p2))) & (G(F(p3))))","7",5 "G((p0) -> ((p1) U (p2)))","1",2 "G((p0) -> ((p1) U (p2)))","2",2 "G((p0) -> ((p1) U (p2)))","3",2 "G((p0) -> ((p1) U (p2)))","4",2 "G((p0) -> ((p1) U (p2)))","6",2 "G((p0) -> ((p1) U (p2)))","7",2 "!(G((p0) -> ((p1) U (p2))))","1",3 "!(G((p0) -> ((p1) U (p2))))","2",3 "!(G((p0) -> ((p1) U (p2))))","3",3 "!(G((p0) -> ((p1) U (p2))))","4",3 "!(G((p0) -> ((p1) U (p2))))","6",3 "!(G((p0) -> ((p1) U (p2))))","7",3 "G(F((p0) <-> (X(X(p1)))))","1",9 "G(F((p0) <-> (X(X(p1)))))","2",7 "G(F((p0) <-> (X(X(p1)))))","3",4 "G(F((p0) <-> (X(X(p1)))))","4",4 "G(F((p0) <-> (X(X(p1)))))","6",4 "G(F((p0) <-> (X(X(p1)))))","7",4 "!(G(F((p0) <-> (X(X(p1))))))","1",7 "!(G(F((p0) <-> (X(X(p1))))))","2",7 "!(G(F((p0) <-> (X(X(p1))))))","3",7 "!(G(F((p0) <-> (X(X(p1))))))","4",7 "!(G(F((p0) <-> (X(X(p1))))))","6",7 "!(G(F((p0) <-> (X(X(p1))))))","7",7 "(G(!(p0))) & (G((p1) -> (F(p2)))) & (G((p2) -> (F(p0))))","1",1 "(G(!(p0))) & (G((p1) -> (F(p2)))) & (G((p2) -> (F(p0))))","2",1 "(G(!(p0))) & (G((p1) -> (F(p2)))) & (G((p2) -> (F(p0))))","3",1 "(G(!(p0))) & (G((p1) -> (F(p2)))) & (G((p2) -> (F(p0))))","4",1 "(G(!(p0))) & (G((p1) -> (F(p2)))) & (G((p2) -> (F(p0))))","6",1 "(G(!(p0))) & (G((p1) -> (F(p2)))) & (G((p2) -> (F(p0))))","7",1 "!((G(!(p0))) & (G((p1) -> (F(p2)))) & (G((p2) -> (F(p0)))))","1",2 "!((G(!(p0))) & (G((p1) -> (F(p2)))) & (G((p2) -> (F(p0)))))","2",2 "!((G(!(p0))) & (G((p1) -> (F(p2)))) & (G((p2) -> (F(p0)))))","3",2 "!((G(!(p0))) & (G((p1) -> (F(p2)))) & (G((p2) -> (F(p0)))))","4",2 "!((G(!(p0))) & (G((p1) -> (F(p2)))) & (G((p2) -> (F(p0)))))","6",2 "!((G(!(p0))) & (G((p1) -> (F(p2)))) & (G((p2) -> (F(p0)))))","7",2 "G((p0) -> (X(X(X(p1)))))","1",8 "G((p0) -> (X(X(X(p1)))))","2",8 "G((p0) -> (X(X(X(p1)))))","3",8 "G((p0) -> (X(X(X(p1)))))","4",8 "G((p0) -> (X(X(X(p1)))))","6",8 "G((p0) -> (X(X(X(p1)))))","7",8 "!(G((p0) -> (X(X(X(p1))))))","1",9 "!(G((p0) -> (X(X(X(p1))))))","2",9 "!(G((p0) -> (X(X(X(p1))))))","3",9 "!(G((p0) -> (X(X(X(p1))))))","4",9 "!(G((p0) -> (X(X(X(p1))))))","6",9 "!(G((p0) -> (X(X(X(p1))))))","7",9 "G((p0) -> (F(p1)))","1",2 "G((p0) -> (F(p1)))","2",2 "G((p0) -> (F(p1)))","3",2 "G((p0) -> (F(p1)))","4",2 "G((p0) -> (F(p1)))","6",2 "G((p0) -> (F(p1)))","7",2 "!(G((p0) -> (F(p1))))","1",2 "!(G((p0) -> (F(p1))))","2",2 "!(G((p0) -> (F(p1))))","3",2 "!(G((p0) -> (F(p1))))","4",2 "!(G((p0) -> (F(p1))))","6",2 "!(G((p0) -> (F(p1))))","7",2 "G((p0) U ((p1) U ((!(p0)) U (!(p1)))))","1",1 "G((p0) U ((p1) U ((!(p0)) U (!(p1)))))","2",1 "G((p0) U ((p1) U ((!(p0)) U (!(p1)))))","3",1 "G((p0) U ((p1) U ((!(p0)) U (!(p1)))))","4",1 "G((p0) U ((p1) U ((!(p0)) U (!(p1)))))","6",1 "G((p0) U ((p1) U ((!(p0)) U (!(p1)))))","7",1 "!(G((p0) U ((p1) U ((!(p0)) U (!(p1))))))","1",2 "!(G((p0) U ((p1) U ((!(p0)) U (!(p1))))))","2",2 "!(G((p0) U ((p1) U ((!(p0)) U (!(p1))))))","3",2 "!(G((p0) U ((p1) U ((!(p0)) U (!(p1))))))","4",2 "!(G((p0) U ((p1) U ((!(p0)) U (!(p1))))))","6",2 "!(G((p0) U ((p1) U ((!(p0)) U (!(p1))))))","7",2 "X((((p0) & (p1)) R ((!(p0)) U (!(p2)))) R (p1))","1",4 "X((((p0) & (p1)) R ((!(p0)) U (!(p2)))) R (p1))","2",5 "X((((p0) & (p1)) R ((!(p0)) U (!(p2)))) R (p1))","3",5 "X((((p0) & (p1)) R ((!(p0)) U (!(p2)))) R (p1))","4",5 "X((((p0) & (p1)) R ((!(p0)) U (!(p2)))) R (p1))","6",5 "X((((p0) & (p1)) R ((!(p0)) U (!(p2)))) R (p1))","7",5 "!(X((((p0) & (p1)) R ((!(p0)) U (!(p2)))) R (p1)))","1",6 "!(X((((p0) & (p1)) R ((!(p0)) U (!(p2)))) R (p1)))","2",6 "!(X((((p0) & (p1)) R ((!(p0)) U (!(p2)))) R (p1)))","3",6 "!(X((((p0) & (p1)) R ((!(p0)) U (!(p2)))) R (p1)))","4",6 "!(X((((p0) & (p1)) R ((!(p0)) U (!(p2)))) R (p1)))","6",6 "!(X((((p0) & (p1)) R ((!(p0)) U (!(p2)))) R (p1)))","7",6 "((!(p0)) M (!(p1))) W (F(!(p2)))","1",4 "((!(p0)) M (!(p1))) W (F(!(p2)))","2",5 "((!(p0)) M (!(p1))) W (F(!(p2)))","3",3 "((!(p0)) M (!(p1))) W (F(!(p2)))","4",3 "((!(p0)) M (!(p1))) W (F(!(p2)))","6",3 "((!(p0)) M (!(p1))) W (F(!(p2)))","7",3 "!(((!(p0)) M (!(p1))) W (F(!(p2))))","1",3 "!(((!(p0)) M (!(p1))) W (F(!(p2))))","2",3 "!(((!(p0)) M (!(p1))) W (F(!(p2))))","3",3 "!(((!(p0)) M (!(p1))) W (F(!(p2))))","4",3 "!(((!(p0)) M (!(p1))) W (F(!(p2))))","6",3 "!(((!(p0)) M (!(p1))) W (F(!(p2))))","7",3 "((p0) & (F(p1)) & (G(F(p2)))) R (p1)","1",2 "((p0) & (F(p1)) & (G(F(p2)))) R (p1)","2",3 "((p0) & (F(p1)) & (G(F(p2)))) R (p1)","3",3 "((p0) & (F(p1)) & (G(F(p2)))) R (p1)","4",3 "((p0) & (F(p1)) & (G(F(p2)))) R (p1)","6",3 "((p0) & (F(p1)) & (G(F(p2)))) R (p1)","7",3 "!(((p0) & (F(p1)) & (G(F(p2)))) R (p1))","1",5 "!(((p0) & (F(p1)) & (G(F(p2)))) R (p1))","2",5 "!(((p0) & (F(p1)) & (G(F(p2)))) R (p1))","3",5 "!(((p0) & (F(p1)) & (G(F(p2)))) R (p1))","4",5 "!(((p0) & (F(p1)) & (G(F(p2)))) R (p1))","6",5 "!(((p0) & (F(p1)) & (G(F(p2)))) R (p1))","7",5 "((p0) R ((p1) W (p0))) W (G((!(p0)) M ((p1) | (p2))))","1",3 "((p0) R ((p1) W (p0))) W (G((!(p0)) M ((p1) | (p2))))","2",2 "((p0) R ((p1) W (p0))) W (G((!(p0)) M ((p1) | (p2))))","3",2 "((p0) R ((p1) W (p0))) W (G((!(p0)) M ((p1) | (p2))))","4",2 "((p0) R ((p1) W (p0))) W (G((!(p0)) M ((p1) | (p2))))","6",2 "((p0) R ((p1) W (p0))) W (G((!(p0)) M ((p1) | (p2))))","7",2 "!(((p0) R ((p1) W (p0))) W (G((!(p0)) M ((p1) | (p2)))))","1",4 "!(((p0) R ((p1) W (p0))) W (G((!(p0)) M ((p1) | (p2)))))","2",4 "!(((p0) R ((p1) W (p0))) W (G((!(p0)) M ((p1) | (p2)))))","3",4 "!(((p0) R ((p1) W (p0))) W (G((!(p0)) M ((p1) | (p2)))))","4",4 "!(((p0) R ((p1) W (p0))) W (G((!(p0)) M ((p1) | (p2)))))","6",4 "!(((p0) R ((p1) W (p0))) W (G((!(p0)) M ((p1) | (p2)))))","7",4 "X((G((!(p0)) M (!(p1)))) | (G((p0) | (G(!(p0))))))","1",5 "X((G((!(p0)) M (!(p1)))) | (G((p0) | (G(!(p0))))))","2",7 "X((G((!(p0)) M (!(p1)))) | (G((p0) | (G(!(p0))))))","3",6 "X((G((!(p0)) M (!(p1)))) | (G((p0) | (G(!(p0))))))","4",6 "X((G((!(p0)) M (!(p1)))) | (G((p0) | (G(!(p0))))))","6",6 "X((G((!(p0)) M (!(p1)))) | (G((p0) | (G(!(p0))))))","7",6 "!(X((G((!(p0)) M (!(p1)))) | (G((p0) | (G(!(p0)))))))","1",8 "!(X((G((!(p0)) M (!(p1)))) | (G((p0) | (G(!(p0)))))))","2",8 "!(X((G((!(p0)) M (!(p1)))) | (G((p0) | (G(!(p0)))))))","3",8 "!(X((G((!(p0)) M (!(p1)))) | (G((p0) | (G(!(p0)))))))","4",8 "!(X((G((!(p0)) M (!(p1)))) | (G((p0) | (G(!(p0)))))))","6",8 "!(X((G((!(p0)) M (!(p1)))) | (G((p0) | (G(!(p0)))))))","7",8 "(F(p0)) W (G(p1))","1",3 "(F(p0)) W (G(p1))","2",2 "(F(p0)) W (G(p1))","3",2 "(F(p0)) W (G(p1))","4",2 "(F(p0)) W (G(p1))","6",2 "(F(p0)) W (G(p1))","7",2 "!((F(p0)) W (G(p1)))","1",2 "!((F(p0)) W (G(p1)))","2",2 "!((F(p0)) W (G(p1)))","3",2 "!((F(p0)) W (G(p1)))","4",2 "!((F(p0)) W (G(p1)))","6",2 "!((F(p0)) W (G(p1)))","7",2 "(G(F(p1))) | (G(p0))","1",3 "(G(F(p1))) | (G(p0))","2",3 "(G(F(p1))) | (G(p0))","3",2 "(G(F(p1))) | (G(p0))","4",2 "(G(F(p1))) | (G(p0))","6",2 "(G(F(p1))) | (G(p0))","7",2 "!((G(F(p1))) | (G(p0)))","1",3 "!((G(F(p1))) | (G(p0)))","2",3 "!((G(F(p1))) | (G(p0)))","3",3 "!((G(F(p1))) | (G(p0)))","4",3 "!((G(F(p1))) | (G(p0)))","6",3 "!((G(F(p1))) | (G(p0)))","7",3 "(p0) M (G((F(!(p1))) | (X(!(p0)))))","1",5 "(p0) M (G((F(!(p1))) | (X(!(p0)))))","2",5 "(p0) M (G((F(!(p1))) | (X(!(p0)))))","3",5 "(p0) M (G((F(!(p1))) | (X(!(p0)))))","4",5 "(p0) M (G((F(!(p1))) | (X(!(p0)))))","6",5 "(p0) M (G((F(!(p1))) | (X(!(p0)))))","7",5 "!((p0) M (G((F(!(p1))) | (X(!(p0))))))","1",4 "!((p0) M (G((F(!(p1))) | (X(!(p0))))))","2",4 "!((p0) M (G((F(!(p1))) | (X(!(p0))))))","3",4 "!((p0) M (G((F(!(p1))) | (X(!(p0))))))","4",4 "!((p0) M (G((F(!(p1))) | (X(!(p0))))))","6",4 "!((p0) M (G((F(!(p1))) | (X(!(p0))))))","7",4 "(G(!(p0))) R (X(F(p1)))","1",4 "(G(!(p0))) R (X(F(p1)))","2",4 "(G(!(p0))) R (X(F(p1)))","3",3 "(G(!(p0))) R (X(F(p1)))","4",3 "(G(!(p0))) R (X(F(p1)))","6",3 "(G(!(p0))) R (X(F(p1)))","7",3 "!((G(!(p0))) R (X(F(p1))))","1",3 "!((G(!(p0))) R (X(F(p1))))","2",3 "!((G(!(p0))) R (X(F(p1))))","3",3 "!((G(!(p0))) R (X(F(p1))))","4",3 "!((G(!(p0))) R (X(F(p1))))","6",3 "!((G(!(p0))) R (X(F(p1))))","7",3 "X(F((!(p0)) | (G(F(p1)))))","1",4 "X(F((!(p0)) | (G(F(p1)))))","2",4 "X(F((!(p0)) | (G(F(p1)))))","3",3 "X(F((!(p0)) | (G(F(p1)))))","4",3 "X(F((!(p0)) | (G(F(p1)))))","6",3 "X(F((!(p0)) | (G(F(p1)))))","7",3 "!(X(F((!(p0)) | (G(F(p1))))))","1",3 "!(X(F((!(p0)) | (G(F(p1))))))","2",3 "!(X(F((!(p0)) | (G(F(p1))))))","3",3 "!(X(F((!(p0)) | (G(F(p1))))))","4",3 "!(X(F((!(p0)) | (G(F(p1))))))","6",3 "!(X(F((!(p0)) | (G(F(p1))))))","7",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))","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)))","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 "((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 "((p0) | (G((p0) M (!(p1))))) W (F(p2))","4",4 "((p0) | (G((p0) M (!(p1))))) W (F(p2))","6",4 "((p0) | (G((p0) M (!(p1))))) W (F(p2))","7",4 "!(((p0) | (G((p0) M (!(p1))))) W (F(p2)))","1",4 "!(((p0) | (G((p0) M (!(p1))))) W (F(p2)))","2",4 "!(((p0) | (G((p0) M (!(p1))))) W (F(p2)))","3",4 "!(((p0) | (G((p0) M (!(p1))))) W (F(p2)))","4",4 "!(((p0) | (G((p0) M (!(p1))))) W (F(p2)))","6",4 "!(((p0) | (G((p0) M (!(p1))))) W (F(p2)))","7",4 "(F(p0)) W (X(p1))","1",6 "(F(p0)) W (X(p1))","2",6 "(F(p0)) W (X(p1))","3",6 "(F(p0)) W (X(p1))","4",6 "(F(p0)) W (X(p1))","6",6 "(F(p0)) W (X(p1))","7",6 "!((F(p0)) W (X(p1)))","1",4 "!((F(p0)) W (X(p1)))","2",4 "!((F(p0)) W (X(p1)))","3",4 "!((F(p0)) W (X(p1)))","4",4 "!((F(p0)) W (X(p1)))","6",4 "!((F(p0)) W (X(p1)))","7",4 "(X(G(!(p0)))) R (F(p1))","1",2 "(X(G(!(p0)))) R (F(p1))","2",2 "(X(G(!(p0)))) R (F(p1))","3",2 "(X(G(!(p0)))) R (F(p1))","4",2 "(X(G(!(p0)))) R (F(p1))","6",2 "(X(G(!(p0)))) R (F(p1))","7",2 "!((X(G(!(p0)))) R (F(p1)))","1",3 "!((X(G(!(p0)))) R (F(p1)))","2",3 "!((X(G(!(p0)))) R (F(p1)))","3",3 "!((X(G(!(p0)))) R (F(p1)))","4",3 "!((X(G(!(p0)))) R (F(p1)))","6",3 "!((X(G(!(p0)))) R (F(p1)))","7",3 "(G(F(p0))) | ((p1) & (F(p2)))","1",4 "(G(F(p0))) | ((p1) & (F(p2)))","2",4 "(G(F(p0))) | ((p1) & (F(p2)))","3",4 "(G(F(p0))) | ((p1) & (F(p2)))","4",4 "(G(F(p0))) | ((p1) & (F(p2)))","6",4 "(G(F(p0))) | ((p1) & (F(p2)))","7",4 "!((G(F(p0))) | ((p1) & (F(p2))))","1",5 "!((G(F(p0))) | ((p1) & (F(p2))))","2",5 "!((G(F(p0))) | ((p1) & (F(p2))))","3",5 "!((G(F(p0))) | ((p1) & (F(p2))))","4",5 "!((G(F(p0))) | ((p1) & (F(p2))))","6",5 "!((G(F(p0))) | ((p1) & (F(p2))))","7",5 "X((p0) R ((F(p1)) R (F(!(p1)))))","1",6 "X((p0) R ((F(p1)) R (F(!(p1)))))","2",6 "X((p0) R ((F(p1)) R (F(!(p1)))))","3",4 "X((p0) R ((F(p1)) R (F(!(p1)))))","4",4 "X((p0) R ((F(p1)) R (F(!(p1)))))","6",4 "X((p0) R ((F(p1)) R (F(!(p1)))))","7",4 "!(X((p0) R ((F(p1)) R (F(!(p1))))))","1",3 "!(X((p0) R ((F(p1)) R (F(!(p1))))))","2",3 "!(X((p0) R ((F(p1)) R (F(!(p1))))))","3",3 "!(X((p0) R ((F(p1)) R (F(!(p1))))))","4",3 "!(X((p0) R ((F(p1)) R (F(!(p1))))))","6",3 "!(X((p0) R ((F(p1)) R (F(!(p1))))))","7",3 "G((X(p0)) M (F(p0)))","1",2 "G((X(p0)) M (F(p0)))","2",2 "G((X(p0)) M (F(p0)))","3",1 "G((X(p0)) M (F(p0)))","4",1 "G((X(p0)) M (F(p0)))","6",1 "G((X(p0)) M (F(p0)))","7",1 "!(G((X(p0)) M (F(p0))))","1",2 "!(G((X(p0)) M (F(p0))))","2",2 "!(G((X(p0)) M (F(p0))))","3",2 "!(G((X(p0)) M (F(p0))))","4",2 "!(G((X(p0)) M (F(p0))))","6",2 "!(G((X(p0)) M (F(p0))))","7",2 "X((G(F(p1))) | (G(p0)))","1",4 "X((G(F(p1))) | (G(p0)))","2",4 "X((G(F(p1))) | (G(p0)))","3",3 "X((G(F(p1))) | (G(p0)))","4",3 "X((G(F(p1))) | (G(p0)))","6",3 "X((G(F(p1))) | (G(p0)))","7",3 "!(X((G(F(p1))) | (G(p0))))","1",4 "!(X((G(F(p1))) | (G(p0))))","2",4 "!(X((G(F(p1))) | (G(p0))))","3",4 "!(X((G(F(p1))) | (G(p0))))","4",4 "!(X((G(F(p1))) | (G(p0))))","6",4 "!(X((G(F(p1))) | (G(p0))))","7",4 "(G(p0)) R (F(p1))","1",2 "(G(p0)) R (F(p1))","2",2 "(G(p0)) R (F(p1))","3",2 "(G(p0)) R (F(p1))","4",2 "(G(p0)) R (F(p1))","6",2 "(G(p0)) R (F(p1))","7",2 "!((G(p0)) R (F(p1)))","1",3 "!((G(p0)) R (F(p1)))","2",3 "!((G(p0)) R (F(p1)))","3",3 "!((G(p0)) R (F(p1)))","4",3 "!((G(p0)) R (F(p1)))","6",3 "!((G(p0)) R (F(p1)))","7",3 "G((p0) U ((p1) | (X(((!(p0)) & (!(p2))) | ((p0) & (p2))))))","1",2 "G((p0) U ((p1) | (X(((!(p0)) & (!(p2))) | ((p0) & (p2))))))","2",3 "G((p0) U ((p1) | (X(((!(p0)) & (!(p2))) | ((p0) & (p2))))))","3",2 "G((p0) U ((p1) | (X(((!(p0)) & (!(p2))) | ((p0) & (p2))))))","4",2 "G((p0) U ((p1) | (X(((!(p0)) & (!(p2))) | ((p0) & (p2))))))","6",2 "G((p0) U ((p1) | (X(((!(p0)) & (!(p2))) | ((p0) & (p2))))))","7",2 "!(G((p0) U ((p1) | (X(((!(p0)) & (!(p2))) | ((p0) & (p2)))))))","1",4 "!(G((p0) U ((p1) | (X(((!(p0)) & (!(p2))) | ((p0) & (p2)))))))","2",4 "!(G((p0) U ((p1) | (X(((!(p0)) & (!(p2))) | ((p0) & (p2)))))))","3",4 "!(G((p0) U ((p1) | (X(((!(p0)) & (!(p2))) | ((p0) & (p2)))))))","4",4 "!(G((p0) U ((p1) | (X(((!(p0)) & (!(p2))) | ((p0) & (p2)))))))","6",4 "!(G((p0) U ((p1) | (X(((!(p0)) & (!(p2))) | ((p0) & (p2)))))))","7",4 "X(G(((G(!(p0))) & (F(!(p1)))) | ((F(p0)) & ((p0) | (G(p1))))))","1",4 "X(G(((G(!(p0))) & (F(!(p1)))) | ((F(p0)) & ((p0) | (G(p1))))))","2",5 "X(G(((G(!(p0))) & (F(!(p1)))) | ((F(p0)) & ((p0) | (G(p1))))))","3",5 "X(G(((G(!(p0))) & (F(!(p1)))) | ((F(p0)) & ((p0) | (G(p1))))))","4",5 "X(G(((G(!(p0))) & (F(!(p1)))) | ((F(p0)) & ((p0) | (G(p1))))))","6",5 "X(G(((G(!(p0))) & (F(!(p1)))) | ((F(p0)) & ((p0) | (G(p1))))))","7",5 "!(X(G(((G(!(p0))) & (F(!(p1)))) | ((F(p0)) & ((p0) | (G(p1)))))))","1",7 "!(X(G(((G(!(p0))) & (F(!(p1)))) | ((F(p0)) & ((p0) | (G(p1)))))))","2",7 "!(X(G(((G(!(p0))) & (F(!(p1)))) | ((F(p0)) & ((p0) | (G(p1)))))))","3",7 "!(X(G(((G(!(p0))) & (F(!(p1)))) | ((F(p0)) & ((p0) | (G(p1)))))))","4",7 "!(X(G(((G(!(p0))) & (F(!(p1)))) | ((F(p0)) & ((p0) | (G(p1)))))))","6",7 "!(X(G(((G(!(p0))) & (F(!(p1)))) | ((F(p0)) & ((p0) | (G(p1)))))))","7",7 "X((G(F(p0))) | (G(!(p0))))","1",4 "X((G(F(p0))) | (G(!(p0))))","2",4 "X((G(F(p0))) | (G(!(p0))))","3",3 "X((G(F(p0))) | (G(!(p0))))","4",3 "X((G(F(p0))) | (G(!(p0))))","6",3 "X((G(F(p0))) | (G(!(p0))))","7",3 "!(X((G(F(p0))) | (G(!(p0)))))","1",4 "!(X((G(F(p0))) | (G(!(p0)))))","2",4 "!(X((G(F(p0))) | (G(!(p0)))))","3",4 "!(X((G(F(p0))) | (G(!(p0)))))","4",4 "!(X((G(F(p0))) | (G(!(p0)))))","6",4 "!(X((G(F(p0))) | (G(!(p0)))))","7",4 "G((G(!(p0))) | (F(!(p1))) | (G(!(p2))))","1",4 "G((G(!(p0))) | (F(!(p1))) | (G(!(p2))))","2",4 "G((G(!(p0))) | (F(!(p1))) | (G(!(p2))))","3",4 "G((G(!(p0))) | (F(!(p1))) | (G(!(p2))))","4",4 "G((G(!(p0))) | (F(!(p1))) | (G(!(p2))))","6",4 "G((G(!(p0))) | (F(!(p1))) | (G(!(p2))))","7",4 "!(G((G(!(p0))) | (F(!(p1))) | (G(!(p2)))))","1",4 "!(G((G(!(p0))) | (F(!(p1))) | (G(!(p2)))))","2",4 "!(G((G(!(p0))) | (F(!(p1))) | (G(!(p2)))))","3",4 "!(G((G(!(p0))) | (F(!(p1))) | (G(!(p2)))))","4",4 "!(G((G(!(p0))) | (F(!(p1))) | (G(!(p2)))))","6",4 "!(G((G(!(p0))) | (F(!(p1))) | (G(!(p2)))))","7",4 "G((p0) | (F(p0)))","1",1 "G((p0) | (F(p0)))","2",1 "G((p0) | (F(p0)))","3",1 "G((p0) | (F(p0)))","4",1 "G((p0) | (F(p0)))","6",1 "G((p0) | (F(p0)))","7",1 "!(G((p0) | (F(p0))))","1",2 "!(G((p0) | (F(p0))))","2",2 "!(G((p0) | (F(p0))))","3",2 "!(G((p0) | (F(p0))))","4",2 "!(G((p0) | (F(p0))))","6",2 "!(G((p0) | (F(p0))))","7",2 EOF diff expected extracted