diff --git a/experiments/DataValidationTest.mch b/experiments/DataValidationTest.mch
new file mode 100644
index 0000000000000000000000000000000000000000..05a404c9ae799ce76b43558b877e5d3f6c7f3c4c
--- /dev/null
+++ b/experiments/DataValidationTest.mch
@@ -0,0 +1,77 @@
+MACHINE DataValidationTest
+DEFINITIONS
+  SET_PREF_TIME_OUT == 120000
+CONSTANTS
+  n,
+  ids, value, ids_for_value
+PROPERTIES
+  n = 20001 & // with n>20000 value is kept symbolic
+  ids = 1..n &
+  value = %x.(x:1..n | x mod 100) &
+  ids_for_value = value~
+VARIABLES counter, error, checked
+INVARIANT
+   counter :0..n &
+   error : BOOL &
+   checked : BOOL
+INITIALISATION counter := 0 || error := FALSE || checked := FALSE
+OPERATIONS
+  Validate = BEGIN
+     WHILE counter < n DO
+        counter := counter + 1;
+        IF counter /: ids THEN
+           error := TRUE
+        //ELSIF counter: 0..n & (counter mod 100) /: 0..99 THEN
+        ELSIF counter|->100 : value  THEN
+        //ELSIF value(counter) /: 0..99 THEN
+           error := TRUE
+        ELSIF card(ids_for_value[{value(counter)}]) < n/100 THEN
+           error := TRUE
+        END
+        INVARIANT counter:INTEGER
+        VARIANT n-counter
+    END ;
+        checked := TRUE
+  END
+END
+
+/*
+
+PROB:
+$ make probmc
+time probcli DataValidationTest.mch --model-check -disable-timeout -p MAX_OPERATIONS 100 -p MAX_INITIALISATIONS 100
+% Runtime for SOLUTION for SETUP_CONSTANTS: 1 ms (walltime: 0 ms)
+% Runtime to FINALISE SETUP_CONSTANTS: 0 ms (walltime: 0 ms)
+
+ALL OPERATIONS COVERED
+% Model checking finished, all open states visited
+Model checking time: 2539 ms (2728 ms walltime)
+States analysed: 3
+Transitions fired: 4
+No counter example found. ALL states visited.
+
+
+        3.49 real         3.08 user         0.04 sys
+        
+B2PROGRAM BIGINT=true:
+$ make javamc
+Generating Java Model Checker file DataValidationTest.java from B file DataValidationTest.mch, BIGINT=true
+#java -jar B2Program-all-0.1.0-SNAPSHOT.jar java true -2147483648 2147483647 10 false true DataValidationTest.mch
+java -jar B2Program-all-0.1.0-SNAPSHOT.jar -l java -bi true -min -2147483648 --max 2147483647 -dss 10 -cs false -mc true -f DataValidationTest.mch
+cd ../btypes_big_integer && ./gradlew fatJar && cp build/libs/btypes_big_integer-all.jar ../experiments/btypes.jar && cd ../experiments
+
+BUILD SUCCESSFUL in 374ms
+2 actionable tasks: 2 up-to-date
+Compiling Java Model Checker file DataValidationTest.java
+time javac -cp .:btypes.jar DataValidationTest.java
+        0.47 real         1.43 user         0.04 sys
+Running Java Model Checker file DataValidationTest.java, THREADS=1, CACHING=false
+time java -cp .:btypes.jar DataValidationTest.java df 1 false
+Starting Model Checking, Search: DFS, Threads: 1, Caching: false
+MODEL CHECKING SUCCESSFUL
+Number of States: 2
+Number of Transitions: 2
+Model Checking Time: 32573 ms
+       33.44 real        36.13 user         0.39 sys
+
+*/
\ No newline at end of file
diff --git a/experiments/DataValidationTestSmallStep.mch b/experiments/DataValidationTestSmallStep.mch
new file mode 100644
index 0000000000000000000000000000000000000000..5cb644011ef4c564fdd55fa3f3aa78077963ebea
--- /dev/null
+++ b/experiments/DataValidationTestSmallStep.mch
@@ -0,0 +1,99 @@
+MACHINE DataValidationTestSmallStep
+ // Rather than one big WHILE loop we have individual validation steps
+ // Can be checked by TLC
+
+DEFINITIONS
+  SET_PREF_TIME_OUT == 120000
+CONSTANTS
+  n,
+  ids, value, ids_for_value
+PROPERTIES
+  n = 20001 & // with n>20000 value is kept symbolic
+  ids = 1..n &
+  value = %x.(x:1..n | x mod 100) &
+  ids_for_value = value~
+VARIABLES counter, error, checked
+INVARIANT
+   counter :1..n &
+   error : BOOL &
+   checked : BOOL
+INITIALISATION counter := 1 || error := FALSE || checked := FALSE
+OPERATIONS
+  Validate =
+     SELECT counter < n THEN
+        counter := counter + 1 ||
+        IF counter /: ids THEN
+           error := TRUE
+        //ELSIF counter: 0..n & (counter mod 100) /: 0..99 THEN
+        ELSIF counter|->100 : value  THEN
+        //ELSIF value(counter) /: 0..99 THEN
+           error := TRUE
+        ELSIF card(ids_for_value[{value(counter)}]) < n/100 THEN
+           error := TRUE
+        END
+     END;
+   Finished = SELECT counter >= n THEN
+        checked := TRUE
+  END
+END
+
+/*
+$ make probmc
+time probcli DataValidationTestSmallStep.mch --model-check -disable-timeout -p MAX_OPERATIONS 100 -p MAX_INITIALISATIONS 100
+% Runtime for SOLUTION for SETUP_CONSTANTS: 1 ms (walltime: 0 ms)
+% Runtime to FINALISE SETUP_CONSTANTS: 0 ms (walltime: 0 ms)
+
+ALL OPERATIONS COVERED
+% Model checking finished, all open states visited
+Model checking time: 3588 ms (3609 ms walltime)
+States analysed: 20003
+Transitions fired: 20004
+No counter example found. ALL states visited.
+
+        4.37 real         3.96 user         0.04 sys
+
+$ probcli -execute_all /Users/leuschel/git_root/prob_examples/public_examples/B/PerformanceTests/DataValidationTestSmallStep.mch
+% Runtime for SOLUTION for SETUP_CONSTANTS: 69 ms (walltime: 71 ms)
+Infinite loop reached after 20005 steps (looping on Finished).
+% Runtime for -execute: 5207 ms (with gc: 27297 ms, walltime: 27624 ms); time since start: 29316 ms
+$ probcli -execute_all /Users/leuschel/git_root/prob_examples/public_examples/B/PerformanceTests/DataValidationTestSmallStep.mch -noinv
+% Runtime for SOLUTION for SETUP_CONSTANTS: 73 ms (walltime: 75 ms)
+Infinite loop reached after 20005 steps (looping on Finished).
+% Runtime for -execute: 4703 ms (with gc: 26740 ms, walltime: 27034 ms); time since start: 28730 ms
+
+      23.126 sec. for 126 garbage collections which collected 919 356 496 bytes
+
+Result with TLC:
+
+Parsing time: 454 ms
+Translation time: 61 ms
+Model checking time: 102 sec
+States analysed: 20002
+Transitions fired: 20003
+Result: NoError
+
+With B2Program BIGINT=true
+
+$ make javamc
+Creating B2Program JAR
+cd .. && ./gradlew fatJar && cd experiments
+
+BUILD SUCCESSFUL in 1s
+3 actionable tasks: 1 executed, 2 up-to-date
+Copying B2Program JAR
+cp ../build/libs/B2Program-all-0.1.0-SNAPSHOT.jar .
+Generating Java Model Checker file DataValidationTestSmallStep.java from B file DataValidationTestSmallStep.mch, BIGINT=true
+#java -jar B2Program-all-0.1.0-SNAPSHOT.jar java true -2147483648 2147483647 10 false true DataValidationTestSmallStep.mch
+java -jar B2Program-all-0.1.0-SNAPSHOT.jar -l java -bi true -min -2147483648 --max 2147483647 -dss 10 -cs false -mc true -f DataValidationTestSmallStep.mch
+Compiling Java Model Checker file DataValidationTestSmallStep.java
+time javac -cp .:btypes.jar DataValidationTestSmallStep.java
+        0.48 real         1.53 user         0.05 sys
+Running Java Model Checker file DataValidationTestSmallStep.java, THREADS=1, CACHING=false
+time java -cp .:btypes.jar DataValidationTestSmallStep.java df 1 false
+Starting Model Checking, Search: DFS, Threads: 1, Caching: false
+MODEL CHECKING SUCCESSFUL
+Number of States: 20002
+Number of Transitions: 20002
+Model Checking Time: 31474 ms
+       32.35 real        35.30 user         0.39 sys
+*/
diff --git a/experiments/prob_oneway8seq_tlc.mch b/experiments/prob_oneway8seq_tlc.mch
new file mode 100644
index 0000000000000000000000000000000000000000..c5e4984bdff5ad132fd89b5d5a5696a571eaae77
--- /dev/null
+++ b/experiments/prob_oneway8seq_tlc.mch
@@ -0,0 +1,353 @@
+/* https://www3.hhu.de/stups/prob/index.php/Summary_of_B_Syntax */
+
+MACHINE prob_oneway8seq_tlc
+// addapted for TLC4B by Michael Leuschel
+// remove sequential composition in events
+// added constant values found by ProB to properties (not necessary if we use Setup by ProB option)
+// Note : ProB's AST cleanup will get rid of some of the sequential compositions
+// the B encoding could be made much more idiomatic and compact
+
+
+DEFINITIONS
+  SET_PREF_MAXINT == 1;
+  SET_PREF_MININT == 0
+
+CONSTANTS
+   T0,T1,T2,T3,T4,T5,T6,T7,
+   A0,A1,A2,A3,A4,A5,A6,A7,
+   B0,B1,B2,B3,B4,B5,B6,B7,
+   LA,LB
+
+PROPERTIES
+
+       T0={(0|->1),(1|->9),(2|->10),(3|->13),(4|->15),(5|->20),(6|->23)} &
+       T1={(0|->3),(1|->9),(2|->10),(3|->13),(4|->15),(5|->20),(6|->24)} &
+       T2={(0|->5),(1|->27),(2|->11),(3|->13),(4|->16),(5|->20),(6|->25)} &
+       T3={(0|->7),(1|->27),(2|->11),(3|->13),(4|->16),(5|->20),(6|->26)} &
+       T4={(0|->23),(1|->22),(2|->17),(3|->18),(4|->11),(5|->9),(6|->2)} &
+       T5={(0|->24),(1|->22),(2|->17),(3|->18),(4|->11),(5|->9),(6|->4)} &
+       T6={(0|->25),(1|->22),(2|->17),(3|->18),(4|->12),(5|->27),(6|->6)} &
+       T7={(0|->26),(1|->22),(2|->17),(3|->18),(4|->12),(5|->27),(6|->8)} &
+       A0={(0|->0),(1|->0),(2|->0),(3|->1),(4|->0),(5|->-1),(6|->0)} &
+       A1={(0|->0),(1|->0),(2|->0),(3|->1),(4|->0),(5|->-1),(6|->0)} &
+       A2={(0|->0),(1|->0),(2|->1),(3|->-1),(4|->0),(5|->1),(6|->0)} &
+       A3={(0|->0),(1|->0),(2|->1),(3|->-1),(4|->0),(5|->0),(6|->0)} &
+       A4={(0|->0),(1|->1),(2|->0),(3|->0),(4|->-1),(5|->0),(6|->0)} &
+       A5={(0|->0),(1|->1),(2|->0),(3|->0),(4|->-1),(5|->0),(6|->0)} &
+       A6={(0|->0),(1|->0),(2|->0),(3|->-1),(4|->0),(5|->0),(6|->0)} &
+       A7={(0|->0),(1|->1),(2|->0),(3|->-1),(4|->0),(5|->0),(6|->0)} &
+       B0={(0|->0),(1|->0),(2|->0),(3|->1),(4|->0),(5|->-1),(6|->0)} &
+       B1={(0|->0),(1|->0),(2|->0),(3|->1),(4|->0),(5|->-1),(6|->0)} &
+       B2={(0|->0),(1|->0),(2|->1),(3|->-1),(4|->0),(5|->0),(6|->0)} &
+       B3={(0|->0),(1|->0),(2|->1),(3|->-1),(4|->0),(5|->1),(6|->0)} &
+       B4={(0|->0),(1|->1),(2|->0),(3|->0),(4|->-1),(5|->0),(6|->0)} &
+       B5={(0|->0),(1|->1),(2|->0),(3|->0),(4|->-1),(5|->0),(6|->0)} &
+       B6={(0|->0),(1|->1),(2|->0),(3|->-1),(4|->0),(5|->0),(6|->0)} &
+       B7={(0|->0),(1|->0),(2|->0),(3|->-1),(4|->0),(5|->0),(6|->0)} &
+
+
+/*
+--------------------------------------------------------------
+T0: int[] := [ 1, 9,10,13,15,20,23]; -- G1
+T1: int[] := [ 3, 9,10,13,15,20,24]; -- R1
+T2: int[] := [ 5,27,11,13,16,20,25]; -- Y1
+T3: int[] := [ 7,27,11,13,16,20,26]; -- B1
+T4: int[] := [23,22,17,18,11, 9, 2]; -- G2
+T5: int[] := [24,22,17,18,11, 9, 4]; -- R2
+T6: int[] := [25,22,17,18,12,27, 6]; -- Y2
+T7: int[] := [26,22,17,18,12,27, 8]; -- B2
+----------------------------------------------------------------
+
+------ region A: train constraints ------
+A0: int[] := [ 0, 0, 0, 1, 0,-1, 0]; -- G1
+A1: int[] := [ 0, 0, 0, 1, 0,-1, 0]; -- R1
+A2: int[] := [ 0, 0, 1,-1, 0, 1, 0]; -- Y1
+A3: int[] := [ 0, 0, 1,-1, 0, 0, 0]; -- B1
+A4: int[] := [ 0, 1, 0, 0,-1, 0, 0]; -- G2
+A5: int[] := [ 0, 1, 0, 0,-1, 0, 0]; -- R2
+A6: int[] := [ 0, 0, 0,-1, 0, 0, 0]; -- Y2
+A7: int[] := [ 0, 1, 0,-1, 0, 0, 0]; -- B2
+------------------------------------------
+
+------- region B: train constraints ------
+B0: int[] := [ 0, 0, 0, 1, 0,-1, 0]; -- G1
+B1: int[] := [ 0, 0, 0, 1, 0,-1, 0]; -- R1
+B2: int[] := [ 0, 0, 1,-1, 0, 0, 0]; -- Y1
+B3: int[] := [ 0, 0, 1,-1, 0, 1, 0]; -- B1
+B4: int[] := [ 0, 1, 0, 0,-1, 0, 0]; -- G2
+B5: int[] := [ 0, 1, 0, 0,-1, 0, 0]; -- R2
+B6: int[] := [ 0, 1, 0,-1, 0, 0, 0]; -- Y2
+B7: int[] := [ 0, 0, 0,-1, 0, 0, 0]; -- B2
+------------------------------------------
+
+-------------------------------------------------------------
+RA: int :=1;  -- initial value for region RA
+RB: int :=1;  -- initial value for region RB
+LA: int :=7;  -- limit value for region RA
+LB: int :=7;  -- limit value for region RB
+-------------------------------------------------------------------
+*/
+
+  T0 : 0..6 --> 1..27 &
+  T1 : 0..6 --> 1..27 &
+  T2 : 0..6 --> 1..27 &
+  T3 : 0..6 --> 1..27 &
+  T4 : 0..6 --> 1..27 &
+  T5 : 0..6 --> 1..27 &
+  T6 : 0..6 --> 1..27 &
+  T7 : 0..6 --> 1..27 &
+
+  A0 : 0..6 --> -1..1 &
+  A1 : 0..6 --> -1..1 &
+  A2 : 0..6 --> -1..1 &
+  A3 : 0..6 --> -1..1 &
+  A4 : 0..6 --> -1..1 &
+  A5 : 0..6 --> -1..1 &
+  A6 : 0..6 --> -1..1 &
+  A7 : 0..6 --> -1..1 &
+
+  B0 : 0..6 --> -1..1 &
+  B1 : 0..6 --> -1..1 &
+  B2 : 0..6 --> -1..1 &
+  B3 : 0..6 --> -1..1 &
+  B4 : 0..6 --> -1..1 &
+  B5 : 0..6 --> -1..1 &
+  B6 : 0..6 --> -1..1 &
+  B7 : 0..6 --> -1..1 &
+
+  T0(0)= 1 & T0(1)= 9 & T0(2)=10 & T0(3)=13 & T0(4)=15 & T0(5)=20 & T0(6)=23 &
+  T1(0)= 3 & T1(1)= 9 & T1(2)=10 & T1(3)=13 & T1(4)=15 & T1(5)=20 & T1(6)=24 &
+  T2(0)= 5 & T2(1)=27 & T2(2)=11 & T2(3)=13 & T2(4)=16 & T2(5)=20 & T2(6)=25 &
+  T3(0)= 7 & T3(1)=27 & T3(2)=11 & T3(3)=13 & T3(4)=16 & T3(5)=20 & T3(6)=26 &
+  T4(0)=23 & T4(1)=22 & T4(2)=17 & T4(3)=18 & T4(4)=11 & T4(5)= 9 & T4(6)=2 &
+  T5(0)=24 & T5(1)=22 & T5(2)=17 & T5(3)=18 & T5(4)=11 & T5(5)= 9 & T5(6)=4 &
+  T6(0)=25 & T6(1)=22 & T6(2)=17 & T6(3)=18 & T6(4)=12 & T6(5)=27 & T6(6)=6 &
+  T7(0)=26 & T7(1)=22 & T7(2)=17 & T7(3)=18 & T7(4)=12 & T7(5)=27 & T7(6)=8 &
+
+  A0(0)=0 & A0(1)=0 & A0(2)=0 & A0(3)= 1 & A0(4)= 0 & A0(5)=-1 & A0( 6)=0 &
+  A1(0)=0 & A1(1)=0 & A1(2)=0 & A1(3)= 1 & A1(4)= 0 & A1(5)=-1 & A1( 6)=0 &
+  A2(0)=0 & A2(1)=0 & A2(2)=1 & A2(3)=-1 & A2(4)= 0 & A2(5)= 1 & A2( 6)=0 &
+  A3(0)=0 & A3(1)=0 & A3(2)=1 & A3(3)=-1 & A3(4)= 0 & A3(5)= 0 & A3( 6)=0 &
+  A4(0)=0 & A4(1)=1 & A4(2)=0 & A4(3)= 0 & A4(4)=-1 & A4(5)= 0 & A4( 6)=0 &
+  A5(0)=0 & A5(1)=1 & A5(2)=0 & A5(3)= 0 & A5(4)=-1 & A5(5)= 0 & A5( 6)=0 &
+  A6(0)=0 & A6(1)=0 & A6(2)=0 & A6(3)=-1 & A6(4)= 0 & A6(5)= 0 & A6( 6)=0 &
+  A7(0)=0 & A7(1)=1 & A7(2)=0 & A7(3)=-1 & A7(4)= 0 & A7(5)= 0 & A7( 6)=0 &
+
+  B0(0)=0 & B0(1)=0 & B0(2)=0 & B0(3)= 1 & B0(4)= 0 & B0(5)=-1 & B0( 6)=0 &
+  B1(0)=0 & B1(1)=0 & B1(2)=0 & B1(3)= 1 & B1(4)= 0 & B1(5)=-1 & B1( 6)=0 &
+  B2(0)=0 & B2(1)=0 & B2(2)=1 & B2(3)=-1 & B2(4)= 0 & B2(5)= 0 & B2( 6)=0 &
+  B3(0)=0 & B3(1)=0 & B3(2)=1 & B3(3)=-1 & B3(4)= 0 & B3(5)= 1 & B3( 6)=0 &
+  B4(0)=0 & B4(1)=1 & B4(2)=0 & B4(3)=-0 & B4(4)=-1 & B4(5)= 0 & B4( 6)=0 &
+  B5(0)=0 & B5(1)=1 & B5(2)=0 & B5(3)= 0 & B5(4)=-1 & B5(5)= 0 & B5( 6)=0 &
+  B6(0)=0 & B6(1)=1 & B6(2)=0 & B6(3)=-1 & B6(4)= 0 & B6(5)= 0 & B6( 6)=0 &
+  B7(0)=0 & B7(1)=0 & B7(2)=0 & B7(3)=-1 & B7(4)= 0 & B7(5)= 0 & B7( 6)=0 &
+
+  LA=7 & LB=7
+
+VARIABLES
+  P0,P1,P2,P3,P4,P5,P6,P7,RA,RB
+
+INVARIANT
+  P0:0..6 & P1:0..6 & P2:0..6 & P3:0..6 & P4:0..6 & P5:0..6 & P6:0..6 & P7:0..6 &
+  RA:0..8 & RB:0..8
+
+INITIALISATION
+  P0:=0 || P1:=0 || P2:=0 || P3:=0 || P4:=0 ||
+   P5:=0 || P6:=0 || P7:=0 || RA:=1 || RB:=1
+
+OPERATIONS
+  move0 =
+    PRE P0<6 &
+      T0(P0+1) /= T1(P1) & // next place of train0 not occupied by train1
+      T0(P0+1) /= T2(P2 )& // next place of train0 not occupied by train2
+      T0(P0+1) /= T3(P3 )&
+      T0(P0+1) /= T4(P4) &
+      T0(P0+1) /= T5(P5) &
+      T0(P0+1) /= T6(P6) &
+      T0(P0+1) /= T7(P7) &  // next place of train0 not occupied by train7
+      RA + A0(P0+1) <= LA & // progress of train0 does not saturate RA
+      RB + B0(P0+1) <= LB   // progress of train0 does not saturate RB
+    THEN
+      P0 := P0+1 ||
+      RA := RA + A0(P0+1) || // update occupancy of RA according to the step
+      RB := RB + B0(P0+1)    // update occupancy of RB according to the step
+    END ;
+
+  move1 =
+    PRE P1<6 &
+      T1(P1+1) /= T0(P0) &
+      T1(P1+1) /= T2(P2) &
+      T1(P1+1) /= T3(P3) &
+      T1(P1+1) /= T4(P4) &
+      T1(P1+1) /= T5(P5) &
+      T1(P1+1) /= T6(P6) &
+      T1(P1+1) /= T7(P7) &
+      RA + A1(P1+1) <= LA &
+      RB + B1(P1+1) <= LB
+    THEN
+      P1 := P1+1 ||
+      RA := RA + A1(P1+1) ||
+      RB := RB + B1(P1+1)
+    END ;
+
+  move2 =
+    PRE P2<6 &
+      T2(P2+1) /= T0(P0) &
+      T2(P2+1) /= T1(P1) &
+      T2(P2+1) /= T3(P3) &
+      T2(P2+1) /= T4(P4) &
+      T2(P2+1) /= T5(P5) &
+      T2(P2+1) /= T6(P6) &
+      T2(P2+1) /= T7(P7) &
+      RA + A2(P2+1) <= LA &
+      RB + B2(P2+1) <= LB
+    THEN
+      P2 := P2+1 ||
+      RA := RA + A2(P2+1) ||
+      RB := RB + B2(P2+1)
+    END ;
+
+  move3 =
+    PRE P3<6 &
+      T3(P3+1) /= T0(P0) &
+      T3(P3+1) /= T1(P1) &
+      T3(P3+1) /= T2(P2) &
+      T3(P3+1) /= T4(P4) &
+      T3(P3+1) /= T5(P5) &
+      T3(P3+1) /= T6(P6) &
+      T3(P3+1) /= T7(P7) &
+      RA + A3(P3+1) <= LA &
+      RB + B3(P3+1) <= LB
+    THEN
+      P3 := P3+1 ||
+      RA := RA + A3(P3+1) ||
+      RB := RB + B3(P3+1)
+    END ;
+
+  move4 =
+    PRE P4<6 &
+      T4(P4+1) /= T0(P0) &
+      T4(P4+1) /= T1(P1) &
+      T4(P4+1) /= T2(P2) &
+      T4(P4+1) /= T3(P3) &
+      T4(P4+1) /= T5(P5) &
+      T4(P4+1) /= T6(P6) &
+      T4(P4+1) /= T7(P7) &
+      RA + A4(P4+1) <= LA &
+      RB + B4(P4+1) <= LB
+    THEN
+      P4 := P4+1 ||
+      RA := RA + A4(P4+1) ||
+      RB := RB + B4(P4+1)
+    END ;
+
+  move5 =
+    PRE P5<6 &
+      T5(P5+1) /= T0(P0) &
+      T5(P5+1) /= T1(P1) &
+      T5(P5+1) /= T2(P2) &
+      T5(P5+1) /= T3(P3) &
+      T5(P5+1) /= T4(P4) &
+      T5(P5+1) /= T6(P6) &
+      T5(P5+1) /= T7(P7) &
+      RA + A5(P5+1) <= LA &
+      RB + B5(P5+1) <= LB
+    THEN
+      P5 := P5+1 ||
+      RA := RA + A5(P5+1) ||
+      RB := RB + B5(P5+1)
+    END ;
+
+  move6 =
+    PRE P6<6 &
+      T6(P6+1) /= T0(P0) &
+      T6(P6+1) /= T1(P1) &
+      T6(P6+1) /= T2(P2) &
+      T6(P6+1) /= T3(P3) &
+      T6(P6+1) /= T4(P4) &
+      T6(P6+1) /= T5(P5) &
+      T6(P6+1) /= T7(P7) &
+      RA + A6(P6+1) <= LA &
+      RB + B6(P6+1) <= LB
+    THEN
+      P6 := P6+1 ||
+      RA := RA + A6(P6+1) ||
+      RB := RB + B6(P6+1)
+    END ;
+
+  move7 =
+    PRE P7<6 &
+      T7(P7+1) /= T0(P0) &
+      T7(P7+1) /= T1(P1) &
+      T7(P7+1) /= T2(P2) &
+      T7(P7+1) /= T3(P3) &
+      T7(P7+1) /= T4(P4) &
+      T7(P7+1) /= T5(P5) &
+      T7(P7+1) /= T6(P6) &
+      RA + A7(P7+1) <= LA &
+      RB + B7(P7+1) <= LB
+    THEN
+      P7 := P7+1 ||
+      RA := RA + A7(P7+1) ||
+      RB := RB + B7(P7+1)
+    END ;
+
+  arrived =
+    PRE
+       P0=6 & P1=6 & P2=6 & P3=6 & P4=6 & P5=6 & P6=6 & P7=6
+    THEN
+       skip
+    END
+END
+
+//--------------------
+//  SEARCHING DEADLOCKS:  1_636_547 states,   7_134_235 trans.  TIME  32 min   VMEM  3 GB
+//-------------------
+
+/*
+> Model checking completed. No error has been found.
+>   Estimates of the probability that TLC did not check all reachable states
+>   because two distinct states had the same fingerprint:
+>   calculated (optimistic):  val = 4.9E-7
+>   based on the actual fingerprints:  val = 1.6E-9
+> The coverage statistics at 2024-06-26 15:28:42
+> End of statistics.
+> 7134234 states generated, 1636545 distinct states found, 0 states left on queue.
+> The depth of the complete state graph search is 48.
+> Finished. (2024-06-26 15:28:42)
+--------------------------------
+---------- Coverage statistics ----------
+move0: 944136
+move1: 944136
+move2: 900176
+move3: 900176
+move4: 840500
+move5: 840500
+move6: 882304
+move7: 882304
+arrived: 1
+---------- End of coverage statistics ----------
+Used Options
+| Number of workers: 2
+| Invariants check: false
+| Deadlock check: true
+| Assertion check: true
+| Find Goal check: false
+| LTL formulas check: false
+| Partial invariant evaluation: false
+| Lazy constants setup: true
+| Agressive well-definedness check: true
+| Prob constant setup: false
+| Symmetry reduction: false
+| MIN Int: 0
+| MAX Int: 1
+| Standard deferret set size: 3
+--------------------------------
+Parsing time: 452 ms
+Translation time: 126 ms
+Model checking time: 15 sec
+States analysed: 1636545
+Transitions fired: 7134234
+Result: NoError
+
+*/