0 JBC
↳1 JBC2FIG (⇒)
↳2 JBCTerminationGraph
↳3 FIGtoITRSProof (⇒)
↳4 IDP
↳5 IDPNonInfProof (⇒)
↳6 AND
↳7 IDP
↳8 IDependencyGraphProof (⇔)
↳9 TRUE
↳10 IDP
↳11 IDependencyGraphProof (⇔)
↳12 TRUE
/**
* Example taken from "A Term Rewriting Approach to the Automated Termination
* Analysis of Imperative Programs" (http://www.cs.unm.edu/~spf/papers/2009-02.pdf)
* and converted to Java.
*/
public class PastaC10 {
public static void main(String[] args) {
Random.args = args;
int i = Random.random();
int j = Random.random();
while (i - j >= 1) {
i = i - Random.random();
int r = Random.random() + 1;
j = j + r;
}
}
}
public class Random {
static String[] args;
static int index = 0;
public static int random() {
String string = args[index];
index++;
return string.length();
}
}
Generated 54 rules for P and 94 rules for R.
Combined rules. Obtained 4 rules for P and 0 rules for R.
Filtered ground terms:
3316_0_random_ArrayAccess(x1, x2, x3) → 3316_0_random_ArrayAccess(x2, x3)
3687_0_random_IntArithmetic(x1, x2, x3, x4) → 3687_0_random_IntArithmetic(x2, x3)
3586_0_random_ArrayAccess(x1, x2, x3) → 3586_0_random_ArrayAccess(x2, x3)
3347_0_random_IntArithmetic(x1, x2, x3, x4) → 3347_0_random_IntArithmetic(x2, x3)
Combined rules. Obtained 4 rules for P and 0 rules for R.
Finished conversion. Obtained 4 rules for P and 0 rules for R. System has predefined symbols.
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
~ | Bwxor: (Integer, Integer) -> Integer | |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
Boolean, Integer
(0) -> (1), if ((x2[0] >= 2 && x2[0] < x0[0] →* TRUE)∧(3316_0_random_ArrayAccess(java.lang.Object(ARRAY(x0[0], x1[0])), x2[0]) →* 3316_0_random_ArrayAccess(java.lang.Object(ARRAY(x0[1], x1[1])), x2[1]))∧(x3[0] →* x3[1])∧(x4[0] →* x4[1]))
(1) -> (2), if ((3347_0_random_IntArithmetic(x5[1], x6[1]) →* 3347_0_random_IntArithmetic(java.lang.Object(java.lang.String(x0[2], x1[2])), x2[2]))∧(x3[1] →* x4[2])∧(x4[1] →* x5[2]))
(2) -> (3), if ((x2[2] > 0 && x1[2] >= 0 →* TRUE)∧(3347_0_random_IntArithmetic(java.lang.Object(java.lang.String(x0[2], x1[2])), x2[2]) →* 3347_0_random_IntArithmetic(java.lang.Object(java.lang.String(x0[3], x1[3])), x2[3]))∧(x4[2] →* x4[3])∧(x5[2] →* x5[3]))
(3) -> (4), if ((3586_0_random_ArrayAccess(java.lang.Object(ARRAY(x6[3], x7[3])), x8[3]) →* 3586_0_random_ArrayAccess(java.lang.Object(ARRAY(x0[4], x1[4])), x2[4]))∧(x5[3] - x1[3] →* x3[4])∧(x4[3] →* x4[4]))
(4) -> (5), if ((x2[4] >= 3 && x2[4] < x0[4] →* TRUE)∧(3586_0_random_ArrayAccess(java.lang.Object(ARRAY(x0[4], x1[4])), x2[4]) →* 3586_0_random_ArrayAccess(java.lang.Object(ARRAY(x0[5], x1[5])), x2[5]))∧(x3[4] →* x3[5])∧(x4[4] →* x4[5]))
(5) -> (6), if ((3687_0_random_IntArithmetic(x5[5], x6[5]) →* 3687_0_random_IntArithmetic(java.lang.Object(java.lang.String(x0[6], x1[6])), x2[6]))∧(x3[5] →* x4[6])∧(x4[5] →* x5[6]))
(6) -> (7), if ((x2[6] > 0 && x1[6] >= 0 && 1 <= x4[6] - x5[6] + x1[6] + 1 && 0 < x1[6] + 1 →* TRUE)∧(3687_0_random_IntArithmetic(java.lang.Object(java.lang.String(x0[6], x1[6])), x2[6]) →* 3687_0_random_IntArithmetic(java.lang.Object(java.lang.String(x0[7], x1[7])), x2[7]))∧(x4[6] →* x4[7])∧(x5[6] →* x5[7]))
(7) -> (0), if ((3316_0_random_ArrayAccess(java.lang.Object(ARRAY(x6[7], x7[7])), x8[7]) →* 3316_0_random_ArrayAccess(java.lang.Object(ARRAY(x0[0], x1[0])), x2[0]))∧(x5[7] + x1[7] + 1 →* x3[0])∧(x4[7] →* x4[0]))
(1) (&&(>=(x2[0], 2), <(x2[0], x0[0]))=TRUE∧3316_0_random_ArrayAccess(java.lang.Object(ARRAY(x0[0], x1[0])), x2[0])=3316_0_random_ArrayAccess(java.lang.Object(ARRAY(x0[1], x1[1])), x2[1])∧x3[0]=x3[1]∧x4[0]=x4[1] ⇒ 3316_1_MAIN_INVOKEMETHOD(3316_0_random_ArrayAccess(java.lang.Object(ARRAY(x0[0], x1[0])), x2[0]), x3[0], x4[0])≥NonInfC∧3316_1_MAIN_INVOKEMETHOD(3316_0_random_ArrayAccess(java.lang.Object(ARRAY(x0[0], x1[0])), x2[0]), x3[0], x4[0])≥COND_3316_1_MAIN_INVOKEMETHOD(&&(>=(x2[0], 2), <(x2[0], x0[0])), 3316_0_random_ArrayAccess(java.lang.Object(ARRAY(x0[0], x1[0])), x2[0]), x3[0], x4[0])∧(UIncreasing(COND_3316_1_MAIN_INVOKEMETHOD(&&(>=(x2[0], 2), <(x2[0], x0[0])), 3316_0_random_ArrayAccess(java.lang.Object(ARRAY(x0[0], x1[0])), x2[0]), x3[0], x4[0])), ≥))
(2) (>=(x2[0], 2)=TRUE∧<(x2[0], x0[0])=TRUE ⇒ 3316_1_MAIN_INVOKEMETHOD(3316_0_random_ArrayAccess(java.lang.Object(ARRAY(x0[0], x1[0])), x2[0]), x3[0], x4[0])≥NonInfC∧3316_1_MAIN_INVOKEMETHOD(3316_0_random_ArrayAccess(java.lang.Object(ARRAY(x0[0], x1[0])), x2[0]), x3[0], x4[0])≥COND_3316_1_MAIN_INVOKEMETHOD(&&(>=(x2[0], 2), <(x2[0], x0[0])), 3316_0_random_ArrayAccess(java.lang.Object(ARRAY(x0[0], x1[0])), x2[0]), x3[0], x4[0])∧(UIncreasing(COND_3316_1_MAIN_INVOKEMETHOD(&&(>=(x2[0], 2), <(x2[0], x0[0])), 3316_0_random_ArrayAccess(java.lang.Object(ARRAY(x0[0], x1[0])), x2[0]), x3[0], x4[0])), ≥))
(3) (x2[0] + [-2] ≥ 0∧x0[0] + [-1] + [-1]x2[0] ≥ 0 ⇒ (UIncreasing(COND_3316_1_MAIN_INVOKEMETHOD(&&(>=(x2[0], 2), <(x2[0], x0[0])), 3316_0_random_ArrayAccess(java.lang.Object(ARRAY(x0[0], x1[0])), x2[0]), x3[0], x4[0])), ≥)∧[(-1)Bound*bni_55] + [(-1)bni_55]x3[0] + [bni_55]x4[0] ≥ 0∧[1 + (-1)bso_56] ≥ 0)
(4) (x2[0] + [-2] ≥ 0∧x0[0] + [-1] + [-1]x2[0] ≥ 0 ⇒ (UIncreasing(COND_3316_1_MAIN_INVOKEMETHOD(&&(>=(x2[0], 2), <(x2[0], x0[0])), 3316_0_random_ArrayAccess(java.lang.Object(ARRAY(x0[0], x1[0])), x2[0]), x3[0], x4[0])), ≥)∧[(-1)Bound*bni_55] + [(-1)bni_55]x3[0] + [bni_55]x4[0] ≥ 0∧[1 + (-1)bso_56] ≥ 0)
(5) (x2[0] + [-2] ≥ 0∧x0[0] + [-1] + [-1]x2[0] ≥ 0 ⇒ (UIncreasing(COND_3316_1_MAIN_INVOKEMETHOD(&&(>=(x2[0], 2), <(x2[0], x0[0])), 3316_0_random_ArrayAccess(java.lang.Object(ARRAY(x0[0], x1[0])), x2[0]), x3[0], x4[0])), ≥)∧[(-1)Bound*bni_55] + [(-1)bni_55]x3[0] + [bni_55]x4[0] ≥ 0∧[1 + (-1)bso_56] ≥ 0)
(6) (x2[0] + [-2] ≥ 0∧x0[0] + [-1] + [-1]x2[0] ≥ 0 ⇒ (UIncreasing(COND_3316_1_MAIN_INVOKEMETHOD(&&(>=(x2[0], 2), <(x2[0], x0[0])), 3316_0_random_ArrayAccess(java.lang.Object(ARRAY(x0[0], x1[0])), x2[0]), x3[0], x4[0])), ≥)∧0 = 0∧[(-1)bni_55] = 0∧[bni_55] = 0∧[(-1)Bound*bni_55] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_56] ≥ 0)
(7) (x2[0] ≥ 0∧x0[0] + [-3] + [-1]x2[0] ≥ 0 ⇒ (UIncreasing(COND_3316_1_MAIN_INVOKEMETHOD(&&(>=(x2[0], 2), <(x2[0], x0[0])), 3316_0_random_ArrayAccess(java.lang.Object(ARRAY(x0[0], x1[0])), x2[0]), x3[0], x4[0])), ≥)∧0 = 0∧[(-1)bni_55] = 0∧[bni_55] = 0∧[(-1)Bound*bni_55] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_56] ≥ 0)
(8) (x2[0] ≥ 0∧x0[0] ≥ 0 ⇒ (UIncreasing(COND_3316_1_MAIN_INVOKEMETHOD(&&(>=(x2[0], 2), <(x2[0], x0[0])), 3316_0_random_ArrayAccess(java.lang.Object(ARRAY(x0[0], x1[0])), x2[0]), x3[0], x4[0])), ≥)∧0 = 0∧[(-1)bni_55] = 0∧[bni_55] = 0∧[(-1)Bound*bni_55] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_56] ≥ 0)
(9) (3316_0_random_ArrayAccess(java.lang.Object(ARRAY(x6[7], x7[7])), x8[7])=3316_0_random_ArrayAccess(java.lang.Object(ARRAY(x0[0], x1[0])), x2[0])∧+(x5[7], +(x1[7], 1))=x3[0]∧x4[7]=x4[0]∧&&(>=(x2[0], 2), <(x2[0], x0[0]))=TRUE∧3316_0_random_ArrayAccess(java.lang.Object(ARRAY(x0[0], x1[0])), x2[0])=3316_0_random_ArrayAccess(java.lang.Object(ARRAY(x0[1], x1[1])), x2[1])∧x3[0]=x3[1]∧x4[0]=x4[1]∧3347_0_random_IntArithmetic(x5[1], x6[1])=3347_0_random_IntArithmetic(java.lang.Object(java.lang.String(x0[2], x1[2])), x2[2])∧x3[1]=x4[2]∧x4[1]=x5[2] ⇒ COND_3316_1_MAIN_INVOKEMETHOD(TRUE, 3316_0_random_ArrayAccess(java.lang.Object(ARRAY(x0[1], x1[1])), x2[1]), x3[1], x4[1])≥NonInfC∧COND_3316_1_MAIN_INVOKEMETHOD(TRUE, 3316_0_random_ArrayAccess(java.lang.Object(ARRAY(x0[1], x1[1])), x2[1]), x3[1], x4[1])≥3347_1_MAIN_INVOKEMETHOD(3347_0_random_IntArithmetic(x5[1], x6[1]), x3[1], x4[1])∧(UIncreasing(3347_1_MAIN_INVOKEMETHOD(3347_0_random_IntArithmetic(x5[1], x6[1]), x3[1], x4[1])), ≥))
(10) (>=(x2[0], 2)=TRUE∧<(x2[0], x0[0])=TRUE ⇒ COND_3316_1_MAIN_INVOKEMETHOD(TRUE, 3316_0_random_ArrayAccess(java.lang.Object(ARRAY(x0[0], x7[7])), x2[0]), +(x5[7], +(x1[7], 1)), x4[7])≥NonInfC∧COND_3316_1_MAIN_INVOKEMETHOD(TRUE, 3316_0_random_ArrayAccess(java.lang.Object(ARRAY(x0[0], x7[7])), x2[0]), +(x5[7], +(x1[7], 1)), x4[7])≥3347_1_MAIN_INVOKEMETHOD(3347_0_random_IntArithmetic(java.lang.Object(java.lang.String(x0[2], x1[2])), x6[1]), +(x5[7], +(x1[7], 1)), x4[7])∧(UIncreasing(3347_1_MAIN_INVOKEMETHOD(3347_0_random_IntArithmetic(x5[1], x6[1]), x3[1], x4[1])), ≥))
(11) (x2[0] + [-2] ≥ 0∧x0[0] + [-1] + [-1]x2[0] ≥ 0 ⇒ (UIncreasing(3347_1_MAIN_INVOKEMETHOD(3347_0_random_IntArithmetic(x5[1], x6[1]), x3[1], x4[1])), ≥)∧[(-2)bni_57 + (-1)Bound*bni_57] + [(-1)bni_57]x5[7] + [(-1)bni_57]x1[7] + [bni_57]x4[7] ≥ 0∧[(-1)bso_58] ≥ 0)
(12) (x2[0] + [-2] ≥ 0∧x0[0] + [-1] + [-1]x2[0] ≥ 0 ⇒ (UIncreasing(3347_1_MAIN_INVOKEMETHOD(3347_0_random_IntArithmetic(x5[1], x6[1]), x3[1], x4[1])), ≥)∧[(-2)bni_57 + (-1)Bound*bni_57] + [(-1)bni_57]x5[7] + [(-1)bni_57]x1[7] + [bni_57]x4[7] ≥ 0∧[(-1)bso_58] ≥ 0)
(13) (x2[0] + [-2] ≥ 0∧x0[0] + [-1] + [-1]x2[0] ≥ 0 ⇒ (UIncreasing(3347_1_MAIN_INVOKEMETHOD(3347_0_random_IntArithmetic(x5[1], x6[1]), x3[1], x4[1])), ≥)∧[(-2)bni_57 + (-1)Bound*bni_57] + [(-1)bni_57]x5[7] + [(-1)bni_57]x1[7] + [bni_57]x4[7] ≥ 0∧[(-1)bso_58] ≥ 0)
(14) (x2[0] + [-2] ≥ 0∧x0[0] + [-1] + [-1]x2[0] ≥ 0 ⇒ (UIncreasing(3347_1_MAIN_INVOKEMETHOD(3347_0_random_IntArithmetic(x5[1], x6[1]), x3[1], x4[1])), ≥)∧0 = 0∧[(-1)bni_57] = 0∧[(-1)bni_57] = 0∧[bni_57] = 0∧[(-2)bni_57 + (-1)Bound*bni_57] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_58] ≥ 0)
(15) (x2[0] ≥ 0∧x0[0] + [-3] + [-1]x2[0] ≥ 0 ⇒ (UIncreasing(3347_1_MAIN_INVOKEMETHOD(3347_0_random_IntArithmetic(x5[1], x6[1]), x3[1], x4[1])), ≥)∧0 = 0∧[(-1)bni_57] = 0∧[(-1)bni_57] = 0∧[bni_57] = 0∧[(-2)bni_57 + (-1)Bound*bni_57] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_58] ≥ 0)
(16) (x2[0] ≥ 0∧x0[0] ≥ 0 ⇒ (UIncreasing(3347_1_MAIN_INVOKEMETHOD(3347_0_random_IntArithmetic(x5[1], x6[1]), x3[1], x4[1])), ≥)∧0 = 0∧[(-1)bni_57] = 0∧[(-1)bni_57] = 0∧[bni_57] = 0∧[(-2)bni_57 + (-1)Bound*bni_57] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_58] ≥ 0)
(17) (&&(>(x2[2], 0), >=(x1[2], 0))=TRUE∧3347_0_random_IntArithmetic(java.lang.Object(java.lang.String(x0[2], x1[2])), x2[2])=3347_0_random_IntArithmetic(java.lang.Object(java.lang.String(x0[3], x1[3])), x2[3])∧x4[2]=x4[3]∧x5[2]=x5[3] ⇒ 3347_1_MAIN_INVOKEMETHOD(3347_0_random_IntArithmetic(java.lang.Object(java.lang.String(x0[2], x1[2])), x2[2]), x4[2], x5[2])≥NonInfC∧3347_1_MAIN_INVOKEMETHOD(3347_0_random_IntArithmetic(java.lang.Object(java.lang.String(x0[2], x1[2])), x2[2]), x4[2], x5[2])≥COND_3347_1_MAIN_INVOKEMETHOD(&&(>(x2[2], 0), >=(x1[2], 0)), 3347_0_random_IntArithmetic(java.lang.Object(java.lang.String(x0[2], x1[2])), x2[2]), x4[2], x5[2])∧(UIncreasing(COND_3347_1_MAIN_INVOKEMETHOD(&&(>(x2[2], 0), >=(x1[2], 0)), 3347_0_random_IntArithmetic(java.lang.Object(java.lang.String(x0[2], x1[2])), x2[2]), x4[2], x5[2])), ≥))
(18) (>(x2[2], 0)=TRUE∧>=(x1[2], 0)=TRUE ⇒ 3347_1_MAIN_INVOKEMETHOD(3347_0_random_IntArithmetic(java.lang.Object(java.lang.String(x0[2], x1[2])), x2[2]), x4[2], x5[2])≥NonInfC∧3347_1_MAIN_INVOKEMETHOD(3347_0_random_IntArithmetic(java.lang.Object(java.lang.String(x0[2], x1[2])), x2[2]), x4[2], x5[2])≥COND_3347_1_MAIN_INVOKEMETHOD(&&(>(x2[2], 0), >=(x1[2], 0)), 3347_0_random_IntArithmetic(java.lang.Object(java.lang.String(x0[2], x1[2])), x2[2]), x4[2], x5[2])∧(UIncreasing(COND_3347_1_MAIN_INVOKEMETHOD(&&(>(x2[2], 0), >=(x1[2], 0)), 3347_0_random_IntArithmetic(java.lang.Object(java.lang.String(x0[2], x1[2])), x2[2]), x4[2], x5[2])), ≥))
(19) (x2[2] + [-1] ≥ 0∧x1[2] ≥ 0 ⇒ (UIncreasing(COND_3347_1_MAIN_INVOKEMETHOD(&&(>(x2[2], 0), >=(x1[2], 0)), 3347_0_random_IntArithmetic(java.lang.Object(java.lang.String(x0[2], x1[2])), x2[2]), x4[2], x5[2])), ≥)∧[(-1)bni_59 + (-1)Bound*bni_59] + [bni_59]x5[2] + [(-1)bni_59]x4[2] ≥ 0∧[(-1)bso_60] ≥ 0)
(20) (x2[2] + [-1] ≥ 0∧x1[2] ≥ 0 ⇒ (UIncreasing(COND_3347_1_MAIN_INVOKEMETHOD(&&(>(x2[2], 0), >=(x1[2], 0)), 3347_0_random_IntArithmetic(java.lang.Object(java.lang.String(x0[2], x1[2])), x2[2]), x4[2], x5[2])), ≥)∧[(-1)bni_59 + (-1)Bound*bni_59] + [bni_59]x5[2] + [(-1)bni_59]x4[2] ≥ 0∧[(-1)bso_60] ≥ 0)
(21) (x2[2] + [-1] ≥ 0∧x1[2] ≥ 0 ⇒ (UIncreasing(COND_3347_1_MAIN_INVOKEMETHOD(&&(>(x2[2], 0), >=(x1[2], 0)), 3347_0_random_IntArithmetic(java.lang.Object(java.lang.String(x0[2], x1[2])), x2[2]), x4[2], x5[2])), ≥)∧[(-1)bni_59 + (-1)Bound*bni_59] + [bni_59]x5[2] + [(-1)bni_59]x4[2] ≥ 0∧[(-1)bso_60] ≥ 0)
(22) (x2[2] + [-1] ≥ 0∧x1[2] ≥ 0 ⇒ (UIncreasing(COND_3347_1_MAIN_INVOKEMETHOD(&&(>(x2[2], 0), >=(x1[2], 0)), 3347_0_random_IntArithmetic(java.lang.Object(java.lang.String(x0[2], x1[2])), x2[2]), x4[2], x5[2])), ≥)∧0 = 0∧[bni_59] = 0∧[(-1)bni_59] = 0∧[(-1)bni_59 + (-1)Bound*bni_59] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_60] ≥ 0)
(23) (x2[2] ≥ 0∧x1[2] ≥ 0 ⇒ (UIncreasing(COND_3347_1_MAIN_INVOKEMETHOD(&&(>(x2[2], 0), >=(x1[2], 0)), 3347_0_random_IntArithmetic(java.lang.Object(java.lang.String(x0[2], x1[2])), x2[2]), x4[2], x5[2])), ≥)∧0 = 0∧[bni_59] = 0∧[(-1)bni_59] = 0∧[(-1)bni_59 + (-1)Bound*bni_59] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_60] ≥ 0)
(24) (3347_0_random_IntArithmetic(x5[1], x6[1])=3347_0_random_IntArithmetic(java.lang.Object(java.lang.String(x0[2], x1[2])), x2[2])∧x3[1]=x4[2]∧x4[1]=x5[2]∧&&(>(x2[2], 0), >=(x1[2], 0))=TRUE∧3347_0_random_IntArithmetic(java.lang.Object(java.lang.String(x0[2], x1[2])), x2[2])=3347_0_random_IntArithmetic(java.lang.Object(java.lang.String(x0[3], x1[3])), x2[3])∧x4[2]=x4[3]∧x5[2]=x5[3]∧3586_0_random_ArrayAccess(java.lang.Object(ARRAY(x6[3], x7[3])), x8[3])=3586_0_random_ArrayAccess(java.lang.Object(ARRAY(x0[4], x1[4])), x2[4])∧-(x5[3], x1[3])=x3[4]∧x4[3]=x4[4] ⇒ COND_3347_1_MAIN_INVOKEMETHOD(TRUE, 3347_0_random_IntArithmetic(java.lang.Object(java.lang.String(x0[3], x1[3])), x2[3]), x4[3], x5[3])≥NonInfC∧COND_3347_1_MAIN_INVOKEMETHOD(TRUE, 3347_0_random_IntArithmetic(java.lang.Object(java.lang.String(x0[3], x1[3])), x2[3]), x4[3], x5[3])≥3586_1_MAIN_INVOKEMETHOD(3586_0_random_ArrayAccess(java.lang.Object(ARRAY(x6[3], x7[3])), x8[3]), -(x5[3], x1[3]), x4[3])∧(UIncreasing(3586_1_MAIN_INVOKEMETHOD(3586_0_random_ArrayAccess(java.lang.Object(ARRAY(x6[3], x7[3])), x8[3]), -(x5[3], x1[3]), x4[3])), ≥))
(25) (>(x2[2], 0)=TRUE∧>=(x1[2], 0)=TRUE ⇒ COND_3347_1_MAIN_INVOKEMETHOD(TRUE, 3347_0_random_IntArithmetic(java.lang.Object(java.lang.String(x0[2], x1[2])), x2[2]), x3[1], x4[1])≥NonInfC∧COND_3347_1_MAIN_INVOKEMETHOD(TRUE, 3347_0_random_IntArithmetic(java.lang.Object(java.lang.String(x0[2], x1[2])), x2[2]), x3[1], x4[1])≥3586_1_MAIN_INVOKEMETHOD(3586_0_random_ArrayAccess(java.lang.Object(ARRAY(x6[3], x7[3])), x8[3]), -(x4[1], x1[2]), x3[1])∧(UIncreasing(3586_1_MAIN_INVOKEMETHOD(3586_0_random_ArrayAccess(java.lang.Object(ARRAY(x6[3], x7[3])), x8[3]), -(x5[3], x1[3]), x4[3])), ≥))
(26) (x2[2] + [-1] ≥ 0∧x1[2] ≥ 0 ⇒ (UIncreasing(3586_1_MAIN_INVOKEMETHOD(3586_0_random_ArrayAccess(java.lang.Object(ARRAY(x6[3], x7[3])), x8[3]), -(x5[3], x1[3]), x4[3])), ≥)∧[(-1)bni_61 + (-1)Bound*bni_61] + [bni_61]x4[1] + [(-1)bni_61]x3[1] ≥ 0∧[(-1)bso_62] + x1[2] ≥ 0)
(27) (x2[2] + [-1] ≥ 0∧x1[2] ≥ 0 ⇒ (UIncreasing(3586_1_MAIN_INVOKEMETHOD(3586_0_random_ArrayAccess(java.lang.Object(ARRAY(x6[3], x7[3])), x8[3]), -(x5[3], x1[3]), x4[3])), ≥)∧[(-1)bni_61 + (-1)Bound*bni_61] + [bni_61]x4[1] + [(-1)bni_61]x3[1] ≥ 0∧[(-1)bso_62] + x1[2] ≥ 0)
(28) (x2[2] + [-1] ≥ 0∧x1[2] ≥ 0 ⇒ (UIncreasing(3586_1_MAIN_INVOKEMETHOD(3586_0_random_ArrayAccess(java.lang.Object(ARRAY(x6[3], x7[3])), x8[3]), -(x5[3], x1[3]), x4[3])), ≥)∧[(-1)bni_61 + (-1)Bound*bni_61] + [bni_61]x4[1] + [(-1)bni_61]x3[1] ≥ 0∧[(-1)bso_62] + x1[2] ≥ 0)
(29) (x2[2] + [-1] ≥ 0∧x1[2] ≥ 0 ⇒ (UIncreasing(3586_1_MAIN_INVOKEMETHOD(3586_0_random_ArrayAccess(java.lang.Object(ARRAY(x6[3], x7[3])), x8[3]), -(x5[3], x1[3]), x4[3])), ≥)∧[bni_61] = 0∧0 = 0∧[(-1)bni_61] = 0∧[(-1)bni_61 + (-1)Bound*bni_61] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_62] + x1[2] ≥ 0)
(30) (x2[2] ≥ 0∧x1[2] ≥ 0 ⇒ (UIncreasing(3586_1_MAIN_INVOKEMETHOD(3586_0_random_ArrayAccess(java.lang.Object(ARRAY(x6[3], x7[3])), x8[3]), -(x5[3], x1[3]), x4[3])), ≥)∧[bni_61] = 0∧0 = 0∧[(-1)bni_61] = 0∧[(-1)bni_61 + (-1)Bound*bni_61] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_62] + x1[2] ≥ 0)
(31) (&&(>=(x2[4], 3), <(x2[4], x0[4]))=TRUE∧3586_0_random_ArrayAccess(java.lang.Object(ARRAY(x0[4], x1[4])), x2[4])=3586_0_random_ArrayAccess(java.lang.Object(ARRAY(x0[5], x1[5])), x2[5])∧x3[4]=x3[5]∧x4[4]=x4[5] ⇒ 3586_1_MAIN_INVOKEMETHOD(3586_0_random_ArrayAccess(java.lang.Object(ARRAY(x0[4], x1[4])), x2[4]), x3[4], x4[4])≥NonInfC∧3586_1_MAIN_INVOKEMETHOD(3586_0_random_ArrayAccess(java.lang.Object(ARRAY(x0[4], x1[4])), x2[4]), x3[4], x4[4])≥COND_3586_1_MAIN_INVOKEMETHOD(&&(>=(x2[4], 3), <(x2[4], x0[4])), 3586_0_random_ArrayAccess(java.lang.Object(ARRAY(x0[4], x1[4])), x2[4]), x3[4], x4[4])∧(UIncreasing(COND_3586_1_MAIN_INVOKEMETHOD(&&(>=(x2[4], 3), <(x2[4], x0[4])), 3586_0_random_ArrayAccess(java.lang.Object(ARRAY(x0[4], x1[4])), x2[4]), x3[4], x4[4])), ≥))
(32) (>=(x2[4], 3)=TRUE∧<(x2[4], x0[4])=TRUE ⇒ 3586_1_MAIN_INVOKEMETHOD(3586_0_random_ArrayAccess(java.lang.Object(ARRAY(x0[4], x1[4])), x2[4]), x3[4], x4[4])≥NonInfC∧3586_1_MAIN_INVOKEMETHOD(3586_0_random_ArrayAccess(java.lang.Object(ARRAY(x0[4], x1[4])), x2[4]), x3[4], x4[4])≥COND_3586_1_MAIN_INVOKEMETHOD(&&(>=(x2[4], 3), <(x2[4], x0[4])), 3586_0_random_ArrayAccess(java.lang.Object(ARRAY(x0[4], x1[4])), x2[4]), x3[4], x4[4])∧(UIncreasing(COND_3586_1_MAIN_INVOKEMETHOD(&&(>=(x2[4], 3), <(x2[4], x0[4])), 3586_0_random_ArrayAccess(java.lang.Object(ARRAY(x0[4], x1[4])), x2[4]), x3[4], x4[4])), ≥))
(33) (x2[4] + [-3] ≥ 0∧x0[4] + [-1] + [-1]x2[4] ≥ 0 ⇒ (UIncreasing(COND_3586_1_MAIN_INVOKEMETHOD(&&(>=(x2[4], 3), <(x2[4], x0[4])), 3586_0_random_ArrayAccess(java.lang.Object(ARRAY(x0[4], x1[4])), x2[4]), x3[4], x4[4])), ≥)∧[(-1)bni_63 + (-1)Bound*bni_63] + [bni_63]x3[4] + [(-1)bni_63]x4[4] ≥ 0∧[(-1)bso_64] ≥ 0)
(34) (x2[4] + [-3] ≥ 0∧x0[4] + [-1] + [-1]x2[4] ≥ 0 ⇒ (UIncreasing(COND_3586_1_MAIN_INVOKEMETHOD(&&(>=(x2[4], 3), <(x2[4], x0[4])), 3586_0_random_ArrayAccess(java.lang.Object(ARRAY(x0[4], x1[4])), x2[4]), x3[4], x4[4])), ≥)∧[(-1)bni_63 + (-1)Bound*bni_63] + [bni_63]x3[4] + [(-1)bni_63]x4[4] ≥ 0∧[(-1)bso_64] ≥ 0)
(35) (x2[4] + [-3] ≥ 0∧x0[4] + [-1] + [-1]x2[4] ≥ 0 ⇒ (UIncreasing(COND_3586_1_MAIN_INVOKEMETHOD(&&(>=(x2[4], 3), <(x2[4], x0[4])), 3586_0_random_ArrayAccess(java.lang.Object(ARRAY(x0[4], x1[4])), x2[4]), x3[4], x4[4])), ≥)∧[(-1)bni_63 + (-1)Bound*bni_63] + [bni_63]x3[4] + [(-1)bni_63]x4[4] ≥ 0∧[(-1)bso_64] ≥ 0)
(36) (x2[4] + [-3] ≥ 0∧x0[4] + [-1] + [-1]x2[4] ≥ 0 ⇒ (UIncreasing(COND_3586_1_MAIN_INVOKEMETHOD(&&(>=(x2[4], 3), <(x2[4], x0[4])), 3586_0_random_ArrayAccess(java.lang.Object(ARRAY(x0[4], x1[4])), x2[4]), x3[4], x4[4])), ≥)∧0 = 0∧[bni_63] = 0∧[(-1)bni_63] = 0∧[(-1)bni_63 + (-1)Bound*bni_63] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_64] ≥ 0)
(37) (x2[4] ≥ 0∧x0[4] + [-4] + [-1]x2[4] ≥ 0 ⇒ (UIncreasing(COND_3586_1_MAIN_INVOKEMETHOD(&&(>=(x2[4], 3), <(x2[4], x0[4])), 3586_0_random_ArrayAccess(java.lang.Object(ARRAY(x0[4], x1[4])), x2[4]), x3[4], x4[4])), ≥)∧0 = 0∧[bni_63] = 0∧[(-1)bni_63] = 0∧[(-1)bni_63 + (-1)Bound*bni_63] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_64] ≥ 0)
(38) (x2[4] ≥ 0∧x0[4] ≥ 0 ⇒ (UIncreasing(COND_3586_1_MAIN_INVOKEMETHOD(&&(>=(x2[4], 3), <(x2[4], x0[4])), 3586_0_random_ArrayAccess(java.lang.Object(ARRAY(x0[4], x1[4])), x2[4]), x3[4], x4[4])), ≥)∧0 = 0∧[bni_63] = 0∧[(-1)bni_63] = 0∧[(-1)bni_63 + (-1)Bound*bni_63] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_64] ≥ 0)
(39) (3586_0_random_ArrayAccess(java.lang.Object(ARRAY(x6[3], x7[3])), x8[3])=3586_0_random_ArrayAccess(java.lang.Object(ARRAY(x0[4], x1[4])), x2[4])∧-(x5[3], x1[3])=x3[4]∧x4[3]=x4[4]∧&&(>=(x2[4], 3), <(x2[4], x0[4]))=TRUE∧3586_0_random_ArrayAccess(java.lang.Object(ARRAY(x0[4], x1[4])), x2[4])=3586_0_random_ArrayAccess(java.lang.Object(ARRAY(x0[5], x1[5])), x2[5])∧x3[4]=x3[5]∧x4[4]=x4[5]∧3687_0_random_IntArithmetic(x5[5], x6[5])=3687_0_random_IntArithmetic(java.lang.Object(java.lang.String(x0[6], x1[6])), x2[6])∧x3[5]=x4[6]∧x4[5]=x5[6] ⇒ COND_3586_1_MAIN_INVOKEMETHOD(TRUE, 3586_0_random_ArrayAccess(java.lang.Object(ARRAY(x0[5], x1[5])), x2[5]), x3[5], x4[5])≥NonInfC∧COND_3586_1_MAIN_INVOKEMETHOD(TRUE, 3586_0_random_ArrayAccess(java.lang.Object(ARRAY(x0[5], x1[5])), x2[5]), x3[5], x4[5])≥3687_1_MAIN_INVOKEMETHOD(3687_0_random_IntArithmetic(x5[5], x6[5]), x3[5], x4[5])∧(UIncreasing(3687_1_MAIN_INVOKEMETHOD(3687_0_random_IntArithmetic(x5[5], x6[5]), x3[5], x4[5])), ≥))
(40) (>=(x2[4], 3)=TRUE∧<(x2[4], x0[4])=TRUE ⇒ COND_3586_1_MAIN_INVOKEMETHOD(TRUE, 3586_0_random_ArrayAccess(java.lang.Object(ARRAY(x0[4], x7[3])), x2[4]), -(x5[3], x1[3]), x4[3])≥NonInfC∧COND_3586_1_MAIN_INVOKEMETHOD(TRUE, 3586_0_random_ArrayAccess(java.lang.Object(ARRAY(x0[4], x7[3])), x2[4]), -(x5[3], x1[3]), x4[3])≥3687_1_MAIN_INVOKEMETHOD(3687_0_random_IntArithmetic(java.lang.Object(java.lang.String(x0[6], x1[6])), x6[5]), -(x5[3], x1[3]), x4[3])∧(UIncreasing(3687_1_MAIN_INVOKEMETHOD(3687_0_random_IntArithmetic(x5[5], x6[5]), x3[5], x4[5])), ≥))
(41) (x2[4] + [-3] ≥ 0∧x0[4] + [-1] + [-1]x2[4] ≥ 0 ⇒ (UIncreasing(3687_1_MAIN_INVOKEMETHOD(3687_0_random_IntArithmetic(x5[5], x6[5]), x3[5], x4[5])), ≥)∧[(-1)bni_65 + (-1)Bound*bni_65] + [bni_65]x5[3] + [(-1)bni_65]x1[3] + [(-1)bni_65]x4[3] ≥ 0∧[(-1)bso_66] ≥ 0)
(42) (x2[4] + [-3] ≥ 0∧x0[4] + [-1] + [-1]x2[4] ≥ 0 ⇒ (UIncreasing(3687_1_MAIN_INVOKEMETHOD(3687_0_random_IntArithmetic(x5[5], x6[5]), x3[5], x4[5])), ≥)∧[(-1)bni_65 + (-1)Bound*bni_65] + [bni_65]x5[3] + [(-1)bni_65]x1[3] + [(-1)bni_65]x4[3] ≥ 0∧[(-1)bso_66] ≥ 0)
(43) (x2[4] + [-3] ≥ 0∧x0[4] + [-1] + [-1]x2[4] ≥ 0 ⇒ (UIncreasing(3687_1_MAIN_INVOKEMETHOD(3687_0_random_IntArithmetic(x5[5], x6[5]), x3[5], x4[5])), ≥)∧[(-1)bni_65 + (-1)Bound*bni_65] + [bni_65]x5[3] + [(-1)bni_65]x1[3] + [(-1)bni_65]x4[3] ≥ 0∧[(-1)bso_66] ≥ 0)
(44) (x2[4] + [-3] ≥ 0∧x0[4] + [-1] + [-1]x2[4] ≥ 0 ⇒ (UIncreasing(3687_1_MAIN_INVOKEMETHOD(3687_0_random_IntArithmetic(x5[5], x6[5]), x3[5], x4[5])), ≥)∧0 = 0∧[bni_65] = 0∧[(-1)bni_65] = 0∧[(-1)bni_65] = 0∧[(-1)bni_65 + (-1)Bound*bni_65] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_66] ≥ 0)
(45) (x2[4] ≥ 0∧x0[4] + [-4] + [-1]x2[4] ≥ 0 ⇒ (UIncreasing(3687_1_MAIN_INVOKEMETHOD(3687_0_random_IntArithmetic(x5[5], x6[5]), x3[5], x4[5])), ≥)∧0 = 0∧[bni_65] = 0∧[(-1)bni_65] = 0∧[(-1)bni_65] = 0∧[(-1)bni_65 + (-1)Bound*bni_65] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_66] ≥ 0)
(46) (x2[4] ≥ 0∧x0[4] ≥ 0 ⇒ (UIncreasing(3687_1_MAIN_INVOKEMETHOD(3687_0_random_IntArithmetic(x5[5], x6[5]), x3[5], x4[5])), ≥)∧0 = 0∧[bni_65] = 0∧[(-1)bni_65] = 0∧[(-1)bni_65] = 0∧[(-1)bni_65 + (-1)Bound*bni_65] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_66] ≥ 0)
(47) (&&(&&(&&(>(x2[6], 0), >=(x1[6], 0)), <=(1, -(x4[6], +(x5[6], +(x1[6], 1))))), <(0, +(x1[6], 1)))=TRUE∧3687_0_random_IntArithmetic(java.lang.Object(java.lang.String(x0[6], x1[6])), x2[6])=3687_0_random_IntArithmetic(java.lang.Object(java.lang.String(x0[7], x1[7])), x2[7])∧x4[6]=x4[7]∧x5[6]=x5[7] ⇒ 3687_1_MAIN_INVOKEMETHOD(3687_0_random_IntArithmetic(java.lang.Object(java.lang.String(x0[6], x1[6])), x2[6]), x4[6], x5[6])≥NonInfC∧3687_1_MAIN_INVOKEMETHOD(3687_0_random_IntArithmetic(java.lang.Object(java.lang.String(x0[6], x1[6])), x2[6]), x4[6], x5[6])≥COND_3687_1_MAIN_INVOKEMETHOD(&&(&&(&&(>(x2[6], 0), >=(x1[6], 0)), <=(1, -(x4[6], +(x5[6], +(x1[6], 1))))), <(0, +(x1[6], 1))), 3687_0_random_IntArithmetic(java.lang.Object(java.lang.String(x0[6], x1[6])), x2[6]), x4[6], x5[6])∧(UIncreasing(COND_3687_1_MAIN_INVOKEMETHOD(&&(&&(&&(>(x2[6], 0), >=(x1[6], 0)), <=(1, -(x4[6], +(x5[6], +(x1[6], 1))))), <(0, +(x1[6], 1))), 3687_0_random_IntArithmetic(java.lang.Object(java.lang.String(x0[6], x1[6])), x2[6]), x4[6], x5[6])), ≥))
(48) (<(0, +(x1[6], 1))=TRUE∧<=(1, -(x4[6], +(x5[6], +(x1[6], 1))))=TRUE∧>(x2[6], 0)=TRUE∧>=(x1[6], 0)=TRUE ⇒ 3687_1_MAIN_INVOKEMETHOD(3687_0_random_IntArithmetic(java.lang.Object(java.lang.String(x0[6], x1[6])), x2[6]), x4[6], x5[6])≥NonInfC∧3687_1_MAIN_INVOKEMETHOD(3687_0_random_IntArithmetic(java.lang.Object(java.lang.String(x0[6], x1[6])), x2[6]), x4[6], x5[6])≥COND_3687_1_MAIN_INVOKEMETHOD(&&(&&(&&(>(x2[6], 0), >=(x1[6], 0)), <=(1, -(x4[6], +(x5[6], +(x1[6], 1))))), <(0, +(x1[6], 1))), 3687_0_random_IntArithmetic(java.lang.Object(java.lang.String(x0[6], x1[6])), x2[6]), x4[6], x5[6])∧(UIncreasing(COND_3687_1_MAIN_INVOKEMETHOD(&&(&&(&&(>(x2[6], 0), >=(x1[6], 0)), <=(1, -(x4[6], +(x5[6], +(x1[6], 1))))), <(0, +(x1[6], 1))), 3687_0_random_IntArithmetic(java.lang.Object(java.lang.String(x0[6], x1[6])), x2[6]), x4[6], x5[6])), ≥))
(49) (x1[6] ≥ 0∧x4[6] + [-2] + [-1]x5[6] + [-1]x1[6] ≥ 0∧x2[6] + [-1] ≥ 0∧x1[6] ≥ 0 ⇒ (UIncreasing(COND_3687_1_MAIN_INVOKEMETHOD(&&(&&(&&(>(x2[6], 0), >=(x1[6], 0)), <=(1, -(x4[6], +(x5[6], +(x1[6], 1))))), <(0, +(x1[6], 1))), 3687_0_random_IntArithmetic(java.lang.Object(java.lang.String(x0[6], x1[6])), x2[6]), x4[6], x5[6])), ≥)∧[(-1)bni_67 + (-1)Bound*bni_67] + [bni_67]x4[6] + [(-1)bni_67]x5[6] ≥ 0∧[(-1)bso_68] + x1[6] ≥ 0)
(50) (x1[6] ≥ 0∧x4[6] + [-2] + [-1]x5[6] + [-1]x1[6] ≥ 0∧x2[6] + [-1] ≥ 0∧x1[6] ≥ 0 ⇒ (UIncreasing(COND_3687_1_MAIN_INVOKEMETHOD(&&(&&(&&(>(x2[6], 0), >=(x1[6], 0)), <=(1, -(x4[6], +(x5[6], +(x1[6], 1))))), <(0, +(x1[6], 1))), 3687_0_random_IntArithmetic(java.lang.Object(java.lang.String(x0[6], x1[6])), x2[6]), x4[6], x5[6])), ≥)∧[(-1)bni_67 + (-1)Bound*bni_67] + [bni_67]x4[6] + [(-1)bni_67]x5[6] ≥ 0∧[(-1)bso_68] + x1[6] ≥ 0)
(51) (x1[6] ≥ 0∧x4[6] + [-2] + [-1]x5[6] + [-1]x1[6] ≥ 0∧x2[6] + [-1] ≥ 0∧x1[6] ≥ 0 ⇒ (UIncreasing(COND_3687_1_MAIN_INVOKEMETHOD(&&(&&(&&(>(x2[6], 0), >=(x1[6], 0)), <=(1, -(x4[6], +(x5[6], +(x1[6], 1))))), <(0, +(x1[6], 1))), 3687_0_random_IntArithmetic(java.lang.Object(java.lang.String(x0[6], x1[6])), x2[6]), x4[6], x5[6])), ≥)∧[(-1)bni_67 + (-1)Bound*bni_67] + [bni_67]x4[6] + [(-1)bni_67]x5[6] ≥ 0∧[(-1)bso_68] + x1[6] ≥ 0)
(52) (x1[6] ≥ 0∧x4[6] + [-2] + [-1]x5[6] + [-1]x1[6] ≥ 0∧x2[6] + [-1] ≥ 0∧x1[6] ≥ 0 ⇒ (UIncreasing(COND_3687_1_MAIN_INVOKEMETHOD(&&(&&(&&(>(x2[6], 0), >=(x1[6], 0)), <=(1, -(x4[6], +(x5[6], +(x1[6], 1))))), <(0, +(x1[6], 1))), 3687_0_random_IntArithmetic(java.lang.Object(java.lang.String(x0[6], x1[6])), x2[6]), x4[6], x5[6])), ≥)∧0 = 0∧[(-1)bni_67 + (-1)Bound*bni_67] + [bni_67]x4[6] + [(-1)bni_67]x5[6] ≥ 0∧0 = 0∧[(-1)bso_68] + x1[6] ≥ 0)
(53) (x1[6] ≥ 0∧x4[6] ≥ 0∧x2[6] + [-1] ≥ 0∧x1[6] ≥ 0 ⇒ (UIncreasing(COND_3687_1_MAIN_INVOKEMETHOD(&&(&&(&&(>(x2[6], 0), >=(x1[6], 0)), <=(1, -(x4[6], +(x5[6], +(x1[6], 1))))), <(0, +(x1[6], 1))), 3687_0_random_IntArithmetic(java.lang.Object(java.lang.String(x0[6], x1[6])), x2[6]), x4[6], x5[6])), ≥)∧0 = 0∧[bni_67 + (-1)Bound*bni_67] + [bni_67]x1[6] + [bni_67]x4[6] ≥ 0∧0 = 0∧[(-1)bso_68] + x1[6] ≥ 0)
(54) (x1[6] ≥ 0∧x4[6] ≥ 0∧x2[6] ≥ 0∧x1[6] ≥ 0 ⇒ (UIncreasing(COND_3687_1_MAIN_INVOKEMETHOD(&&(&&(&&(>(x2[6], 0), >=(x1[6], 0)), <=(1, -(x4[6], +(x5[6], +(x1[6], 1))))), <(0, +(x1[6], 1))), 3687_0_random_IntArithmetic(java.lang.Object(java.lang.String(x0[6], x1[6])), x2[6]), x4[6], x5[6])), ≥)∧0 = 0∧[bni_67 + (-1)Bound*bni_67] + [bni_67]x1[6] + [bni_67]x4[6] ≥ 0∧0 = 0∧[(-1)bso_68] + x1[6] ≥ 0)
(55) (x1[6] ≥ 0∧x4[6] ≥ 0∧x2[6] ≥ 0∧x1[6] ≥ 0∧x5[6] ≥ 0 ⇒ (UIncreasing(COND_3687_1_MAIN_INVOKEMETHOD(&&(&&(&&(>(x2[6], 0), >=(x1[6], 0)), <=(1, -(x4[6], +(x5[6], +(x1[6], 1))))), <(0, +(x1[6], 1))), 3687_0_random_IntArithmetic(java.lang.Object(java.lang.String(x0[6], x1[6])), x2[6]), x4[6], x5[6])), ≥)∧0 = 0∧[bni_67 + (-1)Bound*bni_67] + [bni_67]x1[6] + [bni_67]x4[6] ≥ 0∧0 = 0∧[(-1)bso_68] + x1[6] ≥ 0)
(56) (x1[6] ≥ 0∧x4[6] ≥ 0∧x2[6] ≥ 0∧x1[6] ≥ 0∧x5[6] ≥ 0 ⇒ (UIncreasing(COND_3687_1_MAIN_INVOKEMETHOD(&&(&&(&&(>(x2[6], 0), >=(x1[6], 0)), <=(1, -(x4[6], +(x5[6], +(x1[6], 1))))), <(0, +(x1[6], 1))), 3687_0_random_IntArithmetic(java.lang.Object(java.lang.String(x0[6], x1[6])), x2[6]), x4[6], x5[6])), ≥)∧0 = 0∧[bni_67 + (-1)Bound*bni_67] + [bni_67]x1[6] + [bni_67]x4[6] ≥ 0∧0 = 0∧[(-1)bso_68] + x1[6] ≥ 0)
(57) (3687_0_random_IntArithmetic(x5[5], x6[5])=3687_0_random_IntArithmetic(java.lang.Object(java.lang.String(x0[6], x1[6])), x2[6])∧x3[5]=x4[6]∧x4[5]=x5[6]∧&&(&&(&&(>(x2[6], 0), >=(x1[6], 0)), <=(1, -(x4[6], +(x5[6], +(x1[6], 1))))), <(0, +(x1[6], 1)))=TRUE∧3687_0_random_IntArithmetic(java.lang.Object(java.lang.String(x0[6], x1[6])), x2[6])=3687_0_random_IntArithmetic(java.lang.Object(java.lang.String(x0[7], x1[7])), x2[7])∧x4[6]=x4[7]∧x5[6]=x5[7]∧3316_0_random_ArrayAccess(java.lang.Object(ARRAY(x6[7], x7[7])), x8[7])=3316_0_random_ArrayAccess(java.lang.Object(ARRAY(x0[0], x1[0])), x2[0])∧+(x5[7], +(x1[7], 1))=x3[0]∧x4[7]=x4[0] ⇒ COND_3687_1_MAIN_INVOKEMETHOD(TRUE, 3687_0_random_IntArithmetic(java.lang.Object(java.lang.String(x0[7], x1[7])), x2[7]), x4[7], x5[7])≥NonInfC∧COND_3687_1_MAIN_INVOKEMETHOD(TRUE, 3687_0_random_IntArithmetic(java.lang.Object(java.lang.String(x0[7], x1[7])), x2[7]), x4[7], x5[7])≥3316_1_MAIN_INVOKEMETHOD(3316_0_random_ArrayAccess(java.lang.Object(ARRAY(x6[7], x7[7])), x8[7]), +(x5[7], +(x1[7], 1)), x4[7])∧(UIncreasing(3316_1_MAIN_INVOKEMETHOD(3316_0_random_ArrayAccess(java.lang.Object(ARRAY(x6[7], x7[7])), x8[7]), +(x5[7], +(x1[7], 1)), x4[7])), ≥))
(58) (<(0, +(x1[6], 1))=TRUE∧<=(1, -(x4[6], +(x5[6], +(x1[6], 1))))=TRUE∧>(x2[6], 0)=TRUE∧>=(x1[6], 0)=TRUE ⇒ COND_3687_1_MAIN_INVOKEMETHOD(TRUE, 3687_0_random_IntArithmetic(java.lang.Object(java.lang.String(x0[6], x1[6])), x2[6]), x4[6], x5[6])≥NonInfC∧COND_3687_1_MAIN_INVOKEMETHOD(TRUE, 3687_0_random_IntArithmetic(java.lang.Object(java.lang.String(x0[6], x1[6])), x2[6]), x4[6], x5[6])≥3316_1_MAIN_INVOKEMETHOD(3316_0_random_ArrayAccess(java.lang.Object(ARRAY(x6[7], x7[7])), x8[7]), +(x5[6], +(x1[6], 1)), x4[6])∧(UIncreasing(3316_1_MAIN_INVOKEMETHOD(3316_0_random_ArrayAccess(java.lang.Object(ARRAY(x6[7], x7[7])), x8[7]), +(x5[7], +(x1[7], 1)), x4[7])), ≥))
(59) (x1[6] ≥ 0∧x4[6] + [-2] + [-1]x5[6] + [-1]x1[6] ≥ 0∧x2[6] + [-1] ≥ 0∧x1[6] ≥ 0 ⇒ (UIncreasing(3316_1_MAIN_INVOKEMETHOD(3316_0_random_ArrayAccess(java.lang.Object(ARRAY(x6[7], x7[7])), x8[7]), +(x5[7], +(x1[7], 1)), x4[7])), ≥)∧[(-1)bni_69 + (-1)Bound*bni_69] + [(-1)bni_69]x5[6] + [(-1)bni_69]x1[6] + [bni_69]x4[6] ≥ 0∧[(-1)bso_70] ≥ 0)
(60) (x1[6] ≥ 0∧x4[6] + [-2] + [-1]x5[6] + [-1]x1[6] ≥ 0∧x2[6] + [-1] ≥ 0∧x1[6] ≥ 0 ⇒ (UIncreasing(3316_1_MAIN_INVOKEMETHOD(3316_0_random_ArrayAccess(java.lang.Object(ARRAY(x6[7], x7[7])), x8[7]), +(x5[7], +(x1[7], 1)), x4[7])), ≥)∧[(-1)bni_69 + (-1)Bound*bni_69] + [(-1)bni_69]x5[6] + [(-1)bni_69]x1[6] + [bni_69]x4[6] ≥ 0∧[(-1)bso_70] ≥ 0)
(61) (x1[6] ≥ 0∧x4[6] + [-2] + [-1]x5[6] + [-1]x1[6] ≥ 0∧x2[6] + [-1] ≥ 0∧x1[6] ≥ 0 ⇒ (UIncreasing(3316_1_MAIN_INVOKEMETHOD(3316_0_random_ArrayAccess(java.lang.Object(ARRAY(x6[7], x7[7])), x8[7]), +(x5[7], +(x1[7], 1)), x4[7])), ≥)∧[(-1)bni_69 + (-1)Bound*bni_69] + [(-1)bni_69]x5[6] + [(-1)bni_69]x1[6] + [bni_69]x4[6] ≥ 0∧[(-1)bso_70] ≥ 0)
(62) (x1[6] ≥ 0∧x4[6] + [-2] + [-1]x5[6] + [-1]x1[6] ≥ 0∧x2[6] + [-1] ≥ 0∧x1[6] ≥ 0 ⇒ (UIncreasing(3316_1_MAIN_INVOKEMETHOD(3316_0_random_ArrayAccess(java.lang.Object(ARRAY(x6[7], x7[7])), x8[7]), +(x5[7], +(x1[7], 1)), x4[7])), ≥)∧0 = 0∧[(-1)bni_69 + (-1)Bound*bni_69] + [(-1)bni_69]x5[6] + [(-1)bni_69]x1[6] + [bni_69]x4[6] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_70] ≥ 0)
(63) (x1[6] ≥ 0∧x4[6] ≥ 0∧x2[6] + [-1] ≥ 0∧x1[6] ≥ 0 ⇒ (UIncreasing(3316_1_MAIN_INVOKEMETHOD(3316_0_random_ArrayAccess(java.lang.Object(ARRAY(x6[7], x7[7])), x8[7]), +(x5[7], +(x1[7], 1)), x4[7])), ≥)∧0 = 0∧[bni_69 + (-1)Bound*bni_69] + [bni_69]x4[6] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_70] ≥ 0)
(64) (x1[6] ≥ 0∧x4[6] ≥ 0∧x2[6] ≥ 0∧x1[6] ≥ 0 ⇒ (UIncreasing(3316_1_MAIN_INVOKEMETHOD(3316_0_random_ArrayAccess(java.lang.Object(ARRAY(x6[7], x7[7])), x8[7]), +(x5[7], +(x1[7], 1)), x4[7])), ≥)∧0 = 0∧[bni_69 + (-1)Bound*bni_69] + [bni_69]x4[6] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_70] ≥ 0)
(65) (x1[6] ≥ 0∧x4[6] ≥ 0∧x2[6] ≥ 0∧x1[6] ≥ 0∧x5[6] ≥ 0 ⇒ (UIncreasing(3316_1_MAIN_INVOKEMETHOD(3316_0_random_ArrayAccess(java.lang.Object(ARRAY(x6[7], x7[7])), x8[7]), +(x5[7], +(x1[7], 1)), x4[7])), ≥)∧0 = 0∧[bni_69 + (-1)Bound*bni_69] + [bni_69]x4[6] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_70] ≥ 0)
(66) (x1[6] ≥ 0∧x4[6] ≥ 0∧x2[6] ≥ 0∧x1[6] ≥ 0∧x5[6] ≥ 0 ⇒ (UIncreasing(3316_1_MAIN_INVOKEMETHOD(3316_0_random_ArrayAccess(java.lang.Object(ARRAY(x6[7], x7[7])), x8[7]), +(x5[7], +(x1[7], 1)), x4[7])), ≥)∧0 = 0∧[bni_69 + (-1)Bound*bni_69] + [bni_69]x4[6] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_70] ≥ 0)
POL(TRUE) = 0
POL(FALSE) = 0
POL(3316_1_MAIN_INVOKEMETHOD(x1, x2, x3)) = [1] + [-1]x1 + [-1]x2 + x3
POL(3316_0_random_ArrayAccess(x1, x2)) = [-1]x1
POL(java.lang.Object(x1)) = x1
POL(ARRAY(x1, x2)) = [-1]
POL(COND_3316_1_MAIN_INVOKEMETHOD(x1, x2, x3, x4)) = [-1]x2 + [-1]x3 + x4
POL(&&(x1, x2)) = [-1]
POL(>=(x1, x2)) = [-1]
POL(2) = [2]
POL(<(x1, x2)) = [-1]
POL(3347_1_MAIN_INVOKEMETHOD(x1, x2, x3)) = [-1] + x3 + [-1]x2
POL(3347_0_random_IntArithmetic(x1, x2)) = [-1] + [-1]x2 + [-1]x1
POL(java.lang.String(x1, x2)) = [-1] + x2
POL(COND_3347_1_MAIN_INVOKEMETHOD(x1, x2, x3, x4)) = [-1] + x4 + [-1]x3
POL(>(x1, x2)) = [-1]
POL(0) = 0
POL(3586_1_MAIN_INVOKEMETHOD(x1, x2, x3)) = [-1] + x2 + [-1]x3
POL(3586_0_random_ArrayAccess(x1, x2)) = [-1] + [-1]x2 + [-1]x1
POL(-(x1, x2)) = x1 + [-1]x2
POL(COND_3586_1_MAIN_INVOKEMETHOD(x1, x2, x3, x4)) = [-1] + x3 + [-1]x4
POL(3) = [3]
POL(3687_1_MAIN_INVOKEMETHOD(x1, x2, x3)) = [-1] + x2 + [-1]x3
POL(3687_0_random_IntArithmetic(x1, x2)) = [-1] + [-1]x1
POL(COND_3687_1_MAIN_INVOKEMETHOD(x1, x2, x3, x4)) = [-1] + [-1]x4 + x2 + x3
POL(<=(x1, x2)) = [-1]
POL(1) = [1]
POL(+(x1, x2)) = x1 + x2
3316_1_MAIN_INVOKEMETHOD(3316_0_random_ArrayAccess(java.lang.Object(ARRAY(x0[0], x1[0])), x2[0]), x3[0], x4[0]) → COND_3316_1_MAIN_INVOKEMETHOD(&&(>=(x2[0], 2), <(x2[0], x0[0])), 3316_0_random_ArrayAccess(java.lang.Object(ARRAY(x0[0], x1[0])), x2[0]), x3[0], x4[0])
3687_1_MAIN_INVOKEMETHOD(3687_0_random_IntArithmetic(java.lang.Object(java.lang.String(x0[6], x1[6])), x2[6]), x4[6], x5[6]) → COND_3687_1_MAIN_INVOKEMETHOD(&&(&&(&&(>(x2[6], 0), >=(x1[6], 0)), <=(1, -(x4[6], +(x5[6], +(x1[6], 1))))), <(0, +(x1[6], 1))), 3687_0_random_IntArithmetic(java.lang.Object(java.lang.String(x0[6], x1[6])), x2[6]), x4[6], x5[6])
COND_3687_1_MAIN_INVOKEMETHOD(TRUE, 3687_0_random_IntArithmetic(java.lang.Object(java.lang.String(x0[7], x1[7])), x2[7]), x4[7], x5[7]) → 3316_1_MAIN_INVOKEMETHOD(3316_0_random_ArrayAccess(java.lang.Object(ARRAY(x6[7], x7[7])), x8[7]), +(x5[7], +(x1[7], 1)), x4[7])
COND_3316_1_MAIN_INVOKEMETHOD(TRUE, 3316_0_random_ArrayAccess(java.lang.Object(ARRAY(x0[1], x1[1])), x2[1]), x3[1], x4[1]) → 3347_1_MAIN_INVOKEMETHOD(3347_0_random_IntArithmetic(x5[1], x6[1]), x3[1], x4[1])
3347_1_MAIN_INVOKEMETHOD(3347_0_random_IntArithmetic(java.lang.Object(java.lang.String(x0[2], x1[2])), x2[2]), x4[2], x5[2]) → COND_3347_1_MAIN_INVOKEMETHOD(&&(>(x2[2], 0), >=(x1[2], 0)), 3347_0_random_IntArithmetic(java.lang.Object(java.lang.String(x0[2], x1[2])), x2[2]), x4[2], x5[2])
COND_3347_1_MAIN_INVOKEMETHOD(TRUE, 3347_0_random_IntArithmetic(java.lang.Object(java.lang.String(x0[3], x1[3])), x2[3]), x4[3], x5[3]) → 3586_1_MAIN_INVOKEMETHOD(3586_0_random_ArrayAccess(java.lang.Object(ARRAY(x6[3], x7[3])), x8[3]), -(x5[3], x1[3]), x4[3])
3586_1_MAIN_INVOKEMETHOD(3586_0_random_ArrayAccess(java.lang.Object(ARRAY(x0[4], x1[4])), x2[4]), x3[4], x4[4]) → COND_3586_1_MAIN_INVOKEMETHOD(&&(>=(x2[4], 3), <(x2[4], x0[4])), 3586_0_random_ArrayAccess(java.lang.Object(ARRAY(x0[4], x1[4])), x2[4]), x3[4], x4[4])
COND_3586_1_MAIN_INVOKEMETHOD(TRUE, 3586_0_random_ArrayAccess(java.lang.Object(ARRAY(x0[5], x1[5])), x2[5]), x3[5], x4[5]) → 3687_1_MAIN_INVOKEMETHOD(3687_0_random_IntArithmetic(x5[5], x6[5]), x3[5], x4[5])
3687_1_MAIN_INVOKEMETHOD(3687_0_random_IntArithmetic(java.lang.Object(java.lang.String(x0[6], x1[6])), x2[6]), x4[6], x5[6]) → COND_3687_1_MAIN_INVOKEMETHOD(&&(&&(&&(>(x2[6], 0), >=(x1[6], 0)), <=(1, -(x4[6], +(x5[6], +(x1[6], 1))))), <(0, +(x1[6], 1))), 3687_0_random_IntArithmetic(java.lang.Object(java.lang.String(x0[6], x1[6])), x2[6]), x4[6], x5[6])
COND_3687_1_MAIN_INVOKEMETHOD(TRUE, 3687_0_random_IntArithmetic(java.lang.Object(java.lang.String(x0[7], x1[7])), x2[7]), x4[7], x5[7]) → 3316_1_MAIN_INVOKEMETHOD(3316_0_random_ArrayAccess(java.lang.Object(ARRAY(x6[7], x7[7])), x8[7]), +(x5[7], +(x1[7], 1)), x4[7])
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
~ | Bwxor: (Integer, Integer) -> Integer | |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
Boolean, Integer
(1) -> (2), if ((3347_0_random_IntArithmetic(x5[1], x6[1]) →* 3347_0_random_IntArithmetic(java.lang.Object(java.lang.String(x0[2], x1[2])), x2[2]))∧(x3[1] →* x4[2])∧(x4[1] →* x5[2]))
(2) -> (3), if ((x2[2] > 0 && x1[2] >= 0 →* TRUE)∧(3347_0_random_IntArithmetic(java.lang.Object(java.lang.String(x0[2], x1[2])), x2[2]) →* 3347_0_random_IntArithmetic(java.lang.Object(java.lang.String(x0[3], x1[3])), x2[3]))∧(x4[2] →* x4[3])∧(x5[2] →* x5[3]))
(3) -> (4), if ((3586_0_random_ArrayAccess(java.lang.Object(ARRAY(x6[3], x7[3])), x8[3]) →* 3586_0_random_ArrayAccess(java.lang.Object(ARRAY(x0[4], x1[4])), x2[4]))∧(x5[3] - x1[3] →* x3[4])∧(x4[3] →* x4[4]))
(4) -> (5), if ((x2[4] >= 3 && x2[4] < x0[4] →* TRUE)∧(3586_0_random_ArrayAccess(java.lang.Object(ARRAY(x0[4], x1[4])), x2[4]) →* 3586_0_random_ArrayAccess(java.lang.Object(ARRAY(x0[5], x1[5])), x2[5]))∧(x3[4] →* x3[5])∧(x4[4] →* x4[5]))
(5) -> (6), if ((3687_0_random_IntArithmetic(x5[5], x6[5]) →* 3687_0_random_IntArithmetic(java.lang.Object(java.lang.String(x0[6], x1[6])), x2[6]))∧(x3[5] →* x4[6])∧(x4[5] →* x5[6]))
(6) -> (7), if ((x2[6] > 0 && x1[6] >= 0 && 1 <= x4[6] - x5[6] + x1[6] + 1 && 0 < x1[6] + 1 →* TRUE)∧(3687_0_random_IntArithmetic(java.lang.Object(java.lang.String(x0[6], x1[6])), x2[6]) →* 3687_0_random_IntArithmetic(java.lang.Object(java.lang.String(x0[7], x1[7])), x2[7]))∧(x4[6] →* x4[7])∧(x5[6] →* x5[7]))
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
~ | Bwxor: (Integer, Integer) -> Integer | |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
Boolean, Integer
(0) -> (1), if ((x2[0] >= 2 && x2[0] < x0[0] →* TRUE)∧(3316_0_random_ArrayAccess(java.lang.Object(ARRAY(x0[0], x1[0])), x2[0]) →* 3316_0_random_ArrayAccess(java.lang.Object(ARRAY(x0[1], x1[1])), x2[1]))∧(x3[0] →* x3[1])∧(x4[0] →* x4[1]))
(1) -> (2), if ((3347_0_random_IntArithmetic(x5[1], x6[1]) →* 3347_0_random_IntArithmetic(java.lang.Object(java.lang.String(x0[2], x1[2])), x2[2]))∧(x3[1] →* x4[2])∧(x4[1] →* x5[2]))
(2) -> (3), if ((x2[2] > 0 && x1[2] >= 0 →* TRUE)∧(3347_0_random_IntArithmetic(java.lang.Object(java.lang.String(x0[2], x1[2])), x2[2]) →* 3347_0_random_IntArithmetic(java.lang.Object(java.lang.String(x0[3], x1[3])), x2[3]))∧(x4[2] →* x4[3])∧(x5[2] →* x5[3]))
(3) -> (4), if ((3586_0_random_ArrayAccess(java.lang.Object(ARRAY(x6[3], x7[3])), x8[3]) →* 3586_0_random_ArrayAccess(java.lang.Object(ARRAY(x0[4], x1[4])), x2[4]))∧(x5[3] - x1[3] →* x3[4])∧(x4[3] →* x4[4]))
(4) -> (5), if ((x2[4] >= 3 && x2[4] < x0[4] →* TRUE)∧(3586_0_random_ArrayAccess(java.lang.Object(ARRAY(x0[4], x1[4])), x2[4]) →* 3586_0_random_ArrayAccess(java.lang.Object(ARRAY(x0[5], x1[5])), x2[5]))∧(x3[4] →* x3[5])∧(x4[4] →* x4[5]))