About the Execution of ITS-Tools for TwoPhaseLocking-PT-nC00010vD
Execution Summary | |||||
Max Memory Used (MB) |
Time wait (ms) | CPU Usage (ms) | I/O Wait (ms) | Computed Result | Execution Status |
230.888 | 4590.00 | 8582.00 | 158.30 | TFFFTTTTFTFFFFFT | normal |
Execution Chart
We display below the execution chart for this examination (boot time has been removed).
Trace from the execution
Formatting '/data/fkordon/mcc2021-input.r311-tall-162132108000226.qcow2', fmt=qcow2 size=4294967296 backing_file='/data/fkordon/mcc2021-input.qcow2' encryption=off cluster_size=65536 lazy_refcounts=off
Waiting for the VM to be ready (probing ssh)
...................
=====================================================================
Generated by BenchKit 2-4028
Executing tool itstools
Input is TwoPhaseLocking-PT-nC00010vD, examination is CTLFireability
Time confinement is 3600 seconds
Memory confinement is 16384 MBytes
Number of cores is 4
Run identifier is r311-tall-162132108000226
=====================================================================
--------------------
preparation of the directory to be used:
/home/mcc/execution
total 308K
-rw-r--r-- 1 mcc users 8.8K May 15 08:57 CTLCardinality.txt
-rw-r--r-- 1 mcc users 67K May 15 08:57 CTLCardinality.xml
-rw-r--r-- 1 mcc users 9.6K May 15 08:57 CTLFireability.txt
-rw-r--r-- 1 mcc users 85K May 15 08:57 CTLFireability.xml
-rw-r--r-- 1 mcc users 3.4K May 12 08:03 LTLCardinality.txt
-rw-r--r-- 1 mcc users 23K May 12 08:03 LTLCardinality.xml
-rw-r--r-- 1 mcc users 2.2K May 12 08:03 LTLFireability.txt
-rw-r--r-- 1 mcc users 17K May 12 08:03 LTLFireability.xml
-rw-r--r-- 1 mcc users 1 May 12 08:13 NewModel
-rw-r--r-- 1 mcc users 3.7K May 12 04:13 ReachabilityCardinality.txt
-rw-r--r-- 1 mcc users 18K May 12 04:13 ReachabilityCardinality.xml
-rw-r--r-- 1 mcc users 2.5K May 11 18:03 ReachabilityFireability.txt
-rw-r--r-- 1 mcc users 14K May 11 18:03 ReachabilityFireability.xml
-rw-r--r-- 1 mcc users 1.6K May 12 04:43 UpperBounds.txt
-rw-r--r-- 1 mcc users 3.6K May 12 04:43 UpperBounds.xml
-rw-r--r-- 1 mcc users 6 May 12 08:13 equiv_col
-rw-r--r-- 1 mcc users 10 May 12 08:13 instance
-rw-r--r-- 1 mcc users 6 May 12 08:13 iscolored
-rw-r--r-- 1 mcc users 4.6K May 12 08:13 model.pnml
--------------------
content from stdout:
=== Data for post analysis generated by BenchKit (invocation template)
The expected result is a vector of booleans
BOOL_VECTOR
here is the order used to build the result vector(from text file)
FORMULA_NAME TwoPhaseLocking-PT-nC00010vD-CTLFireability-00
FORMULA_NAME TwoPhaseLocking-PT-nC00010vD-CTLFireability-01
FORMULA_NAME TwoPhaseLocking-PT-nC00010vD-CTLFireability-02
FORMULA_NAME TwoPhaseLocking-PT-nC00010vD-CTLFireability-03
FORMULA_NAME TwoPhaseLocking-PT-nC00010vD-CTLFireability-04
FORMULA_NAME TwoPhaseLocking-PT-nC00010vD-CTLFireability-05
FORMULA_NAME TwoPhaseLocking-PT-nC00010vD-CTLFireability-06
FORMULA_NAME TwoPhaseLocking-PT-nC00010vD-CTLFireability-07
FORMULA_NAME TwoPhaseLocking-PT-nC00010vD-CTLFireability-08
FORMULA_NAME TwoPhaseLocking-PT-nC00010vD-CTLFireability-09
FORMULA_NAME TwoPhaseLocking-PT-nC00010vD-CTLFireability-10
FORMULA_NAME TwoPhaseLocking-PT-nC00010vD-CTLFireability-11
FORMULA_NAME TwoPhaseLocking-PT-nC00010vD-CTLFireability-12
FORMULA_NAME TwoPhaseLocking-PT-nC00010vD-CTLFireability-13
FORMULA_NAME TwoPhaseLocking-PT-nC00010vD-CTLFireability-14
FORMULA_NAME TwoPhaseLocking-PT-nC00010vD-CTLFireability-15
=== Now, execution of the tool begins
BK_START 1621451367219
Running Version 0
[2021-05-19 19:09:29] [INFO ] Running its-tools with arguments : [-pnfolder, /home/mcc/execution, -examination, CTLFireability, -spotpath, /home/mcc/BenchKit/bin//..//ltlfilt, -z3path, /home/mcc/BenchKit/bin//..//z3/bin/z3, -yices2path, /home/mcc/BenchKit/bin//..//yices/bin/yices, -its, -ltsmin, -greatspnpath, /home/mcc/BenchKit/bin//..//greatspn/, -order, META, -manyOrder, -smt, -timeout, 3600]
[2021-05-19 19:09:29] [INFO ] Parsing pnml file : /home/mcc/execution/model.pnml
[2021-05-19 19:09:29] [INFO ] Load time of PNML (sax parser for PT used): 18 ms
[2021-05-19 19:09:29] [INFO ] Transformed 8 places.
[2021-05-19 19:09:29] [INFO ] Transformed 6 transitions.
[2021-05-19 19:09:29] [INFO ] Parsed PT model containing 8 places and 6 transitions in 55 ms.
Parsed 16 properties from file /home/mcc/execution/CTLFireability.xml in 15 ms.
Support contains 8 out of 8 places. Attempting structural reductions.
Starting structural reductions, iteration 0 : 8/8 places, 6/6 transitions.
Applied a total of 0 rules in 8 ms. Remains 8 /8 variables (removed 0) and now considering 6/6 (removed 0) transitions.
// Phase 1: matrix 6 rows 8 cols
[2021-05-19 19:09:29] [INFO ] Computed 3 place invariants in 4 ms
[2021-05-19 19:09:29] [INFO ] Implicit Places using invariants in 71 ms returned []
// Phase 1: matrix 6 rows 8 cols
[2021-05-19 19:09:29] [INFO ] Computed 3 place invariants in 1 ms
[2021-05-19 19:09:29] [INFO ] Implicit Places using invariants and state equation in 20 ms returned []
Implicit Place search using SMT with State Equation took 116 ms to find 0 implicit places.
// Phase 1: matrix 6 rows 8 cols
[2021-05-19 19:09:29] [INFO ] Computed 3 place invariants in 1 ms
[2021-05-19 19:09:29] [INFO ] Dead Transitions using invariants and state equation in 15 ms returned []
Finished structural reductions, in 1 iterations. Remains : 8/8 places, 6/6 transitions.
[2021-05-19 19:09:29] [INFO ] Initial state reduction rules for CTL removed 2 formulas.
[2021-05-19 19:09:29] [INFO ] Flatten gal took : 21 ms
FORMULA TwoPhaseLocking-PT-nC00010vD-CTLFireability-14 FALSE TECHNIQUES TOPOLOGICAL INITIAL_STATE
FORMULA TwoPhaseLocking-PT-nC00010vD-CTLFireability-06 TRUE TECHNIQUES TOPOLOGICAL INITIAL_STATE
[2021-05-19 19:09:29] [INFO ] Flatten gal took : 5 ms
[2021-05-19 19:09:29] [INFO ] Input system was already deterministic with 6 transitions.
Incomplete random walk after 100001 steps, including 1611 resets, run finished after 172 ms. (steps per millisecond=581 ) properties (out of 60) seen :59
Running SMT prover for 1 properties.
// Phase 1: matrix 6 rows 8 cols
[2021-05-19 19:09:29] [INFO ] Computed 3 place invariants in 2 ms
Successfully simplified 1 atomic propositions for a total of 14 simplifications.
Applied a total of 0 rules in 4 ms. Remains 8 /8 variables (removed 0) and now considering 6/6 (removed 0) transitions.
[2021-05-19 19:09:29] [INFO ] Flatten gal took : 1 ms
[2021-05-19 19:09:29] [INFO ] Flatten gal took : 1 ms
[2021-05-19 19:09:29] [INFO ] Input system was already deterministic with 6 transitions.
[2021-05-19 19:09:29] [INFO ] Flatten gal took : 1 ms
[2021-05-19 19:09:29] [INFO ] Flatten gal took : 1 ms
[2021-05-19 19:09:29] [INFO ] Time to serialize gal into /tmp/CTLFireability12844049113024313481.gal : 1 ms
[2021-05-19 19:09:29] [INFO ] Time to serialize properties into /tmp/CTLFireability5199418137062570506.ctl : 1 ms
Invoking ITS tools like this :CommandLine [args=[/home/mcc/BenchKit/itstools/plugins/fr.lip6.move.gal.itstools.binaries_1.0.0.202104292328/bin/its-ctl-linux64, --gc-threshold, 2000000, --quiet, -i, /tmp/CTLFireability12844049113024313481.gal, -t, CGAL, -ctl, /tmp/CTLFireability5199418137062570506.ctl, --gen-order, FOLLOW], workingDir=/home/mcc/execution]
its-ctl command run as :
/home/mcc/BenchKit/itstools/plugins/fr.lip6.move.gal.itstools.binaries_1.0.0.202104292328/bin/its-ctl-linux64 --gc-threshold 2000000 --quiet -i /tmp/CTLFireability12844049113024313481.gal -t CGAL -ctl /tmp/CTLFireability5199418137062570506.ctl --gen-order FOLLOW
No direction supplied, using forward translation only.
Parsed 1 CTL formulae.
Model ,|S| ,Time ,Mem(kb) ,fin. SDD ,fin. DDD ,peak SDD ,peak DDD ,SDD Hom ,SDD cache peak ,DDD Hom ,DDD cachepeak ,SHom cache
reachable,503,0.018517,4720,2,426,5,2769,6,0,41,2733,0
Converting to forward existential form...Done !
original formula: !(AG(A(((resA>=1)&&(haveB>=1)) U AG((((((haveA2>=1)||((resB>=1)&&(haveA>=1)))||(haveAandB>=1))||((resA>=1)&&(Clients>=1)))||((resA>=1)&&(haveB>=1)))))))
=> equivalent forward existential formula: ([(FwdU((FwdU(FwdU(Init,TRUE),!(!(E(TRUE U !((((((haveA2>=1)||((resB>=1)&&(haveA>=1)))||(haveAandB>=1))||((resA>=1)&&(Clients>=1)))||((resA>=1)&&(haveB>=1)))))))) * !(((resA>=1)&&(haveB>=1)))),TRUE) * !((((((haveA2>=1)||((resB>=1)&&(haveA>=1)))||(haveAandB>=1))||((resA>=1)&&(Clients>=1)))||((resA>=1)&&(haveB>=1)))))] != FALSE + [FwdG(FwdU(Init,TRUE),!(!(E(TRUE U !((((((haveA2>=1)||((resB>=1)&&(haveA>=1)))||(haveAandB>=1))||((resA>=1)&&(Clients>=1)))||((resA>=1)&&(haveB>=1))))))))] != FALSE)
Reverse transition relation is NOT exact ! Due to transitions t3, Intersection with reachable at each step enabled. (destroyed/reverse/intersect/total) :0/5/1/6
(forward)formula 0,1,0.066835,6160,1,0,35,8980,35,22,284,9640,50
FORMULA TwoPhaseLocking-PT-nC00010vD-CTLFireability-07 TRUE TECHNIQUES DECISION_DIAGRAMS TOPOLOGICAL
Formula is TRUE !
***************************************
Applied a total of 0 rules in 1 ms. Remains 8 /8 variables (removed 0) and now considering 6/6 (removed 0) transitions.
[2021-05-19 19:09:29] [INFO ] Flatten gal took : 1 ms
[2021-05-19 19:09:29] [INFO ] Flatten gal took : 0 ms
[2021-05-19 19:09:29] [INFO ] Input system was already deterministic with 6 transitions.
[2021-05-19 19:09:29] [INFO ] Flatten gal took : 1 ms
[2021-05-19 19:09:29] [INFO ] Flatten gal took : 1 ms
[2021-05-19 19:09:29] [INFO ] Time to serialize gal into /tmp/CTLFireability7413190101420016673.gal : 1 ms
[2021-05-19 19:09:29] [INFO ] Time to serialize properties into /tmp/CTLFireability14781629450088041274.ctl : 1 ms
Invoking ITS tools like this :CommandLine [args=[/home/mcc/BenchKit/itstools/plugins/fr.lip6.move.gal.itstools.binaries_1.0.0.202104292328/bin/its-ctl-linux64, --gc-threshold, 2000000, --quiet, -i, /tmp/CTLFireability7413190101420016673.gal, -t, CGAL, -ctl, /tmp/CTLFireability14781629450088041274.ctl, --gen-order, FOLLOW], workingDir=/home/mcc/execution]
its-ctl command run as :
/home/mcc/BenchKit/itstools/plugins/fr.lip6.move.gal.itstools.binaries_1.0.0.202104292328/bin/its-ctl-linux64 --gc-threshold 2000000 --quiet -i /tmp/CTLFireability7413190101420016673.gal -t CGAL -ctl /tmp/CTLFireability14781629450088041274.ctl --gen-order FOLLOW
No direction supplied, using forward translation only.
Parsed 1 CTL formulae.
Model ,|S| ,Time ,Mem(kb) ,fin. SDD ,fin. DDD ,peak SDD ,peak DDD ,SDD Hom ,SDD cache peak ,DDD Hom ,DDD cachepeak ,SHom cache
reachable,503,0.015515,4792,2,426,5,2769,6,0,41,2733,0
Converting to forward existential form...Done !
original formula: A(EF((AG((((((((haveA2<1)&&((resB<1)||(haveA<1)))&&(haveA2andB<1))&&((resA<1)||(haveB<1)))&&(haveA2<1))&&(haveA2andB<1))&&((resA<1)||(Clients<1)))) + AF(((((((haveA2>=1)||((resB>=1)&&(haveA>=1)))||(haveAandB>=1))||(haveA2andB>=1))||((resA>=1)&&(Clients>=1)))||((resA>=1)&&(haveB>=1)))))) U ((((((haveA2<1)&&(haveAandB<1))&&(haveA2andB<1))&&((resB<1)||(haveA<1)))&&((resA<1)||(Clients<1)))&&((resA<1)||(haveB<1))))
=> equivalent forward existential formula: [((Init * !(EG(!(((((((haveA2<1)&&(haveAandB<1))&&(haveA2andB<1))&&((resB<1)||(haveA<1)))&&((resA<1)||(Clients<1)))&&((resA<1)||(haveB<1))))))) * !(E(!(((((((haveA2<1)&&(haveAandB<1))&&(haveA2andB<1))&&((resB<1)||(haveA<1)))&&((resA<1)||(Clients<1)))&&((resA<1)||(haveB<1)))) U (!(E(TRUE U (!(E(TRUE U !((((((((haveA2<1)&&((resB<1)||(haveA<1)))&&(haveA2andB<1))&&((resA<1)||(haveB<1)))&&(haveA2<1))&&(haveA2andB<1))&&((resA<1)||(Clients<1)))))) + !(EG(!(((((((haveA2>=1)||((resB>=1)&&(haveA>=1)))||(haveAandB>=1))||(haveA2andB>=1))||((resA>=1)&&(Clients>=1)))||((resA>=1)&&(haveB>=1))))))))) * !(((((((haveA2<1)&&(haveAandB<1))&&(haveA2andB<1))&&((resB<1)||(haveA<1)))&&((resA<1)||(Clients<1)))&&((resA<1)||(haveB<1))))))))] != FALSE
Reverse transition relation is NOT exact ! Due to transitions t3, Intersection with reachable at each step enabled. (destroyed/reverse/intersect/total) :0/5/1/6
(forward)formula 0,0,0.046234,5968,1,0,22,4303,44,16,284,4746,43
FORMULA TwoPhaseLocking-PT-nC00010vD-CTLFireability-08 FALSE TECHNIQUES DECISION_DIAGRAMS TOPOLOGICAL
Formula is FALSE !
***************************************
[2021-05-19 19:09:29] [INFO ] Flatten gal took : 3 ms
[2021-05-19 19:09:30] [INFO ] Flatten gal took : 3 ms
[2021-05-19 19:09:30] [INFO ] Applying decomposition
[2021-05-19 19:09:30] [INFO ] Flatten gal took : 3 ms
Converted graph to binary with : CommandLine [args=[/home/mcc/BenchKit/itstools/plugins/fr.lip6.move.gal.louvain.binaries_1.0.0.202104292328/bin/convert-linux64, -i, /tmp/graph646099192143692194.txt, -o, /tmp/graph646099192143692194.bin, -w, /tmp/graph646099192143692194.weights], workingDir=null]
Built communities with : CommandLine [args=[/home/mcc/BenchKit/itstools/plugins/fr.lip6.move.gal.louvain.binaries_1.0.0.202104292328/bin/louvain-linux64, /tmp/graph646099192143692194.bin, -l, -1, -v, -w, /tmp/graph646099192143692194.weights, -q, 0, -e, 0.001], workingDir=null]
[2021-05-19 19:09:30] [INFO ] Decomposing Gal with order
[2021-05-19 19:09:30] [INFO ] Rewriting arrays to variables to allow decomposition.
[2021-05-19 19:09:30] [INFO ] Flatten gal took : 22 ms
[2021-05-19 19:09:30] [INFO ] Fuse similar labels procedure discarded/fused a total of 0 labels/synchronizations in 0 ms.
[2021-05-19 19:09:30] [INFO ] Time to serialize gal into /tmp/CTLFireability15607116085770628080.gal : 1 ms
[2021-05-19 19:09:30] [INFO ] Time to serialize properties into /tmp/CTLFireability9819949084281671912.ctl : 5 ms
Invoking ITS tools like this :CommandLine [args=[/home/mcc/BenchKit/itstools/plugins/fr.lip6.move.gal.itstools.binaries_1.0.0.202104292328/bin/its-ctl-linux64, --gc-threshold, 2000000, --quiet, -i, /tmp/CTLFireability15607116085770628080.gal, -t, CGAL, -ctl, /tmp/CTLFireability9819949084281671912.ctl], workingDir=/home/mcc/execution]
its-ctl command run as :
/home/mcc/BenchKit/itstools/plugins/fr.lip6.move.gal.itstools.binaries_1.0.0.202104292328/bin/its-ctl-linux64 --gc-threshold 2000000 --quiet -i /tmp/CTLFireability15607116085770628080.gal -t CGAL -ctl /tmp/CTLFireability9819949084281671912.ctl
No direction supplied, using forward translation only.
Parsed 12 CTL formulae.
Model ,|S| ,Time ,Mem(kb) ,fin. SDD ,fin. DDD ,peak SDD ,peak DDD ,SDD Hom ,SDD cache peak ,DDD Hom ,DDD cachepeak ,SHom cache
reachable,503,0.026486,5404,214,114,1695,162,30,3721,16,3395,0
Converting to forward existential form...Done !
original formula: A(AG(!(EG(((((((u2.haveA2>=1)||((u0.resB>=1)&&(u1.haveA>=1)))||(u1.haveAandB>=1))||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u2.Clients>=1)))||((u1.resA>=1)&&(u0.haveB>=1)))))) U AX((!(AF((u0.haveA2andB>=1))) + ((((((!(EG(((((u2.haveA2>=1)||(u1.haveAandB>=1))||((u1.resA>=1)&&(u2.Clients>=1)))||((u1.resA>=1)&&(u0.haveB>=1))))) * (u1.haveAandB<1)) * (u0.haveA2andB<1)) * ((u0.resB<1)||(u1.haveA<1))) * ((u1.resA<1)||(u2.Clients<1))) * ((u1.resA<1)||(u0.haveB<1))) * (((((u2.haveA2>=1)||(u1.haveAandB>=1))||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u2.Clients>=1)))||((u1.resA>=1)&&(u0.haveB>=1)))))))
=> equivalent forward existential formula: [((Init * !(EG(!(!(EX(!((!(!(EG(!((u0.haveA2andB>=1))))) + ((((((!(EG(((((u2.haveA2>=1)||(u1.haveAandB>=1))||((u1.resA>=1)&&(u2.Clients>=1)))||((u1.resA>=1)&&(u0.haveB>=1))))) * (u1.haveAandB<1)) * (u0.haveA2andB<1)) * ((u0.resB<1)||(u1.haveA<1))) * ((u1.resA<1)||(u2.Clients<1))) * ((u1.resA<1)||(u0.haveB<1))) * (((((u2.haveA2>=1)||(u1.haveAandB>=1))||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u2.Clients>=1)))||((u1.resA>=1)&&(u0.haveB>=1)))))))))))) * !(E(!(!(EX(!((!(!(EG(!((u0.haveA2andB>=1))))) + ((((((!(EG(((((u2.haveA2>=1)||(u1.haveAandB>=1))||((u1.resA>=1)&&(u2.Clients>=1)))||((u1.resA>=1)&&(u0.haveB>=1))))) * (u1.haveAandB<1)) * (u0.haveA2andB<1)) * ((u0.resB<1)||(u1.haveA<1))) * ((u1.resA<1)||(u2.Clients<1))) * ((u1.resA<1)||(u0.haveB<1))) * (((((u2.haveA2>=1)||(u1.haveAandB>=1))||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u2.Clients>=1)))||((u1.resA>=1)&&(u0.haveB>=1))))))))) U (!(!(E(TRUE U !(!(EG(((((((u2.haveA2>=1)||((u0.resB>=1)&&(u1.haveA>=1)))||(u1.haveAandB>=1))||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u2.Clients>=1)))||((u1.resA>=1)&&(u0.haveB>=1))))))))) * !(!(EX(!((!(!(EG(!((u0.haveA2andB>=1))))) + ((((((!(EG(((((u2.haveA2>=1)||(u1.haveAandB>=1))||((u1.resA>=1)&&(u2.Clients>=1)))||((u1.resA>=1)&&(u0.haveB>=1))))) * (u1.haveAandB<1)) * (u0.haveA2andB<1)) * ((u0.resB<1)||(u1.haveA<1))) * ((u1.resA<1)||(u2.Clients<1))) * ((u1.resA<1)||(u0.haveB<1))) * (((((u2.haveA2>=1)||(u1.haveAandB>=1))||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u2.Clients>=1)))||((u1.resA>=1)&&(u0.haveB>=1)))))))))))))] != FALSE
Reverse transition relation is NOT exact ! Due to transitions t3, Intersection with reachable at each step enabled. (destroyed/reverse/intersect/total) :0/5/1/6
(forward)formula 0,1,0.184671,10156,1,0,7706,2066,161,10540,84,8571,13523
FORMULA TwoPhaseLocking-PT-nC00010vD-CTLFireability-00 TRUE TECHNIQUES DECISION_DIAGRAMS TOPOLOGICAL USE_NUPN
Formula is TRUE !
***************************************
original formula: A(E(AX(EF(((((u2.haveA2>=1)||(u1.haveAandB>=1))||(u0.haveA2andB>=1))||((u0.resB>=1)&&(u1.haveA>=1))))) U AG(((u0.haveA2andB>=1)||((u1.resA>=1)&&(u0.haveB>=1))))) U (((((u2.haveA2>=1)||(u1.haveAandB>=1))||(u0.haveA2andB>=1))||((u0.resB>=1)&&(u1.haveA>=1)))||((u1.resA>=1)&&(u0.haveB>=1))))
=> equivalent forward existential formula: [((Init * !(EG(!((((((u2.haveA2>=1)||(u1.haveAandB>=1))||(u0.haveA2andB>=1))||((u0.resB>=1)&&(u1.haveA>=1)))||((u1.resA>=1)&&(u0.haveB>=1))))))) * !(E(!((((((u2.haveA2>=1)||(u1.haveAandB>=1))||(u0.haveA2andB>=1))||((u0.resB>=1)&&(u1.haveA>=1)))||((u1.resA>=1)&&(u0.haveB>=1)))) U (!(E(!(EX(!(E(TRUE U ((((u2.haveA2>=1)||(u1.haveAandB>=1))||(u0.haveA2andB>=1))||((u0.resB>=1)&&(u1.haveA>=1))))))) U !(E(TRUE U !(((u0.haveA2andB>=1)||((u1.resA>=1)&&(u0.haveB>=1)))))))) * !((((((u2.haveA2>=1)||(u1.haveAandB>=1))||(u0.haveA2andB>=1))||((u0.resB>=1)&&(u1.haveA>=1)))||((u1.resA>=1)&&(u0.haveB>=1))))))))] != FALSE
(forward)formula 1,0,0.213268,11212,1,0,8244,2113,173,11215,84,8664,14608
FORMULA TwoPhaseLocking-PT-nC00010vD-CTLFireability-01 FALSE TECHNIQUES DECISION_DIAGRAMS TOPOLOGICAL USE_NUPN
Formula is FALSE !
***************************************
original formula: A(AX(EG(EX(EX((((u0.haveA2andB>=1)||((u1.resA>=1)&&(u2.Clients>=1)))||((u1.resA>=1)&&(u0.haveB>=1))))))) U (!(E(((((((((((((((u2.haveA2>=1)||((u0.resB>=1)&&(u1.haveA>=1)))||(u1.haveAandB>=1))||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u2.Clients>=1)))||((u1.resA>=1)&&(u0.haveB>=1)))||(u1.haveAandB>=1))||((u1.resA>=1)&&(u2.Clients>=1))) * AX(((((((u0.resB>=1)&&(u1.haveA>=1))||(u1.haveAandB>=1))||((u1.resA>=1)&&(u2.Clients>=1)))||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u0.haveB>=1))))) + (u2.haveA2>=1)) + (u1.haveAandB>=1)) + (u0.haveA2andB>=1)) + ((u1.resA>=1)&&(u2.Clients>=1))) + ((u1.resA>=1)&&(u0.haveB>=1))) U E(((((u0.resB>=1)&&(u1.haveA>=1))||(u1.haveAandB>=1))&&((((u2.haveA2>=1)||(u1.haveAandB>=1))||((u1.resA>=1)&&(u2.Clients>=1)))||((u1.resA>=1)&&(u0.haveB>=1)))) U (u0.haveA2andB<1)))) + (EG(EF(((((u2.haveA2<1)&&((u0.resB<1)||(u1.haveA<1)))&&(u1.haveAandB<1))&&(u0.haveA2andB<1)))) * !(EX((((((u2.haveA2>=1)||((u0.resB>=1)&&(u1.haveA>=1)))||((u1.resA>=1)&&(u2.Clients>=1)))||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u0.haveB>=1))))))))
=> equivalent forward existential formula: [((Init * !(EG(!((!(E(((((((((((((((u2.haveA2>=1)||((u0.resB>=1)&&(u1.haveA>=1)))||(u1.haveAandB>=1))||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u2.Clients>=1)))||((u1.resA>=1)&&(u0.haveB>=1)))||(u1.haveAandB>=1))||((u1.resA>=1)&&(u2.Clients>=1))) * !(EX(!(((((((u0.resB>=1)&&(u1.haveA>=1))||(u1.haveAandB>=1))||((u1.resA>=1)&&(u2.Clients>=1)))||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u0.haveB>=1))))))) + (u2.haveA2>=1)) + (u1.haveAandB>=1)) + (u0.haveA2andB>=1)) + ((u1.resA>=1)&&(u2.Clients>=1))) + ((u1.resA>=1)&&(u0.haveB>=1))) U E(((((u0.resB>=1)&&(u1.haveA>=1))||(u1.haveAandB>=1))&&((((u2.haveA2>=1)||(u1.haveAandB>=1))||((u1.resA>=1)&&(u2.Clients>=1)))||((u1.resA>=1)&&(u0.haveB>=1)))) U (u0.haveA2andB<1)))) + (EG(E(TRUE U ((((u2.haveA2<1)&&((u0.resB<1)||(u1.haveA<1)))&&(u1.haveAandB<1))&&(u0.haveA2andB<1)))) * !(EX((((((u2.haveA2>=1)||((u0.resB>=1)&&(u1.haveA>=1)))||((u1.resA>=1)&&(u2.Clients>=1)))||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u0.haveB>=1))))))))))) * !(E(!((!(E(((((((((((((((u2.haveA2>=1)||((u0.resB>=1)&&(u1.haveA>=1)))||(u1.haveAandB>=1))||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u2.Clients>=1)))||((u1.resA>=1)&&(u0.haveB>=1)))||(u1.haveAandB>=1))||((u1.resA>=1)&&(u2.Clients>=1))) * !(EX(!(((((((u0.resB>=1)&&(u1.haveA>=1))||(u1.haveAandB>=1))||((u1.resA>=1)&&(u2.Clients>=1)))||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u0.haveB>=1))))))) + (u2.haveA2>=1)) + (u1.haveAandB>=1)) + (u0.haveA2andB>=1)) + ((u1.resA>=1)&&(u2.Clients>=1))) + ((u1.resA>=1)&&(u0.haveB>=1))) U E(((((u0.resB>=1)&&(u1.haveA>=1))||(u1.haveAandB>=1))&&((((u2.haveA2>=1)||(u1.haveAandB>=1))||((u1.resA>=1)&&(u2.Clients>=1)))||((u1.resA>=1)&&(u0.haveB>=1)))) U (u0.haveA2andB<1)))) + (EG(E(TRUE U ((((u2.haveA2<1)&&((u0.resB<1)||(u1.haveA<1)))&&(u1.haveAandB<1))&&(u0.haveA2andB<1)))) * !(EX((((((u2.haveA2>=1)||((u0.resB>=1)&&(u1.haveA>=1)))||((u1.resA>=1)&&(u2.Clients>=1)))||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u0.haveB>=1)))))))) U (!(!(EX(!(EG(EX(EX((((u0.haveA2andB>=1)||((u1.resA>=1)&&(u2.Clients>=1)))||((u1.resA>=1)&&(u0.haveB>=1)))))))))) * !((!(E(((((((((((((((u2.haveA2>=1)||((u0.resB>=1)&&(u1.haveA>=1)))||(u1.haveAandB>=1))||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u2.Clients>=1)))||((u1.resA>=1)&&(u0.haveB>=1)))||(u1.haveAandB>=1))||((u1.resA>=1)&&(u2.Clients>=1))) * !(EX(!(((((((u0.resB>=1)&&(u1.haveA>=1))||(u1.haveAandB>=1))||((u1.resA>=1)&&(u2.Clients>=1)))||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u0.haveB>=1))))))) + (u2.haveA2>=1)) + (u1.haveAandB>=1)) + (u0.haveA2andB>=1)) + ((u1.resA>=1)&&(u2.Clients>=1))) + ((u1.resA>=1)&&(u0.haveB>=1))) U E(((((u0.resB>=1)&&(u1.haveA>=1))||(u1.haveAandB>=1))&&((((u2.haveA2>=1)||(u1.haveAandB>=1))||((u1.resA>=1)&&(u2.Clients>=1)))||((u1.resA>=1)&&(u0.haveB>=1)))) U (u0.haveA2andB<1)))) + (EG(E(TRUE U ((((u2.haveA2<1)&&((u0.resB<1)||(u1.haveA<1)))&&(u1.haveAandB<1))&&(u0.haveA2andB<1)))) * !(EX((((((u2.haveA2>=1)||((u0.resB>=1)&&(u1.haveA>=1)))||((u1.resA>=1)&&(u2.Clients>=1)))||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u0.haveB>=1))))))))))))] != FALSE
(forward)formula 2,0,0.401087,14644,1,0,11098,2138,207,14724,84,8714,20443
FORMULA TwoPhaseLocking-PT-nC00010vD-CTLFireability-02 FALSE TECHNIQUES DECISION_DIAGRAMS TOPOLOGICAL USE_NUPN
Formula is FALSE !
***************************************
original formula: !(EF(EX(TRUE)))
=> equivalent forward existential formula: [(EY(FwdU(Init,TRUE)) * TRUE)] = FALSE
(forward)formula 3,0,0.401174,14644,1,0,11098,2138,207,14724,84,8714,20443
FORMULA TwoPhaseLocking-PT-nC00010vD-CTLFireability-03 FALSE TECHNIQUES DECISION_DIAGRAMS TOPOLOGICAL USE_NUPN
Formula is FALSE !
***************************************
original formula: AF((((AG((AG(((u0.haveA2andB>=1)||((u1.resA>=1)&&(u0.haveB>=1)))) + A(((((u2.haveA2>=1)||(u1.haveAandB>=1))||((u1.resA>=1)&&(u2.Clients>=1)))||((u1.resA>=1)&&(u0.haveB>=1))) U ((((u0.resB>=1)&&(u1.haveA>=1))||((u1.resA>=1)&&(u2.Clients>=1)))||((u1.resA>=1)&&(u0.haveB>=1)))))) + (((u1.resA>=1)&&(u0.haveB>=1)) * ((EX((u2.haveA2>=1)) + (((((u2.haveA2<1)&&(u1.haveAandB<1))&&(u0.haveA2andB<1))&&((u0.resB<1)||(u1.haveA<1)))&&((u1.resA<1)||(u2.Clients<1)))) + (AF((((u2.haveA2>=1)||((u0.resB>=1)&&(u1.haveA>=1)))||(u0.haveA2andB>=1))) * (u2.Clients>=1))))) + (!(AX((((((((u2.haveA2>=1)||((u0.resB>=1)&&(u1.haveA>=1)))||(u1.haveAandB>=1))||((u1.resA>=1)&&(u2.Clients>=1)))||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u0.haveB>=1)))&&(((((u0.resB>=1)&&(u1.haveA>=1))||(u1.haveAandB>=1))||((u1.resA>=1)&&(u2.Clients>=1)))||((u1.resA>=1)&&(u0.haveB>=1)))))) * ((((((((u2.haveA2<1)&&(u1.haveAandB<1))&&(u0.haveA2andB<1))&&((u0.resB<1)||(u1.haveA<1)))&&((u1.resA<1)||(u2.Clients<1)))&&((u1.resA<1)||(u0.haveB<1)))&&((u1.resA<1)||(u2.Clients<1))) + ((((((!(A(((((((u2.haveA2>=1)||((u0.resB>=1)&&(u1.haveA>=1)))||(u1.haveAandB>=1))||((u1.resA>=1)&&(u2.Clients>=1)))||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u0.haveB>=1))) U ((((u2.haveA2>=1)||((u0.resB>=1)&&(u1.haveA>=1)))||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u0.haveB>=1))))) * (u2.haveA2<1)) * (u1.haveAandB<1)) * (u0.haveA2andB<1)) * ((u0.resB<1)||(u1.haveA<1))) * ((u1.resA<1)||(u2.Clients<1))) * ((u1.resA<1)||(u0.haveB<1)))))) + (EX(AF(((((u2.haveA2>=1)||(u1.haveAandB>=1))||((u1.resA>=1)&&(u2.Clients>=1)))||((u1.resA>=1)&&(u0.haveB>=1))))) * ((u2.haveA2>=1)||((u1.resA>=1)&&(u0.haveB>=1))))))
=> equivalent forward existential formula: [FwdG(Init,!((((!(E(TRUE U !((!(E(TRUE U !(((u0.haveA2andB>=1)||((u1.resA>=1)&&(u0.haveB>=1)))))) + !((E(!(((((u0.resB>=1)&&(u1.haveA>=1))||((u1.resA>=1)&&(u2.Clients>=1)))||((u1.resA>=1)&&(u0.haveB>=1)))) U (!(((((u2.haveA2>=1)||(u1.haveAandB>=1))||((u1.resA>=1)&&(u2.Clients>=1)))||((u1.resA>=1)&&(u0.haveB>=1)))) * !(((((u0.resB>=1)&&(u1.haveA>=1))||((u1.resA>=1)&&(u2.Clients>=1)))||((u1.resA>=1)&&(u0.haveB>=1)))))) + EG(!(((((u0.resB>=1)&&(u1.haveA>=1))||((u1.resA>=1)&&(u2.Clients>=1)))||((u1.resA>=1)&&(u0.haveB>=1))))))))))) + (((u1.resA>=1)&&(u0.haveB>=1)) * ((EX((u2.haveA2>=1)) + (((((u2.haveA2<1)&&(u1.haveAandB<1))&&(u0.haveA2andB<1))&&((u0.resB<1)||(u1.haveA<1)))&&((u1.resA<1)||(u2.Clients<1)))) + (!(EG(!((((u2.haveA2>=1)||((u0.resB>=1)&&(u1.haveA>=1)))||(u0.haveA2andB>=1))))) * (u2.Clients>=1))))) + (!(!(EX(!((((((((u2.haveA2>=1)||((u0.resB>=1)&&(u1.haveA>=1)))||(u1.haveAandB>=1))||((u1.resA>=1)&&(u2.Clients>=1)))||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u0.haveB>=1)))&&(((((u0.resB>=1)&&(u1.haveA>=1))||(u1.haveAandB>=1))||((u1.resA>=1)&&(u2.Clients>=1)))||((u1.resA>=1)&&(u0.haveB>=1)))))))) * ((((((((u2.haveA2<1)&&(u1.haveAandB<1))&&(u0.haveA2andB<1))&&((u0.resB<1)||(u1.haveA<1)))&&((u1.resA<1)||(u2.Clients<1)))&&((u1.resA<1)||(u0.haveB<1)))&&((u1.resA<1)||(u2.Clients<1))) + ((((((!(!((E(!(((((u2.haveA2>=1)||((u0.resB>=1)&&(u1.haveA>=1)))||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u0.haveB>=1)))) U (!(((((((u2.haveA2>=1)||((u0.resB>=1)&&(u1.haveA>=1)))||(u1.haveAandB>=1))||((u1.resA>=1)&&(u2.Clients>=1)))||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u0.haveB>=1)))) * !(((((u2.haveA2>=1)||((u0.resB>=1)&&(u1.haveA>=1)))||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u0.haveB>=1)))))) + EG(!(((((u2.haveA2>=1)||((u0.resB>=1)&&(u1.haveA>=1)))||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u0.haveB>=1)))))))) * (u2.haveA2<1)) * (u1.haveAandB<1)) * (u0.haveA2andB<1)) * ((u0.resB<1)||(u1.haveA<1))) * ((u1.resA<1)||(u2.Clients<1))) * ((u1.resA<1)||(u0.haveB<1)))))) + (EX(!(EG(!(((((u2.haveA2>=1)||(u1.haveAandB>=1))||((u1.resA>=1)&&(u2.Clients>=1)))||((u1.resA>=1)&&(u0.haveB>=1))))))) * ((u2.haveA2>=1)||((u1.resA>=1)&&(u0.haveB>=1)))))))] = FALSE
(forward)formula 4,1,0.450869,15436,1,0,12948,2683,262,16484,84,9807,24093
FORMULA TwoPhaseLocking-PT-nC00010vD-CTLFireability-04 TRUE TECHNIQUES DECISION_DIAGRAMS TOPOLOGICAL USE_NUPN
Formula is TRUE !
***************************************
original formula: !(E((((((((((((((AX(((((u0.resB>=1)&&(u1.haveA>=1))||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u2.Clients>=1)))) + EG((u0.haveA2andB>=1))) + A((((((u2.haveA2>=1)||((u0.resB>=1)&&(u1.haveA>=1)))||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u2.Clients>=1)))||((u1.resA>=1)&&(u0.haveB>=1))) U ((((((u2.haveA2>=1)||((u0.resB>=1)&&(u1.haveA>=1)))||(u1.haveAandB>=1))||((u1.resA>=1)&&(u2.Clients>=1)))||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u0.haveB>=1))))) + A((((((u2.haveA2>=1)||((u0.resB>=1)&&(u1.haveA>=1)))||(u1.haveAandB>=1))||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u0.haveB>=1))) U ((((((u2.haveA2>=1)||((u0.resB>=1)&&(u1.haveA>=1)))||(u1.haveAandB>=1))||((u1.resA>=1)&&(u2.Clients>=1)))||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u0.haveB>=1))))) + (u2.haveA2>=1)) + (u0.haveA2andB>=1)) + ((u1.resA>=1)&&(u0.haveB>=1))) + (u1.haveAandB>=1)) + (u0.haveA2andB>=1)) + (u2.haveA2>=1)) + (u1.haveAandB>=1)) + (u0.haveA2andB>=1)) + ((u1.resA>=1)&&(u2.Clients>=1))) + ((u1.resA>=1)&&(u0.haveB>=1))) U AG(((((((((((u2.haveA2>=1)||((u0.resB>=1)&&(u1.haveA>=1)))||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u2.Clients>=1)))||((u1.resA>=1)&&(u0.haveB>=1)))||((u0.resB>=1)&&(u1.haveA>=1)))||(u1.haveAandB>=1))||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u2.Clients>=1)))||((u1.resA>=1)&&(u0.haveB>=1))))))
=> equivalent forward existential formula: [(FwdU(Init,(((((((((((((!(EX(!(((((u0.resB>=1)&&(u1.haveA>=1))||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u2.Clients>=1)))))) + EG((u0.haveA2andB>=1))) + !((E(!(((((((u2.haveA2>=1)||((u0.resB>=1)&&(u1.haveA>=1)))||(u1.haveAandB>=1))||((u1.resA>=1)&&(u2.Clients>=1)))||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u0.haveB>=1)))) U (!((((((u2.haveA2>=1)||((u0.resB>=1)&&(u1.haveA>=1)))||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u2.Clients>=1)))||((u1.resA>=1)&&(u0.haveB>=1)))) * !(((((((u2.haveA2>=1)||((u0.resB>=1)&&(u1.haveA>=1)))||(u1.haveAandB>=1))||((u1.resA>=1)&&(u2.Clients>=1)))||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u0.haveB>=1)))))) + EG(!(((((((u2.haveA2>=1)||((u0.resB>=1)&&(u1.haveA>=1)))||(u1.haveAandB>=1))||((u1.resA>=1)&&(u2.Clients>=1)))||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u0.haveB>=1)))))))) + !((E(!(((((((u2.haveA2>=1)||((u0.resB>=1)&&(u1.haveA>=1)))||(u1.haveAandB>=1))||((u1.resA>=1)&&(u2.Clients>=1)))||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u0.haveB>=1)))) U (!((((((u2.haveA2>=1)||((u0.resB>=1)&&(u1.haveA>=1)))||(u1.haveAandB>=1))||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u0.haveB>=1)))) * !(((((((u2.haveA2>=1)||((u0.resB>=1)&&(u1.haveA>=1)))||(u1.haveAandB>=1))||((u1.resA>=1)&&(u2.Clients>=1)))||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u0.haveB>=1)))))) + EG(!(((((((u2.haveA2>=1)||((u0.resB>=1)&&(u1.haveA>=1)))||(u1.haveAandB>=1))||((u1.resA>=1)&&(u2.Clients>=1)))||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u0.haveB>=1)))))))) + (u2.haveA2>=1)) + (u0.haveA2andB>=1)) + ((u1.resA>=1)&&(u0.haveB>=1))) + (u1.haveAandB>=1)) + (u0.haveA2andB>=1)) + (u2.haveA2>=1)) + (u1.haveAandB>=1)) + (u0.haveA2andB>=1)) + ((u1.resA>=1)&&(u2.Clients>=1))) + ((u1.resA>=1)&&(u0.haveB>=1)))) * !(E(TRUE U !(((((((((((u2.haveA2>=1)||((u0.resB>=1)&&(u1.haveA>=1)))||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u2.Clients>=1)))||((u1.resA>=1)&&(u0.haveB>=1)))||((u0.resB>=1)&&(u1.haveA>=1)))||(u1.haveAandB>=1))||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u2.Clients>=1)))||((u1.resA>=1)&&(u0.haveB>=1)))))))] = FALSE
(forward)formula 5,1,0.453087,15436,1,0,12948,2683,262,16484,84,9807,24093
FORMULA TwoPhaseLocking-PT-nC00010vD-CTLFireability-05 TRUE TECHNIQUES DECISION_DIAGRAMS TOPOLOGICAL USE_NUPN
Formula is TRUE !
***************************************
original formula: EX(E(A((!(AX(((u2.haveA2>=1)||((u0.resB>=1)&&(u1.haveA>=1))))) + (((((u2.haveA2<1)&&(u1.haveAandB<1))&&((u0.resB<1)||(u1.haveA<1)))&&((u1.resA<1)||(u2.Clients<1)))&&((u1.resA<1)||(u0.haveB<1)))) U (AF(((((((u2.haveA2>=1)||((u0.resB>=1)&&(u1.haveA>=1)))||(u1.haveAandB>=1))||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u2.Clients>=1)))||((u1.resA>=1)&&(u0.haveB>=1)))) + ((E(((((u2.haveA2>=1)||((u0.resB>=1)&&(u1.haveA>=1)))||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u0.haveB>=1))) U (((((u2.haveA2>=1)||((u0.resB>=1)&&(u1.haveA>=1)))||(u1.haveAandB>=1))||((u1.resA>=1)&&(u2.Clients>=1)))||((u1.resA>=1)&&(u0.haveB>=1)))) * (u0.resB>=1)) * (u1.haveA>=1)))) U (!(EX(((u1.resA<1)||(u0.haveB<1)))) + (A(AF((((u2.haveA2>=1)||((u0.resB>=1)&&(u1.haveA>=1)))||((u1.resA>=1)&&(u2.Clients>=1)))) U AG((u0.haveA2andB>=1))) * (((u2.haveA2>=1)||((u1.resA>=1)&&(u2.Clients>=1)))||((u1.resA>=1)&&(u0.haveB>=1)))))))
=> equivalent forward existential formula: ([(FwdU(EY(Init),!((E(!((!(EG(!(((((((u2.haveA2>=1)||((u0.resB>=1)&&(u1.haveA>=1)))||(u1.haveAandB>=1))||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u2.Clients>=1)))||((u1.resA>=1)&&(u0.haveB>=1)))))) + ((E(((((u2.haveA2>=1)||((u0.resB>=1)&&(u1.haveA>=1)))||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u0.haveB>=1))) U (((((u2.haveA2>=1)||((u0.resB>=1)&&(u1.haveA>=1)))||(u1.haveAandB>=1))||((u1.resA>=1)&&(u2.Clients>=1)))||((u1.resA>=1)&&(u0.haveB>=1)))) * (u0.resB>=1)) * (u1.haveA>=1)))) U (!((!(!(EX(!(((u2.haveA2>=1)||((u0.resB>=1)&&(u1.haveA>=1))))))) + (((((u2.haveA2<1)&&(u1.haveAandB<1))&&((u0.resB<1)||(u1.haveA<1)))&&((u1.resA<1)||(u2.Clients<1)))&&((u1.resA<1)||(u0.haveB<1))))) * !((!(EG(!(((((((u2.haveA2>=1)||((u0.resB>=1)&&(u1.haveA>=1)))||(u1.haveAandB>=1))||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u2.Clients>=1)))||((u1.resA>=1)&&(u0.haveB>=1)))))) + ((E(((((u2.haveA2>=1)||((u0.resB>=1)&&(u1.haveA>=1)))||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u0.haveB>=1))) U (((((u2.haveA2>=1)||((u0.resB>=1)&&(u1.haveA>=1)))||(u1.haveAandB>=1))||((u1.resA>=1)&&(u2.Clients>=1)))||((u1.resA>=1)&&(u0.haveB>=1)))) * (u0.resB>=1)) * (u1.haveA>=1)))))) + EG(!((!(EG(!(((((((u2.haveA2>=1)||((u0.resB>=1)&&(u1.haveA>=1)))||(u1.haveAandB>=1))||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u2.Clients>=1)))||((u1.resA>=1)&&(u0.haveB>=1)))))) + ((E(((((u2.haveA2>=1)||((u0.resB>=1)&&(u1.haveA>=1)))||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u0.haveB>=1))) U (((((u2.haveA2>=1)||((u0.resB>=1)&&(u1.haveA>=1)))||(u1.haveAandB>=1))||((u1.resA>=1)&&(u2.Clients>=1)))||((u1.resA>=1)&&(u0.haveB>=1)))) * (u0.resB>=1)) * (u1.haveA>=1)))))))) * !(EX(((u1.resA<1)||(u0.haveB<1)))))] != FALSE + [(((FwdU(EY(Init),!((E(!((!(EG(!(((((((u2.haveA2>=1)||((u0.resB>=1)&&(u1.haveA>=1)))||(u1.haveAandB>=1))||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u2.Clients>=1)))||((u1.resA>=1)&&(u0.haveB>=1)))))) + ((E(((((u2.haveA2>=1)||((u0.resB>=1)&&(u1.haveA>=1)))||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u0.haveB>=1))) U (((((u2.haveA2>=1)||((u0.resB>=1)&&(u1.haveA>=1)))||(u1.haveAandB>=1))||((u1.resA>=1)&&(u2.Clients>=1)))||((u1.resA>=1)&&(u0.haveB>=1)))) * (u0.resB>=1)) * (u1.haveA>=1)))) U (!((!(!(EX(!(((u2.haveA2>=1)||((u0.resB>=1)&&(u1.haveA>=1))))))) + (((((u2.haveA2<1)&&(u1.haveAandB<1))&&((u0.resB<1)||(u1.haveA<1)))&&((u1.resA<1)||(u2.Clients<1)))&&((u1.resA<1)||(u0.haveB<1))))) * !((!(EG(!(((((((u2.haveA2>=1)||((u0.resB>=1)&&(u1.haveA>=1)))||(u1.haveAandB>=1))||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u2.Clients>=1)))||((u1.resA>=1)&&(u0.haveB>=1)))))) + ((E(((((u2.haveA2>=1)||((u0.resB>=1)&&(u1.haveA>=1)))||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u0.haveB>=1))) U (((((u2.haveA2>=1)||((u0.resB>=1)&&(u1.haveA>=1)))||(u1.haveAandB>=1))||((u1.resA>=1)&&(u2.Clients>=1)))||((u1.resA>=1)&&(u0.haveB>=1)))) * (u0.resB>=1)) * (u1.haveA>=1)))))) + EG(!((!(EG(!(((((((u2.haveA2>=1)||((u0.resB>=1)&&(u1.haveA>=1)))||(u1.haveAandB>=1))||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u2.Clients>=1)))||((u1.resA>=1)&&(u0.haveB>=1)))))) + ((E(((((u2.haveA2>=1)||((u0.resB>=1)&&(u1.haveA>=1)))||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u0.haveB>=1))) U (((((u2.haveA2>=1)||((u0.resB>=1)&&(u1.haveA>=1)))||(u1.haveAandB>=1))||((u1.resA>=1)&&(u2.Clients>=1)))||((u1.resA>=1)&&(u0.haveB>=1)))) * (u0.resB>=1)) * (u1.haveA>=1)))))))) * (((u2.haveA2>=1)||((u1.resA>=1)&&(u2.Clients>=1)))||((u1.resA>=1)&&(u0.haveB>=1)))) * !(EG(!(!(E(TRUE U !((u0.haveA2andB>=1)))))))) * !(E(!(!(E(TRUE U !((u0.haveA2andB>=1))))) U (!(!(EG(!((((u2.haveA2>=1)||((u0.resB>=1)&&(u1.haveA>=1)))||((u1.resA>=1)&&(u2.Clients>=1))))))) * !(!(E(TRUE U !((u0.haveA2andB>=1)))))))))] != FALSE)
(forward)formula 6,1,0.536261,16492,1,0,14623,3036,285,18307,84,10523,27691
FORMULA TwoPhaseLocking-PT-nC00010vD-CTLFireability-09 TRUE TECHNIQUES DECISION_DIAGRAMS TOPOLOGICAL USE_NUPN
Formula is TRUE !
***************************************
original formula: AG(((u0.haveA2andB>=1) + (AF((!(E((((u1.resA>=1)&&(u2.Clients>=1))||((u1.resA>=1)&&(u0.haveB>=1))) U ((((((u2.haveA2>=1)||((u0.resB>=1)&&(u1.haveA>=1)))||(u1.haveAandB>=1))||((u1.resA>=1)&&(u2.Clients>=1)))||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u0.haveB>=1))))) * EX(((((((u0.resB>=1)&&(u1.haveA>=1))||(u1.haveAandB>=1))||((u1.resA>=1)&&(u2.Clients>=1)))||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u0.haveB>=1)))))) * EX((EG((((u2.haveA2>=1)||(u1.haveAandB>=1))||((u1.resA>=1)&&(u2.Clients>=1)))) + (((EF((((u2.haveA2>=1)||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u0.haveB>=1)))) * (u1.resA>=1)) * (u0.haveB>=1)) * (((u2.haveA2>=1)||((u0.resB>=1)&&(u1.haveA>=1)))||(u1.haveAandB>=1))))))))
=> equivalent forward existential formula: ([FwdG((FwdU(Init,TRUE) * !((u0.haveA2andB>=1))),!((!(E((((u1.resA>=1)&&(u2.Clients>=1))||((u1.resA>=1)&&(u0.haveB>=1))) U ((((((u2.haveA2>=1)||((u0.resB>=1)&&(u1.haveA>=1)))||(u1.haveAandB>=1))||((u1.resA>=1)&&(u2.Clients>=1)))||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u0.haveB>=1))))) * EX(((((((u0.resB>=1)&&(u1.haveA>=1))||(u1.haveAandB>=1))||((u1.resA>=1)&&(u2.Clients>=1)))||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u0.haveB>=1)))))))] = FALSE * [((FwdU(Init,TRUE) * !((u0.haveA2andB>=1))) * !(EX((EG((((u2.haveA2>=1)||(u1.haveAandB>=1))||((u1.resA>=1)&&(u2.Clients>=1)))) + (((E(TRUE U (((u2.haveA2>=1)||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u0.haveB>=1)))) * (u1.resA>=1)) * (u0.haveB>=1)) * (((u2.haveA2>=1)||((u0.resB>=1)&&(u1.haveA>=1)))||(u1.haveAandB>=1)))))))] = FALSE)
(forward)formula 7,0,0.543201,16756,1,0,14637,3037,291,18423,84,10524,27771
FORMULA TwoPhaseLocking-PT-nC00010vD-CTLFireability-10 FALSE TECHNIQUES DECISION_DIAGRAMS TOPOLOGICAL USE_NUPN
Formula is FALSE !
***************************************
original formula: EG(((!(EX((((u1.haveAandB>=1)||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u0.haveB>=1))))) + !(E((((((u0.resB>=1)&&(u1.haveA>=1))||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u2.Clients>=1)))&&((u2.haveA2>=1)||(u1.haveAandB>=1))) U (((((((u2.haveA2>=1)||((u0.resB>=1)&&(u1.haveA>=1)))||(u1.haveAandB>=1))||((u1.resA>=1)&&(u2.Clients>=1)))||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u0.haveB>=1)))&&((((((u0.resB>=1)&&(u1.haveA>=1))||(u1.haveAandB>=1))||((u1.resA>=1)&&(u2.Clients>=1)))||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u0.haveB>=1))))))) + (((u2.haveA2<1)&&(u0.haveA2andB<1))&&((u1.resA<1)||(u0.haveB<1)))))
=> equivalent forward existential formula: [FwdG(Init,((!(EX((((u1.haveAandB>=1)||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u0.haveB>=1))))) + !(E((((((u0.resB>=1)&&(u1.haveA>=1))||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u2.Clients>=1)))&&((u2.haveA2>=1)||(u1.haveAandB>=1))) U (((((((u2.haveA2>=1)||((u0.resB>=1)&&(u1.haveA>=1)))||(u1.haveAandB>=1))||((u1.resA>=1)&&(u2.Clients>=1)))||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u0.haveB>=1)))&&((((((u0.resB>=1)&&(u1.haveA>=1))||(u1.haveAandB>=1))||((u1.resA>=1)&&(u2.Clients>=1)))||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u0.haveB>=1))))))) + (((u2.haveA2<1)&&(u0.haveA2andB<1))&&((u1.resA<1)||(u0.haveB<1)))))] != FALSE
(forward)formula 8,0,0.552806,17020,1,0,14818,3065,308,18622,84,10580,28182
FORMULA TwoPhaseLocking-PT-nC00010vD-CTLFireability-11 FALSE TECHNIQUES DECISION_DIAGRAMS TOPOLOGICAL USE_NUPN
Formula is FALSE !
***************************************
original formula: EX((((((!(EG((((((u2.haveA2>=1)||((u0.resB>=1)&&(u1.haveA>=1)))||((u1.resA>=1)&&(u2.Clients>=1)))||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u0.haveB>=1))))) * E((((((u2.haveA2>=1)||((u0.resB>=1)&&(u1.haveA>=1)))||(u1.haveAandB>=1))||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u0.haveB>=1))) U ((((u0.resB>=1)&&(u1.haveA>=1))||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u0.haveB>=1))))) * !(E((((((u2.haveA2>=1)||(u1.haveAandB>=1))||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u2.Clients>=1)))||((u1.resA>=1)&&(u0.haveB>=1))) U ((((u2.haveA2>=1)||(u1.haveAandB>=1))||((u1.resA>=1)&&(u2.Clients>=1)))||(u0.haveA2andB>=1))))) * EG((((u0.resB>=1)&&(u1.haveA>=1))||((u1.resA>=1)&&(u2.Clients>=1))))) * ((((u2.haveA2>=1)||(u1.haveAandB>=1))||((u1.resA>=1)&&(u2.Clients>=1)))||((u1.resA>=1)&&(u0.haveB>=1)))) * ((((((!(AG(((((u0.resB>=1)&&(u1.haveA>=1))||(u1.haveAandB>=1))||((u1.resA>=1)&&(u0.haveB>=1))))) + AF((((u0.resB>=1)&&(u1.haveA>=1))||(u1.haveAandB>=1)))) + (u2.haveA2>=1)) + (u1.haveAandB>=1)) + (u0.haveA2andB>=1)) + ((u1.resA>=1)&&(u2.Clients>=1))) + ((u1.resA>=1)&&(u0.haveB>=1)))))
=> equivalent forward existential formula: (((((([(FwdU((EY(Init) * ((((!(EG((((((u2.haveA2>=1)||((u0.resB>=1)&&(u1.haveA>=1)))||((u1.resA>=1)&&(u2.Clients>=1)))||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u0.haveB>=1))))) * E((((((u2.haveA2>=1)||((u0.resB>=1)&&(u1.haveA>=1)))||(u1.haveAandB>=1))||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u0.haveB>=1))) U ((((u0.resB>=1)&&(u1.haveA>=1))||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u0.haveB>=1))))) * !(E((((((u2.haveA2>=1)||(u1.haveAandB>=1))||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u2.Clients>=1)))||((u1.resA>=1)&&(u0.haveB>=1))) U ((((u2.haveA2>=1)||(u1.haveAandB>=1))||((u1.resA>=1)&&(u2.Clients>=1)))||(u0.haveA2andB>=1))))) * EG((((u0.resB>=1)&&(u1.haveA>=1))||((u1.resA>=1)&&(u2.Clients>=1))))) * ((((u2.haveA2>=1)||(u1.haveAandB>=1))||((u1.resA>=1)&&(u2.Clients>=1)))||((u1.resA>=1)&&(u0.haveB>=1))))),TRUE) * !(((((u0.resB>=1)&&(u1.haveA>=1))||(u1.haveAandB>=1))||((u1.resA>=1)&&(u0.haveB>=1)))))] != FALSE + [((EY(Init) * ((((!(EG((((((u2.haveA2>=1)||((u0.resB>=1)&&(u1.haveA>=1)))||((u1.resA>=1)&&(u2.Clients>=1)))||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u0.haveB>=1))))) * E((((((u2.haveA2>=1)||((u0.resB>=1)&&(u1.haveA>=1)))||(u1.haveAandB>=1))||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u0.haveB>=1))) U ((((u0.resB>=1)&&(u1.haveA>=1))||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u0.haveB>=1))))) * !(E((((((u2.haveA2>=1)||(u1.haveAandB>=1))||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u2.Clients>=1)))||((u1.resA>=1)&&(u0.haveB>=1))) U ((((u2.haveA2>=1)||(u1.haveAandB>=1))||((u1.resA>=1)&&(u2.Clients>=1)))||(u0.haveA2andB>=1))))) * EG((((u0.resB>=1)&&(u1.haveA>=1))||((u1.resA>=1)&&(u2.Clients>=1))))) * ((((u2.haveA2>=1)||(u1.haveAandB>=1))||((u1.resA>=1)&&(u2.Clients>=1)))||((u1.resA>=1)&&(u0.haveB>=1))))) * !(EG(!((((u0.resB>=1)&&(u1.haveA>=1))||(u1.haveAandB>=1))))))] != FALSE) + [((EY(Init) * ((((!(EG((((((u2.haveA2>=1)||((u0.resB>=1)&&(u1.haveA>=1)))||((u1.resA>=1)&&(u2.Clients>=1)))||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u0.haveB>=1))))) * E((((((u2.haveA2>=1)||((u0.resB>=1)&&(u1.haveA>=1)))||(u1.haveAandB>=1))||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u0.haveB>=1))) U ((((u0.resB>=1)&&(u1.haveA>=1))||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u0.haveB>=1))))) * !(E((((((u2.haveA2>=1)||(u1.haveAandB>=1))||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u2.Clients>=1)))||((u1.resA>=1)&&(u0.haveB>=1))) U ((((u2.haveA2>=1)||(u1.haveAandB>=1))||((u1.resA>=1)&&(u2.Clients>=1)))||(u0.haveA2andB>=1))))) * EG((((u0.resB>=1)&&(u1.haveA>=1))||((u1.resA>=1)&&(u2.Clients>=1))))) * ((((u2.haveA2>=1)||(u1.haveAandB>=1))||((u1.resA>=1)&&(u2.Clients>=1)))||((u1.resA>=1)&&(u0.haveB>=1))))) * (u2.haveA2>=1))] != FALSE) + [((EY(Init) * ((((!(EG((((((u2.haveA2>=1)||((u0.resB>=1)&&(u1.haveA>=1)))||((u1.resA>=1)&&(u2.Clients>=1)))||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u0.haveB>=1))))) * E((((((u2.haveA2>=1)||((u0.resB>=1)&&(u1.haveA>=1)))||(u1.haveAandB>=1))||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u0.haveB>=1))) U ((((u0.resB>=1)&&(u1.haveA>=1))||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u0.haveB>=1))))) * !(E((((((u2.haveA2>=1)||(u1.haveAandB>=1))||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u2.Clients>=1)))||((u1.resA>=1)&&(u0.haveB>=1))) U ((((u2.haveA2>=1)||(u1.haveAandB>=1))||((u1.resA>=1)&&(u2.Clients>=1)))||(u0.haveA2andB>=1))))) * EG((((u0.resB>=1)&&(u1.haveA>=1))||((u1.resA>=1)&&(u2.Clients>=1))))) * ((((u2.haveA2>=1)||(u1.haveAandB>=1))||((u1.resA>=1)&&(u2.Clients>=1)))||((u1.resA>=1)&&(u0.haveB>=1))))) * (u1.haveAandB>=1))] != FALSE) + [((EY(Init) * ((((!(EG((((((u2.haveA2>=1)||((u0.resB>=1)&&(u1.haveA>=1)))||((u1.resA>=1)&&(u2.Clients>=1)))||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u0.haveB>=1))))) * E((((((u2.haveA2>=1)||((u0.resB>=1)&&(u1.haveA>=1)))||(u1.haveAandB>=1))||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u0.haveB>=1))) U ((((u0.resB>=1)&&(u1.haveA>=1))||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u0.haveB>=1))))) * !(E((((((u2.haveA2>=1)||(u1.haveAandB>=1))||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u2.Clients>=1)))||((u1.resA>=1)&&(u0.haveB>=1))) U ((((u2.haveA2>=1)||(u1.haveAandB>=1))||((u1.resA>=1)&&(u2.Clients>=1)))||(u0.haveA2andB>=1))))) * EG((((u0.resB>=1)&&(u1.haveA>=1))||((u1.resA>=1)&&(u2.Clients>=1))))) * ((((u2.haveA2>=1)||(u1.haveAandB>=1))||((u1.resA>=1)&&(u2.Clients>=1)))||((u1.resA>=1)&&(u0.haveB>=1))))) * (u0.haveA2andB>=1))] != FALSE) + [((EY(Init) * ((((!(EG((((((u2.haveA2>=1)||((u0.resB>=1)&&(u1.haveA>=1)))||((u1.resA>=1)&&(u2.Clients>=1)))||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u0.haveB>=1))))) * E((((((u2.haveA2>=1)||((u0.resB>=1)&&(u1.haveA>=1)))||(u1.haveAandB>=1))||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u0.haveB>=1))) U ((((u0.resB>=1)&&(u1.haveA>=1))||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u0.haveB>=1))))) * !(E((((((u2.haveA2>=1)||(u1.haveAandB>=1))||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u2.Clients>=1)))||((u1.resA>=1)&&(u0.haveB>=1))) U ((((u2.haveA2>=1)||(u1.haveAandB>=1))||((u1.resA>=1)&&(u2.Clients>=1)))||(u0.haveA2andB>=1))))) * EG((((u0.resB>=1)&&(u1.haveA>=1))||((u1.resA>=1)&&(u2.Clients>=1))))) * ((((u2.haveA2>=1)||(u1.haveAandB>=1))||((u1.resA>=1)&&(u2.Clients>=1)))||((u1.resA>=1)&&(u0.haveB>=1))))) * ((u1.resA>=1)&&(u2.Clients>=1)))] != FALSE) + [((EY(Init) * ((((!(EG((((((u2.haveA2>=1)||((u0.resB>=1)&&(u1.haveA>=1)))||((u1.resA>=1)&&(u2.Clients>=1)))||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u0.haveB>=1))))) * E((((((u2.haveA2>=1)||((u0.resB>=1)&&(u1.haveA>=1)))||(u1.haveAandB>=1))||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u0.haveB>=1))) U ((((u0.resB>=1)&&(u1.haveA>=1))||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u0.haveB>=1))))) * !(E((((((u2.haveA2>=1)||(u1.haveAandB>=1))||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u2.Clients>=1)))||((u1.resA>=1)&&(u0.haveB>=1))) U ((((u2.haveA2>=1)||(u1.haveAandB>=1))||((u1.resA>=1)&&(u2.Clients>=1)))||(u0.haveA2andB>=1))))) * EG((((u0.resB>=1)&&(u1.haveA>=1))||((u1.resA>=1)&&(u2.Clients>=1))))) * ((((u2.haveA2>=1)||(u1.haveAandB>=1))||((u1.resA>=1)&&(u2.Clients>=1)))||((u1.resA>=1)&&(u0.haveB>=1))))) * ((u1.resA>=1)&&(u0.haveB>=1)))] != FALSE)
(forward)formula 9,0,0.615943,17812,1,0,16071,3322,328,19945,84,11092,30975
FORMULA TwoPhaseLocking-PT-nC00010vD-CTLFireability-12 FALSE TECHNIQUES DECISION_DIAGRAMS TOPOLOGICAL USE_NUPN
Formula is FALSE !
***************************************
original formula: !(AX(EG(((!(AG(((((((u2.haveA2>=1)||((u0.resB>=1)&&(u1.haveA>=1)))||(u1.haveAandB>=1))||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u2.Clients>=1)))||((u1.resA>=1)&&(u0.haveB>=1))))) * A(((u0.haveA2andB>=1)||((u1.resA>=1)&&(u2.Clients>=1))) U ((((u1.haveAandB>=1)||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u2.Clients>=1)))||((u1.resA>=1)&&(u0.haveB>=1))))) * AX(((((((u0.resB>=1)&&(u1.haveA>=1))||(u1.haveAandB>=1))||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u2.Clients>=1)))||((u1.resA>=1)&&(u0.haveB>=1))))))))
=> equivalent forward existential formula: [(EY(Init) * !(EG(((!(!(E(TRUE U !(((((((u2.haveA2>=1)||((u0.resB>=1)&&(u1.haveA>=1)))||(u1.haveAandB>=1))||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u2.Clients>=1)))||((u1.resA>=1)&&(u0.haveB>=1))))))) * !((E(!(((((u1.haveAandB>=1)||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u2.Clients>=1)))||((u1.resA>=1)&&(u0.haveB>=1)))) U (!(((u0.haveA2andB>=1)||((u1.resA>=1)&&(u2.Clients>=1)))) * !(((((u1.haveAandB>=1)||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u2.Clients>=1)))||((u1.resA>=1)&&(u0.haveB>=1)))))) + EG(!(((((u1.haveAandB>=1)||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u2.Clients>=1)))||((u1.resA>=1)&&(u0.haveB>=1)))))))) * !(EX(!(((((((u0.resB>=1)&&(u1.haveA>=1))||(u1.haveAandB>=1))||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u2.Clients>=1)))||((u1.resA>=1)&&(u0.haveB>=1))))))))))] != FALSE
(forward)formula 10,0,0.637295,18076,1,0,16291,3362,341,20448,84,11173,32523
FORMULA TwoPhaseLocking-PT-nC00010vD-CTLFireability-13 FALSE TECHNIQUES DECISION_DIAGRAMS TOPOLOGICAL USE_NUPN
Formula is FALSE !
***************************************
original formula: AG(((!(E(((u1.resA>=1)&&(u2.Clients>=1)) U AG((((u1.haveAandB>=1)||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u0.haveB>=1)))))) + !(AF(((((((u2.haveA2>=1)||((u0.resB>=1)&&(u1.haveA>=1)))||(u1.haveAandB>=1))||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u2.Clients>=1)))||((u1.resA>=1)&&(u0.haveB>=1)))))) + EX(E(((((((u2.haveA2>=1)||((u0.resB>=1)&&(u1.haveA>=1)))||(u1.haveAandB>=1))||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u2.Clients>=1)))||((u1.resA>=1)&&(u0.haveB>=1))) U ((u2.haveA2<1)&&(u0.haveA2andB<1))))))
=> equivalent forward existential formula: [(FwdU(((FwdU(Init,TRUE) * !(EX(E(((((((u2.haveA2>=1)||((u0.resB>=1)&&(u1.haveA>=1)))||(u1.haveAandB>=1))||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u2.Clients>=1)))||((u1.resA>=1)&&(u0.haveB>=1))) U ((u2.haveA2<1)&&(u0.haveA2andB<1)))))) * !(!(!(EG(!(((((((u2.haveA2>=1)||((u0.resB>=1)&&(u1.haveA>=1)))||(u1.haveAandB>=1))||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u2.Clients>=1)))||((u1.resA>=1)&&(u0.haveB>=1))))))))),((u1.resA>=1)&&(u2.Clients>=1))) * !(E(TRUE U !((((u1.haveAandB>=1)||(u0.haveA2andB>=1))||((u1.resA>=1)&&(u0.haveB>=1)))))))] = FALSE
(forward)formula 11,1,0.649064,18340,1,0,16758,3380,342,20984,84,11217,33302
FORMULA TwoPhaseLocking-PT-nC00010vD-CTLFireability-15 TRUE TECHNIQUES DECISION_DIAGRAMS TOPOLOGICAL USE_NUPN
Formula is TRUE !
***************************************
BK_STOP 1621451371809
--------------------
content from stderr:
+ export BINDIR=/home/mcc/BenchKit/bin//../
+ BINDIR=/home/mcc/BenchKit/bin//../
++ pwd
+ export MODEL=/home/mcc/execution
+ MODEL=/home/mcc/execution
+ [[ CTLFireability = StateSpace ]]
+ /home/mcc/BenchKit/bin//..//runeclipse.sh /home/mcc/execution CTLFireability -its -ltsmin -greatspnpath /home/mcc/BenchKit/bin//..//greatspn/ -order META -manyOrder -smt -timeout 3600
+ ulimit -s 65536
+ [[ -z '' ]]
+ export LTSMIN_MEM_SIZE=8589934592
+ LTSMIN_MEM_SIZE=8589934592
++ cut -d . -f 9
++ ls /home/mcc/BenchKit/bin//..//itstools/plugins/fr.lip6.move.gal.application.pnmcc_1.0.0.202104292328.jar
+ VERSION=0
+ echo 'Running Version 0'
+ /home/mcc/BenchKit/bin//..//itstools/its-tools -data /home/mcc/execution/workspace -pnfolder /home/mcc/execution -examination CTLFireability -spotpath /home/mcc/BenchKit/bin//..//ltlfilt -z3path /home/mcc/BenchKit/bin//..//z3/bin/z3 -yices2path /home/mcc/BenchKit/bin//..//yices/bin/yices -its -ltsmin -greatspnpath /home/mcc/BenchKit/bin//..//greatspn/ -order META -manyOrder -smt -timeout 3600 -vmargs -Dosgi.locking=none -Declipse.stateSaveDelayInterval=-1 -Dosgi.configuration.area=/tmp/.eclipse -Xss128m -Xms40m -Xmx16000m
Sequence of Actions to be Executed by the VM
This is useful if one wants to reexecute the tool in the VM from the submitted image disk.
set -x
# this is for BenchKit: configuration of major elements for the test
export BK_INPUT="TwoPhaseLocking-PT-nC00010vD"
export BK_EXAMINATION="CTLFireability"
export BK_TOOL="itstools"
export BK_RESULT_DIR="/tmp/BK_RESULTS/OUTPUTS"
export BK_TIME_CONFINEMENT="3600"
export BK_MEMORY_CONFINEMENT="16384"
export BK_BIN_PATH="/home/mcc/BenchKit/bin/"
# this is specific to your benchmark or test
export BIN_DIR="$HOME/BenchKit/bin"
# remove the execution directoty if it exists (to avoid increse of .vmdk images)
if [ -d execution ] ; then
rm -rf execution
fi
# this is for BenchKit: explicit launching of the test
echo "====================================================================="
echo " Generated by BenchKit 2-4028"
echo " Executing tool itstools"
echo " Input is TwoPhaseLocking-PT-nC00010vD, examination is CTLFireability"
echo " Time confinement is $BK_TIME_CONFINEMENT seconds"
echo " Memory confinement is 16384 MBytes"
echo " Number of cores is 4"
echo " Run identifier is r311-tall-162132108000226"
echo "====================================================================="
echo
echo "--------------------"
echo "preparation of the directory to be used:"
tar xzf /home/mcc/BenchKit/INPUTS/TwoPhaseLocking-PT-nC00010vD.tgz
mv TwoPhaseLocking-PT-nC00010vD execution
cd execution
if [ "CTLFireability" = "ReachabilityDeadlock" ] || [ "CTLFireability" = "UpperBounds" ] || [ "CTLFireability" = "QuasiLiveness" ] || [ "CTLFireability" = "StableMarking" ] || [ "CTLFireability" = "Liveness" ] || [ "CTLFireability" = "OneSafe" ] || [ "CTLFireability" = "StateSpace" ]; then
rm -f GenericPropertiesVerdict.xml
fi
pwd
ls -lh
echo
echo "--------------------"
echo "content from stdout:"
echo
echo "=== Data for post analysis generated by BenchKit (invocation template)"
echo
if [ "CTLFireability" = "UpperBounds" ] ; then
echo "The expected result is a vector of positive values"
echo NUM_VECTOR
elif [ "CTLFireability" != "StateSpace" ] ; then
echo "The expected result is a vector of booleans"
echo BOOL_VECTOR
else
echo "no data necessary for post analysis"
fi
echo
if [ -f "CTLFireability.txt" ] ; then
echo "here is the order used to build the result vector(from text file)"
for x in $(grep Property CTLFireability.txt | cut -d ' ' -f 2 | sort -u) ; do
echo "FORMULA_NAME $x"
done
elif [ -f "CTLFireability.xml" ] ; then # for cunf (txt files deleted;-)
echo echo "here is the order used to build the result vector(from xml file)"
for x in $(grep '
echo "FORMULA_NAME $x"
done
elif [ "CTLFireability" = "ReachabilityDeadlock" ] || [ "CTLFireability" = "QuasiLiveness" ] || [ "CTLFireability" = "StableMarking" ] || [ "CTLFireability" = "Liveness" ] || [ "CTLFireability" = "OneSafe" ] ; then
echo "FORMULA_NAME CTLFireability"
fi
echo
echo "=== Now, execution of the tool begins"
echo
echo -n "BK_START "
date -u +%s%3N
echo
timeout -s 9 $BK_TIME_CONFINEMENT bash -c "/home/mcc/BenchKit/BenchKit_head.sh 2> STDERR ; echo ; echo -n \"BK_STOP \" ; date -u +%s%3N"
if [ $? -eq 137 ] ; then
echo
echo "BK_TIME_CONFINEMENT_REACHED"
fi
echo
echo "--------------------"
echo "content from stderr:"
echo
cat STDERR ;