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 TRUE
↳16 IDP
↳17 IDependencyGraphProof (⇔)
↳18 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(ARRAY(i3[0], a2058data[0])) →* java.lang.Object(ARRAY(i3[1], a2058data[1])))∧(i152[0] →* i152[1])∧(i150[0] →* i150[1])∧(java.lang.Object(java.lang.String(i227[0], i226[0], i228[0], a2344[0])) →* java.lang.Object(java.lang.String(i227[1], i226[1], i228[1], a2344[1])))∧(i151[0] →* i151[1])∧(java.lang.Object(java.lang.String(i527[0], i526[0], i528[0], a3229[0])) →* java.lang.Object(java.lang.String(i527[1], i526[1], i528[1], a3229[1]))))
(1) -> (2), if ((i150[1] + 1 > 0 && i150[1] + 1 < i3[1] && i150[1] > 0 && i150[1] < i3[1] && i151[1] - i152[1] >= 1 && i527[1] + 1 > 0 && i152[1] + i527[1] + 1 > 0 && i150[1] + 1 + 1 > 0 →* TRUE)∧(java.lang.Object(java.lang.String(i227[1], i226[1], i228[1], a2344[1])) →* java.lang.Object(java.lang.String(i227[2], i226[2], i228[2], a2344[2])))∧(java.lang.Object(ARRAY(i3[1], a2058data[1])) →* java.lang.Object(ARRAY(i3[2], a2058data[2])))∧(java.lang.Object(java.lang.String(i527[1], i526[1], i528[1], a3229[1])) →* java.lang.Object(java.lang.String(i527[2], i526[2], i528[2], a3229[2])))∧(i152[1] →* i152[2])∧(i151[1] →* i151[2])∧(i150[1] →* i150[2]))
(2) -> (0), if ((java.lang.Object(ARRAY(i3[2], a2058data[2])) →* java.lang.Object(ARRAY(i3[0], a2058data[0])))∧(i152[2] + i527[2] + 1 →* i152[0])∧(i150[2] + 1 + 1 →* i150[0])∧(i151[2] - i227[2] →* i151[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], a2058data[0])) →* java.lang.Object(ARRAY(i3[1], a2058data[1])))∧(i152[0] →* i152[1])∧(i150[0] →* i150[1])∧(java.lang.Object(java.lang.String(i227[0], i226[0], i228[0], a2344[0])) →* java.lang.Object(java.lang.String(i227[1], i226[1], i228[1], a2344[1])))∧(i151[0] →* i151[1])∧(java.lang.Object(java.lang.String(i527[0], i526[0], i528[0], a3229[0])) →* java.lang.Object(java.lang.String(i527[1], i526[1], i528[1], a3229[1]))))
(1) -> (2), if ((i150[1] + 1 > 0 && i150[1] + 1 < i3[1] && i150[1] > 0 && i150[1] < i3[1] && i151[1] - i152[1] >= 1 && i527[1] + 1 > 0 && i152[1] + i527[1] + 1 > 0 && i150[1] + 1 + 1 > 0 →* TRUE)∧(java.lang.Object(java.lang.String(i227[1], i226[1], i228[1], a2344[1])) →* java.lang.Object(java.lang.String(i227[2], i226[2], i228[2], a2344[2])))∧(java.lang.Object(ARRAY(i3[1], a2058data[1])) →* java.lang.Object(ARRAY(i3[2], a2058data[2])))∧(java.lang.Object(java.lang.String(i527[1], i526[1], i528[1], a3229[1])) →* java.lang.Object(java.lang.String(i527[2], i526[2], i528[2], a3229[2])))∧(i152[1] →* i152[2])∧(i151[1] →* i151[2])∧(i150[1] →* i150[2]))
(2) -> (0), if ((java.lang.Object(ARRAY(i3[2], a2058data[2])) →* java.lang.Object(ARRAY(i3[0], a2058data[0])))∧(i152[2] + i527[2] + 1 →* i152[0])∧(i150[2] + 1 + 1 →* i150[0])∧(i151[2] - i227[2] →* i151[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])∧(a2058data[0] →* a2058data[1]))∧(i152[0] →* i152[1])∧(i150[0] →* i150[1])∧((i227[0] →* i227[1])∧(i226[0] →* i226[1])∧(i228[0] →* i228[1])∧(a2344[0] →* a2344[1]))∧(i151[0] →* i151[1])∧((i527[0] →* i527[1])∧(i526[0] →* i526[1])∧(i528[0] →* i528[1])∧(a3229[0] →* a3229[1])))
(1) -> (2), if ((i150[1] + 1 > 0 && i150[1] + 1 < i3[1] && i150[1] > 0 && i150[1] < i3[1] && i151[1] - i152[1] >= 1 && i527[1] + 1 > 0 && i152[1] + i527[1] + 1 > 0 && i150[1] + 1 + 1 > 0 →* TRUE)∧((i227[1] →* i227[2])∧(i226[1] →* i226[2])∧(i228[1] →* i228[2])∧(a2344[1] →* a2344[2]))∧((i3[1] →* i3[2])∧(a2058data[1] →* a2058data[2]))∧((i527[1] →* i527[2])∧(i526[1] →* i526[2])∧(i528[1] →* i528[2])∧(a3229[1] →* a3229[2]))∧(i152[1] →* i152[2])∧(i151[1] →* i151[2])∧(i150[1] →* i150[2]))
(2) -> (0), if (((i3[2] →* i3[0])∧(a2058data[2] →* a2058data[0]))∧(i152[2] + i527[2] + 1 →* i152[0])∧(i150[2] + 1 + 1 →* i150[0])∧(i151[2] - i227[2] →* i151[0]))
(1) (LOAD1414(java.lang.Object(ARRAY(i3[0], a2058data[0])), i150[0], i151[0], i152[0])≥NonInfC∧LOAD1414(java.lang.Object(ARRAY(i3[0], a2058data[0])), i150[0], i151[0], i152[0])≥LOAD1414ARR1(java.lang.Object(ARRAY(i3[0], a2058data[0])), i150[0], i151[0], i152[0], java.lang.Object(java.lang.String(i527[0], i526[0], i528[0], a3229[0])), java.lang.Object(java.lang.String(i227[0], i226[0], i228[0], a2344[0])))∧(UIncreasing(LOAD1414ARR1(java.lang.Object(ARRAY(i3[0], a2058data[0])), i150[0], i151[0], i152[0], java.lang.Object(java.lang.String(i527[0], i526[0], i528[0], a3229[0])), java.lang.Object(java.lang.String(i227[0], i226[0], i228[0], a2344[0])))), ≥))
(2) ((UIncreasing(LOAD1414ARR1(java.lang.Object(ARRAY(i3[0], a2058data[0])), i150[0], i151[0], i152[0], java.lang.Object(java.lang.String(i527[0], i526[0], i528[0], a3229[0])), java.lang.Object(java.lang.String(i227[0], i226[0], i228[0], a2344[0])))), ≥)∧[1 + (-1)bso_25] ≥ 0)
(3) ((UIncreasing(LOAD1414ARR1(java.lang.Object(ARRAY(i3[0], a2058data[0])), i150[0], i151[0], i152[0], java.lang.Object(java.lang.String(i527[0], i526[0], i528[0], a3229[0])), java.lang.Object(java.lang.String(i227[0], i226[0], i228[0], a2344[0])))), ≥)∧[1 + (-1)bso_25] ≥ 0)
(4) ((UIncreasing(LOAD1414ARR1(java.lang.Object(ARRAY(i3[0], a2058data[0])), i150[0], i151[0], i152[0], java.lang.Object(java.lang.String(i527[0], i526[0], i528[0], a3229[0])), java.lang.Object(java.lang.String(i227[0], i226[0], i228[0], a2344[0])))), ≥)∧[1 + (-1)bso_25] ≥ 0)
(5) ((UIncreasing(LOAD1414ARR1(java.lang.Object(ARRAY(i3[0], a2058data[0])), i150[0], i151[0], i152[0], java.lang.Object(java.lang.String(i527[0], i526[0], i528[0], a3229[0])), java.lang.Object(java.lang.String(i227[0], i226[0], i228[0], a2344[0])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_25] ≥ 0)
(6) (&&(&&(&&(&&(&&(&&(&&(>(+(i150[1], 1), 0), <(+(i150[1], 1), i3[1])), >(i150[1], 0)), <(i150[1], i3[1])), >=(-(i151[1], i152[1]), 1)), >(+(i527[1], 1), 0)), >(+(i152[1], +(i527[1], 1)), 0)), >(+(+(i150[1], 1), 1), 0))=TRUE∧i227[1]=i227[2]∧i226[1]=i226[2]∧i228[1]=i228[2]∧a2344[1]=a2344[2]∧i3[1]=i3[2]∧a2058data[1]=a2058data[2]∧i527[1]=i527[2]∧i526[1]=i526[2]∧i528[1]=i528[2]∧a3229[1]=a3229[2]∧i152[1]=i152[2]∧i151[1]=i151[2]∧i150[1]=i150[2] ⇒ LOAD1414ARR1(java.lang.Object(ARRAY(i3[1], a2058data[1])), i150[1], i151[1], i152[1], java.lang.Object(java.lang.String(i527[1], i526[1], i528[1], a3229[1])), java.lang.Object(java.lang.String(i227[1], i226[1], i228[1], a2344[1])))≥NonInfC∧LOAD1414ARR1(java.lang.Object(ARRAY(i3[1], a2058data[1])), i150[1], i151[1], i152[1], java.lang.Object(java.lang.String(i527[1], i526[1], i528[1], a3229[1])), java.lang.Object(java.lang.String(i227[1], i226[1], i228[1], a2344[1])))≥COND_LOAD1414ARR1(&&(&&(&&(&&(&&(&&(&&(>(+(i150[1], 1), 0), <(+(i150[1], 1), i3[1])), >(i150[1], 0)), <(i150[1], i3[1])), >=(-(i151[1], i152[1]), 1)), >(+(i527[1], 1), 0)), >(+(i152[1], +(i527[1], 1)), 0)), >(+(+(i150[1], 1), 1), 0)), java.lang.Object(ARRAY(i3[1], a2058data[1])), i150[1], i151[1], i152[1], java.lang.Object(java.lang.String(i527[1], i526[1], i528[1], a3229[1])), java.lang.Object(java.lang.String(i227[1], i226[1], i228[1], a2344[1])))∧(UIncreasing(COND_LOAD1414ARR1(&&(&&(&&(&&(&&(&&(&&(>(+(i150[1], 1), 0), <(+(i150[1], 1), i3[1])), >(i150[1], 0)), <(i150[1], i3[1])), >=(-(i151[1], i152[1]), 1)), >(+(i527[1], 1), 0)), >(+(i152[1], +(i527[1], 1)), 0)), >(+(+(i150[1], 1), 1), 0)), java.lang.Object(ARRAY(i3[1], a2058data[1])), i150[1], i151[1], i152[1], java.lang.Object(java.lang.String(i527[1], i526[1], i528[1], a3229[1])), java.lang.Object(java.lang.String(i227[1], i226[1], i228[1], a2344[1])))), ≥))
(7) (>(+(+(i150[1], 1), 1), 0)=TRUE∧>(+(i152[1], +(i527[1], 1)), 0)=TRUE∧>(+(i527[1], 1), 0)=TRUE∧>=(-(i151[1], i152[1]), 1)=TRUE∧<(i150[1], i3[1])=TRUE∧>(i150[1], 0)=TRUE∧>(+(i150[1], 1), 0)=TRUE∧<(+(i150[1], 1), i3[1])=TRUE ⇒ LOAD1414ARR1(java.lang.Object(ARRAY(i3[1], a2058data[1])), i150[1], i151[1], i152[1], java.lang.Object(java.lang.String(i527[1], i526[1], i528[1], a3229[1])), java.lang.Object(java.lang.String(i227[1], i226[1], i228[1], a2344[1])))≥NonInfC∧LOAD1414ARR1(java.lang.Object(ARRAY(i3[1], a2058data[1])), i150[1], i151[1], i152[1], java.lang.Object(java.lang.String(i527[1], i526[1], i528[1], a3229[1])), java.lang.Object(java.lang.String(i227[1], i226[1], i228[1], a2344[1])))≥COND_LOAD1414ARR1(&&(&&(&&(&&(&&(&&(&&(>(+(i150[1], 1), 0), <(+(i150[1], 1), i3[1])), >(i150[1], 0)), <(i150[1], i3[1])), >=(-(i151[1], i152[1]), 1)), >(+(i527[1], 1), 0)), >(+(i152[1], +(i527[1], 1)), 0)), >(+(+(i150[1], 1), 1), 0)), java.lang.Object(ARRAY(i3[1], a2058data[1])), i150[1], i151[1], i152[1], java.lang.Object(java.lang.String(i527[1], i526[1], i528[1], a3229[1])), java.lang.Object(java.lang.String(i227[1], i226[1], i228[1], a2344[1])))∧(UIncreasing(COND_LOAD1414ARR1(&&(&&(&&(&&(&&(&&(&&(>(+(i150[1], 1), 0), <(+(i150[1], 1), i3[1])), >(i150[1], 0)), <(i150[1], i3[1])), >=(-(i151[1], i152[1]), 1)), >(+(i527[1], 1), 0)), >(+(i152[1], +(i527[1], 1)), 0)), >(+(+(i150[1], 1), 1), 0)), java.lang.Object(ARRAY(i3[1], a2058data[1])), i150[1], i151[1], i152[1], java.lang.Object(java.lang.String(i527[1], i526[1], i528[1], a3229[1])), java.lang.Object(java.lang.String(i227[1], i226[1], i228[1], a2344[1])))), ≥))
(8) (i150[1] + [1] ≥ 0∧i152[1] + i527[1] ≥ 0∧i527[1] ≥ 0∧i151[1] + [-1] + [-1]i152[1] ≥ 0∧i3[1] + [-1] + [-1]i150[1] ≥ 0∧i150[1] + [-1] ≥ 0∧i150[1] ≥ 0∧i3[1] + [-2] + [-1]i150[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD1414ARR1(&&(&&(&&(&&(&&(&&(&&(>(+(i150[1], 1), 0), <(+(i150[1], 1), i3[1])), >(i150[1], 0)), <(i150[1], i3[1])), >=(-(i151[1], i152[1]), 1)), >(+(i527[1], 1), 0)), >(+(i152[1], +(i527[1], 1)), 0)), >(+(+(i150[1], 1), 1), 0)), java.lang.Object(ARRAY(i3[1], a2058data[1])), i150[1], i151[1], i152[1], java.lang.Object(java.lang.String(i527[1], i526[1], i528[1], a3229[1])), java.lang.Object(java.lang.String(i227[1], i226[1], i228[1], a2344[1])))), ≥)∧[(2)bni_26 + (-1)Bound*bni_26] + [(-1)bni_26]i150[1] + [bni_26]i3[1] ≥ 0∧[(-1)bso_27] ≥ 0)
(9) (i150[1] + [1] ≥ 0∧i152[1] + i527[1] ≥ 0∧i527[1] ≥ 0∧i151[1] + [-1] + [-1]i152[1] ≥ 0∧i3[1] + [-1] + [-1]i150[1] ≥ 0∧i150[1] + [-1] ≥ 0∧i150[1] ≥ 0∧i3[1] + [-2] + [-1]i150[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD1414ARR1(&&(&&(&&(&&(&&(&&(&&(>(+(i150[1], 1), 0), <(+(i150[1], 1), i3[1])), >(i150[1], 0)), <(i150[1], i3[1])), >=(-(i151[1], i152[1]), 1)), >(+(i527[1], 1), 0)), >(+(i152[1], +(i527[1], 1)), 0)), >(+(+(i150[1], 1), 1), 0)), java.lang.Object(ARRAY(i3[1], a2058data[1])), i150[1], i151[1], i152[1], java.lang.Object(java.lang.String(i527[1], i526[1], i528[1], a3229[1])), java.lang.Object(java.lang.String(i227[1], i226[1], i228[1], a2344[1])))), ≥)∧[(2)bni_26 + (-1)Bound*bni_26] + [(-1)bni_26]i150[1] + [bni_26]i3[1] ≥ 0∧[(-1)bso_27] ≥ 0)
(10) (i150[1] + [1] ≥ 0∧i152[1] + i527[1] ≥ 0∧i527[1] ≥ 0∧i151[1] + [-1] + [-1]i152[1] ≥ 0∧i3[1] + [-1] + [-1]i150[1] ≥ 0∧i150[1] + [-1] ≥ 0∧i150[1] ≥ 0∧i3[1] + [-2] + [-1]i150[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD1414ARR1(&&(&&(&&(&&(&&(&&(&&(>(+(i150[1], 1), 0), <(+(i150[1], 1), i3[1])), >(i150[1], 0)), <(i150[1], i3[1])), >=(-(i151[1], i152[1]), 1)), >(+(i527[1], 1), 0)), >(+(i152[1], +(i527[1], 1)), 0)), >(+(+(i150[1], 1), 1), 0)), java.lang.Object(ARRAY(i3[1], a2058data[1])), i150[1], i151[1], i152[1], java.lang.Object(java.lang.String(i527[1], i526[1], i528[1], a3229[1])), java.lang.Object(java.lang.String(i227[1], i226[1], i228[1], a2344[1])))), ≥)∧[(2)bni_26 + (-1)Bound*bni_26] + [(-1)bni_26]i150[1] + [bni_26]i3[1] ≥ 0∧[(-1)bso_27] ≥ 0)
(11) (i150[1] + [1] ≥ 0∧i152[1] + i527[1] ≥ 0∧i527[1] ≥ 0∧i151[1] + [-1] + [-1]i152[1] ≥ 0∧i3[1] + [-1] + [-1]i150[1] ≥ 0∧i150[1] + [-1] ≥ 0∧i150[1] ≥ 0∧i3[1] + [-2] + [-1]i150[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD1414ARR1(&&(&&(&&(&&(&&(&&(&&(>(+(i150[1], 1), 0), <(+(i150[1], 1), i3[1])), >(i150[1], 0)), <(i150[1], i3[1])), >=(-(i151[1], i152[1]), 1)), >(+(i527[1], 1), 0)), >(+(i152[1], +(i527[1], 1)), 0)), >(+(+(i150[1], 1), 1), 0)), java.lang.Object(ARRAY(i3[1], a2058data[1])), i150[1], i151[1], i152[1], java.lang.Object(java.lang.String(i527[1], i526[1], i528[1], a3229[1])), java.lang.Object(java.lang.String(i227[1], i226[1], i228[1], a2344[1])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(2)bni_26 + (-1)Bound*bni_26] + [(-1)bni_26]i150[1] + [bni_26]i3[1] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_27] ≥ 0)
(12) ([2] + i150[1] ≥ 0∧i152[1] + i527[1] ≥ 0∧i527[1] ≥ 0∧i151[1] + [-1] + [-1]i152[1] ≥ 0∧i3[1] + [-2] + [-1]i150[1] ≥ 0∧i150[1] ≥ 0∧[1] + i150[1] ≥ 0∧i3[1] + [-3] + [-1]i150[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD1414ARR1(&&(&&(&&(&&(&&(&&(&&(>(+(i150[1], 1), 0), <(+(i150[1], 1), i3[1])), >(i150[1], 0)), <(i150[1], i3[1])), >=(-(i151[1], i152[1]), 1)), >(+(i527[1], 1), 0)), >(+(i152[1], +(i527[1], 1)), 0)), >(+(+(i150[1], 1), 1), 0)), java.lang.Object(ARRAY(i3[1], a2058data[1])), i150[1], i151[1], i152[1], java.lang.Object(java.lang.String(i527[1], i526[1], i528[1], a3229[1])), java.lang.Object(java.lang.String(i227[1], i226[1], i228[1], a2344[1])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[bni_26 + (-1)Bound*bni_26] + [(-1)bni_26]i150[1] + [bni_26]i3[1] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_27] ≥ 0)
(13) ([2] + i150[1] ≥ 0∧i151[1] + [-1] + [-1]i152[1] + i527[1] ≥ 0∧i527[1] ≥ 0∧i152[1] ≥ 0∧i3[1] + [-2] + [-1]i150[1] ≥ 0∧i150[1] ≥ 0∧[1] + i150[1] ≥ 0∧i3[1] + [-3] + [-1]i150[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD1414ARR1(&&(&&(&&(&&(&&(&&(&&(>(+(i150[1], 1), 0), <(+(i150[1], 1), i3[1])), >(i150[1], 0)), <(i150[1], i3[1])), >=(-(i151[1], i152[1]), 1)), >(+(i527[1], 1), 0)), >(+(i152[1], +(i527[1], 1)), 0)), >(+(+(i150[1], 1), 1), 0)), java.lang.Object(ARRAY(i3[1], a2058data[1])), i150[1], i151[1], i152[1], java.lang.Object(java.lang.String(i527[1], i526[1], i528[1], a3229[1])), java.lang.Object(java.lang.String(i227[1], i226[1], i228[1], a2344[1])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[bni_26 + (-1)Bound*bni_26] + [(-1)bni_26]i150[1] + [bni_26]i3[1] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_27] ≥ 0)
(14) ([2] + i150[1] ≥ 0∧i151[1] + [-1] + [-1]i152[1] + i527[1] ≥ 0∧i527[1] ≥ 0∧i152[1] ≥ 0∧i3[1] ≥ 0∧i150[1] ≥ 0∧[1] + i150[1] ≥ 0∧[-1] + i3[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD1414ARR1(&&(&&(&&(&&(&&(&&(&&(>(+(i150[1], 1), 0), <(+(i150[1], 1), i3[1])), >(i150[1], 0)), <(i150[1], i3[1])), >=(-(i151[1], i152[1]), 1)), >(+(i527[1], 1), 0)), >(+(i152[1], +(i527[1], 1)), 0)), >(+(+(i150[1], 1), 1), 0)), java.lang.Object(ARRAY(i3[1], a2058data[1])), i150[1], i151[1], i152[1], java.lang.Object(java.lang.String(i527[1], i526[1], i528[1], a3229[1])), java.lang.Object(java.lang.String(i227[1], i226[1], i228[1], a2344[1])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(3)bni_26 + (-1)Bound*bni_26] + [bni_26]i3[1] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_27] ≥ 0)
(15) ([2] + i150[1] ≥ 0∧i151[1] + [-1] + [-1]i152[1] + i527[1] ≥ 0∧i527[1] ≥ 0∧i152[1] ≥ 0∧[1] + i3[1] ≥ 0∧i150[1] ≥ 0∧[1] + i150[1] ≥ 0∧i3[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD1414ARR1(&&(&&(&&(&&(&&(&&(&&(>(+(i150[1], 1), 0), <(+(i150[1], 1), i3[1])), >(i150[1], 0)), <(i150[1], i3[1])), >=(-(i151[1], i152[1]), 1)), >(+(i527[1], 1), 0)), >(+(i152[1], +(i527[1], 1)), 0)), >(+(+(i150[1], 1), 1), 0)), java.lang.Object(ARRAY(i3[1], a2058data[1])), i150[1], i151[1], i152[1], java.lang.Object(java.lang.String(i527[1], i526[1], i528[1], a3229[1])), java.lang.Object(java.lang.String(i227[1], i226[1], i228[1], a2344[1])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(4)bni_26 + (-1)Bound*bni_26] + [bni_26]i3[1] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_27] ≥ 0)
(16) ([2] + i150[1] ≥ 0∧i151[1] + [-1] + [-1]i152[1] + i527[1] ≥ 0∧i527[1] ≥ 0∧i152[1] ≥ 0∧[1] + i3[1] ≥ 0∧i150[1] ≥ 0∧[1] + i150[1] ≥ 0∧i3[1] ≥ 0∧i151[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD1414ARR1(&&(&&(&&(&&(&&(&&(&&(>(+(i150[1], 1), 0), <(+(i150[1], 1), i3[1])), >(i150[1], 0)), <(i150[1], i3[1])), >=(-(i151[1], i152[1]), 1)), >(+(i527[1], 1), 0)), >(+(i152[1], +(i527[1], 1)), 0)), >(+(+(i150[1], 1), 1), 0)), java.lang.Object(ARRAY(i3[1], a2058data[1])), i150[1], i151[1], i152[1], java.lang.Object(java.lang.String(i527[1], i526[1], i528[1], a3229[1])), java.lang.Object(java.lang.String(i227[1], i226[1], i228[1], a2344[1])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(4)bni_26 + (-1)Bound*bni_26] + [bni_26]i3[1] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_27] ≥ 0)
(17) ([2] + i150[1] ≥ 0∧[-1]i151[1] + [-1] + [-1]i152[1] + i527[1] ≥ 0∧i527[1] ≥ 0∧i152[1] ≥ 0∧[1] + i3[1] ≥ 0∧i150[1] ≥ 0∧[1] + i150[1] ≥ 0∧i3[1] ≥ 0∧i151[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD1414ARR1(&&(&&(&&(&&(&&(&&(&&(>(+(i150[1], 1), 0), <(+(i150[1], 1), i3[1])), >(i150[1], 0)), <(i150[1], i3[1])), >=(-(i151[1], i152[1]), 1)), >(+(i527[1], 1), 0)), >(+(i152[1], +(i527[1], 1)), 0)), >(+(+(i150[1], 1), 1), 0)), java.lang.Object(ARRAY(i3[1], a2058data[1])), i150[1], i151[1], i152[1], java.lang.Object(java.lang.String(i527[1], i526[1], i528[1], a3229[1])), java.lang.Object(java.lang.String(i227[1], i226[1], i228[1], a2344[1])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(4)bni_26 + (-1)Bound*bni_26] + [bni_26]i3[1] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_27] ≥ 0)
(18) ([2] + i150[1] ≥ 0∧i527[1] ≥ 0∧i151[1] + [1] + i152[1] + i527[1] ≥ 0∧i152[1] ≥ 0∧[1] + i3[1] ≥ 0∧i150[1] ≥ 0∧[1] + i150[1] ≥ 0∧i3[1] ≥ 0∧i151[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD1414ARR1(&&(&&(&&(&&(&&(&&(&&(>(+(i150[1], 1), 0), <(+(i150[1], 1), i3[1])), >(i150[1], 0)), <(i150[1], i3[1])), >=(-(i151[1], i152[1]), 1)), >(+(i527[1], 1), 0)), >(+(i152[1], +(i527[1], 1)), 0)), >(+(+(i150[1], 1), 1), 0)), java.lang.Object(ARRAY(i3[1], a2058data[1])), i150[1], i151[1], i152[1], java.lang.Object(java.lang.String(i527[1], i526[1], i528[1], a3229[1])), java.lang.Object(java.lang.String(i227[1], i226[1], i228[1], a2344[1])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(4)bni_26 + (-1)Bound*bni_26] + [bni_26]i3[1] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_27] ≥ 0)
(19) (COND_LOAD1414ARR1(TRUE, java.lang.Object(ARRAY(i3[2], a2058data[2])), i150[2], i151[2], i152[2], java.lang.Object(java.lang.String(i527[2], i526[2], i528[2], a3229[2])), java.lang.Object(java.lang.String(i227[2], i226[2], i228[2], a2344[2])))≥NonInfC∧COND_LOAD1414ARR1(TRUE, java.lang.Object(ARRAY(i3[2], a2058data[2])), i150[2], i151[2], i152[2], java.lang.Object(java.lang.String(i527[2], i526[2], i528[2], a3229[2])), java.lang.Object(java.lang.String(i227[2], i226[2], i228[2], a2344[2])))≥LOAD1414(java.lang.Object(ARRAY(i3[2], a2058data[2])), +(+(i150[2], 1), 1), -(i151[2], i227[2]), +(i152[2], +(i527[2], 1)))∧(UIncreasing(LOAD1414(java.lang.Object(ARRAY(i3[2], a2058data[2])), +(+(i150[2], 1), 1), -(i151[2], i227[2]), +(i152[2], +(i527[2], 1)))), ≥))
(20) ((UIncreasing(LOAD1414(java.lang.Object(ARRAY(i3[2], a2058data[2])), +(+(i150[2], 1), 1), -(i151[2], i227[2]), +(i152[2], +(i527[2], 1)))), ≥)∧[1 + (-1)bso_29] ≥ 0)
(21) ((UIncreasing(LOAD1414(java.lang.Object(ARRAY(i3[2], a2058data[2])), +(+(i150[2], 1), 1), -(i151[2], i227[2]), +(i152[2], +(i527[2], 1)))), ≥)∧[1 + (-1)bso_29] ≥ 0)
(22) ((UIncreasing(LOAD1414(java.lang.Object(ARRAY(i3[2], a2058data[2])), +(+(i150[2], 1), 1), -(i151[2], i227[2]), +(i152[2], +(i527[2], 1)))), ≥)∧[1 + (-1)bso_29] ≥ 0)
(23) ((UIncreasing(LOAD1414(java.lang.Object(ARRAY(i3[2], a2058data[2])), +(+(i150[2], 1), 1), -(i151[2], i227[2]), +(i152[2], +(i527[2], 1)))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_29] ≥ 0)
POL(TRUE) = 0
POL(FALSE) = 0
POL(LOAD1414(x1, x2, x3, x4)) = [2] + [-1]x2 + [-1]x1
POL(java.lang.Object(x1)) = x1
POL(ARRAY(x1, x2)) = [-1] + [-1]x1
POL(LOAD1414ARR1(x1, x2, x3, x4, x5, x6)) = [-1]x5 + [-1]x2 + [-1]x1
POL(java.lang.String(x1, x2, x3, x4)) = [-1]
POL(COND_LOAD1414ARR1(x1, x2, x3, x4, x5, x6, x7)) = [-1] + [-1]x7 + [-1]x6 + [-1]x3 + [-1]x2
POL(&&(x1, x2)) = [-1]
POL(>(x1, x2)) = [-1]
POL(+(x1, x2)) = x1 + x2
POL(1) = [1]
POL(0) = 0
POL(<(x1, x2)) = [-1]
POL(>=(x1, x2)) = [-1]
POL(-(x1, x2)) = x1 + [-1]x2
LOAD1414(java.lang.Object(ARRAY(i3[0], a2058data[0])), i150[0], i151[0], i152[0]) → LOAD1414ARR1(java.lang.Object(ARRAY(i3[0], a2058data[0])), i150[0], i151[0], i152[0], java.lang.Object(java.lang.String(i527[0], i526[0], i528[0], a3229[0])), java.lang.Object(java.lang.String(i227[0], i226[0], i228[0], a2344[0])))
COND_LOAD1414ARR1(TRUE, java.lang.Object(ARRAY(i3[2], a2058data[2])), i150[2], i151[2], i152[2], java.lang.Object(java.lang.String(i527[2], i526[2], i528[2], a3229[2])), java.lang.Object(java.lang.String(i227[2], i226[2], i228[2], a2344[2]))) → LOAD1414(java.lang.Object(ARRAY(i3[2], a2058data[2])), +(+(i150[2], 1), 1), -(i151[2], i227[2]), +(i152[2], +(i527[2], 1)))
LOAD1414ARR1(java.lang.Object(ARRAY(i3[1], a2058data[1])), i150[1], i151[1], i152[1], java.lang.Object(java.lang.String(i527[1], i526[1], i528[1], a3229[1])), java.lang.Object(java.lang.String(i227[1], i226[1], i228[1], a2344[1]))) → COND_LOAD1414ARR1(&&(&&(&&(&&(&&(&&(&&(>(+(i150[1], 1), 0), <(+(i150[1], 1), i3[1])), >(i150[1], 0)), <(i150[1], i3[1])), >=(-(i151[1], i152[1]), 1)), >(+(i527[1], 1), 0)), >(+(i152[1], +(i527[1], 1)), 0)), >(+(+(i150[1], 1), 1), 0)), java.lang.Object(ARRAY(i3[1], a2058data[1])), i150[1], i151[1], i152[1], java.lang.Object(java.lang.String(i527[1], i526[1], i528[1], a3229[1])), java.lang.Object(java.lang.String(i227[1], i226[1], i228[1], a2344[1])))
LOAD1414ARR1(java.lang.Object(ARRAY(i3[1], a2058data[1])), i150[1], i151[1], i152[1], java.lang.Object(java.lang.String(i527[1], i526[1], i528[1], a3229[1])), java.lang.Object(java.lang.String(i227[1], i226[1], i228[1], a2344[1]))) → COND_LOAD1414ARR1(&&(&&(&&(&&(&&(&&(&&(>(+(i150[1], 1), 0), <(+(i150[1], 1), i3[1])), >(i150[1], 0)), <(i150[1], i3[1])), >=(-(i151[1], i152[1]), 1)), >(+(i527[1], 1), 0)), >(+(i152[1], +(i527[1], 1)), 0)), >(+(+(i150[1], 1), 1), 0)), java.lang.Object(ARRAY(i3[1], a2058data[1])), i150[1], i151[1], i152[1], java.lang.Object(java.lang.String(i527[1], i526[1], i528[1], a3229[1])), java.lang.Object(java.lang.String(i227[1], i226[1], i228[1], a2344[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 |
Integer
(2) -> (0), if (((i3[2] →* i3[0])∧(a2058data[2] →* a2058data[0]))∧(i152[2] + i527[2] + 1 →* i152[0])∧(i150[2] + 1 + 1 →* i150[0])∧(i151[2] - i227[2] →* i151[0]))