0 JBC
↳1 JBC2FIG (⇐)
↳2 FIGraph
↳3 FIGtoITRSProof (⇐)
↳4 ITRS
↳5 ITRStoIDPProof (⇔)
↳6 IDP
↳7 UsableRulesProof (⇔)
↳8 IDP
↳9 ItpfGraphProof (⇔)
↳10 IDP
↳11 IDPNonInfProof (⇐)
↳12 AND
↳13 IDP
↳14 IDependencyGraphProof (⇔)
↳15 IDP
↳16 IDPNonInfProof (⇐)
↳17 AND
↳18 IDP
↳19 IDependencyGraphProof (⇔)
↳20 TRUE
↳21 IDP
↳22 IDependencyGraphProof (⇔)
↳23 TRUE
↳24 IDP
↳25 IDependencyGraphProof (⇔)
↳26 IDP
↳27 IDPNonInfProof (⇐)
↳28 AND
↳29 IDP
↳30 IDependencyGraphProof (⇔)
↳31 TRUE
↳32 IDP
↳33 IDependencyGraphProof (⇔)
↳34 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 |
Boolean, Integer
(0) -> (1), if ((java.lang.Object(java.lang.String(i260[0], i259[0], i261[0], a1147[0])) →* java.lang.Object(java.lang.String(i260[1], i259[1], i261[1], a1147[1])))∧(i140[0] →* i140[1])∧(java.lang.Object(ARRAY(i2[0], a862data[0])) →* java.lang.Object(ARRAY(i2[1], a862data[1])))∧(i161[0] →* i161[1])∧(i165[0] →* i165[1]))
(1) -> (2), if ((java.lang.Object(ARRAY(i2[1], a862data[1])) →* java.lang.Object(ARRAY(i2[2], a862data[2])))∧(i161[1] →* i161[2])∧(java.lang.Object(java.lang.String(i260[1], i259[1], i261[1], a1147[1])) →* java.lang.Object(java.lang.String(i260[2], i259[2], i261[2], a1147[2])))∧(i165[1] →* i165[2])∧(i140[1] →* i140[2])∧(i140[1] > 0 && i140[1] < i2[1] && i165[1] >= 0 && i140[1] + 1 > 0 →* TRUE))
(2) -> (0), if ((i140[2] + 1 →* i140[0])∧(i165[2] + -1 →* i165[0])∧(i260[2] →* i161[0])∧(java.lang.Object(ARRAY(i2[2], a862data[2])) →* java.lang.Object(ARRAY(i2[0], a862data[0]))))
(2) -> (3), if ((java.lang.Object(ARRAY(i2[2], a862data[2])) →* java.lang.Object(ARRAY(i2[3], a862data[3])))∧(i140[2] + 1 →* i140[3])∧(i165[2] + -1 →* i166[3])∧(i260[2] →* i171[3]))
(3) -> (4), if ((i166[3] →* i166[4])∧(java.lang.Object(ARRAY(i2[3], a862data[3])) →* java.lang.Object(ARRAY(i2[4], a862data[4])))∧(i171[3] →* i171[4])∧(i171[3] >= 0 && i166[3] < 0 →* TRUE)∧(i140[3] →* i140[4]))
(4) -> (0), if ((i166[4] →* i165[0])∧(i140[4] →* i140[0])∧(java.lang.Object(ARRAY(i2[4], a862data[4])) →* java.lang.Object(ARRAY(i2[0], a862data[0])))∧(i171[4] + -1 →* i161[0]))
(4) -> (3), if ((i166[4] →* i166[3])∧(i171[4] + -1 →* i171[3])∧(i140[4] →* i140[3])∧(java.lang.Object(ARRAY(i2[4], a862data[4])) →* java.lang.Object(ARRAY(i2[3], a862data[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
(0) -> (1), if ((java.lang.Object(java.lang.String(i260[0], i259[0], i261[0], a1147[0])) →* java.lang.Object(java.lang.String(i260[1], i259[1], i261[1], a1147[1])))∧(i140[0] →* i140[1])∧(java.lang.Object(ARRAY(i2[0], a862data[0])) →* java.lang.Object(ARRAY(i2[1], a862data[1])))∧(i161[0] →* i161[1])∧(i165[0] →* i165[1]))
(1) -> (2), if ((java.lang.Object(ARRAY(i2[1], a862data[1])) →* java.lang.Object(ARRAY(i2[2], a862data[2])))∧(i161[1] →* i161[2])∧(java.lang.Object(java.lang.String(i260[1], i259[1], i261[1], a1147[1])) →* java.lang.Object(java.lang.String(i260[2], i259[2], i261[2], a1147[2])))∧(i165[1] →* i165[2])∧(i140[1] →* i140[2])∧(i140[1] > 0 && i140[1] < i2[1] && i165[1] >= 0 && i140[1] + 1 > 0 →* TRUE))
(2) -> (0), if ((i140[2] + 1 →* i140[0])∧(i165[2] + -1 →* i165[0])∧(i260[2] →* i161[0])∧(java.lang.Object(ARRAY(i2[2], a862data[2])) →* java.lang.Object(ARRAY(i2[0], a862data[0]))))
(2) -> (3), if ((java.lang.Object(ARRAY(i2[2], a862data[2])) →* java.lang.Object(ARRAY(i2[3], a862data[3])))∧(i140[2] + 1 →* i140[3])∧(i165[2] + -1 →* i166[3])∧(i260[2] →* i171[3]))
(3) -> (4), if ((i166[3] →* i166[4])∧(java.lang.Object(ARRAY(i2[3], a862data[3])) →* java.lang.Object(ARRAY(i2[4], a862data[4])))∧(i171[3] →* i171[4])∧(i171[3] >= 0 && i166[3] < 0 →* TRUE)∧(i140[3] →* i140[4]))
(4) -> (0), if ((i166[4] →* i165[0])∧(i140[4] →* i140[0])∧(java.lang.Object(ARRAY(i2[4], a862data[4])) →* java.lang.Object(ARRAY(i2[0], a862data[0])))∧(i171[4] + -1 →* i161[0]))
(4) -> (3), if ((i166[4] →* i166[3])∧(i171[4] + -1 →* i171[3])∧(i140[4] →* i140[3])∧(java.lang.Object(ARRAY(i2[4], a862data[4])) →* java.lang.Object(ARRAY(i2[3], a862data[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
(0) -> (1), if (((i260[0] →* i260[1])∧(i259[0] →* i259[1])∧(i261[0] →* i261[1])∧(a1147[0] →* a1147[1]))∧(i140[0] →* i140[1])∧((i2[0] →* i2[1])∧(a862data[0] →* a862data[1]))∧(i161[0] →* i161[1])∧(i165[0] →* i165[1]))
(1) -> (2), if (((i2[1] →* i2[2])∧(a862data[1] →* a862data[2]))∧(i161[1] →* i161[2])∧((i260[1] →* i260[2])∧(i259[1] →* i259[2])∧(i261[1] →* i261[2])∧(a1147[1] →* a1147[2]))∧(i165[1] →* i165[2])∧(i140[1] →* i140[2])∧(i140[1] > 0 && i140[1] < i2[1] && i165[1] >= 0 && i140[1] + 1 > 0 →* TRUE))
(2) -> (0), if ((i140[2] + 1 →* i140[0])∧(i165[2] + -1 →* i165[0])∧(i260[2] →* i161[0])∧((i2[2] →* i2[0])∧(a862data[2] →* a862data[0])))
(2) -> (3), if (((i2[2] →* i2[3])∧(a862data[2] →* a862data[3]))∧(i140[2] + 1 →* i140[3])∧(i165[2] + -1 →* i166[3])∧(i260[2] →* i171[3]))
(3) -> (4), if ((i166[3] →* i166[4])∧((i2[3] →* i2[4])∧(a862data[3] →* a862data[4]))∧(i171[3] →* i171[4])∧(i171[3] >= 0 && i166[3] < 0 →* TRUE)∧(i140[3] →* i140[4]))
(4) -> (0), if ((i166[4] →* i165[0])∧(i140[4] →* i140[0])∧((i2[4] →* i2[0])∧(a862data[4] →* a862data[0]))∧(i171[4] + -1 →* i161[0]))
(4) -> (3), if ((i166[4] →* i166[3])∧(i171[4] + -1 →* i171[3])∧(i140[4] →* i140[3])∧((i2[4] →* i2[3])∧(a862data[4] →* a862data[3])))
(1) (i2[1]=i2[2]∧a862data[1]=a862data[2]∧i161[1]=i161[2]∧i260[1]=i260[2]∧i259[1]=i259[2]∧i261[1]=i261[2]∧a1147[1]=a1147[2]∧i165[1]=i165[2]∧i140[1]=i140[2]∧&&(&&(&&(>(i140[1], 0), <(i140[1], i2[1])), >=(i165[1], 0)), >(+(i140[1], 1), 0))=TRUE∧+(i140[2], 1)=i140[0]∧+(i165[2], -1)=i165[0]∧i260[2]=i161[0]∧i2[2]=i2[0]∧a862data[2]=a862data[0] ⇒ LOAD974(java.lang.Object(ARRAY(i2[0], a862data[0])), i140[0], i165[0], i161[0])≥NonInfC∧LOAD974(java.lang.Object(ARRAY(i2[0], a862data[0])), i140[0], i165[0], i161[0])≥LOAD974ARR1(java.lang.Object(ARRAY(i2[0], a862data[0])), i140[0], i165[0], i161[0], java.lang.Object(java.lang.String(i260[0], i259[0], i261[0], a1147[0])))∧(UIncreasing(LOAD974ARR1(java.lang.Object(ARRAY(i2[0], a862data[0])), i140[0], i165[0], i161[0], java.lang.Object(java.lang.String(i260[0], i259[0], i261[0], a1147[0])))), ≥))
(2) (>(+(i140[1], 1), 0)=TRUE∧>=(i165[1], 0)=TRUE∧>(i140[1], 0)=TRUE∧<(i140[1], i2[1])=TRUE ⇒ LOAD974(java.lang.Object(ARRAY(i2[1], a862data[1])), +(i140[1], 1), +(i165[1], -1), i260[1])≥NonInfC∧LOAD974(java.lang.Object(ARRAY(i2[1], a862data[1])), +(i140[1], 1), +(i165[1], -1), i260[1])≥LOAD974ARR1(java.lang.Object(ARRAY(i2[1], a862data[1])), +(i140[1], 1), +(i165[1], -1), i260[1], java.lang.Object(java.lang.String(i260[0], i259[0], i261[0], a1147[0])))∧(UIncreasing(LOAD974ARR1(java.lang.Object(ARRAY(i2[0], a862data[0])), i140[0], i165[0], i161[0], java.lang.Object(java.lang.String(i260[0], i259[0], i261[0], a1147[0])))), ≥))
(3) (i140[1] ≥ 0∧i165[1] ≥ 0∧i140[1] + [-1] ≥ 0∧i2[1] + [-1] + [-1]i140[1] ≥ 0 ⇒ (UIncreasing(LOAD974ARR1(java.lang.Object(ARRAY(i2[0], a862data[0])), i140[0], i165[0], i161[0], java.lang.Object(java.lang.String(i260[0], i259[0], i261[0], a1147[0])))), ≥)∧[(-1)bni_19 + (-1)Bound*bni_19] + [(-1)bni_19]i140[1] + [bni_19]i2[1] ≥ 0∧[(-1)bso_20] ≥ 0)
(4) (i140[1] ≥ 0∧i165[1] ≥ 0∧i140[1] + [-1] ≥ 0∧i2[1] + [-1] + [-1]i140[1] ≥ 0 ⇒ (UIncreasing(LOAD974ARR1(java.lang.Object(ARRAY(i2[0], a862data[0])), i140[0], i165[0], i161[0], java.lang.Object(java.lang.String(i260[0], i259[0], i261[0], a1147[0])))), ≥)∧[(-1)bni_19 + (-1)Bound*bni_19] + [(-1)bni_19]i140[1] + [bni_19]i2[1] ≥ 0∧[(-1)bso_20] ≥ 0)
(5) (i140[1] ≥ 0∧i165[1] ≥ 0∧i140[1] + [-1] ≥ 0∧i2[1] + [-1] + [-1]i140[1] ≥ 0 ⇒ (UIncreasing(LOAD974ARR1(java.lang.Object(ARRAY(i2[0], a862data[0])), i140[0], i165[0], i161[0], java.lang.Object(java.lang.String(i260[0], i259[0], i261[0], a1147[0])))), ≥)∧[(-1)bni_19 + (-1)Bound*bni_19] + [(-1)bni_19]i140[1] + [bni_19]i2[1] ≥ 0∧[(-1)bso_20] ≥ 0)
(6) (i140[1] ≥ 0∧i165[1] ≥ 0∧i140[1] + [-1] ≥ 0∧i2[1] + [-1] + [-1]i140[1] ≥ 0 ⇒ (UIncreasing(LOAD974ARR1(java.lang.Object(ARRAY(i2[0], a862data[0])), i140[0], i165[0], i161[0], java.lang.Object(java.lang.String(i260[0], i259[0], i261[0], a1147[0])))), ≥)∧0 = 0∧0 = 0∧[(-1)bni_19 + (-1)Bound*bni_19] + [(-1)bni_19]i140[1] + [bni_19]i2[1] ≥ 0∧0 = 0∧0 = 0∧[(-1)bso_20] ≥ 0)
(7) ([1] + i140[1] ≥ 0∧i165[1] ≥ 0∧i140[1] ≥ 0∧i2[1] + [-2] + [-1]i140[1] ≥ 0 ⇒ (UIncreasing(LOAD974ARR1(java.lang.Object(ARRAY(i2[0], a862data[0])), i140[0], i165[0], i161[0], java.lang.Object(java.lang.String(i260[0], i259[0], i261[0], a1147[0])))), ≥)∧0 = 0∧0 = 0∧[(-2)bni_19 + (-1)Bound*bni_19] + [(-1)bni_19]i140[1] + [bni_19]i2[1] ≥ 0∧0 = 0∧0 = 0∧[(-1)bso_20] ≥ 0)
(8) ([1] + i140[1] ≥ 0∧i165[1] ≥ 0∧i140[1] ≥ 0∧i2[1] ≥ 0 ⇒ (UIncreasing(LOAD974ARR1(java.lang.Object(ARRAY(i2[0], a862data[0])), i140[0], i165[0], i161[0], java.lang.Object(java.lang.String(i260[0], i259[0], i261[0], a1147[0])))), ≥)∧0 = 0∧0 = 0∧[(-1)Bound*bni_19] + [bni_19]i2[1] ≥ 0∧0 = 0∧0 = 0∧[(-1)bso_20] ≥ 0)
(9) (i166[3]=i166[4]∧i2[3]=i2[4]∧a862data[3]=a862data[4]∧i171[3]=i171[4]∧&&(>=(i171[3], 0), <(i166[3], 0))=TRUE∧i140[3]=i140[4]∧i166[4]=i165[0]∧i140[4]=i140[0]∧i2[4]=i2[0]∧a862data[4]=a862data[0]∧+(i171[4], -1)=i161[0] ⇒ LOAD974(java.lang.Object(ARRAY(i2[0], a862data[0])), i140[0], i165[0], i161[0])≥NonInfC∧LOAD974(java.lang.Object(ARRAY(i2[0], a862data[0])), i140[0], i165[0], i161[0])≥LOAD974ARR1(java.lang.Object(ARRAY(i2[0], a862data[0])), i140[0], i165[0], i161[0], java.lang.Object(java.lang.String(i260[0], i259[0], i261[0], a1147[0])))∧(UIncreasing(LOAD974ARR1(java.lang.Object(ARRAY(i2[0], a862data[0])), i140[0], i165[0], i161[0], java.lang.Object(java.lang.String(i260[0], i259[0], i261[0], a1147[0])))), ≥))
(10) (>=(i171[3], 0)=TRUE∧<(i166[3], 0)=TRUE ⇒ LOAD974(java.lang.Object(ARRAY(i2[3], a862data[3])), i140[3], i166[3], +(i171[3], -1))≥NonInfC∧LOAD974(java.lang.Object(ARRAY(i2[3], a862data[3])), i140[3], i166[3], +(i171[3], -1))≥LOAD974ARR1(java.lang.Object(ARRAY(i2[3], a862data[3])), i140[3], i166[3], +(i171[3], -1), java.lang.Object(java.lang.String(i260[0], i259[0], i261[0], a1147[0])))∧(UIncreasing(LOAD974ARR1(java.lang.Object(ARRAY(i2[0], a862data[0])), i140[0], i165[0], i161[0], java.lang.Object(java.lang.String(i260[0], i259[0], i261[0], a1147[0])))), ≥))
(11) (i171[3] ≥ 0∧[-1] + [-1]i166[3] ≥ 0 ⇒ (UIncreasing(LOAD974ARR1(java.lang.Object(ARRAY(i2[0], a862data[0])), i140[0], i165[0], i161[0], java.lang.Object(java.lang.String(i260[0], i259[0], i261[0], a1147[0])))), ≥)∧[(-1)Bound*bni_19] + [(-1)bni_19]i140[3] + [bni_19]i2[3] ≥ 0∧[(-1)bso_20] ≥ 0)
(12) (i171[3] ≥ 0∧[-1] + [-1]i166[3] ≥ 0 ⇒ (UIncreasing(LOAD974ARR1(java.lang.Object(ARRAY(i2[0], a862data[0])), i140[0], i165[0], i161[0], java.lang.Object(java.lang.String(i260[0], i259[0], i261[0], a1147[0])))), ≥)∧[(-1)Bound*bni_19] + [(-1)bni_19]i140[3] + [bni_19]i2[3] ≥ 0∧[(-1)bso_20] ≥ 0)
(13) (i171[3] ≥ 0∧[-1] + [-1]i166[3] ≥ 0 ⇒ (UIncreasing(LOAD974ARR1(java.lang.Object(ARRAY(i2[0], a862data[0])), i140[0], i165[0], i161[0], java.lang.Object(java.lang.String(i260[0], i259[0], i261[0], a1147[0])))), ≥)∧[(-1)Bound*bni_19] + [(-1)bni_19]i140[3] + [bni_19]i2[3] ≥ 0∧[(-1)bso_20] ≥ 0)
(14) (i171[3] ≥ 0∧[-1] + [-1]i166[3] ≥ 0 ⇒ (UIncreasing(LOAD974ARR1(java.lang.Object(ARRAY(i2[0], a862data[0])), i140[0], i165[0], i161[0], java.lang.Object(java.lang.String(i260[0], i259[0], i261[0], a1147[0])))), ≥)∧[(-1)bni_19] = 0∧0 = 0∧[bni_19] = 0∧[(-1)Bound*bni_19] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_20] ≥ 0)
(15) (i171[3] ≥ 0∧i166[3] ≥ 0 ⇒ (UIncreasing(LOAD974ARR1(java.lang.Object(ARRAY(i2[0], a862data[0])), i140[0], i165[0], i161[0], java.lang.Object(java.lang.String(i260[0], i259[0], i261[0], a1147[0])))), ≥)∧[(-1)bni_19] = 0∧0 = 0∧[bni_19] = 0∧[(-1)Bound*bni_19] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_20] ≥ 0)
(16) (i2[1]=i2[2]∧a862data[1]=a862data[2]∧i161[1]=i161[2]∧i260[1]=i260[2]∧i259[1]=i259[2]∧i261[1]=i261[2]∧a1147[1]=a1147[2]∧i165[1]=i165[2]∧i140[1]=i140[2]∧&&(&&(&&(>(i140[1], 0), <(i140[1], i2[1])), >=(i165[1], 0)), >(+(i140[1], 1), 0))=TRUE ⇒ LOAD974ARR1(java.lang.Object(ARRAY(i2[1], a862data[1])), i140[1], i165[1], i161[1], java.lang.Object(java.lang.String(i260[1], i259[1], i261[1], a1147[1])))≥NonInfC∧LOAD974ARR1(java.lang.Object(ARRAY(i2[1], a862data[1])), i140[1], i165[1], i161[1], java.lang.Object(java.lang.String(i260[1], i259[1], i261[1], a1147[1])))≥COND_LOAD974ARR1(&&(&&(&&(>(i140[1], 0), <(i140[1], i2[1])), >=(i165[1], 0)), >(+(i140[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a862data[1])), i140[1], i165[1], i161[1], java.lang.Object(java.lang.String(i260[1], i259[1], i261[1], a1147[1])))∧(UIncreasing(COND_LOAD974ARR1(&&(&&(&&(>(i140[1], 0), <(i140[1], i2[1])), >=(i165[1], 0)), >(+(i140[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a862data[1])), i140[1], i165[1], i161[1], java.lang.Object(java.lang.String(i260[1], i259[1], i261[1], a1147[1])))), ≥))
(17) (>(+(i140[1], 1), 0)=TRUE∧>=(i165[1], 0)=TRUE∧>(i140[1], 0)=TRUE∧<(i140[1], i2[1])=TRUE ⇒ LOAD974ARR1(java.lang.Object(ARRAY(i2[1], a862data[1])), i140[1], i165[1], i161[1], java.lang.Object(java.lang.String(i260[1], i259[1], i261[1], a1147[1])))≥NonInfC∧LOAD974ARR1(java.lang.Object(ARRAY(i2[1], a862data[1])), i140[1], i165[1], i161[1], java.lang.Object(java.lang.String(i260[1], i259[1], i261[1], a1147[1])))≥COND_LOAD974ARR1(&&(&&(&&(>(i140[1], 0), <(i140[1], i2[1])), >=(i165[1], 0)), >(+(i140[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a862data[1])), i140[1], i165[1], i161[1], java.lang.Object(java.lang.String(i260[1], i259[1], i261[1], a1147[1])))∧(UIncreasing(COND_LOAD974ARR1(&&(&&(&&(>(i140[1], 0), <(i140[1], i2[1])), >=(i165[1], 0)), >(+(i140[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a862data[1])), i140[1], i165[1], i161[1], java.lang.Object(java.lang.String(i260[1], i259[1], i261[1], a1147[1])))), ≥))
(18) (i140[1] ≥ 0∧i165[1] ≥ 0∧i140[1] + [-1] ≥ 0∧i2[1] + [-1] + [-1]i140[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD974ARR1(&&(&&(&&(>(i140[1], 0), <(i140[1], i2[1])), >=(i165[1], 0)), >(+(i140[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a862data[1])), i140[1], i165[1], i161[1], java.lang.Object(java.lang.String(i260[1], i259[1], i261[1], a1147[1])))), ≥)∧[(-1)Bound*bni_21] + [(-1)bni_21]i140[1] + [bni_21]i2[1] ≥ 0∧[(-1)bso_22] ≥ 0)
(19) (i140[1] ≥ 0∧i165[1] ≥ 0∧i140[1] + [-1] ≥ 0∧i2[1] + [-1] + [-1]i140[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD974ARR1(&&(&&(&&(>(i140[1], 0), <(i140[1], i2[1])), >=(i165[1], 0)), >(+(i140[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a862data[1])), i140[1], i165[1], i161[1], java.lang.Object(java.lang.String(i260[1], i259[1], i261[1], a1147[1])))), ≥)∧[(-1)Bound*bni_21] + [(-1)bni_21]i140[1] + [bni_21]i2[1] ≥ 0∧[(-1)bso_22] ≥ 0)
(20) (i140[1] ≥ 0∧i165[1] ≥ 0∧i140[1] + [-1] ≥ 0∧i2[1] + [-1] + [-1]i140[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD974ARR1(&&(&&(&&(>(i140[1], 0), <(i140[1], i2[1])), >=(i165[1], 0)), >(+(i140[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a862data[1])), i140[1], i165[1], i161[1], java.lang.Object(java.lang.String(i260[1], i259[1], i261[1], a1147[1])))), ≥)∧[(-1)Bound*bni_21] + [(-1)bni_21]i140[1] + [bni_21]i2[1] ≥ 0∧[(-1)bso_22] ≥ 0)
(21) (i140[1] ≥ 0∧i165[1] ≥ 0∧i140[1] + [-1] ≥ 0∧i2[1] + [-1] + [-1]i140[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD974ARR1(&&(&&(&&(>(i140[1], 0), <(i140[1], i2[1])), >=(i165[1], 0)), >(+(i140[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a862data[1])), i140[1], i165[1], i161[1], java.lang.Object(java.lang.String(i260[1], i259[1], i261[1], a1147[1])))), ≥)∧0 = 0∧0 = 0∧[(-1)Bound*bni_21] + [(-1)bni_21]i140[1] + [bni_21]i2[1] ≥ 0∧0 = 0∧0 = 0∧[(-1)bso_22] ≥ 0)
(22) ([1] + i140[1] ≥ 0∧i165[1] ≥ 0∧i140[1] ≥ 0∧i2[1] + [-2] + [-1]i140[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD974ARR1(&&(&&(&&(>(i140[1], 0), <(i140[1], i2[1])), >=(i165[1], 0)), >(+(i140[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a862data[1])), i140[1], i165[1], i161[1], java.lang.Object(java.lang.String(i260[1], i259[1], i261[1], a1147[1])))), ≥)∧0 = 0∧0 = 0∧[(-1)Bound*bni_21 + (-1)bni_21] + [(-1)bni_21]i140[1] + [bni_21]i2[1] ≥ 0∧0 = 0∧0 = 0∧[(-1)bso_22] ≥ 0)
(23) ([1] + i140[1] ≥ 0∧i165[1] ≥ 0∧i140[1] ≥ 0∧i2[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD974ARR1(&&(&&(&&(>(i140[1], 0), <(i140[1], i2[1])), >=(i165[1], 0)), >(+(i140[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a862data[1])), i140[1], i165[1], i161[1], java.lang.Object(java.lang.String(i260[1], i259[1], i261[1], a1147[1])))), ≥)∧0 = 0∧0 = 0∧[(-1)Bound*bni_21 + bni_21] + [bni_21]i2[1] ≥ 0∧0 = 0∧0 = 0∧[(-1)bso_22] ≥ 0)
(24) (i260[0]=i260[1]∧i259[0]=i259[1]∧i261[0]=i261[1]∧a1147[0]=a1147[1]∧i140[0]=i140[1]∧i2[0]=i2[1]∧a862data[0]=a862data[1]∧i161[0]=i161[1]∧i165[0]=i165[1]∧i2[1]=i2[2]∧a862data[1]=a862data[2]∧i161[1]=i161[2]∧i260[1]=i260[2]∧i259[1]=i259[2]∧i261[1]=i261[2]∧a1147[1]=a1147[2]∧i165[1]=i165[2]∧i140[1]=i140[2]∧&&(&&(&&(>(i140[1], 0), <(i140[1], i2[1])), >=(i165[1], 0)), >(+(i140[1], 1), 0))=TRUE ⇒ COND_LOAD974ARR1(TRUE, java.lang.Object(ARRAY(i2[2], a862data[2])), i140[2], i165[2], i161[2], java.lang.Object(java.lang.String(i260[2], i259[2], i261[2], a1147[2])))≥NonInfC∧COND_LOAD974ARR1(TRUE, java.lang.Object(ARRAY(i2[2], a862data[2])), i140[2], i165[2], i161[2], java.lang.Object(java.lang.String(i260[2], i259[2], i261[2], a1147[2])))≥LOAD974(java.lang.Object(ARRAY(i2[2], a862data[2])), +(i140[2], 1), +(i165[2], -1), i260[2])∧(UIncreasing(LOAD974(java.lang.Object(ARRAY(i2[2], a862data[2])), +(i140[2], 1), +(i165[2], -1), i260[2])), ≥))
(25) (>(+(i140[1], 1), 0)=TRUE∧>=(i165[1], 0)=TRUE∧>(i140[1], 0)=TRUE∧<(i140[1], i2[1])=TRUE ⇒ COND_LOAD974ARR1(TRUE, java.lang.Object(ARRAY(i2[1], a862data[0])), i140[1], i165[1], i161[0], java.lang.Object(java.lang.String(i260[0], i259[0], i261[0], a1147[0])))≥NonInfC∧COND_LOAD974ARR1(TRUE, java.lang.Object(ARRAY(i2[1], a862data[0])), i140[1], i165[1], i161[0], java.lang.Object(java.lang.String(i260[0], i259[0], i261[0], a1147[0])))≥LOAD974(java.lang.Object(ARRAY(i2[1], a862data[0])), +(i140[1], 1), +(i165[1], -1), i260[0])∧(UIncreasing(LOAD974(java.lang.Object(ARRAY(i2[2], a862data[2])), +(i140[2], 1), +(i165[2], -1), i260[2])), ≥))
(26) (i140[1] ≥ 0∧i165[1] ≥ 0∧i140[1] + [-1] ≥ 0∧i2[1] + [-1] + [-1]i140[1] ≥ 0 ⇒ (UIncreasing(LOAD974(java.lang.Object(ARRAY(i2[2], a862data[2])), +(i140[2], 1), +(i165[2], -1), i260[2])), ≥)∧[(-1)Bound*bni_23] + [(-1)bni_23]i140[1] + [bni_23]i2[1] ≥ 0∧[1 + (-1)bso_24] ≥ 0)
(27) (i140[1] ≥ 0∧i165[1] ≥ 0∧i140[1] + [-1] ≥ 0∧i2[1] + [-1] + [-1]i140[1] ≥ 0 ⇒ (UIncreasing(LOAD974(java.lang.Object(ARRAY(i2[2], a862data[2])), +(i140[2], 1), +(i165[2], -1), i260[2])), ≥)∧[(-1)Bound*bni_23] + [(-1)bni_23]i140[1] + [bni_23]i2[1] ≥ 0∧[1 + (-1)bso_24] ≥ 0)
(28) (i140[1] ≥ 0∧i165[1] ≥ 0∧i140[1] + [-1] ≥ 0∧i2[1] + [-1] + [-1]i140[1] ≥ 0 ⇒ (UIncreasing(LOAD974(java.lang.Object(ARRAY(i2[2], a862data[2])), +(i140[2], 1), +(i165[2], -1), i260[2])), ≥)∧[(-1)Bound*bni_23] + [(-1)bni_23]i140[1] + [bni_23]i2[1] ≥ 0∧[1 + (-1)bso_24] ≥ 0)
(29) (i140[1] ≥ 0∧i165[1] ≥ 0∧i140[1] + [-1] ≥ 0∧i2[1] + [-1] + [-1]i140[1] ≥ 0 ⇒ (UIncreasing(LOAD974(java.lang.Object(ARRAY(i2[2], a862data[2])), +(i140[2], 1), +(i165[2], -1), i260[2])), ≥)∧0 = 0∧0 = 0∧[(-1)Bound*bni_23] + [(-1)bni_23]i140[1] + [bni_23]i2[1] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_24] ≥ 0)
(30) ([1] + i140[1] ≥ 0∧i165[1] ≥ 0∧i140[1] ≥ 0∧i2[1] + [-2] + [-1]i140[1] ≥ 0 ⇒ (UIncreasing(LOAD974(java.lang.Object(ARRAY(i2[2], a862data[2])), +(i140[2], 1), +(i165[2], -1), i260[2])), ≥)∧0 = 0∧0 = 0∧[(-1)Bound*bni_23 + (-1)bni_23] + [(-1)bni_23]i140[1] + [bni_23]i2[1] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_24] ≥ 0)
(31) ([1] + i140[1] ≥ 0∧i165[1] ≥ 0∧i140[1] ≥ 0∧i2[1] ≥ 0 ⇒ (UIncreasing(LOAD974(java.lang.Object(ARRAY(i2[2], a862data[2])), +(i140[2], 1), +(i165[2], -1), i260[2])), ≥)∧0 = 0∧0 = 0∧[(-1)Bound*bni_23 + bni_23] + [bni_23]i2[1] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_24] ≥ 0)
(32) (i166[3]=i166[4]∧i2[3]=i2[4]∧a862data[3]=a862data[4]∧i171[3]=i171[4]∧&&(>=(i171[3], 0), <(i166[3], 0))=TRUE∧i140[3]=i140[4] ⇒ LOAD974(java.lang.Object(ARRAY(i2[3], a862data[3])), i140[3], i166[3], i171[3])≥NonInfC∧LOAD974(java.lang.Object(ARRAY(i2[3], a862data[3])), i140[3], i166[3], i171[3])≥COND_LOAD974(&&(>=(i171[3], 0), <(i166[3], 0)), java.lang.Object(ARRAY(i2[3], a862data[3])), i140[3], i166[3], i171[3])∧(UIncreasing(COND_LOAD974(&&(>=(i171[3], 0), <(i166[3], 0)), java.lang.Object(ARRAY(i2[3], a862data[3])), i140[3], i166[3], i171[3])), ≥))
(33) (>=(i171[3], 0)=TRUE∧<(i166[3], 0)=TRUE ⇒ LOAD974(java.lang.Object(ARRAY(i2[3], a862data[3])), i140[3], i166[3], i171[3])≥NonInfC∧LOAD974(java.lang.Object(ARRAY(i2[3], a862data[3])), i140[3], i166[3], i171[3])≥COND_LOAD974(&&(>=(i171[3], 0), <(i166[3], 0)), java.lang.Object(ARRAY(i2[3], a862data[3])), i140[3], i166[3], i171[3])∧(UIncreasing(COND_LOAD974(&&(>=(i171[3], 0), <(i166[3], 0)), java.lang.Object(ARRAY(i2[3], a862data[3])), i140[3], i166[3], i171[3])), ≥))
(34) (i171[3] ≥ 0∧[-1] + [-1]i166[3] ≥ 0 ⇒ (UIncreasing(COND_LOAD974(&&(>=(i171[3], 0), <(i166[3], 0)), java.lang.Object(ARRAY(i2[3], a862data[3])), i140[3], i166[3], i171[3])), ≥)∧[(-1)Bound*bni_25] + [(-1)bni_25]i140[3] + [bni_25]i2[3] ≥ 0∧[(-1)bso_26] ≥ 0)
(35) (i171[3] ≥ 0∧[-1] + [-1]i166[3] ≥ 0 ⇒ (UIncreasing(COND_LOAD974(&&(>=(i171[3], 0), <(i166[3], 0)), java.lang.Object(ARRAY(i2[3], a862data[3])), i140[3], i166[3], i171[3])), ≥)∧[(-1)Bound*bni_25] + [(-1)bni_25]i140[3] + [bni_25]i2[3] ≥ 0∧[(-1)bso_26] ≥ 0)
(36) (i171[3] ≥ 0∧[-1] + [-1]i166[3] ≥ 0 ⇒ (UIncreasing(COND_LOAD974(&&(>=(i171[3], 0), <(i166[3], 0)), java.lang.Object(ARRAY(i2[3], a862data[3])), i140[3], i166[3], i171[3])), ≥)∧[(-1)Bound*bni_25] + [(-1)bni_25]i140[3] + [bni_25]i2[3] ≥ 0∧[(-1)bso_26] ≥ 0)
(37) (i171[3] ≥ 0∧[-1] + [-1]i166[3] ≥ 0 ⇒ (UIncreasing(COND_LOAD974(&&(>=(i171[3], 0), <(i166[3], 0)), java.lang.Object(ARRAY(i2[3], a862data[3])), i140[3], i166[3], i171[3])), ≥)∧[(-1)bni_25] = 0∧0 = 0∧[bni_25] = 0∧[(-1)Bound*bni_25] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_26] ≥ 0)
(38) (i171[3] ≥ 0∧i166[3] ≥ 0 ⇒ (UIncreasing(COND_LOAD974(&&(>=(i171[3], 0), <(i166[3], 0)), java.lang.Object(ARRAY(i2[3], a862data[3])), i140[3], i166[3], i171[3])), ≥)∧[(-1)bni_25] = 0∧0 = 0∧[bni_25] = 0∧[(-1)Bound*bni_25] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_26] ≥ 0)
(39) (i2[2]=i2[3]∧a862data[2]=a862data[3]∧+(i140[2], 1)=i140[3]∧+(i165[2], -1)=i166[3]∧i260[2]=i171[3]∧i166[3]=i166[4]∧i2[3]=i2[4]∧a862data[3]=a862data[4]∧i171[3]=i171[4]∧&&(>=(i171[3], 0), <(i166[3], 0))=TRUE∧i140[3]=i140[4] ⇒ COND_LOAD974(TRUE, java.lang.Object(ARRAY(i2[4], a862data[4])), i140[4], i166[4], i171[4])≥NonInfC∧COND_LOAD974(TRUE, java.lang.Object(ARRAY(i2[4], a862data[4])), i140[4], i166[4], i171[4])≥LOAD974(java.lang.Object(ARRAY(i2[4], a862data[4])), i140[4], i166[4], +(i171[4], -1))∧(UIncreasing(LOAD974(java.lang.Object(ARRAY(i2[4], a862data[4])), i140[4], i166[4], +(i171[4], -1))), ≥))
(40) (>=(i171[3], 0)=TRUE∧<(+(i165[2], -1), 0)=TRUE ⇒ COND_LOAD974(TRUE, java.lang.Object(ARRAY(i2[2], a862data[2])), +(i140[2], 1), +(i165[2], -1), i171[3])≥NonInfC∧COND_LOAD974(TRUE, java.lang.Object(ARRAY(i2[2], a862data[2])), +(i140[2], 1), +(i165[2], -1), i171[3])≥LOAD974(java.lang.Object(ARRAY(i2[2], a862data[2])), +(i140[2], 1), +(i165[2], -1), +(i171[3], -1))∧(UIncreasing(LOAD974(java.lang.Object(ARRAY(i2[4], a862data[4])), i140[4], i166[4], +(i171[4], -1))), ≥))
(41) (i171[3] ≥ 0∧[-1]i165[2] ≥ 0 ⇒ (UIncreasing(LOAD974(java.lang.Object(ARRAY(i2[4], a862data[4])), i140[4], i166[4], +(i171[4], -1))), ≥)∧[(-1)bni_27 + (-1)Bound*bni_27] + [(-1)bni_27]i140[2] + [bni_27]i2[2] ≥ 0∧[(-1)bso_28] ≥ 0)
(42) (i171[3] ≥ 0∧[-1]i165[2] ≥ 0 ⇒ (UIncreasing(LOAD974(java.lang.Object(ARRAY(i2[4], a862data[4])), i140[4], i166[4], +(i171[4], -1))), ≥)∧[(-1)bni_27 + (-1)Bound*bni_27] + [(-1)bni_27]i140[2] + [bni_27]i2[2] ≥ 0∧[(-1)bso_28] ≥ 0)
(43) (i171[3] ≥ 0∧[-1]i165[2] ≥ 0 ⇒ (UIncreasing(LOAD974(java.lang.Object(ARRAY(i2[4], a862data[4])), i140[4], i166[4], +(i171[4], -1))), ≥)∧[(-1)bni_27 + (-1)Bound*bni_27] + [(-1)bni_27]i140[2] + [bni_27]i2[2] ≥ 0∧[(-1)bso_28] ≥ 0)
(44) (i171[3] ≥ 0∧[-1]i165[2] ≥ 0 ⇒ (UIncreasing(LOAD974(java.lang.Object(ARRAY(i2[4], a862data[4])), i140[4], i166[4], +(i171[4], -1))), ≥)∧[(-1)bni_27] = 0∧0 = 0∧[bni_27] = 0∧[(-1)bni_27 + (-1)Bound*bni_27] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_28] ≥ 0)
(45) (i171[3] ≥ 0∧i165[2] ≥ 0 ⇒ (UIncreasing(LOAD974(java.lang.Object(ARRAY(i2[4], a862data[4])), i140[4], i166[4], +(i171[4], -1))), ≥)∧[(-1)bni_27] = 0∧0 = 0∧[bni_27] = 0∧[(-1)bni_27 + (-1)Bound*bni_27] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_28] ≥ 0)
(46) (i166[4]=i166[3]∧+(i171[4], -1)=i171[3]∧i140[4]=i140[3]∧i2[4]=i2[3]∧a862data[4]=a862data[3]∧i166[3]=i166[4]1∧i2[3]=i2[4]1∧a862data[3]=a862data[4]1∧i171[3]=i171[4]1∧&&(>=(i171[3], 0), <(i166[3], 0))=TRUE∧i140[3]=i140[4]1 ⇒ COND_LOAD974(TRUE, java.lang.Object(ARRAY(i2[4]1, a862data[4]1)), i140[4]1, i166[4]1, i171[4]1)≥NonInfC∧COND_LOAD974(TRUE, java.lang.Object(ARRAY(i2[4]1, a862data[4]1)), i140[4]1, i166[4]1, i171[4]1)≥LOAD974(java.lang.Object(ARRAY(i2[4]1, a862data[4]1)), i140[4]1, i166[4]1, +(i171[4]1, -1))∧(UIncreasing(LOAD974(java.lang.Object(ARRAY(i2[4]1, a862data[4]1)), i140[4]1, i166[4]1, +(i171[4]1, -1))), ≥))
(47) (>=(+(i171[4], -1), 0)=TRUE∧<(i166[3], 0)=TRUE ⇒ COND_LOAD974(TRUE, java.lang.Object(ARRAY(i2[4], a862data[4])), i140[4], i166[3], +(i171[4], -1))≥NonInfC∧COND_LOAD974(TRUE, java.lang.Object(ARRAY(i2[4], a862data[4])), i140[4], i166[3], +(i171[4], -1))≥LOAD974(java.lang.Object(ARRAY(i2[4], a862data[4])), i140[4], i166[3], +(+(i171[4], -1), -1))∧(UIncreasing(LOAD974(java.lang.Object(ARRAY(i2[4]1, a862data[4]1)), i140[4]1, i166[4]1, +(i171[4]1, -1))), ≥))
(48) (i171[4] + [-1] ≥ 0∧[-1] + [-1]i166[3] ≥ 0 ⇒ (UIncreasing(LOAD974(java.lang.Object(ARRAY(i2[4]1, a862data[4]1)), i140[4]1, i166[4]1, +(i171[4]1, -1))), ≥)∧[(-1)Bound*bni_27] + [(-1)bni_27]i140[4] + [bni_27]i2[4] ≥ 0∧[(-1)bso_28] ≥ 0)
(49) (i171[4] + [-1] ≥ 0∧[-1] + [-1]i166[3] ≥ 0 ⇒ (UIncreasing(LOAD974(java.lang.Object(ARRAY(i2[4]1, a862data[4]1)), i140[4]1, i166[4]1, +(i171[4]1, -1))), ≥)∧[(-1)Bound*bni_27] + [(-1)bni_27]i140[4] + [bni_27]i2[4] ≥ 0∧[(-1)bso_28] ≥ 0)
(50) (i171[4] + [-1] ≥ 0∧[-1] + [-1]i166[3] ≥ 0 ⇒ (UIncreasing(LOAD974(java.lang.Object(ARRAY(i2[4]1, a862data[4]1)), i140[4]1, i166[4]1, +(i171[4]1, -1))), ≥)∧[(-1)Bound*bni_27] + [(-1)bni_27]i140[4] + [bni_27]i2[4] ≥ 0∧[(-1)bso_28] ≥ 0)
(51) (i171[4] + [-1] ≥ 0∧[-1] + [-1]i166[3] ≥ 0 ⇒ (UIncreasing(LOAD974(java.lang.Object(ARRAY(i2[4]1, a862data[4]1)), i140[4]1, i166[4]1, +(i171[4]1, -1))), ≥)∧[(-1)bni_27] = 0∧0 = 0∧[bni_27] = 0∧[(-1)Bound*bni_27] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_28] ≥ 0)
(52) (i171[4] ≥ 0∧[-1] + [-1]i166[3] ≥ 0 ⇒ (UIncreasing(LOAD974(java.lang.Object(ARRAY(i2[4]1, a862data[4]1)), i140[4]1, i166[4]1, +(i171[4]1, -1))), ≥)∧[(-1)bni_27] = 0∧0 = 0∧[bni_27] = 0∧[(-1)Bound*bni_27] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_28] ≥ 0)
(53) (i171[4] ≥ 0∧i166[3] ≥ 0 ⇒ (UIncreasing(LOAD974(java.lang.Object(ARRAY(i2[4]1, a862data[4]1)), i140[4]1, i166[4]1, +(i171[4]1, -1))), ≥)∧[(-1)bni_27] = 0∧0 = 0∧[bni_27] = 0∧[(-1)Bound*bni_27] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_28] ≥ 0)
POL(TRUE) = 0
POL(FALSE) = 0
POL(LOAD974(x1, x2, x3, x4)) = [-1] + [-1]x2 + [-1]x1
POL(java.lang.Object(x1)) = x1
POL(ARRAY(x1, x2)) = [-1] + [-1]x1
POL(LOAD974ARR1(x1, x2, x3, x4, x5)) = [-1] + [-1]x2 + [-1]x1
POL(java.lang.String(x1, x2, x3, x4)) = [-1]
POL(COND_LOAD974ARR1(x1, x2, x3, x4, x5, x6)) = [-1] + [-1]x3 + [-1]x2
POL(&&(x1, x2)) = [-1]
POL(>(x1, x2)) = [-1]
POL(0) = 0
POL(<(x1, x2)) = [-1]
POL(>=(x1, x2)) = [-1]
POL(+(x1, x2)) = x1 + x2
POL(1) = [1]
POL(-1) = [-1]
POL(COND_LOAD974(x1, x2, x3, x4, x5)) = [-1] + [-1]x3 + [-1]x2
COND_LOAD974ARR1(TRUE, java.lang.Object(ARRAY(i2[2], a862data[2])), i140[2], i165[2], i161[2], java.lang.Object(java.lang.String(i260[2], i259[2], i261[2], a1147[2]))) → LOAD974(java.lang.Object(ARRAY(i2[2], a862data[2])), +(i140[2], 1), +(i165[2], -1), i260[2])
LOAD974ARR1(java.lang.Object(ARRAY(i2[1], a862data[1])), i140[1], i165[1], i161[1], java.lang.Object(java.lang.String(i260[1], i259[1], i261[1], a1147[1]))) → COND_LOAD974ARR1(&&(&&(&&(>(i140[1], 0), <(i140[1], i2[1])), >=(i165[1], 0)), >(+(i140[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a862data[1])), i140[1], i165[1], i161[1], java.lang.Object(java.lang.String(i260[1], i259[1], i261[1], a1147[1])))
COND_LOAD974ARR1(TRUE, java.lang.Object(ARRAY(i2[2], a862data[2])), i140[2], i165[2], i161[2], java.lang.Object(java.lang.String(i260[2], i259[2], i261[2], a1147[2]))) → LOAD974(java.lang.Object(ARRAY(i2[2], a862data[2])), +(i140[2], 1), +(i165[2], -1), i260[2])
LOAD974(java.lang.Object(ARRAY(i2[0], a862data[0])), i140[0], i165[0], i161[0]) → LOAD974ARR1(java.lang.Object(ARRAY(i2[0], a862data[0])), i140[0], i165[0], i161[0], java.lang.Object(java.lang.String(i260[0], i259[0], i261[0], a1147[0])))
LOAD974ARR1(java.lang.Object(ARRAY(i2[1], a862data[1])), i140[1], i165[1], i161[1], java.lang.Object(java.lang.String(i260[1], i259[1], i261[1], a1147[1]))) → COND_LOAD974ARR1(&&(&&(&&(>(i140[1], 0), <(i140[1], i2[1])), >=(i165[1], 0)), >(+(i140[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a862data[1])), i140[1], i165[1], i161[1], java.lang.Object(java.lang.String(i260[1], i259[1], i261[1], a1147[1])))
LOAD974(java.lang.Object(ARRAY(i2[3], a862data[3])), i140[3], i166[3], i171[3]) → COND_LOAD974(&&(>=(i171[3], 0), <(i166[3], 0)), java.lang.Object(ARRAY(i2[3], a862data[3])), i140[3], i166[3], i171[3])
COND_LOAD974(TRUE, java.lang.Object(ARRAY(i2[4], a862data[4])), i140[4], i166[4], i171[4]) → LOAD974(java.lang.Object(ARRAY(i2[4], a862data[4])), i140[4], i166[4], +(i171[4], -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
(4) -> (0), if ((i166[4] →* i165[0])∧(i140[4] →* i140[0])∧((i2[4] →* i2[0])∧(a862data[4] →* a862data[0]))∧(i171[4] + -1 →* i161[0]))
(0) -> (1), if (((i260[0] →* i260[1])∧(i259[0] →* i259[1])∧(i261[0] →* i261[1])∧(a1147[0] →* a1147[1]))∧(i140[0] →* i140[1])∧((i2[0] →* i2[1])∧(a862data[0] →* a862data[1]))∧(i161[0] →* i161[1])∧(i165[0] →* i165[1]))
(4) -> (3), if ((i166[4] →* i166[3])∧(i171[4] + -1 →* i171[3])∧(i140[4] →* i140[3])∧((i2[4] →* i2[3])∧(a862data[4] →* a862data[3])))
(3) -> (4), if ((i166[3] →* i166[4])∧((i2[3] →* i2[4])∧(a862data[3] →* a862data[4]))∧(i171[3] →* i171[4])∧(i171[3] >= 0 && i166[3] < 0 →* TRUE)∧(i140[3] →* i140[4]))
!= | ~ | 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
(4) -> (3), if ((i166[4] →* i166[3])∧(i171[4] + -1 →* i171[3])∧(i140[4] →* i140[3])∧((i2[4] →* i2[3])∧(a862data[4] →* a862data[3])))
(3) -> (4), if ((i166[3] →* i166[4])∧((i2[3] →* i2[4])∧(a862data[3] →* a862data[4]))∧(i171[3] →* i171[4])∧(i171[3] >= 0 && i166[3] < 0 →* TRUE)∧(i140[3] →* i140[4]))
(1) (i166[3]=i166[4]∧i2[3]=i2[4]∧a862data[3]=a862data[4]∧i171[3]=i171[4]∧&&(>=(i171[3], 0), <(i166[3], 0))=TRUE∧i140[3]=i140[4]∧i166[4]=i166[3]1∧+(i171[4], -1)=i171[3]1∧i140[4]=i140[3]1∧i2[4]=i2[3]1∧a862data[4]=a862data[3]1 ⇒ COND_LOAD974(TRUE, java.lang.Object(ARRAY(i2[4], a862data[4])), i140[4], i166[4], i171[4])≥NonInfC∧COND_LOAD974(TRUE, java.lang.Object(ARRAY(i2[4], a862data[4])), i140[4], i166[4], i171[4])≥LOAD974(java.lang.Object(ARRAY(i2[4], a862data[4])), i140[4], i166[4], +(i171[4], -1))∧(UIncreasing(LOAD974(java.lang.Object(ARRAY(i2[4], a862data[4])), i140[4], i166[4], +(i171[4], -1))), ≥))
(2) (>=(i171[3], 0)=TRUE∧<(i166[3], 0)=TRUE ⇒ COND_LOAD974(TRUE, java.lang.Object(ARRAY(i2[3], a862data[3])), i140[3], i166[3], i171[3])≥NonInfC∧COND_LOAD974(TRUE, java.lang.Object(ARRAY(i2[3], a862data[3])), i140[3], i166[3], i171[3])≥LOAD974(java.lang.Object(ARRAY(i2[3], a862data[3])), i140[3], i166[3], +(i171[3], -1))∧(UIncreasing(LOAD974(java.lang.Object(ARRAY(i2[4], a862data[4])), i140[4], i166[4], +(i171[4], -1))), ≥))
(3) (i171[3] ≥ 0∧[-1] + [-1]i166[3] ≥ 0 ⇒ (UIncreasing(LOAD974(java.lang.Object(ARRAY(i2[4], a862data[4])), i140[4], i166[4], +(i171[4], -1))), ≥)∧[(-1)Bound*bni_22] + [(2)bni_22]i171[3] + [(-1)bni_22]i166[3] ≥ 0∧[1 + (-1)bso_23] ≥ 0)
(4) (i171[3] ≥ 0∧[-1] + [-1]i166[3] ≥ 0 ⇒ (UIncreasing(LOAD974(java.lang.Object(ARRAY(i2[4], a862data[4])), i140[4], i166[4], +(i171[4], -1))), ≥)∧[(-1)Bound*bni_22] + [(2)bni_22]i171[3] + [(-1)bni_22]i166[3] ≥ 0∧[1 + (-1)bso_23] ≥ 0)
(5) (i171[3] ≥ 0∧[-1] + [-1]i166[3] ≥ 0 ⇒ (UIncreasing(LOAD974(java.lang.Object(ARRAY(i2[4], a862data[4])), i140[4], i166[4], +(i171[4], -1))), ≥)∧[(-1)Bound*bni_22] + [(2)bni_22]i171[3] + [(-1)bni_22]i166[3] ≥ 0∧[1 + (-1)bso_23] ≥ 0)
(6) (i171[3] ≥ 0∧[-1] + [-1]i166[3] ≥ 0 ⇒ (UIncreasing(LOAD974(java.lang.Object(ARRAY(i2[4], a862data[4])), i140[4], i166[4], +(i171[4], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_22] + [(2)bni_22]i171[3] + [(-1)bni_22]i166[3] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_23] ≥ 0)
(7) (i171[3] ≥ 0∧i166[3] ≥ 0 ⇒ (UIncreasing(LOAD974(java.lang.Object(ARRAY(i2[4], a862data[4])), i140[4], i166[4], +(i171[4], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_22 + bni_22] + [(2)bni_22]i171[3] + [bni_22]i166[3] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_23] ≥ 0)
(8) (i166[3]=i166[4]∧i2[3]=i2[4]∧a862data[3]=a862data[4]∧i171[3]=i171[4]∧&&(>=(i171[3], 0), <(i166[3], 0))=TRUE∧i140[3]=i140[4] ⇒ LOAD974(java.lang.Object(ARRAY(i2[3], a862data[3])), i140[3], i166[3], i171[3])≥NonInfC∧LOAD974(java.lang.Object(ARRAY(i2[3], a862data[3])), i140[3], i166[3], i171[3])≥COND_LOAD974(&&(>=(i171[3], 0), <(i166[3], 0)), java.lang.Object(ARRAY(i2[3], a862data[3])), i140[3], i166[3], i171[3])∧(UIncreasing(COND_LOAD974(&&(>=(i171[3], 0), <(i166[3], 0)), java.lang.Object(ARRAY(i2[3], a862data[3])), i140[3], i166[3], i171[3])), ≥))
(9) (>=(i171[3], 0)=TRUE∧<(i166[3], 0)=TRUE ⇒ LOAD974(java.lang.Object(ARRAY(i2[3], a862data[3])), i140[3], i166[3], i171[3])≥NonInfC∧LOAD974(java.lang.Object(ARRAY(i2[3], a862data[3])), i140[3], i166[3], i171[3])≥COND_LOAD974(&&(>=(i171[3], 0), <(i166[3], 0)), java.lang.Object(ARRAY(i2[3], a862data[3])), i140[3], i166[3], i171[3])∧(UIncreasing(COND_LOAD974(&&(>=(i171[3], 0), <(i166[3], 0)), java.lang.Object(ARRAY(i2[3], a862data[3])), i140[3], i166[3], i171[3])), ≥))
(10) (i171[3] ≥ 0∧[-1] + [-1]i166[3] ≥ 0 ⇒ (UIncreasing(COND_LOAD974(&&(>=(i171[3], 0), <(i166[3], 0)), java.lang.Object(ARRAY(i2[3], a862data[3])), i140[3], i166[3], i171[3])), ≥)∧[bni_24 + (-1)Bound*bni_24] + [(2)bni_24]i171[3] + [(-1)bni_24]i166[3] ≥ 0∧[(-1)bso_25] ≥ 0)
(11) (i171[3] ≥ 0∧[-1] + [-1]i166[3] ≥ 0 ⇒ (UIncreasing(COND_LOAD974(&&(>=(i171[3], 0), <(i166[3], 0)), java.lang.Object(ARRAY(i2[3], a862data[3])), i140[3], i166[3], i171[3])), ≥)∧[bni_24 + (-1)Bound*bni_24] + [(2)bni_24]i171[3] + [(-1)bni_24]i166[3] ≥ 0∧[(-1)bso_25] ≥ 0)
(12) (i171[3] ≥ 0∧[-1] + [-1]i166[3] ≥ 0 ⇒ (UIncreasing(COND_LOAD974(&&(>=(i171[3], 0), <(i166[3], 0)), java.lang.Object(ARRAY(i2[3], a862data[3])), i140[3], i166[3], i171[3])), ≥)∧[bni_24 + (-1)Bound*bni_24] + [(2)bni_24]i171[3] + [(-1)bni_24]i166[3] ≥ 0∧[(-1)bso_25] ≥ 0)
(13) (i171[3] ≥ 0∧[-1] + [-1]i166[3] ≥ 0 ⇒ (UIncreasing(COND_LOAD974(&&(>=(i171[3], 0), <(i166[3], 0)), java.lang.Object(ARRAY(i2[3], a862data[3])), i140[3], i166[3], i171[3])), ≥)∧0 = 0∧0 = 0∧0 = 0∧[bni_24 + (-1)Bound*bni_24] + [(2)bni_24]i171[3] + [(-1)bni_24]i166[3] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_25] ≥ 0)
(14) (i171[3] ≥ 0∧i166[3] ≥ 0 ⇒ (UIncreasing(COND_LOAD974(&&(>=(i171[3], 0), <(i166[3], 0)), java.lang.Object(ARRAY(i2[3], a862data[3])), i140[3], i166[3], i171[3])), ≥)∧0 = 0∧0 = 0∧0 = 0∧[(2)bni_24 + (-1)Bound*bni_24] + [(2)bni_24]i171[3] + [bni_24]i166[3] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_25] ≥ 0)
POL(TRUE) = [3]
POL(FALSE) = [3]
POL(COND_LOAD974(x1, x2, x3, x4, x5)) = [2]x5 + [-1]x4 + [-1]x2 + [-1]x1
POL(java.lang.Object(x1)) = [-1] + [2]x1
POL(ARRAY(x1, x2)) = [-1]
POL(LOAD974(x1, x2, x3, x4)) = [1] + [2]x4 + [-1]x3
POL(+(x1, x2)) = x1 + x2
POL(-1) = [-1]
POL(&&(x1, x2)) = [2]
POL(>=(x1, x2)) = [-1]
POL(0) = 0
POL(<(x1, x2)) = [-1]
COND_LOAD974(TRUE, java.lang.Object(ARRAY(i2[4], a862data[4])), i140[4], i166[4], i171[4]) → LOAD974(java.lang.Object(ARRAY(i2[4], a862data[4])), i140[4], i166[4], +(i171[4], -1))
COND_LOAD974(TRUE, java.lang.Object(ARRAY(i2[4], a862data[4])), i140[4], i166[4], i171[4]) → LOAD974(java.lang.Object(ARRAY(i2[4], a862data[4])), i140[4], i166[4], +(i171[4], -1))
LOAD974(java.lang.Object(ARRAY(i2[3], a862data[3])), i140[3], i166[3], i171[3]) → COND_LOAD974(&&(>=(i171[3], 0), <(i166[3], 0)), java.lang.Object(ARRAY(i2[3], a862data[3])), i140[3], i166[3], i171[3])
LOAD974(java.lang.Object(ARRAY(i2[3], a862data[3])), i140[3], i166[3], i171[3]) → COND_LOAD974(&&(>=(i171[3], 0), <(i166[3], 0)), java.lang.Object(ARRAY(i2[3], a862data[3])), i140[3], i166[3], i171[3])
TRUE1 → &&(TRUE, TRUE)1
FALSE1 → &&(TRUE, FALSE)1
FALSE1 → &&(FALSE, TRUE)1
FALSE1 → &&(FALSE, FALSE)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
!= | ~ | 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
(4) -> (0), if ((i166[4] →* i165[0])∧(i140[4] →* i140[0])∧((i2[4] →* i2[0])∧(a862data[4] →* a862data[0]))∧(i171[4] + -1 →* i161[0]))
(4) -> (3), if ((i166[4] →* i166[3])∧(i171[4] + -1 →* i171[3])∧(i140[4] →* i140[3])∧((i2[4] →* i2[3])∧(a862data[4] →* a862data[3])))
(3) -> (4), if ((i166[3] →* i166[4])∧((i2[3] →* i2[4])∧(a862data[3] →* a862data[4]))∧(i171[3] →* i171[4])∧(i171[3] >= 0 && i166[3] < 0 →* TRUE)∧(i140[3] →* i140[4]))
!= | ~ | 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
(4) -> (3), if ((i166[4] →* i166[3])∧(i171[4] + -1 →* i171[3])∧(i140[4] →* i140[3])∧((i2[4] →* i2[3])∧(a862data[4] →* a862data[3])))
(3) -> (4), if ((i166[3] →* i166[4])∧((i2[3] →* i2[4])∧(a862data[3] →* a862data[4]))∧(i171[3] →* i171[4])∧(i171[3] >= 0 && i166[3] < 0 →* TRUE)∧(i140[3] →* i140[4]))
(1) (i166[3]=i166[4]∧i2[3]=i2[4]∧a862data[3]=a862data[4]∧i171[3]=i171[4]∧&&(>=(i171[3], 0), <(i166[3], 0))=TRUE∧i140[3]=i140[4]∧i166[4]=i166[3]1∧+(i171[4], -1)=i171[3]1∧i140[4]=i140[3]1∧i2[4]=i2[3]1∧a862data[4]=a862data[3]1 ⇒ COND_LOAD974(TRUE, java.lang.Object(ARRAY(i2[4], a862data[4])), i140[4], i166[4], i171[4])≥NonInfC∧COND_LOAD974(TRUE, java.lang.Object(ARRAY(i2[4], a862data[4])), i140[4], i166[4], i171[4])≥LOAD974(java.lang.Object(ARRAY(i2[4], a862data[4])), i140[4], i166[4], +(i171[4], -1))∧(UIncreasing(LOAD974(java.lang.Object(ARRAY(i2[4], a862data[4])), i140[4], i166[4], +(i171[4], -1))), ≥))
(2) (>=(i171[3], 0)=TRUE∧<(i166[3], 0)=TRUE ⇒ COND_LOAD974(TRUE, java.lang.Object(ARRAY(i2[3], a862data[3])), i140[3], i166[3], i171[3])≥NonInfC∧COND_LOAD974(TRUE, java.lang.Object(ARRAY(i2[3], a862data[3])), i140[3], i166[3], i171[3])≥LOAD974(java.lang.Object(ARRAY(i2[3], a862data[3])), i140[3], i166[3], +(i171[3], -1))∧(UIncreasing(LOAD974(java.lang.Object(ARRAY(i2[4], a862data[4])), i140[4], i166[4], +(i171[4], -1))), ≥))
(3) (i171[3] ≥ 0∧[-1] + [-1]i166[3] ≥ 0 ⇒ (UIncreasing(LOAD974(java.lang.Object(ARRAY(i2[4], a862data[4])), i140[4], i166[4], +(i171[4], -1))), ≥)∧[(-1)Bound*bni_22] + [bni_22]i171[3] + [(-1)bni_22]i166[3] ≥ 0∧[(-1)bso_23] ≥ 0)
(4) (i171[3] ≥ 0∧[-1] + [-1]i166[3] ≥ 0 ⇒ (UIncreasing(LOAD974(java.lang.Object(ARRAY(i2[4], a862data[4])), i140[4], i166[4], +(i171[4], -1))), ≥)∧[(-1)Bound*bni_22] + [bni_22]i171[3] + [(-1)bni_22]i166[3] ≥ 0∧[(-1)bso_23] ≥ 0)
(5) (i171[3] ≥ 0∧[-1] + [-1]i166[3] ≥ 0 ⇒ (UIncreasing(LOAD974(java.lang.Object(ARRAY(i2[4], a862data[4])), i140[4], i166[4], +(i171[4], -1))), ≥)∧[(-1)Bound*bni_22] + [bni_22]i171[3] + [(-1)bni_22]i166[3] ≥ 0∧[(-1)bso_23] ≥ 0)
(6) (i171[3] ≥ 0∧[-1] + [-1]i166[3] ≥ 0 ⇒ (UIncreasing(LOAD974(java.lang.Object(ARRAY(i2[4], a862data[4])), i140[4], i166[4], +(i171[4], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_22] + [bni_22]i171[3] + [(-1)bni_22]i166[3] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_23] ≥ 0)
(7) (i171[3] ≥ 0∧i166[3] ≥ 0 ⇒ (UIncreasing(LOAD974(java.lang.Object(ARRAY(i2[4], a862data[4])), i140[4], i166[4], +(i171[4], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_22 + bni_22] + [bni_22]i171[3] + [bni_22]i166[3] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_23] ≥ 0)
(8) (i166[3]=i166[4]∧i2[3]=i2[4]∧a862data[3]=a862data[4]∧i171[3]=i171[4]∧&&(>=(i171[3], 0), <(i166[3], 0))=TRUE∧i140[3]=i140[4] ⇒ LOAD974(java.lang.Object(ARRAY(i2[3], a862data[3])), i140[3], i166[3], i171[3])≥NonInfC∧LOAD974(java.lang.Object(ARRAY(i2[3], a862data[3])), i140[3], i166[3], i171[3])≥COND_LOAD974(&&(>=(i171[3], 0), <(i166[3], 0)), java.lang.Object(ARRAY(i2[3], a862data[3])), i140[3], i166[3], i171[3])∧(UIncreasing(COND_LOAD974(&&(>=(i171[3], 0), <(i166[3], 0)), java.lang.Object(ARRAY(i2[3], a862data[3])), i140[3], i166[3], i171[3])), ≥))
(9) (>=(i171[3], 0)=TRUE∧<(i166[3], 0)=TRUE ⇒ LOAD974(java.lang.Object(ARRAY(i2[3], a862data[3])), i140[3], i166[3], i171[3])≥NonInfC∧LOAD974(java.lang.Object(ARRAY(i2[3], a862data[3])), i140[3], i166[3], i171[3])≥COND_LOAD974(&&(>=(i171[3], 0), <(i166[3], 0)), java.lang.Object(ARRAY(i2[3], a862data[3])), i140[3], i166[3], i171[3])∧(UIncreasing(COND_LOAD974(&&(>=(i171[3], 0), <(i166[3], 0)), java.lang.Object(ARRAY(i2[3], a862data[3])), i140[3], i166[3], i171[3])), ≥))
(10) (i171[3] ≥ 0∧[-1] + [-1]i166[3] ≥ 0 ⇒ (UIncreasing(COND_LOAD974(&&(>=(i171[3], 0), <(i166[3], 0)), java.lang.Object(ARRAY(i2[3], a862data[3])), i140[3], i166[3], i171[3])), ≥)∧[bni_24 + (-1)Bound*bni_24] + [bni_24]i171[3] + [(-1)bni_24]i166[3] ≥ 0∧[1 + (-1)bso_25] ≥ 0)
(11) (i171[3] ≥ 0∧[-1] + [-1]i166[3] ≥ 0 ⇒ (UIncreasing(COND_LOAD974(&&(>=(i171[3], 0), <(i166[3], 0)), java.lang.Object(ARRAY(i2[3], a862data[3])), i140[3], i166[3], i171[3])), ≥)∧[bni_24 + (-1)Bound*bni_24] + [bni_24]i171[3] + [(-1)bni_24]i166[3] ≥ 0∧[1 + (-1)bso_25] ≥ 0)
(12) (i171[3] ≥ 0∧[-1] + [-1]i166[3] ≥ 0 ⇒ (UIncreasing(COND_LOAD974(&&(>=(i171[3], 0), <(i166[3], 0)), java.lang.Object(ARRAY(i2[3], a862data[3])), i140[3], i166[3], i171[3])), ≥)∧[bni_24 + (-1)Bound*bni_24] + [bni_24]i171[3] + [(-1)bni_24]i166[3] ≥ 0∧[1 + (-1)bso_25] ≥ 0)
(13) (i171[3] ≥ 0∧[-1] + [-1]i166[3] ≥ 0 ⇒ (UIncreasing(COND_LOAD974(&&(>=(i171[3], 0), <(i166[3], 0)), java.lang.Object(ARRAY(i2[3], a862data[3])), i140[3], i166[3], i171[3])), ≥)∧0 = 0∧0 = 0∧0 = 0∧[bni_24 + (-1)Bound*bni_24] + [bni_24]i171[3] + [(-1)bni_24]i166[3] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_25] ≥ 0)
(14) (i171[3] ≥ 0∧i166[3] ≥ 0 ⇒ (UIncreasing(COND_LOAD974(&&(>=(i171[3], 0), <(i166[3], 0)), java.lang.Object(ARRAY(i2[3], a862data[3])), i140[3], i166[3], i171[3])), ≥)∧0 = 0∧0 = 0∧0 = 0∧[(2)bni_24 + (-1)Bound*bni_24] + [bni_24]i171[3] + [bni_24]i166[3] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_25] ≥ 0)
POL(TRUE) = 0
POL(FALSE) = 0
POL(COND_LOAD974(x1, x2, x3, x4, x5)) = x5 + [-1]x4 + [-1]x2 + [-1]x1
POL(java.lang.Object(x1)) = [-1] + [-1]x1
POL(ARRAY(x1, x2)) = [-1]
POL(LOAD974(x1, x2, x3, x4)) = [1] + x4 + [-1]x3 + [-1]x1
POL(+(x1, x2)) = x1 + x2
POL(-1) = [-1]
POL(&&(x1, x2)) = 0
POL(>=(x1, x2)) = [-1]
POL(0) = 0
POL(<(x1, x2)) = [-1]
LOAD974(java.lang.Object(ARRAY(i2[3], a862data[3])), i140[3], i166[3], i171[3]) → COND_LOAD974(&&(>=(i171[3], 0), <(i166[3], 0)), java.lang.Object(ARRAY(i2[3], a862data[3])), i140[3], i166[3], i171[3])
COND_LOAD974(TRUE, java.lang.Object(ARRAY(i2[4], a862data[4])), i140[4], i166[4], i171[4]) → LOAD974(java.lang.Object(ARRAY(i2[4], a862data[4])), i140[4], i166[4], +(i171[4], -1))
LOAD974(java.lang.Object(ARRAY(i2[3], a862data[3])), i140[3], i166[3], i171[3]) → COND_LOAD974(&&(>=(i171[3], 0), <(i166[3], 0)), java.lang.Object(ARRAY(i2[3], a862data[3])), i140[3], i166[3], i171[3])
COND_LOAD974(TRUE, java.lang.Object(ARRAY(i2[4], a862data[4])), i140[4], i166[4], i171[4]) → LOAD974(java.lang.Object(ARRAY(i2[4], a862data[4])), i140[4], i166[4], +(i171[4], -1))
&&(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
!= | ~ | 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 |