About the Execution of ITS-Tools for TwoPhaseLocking-PT-nC00004vD
Execution Summary | |||||
Max Memory Used (MB) |
Time wait (ms) | CPU Usage (ms) | I/O Wait (ms) | Computed Result | Execution Status |
219.743 | 3641.00 | 6976.00 | 103.60 | FFTTFTTTFTFFFFTT | 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-162132108000210.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-nC00004vD, examination is CTLFireability
Time confinement is 3600 seconds
Memory confinement is 16384 MBytes
Number of cores is 4
Run identifier is r311-tall-162132108000210
=====================================================================
--------------------
preparation of the directory to be used:
/home/mcc/execution
total 348K
-rw-r--r-- 1 mcc users 15K May 15 08:57 CTLCardinality.txt
-rw-r--r-- 1 mcc users 121K May 15 08:57 CTLCardinality.xml
-rw-r--r-- 1 mcc users 8.5K May 15 08:57 CTLFireability.txt
-rw-r--r-- 1 mcc users 72K May 15 08:57 CTLFireability.xml
-rw-r--r-- 1 mcc users 3.7K May 12 08:03 LTLCardinality.txt
-rw-r--r-- 1 mcc users 25K 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 16K 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.5K May 12 04:13 ReachabilityCardinality.txt
-rw-r--r-- 1 mcc users 17K May 12 04:13 ReachabilityCardinality.xml
-rw-r--r-- 1 mcc users 2.3K May 11 18:03 ReachabilityFireability.txt
-rw-r--r-- 1 mcc users 12K 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-nC00004vD-CTLFireability-00
FORMULA_NAME TwoPhaseLocking-PT-nC00004vD-CTLFireability-01
FORMULA_NAME TwoPhaseLocking-PT-nC00004vD-CTLFireability-02
FORMULA_NAME TwoPhaseLocking-PT-nC00004vD-CTLFireability-03
FORMULA_NAME TwoPhaseLocking-PT-nC00004vD-CTLFireability-04
FORMULA_NAME TwoPhaseLocking-PT-nC00004vD-CTLFireability-05
FORMULA_NAME TwoPhaseLocking-PT-nC00004vD-CTLFireability-06
FORMULA_NAME TwoPhaseLocking-PT-nC00004vD-CTLFireability-07
FORMULA_NAME TwoPhaseLocking-PT-nC00004vD-CTLFireability-08
FORMULA_NAME TwoPhaseLocking-PT-nC00004vD-CTLFireability-09
FORMULA_NAME TwoPhaseLocking-PT-nC00004vD-CTLFireability-10
FORMULA_NAME TwoPhaseLocking-PT-nC00004vD-CTLFireability-11
FORMULA_NAME TwoPhaseLocking-PT-nC00004vD-CTLFireability-12
FORMULA_NAME TwoPhaseLocking-PT-nC00004vD-CTLFireability-13
FORMULA_NAME TwoPhaseLocking-PT-nC00004vD-CTLFireability-14
FORMULA_NAME TwoPhaseLocking-PT-nC00004vD-CTLFireability-15
=== Now, execution of the tool begins
BK_START 1621451235542
Running Version 0
[2021-05-19 19:07:17] [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:07:17] [INFO ] Parsing pnml file : /home/mcc/execution/model.pnml
[2021-05-19 19:07:17] [INFO ] Load time of PNML (sax parser for PT used): 20 ms
[2021-05-19 19:07:17] [INFO ] Transformed 8 places.
[2021-05-19 19:07:17] [INFO ] Transformed 6 transitions.
[2021-05-19 19:07:17] [INFO ] Parsed PT model containing 8 places and 6 transitions in 59 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:07:17] [INFO ] Computed 3 place invariants in 4 ms
[2021-05-19 19:07:17] [INFO ] Implicit Places using invariants in 67 ms returned []
// Phase 1: matrix 6 rows 8 cols
[2021-05-19 19:07:17] [INFO ] Computed 3 place invariants in 1 ms
[2021-05-19 19:07:17] [INFO ] Implicit Places using invariants and state equation in 22 ms returned []
Implicit Place search using SMT with State Equation took 115 ms to find 0 implicit places.
// Phase 1: matrix 6 rows 8 cols
[2021-05-19 19:07:17] [INFO ] Computed 3 place invariants in 2 ms
[2021-05-19 19:07:17] [INFO ] Dead Transitions using invariants and state equation in 16 ms returned []
Finished structural reductions, in 1 iterations. Remains : 8/8 places, 6/6 transitions.
[2021-05-19 19:07:17] [INFO ] Initial state reduction rules for CTL removed 4 formulas.
[2021-05-19 19:07:17] [INFO ] Flatten gal took : 22 ms
FORMULA TwoPhaseLocking-PT-nC00004vD-CTLFireability-14 TRUE TECHNIQUES TOPOLOGICAL INITIAL_STATE
FORMULA TwoPhaseLocking-PT-nC00004vD-CTLFireability-03 TRUE TECHNIQUES TOPOLOGICAL INITIAL_STATE
FORMULA TwoPhaseLocking-PT-nC00004vD-CTLFireability-02 TRUE TECHNIQUES TOPOLOGICAL INITIAL_STATE
FORMULA TwoPhaseLocking-PT-nC00004vD-CTLFireability-01 FALSE TECHNIQUES TOPOLOGICAL INITIAL_STATE
[2021-05-19 19:07:17] [INFO ] Flatten gal took : 5 ms
[2021-05-19 19:07:17] [INFO ] Input system was already deterministic with 6 transitions.
Incomplete random walk after 100001 steps, including 3191 resets, run finished after 236 ms. (steps per millisecond=423 ) properties (out of 50) seen :49
Running SMT prover for 1 properties.
// Phase 1: matrix 6 rows 8 cols
[2021-05-19 19:07:17] [INFO ] Computed 3 place invariants in 1 ms
Successfully simplified 1 atomic propositions for a total of 12 simplifications.
Drop transitions removed 1 transitions
Trivial Post-agglo rules discarded 1 transitions
Performed 1 trivial Post agglomeration. Transition count delta: 1
Iterating post reduction 0 with 1 rules applied. Total rules applied 1 place count 8 transition count 5
Reduce places removed 1 places and 0 transitions.
Iterating post reduction 1 with 1 rules applied. Total rules applied 2 place count 7 transition count 5
Performed 1 Post agglomeration using F-continuation condition.Transition count delta: 1
Deduced a syphon composed of 1 places in 0 ms
Reduce places removed 1 places and 0 transitions.
Iterating global reduction 2 with 2 rules applied. Total rules applied 4 place count 6 transition count 4
Applied a total of 4 rules in 8 ms. Remains 6 /8 variables (removed 2) and now considering 4/6 (removed 2) transitions.
[2021-05-19 19:07:17] [INFO ] Flatten gal took : 1 ms
[2021-05-19 19:07:17] [INFO ] Flatten gal took : 0 ms
[2021-05-19 19:07:17] [INFO ] Input system was already deterministic with 4 transitions.
Finished random walk after 6 steps, including 0 resets, run visited all 1 properties in 1 ms. (steps per millisecond=6 )
FORMULA TwoPhaseLocking-PT-nC00004vD-CTLFireability-09 TRUE TECHNIQUES TOPOLOGICAL RANDOM_WALK
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:07:17] [INFO ] Flatten gal took : 1 ms
[2021-05-19 19:07:17] [INFO ] Flatten gal took : 1 ms
[2021-05-19 19:07:17] [INFO ] Input system was already deterministic with 6 transitions.
[2021-05-19 19:07:17] [INFO ] Flatten gal took : 1 ms
[2021-05-19 19:07:17] [INFO ] Flatten gal took : 1 ms
[2021-05-19 19:07:17] [INFO ] Time to serialize gal into /tmp/CTLFireability8094128711418423882.gal : 1 ms
[2021-05-19 19:07:17] [INFO ] Time to serialize properties into /tmp/CTLFireability18035823199464981046.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/CTLFireability8094128711418423882.gal, -t, CGAL, -ctl, /tmp/CTLFireability18035823199464981046.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/CTLFireability8094128711418423882.gal -t CGAL -ctl /tmp/CTLFireability18035823199464981046.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,32,0.006857,4108,2,73,5,307,6,0,41,244,0
Converting to forward existential form...Done !
original formula: AG((((AG((!(A((((haveA2>=1)||(haveAandB>=1))||(haveA2andB>=1)) U (haveA2andB>=1))) * ((((((haveA2>=1)||((resB>=1)&&(haveA>=1)))||(haveAandB>=1))||(haveA2andB>=1))||((resA>=1)&&(Clients>=1)))||((resA>=1)&&(haveB>=1))))) + (haveA2andB>=1)) + ((resB>=1)&&(haveA>=1))) + ((resA>=1)&&(haveB>=1))))
=> equivalent forward existential formula: ([((FwdU((((FwdU(Init,TRUE) * !(((resA>=1)&&(haveB>=1)))) * !(((resB>=1)&&(haveA>=1)))) * !((haveA2andB>=1))),TRUE) * !(EG(!((haveA2andB>=1))))) * !(E(!((haveA2andB>=1)) U (!((((haveA2>=1)||(haveAandB>=1))||(haveA2andB>=1))) * !((haveA2andB>=1))))))] = FALSE * [(FwdU((((FwdU(Init,TRUE) * !(((resA>=1)&&(haveB>=1)))) * !(((resB>=1)&&(haveA>=1)))) * !((haveA2andB>=1))),TRUE) * !(((((((haveA2>=1)||((resB>=1)&&(haveA>=1)))||(haveAandB>=1))||(haveA2andB>=1))||((resA>=1)&&(Clients>=1)))||((resA>=1)&&(haveB>=1)))))] = FALSE)
(forward)formula 0,0,0.010003,4616,1,0,15,337,16,8,107,369,6
FORMULA TwoPhaseLocking-PT-nC00004vD-CTLFireability-12 FALSE TECHNIQUES DECISION_DIAGRAMS TOPOLOGICAL
Formula is FALSE !
***************************************
[2021-05-19 19:07:17] [INFO ] Flatten gal took : 10 ms
[2021-05-19 19:07:18] [INFO ] Flatten gal took : 3 ms
[2021-05-19 19:07:18] [INFO ] Applying decomposition
[2021-05-19 19:07:18] [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/graph16907948385832565152.txt, -o, /tmp/graph16907948385832565152.bin, -w, /tmp/graph16907948385832565152.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/graph16907948385832565152.bin, -l, -1, -v, -w, /tmp/graph16907948385832565152.weights, -q, 0, -e, 0.001], workingDir=null]
[2021-05-19 19:07:18] [INFO ] Decomposing Gal with order
[2021-05-19 19:07:18] [INFO ] Rewriting arrays to variables to allow decomposition.
[2021-05-19 19:07:18] [INFO ] Flatten gal took : 23 ms
[2021-05-19 19:07:18] [INFO ] Fuse similar labels procedure discarded/fused a total of 0 labels/synchronizations in 0 ms.
[2021-05-19 19:07:18] [INFO ] Time to serialize gal into /tmp/CTLFireability13636281570047238670.gal : 1 ms
[2021-05-19 19:07:18] [INFO ] Time to serialize properties into /tmp/CTLFireability7490006824144191696.ctl : 3 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/CTLFireability13636281570047238670.gal, -t, CGAL, -ctl, /tmp/CTLFireability7490006824144191696.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/CTLFireability13636281570047238670.gal -t CGAL -ctl /tmp/CTLFireability7490006824144191696.ctl
No direction supplied, using forward translation only.
Parsed 10 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,32,0.003775,4348,44,28,203,46,32,180,17,137,0
Converting to forward existential form...Done !
original formula: EX(((EX((AX(((u1.haveA2>=1)||((u1.resA>=1)&&(u2.haveB>=1)))) * EF((((u2.resB>=1)&&(u0.haveA>=1))||((u1.resA>=1)&&(u2.haveB>=1)))))) * EG(!(A(A((((((u1.haveA2>=1)||((u2.resB>=1)&&(u0.haveA>=1)))||(u2.haveAandB>=1))||(u1.haveA2andB>=1))||((u1.resA>=1)&&(u0.Clients>=1))) U (((u2.haveAandB>=1)||(u1.haveA2andB>=1))||((u1.resA>=1)&&(u2.haveB>=1)))) U ((((((u1.haveA2>=1)||((u2.resB>=1)&&(u0.haveA>=1)))||(u2.haveAandB>=1))||(u1.haveA2andB>=1))||((u1.resA>=1)&&(u0.Clients>=1)))||((u1.resA>=1)&&(u2.haveB>=1))))))) * (((u1.resA>=1)&&(u0.Clients>=1))||((u1.resA>=1)&&(u2.haveB>=1)))))
=> equivalent forward existential formula: [FwdG(((EY(Init) * (((u1.resA>=1)&&(u0.Clients>=1))||((u1.resA>=1)&&(u2.haveB>=1)))) * EX((!(EX(!(((u1.haveA2>=1)||((u1.resA>=1)&&(u2.haveB>=1)))))) * E(TRUE U (((u2.resB>=1)&&(u0.haveA>=1))||((u1.resA>=1)&&(u2.haveB>=1))))))),!(!((E(!(((((((u1.haveA2>=1)||((u2.resB>=1)&&(u0.haveA>=1)))||(u2.haveAandB>=1))||(u1.haveA2andB>=1))||((u1.resA>=1)&&(u0.Clients>=1)))||((u1.resA>=1)&&(u2.haveB>=1)))) U (!(!((E(!((((u2.haveAandB>=1)||(u1.haveA2andB>=1))||((u1.resA>=1)&&(u2.haveB>=1)))) U (!((((((u1.haveA2>=1)||((u2.resB>=1)&&(u0.haveA>=1)))||(u2.haveAandB>=1))||(u1.haveA2andB>=1))||((u1.resA>=1)&&(u0.Clients>=1)))) * !((((u2.haveAandB>=1)||(u1.haveA2andB>=1))||((u1.resA>=1)&&(u2.haveB>=1)))))) + EG(!((((u2.haveAandB>=1)||(u1.haveA2andB>=1))||((u1.resA>=1)&&(u2.haveB>=1)))))))) * !(((((((u1.haveA2>=1)||((u2.resB>=1)&&(u0.haveA>=1)))||(u2.haveAandB>=1))||(u1.haveA2andB>=1))||((u1.resA>=1)&&(u0.Clients>=1)))||((u1.resA>=1)&&(u2.haveB>=1)))))) + EG(!(((((((u1.haveA2>=1)||((u2.resB>=1)&&(u0.haveA>=1)))||(u2.haveAandB>=1))||(u1.haveA2andB>=1))||((u1.resA>=1)&&(u0.Clients>=1)))||((u1.resA>=1)&&(u2.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.016672,5312,1,0,521,198,149,536,71,509,1225
FORMULA TwoPhaseLocking-PT-nC00004vD-CTLFireability-00 FALSE TECHNIQUES DECISION_DIAGRAMS TOPOLOGICAL USE_NUPN
Formula is FALSE !
***************************************
original formula: A(EF((E(((u1.haveA2>=1)||((u2.resB>=1)&&(u0.haveA>=1))) U (((((u1.haveA2>=1)||((u2.resB>=1)&&(u0.haveA>=1)))||((u1.resA>=1)&&(u0.Clients>=1)))||(u1.haveA2andB>=1))||((u1.resA>=1)&&(u2.haveB>=1)))) * !(AF((((((u1.haveA2<1)&&((u2.resB<1)||(u0.haveA<1)))&&(u2.haveAandB<1))&&(u1.haveA2andB<1))&&((u1.resA<1)||(u2.haveB<1))))))) U A(AF((AX(((u1.haveA2>=1)||((u1.resA>=1)&&(u2.haveB>=1)))) + AX(((u2.resB>=1)&&(u0.haveA>=1))))) U A((((u1.haveA2<1)&&(u1.haveA2andB<1))&&(((((u1.haveA2>=1)||((u2.resB>=1)&&(u0.haveA>=1)))||((u1.resA>=1)&&(u0.Clients>=1)))||((u1.resA>=1)&&(u2.haveB>=1)))||((((u1.haveA2andB>=1)||((u2.resB>=1)&&(u0.haveA>=1)))||((u1.resA>=1)&&(u0.Clients>=1)))&&((((((u1.haveA2>=1)||(u2.haveAandB>=1))||(u1.haveA2andB>=1))||((u2.resB>=1)&&(u0.haveA>=1)))||((u1.resA>=1)&&(u0.Clients>=1)))||((u1.resA>=1)&&(u2.haveB>=1)))))) U AF(((((((u1.haveA2<1)&&(u2.haveAandB<1))&&(u1.haveA2andB<1))&&((u2.resB<1)||(u0.haveA<1)))&&((u1.resA<1)||(u0.Clients<1)))&&((u1.resA<1)||(u2.haveB<1)))))))
=> equivalent forward existential formula: [((Init * !(EG(!(!((E(!(!((E(!(!(EG(!(((((((u1.haveA2<1)&&(u2.haveAandB<1))&&(u1.haveA2andB<1))&&((u2.resB<1)||(u0.haveA<1)))&&((u1.resA<1)||(u0.Clients<1)))&&((u1.resA<1)||(u2.haveB<1))))))) U (!((((u1.haveA2<1)&&(u1.haveA2andB<1))&&(((((u1.haveA2>=1)||((u2.resB>=1)&&(u0.haveA>=1)))||((u1.resA>=1)&&(u0.Clients>=1)))||((u1.resA>=1)&&(u2.haveB>=1)))||((((u1.haveA2andB>=1)||((u2.resB>=1)&&(u0.haveA>=1)))||((u1.resA>=1)&&(u0.Clients>=1)))&&((((((u1.haveA2>=1)||(u2.haveAandB>=1))||(u1.haveA2andB>=1))||((u2.resB>=1)&&(u0.haveA>=1)))||((u1.resA>=1)&&(u0.Clients>=1)))||((u1.resA>=1)&&(u2.haveB>=1))))))) * !(!(EG(!(((((((u1.haveA2<1)&&(u2.haveAandB<1))&&(u1.haveA2andB<1))&&((u2.resB<1)||(u0.haveA<1)))&&((u1.resA<1)||(u0.Clients<1)))&&((u1.resA<1)||(u2.haveB<1))))))))) + EG(!(!(EG(!(((((((u1.haveA2<1)&&(u2.haveAandB<1))&&(u1.haveA2andB<1))&&((u2.resB<1)||(u0.haveA<1)))&&((u1.resA<1)||(u0.Clients<1)))&&((u1.resA<1)||(u2.haveB<1))))))))))) U (!(!(EG(!((!(EX(!(((u1.haveA2>=1)||((u1.resA>=1)&&(u2.haveB>=1)))))) + !(EX(!(((u2.resB>=1)&&(u0.haveA>=1)))))))))) * !(!((E(!(!(EG(!(((((((u1.haveA2<1)&&(u2.haveAandB<1))&&(u1.haveA2andB<1))&&((u2.resB<1)||(u0.haveA<1)))&&((u1.resA<1)||(u0.Clients<1)))&&((u1.resA<1)||(u2.haveB<1))))))) U (!((((u1.haveA2<1)&&(u1.haveA2andB<1))&&(((((u1.haveA2>=1)||((u2.resB>=1)&&(u0.haveA>=1)))||((u1.resA>=1)&&(u0.Clients>=1)))||((u1.resA>=1)&&(u2.haveB>=1)))||((((u1.haveA2andB>=1)||((u2.resB>=1)&&(u0.haveA>=1)))||((u1.resA>=1)&&(u0.Clients>=1)))&&((((((u1.haveA2>=1)||(u2.haveAandB>=1))||(u1.haveA2andB>=1))||((u2.resB>=1)&&(u0.haveA>=1)))||((u1.resA>=1)&&(u0.Clients>=1)))||((u1.resA>=1)&&(u2.haveB>=1))))))) * !(!(EG(!(((((((u1.haveA2<1)&&(u2.haveAandB<1))&&(u1.haveA2andB<1))&&((u2.resB<1)||(u0.haveA<1)))&&((u1.resA<1)||(u0.Clients<1)))&&((u1.resA<1)||(u2.haveB<1))))))))) + EG(!(!(EG(!(((((((u1.haveA2<1)&&(u2.haveAandB<1))&&(u1.haveA2andB<1))&&((u2.resB<1)||(u0.haveA<1)))&&((u1.resA<1)||(u0.Clients<1)))&&((u1.resA<1)||(u2.haveB<1))))))))))))) + EG(!(!((E(!(!(EG(!(((((((u1.haveA2<1)&&(u2.haveAandB<1))&&(u1.haveA2andB<1))&&((u2.resB<1)||(u0.haveA<1)))&&((u1.resA<1)||(u0.Clients<1)))&&((u1.resA<1)||(u2.haveB<1))))))) U (!((((u1.haveA2<1)&&(u1.haveA2andB<1))&&(((((u1.haveA2>=1)||((u2.resB>=1)&&(u0.haveA>=1)))||((u1.resA>=1)&&(u0.Clients>=1)))||((u1.resA>=1)&&(u2.haveB>=1)))||((((u1.haveA2andB>=1)||((u2.resB>=1)&&(u0.haveA>=1)))||((u1.resA>=1)&&(u0.Clients>=1)))&&((((((u1.haveA2>=1)||(u2.haveAandB>=1))||(u1.haveA2andB>=1))||((u2.resB>=1)&&(u0.haveA>=1)))||((u1.resA>=1)&&(u0.Clients>=1)))||((u1.resA>=1)&&(u2.haveB>=1))))))) * !(!(EG(!(((((((u1.haveA2<1)&&(u2.haveAandB<1))&&(u1.haveA2andB<1))&&((u2.resB<1)||(u0.haveA<1)))&&((u1.resA<1)||(u0.Clients<1)))&&((u1.resA<1)||(u2.haveB<1))))))))) + EG(!(!(EG(!(((((((u1.haveA2<1)&&(u2.haveAandB<1))&&(u1.haveA2andB<1))&&((u2.resB<1)||(u0.haveA<1)))&&((u1.resA<1)||(u0.Clients<1)))&&((u1.resA<1)||(u2.haveB<1)))))))))))))))))) * !(E(!(!((E(!(!((E(!(!(EG(!(((((((u1.haveA2<1)&&(u2.haveAandB<1))&&(u1.haveA2andB<1))&&((u2.resB<1)||(u0.haveA<1)))&&((u1.resA<1)||(u0.Clients<1)))&&((u1.resA<1)||(u2.haveB<1))))))) U (!((((u1.haveA2<1)&&(u1.haveA2andB<1))&&(((((u1.haveA2>=1)||((u2.resB>=1)&&(u0.haveA>=1)))||((u1.resA>=1)&&(u0.Clients>=1)))||((u1.resA>=1)&&(u2.haveB>=1)))||((((u1.haveA2andB>=1)||((u2.resB>=1)&&(u0.haveA>=1)))||((u1.resA>=1)&&(u0.Clients>=1)))&&((((((u1.haveA2>=1)||(u2.haveAandB>=1))||(u1.haveA2andB>=1))||((u2.resB>=1)&&(u0.haveA>=1)))||((u1.resA>=1)&&(u0.Clients>=1)))||((u1.resA>=1)&&(u2.haveB>=1))))))) * !(!(EG(!(((((((u1.haveA2<1)&&(u2.haveAandB<1))&&(u1.haveA2andB<1))&&((u2.resB<1)||(u0.haveA<1)))&&((u1.resA<1)||(u0.Clients<1)))&&((u1.resA<1)||(u2.haveB<1))))))))) + EG(!(!(EG(!(((((((u1.haveA2<1)&&(u2.haveAandB<1))&&(u1.haveA2andB<1))&&((u2.resB<1)||(u0.haveA<1)))&&((u1.resA<1)||(u0.Clients<1)))&&((u1.resA<1)||(u2.haveB<1))))))))))) U (!(!(EG(!((!(EX(!(((u1.haveA2>=1)||((u1.resA>=1)&&(u2.haveB>=1)))))) + !(EX(!(((u2.resB>=1)&&(u0.haveA>=1)))))))))) * !(!((E(!(!(EG(!(((((((u1.haveA2<1)&&(u2.haveAandB<1))&&(u1.haveA2andB<1))&&((u2.resB<1)||(u0.haveA<1)))&&((u1.resA<1)||(u0.Clients<1)))&&((u1.resA<1)||(u2.haveB<1))))))) U (!((((u1.haveA2<1)&&(u1.haveA2andB<1))&&(((((u1.haveA2>=1)||((u2.resB>=1)&&(u0.haveA>=1)))||((u1.resA>=1)&&(u0.Clients>=1)))||((u1.resA>=1)&&(u2.haveB>=1)))||((((u1.haveA2andB>=1)||((u2.resB>=1)&&(u0.haveA>=1)))||((u1.resA>=1)&&(u0.Clients>=1)))&&((((((u1.haveA2>=1)||(u2.haveAandB>=1))||(u1.haveA2andB>=1))||((u2.resB>=1)&&(u0.haveA>=1)))||((u1.resA>=1)&&(u0.Clients>=1)))||((u1.resA>=1)&&(u2.haveB>=1))))))) * !(!(EG(!(((((((u1.haveA2<1)&&(u2.haveAandB<1))&&(u1.haveA2andB<1))&&((u2.resB<1)||(u0.haveA<1)))&&((u1.resA<1)||(u0.Clients<1)))&&((u1.resA<1)||(u2.haveB<1))))))))) + EG(!(!(EG(!(((((((u1.haveA2<1)&&(u2.haveAandB<1))&&(u1.haveA2andB<1))&&((u2.resB<1)||(u0.haveA<1)))&&((u1.resA<1)||(u0.Clients<1)))&&((u1.resA<1)||(u2.haveB<1))))))))))))) + EG(!(!((E(!(!(EG(!(((((((u1.haveA2<1)&&(u2.haveAandB<1))&&(u1.haveA2andB<1))&&((u2.resB<1)||(u0.haveA<1)))&&((u1.resA<1)||(u0.Clients<1)))&&((u1.resA<1)||(u2.haveB<1))))))) U (!((((u1.haveA2<1)&&(u1.haveA2andB<1))&&(((((u1.haveA2>=1)||((u2.resB>=1)&&(u0.haveA>=1)))||((u1.resA>=1)&&(u0.Clients>=1)))||((u1.resA>=1)&&(u2.haveB>=1)))||((((u1.haveA2andB>=1)||((u2.resB>=1)&&(u0.haveA>=1)))||((u1.resA>=1)&&(u0.Clients>=1)))&&((((((u1.haveA2>=1)||(u2.haveAandB>=1))||(u1.haveA2andB>=1))||((u2.resB>=1)&&(u0.haveA>=1)))||((u1.resA>=1)&&(u0.Clients>=1)))||((u1.resA>=1)&&(u2.haveB>=1))))))) * !(!(EG(!(((((((u1.haveA2<1)&&(u2.haveAandB<1))&&(u1.haveA2andB<1))&&((u2.resB<1)||(u0.haveA<1)))&&((u1.resA<1)||(u0.Clients<1)))&&((u1.resA<1)||(u2.haveB<1))))))))) + EG(!(!(EG(!(((((((u1.haveA2<1)&&(u2.haveAandB<1))&&(u1.haveA2andB<1))&&((u2.resB<1)||(u0.haveA<1)))&&((u1.resA<1)||(u0.Clients<1)))&&((u1.resA<1)||(u2.haveB<1))))))))))))))) U (!(E(TRUE U (E(((u1.haveA2>=1)||((u2.resB>=1)&&(u0.haveA>=1))) U (((((u1.haveA2>=1)||((u2.resB>=1)&&(u0.haveA>=1)))||((u1.resA>=1)&&(u0.Clients>=1)))||(u1.haveA2andB>=1))||((u1.resA>=1)&&(u2.haveB>=1)))) * !(!(EG(!((((((u1.haveA2<1)&&((u2.resB<1)||(u0.haveA<1)))&&(u2.haveAandB<1))&&(u1.haveA2andB<1))&&((u1.resA<1)||(u2.haveB<1)))))))))) * !(!((E(!(!((E(!(!(EG(!(((((((u1.haveA2<1)&&(u2.haveAandB<1))&&(u1.haveA2andB<1))&&((u2.resB<1)||(u0.haveA<1)))&&((u1.resA<1)||(u0.Clients<1)))&&((u1.resA<1)||(u2.haveB<1))))))) U (!((((u1.haveA2<1)&&(u1.haveA2andB<1))&&(((((u1.haveA2>=1)||((u2.resB>=1)&&(u0.haveA>=1)))||((u1.resA>=1)&&(u0.Clients>=1)))||((u1.resA>=1)&&(u2.haveB>=1)))||((((u1.haveA2andB>=1)||((u2.resB>=1)&&(u0.haveA>=1)))||((u1.resA>=1)&&(u0.Clients>=1)))&&((((((u1.haveA2>=1)||(u2.haveAandB>=1))||(u1.haveA2andB>=1))||((u2.resB>=1)&&(u0.haveA>=1)))||((u1.resA>=1)&&(u0.Clients>=1)))||((u1.resA>=1)&&(u2.haveB>=1))))))) * !(!(EG(!(((((((u1.haveA2<1)&&(u2.haveAandB<1))&&(u1.haveA2andB<1))&&((u2.resB<1)||(u0.haveA<1)))&&((u1.resA<1)||(u0.Clients<1)))&&((u1.resA<1)||(u2.haveB<1))))))))) + EG(!(!(EG(!(((((((u1.haveA2<1)&&(u2.haveAandB<1))&&(u1.haveA2andB<1))&&((u2.resB<1)||(u0.haveA<1)))&&((u1.resA<1)||(u0.Clients<1)))&&((u1.resA<1)||(u2.haveB<1))))))))))) U (!(!(EG(!((!(EX(!(((u1.haveA2>=1)||((u1.resA>=1)&&(u2.haveB>=1)))))) + !(EX(!(((u2.resB>=1)&&(u0.haveA>=1)))))))))) * !(!((E(!(!(EG(!(((((((u1.haveA2<1)&&(u2.haveAandB<1))&&(u1.haveA2andB<1))&&((u2.resB<1)||(u0.haveA<1)))&&((u1.resA<1)||(u0.Clients<1)))&&((u1.resA<1)||(u2.haveB<1))))))) U (!((((u1.haveA2<1)&&(u1.haveA2andB<1))&&(((((u1.haveA2>=1)||((u2.resB>=1)&&(u0.haveA>=1)))||((u1.resA>=1)&&(u0.Clients>=1)))||((u1.resA>=1)&&(u2.haveB>=1)))||((((u1.haveA2andB>=1)||((u2.resB>=1)&&(u0.haveA>=1)))||((u1.resA>=1)&&(u0.Clients>=1)))&&((((((u1.haveA2>=1)||(u2.haveAandB>=1))||(u1.haveA2andB>=1))||((u2.resB>=1)&&(u0.haveA>=1)))||((u1.resA>=1)&&(u0.Clients>=1)))||((u1.resA>=1)&&(u2.haveB>=1))))))) * !(!(EG(!(((((((u1.haveA2<1)&&(u2.haveAandB<1))&&(u1.haveA2andB<1))&&((u2.resB<1)||(u0.haveA<1)))&&((u1.resA<1)||(u0.Clients<1)))&&((u1.resA<1)||(u2.haveB<1))))))))) + EG(!(!(EG(!(((((((u1.haveA2<1)&&(u2.haveAandB<1))&&(u1.haveA2andB<1))&&((u2.resB<1)||(u0.haveA<1)))&&((u1.resA<1)||(u0.Clients<1)))&&((u1.resA<1)||(u2.haveB<1))))))))))))) + EG(!(!((E(!(!(EG(!(((((((u1.haveA2<1)&&(u2.haveAandB<1))&&(u1.haveA2andB<1))&&((u2.resB<1)||(u0.haveA<1)))&&((u1.resA<1)||(u0.Clients<1)))&&((u1.resA<1)||(u2.haveB<1))))))) U (!((((u1.haveA2<1)&&(u1.haveA2andB<1))&&(((((u1.haveA2>=1)||((u2.resB>=1)&&(u0.haveA>=1)))||((u1.resA>=1)&&(u0.Clients>=1)))||((u1.resA>=1)&&(u2.haveB>=1)))||((((u1.haveA2andB>=1)||((u2.resB>=1)&&(u0.haveA>=1)))||((u1.resA>=1)&&(u0.Clients>=1)))&&((((((u1.haveA2>=1)||(u2.haveAandB>=1))||(u1.haveA2andB>=1))||((u2.resB>=1)&&(u0.haveA>=1)))||((u1.resA>=1)&&(u0.Clients>=1)))||((u1.resA>=1)&&(u2.haveB>=1))))))) * !(!(EG(!(((((((u1.haveA2<1)&&(u2.haveAandB<1))&&(u1.haveA2andB<1))&&((u2.resB<1)||(u0.haveA<1)))&&((u1.resA<1)||(u0.Clients<1)))&&((u1.resA<1)||(u2.haveB<1))))))))) + EG(!(!(EG(!(((((((u1.haveA2<1)&&(u2.haveAandB<1))&&(u1.haveA2andB<1))&&((u2.resB<1)||(u0.haveA<1)))&&((u1.resA<1)||(u0.Clients<1)))&&((u1.resA<1)||(u2.haveB<1)))))))))))))))))))] != FALSE
(forward)formula 1,0,0.067429,5312,1,0,747,215,226,798,76,538,1863
FORMULA TwoPhaseLocking-PT-nC00004vD-CTLFireability-04 FALSE TECHNIQUES DECISION_DIAGRAMS TOPOLOGICAL USE_NUPN
Formula is FALSE !
***************************************
original formula: E(((((u1.haveA2andB<1)&&((u2.resB<1)||(u0.haveA<1)))&&((u1.resA<1)||(u0.Clients<1))) + ((((!(AF(((u2.haveAandB>=1)||((u1.resA>=1)&&(u2.haveB>=1))))) * !(EF((((((u1.haveA2>=1)||((u2.resB>=1)&&(u0.haveA>=1)))||(u2.haveAandB>=1))||((u1.resA>=1)&&(u0.Clients>=1)))||((u1.resA>=1)&&(u2.haveB>=1)))))) * !(EX(((((((u1.haveA2<1)&&((u2.resB<1)||(u0.haveA<1)))&&(u2.haveAandB<1))&&(u1.haveA2andB<1))&&((u1.resA<1)||(u0.Clients<1)))&&((u1.resA<1)||(u2.haveB<1)))))) * (!(E(((((u2.haveAandB>=1)||(u1.haveA2andB>=1))||((u1.resA>=1)&&(u0.Clients>=1)))||((u1.resA>=1)&&(u2.haveB>=1))) U ((u1.haveA2>=1)||((u1.resA>=1)&&(u2.haveB>=1))))) + (((((u1.haveA2<1)&&(u2.haveAandB<1))&&(u1.haveA2andB<1))&&((u1.resA<1)||(u0.Clients<1)))&&((u1.resA<1)||(u2.haveB<1))))) * ((((u2.haveAandB<1)&&((u1.resA<1)||(u0.Clients<1)))&&((u1.resA<1)||(u2.haveB<1)))||((((((u1.haveA2<1)&&(u2.haveAandB<1))&&(u1.haveA2andB<1))&&((u2.resB<1)||(u0.haveA<1)))&&((u1.resA<1)||(u0.Clients<1)))&&((u1.resA<1)||(u2.haveB<1)))))) U EX(((((((u1.haveA2>=1)||(u2.haveAandB>=1))||(u1.haveA2andB>=1))||((u2.resB>=1)&&(u0.haveA>=1)))||((u1.resA>=1)&&(u0.Clients>=1)))||((u1.resA>=1)&&(u2.haveB>=1)))))
=> equivalent forward existential formula: [(EY(FwdU(Init,((((u1.haveA2andB<1)&&((u2.resB<1)||(u0.haveA<1)))&&((u1.resA<1)||(u0.Clients<1))) + ((((!(!(EG(!(((u2.haveAandB>=1)||((u1.resA>=1)&&(u2.haveB>=1))))))) * !(E(TRUE U (((((u1.haveA2>=1)||((u2.resB>=1)&&(u0.haveA>=1)))||(u2.haveAandB>=1))||((u1.resA>=1)&&(u0.Clients>=1)))||((u1.resA>=1)&&(u2.haveB>=1)))))) * !(EX(((((((u1.haveA2<1)&&((u2.resB<1)||(u0.haveA<1)))&&(u2.haveAandB<1))&&(u1.haveA2andB<1))&&((u1.resA<1)||(u0.Clients<1)))&&((u1.resA<1)||(u2.haveB<1)))))) * (!(E(((((u2.haveAandB>=1)||(u1.haveA2andB>=1))||((u1.resA>=1)&&(u0.Clients>=1)))||((u1.resA>=1)&&(u2.haveB>=1))) U ((u1.haveA2>=1)||((u1.resA>=1)&&(u2.haveB>=1))))) + (((((u1.haveA2<1)&&(u2.haveAandB<1))&&(u1.haveA2andB<1))&&((u1.resA<1)||(u0.Clients<1)))&&((u1.resA<1)||(u2.haveB<1))))) * ((((u2.haveAandB<1)&&((u1.resA<1)||(u0.Clients<1)))&&((u1.resA<1)||(u2.haveB<1)))||((((((u1.haveA2<1)&&(u2.haveAandB<1))&&(u1.haveA2andB<1))&&((u2.resB<1)||(u0.haveA<1)))&&((u1.resA<1)||(u0.Clients<1)))&&((u1.resA<1)||(u2.haveB<1)))))))) * ((((((u1.haveA2>=1)||(u2.haveAandB>=1))||(u1.haveA2andB>=1))||((u2.resB>=1)&&(u0.haveA>=1)))||((u1.resA>=1)&&(u0.Clients>=1)))||((u1.resA>=1)&&(u2.haveB>=1))))] != FALSE
(forward)formula 2,1,0.075491,5576,1,0,836,217,261,897,76,542,2240
FORMULA TwoPhaseLocking-PT-nC00004vD-CTLFireability-05 TRUE TECHNIQUES DECISION_DIAGRAMS TOPOLOGICAL USE_NUPN
Formula is TRUE !
***************************************
original formula: AX(AG(((((A(AG((((u1.haveA2>=1)||((u2.resB>=1)&&(u0.haveA>=1)))||(u1.haveA2andB>=1))) U ((((((u1.haveA2>=1)||((u2.resB>=1)&&(u0.haveA>=1)))||(u2.haveAandB>=1))||((u1.resA>=1)&&(u0.Clients>=1)))||(u1.haveA2andB>=1))||((u1.resA>=1)&&(u2.haveB>=1)))) + E(((((((u1.haveA2>=1)||((u2.resB>=1)&&(u0.haveA>=1)))||(u2.haveAandB>=1))||(u1.haveA2andB>=1))||((u1.resA>=1)&&(u0.Clients>=1)))||((u1.resA>=1)&&(u2.haveB>=1))) U (((((u1.haveA2>=1)||((u2.resB>=1)&&(u0.haveA>=1)))||((u1.resA>=1)&&(u0.Clients>=1)))||(u1.haveA2andB>=1))||((u1.resA>=1)&&(u2.haveB>=1))))) + !(A((((u2.haveAandB>=1)||((u1.resA>=1)&&(u2.haveB>=1)))||((u1.resA>=1)&&(u2.haveB>=1))) U (((((((((u1.haveA2>=1)||((u2.resB>=1)&&(u0.haveA>=1)))||(u2.haveAandB>=1))||((u1.resA>=1)&&(u0.Clients>=1)))||(u1.haveA2andB>=1))||((u1.resA>=1)&&(u2.haveB>=1)))||(u1.haveA2>=1))||((u1.resA>=1)&&(u0.Clients>=1)))||((u1.resA>=1)&&(u2.haveB>=1)))))) + (u2.haveAandB>=1)) + ((((u1.haveA2andB<1)&&((u2.resB<1)||(u0.haveA<1)))&&((u1.resA<1)||(u0.Clients<1)))&&((u1.resA<1)||(u2.haveB<1))))))
=> equivalent forward existential formula: ([(FwdU((FwdU(((((FwdU(EY(Init),TRUE) * !(((((u1.haveA2andB<1)&&((u2.resB<1)||(u0.haveA<1)))&&((u1.resA<1)||(u0.Clients<1)))&&((u1.resA<1)||(u2.haveB<1))))) * !((u2.haveAandB>=1))) * !(!(!((E(!((((((((((u1.haveA2>=1)||((u2.resB>=1)&&(u0.haveA>=1)))||(u2.haveAandB>=1))||((u1.resA>=1)&&(u0.Clients>=1)))||(u1.haveA2andB>=1))||((u1.resA>=1)&&(u2.haveB>=1)))||(u1.haveA2>=1))||((u1.resA>=1)&&(u0.Clients>=1)))||((u1.resA>=1)&&(u2.haveB>=1)))) U (!((((u2.haveAandB>=1)||((u1.resA>=1)&&(u2.haveB>=1)))||((u1.resA>=1)&&(u2.haveB>=1)))) * !((((((((((u1.haveA2>=1)||((u2.resB>=1)&&(u0.haveA>=1)))||(u2.haveAandB>=1))||((u1.resA>=1)&&(u0.Clients>=1)))||(u1.haveA2andB>=1))||((u1.resA>=1)&&(u2.haveB>=1)))||(u1.haveA2>=1))||((u1.resA>=1)&&(u0.Clients>=1)))||((u1.resA>=1)&&(u2.haveB>=1)))))) + EG(!((((((((((u1.haveA2>=1)||((u2.resB>=1)&&(u0.haveA>=1)))||(u2.haveAandB>=1))||((u1.resA>=1)&&(u0.Clients>=1)))||(u1.haveA2andB>=1))||((u1.resA>=1)&&(u2.haveB>=1)))||(u1.haveA2>=1))||((u1.resA>=1)&&(u0.Clients>=1)))||((u1.resA>=1)&&(u2.haveB>=1)))))))))) * !(E(((((((u1.haveA2>=1)||((u2.resB>=1)&&(u0.haveA>=1)))||(u2.haveAandB>=1))||(u1.haveA2andB>=1))||((u1.resA>=1)&&(u0.Clients>=1)))||((u1.resA>=1)&&(u2.haveB>=1))) U (((((u1.haveA2>=1)||((u2.resB>=1)&&(u0.haveA>=1)))||((u1.resA>=1)&&(u0.Clients>=1)))||(u1.haveA2andB>=1))||((u1.resA>=1)&&(u2.haveB>=1)))))),!(((((((u1.haveA2>=1)||((u2.resB>=1)&&(u0.haveA>=1)))||(u2.haveAandB>=1))||((u1.resA>=1)&&(u0.Clients>=1)))||(u1.haveA2andB>=1))||((u1.resA>=1)&&(u2.haveB>=1))))) * !(((((((u1.haveA2>=1)||((u2.resB>=1)&&(u0.haveA>=1)))||(u2.haveAandB>=1))||((u1.resA>=1)&&(u0.Clients>=1)))||(u1.haveA2andB>=1))||((u1.resA>=1)&&(u2.haveB>=1))))),TRUE) * !((((u1.haveA2>=1)||((u2.resB>=1)&&(u0.haveA>=1)))||(u1.haveA2andB>=1))))] = FALSE * [FwdG(((((FwdU(EY(Init),TRUE) * !(((((u1.haveA2andB<1)&&((u2.resB<1)||(u0.haveA<1)))&&((u1.resA<1)||(u0.Clients<1)))&&((u1.resA<1)||(u2.haveB<1))))) * !((u2.haveAandB>=1))) * !(!(!((E(!((((((((((u1.haveA2>=1)||((u2.resB>=1)&&(u0.haveA>=1)))||(u2.haveAandB>=1))||((u1.resA>=1)&&(u0.Clients>=1)))||(u1.haveA2andB>=1))||((u1.resA>=1)&&(u2.haveB>=1)))||(u1.haveA2>=1))||((u1.resA>=1)&&(u0.Clients>=1)))||((u1.resA>=1)&&(u2.haveB>=1)))) U (!((((u2.haveAandB>=1)||((u1.resA>=1)&&(u2.haveB>=1)))||((u1.resA>=1)&&(u2.haveB>=1)))) * !((((((((((u1.haveA2>=1)||((u2.resB>=1)&&(u0.haveA>=1)))||(u2.haveAandB>=1))||((u1.resA>=1)&&(u0.Clients>=1)))||(u1.haveA2andB>=1))||((u1.resA>=1)&&(u2.haveB>=1)))||(u1.haveA2>=1))||((u1.resA>=1)&&(u0.Clients>=1)))||((u1.resA>=1)&&(u2.haveB>=1)))))) + EG(!((((((((((u1.haveA2>=1)||((u2.resB>=1)&&(u0.haveA>=1)))||(u2.haveAandB>=1))||((u1.resA>=1)&&(u0.Clients>=1)))||(u1.haveA2andB>=1))||((u1.resA>=1)&&(u2.haveB>=1)))||(u1.haveA2>=1))||((u1.resA>=1)&&(u0.Clients>=1)))||((u1.resA>=1)&&(u2.haveB>=1)))))))))) * !(E(((((((u1.haveA2>=1)||((u2.resB>=1)&&(u0.haveA>=1)))||(u2.haveAandB>=1))||(u1.haveA2andB>=1))||((u1.resA>=1)&&(u0.Clients>=1)))||((u1.resA>=1)&&(u2.haveB>=1))) U (((((u1.haveA2>=1)||((u2.resB>=1)&&(u0.haveA>=1)))||((u1.resA>=1)&&(u0.Clients>=1)))||(u1.haveA2andB>=1))||((u1.resA>=1)&&(u2.haveB>=1)))))),!(((((((u1.haveA2>=1)||((u2.resB>=1)&&(u0.haveA>=1)))||(u2.haveAandB>=1))||((u1.resA>=1)&&(u0.Clients>=1)))||(u1.haveA2andB>=1))||((u1.resA>=1)&&(u2.haveB>=1)))))] = FALSE)
(forward)formula 3,1,0.091719,5576,1,0,912,220,279,979,76,548,2421
FORMULA TwoPhaseLocking-PT-nC00004vD-CTLFireability-06 TRUE TECHNIQUES DECISION_DIAGRAMS TOPOLOGICAL USE_NUPN
Formula is TRUE !
***************************************
original formula: !(EX(((((((((u2.haveAandB>=1)||(u1.haveA2andB>=1))||((u1.resA>=1)&&(u0.Clients>=1)))||((u1.resA>=1)&&(u2.haveB>=1))) * ((A((u2.haveAandB>=1) U ((u2.resB>=1)&&(u0.haveA>=1))) + ((u2.haveAandB>=1)&&(((((u1.haveA2>=1)||((u2.resB>=1)&&(u0.haveA>=1)))||((u1.resA>=1)&&(u0.Clients>=1)))||(u1.haveA2andB>=1))||((u1.resA>=1)&&(u2.haveB>=1))))) + (u1.haveA2>=1))) + ((u1.resA>=1)&&(u0.Clients>=1))) + ((u1.resA>=1)&&(u2.haveB>=1))) * (((u1.haveA2andB>=1)||((u1.resA>=1)&&(u2.haveB>=1)))||(((((u1.haveA2<1)&&(u2.haveAandB<1))&&((u1.resA<1)||(u0.Clients<1)))&&(u1.haveA2andB<1))&&((u1.resA<1)||(u2.haveB<1)))))))
=> equivalent forward existential formula: (((([((((EY(Init) * (((u1.haveA2andB>=1)||((u1.resA>=1)&&(u2.haveB>=1)))||(((((u1.haveA2<1)&&(u2.haveAandB<1))&&((u1.resA<1)||(u0.Clients<1)))&&(u1.haveA2andB<1))&&((u1.resA<1)||(u2.haveB<1))))) * ((((u2.haveAandB>=1)||(u1.haveA2andB>=1))||((u1.resA>=1)&&(u0.Clients>=1)))||((u1.resA>=1)&&(u2.haveB>=1)))) * !(EG(!(((u2.resB>=1)&&(u0.haveA>=1)))))) * !(E(!(((u2.resB>=1)&&(u0.haveA>=1))) U (!((u2.haveAandB>=1)) * !(((u2.resB>=1)&&(u0.haveA>=1)))))))] = FALSE * [(((EY(Init) * (((u1.haveA2andB>=1)||((u1.resA>=1)&&(u2.haveB>=1)))||(((((u1.haveA2<1)&&(u2.haveAandB<1))&&((u1.resA<1)||(u0.Clients<1)))&&(u1.haveA2andB<1))&&((u1.resA<1)||(u2.haveB<1))))) * ((((u2.haveAandB>=1)||(u1.haveA2andB>=1))||((u1.resA>=1)&&(u0.Clients>=1)))||((u1.resA>=1)&&(u2.haveB>=1)))) * ((u2.haveAandB>=1)&&(((((u1.haveA2>=1)||((u2.resB>=1)&&(u0.haveA>=1)))||((u1.resA>=1)&&(u0.Clients>=1)))||(u1.haveA2andB>=1))||((u1.resA>=1)&&(u2.haveB>=1)))))] = FALSE) * [(((EY(Init) * (((u1.haveA2andB>=1)||((u1.resA>=1)&&(u2.haveB>=1)))||(((((u1.haveA2<1)&&(u2.haveAandB<1))&&((u1.resA<1)||(u0.Clients<1)))&&(u1.haveA2andB<1))&&((u1.resA<1)||(u2.haveB<1))))) * ((((u2.haveAandB>=1)||(u1.haveA2andB>=1))||((u1.resA>=1)&&(u0.Clients>=1)))||((u1.resA>=1)&&(u2.haveB>=1)))) * (u1.haveA2>=1))] = FALSE) * [((EY(Init) * (((u1.haveA2andB>=1)||((u1.resA>=1)&&(u2.haveB>=1)))||(((((u1.haveA2<1)&&(u2.haveAandB<1))&&((u1.resA<1)||(u0.Clients<1)))&&(u1.haveA2andB<1))&&((u1.resA<1)||(u2.haveB<1))))) * ((u1.resA>=1)&&(u0.Clients>=1)))] = FALSE) * [((EY(Init) * (((u1.haveA2andB>=1)||((u1.resA>=1)&&(u2.haveB>=1)))||(((((u1.haveA2<1)&&(u2.haveAandB<1))&&((u1.resA<1)||(u0.Clients<1)))&&(u1.haveA2andB<1))&&((u1.resA<1)||(u2.haveB<1))))) * ((u1.resA>=1)&&(u2.haveB>=1)))] = FALSE)
(forward)formula 4,1,0.100059,5576,1,0,1084,239,292,1112,76,584,2797
FORMULA TwoPhaseLocking-PT-nC00004vD-CTLFireability-07 TRUE TECHNIQUES DECISION_DIAGRAMS TOPOLOGICAL USE_NUPN
Formula is TRUE !
***************************************
original formula: AX(((((AG((((((u2.resB<1)||(u0.haveA<1))&&(u1.haveA2andB<1))&&((u1.resA<1)||(u2.haveB<1)))||(((((u2.resB<1)||(u0.haveA<1))&&(u2.haveAandB<1))&&((u1.resA<1)||(u0.Clients<1)))&&((u1.resA<1)||(u2.haveB<1))))) + (u1.haveA2>=1)) + (u1.haveA2andB>=1)) * ((EF((((((((((((u1.haveA2>=1)||((u2.resB>=1)&&(u0.haveA>=1)))||(u2.haveAandB>=1))||(u1.haveA2andB>=1))||((u1.resA>=1)&&(u0.Clients>=1)))||((u1.resA>=1)&&(u2.haveB>=1)))||(u1.haveA2>=1))||((u2.resB>=1)&&(u0.haveA>=1)))||(u2.haveAandB>=1))||(u1.haveA2andB>=1))||((u1.resA>=1)&&(u2.haveB>=1)))) + ((((u1.haveA2>=1)||((u1.resA>=1)&&(u0.Clients>=1)))||((u1.resA>=1)&&(u2.haveB>=1)))&&((((u1.haveA2>=1)||(u1.haveA2andB>=1))||((u2.resB>=1)&&(u0.haveA>=1)))||((u1.resA>=1)&&(u0.Clients>=1))))) + (AF(((((((u2.resB>=1)&&(u0.haveA>=1))||(u2.haveAandB>=1))||((u1.resA>=1)&&(u0.Clients>=1)))||(u1.haveA2andB>=1))||((u1.resA>=1)&&(u2.haveB>=1)))) * (AX(((((((u2.resB>=1)&&(u0.haveA>=1))||(u2.haveAandB>=1))||((u1.resA>=1)&&(u0.Clients>=1)))||(u1.haveA2andB>=1))||((u1.resA>=1)&&(u2.haveB>=1)))) + AG(((u2.haveAandB>=1)||((u1.resA>=1)&&(u0.Clients>=1)))))))) + (!((EF((((u2.resB>=1)&&(u0.haveA>=1))||((u1.resA>=1)&&(u2.haveB>=1)))) * (((((((u1.haveA2>=1)||((u2.resB>=1)&&(u0.haveA>=1)))||(u2.haveAandB>=1))||(u1.haveA2andB>=1))||((u1.resA>=1)&&(u0.Clients>=1)))||((u1.resA>=1)&&(u2.haveB>=1)))||((u2.resB>=1)&&(u0.haveA>=1))))) * (!(AG(((((((u1.haveA2<1)&&((u2.resB<1)||(u0.haveA<1)))&&(u2.haveAandB<1))&&(u1.haveA2andB<1))&&((u1.resA<1)||(u0.Clients<1)))&&((u1.resA<1)||(u2.haveB<1))))) + (((u1.haveA2andB<1) * (((!(EG((((((u1.haveA2>=1)||((u2.resB>=1)&&(u0.haveA>=1)))||(u2.haveAandB>=1))||(u1.haveA2andB>=1))||((u1.resA>=1)&&(u2.haveB>=1))))) + (u2.resB<1)) + (u0.haveA<1)) + (u2.haveAandB<1))) * ((u2.resB<1)||(u0.haveA<1)))))))
=> equivalent forward existential formula: ([(FwdU(((EY(Init) * !((((!(E(TRUE U !((((((u2.resB<1)||(u0.haveA<1))&&(u1.haveA2andB<1))&&((u1.resA<1)||(u2.haveB<1)))||(((((u2.resB<1)||(u0.haveA<1))&&(u2.haveAandB<1))&&((u1.resA<1)||(u0.Clients<1)))&&((u1.resA<1)||(u2.haveB<1))))))) + (u1.haveA2>=1)) + (u1.haveA2andB>=1)) * ((E(TRUE U (((((((((((u1.haveA2>=1)||((u2.resB>=1)&&(u0.haveA>=1)))||(u2.haveAandB>=1))||(u1.haveA2andB>=1))||((u1.resA>=1)&&(u0.Clients>=1)))||((u1.resA>=1)&&(u2.haveB>=1)))||(u1.haveA2>=1))||((u2.resB>=1)&&(u0.haveA>=1)))||(u2.haveAandB>=1))||(u1.haveA2andB>=1))||((u1.resA>=1)&&(u2.haveB>=1)))) + ((((u1.haveA2>=1)||((u1.resA>=1)&&(u0.Clients>=1)))||((u1.resA>=1)&&(u2.haveB>=1)))&&((((u1.haveA2>=1)||(u1.haveA2andB>=1))||((u2.resB>=1)&&(u0.haveA>=1)))||((u1.resA>=1)&&(u0.Clients>=1))))) + (!(EG(!(((((((u2.resB>=1)&&(u0.haveA>=1))||(u2.haveAandB>=1))||((u1.resA>=1)&&(u0.Clients>=1)))||(u1.haveA2andB>=1))||((u1.resA>=1)&&(u2.haveB>=1)))))) * (!(EX(!(((((((u2.resB>=1)&&(u0.haveA>=1))||(u2.haveAandB>=1))||((u1.resA>=1)&&(u0.Clients>=1)))||(u1.haveA2andB>=1))||((u1.resA>=1)&&(u2.haveB>=1)))))) + !(E(TRUE U !(((u2.haveAandB>=1)||((u1.resA>=1)&&(u0.Clients>=1)))))))))))) * (((((((u1.haveA2>=1)||((u2.resB>=1)&&(u0.haveA>=1)))||(u2.haveAandB>=1))||(u1.haveA2andB>=1))||((u1.resA>=1)&&(u0.Clients>=1)))||((u1.resA>=1)&&(u2.haveB>=1)))||((u2.resB>=1)&&(u0.haveA>=1)))),TRUE) * (((u2.resB>=1)&&(u0.haveA>=1))||((u1.resA>=1)&&(u2.haveB>=1))))] = FALSE * (([(((EY(Init) * !((((!(E(TRUE U !((((((u2.resB<1)||(u0.haveA<1))&&(u1.haveA2andB<1))&&((u1.resA<1)||(u2.haveB<1)))||(((((u2.resB<1)||(u0.haveA<1))&&(u2.haveAandB<1))&&((u1.resA<1)||(u0.Clients<1)))&&((u1.resA<1)||(u2.haveB<1))))))) + (u1.haveA2>=1)) + (u1.haveA2andB>=1)) * ((E(TRUE U (((((((((((u1.haveA2>=1)||((u2.resB>=1)&&(u0.haveA>=1)))||(u2.haveAandB>=1))||(u1.haveA2andB>=1))||((u1.resA>=1)&&(u0.Clients>=1)))||((u1.resA>=1)&&(u2.haveB>=1)))||(u1.haveA2>=1))||((u2.resB>=1)&&(u0.haveA>=1)))||(u2.haveAandB>=1))||(u1.haveA2andB>=1))||((u1.resA>=1)&&(u2.haveB>=1)))) + ((((u1.haveA2>=1)||((u1.resA>=1)&&(u0.Clients>=1)))||((u1.resA>=1)&&(u2.haveB>=1)))&&((((u1.haveA2>=1)||(u1.haveA2andB>=1))||((u2.resB>=1)&&(u0.haveA>=1)))||((u1.resA>=1)&&(u0.Clients>=1))))) + (!(EG(!(((((((u2.resB>=1)&&(u0.haveA>=1))||(u2.haveAandB>=1))||((u1.resA>=1)&&(u0.Clients>=1)))||(u1.haveA2andB>=1))||((u1.resA>=1)&&(u2.haveB>=1)))))) * (!(EX(!(((((((u2.resB>=1)&&(u0.haveA>=1))||(u2.haveAandB>=1))||((u1.resA>=1)&&(u0.Clients>=1)))||(u1.haveA2andB>=1))||((u1.resA>=1)&&(u2.haveB>=1)))))) + !(E(TRUE U !(((u2.haveAandB>=1)||((u1.resA>=1)&&(u0.Clients>=1)))))))))))) * !(!(!(E(TRUE U !(((((((u1.haveA2<1)&&((u2.resB<1)||(u0.haveA<1)))&&(u2.haveAandB<1))&&(u1.haveA2andB<1))&&((u1.resA<1)||(u0.Clients<1)))&&((u1.resA<1)||(u2.haveB<1))))))))) * !((u1.haveA2andB<1)))] = FALSE * [FwdG((((((EY(Init) * !((((!(E(TRUE U !((((((u2.resB<1)||(u0.haveA<1))&&(u1.haveA2andB<1))&&((u1.resA<1)||(u2.haveB<1)))||(((((u2.resB<1)||(u0.haveA<1))&&(u2.haveAandB<1))&&((u1.resA<1)||(u0.Clients<1)))&&((u1.resA<1)||(u2.haveB<1))))))) + (u1.haveA2>=1)) + (u1.haveA2andB>=1)) * ((E(TRUE U (((((((((((u1.haveA2>=1)||((u2.resB>=1)&&(u0.haveA>=1)))||(u2.haveAandB>=1))||(u1.haveA2andB>=1))||((u1.resA>=1)&&(u0.Clients>=1)))||((u1.resA>=1)&&(u2.haveB>=1)))||(u1.haveA2>=1))||((u2.resB>=1)&&(u0.haveA>=1)))||(u2.haveAandB>=1))||(u1.haveA2andB>=1))||((u1.resA>=1)&&(u2.haveB>=1)))) + ((((u1.haveA2>=1)||((u1.resA>=1)&&(u0.Clients>=1)))||((u1.resA>=1)&&(u2.haveB>=1)))&&((((u1.haveA2>=1)||(u1.haveA2andB>=1))||((u2.resB>=1)&&(u0.haveA>=1)))||((u1.resA>=1)&&(u0.Clients>=1))))) + (!(EG(!(((((((u2.resB>=1)&&(u0.haveA>=1))||(u2.haveAandB>=1))||((u1.resA>=1)&&(u0.Clients>=1)))||(u1.haveA2andB>=1))||((u1.resA>=1)&&(u2.haveB>=1)))))) * (!(EX(!(((((((u2.resB>=1)&&(u0.haveA>=1))||(u2.haveAandB>=1))||((u1.resA>=1)&&(u0.Clients>=1)))||(u1.haveA2andB>=1))||((u1.resA>=1)&&(u2.haveB>=1)))))) + !(E(TRUE U !(((u2.haveAandB>=1)||((u1.resA>=1)&&(u0.Clients>=1)))))))))))) * !(!(!(E(TRUE U !(((((((u1.haveA2<1)&&((u2.resB<1)||(u0.haveA<1)))&&(u2.haveAandB<1))&&(u1.haveA2andB<1))&&((u1.resA<1)||(u0.Clients<1)))&&((u1.resA<1)||(u2.haveB<1))))))))) * !((u2.haveAandB<1))) * !((u0.haveA<1))) * !((u2.resB<1))),(((((u1.haveA2>=1)||((u2.resB>=1)&&(u0.haveA>=1)))||(u2.haveAandB>=1))||(u1.haveA2andB>=1))||((u1.resA>=1)&&(u2.haveB>=1))))] = FALSE) * [(((EY(Init) * !((((!(E(TRUE U !((((((u2.resB<1)||(u0.haveA<1))&&(u1.haveA2andB<1))&&((u1.resA<1)||(u2.haveB<1)))||(((((u2.resB<1)||(u0.haveA<1))&&(u2.haveAandB<1))&&((u1.resA<1)||(u0.Clients<1)))&&((u1.resA<1)||(u2.haveB<1))))))) + (u1.haveA2>=1)) + (u1.haveA2andB>=1)) * ((E(TRUE U (((((((((((u1.haveA2>=1)||((u2.resB>=1)&&(u0.haveA>=1)))||(u2.haveAandB>=1))||(u1.haveA2andB>=1))||((u1.resA>=1)&&(u0.Clients>=1)))||((u1.resA>=1)&&(u2.haveB>=1)))||(u1.haveA2>=1))||((u2.resB>=1)&&(u0.haveA>=1)))||(u2.haveAandB>=1))||(u1.haveA2andB>=1))||((u1.resA>=1)&&(u2.haveB>=1)))) + ((((u1.haveA2>=1)||((u1.resA>=1)&&(u0.Clients>=1)))||((u1.resA>=1)&&(u2.haveB>=1)))&&((((u1.haveA2>=1)||(u1.haveA2andB>=1))||((u2.resB>=1)&&(u0.haveA>=1)))||((u1.resA>=1)&&(u0.Clients>=1))))) + (!(EG(!(((((((u2.resB>=1)&&(u0.haveA>=1))||(u2.haveAandB>=1))||((u1.resA>=1)&&(u0.Clients>=1)))||(u1.haveA2andB>=1))||((u1.resA>=1)&&(u2.haveB>=1)))))) * (!(EX(!(((((((u2.resB>=1)&&(u0.haveA>=1))||(u2.haveAandB>=1))||((u1.resA>=1)&&(u0.Clients>=1)))||(u1.haveA2andB>=1))||((u1.resA>=1)&&(u2.haveB>=1)))))) + !(E(TRUE U !(((u2.haveAandB>=1)||((u1.resA>=1)&&(u0.Clients>=1)))))))))))) * !(!(!(E(TRUE U !(((((((u1.haveA2<1)&&((u2.resB<1)||(u0.haveA<1)))&&(u2.haveAandB<1))&&(u1.haveA2andB<1))&&((u1.resA<1)||(u0.Clients<1)))&&((u1.resA<1)||(u2.haveB<1))))))))) * !(((u2.resB<1)||(u0.haveA<1))))] = FALSE))
(forward)formula 5,0,0.134346,5576,1,0,1126,246,324,1194,76,595,2939
FORMULA TwoPhaseLocking-PT-nC00004vD-CTLFireability-08 FALSE TECHNIQUES DECISION_DIAGRAMS TOPOLOGICAL USE_NUPN
Formula is FALSE !
***************************************
original formula: AX(!(A((u1.haveA2>=1) U ((E(EF((((u2.haveAandB>=1)||((u1.resA>=1)&&(u0.Clients>=1)))||(u1.haveA2andB>=1))) U ((((u1.haveA2>=1)||((u2.resB>=1)&&(u0.haveA>=1)))||((u1.resA>=1)&&(u0.Clients>=1)))&&((((u2.resB>=1)&&(u0.haveA>=1))||((u1.resA>=1)&&(u0.Clients>=1)))||((u1.resA>=1)&&(u2.haveB>=1))))) * (((((u2.resB>=1)&&(u0.haveA>=1))||(u2.haveAandB>=1))||((u1.resA>=1)&&(u0.Clients>=1)))||((u1.resA>=1)&&(u2.haveB>=1)))) * ((((((u1.haveA2>=1)||((u2.resB>=1)&&(u0.haveA>=1)))||(u2.haveAandB>=1))||(u1.haveA2andB>=1))||((u1.resA>=1)&&(u0.Clients>=1)))||((u1.resA>=1)&&(u2.haveB>=1)))))))
=> equivalent forward existential formula: [((EY(Init) * !(EG(!(((E(E(TRUE U (((u2.haveAandB>=1)||((u1.resA>=1)&&(u0.Clients>=1)))||(u1.haveA2andB>=1))) U ((((u1.haveA2>=1)||((u2.resB>=1)&&(u0.haveA>=1)))||((u1.resA>=1)&&(u0.Clients>=1)))&&((((u2.resB>=1)&&(u0.haveA>=1))||((u1.resA>=1)&&(u0.Clients>=1)))||((u1.resA>=1)&&(u2.haveB>=1))))) * (((((u2.resB>=1)&&(u0.haveA>=1))||(u2.haveAandB>=1))||((u1.resA>=1)&&(u0.Clients>=1)))||((u1.resA>=1)&&(u2.haveB>=1)))) * ((((((u1.haveA2>=1)||((u2.resB>=1)&&(u0.haveA>=1)))||(u2.haveAandB>=1))||(u1.haveA2andB>=1))||((u1.resA>=1)&&(u0.Clients>=1)))||((u1.resA>=1)&&(u2.haveB>=1)))))))) * !(E(!(((E(E(TRUE U (((u2.haveAandB>=1)||((u1.resA>=1)&&(u0.Clients>=1)))||(u1.haveA2andB>=1))) U ((((u1.haveA2>=1)||((u2.resB>=1)&&(u0.haveA>=1)))||((u1.resA>=1)&&(u0.Clients>=1)))&&((((u2.resB>=1)&&(u0.haveA>=1))||((u1.resA>=1)&&(u0.Clients>=1)))||((u1.resA>=1)&&(u2.haveB>=1))))) * (((((u2.resB>=1)&&(u0.haveA>=1))||(u2.haveAandB>=1))||((u1.resA>=1)&&(u0.Clients>=1)))||((u1.resA>=1)&&(u2.haveB>=1)))) * ((((((u1.haveA2>=1)||((u2.resB>=1)&&(u0.haveA>=1)))||(u2.haveAandB>=1))||(u1.haveA2andB>=1))||((u1.resA>=1)&&(u0.Clients>=1)))||((u1.resA>=1)&&(u2.haveB>=1))))) U (!((u1.haveA2>=1)) * !(((E(E(TRUE U (((u2.haveAandB>=1)||((u1.resA>=1)&&(u0.Clients>=1)))||(u1.haveA2andB>=1))) U ((((u1.haveA2>=1)||((u2.resB>=1)&&(u0.haveA>=1)))||((u1.resA>=1)&&(u0.Clients>=1)))&&((((u2.resB>=1)&&(u0.haveA>=1))||((u1.resA>=1)&&(u0.Clients>=1)))||((u1.resA>=1)&&(u2.haveB>=1))))) * (((((u2.resB>=1)&&(u0.haveA>=1))||(u2.haveAandB>=1))||((u1.resA>=1)&&(u0.Clients>=1)))||((u1.resA>=1)&&(u2.haveB>=1)))) * ((((((u1.haveA2>=1)||((u2.resB>=1)&&(u0.haveA>=1)))||(u2.haveAandB>=1))||(u1.haveA2andB>=1))||((u1.resA>=1)&&(u0.Clients>=1)))||((u1.resA>=1)&&(u2.haveB>=1)))))))))] = FALSE
(forward)formula 6,0,0.14241,5576,1,0,1160,248,332,1256,76,598,3055
FORMULA TwoPhaseLocking-PT-nC00004vD-CTLFireability-10 FALSE TECHNIQUES DECISION_DIAGRAMS TOPOLOGICAL USE_NUPN
Formula is FALSE !
***************************************
original formula: !(AX(EF(((((((u1.haveA2>=1)||((u2.resB>=1)&&(u0.haveA>=1)))||(u2.haveAandB>=1))||((u1.resA>=1)&&(u0.Clients>=1)))||(u1.haveA2andB>=1))||((u1.resA>=1)&&(u2.haveB>=1))))))
=> equivalent forward existential formula: [(EY(Init) * !(E(TRUE U ((((((u1.haveA2>=1)||((u2.resB>=1)&&(u0.haveA>=1)))||(u2.haveAandB>=1))||((u1.resA>=1)&&(u0.Clients>=1)))||(u1.haveA2andB>=1))||((u1.resA>=1)&&(u2.haveB>=1))))))] != FALSE
(forward)formula 7,0,0.143602,5576,1,0,1160,248,332,1256,76,598,3055
FORMULA TwoPhaseLocking-PT-nC00004vD-CTLFireability-11 FALSE TECHNIQUES DECISION_DIAGRAMS TOPOLOGICAL USE_NUPN
Formula is FALSE !
***************************************
original formula: AX(((u2.haveAandB>=1) + EX(A(((u1.haveA2andB<1)||(((u2.haveAandB<1)&&(u1.haveA2andB<1))&&((u1.resA<1)||(u0.Clients<1)))) U AG((((((u1.haveA2>=1)||((u2.resB>=1)&&(u0.haveA>=1)))||(u1.haveA2andB>=1))||((u1.resA>=1)&&(u0.Clients>=1)))||((u1.resA>=1)&&(u2.haveB>=1))))))))
=> equivalent forward existential formula: [((EY(Init) * !((u2.haveAandB>=1))) * !(EX(!((E(!(!(E(TRUE U !((((((u1.haveA2>=1)||((u2.resB>=1)&&(u0.haveA>=1)))||(u1.haveA2andB>=1))||((u1.resA>=1)&&(u0.Clients>=1)))||((u1.resA>=1)&&(u2.haveB>=1))))))) U (!(((u1.haveA2andB<1)||(((u2.haveAandB<1)&&(u1.haveA2andB<1))&&((u1.resA<1)||(u0.Clients<1))))) * !(!(E(TRUE U !((((((u1.haveA2>=1)||((u2.resB>=1)&&(u0.haveA>=1)))||(u1.haveA2andB>=1))||((u1.resA>=1)&&(u0.Clients>=1)))||((u1.resA>=1)&&(u2.haveB>=1))))))))) + EG(!(!(E(TRUE U !((((((u1.haveA2>=1)||((u2.resB>=1)&&(u0.haveA>=1)))||(u1.haveA2andB>=1))||((u1.resA>=1)&&(u0.Clients>=1)))||((u1.resA>=1)&&(u2.haveB>=1)))))))))))))] = FALSE
(forward)formula 8,0,0.148816,5576,1,0,1243,252,341,1346,76,603,3244
FORMULA TwoPhaseLocking-PT-nC00004vD-CTLFireability-13 FALSE TECHNIQUES DECISION_DIAGRAMS TOPOLOGICAL USE_NUPN
Formula is FALSE !
***************************************
original formula: !(AX(AG((E(((u2.haveAandB>=1)&&(((u1.haveA2>=1)||((u1.resA>=1)&&(u0.Clients>=1)))||((u1.resA>=1)&&(u2.haveB>=1)))) U (((((u1.haveA2<1)&&(u2.haveAandB<1))&&((u1.resA<1)||(u0.Clients<1)))&&(u1.haveA2andB<1))&&((u1.resA<1)||(u2.haveB<1)))) * (((((((E((((u2.resB>=1)&&(u0.haveA>=1))||(u2.haveAandB>=1)) U ((((((u1.haveA2>=1)||((u2.resB>=1)&&(u0.haveA>=1)))||(u2.haveAandB>=1))||(u1.haveA2andB>=1))||((u1.resA>=1)&&(u0.Clients>=1)))||((u1.resA>=1)&&(u2.haveB>=1)))) + (u1.haveA2>=1)) + ((u2.resB>=1)&&(u0.haveA>=1))) + (u2.haveAandB>=1)) + ((u1.resA>=1)&&(u0.Clients>=1))) + (u1.haveA2andB>=1)) + ((u1.resA>=1)&&(u2.haveB>=1))) + (u2.haveAandB>=1))))))
=> equivalent forward existential formula: ([(FwdU(EY(Init),TRUE) * !(E(((u2.haveAandB>=1)&&(((u1.haveA2>=1)||((u1.resA>=1)&&(u0.Clients>=1)))||((u1.resA>=1)&&(u2.haveB>=1)))) U (((((u1.haveA2<1)&&(u2.haveAandB<1))&&((u1.resA<1)||(u0.Clients<1)))&&(u1.haveA2andB<1))&&((u1.resA<1)||(u2.haveB<1))))))] != FALSE + [((((((((FwdU(EY(Init),TRUE) * !((u2.haveAandB>=1))) * !(((u1.resA>=1)&&(u2.haveB>=1)))) * !((u1.haveA2andB>=1))) * !(((u1.resA>=1)&&(u0.Clients>=1)))) * !((u2.haveAandB>=1))) * !(((u2.resB>=1)&&(u0.haveA>=1)))) * !((u1.haveA2>=1))) * !(E((((u2.resB>=1)&&(u0.haveA>=1))||(u2.haveAandB>=1)) U ((((((u1.haveA2>=1)||((u2.resB>=1)&&(u0.haveA>=1)))||(u2.haveAandB>=1))||(u1.haveA2andB>=1))||((u1.resA>=1)&&(u0.Clients>=1)))||((u1.resA>=1)&&(u2.haveB>=1))))))] != FALSE)
(forward)formula 9,1,0.150767,5576,1,0,1250,252,346,1356,76,603,3273
FORMULA TwoPhaseLocking-PT-nC00004vD-CTLFireability-15 TRUE TECHNIQUES DECISION_DIAGRAMS TOPOLOGICAL USE_NUPN
Formula is TRUE !
***************************************
BK_STOP 1621451239183
--------------------
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-nC00004vD"
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-nC00004vD, 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-162132108000210"
echo "====================================================================="
echo
echo "--------------------"
echo "preparation of the directory to be used:"
tar xzf /home/mcc/BenchKit/INPUTS/TwoPhaseLocking-PT-nC00004vD.tgz
mv TwoPhaseLocking-PT-nC00004vD 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 ;