0 JBC
↳1 JBC2FIG (⇐)
↳2 FIGraph
↳3 FIGtoITRSProof (⇐)
↳4 AND
↳5 ITRS
↳6 ITRStoIDPProof (⇔)
↳7 IDP
↳8 UsableRulesProof (⇔)
↳9 IDP
↳10 IDPNonInfProof (⇐)
↳11 IDP
↳12 IDependencyGraphProof (⇔)
↳13 TRUE
↳14 ITRS
↳15 DuplicateArgsRemoverProof (⇔)
↳16 ITRS
↳17 ITRStoIDPProof (⇔)
↳18 IDP
↳19 UsableRulesProof (⇔)
↳20 IDP
↳21 ItpfGraphProof (⇔)
↳22 IDP
↳23 IDPNonInfProof (⇐)
↳24 AND
↳25 IDP
↳26 IDependencyGraphProof (⇔)
↳27 TRUE
↳28 IDP
↳29 IDependencyGraphProof (⇔)
↳30 TRUE
↳31 ITRS
↳32 ITRSFilterProcessorProof (⇐)
↳33 ITRS
↳34 ITRStoIDPProof (⇔)
↳35 IDP
↳36 UsableRulesProof (⇔)
↳37 IDP
↳38 ItpfGraphProof (⇔)
↳39 IDP
↳40 IDPNonInfProof (⇐)
↳41 AND
↳42 IDP
↳43 IDependencyGraphProof (⇔)
↳44 TRUE
↳45 IDP
↳46 IDependencyGraphProof (⇔)
↳47 TRUE
public class ListContentArbitrary{
public static void main(String[] args) {
Random.args = args;
IntList l = IntList.createIntList();
int n = Random.random();
int m = l.nth(n);
while (m > 0) m--;
}
}
class IntList {
int value;
IntList next;
public IntList(int value, IntList next) {
this.value = value;
this.next = next;
}
public static IntList createIntList() {
int i = Random.random();
IntList l = null;
while (i > 0) {
l = new IntList(Random.random(), l);
i--;
}
return l;
}
public int nth(int n){
IntList l = this;
while (n > 1) {
n--;
l = l.next;
}
return l.value;
}
}
public class Random {
static String[] args;
static int index = 0;
public static int random() {
String string = args[index];
index++;
return string.length();
}
}
!= | ~ | 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 ((i761[0] →* i761[1])∧(i761[0] > 0 →* TRUE))
(1) -> (0), if ((i761[1] + -1 →* i761[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 ((i761[0] →* i761[1])∧(i761[0] > 0 →* TRUE))
(1) -> (0), if ((i761[1] + -1 →* i761[0]))
(1) (i761[0]=i761[1]∧>(i761[0], 0)=TRUE ⇒ LOAD3670(i761[0])≥NonInfC∧LOAD3670(i761[0])≥COND_LOAD3670(>(i761[0], 0), i761[0])∧(UIncreasing(COND_LOAD3670(>(i761[0], 0), i761[0])), ≥))
(2) (>(i761[0], 0)=TRUE ⇒ LOAD3670(i761[0])≥NonInfC∧LOAD3670(i761[0])≥COND_LOAD3670(>(i761[0], 0), i761[0])∧(UIncreasing(COND_LOAD3670(>(i761[0], 0), i761[0])), ≥))
(3) (i761[0] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD3670(>(i761[0], 0), i761[0])), ≥)∧[(-1)Bound*bni_9] + [(2)bni_9]i761[0] ≥ 0∧[1 + (-1)bso_10] ≥ 0)
(4) (i761[0] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD3670(>(i761[0], 0), i761[0])), ≥)∧[(-1)Bound*bni_9] + [(2)bni_9]i761[0] ≥ 0∧[1 + (-1)bso_10] ≥ 0)
(5) (i761[0] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD3670(>(i761[0], 0), i761[0])), ≥)∧[(-1)Bound*bni_9] + [(2)bni_9]i761[0] ≥ 0∧[1 + (-1)bso_10] ≥ 0)
(6) (i761[0] ≥ 0 ⇒ (UIncreasing(COND_LOAD3670(>(i761[0], 0), i761[0])), ≥)∧[(-1)Bound*bni_9 + (2)bni_9] + [(2)bni_9]i761[0] ≥ 0∧[1 + (-1)bso_10] ≥ 0)
(7) (i761[0]=i761[1]∧>(i761[0], 0)=TRUE∧+(i761[1], -1)=i761[0]1 ⇒ COND_LOAD3670(TRUE, i761[1])≥NonInfC∧COND_LOAD3670(TRUE, i761[1])≥LOAD3670(+(i761[1], -1))∧(UIncreasing(LOAD3670(+(i761[1], -1))), ≥))
(8) (>(i761[0], 0)=TRUE ⇒ COND_LOAD3670(TRUE, i761[0])≥NonInfC∧COND_LOAD3670(TRUE, i761[0])≥LOAD3670(+(i761[0], -1))∧(UIncreasing(LOAD3670(+(i761[1], -1))), ≥))
(9) (i761[0] + [-1] ≥ 0 ⇒ (UIncreasing(LOAD3670(+(i761[1], -1))), ≥)∧[(-1)bni_11 + (-1)Bound*bni_11] + [(2)bni_11]i761[0] ≥ 0∧[1 + (-1)bso_12] ≥ 0)
(10) (i761[0] + [-1] ≥ 0 ⇒ (UIncreasing(LOAD3670(+(i761[1], -1))), ≥)∧[(-1)bni_11 + (-1)Bound*bni_11] + [(2)bni_11]i761[0] ≥ 0∧[1 + (-1)bso_12] ≥ 0)
(11) (i761[0] + [-1] ≥ 0 ⇒ (UIncreasing(LOAD3670(+(i761[1], -1))), ≥)∧[(-1)bni_11 + (-1)Bound*bni_11] + [(2)bni_11]i761[0] ≥ 0∧[1 + (-1)bso_12] ≥ 0)
(12) (i761[0] ≥ 0 ⇒ (UIncreasing(LOAD3670(+(i761[1], -1))), ≥)∧[bni_11 + (-1)Bound*bni_11] + [(2)bni_11]i761[0] ≥ 0∧[1 + (-1)bso_12] ≥ 0)
POL(TRUE) = 0
POL(FALSE) = 0
POL(LOAD3670(x1)) = [2]x1
POL(COND_LOAD3670(x1, x2)) = [-1] + [2]x2
POL(>(x1, x2)) = [-1]
POL(0) = 0
POL(+(x1, x2)) = x1 + x2
POL(-1) = [-1]
LOAD3670(i761[0]) → COND_LOAD3670(>(i761[0], 0), i761[0])
COND_LOAD3670(TRUE, i761[1]) → LOAD3670(+(i761[1], -1))
LOAD3670(i761[0]) → COND_LOAD3670(>(i761[0], 0), i761[0])
COND_LOAD3670(TRUE, i761[1]) → LOAD3670(+(i761[1], -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 |
!= | ~ | 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_Load3339(x1, x2, x3, x4) → Cond_Load3339(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 ((i674[0] →* i674[1])∧(i674[0] > 1 →* TRUE)∧(java.lang.Object(IntList(o5734[0])) →* java.lang.Object(IntList(o5734[1]))))
(1) -> (2), if ((i674[1] + -1 →* i689[2])∧(java.lang.Object(IntList(o5734[1])) →* java.lang.Object(IntList(o5301Field0[2])))∧(o5734[1] →* o5723[2]))
(2) -> (0), if ((i689[2] →* i674[0])∧(o5723[2] →* java.lang.Object(IntList(o5734[0])))∧(java.lang.Object(IntList(o5301Field0[2])) →* java.lang.Object(IntList(o5734[0]))))
(2) -> (3), if ((java.lang.Object(IntList(o5301Field0[2])) →* java.lang.Object(IntList(o5301Field0[3])))∧(o5723[2] →* java.lang.Object(IntList(o5723[3])))∧(i689[2] →* i674[3]))
(3) -> (4), if ((java.lang.Object(IntList(o5723[3])) →* java.lang.Object(IntList(o5723[4])))∧(java.lang.Object(IntList(o5301Field0[3])) →* java.lang.Object(IntList(o5301Field0[4])))∧(i674[3] →* i674[4])∧(i674[3] > 1 →* TRUE))
(4) -> (0), if ((i674[4] + -1 →* i674[0])∧(java.lang.Object(IntList(o5301Field0[4])) →* java.lang.Object(IntList(o5734[0])))∧(o5723[4] →* java.lang.Object(IntList(o5734[0]))))
(4) -> (3), if ((java.lang.Object(IntList(o5301Field0[4])) →* java.lang.Object(IntList(o5301Field0[3])))∧(i674[4] + -1 →* i674[3])∧(o5723[4] →* java.lang.Object(IntList(o5723[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 ((i674[0] →* i674[1])∧(i674[0] > 1 →* TRUE)∧(java.lang.Object(IntList(o5734[0])) →* java.lang.Object(IntList(o5734[1]))))
(1) -> (2), if ((i674[1] + -1 →* i689[2])∧(java.lang.Object(IntList(o5734[1])) →* java.lang.Object(IntList(o5301Field0[2])))∧(o5734[1] →* o5723[2]))
(2) -> (0), if ((i689[2] →* i674[0])∧(o5723[2] →* java.lang.Object(IntList(o5734[0])))∧(java.lang.Object(IntList(o5301Field0[2])) →* java.lang.Object(IntList(o5734[0]))))
(2) -> (3), if ((java.lang.Object(IntList(o5301Field0[2])) →* java.lang.Object(IntList(o5301Field0[3])))∧(o5723[2] →* java.lang.Object(IntList(o5723[3])))∧(i689[2] →* i674[3]))
(3) -> (4), if ((java.lang.Object(IntList(o5723[3])) →* java.lang.Object(IntList(o5723[4])))∧(java.lang.Object(IntList(o5301Field0[3])) →* java.lang.Object(IntList(o5301Field0[4])))∧(i674[3] →* i674[4])∧(i674[3] > 1 →* TRUE))
(4) -> (0), if ((i674[4] + -1 →* i674[0])∧(java.lang.Object(IntList(o5301Field0[4])) →* java.lang.Object(IntList(o5734[0])))∧(o5723[4] →* java.lang.Object(IntList(o5734[0]))))
(4) -> (3), if ((java.lang.Object(IntList(o5301Field0[4])) →* java.lang.Object(IntList(o5301Field0[3])))∧(i674[4] + -1 →* i674[3])∧(o5723[4] →* java.lang.Object(IntList(o5723[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 ((i674[0] →* i674[1])∧(i674[0] > 1 →* TRUE)∧((o5734[0] →* o5734[1])))
(1) -> (2), if ((i674[1] + -1 →* i689[2])∧((o5734[1] →* o5301Field0[2]))∧(o5734[1] →* o5723[2]))
(2) -> (0), if ((i689[2] →* i674[0])∧(o5723[2] →* java.lang.Object(IntList(o5734[0])))∧((o5301Field0[2] →* o5734[0])))
(2) -> (3), if (((o5301Field0[2] →* o5301Field0[3]))∧(o5723[2] →* java.lang.Object(IntList(o5723[3])))∧(i689[2] →* i674[3]))
(3) -> (4), if (((o5723[3] →* o5723[4]))∧((o5301Field0[3] →* o5301Field0[4]))∧(i674[3] →* i674[4])∧(i674[3] > 1 →* TRUE))
(4) -> (0), if ((i674[4] + -1 →* i674[0])∧((o5301Field0[4] →* o5734[0]))∧(o5723[4] →* java.lang.Object(IntList(o5734[0]))))
(4) -> (3), if (((o5301Field0[4] →* o5301Field0[3]))∧(i674[4] + -1 →* i674[3])∧(o5723[4] →* java.lang.Object(IntList(o5723[3]))))
(1) (i674[0]=i674[1]∧>(i674[0], 1)=TRUE∧o5734[0]=o5734[1] ⇒ LOAD3339(java.lang.Object(IntList(o5734[0])), i674[0], java.lang.Object(IntList(o5734[0])))≥COND_LOAD3339(>(i674[0], 1), i674[0], java.lang.Object(IntList(o5734[0])))∧(UIncreasing(COND_LOAD3339(>(i674[0], 1), i674[0], java.lang.Object(IntList(o5734[0])))), ≥))
(2) (>(i674[0], 1)=TRUE ⇒ LOAD3339(java.lang.Object(IntList(o5734[0])), i674[0], java.lang.Object(IntList(o5734[0])))≥COND_LOAD3339(>(i674[0], 1), i674[0], java.lang.Object(IntList(o5734[0])))∧(UIncreasing(COND_LOAD3339(>(i674[0], 1), i674[0], java.lang.Object(IntList(o5734[0])))), ≥))
(3) (0 ≥ 0 ⇒ (UIncreasing(COND_LOAD3339(>(i674[0], 1), i674[0], java.lang.Object(IntList(o5734[0])))), ≥)∧[(-1)bso_22] + i674[0] ≥ 0)
(4) (0 ≥ 0 ⇒ (UIncreasing(COND_LOAD3339(>(i674[0], 1), i674[0], java.lang.Object(IntList(o5734[0])))), ≥)∧[(-1)bso_22] + i674[0] ≥ 0)
(5) (0 ≥ 0 ⇒ (UIncreasing(COND_LOAD3339(>(i674[0], 1), i674[0], java.lang.Object(IntList(o5734[0])))), ≥)∧[(-1)bso_22] + i674[0] ≥ 0)
(6) (0 ≥ 0 ⇒ (UIncreasing(COND_LOAD3339(>(i674[0], 1), i674[0], java.lang.Object(IntList(o5734[0])))), ≥)∧0 ≥ 0∧[1] ≥ 0∧[(-1)bso_22] ≥ 0)
(7) (i674[0]=i674[1]∧>(i674[0], 1)=TRUE∧o5734[0]=o5734[1]∧+(i674[1], -1)=i689[2]∧o5734[1]=o5301Field0[2]∧o5734[1]=o5723[2] ⇒ COND_LOAD3339(TRUE, i674[1], java.lang.Object(IntList(o5734[1])))≥JMP3739'(java.lang.Object(IntList(o5734[1])), +(i674[1], -1), o5734[1])∧(UIncreasing(JMP3739'(java.lang.Object(IntList(o5734[1])), +(i674[1], -1), o5734[1])), ≥))
(8) (>(i674[0], 1)=TRUE ⇒ COND_LOAD3339(TRUE, i674[0], java.lang.Object(IntList(o5734[0])))≥JMP3739'(java.lang.Object(IntList(o5734[0])), +(i674[0], -1), o5734[0])∧(UIncreasing(JMP3739'(java.lang.Object(IntList(o5734[1])), +(i674[1], -1), o5734[1])), ≥))
(9) (0 ≥ 0 ⇒ (UIncreasing(JMP3739'(java.lang.Object(IntList(o5734[1])), +(i674[1], -1), o5734[1])), ≥)∧[2 + (-1)bso_23] + i674[0] ≥ 0)
(10) (0 ≥ 0 ⇒ (UIncreasing(JMP3739'(java.lang.Object(IntList(o5734[1])), +(i674[1], -1), o5734[1])), ≥)∧[2 + (-1)bso_23] + i674[0] ≥ 0)
(11) (0 ≥ 0 ⇒ (UIncreasing(JMP3739'(java.lang.Object(IntList(o5734[1])), +(i674[1], -1), o5734[1])), ≥)∧[2 + (-1)bso_23] + i674[0] ≥ 0)
(12) (0 ≥ 0 ⇒ (UIncreasing(JMP3739'(java.lang.Object(IntList(o5734[1])), +(i674[1], -1), o5734[1])), ≥)∧0 ≥ 0∧[1] ≥ 0∧[2 + (-1)bso_23] ≥ 0)
(13) (i689[2]=i674[0]∧o5723[2]=java.lang.Object(IntList(o5734[0]))∧o5301Field0[2]=o5734[0] ⇒ JMP3739'(java.lang.Object(IntList(o5301Field0[2])), i689[2], o5723[2])≥LOAD3339(java.lang.Object(IntList(o5301Field0[2])), i689[2], o5723[2])∧(UIncreasing(LOAD3339(java.lang.Object(IntList(o5301Field0[2])), i689[2], o5723[2])), ≥))
(14) (JMP3739'(java.lang.Object(IntList(o5301Field0[2])), i689[2], java.lang.Object(IntList(o5301Field0[2])))≥LOAD3339(java.lang.Object(IntList(o5301Field0[2])), i689[2], java.lang.Object(IntList(o5301Field0[2])))∧(UIncreasing(LOAD3339(java.lang.Object(IntList(o5301Field0[2])), i689[2], o5723[2])), ≥))
(15) ((UIncreasing(LOAD3339(java.lang.Object(IntList(o5301Field0[2])), i689[2], o5723[2])), ≥)∧[7 + (-1)bso_24] + [6]o5301Field0[2] + i689[2] ≥ 0)
(16) ((UIncreasing(LOAD3339(java.lang.Object(IntList(o5301Field0[2])), i689[2], o5723[2])), ≥)∧[7 + (-1)bso_24] + [6]o5301Field0[2] + i689[2] ≥ 0)
(17) ((UIncreasing(LOAD3339(java.lang.Object(IntList(o5301Field0[2])), i689[2], o5723[2])), ≥)∧[7 + (-1)bso_24] + [6]o5301Field0[2] + i689[2] ≥ 0)
(18) ((UIncreasing(LOAD3339(java.lang.Object(IntList(o5301Field0[2])), i689[2], o5723[2])), ≥)∧[1] ≥ 0∧[7 + (-1)bso_24] ≥ 0∧[1] ≥ 0)
(19) (o5301Field0[2]=o5301Field0[3]∧o5723[2]=java.lang.Object(IntList(o5723[3]))∧i689[2]=i674[3] ⇒ JMP3739'(java.lang.Object(IntList(o5301Field0[2])), i689[2], o5723[2])≥LOAD3339(java.lang.Object(IntList(o5301Field0[2])), i689[2], o5723[2])∧(UIncreasing(LOAD3339(java.lang.Object(IntList(o5301Field0[2])), i689[2], o5723[2])), ≥))
(20) (JMP3739'(java.lang.Object(IntList(o5301Field0[2])), i689[2], java.lang.Object(IntList(o5723[3])))≥LOAD3339(java.lang.Object(IntList(o5301Field0[2])), i689[2], java.lang.Object(IntList(o5723[3])))∧(UIncreasing(LOAD3339(java.lang.Object(IntList(o5301Field0[2])), i689[2], o5723[2])), ≥))
(21) ((UIncreasing(LOAD3339(java.lang.Object(IntList(o5301Field0[2])), i689[2], o5723[2])), ≥)∧[7 + (-1)bso_24] + i689[2] + [6]o5301Field0[2] ≥ 0)
(22) ((UIncreasing(LOAD3339(java.lang.Object(IntList(o5301Field0[2])), i689[2], o5723[2])), ≥)∧[7 + (-1)bso_24] + i689[2] + [6]o5301Field0[2] ≥ 0)
(23) ((UIncreasing(LOAD3339(java.lang.Object(IntList(o5301Field0[2])), i689[2], o5723[2])), ≥)∧[7 + (-1)bso_24] + i689[2] + [6]o5301Field0[2] ≥ 0)
(24) ((UIncreasing(LOAD3339(java.lang.Object(IntList(o5301Field0[2])), i689[2], o5723[2])), ≥)∧0 ≥ 0∧[1] ≥ 0∧[7 + (-1)bso_24] ≥ 0∧[1] ≥ 0)
(25) (o5723[3]=o5723[4]∧o5301Field0[3]=o5301Field0[4]∧i674[3]=i674[4]∧>(i674[3], 1)=TRUE ⇒ LOAD3339(java.lang.Object(IntList(o5301Field0[3])), i674[3], java.lang.Object(IntList(o5723[3])))≥COND_LOAD33391(>(i674[3], 1), java.lang.Object(IntList(o5301Field0[3])), i674[3], java.lang.Object(IntList(o5723[3])))∧(UIncreasing(COND_LOAD33391(>(i674[3], 1), java.lang.Object(IntList(o5301Field0[3])), i674[3], java.lang.Object(IntList(o5723[3])))), ≥))
(26) (>(i674[3], 1)=TRUE ⇒ LOAD3339(java.lang.Object(IntList(o5301Field0[3])), i674[3], java.lang.Object(IntList(o5723[3])))≥COND_LOAD33391(>(i674[3], 1), java.lang.Object(IntList(o5301Field0[3])), i674[3], java.lang.Object(IntList(o5723[3])))∧(UIncreasing(COND_LOAD33391(>(i674[3], 1), java.lang.Object(IntList(o5301Field0[3])), i674[3], java.lang.Object(IntList(o5723[3])))), ≥))
(27) (0 ≥ 0 ⇒ (UIncreasing(COND_LOAD33391(>(i674[3], 1), java.lang.Object(IntList(o5301Field0[3])), i674[3], java.lang.Object(IntList(o5723[3])))), ≥)∧[2 + (-1)bso_25] + [3]o5723[3] + [2]i674[3] ≥ 0)
(28) (0 ≥ 0 ⇒ (UIncreasing(COND_LOAD33391(>(i674[3], 1), java.lang.Object(IntList(o5301Field0[3])), i674[3], java.lang.Object(IntList(o5723[3])))), ≥)∧[2 + (-1)bso_25] + [3]o5723[3] + [2]i674[3] ≥ 0)
(29) (0 ≥ 0 ⇒ (UIncreasing(COND_LOAD33391(>(i674[3], 1), java.lang.Object(IntList(o5301Field0[3])), i674[3], java.lang.Object(IntList(o5723[3])))), ≥)∧[2 + (-1)bso_25] + [3]o5723[3] + [2]i674[3] ≥ 0)
(30) (0 ≥ 0 ⇒ (UIncreasing(COND_LOAD33391(>(i674[3], 1), java.lang.Object(IntList(o5301Field0[3])), i674[3], java.lang.Object(IntList(o5723[3])))), ≥)∧0 ≥ 0∧[2 + (-1)bso_25] ≥ 0∧[1] ≥ 0∧[1] ≥ 0)
(31) (o5723[3]=o5723[4]∧o5301Field0[3]=o5301Field0[4]∧i674[3]=i674[4]∧>(i674[3], 1)=TRUE∧+(i674[4], -1)=i674[0]∧o5301Field0[4]=o5734[0]∧o5723[4]=java.lang.Object(IntList(o5734[0])) ⇒ COND_LOAD33391(TRUE, java.lang.Object(IntList(o5301Field0[4])), i674[4], java.lang.Object(IntList(o5723[4])))≥LOAD3339(java.lang.Object(IntList(o5301Field0[4])), +(i674[4], -1), o5723[4])∧(UIncreasing(LOAD3339(java.lang.Object(IntList(o5301Field0[4])), +(i674[4], -1), o5723[4])), ≥))
(32) (>(i674[3], 1)=TRUE ⇒ COND_LOAD33391(TRUE, java.lang.Object(IntList(o5301Field0[3])), i674[3], java.lang.Object(IntList(java.lang.Object(IntList(o5301Field0[3])))))≥LOAD3339(java.lang.Object(IntList(o5301Field0[3])), +(i674[3], -1), java.lang.Object(IntList(o5301Field0[3])))∧(UIncreasing(LOAD3339(java.lang.Object(IntList(o5301Field0[4])), +(i674[4], -1), o5723[4])), ≥))
(33) (0 ≥ 0 ⇒ (UIncreasing(LOAD3339(java.lang.Object(IntList(o5301Field0[4])), +(i674[4], -1), o5723[4])), ≥)∧[16 + (-1)bso_26] + [9]o5301Field0[3] ≥ 0)
(34) (0 ≥ 0 ⇒ (UIncreasing(LOAD3339(java.lang.Object(IntList(o5301Field0[4])), +(i674[4], -1), o5723[4])), ≥)∧[16 + (-1)bso_26] + [9]o5301Field0[3] ≥ 0)
(35) (0 ≥ 0 ⇒ (UIncreasing(LOAD3339(java.lang.Object(IntList(o5301Field0[4])), +(i674[4], -1), o5723[4])), ≥)∧[16 + (-1)bso_26] + [9]o5301Field0[3] ≥ 0)
(36) (0 ≥ 0 ⇒ (UIncreasing(LOAD3339(java.lang.Object(IntList(o5301Field0[4])), +(i674[4], -1), o5723[4])), ≥)∧0 ≥ 0∧[16 + (-1)bso_26] ≥ 0∧[1] ≥ 0)
(37) (o5723[3]=o5723[4]∧o5301Field0[3]=o5301Field0[4]∧i674[3]=i674[4]∧>(i674[3], 1)=TRUE∧o5301Field0[4]=o5301Field0[3]1∧+(i674[4], -1)=i674[3]1∧o5723[4]=java.lang.Object(IntList(o5723[3]1)) ⇒ COND_LOAD33391(TRUE, java.lang.Object(IntList(o5301Field0[4])), i674[4], java.lang.Object(IntList(o5723[4])))≥LOAD3339(java.lang.Object(IntList(o5301Field0[4])), +(i674[4], -1), o5723[4])∧(UIncreasing(LOAD3339(java.lang.Object(IntList(o5301Field0[4])), +(i674[4], -1), o5723[4])), ≥))
(38) (>(i674[3], 1)=TRUE ⇒ COND_LOAD33391(TRUE, java.lang.Object(IntList(o5301Field0[3])), i674[3], java.lang.Object(IntList(java.lang.Object(IntList(o5723[3]1)))))≥LOAD3339(java.lang.Object(IntList(o5301Field0[3])), +(i674[3], -1), java.lang.Object(IntList(o5723[3]1)))∧(UIncreasing(LOAD3339(java.lang.Object(IntList(o5301Field0[4])), +(i674[4], -1), o5723[4])), ≥))
(39) (0 ≥ 0 ⇒ (UIncreasing(LOAD3339(java.lang.Object(IntList(o5301Field0[4])), +(i674[4], -1), o5723[4])), ≥)∧[16 + (-1)bso_26] + [9]o5723[3]1 ≥ 0)
(40) (0 ≥ 0 ⇒ (UIncreasing(LOAD3339(java.lang.Object(IntList(o5301Field0[4])), +(i674[4], -1), o5723[4])), ≥)∧[16 + (-1)bso_26] + [9]o5723[3]1 ≥ 0)
(41) (0 ≥ 0 ⇒ (UIncreasing(LOAD3339(java.lang.Object(IntList(o5301Field0[4])), +(i674[4], -1), o5723[4])), ≥)∧[16 + (-1)bso_26] + [9]o5723[3]1 ≥ 0)
(42) (0 ≥ 0 ⇒ (UIncreasing(LOAD3339(java.lang.Object(IntList(o5301Field0[4])), +(i674[4], -1), o5723[4])), ≥)∧0 ≥ 0∧0 ≥ 0∧[16 + (-1)bso_26] ≥ 0∧[1] ≥ 0)
POL(TRUE) = 0
POL(FALSE) = 0
POL(LOAD3339(x1, x2, x3)) = [1] + [3]x3 + [2]x2
POL(java.lang.Object(x1)) = [3]x1
POL(IntList(x1)) = [1] + x1
POL(COND_LOAD3339(x1, x2, x3)) = [1] + [3]x3 + x2
POL(>(x1, x2)) = 0
POL(1) = 0
POL(JMP3739'(x1, x2, x3)) = [2] + [3]x3 + [3]x2 + [2]x1
POL(+(x1, x2)) = 0
POL(-1) = 0
POL(COND_LOAD33391(x1, x2, x3, x4)) = [2] + [2]x4
COND_LOAD3339(TRUE, i674[1], java.lang.Object(IntList(o5734[1]))) → JMP3739'(java.lang.Object(IntList(o5734[1])), +(i674[1], -1), o5734[1])
JMP3739'(java.lang.Object(IntList(o5301Field0[2])), i689[2], o5723[2]) → LOAD3339(java.lang.Object(IntList(o5301Field0[2])), i689[2], o5723[2])
LOAD3339(java.lang.Object(IntList(o5301Field0[3])), i674[3], java.lang.Object(IntList(o5723[3]))) → COND_LOAD33391(>(i674[3], 1), java.lang.Object(IntList(o5301Field0[3])), i674[3], java.lang.Object(IntList(o5723[3])))
COND_LOAD33391(TRUE, java.lang.Object(IntList(o5301Field0[4])), i674[4], java.lang.Object(IntList(o5723[4]))) → LOAD3339(java.lang.Object(IntList(o5301Field0[4])), +(i674[4], -1), o5723[4])
LOAD3339(java.lang.Object(IntList(o5734[0])), i674[0], java.lang.Object(IntList(o5734[0]))) → COND_LOAD3339(>(i674[0], 1), i674[0], java.lang.Object(IntList(o5734[0])))
COND_LOAD3339(TRUE, i674[1], java.lang.Object(IntList(o5734[1]))) → JMP3739'(java.lang.Object(IntList(o5734[1])), +(i674[1], -1), o5734[1])
JMP3739'(java.lang.Object(IntList(o5301Field0[2])), i689[2], o5723[2]) → LOAD3339(java.lang.Object(IntList(o5301Field0[2])), i689[2], o5723[2])
LOAD3339(java.lang.Object(IntList(o5301Field0[3])), i674[3], java.lang.Object(IntList(o5723[3]))) → COND_LOAD33391(>(i674[3], 1), java.lang.Object(IntList(o5301Field0[3])), i674[3], java.lang.Object(IntList(o5723[3])))
COND_LOAD33391(TRUE, java.lang.Object(IntList(o5301Field0[4])), i674[4], java.lang.Object(IntList(o5723[4]))) → LOAD3339(java.lang.Object(IntList(o5301Field0[4])), +(i674[4], -1), o5723[4])
LOAD3339(java.lang.Object(IntList(o5734[0])), i674[0], java.lang.Object(IntList(o5734[0]))) → COND_LOAD3339(>(i674[0], 1), i674[0], java.lang.Object(IntList(o5734[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 |
!= | ~ | 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 |
Load2033ARR1(x1, x2, x3, x4) → Load2033ARR1(x1, x2, x3)
java.lang.String(x1) → java.lang.String
Cond_Load2033ARR1(x1, x2, x3, x4, x5) → Cond_Load2033ARR1(x1, x2, 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 |
Boolean, Integer
(0) -> (1), if ((i130[0] →* i130[1])∧(i127[0] →* i127[1])∧(java.lang.Object(ARRAY(i4[0], a4426data[0])) →* java.lang.Object(ARRAY(i4[1], a4426data[1]))))
(1) -> (2), if ((i130[1] →* i130[2])∧(i127[1] →* i127[2])∧(i127[1] > 0 && i127[1] < i4[1] && i130[1] > 0 && i127[1] + 1 > 0 →* TRUE)∧(java.lang.Object(ARRAY(i4[1], a4426data[1])) →* java.lang.Object(ARRAY(i4[2], a4426data[2]))))
(2) -> (0), if ((i130[2] + -1 →* i130[0])∧(java.lang.Object(ARRAY(i4[2], a4426data[2])) →* java.lang.Object(ARRAY(i4[0], a4426data[0])))∧(i127[2] + 1 →* i127[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 ((i130[0] →* i130[1])∧(i127[0] →* i127[1])∧(java.lang.Object(ARRAY(i4[0], a4426data[0])) →* java.lang.Object(ARRAY(i4[1], a4426data[1]))))
(1) -> (2), if ((i130[1] →* i130[2])∧(i127[1] →* i127[2])∧(i127[1] > 0 && i127[1] < i4[1] && i130[1] > 0 && i127[1] + 1 > 0 →* TRUE)∧(java.lang.Object(ARRAY(i4[1], a4426data[1])) →* java.lang.Object(ARRAY(i4[2], a4426data[2]))))
(2) -> (0), if ((i130[2] + -1 →* i130[0])∧(java.lang.Object(ARRAY(i4[2], a4426data[2])) →* java.lang.Object(ARRAY(i4[0], a4426data[0])))∧(i127[2] + 1 →* i127[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 ((i130[0] →* i130[1])∧(i127[0] →* i127[1])∧((i4[0] →* i4[1])∧(a4426data[0] →* a4426data[1])))
(1) -> (2), if ((i130[1] →* i130[2])∧(i127[1] →* i127[2])∧(i127[1] > 0 && i127[1] < i4[1] && i130[1] > 0 && i127[1] + 1 > 0 →* TRUE)∧((i4[1] →* i4[2])∧(a4426data[1] →* a4426data[2])))
(2) -> (0), if ((i130[2] + -1 →* i130[0])∧((i4[2] →* i4[0])∧(a4426data[2] →* a4426data[0]))∧(i127[2] + 1 →* i127[0]))
(1) (i130[0]=i130[1]∧i127[0]=i127[1]∧i4[0]=i4[1]∧a4426data[0]=a4426data[1] ⇒ LOAD2033(java.lang.Object(ARRAY(i4[0], a4426data[0])), i127[0], i130[0])≥NonInfC∧LOAD2033(java.lang.Object(ARRAY(i4[0], a4426data[0])), i127[0], i130[0])≥LOAD2033ARR1(java.lang.Object(ARRAY(i4[0], a4426data[0])), i127[0], i130[0])∧(UIncreasing(LOAD2033ARR1(java.lang.Object(ARRAY(i4[0], a4426data[0])), i127[0], i130[0])), ≥))
(2) (LOAD2033(java.lang.Object(ARRAY(i4[0], a4426data[0])), i127[0], i130[0])≥NonInfC∧LOAD2033(java.lang.Object(ARRAY(i4[0], a4426data[0])), i127[0], i130[0])≥LOAD2033ARR1(java.lang.Object(ARRAY(i4[0], a4426data[0])), i127[0], i130[0])∧(UIncreasing(LOAD2033ARR1(java.lang.Object(ARRAY(i4[0], a4426data[0])), i127[0], i130[0])), ≥))
(3) ((UIncreasing(LOAD2033ARR1(java.lang.Object(ARRAY(i4[0], a4426data[0])), i127[0], i130[0])), ≥)∧[(-1)bso_16] ≥ 0)
(4) ((UIncreasing(LOAD2033ARR1(java.lang.Object(ARRAY(i4[0], a4426data[0])), i127[0], i130[0])), ≥)∧[(-1)bso_16] ≥ 0)
(5) ((UIncreasing(LOAD2033ARR1(java.lang.Object(ARRAY(i4[0], a4426data[0])), i127[0], i130[0])), ≥)∧[(-1)bso_16] ≥ 0)
(6) ((UIncreasing(LOAD2033ARR1(java.lang.Object(ARRAY(i4[0], a4426data[0])), i127[0], i130[0])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_16] ≥ 0)
(7) (i130[1]=i130[2]∧i127[1]=i127[2]∧&&(&&(&&(>(i127[1], 0), <(i127[1], i4[1])), >(i130[1], 0)), >(+(i127[1], 1), 0))=TRUE∧i4[1]=i4[2]∧a4426data[1]=a4426data[2] ⇒ LOAD2033ARR1(java.lang.Object(ARRAY(i4[1], a4426data[1])), i127[1], i130[1])≥NonInfC∧LOAD2033ARR1(java.lang.Object(ARRAY(i4[1], a4426data[1])), i127[1], i130[1])≥COND_LOAD2033ARR1(&&(&&(&&(>(i127[1], 0), <(i127[1], i4[1])), >(i130[1], 0)), >(+(i127[1], 1), 0)), java.lang.Object(ARRAY(i4[1], a4426data[1])), i127[1], i130[1])∧(UIncreasing(COND_LOAD2033ARR1(&&(&&(&&(>(i127[1], 0), <(i127[1], i4[1])), >(i130[1], 0)), >(+(i127[1], 1), 0)), java.lang.Object(ARRAY(i4[1], a4426data[1])), i127[1], i130[1])), ≥))
(8) (>(+(i127[1], 1), 0)=TRUE∧>(i130[1], 0)=TRUE∧>(i127[1], 0)=TRUE∧<(i127[1], i4[1])=TRUE ⇒ LOAD2033ARR1(java.lang.Object(ARRAY(i4[1], a4426data[1])), i127[1], i130[1])≥NonInfC∧LOAD2033ARR1(java.lang.Object(ARRAY(i4[1], a4426data[1])), i127[1], i130[1])≥COND_LOAD2033ARR1(&&(&&(&&(>(i127[1], 0), <(i127[1], i4[1])), >(i130[1], 0)), >(+(i127[1], 1), 0)), java.lang.Object(ARRAY(i4[1], a4426data[1])), i127[1], i130[1])∧(UIncreasing(COND_LOAD2033ARR1(&&(&&(&&(>(i127[1], 0), <(i127[1], i4[1])), >(i130[1], 0)), >(+(i127[1], 1), 0)), java.lang.Object(ARRAY(i4[1], a4426data[1])), i127[1], i130[1])), ≥))
(9) (i127[1] ≥ 0∧i130[1] + [-1] ≥ 0∧i127[1] + [-1] ≥ 0∧i4[1] + [-1] + [-1]i127[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD2033ARR1(&&(&&(&&(>(i127[1], 0), <(i127[1], i4[1])), >(i130[1], 0)), >(+(i127[1], 1), 0)), java.lang.Object(ARRAY(i4[1], a4426data[1])), i127[1], i130[1])), ≥)∧[(2)bni_17 + (-1)Bound*bni_17] + [bni_17]i130[1] + [(-1)bni_17]i127[1] + [bni_17]i4[1] ≥ 0∧[(-1)bso_18] ≥ 0)
(10) (i127[1] ≥ 0∧i130[1] + [-1] ≥ 0∧i127[1] + [-1] ≥ 0∧i4[1] + [-1] + [-1]i127[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD2033ARR1(&&(&&(&&(>(i127[1], 0), <(i127[1], i4[1])), >(i130[1], 0)), >(+(i127[1], 1), 0)), java.lang.Object(ARRAY(i4[1], a4426data[1])), i127[1], i130[1])), ≥)∧[(2)bni_17 + (-1)Bound*bni_17] + [bni_17]i130[1] + [(-1)bni_17]i127[1] + [bni_17]i4[1] ≥ 0∧[(-1)bso_18] ≥ 0)
(11) (i127[1] ≥ 0∧i130[1] + [-1] ≥ 0∧i127[1] + [-1] ≥ 0∧i4[1] + [-1] + [-1]i127[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD2033ARR1(&&(&&(&&(>(i127[1], 0), <(i127[1], i4[1])), >(i130[1], 0)), >(+(i127[1], 1), 0)), java.lang.Object(ARRAY(i4[1], a4426data[1])), i127[1], i130[1])), ≥)∧[(2)bni_17 + (-1)Bound*bni_17] + [bni_17]i130[1] + [(-1)bni_17]i127[1] + [bni_17]i4[1] ≥ 0∧[(-1)bso_18] ≥ 0)
(12) (i127[1] ≥ 0∧i130[1] + [-1] ≥ 0∧i127[1] + [-1] ≥ 0∧i4[1] + [-1] + [-1]i127[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD2033ARR1(&&(&&(&&(>(i127[1], 0), <(i127[1], i4[1])), >(i130[1], 0)), >(+(i127[1], 1), 0)), java.lang.Object(ARRAY(i4[1], a4426data[1])), i127[1], i130[1])), ≥)∧0 = 0∧[(2)bni_17 + (-1)Bound*bni_17] + [bni_17]i130[1] + [(-1)bni_17]i127[1] + [bni_17]i4[1] ≥ 0∧0 = 0∧[(-1)bso_18] ≥ 0)
(13) ([1] + i127[1] ≥ 0∧i130[1] + [-1] ≥ 0∧i127[1] ≥ 0∧i4[1] + [-2] + [-1]i127[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD2033ARR1(&&(&&(&&(>(i127[1], 0), <(i127[1], i4[1])), >(i130[1], 0)), >(+(i127[1], 1), 0)), java.lang.Object(ARRAY(i4[1], a4426data[1])), i127[1], i130[1])), ≥)∧0 = 0∧[bni_17 + (-1)Bound*bni_17] + [bni_17]i130[1] + [(-1)bni_17]i127[1] + [bni_17]i4[1] ≥ 0∧0 = 0∧[(-1)bso_18] ≥ 0)
(14) ([1] + i127[1] ≥ 0∧i130[1] ≥ 0∧i127[1] ≥ 0∧i4[1] + [-2] + [-1]i127[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD2033ARR1(&&(&&(&&(>(i127[1], 0), <(i127[1], i4[1])), >(i130[1], 0)), >(+(i127[1], 1), 0)), java.lang.Object(ARRAY(i4[1], a4426data[1])), i127[1], i130[1])), ≥)∧0 = 0∧[(2)bni_17 + (-1)Bound*bni_17] + [bni_17]i130[1] + [(-1)bni_17]i127[1] + [bni_17]i4[1] ≥ 0∧0 = 0∧[(-1)bso_18] ≥ 0)
(15) ([1] + i127[1] ≥ 0∧i130[1] ≥ 0∧i127[1] ≥ 0∧i4[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD2033ARR1(&&(&&(&&(>(i127[1], 0), <(i127[1], i4[1])), >(i130[1], 0)), >(+(i127[1], 1), 0)), java.lang.Object(ARRAY(i4[1], a4426data[1])), i127[1], i130[1])), ≥)∧0 = 0∧[(4)bni_17 + (-1)Bound*bni_17] + [bni_17]i130[1] + [bni_17]i4[1] ≥ 0∧0 = 0∧[(-1)bso_18] ≥ 0)
(16) (COND_LOAD2033ARR1(TRUE, java.lang.Object(ARRAY(i4[2], a4426data[2])), i127[2], i130[2])≥NonInfC∧COND_LOAD2033ARR1(TRUE, java.lang.Object(ARRAY(i4[2], a4426data[2])), i127[2], i130[2])≥LOAD2033(java.lang.Object(ARRAY(i4[2], a4426data[2])), +(i127[2], 1), +(i130[2], -1))∧(UIncreasing(LOAD2033(java.lang.Object(ARRAY(i4[2], a4426data[2])), +(i127[2], 1), +(i130[2], -1))), ≥))
(17) ((UIncreasing(LOAD2033(java.lang.Object(ARRAY(i4[2], a4426data[2])), +(i127[2], 1), +(i130[2], -1))), ≥)∧[2 + (-1)bso_20] ≥ 0)
(18) ((UIncreasing(LOAD2033(java.lang.Object(ARRAY(i4[2], a4426data[2])), +(i127[2], 1), +(i130[2], -1))), ≥)∧[2 + (-1)bso_20] ≥ 0)
(19) ((UIncreasing(LOAD2033(java.lang.Object(ARRAY(i4[2], a4426data[2])), +(i127[2], 1), +(i130[2], -1))), ≥)∧[2 + (-1)bso_20] ≥ 0)
(20) ((UIncreasing(LOAD2033(java.lang.Object(ARRAY(i4[2], a4426data[2])), +(i127[2], 1), +(i130[2], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[2 + (-1)bso_20] ≥ 0)
POL(TRUE) = 0
POL(FALSE) = 0
POL(LOAD2033(x1, x2, x3)) = [1] + x3 + [-1]x2 + [-1]x1
POL(java.lang.Object(x1)) = x1
POL(ARRAY(x1, x2)) = [-1] + [-1]x1
POL(LOAD2033ARR1(x1, x2, x3)) = [1] + x3 + [-1]x2 + [-1]x1
POL(COND_LOAD2033ARR1(x1, x2, x3, x4)) = [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_LOAD2033ARR1(TRUE, java.lang.Object(ARRAY(i4[2], a4426data[2])), i127[2], i130[2]) → LOAD2033(java.lang.Object(ARRAY(i4[2], a4426data[2])), +(i127[2], 1), +(i130[2], -1))
LOAD2033ARR1(java.lang.Object(ARRAY(i4[1], a4426data[1])), i127[1], i130[1]) → COND_LOAD2033ARR1(&&(&&(&&(>(i127[1], 0), <(i127[1], i4[1])), >(i130[1], 0)), >(+(i127[1], 1), 0)), java.lang.Object(ARRAY(i4[1], a4426data[1])), i127[1], i130[1])
LOAD2033(java.lang.Object(ARRAY(i4[0], a4426data[0])), i127[0], i130[0]) → LOAD2033ARR1(java.lang.Object(ARRAY(i4[0], a4426data[0])), i127[0], i130[0])
LOAD2033ARR1(java.lang.Object(ARRAY(i4[1], a4426data[1])), i127[1], i130[1]) → COND_LOAD2033ARR1(&&(&&(&&(>(i127[1], 0), <(i127[1], i4[1])), >(i130[1], 0)), >(+(i127[1], 1), 0)), java.lang.Object(ARRAY(i4[1], a4426data[1])), i127[1], i130[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 ((i130[0] →* i130[1])∧(i127[0] →* i127[1])∧((i4[0] →* i4[1])∧(a4426data[0] →* a4426data[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 ((i130[2] + -1 →* i130[0])∧((i4[2] →* i4[0])∧(a4426data[2] →* a4426data[0]))∧(i127[2] + 1 →* i127[0]))