0 JBC
↳1 JBC2FIG (⇒)
↳2 JBCTerminationGraph
↳3 FIGtoITRSProof (⇒)
↳4 IDP
↳5 IDPNonInfProof (⇒)
↳6 AND
↳7 IDP
↳8 IDependencyGraphProof (⇔)
↳9 IDP
↳10 IDPNonInfProof (⇒)
↳11 IDP
↳12 IDependencyGraphProof (⇔)
↳13 TRUE
↳14 IDP
↳15 IDPNonInfProof (⇒)
↳16 IDP
↳17 IDependencyGraphProof (⇔)
↳18 TRUE
public class DivMinus2 {
public static int div(int x, int y) {
int res = 0;
while (x >= y && y > 0) {
x = minus(x,y);
res = res + 1;
}
return res;
}
public static int minus(int x, int y) {
while (y != 0) {
if (y > 0) {
y--;
x--;
} else {
y++;
x++;
}
}
return x;
}
public static void main(String[] args) {
Random.args = args;
int x = Random.random();
int y = Random.random();
div(x, y);
}
}
public class Random {
static String[] args;
static int index = 0;
public static int random() {
String string = args[index];
index++;
return string.length();
}
}
Generated 31 rules for P and 8 rules for R.
Combined rules. Obtained 2 rules for P and 0 rules for R.
Filtered ground terms:
1204_0_minus_EQ(x1, x2, x3, x4) → 1204_0_minus_EQ(x2, x3, x4)
Filtered duplicate args:
1204_0_minus_EQ(x1, x2, x3) → 1204_0_minus_EQ(x1, x3)
1204_1_div_InvokeMethod(x1, x2, x3) → 1204_1_div_InvokeMethod(x1, x3)
Combined rules. Obtained 2 rules for P and 0 rules for R.
Finished conversion. Obtained 2 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 |
Integer, Boolean
(0) -> (1), if ((x1[0] > 0 →* TRUE)∧(1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[0], x1[0]), x2[0]) →* 1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[1], x1[1]), x2[1]))∧(x2[0] →* x2[1]))
(1) -> (0), if ((1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[1] + -1, x1[1] + -1), x2[1]) →* 1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[0], x1[0]), x2[0]))∧(x2[1] →* x2[0]))
(1) -> (2), if ((1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[1] + -1, x1[1] + -1), x2[1]) →* 1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[2], 0), x3[2]))∧(x2[1] →* x3[2]))
(2) -> (3), if ((x3[2] > 0 && x3[2] <= x0[2] →* TRUE)∧(1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[2], 0), x3[2]) →* 1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[3], 0), x3[3]))∧(x3[2] →* x3[3]))
(3) -> (0), if ((1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[3], x3[3]), x3[3]) →* 1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[0], x1[0]), x2[0]))∧(x3[3] →* x2[0]))
(3) -> (2), if ((1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[3], x3[3]), x3[3]) →* 1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[2], 0), x3[2]))∧(x3[3] →* x3[2]))
(1) (>(x1[0], 0)=TRUE∧1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[0], x1[0]), x2[0])=1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[1], x1[1]), x2[1])∧x2[0]=x2[1] ⇒ 1204_2_MAIN_INVOKEMETHOD(1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[0], x1[0]), x2[0]), x2[0])≥NonInfC∧1204_2_MAIN_INVOKEMETHOD(1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[0], x1[0]), x2[0]), x2[0])≥COND_1204_2_MAIN_INVOKEMETHOD(>(x1[0], 0), 1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[0], x1[0]), x2[0]), x2[0])∧(UIncreasing(COND_1204_2_MAIN_INVOKEMETHOD(>(x1[0], 0), 1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[0], x1[0]), x2[0]), x2[0])), ≥))
(2) (>(x1[0], 0)=TRUE ⇒ 1204_2_MAIN_INVOKEMETHOD(1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[0], x1[0]), x2[0]), x2[0])≥NonInfC∧1204_2_MAIN_INVOKEMETHOD(1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[0], x1[0]), x2[0]), x2[0])≥COND_1204_2_MAIN_INVOKEMETHOD(>(x1[0], 0), 1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[0], x1[0]), x2[0]), x2[0])∧(UIncreasing(COND_1204_2_MAIN_INVOKEMETHOD(>(x1[0], 0), 1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[0], x1[0]), x2[0]), x2[0])), ≥))
(3) (x1[0] + [-1] ≥ 0 ⇒ (UIncreasing(COND_1204_2_MAIN_INVOKEMETHOD(>(x1[0], 0), 1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[0], x1[0]), x2[0]), x2[0])), ≥)∧[(3)bni_23 + (-1)Bound*bni_23] + [bni_23]x0[0] ≥ 0∧[(-1)bso_24] ≥ 0)
(4) (x1[0] + [-1] ≥ 0 ⇒ (UIncreasing(COND_1204_2_MAIN_INVOKEMETHOD(>(x1[0], 0), 1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[0], x1[0]), x2[0]), x2[0])), ≥)∧[(3)bni_23 + (-1)Bound*bni_23] + [bni_23]x0[0] ≥ 0∧[(-1)bso_24] ≥ 0)
(5) (x1[0] + [-1] ≥ 0 ⇒ (UIncreasing(COND_1204_2_MAIN_INVOKEMETHOD(>(x1[0], 0), 1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[0], x1[0]), x2[0]), x2[0])), ≥)∧[(3)bni_23 + (-1)Bound*bni_23] + [bni_23]x0[0] ≥ 0∧[(-1)bso_24] ≥ 0)
(6) (x1[0] + [-1] ≥ 0 ⇒ (UIncreasing(COND_1204_2_MAIN_INVOKEMETHOD(>(x1[0], 0), 1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[0], x1[0]), x2[0]), x2[0])), ≥)∧0 = 0∧[bni_23] = 0∧[(3)bni_23 + (-1)Bound*bni_23] ≥ 0∧0 = 0∧0 = 0∧[(-1)bso_24] ≥ 0)
(7) (x1[0] ≥ 0 ⇒ (UIncreasing(COND_1204_2_MAIN_INVOKEMETHOD(>(x1[0], 0), 1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[0], x1[0]), x2[0]), x2[0])), ≥)∧0 = 0∧[bni_23] = 0∧[(3)bni_23 + (-1)Bound*bni_23] ≥ 0∧0 = 0∧0 = 0∧[(-1)bso_24] ≥ 0)
(8) (>(x1[0], 0)=TRUE∧1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[0], x1[0]), x2[0])=1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[1], x1[1]), x2[1])∧x2[0]=x2[1]∧1204_1_div_InvokeMethod(1204_0_minus_EQ(+(x0[1], -1), +(x1[1], -1)), x2[1])=1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[0]1, x1[0]1), x2[0]1)∧x2[1]=x2[0]1 ⇒ COND_1204_2_MAIN_INVOKEMETHOD(TRUE, 1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[1], x1[1]), x2[1]), x2[1])≥NonInfC∧COND_1204_2_MAIN_INVOKEMETHOD(TRUE, 1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[1], x1[1]), x2[1]), x2[1])≥1204_2_MAIN_INVOKEMETHOD(1204_1_div_InvokeMethod(1204_0_minus_EQ(+(x0[1], -1), +(x1[1], -1)), x2[1]), x2[1])∧(UIncreasing(1204_2_MAIN_INVOKEMETHOD(1204_1_div_InvokeMethod(1204_0_minus_EQ(+(x0[1], -1), +(x1[1], -1)), x2[1]), x2[1])), ≥))
(9) (>(x1[0], 0)=TRUE ⇒ COND_1204_2_MAIN_INVOKEMETHOD(TRUE, 1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[0], x1[0]), x2[0]), x2[0])≥NonInfC∧COND_1204_2_MAIN_INVOKEMETHOD(TRUE, 1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[0], x1[0]), x2[0]), x2[0])≥1204_2_MAIN_INVOKEMETHOD(1204_1_div_InvokeMethod(1204_0_minus_EQ(+(x0[0], -1), +(x1[0], -1)), x2[0]), x2[0])∧(UIncreasing(1204_2_MAIN_INVOKEMETHOD(1204_1_div_InvokeMethod(1204_0_minus_EQ(+(x0[1], -1), +(x1[1], -1)), x2[1]), x2[1])), ≥))
(10) (x1[0] + [-1] ≥ 0 ⇒ (UIncreasing(1204_2_MAIN_INVOKEMETHOD(1204_1_div_InvokeMethod(1204_0_minus_EQ(+(x0[1], -1), +(x1[1], -1)), x2[1]), x2[1])), ≥)∧[(3)bni_25 + (-1)Bound*bni_25] + [bni_25]x0[0] ≥ 0∧[1 + (-1)bso_26] ≥ 0)
(11) (x1[0] + [-1] ≥ 0 ⇒ (UIncreasing(1204_2_MAIN_INVOKEMETHOD(1204_1_div_InvokeMethod(1204_0_minus_EQ(+(x0[1], -1), +(x1[1], -1)), x2[1]), x2[1])), ≥)∧[(3)bni_25 + (-1)Bound*bni_25] + [bni_25]x0[0] ≥ 0∧[1 + (-1)bso_26] ≥ 0)
(12) (x1[0] + [-1] ≥ 0 ⇒ (UIncreasing(1204_2_MAIN_INVOKEMETHOD(1204_1_div_InvokeMethod(1204_0_minus_EQ(+(x0[1], -1), +(x1[1], -1)), x2[1]), x2[1])), ≥)∧[(3)bni_25 + (-1)Bound*bni_25] + [bni_25]x0[0] ≥ 0∧[1 + (-1)bso_26] ≥ 0)
(13) (x1[0] + [-1] ≥ 0 ⇒ (UIncreasing(1204_2_MAIN_INVOKEMETHOD(1204_1_div_InvokeMethod(1204_0_minus_EQ(+(x0[1], -1), +(x1[1], -1)), x2[1]), x2[1])), ≥)∧0 = 0∧[bni_25] = 0∧[(3)bni_25 + (-1)Bound*bni_25] ≥ 0∧0 = 0∧0 = 0∧[1 + (-1)bso_26] ≥ 0)
(14) (x1[0] ≥ 0 ⇒ (UIncreasing(1204_2_MAIN_INVOKEMETHOD(1204_1_div_InvokeMethod(1204_0_minus_EQ(+(x0[1], -1), +(x1[1], -1)), x2[1]), x2[1])), ≥)∧0 = 0∧[bni_25] = 0∧[(3)bni_25 + (-1)Bound*bni_25] ≥ 0∧0 = 0∧0 = 0∧[1 + (-1)bso_26] ≥ 0)
(15) (>(x1[0], 0)=TRUE∧1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[0], x1[0]), x2[0])=1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[1], x1[1]), x2[1])∧x2[0]=x2[1]∧1204_1_div_InvokeMethod(1204_0_minus_EQ(+(x0[1], -1), +(x1[1], -1)), x2[1])=1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[2], 0), x3[2])∧x2[1]=x3[2] ⇒ COND_1204_2_MAIN_INVOKEMETHOD(TRUE, 1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[1], x1[1]), x2[1]), x2[1])≥NonInfC∧COND_1204_2_MAIN_INVOKEMETHOD(TRUE, 1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[1], x1[1]), x2[1]), x2[1])≥1204_2_MAIN_INVOKEMETHOD(1204_1_div_InvokeMethod(1204_0_minus_EQ(+(x0[1], -1), +(x1[1], -1)), x2[1]), x2[1])∧(UIncreasing(1204_2_MAIN_INVOKEMETHOD(1204_1_div_InvokeMethod(1204_0_minus_EQ(+(x0[1], -1), +(x1[1], -1)), x2[1]), x2[1])), ≥))
(16) (>(x1[0], 0)=TRUE∧+(x1[0], -1)=0 ⇒ COND_1204_2_MAIN_INVOKEMETHOD(TRUE, 1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[0], x1[0]), x2[0]), x2[0])≥NonInfC∧COND_1204_2_MAIN_INVOKEMETHOD(TRUE, 1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[0], x1[0]), x2[0]), x2[0])≥1204_2_MAIN_INVOKEMETHOD(1204_1_div_InvokeMethod(1204_0_minus_EQ(+(x0[0], -1), +(x1[0], -1)), x2[0]), x2[0])∧(UIncreasing(1204_2_MAIN_INVOKEMETHOD(1204_1_div_InvokeMethod(1204_0_minus_EQ(+(x0[1], -1), +(x1[1], -1)), x2[1]), x2[1])), ≥))
(17) (x1[0] + [-1] ≥ 0∧x1[0] + [-1] ≥ 0 ⇒ (UIncreasing(1204_2_MAIN_INVOKEMETHOD(1204_1_div_InvokeMethod(1204_0_minus_EQ(+(x0[1], -1), +(x1[1], -1)), x2[1]), x2[1])), ≥)∧[(3)bni_25 + (-1)Bound*bni_25] + [bni_25]x0[0] ≥ 0∧[1 + (-1)bso_26] ≥ 0)
(18) (x1[0] + [-1] ≥ 0∧x1[0] + [-1] ≥ 0 ⇒ (UIncreasing(1204_2_MAIN_INVOKEMETHOD(1204_1_div_InvokeMethod(1204_0_minus_EQ(+(x0[1], -1), +(x1[1], -1)), x2[1]), x2[1])), ≥)∧[(3)bni_25 + (-1)Bound*bni_25] + [bni_25]x0[0] ≥ 0∧[1 + (-1)bso_26] ≥ 0)
(19) (x1[0] + [-1] ≥ 0∧x1[0] + [-1] ≥ 0 ⇒ (UIncreasing(1204_2_MAIN_INVOKEMETHOD(1204_1_div_InvokeMethod(1204_0_minus_EQ(+(x0[1], -1), +(x1[1], -1)), x2[1]), x2[1])), ≥)∧[(3)bni_25 + (-1)Bound*bni_25] + [bni_25]x0[0] ≥ 0∧[1 + (-1)bso_26] ≥ 0)
(20) (x1[0] + [-1] ≥ 0∧x1[0] + [-1] ≥ 0 ⇒ (UIncreasing(1204_2_MAIN_INVOKEMETHOD(1204_1_div_InvokeMethod(1204_0_minus_EQ(+(x0[1], -1), +(x1[1], -1)), x2[1]), x2[1])), ≥)∧0 = 0∧[bni_25] = 0∧[(3)bni_25 + (-1)Bound*bni_25] ≥ 0∧0 = 0∧0 = 0∧[1 + (-1)bso_26] ≥ 0)
(21) (x1[0] ≥ 0∧x1[0] ≥ 0 ⇒ (UIncreasing(1204_2_MAIN_INVOKEMETHOD(1204_1_div_InvokeMethod(1204_0_minus_EQ(+(x0[1], -1), +(x1[1], -1)), x2[1]), x2[1])), ≥)∧0 = 0∧[bni_25] = 0∧[(3)bni_25 + (-1)Bound*bni_25] ≥ 0∧0 = 0∧0 = 0∧[1 + (-1)bso_26] ≥ 0)
(22) (&&(>(x3[2], 0), <=(x3[2], x0[2]))=TRUE∧1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[2], 0), x3[2])=1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[3], 0), x3[3])∧x3[2]=x3[3] ⇒ 1204_2_MAIN_INVOKEMETHOD(1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[2], 0), x3[2]), x3[2])≥NonInfC∧1204_2_MAIN_INVOKEMETHOD(1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[2], 0), x3[2]), x3[2])≥COND_1204_2_MAIN_INVOKEMETHOD1(&&(>(x3[2], 0), <=(x3[2], x0[2])), 1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[2], 0), x3[2]), x3[2])∧(UIncreasing(COND_1204_2_MAIN_INVOKEMETHOD1(&&(>(x3[2], 0), <=(x3[2], x0[2])), 1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[2], 0), x3[2]), x3[2])), ≥))
(23) (>(x3[2], 0)=TRUE∧<=(x3[2], x0[2])=TRUE ⇒ 1204_2_MAIN_INVOKEMETHOD(1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[2], 0), x3[2]), x3[2])≥NonInfC∧1204_2_MAIN_INVOKEMETHOD(1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[2], 0), x3[2]), x3[2])≥COND_1204_2_MAIN_INVOKEMETHOD1(&&(>(x3[2], 0), <=(x3[2], x0[2])), 1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[2], 0), x3[2]), x3[2])∧(UIncreasing(COND_1204_2_MAIN_INVOKEMETHOD1(&&(>(x3[2], 0), <=(x3[2], x0[2])), 1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[2], 0), x3[2]), x3[2])), ≥))
(24) (x3[2] + [-1] ≥ 0∧x0[2] + [-1]x3[2] ≥ 0 ⇒ (UIncreasing(COND_1204_2_MAIN_INVOKEMETHOD1(&&(>(x3[2], 0), <=(x3[2], x0[2])), 1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[2], 0), x3[2]), x3[2])), ≥)∧[(3)bni_27 + (-1)Bound*bni_27] + [bni_27]x0[2] ≥ 0∧[(-1)bso_28] ≥ 0)
(25) (x3[2] + [-1] ≥ 0∧x0[2] + [-1]x3[2] ≥ 0 ⇒ (UIncreasing(COND_1204_2_MAIN_INVOKEMETHOD1(&&(>(x3[2], 0), <=(x3[2], x0[2])), 1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[2], 0), x3[2]), x3[2])), ≥)∧[(3)bni_27 + (-1)Bound*bni_27] + [bni_27]x0[2] ≥ 0∧[(-1)bso_28] ≥ 0)
(26) (x3[2] + [-1] ≥ 0∧x0[2] + [-1]x3[2] ≥ 0 ⇒ (UIncreasing(COND_1204_2_MAIN_INVOKEMETHOD1(&&(>(x3[2], 0), <=(x3[2], x0[2])), 1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[2], 0), x3[2]), x3[2])), ≥)∧[(3)bni_27 + (-1)Bound*bni_27] + [bni_27]x0[2] ≥ 0∧[(-1)bso_28] ≥ 0)
(27) (x3[2] ≥ 0∧x0[2] + [-1] + [-1]x3[2] ≥ 0 ⇒ (UIncreasing(COND_1204_2_MAIN_INVOKEMETHOD1(&&(>(x3[2], 0), <=(x3[2], x0[2])), 1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[2], 0), x3[2]), x3[2])), ≥)∧[(3)bni_27 + (-1)Bound*bni_27] + [bni_27]x0[2] ≥ 0∧[(-1)bso_28] ≥ 0)
(28) (x3[2] ≥ 0∧x0[2] ≥ 0 ⇒ (UIncreasing(COND_1204_2_MAIN_INVOKEMETHOD1(&&(>(x3[2], 0), <=(x3[2], x0[2])), 1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[2], 0), x3[2]), x3[2])), ≥)∧[(4)bni_27 + (-1)Bound*bni_27] + [bni_27]x3[2] + [bni_27]x0[2] ≥ 0∧[(-1)bso_28] ≥ 0)
(29) (&&(>(x3[2], 0), <=(x3[2], x0[2]))=TRUE∧1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[2], 0), x3[2])=1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[3], 0), x3[3])∧x3[2]=x3[3]∧1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[3], x3[3]), x3[3])=1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[0], x1[0]), x2[0])∧x3[3]=x2[0] ⇒ COND_1204_2_MAIN_INVOKEMETHOD1(TRUE, 1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[3], 0), x3[3]), x3[3])≥NonInfC∧COND_1204_2_MAIN_INVOKEMETHOD1(TRUE, 1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[3], 0), x3[3]), x3[3])≥1204_2_MAIN_INVOKEMETHOD(1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[3], x3[3]), x3[3]), x3[3])∧(UIncreasing(1204_2_MAIN_INVOKEMETHOD(1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[3], x3[3]), x3[3]), x3[3])), ≥))
(30) (>(x3[2], 0)=TRUE∧<=(x3[2], x0[2])=TRUE ⇒ COND_1204_2_MAIN_INVOKEMETHOD1(TRUE, 1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[2], 0), x3[2]), x3[2])≥NonInfC∧COND_1204_2_MAIN_INVOKEMETHOD1(TRUE, 1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[2], 0), x3[2]), x3[2])≥1204_2_MAIN_INVOKEMETHOD(1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[2], x3[2]), x3[2]), x3[2])∧(UIncreasing(1204_2_MAIN_INVOKEMETHOD(1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[3], x3[3]), x3[3]), x3[3])), ≥))
(31) (x3[2] + [-1] ≥ 0∧x0[2] + [-1]x3[2] ≥ 0 ⇒ (UIncreasing(1204_2_MAIN_INVOKEMETHOD(1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[3], x3[3]), x3[3]), x3[3])), ≥)∧[(3)bni_29 + (-1)Bound*bni_29] + [bni_29]x0[2] ≥ 0∧[(-1)bso_30] ≥ 0)
(32) (x3[2] + [-1] ≥ 0∧x0[2] + [-1]x3[2] ≥ 0 ⇒ (UIncreasing(1204_2_MAIN_INVOKEMETHOD(1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[3], x3[3]), x3[3]), x3[3])), ≥)∧[(3)bni_29 + (-1)Bound*bni_29] + [bni_29]x0[2] ≥ 0∧[(-1)bso_30] ≥ 0)
(33) (x3[2] + [-1] ≥ 0∧x0[2] + [-1]x3[2] ≥ 0 ⇒ (UIncreasing(1204_2_MAIN_INVOKEMETHOD(1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[3], x3[3]), x3[3]), x3[3])), ≥)∧[(3)bni_29 + (-1)Bound*bni_29] + [bni_29]x0[2] ≥ 0∧[(-1)bso_30] ≥ 0)
(34) (x3[2] ≥ 0∧x0[2] + [-1] + [-1]x3[2] ≥ 0 ⇒ (UIncreasing(1204_2_MAIN_INVOKEMETHOD(1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[3], x3[3]), x3[3]), x3[3])), ≥)∧[(3)bni_29 + (-1)Bound*bni_29] + [bni_29]x0[2] ≥ 0∧[(-1)bso_30] ≥ 0)
(35) (x3[2] ≥ 0∧x0[2] ≥ 0 ⇒ (UIncreasing(1204_2_MAIN_INVOKEMETHOD(1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[3], x3[3]), x3[3]), x3[3])), ≥)∧[(4)bni_29 + (-1)Bound*bni_29] + [bni_29]x3[2] + [bni_29]x0[2] ≥ 0∧[(-1)bso_30] ≥ 0)
(36) (&&(>(x3[2], 0), <=(x3[2], x0[2]))=TRUE∧1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[2], 0), x3[2])=1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[3], 0), x3[3])∧x3[2]=x3[3]∧1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[3], x3[3]), x3[3])=1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[2]1, 0), x3[2]1)∧x3[3]=x3[2]1 ⇒ COND_1204_2_MAIN_INVOKEMETHOD1(TRUE, 1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[3], 0), x3[3]), x3[3])≥NonInfC∧COND_1204_2_MAIN_INVOKEMETHOD1(TRUE, 1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[3], 0), x3[3]), x3[3])≥1204_2_MAIN_INVOKEMETHOD(1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[3], x3[3]), x3[3]), x3[3])∧(UIncreasing(1204_2_MAIN_INVOKEMETHOD(1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[3], x3[3]), x3[3]), x3[3])), ≥))
POL(TRUE) = [1]
POL(FALSE) = [1]
POL(1204_2_MAIN_INVOKEMETHOD(x1, x2)) = [1] + [-1]x2 + [-1]x1
POL(1204_1_div_InvokeMethod(x1, x2)) = [-1] + [-1]x2 + x1
POL(1204_0_minus_EQ(x1, x2)) = [-1] + [-1]x1
POL(COND_1204_2_MAIN_INVOKEMETHOD(x1, x2, x3)) = [1] + [-1]x3 + [-1]x2
POL(>(x1, x2)) = [-1]
POL(0) = 0
POL(+(x1, x2)) = x1 + x2
POL(-1) = [-1]
POL(COND_1204_2_MAIN_INVOKEMETHOD1(x1, x2, x3)) = [2] + [-1]x3 + [-1]x2 + [-1]x1
POL(&&(x1, x2)) = [1]
POL(<=(x1, x2)) = [-1]
COND_1204_2_MAIN_INVOKEMETHOD(TRUE, 1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[1], x1[1]), x2[1]), x2[1]) → 1204_2_MAIN_INVOKEMETHOD(1204_1_div_InvokeMethod(1204_0_minus_EQ(+(x0[1], -1), +(x1[1], -1)), x2[1]), x2[1])
1204_2_MAIN_INVOKEMETHOD(1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[2], 0), x3[2]), x3[2]) → COND_1204_2_MAIN_INVOKEMETHOD1(&&(>(x3[2], 0), <=(x3[2], x0[2])), 1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[2], 0), x3[2]), x3[2])
COND_1204_2_MAIN_INVOKEMETHOD1(TRUE, 1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[3], 0), x3[3]), x3[3]) → 1204_2_MAIN_INVOKEMETHOD(1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[3], x3[3]), x3[3]), x3[3])
1204_2_MAIN_INVOKEMETHOD(1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[0], x1[0]), x2[0]), x2[0]) → COND_1204_2_MAIN_INVOKEMETHOD(>(x1[0], 0), 1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[0], x1[0]), x2[0]), x2[0])
1204_2_MAIN_INVOKEMETHOD(1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[2], 0), x3[2]), x3[2]) → COND_1204_2_MAIN_INVOKEMETHOD1(&&(>(x3[2], 0), <=(x3[2], x0[2])), 1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[2], 0), x3[2]), x3[2])
COND_1204_2_MAIN_INVOKEMETHOD1(TRUE, 1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[3], 0), x3[3]), x3[3]) → 1204_2_MAIN_INVOKEMETHOD(1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[3], x3[3]), x3[3]), x3[3])
&&(TRUE, TRUE)1 ↔ TRUE1
&&(TRUE, FALSE)1 ↔ FALSE1
&&(FALSE, TRUE)1 ↔ FALSE1
&&(FALSE, FALSE)1 ↔ FALSE1
!= | ~ | 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 |
Integer, Boolean
(3) -> (0), if ((1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[3], x3[3]), x3[3]) →* 1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[0], x1[0]), x2[0]))∧(x3[3] →* x2[0]))
(3) -> (2), if ((1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[3], x3[3]), x3[3]) →* 1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[2], 0), x3[2]))∧(x3[3] →* x3[2]))
(2) -> (3), if ((x3[2] > 0 && x3[2] <= x0[2] →* TRUE)∧(1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[2], 0), x3[2]) →* 1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[3], 0), x3[3]))∧(x3[2] →* x3[3]))
!= | ~ | 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
(3) -> (2), if ((1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[3], x3[3]), x3[3]) →* 1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[2], 0), x3[2]))∧(x3[3] →* x3[2]))
(2) -> (3), if ((x3[2] > 0 && x3[2] <= x0[2] →* TRUE)∧(1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[2], 0), x3[2]) →* 1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[3], 0), x3[3]))∧(x3[2] →* x3[3]))
(1) (&&(>(x3[2], 0), <=(x3[2], x0[2]))=TRUE∧1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[2], 0), x3[2])=1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[3], 0), x3[3])∧x3[2]=x3[3]∧1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[3], x3[3]), x3[3])=1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[2]1, 0), x3[2]1)∧x3[3]=x3[2]1 ⇒ COND_1204_2_MAIN_INVOKEMETHOD1(TRUE, 1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[3], 0), x3[3]), x3[3])≥NonInfC∧COND_1204_2_MAIN_INVOKEMETHOD1(TRUE, 1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[3], 0), x3[3]), x3[3])≥1204_2_MAIN_INVOKEMETHOD(1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[3], x3[3]), x3[3]), x3[3])∧(UIncreasing(1204_2_MAIN_INVOKEMETHOD(1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[3], x3[3]), x3[3]), x3[3])), ≥))
(2) (&&(>(x3[2], 0), <=(x3[2], x0[2]))=TRUE∧1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[2], 0), x3[2])=1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[3], 0), x3[3])∧x3[2]=x3[3] ⇒ 1204_2_MAIN_INVOKEMETHOD(1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[2], 0), x3[2]), x3[2])≥NonInfC∧1204_2_MAIN_INVOKEMETHOD(1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[2], 0), x3[2]), x3[2])≥COND_1204_2_MAIN_INVOKEMETHOD1(&&(>(x3[2], 0), <=(x3[2], x0[2])), 1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[2], 0), x3[2]), x3[2])∧(UIncreasing(COND_1204_2_MAIN_INVOKEMETHOD1(&&(>(x3[2], 0), <=(x3[2], x0[2])), 1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[2], 0), x3[2]), x3[2])), ≥))
(3) (&&(>(x3[2], 0), <=(x3[2], x0[2]))=TRUE ⇒ 1204_2_MAIN_INVOKEMETHOD(1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[2], 0), x3[2]), x3[2])≥NonInfC∧1204_2_MAIN_INVOKEMETHOD(1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[2], 0), x3[2]), x3[2])≥COND_1204_2_MAIN_INVOKEMETHOD1(&&(>(x3[2], 0), <=(x3[2], x0[2])), 1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[2], 0), x3[2]), x3[2])∧(UIncreasing(COND_1204_2_MAIN_INVOKEMETHOD1(&&(>(x3[2], 0), <=(x3[2], x0[2])), 1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[2], 0), x3[2]), x3[2])), ≥))
(4) (0 ≥ 0 ⇒ (UIncreasing(COND_1204_2_MAIN_INVOKEMETHOD1(&&(>(x3[2], 0), <=(x3[2], x0[2])), 1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[2], 0), x3[2]), x3[2])), ≥)∧[(21)bni_14 + (-1)Bound*bni_14] + [bni_14]x3[2] + [(6)bni_14]x0[2] ≥ 0∧[32 + (-1)bso_15] + [3]x3[2] + [9]x0[2] ≥ 0)
(5) (0 ≥ 0 ⇒ (UIncreasing(COND_1204_2_MAIN_INVOKEMETHOD1(&&(>(x3[2], 0), <=(x3[2], x0[2])), 1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[2], 0), x3[2]), x3[2])), ≥)∧[(21)bni_14 + (-1)Bound*bni_14] + [bni_14]x3[2] + [(6)bni_14]x0[2] ≥ 0∧[32 + (-1)bso_15] + [3]x3[2] + [9]x0[2] ≥ 0)
(6) (0 ≥ 0 ⇒ (UIncreasing(COND_1204_2_MAIN_INVOKEMETHOD1(&&(>(x3[2], 0), <=(x3[2], x0[2])), 1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[2], 0), x3[2]), x3[2])), ≥)∧[(21)bni_14 + (-1)Bound*bni_14] + [bni_14]x3[2] + [(6)bni_14]x0[2] ≥ 0∧[32 + (-1)bso_15] + [3]x3[2] + [9]x0[2] ≥ 0)
(7) (0 ≥ 0 ⇒ (UIncreasing(COND_1204_2_MAIN_INVOKEMETHOD1(&&(>(x3[2], 0), <=(x3[2], x0[2])), 1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[2], 0), x3[2]), x3[2])), ≥)∧[bni_14] ≥ 0∧[(6)bni_14] ≥ 0∧[(21)bni_14 + (-1)Bound*bni_14] ≥ 0∧[32 + (-1)bso_15] ≥ 0∧[1] ≥ 0∧[1] ≥ 0)
POL(TRUE) = 0
POL(FALSE) = 0
POL(COND_1204_2_MAIN_INVOKEMETHOD1(x1, x2, x3)) = [-1] + [-1]x3 + [-1]x2
POL(1204_1_div_InvokeMethod(x1, x2)) = [1] + x2 + [3]x1
POL(1204_0_minus_EQ(x1, x2)) = [3] + x1
POL(0) = 0
POL(1204_2_MAIN_INVOKEMETHOD(x1, x2)) = [1] + [-1]x2 + [2]x1
POL(&&(x1, x2)) = 0
POL(>(x1, x2)) = 0
POL(<=(x1, x2)) = 0
COND_1204_2_MAIN_INVOKEMETHOD1(TRUE, 1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[3], 0), x3[3]), x3[3]) → 1204_2_MAIN_INVOKEMETHOD(1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[3], x3[3]), x3[3]), x3[3])
1204_2_MAIN_INVOKEMETHOD(1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[2], 0), x3[2]), x3[2]) → COND_1204_2_MAIN_INVOKEMETHOD1(&&(>(x3[2], 0), <=(x3[2], x0[2])), 1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[2], 0), x3[2]), x3[2])
COND_1204_2_MAIN_INVOKEMETHOD1(TRUE, 1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[3], 0), x3[3]), x3[3]) → 1204_2_MAIN_INVOKEMETHOD(1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[3], x3[3]), x3[3]), x3[3])
1204_2_MAIN_INVOKEMETHOD(1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[2], 0), x3[2]), x3[2]) → COND_1204_2_MAIN_INVOKEMETHOD1(&&(>(x3[2], 0), <=(x3[2], x0[2])), 1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[2], 0), x3[2]), x3[2])
&&(TRUE, TRUE)1 ↔ TRUE1
&&(TRUE, FALSE)1 ↔ FALSE1
&&(FALSE, TRUE)1 ↔ FALSE1
&&(FALSE, FALSE)1 ↔ FALSE1
!= | ~ | 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 |
!= | ~ | 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 |
Integer
(1) -> (0), if ((1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[1] + -1, x1[1] + -1), x2[1]) →* 1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[0], x1[0]), x2[0]))∧(x2[1] →* x2[0]))
(0) -> (1), if ((x1[0] > 0 →* TRUE)∧(1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[0], x1[0]), x2[0]) →* 1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[1], x1[1]), x2[1]))∧(x2[0] →* x2[1]))
(1) (>(x1[0], 0)=TRUE∧1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[0], x1[0]), x2[0])=1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[1], x1[1]), x2[1])∧x2[0]=x2[1] ⇒ 1204_2_MAIN_INVOKEMETHOD(1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[0], x1[0]), x2[0]), x2[0])≥NonInfC∧1204_2_MAIN_INVOKEMETHOD(1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[0], x1[0]), x2[0]), x2[0])≥COND_1204_2_MAIN_INVOKEMETHOD(>(x1[0], 0), 1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[0], x1[0]), x2[0]), x2[0])∧(UIncreasing(COND_1204_2_MAIN_INVOKEMETHOD(>(x1[0], 0), 1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[0], x1[0]), x2[0]), x2[0])), ≥))
(2) (>(x1[0], 0)=TRUE ⇒ 1204_2_MAIN_INVOKEMETHOD(1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[0], x1[0]), x2[0]), x2[0])≥NonInfC∧1204_2_MAIN_INVOKEMETHOD(1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[0], x1[0]), x2[0]), x2[0])≥COND_1204_2_MAIN_INVOKEMETHOD(>(x1[0], 0), 1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[0], x1[0]), x2[0]), x2[0])∧(UIncreasing(COND_1204_2_MAIN_INVOKEMETHOD(>(x1[0], 0), 1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[0], x1[0]), x2[0]), x2[0])), ≥))
(3) (x1[0] + [-1] ≥ 0 ⇒ (UIncreasing(COND_1204_2_MAIN_INVOKEMETHOD(>(x1[0], 0), 1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[0], x1[0]), x2[0]), x2[0])), ≥)∧[bni_17 + (-1)Bound*bni_17] + [bni_17]x1[0] ≥ 0∧[(-1)bso_18] ≥ 0)
(4) (x1[0] + [-1] ≥ 0 ⇒ (UIncreasing(COND_1204_2_MAIN_INVOKEMETHOD(>(x1[0], 0), 1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[0], x1[0]), x2[0]), x2[0])), ≥)∧[bni_17 + (-1)Bound*bni_17] + [bni_17]x1[0] ≥ 0∧[(-1)bso_18] ≥ 0)
(5) (x1[0] + [-1] ≥ 0 ⇒ (UIncreasing(COND_1204_2_MAIN_INVOKEMETHOD(>(x1[0], 0), 1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[0], x1[0]), x2[0]), x2[0])), ≥)∧[bni_17 + (-1)Bound*bni_17] + [bni_17]x1[0] ≥ 0∧[(-1)bso_18] ≥ 0)
(6) (x1[0] + [-1] ≥ 0 ⇒ (UIncreasing(COND_1204_2_MAIN_INVOKEMETHOD(>(x1[0], 0), 1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[0], x1[0]), x2[0]), x2[0])), ≥)∧0 = 0∧0 = 0∧[bni_17 + (-1)Bound*bni_17] + [bni_17]x1[0] ≥ 0∧0 = 0∧0 = 0∧[(-1)bso_18] ≥ 0)
(7) (x1[0] ≥ 0 ⇒ (UIncreasing(COND_1204_2_MAIN_INVOKEMETHOD(>(x1[0], 0), 1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[0], x1[0]), x2[0]), x2[0])), ≥)∧0 = 0∧0 = 0∧[(2)bni_17 + (-1)Bound*bni_17] + [bni_17]x1[0] ≥ 0∧0 = 0∧0 = 0∧[(-1)bso_18] ≥ 0)
(8) (>(x1[0], 0)=TRUE∧1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[0], x1[0]), x2[0])=1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[1], x1[1]), x2[1])∧x2[0]=x2[1]∧1204_1_div_InvokeMethod(1204_0_minus_EQ(+(x0[1], -1), +(x1[1], -1)), x2[1])=1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[0]1, x1[0]1), x2[0]1)∧x2[1]=x2[0]1 ⇒ COND_1204_2_MAIN_INVOKEMETHOD(TRUE, 1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[1], x1[1]), x2[1]), x2[1])≥NonInfC∧COND_1204_2_MAIN_INVOKEMETHOD(TRUE, 1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[1], x1[1]), x2[1]), x2[1])≥1204_2_MAIN_INVOKEMETHOD(1204_1_div_InvokeMethod(1204_0_minus_EQ(+(x0[1], -1), +(x1[1], -1)), x2[1]), x2[1])∧(UIncreasing(1204_2_MAIN_INVOKEMETHOD(1204_1_div_InvokeMethod(1204_0_minus_EQ(+(x0[1], -1), +(x1[1], -1)), x2[1]), x2[1])), ≥))
(9) (>(x1[0], 0)=TRUE ⇒ COND_1204_2_MAIN_INVOKEMETHOD(TRUE, 1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[0], x1[0]), x2[0]), x2[0])≥NonInfC∧COND_1204_2_MAIN_INVOKEMETHOD(TRUE, 1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[0], x1[0]), x2[0]), x2[0])≥1204_2_MAIN_INVOKEMETHOD(1204_1_div_InvokeMethod(1204_0_minus_EQ(+(x0[0], -1), +(x1[0], -1)), x2[0]), x2[0])∧(UIncreasing(1204_2_MAIN_INVOKEMETHOD(1204_1_div_InvokeMethod(1204_0_minus_EQ(+(x0[1], -1), +(x1[1], -1)), x2[1]), x2[1])), ≥))
(10) (x1[0] + [-1] ≥ 0 ⇒ (UIncreasing(1204_2_MAIN_INVOKEMETHOD(1204_1_div_InvokeMethod(1204_0_minus_EQ(+(x0[1], -1), +(x1[1], -1)), x2[1]), x2[1])), ≥)∧[bni_19 + (-1)Bound*bni_19] + [bni_19]x1[0] ≥ 0∧[1 + (-1)bso_20] ≥ 0)
(11) (x1[0] + [-1] ≥ 0 ⇒ (UIncreasing(1204_2_MAIN_INVOKEMETHOD(1204_1_div_InvokeMethod(1204_0_minus_EQ(+(x0[1], -1), +(x1[1], -1)), x2[1]), x2[1])), ≥)∧[bni_19 + (-1)Bound*bni_19] + [bni_19]x1[0] ≥ 0∧[1 + (-1)bso_20] ≥ 0)
(12) (x1[0] + [-1] ≥ 0 ⇒ (UIncreasing(1204_2_MAIN_INVOKEMETHOD(1204_1_div_InvokeMethod(1204_0_minus_EQ(+(x0[1], -1), +(x1[1], -1)), x2[1]), x2[1])), ≥)∧[bni_19 + (-1)Bound*bni_19] + [bni_19]x1[0] ≥ 0∧[1 + (-1)bso_20] ≥ 0)
(13) (x1[0] + [-1] ≥ 0 ⇒ (UIncreasing(1204_2_MAIN_INVOKEMETHOD(1204_1_div_InvokeMethod(1204_0_minus_EQ(+(x0[1], -1), +(x1[1], -1)), x2[1]), x2[1])), ≥)∧0 = 0∧0 = 0∧[bni_19 + (-1)Bound*bni_19] + [bni_19]x1[0] ≥ 0∧0 = 0∧0 = 0∧[1 + (-1)bso_20] ≥ 0)
(14) (x1[0] ≥ 0 ⇒ (UIncreasing(1204_2_MAIN_INVOKEMETHOD(1204_1_div_InvokeMethod(1204_0_minus_EQ(+(x0[1], -1), +(x1[1], -1)), x2[1]), x2[1])), ≥)∧0 = 0∧0 = 0∧[(2)bni_19 + (-1)Bound*bni_19] + [bni_19]x1[0] ≥ 0∧0 = 0∧0 = 0∧[1 + (-1)bso_20] ≥ 0)
POL(TRUE) = 0
POL(FALSE) = 0
POL(1204_2_MAIN_INVOKEMETHOD(x1, x2)) = [-1] + [-1]x2 + [-1]x1
POL(1204_1_div_InvokeMethod(x1, x2)) = [-1] + [-1]x2 + x1
POL(1204_0_minus_EQ(x1, x2)) = [-1] + [-1]x2
POL(COND_1204_2_MAIN_INVOKEMETHOD(x1, x2, x3)) = [-1] + [-1]x3 + [-1]x2
POL(>(x1, x2)) = [-1]
POL(0) = 0
POL(+(x1, x2)) = x1 + x2
POL(-1) = [-1]
COND_1204_2_MAIN_INVOKEMETHOD(TRUE, 1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[1], x1[1]), x2[1]), x2[1]) → 1204_2_MAIN_INVOKEMETHOD(1204_1_div_InvokeMethod(1204_0_minus_EQ(+(x0[1], -1), +(x1[1], -1)), x2[1]), x2[1])
1204_2_MAIN_INVOKEMETHOD(1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[0], x1[0]), x2[0]), x2[0]) → COND_1204_2_MAIN_INVOKEMETHOD(>(x1[0], 0), 1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[0], x1[0]), x2[0]), x2[0])
COND_1204_2_MAIN_INVOKEMETHOD(TRUE, 1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[1], x1[1]), x2[1]), x2[1]) → 1204_2_MAIN_INVOKEMETHOD(1204_1_div_InvokeMethod(1204_0_minus_EQ(+(x0[1], -1), +(x1[1], -1)), x2[1]), x2[1])
1204_2_MAIN_INVOKEMETHOD(1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[0], x1[0]), x2[0]), x2[0]) → COND_1204_2_MAIN_INVOKEMETHOD(>(x1[0], 0), 1204_1_div_InvokeMethod(1204_0_minus_EQ(x0[0], x1[0]), x2[0]), x2[0])
!= | ~ | 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 |
Integer