0 JBC
↳1 JBC2FIG (⇐)
↳2 FIGraph
↳3 FIGtoITRSProof (⇐)
↳4 AND
↳5 ITRS
↳6 ITRStoIDPProof (⇔)
↳7 IDP
↳8 UsableRulesProof (⇔)
↳9 IDP
↳10 IDPNonInfProof (⇐)
↳11 AND
↳12 IDP
↳13 IDependencyGraphProof (⇔)
↳14 TRUE
↳15 IDP
↳16 IDependencyGraphProof (⇔)
↳17 TRUE
↳18 ITRS
↳19 DuplicateArgsRemoverProof (⇔)
↳20 ITRS
↳21 ITRStoIDPProof (⇔)
↳22 IDP
↳23 UsableRulesProof (⇔)
↳24 IDP
↳25 ItpfGraphProof (⇔)
↳26 IDP
↳27 IDPNonInfProof (⇐)
↳28 AND
↳29 IDP
↳30 IDependencyGraphProof (⇔)
↳31 TRUE
↳32 IDP
↳33 IDependencyGraphProof (⇔)
↳34 TRUE
↳35 ITRS
↳36 ITRStoIDPProof (⇔)
↳37 IDP
↳38 UsableRulesProof (⇔)
↳39 IDP
↳40 ItpfGraphProof (⇔)
↳41 IDP
↳42 IDPNonInfProof (⇐)
↳43 AND
↳44 IDP
↳45 IDependencyGraphProof (⇔)
↳46 TRUE
↳47 IDP
↳48 IDependencyGraphProof (⇔)
↳49 TRUE
No human-readable program information known.
!= | ~ | 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
(0) -> (1), if ((i717[0] > 0 →* TRUE)∧(i717[0] →* i717[1]))
(1) -> (0), if ((i717[1] + -1 →* i717[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
(0) -> (1), if ((i717[0] > 0 →* TRUE)∧(i717[0] →* i717[1]))
(1) -> (0), if ((i717[1] + -1 →* i717[0]))
(1) (>(i717[0], 0)=TRUE∧i717[0]=i717[1] ⇒ LOAD2356(i717[0])≥NonInfC∧LOAD2356(i717[0])≥COND_LOAD2356(>(i717[0], 0), i717[0])∧(UIncreasing(COND_LOAD2356(>(i717[0], 0), i717[0])), ≥))
(2) (>(i717[0], 0)=TRUE ⇒ LOAD2356(i717[0])≥NonInfC∧LOAD2356(i717[0])≥COND_LOAD2356(>(i717[0], 0), i717[0])∧(UIncreasing(COND_LOAD2356(>(i717[0], 0), i717[0])), ≥))
(3) (i717[0] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD2356(>(i717[0], 0), i717[0])), ≥)∧[(-1)Bound*bni_8] + [(2)bni_8]i717[0] ≥ 0∧[(-1)bso_9] ≥ 0)
(4) (i717[0] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD2356(>(i717[0], 0), i717[0])), ≥)∧[(-1)Bound*bni_8] + [(2)bni_8]i717[0] ≥ 0∧[(-1)bso_9] ≥ 0)
(5) (i717[0] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD2356(>(i717[0], 0), i717[0])), ≥)∧[(-1)Bound*bni_8] + [(2)bni_8]i717[0] ≥ 0∧[(-1)bso_9] ≥ 0)
(6) (i717[0] ≥ 0 ⇒ (UIncreasing(COND_LOAD2356(>(i717[0], 0), i717[0])), ≥)∧[(-1)Bound*bni_8 + (2)bni_8] + [(2)bni_8]i717[0] ≥ 0∧[(-1)bso_9] ≥ 0)
(7) (COND_LOAD2356(TRUE, i717[1])≥NonInfC∧COND_LOAD2356(TRUE, i717[1])≥LOAD2356(+(i717[1], -1))∧(UIncreasing(LOAD2356(+(i717[1], -1))), ≥))
(8) ((UIncreasing(LOAD2356(+(i717[1], -1))), ≥)∧[2 + (-1)bso_11] ≥ 0)
(9) ((UIncreasing(LOAD2356(+(i717[1], -1))), ≥)∧[2 + (-1)bso_11] ≥ 0)
(10) ((UIncreasing(LOAD2356(+(i717[1], -1))), ≥)∧[2 + (-1)bso_11] ≥ 0)
(11) ((UIncreasing(LOAD2356(+(i717[1], -1))), ≥)∧0 = 0∧[2 + (-1)bso_11] ≥ 0)
POL(TRUE) = 0
POL(FALSE) = 0
POL(LOAD2356(x1)) = [2]x1
POL(COND_LOAD2356(x1, x2)) = [2]x2
POL(>(x1, x2)) = [-1]
POL(0) = 0
POL(+(x1, x2)) = x1 + x2
POL(-1) = [-1]
COND_LOAD2356(TRUE, i717[1]) → LOAD2356(+(i717[1], -1))
LOAD2356(i717[0]) → COND_LOAD2356(>(i717[0], 0), i717[0])
LOAD2356(i717[0]) → COND_LOAD2356(>(i717[0], 0), i717[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
!= | ~ | 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
!= | ~ | 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 |
Cond_Load2110(x1, x2, x3, x4) → Cond_Load2110(x1, x3, x4)
!= | ~ | 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
(0) -> (1), if ((java.lang.Object(IntList(o2075[0], i676[0])) →* java.lang.Object(IntList(o2075[1], i676[1])))∧(i637[0] →* i637[1])∧(i637[0] > 1 →* TRUE))
(1) -> (2), if ((i637[1] + -1 →* i650[2])∧(o2075[1] →* o2070[2])∧(java.lang.Object(IntList(o2075[1], i676[1])) →* java.lang.Object(IntList(o1946Field0[2], o1946Field1[2]))))
(2) -> (0), if ((o2070[2] →* java.lang.Object(IntList(o2075[0], i676[0])))∧(java.lang.Object(IntList(o1946Field0[2], o1946Field1[2])) →* java.lang.Object(IntList(o2075[0], i676[0])))∧(i650[2] →* i637[0]))
(2) -> (3), if ((java.lang.Object(IntList(o1946Field0[2], o1946Field1[2])) →* java.lang.Object(IntList(o1946Field0[3], o1946Field1[3])))∧(o2070[2] →* java.lang.Object(IntList(o2070[3], i675[3])))∧(i650[2] →* i637[3]))
(3) -> (4), if ((java.lang.Object(IntList(o1946Field0[3], o1946Field1[3])) →* java.lang.Object(IntList(o1946Field0[4], o1946Field1[4])))∧(i637[3] > 1 →* TRUE)∧(java.lang.Object(IntList(o2070[3], i675[3])) →* java.lang.Object(IntList(o2070[4], i675[4])))∧(i637[3] →* i637[4]))
(4) -> (0), if ((java.lang.Object(IntList(o1946Field0[4], o1946Field1[4])) →* java.lang.Object(IntList(o2075[0], i676[0])))∧(o2070[4] →* java.lang.Object(IntList(o2075[0], i676[0])))∧(i637[4] + -1 →* i637[0]))
(4) -> (3), if ((o2070[4] →* java.lang.Object(IntList(o2070[3], i675[3])))∧(java.lang.Object(IntList(o1946Field0[4], o1946Field1[4])) →* java.lang.Object(IntList(o1946Field0[3], o1946Field1[3])))∧(i637[4] + -1 →* i637[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 |
Integer
(0) -> (1), if ((java.lang.Object(IntList(o2075[0], i676[0])) →* java.lang.Object(IntList(o2075[1], i676[1])))∧(i637[0] →* i637[1])∧(i637[0] > 1 →* TRUE))
(1) -> (2), if ((i637[1] + -1 →* i650[2])∧(o2075[1] →* o2070[2])∧(java.lang.Object(IntList(o2075[1], i676[1])) →* java.lang.Object(IntList(o1946Field0[2], o1946Field1[2]))))
(2) -> (0), if ((o2070[2] →* java.lang.Object(IntList(o2075[0], i676[0])))∧(java.lang.Object(IntList(o1946Field0[2], o1946Field1[2])) →* java.lang.Object(IntList(o2075[0], i676[0])))∧(i650[2] →* i637[0]))
(2) -> (3), if ((java.lang.Object(IntList(o1946Field0[2], o1946Field1[2])) →* java.lang.Object(IntList(o1946Field0[3], o1946Field1[3])))∧(o2070[2] →* java.lang.Object(IntList(o2070[3], i675[3])))∧(i650[2] →* i637[3]))
(3) -> (4), if ((java.lang.Object(IntList(o1946Field0[3], o1946Field1[3])) →* java.lang.Object(IntList(o1946Field0[4], o1946Field1[4])))∧(i637[3] > 1 →* TRUE)∧(java.lang.Object(IntList(o2070[3], i675[3])) →* java.lang.Object(IntList(o2070[4], i675[4])))∧(i637[3] →* i637[4]))
(4) -> (0), if ((java.lang.Object(IntList(o1946Field0[4], o1946Field1[4])) →* java.lang.Object(IntList(o2075[0], i676[0])))∧(o2070[4] →* java.lang.Object(IntList(o2075[0], i676[0])))∧(i637[4] + -1 →* i637[0]))
(4) -> (3), if ((o2070[4] →* java.lang.Object(IntList(o2070[3], i675[3])))∧(java.lang.Object(IntList(o1946Field0[4], o1946Field1[4])) →* java.lang.Object(IntList(o1946Field0[3], o1946Field1[3])))∧(i637[4] + -1 →* i637[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 |
Integer
(0) -> (1), if (((o2075[0] →* o2075[1])∧(i676[0] →* i676[1]))∧(i637[0] →* i637[1])∧(i637[0] > 1 →* TRUE))
(1) -> (2), if ((i637[1] + -1 →* i650[2])∧(o2075[1] →* o2070[2])∧((o2075[1] →* o1946Field0[2])∧(i676[1] →* o1946Field1[2])))
(2) -> (0), if ((o2070[2] →* java.lang.Object(IntList(o2075[0], i676[0])))∧((o1946Field0[2] →* o2075[0])∧(o1946Field1[2] →* i676[0]))∧(i650[2] →* i637[0]))
(2) -> (3), if (((o1946Field0[2] →* o1946Field0[3])∧(o1946Field1[2] →* o1946Field1[3]))∧(o2070[2] →* java.lang.Object(IntList(o2070[3], i675[3])))∧(i650[2] →* i637[3]))
(3) -> (4), if (((o1946Field0[3] →* o1946Field0[4])∧(o1946Field1[3] →* o1946Field1[4]))∧(i637[3] > 1 →* TRUE)∧((o2070[3] →* o2070[4])∧(i675[3] →* i675[4]))∧(i637[3] →* i637[4]))
(4) -> (0), if (((o1946Field0[4] →* o2075[0])∧(o1946Field1[4] →* i676[0]))∧(o2070[4] →* java.lang.Object(IntList(o2075[0], i676[0])))∧(i637[4] + -1 →* i637[0]))
(4) -> (3), if ((o2070[4] →* java.lang.Object(IntList(o2070[3], i675[3])))∧((o1946Field0[4] →* o1946Field0[3])∧(o1946Field1[4] →* o1946Field1[3]))∧(i637[4] + -1 →* i637[3]))
(1) (o2075[0]=o2075[1]∧i676[0]=i676[1]∧i637[0]=i637[1]∧>(i637[0], 1)=TRUE ⇒ LOAD2110(java.lang.Object(IntList(o2075[0], i676[0])), i637[0], java.lang.Object(IntList(o2075[0], i676[0])))≥NonInfC∧LOAD2110(java.lang.Object(IntList(o2075[0], i676[0])), i637[0], java.lang.Object(IntList(o2075[0], i676[0])))≥COND_LOAD2110(>(i637[0], 1), i637[0], java.lang.Object(IntList(o2075[0], i676[0])))∧(UIncreasing(COND_LOAD2110(>(i637[0], 1), i637[0], java.lang.Object(IntList(o2075[0], i676[0])))), ≥))
(2) (>(i637[0], 1)=TRUE ⇒ LOAD2110(java.lang.Object(IntList(o2075[0], i676[0])), i637[0], java.lang.Object(IntList(o2075[0], i676[0])))≥NonInfC∧LOAD2110(java.lang.Object(IntList(o2075[0], i676[0])), i637[0], java.lang.Object(IntList(o2075[0], i676[0])))≥COND_LOAD2110(>(i637[0], 1), i637[0], java.lang.Object(IntList(o2075[0], i676[0])))∧(UIncreasing(COND_LOAD2110(>(i637[0], 1), i637[0], java.lang.Object(IntList(o2075[0], i676[0])))), ≥))
(3) (i637[0] + [-2] ≥ 0 ⇒ (UIncreasing(COND_LOAD2110(>(i637[0], 1), i637[0], java.lang.Object(IntList(o2075[0], i676[0])))), ≥)∧[bni_14 + (-1)Bound*bni_14] + [(2)bni_14]i637[0] ≥ 0∧[(-1)bso_15] ≥ 0)
(4) (i637[0] + [-2] ≥ 0 ⇒ (UIncreasing(COND_LOAD2110(>(i637[0], 1), i637[0], java.lang.Object(IntList(o2075[0], i676[0])))), ≥)∧[bni_14 + (-1)Bound*bni_14] + [(2)bni_14]i637[0] ≥ 0∧[(-1)bso_15] ≥ 0)
(5) (i637[0] + [-2] ≥ 0 ⇒ (UIncreasing(COND_LOAD2110(>(i637[0], 1), i637[0], java.lang.Object(IntList(o2075[0], i676[0])))), ≥)∧[bni_14 + (-1)Bound*bni_14] + [(2)bni_14]i637[0] ≥ 0∧[(-1)bso_15] ≥ 0)
(6) (i637[0] ≥ 0 ⇒ (UIncreasing(COND_LOAD2110(>(i637[0], 1), i637[0], java.lang.Object(IntList(o2075[0], i676[0])))), ≥)∧[(5)bni_14 + (-1)Bound*bni_14] + [(2)bni_14]i637[0] ≥ 0∧[(-1)bso_15] ≥ 0)
(7) (COND_LOAD2110(TRUE, i637[1], java.lang.Object(IntList(o2075[1], i676[1])))≥NonInfC∧COND_LOAD2110(TRUE, i637[1], java.lang.Object(IntList(o2075[1], i676[1])))≥JMP2394'(java.lang.Object(IntList(o2075[1], i676[1])), +(i637[1], -1), o2075[1])∧(UIncreasing(JMP2394'(java.lang.Object(IntList(o2075[1], i676[1])), +(i637[1], -1), o2075[1])), ≥))
(8) ((UIncreasing(JMP2394'(java.lang.Object(IntList(o2075[1], i676[1])), +(i637[1], -1), o2075[1])), ≥)∧[1 + (-1)bso_17] ≥ 0)
(9) ((UIncreasing(JMP2394'(java.lang.Object(IntList(o2075[1], i676[1])), +(i637[1], -1), o2075[1])), ≥)∧[1 + (-1)bso_17] ≥ 0)
(10) ((UIncreasing(JMP2394'(java.lang.Object(IntList(o2075[1], i676[1])), +(i637[1], -1), o2075[1])), ≥)∧[1 + (-1)bso_17] ≥ 0)
(11) ((UIncreasing(JMP2394'(java.lang.Object(IntList(o2075[1], i676[1])), +(i637[1], -1), o2075[1])), ≥)∧0 = 0∧[1 + (-1)bso_17] ≥ 0)
(12) (o2070[2]=java.lang.Object(IntList(o2075[0], i676[0]))∧o1946Field0[2]=o2075[0]∧o1946Field1[2]=i676[0]∧i650[2]=i637[0] ⇒ JMP2394'(java.lang.Object(IntList(o1946Field0[2], o1946Field1[2])), i650[2], o2070[2])≥NonInfC∧JMP2394'(java.lang.Object(IntList(o1946Field0[2], o1946Field1[2])), i650[2], o2070[2])≥LOAD2110(java.lang.Object(IntList(o1946Field0[2], o1946Field1[2])), i650[2], o2070[2])∧(UIncreasing(LOAD2110(java.lang.Object(IntList(o1946Field0[2], o1946Field1[2])), i650[2], o2070[2])), ≥))
(13) (JMP2394'(java.lang.Object(IntList(o1946Field0[2], o1946Field1[2])), i650[2], java.lang.Object(IntList(o1946Field0[2], o1946Field1[2])))≥NonInfC∧JMP2394'(java.lang.Object(IntList(o1946Field0[2], o1946Field1[2])), i650[2], java.lang.Object(IntList(o1946Field0[2], o1946Field1[2])))≥LOAD2110(java.lang.Object(IntList(o1946Field0[2], o1946Field1[2])), i650[2], java.lang.Object(IntList(o1946Field0[2], o1946Field1[2])))∧(UIncreasing(LOAD2110(java.lang.Object(IntList(o1946Field0[2], o1946Field1[2])), i650[2], o2070[2])), ≥))
(14) ((UIncreasing(LOAD2110(java.lang.Object(IntList(o1946Field0[2], o1946Field1[2])), i650[2], o2070[2])), ≥)∧[1 + (-1)bso_19] ≥ 0)
(15) ((UIncreasing(LOAD2110(java.lang.Object(IntList(o1946Field0[2], o1946Field1[2])), i650[2], o2070[2])), ≥)∧[1 + (-1)bso_19] ≥ 0)
(16) ((UIncreasing(LOAD2110(java.lang.Object(IntList(o1946Field0[2], o1946Field1[2])), i650[2], o2070[2])), ≥)∧[1 + (-1)bso_19] ≥ 0)
(17) ((UIncreasing(LOAD2110(java.lang.Object(IntList(o1946Field0[2], o1946Field1[2])), i650[2], o2070[2])), ≥)∧0 = 0∧[1 + (-1)bso_19] ≥ 0)
(18) (o1946Field0[2]=o1946Field0[3]∧o1946Field1[2]=o1946Field1[3]∧o2070[2]=java.lang.Object(IntList(o2070[3], i675[3]))∧i650[2]=i637[3] ⇒ JMP2394'(java.lang.Object(IntList(o1946Field0[2], o1946Field1[2])), i650[2], o2070[2])≥NonInfC∧JMP2394'(java.lang.Object(IntList(o1946Field0[2], o1946Field1[2])), i650[2], o2070[2])≥LOAD2110(java.lang.Object(IntList(o1946Field0[2], o1946Field1[2])), i650[2], o2070[2])∧(UIncreasing(LOAD2110(java.lang.Object(IntList(o1946Field0[2], o1946Field1[2])), i650[2], o2070[2])), ≥))
(19) (JMP2394'(java.lang.Object(IntList(o1946Field0[2], o1946Field1[2])), i650[2], java.lang.Object(IntList(o2070[3], i675[3])))≥NonInfC∧JMP2394'(java.lang.Object(IntList(o1946Field0[2], o1946Field1[2])), i650[2], java.lang.Object(IntList(o2070[3], i675[3])))≥LOAD2110(java.lang.Object(IntList(o1946Field0[2], o1946Field1[2])), i650[2], java.lang.Object(IntList(o2070[3], i675[3])))∧(UIncreasing(LOAD2110(java.lang.Object(IntList(o1946Field0[2], o1946Field1[2])), i650[2], o2070[2])), ≥))
(20) ((UIncreasing(LOAD2110(java.lang.Object(IntList(o1946Field0[2], o1946Field1[2])), i650[2], o2070[2])), ≥)∧[1 + (-1)bso_19] ≥ 0)
(21) ((UIncreasing(LOAD2110(java.lang.Object(IntList(o1946Field0[2], o1946Field1[2])), i650[2], o2070[2])), ≥)∧[1 + (-1)bso_19] ≥ 0)
(22) ((UIncreasing(LOAD2110(java.lang.Object(IntList(o1946Field0[2], o1946Field1[2])), i650[2], o2070[2])), ≥)∧[1 + (-1)bso_19] ≥ 0)
(23) ((UIncreasing(LOAD2110(java.lang.Object(IntList(o1946Field0[2], o1946Field1[2])), i650[2], o2070[2])), ≥)∧0 = 0∧[1 + (-1)bso_19] ≥ 0)
(24) (o1946Field0[3]=o1946Field0[4]∧o1946Field1[3]=o1946Field1[4]∧>(i637[3], 1)=TRUE∧o2070[3]=o2070[4]∧i675[3]=i675[4]∧i637[3]=i637[4] ⇒ LOAD2110(java.lang.Object(IntList(o1946Field0[3], o1946Field1[3])), i637[3], java.lang.Object(IntList(o2070[3], i675[3])))≥NonInfC∧LOAD2110(java.lang.Object(IntList(o1946Field0[3], o1946Field1[3])), i637[3], java.lang.Object(IntList(o2070[3], i675[3])))≥COND_LOAD21101(>(i637[3], 1), java.lang.Object(IntList(o1946Field0[3], o1946Field1[3])), i637[3], java.lang.Object(IntList(o2070[3], i675[3])))∧(UIncreasing(COND_LOAD21101(>(i637[3], 1), java.lang.Object(IntList(o1946Field0[3], o1946Field1[3])), i637[3], java.lang.Object(IntList(o2070[3], i675[3])))), ≥))
(25) (>(i637[3], 1)=TRUE ⇒ LOAD2110(java.lang.Object(IntList(o1946Field0[3], o1946Field1[3])), i637[3], java.lang.Object(IntList(o2070[3], i675[3])))≥NonInfC∧LOAD2110(java.lang.Object(IntList(o1946Field0[3], o1946Field1[3])), i637[3], java.lang.Object(IntList(o2070[3], i675[3])))≥COND_LOAD21101(>(i637[3], 1), java.lang.Object(IntList(o1946Field0[3], o1946Field1[3])), i637[3], java.lang.Object(IntList(o2070[3], i675[3])))∧(UIncreasing(COND_LOAD21101(>(i637[3], 1), java.lang.Object(IntList(o1946Field0[3], o1946Field1[3])), i637[3], java.lang.Object(IntList(o2070[3], i675[3])))), ≥))
(26) (i637[3] + [-2] ≥ 0 ⇒ (UIncreasing(COND_LOAD21101(>(i637[3], 1), java.lang.Object(IntList(o1946Field0[3], o1946Field1[3])), i637[3], java.lang.Object(IntList(o2070[3], i675[3])))), ≥)∧[bni_20 + (-1)Bound*bni_20] + [(2)bni_20]i637[3] ≥ 0∧[1 + (-1)bso_21] ≥ 0)
(27) (i637[3] + [-2] ≥ 0 ⇒ (UIncreasing(COND_LOAD21101(>(i637[3], 1), java.lang.Object(IntList(o1946Field0[3], o1946Field1[3])), i637[3], java.lang.Object(IntList(o2070[3], i675[3])))), ≥)∧[bni_20 + (-1)Bound*bni_20] + [(2)bni_20]i637[3] ≥ 0∧[1 + (-1)bso_21] ≥ 0)
(28) (i637[3] + [-2] ≥ 0 ⇒ (UIncreasing(COND_LOAD21101(>(i637[3], 1), java.lang.Object(IntList(o1946Field0[3], o1946Field1[3])), i637[3], java.lang.Object(IntList(o2070[3], i675[3])))), ≥)∧[bni_20 + (-1)Bound*bni_20] + [(2)bni_20]i637[3] ≥ 0∧[1 + (-1)bso_21] ≥ 0)
(29) (i637[3] ≥ 0 ⇒ (UIncreasing(COND_LOAD21101(>(i637[3], 1), java.lang.Object(IntList(o1946Field0[3], o1946Field1[3])), i637[3], java.lang.Object(IntList(o2070[3], i675[3])))), ≥)∧[(5)bni_20 + (-1)Bound*bni_20] + [(2)bni_20]i637[3] ≥ 0∧[1 + (-1)bso_21] ≥ 0)
(30) (COND_LOAD21101(TRUE, java.lang.Object(IntList(o1946Field0[4], o1946Field1[4])), i637[4], java.lang.Object(IntList(o2070[4], i675[4])))≥NonInfC∧COND_LOAD21101(TRUE, java.lang.Object(IntList(o1946Field0[4], o1946Field1[4])), i637[4], java.lang.Object(IntList(o2070[4], i675[4])))≥LOAD2110(java.lang.Object(IntList(o1946Field0[4], o1946Field1[4])), +(i637[4], -1), o2070[4])∧(UIncreasing(LOAD2110(java.lang.Object(IntList(o1946Field0[4], o1946Field1[4])), +(i637[4], -1), o2070[4])), ≥))
(31) ((UIncreasing(LOAD2110(java.lang.Object(IntList(o1946Field0[4], o1946Field1[4])), +(i637[4], -1), o2070[4])), ≥)∧[1 + (-1)bso_23] ≥ 0)
(32) ((UIncreasing(LOAD2110(java.lang.Object(IntList(o1946Field0[4], o1946Field1[4])), +(i637[4], -1), o2070[4])), ≥)∧[1 + (-1)bso_23] ≥ 0)
(33) ((UIncreasing(LOAD2110(java.lang.Object(IntList(o1946Field0[4], o1946Field1[4])), +(i637[4], -1), o2070[4])), ≥)∧[1 + (-1)bso_23] ≥ 0)
(34) ((UIncreasing(LOAD2110(java.lang.Object(IntList(o1946Field0[4], o1946Field1[4])), +(i637[4], -1), o2070[4])), ≥)∧0 = 0∧[1 + (-1)bso_23] ≥ 0)
POL(TRUE) = 0
POL(FALSE) = 0
POL(LOAD2110(x1, x2, x3)) = [1] + [2]x2
POL(java.lang.Object(x1)) = [-1]
POL(IntList(x1, x2)) = [-1]
POL(COND_LOAD2110(x1, x2, x3)) = [1] + [2]x2
POL(>(x1, x2)) = [-1]
POL(1) = [1]
POL(JMP2394'(x1, x2, x3)) = [2] + [2]x2
POL(+(x1, x2)) = x1 + x2
POL(-1) = [-1]
POL(COND_LOAD21101(x1, x2, x3, x4)) = [2]x3
COND_LOAD2110(TRUE, i637[1], java.lang.Object(IntList(o2075[1], i676[1]))) → JMP2394'(java.lang.Object(IntList(o2075[1], i676[1])), +(i637[1], -1), o2075[1])
JMP2394'(java.lang.Object(IntList(o1946Field0[2], o1946Field1[2])), i650[2], o2070[2]) → LOAD2110(java.lang.Object(IntList(o1946Field0[2], o1946Field1[2])), i650[2], o2070[2])
LOAD2110(java.lang.Object(IntList(o1946Field0[3], o1946Field1[3])), i637[3], java.lang.Object(IntList(o2070[3], i675[3]))) → COND_LOAD21101(>(i637[3], 1), java.lang.Object(IntList(o1946Field0[3], o1946Field1[3])), i637[3], java.lang.Object(IntList(o2070[3], i675[3])))
COND_LOAD21101(TRUE, java.lang.Object(IntList(o1946Field0[4], o1946Field1[4])), i637[4], java.lang.Object(IntList(o2070[4], i675[4]))) → LOAD2110(java.lang.Object(IntList(o1946Field0[4], o1946Field1[4])), +(i637[4], -1), o2070[4])
LOAD2110(java.lang.Object(IntList(o2075[0], i676[0])), i637[0], java.lang.Object(IntList(o2075[0], i676[0]))) → COND_LOAD2110(>(i637[0], 1), i637[0], java.lang.Object(IntList(o2075[0], i676[0])))
LOAD2110(java.lang.Object(IntList(o1946Field0[3], o1946Field1[3])), i637[3], java.lang.Object(IntList(o2070[3], i675[3]))) → COND_LOAD21101(>(i637[3], 1), java.lang.Object(IntList(o1946Field0[3], o1946Field1[3])), i637[3], java.lang.Object(IntList(o2070[3], i675[3])))
LOAD2110(java.lang.Object(IntList(o2075[0], i676[0])), i637[0], java.lang.Object(IntList(o2075[0], i676[0]))) → COND_LOAD2110(>(i637[0], 1), i637[0], java.lang.Object(IntList(o2075[0], i676[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
!= | ~ | 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) -> (2), if ((i637[1] + -1 →* i650[2])∧(o2075[1] →* o2070[2])∧((o2075[1] →* o1946Field0[2])∧(i676[1] →* o1946Field1[2])))
!= | ~ | 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 |
Boolean, Integer
(0) -> (1), if ((java.lang.Object(ARRAY(i3[0], a1405data[0])) →* java.lang.Object(ARRAY(i3[1], a1405data[1])))∧(i116[0] →* i116[1])∧(java.lang.Object(java.lang.String(i212[0], i211[0], i213[0], a1774[0])) →* java.lang.Object(java.lang.String(i212[1], i211[1], i213[1], a1774[1])))∧(i121[0] →* i121[1]))
(1) -> (2), if ((i121[1] →* i121[2])∧(java.lang.Object(java.lang.String(i212[1], i211[1], i213[1], a1774[1])) →* java.lang.Object(java.lang.String(i212[2], i211[2], i213[2], a1774[2])))∧(java.lang.Object(ARRAY(i3[1], a1405data[1])) →* java.lang.Object(ARRAY(i3[2], a1405data[2])))∧(i116[1] →* i116[2])∧(i116[1] > 0 && i116[1] < i3[1] && i121[1] > 0 && i116[1] + 1 > 0 →* TRUE))
(2) -> (0), if ((i116[2] + 1 →* i116[0])∧(i121[2] + -1 →* i121[0])∧(java.lang.Object(ARRAY(i3[2], a1405data[2])) →* java.lang.Object(ARRAY(i3[0], a1405data[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 |
Boolean, Integer
(0) -> (1), if ((java.lang.Object(ARRAY(i3[0], a1405data[0])) →* java.lang.Object(ARRAY(i3[1], a1405data[1])))∧(i116[0] →* i116[1])∧(java.lang.Object(java.lang.String(i212[0], i211[0], i213[0], a1774[0])) →* java.lang.Object(java.lang.String(i212[1], i211[1], i213[1], a1774[1])))∧(i121[0] →* i121[1]))
(1) -> (2), if ((i121[1] →* i121[2])∧(java.lang.Object(java.lang.String(i212[1], i211[1], i213[1], a1774[1])) →* java.lang.Object(java.lang.String(i212[2], i211[2], i213[2], a1774[2])))∧(java.lang.Object(ARRAY(i3[1], a1405data[1])) →* java.lang.Object(ARRAY(i3[2], a1405data[2])))∧(i116[1] →* i116[2])∧(i116[1] > 0 && i116[1] < i3[1] && i121[1] > 0 && i116[1] + 1 > 0 →* TRUE))
(2) -> (0), if ((i116[2] + 1 →* i116[0])∧(i121[2] + -1 →* i121[0])∧(java.lang.Object(ARRAY(i3[2], a1405data[2])) →* java.lang.Object(ARRAY(i3[0], a1405data[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 |
Boolean, Integer
(0) -> (1), if (((i3[0] →* i3[1])∧(a1405data[0] →* a1405data[1]))∧(i116[0] →* i116[1])∧((i212[0] →* i212[1])∧(i211[0] →* i211[1])∧(i213[0] →* i213[1])∧(a1774[0] →* a1774[1]))∧(i121[0] →* i121[1]))
(1) -> (2), if ((i121[1] →* i121[2])∧((i212[1] →* i212[2])∧(i211[1] →* i211[2])∧(i213[1] →* i213[2])∧(a1774[1] →* a1774[2]))∧((i3[1] →* i3[2])∧(a1405data[1] →* a1405data[2]))∧(i116[1] →* i116[2])∧(i116[1] > 0 && i116[1] < i3[1] && i121[1] > 0 && i116[1] + 1 > 0 →* TRUE))
(2) -> (0), if ((i116[2] + 1 →* i116[0])∧(i121[2] + -1 →* i121[0])∧((i3[2] →* i3[0])∧(a1405data[2] →* a1405data[0])))
(1) (LOAD1206(java.lang.Object(ARRAY(i3[0], a1405data[0])), i116[0], i121[0])≥NonInfC∧LOAD1206(java.lang.Object(ARRAY(i3[0], a1405data[0])), i116[0], i121[0])≥LOAD1206ARR1(java.lang.Object(ARRAY(i3[0], a1405data[0])), i116[0], i121[0], java.lang.Object(java.lang.String(i212[0], i211[0], i213[0], a1774[0])))∧(UIncreasing(LOAD1206ARR1(java.lang.Object(ARRAY(i3[0], a1405data[0])), i116[0], i121[0], java.lang.Object(java.lang.String(i212[0], i211[0], i213[0], a1774[0])))), ≥))
(2) ((UIncreasing(LOAD1206ARR1(java.lang.Object(ARRAY(i3[0], a1405data[0])), i116[0], i121[0], java.lang.Object(java.lang.String(i212[0], i211[0], i213[0], a1774[0])))), ≥)∧[(-1)bso_17] ≥ 0)
(3) ((UIncreasing(LOAD1206ARR1(java.lang.Object(ARRAY(i3[0], a1405data[0])), i116[0], i121[0], java.lang.Object(java.lang.String(i212[0], i211[0], i213[0], a1774[0])))), ≥)∧[(-1)bso_17] ≥ 0)
(4) ((UIncreasing(LOAD1206ARR1(java.lang.Object(ARRAY(i3[0], a1405data[0])), i116[0], i121[0], java.lang.Object(java.lang.String(i212[0], i211[0], i213[0], a1774[0])))), ≥)∧[(-1)bso_17] ≥ 0)
(5) ((UIncreasing(LOAD1206ARR1(java.lang.Object(ARRAY(i3[0], a1405data[0])), i116[0], i121[0], java.lang.Object(java.lang.String(i212[0], i211[0], i213[0], a1774[0])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_17] ≥ 0)
(6) (i121[1]=i121[2]∧i212[1]=i212[2]∧i211[1]=i211[2]∧i213[1]=i213[2]∧a1774[1]=a1774[2]∧i3[1]=i3[2]∧a1405data[1]=a1405data[2]∧i116[1]=i116[2]∧&&(&&(&&(>(i116[1], 0), <(i116[1], i3[1])), >(i121[1], 0)), >(+(i116[1], 1), 0))=TRUE ⇒ LOAD1206ARR1(java.lang.Object(ARRAY(i3[1], a1405data[1])), i116[1], i121[1], java.lang.Object(java.lang.String(i212[1], i211[1], i213[1], a1774[1])))≥NonInfC∧LOAD1206ARR1(java.lang.Object(ARRAY(i3[1], a1405data[1])), i116[1], i121[1], java.lang.Object(java.lang.String(i212[1], i211[1], i213[1], a1774[1])))≥COND_LOAD1206ARR1(&&(&&(&&(>(i116[1], 0), <(i116[1], i3[1])), >(i121[1], 0)), >(+(i116[1], 1), 0)), java.lang.Object(ARRAY(i3[1], a1405data[1])), i116[1], i121[1], java.lang.Object(java.lang.String(i212[1], i211[1], i213[1], a1774[1])))∧(UIncreasing(COND_LOAD1206ARR1(&&(&&(&&(>(i116[1], 0), <(i116[1], i3[1])), >(i121[1], 0)), >(+(i116[1], 1), 0)), java.lang.Object(ARRAY(i3[1], a1405data[1])), i116[1], i121[1], java.lang.Object(java.lang.String(i212[1], i211[1], i213[1], a1774[1])))), ≥))
(7) (>(+(i116[1], 1), 0)=TRUE∧>(i121[1], 0)=TRUE∧>(i116[1], 0)=TRUE∧<(i116[1], i3[1])=TRUE ⇒ LOAD1206ARR1(java.lang.Object(ARRAY(i3[1], a1405data[1])), i116[1], i121[1], java.lang.Object(java.lang.String(i212[1], i211[1], i213[1], a1774[1])))≥NonInfC∧LOAD1206ARR1(java.lang.Object(ARRAY(i3[1], a1405data[1])), i116[1], i121[1], java.lang.Object(java.lang.String(i212[1], i211[1], i213[1], a1774[1])))≥COND_LOAD1206ARR1(&&(&&(&&(>(i116[1], 0), <(i116[1], i3[1])), >(i121[1], 0)), >(+(i116[1], 1), 0)), java.lang.Object(ARRAY(i3[1], a1405data[1])), i116[1], i121[1], java.lang.Object(java.lang.String(i212[1], i211[1], i213[1], a1774[1])))∧(UIncreasing(COND_LOAD1206ARR1(&&(&&(&&(>(i116[1], 0), <(i116[1], i3[1])), >(i121[1], 0)), >(+(i116[1], 1), 0)), java.lang.Object(ARRAY(i3[1], a1405data[1])), i116[1], i121[1], java.lang.Object(java.lang.String(i212[1], i211[1], i213[1], a1774[1])))), ≥))
(8) (i116[1] ≥ 0∧i121[1] + [-1] ≥ 0∧i116[1] + [-1] ≥ 0∧i3[1] + [-1] + [-1]i116[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD1206ARR1(&&(&&(&&(>(i116[1], 0), <(i116[1], i3[1])), >(i121[1], 0)), >(+(i116[1], 1), 0)), java.lang.Object(ARRAY(i3[1], a1405data[1])), i116[1], i121[1], java.lang.Object(java.lang.String(i212[1], i211[1], i213[1], a1774[1])))), ≥)∧[(2)bni_18 + (-1)Bound*bni_18] + [bni_18]i121[1] + [(-1)bni_18]i116[1] + [bni_18]i3[1] ≥ 0∧[(-1)bso_19] ≥ 0)
(9) (i116[1] ≥ 0∧i121[1] + [-1] ≥ 0∧i116[1] + [-1] ≥ 0∧i3[1] + [-1] + [-1]i116[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD1206ARR1(&&(&&(&&(>(i116[1], 0), <(i116[1], i3[1])), >(i121[1], 0)), >(+(i116[1], 1), 0)), java.lang.Object(ARRAY(i3[1], a1405data[1])), i116[1], i121[1], java.lang.Object(java.lang.String(i212[1], i211[1], i213[1], a1774[1])))), ≥)∧[(2)bni_18 + (-1)Bound*bni_18] + [bni_18]i121[1] + [(-1)bni_18]i116[1] + [bni_18]i3[1] ≥ 0∧[(-1)bso_19] ≥ 0)
(10) (i116[1] ≥ 0∧i121[1] + [-1] ≥ 0∧i116[1] + [-1] ≥ 0∧i3[1] + [-1] + [-1]i116[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD1206ARR1(&&(&&(&&(>(i116[1], 0), <(i116[1], i3[1])), >(i121[1], 0)), >(+(i116[1], 1), 0)), java.lang.Object(ARRAY(i3[1], a1405data[1])), i116[1], i121[1], java.lang.Object(java.lang.String(i212[1], i211[1], i213[1], a1774[1])))), ≥)∧[(2)bni_18 + (-1)Bound*bni_18] + [bni_18]i121[1] + [(-1)bni_18]i116[1] + [bni_18]i3[1] ≥ 0∧[(-1)bso_19] ≥ 0)
(11) (i116[1] ≥ 0∧i121[1] + [-1] ≥ 0∧i116[1] + [-1] ≥ 0∧i3[1] + [-1] + [-1]i116[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD1206ARR1(&&(&&(&&(>(i116[1], 0), <(i116[1], i3[1])), >(i121[1], 0)), >(+(i116[1], 1), 0)), java.lang.Object(ARRAY(i3[1], a1405data[1])), i116[1], i121[1], java.lang.Object(java.lang.String(i212[1], i211[1], i213[1], a1774[1])))), ≥)∧0 = 0∧[(2)bni_18 + (-1)Bound*bni_18] + [bni_18]i121[1] + [(-1)bni_18]i116[1] + [bni_18]i3[1] ≥ 0∧0 = 0∧[(-1)bso_19] ≥ 0)
(12) ([1] + i116[1] ≥ 0∧i121[1] + [-1] ≥ 0∧i116[1] ≥ 0∧i3[1] + [-2] + [-1]i116[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD1206ARR1(&&(&&(&&(>(i116[1], 0), <(i116[1], i3[1])), >(i121[1], 0)), >(+(i116[1], 1), 0)), java.lang.Object(ARRAY(i3[1], a1405data[1])), i116[1], i121[1], java.lang.Object(java.lang.String(i212[1], i211[1], i213[1], a1774[1])))), ≥)∧0 = 0∧[bni_18 + (-1)Bound*bni_18] + [bni_18]i121[1] + [(-1)bni_18]i116[1] + [bni_18]i3[1] ≥ 0∧0 = 0∧[(-1)bso_19] ≥ 0)
(13) ([1] + i116[1] ≥ 0∧i121[1] ≥ 0∧i116[1] ≥ 0∧i3[1] + [-2] + [-1]i116[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD1206ARR1(&&(&&(&&(>(i116[1], 0), <(i116[1], i3[1])), >(i121[1], 0)), >(+(i116[1], 1), 0)), java.lang.Object(ARRAY(i3[1], a1405data[1])), i116[1], i121[1], java.lang.Object(java.lang.String(i212[1], i211[1], i213[1], a1774[1])))), ≥)∧0 = 0∧[(2)bni_18 + (-1)Bound*bni_18] + [bni_18]i121[1] + [(-1)bni_18]i116[1] + [bni_18]i3[1] ≥ 0∧0 = 0∧[(-1)bso_19] ≥ 0)
(14) ([1] + i116[1] ≥ 0∧i121[1] ≥ 0∧i116[1] ≥ 0∧i3[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD1206ARR1(&&(&&(&&(>(i116[1], 0), <(i116[1], i3[1])), >(i121[1], 0)), >(+(i116[1], 1), 0)), java.lang.Object(ARRAY(i3[1], a1405data[1])), i116[1], i121[1], java.lang.Object(java.lang.String(i212[1], i211[1], i213[1], a1774[1])))), ≥)∧0 = 0∧[(4)bni_18 + (-1)Bound*bni_18] + [bni_18]i121[1] + [bni_18]i3[1] ≥ 0∧0 = 0∧[(-1)bso_19] ≥ 0)
(15) (COND_LOAD1206ARR1(TRUE, java.lang.Object(ARRAY(i3[2], a1405data[2])), i116[2], i121[2], java.lang.Object(java.lang.String(i212[2], i211[2], i213[2], a1774[2])))≥NonInfC∧COND_LOAD1206ARR1(TRUE, java.lang.Object(ARRAY(i3[2], a1405data[2])), i116[2], i121[2], java.lang.Object(java.lang.String(i212[2], i211[2], i213[2], a1774[2])))≥LOAD1206(java.lang.Object(ARRAY(i3[2], a1405data[2])), +(i116[2], 1), +(i121[2], -1))∧(UIncreasing(LOAD1206(java.lang.Object(ARRAY(i3[2], a1405data[2])), +(i116[2], 1), +(i121[2], -1))), ≥))
(16) ((UIncreasing(LOAD1206(java.lang.Object(ARRAY(i3[2], a1405data[2])), +(i116[2], 1), +(i121[2], -1))), ≥)∧[2 + (-1)bso_21] ≥ 0)
(17) ((UIncreasing(LOAD1206(java.lang.Object(ARRAY(i3[2], a1405data[2])), +(i116[2], 1), +(i121[2], -1))), ≥)∧[2 + (-1)bso_21] ≥ 0)
(18) ((UIncreasing(LOAD1206(java.lang.Object(ARRAY(i3[2], a1405data[2])), +(i116[2], 1), +(i121[2], -1))), ≥)∧[2 + (-1)bso_21] ≥ 0)
(19) ((UIncreasing(LOAD1206(java.lang.Object(ARRAY(i3[2], a1405data[2])), +(i116[2], 1), +(i121[2], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[2 + (-1)bso_21] ≥ 0)
POL(TRUE) = 0
POL(FALSE) = 0
POL(LOAD1206(x1, x2, x3)) = [1] + x3 + [-1]x2 + [-1]x1
POL(java.lang.Object(x1)) = x1
POL(ARRAY(x1, x2)) = [-1] + [-1]x1
POL(LOAD1206ARR1(x1, x2, x3, x4)) = [1] + x3 + [-1]x2 + [-1]x1
POL(java.lang.String(x1, x2, x3, x4)) = [-1]
POL(COND_LOAD1206ARR1(x1, x2, x3, x4, x5)) = [1] + x4 + [-1]x3 + [-1]x2
POL(&&(x1, x2)) = [-1]
POL(>(x1, x2)) = [-1]
POL(0) = 0
POL(<(x1, x2)) = [-1]
POL(+(x1, x2)) = x1 + x2
POL(1) = [1]
POL(-1) = [-1]
COND_LOAD1206ARR1(TRUE, java.lang.Object(ARRAY(i3[2], a1405data[2])), i116[2], i121[2], java.lang.Object(java.lang.String(i212[2], i211[2], i213[2], a1774[2]))) → LOAD1206(java.lang.Object(ARRAY(i3[2], a1405data[2])), +(i116[2], 1), +(i121[2], -1))
LOAD1206ARR1(java.lang.Object(ARRAY(i3[1], a1405data[1])), i116[1], i121[1], java.lang.Object(java.lang.String(i212[1], i211[1], i213[1], a1774[1]))) → COND_LOAD1206ARR1(&&(&&(&&(>(i116[1], 0), <(i116[1], i3[1])), >(i121[1], 0)), >(+(i116[1], 1), 0)), java.lang.Object(ARRAY(i3[1], a1405data[1])), i116[1], i121[1], java.lang.Object(java.lang.String(i212[1], i211[1], i213[1], a1774[1])))
LOAD1206(java.lang.Object(ARRAY(i3[0], a1405data[0])), i116[0], i121[0]) → LOAD1206ARR1(java.lang.Object(ARRAY(i3[0], a1405data[0])), i116[0], i121[0], java.lang.Object(java.lang.String(i212[0], i211[0], i213[0], a1774[0])))
LOAD1206ARR1(java.lang.Object(ARRAY(i3[1], a1405data[1])), i116[1], i121[1], java.lang.Object(java.lang.String(i212[1], i211[1], i213[1], a1774[1]))) → COND_LOAD1206ARR1(&&(&&(&&(>(i116[1], 0), <(i116[1], i3[1])), >(i121[1], 0)), >(+(i116[1], 1), 0)), java.lang.Object(ARRAY(i3[1], a1405data[1])), i116[1], i121[1], java.lang.Object(java.lang.String(i212[1], i211[1], i213[1], a1774[1])))
!= | ~ | 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 (((i3[0] →* i3[1])∧(a1405data[0] →* a1405data[1]))∧(i116[0] →* i116[1])∧((i212[0] →* i212[1])∧(i211[0] →* i211[1])∧(i213[0] →* i213[1])∧(a1774[0] →* a1774[1]))∧(i121[0] →* i121[1]))
!= | ~ | 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
(2) -> (0), if ((i116[2] + 1 →* i116[0])∧(i121[2] + -1 →* i121[0])∧((i3[2] →* i3[0])∧(a1405data[2] →* a1405data[0])))