Add the Spin'13 benchmark.
* bench/spin13/: New directory. * bench/Makefile.am, README, configure.ac: Add it. * bench/ltl2tgba/sum.py: Display smaller tables.
This commit is contained in:
parent
b6d4806dca
commit
969d927145
20 changed files with 2059 additions and 10 deletions
|
|
@ -1,5 +1,5 @@
|
|||
## Copyright (C) 2008, 2009, 2010, 2012 Laboratoire de Recherche et
|
||||
## Développement de l'Epita (LRDE).
|
||||
## Copyright (C) 2008, 2009, 2010, 2012, 2013 Laboratoire de Recherche
|
||||
## et Développement de l'Epita (LRDE).
|
||||
## Copyright (C) 2005 Laboratoire d'Informatique de Paris 6 (LIP6),
|
||||
## département Systèmes Répartis Coopératifs (SRC), Université Pierre
|
||||
## et Marie Curie.
|
||||
|
|
@ -20,4 +20,4 @@
|
|||
## along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
SUBDIRS = emptchk ltl2tgba scc-stats split-product ltlcounter \
|
||||
ltlclasses wdba
|
||||
ltlclasses wdba spin13
|
||||
|
|
|
|||
|
|
@ -51,7 +51,7 @@ def process_file(filename):
|
|||
fields = { name:index for index,name in enumerate(data["fields"]) }
|
||||
toolcol = fields['tool']
|
||||
inputcol = fields['formula']
|
||||
|
||||
|
||||
inputs = data["inputs"]
|
||||
|
||||
# Index results by tool, then input
|
||||
|
|
@ -67,9 +67,9 @@ def process_file(filename):
|
|||
|
||||
print(r'''
|
||||
\section*{\texttt{%s}}
|
||||
\subsection*{Cumulative summary}''' % filename)
|
||||
\subsection*{Cumulative summary}''' % latex_escape(filename))
|
||||
|
||||
print('\\begin{tabular}{l' + ('r' * (ncols - 1)) + '}\n',
|
||||
print('\\noindent\\begin{tabular}{l' + ('r' * (ncols - 1)) + '}\n',
|
||||
" & ".join(rot(latex_escape(["tool", "count"] + data["fields"][2:]))),
|
||||
"\\\\")
|
||||
for i in range(0, ntools):
|
||||
|
|
@ -89,7 +89,7 @@ states and more transitions.
|
|||
|
||||
''')
|
||||
|
||||
header = '\\begin{tabular}{l'
|
||||
header = '\\noindent{\\small\\begin{tabular}{l'
|
||||
for i in data["tool"]:
|
||||
header += 'c'
|
||||
header += '}'
|
||||
|
|
@ -114,7 +114,7 @@ states and more transitions.
|
|||
x += 1
|
||||
print("&", x, end=' ')
|
||||
print(r"\\")
|
||||
print(r'\end{tabular}')
|
||||
print(r'\end{tabular}}')
|
||||
|
||||
|
||||
def main():
|
||||
|
|
@ -129,7 +129,7 @@ def main():
|
|||
args = p.parse_args()
|
||||
|
||||
print(r'''\documentclass{article}
|
||||
\usepackage[a4paper,landscape,margin=2cm]{geometry}
|
||||
\usepackage[a4paper,landscape,margin=1cm]{geometry}
|
||||
\usepackage{adjustbox}
|
||||
\usepackage{array}
|
||||
|
||||
|
|
@ -138,7 +138,7 @@ def main():
|
|||
l%
|
||||
<{\egroup}%
|
||||
}
|
||||
\newcommand*\rot{\multicolumn{1}{R{45}{1em}}}% no optional argument here, please!
|
||||
\newcommand*\rot{\multicolumn{1}{R{90}{0em}}}% no optional argument here, please!
|
||||
|
||||
\begin{document}
|
||||
''')
|
||||
|
|
|
|||
22
bench/spin13/Makefile.am
Normal file
22
bench/spin13/Makefile.am
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
## 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 <http://www.gnu.org/licenses/>.
|
||||
|
||||
EXTRA_DIST = big_2-fair_2.ltl big_2-fair_3-3.ltl big_2-strong_1.ltl \
|
||||
big_2-strong_2.ltl big_2.ltl html.bottom html.top \
|
||||
known.ltl new-fair2.ltl new-strong1.ltl new-strong2.ltl \
|
||||
new-weak3.ltl new.ltl run.sh README
|
||||
78
bench/spin13/README
Normal file
78
bench/spin13/README
Normal file
|
|
@ -0,0 +1,78 @@
|
|||
This contains most of the a benchmark used for the paper
|
||||
|
||||
"Compositional Approach to Suspension and Other Improvements to LTL
|
||||
Translation", Tomáš Babiak, Thomas Badie, Alexandre Duret-Lutz,
|
||||
Mojmír Křetínský, and Jan Strejček.
|
||||
|
||||
To appear in the proceedings of Spin'13.
|
||||
|
||||
By "most" we means that some lines of the table we actually be missing
|
||||
because we cannot compute them with the current version of Spot. The
|
||||
missing lines are those with a small "a", that use the old SCC-based
|
||||
simplification, and not the new one which is presented in section 4.1
|
||||
of the paper.
|
||||
|
||||
If you have any interest in reproducing the data from the paper, using
|
||||
exactly the same versions (yes, that's a plural), please head over to
|
||||
http://www.lrde.epita.fr/~adl/spin13/
|
||||
|
||||
Keep in mind that as Spot is evolving, the results from this benchmark
|
||||
may evolve (hopefully for the best!) with time.
|
||||
|
||||
|
||||
Running instructions
|
||||
====================
|
||||
|
||||
To run the benchmark:
|
||||
|
||||
1) Now configure and compile the current tarball with
|
||||
./configure --disable-shared --disable-devel
|
||||
make
|
||||
but to not install it.
|
||||
2) Go to directory bench/spin13/ and run the script "run.sh",
|
||||
this will just build "run.mk"
|
||||
3) Run "make -f run.mk -j4", adjusting "-j8" to the number of
|
||||
cores that your computer have.
|
||||
|
||||
The run.mk makefile will launch several instances of ltlcross in
|
||||
parallel (depending on the -j argument). There are 22 of them
|
||||
to run in total. Once that is done, the different data are
|
||||
collated into a LaTeX file (using the ../ltl2tgba/sum.py script)
|
||||
which is then compiled to PDF (using latexmk). Finally, all
|
||||
data are compacted into a tarball named with the date.
|
||||
|
||||
|
||||
Results
|
||||
=======
|
||||
|
||||
The results are more detailed that Table 1 in the Spin'13 paper.
|
||||
|
||||
ba-sum.pdf and tgba-sum.pdf show the main results over several sets
|
||||
of formulae:
|
||||
- known.ltl is the set described in the paper;
|
||||
- new-fair3.ltl.pos is what we call fair3.ltl in the paper;
|
||||
- new-strong2.ltl.pos is what we call strong2.ltl in the paper.
|
||||
The extra sets are:
|
||||
- new-ltl.pos: the set of random \varphi_i formula used to build
|
||||
new-fair3.ltl.pos and new-strong2.ltl.pos;
|
||||
- new-fair2.ltl.pos: the above formulae combined with weak
|
||||
fairness hypothesis of the form (FG(a)->GF(b));
|
||||
- new-strong1.ltl.pos: simimular to strong2 but using only
|
||||
one strong fairness hypothesis of the form
|
||||
(GF(a)->GF(b)).
|
||||
|
||||
Additionally, for all *.ltl.pos files, we have an *.ltl.neg file that
|
||||
contains the negated formulas.
|
||||
|
||||
These 11 sets are translated to TGBA or BA using different
|
||||
translation configurations. Many of the configurations should be
|
||||
recognized from the name in the paper. The "Early" lines describe
|
||||
an extra experiement (not discussed in the paper), where
|
||||
composition of the suspended subformula starts on the transition
|
||||
that enters an accepting SCC (not in the SCC itself).
|
||||
|
||||
In addition to the summaries in ba-sum.pdf and tgba-sum.pdf, detailled
|
||||
results are provided as CSV files, slightly better formated JSON
|
||||
files, and in HTML pages that can be used to explore the results
|
||||
interactively. (It probably does not work with Internet Explorer. If
|
||||
you have problems, install FireFox or Chrome.)
|
||||
100
bench/spin13/big_2-fair_2.ltl
Normal file
100
bench/spin13/big_2-fair_2.ltl
Normal file
|
|
@ -0,0 +1,100 @@
|
|||
((X ((p1 V <> ! p0) U p2) U [] ! <> ! X p4)) /\ (<>[]p10 -> []<>p11)
|
||||
(((p0 U (! <> <> p4 U <> X ! p5)) U [] (X p0 U X p0))) /\ (<>[]p10 -> []<>p11)
|
||||
([] ((<> p3 U p1) U ((((p1 U p5) \/ p5) U ! [] p0) /\ p1))) /\ (<>[]p10 -> []<>p11)
|
||||
(! ((<> <> <> (p6 U p5) U <> X p1) /\ ! <> p2)) /\ (<>[]p10 -> []<>p11)
|
||||
(((<> p6 -> X X X p1) U (([] p3 \/ p6) V [] p3))) /\ (<>[]p10 -> []<>p11)
|
||||
((X p4 -> ([] <> (X (X (p4 U ! p7) U <> p4) U [] p2) U p0))) /\ (<>[]p10 -> []<>p11)
|
||||
((((p6 /\ <> false) V (! (<> p4 V p3) V [] p0)) V [] (p0 -> p5))) /\ (<>[]p10 -> []<>p11)
|
||||
(! ((! p1 U p4) U (<> p7 U ((p0 -> ! p4) V [] p0)))) /\ (<>[]p10 -> []<>p11)
|
||||
(X (<> p0 /\ (! ! ((p0 U [] p6) U ! (p3 U p1)) V (p5 \/ <> p2)))) /\ (<>[]p10 -> []<>p11)
|
||||
(((! p4 /\ ((p2 U p0) U (! p6 -> (<> p2 \/ p6)))) -> X (p2 -> p1))) /\ (<>[]p10 -> []<>p11)
|
||||
(((<> (p4 U <> p3) \/ [] [] (p2 U [] [] p1)) /\ ! ! (p5 U <> p3))) /\ (<>[]p10 -> []<>p11)
|
||||
(([] <> (<> ! ! (p2 V p1) -> [] (p7 -> X p2)) -> <> ! X p2)) /\ (<>[]p10 -> []<>p11)
|
||||
(! (X (p1 /\ X X [] ! [] <> (p6 /\ X p1)) \/ (p5 -> p7))) /\ (<>[]p10 -> []<>p11)
|
||||
(([] <> (<> ([] p3 -> [] X p3) V <> p3) U X X X p7)) /\ (<>[]p10 -> []<>p11)
|
||||
(<> ((p6 \/ p6) V ((<> [] X X X ! p1 U p1) -> <> p1))) /\ (<>[]p10 -> []<>p11)
|
||||
(<> X <> X <> (X [] p2 -> (<> (true -> [] p2) /\ X p2))) /\ (<>[]p10 -> []<>p11)
|
||||
((([] ! [] (p7 U p5) V X p0) -> (p5 -> [] X p5))) /\ (<>[]p10 -> []<>p11)
|
||||
(([] [] (p2 \/ p1) -> (([] p3 U true) U X (X p6 U (p5 /\ <> p5))))) /\ (<>[]p10 -> []<>p11)
|
||||
([] ([] p1 /\ (<> p7 -> ((! p0 U p0) U <> <> p4)))) /\ (<>[]p10 -> []<>p11)
|
||||
(((p2 V p3) U ! ((<> p4 \/ p5) -> (! (p5 \/ p4) V p7)))) /\ (<>[]p10 -> []<>p11)
|
||||
((([] (<> (<> X p4 /\ [] p1) U p1) V [] <> X [] p5) U p1)) /\ (<>[]p10 -> []<>p11)
|
||||
(X [] X ! ((p4 U (p2 -> p1)) \/ ! (<> p5 \/ p4))) /\ (<>[]p10 -> []<>p11)
|
||||
((((<> p7 U (p6 U p7)) -> (p4 -> p6)) -> <> X (p0 -> <> (<> p6 -> p0)))) /\ (<>[]p10 -> []<>p11)
|
||||
((p6 \/ ([] (p1 /\ p7) U <> (p4 U ((p2 \/ p7) -> [] (p3 U p7)))))) /\ (<>[]p10 -> []<>p11)
|
||||
(((<> (p0 U p0) /\ [] p4) V ! <> (p2 /\ <> <> (p7 -> [] p7)))) /\ (<>[]p10 -> []<>p11)
|
||||
((<> X <> <> <> (p3 -> ([] ! p6 -> p5)) \/ (p5 \/ ! [] (p4 /\ p4)))) /\ (<>[]p10 -> []<>p11)
|
||||
(((X <> <> true U ! p1) V ((! ! p7 V p3) U ! (p1 /\ p5)))) /\ (<>[]p10 -> []<>p11)
|
||||
((<> [] (((p6 -> p1) V (p5 U p5)) U ! p2) /\ (<> (p2 U p5) /\ ! p4))) /\ (<>[]p10 -> []<>p11)
|
||||
(([] (X ((p4 V (p5 /\ p7)) \/ (p1 U p5)) U ! p5) U (p2 U p6))) /\ (<>[]p10 -> []<>p11)
|
||||
((! [] p5 /\ ((! (! p2 -> p6) \/ [] (p1 V p7)) U (<> p4 V [] p6)))) /\ (<>[]p10 -> []<>p11)
|
||||
((<> p7 U <> ((p1 U <> p4) U X ! X [] [] p3))) /\ (<>[]p10 -> []<>p11)
|
||||
(<> ([] X ((p3 /\ p2) -> ! X <> p4) U ((p0 /\ <> p6) -> [] p2))) /\ (<>[]p10 -> []<>p11)
|
||||
(<> [] [] (p4 /\ <> ((X p7 U p3) U <> (p5 U ([] p4 V p2))))) /\ (<>[]p10 -> []<>p11)
|
||||
(X ([] ((p5 /\ ! [] p2) U p6) U (! p6 V (p6 \/ p7)))) /\ (<>[]p10 -> []<>p11)
|
||||
(((((p2 -> (p5 U p3)) U (p6 U p0)) V p3) -> [] [] p7)) /\ (<>[]p10 -> []<>p11)
|
||||
((([] p4 \/ X <> (X p6 U X p7)) /\ (p1 /\ ((p7 /\ X p2) \/ p1)))) /\ (<>[]p10 -> []<>p11)
|
||||
((! ((! [] p3 \/ ! p7) /\ p5) U (X ! (X p2 -> p0) \/ X [] p5))) /\ (<>[]p10 -> []<>p11)
|
||||
(((! p5 -> ! p4) U ((p3 V X X p2) U (<> p7 U X p2)))) /\ (<>[]p10 -> []<>p11)
|
||||
(<> (X (<> X ((p3 U (p0 \/ p4)) U p6) U p1) V <> ! <> X ! p4)) /\ (<>[]p10 -> []<>p11)
|
||||
(! (<> p4 /\ <> (([] (p0 -> p4) /\ X p1) /\ X p0))) /\ (<>[]p10 -> []<>p11)
|
||||
(<> ((((p2 /\ p7) -> X p4) U true) U X (p5 \/ ! false))) /\ (<>[]p10 -> []<>p11)
|
||||
((X ((p2 /\ [] [] ! p1) U <> p5) \/ <> ! X [] (<> X p2 U p5))) /\ (<>[]p10 -> []<>p11)
|
||||
((! (p1 -> [] ! ([] p3 U [] [] p6)) /\ (p3 U p2))) /\ (<>[]p10 -> []<>p11)
|
||||
((p4 U <> (X ((<> ([] p1 V p5) U X p6) U <> p4) \/ (false \/ p1)))) /\ (<>[]p10 -> []<>p11)
|
||||
(<> (p6 U ! [] X <> (! (p3 U (X p6 U true)) -> (X X p5 V p4)))) /\ (<>[]p10 -> []<>p11)
|
||||
((([] p1 V ! p5) V <> ! ([] ! [] p2 U [] p4))) /\ (<>[]p10 -> []<>p11)
|
||||
(((((<> p0 -> p1) U (p3 -> p7)) \/ (<> p7 V (p0 U p0))) -> ! p6)) /\ (<>[]p10 -> []<>p11)
|
||||
(((X p4 U <> ([] p2 -> (p1 V p3))) \/ (! p6 U <> p4))) /\ (<>[]p10 -> []<>p11)
|
||||
(X ([] [] p2 U (X (X [] p7 U <> [] p2) -> (p4 /\ X p2)))) /\ (<>[]p10 -> []<>p11)
|
||||
((p5 -> (<> p2 U (((! ! p5 U (p2 -> ! p2)) U <> p1) V p5)))) /\ (<>[]p10 -> []<>p11)
|
||||
(X ((! (p4 /\ p1) \/ p6) U [] (<> (p6 U ! p6) V p4))) /\ (<>[]p10 -> []<>p11)
|
||||
((<> (p1 \/ ([] (p7 /\ p0) -> p5)) \/ (p4 U (p5 /\ p1)))) /\ (<>[]p10 -> []<>p11)
|
||||
((([] <> p0 -> ([] <> <> <> p2 V ((X p4 /\ X p5) U p6))) /\ ! p6)) /\ (<>[]p10 -> []<>p11)
|
||||
(([] ! (p5 V p7) V ((p0 V ! p2) U [] (p7 \/ ! [] [] p3)))) /\ (<>[]p10 -> []<>p11)
|
||||
((! [] p1 -> ((p4 U p0) V (! (p5 V p4) U ! [] (p7 V p5))))) /\ (<>[]p10 -> []<>p11)
|
||||
((<> X [] [] p2 \/ <> X <> ((p0 U p0) U (p1 /\ (p4 -> p3))))) /\ (<>[]p10 -> []<>p11)
|
||||
(! ((((p4 \/ p7) V p0) U (p2 U p4)) V (! p7 U ! p2))) /\ (<>[]p10 -> []<>p11)
|
||||
((! p3 U ((((! p7 \/ p6) -> ! p5) U (p2 V p1)) /\ ! ! p0))) /\ (<>[]p10 -> []<>p11)
|
||||
(((p3 U p2) U (<> (X (p4 /\ ! (p0 V X p6)) V <> p1) -> p3))) /\ (<>[]p10 -> []<>p11)
|
||||
((((p4 U (<> p0 V <> p1)) U p1) -> (((X p3 U (false /\ p6)) U false) U p5))) /\ (<>[]p10 -> []<>p11)
|
||||
(! [] (([] p4 -> (p7 V ! true)) \/ (! p3 V ! ! p2))) /\ (<>[]p10 -> []<>p11)
|
||||
(((p2 \/ p7) U ! (p6 \/ X ((p6 -> [] p1) V [] ! ((p3 U p7) U p5))))) /\ (<>[]p10 -> []<>p11)
|
||||
(<> (X ((! (p7 U true) U (p6 V p7)) V X p5) \/ X p4)) /\ (<>[]p10 -> []<>p11)
|
||||
(X <> <> ! ((! (p6 V true) -> X p3) V X ! (! p0 U p0))) /\ (<>[]p10 -> []<>p11)
|
||||
((((X (p5 U ! p1) U ! p1) U <> p0) U ! ((true -> p6) V [] [] true))) /\ (<>[]p10 -> []<>p11)
|
||||
(((<> p6 U X ((p1 /\ p7) U (X p1 \/ p6))) -> (<> [] p6 U <> p2))) /\ (<>[]p10 -> []<>p11)
|
||||
((((p5 U p7) U (p3 U <> p4)) -> (! p4 U X ! <> p3))) /\ (<>[]p10 -> []<>p11)
|
||||
((X (<> ([] p0 V X [] p0) U [] p5) U [] (<> p2 U [] p6))) /\ (<>[]p10 -> []<>p11)
|
||||
(<> ((((X p3 V X p7) U [] p5) U ((X p2 -> p1) U <> p2)) -> [] p5)) /\ (<>[]p10 -> []<>p11)
|
||||
((! p3 \/ (<> (p4 U (p4 U p3)) U ([] p6 -> <> p0)))) /\ (<>[]p10 -> []<>p11)
|
||||
(([] X ([] <> p4 U p6) -> [] ((p0 \/ X p0) -> ! <> (p3 U p6)))) /\ (<>[]p10 -> []<>p11)
|
||||
([] <> (<> ((p7 V (p7 \/ p6)) U p0) /\ X (X p1 -> ! ! p1))) /\ (<>[]p10 -> []<>p11)
|
||||
((<> (<> ((p4 U p6) \/ ! p3) U p3) -> [] (false \/ ([] p2 /\ p3)))) /\ (<>[]p10 -> []<>p11)
|
||||
(((p0 U p5) /\ [] (<> (p2 V ! p0) /\ <> [] ([] p2 V ! X p1)))) /\ (<>[]p10 -> []<>p11)
|
||||
((<> p2 -> (! p0 \/ <> ((! <> p4 -> ! p5) U p4)))) /\ (<>[]p10 -> []<>p11)
|
||||
((((p4 \/ X p5) U (p1 V p3)) V (<> <> (X p4 /\ p2) -> (p3 U p0)))) /\ (<>[]p10 -> []<>p11)
|
||||
(([] (p5 -> <> (p0 /\ p4)) U X <> (p5 U (! false -> p4)))) /\ (<>[]p10 -> []<>p11)
|
||||
((! ((p5 \/ <> X p2) U p3) V (<> (true U <> p0) \/ p1))) /\ (<>[]p10 -> []<>p11)
|
||||
((((! p1 U (p2 -> [] [] p3)) -> [] <> (p5 -> <> p3)) /\ [] X p4)) /\ (<>[]p10 -> []<>p11)
|
||||
(<> ((p1 U X p3) \/ <> X (([] p4 U (true U p3)) V ! (p4 U X p1)))) /\ (<>[]p10 -> []<>p11)
|
||||
((<> [] (! X p5 /\ <> (X p6 -> (p5 V p7))) U p5)) /\ (<>[]p10 -> []<>p11)
|
||||
((((p5 /\ p1) -> [] (<> (p1 U X p6) U (p5 U p5))) -> (X X p4 U p0))) /\ (<>[]p10 -> []<>p11)
|
||||
(([] <> p6 V (((p5 \/ p7) -> X X ! (p7 U p4)) U p0))) /\ (<>[]p10 -> []<>p11)
|
||||
((<> <> [] ((p6 \/ p6) V ! [] p5) \/ (X ! p6 U p0))) /\ (<>[]p10 -> []<>p11)
|
||||
(((p5 \/ (p3 U [] ! p7)) U <> X ((p0 \/ X p3) /\ ! ! p5))) /\ (<>[]p10 -> []<>p11)
|
||||
(<> ! <> [] ! (<> (p6 U p3) /\ [] ((<> [] p6 \/ p4) V p7))) /\ (<>[]p10 -> []<>p11)
|
||||
(((((p2 /\ (p1 \/ p2)) /\ p2) U X (p6 V p1)) U ((p7 -> ! p6) U p6))) /\ (<>[]p10 -> []<>p11)
|
||||
(((! p1 /\ p3) V [] <> ! <> (<> (p0 U p4) U X p7))) /\ (<>[]p10 -> []<>p11)
|
||||
(! (([] ((p2 U ! p1) U (p6 V p7)) \/ (<> p0 U p0)) -> (p3 U p0))) /\ (<>[]p10 -> []<>p11)
|
||||
(((! ! ((p1 \/ ((p2 V p0) V ! p1)) -> X p1) V ! p4) \/ p2)) /\ (<>[]p10 -> []<>p11)
|
||||
(((<> p0 U ! <> p7) \/ X (X ! [] X [] p5 U p4))) /\ (<>[]p10 -> []<>p11)
|
||||
((X (((p1 U p1) U p4) -> [] X ! p5) U (! p7 -> ! p5))) /\ (<>[]p10 -> []<>p11)
|
||||
((<> [] p0 V X ! (! p6 U (p3 V ! X ([] <> p1 \/ p1))))) /\ (<>[]p10 -> []<>p11)
|
||||
(([] (false U <> <> X p5) U (X p7 V [] (<> X p4 \/ (<> p2 -> p5))))) /\ (<>[]p10 -> []<>p11)
|
||||
((X [] p3 U <> ([] <> <> (p0 U false) \/ (! p5 \/ (! ! p2 -> p0))))) /\ (<>[]p10 -> []<>p11)
|
||||
((X p1 \/ ((X (! [] p0 U p7) U ! p0) U ! p2))) /\ (<>[]p10 -> []<>p11)
|
||||
(X ([] true U (X (p3 V [] p2) \/ (! p4 \/ <> p2)))) /\ (<>[]p10 -> []<>p11)
|
||||
([] (<> <> <> X ((p2 V ([] p3 /\ p2)) /\ ! <> [] p3) \/ p3)) /\ (<>[]p10 -> []<>p11)
|
||||
(X [] [] ((! p1 \/ p6) U <> X (! p2 U <> p1))) /\ (<>[]p10 -> []<>p11)
|
||||
(((true /\ [] p6) U X <> (<> ((p3 U p5) V [] (p6 -> p6)) U ! ! p3))) /\ (<>[]p10 -> []<>p11)
|
||||
100
bench/spin13/big_2-fair_3-3.ltl
Normal file
100
bench/spin13/big_2-fair_3-3.ltl
Normal file
|
|
@ -0,0 +1,100 @@
|
|||
((X ((p1 V <> ! p0) U p2) U [] ! <> ! X p4)) /\ ([]<>p10 /\ []<>p11 /\ []<>p12)
|
||||
(((p0 U (! <> <> p4 U <> X ! p5)) U [] (X p0 U X p0))) /\ ([]<>p10 /\ []<>p11 /\ []<>p12)
|
||||
([] ((<> p3 U p1) U ((((p1 U p5) \/ p5) U ! [] p0) /\ p1))) /\ ([]<>p10 /\ []<>p11 /\ []<>p12)
|
||||
(! ((<> <> <> (p6 U p5) U <> X p1) /\ ! <> p2)) /\ ([]<>p10 /\ []<>p11 /\ []<>p12)
|
||||
(((<> p6 -> X X X p1) U (([] p3 \/ p6) V [] p3))) /\ ([]<>p10 /\ []<>p11 /\ []<>p12)
|
||||
((X p4 -> ([] <> (X (X (p4 U ! p7) U <> p4) U [] p2) U p0))) /\ ([]<>p10 /\ []<>p11 /\ []<>p12)
|
||||
((((p6 /\ <> false) V (! (<> p4 V p3) V [] p0)) V [] (p0 -> p5))) /\ ([]<>p10 /\ []<>p11 /\ []<>p12)
|
||||
(! ((! p1 U p4) U (<> p7 U ((p0 -> ! p4) V [] p0)))) /\ ([]<>p10 /\ []<>p11 /\ []<>p12)
|
||||
(X (<> p0 /\ (! ! ((p0 U [] p6) U ! (p3 U p1)) V (p5 \/ <> p2)))) /\ ([]<>p10 /\ []<>p11 /\ []<>p12)
|
||||
(((! p4 /\ ((p2 U p0) U (! p6 -> (<> p2 \/ p6)))) -> X (p2 -> p1))) /\ ([]<>p10 /\ []<>p11 /\ []<>p12)
|
||||
(((<> (p4 U <> p3) \/ [] [] (p2 U [] [] p1)) /\ ! ! (p5 U <> p3))) /\ ([]<>p10 /\ []<>p11 /\ []<>p12)
|
||||
(([] <> (<> ! ! (p2 V p1) -> [] (p7 -> X p2)) -> <> ! X p2)) /\ ([]<>p10 /\ []<>p11 /\ []<>p12)
|
||||
(! (X (p1 /\ X X [] ! [] <> (p6 /\ X p1)) \/ (p5 -> p7))) /\ ([]<>p10 /\ []<>p11 /\ []<>p12)
|
||||
(([] <> (<> ([] p3 -> [] X p3) V <> p3) U X X X p7)) /\ ([]<>p10 /\ []<>p11 /\ []<>p12)
|
||||
(<> ((p6 \/ p6) V ((<> [] X X X ! p1 U p1) -> <> p1))) /\ ([]<>p10 /\ []<>p11 /\ []<>p12)
|
||||
(<> X <> X <> (X [] p2 -> (<> (true -> [] p2) /\ X p2))) /\ ([]<>p10 /\ []<>p11 /\ []<>p12)
|
||||
((([] ! [] (p7 U p5) V X p0) -> (p5 -> [] X p5))) /\ ([]<>p10 /\ []<>p11 /\ []<>p12)
|
||||
(([] [] (p2 \/ p1) -> (([] p3 U true) U X (X p6 U (p5 /\ <> p5))))) /\ ([]<>p10 /\ []<>p11 /\ []<>p12)
|
||||
([] ([] p1 /\ (<> p7 -> ((! p0 U p0) U <> <> p4)))) /\ ([]<>p10 /\ []<>p11 /\ []<>p12)
|
||||
(((p2 V p3) U ! ((<> p4 \/ p5) -> (! (p5 \/ p4) V p7)))) /\ ([]<>p10 /\ []<>p11 /\ []<>p12)
|
||||
((([] (<> (<> X p4 /\ [] p1) U p1) V [] <> X [] p5) U p1)) /\ ([]<>p10 /\ []<>p11 /\ []<>p12)
|
||||
(X [] X ! ((p4 U (p2 -> p1)) \/ ! (<> p5 \/ p4))) /\ ([]<>p10 /\ []<>p11 /\ []<>p12)
|
||||
((((<> p7 U (p6 U p7)) -> (p4 -> p6)) -> <> X (p0 -> <> (<> p6 -> p0)))) /\ ([]<>p10 /\ []<>p11 /\ []<>p12)
|
||||
((p6 \/ ([] (p1 /\ p7) U <> (p4 U ((p2 \/ p7) -> [] (p3 U p7)))))) /\ ([]<>p10 /\ []<>p11 /\ []<>p12)
|
||||
(((<> (p0 U p0) /\ [] p4) V ! <> (p2 /\ <> <> (p7 -> [] p7)))) /\ ([]<>p10 /\ []<>p11 /\ []<>p12)
|
||||
((<> X <> <> <> (p3 -> ([] ! p6 -> p5)) \/ (p5 \/ ! [] (p4 /\ p4)))) /\ ([]<>p10 /\ []<>p11 /\ []<>p12)
|
||||
(((X <> <> true U ! p1) V ((! ! p7 V p3) U ! (p1 /\ p5)))) /\ ([]<>p10 /\ []<>p11 /\ []<>p12)
|
||||
((<> [] (((p6 -> p1) V (p5 U p5)) U ! p2) /\ (<> (p2 U p5) /\ ! p4))) /\ ([]<>p10 /\ []<>p11 /\ []<>p12)
|
||||
(([] (X ((p4 V (p5 /\ p7)) \/ (p1 U p5)) U ! p5) U (p2 U p6))) /\ ([]<>p10 /\ []<>p11 /\ []<>p12)
|
||||
((! [] p5 /\ ((! (! p2 -> p6) \/ [] (p1 V p7)) U (<> p4 V [] p6)))) /\ ([]<>p10 /\ []<>p11 /\ []<>p12)
|
||||
((<> p7 U <> ((p1 U <> p4) U X ! X [] [] p3))) /\ ([]<>p10 /\ []<>p11 /\ []<>p12)
|
||||
(<> ([] X ((p3 /\ p2) -> ! X <> p4) U ((p0 /\ <> p6) -> [] p2))) /\ ([]<>p10 /\ []<>p11 /\ []<>p12)
|
||||
(<> [] [] (p4 /\ <> ((X p7 U p3) U <> (p5 U ([] p4 V p2))))) /\ ([]<>p10 /\ []<>p11 /\ []<>p12)
|
||||
(X ([] ((p5 /\ ! [] p2) U p6) U (! p6 V (p6 \/ p7)))) /\ ([]<>p10 /\ []<>p11 /\ []<>p12)
|
||||
(((((p2 -> (p5 U p3)) U (p6 U p0)) V p3) -> [] [] p7)) /\ ([]<>p10 /\ []<>p11 /\ []<>p12)
|
||||
((([] p4 \/ X <> (X p6 U X p7)) /\ (p1 /\ ((p7 /\ X p2) \/ p1)))) /\ ([]<>p10 /\ []<>p11 /\ []<>p12)
|
||||
((! ((! [] p3 \/ ! p7) /\ p5) U (X ! (X p2 -> p0) \/ X [] p5))) /\ ([]<>p10 /\ []<>p11 /\ []<>p12)
|
||||
(((! p5 -> ! p4) U ((p3 V X X p2) U (<> p7 U X p2)))) /\ ([]<>p10 /\ []<>p11 /\ []<>p12)
|
||||
(<> (X (<> X ((p3 U (p0 \/ p4)) U p6) U p1) V <> ! <> X ! p4)) /\ ([]<>p10 /\ []<>p11 /\ []<>p12)
|
||||
(! (<> p4 /\ <> (([] (p0 -> p4) /\ X p1) /\ X p0))) /\ ([]<>p10 /\ []<>p11 /\ []<>p12)
|
||||
(<> ((((p2 /\ p7) -> X p4) U true) U X (p5 \/ ! false))) /\ ([]<>p10 /\ []<>p11 /\ []<>p12)
|
||||
((X ((p2 /\ [] [] ! p1) U <> p5) \/ <> ! X [] (<> X p2 U p5))) /\ ([]<>p10 /\ []<>p11 /\ []<>p12)
|
||||
((! (p1 -> [] ! ([] p3 U [] [] p6)) /\ (p3 U p2))) /\ ([]<>p10 /\ []<>p11 /\ []<>p12)
|
||||
((p4 U <> (X ((<> ([] p1 V p5) U X p6) U <> p4) \/ (false \/ p1)))) /\ ([]<>p10 /\ []<>p11 /\ []<>p12)
|
||||
(<> (p6 U ! [] X <> (! (p3 U (X p6 U true)) -> (X X p5 V p4)))) /\ ([]<>p10 /\ []<>p11 /\ []<>p12)
|
||||
((([] p1 V ! p5) V <> ! ([] ! [] p2 U [] p4))) /\ ([]<>p10 /\ []<>p11 /\ []<>p12)
|
||||
(((((<> p0 -> p1) U (p3 -> p7)) \/ (<> p7 V (p0 U p0))) -> ! p6)) /\ ([]<>p10 /\ []<>p11 /\ []<>p12)
|
||||
(((X p4 U <> ([] p2 -> (p1 V p3))) \/ (! p6 U <> p4))) /\ ([]<>p10 /\ []<>p11 /\ []<>p12)
|
||||
(X ([] [] p2 U (X (X [] p7 U <> [] p2) -> (p4 /\ X p2)))) /\ ([]<>p10 /\ []<>p11 /\ []<>p12)
|
||||
((p5 -> (<> p2 U (((! ! p5 U (p2 -> ! p2)) U <> p1) V p5)))) /\ ([]<>p10 /\ []<>p11 /\ []<>p12)
|
||||
(X ((! (p4 /\ p1) \/ p6) U [] (<> (p6 U ! p6) V p4))) /\ ([]<>p10 /\ []<>p11 /\ []<>p12)
|
||||
((<> (p1 \/ ([] (p7 /\ p0) -> p5)) \/ (p4 U (p5 /\ p1)))) /\ ([]<>p10 /\ []<>p11 /\ []<>p12)
|
||||
((([] <> p0 -> ([] <> <> <> p2 V ((X p4 /\ X p5) U p6))) /\ ! p6)) /\ ([]<>p10 /\ []<>p11 /\ []<>p12)
|
||||
(([] ! (p5 V p7) V ((p0 V ! p2) U [] (p7 \/ ! [] [] p3)))) /\ ([]<>p10 /\ []<>p11 /\ []<>p12)
|
||||
((! [] p1 -> ((p4 U p0) V (! (p5 V p4) U ! [] (p7 V p5))))) /\ ([]<>p10 /\ []<>p11 /\ []<>p12)
|
||||
((<> X [] [] p2 \/ <> X <> ((p0 U p0) U (p1 /\ (p4 -> p3))))) /\ ([]<>p10 /\ []<>p11 /\ []<>p12)
|
||||
(! ((((p4 \/ p7) V p0) U (p2 U p4)) V (! p7 U ! p2))) /\ ([]<>p10 /\ []<>p11 /\ []<>p12)
|
||||
((! p3 U ((((! p7 \/ p6) -> ! p5) U (p2 V p1)) /\ ! ! p0))) /\ ([]<>p10 /\ []<>p11 /\ []<>p12)
|
||||
(((p3 U p2) U (<> (X (p4 /\ ! (p0 V X p6)) V <> p1) -> p3))) /\ ([]<>p10 /\ []<>p11 /\ []<>p12)
|
||||
((((p4 U (<> p0 V <> p1)) U p1) -> (((X p3 U (false /\ p6)) U false) U p5))) /\ ([]<>p10 /\ []<>p11 /\ []<>p12)
|
||||
(! [] (([] p4 -> (p7 V ! true)) \/ (! p3 V ! ! p2))) /\ ([]<>p10 /\ []<>p11 /\ []<>p12)
|
||||
(((p2 \/ p7) U ! (p6 \/ X ((p6 -> [] p1) V [] ! ((p3 U p7) U p5))))) /\ ([]<>p10 /\ []<>p11 /\ []<>p12)
|
||||
(<> (X ((! (p7 U true) U (p6 V p7)) V X p5) \/ X p4)) /\ ([]<>p10 /\ []<>p11 /\ []<>p12)
|
||||
(X <> <> ! ((! (p6 V true) -> X p3) V X ! (! p0 U p0))) /\ ([]<>p10 /\ []<>p11 /\ []<>p12)
|
||||
((((X (p5 U ! p1) U ! p1) U <> p0) U ! ((true -> p6) V [] [] true))) /\ ([]<>p10 /\ []<>p11 /\ []<>p12)
|
||||
(((<> p6 U X ((p1 /\ p7) U (X p1 \/ p6))) -> (<> [] p6 U <> p2))) /\ ([]<>p10 /\ []<>p11 /\ []<>p12)
|
||||
((((p5 U p7) U (p3 U <> p4)) -> (! p4 U X ! <> p3))) /\ ([]<>p10 /\ []<>p11 /\ []<>p12)
|
||||
((X (<> ([] p0 V X [] p0) U [] p5) U [] (<> p2 U [] p6))) /\ ([]<>p10 /\ []<>p11 /\ []<>p12)
|
||||
(<> ((((X p3 V X p7) U [] p5) U ((X p2 -> p1) U <> p2)) -> [] p5)) /\ ([]<>p10 /\ []<>p11 /\ []<>p12)
|
||||
((! p3 \/ (<> (p4 U (p4 U p3)) U ([] p6 -> <> p0)))) /\ ([]<>p10 /\ []<>p11 /\ []<>p12)
|
||||
(([] X ([] <> p4 U p6) -> [] ((p0 \/ X p0) -> ! <> (p3 U p6)))) /\ ([]<>p10 /\ []<>p11 /\ []<>p12)
|
||||
([] <> (<> ((p7 V (p7 \/ p6)) U p0) /\ X (X p1 -> ! ! p1))) /\ ([]<>p10 /\ []<>p11 /\ []<>p12)
|
||||
((<> (<> ((p4 U p6) \/ ! p3) U p3) -> [] (false \/ ([] p2 /\ p3)))) /\ ([]<>p10 /\ []<>p11 /\ []<>p12)
|
||||
(((p0 U p5) /\ [] (<> (p2 V ! p0) /\ <> [] ([] p2 V ! X p1)))) /\ ([]<>p10 /\ []<>p11 /\ []<>p12)
|
||||
((<> p2 -> (! p0 \/ <> ((! <> p4 -> ! p5) U p4)))) /\ ([]<>p10 /\ []<>p11 /\ []<>p12)
|
||||
((((p4 \/ X p5) U (p1 V p3)) V (<> <> (X p4 /\ p2) -> (p3 U p0)))) /\ ([]<>p10 /\ []<>p11 /\ []<>p12)
|
||||
(([] (p5 -> <> (p0 /\ p4)) U X <> (p5 U (! false -> p4)))) /\ ([]<>p10 /\ []<>p11 /\ []<>p12)
|
||||
((! ((p5 \/ <> X p2) U p3) V (<> (true U <> p0) \/ p1))) /\ ([]<>p10 /\ []<>p11 /\ []<>p12)
|
||||
((((! p1 U (p2 -> [] [] p3)) -> [] <> (p5 -> <> p3)) /\ [] X p4)) /\ ([]<>p10 /\ []<>p11 /\ []<>p12)
|
||||
(<> ((p1 U X p3) \/ <> X (([] p4 U (true U p3)) V ! (p4 U X p1)))) /\ ([]<>p10 /\ []<>p11 /\ []<>p12)
|
||||
((<> [] (! X p5 /\ <> (X p6 -> (p5 V p7))) U p5)) /\ ([]<>p10 /\ []<>p11 /\ []<>p12)
|
||||
((((p5 /\ p1) -> [] (<> (p1 U X p6) U (p5 U p5))) -> (X X p4 U p0))) /\ ([]<>p10 /\ []<>p11 /\ []<>p12)
|
||||
(([] <> p6 V (((p5 \/ p7) -> X X ! (p7 U p4)) U p0))) /\ ([]<>p10 /\ []<>p11 /\ []<>p12)
|
||||
((<> <> [] ((p6 \/ p6) V ! [] p5) \/ (X ! p6 U p0))) /\ ([]<>p10 /\ []<>p11 /\ []<>p12)
|
||||
(((p5 \/ (p3 U [] ! p7)) U <> X ((p0 \/ X p3) /\ ! ! p5))) /\ ([]<>p10 /\ []<>p11 /\ []<>p12)
|
||||
(<> ! <> [] ! (<> (p6 U p3) /\ [] ((<> [] p6 \/ p4) V p7))) /\ ([]<>p10 /\ []<>p11 /\ []<>p12)
|
||||
(((((p2 /\ (p1 \/ p2)) /\ p2) U X (p6 V p1)) U ((p7 -> ! p6) U p6))) /\ ([]<>p10 /\ []<>p11 /\ []<>p12)
|
||||
(((! p1 /\ p3) V [] <> ! <> (<> (p0 U p4) U X p7))) /\ ([]<>p10 /\ []<>p11 /\ []<>p12)
|
||||
(! (([] ((p2 U ! p1) U (p6 V p7)) \/ (<> p0 U p0)) -> (p3 U p0))) /\ ([]<>p10 /\ []<>p11 /\ []<>p12)
|
||||
(((! ! ((p1 \/ ((p2 V p0) V ! p1)) -> X p1) V ! p4) \/ p2)) /\ ([]<>p10 /\ []<>p11 /\ []<>p12)
|
||||
(((<> p0 U ! <> p7) \/ X (X ! [] X [] p5 U p4))) /\ ([]<>p10 /\ []<>p11 /\ []<>p12)
|
||||
((X (((p1 U p1) U p4) -> [] X ! p5) U (! p7 -> ! p5))) /\ ([]<>p10 /\ []<>p11 /\ []<>p12)
|
||||
((<> [] p0 V X ! (! p6 U (p3 V ! X ([] <> p1 \/ p1))))) /\ ([]<>p10 /\ []<>p11 /\ []<>p12)
|
||||
(([] (false U <> <> X p5) U (X p7 V [] (<> X p4 \/ (<> p2 -> p5))))) /\ ([]<>p10 /\ []<>p11 /\ []<>p12)
|
||||
((X [] p3 U <> ([] <> <> (p0 U false) \/ (! p5 \/ (! ! p2 -> p0))))) /\ ([]<>p10 /\ []<>p11 /\ []<>p12)
|
||||
((X p1 \/ ((X (! [] p0 U p7) U ! p0) U ! p2))) /\ ([]<>p10 /\ []<>p11 /\ []<>p12)
|
||||
(X ([] true U (X (p3 V [] p2) \/ (! p4 \/ <> p2)))) /\ ([]<>p10 /\ []<>p11 /\ []<>p12)
|
||||
([] (<> <> <> X ((p2 V ([] p3 /\ p2)) /\ ! <> [] p3) \/ p3)) /\ ([]<>p10 /\ []<>p11 /\ []<>p12)
|
||||
(X [] [] ((! p1 \/ p6) U <> X (! p2 U <> p1))) /\ ([]<>p10 /\ []<>p11 /\ []<>p12)
|
||||
(((true /\ [] p6) U X <> (<> ((p3 U p5) V [] (p6 -> p6)) U ! ! p3))) /\ ([]<>p10 /\ []<>p11 /\ []<>p12)
|
||||
100
bench/spin13/big_2-strong_1.ltl
Normal file
100
bench/spin13/big_2-strong_1.ltl
Normal file
|
|
@ -0,0 +1,100 @@
|
|||
((X ((p1 V <> ! p0) U p2) U [] ! <> ! X p4)) /\ (G(F(p10)) -> G(F(p11)))
|
||||
(((p0 U (! <> <> p4 U <> X ! p5)) U [] (X p0 U X p0))) /\ (G(F(p10)) -> G(F(p11)))
|
||||
([] ((<> p3 U p1) U ((((p1 U p5) \/ p5) U ! [] p0) /\ p1))) /\ (G(F(p10)) -> G(F(p11)))
|
||||
(! ((<> <> <> (p6 U p5) U <> X p1) /\ ! <> p2)) /\ (G(F(p10)) -> G(F(p11)))
|
||||
(((<> p6 -> X X X p1) U (([] p3 \/ p6) V [] p3))) /\ (G(F(p10)) -> G(F(p11)))
|
||||
((X p4 -> ([] <> (X (X (p4 U ! p7) U <> p4) U [] p2) U p0))) /\ (G(F(p10)) -> G(F(p11)))
|
||||
((((p6 /\ <> false) V (! (<> p4 V p3) V [] p0)) V [] (p0 -> p5))) /\ (G(F(p10)) -> G(F(p11)))
|
||||
(! ((! p1 U p4) U (<> p7 U ((p0 -> ! p4) V [] p0)))) /\ (G(F(p10)) -> G(F(p11)))
|
||||
(X (<> p0 /\ (! ! ((p0 U [] p6) U ! (p3 U p1)) V (p5 \/ <> p2)))) /\ (G(F(p10)) -> G(F(p11)))
|
||||
(((! p4 /\ ((p2 U p0) U (! p6 -> (<> p2 \/ p6)))) -> X (p2 -> p1))) /\ (G(F(p10)) -> G(F(p11)))
|
||||
(((<> (p4 U <> p3) \/ [] [] (p2 U [] [] p1)) /\ ! ! (p5 U <> p3))) /\ (G(F(p10)) -> G(F(p11)))
|
||||
(([] <> (<> ! ! (p2 V p1) -> [] (p7 -> X p2)) -> <> ! X p2)) /\ (G(F(p10)) -> G(F(p11)))
|
||||
(! (X (p1 /\ X X [] ! [] <> (p6 /\ X p1)) \/ (p5 -> p7))) /\ (G(F(p10)) -> G(F(p11)))
|
||||
(([] <> (<> ([] p3 -> [] X p3) V <> p3) U X X X p7)) /\ (G(F(p10)) -> G(F(p11)))
|
||||
(<> ((p6 \/ p6) V ((<> [] X X X ! p1 U p1) -> <> p1))) /\ (G(F(p10)) -> G(F(p11)))
|
||||
(<> X <> X <> (X [] p2 -> (<> (true -> [] p2) /\ X p2))) /\ (G(F(p10)) -> G(F(p11)))
|
||||
((([] ! [] (p7 U p5) V X p0) -> (p5 -> [] X p5))) /\ (G(F(p10)) -> G(F(p11)))
|
||||
(([] [] (p2 \/ p1) -> (([] p3 U true) U X (X p6 U (p5 /\ <> p5))))) /\ (G(F(p10)) -> G(F(p11)))
|
||||
([] ([] p1 /\ (<> p7 -> ((! p0 U p0) U <> <> p4)))) /\ (G(F(p10)) -> G(F(p11)))
|
||||
(((p2 V p3) U ! ((<> p4 \/ p5) -> (! (p5 \/ p4) V p7)))) /\ (G(F(p10)) -> G(F(p11)))
|
||||
((([] (<> (<> X p4 /\ [] p1) U p1) V [] <> X [] p5) U p1)) /\ (G(F(p10)) -> G(F(p11)))
|
||||
(X [] X ! ((p4 U (p2 -> p1)) \/ ! (<> p5 \/ p4))) /\ (G(F(p10)) -> G(F(p11)))
|
||||
((((<> p7 U (p6 U p7)) -> (p4 -> p6)) -> <> X (p0 -> <> (<> p6 -> p0)))) /\ (G(F(p10)) -> G(F(p11)))
|
||||
((p6 \/ ([] (p1 /\ p7) U <> (p4 U ((p2 \/ p7) -> [] (p3 U p7)))))) /\ (G(F(p10)) -> G(F(p11)))
|
||||
(((<> (p0 U p0) /\ [] p4) V ! <> (p2 /\ <> <> (p7 -> [] p7)))) /\ (G(F(p10)) -> G(F(p11)))
|
||||
((<> X <> <> <> (p3 -> ([] ! p6 -> p5)) \/ (p5 \/ ! [] (p4 /\ p4)))) /\ (G(F(p10)) -> G(F(p11)))
|
||||
(((X <> <> true U ! p1) V ((! ! p7 V p3) U ! (p1 /\ p5)))) /\ (G(F(p10)) -> G(F(p11)))
|
||||
((<> [] (((p6 -> p1) V (p5 U p5)) U ! p2) /\ (<> (p2 U p5) /\ ! p4))) /\ (G(F(p10)) -> G(F(p11)))
|
||||
(([] (X ((p4 V (p5 /\ p7)) \/ (p1 U p5)) U ! p5) U (p2 U p6))) /\ (G(F(p10)) -> G(F(p11)))
|
||||
((! [] p5 /\ ((! (! p2 -> p6) \/ [] (p1 V p7)) U (<> p4 V [] p6)))) /\ (G(F(p10)) -> G(F(p11)))
|
||||
((<> p7 U <> ((p1 U <> p4) U X ! X [] [] p3))) /\ (G(F(p10)) -> G(F(p11)))
|
||||
(<> ([] X ((p3 /\ p2) -> ! X <> p4) U ((p0 /\ <> p6) -> [] p2))) /\ (G(F(p10)) -> G(F(p11)))
|
||||
(<> [] [] (p4 /\ <> ((X p7 U p3) U <> (p5 U ([] p4 V p2))))) /\ (G(F(p10)) -> G(F(p11)))
|
||||
(X ([] ((p5 /\ ! [] p2) U p6) U (! p6 V (p6 \/ p7)))) /\ (G(F(p10)) -> G(F(p11)))
|
||||
(((((p2 -> (p5 U p3)) U (p6 U p0)) V p3) -> [] [] p7)) /\ (G(F(p10)) -> G(F(p11)))
|
||||
((([] p4 \/ X <> (X p6 U X p7)) /\ (p1 /\ ((p7 /\ X p2) \/ p1)))) /\ (G(F(p10)) -> G(F(p11)))
|
||||
((! ((! [] p3 \/ ! p7) /\ p5) U (X ! (X p2 -> p0) \/ X [] p5))) /\ (G(F(p10)) -> G(F(p11)))
|
||||
(((! p5 -> ! p4) U ((p3 V X X p2) U (<> p7 U X p2)))) /\ (G(F(p10)) -> G(F(p11)))
|
||||
(<> (X (<> X ((p3 U (p0 \/ p4)) U p6) U p1) V <> ! <> X ! p4)) /\ (G(F(p10)) -> G(F(p11)))
|
||||
(! (<> p4 /\ <> (([] (p0 -> p4) /\ X p1) /\ X p0))) /\ (G(F(p10)) -> G(F(p11)))
|
||||
(<> ((((p2 /\ p7) -> X p4) U true) U X (p5 \/ ! false))) /\ (G(F(p10)) -> G(F(p11)))
|
||||
((X ((p2 /\ [] [] ! p1) U <> p5) \/ <> ! X [] (<> X p2 U p5))) /\ (G(F(p10)) -> G(F(p11)))
|
||||
((! (p1 -> [] ! ([] p3 U [] [] p6)) /\ (p3 U p2))) /\ (G(F(p10)) -> G(F(p11)))
|
||||
((p4 U <> (X ((<> ([] p1 V p5) U X p6) U <> p4) \/ (false \/ p1)))) /\ (G(F(p10)) -> G(F(p11)))
|
||||
(<> (p6 U ! [] X <> (! (p3 U (X p6 U true)) -> (X X p5 V p4)))) /\ (G(F(p10)) -> G(F(p11)))
|
||||
((([] p1 V ! p5) V <> ! ([] ! [] p2 U [] p4))) /\ (G(F(p10)) -> G(F(p11)))
|
||||
(((((<> p0 -> p1) U (p3 -> p7)) \/ (<> p7 V (p0 U p0))) -> ! p6)) /\ (G(F(p10)) -> G(F(p11)))
|
||||
(((X p4 U <> ([] p2 -> (p1 V p3))) \/ (! p6 U <> p4))) /\ (G(F(p10)) -> G(F(p11)))
|
||||
(X ([] [] p2 U (X (X [] p7 U <> [] p2) -> (p4 /\ X p2)))) /\ (G(F(p10)) -> G(F(p11)))
|
||||
((p5 -> (<> p2 U (((! ! p5 U (p2 -> ! p2)) U <> p1) V p5)))) /\ (G(F(p10)) -> G(F(p11)))
|
||||
(X ((! (p4 /\ p1) \/ p6) U [] (<> (p6 U ! p6) V p4))) /\ (G(F(p10)) -> G(F(p11)))
|
||||
((<> (p1 \/ ([] (p7 /\ p0) -> p5)) \/ (p4 U (p5 /\ p1)))) /\ (G(F(p10)) -> G(F(p11)))
|
||||
((([] <> p0 -> ([] <> <> <> p2 V ((X p4 /\ X p5) U p6))) /\ ! p6)) /\ (G(F(p10)) -> G(F(p11)))
|
||||
(([] ! (p5 V p7) V ((p0 V ! p2) U [] (p7 \/ ! [] [] p3)))) /\ (G(F(p10)) -> G(F(p11)))
|
||||
((! [] p1 -> ((p4 U p0) V (! (p5 V p4) U ! [] (p7 V p5))))) /\ (G(F(p10)) -> G(F(p11)))
|
||||
((<> X [] [] p2 \/ <> X <> ((p0 U p0) U (p1 /\ (p4 -> p3))))) /\ (G(F(p10)) -> G(F(p11)))
|
||||
(! ((((p4 \/ p7) V p0) U (p2 U p4)) V (! p7 U ! p2))) /\ (G(F(p10)) -> G(F(p11)))
|
||||
((! p3 U ((((! p7 \/ p6) -> ! p5) U (p2 V p1)) /\ ! ! p0))) /\ (G(F(p10)) -> G(F(p11)))
|
||||
(((p3 U p2) U (<> (X (p4 /\ ! (p0 V X p6)) V <> p1) -> p3))) /\ (G(F(p10)) -> G(F(p11)))
|
||||
((((p4 U (<> p0 V <> p1)) U p1) -> (((X p3 U (false /\ p6)) U false) U p5))) /\ (G(F(p10)) -> G(F(p11)))
|
||||
(! [] (([] p4 -> (p7 V ! true)) \/ (! p3 V ! ! p2))) /\ (G(F(p10)) -> G(F(p11)))
|
||||
(((p2 \/ p7) U ! (p6 \/ X ((p6 -> [] p1) V [] ! ((p3 U p7) U p5))))) /\ (G(F(p10)) -> G(F(p11)))
|
||||
(<> (X ((! (p7 U true) U (p6 V p7)) V X p5) \/ X p4)) /\ (G(F(p10)) -> G(F(p11)))
|
||||
(X <> <> ! ((! (p6 V true) -> X p3) V X ! (! p0 U p0))) /\ (G(F(p10)) -> G(F(p11)))
|
||||
((((X (p5 U ! p1) U ! p1) U <> p0) U ! ((true -> p6) V [] [] true))) /\ (G(F(p10)) -> G(F(p11)))
|
||||
(((<> p6 U X ((p1 /\ p7) U (X p1 \/ p6))) -> (<> [] p6 U <> p2))) /\ (G(F(p10)) -> G(F(p11)))
|
||||
((((p5 U p7) U (p3 U <> p4)) -> (! p4 U X ! <> p3))) /\ (G(F(p10)) -> G(F(p11)))
|
||||
((X (<> ([] p0 V X [] p0) U [] p5) U [] (<> p2 U [] p6))) /\ (G(F(p10)) -> G(F(p11)))
|
||||
(<> ((((X p3 V X p7) U [] p5) U ((X p2 -> p1) U <> p2)) -> [] p5)) /\ (G(F(p10)) -> G(F(p11)))
|
||||
((! p3 \/ (<> (p4 U (p4 U p3)) U ([] p6 -> <> p0)))) /\ (G(F(p10)) -> G(F(p11)))
|
||||
(([] X ([] <> p4 U p6) -> [] ((p0 \/ X p0) -> ! <> (p3 U p6)))) /\ (G(F(p10)) -> G(F(p11)))
|
||||
([] <> (<> ((p7 V (p7 \/ p6)) U p0) /\ X (X p1 -> ! ! p1))) /\ (G(F(p10)) -> G(F(p11)))
|
||||
((<> (<> ((p4 U p6) \/ ! p3) U p3) -> [] (false \/ ([] p2 /\ p3)))) /\ (G(F(p10)) -> G(F(p11)))
|
||||
(((p0 U p5) /\ [] (<> (p2 V ! p0) /\ <> [] ([] p2 V ! X p1)))) /\ (G(F(p10)) -> G(F(p11)))
|
||||
((<> p2 -> (! p0 \/ <> ((! <> p4 -> ! p5) U p4)))) /\ (G(F(p10)) -> G(F(p11)))
|
||||
((((p4 \/ X p5) U (p1 V p3)) V (<> <> (X p4 /\ p2) -> (p3 U p0)))) /\ (G(F(p10)) -> G(F(p11)))
|
||||
(([] (p5 -> <> (p0 /\ p4)) U X <> (p5 U (! false -> p4)))) /\ (G(F(p10)) -> G(F(p11)))
|
||||
((! ((p5 \/ <> X p2) U p3) V (<> (true U <> p0) \/ p1))) /\ (G(F(p10)) -> G(F(p11)))
|
||||
((((! p1 U (p2 -> [] [] p3)) -> [] <> (p5 -> <> p3)) /\ [] X p4)) /\ (G(F(p10)) -> G(F(p11)))
|
||||
(<> ((p1 U X p3) \/ <> X (([] p4 U (true U p3)) V ! (p4 U X p1)))) /\ (G(F(p10)) -> G(F(p11)))
|
||||
((<> [] (! X p5 /\ <> (X p6 -> (p5 V p7))) U p5)) /\ (G(F(p10)) -> G(F(p11)))
|
||||
((((p5 /\ p1) -> [] (<> (p1 U X p6) U (p5 U p5))) -> (X X p4 U p0))) /\ (G(F(p10)) -> G(F(p11)))
|
||||
(([] <> p6 V (((p5 \/ p7) -> X X ! (p7 U p4)) U p0))) /\ (G(F(p10)) -> G(F(p11)))
|
||||
((<> <> [] ((p6 \/ p6) V ! [] p5) \/ (X ! p6 U p0))) /\ (G(F(p10)) -> G(F(p11)))
|
||||
(((p5 \/ (p3 U [] ! p7)) U <> X ((p0 \/ X p3) /\ ! ! p5))) /\ (G(F(p10)) -> G(F(p11)))
|
||||
(<> ! <> [] ! (<> (p6 U p3) /\ [] ((<> [] p6 \/ p4) V p7))) /\ (G(F(p10)) -> G(F(p11)))
|
||||
(((((p2 /\ (p1 \/ p2)) /\ p2) U X (p6 V p1)) U ((p7 -> ! p6) U p6))) /\ (G(F(p10)) -> G(F(p11)))
|
||||
(((! p1 /\ p3) V [] <> ! <> (<> (p0 U p4) U X p7))) /\ (G(F(p10)) -> G(F(p11)))
|
||||
(! (([] ((p2 U ! p1) U (p6 V p7)) \/ (<> p0 U p0)) -> (p3 U p0))) /\ (G(F(p10)) -> G(F(p11)))
|
||||
(((! ! ((p1 \/ ((p2 V p0) V ! p1)) -> X p1) V ! p4) \/ p2)) /\ (G(F(p10)) -> G(F(p11)))
|
||||
(((<> p0 U ! <> p7) \/ X (X ! [] X [] p5 U p4))) /\ (G(F(p10)) -> G(F(p11)))
|
||||
((X (((p1 U p1) U p4) -> [] X ! p5) U (! p7 -> ! p5))) /\ (G(F(p10)) -> G(F(p11)))
|
||||
((<> [] p0 V X ! (! p6 U (p3 V ! X ([] <> p1 \/ p1))))) /\ (G(F(p10)) -> G(F(p11)))
|
||||
(([] (false U <> <> X p5) U (X p7 V [] (<> X p4 \/ (<> p2 -> p5))))) /\ (G(F(p10)) -> G(F(p11)))
|
||||
((X [] p3 U <> ([] <> <> (p0 U false) \/ (! p5 \/ (! ! p2 -> p0))))) /\ (G(F(p10)) -> G(F(p11)))
|
||||
((X p1 \/ ((X (! [] p0 U p7) U ! p0) U ! p2))) /\ (G(F(p10)) -> G(F(p11)))
|
||||
(X ([] true U (X (p3 V [] p2) \/ (! p4 \/ <> p2)))) /\ (G(F(p10)) -> G(F(p11)))
|
||||
([] (<> <> <> X ((p2 V ([] p3 /\ p2)) /\ ! <> [] p3) \/ p3)) /\ (G(F(p10)) -> G(F(p11)))
|
||||
(X [] [] ((! p1 \/ p6) U <> X (! p2 U <> p1))) /\ (G(F(p10)) -> G(F(p11)))
|
||||
(((true /\ [] p6) U X <> (<> ((p3 U p5) V [] (p6 -> p6)) U ! ! p3))) /\ (G(F(p10)) -> G(F(p11)))
|
||||
100
bench/spin13/big_2-strong_2.ltl
Normal file
100
bench/spin13/big_2-strong_2.ltl
Normal file
|
|
@ -0,0 +1,100 @@
|
|||
((X ((p1 V <> ! p0) U p2) U [] ! <> ! X p4)) /\ (G(F(p10)) -> G(F(p11))) /\ (G(F(p12)) -> G(F(p13)))
|
||||
(((p0 U (! <> <> p4 U <> X ! p5)) U [] (X p0 U X p0))) /\ (G(F(p10)) -> G(F(p11))) /\ (G(F(p12)) -> G(F(p13)))
|
||||
([] ((<> p3 U p1) U ((((p1 U p5) \/ p5) U ! [] p0) /\ p1))) /\ (G(F(p10)) -> G(F(p11))) /\ (G(F(p12)) -> G(F(p13)))
|
||||
(! ((<> <> <> (p6 U p5) U <> X p1) /\ ! <> p2)) /\ (G(F(p10)) -> G(F(p11))) /\ (G(F(p12)) -> G(F(p13)))
|
||||
(((<> p6 -> X X X p1) U (([] p3 \/ p6) V [] p3))) /\ (G(F(p10)) -> G(F(p11))) /\ (G(F(p12)) -> G(F(p13)))
|
||||
((X p4 -> ([] <> (X (X (p4 U ! p7) U <> p4) U [] p2) U p0))) /\ (G(F(p10)) -> G(F(p11))) /\ (G(F(p12)) -> G(F(p13)))
|
||||
((((p6 /\ <> false) V (! (<> p4 V p3) V [] p0)) V [] (p0 -> p5))) /\ (G(F(p10)) -> G(F(p11))) /\ (G(F(p12)) -> G(F(p13)))
|
||||
(! ((! p1 U p4) U (<> p7 U ((p0 -> ! p4) V [] p0)))) /\ (G(F(p10)) -> G(F(p11))) /\ (G(F(p12)) -> G(F(p13)))
|
||||
(X (<> p0 /\ (! ! ((p0 U [] p6) U ! (p3 U p1)) V (p5 \/ <> p2)))) /\ (G(F(p10)) -> G(F(p11))) /\ (G(F(p12)) -> G(F(p13)))
|
||||
(((! p4 /\ ((p2 U p0) U (! p6 -> (<> p2 \/ p6)))) -> X (p2 -> p1))) /\ (G(F(p10)) -> G(F(p11))) /\ (G(F(p12)) -> G(F(p13)))
|
||||
(((<> (p4 U <> p3) \/ [] [] (p2 U [] [] p1)) /\ ! ! (p5 U <> p3))) /\ (G(F(p10)) -> G(F(p11))) /\ (G(F(p12)) -> G(F(p13)))
|
||||
(([] <> (<> ! ! (p2 V p1) -> [] (p7 -> X p2)) -> <> ! X p2)) /\ (G(F(p10)) -> G(F(p11))) /\ (G(F(p12)) -> G(F(p13)))
|
||||
(! (X (p1 /\ X X [] ! [] <> (p6 /\ X p1)) \/ (p5 -> p7))) /\ (G(F(p10)) -> G(F(p11))) /\ (G(F(p12)) -> G(F(p13)))
|
||||
(([] <> (<> ([] p3 -> [] X p3) V <> p3) U X X X p7)) /\ (G(F(p10)) -> G(F(p11))) /\ (G(F(p12)) -> G(F(p13)))
|
||||
(<> ((p6 \/ p6) V ((<> [] X X X ! p1 U p1) -> <> p1))) /\ (G(F(p10)) -> G(F(p11))) /\ (G(F(p12)) -> G(F(p13)))
|
||||
(<> X <> X <> (X [] p2 -> (<> (true -> [] p2) /\ X p2))) /\ (G(F(p10)) -> G(F(p11))) /\ (G(F(p12)) -> G(F(p13)))
|
||||
((([] ! [] (p7 U p5) V X p0) -> (p5 -> [] X p5))) /\ (G(F(p10)) -> G(F(p11))) /\ (G(F(p12)) -> G(F(p13)))
|
||||
(([] [] (p2 \/ p1) -> (([] p3 U true) U X (X p6 U (p5 /\ <> p5))))) /\ (G(F(p10)) -> G(F(p11))) /\ (G(F(p12)) -> G(F(p13)))
|
||||
([] ([] p1 /\ (<> p7 -> ((! p0 U p0) U <> <> p4)))) /\ (G(F(p10)) -> G(F(p11))) /\ (G(F(p12)) -> G(F(p13)))
|
||||
(((p2 V p3) U ! ((<> p4 \/ p5) -> (! (p5 \/ p4) V p7)))) /\ (G(F(p10)) -> G(F(p11))) /\ (G(F(p12)) -> G(F(p13)))
|
||||
((([] (<> (<> X p4 /\ [] p1) U p1) V [] <> X [] p5) U p1)) /\ (G(F(p10)) -> G(F(p11))) /\ (G(F(p12)) -> G(F(p13)))
|
||||
(X [] X ! ((p4 U (p2 -> p1)) \/ ! (<> p5 \/ p4))) /\ (G(F(p10)) -> G(F(p11))) /\ (G(F(p12)) -> G(F(p13)))
|
||||
((((<> p7 U (p6 U p7)) -> (p4 -> p6)) -> <> X (p0 -> <> (<> p6 -> p0)))) /\ (G(F(p10)) -> G(F(p11))) /\ (G(F(p12)) -> G(F(p13)))
|
||||
((p6 \/ ([] (p1 /\ p7) U <> (p4 U ((p2 \/ p7) -> [] (p3 U p7)))))) /\ (G(F(p10)) -> G(F(p11))) /\ (G(F(p12)) -> G(F(p13)))
|
||||
(((<> (p0 U p0) /\ [] p4) V ! <> (p2 /\ <> <> (p7 -> [] p7)))) /\ (G(F(p10)) -> G(F(p11))) /\ (G(F(p12)) -> G(F(p13)))
|
||||
((<> X <> <> <> (p3 -> ([] ! p6 -> p5)) \/ (p5 \/ ! [] (p4 /\ p4)))) /\ (G(F(p10)) -> G(F(p11))) /\ (G(F(p12)) -> G(F(p13)))
|
||||
(((X <> <> true U ! p1) V ((! ! p7 V p3) U ! (p1 /\ p5)))) /\ (G(F(p10)) -> G(F(p11))) /\ (G(F(p12)) -> G(F(p13)))
|
||||
((<> [] (((p6 -> p1) V (p5 U p5)) U ! p2) /\ (<> (p2 U p5) /\ ! p4))) /\ (G(F(p10)) -> G(F(p11))) /\ (G(F(p12)) -> G(F(p13)))
|
||||
(([] (X ((p4 V (p5 /\ p7)) \/ (p1 U p5)) U ! p5) U (p2 U p6))) /\ (G(F(p10)) -> G(F(p11))) /\ (G(F(p12)) -> G(F(p13)))
|
||||
((! [] p5 /\ ((! (! p2 -> p6) \/ [] (p1 V p7)) U (<> p4 V [] p6)))) /\ (G(F(p10)) -> G(F(p11))) /\ (G(F(p12)) -> G(F(p13)))
|
||||
((<> p7 U <> ((p1 U <> p4) U X ! X [] [] p3))) /\ (G(F(p10)) -> G(F(p11))) /\ (G(F(p12)) -> G(F(p13)))
|
||||
(<> ([] X ((p3 /\ p2) -> ! X <> p4) U ((p0 /\ <> p6) -> [] p2))) /\ (G(F(p10)) -> G(F(p11))) /\ (G(F(p12)) -> G(F(p13)))
|
||||
(<> [] [] (p4 /\ <> ((X p7 U p3) U <> (p5 U ([] p4 V p2))))) /\ (G(F(p10)) -> G(F(p11))) /\ (G(F(p12)) -> G(F(p13)))
|
||||
(X ([] ((p5 /\ ! [] p2) U p6) U (! p6 V (p6 \/ p7)))) /\ (G(F(p10)) -> G(F(p11))) /\ (G(F(p12)) -> G(F(p13)))
|
||||
(((((p2 -> (p5 U p3)) U (p6 U p0)) V p3) -> [] [] p7)) /\ (G(F(p10)) -> G(F(p11))) /\ (G(F(p12)) -> G(F(p13)))
|
||||
((([] p4 \/ X <> (X p6 U X p7)) /\ (p1 /\ ((p7 /\ X p2) \/ p1)))) /\ (G(F(p10)) -> G(F(p11))) /\ (G(F(p12)) -> G(F(p13)))
|
||||
((! ((! [] p3 \/ ! p7) /\ p5) U (X ! (X p2 -> p0) \/ X [] p5))) /\ (G(F(p10)) -> G(F(p11))) /\ (G(F(p12)) -> G(F(p13)))
|
||||
(((! p5 -> ! p4) U ((p3 V X X p2) U (<> p7 U X p2)))) /\ (G(F(p10)) -> G(F(p11))) /\ (G(F(p12)) -> G(F(p13)))
|
||||
(<> (X (<> X ((p3 U (p0 \/ p4)) U p6) U p1) V <> ! <> X ! p4)) /\ (G(F(p10)) -> G(F(p11))) /\ (G(F(p12)) -> G(F(p13)))
|
||||
(! (<> p4 /\ <> (([] (p0 -> p4) /\ X p1) /\ X p0))) /\ (G(F(p10)) -> G(F(p11))) /\ (G(F(p12)) -> G(F(p13)))
|
||||
(<> ((((p2 /\ p7) -> X p4) U true) U X (p5 \/ ! false))) /\ (G(F(p10)) -> G(F(p11))) /\ (G(F(p12)) -> G(F(p13)))
|
||||
((X ((p2 /\ [] [] ! p1) U <> p5) \/ <> ! X [] (<> X p2 U p5))) /\ (G(F(p10)) -> G(F(p11))) /\ (G(F(p12)) -> G(F(p13)))
|
||||
((! (p1 -> [] ! ([] p3 U [] [] p6)) /\ (p3 U p2))) /\ (G(F(p10)) -> G(F(p11))) /\ (G(F(p12)) -> G(F(p13)))
|
||||
((p4 U <> (X ((<> ([] p1 V p5) U X p6) U <> p4) \/ (false \/ p1)))) /\ (G(F(p10)) -> G(F(p11))) /\ (G(F(p12)) -> G(F(p13)))
|
||||
(<> (p6 U ! [] X <> (! (p3 U (X p6 U true)) -> (X X p5 V p4)))) /\ (G(F(p10)) -> G(F(p11))) /\ (G(F(p12)) -> G(F(p13)))
|
||||
((([] p1 V ! p5) V <> ! ([] ! [] p2 U [] p4))) /\ (G(F(p10)) -> G(F(p11))) /\ (G(F(p12)) -> G(F(p13)))
|
||||
(((((<> p0 -> p1) U (p3 -> p7)) \/ (<> p7 V (p0 U p0))) -> ! p6)) /\ (G(F(p10)) -> G(F(p11))) /\ (G(F(p12)) -> G(F(p13)))
|
||||
(((X p4 U <> ([] p2 -> (p1 V p3))) \/ (! p6 U <> p4))) /\ (G(F(p10)) -> G(F(p11))) /\ (G(F(p12)) -> G(F(p13)))
|
||||
(X ([] [] p2 U (X (X [] p7 U <> [] p2) -> (p4 /\ X p2)))) /\ (G(F(p10)) -> G(F(p11))) /\ (G(F(p12)) -> G(F(p13)))
|
||||
((p5 -> (<> p2 U (((! ! p5 U (p2 -> ! p2)) U <> p1) V p5)))) /\ (G(F(p10)) -> G(F(p11))) /\ (G(F(p12)) -> G(F(p13)))
|
||||
(X ((! (p4 /\ p1) \/ p6) U [] (<> (p6 U ! p6) V p4))) /\ (G(F(p10)) -> G(F(p11))) /\ (G(F(p12)) -> G(F(p13)))
|
||||
((<> (p1 \/ ([] (p7 /\ p0) -> p5)) \/ (p4 U (p5 /\ p1)))) /\ (G(F(p10)) -> G(F(p11))) /\ (G(F(p12)) -> G(F(p13)))
|
||||
((([] <> p0 -> ([] <> <> <> p2 V ((X p4 /\ X p5) U p6))) /\ ! p6)) /\ (G(F(p10)) -> G(F(p11))) /\ (G(F(p12)) -> G(F(p13)))
|
||||
(([] ! (p5 V p7) V ((p0 V ! p2) U [] (p7 \/ ! [] [] p3)))) /\ (G(F(p10)) -> G(F(p11))) /\ (G(F(p12)) -> G(F(p13)))
|
||||
((! [] p1 -> ((p4 U p0) V (! (p5 V p4) U ! [] (p7 V p5))))) /\ (G(F(p10)) -> G(F(p11))) /\ (G(F(p12)) -> G(F(p13)))
|
||||
((<> X [] [] p2 \/ <> X <> ((p0 U p0) U (p1 /\ (p4 -> p3))))) /\ (G(F(p10)) -> G(F(p11))) /\ (G(F(p12)) -> G(F(p13)))
|
||||
(! ((((p4 \/ p7) V p0) U (p2 U p4)) V (! p7 U ! p2))) /\ (G(F(p10)) -> G(F(p11))) /\ (G(F(p12)) -> G(F(p13)))
|
||||
((! p3 U ((((! p7 \/ p6) -> ! p5) U (p2 V p1)) /\ ! ! p0))) /\ (G(F(p10)) -> G(F(p11))) /\ (G(F(p12)) -> G(F(p13)))
|
||||
(((p3 U p2) U (<> (X (p4 /\ ! (p0 V X p6)) V <> p1) -> p3))) /\ (G(F(p10)) -> G(F(p11))) /\ (G(F(p12)) -> G(F(p13)))
|
||||
((((p4 U (<> p0 V <> p1)) U p1) -> (((X p3 U (false /\ p6)) U false) U p5))) /\ (G(F(p10)) -> G(F(p11))) /\ (G(F(p12)) -> G(F(p13)))
|
||||
(! [] (([] p4 -> (p7 V ! true)) \/ (! p3 V ! ! p2))) /\ (G(F(p10)) -> G(F(p11))) /\ (G(F(p12)) -> G(F(p13)))
|
||||
(((p2 \/ p7) U ! (p6 \/ X ((p6 -> [] p1) V [] ! ((p3 U p7) U p5))))) /\ (G(F(p10)) -> G(F(p11))) /\ (G(F(p12)) -> G(F(p13)))
|
||||
(<> (X ((! (p7 U true) U (p6 V p7)) V X p5) \/ X p4)) /\ (G(F(p10)) -> G(F(p11))) /\ (G(F(p12)) -> G(F(p13)))
|
||||
(X <> <> ! ((! (p6 V true) -> X p3) V X ! (! p0 U p0))) /\ (G(F(p10)) -> G(F(p11))) /\ (G(F(p12)) -> G(F(p13)))
|
||||
((((X (p5 U ! p1) U ! p1) U <> p0) U ! ((true -> p6) V [] [] true))) /\ (G(F(p10)) -> G(F(p11))) /\ (G(F(p12)) -> G(F(p13)))
|
||||
(((<> p6 U X ((p1 /\ p7) U (X p1 \/ p6))) -> (<> [] p6 U <> p2))) /\ (G(F(p10)) -> G(F(p11))) /\ (G(F(p12)) -> G(F(p13)))
|
||||
((((p5 U p7) U (p3 U <> p4)) -> (! p4 U X ! <> p3))) /\ (G(F(p10)) -> G(F(p11))) /\ (G(F(p12)) -> G(F(p13)))
|
||||
((X (<> ([] p0 V X [] p0) U [] p5) U [] (<> p2 U [] p6))) /\ (G(F(p10)) -> G(F(p11))) /\ (G(F(p12)) -> G(F(p13)))
|
||||
(<> ((((X p3 V X p7) U [] p5) U ((X p2 -> p1) U <> p2)) -> [] p5)) /\ (G(F(p10)) -> G(F(p11))) /\ (G(F(p12)) -> G(F(p13)))
|
||||
((! p3 \/ (<> (p4 U (p4 U p3)) U ([] p6 -> <> p0)))) /\ (G(F(p10)) -> G(F(p11))) /\ (G(F(p12)) -> G(F(p13)))
|
||||
(([] X ([] <> p4 U p6) -> [] ((p0 \/ X p0) -> ! <> (p3 U p6)))) /\ (G(F(p10)) -> G(F(p11))) /\ (G(F(p12)) -> G(F(p13)))
|
||||
([] <> (<> ((p7 V (p7 \/ p6)) U p0) /\ X (X p1 -> ! ! p1))) /\ (G(F(p10)) -> G(F(p11))) /\ (G(F(p12)) -> G(F(p13)))
|
||||
((<> (<> ((p4 U p6) \/ ! p3) U p3) -> [] (false \/ ([] p2 /\ p3)))) /\ (G(F(p10)) -> G(F(p11))) /\ (G(F(p12)) -> G(F(p13)))
|
||||
(((p0 U p5) /\ [] (<> (p2 V ! p0) /\ <> [] ([] p2 V ! X p1)))) /\ (G(F(p10)) -> G(F(p11))) /\ (G(F(p12)) -> G(F(p13)))
|
||||
((<> p2 -> (! p0 \/ <> ((! <> p4 -> ! p5) U p4)))) /\ (G(F(p10)) -> G(F(p11))) /\ (G(F(p12)) -> G(F(p13)))
|
||||
((((p4 \/ X p5) U (p1 V p3)) V (<> <> (X p4 /\ p2) -> (p3 U p0)))) /\ (G(F(p10)) -> G(F(p11))) /\ (G(F(p12)) -> G(F(p13)))
|
||||
(([] (p5 -> <> (p0 /\ p4)) U X <> (p5 U (! false -> p4)))) /\ (G(F(p10)) -> G(F(p11))) /\ (G(F(p12)) -> G(F(p13)))
|
||||
((! ((p5 \/ <> X p2) U p3) V (<> (true U <> p0) \/ p1))) /\ (G(F(p10)) -> G(F(p11))) /\ (G(F(p12)) -> G(F(p13)))
|
||||
((((! p1 U (p2 -> [] [] p3)) -> [] <> (p5 -> <> p3)) /\ [] X p4)) /\ (G(F(p10)) -> G(F(p11))) /\ (G(F(p12)) -> G(F(p13)))
|
||||
(<> ((p1 U X p3) \/ <> X (([] p4 U (true U p3)) V ! (p4 U X p1)))) /\ (G(F(p10)) -> G(F(p11))) /\ (G(F(p12)) -> G(F(p13)))
|
||||
((<> [] (! X p5 /\ <> (X p6 -> (p5 V p7))) U p5)) /\ (G(F(p10)) -> G(F(p11))) /\ (G(F(p12)) -> G(F(p13)))
|
||||
((((p5 /\ p1) -> [] (<> (p1 U X p6) U (p5 U p5))) -> (X X p4 U p0))) /\ (G(F(p10)) -> G(F(p11))) /\ (G(F(p12)) -> G(F(p13)))
|
||||
(([] <> p6 V (((p5 \/ p7) -> X X ! (p7 U p4)) U p0))) /\ (G(F(p10)) -> G(F(p11))) /\ (G(F(p12)) -> G(F(p13)))
|
||||
((<> <> [] ((p6 \/ p6) V ! [] p5) \/ (X ! p6 U p0))) /\ (G(F(p10)) -> G(F(p11))) /\ (G(F(p12)) -> G(F(p13)))
|
||||
(((p5 \/ (p3 U [] ! p7)) U <> X ((p0 \/ X p3) /\ ! ! p5))) /\ (G(F(p10)) -> G(F(p11))) /\ (G(F(p12)) -> G(F(p13)))
|
||||
(<> ! <> [] ! (<> (p6 U p3) /\ [] ((<> [] p6 \/ p4) V p7))) /\ (G(F(p10)) -> G(F(p11))) /\ (G(F(p12)) -> G(F(p13)))
|
||||
(((((p2 /\ (p1 \/ p2)) /\ p2) U X (p6 V p1)) U ((p7 -> ! p6) U p6))) /\ (G(F(p10)) -> G(F(p11))) /\ (G(F(p12)) -> G(F(p13)))
|
||||
(((! p1 /\ p3) V [] <> ! <> (<> (p0 U p4) U X p7))) /\ (G(F(p10)) -> G(F(p11))) /\ (G(F(p12)) -> G(F(p13)))
|
||||
(! (([] ((p2 U ! p1) U (p6 V p7)) \/ (<> p0 U p0)) -> (p3 U p0))) /\ (G(F(p10)) -> G(F(p11))) /\ (G(F(p12)) -> G(F(p13)))
|
||||
(((! ! ((p1 \/ ((p2 V p0) V ! p1)) -> X p1) V ! p4) \/ p2)) /\ (G(F(p10)) -> G(F(p11))) /\ (G(F(p12)) -> G(F(p13)))
|
||||
(((<> p0 U ! <> p7) \/ X (X ! [] X [] p5 U p4))) /\ (G(F(p10)) -> G(F(p11))) /\ (G(F(p12)) -> G(F(p13)))
|
||||
((X (((p1 U p1) U p4) -> [] X ! p5) U (! p7 -> ! p5))) /\ (G(F(p10)) -> G(F(p11))) /\ (G(F(p12)) -> G(F(p13)))
|
||||
((<> [] p0 V X ! (! p6 U (p3 V ! X ([] <> p1 \/ p1))))) /\ (G(F(p10)) -> G(F(p11))) /\ (G(F(p12)) -> G(F(p13)))
|
||||
(([] (false U <> <> X p5) U (X p7 V [] (<> X p4 \/ (<> p2 -> p5))))) /\ (G(F(p10)) -> G(F(p11))) /\ (G(F(p12)) -> G(F(p13)))
|
||||
((X [] p3 U <> ([] <> <> (p0 U false) \/ (! p5 \/ (! ! p2 -> p0))))) /\ (G(F(p10)) -> G(F(p11))) /\ (G(F(p12)) -> G(F(p13)))
|
||||
((X p1 \/ ((X (! [] p0 U p7) U ! p0) U ! p2))) /\ (G(F(p10)) -> G(F(p11))) /\ (G(F(p12)) -> G(F(p13)))
|
||||
(X ([] true U (X (p3 V [] p2) \/ (! p4 \/ <> p2)))) /\ (G(F(p10)) -> G(F(p11))) /\ (G(F(p12)) -> G(F(p13)))
|
||||
([] (<> <> <> X ((p2 V ([] p3 /\ p2)) /\ ! <> [] p3) \/ p3)) /\ (G(F(p10)) -> G(F(p11))) /\ (G(F(p12)) -> G(F(p13)))
|
||||
(X [] [] ((! p1 \/ p6) U <> X (! p2 U <> p1))) /\ (G(F(p10)) -> G(F(p11))) /\ (G(F(p12)) -> G(F(p13)))
|
||||
(((true /\ [] p6) U X <> (<> ((p3 U p5) V [] (p6 -> p6)) U ! ! p3))) /\ (G(F(p10)) -> G(F(p11))) /\ (G(F(p12)) -> G(F(p13)))
|
||||
100
bench/spin13/big_2.ltl
Normal file
100
bench/spin13/big_2.ltl
Normal file
|
|
@ -0,0 +1,100 @@
|
|||
(X ((p1 V <> ! p0) U p2) U [] ! <> ! X p4)
|
||||
((p0 U (! <> <> p4 U <> X ! p5)) U [] (X p0 U X p0))
|
||||
[] ((<> p3 U p1) U ((((p1 U p5) \/ p5) U ! [] p0) /\ p1))
|
||||
! ((<> <> <> (p6 U p5) U <> X p1) /\ ! <> p2)
|
||||
((<> p6 -> X X X p1) U (([] p3 \/ p6) V [] p3))
|
||||
(X p4 -> ([] <> (X (X (p4 U ! p7) U <> p4) U [] p2) U p0))
|
||||
(((p6 /\ <> false) V (! (<> p4 V p3) V [] p0)) V [] (p0 -> p5))
|
||||
! ((! p1 U p4) U (<> p7 U ((p0 -> ! p4) V [] p0)))
|
||||
X (<> p0 /\ (! ! ((p0 U [] p6) U ! (p3 U p1)) V (p5 \/ <> p2)))
|
||||
((! p4 /\ ((p2 U p0) U (! p6 -> (<> p2 \/ p6)))) -> X (p2 -> p1))
|
||||
((<> (p4 U <> p3) \/ [] [] (p2 U [] [] p1)) /\ ! ! (p5 U <> p3))
|
||||
([] <> (<> ! ! (p2 V p1) -> [] (p7 -> X p2)) -> <> ! X p2)
|
||||
! (X (p1 /\ X X [] ! [] <> (p6 /\ X p1)) \/ (p5 -> p7))
|
||||
([] <> (<> ([] p3 -> [] X p3) V <> p3) U X X X p7)
|
||||
<> ((p6 \/ p6) V ((<> [] X X X ! p1 U p1) -> <> p1))
|
||||
<> X <> X <> (X [] p2 -> (<> (true -> [] p2) /\ X p2))
|
||||
(([] ! [] (p7 U p5) V X p0) -> (p5 -> [] X p5))
|
||||
([] [] (p2 \/ p1) -> (([] p3 U true) U X (X p6 U (p5 /\ <> p5))))
|
||||
[] ([] p1 /\ (<> p7 -> ((! p0 U p0) U <> <> p4)))
|
||||
((p2 V p3) U ! ((<> p4 \/ p5) -> (! (p5 \/ p4) V p7)))
|
||||
(([] (<> (<> X p4 /\ [] p1) U p1) V [] <> X [] p5) U p1)
|
||||
X [] X ! ((p4 U (p2 -> p1)) \/ ! (<> p5 \/ p4))
|
||||
(((<> p7 U (p6 U p7)) -> (p4 -> p6)) -> <> X (p0 -> <> (<> p6 -> p0)))
|
||||
(p6 \/ ([] (p1 /\ p7) U <> (p4 U ((p2 \/ p7) -> [] (p3 U p7)))))
|
||||
((<> (p0 U p0) /\ [] p4) V ! <> (p2 /\ <> <> (p7 -> [] p7)))
|
||||
(<> X <> <> <> (p3 -> ([] ! p6 -> p5)) \/ (p5 \/ ! [] (p4 /\ p4)))
|
||||
((X <> <> true U ! p1) V ((! ! p7 V p3) U ! (p1 /\ p5)))
|
||||
(<> [] (((p6 -> p1) V (p5 U p5)) U ! p2) /\ (<> (p2 U p5) /\ ! p4))
|
||||
([] (X ((p4 V (p5 /\ p7)) \/ (p1 U p5)) U ! p5) U (p2 U p6))
|
||||
(! [] p5 /\ ((! (! p2 -> p6) \/ [] (p1 V p7)) U (<> p4 V [] p6)))
|
||||
(<> p7 U <> ((p1 U <> p4) U X ! X [] [] p3))
|
||||
<> ([] X ((p3 /\ p2) -> ! X <> p4) U ((p0 /\ <> p6) -> [] p2))
|
||||
<> [] [] (p4 /\ <> ((X p7 U p3) U <> (p5 U ([] p4 V p2))))
|
||||
X ([] ((p5 /\ ! [] p2) U p6) U (! p6 V (p6 \/ p7)))
|
||||
((((p2 -> (p5 U p3)) U (p6 U p0)) V p3) -> [] [] p7)
|
||||
(([] p4 \/ X <> (X p6 U X p7)) /\ (p1 /\ ((p7 /\ X p2) \/ p1)))
|
||||
(! ((! [] p3 \/ ! p7) /\ p5) U (X ! (X p2 -> p0) \/ X [] p5))
|
||||
((! p5 -> ! p4) U ((p3 V X X p2) U (<> p7 U X p2)))
|
||||
<> (X (<> X ((p3 U (p0 \/ p4)) U p6) U p1) V <> ! <> X ! p4)
|
||||
! (<> p4 /\ <> (([] (p0 -> p4) /\ X p1) /\ X p0))
|
||||
<> ((((p2 /\ p7) -> X p4) U true) U X (p5 \/ ! false))
|
||||
(X ((p2 /\ [] [] ! p1) U <> p5) \/ <> ! X [] (<> X p2 U p5))
|
||||
(! (p1 -> [] ! ([] p3 U [] [] p6)) /\ (p3 U p2))
|
||||
(p4 U <> (X ((<> ([] p1 V p5) U X p6) U <> p4) \/ (false \/ p1)))
|
||||
<> (p6 U ! [] X <> (! (p3 U (X p6 U true)) -> (X X p5 V p4)))
|
||||
(([] p1 V ! p5) V <> ! ([] ! [] p2 U [] p4))
|
||||
((((<> p0 -> p1) U (p3 -> p7)) \/ (<> p7 V (p0 U p0))) -> ! p6)
|
||||
((X p4 U <> ([] p2 -> (p1 V p3))) \/ (! p6 U <> p4))
|
||||
X ([] [] p2 U (X (X [] p7 U <> [] p2) -> (p4 /\ X p2)))
|
||||
(p5 -> (<> p2 U (((! ! p5 U (p2 -> ! p2)) U <> p1) V p5)))
|
||||
X ((! (p4 /\ p1) \/ p6) U [] (<> (p6 U ! p6) V p4))
|
||||
(<> (p1 \/ ([] (p7 /\ p0) -> p5)) \/ (p4 U (p5 /\ p1)))
|
||||
(([] <> p0 -> ([] <> <> <> p2 V ((X p4 /\ X p5) U p6))) /\ ! p6)
|
||||
([] ! (p5 V p7) V ((p0 V ! p2) U [] (p7 \/ ! [] [] p3)))
|
||||
(! [] p1 -> ((p4 U p0) V (! (p5 V p4) U ! [] (p7 V p5))))
|
||||
(<> X [] [] p2 \/ <> X <> ((p0 U p0) U (p1 /\ (p4 -> p3))))
|
||||
! ((((p4 \/ p7) V p0) U (p2 U p4)) V (! p7 U ! p2))
|
||||
(! p3 U ((((! p7 \/ p6) -> ! p5) U (p2 V p1)) /\ ! ! p0))
|
||||
((p3 U p2) U (<> (X (p4 /\ ! (p0 V X p6)) V <> p1) -> p3))
|
||||
(((p4 U (<> p0 V <> p1)) U p1) -> (((X p3 U (false /\ p6)) U false) U p5))
|
||||
! [] (([] p4 -> (p7 V ! true)) \/ (! p3 V ! ! p2))
|
||||
((p2 \/ p7) U ! (p6 \/ X ((p6 -> [] p1) V [] ! ((p3 U p7) U p5))))
|
||||
<> (X ((! (p7 U true) U (p6 V p7)) V X p5) \/ X p4)
|
||||
X <> <> ! ((! (p6 V true) -> X p3) V X ! (! p0 U p0))
|
||||
(((X (p5 U ! p1) U ! p1) U <> p0) U ! ((true -> p6) V [] [] true))
|
||||
((<> p6 U X ((p1 /\ p7) U (X p1 \/ p6))) -> (<> [] p6 U <> p2))
|
||||
(((p5 U p7) U (p3 U <> p4)) -> (! p4 U X ! <> p3))
|
||||
(X (<> ([] p0 V X [] p0) U [] p5) U [] (<> p2 U [] p6))
|
||||
<> ((((X p3 V X p7) U [] p5) U ((X p2 -> p1) U <> p2)) -> [] p5)
|
||||
(! p3 \/ (<> (p4 U (p4 U p3)) U ([] p6 -> <> p0)))
|
||||
([] X ([] <> p4 U p6) -> [] ((p0 \/ X p0) -> ! <> (p3 U p6)))
|
||||
[] <> (<> ((p7 V (p7 \/ p6)) U p0) /\ X (X p1 -> ! ! p1))
|
||||
(<> (<> ((p4 U p6) \/ ! p3) U p3) -> [] (false \/ ([] p2 /\ p3)))
|
||||
((p0 U p5) /\ [] (<> (p2 V ! p0) /\ <> [] ([] p2 V ! X p1)))
|
||||
(<> p2 -> (! p0 \/ <> ((! <> p4 -> ! p5) U p4)))
|
||||
(((p4 \/ X p5) U (p1 V p3)) V (<> <> (X p4 /\ p2) -> (p3 U p0)))
|
||||
([] (p5 -> <> (p0 /\ p4)) U X <> (p5 U (! false -> p4)))
|
||||
(! ((p5 \/ <> X p2) U p3) V (<> (true U <> p0) \/ p1))
|
||||
(((! p1 U (p2 -> [] [] p3)) -> [] <> (p5 -> <> p3)) /\ [] X p4)
|
||||
<> ((p1 U X p3) \/ <> X (([] p4 U (true U p3)) V ! (p4 U X p1)))
|
||||
(<> [] (! X p5 /\ <> (X p6 -> (p5 V p7))) U p5)
|
||||
(((p5 /\ p1) -> [] (<> (p1 U X p6) U (p5 U p5))) -> (X X p4 U p0))
|
||||
([] <> p6 V (((p5 \/ p7) -> X X ! (p7 U p4)) U p0))
|
||||
(<> <> [] ((p6 \/ p6) V ! [] p5) \/ (X ! p6 U p0))
|
||||
((p5 \/ (p3 U [] ! p7)) U <> X ((p0 \/ X p3) /\ ! ! p5))
|
||||
<> ! <> [] ! (<> (p6 U p3) /\ [] ((<> [] p6 \/ p4) V p7))
|
||||
((((p2 /\ (p1 \/ p2)) /\ p2) U X (p6 V p1)) U ((p7 -> ! p6) U p6))
|
||||
((! p1 /\ p3) V [] <> ! <> (<> (p0 U p4) U X p7))
|
||||
! (([] ((p2 U ! p1) U (p6 V p7)) \/ (<> p0 U p0)) -> (p3 U p0))
|
||||
((! ! ((p1 \/ ((p2 V p0) V ! p1)) -> X p1) V ! p4) \/ p2)
|
||||
((<> p0 U ! <> p7) \/ X (X ! [] X [] p5 U p4))
|
||||
(X (((p1 U p1) U p4) -> [] X ! p5) U (! p7 -> ! p5))
|
||||
(<> [] p0 V X ! (! p6 U (p3 V ! X ([] <> p1 \/ p1))))
|
||||
([] (false U <> <> X p5) U (X p7 V [] (<> X p4 \/ (<> p2 -> p5))))
|
||||
(X [] p3 U <> ([] <> <> (p0 U false) \/ (! p5 \/ (! ! p2 -> p0))))
|
||||
(X p1 \/ ((X (! [] p0 U p7) U ! p0) U ! p2))
|
||||
X ([] true U (X (p3 V [] p2) \/ (! p4 \/ <> p2)))
|
||||
[] (<> <> <> X ((p2 V ([] p3 /\ p2)) /\ ! <> [] p3) \/ p3)
|
||||
X [] [] ((! p1 \/ p6) U <> X (! p2 U <> p1))
|
||||
((true /\ [] p6) U X <> (<> ((p3 U p5) V [] (p6 -> p6)) U ! ! p3))
|
||||
621
bench/spin13/html.bottom
Normal file
621
bench/spin13/html.bottom
Normal file
|
|
@ -0,0 +1,621 @@
|
|||
;
|
||||
|
||||
google.setOnLoadCallback(draw_charts);
|
||||
|
||||
var fields = {};
|
||||
var distinct_values = [];
|
||||
var ninputs;
|
||||
var inputs_table;
|
||||
var ntools;
|
||||
var ifield;
|
||||
var tfield;
|
||||
var nfields;
|
||||
var nresults;
|
||||
var results;
|
||||
var hashres = {};
|
||||
var linecmp;
|
||||
var linecmp_options = {
|
||||
hAxis: {title: 'input', viewWindow: {}, format: '#',
|
||||
maxAlternation: 3, minTextSpacing: 5, maxTextLines: 3,
|
||||
slantedText: false },
|
||||
legend: {position: 'top', alignment: 'end'},
|
||||
pointSize: 4,
|
||||
chartArea: {width: '90%'}
|
||||
}
|
||||
var input_line;
|
||||
var input_dashboard;
|
||||
|
||||
// Tool-indexed tables
|
||||
var sumresults_table;
|
||||
var tools_table;
|
||||
var cross_table;
|
||||
var cross_details;
|
||||
function register_tool_indexed_table(table)
|
||||
{
|
||||
google.visualization.events.addListener(table, 'select',
|
||||
function(){ select_tools(table.getSelection());
|
||||
});
|
||||
}
|
||||
|
||||
function select_tools(selection)
|
||||
{
|
||||
tools_table.setSelection(selection);
|
||||
sumresults_table.setSelection(selection);
|
||||
cross_table.setSelection(selection);
|
||||
cross_details.setSelection(selection);
|
||||
}
|
||||
|
||||
function select_input(t)
|
||||
{
|
||||
$('#single_input_select').val(t).trigger("change");
|
||||
inputs_table.setSelection([{row: t}]);
|
||||
}
|
||||
|
||||
function draw_input_line()
|
||||
{
|
||||
input_line.setOptions(linecmp_options)
|
||||
//input_line.draw(linecmp);
|
||||
input_dashboard.draw(linecmp);
|
||||
}
|
||||
|
||||
function change_input_line()
|
||||
{
|
||||
// line graph data
|
||||
linecmp = new google.visualization.DataTable();
|
||||
var column = $('#input_select').val();
|
||||
linecmp.addColumn('string', 'input'); // Discrete values for the LineChart
|
||||
linecmp.addColumn('number', 'input_'); // Continuous values for the control
|
||||
for (var t = 0; t < ntools; ++t)
|
||||
linecmp.addColumn('number', 'tool ' + t);
|
||||
for (var i = 0; i < ninputs; ++i)
|
||||
{
|
||||
var res = [i.toString(), i];
|
||||
for (var t = 0; t < ntools; ++t)
|
||||
{
|
||||
var d = hashres[[t,i]];
|
||||
if (d)
|
||||
res.push(d[column]);
|
||||
else
|
||||
res.push(null);
|
||||
}
|
||||
linecmp.addRow(res);
|
||||
}
|
||||
}
|
||||
|
||||
function setup_input_line()
|
||||
{
|
||||
change_input_line();
|
||||
|
||||
var datacols = []
|
||||
for (var t = 0; t < ntools; ++t)
|
||||
datacols.push(t + 2);
|
||||
|
||||
var control = new google.visualization.ControlWrapper({
|
||||
controlType: 'ChartRangeFilter',
|
||||
containerId: 'input_control',
|
||||
options: {
|
||||
filterColumnIndex: 1,
|
||||
ui: {
|
||||
chartType: 'LineChart',
|
||||
chartOptions: {
|
||||
chartArea: {width: '90%'},
|
||||
hAxis: {baselineColor: 'none'}
|
||||
},
|
||||
chartView: {
|
||||
columns: [1].concat(datacols) // [1] == continuous values for the control
|
||||
},
|
||||
minRangeSize: 1
|
||||
}
|
||||
},
|
||||
state: {range: {start: 0, end: ninputs}}
|
||||
});
|
||||
|
||||
input_line = new google.visualization.ChartWrapper({
|
||||
chartType: 'LineChart',
|
||||
containerId: 'input_line',
|
||||
options: linecmp_options,
|
||||
dataTable: linecmp,
|
||||
view: {columns: [0].concat(datacols)} // [0] == discrete values for the line chart
|
||||
});
|
||||
input_dashboard = new google.visualization.Dashboard(document.getElementById('input_dashboard'));
|
||||
input_dashboard.bind(control, input_line);
|
||||
|
||||
draw_input_line();
|
||||
}
|
||||
|
||||
function update_input_line()
|
||||
{
|
||||
change_input_line();
|
||||
draw_input_line();
|
||||
}
|
||||
|
||||
function update_cross_table()
|
||||
{
|
||||
var crossdata = new google.visualization.DataTable();
|
||||
var crossdatadet = new google.visualization.DataTable();
|
||||
|
||||
var crosscol = $('#cross_select').val();
|
||||
var crosscol2 = $('#cross_select2').val();
|
||||
crossdata.addColumn('string', '↓ greater than →');
|
||||
crossdatadet.addColumn('string', '↓ greater than →');
|
||||
for (var t = 0; t < ntools; ++t)
|
||||
{
|
||||
crossdata.addColumn('number', 'tool ' + t);
|
||||
crossdatadet.addColumn('string', 'tool ' + t);
|
||||
}
|
||||
for (var w = 0; w < ntools; ++w)
|
||||
{
|
||||
var r = [];
|
||||
var d = [];
|
||||
var wrap = function(i) { return '<a class="inputnum" href="javascript: select_input(' + i + ');">' + i + '</a>'; };
|
||||
for (var b = 0; b < ntools; ++b)
|
||||
{
|
||||
var bres = 0;
|
||||
var dres = [];
|
||||
if (w != b)
|
||||
for (var i = 0; i < ninputs; ++i)
|
||||
{
|
||||
var wi = hashres[[w,i]];
|
||||
if (wi == undefined)
|
||||
continue;
|
||||
var bi = hashres[[b,i]];
|
||||
if (bi == undefined)
|
||||
continue;
|
||||
var wv = wi[crosscol];
|
||||
var bv = bi[crosscol];
|
||||
if (wv > bv)
|
||||
{
|
||||
++bres;
|
||||
dres.push(wrap(i));
|
||||
}
|
||||
else if ((wv == bv) && crosscol2 >= 0)
|
||||
{
|
||||
var wv = wi[crosscol2];
|
||||
var bv = bi[crosscol2];
|
||||
if (wv > bv)
|
||||
{
|
||||
++bres;
|
||||
dres.push(wrap(i));
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
bres = null;
|
||||
r[b] = bres;
|
||||
d[b] = dres.join(' ');
|
||||
}
|
||||
crossdata.addRow(['tool ' + w].concat(r));
|
||||
crossdatadet.addRow(['tool ' + w].concat(d));
|
||||
}
|
||||
for (var c = 1; c < ntools + 1; ++c)
|
||||
{
|
||||
var range = crossdata.getColumnRange(c);
|
||||
var rangeformatter = new google.visualization.ColorFormat();
|
||||
rangeformatter.addRange(range['min'], range['min'] + 1, 'green', null);
|
||||
rangeformatter.addRange(range['max'], null, 'red', null);
|
||||
rangeformatter.format(crossdata, c);
|
||||
}
|
||||
cross_table = new google.visualization.Table(document.getElementById('cross_table'));
|
||||
register_tool_indexed_table(cross_table);
|
||||
cross_table.draw(crossdata, {allowHtml: true});
|
||||
cross_details = new google.visualization.Table(document.getElementById('cross_details'));
|
||||
register_tool_indexed_table(cross_details);
|
||||
cross_details.draw(crossdatadet, {allowHtml: true});
|
||||
}
|
||||
|
||||
|
||||
function update_scatter_table()
|
||||
{
|
||||
var tool1 = $('#tool1_select').val();
|
||||
var tool2 = $('#tool2_select').val();
|
||||
var f = $('#scatter_select').val();
|
||||
var bycolor = parseInt($('#bycolor_select').val());
|
||||
var fname = rawdata.fields[f];
|
||||
|
||||
|
||||
var scatterdata = new google.visualization.DataTable();
|
||||
scatterdata.addColumn({type: 'number', role: 'domain'});
|
||||
|
||||
var ndv = 1;
|
||||
var dv = {};
|
||||
if (bycolor >= 0)
|
||||
{
|
||||
// Give each value a column number.
|
||||
var v = results.getDistinctValues(bycolor);
|
||||
ndv = v.length;
|
||||
for (var i = 0; i < ndv; ++i)
|
||||
{
|
||||
dv[v[i]] = i;
|
||||
scatterdata.addColumn({type: 'number', role: 'data', label: rawdata.fields[bycolor] + '=' + v[i] });
|
||||
scatterdata.addColumn({type: 'string', role: 'tooltip'});
|
||||
}
|
||||
scatterdata.addColumn({type: 'number', role: 'data', label: 'disagreement' });
|
||||
scatterdata.addColumn({type: 'string', role: 'tooltip'});
|
||||
}
|
||||
else
|
||||
{
|
||||
scatterdata.addColumn({type: 'number', role: 'data'});
|
||||
scatterdata.addColumn({type: 'string', role: 'tooltip'});
|
||||
}
|
||||
var max1;
|
||||
for (var i = 0; i < ninputs; ++i)
|
||||
{
|
||||
var i1 = hashres[[tool1, i]];
|
||||
var i2 = hashres[[tool2, i]];
|
||||
if (i1 == undefined || i2 == undefined)
|
||||
continue;
|
||||
row = [i1[f]];
|
||||
var col = 1;
|
||||
if (bycolor >= 0)
|
||||
{
|
||||
for (col = 1; col < 2 * ndv + 3; ++col)
|
||||
row[col] = null;
|
||||
var v = i1[bycolor];
|
||||
col = dv[v] * 2 + 1;
|
||||
if (v != i2[bycolor])
|
||||
col = ndv * 2 + 1;
|
||||
}
|
||||
var v2 = i2[f];
|
||||
row[col] = v2;
|
||||
row[col + 1] = 'input ' + i;
|
||||
if (max1 == undefined || v2 > max1)
|
||||
max1 = v2;
|
||||
scatterdata.addRow(row);
|
||||
}
|
||||
var max = scatterdata.getColumnRange(0)['max'];
|
||||
if (max1 > max)
|
||||
max = max1;
|
||||
|
||||
var legend = (bycolor >= 0) ? { position: 'right', alignment: 'center' } : 'none';
|
||||
scatter_table = new google.visualization.ScatterChart(document.getElementById('scatter_table'));
|
||||
scatter_table.draw(scatterdata, {
|
||||
hAxis: {title: fname + ' from tool ' + tool1, maxValue: max},
|
||||
vAxis: {title: fname + ' from tool ' + tool2, maxValue: max},
|
||||
legend: legend,
|
||||
chartArea: { left:80, width:420, height:420 },
|
||||
pointSize: 5
|
||||
});
|
||||
google.visualization.events.addListener(scatter_table, 'select',
|
||||
function(){ var sel = scatter_table.getSelection();
|
||||
var row = sel[0]['row'];
|
||||
var col = sel[0]['column'];
|
||||
if ((row == undefined) || (col == undefined))
|
||||
return;
|
||||
// The row might not match the input number
|
||||
// if some results were missing. Use the
|
||||
// tooltip instead.
|
||||
var t = scatterdata.getValue(row, col + 1).substr(6);
|
||||
select_input(t);
|
||||
});
|
||||
}
|
||||
|
||||
function update_single_input_bars()
|
||||
{
|
||||
var i = parseInt($('#single_input_select').val());
|
||||
var column_table = new google.visualization.DataTable();
|
||||
column_table.addColumn({type: 'string', label: 'measurements', role: 'domain'})
|
||||
for (var t = 0; t < ntools; ++t)
|
||||
{
|
||||
if (hashres[[t,i]] == undefined)
|
||||
continue;
|
||||
column_table.addColumn({type: 'number', label: 'tool ' + t, role: 'data'})
|
||||
}
|
||||
|
||||
for (var m = 0; m < nfields; ++m)
|
||||
{
|
||||
if (m == ifield || m == tfield)
|
||||
continue;
|
||||
var tmp = [];
|
||||
for (var t = 0; t < ntools; ++t)
|
||||
{
|
||||
var rt = hashres[[t,i]];
|
||||
if (rt == undefined)
|
||||
continue;
|
||||
tmp.push(rt[m]);
|
||||
}
|
||||
var max = Math.max.apply(Math, tmp);
|
||||
var row = [rawdata.fields[m]];
|
||||
for (var j = 0; j < tmp.length; ++j)
|
||||
row.push({v: tmp[j] / max, f: tmp[j].toString()});
|
||||
column_table.addRow(row);
|
||||
}
|
||||
single_input_bars = new google.visualization.ColumnChart(document.getElementById('single_input_bars'));
|
||||
single_input_bars.draw(column_table, {
|
||||
legend: {position: 'top', alignment: 'end'},
|
||||
vAxis: { textPosition: 'none' },
|
||||
chartArea: { width: '100%' },
|
||||
bar: { groupWidth: '80%' },
|
||||
allowHtml: true });
|
||||
}
|
||||
|
||||
function draw_charts() {
|
||||
var tools_table_data = new google.visualization.DataTable();
|
||||
tools_table_data.addColumn('number', 'id', 'id');
|
||||
tools_table_data.addColumn('string', 'command', 'command');
|
||||
ntools = rawdata.tool.length;
|
||||
for (var r = 0; r < ntools; ++r)
|
||||
{
|
||||
tools_table_data.addRow([r, rawdata.tool[r]]);
|
||||
}
|
||||
|
||||
inputs_table_data = new google.visualization.DataTable();
|
||||
inputs_table_data.addColumn('number', 'id', 'id');
|
||||
inputs_table_data.addColumn('string', 'input', 'input');
|
||||
ninputs = rawdata.formula.length;
|
||||
for (var r = 0; r < ninputs; ++r)
|
||||
{
|
||||
inputs_table_data.addRow([r, rawdata.formula[r]]);
|
||||
}
|
||||
|
||||
results = new google.visualization.DataTable();
|
||||
nfields = rawdata.fields.length;
|
||||
for (var c = 0; c < nfields; ++c)
|
||||
{
|
||||
var name = rawdata.fields[c];
|
||||
results.addColumn('number', name, name);
|
||||
fields[name] = c;
|
||||
}
|
||||
// FIXME: we should uses rawdata.inputs to set ifield and tfield
|
||||
tfield = fields['tool'];
|
||||
ifield = fields['formula'];
|
||||
nresults = rawdata.results.length;
|
||||
for (var r = 0; r < nresults; ++r)
|
||||
{
|
||||
var row = rawdata.results[r];
|
||||
results.addRow(row);
|
||||
hashres[[row[tfield],row[ifield]]] = row;
|
||||
}
|
||||
|
||||
var paging_options = { height: '20em' };
|
||||
|
||||
tools_table = new google.visualization.Table(document.getElementById('tools_table'));
|
||||
register_tool_indexed_table(tools_table);
|
||||
tools_table.draw(tools_table_data, paging_options);
|
||||
|
||||
inputs_table = new google.visualization.Table(document.getElementById('inputs_table'));
|
||||
google.visualization.events.addListener(inputs_table, 'select',
|
||||
function(){ var sel = inputs_table.getSelection();
|
||||
if (sel.length != 1)
|
||||
return;
|
||||
select_input(sel[0]['row']);
|
||||
});
|
||||
inputs_table.draw(inputs_table_data, paging_options);
|
||||
|
||||
|
||||
var results_table = new google.visualization.Table(document.getElementById('results_table'));
|
||||
results_table.draw(results, paging_options);
|
||||
|
||||
// Do we have all any missing input for some tool?
|
||||
var missing = [['', 'missing inputs']];
|
||||
for (var t = 0; t < ntools; ++t)
|
||||
{
|
||||
var m = [];
|
||||
for (var i = 0; i < ninputs; ++i)
|
||||
{
|
||||
if (hashres[[t,i]] == undefined)
|
||||
{
|
||||
m.push('<a class="inputnum" href="javascript: select_input(' + i + ');">' + i + '</a>');
|
||||
}
|
||||
}
|
||||
if (m.length)
|
||||
missing.push(['tool ' + t, m.join(" ")]);
|
||||
}
|
||||
if (missing.length > 1)
|
||||
{
|
||||
var missing_table_data = google.visualization.arrayToDataTable(missing, false);
|
||||
var missing_table = new google.visualization.Table(document.getElementById('missing_table'));
|
||||
missing_table.draw(missing_table_data, {allowHtml: true});
|
||||
}
|
||||
|
||||
var aggreg = [{column:ifield, aggregation: google.visualization.data.count, type: 'number'}]
|
||||
var sumshow = [0, 1];
|
||||
var col = 2;
|
||||
for (var c = 0; c < nfields; ++c)
|
||||
{
|
||||
if (c != ifield && c != tfield)
|
||||
{
|
||||
aggreg.push({column:c, aggregation: google.visualization.data.sum, type: 'number'})
|
||||
aggreg.push({column:c, aggregation: google.visualization.data.avg, type: 'number'})
|
||||
aggreg.push({column:c, aggregation: google.visualization.data.min, type: 'number'})
|
||||
aggreg.push({column:c, aggregation: google.visualization.data.max, type: 'number'})
|
||||
sumshow.push(col);
|
||||
col += 4;
|
||||
}
|
||||
}
|
||||
var sumresults = new google.visualization.data.group(results, [tfield], aggreg);
|
||||
var redformatter = new google.visualization.ColorFormat();
|
||||
redformatter.addRange(0, ninputs, 'black', 'red');
|
||||
sumresults.setColumnLabel(1, 'inputs');
|
||||
redformatter.format(sumresults, 1);
|
||||
// Compute highlight the min and max in each column.
|
||||
for (var c = 2; c < sumshow.length; ++c)
|
||||
{
|
||||
var col = sumshow[c];
|
||||
var range = sumresults.getColumnRange(col);
|
||||
var rangeformatter = new google.visualization.ColorFormat();
|
||||
rangeformatter.addRange(range['min'], range['min'] + 1, 'green', null);
|
||||
rangeformatter.addRange(range['max'], null, 'red', null);
|
||||
rangeformatter.format(sumresults, col);
|
||||
}
|
||||
|
||||
var sumresults_view = new google.visualization.DataView(sumresults);
|
||||
sumresults_view.setColumns(sumshow);
|
||||
|
||||
sumresults_table = new google.visualization.Table(document.getElementById('sumresults_table'));
|
||||
google.visualization.events.addListener(sumresults_table, 'select',
|
||||
function(){ select_tools(sumresults_table.getSelection());
|
||||
});
|
||||
sumresults_table.draw(sumresults_view, {allowHtml: true});
|
||||
|
||||
// Transpose the avg/min/max values that are in avgresults_view
|
||||
// Instead of
|
||||
// | C1 | avg | min | max | C2 | avg | min | max
|
||||
// T1 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17
|
||||
// T2 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27
|
||||
// We want
|
||||
// | T1 | min | max | T2 | min | max
|
||||
// C1 | 11 | 12 | 13 | 21 | 22 | 23
|
||||
// C2 | 15 | 16 | 17 | 25 | 26 | 27
|
||||
// Additionally, we should normalize each cell.
|
||||
|
||||
var column_table = new google.visualization.DataTable();
|
||||
column_table.addColumn({type: 'string', label: 'measurements', role: 'domain'})
|
||||
for (var t = 0; t < ntools; ++t)
|
||||
{
|
||||
column_table.addColumn({type: 'number', label: 'tool ' + t, role: 'data'})
|
||||
column_table.addColumn({type: 'number', role: 'interval'})
|
||||
column_table.addColumn({type: 'number', role: 'interval'})
|
||||
}
|
||||
var pos = 3;
|
||||
for (var m = 0; m < nfields; ++m)
|
||||
{
|
||||
if (m != ifield && m != tfield)
|
||||
{
|
||||
var row = [rawdata.fields[m]];
|
||||
var max = sumresults.getColumnRange(pos + 2)['max'];
|
||||
for (var t = 0; t < ntools; ++t)
|
||||
{
|
||||
row.push({v: sumresults.getValue(t, pos)/max, f: "avg " + sumresults.getValue(t, pos).toFixed(2)},
|
||||
{v: sumresults.getValue(t, pos + 1)/max, f: "min " + sumresults.getValue(t, pos + 1).toString()},
|
||||
{v: sumresults.getValue(t, pos + 2)/max, f: "max " + sumresults.getValue(t, pos + 2).toString()});
|
||||
}
|
||||
pos += 4;
|
||||
column_table.addRow(row);
|
||||
}
|
||||
}
|
||||
avgresults_bars = new google.visualization.ColumnChart(document.getElementById('avgresults_bars'));
|
||||
avgresults_bars.draw(column_table, {
|
||||
legend: {position: 'top', alignment: 'end'},
|
||||
vAxis: { textPosition: 'none' },
|
||||
chartArea: { width: '100%' },
|
||||
bar: { groupWidth: '80%' },
|
||||
allowHtml: true });
|
||||
|
||||
var sel = $('#input_select');
|
||||
var sel2 = $('#scatter_select');
|
||||
var sel3 = $('#bycolor_select');
|
||||
var first = true;
|
||||
sel3.append($("<option>").attr('value', -1).text('(nothing)'));
|
||||
for (var c = 0; c < nfields; ++c)
|
||||
{
|
||||
if (c != ifield && c != tfield)
|
||||
{
|
||||
sel.append($("<option>").attr('value', c).text(rawdata.fields[c]));
|
||||
sel2.append($("<option>").attr('value', c).text(rawdata.fields[c]));
|
||||
if (first)
|
||||
{
|
||||
sel.val(c);
|
||||
sel2.val(c);
|
||||
first = false;
|
||||
}
|
||||
var dv = results.getDistinctValues(c).length;
|
||||
distinct_values[c] = dv;
|
||||
if (dv > 1 && dv <= 10)
|
||||
sel3.append($("<option>").attr('value', c).text(rawdata.fields[c]));
|
||||
}
|
||||
}
|
||||
$('#input_select').change(update_input_line);
|
||||
setup_input_line()
|
||||
|
||||
// Cross chart.
|
||||
var sel = $('#cross_select');
|
||||
var sel2 = $('#cross_select2');
|
||||
sel2.append($("<option>").attr('value', -1).text('(nothing)'));
|
||||
sel2.val(-1);
|
||||
var first = true;
|
||||
for (var c = 0; c < nfields; ++c)
|
||||
{
|
||||
if (c != ifield && c != tfield)
|
||||
{
|
||||
sel.append($("<option>").attr('value', c).text(rawdata.fields[c]));
|
||||
if (first)
|
||||
{
|
||||
sel.val(c);
|
||||
first = false;
|
||||
}
|
||||
sel2.append($("<option>").attr('value', c).text(rawdata.fields[c]));
|
||||
}
|
||||
}
|
||||
$('#cross_select').change(update_cross_table);
|
||||
$('#cross_select2').change(update_cross_table);
|
||||
update_cross_table()
|
||||
|
||||
var t1s = $('#tool1_select');
|
||||
var t2s = $('#tool2_select');
|
||||
var first = true;
|
||||
var second = true;
|
||||
for (var t = 0; t < ntools; ++t)
|
||||
{
|
||||
t1s.append($("<option>").attr('value', t).text('tool ' + t + ': ' + rawdata.tool[t]));
|
||||
t2s.append($("<option>").attr('value', t).text('tool ' + t + ': ' + rawdata.tool[t]));
|
||||
if (first)
|
||||
{
|
||||
t1s.val(t);
|
||||
first = false;
|
||||
}
|
||||
else if (second)
|
||||
{
|
||||
t2s.val(t);
|
||||
second = false;
|
||||
}
|
||||
}
|
||||
t1s.change(update_scatter_table);
|
||||
t2s.change(update_scatter_table);
|
||||
$('#scatter_select').change(update_scatter_table);
|
||||
$('#bycolor_select').change(update_scatter_table);
|
||||
update_scatter_table();
|
||||
|
||||
var os = $('#single_input_select');
|
||||
var first = true;
|
||||
for (var i = 0; i < ninputs; ++i)
|
||||
{
|
||||
os.append($("<option>").attr('value', i).text(i + ': ' + rawdata.formula[i]));
|
||||
if (first)
|
||||
{
|
||||
os.val(t);
|
||||
first = false;
|
||||
}
|
||||
}
|
||||
os.change(update_single_input_bars);
|
||||
update_single_input_bars();
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<div style="width: 25%; float: left;">
|
||||
<h2>Tools</h2>
|
||||
<div id="tools_table"></div>
|
||||
</div>
|
||||
<div style="width: 74%; float: right;">
|
||||
<h2>Inputs</h2>
|
||||
<div id="inputs_table"></div>
|
||||
</div>
|
||||
<h2 style="clear: both">Results</h2>
|
||||
<div id="results_table"></div>
|
||||
<h2>Missing results</h2>
|
||||
<div id="missing_table">None</div>
|
||||
<h1>Cumulative Summary</h1>
|
||||
Each column shows a sum over all inputs processed by one tool. The second column shows the count of inputs processed.
|
||||
Green and red highlight minimum and maximum values per column.
|
||||
<div id="sumresults_table"></div>
|
||||
<h1>Average Summary</h1>
|
||||
<div id="avgresults_bars" style="height: 250px; width: '100%';"></div>
|
||||
<h1>Line-Comparison</h1>
|
||||
<select id="input_select"></select>
|
||||
<div id="input_dashboard">
|
||||
<div id="input_line" style="height: 250px;"></div>
|
||||
<div id="input_control" style="height: 50px;"></div>
|
||||
</div>
|
||||
<h1>Cross-Comparison</h1>
|
||||
Compare <select id="cross_select"></select> and in case of equality <select id="cross_select2"></select>.
|
||||
<div id="cross_table"></div>
|
||||
<br/>Details of the inputs counted in the above table:<br/>
|
||||
<div id="cross_details"></div>
|
||||
<h1>Tool vs. Tool Scatter</h1>
|
||||
Compare <select id="tool1_select"></select> against <select id="tool2_select"></select> on <select id="scatter_select"></select> and color by <select id="bycolor_select"></select>.
|
||||
<div id="scatter_table" style="height: 500px; width:'100%';"></div>
|
||||
<h1>Single-Input Comparison</h1>
|
||||
Input <select id="single_input_select"></select>
|
||||
<div id="single_input_bars" style="height: 250px; width: '100%';"></div>
|
||||
</body>
|
||||
</html>
|
||||
13
bench/spin13/html.top
Normal file
13
bench/spin13/html.top
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<style type="text/css">
|
||||
.inputnum {text-decoration: none; color: black}
|
||||
</style>
|
||||
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
|
||||
<script type="text/javascript">
|
||||
|
||||
google.load("jquery", "1");
|
||||
google.load("visualization", "1", {packages:["corechart", "table", "controls"]});
|
||||
|
||||
var rawdata =
|
||||
92
bench/spin13/known.ltl
Normal file
92
bench/spin13/known.ltl
Normal file
|
|
@ -0,0 +1,92 @@
|
|||
[](!p0)
|
||||
<>p1 -> (!p0 U p1)
|
||||
[](p2 -> [](!p0))
|
||||
[]((p2 & !p1 & <>p1) -> (!p0 U p1))
|
||||
[](p2 & !p1 -> (!p0 U (p1 | []!p0)))
|
||||
<>(p0)
|
||||
!p1 U ((p0 & !p1) | []!p1)
|
||||
[](!p2) | <>(p2 & <>p0)
|
||||
[](p2 & !p1 -> (!p1 U ((p0 & !p1) | []!p1)))
|
||||
[](p2 & !p1 -> (!p1 U (p0 & !p1)))
|
||||
<>p1 -> ((!p0 & !p1) U (p1 | ((p0 & !p1) U (p1 | ((!p0 & !p1) U (p1 | ((p0 & !p1) U (p1 | (!p0 U p1)))))))))
|
||||
[]((p2 & <>p1) -> ((!p0 & !p1) U (p1 | ((p0 & !p1) U (p1 | ((!p0 & !p1) U (p1 | ((p0 & !p1) U (p1 | (!p0 U p1))))))))))
|
||||
[](p2 -> ((!p0 & !p1) U (p1 | ((p0 & !p1) U (p1 | ((!p0 & !p1) U (p1 | ((p0 & !p1) U (p1 | (!p0 U (p1 | []!p0)) | []p0)))))))))
|
||||
[](p0)
|
||||
<>p1 -> (p0 U p1)
|
||||
[](p2 -> [](p0))
|
||||
[]((p2 & !p1 & <>p1) -> (p0 U p1))
|
||||
[](p2 & !p1 -> (p0 U (p1 | [] p0)))
|
||||
!p0 U (p3 | []!p0)
|
||||
<>p1 -> (!p0 U (p3 | p1))
|
||||
[]!p2 | <>(p2 & (!p0 U (p3 | []!p0)))
|
||||
[]((p2 & !p1 & <>p1) -> (!p0 U (p3 | p1)))
|
||||
[](p2 & !p1 -> (!p0 U ((p3 | p1) | []!p0)))
|
||||
[](p0 -> <>p3)
|
||||
<>p1 -> (p0 -> (!p1 U (p3 & !p1))) U p1
|
||||
[](p2 -> [](p0 -> <>p3))
|
||||
[]((p2 & !p1 & <>p1) -> (p0 -> (!p1 U (p3 & !p1))) U p1)
|
||||
[](p2 & !p1 -> ((p0 -> (!p1 U (p3 & !p1))) U (p1 | [](p0 -> (!p1 U (p3 & !p1))))))
|
||||
<>p0 -> (!p0 U (p3 & !p0 & X(!p0 U p4)))
|
||||
<>p1 -> (!p0 U (p1 | (p3 & !p0 & X(!p0 U p4))))
|
||||
([]!p2) | (!p2 U (p2 & <>p0 -> (!p0 U (p3 & !p0 & X(!p0 U p4)))))
|
||||
[]((p2 & <>p1) -> (!p0 U (p1 | (p3 & !p0 & X(!p0 U p4)))))
|
||||
[](p2 -> (<>p0 -> (!p0 U (p1 | (p3 & !p0 & X(!p0 U p4))))))
|
||||
(<>(p3 & X<>p4)) -> ((!p3) U p0)
|
||||
<>p1 -> ((!(p3 & (!p1) & X(!p1 U (p4 & !p1)))) U (p1 | p0))
|
||||
([]!p2) | ((!p2) U (p2 & ((<>(p3 & X<>p4)) -> ((!p3) U p0))))
|
||||
[]((p2 & <>p1) -> ((!(p3 & (!p1) & X(!p1 U (p4 & !p1)))) U (p1 | p0)))
|
||||
[](p2 -> (!(p3 & (!p1) & X(!p1 U (p4 & !p1))) U (p1 | p0) | [](!(p3 & X<>p4))))
|
||||
[] (p3 & X<> p4 -> X(<>(p4 & <> p0)))
|
||||
<>p1 -> (p3 & X(!p1 U p4) -> X(!p1 U (p4 & <> p0))) U p1
|
||||
[] (p2 -> [] (p3 & X<> p4 -> X(!p4 U (p4 & <> p0))))
|
||||
[] ((p2 & <>p1) -> (p3 & X(!p1 U p4) -> X(!p1 U (p4 & <> p0))) U p1)
|
||||
[] (p2 -> (p3 & X(!p1 U p4) -> X(!p1 U (p4 & <> p0))) U (p1 | [] (p3 & X(!p1 U p4) -> X(!p1 U (p4 & <> p0)))))
|
||||
[] (p0 -> <>(p3 & X<>p4))
|
||||
<>p1 -> (p0 -> (!p1 U (p3 & !p1 & X(!p1 U p4)))) U p1
|
||||
[] (p2 -> [] (p0 -> (p3 & X<> p4)))
|
||||
[] ((p2 & <>p1) -> (p0 -> (!p1 U (p3 & !p1 & X(!p1 U p4)))) U p1)
|
||||
[] (p2 -> (p0 -> (!p1 U (p3 & !p1 & X(!p1 U p4)))) U (p1 | [] (p0 -> (p3 & X<> p4))))
|
||||
[] (p0 -> <>(p3 & !p5 & X(!p5 U p4)))
|
||||
<>p1 -> (p0 -> (!p1 U (p3 & !p1 & !p5 & X((!p1 & !p5) U p4)))) U p1
|
||||
[] (p2 -> [] (p0 -> (p3 & !p5 & X(!p5 U p4))))
|
||||
[] ((p2 & <>p1) -> (p0 -> (!p1 U (p3 & !p1 & !p5 & X((!p1 & !p5) U p4)))) U p1)
|
||||
[] (p2 -> (p0 -> (!p1 U (p3 & !p1 & !p5 & X((!p1 & !p5) U p4)))) U (p1 | [] (p0 -> (p3 & !p5 & X(!p5 U p4)))))
|
||||
!p0 U ((p0 U ((!p0 U ((p0 U ([]!p0 | []p0)) | []!p0)) | []!p0)) | []!p0)
|
||||
<>p2 -> (!p2 U (p2 & (!p0 U ((p0 U ((!p0 U ((p0 U ([]!p0 | []p0)) | []!p0)) | []!p0)) | []!p0))))
|
||||
p0 U p1
|
||||
p0 U (p1 U p2)
|
||||
!p0 R (!p1 R !p2)
|
||||
(1 U (0 R !p0)) | (0 R (1 U p1))
|
||||
(1 U p0) U (0 R p1)
|
||||
(0 R p0) U p1
|
||||
(1 U p0) & (1 U (1 U p0)) & (0 R !p0) & (0 R (0 R !p0))
|
||||
(0 R (1 U p0)) & (1 U (0 R !p1))
|
||||
((0 R (1 U p0)) & (1 U (0 R !p1))) | ((0 R (1 U p1)) & (1 U (0 R !p0)))
|
||||
p0 R (p0 | p1)
|
||||
(Xp0 U Xp1) | X(!p0 R !p1)
|
||||
(Xp0 U p1) | X(!p0 R (!p0 | !p1))
|
||||
(0 R (!p0 | (1 U p1))) & ((Xp0 U p1) | X(!p0 R (!p0 | !p1)))
|
||||
(0 R (!p0 | (1 U p1))) & ((Xp0 U Xp1) | X(!p0 R !p1))
|
||||
0 R (!p0 | (1 U p1))
|
||||
1 U (p0 & X(!p1 U !p2))
|
||||
(1 U (0 R !p0)) & (0 R (1 U !p1))
|
||||
0 R ((1 U p0) & (1 U p1))
|
||||
(1 U p0) & (1 U !p0)
|
||||
(Xp1 & p2) R X(((p3 U p0) R p2) U (p3 R p2))
|
||||
((0 R (p1 | (0 R (1 U p0)))) & (0 R (p2 | (0 R (1 U !p0))))) | (0 R p1) | (0 R p2)
|
||||
((0 R (p1 | (1 U (0 R p0)))) & (0 R (p2 | (1 U (0 R !p0))))) | (0 R p1) | (0 R p2)
|
||||
(0 R (p1 | X(0 R p0))) & (0 R (p2 | X(0 R !p0)))
|
||||
0 R (p1 | (Xp0 & X!p0))
|
||||
p0 | (p1 U p0)
|
||||
p0 U (p1 & (0 R p2))
|
||||
p0 U (p1 & X(p2 U p3))
|
||||
p0 U (p1 & X(p2 & (1 U (p3 & X(1 U (p4 & X(1 U (p5 & X(1 U p6)))))))))
|
||||
1 U (p0 & X(0 R p1))
|
||||
1 U (p0 & X(p1 & X(1 U p2)))
|
||||
1 U (p0 & X(p1 U p2))
|
||||
(1 U (0 R p0)) | (1 U (0 R p1))
|
||||
0 R (!p0 | (p1 U p2))
|
||||
1 U (p0 & X(1 U (p1 & X(1 U (p2 & X(1 U p3))))))
|
||||
(0 R (1 U p0)) & (0 R (1 U p1)) & (0 R (1 U p2)) & (0 R (1 U p3)) & (0 R (1 U p4))
|
||||
(p0 U (p1 U p2)) | (p1 U (p2 U p0)) | (p2 U (p0 U p1))
|
||||
0 R (!p0 | (p1 U ((0 R p2) | (0 R p3))))
|
||||
100
bench/spin13/new-fair2.ltl
Normal file
100
bench/spin13/new-fair2.ltl
Normal file
|
|
@ -0,0 +1,100 @@
|
|||
(F(FG!p2 | G(Gp0 U p1))) & ((FG(p10)) -> (GF(p11)))
|
||||
(FGp0) & ((FG(p10)) -> (GF(p11)))
|
||||
(F(Gp0 | F(FG!p1 R (!p2 | F!p3)))) & ((FG(p10)) -> (GF(p11)))
|
||||
(FG(p0 & F(Gp0 R p1))) & ((FG(p10)) -> (GF(p11)))
|
||||
(FG(!p0 & F(X!p1 | (p0 R p2))) U p0) & ((FG(p10)) -> (GF(p11)))
|
||||
(F(Gp0 | G!p1)) & ((FG(p10)) -> (GF(p11)))
|
||||
(F(Gp0 & (p1 U !p2))) & ((FG(p10)) -> (GF(p11)))
|
||||
(FGp0 R X(p1 R (!p2 U X(p3 | GFp3)))) & ((FG(p10)) -> (GF(p11)))
|
||||
(FGp0 U p1) & ((FG(p10)) -> (GF(p11)))
|
||||
(F(p0 & F(p1 | (!p1 & !p2)))) & ((FG(p10)) -> (GF(p11)))
|
||||
(F(p0 | F!p1 | (p2 R p3))) & ((FG(p10)) -> (GF(p11)))
|
||||
(F(!p0 | G!p1 | Gp2)) & ((FG(p10)) -> (GF(p11)))
|
||||
(F!p0 & ((Gp1 | (!p2 & !p3)) U Gp3)) & ((FG(p10)) -> (GF(p11)))
|
||||
(Fp0 | (G!p1 R X((!p2 | !p3) R (!p1 & X!p2)))) & ((FG(p10)) -> (GF(p11)))
|
||||
(Fp0 & (p1 U (p2 & p3)) & F(X!p4 | Gp0)) & ((FG(p10)) -> (GF(p11)))
|
||||
(F(!p0 & !p1) | XF(p2 | X(p2 M p3))) & ((FG(p10)) -> (GF(p11)))
|
||||
(F!p0 R ((p1 R p2) U (!p0 | !p3))) & ((FG(p10)) -> (GF(p11)))
|
||||
((Fp0 U G!p1) | X(p2 | X(p2 M XF!p3))) & ((FG(p10)) -> (GF(p11)))
|
||||
(F((p0 U Xp1) | XF(Fp1 R (!p2 R X!p0)))) & ((FG(p10)) -> (GF(p11)))
|
||||
(F(!p0 W G(!p1 U !p2))) & ((FG(p10)) -> (GF(p11)))
|
||||
(F(p0 | XFp1)) & ((FG(p10)) -> (GF(p11)))
|
||||
(Fp0 | XG!p1) & ((FG(p10)) -> (GF(p11)))
|
||||
(F(p0 & Xp1 & ((Xp2 & F(Gp4 & !p3)) | (X!p2 & G(F!p4 | p3))))) & ((FG(p10)) -> (GF(p11)))
|
||||
(F(p1 | p0 | F(!p2 | !p3))) & ((FG(p10)) -> (GF(p11)))
|
||||
(GF(Fp0 & X(p1 | X!p1))) & ((FG(p10)) -> (GF(p11)))
|
||||
(GF(Gp1 & Fp0)) & ((FG(p10)) -> (GF(p11)))
|
||||
(GF!p0 | G(!p0 | !p1)) & ((FG(p10)) -> (GF(p11)))
|
||||
(G((Fp0 & (p1 | G!p2)) | (Fp3 & (!p1 | X(!p1 M X!p2))))) & ((FG(p10)) -> (GF(p11)))
|
||||
(G(F(p0 & !p1) | X(!p0 | !p2))) & ((FG(p10)) -> (GF(p11)))
|
||||
(GFp0 R ((XX(!p1 R !p2) | (!p1 & !p3)) U p4)) & ((FG(p10)) -> (GF(p11)))
|
||||
(GFp0 U G(p0 | G!p1 | XFp2)) & ((FG(p10)) -> (GF(p11)))
|
||||
(G((Fp0 U p1) U (p1 & F!p2))) & ((FG(p10)) -> (GF(p11)))
|
||||
(GFp0 U XXXp1) & ((FG(p10)) -> (GF(p11)))
|
||||
(G(Gp0 & (Fp1 | G!p2))) & ((FG(p10)) -> (GF(p11)))
|
||||
(G(G!p0 | (!p1 & X!p1)) | XF(FG!p2 R !p0)) & ((FG(p10)) -> (GF(p11)))
|
||||
(Gp0 | G(Fp1 | Gp2)) & ((FG(p10)) -> (GF(p11)))
|
||||
(G(p0 & GF!p1) U (FG!p2 R Xp3)) & ((FG(p10)) -> (GF(p11)))
|
||||
(G!p0 | G(p0 & Gp1)) & ((FG(p10)) -> (GF(p11)))
|
||||
(Gp0 | (((p1 & (!p2 R !p3)) R p4))) & ((FG(p10)) -> (GF(p11)))
|
||||
(Gp0 | ((p1 U p2) R F!p3)) & ((FG(p10)) -> (GF(p11)))
|
||||
((Gp0 R !p1) R (FGp2 R F!p3)) & ((FG(p10)) -> (GF(p11)))
|
||||
(G(!p0 U !p1) R ((p2 R !p3) U G(p1 | F!p4))) & ((FG(p10)) -> (GF(p11)))
|
||||
(G(!p0 | X(!p0 M (p1 U p0))) U (p2 U p3)) & ((FG(p10)) -> (GF(p11)))
|
||||
((G!p1 | XXXp0) U Gp2) & ((FG(p10)) -> (GF(p11)))
|
||||
(!p0 & (FG!p1 | (GFp2 R (p0 | X(p0 M (p4 & p3)))))) & ((FG(p10)) -> (GF(p11)))
|
||||
(p0 | F(G(p1 U p2) | (!p2 & !p3))) & ((FG(p10)) -> (GF(p11)))
|
||||
(!p0 & Fp1 & FG(((p2 | !p3) R p1) U !p4)) & ((FG(p10)) -> (GF(p11)))
|
||||
(!p0 | Fp1 | G!p2) & ((FG(p10)) -> (GF(p11)))
|
||||
(!p0 | F(p1 | !p2)) & ((FG(p10)) -> (GF(p11)))
|
||||
(!p0 | (Fp1 U (Fp2 R p0))) & ((FG(p10)) -> (GF(p11)))
|
||||
(p0 | ((G!p1 U G!p2) R !p2)) & ((FG(p10)) -> (GF(p11)))
|
||||
(p0 & (Gp1 | XXFp2)) & ((FG(p10)) -> (GF(p11)))
|
||||
(!p0 | (((!p1 & Fp2) R (!p4 & p3)) & (G!p4 U !p2))) & ((FG(p10)) -> (GF(p11)))
|
||||
((((p0 & !p1) | (p1 & !p0)) R F!p0) | G((p2 & ((!p0 & Gp3) | (p0 & F!p3))) | (!p2 & ((!p0 & F!p3) | (p0 & Gp3))))) & ((FG(p10)) -> (GF(p11)))
|
||||
(p0 & (p1 U p2) & FGp3) & ((FG(p10)) -> (GF(p11)))
|
||||
(p0 | (p1 U !p2) | FG(p4 | p3)) & ((FG(p10)) -> (GF(p11)))
|
||||
((((!p0 & !p1) U !p2) R (!p3 R !p0)) U (p1 R p3)) & ((FG(p10)) -> (GF(p11)))
|
||||
(p0 & !p1 & X(!p2 | GF(p3 & Xp2))) & ((FG(p10)) -> (GF(p11)))
|
||||
((!p0 | (p2 & Gp1)) U X(Gp0 | (Xp4 & !p3))) & ((FG(p10)) -> (GF(p11)))
|
||||
((!p0 R !p1) & (G((p2 U !p3) & (p4 R p5)) | (Fp1 U p1))) & ((FG(p10)) -> (GF(p11)))
|
||||
((p0 R !p1) R (G!p2 R F!p3)) & ((FG(p10)) -> (GF(p11)))
|
||||
((p0 R p1) U ((p3 | Fp2) & ((p2 | p3) U !p4))) & ((FG(p10)) -> (GF(p11)))
|
||||
(!p0 R X((G!p1 & (!p2 | (!p1 & p3) | (p1 & !p3))) | (p2 & Fp1 & ((!p1 & !p3) | (p1 & p3))))) & ((FG(p10)) -> (GF(p11)))
|
||||
((p0 R Xp1) & FG(p2 | X!p2)) & ((FG(p10)) -> (GF(p11)))
|
||||
((p0 U p1) & G(FG!p2 & F(p3 R !p0))) & ((FG(p10)) -> (GF(p11)))
|
||||
(!p0 U (p1 & ((!p2 | (p4 & !p3)) U (p5 R p6)))) & ((FG(p10)) -> (GF(p11)))
|
||||
(!p0 W XG!p1) & ((FG(p10)) -> (GF(p11)))
|
||||
(p0 | X(GF!p1 | (p0 M !p2))) & ((FG(p10)) -> (GF(p11)))
|
||||
(!p0 | XGp0 | (FG(p1 U p0) U X!p2)) & ((FG(p10)) -> (GF(p11)))
|
||||
(((!p0 & XG!p1) R !p2) R (p3 | Fp4)) & ((FG(p10)) -> (GF(p11)))
|
||||
(p0 | X(p0 M Xp1) | (p2 & p3 & F(!p3 & X(!p3 W G!p4)))) & ((FG(p10)) -> (GF(p11)))
|
||||
(p0 | ((Xp1 | (!p1 & ((!p0 U !p2) U p1))) R !p3)) & ((FG(p10)) -> (GF(p11)))
|
||||
(p0 | X(p1 | !p2)) & ((FG(p10)) -> (GF(p11)))
|
||||
(((p0 | Xp1) U (p2 R p3)) R ((p3 U p4) | G(!p5 | X!p0))) & ((FG(p10)) -> (GF(p11)))
|
||||
(p1 | F!p0 | XF(p1 | !p2 | Fp3)) & ((FG(p10)) -> (GF(p11)))
|
||||
((p1 | !p0) U ((p2 R XXp3) U (Fp4 U Xp3))) & ((FG(p10)) -> (GF(p11)))
|
||||
((p1 | p0) U (!p2 & XFp3)) & ((FG(p10)) -> (GF(p11)))
|
||||
(p1 | !p0 | X((p1 | !p0) M ((!p2 R !p3) | XG!p0))) & ((FG(p10)) -> (GF(p11)))
|
||||
(XF(Gp0 | (p1 & (!p2 | p3)))) & ((FG(p10)) -> (GF(p11)))
|
||||
(X(FGp0 U Gp1) U (Fp2 U Gp3)) & ((FG(p10)) -> (GF(p11)))
|
||||
(XF(!p0 | Fp1)) & ((FG(p10)) -> (GF(p11)))
|
||||
(XF(p0 & GF!p1)) & ((FG(p10)) -> (GF(p11)))
|
||||
(X(Fp0 & (((p0 U Gp1) U (!p2 R !p3)) R (p4 | Fp5)))) & ((FG(p10)) -> (GF(p11)))
|
||||
(XF(p0 | ((p1 R p2) R Xp3))) & ((FG(p10)) -> (GF(p11)))
|
||||
(X(Fp0 & (p1 U p2))) & ((FG(p10)) -> (GF(p11)))
|
||||
(XF(p0 & (p1 | Xp2))) & ((FG(p10)) -> (GF(p11)))
|
||||
(X(F!p0 U Gp1)) & ((FG(p10)) -> (GF(p11)))
|
||||
(XG((F!p0 & !p1) | (p1 & Gp0))) & ((FG(p10)) -> (GF(p11)))
|
||||
(X(GF(!p0 & (p1 | !p2)) | (p2 & !p3 & (F!p4 U !p5)))) & ((FG(p10)) -> (GF(p11)))
|
||||
(X(G((p0 & F!p1) U p2) U (!p2 R (p2 | p3)))) & ((FG(p10)) -> (GF(p11)))
|
||||
(XGp0 & ((p1 R (p2 & F!p3)) | GF(!p4 | p3))) & ((FG(p10)) -> (GF(p11)))
|
||||
(X(Gp0 U (GF!p0 | (p1 & Xp0)))) & ((FG(p10)) -> (GF(p11)))
|
||||
(XGp0 | (XG!p0 & (!p1 | p3 | Xp2))) & ((FG(p10)) -> (GF(p11)))
|
||||
(X!p0 | (FGp1 U p2)) & ((FG(p10)) -> (GF(p11)))
|
||||
(Xp0 | ((!p1 | X(!p1 M (F!p1 U p2))) U !p3)) & ((FG(p10)) -> (GF(p11)))
|
||||
(X((!p0 | p2 | !p1) U Gp0)) & ((FG(p10)) -> (GF(p11)))
|
||||
(X(((p0 R F!p1) U p2) U Gp3)) & ((FG(p10)) -> (GF(p11)))
|
||||
(Xp0 U (((p1 U p2) U p3) & (F!p4 U p2))) & ((FG(p10)) -> (GF(p11)))
|
||||
(XXF!p1 & (p0 U !p1)) & ((FG(p10)) -> (GF(p11)))
|
||||
(XXG((p0 | Fp1) & (!p0 R (p2 & !p3)))) & ((FG(p10)) -> (GF(p11)))
|
||||
100
bench/spin13/new-strong1.ltl
Normal file
100
bench/spin13/new-strong1.ltl
Normal file
|
|
@ -0,0 +1,100 @@
|
|||
(F(FG!p2 | G(Gp0 U p1))) & ((GF(p10)) -> (GF(p11)))
|
||||
(FGp0) & ((GF(p10)) -> (GF(p11)))
|
||||
(F(Gp0 | F(FG!p1 R (!p2 | F!p3)))) & ((GF(p10)) -> (GF(p11)))
|
||||
(FG(p0 & F(Gp0 R p1))) & ((GF(p10)) -> (GF(p11)))
|
||||
(FG(!p0 & F(X!p1 | (p0 R p2))) U p0) & ((GF(p10)) -> (GF(p11)))
|
||||
(F(Gp0 | G!p1)) & ((GF(p10)) -> (GF(p11)))
|
||||
(F(Gp0 & (p1 U !p2))) & ((GF(p10)) -> (GF(p11)))
|
||||
(FGp0 R X(p1 R (!p2 U X(p3 | GFp3)))) & ((GF(p10)) -> (GF(p11)))
|
||||
(FGp0 U p1) & ((GF(p10)) -> (GF(p11)))
|
||||
(F(p0 & F(p1 | (!p1 & !p2)))) & ((GF(p10)) -> (GF(p11)))
|
||||
(F(p0 | F!p1 | (p2 R p3))) & ((GF(p10)) -> (GF(p11)))
|
||||
(F(!p0 | G!p1 | Gp2)) & ((GF(p10)) -> (GF(p11)))
|
||||
(F!p0 & ((Gp1 | (!p2 & !p3)) U Gp3)) & ((GF(p10)) -> (GF(p11)))
|
||||
(Fp0 | (G!p1 R X((!p2 | !p3) R (!p1 & X!p2)))) & ((GF(p10)) -> (GF(p11)))
|
||||
(Fp0 & (p1 U (p2 & p3)) & F(X!p4 | Gp0)) & ((GF(p10)) -> (GF(p11)))
|
||||
(F(!p0 & !p1) | XF(p2 | X(p2 M p3))) & ((GF(p10)) -> (GF(p11)))
|
||||
(F!p0 R ((p1 R p2) U (!p0 | !p3))) & ((GF(p10)) -> (GF(p11)))
|
||||
((Fp0 U G!p1) | X(p2 | X(p2 M XF!p3))) & ((GF(p10)) -> (GF(p11)))
|
||||
(F((p0 U Xp1) | XF(Fp1 R (!p2 R X!p0)))) & ((GF(p10)) -> (GF(p11)))
|
||||
(F(!p0 W G(!p1 U !p2))) & ((GF(p10)) -> (GF(p11)))
|
||||
(F(p0 | XFp1)) & ((GF(p10)) -> (GF(p11)))
|
||||
(Fp0 | XG!p1) & ((GF(p10)) -> (GF(p11)))
|
||||
(F(p0 & Xp1 & ((Xp2 & F(Gp4 & !p3)) | (X!p2 & G(F!p4 | p3))))) & ((GF(p10)) -> (GF(p11)))
|
||||
(F(p1 | p0 | F(!p2 | !p3))) & ((GF(p10)) -> (GF(p11)))
|
||||
(GF(Fp0 & X(p1 | X!p1))) & ((GF(p10)) -> (GF(p11)))
|
||||
(GF(Gp1 & Fp0)) & ((GF(p10)) -> (GF(p11)))
|
||||
(GF!p0 | G(!p0 | !p1)) & ((GF(p10)) -> (GF(p11)))
|
||||
(G((Fp0 & (p1 | G!p2)) | (Fp3 & (!p1 | X(!p1 M X!p2))))) & ((GF(p10)) -> (GF(p11)))
|
||||
(G(F(p0 & !p1) | X(!p0 | !p2))) & ((GF(p10)) -> (GF(p11)))
|
||||
(GFp0 R ((XX(!p1 R !p2) | (!p1 & !p3)) U p4)) & ((GF(p10)) -> (GF(p11)))
|
||||
(GFp0 U G(p0 | G!p1 | XFp2)) & ((GF(p10)) -> (GF(p11)))
|
||||
(G((Fp0 U p1) U (p1 & F!p2))) & ((GF(p10)) -> (GF(p11)))
|
||||
(GFp0 U XXXp1) & ((GF(p10)) -> (GF(p11)))
|
||||
(G(Gp0 & (Fp1 | G!p2))) & ((GF(p10)) -> (GF(p11)))
|
||||
(G(G!p0 | (!p1 & X!p1)) | XF(FG!p2 R !p0)) & ((GF(p10)) -> (GF(p11)))
|
||||
(Gp0 | G(Fp1 | Gp2)) & ((GF(p10)) -> (GF(p11)))
|
||||
(G(p0 & GF!p1) U (FG!p2 R Xp3)) & ((GF(p10)) -> (GF(p11)))
|
||||
(G!p0 | G(p0 & Gp1)) & ((GF(p10)) -> (GF(p11)))
|
||||
(Gp0 | (((p1 & (!p2 R !p3)) R p4))) & ((GF(p10)) -> (GF(p11)))
|
||||
(Gp0 | ((p1 U p2) R F!p3)) & ((GF(p10)) -> (GF(p11)))
|
||||
((Gp0 R !p1) R (FGp2 R F!p3)) & ((GF(p10)) -> (GF(p11)))
|
||||
(G(!p0 U !p1) R ((p2 R !p3) U G(p1 | F!p4))) & ((GF(p10)) -> (GF(p11)))
|
||||
(G(!p0 | X(!p0 M (p1 U p0))) U (p2 U p3)) & ((GF(p10)) -> (GF(p11)))
|
||||
((G!p1 | XXXp0) U Gp2) & ((GF(p10)) -> (GF(p11)))
|
||||
(!p0 & (FG!p1 | (GFp2 R (p0 | X(p0 M (p4 & p3)))))) & ((GF(p10)) -> (GF(p11)))
|
||||
(p0 | F(G(p1 U p2) | (!p2 & !p3))) & ((GF(p10)) -> (GF(p11)))
|
||||
(!p0 & Fp1 & FG(((p2 | !p3) R p1) U !p4)) & ((GF(p10)) -> (GF(p11)))
|
||||
(!p0 | Fp1 | G!p2) & ((GF(p10)) -> (GF(p11)))
|
||||
(!p0 | F(p1 | !p2)) & ((GF(p10)) -> (GF(p11)))
|
||||
(!p0 | (Fp1 U (Fp2 R p0))) & ((GF(p10)) -> (GF(p11)))
|
||||
(p0 | ((G!p1 U G!p2) R !p2)) & ((GF(p10)) -> (GF(p11)))
|
||||
(p0 & (Gp1 | XXFp2)) & ((GF(p10)) -> (GF(p11)))
|
||||
(!p0 | (((!p1 & Fp2) R (!p4 & p3)) & (G!p4 U !p2))) & ((GF(p10)) -> (GF(p11)))
|
||||
((((p0 & !p1) | (p1 & !p0)) R F!p0) | G((p2 & ((!p0 & Gp3) | (p0 & F!p3))) | (!p2 & ((!p0 & F!p3) | (p0 & Gp3))))) & ((GF(p10)) -> (GF(p11)))
|
||||
(p0 & (p1 U p2) & FGp3) & ((GF(p10)) -> (GF(p11)))
|
||||
(p0 | (p1 U !p2) | FG(p4 | p3)) & ((GF(p10)) -> (GF(p11)))
|
||||
((((!p0 & !p1) U !p2) R (!p3 R !p0)) U (p1 R p3)) & ((GF(p10)) -> (GF(p11)))
|
||||
(p0 & !p1 & X(!p2 | GF(p3 & Xp2))) & ((GF(p10)) -> (GF(p11)))
|
||||
((!p0 | (p2 & Gp1)) U X(Gp0 | (Xp4 & !p3))) & ((GF(p10)) -> (GF(p11)))
|
||||
((!p0 R !p1) & (G((p2 U !p3) & (p4 R p5)) | (Fp1 U p1))) & ((GF(p10)) -> (GF(p11)))
|
||||
((p0 R !p1) R (G!p2 R F!p3)) & ((GF(p10)) -> (GF(p11)))
|
||||
((p0 R p1) U ((p3 | Fp2) & ((p2 | p3) U !p4))) & ((GF(p10)) -> (GF(p11)))
|
||||
(!p0 R X((G!p1 & (!p2 | (!p1 & p3) | (p1 & !p3))) | (p2 & Fp1 & ((!p1 & !p3) | (p1 & p3))))) & ((GF(p10)) -> (GF(p11)))
|
||||
((p0 R Xp1) & FG(p2 | X!p2)) & ((GF(p10)) -> (GF(p11)))
|
||||
((p0 U p1) & G(FG!p2 & F(p3 R !p0))) & ((GF(p10)) -> (GF(p11)))
|
||||
(!p0 U (p1 & ((!p2 | (p4 & !p3)) U (p5 R p6)))) & ((GF(p10)) -> (GF(p11)))
|
||||
(!p0 W XG!p1) & ((GF(p10)) -> (GF(p11)))
|
||||
(p0 | X(GF!p1 | (p0 M !p2))) & ((GF(p10)) -> (GF(p11)))
|
||||
(!p0 | XGp0 | (FG(p1 U p0) U X!p2)) & ((GF(p10)) -> (GF(p11)))
|
||||
(((!p0 & XG!p1) R !p2) R (p3 | Fp4)) & ((GF(p10)) -> (GF(p11)))
|
||||
(p0 | X(p0 M Xp1) | (p2 & p3 & F(!p3 & X(!p3 W G!p4)))) & ((GF(p10)) -> (GF(p11)))
|
||||
(p0 | ((Xp1 | (!p1 & ((!p0 U !p2) U p1))) R !p3)) & ((GF(p10)) -> (GF(p11)))
|
||||
(p0 | X(p1 | !p2)) & ((GF(p10)) -> (GF(p11)))
|
||||
(((p0 | Xp1) U (p2 R p3)) R ((p3 U p4) | G(!p5 | X!p0))) & ((GF(p10)) -> (GF(p11)))
|
||||
(p1 | F!p0 | XF(p1 | !p2 | Fp3)) & ((GF(p10)) -> (GF(p11)))
|
||||
((p1 | !p0) U ((p2 R XXp3) U (Fp4 U Xp3))) & ((GF(p10)) -> (GF(p11)))
|
||||
((p1 | p0) U (!p2 & XFp3)) & ((GF(p10)) -> (GF(p11)))
|
||||
(p1 | !p0 | X((p1 | !p0) M ((!p2 R !p3) | XG!p0))) & ((GF(p10)) -> (GF(p11)))
|
||||
(XF(Gp0 | (p1 & (!p2 | p3)))) & ((GF(p10)) -> (GF(p11)))
|
||||
(X(FGp0 U Gp1) U (Fp2 U Gp3)) & ((GF(p10)) -> (GF(p11)))
|
||||
(XF(!p0 | Fp1)) & ((GF(p10)) -> (GF(p11)))
|
||||
(XF(p0 & GF!p1)) & ((GF(p10)) -> (GF(p11)))
|
||||
(X(Fp0 & (((p0 U Gp1) U (!p2 R !p3)) R (p4 | Fp5)))) & ((GF(p10)) -> (GF(p11)))
|
||||
(XF(p0 | ((p1 R p2) R Xp3))) & ((GF(p10)) -> (GF(p11)))
|
||||
(X(Fp0 & (p1 U p2))) & ((GF(p10)) -> (GF(p11)))
|
||||
(XF(p0 & (p1 | Xp2))) & ((GF(p10)) -> (GF(p11)))
|
||||
(X(F!p0 U Gp1)) & ((GF(p10)) -> (GF(p11)))
|
||||
(XG((F!p0 & !p1) | (p1 & Gp0))) & ((GF(p10)) -> (GF(p11)))
|
||||
(X(GF(!p0 & (p1 | !p2)) | (p2 & !p3 & (F!p4 U !p5)))) & ((GF(p10)) -> (GF(p11)))
|
||||
(X(G((p0 & F!p1) U p2) U (!p2 R (p2 | p3)))) & ((GF(p10)) -> (GF(p11)))
|
||||
(XGp0 & ((p1 R (p2 & F!p3)) | GF(!p4 | p3))) & ((GF(p10)) -> (GF(p11)))
|
||||
(X(Gp0 U (GF!p0 | (p1 & Xp0)))) & ((GF(p10)) -> (GF(p11)))
|
||||
(XGp0 | (XG!p0 & (!p1 | p3 | Xp2))) & ((GF(p10)) -> (GF(p11)))
|
||||
(X!p0 | (FGp1 U p2)) & ((GF(p10)) -> (GF(p11)))
|
||||
(Xp0 | ((!p1 | X(!p1 M (F!p1 U p2))) U !p3)) & ((GF(p10)) -> (GF(p11)))
|
||||
(X((!p0 | p2 | !p1) U Gp0)) & ((GF(p10)) -> (GF(p11)))
|
||||
(X(((p0 R F!p1) U p2) U Gp3)) & ((GF(p10)) -> (GF(p11)))
|
||||
(Xp0 U (((p1 U p2) U p3) & (F!p4 U p2))) & ((GF(p10)) -> (GF(p11)))
|
||||
(XXF!p1 & (p0 U !p1)) & ((GF(p10)) -> (GF(p11)))
|
||||
(XXG((p0 | Fp1) & (!p0 R (p2 & !p3)))) & ((GF(p10)) -> (GF(p11)))
|
||||
100
bench/spin13/new-strong2.ltl
Normal file
100
bench/spin13/new-strong2.ltl
Normal file
|
|
@ -0,0 +1,100 @@
|
|||
(F(FG!p2 | G(Gp0 U p1))) & ((GF(p10)) -> (GF(p11))) & ((GF(p12)) -> (GF(p13)))
|
||||
(FGp0) & ((GF(p10)) -> (GF(p11))) & ((GF(p12)) -> (GF(p13)))
|
||||
(F(Gp0 | F(FG!p1 R (!p2 | F!p3)))) & ((GF(p10)) -> (GF(p11))) & ((GF(p12)) -> (GF(p13)))
|
||||
(FG(p0 & F(Gp0 R p1))) & ((GF(p10)) -> (GF(p11))) & ((GF(p12)) -> (GF(p13)))
|
||||
(FG(!p0 & F(X!p1 | (p0 R p2))) U p0) & ((GF(p10)) -> (GF(p11))) & ((GF(p12)) -> (GF(p13)))
|
||||
(F(Gp0 | G!p1)) & ((GF(p10)) -> (GF(p11))) & ((GF(p12)) -> (GF(p13)))
|
||||
(F(Gp0 & (p1 U !p2))) & ((GF(p10)) -> (GF(p11))) & ((GF(p12)) -> (GF(p13)))
|
||||
(FGp0 R X(p1 R (!p2 U X(p3 | GFp3)))) & ((GF(p10)) -> (GF(p11))) & ((GF(p12)) -> (GF(p13)))
|
||||
(FGp0 U p1) & ((GF(p10)) -> (GF(p11))) & ((GF(p12)) -> (GF(p13)))
|
||||
(F(p0 & F(p1 | (!p1 & !p2)))) & ((GF(p10)) -> (GF(p11))) & ((GF(p12)) -> (GF(p13)))
|
||||
(F(p0 | F!p1 | (p2 R p3))) & ((GF(p10)) -> (GF(p11))) & ((GF(p12)) -> (GF(p13)))
|
||||
(F(!p0 | G!p1 | Gp2)) & ((GF(p10)) -> (GF(p11))) & ((GF(p12)) -> (GF(p13)))
|
||||
(F!p0 & ((Gp1 | (!p2 & !p3)) U Gp3)) & ((GF(p10)) -> (GF(p11))) & ((GF(p12)) -> (GF(p13)))
|
||||
(Fp0 | (G!p1 R X((!p2 | !p3) R (!p1 & X!p2)))) & ((GF(p10)) -> (GF(p11))) & ((GF(p12)) -> (GF(p13)))
|
||||
(Fp0 & (p1 U (p2 & p3)) & F(X!p4 | Gp0)) & ((GF(p10)) -> (GF(p11))) & ((GF(p12)) -> (GF(p13)))
|
||||
(F(!p0 & !p1) | XF(p2 | X(p2 M p3))) & ((GF(p10)) -> (GF(p11))) & ((GF(p12)) -> (GF(p13)))
|
||||
(F!p0 R ((p1 R p2) U (!p0 | !p3))) & ((GF(p10)) -> (GF(p11))) & ((GF(p12)) -> (GF(p13)))
|
||||
((Fp0 U G!p1) | X(p2 | X(p2 M XF!p3))) & ((GF(p10)) -> (GF(p11))) & ((GF(p12)) -> (GF(p13)))
|
||||
(F((p0 U Xp1) | XF(Fp1 R (!p2 R X!p0)))) & ((GF(p10)) -> (GF(p11))) & ((GF(p12)) -> (GF(p13)))
|
||||
(F(!p0 W G(!p1 U !p2))) & ((GF(p10)) -> (GF(p11))) & ((GF(p12)) -> (GF(p13)))
|
||||
(F(p0 | XFp1)) & ((GF(p10)) -> (GF(p11))) & ((GF(p12)) -> (GF(p13)))
|
||||
(Fp0 | XG!p1) & ((GF(p10)) -> (GF(p11))) & ((GF(p12)) -> (GF(p13)))
|
||||
(F(p0 & Xp1 & ((Xp2 & F(Gp4 & !p3)) | (X!p2 & G(F!p4 | p3))))) & ((GF(p10)) -> (GF(p11))) & ((GF(p12)) -> (GF(p13)))
|
||||
(F(p1 | p0 | F(!p2 | !p3))) & ((GF(p10)) -> (GF(p11))) & ((GF(p12)) -> (GF(p13)))
|
||||
(GF(Fp0 & X(p1 | X!p1))) & ((GF(p10)) -> (GF(p11))) & ((GF(p12)) -> (GF(p13)))
|
||||
(GF(Gp1 & Fp0)) & ((GF(p10)) -> (GF(p11))) & ((GF(p12)) -> (GF(p13)))
|
||||
(GF!p0 | G(!p0 | !p1)) & ((GF(p10)) -> (GF(p11))) & ((GF(p12)) -> (GF(p13)))
|
||||
(G((Fp0 & (p1 | G!p2)) | (Fp3 & (!p1 | X(!p1 M X!p2))))) & ((GF(p10)) -> (GF(p11))) & ((GF(p12)) -> (GF(p13)))
|
||||
(G(F(p0 & !p1) | X(!p0 | !p2))) & ((GF(p10)) -> (GF(p11))) & ((GF(p12)) -> (GF(p13)))
|
||||
(GFp0 R ((XX(!p1 R !p2) | (!p1 & !p3)) U p4)) & ((GF(p10)) -> (GF(p11))) & ((GF(p12)) -> (GF(p13)))
|
||||
(GFp0 U G(p0 | G!p1 | XFp2)) & ((GF(p10)) -> (GF(p11))) & ((GF(p12)) -> (GF(p13)))
|
||||
(G((Fp0 U p1) U (p1 & F!p2))) & ((GF(p10)) -> (GF(p11))) & ((GF(p12)) -> (GF(p13)))
|
||||
(GFp0 U XXXp1) & ((GF(p10)) -> (GF(p11))) & ((GF(p12)) -> (GF(p13)))
|
||||
(G(Gp0 & (Fp1 | G!p2))) & ((GF(p10)) -> (GF(p11))) & ((GF(p12)) -> (GF(p13)))
|
||||
(G(G!p0 | (!p1 & X!p1)) | XF(FG!p2 R !p0)) & ((GF(p10)) -> (GF(p11))) & ((GF(p12)) -> (GF(p13)))
|
||||
(Gp0 | G(Fp1 | Gp2)) & ((GF(p10)) -> (GF(p11))) & ((GF(p12)) -> (GF(p13)))
|
||||
(G(p0 & GF!p1) U (FG!p2 R Xp3)) & ((GF(p10)) -> (GF(p11))) & ((GF(p12)) -> (GF(p13)))
|
||||
(G!p0 | G(p0 & Gp1)) & ((GF(p10)) -> (GF(p11))) & ((GF(p12)) -> (GF(p13)))
|
||||
(Gp0 | (((p1 & (!p2 R !p3)) R p4))) & ((GF(p10)) -> (GF(p11))) & ((GF(p12)) -> (GF(p13)))
|
||||
(Gp0 | ((p1 U p2) R F!p3)) & ((GF(p10)) -> (GF(p11))) & ((GF(p12)) -> (GF(p13)))
|
||||
((Gp0 R !p1) R (FGp2 R F!p3)) & ((GF(p10)) -> (GF(p11))) & ((GF(p12)) -> (GF(p13)))
|
||||
(G(!p0 U !p1) R ((p2 R !p3) U G(p1 | F!p4))) & ((GF(p10)) -> (GF(p11))) & ((GF(p12)) -> (GF(p13)))
|
||||
(G(!p0 | X(!p0 M (p1 U p0))) U (p2 U p3)) & ((GF(p10)) -> (GF(p11))) & ((GF(p12)) -> (GF(p13)))
|
||||
((G!p1 | XXXp0) U Gp2) & ((GF(p10)) -> (GF(p11))) & ((GF(p12)) -> (GF(p13)))
|
||||
(!p0 & (FG!p1 | (GFp2 R (p0 | X(p0 M (p4 & p3)))))) & ((GF(p10)) -> (GF(p11))) & ((GF(p12)) -> (GF(p13)))
|
||||
(p0 | F(G(p1 U p2) | (!p2 & !p3))) & ((GF(p10)) -> (GF(p11))) & ((GF(p12)) -> (GF(p13)))
|
||||
(!p0 & Fp1 & FG(((p2 | !p3) R p1) U !p4)) & ((GF(p10)) -> (GF(p11))) & ((GF(p12)) -> (GF(p13)))
|
||||
(!p0 | Fp1 | G!p2) & ((GF(p10)) -> (GF(p11))) & ((GF(p12)) -> (GF(p13)))
|
||||
(!p0 | F(p1 | !p2)) & ((GF(p10)) -> (GF(p11))) & ((GF(p12)) -> (GF(p13)))
|
||||
(!p0 | (Fp1 U (Fp2 R p0))) & ((GF(p10)) -> (GF(p11))) & ((GF(p12)) -> (GF(p13)))
|
||||
(p0 | ((G!p1 U G!p2) R !p2)) & ((GF(p10)) -> (GF(p11))) & ((GF(p12)) -> (GF(p13)))
|
||||
(p0 & (Gp1 | XXFp2)) & ((GF(p10)) -> (GF(p11))) & ((GF(p12)) -> (GF(p13)))
|
||||
(!p0 | (((!p1 & Fp2) R (!p4 & p3)) & (G!p4 U !p2))) & ((GF(p10)) -> (GF(p11))) & ((GF(p12)) -> (GF(p13)))
|
||||
((((p0 & !p1) | (p1 & !p0)) R F!p0) | G((p2 & ((!p0 & Gp3) | (p0 & F!p3))) | (!p2 & ((!p0 & F!p3) | (p0 & Gp3))))) & ((GF(p10)) -> (GF(p11))) & ((GF(p12)) -> (GF(p13)))
|
||||
(p0 & (p1 U p2) & FGp3) & ((GF(p10)) -> (GF(p11))) & ((GF(p12)) -> (GF(p13)))
|
||||
(p0 | (p1 U !p2) | FG(p4 | p3)) & ((GF(p10)) -> (GF(p11))) & ((GF(p12)) -> (GF(p13)))
|
||||
((((!p0 & !p1) U !p2) R (!p3 R !p0)) U (p1 R p3)) & ((GF(p10)) -> (GF(p11))) & ((GF(p12)) -> (GF(p13)))
|
||||
(p0 & !p1 & X(!p2 | GF(p3 & Xp2))) & ((GF(p10)) -> (GF(p11))) & ((GF(p12)) -> (GF(p13)))
|
||||
((!p0 | (p2 & Gp1)) U X(Gp0 | (Xp4 & !p3))) & ((GF(p10)) -> (GF(p11))) & ((GF(p12)) -> (GF(p13)))
|
||||
((!p0 R !p1) & (G((p2 U !p3) & (p4 R p5)) | (Fp1 U p1))) & ((GF(p10)) -> (GF(p11))) & ((GF(p12)) -> (GF(p13)))
|
||||
((p0 R !p1) R (G!p2 R F!p3)) & ((GF(p10)) -> (GF(p11))) & ((GF(p12)) -> (GF(p13)))
|
||||
((p0 R p1) U ((p3 | Fp2) & ((p2 | p3) U !p4))) & ((GF(p10)) -> (GF(p11))) & ((GF(p12)) -> (GF(p13)))
|
||||
(!p0 R X((G!p1 & (!p2 | (!p1 & p3) | (p1 & !p3))) | (p2 & Fp1 & ((!p1 & !p3) | (p1 & p3))))) & ((GF(p10)) -> (GF(p11))) & ((GF(p12)) -> (GF(p13)))
|
||||
((p0 R Xp1) & FG(p2 | X!p2)) & ((GF(p10)) -> (GF(p11))) & ((GF(p12)) -> (GF(p13)))
|
||||
((p0 U p1) & G(FG!p2 & F(p3 R !p0))) & ((GF(p10)) -> (GF(p11))) & ((GF(p12)) -> (GF(p13)))
|
||||
(!p0 U (p1 & ((!p2 | (p4 & !p3)) U (p5 R p6)))) & ((GF(p10)) -> (GF(p11))) & ((GF(p12)) -> (GF(p13)))
|
||||
(!p0 W XG!p1) & ((GF(p10)) -> (GF(p11))) & ((GF(p12)) -> (GF(p13)))
|
||||
(p0 | X(GF!p1 | (p0 M !p2))) & ((GF(p10)) -> (GF(p11))) & ((GF(p12)) -> (GF(p13)))
|
||||
(!p0 | XGp0 | (FG(p1 U p0) U X!p2)) & ((GF(p10)) -> (GF(p11))) & ((GF(p12)) -> (GF(p13)))
|
||||
(((!p0 & XG!p1) R !p2) R (p3 | Fp4)) & ((GF(p10)) -> (GF(p11))) & ((GF(p12)) -> (GF(p13)))
|
||||
(p0 | X(p0 M Xp1) | (p2 & p3 & F(!p3 & X(!p3 W G!p4)))) & ((GF(p10)) -> (GF(p11))) & ((GF(p12)) -> (GF(p13)))
|
||||
(p0 | ((Xp1 | (!p1 & ((!p0 U !p2) U p1))) R !p3)) & ((GF(p10)) -> (GF(p11))) & ((GF(p12)) -> (GF(p13)))
|
||||
(p0 | X(p1 | !p2)) & ((GF(p10)) -> (GF(p11))) & ((GF(p12)) -> (GF(p13)))
|
||||
(((p0 | Xp1) U (p2 R p3)) R ((p3 U p4) | G(!p5 | X!p0))) & ((GF(p10)) -> (GF(p11))) & ((GF(p12)) -> (GF(p13)))
|
||||
(p1 | F!p0 | XF(p1 | !p2 | Fp3)) & ((GF(p10)) -> (GF(p11))) & ((GF(p12)) -> (GF(p13)))
|
||||
((p1 | !p0) U ((p2 R XXp3) U (Fp4 U Xp3))) & ((GF(p10)) -> (GF(p11))) & ((GF(p12)) -> (GF(p13)))
|
||||
((p1 | p0) U (!p2 & XFp3)) & ((GF(p10)) -> (GF(p11))) & ((GF(p12)) -> (GF(p13)))
|
||||
(p1 | !p0 | X((p1 | !p0) M ((!p2 R !p3) | XG!p0))) & ((GF(p10)) -> (GF(p11))) & ((GF(p12)) -> (GF(p13)))
|
||||
(XF(Gp0 | (p1 & (!p2 | p3)))) & ((GF(p10)) -> (GF(p11))) & ((GF(p12)) -> (GF(p13)))
|
||||
(X(FGp0 U Gp1) U (Fp2 U Gp3)) & ((GF(p10)) -> (GF(p11))) & ((GF(p12)) -> (GF(p13)))
|
||||
(XF(!p0 | Fp1)) & ((GF(p10)) -> (GF(p11))) & ((GF(p12)) -> (GF(p13)))
|
||||
(XF(p0 & GF!p1)) & ((GF(p10)) -> (GF(p11))) & ((GF(p12)) -> (GF(p13)))
|
||||
(X(Fp0 & (((p0 U Gp1) U (!p2 R !p3)) R (p4 | Fp5)))) & ((GF(p10)) -> (GF(p11))) & ((GF(p12)) -> (GF(p13)))
|
||||
(XF(p0 | ((p1 R p2) R Xp3))) & ((GF(p10)) -> (GF(p11))) & ((GF(p12)) -> (GF(p13)))
|
||||
(X(Fp0 & (p1 U p2))) & ((GF(p10)) -> (GF(p11))) & ((GF(p12)) -> (GF(p13)))
|
||||
(XF(p0 & (p1 | Xp2))) & ((GF(p10)) -> (GF(p11))) & ((GF(p12)) -> (GF(p13)))
|
||||
(X(F!p0 U Gp1)) & ((GF(p10)) -> (GF(p11))) & ((GF(p12)) -> (GF(p13)))
|
||||
(XG((F!p0 & !p1) | (p1 & Gp0))) & ((GF(p10)) -> (GF(p11))) & ((GF(p12)) -> (GF(p13)))
|
||||
(X(GF(!p0 & (p1 | !p2)) | (p2 & !p3 & (F!p4 U !p5)))) & ((GF(p10)) -> (GF(p11))) & ((GF(p12)) -> (GF(p13)))
|
||||
(X(G((p0 & F!p1) U p2) U (!p2 R (p2 | p3)))) & ((GF(p10)) -> (GF(p11))) & ((GF(p12)) -> (GF(p13)))
|
||||
(XGp0 & ((p1 R (p2 & F!p3)) | GF(!p4 | p3))) & ((GF(p10)) -> (GF(p11))) & ((GF(p12)) -> (GF(p13)))
|
||||
(X(Gp0 U (GF!p0 | (p1 & Xp0)))) & ((GF(p10)) -> (GF(p11))) & ((GF(p12)) -> (GF(p13)))
|
||||
(XGp0 | (XG!p0 & (!p1 | p3 | Xp2))) & ((GF(p10)) -> (GF(p11))) & ((GF(p12)) -> (GF(p13)))
|
||||
(X!p0 | (FGp1 U p2)) & ((GF(p10)) -> (GF(p11))) & ((GF(p12)) -> (GF(p13)))
|
||||
(Xp0 | ((!p1 | X(!p1 M (F!p1 U p2))) U !p3)) & ((GF(p10)) -> (GF(p11))) & ((GF(p12)) -> (GF(p13)))
|
||||
(X((!p0 | p2 | !p1) U Gp0)) & ((GF(p10)) -> (GF(p11))) & ((GF(p12)) -> (GF(p13)))
|
||||
(X(((p0 R F!p1) U p2) U Gp3)) & ((GF(p10)) -> (GF(p11))) & ((GF(p12)) -> (GF(p13)))
|
||||
(Xp0 U (((p1 U p2) U p3) & (F!p4 U p2))) & ((GF(p10)) -> (GF(p11))) & ((GF(p12)) -> (GF(p13)))
|
||||
(XXF!p1 & (p0 U !p1)) & ((GF(p10)) -> (GF(p11))) & ((GF(p12)) -> (GF(p13)))
|
||||
(XXG((p0 | Fp1) & (!p0 R (p2 & !p3)))) & ((GF(p10)) -> (GF(p11))) & ((GF(p12)) -> (GF(p13)))
|
||||
100
bench/spin13/new-weak3.ltl
Normal file
100
bench/spin13/new-weak3.ltl
Normal file
|
|
@ -0,0 +1,100 @@
|
|||
(F(FG!p2 | G(Gp0 U p1))) & (GF(p10) & GF(p11) & GF(p12))
|
||||
(FGp0) & (GF(p10) & GF(p11) & GF(p12))
|
||||
(F(Gp0 | F(FG!p1 R (!p2 | F!p3)))) & (GF(p10) & GF(p11) & GF(p12))
|
||||
(FG(p0 & F(Gp0 R p1))) & (GF(p10) & GF(p11) & GF(p12))
|
||||
(FG(!p0 & F(X!p1 | (p0 R p2))) U p0) & (GF(p10) & GF(p11) & GF(p12))
|
||||
(F(Gp0 | G!p1)) & (GF(p10) & GF(p11) & GF(p12))
|
||||
(F(Gp0 & (p1 U !p2))) & (GF(p10) & GF(p11) & GF(p12))
|
||||
(FGp0 R X(p1 R (!p2 U X(p3 | GFp3)))) & (GF(p10) & GF(p11) & GF(p12))
|
||||
(FGp0 U p1) & (GF(p10) & GF(p11) & GF(p12))
|
||||
(F(p0 & F(p1 | (!p1 & !p2)))) & (GF(p10) & GF(p11) & GF(p12))
|
||||
(F(p0 | F!p1 | (p2 R p3))) & (GF(p10) & GF(p11) & GF(p12))
|
||||
(F(!p0 | G!p1 | Gp2)) & (GF(p10) & GF(p11) & GF(p12))
|
||||
(F!p0 & ((Gp1 | (!p2 & !p3)) U Gp3)) & (GF(p10) & GF(p11) & GF(p12))
|
||||
(Fp0 | (G!p1 R X((!p2 | !p3) R (!p1 & X!p2)))) & (GF(p10) & GF(p11) & GF(p12))
|
||||
(Fp0 & (p1 U (p2 & p3)) & F(X!p4 | Gp0)) & (GF(p10) & GF(p11) & GF(p12))
|
||||
(F(!p0 & !p1) | XF(p2 | X(p2 M p3))) & (GF(p10) & GF(p11) & GF(p12))
|
||||
(F!p0 R ((p1 R p2) U (!p0 | !p3))) & (GF(p10) & GF(p11) & GF(p12))
|
||||
((Fp0 U G!p1) | X(p2 | X(p2 M XF!p3))) & (GF(p10) & GF(p11) & GF(p12))
|
||||
(F((p0 U Xp1) | XF(Fp1 R (!p2 R X!p0)))) & (GF(p10) & GF(p11) & GF(p12))
|
||||
(F(!p0 W G(!p1 U !p2))) & (GF(p10) & GF(p11) & GF(p12))
|
||||
(F(p0 | XFp1)) & (GF(p10) & GF(p11) & GF(p12))
|
||||
(Fp0 | XG!p1) & (GF(p10) & GF(p11) & GF(p12))
|
||||
(F(p0 & Xp1 & ((Xp2 & F(Gp4 & !p3)) | (X!p2 & G(F!p4 | p3))))) & (GF(p10) & GF(p11) & GF(p12))
|
||||
(F(p1 | p0 | F(!p2 | !p3))) & (GF(p10) & GF(p11) & GF(p12))
|
||||
(GF(Fp0 & X(p1 | X!p1))) & (GF(p10) & GF(p11) & GF(p12))
|
||||
(GF(Gp1 & Fp0)) & (GF(p10) & GF(p11) & GF(p12))
|
||||
(GF!p0 | G(!p0 | !p1)) & (GF(p10) & GF(p11) & GF(p12))
|
||||
(G((Fp0 & (p1 | G!p2)) | (Fp3 & (!p1 | X(!p1 M X!p2))))) & (GF(p10) & GF(p11) & GF(p12))
|
||||
(G(F(p0 & !p1) | X(!p0 | !p2))) & (GF(p10) & GF(p11) & GF(p12))
|
||||
(GFp0 R ((XX(!p1 R !p2) | (!p1 & !p3)) U p4)) & (GF(p10) & GF(p11) & GF(p12))
|
||||
(GFp0 U G(p0 | G!p1 | XFp2)) & (GF(p10) & GF(p11) & GF(p12))
|
||||
(G((Fp0 U p1) U (p1 & F!p2))) & (GF(p10) & GF(p11) & GF(p12))
|
||||
(GFp0 U XXXp1) & (GF(p10) & GF(p11) & GF(p12))
|
||||
(G(Gp0 & (Fp1 | G!p2))) & (GF(p10) & GF(p11) & GF(p12))
|
||||
(G(G!p0 | (!p1 & X!p1)) | XF(FG!p2 R !p0)) & (GF(p10) & GF(p11) & GF(p12))
|
||||
(Gp0 | G(Fp1 | Gp2)) & (GF(p10) & GF(p11) & GF(p12))
|
||||
(G(p0 & GF!p1) U (FG!p2 R Xp3)) & (GF(p10) & GF(p11) & GF(p12))
|
||||
(G!p0 | G(p0 & Gp1)) & (GF(p10) & GF(p11) & GF(p12))
|
||||
(Gp0 | (((p1 & (!p2 R !p3)) R p4))) & (GF(p10) & GF(p11) & GF(p12))
|
||||
(Gp0 | ((p1 U p2) R F!p3)) & (GF(p10) & GF(p11) & GF(p12))
|
||||
((Gp0 R !p1) R (FGp2 R F!p3)) & (GF(p10) & GF(p11) & GF(p12))
|
||||
(G(!p0 U !p1) R ((p2 R !p3) U G(p1 | F!p4))) & (GF(p10) & GF(p11) & GF(p12))
|
||||
(G(!p0 | X(!p0 M (p1 U p0))) U (p2 U p3)) & (GF(p10) & GF(p11) & GF(p12))
|
||||
((G!p1 | XXXp0) U Gp2) & (GF(p10) & GF(p11) & GF(p12))
|
||||
(!p0 & (FG!p1 | (GFp2 R (p0 | X(p0 M (p4 & p3)))))) & (GF(p10) & GF(p11) & GF(p12))
|
||||
(p0 | F(G(p1 U p2) | (!p2 & !p3))) & (GF(p10) & GF(p11) & GF(p12))
|
||||
(!p0 & Fp1 & FG(((p2 | !p3) R p1) U !p4)) & (GF(p10) & GF(p11) & GF(p12))
|
||||
(!p0 | Fp1 | G!p2) & (GF(p10) & GF(p11) & GF(p12))
|
||||
(!p0 | F(p1 | !p2)) & (GF(p10) & GF(p11) & GF(p12))
|
||||
(!p0 | (Fp1 U (Fp2 R p0))) & (GF(p10) & GF(p11) & GF(p12))
|
||||
(p0 | ((G!p1 U G!p2) R !p2)) & (GF(p10) & GF(p11) & GF(p12))
|
||||
(p0 & (Gp1 | XXFp2)) & (GF(p10) & GF(p11) & GF(p12))
|
||||
(!p0 | (((!p1 & Fp2) R (!p4 & p3)) & (G!p4 U !p2))) & (GF(p10) & GF(p11) & GF(p12))
|
||||
((((p0 & !p1) | (p1 & !p0)) R F!p0) | G((p2 & ((!p0 & Gp3) | (p0 & F!p3))) | (!p2 & ((!p0 & F!p3) | (p0 & Gp3))))) & (GF(p10) & GF(p11) & GF(p12))
|
||||
(p0 & (p1 U p2) & FGp3) & (GF(p10) & GF(p11) & GF(p12))
|
||||
(p0 | (p1 U !p2) | FG(p4 | p3)) & (GF(p10) & GF(p11) & GF(p12))
|
||||
((((!p0 & !p1) U !p2) R (!p3 R !p0)) U (p1 R p3)) & (GF(p10) & GF(p11) & GF(p12))
|
||||
(p0 & !p1 & X(!p2 | GF(p3 & Xp2))) & (GF(p10) & GF(p11) & GF(p12))
|
||||
((!p0 | (p2 & Gp1)) U X(Gp0 | (Xp4 & !p3))) & (GF(p10) & GF(p11) & GF(p12))
|
||||
((!p0 R !p1) & (G((p2 U !p3) & (p4 R p5)) | (Fp1 U p1))) & (GF(p10) & GF(p11) & GF(p12))
|
||||
((p0 R !p1) R (G!p2 R F!p3)) & (GF(p10) & GF(p11) & GF(p12))
|
||||
((p0 R p1) U ((p3 | Fp2) & ((p2 | p3) U !p4))) & (GF(p10) & GF(p11) & GF(p12))
|
||||
(!p0 R X((G!p1 & (!p2 | (!p1 & p3) | (p1 & !p3))) | (p2 & Fp1 & ((!p1 & !p3) | (p1 & p3))))) & (GF(p10) & GF(p11) & GF(p12))
|
||||
((p0 R Xp1) & FG(p2 | X!p2)) & (GF(p10) & GF(p11) & GF(p12))
|
||||
((p0 U p1) & G(FG!p2 & F(p3 R !p0))) & (GF(p10) & GF(p11) & GF(p12))
|
||||
(!p0 U (p1 & ((!p2 | (p4 & !p3)) U (p5 R p6)))) & (GF(p10) & GF(p11) & GF(p12))
|
||||
(!p0 W XG!p1) & (GF(p10) & GF(p11) & GF(p12))
|
||||
(p0 | X(GF!p1 | (p0 M !p2))) & (GF(p10) & GF(p11) & GF(p12))
|
||||
(!p0 | XGp0 | (FG(p1 U p0) U X!p2)) & (GF(p10) & GF(p11) & GF(p12))
|
||||
(((!p0 & XG!p1) R !p2) R (p3 | Fp4)) & (GF(p10) & GF(p11) & GF(p12))
|
||||
(p0 | X(p0 M Xp1) | (p2 & p3 & F(!p3 & X(!p3 W G!p4)))) & (GF(p10) & GF(p11) & GF(p12))
|
||||
(p0 | ((Xp1 | (!p1 & ((!p0 U !p2) U p1))) R !p3)) & (GF(p10) & GF(p11) & GF(p12))
|
||||
(p0 | X(p1 | !p2)) & (GF(p10) & GF(p11) & GF(p12))
|
||||
(((p0 | Xp1) U (p2 R p3)) R ((p3 U p4) | G(!p5 | X!p0))) & (GF(p10) & GF(p11) & GF(p12))
|
||||
(p1 | F!p0 | XF(p1 | !p2 | Fp3)) & (GF(p10) & GF(p11) & GF(p12))
|
||||
((p1 | !p0) U ((p2 R XXp3) U (Fp4 U Xp3))) & (GF(p10) & GF(p11) & GF(p12))
|
||||
((p1 | p0) U (!p2 & XFp3)) & (GF(p10) & GF(p11) & GF(p12))
|
||||
(p1 | !p0 | X((p1 | !p0) M ((!p2 R !p3) | XG!p0))) & (GF(p10) & GF(p11) & GF(p12))
|
||||
(XF(Gp0 | (p1 & (!p2 | p3)))) & (GF(p10) & GF(p11) & GF(p12))
|
||||
(X(FGp0 U Gp1) U (Fp2 U Gp3)) & (GF(p10) & GF(p11) & GF(p12))
|
||||
(XF(!p0 | Fp1)) & (GF(p10) & GF(p11) & GF(p12))
|
||||
(XF(p0 & GF!p1)) & (GF(p10) & GF(p11) & GF(p12))
|
||||
(X(Fp0 & (((p0 U Gp1) U (!p2 R !p3)) R (p4 | Fp5)))) & (GF(p10) & GF(p11) & GF(p12))
|
||||
(XF(p0 | ((p1 R p2) R Xp3))) & (GF(p10) & GF(p11) & GF(p12))
|
||||
(X(Fp0 & (p1 U p2))) & (GF(p10) & GF(p11) & GF(p12))
|
||||
(XF(p0 & (p1 | Xp2))) & (GF(p10) & GF(p11) & GF(p12))
|
||||
(X(F!p0 U Gp1)) & (GF(p10) & GF(p11) & GF(p12))
|
||||
(XG((F!p0 & !p1) | (p1 & Gp0))) & (GF(p10) & GF(p11) & GF(p12))
|
||||
(X(GF(!p0 & (p1 | !p2)) | (p2 & !p3 & (F!p4 U !p5)))) & (GF(p10) & GF(p11) & GF(p12))
|
||||
(X(G((p0 & F!p1) U p2) U (!p2 R (p2 | p3)))) & (GF(p10) & GF(p11) & GF(p12))
|
||||
(XGp0 & ((p1 R (p2 & F!p3)) | GF(!p4 | p3))) & (GF(p10) & GF(p11) & GF(p12))
|
||||
(X(Gp0 U (GF!p0 | (p1 & Xp0)))) & (GF(p10) & GF(p11) & GF(p12))
|
||||
(XGp0 | (XG!p0 & (!p1 | p3 | Xp2))) & (GF(p10) & GF(p11) & GF(p12))
|
||||
(X!p0 | (FGp1 U p2)) & (GF(p10) & GF(p11) & GF(p12))
|
||||
(Xp0 | ((!p1 | X(!p1 M (F!p1 U p2))) U !p3)) & (GF(p10) & GF(p11) & GF(p12))
|
||||
(X((!p0 | p2 | !p1) U Gp0)) & (GF(p10) & GF(p11) & GF(p12))
|
||||
(X(((p0 R F!p1) U p2) U Gp3)) & (GF(p10) & GF(p11) & GF(p12))
|
||||
(Xp0 U (((p1 U p2) U p3) & (F!p4 U p2))) & (GF(p10) & GF(p11) & GF(p12))
|
||||
(XXF!p1 & (p0 U !p1)) & (GF(p10) & GF(p11) & GF(p12))
|
||||
(XXG((p0 | Fp1) & (!p0 R (p2 & !p3)))) & (GF(p10) & GF(p11) & GF(p12))
|
||||
100
bench/spin13/new.ltl
Normal file
100
bench/spin13/new.ltl
Normal file
|
|
@ -0,0 +1,100 @@
|
|||
F(FG!p2 | G(Gp0 U p1))
|
||||
FGp0
|
||||
F(Gp0 | F(FG!p1 R (!p2 | F!p3)))
|
||||
FG(p0 & F(Gp0 R p1))
|
||||
FG(!p0 & F(X!p1 | (p0 R p2))) U p0
|
||||
F(Gp0 | G!p1)
|
||||
F(Gp0 & (p1 U !p2))
|
||||
FGp0 R X(p1 R (!p2 U X(p3 | GFp3)))
|
||||
FGp0 U p1
|
||||
F(p0 & F(p1 | (!p1 & !p2)))
|
||||
F(p0 | F!p1 | (p2 R p3))
|
||||
F(!p0 | G!p1 | Gp2)
|
||||
F!p0 & ((Gp1 | (!p2 & !p3)) U Gp3)
|
||||
Fp0 | (G!p1 R X((!p2 | !p3) R (!p1 & X!p2)))
|
||||
Fp0 & (p1 U (p2 & p3)) & F(X!p4 | Gp0)
|
||||
F(!p0 & !p1) | XF(p2 | X(p2 M p3))
|
||||
F!p0 R ((p1 R p2) U (!p0 | !p3))
|
||||
(Fp0 U G!p1) | X(p2 | X(p2 M XF!p3))
|
||||
F((p0 U Xp1) | XF(Fp1 R (!p2 R X!p0)))
|
||||
F(!p0 W G(!p1 U !p2))
|
||||
F(p0 | XFp1)
|
||||
Fp0 | XG!p1
|
||||
F(p0 & Xp1 & ((Xp2 & F(Gp4 & !p3)) | (X!p2 & G(F!p4 | p3))))
|
||||
F(p1 | p0 | F(!p2 | !p3))
|
||||
GF(Fp0 & X(p1 | X!p1))
|
||||
GF(Gp1 & Fp0)
|
||||
GF!p0 | G(!p0 | !p1)
|
||||
G((Fp0 & (p1 | G!p2)) | (Fp3 & (!p1 | X(!p1 M X!p2))))
|
||||
G(F(p0 & !p1) | X(!p0 | !p2))
|
||||
GFp0 R ((XX(!p1 R !p2) | (!p1 & !p3)) U p4)
|
||||
GFp0 U G(p0 | G!p1 | XFp2)
|
||||
G((Fp0 U p1) U (p1 & F!p2))
|
||||
GFp0 U XXXp1
|
||||
G(Gp0 & (Fp1 | G!p2))
|
||||
G(G!p0 | (!p1 & X!p1)) | XF(FG!p2 R !p0)
|
||||
Gp0 | G(Fp1 | Gp2)
|
||||
G(p0 & GF!p1) U (FG!p2 R Xp3)
|
||||
G!p0 | G(p0 & Gp1)
|
||||
Gp0 | (((p1 & (!p2 R !p3)) R p4))
|
||||
Gp0 | ((p1 U p2) R F!p3)
|
||||
(Gp0 R !p1) R (FGp2 R F!p3)
|
||||
G(!p0 U !p1) R ((p2 R !p3) U G(p1 | F!p4))
|
||||
G(!p0 | X(!p0 M (p1 U p0))) U (p2 U p3)
|
||||
(G!p1 | XXXp0) U Gp2
|
||||
!p0 & (FG!p1 | (GFp2 R (p0 | X(p0 M (p4 & p3)))))
|
||||
p0 | F(G(p1 U p2) | (!p2 & !p3))
|
||||
!p0 & Fp1 & FG(((p2 | !p3) R p1) U !p4)
|
||||
!p0 | Fp1 | G!p2
|
||||
!p0 | F(p1 | !p2)
|
||||
!p0 | (Fp1 U (Fp2 R p0))
|
||||
p0 | ((G!p1 U G!p2) R !p2)
|
||||
p0 & (Gp1 | XXFp2)
|
||||
!p0 | (((!p1 & Fp2) R (!p4 & p3)) & (G!p4 U !p2))
|
||||
(((p0 & !p1) | (p1 & !p0)) R F!p0) | G((p2 & ((!p0 & Gp3) | (p0 & F!p3))) | (!p2 & ((!p0 & F!p3) | (p0 & Gp3))))
|
||||
p0 & (p1 U p2) & FGp3
|
||||
p0 | (p1 U !p2) | FG(p4 | p3)
|
||||
(((!p0 & !p1) U !p2) R (!p3 R !p0)) U (p1 R p3)
|
||||
p0 & !p1 & X(!p2 | GF(p3 & Xp2))
|
||||
(!p0 | (p2 & Gp1)) U X(Gp0 | (Xp4 & !p3))
|
||||
(!p0 R !p1) & (G((p2 U !p3) & (p4 R p5)) | (Fp1 U p1))
|
||||
(p0 R !p1) R (G!p2 R F!p3)
|
||||
(p0 R p1) U ((p3 | Fp2) & ((p2 | p3) U !p4))
|
||||
!p0 R X((G!p1 & (!p2 | (!p1 & p3) | (p1 & !p3))) | (p2 & Fp1 & ((!p1 & !p3) | (p1 & p3))))
|
||||
(p0 R Xp1) & FG(p2 | X!p2)
|
||||
(p0 U p1) & G(FG!p2 & F(p3 R !p0))
|
||||
!p0 U (p1 & ((!p2 | (p4 & !p3)) U (p5 R p6)))
|
||||
!p0 W XG!p1
|
||||
p0 | X(GF!p1 | (p0 M !p2))
|
||||
!p0 | XGp0 | (FG(p1 U p0) U X!p2)
|
||||
((!p0 & XG!p1) R !p2) R (p3 | Fp4)
|
||||
p0 | X(p0 M Xp1) | (p2 & p3 & F(!p3 & X(!p3 W G!p4)))
|
||||
p0 | ((Xp1 | (!p1 & ((!p0 U !p2) U p1))) R !p3)
|
||||
p0 | X(p1 | !p2)
|
||||
((p0 | Xp1) U (p2 R p3)) R ((p3 U p4) | G(!p5 | X!p0))
|
||||
p1 | F!p0 | XF(p1 | !p2 | Fp3)
|
||||
(p1 | !p0) U ((p2 R XXp3) U (Fp4 U Xp3))
|
||||
(p1 | p0) U (!p2 & XFp3)
|
||||
p1 | !p0 | X((p1 | !p0) M ((!p2 R !p3) | XG!p0))
|
||||
XF(Gp0 | (p1 & (!p2 | p3)))
|
||||
X(FGp0 U Gp1) U (Fp2 U Gp3)
|
||||
XF(!p0 | Fp1)
|
||||
XF(p0 & GF!p1)
|
||||
X(Fp0 & (((p0 U Gp1) U (!p2 R !p3)) R (p4 | Fp5)))
|
||||
XF(p0 | ((p1 R p2) R Xp3))
|
||||
X(Fp0 & (p1 U p2))
|
||||
XF(p0 & (p1 | Xp2))
|
||||
X(F!p0 U Gp1)
|
||||
XG((F!p0 & !p1) | (p1 & Gp0))
|
||||
X(GF(!p0 & (p1 | !p2)) | (p2 & !p3 & (F!p4 U !p5)))
|
||||
X(G((p0 & F!p1) U p2) U (!p2 R (p2 | p3)))
|
||||
XGp0 & ((p1 R (p2 & F!p3)) | GF(!p4 | p3))
|
||||
X(Gp0 U (GF!p0 | (p1 & Xp0)))
|
||||
XGp0 | (XG!p0 & (!p1 | p3 | Xp2))
|
||||
X!p0 | (FGp1 U p2)
|
||||
Xp0 | ((!p1 | X(!p1 M (F!p1 U p2))) U !p3)
|
||||
X((!p0 | p2 | !p1) U Gp0)
|
||||
X(((p0 R F!p1) U p2) U Gp3)
|
||||
Xp0 U (((p1 U p2) U p3) & (F!p4 U p2))
|
||||
XXF!p1 & (p0 U !p1)
|
||||
XXG((p0 | Fp1) & (!p0 R (p2 & !p3)))
|
||||
221
bench/spin13/run.sh
Executable file
221
bench/spin13/run.sh
Executable file
|
|
@ -0,0 +1,221 @@
|
|||
#!/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 <http://www.gnu.org/licenses/>.
|
||||
|
||||
# This file produces a makefile (called run.mk) that runs all the
|
||||
# configurations for our benchmarks possibly in parallel (using make
|
||||
# -j8, for instance). The makefile in turn calls this script to run
|
||||
# ltlcross, because the configuration of ltlcross is easier done in
|
||||
# this shell script. We distinguish between these two uses of run.sh
|
||||
# with the number of arguments: when no argument is given, we build a
|
||||
# Makefile; when two arguments are given, we run ltlcross, reading
|
||||
# formulas from standard input.
|
||||
|
||||
set -e
|
||||
|
||||
ltl2tgba=../../src/bin/ltl2tgba
|
||||
ltlfilt=../../src/bin/ltlfilt
|
||||
ltlcross=../../src/bin/ltlcross
|
||||
|
||||
|
||||
# If two arguments are given, they should be
|
||||
# ./run.sh formula.ltl prefix
|
||||
# where prefix is "tgba-" or "ba-".
|
||||
# The first argument is only used to name the resulting
|
||||
# files and to decide if we should disable ltlcross
|
||||
# check routines in order to check only positive or
|
||||
# negative formulas.
|
||||
if test $# = 2; then
|
||||
f=$1
|
||||
prefix=$2
|
||||
case $2 in
|
||||
tgba-)
|
||||
opt=' --lbtt>%T'
|
||||
ba=false
|
||||
D=
|
||||
d=
|
||||
DB=
|
||||
;;
|
||||
ba-)
|
||||
opt=' --spin>%N'
|
||||
ba=:
|
||||
D=D
|
||||
d=d
|
||||
DB=DB
|
||||
;;
|
||||
esac
|
||||
|
||||
opt="$opt --high"
|
||||
nosim='-x !simul,!ba-simul'
|
||||
|
||||
set x
|
||||
|
||||
# Deter
|
||||
|
||||
$ba && set "$@" \
|
||||
": LTL3BA NoSim NoSusp Deter; ltl3ba -A -M -f %s >%N" \
|
||||
": LTL3BA Sim NoSusp Deter; ltl3ba -S -A -M -f %s >%N" \
|
||||
": Cou99 '(Ad)' Deter; $ltl2tgba $opt $nosim --deter -x !degen-reset,!degen-lcache %f"
|
||||
set "$@" \
|
||||
": Cou99 '(A${D})' Deter; $ltl2tgba $opt $nosim --deter %f"
|
||||
$ba && set "$@" \
|
||||
": Cou99 '(ASd)' Deter; $ltl2tgba $opt -x !ba-simul,!degen-reset,!degen-lcache --deter %f" \
|
||||
": Cou99 '(ASD)' Deter; $ltl2tgba $opt -x !ba-simul --deter %f"
|
||||
set "$@" \
|
||||
": Cou99 '(AS${DB})' Deter; $ltl2tgba $opt --deter %f"
|
||||
$ba && set "$@" \
|
||||
": Cou99 '(ASdB)' Deter; $ltl2tgba $opt --deter -x !degen-reset,!degen-lcache %f" \
|
||||
": LTL3BA NoSim Susp Deter; ltl3ba -M -f %s >%N" \
|
||||
": LTL3BA Sim Susp Deter; ltl3ba -S -M -f %s >%N"
|
||||
set "$@" \
|
||||
": Comp '(A${D})' Deter; $ltl2tgba -x comp-susp,!skel-simul $opt $nosim --deter %f" \
|
||||
": Comp '(A${D})' Deter Early; $ltl2tgba -x comp-susp,!skel-simul,early-susp $opt $nosim --deter %f"
|
||||
$ba && set "$@" \
|
||||
": Comp '(ASD)' Deter; $ltl2tgba -x comp-susp,!ba-simul $opt --deter %f" \
|
||||
": Comp '(ASD)' Deter Early; $ltl2tgba -x comp-susp,early-susp,!ba-simul $opt --deter %f"
|
||||
set "$@" \
|
||||
": Comp '(AS${DB})' Deter; $ltl2tgba -x comp-susp $opt --deter %f" \
|
||||
": Comp '(AS${DB})' Deter Early; $ltl2tgba -x comp-susp,early-susp $opt --deter %f"
|
||||
|
||||
# Small
|
||||
|
||||
$ba && set "$@" \
|
||||
": LTL3BA NoSim NoSusp; ltl3ba -A -f %s >%N" \
|
||||
": LTL3BA Sim NoSusp; ltl3ba -S -A -f %s >%N" \
|
||||
": Cou99 '(Ad)' Small; $ltl2tgba $opt $nosim --small -x !degen-reset,!degen-lcache %f"
|
||||
set "$@" \
|
||||
": Cou99 '(A${D})' Small; $ltl2tgba $opt $nosim --small %f"
|
||||
$ba && set "$@" \
|
||||
": Cou99 '(ASd)' Small; $ltl2tgba $opt -x !ba-simul,!degen-reset,!degen-lcache --small %f" \
|
||||
": Cou99 '(ASD)' Small; $ltl2tgba $opt -x !ba-simul --small %f"
|
||||
set "$@" \
|
||||
": Cou99 '(AS${DB})' Small; $ltl2tgba $opt --small %f"
|
||||
$ba && set "$@" \
|
||||
": Cou99 '(ASdB)' Small; $ltl2tgba $opt --small -x !degen-reset,!degen-lcache %f" \
|
||||
": LTL3BA NoSim Susp; ltl3ba -f %s >%N" \
|
||||
": LTL3BA Sim Susp; ltl3ba -S -f %s >%N"
|
||||
set "$@" \
|
||||
": Comp '(A${D})' Small; $ltl2tgba -x comp-susp,!skel-wdba,!skel-simul $opt $nosim --small %f" \
|
||||
": Comp '(A${D})' Small Early; $ltl2tgba -x comp-susp,!skel-wdba,!skel-simul,early-susp $opt $nosim --small %f"
|
||||
$ba && set "$@" \
|
||||
": Comp '(ASD)' Small; $ltl2tgba -x comp-susp,!skel-wdba,!ba-simul $opt --small %f" \
|
||||
": Comp '(ASD)' Small Early; $ltl2tgba -x comp-susp,!no-skel-wdba,early-susp,!ba-simul $opt --small %f"
|
||||
set "$@" \
|
||||
": Comp '(AS${DB})' Small; $ltl2tgba -x comp-susp,!skel-wdba $opt --small %f" \
|
||||
": Comp '(AS${DB})' Small Early; $ltl2tgba -x comp-susp,!skel-wdba,early-susp $opt --small %f"
|
||||
|
||||
# If the formulas are only positive or negative, disable checks so
|
||||
# that ltlcross does not process the negation as well.
|
||||
case $f in
|
||||
*pos*|*neg*) set "$@" --no-check;;
|
||||
esac
|
||||
|
||||
set "$@" --timeout=1200
|
||||
shift
|
||||
|
||||
$ltlcross "$@" --json=$prefix$f.json --csv=$prefix$f.csv 2>$prefix$f.log
|
||||
|
||||
# Edit the JSON file to keep only the part of the name between ':' and ';',
|
||||
# it's much more readable than the list of options...
|
||||
perl -pi -e 's/":\s*(.*)\s*;.*"/"$1 "/' $prefix$f.json
|
||||
|
||||
exit $?
|
||||
fi
|
||||
|
||||
if test $# -ne 0; then
|
||||
echo "Wrong number of arguments." >&2
|
||||
exit 1;
|
||||
fi
|
||||
|
||||
# If no argument have been supplied, build a Makefile.
|
||||
|
||||
cat >run.mk <<\EOF
|
||||
.PHONY: all _all
|
||||
all: _all
|
||||
|
||||
.SUFFIXES: .json .html .tex .pdf
|
||||
.json.html:
|
||||
cat html.top $< html.bottom > $@.tmp
|
||||
mv $@.tmp $@
|
||||
.tex.pdf:
|
||||
latexmk --pdf $<
|
||||
EOF
|
||||
all=
|
||||
for prefix in tgba- ba-; do
|
||||
presults=
|
||||
for f in known.ltl; do
|
||||
cat >>run.mk <<EOF
|
||||
$prefix$f.stamp: $f $ltlcross $ltl2tgba
|
||||
./run.sh $f $prefix <$f && touch \$@
|
||||
|
||||
$prefix$f.json $prefix$f.csv $prefix$f.log: $prefix$f.stamp
|
||||
@:
|
||||
EOF
|
||||
presults="$presults $prefix$f.json"
|
||||
done
|
||||
|
||||
for f in new.ltl new-fair2.ltl new-weak3.ltl new-strong1.ltl new-strong2.ltl; do
|
||||
|
||||
cat >>run.mk <<EOF
|
||||
$prefix$f.pos.stamp: $f $ltlcross $ltl2tgba
|
||||
./run.sh $f.pos $prefix <$f && touch \$@
|
||||
|
||||
$prefix$f.pos.json $prefix$f.pos.csv $prefix$f.pos.log: $prefix$f.pos.stamp
|
||||
@:
|
||||
|
||||
$prefix$f.neg.stamp: $f $ltlcross $ltl2tgba
|
||||
$ltlfilt --negate -F $f | ./run.sh $f.neg $prefix && touch \$@
|
||||
|
||||
$prefix$f.neg.json $prefix$f.neg.csv $prefix$f.neg.log: $prefix$f.neg.stamp
|
||||
@:
|
||||
|
||||
EOF
|
||||
presults="$presults $prefix$f.pos.json $prefix$f.neg.json"
|
||||
done
|
||||
|
||||
v=`git describe --always --dirty 2>/dev/null ||
|
||||
../../config.status --version | head -n 1 | cut -d' ' -f 3`
|
||||
h=`hostname -f`
|
||||
|
||||
cat >>run.mk <<EOF
|
||||
${prefix}sum.tex: $presults
|
||||
../ltl2tgba/sum.py --intro "Version: $v; Date: `date -I`; Host: $h." \\
|
||||
$presults >${prefix}sum.tex
|
||||
|
||||
EOF
|
||||
|
||||
log=`echo "$presults" | sed 's/json/log/g'`
|
||||
csv=`echo "$presults" | sed 's/json/csv/g'`
|
||||
html=`echo "$presults" | sed 's/json/html/g'`
|
||||
|
||||
all="$all ${prefix}sum.pdf ${prefix}sum.tex $results $csv $log $html"
|
||||
done
|
||||
|
||||
arch=`date -I`.tar.xz
|
||||
cat >>run.mk <<EOF
|
||||
_all: $arch
|
||||
|
||||
FILES = $all
|
||||
$arch: \$(FILES)
|
||||
tar Jcvf \$@ \$(FILES)
|
||||
@echo === \$@ ready ===
|
||||
EOF
|
||||
|
||||
echo 'Now run "make -f run.mk" or preferably "make -f run.mk -j8".'
|
||||
echo '(Adjusting -j8 to the number of processors on your machine.)'
|
||||
Loading…
Add table
Add a link
Reference in a new issue