(0) Obligation:

JBC Problem based on JBC Program:
Manifest-Version: 1.0 Created-By: 1.6.0_16 (Sun Microsystems Inc.) Main-Class: DuplicateNodes
public class DuplicateNodes {
public static void main(String[] args) {
Random.args = args;
Tree tree = Tree.createTree();

randomlyDuplicate(tree);
}

public static void randomlyDuplicate(Tree tree) {
Tree cur = tree;

while (cur != null) {
if (Random.random() > 42) {
cur.right = new Tree(cur.left, cur.right);
cur = cur.left;
} else {
cur.left = new Tree(cur.left, cur.right);
cur = cur.right;
}
}
}
}


public class List {
Tree value;
List next;

public List(Tree value, List next) {
this.value = value;
this.next = next;
}
}


public class Random {
static String[] args;
static int index = 0;

public static int random() {
String string = args[index];
index++;
return string.length();
}
}


public class Tree {
Tree left;
Tree right;
Object value;

public Tree(Tree l, Tree r) {
this.left = l;
this.right = r;
}

public Tree() {
}

public static Tree createNode() {
if (Random.random() == 0) {
return null;
}
Tree result = new Tree();
return result;
}

public static Tree createTree() {
Tree result = createNode();
List list = new List(result, null);

int counter = Random.random();
while (counter > 0 && list != null) {
Tree first = list.value;
list = list.next;

if (first != null) {
Tree left = createNode();
Tree right = createNode();
first.left = left;
first.right = right;
list = new List(left, list);
list = new List(right, list);
}

counter--;
}

return result;
}

public static void main(String[] args) {
Random.args = args;
createTree();
}
}


(1) JBC2FIG (SOUND transformation)

Constructed FIGraph.

(2) Obligation:

FIGraph based on JBC Program:
Graph of 876 nodes with 2 SCCs.

(3) FIGtoITRSProof (SOUND transformation)

Transformed FIGraph to ITRS rules

(4) Complex Obligation (AND)

(5) Obligation:

ITRS problem:

The following function symbols are pre-defined:
!=~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

The TRS R consists of the following rules:
Load35058(java.lang.Object(ARRAY(i4, a115115data)), i5816, java.lang.Object(Tree(o96125, o96126))) → Load35058ARR1(java.lang.Object(ARRAY(i4, a115115data)), i5816, java.lang.Object(Tree(o96125, o96126)), java.lang.Object(java.lang.String(i5968)))
Load35058ARR1(java.lang.Object(ARRAY(i4, a115115data)), i5816, java.lang.Object(Tree(java.lang.Object(Tree(o96125, o96126)), o96126)), java.lang.Object(java.lang.String(i5968))) → Cond_Load35058ARR1(i5968 <= 42 && i5816 > 0 && i5816 < i4 && i5816 + 1 > 0, java.lang.Object(ARRAY(i4, a115115data)), i5816, java.lang.Object(Tree(java.lang.Object(Tree(o96125, o96126)), o96126)), java.lang.Object(java.lang.String(i5968)))
Cond_Load35058ARR1(TRUE, java.lang.Object(ARRAY(i4, a115115data)), i5816, java.lang.Object(Tree(java.lang.Object(Tree(o96125, o96126)), o96126)), java.lang.Object(java.lang.String(i5968))) → Load35058(java.lang.Object(ARRAY(i4, a115115data)), i5816 + 1, o96126)
Load35058(java.lang.Object(ARRAY(i4, a115115data)), i5816, java.lang.Object(Tree(o96140, o96141))) → Load35058ARR2(java.lang.Object(ARRAY(i4, a115115data)), i5816, java.lang.Object(Tree(o96140, o96141)), java.lang.Object(java.lang.String(i5968)))
Load35058ARR2(java.lang.Object(ARRAY(i4, a115115data)), i5816, java.lang.Object(Tree(o96140, java.lang.Object(Tree(o96140, o96141)))), java.lang.Object(java.lang.String(i5968))) → Cond_Load35058ARR2(i5968 > 42 && i5816 > 0 && i5816 < i4 && i5816 + 1 > 0, java.lang.Object(ARRAY(i4, a115115data)), i5816, java.lang.Object(Tree(o96140, java.lang.Object(Tree(o96140, o96141)))), java.lang.Object(java.lang.String(i5968)))
Cond_Load35058ARR2(TRUE, java.lang.Object(ARRAY(i4, a115115data)), i5816, java.lang.Object(Tree(o96140, java.lang.Object(Tree(o96140, o96141)))), java.lang.Object(java.lang.String(i5968))) → Load35058(java.lang.Object(ARRAY(i4, a115115data)), i5816 + 1, o96140)
The set Q consists of the following terms:
Load35058(java.lang.Object(ARRAY(x0, x1)), x2, java.lang.Object(Tree(x3, x4)))
Load35058ARR1(java.lang.Object(ARRAY(x0, x1)), x2, java.lang.Object(Tree(java.lang.Object(Tree(x3, x4)), x4)), java.lang.Object(java.lang.String(x5)))
Cond_Load35058ARR1(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, java.lang.Object(Tree(java.lang.Object(Tree(x3, x4)), x4)), java.lang.Object(java.lang.String(x5)))
Load35058ARR2(java.lang.Object(ARRAY(x0, x1)), x2, java.lang.Object(Tree(x3, java.lang.Object(Tree(x3, x4)))), java.lang.Object(java.lang.String(x5)))
Cond_Load35058ARR2(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, java.lang.Object(Tree(x3, java.lang.Object(Tree(x3, x4)))), java.lang.Object(java.lang.String(x5)))

(6) ITRStoIDPProof (EQUIVALENT transformation)

Added dependency pairs

(7) Obligation:

IDP problem:
The following function symbols are pre-defined:
!=~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


The following domains are used:

Boolean, Integer


The ITRS R consists of the following rules:
Load35058(java.lang.Object(ARRAY(i4, a115115data)), i5816, java.lang.Object(Tree(o96125, o96126))) → Load35058ARR1(java.lang.Object(ARRAY(i4, a115115data)), i5816, java.lang.Object(Tree(o96125, o96126)), java.lang.Object(java.lang.String(i5968)))
Load35058ARR1(java.lang.Object(ARRAY(i4, a115115data)), i5816, java.lang.Object(Tree(java.lang.Object(Tree(o96125, o96126)), o96126)), java.lang.Object(java.lang.String(i5968))) → Cond_Load35058ARR1(i5968 <= 42 && i5816 > 0 && i5816 < i4 && i5816 + 1 > 0, java.lang.Object(ARRAY(i4, a115115data)), i5816, java.lang.Object(Tree(java.lang.Object(Tree(o96125, o96126)), o96126)), java.lang.Object(java.lang.String(i5968)))
Cond_Load35058ARR1(TRUE, java.lang.Object(ARRAY(i4, a115115data)), i5816, java.lang.Object(Tree(java.lang.Object(Tree(o96125, o96126)), o96126)), java.lang.Object(java.lang.String(i5968))) → Load35058(java.lang.Object(ARRAY(i4, a115115data)), i5816 + 1, o96126)
Load35058(java.lang.Object(ARRAY(i4, a115115data)), i5816, java.lang.Object(Tree(o96140, o96141))) → Load35058ARR2(java.lang.Object(ARRAY(i4, a115115data)), i5816, java.lang.Object(Tree(o96140, o96141)), java.lang.Object(java.lang.String(i5968)))
Load35058ARR2(java.lang.Object(ARRAY(i4, a115115data)), i5816, java.lang.Object(Tree(o96140, java.lang.Object(Tree(o96140, o96141)))), java.lang.Object(java.lang.String(i5968))) → Cond_Load35058ARR2(i5968 > 42 && i5816 > 0 && i5816 < i4 && i5816 + 1 > 0, java.lang.Object(ARRAY(i4, a115115data)), i5816, java.lang.Object(Tree(o96140, java.lang.Object(Tree(o96140, o96141)))), java.lang.Object(java.lang.String(i5968)))
Cond_Load35058ARR2(TRUE, java.lang.Object(ARRAY(i4, a115115data)), i5816, java.lang.Object(Tree(o96140, java.lang.Object(Tree(o96140, o96141)))), java.lang.Object(java.lang.String(i5968))) → Load35058(java.lang.Object(ARRAY(i4, a115115data)), i5816 + 1, o96140)

The integer pair graph contains the following rules and edges:
(0): LOAD35058(java.lang.Object(ARRAY(i4[0], a115115data[0])), i5816[0], java.lang.Object(Tree(o96125[0], o96126[0]))) → LOAD35058ARR1(java.lang.Object(ARRAY(i4[0], a115115data[0])), i5816[0], java.lang.Object(Tree(o96125[0], o96126[0])), java.lang.Object(java.lang.String(i5968[0])))
(1): LOAD35058ARR1(java.lang.Object(ARRAY(i4[1], a115115data[1])), i5816[1], java.lang.Object(Tree(java.lang.Object(Tree(o96125[1], o96126[1])), o96126[1])), java.lang.Object(java.lang.String(i5968[1]))) → COND_LOAD35058ARR1(i5968[1] <= 42 && i5816[1] > 0 && i5816[1] < i4[1] && i5816[1] + 1 > 0, java.lang.Object(ARRAY(i4[1], a115115data[1])), i5816[1], java.lang.Object(Tree(java.lang.Object(Tree(o96125[1], o96126[1])), o96126[1])), java.lang.Object(java.lang.String(i5968[1])))
(2): COND_LOAD35058ARR1(TRUE, java.lang.Object(ARRAY(i4[2], a115115data[2])), i5816[2], java.lang.Object(Tree(java.lang.Object(Tree(o96125[2], o96126[2])), o96126[2])), java.lang.Object(java.lang.String(i5968[2]))) → LOAD35058(java.lang.Object(ARRAY(i4[2], a115115data[2])), i5816[2] + 1, o96126[2])
(3): LOAD35058(java.lang.Object(ARRAY(i4[3], a115115data[3])), i5816[3], java.lang.Object(Tree(o96140[3], o96141[3]))) → LOAD35058ARR2(java.lang.Object(ARRAY(i4[3], a115115data[3])), i5816[3], java.lang.Object(Tree(o96140[3], o96141[3])), java.lang.Object(java.lang.String(i5968[3])))
(4): LOAD35058ARR2(java.lang.Object(ARRAY(i4[4], a115115data[4])), i5816[4], java.lang.Object(Tree(o96140[4], java.lang.Object(Tree(o96140[4], o96141[4])))), java.lang.Object(java.lang.String(i5968[4]))) → COND_LOAD35058ARR2(i5968[4] > 42 && i5816[4] > 0 && i5816[4] < i4[4] && i5816[4] + 1 > 0, java.lang.Object(ARRAY(i4[4], a115115data[4])), i5816[4], java.lang.Object(Tree(o96140[4], java.lang.Object(Tree(o96140[4], o96141[4])))), java.lang.Object(java.lang.String(i5968[4])))
(5): COND_LOAD35058ARR2(TRUE, java.lang.Object(ARRAY(i4[5], a115115data[5])), i5816[5], java.lang.Object(Tree(o96140[5], java.lang.Object(Tree(o96140[5], o96141[5])))), java.lang.Object(java.lang.String(i5968[5]))) → LOAD35058(java.lang.Object(ARRAY(i4[5], a115115data[5])), i5816[5] + 1, o96140[5])

(0) -> (1), if ((java.lang.Object(java.lang.String(i5968[0])) →* java.lang.Object(java.lang.String(i5968[1])))∧(java.lang.Object(ARRAY(i4[0], a115115data[0])) →* java.lang.Object(ARRAY(i4[1], a115115data[1])))∧(i5816[0]* i5816[1])∧(java.lang.Object(Tree(o96125[0], o96126[0])) →* java.lang.Object(Tree(java.lang.Object(Tree(o96125[1], o96126[1])), o96126[1]))))


(1) -> (2), if ((java.lang.Object(ARRAY(i4[1], a115115data[1])) →* java.lang.Object(ARRAY(i4[2], a115115data[2])))∧(i5968[1] <= 42 && i5816[1] > 0 && i5816[1] < i4[1] && i5816[1] + 1 > 0* TRUE)∧(java.lang.Object(Tree(java.lang.Object(Tree(o96125[1], o96126[1])), o96126[1])) →* java.lang.Object(Tree(java.lang.Object(Tree(o96125[2], o96126[2])), o96126[2])))∧(i5816[1]* i5816[2])∧(java.lang.Object(java.lang.String(i5968[1])) →* java.lang.Object(java.lang.String(i5968[2]))))


(2) -> (0), if ((o96126[2]* java.lang.Object(Tree(o96125[0], o96126[0])))∧(i5816[2] + 1* i5816[0])∧(java.lang.Object(ARRAY(i4[2], a115115data[2])) →* java.lang.Object(ARRAY(i4[0], a115115data[0]))))


(2) -> (3), if ((java.lang.Object(ARRAY(i4[2], a115115data[2])) →* java.lang.Object(ARRAY(i4[3], a115115data[3])))∧(i5816[2] + 1* i5816[3])∧(o96126[2]* java.lang.Object(Tree(o96140[3], o96141[3]))))


(3) -> (4), if ((java.lang.Object(Tree(o96140[3], o96141[3])) →* java.lang.Object(Tree(o96140[4], java.lang.Object(Tree(o96140[4], o96141[4])))))∧(java.lang.Object(ARRAY(i4[3], a115115data[3])) →* java.lang.Object(ARRAY(i4[4], a115115data[4])))∧(java.lang.Object(java.lang.String(i5968[3])) →* java.lang.Object(java.lang.String(i5968[4])))∧(i5816[3]* i5816[4]))


(4) -> (5), if ((i5816[4]* i5816[5])∧(java.lang.Object(ARRAY(i4[4], a115115data[4])) →* java.lang.Object(ARRAY(i4[5], a115115data[5])))∧(i5968[4] > 42 && i5816[4] > 0 && i5816[4] < i4[4] && i5816[4] + 1 > 0* TRUE)∧(java.lang.Object(java.lang.String(i5968[4])) →* java.lang.Object(java.lang.String(i5968[5])))∧(java.lang.Object(Tree(o96140[4], java.lang.Object(Tree(o96140[4], o96141[4])))) →* java.lang.Object(Tree(o96140[5], java.lang.Object(Tree(o96140[5], o96141[5]))))))


(5) -> (0), if ((java.lang.Object(ARRAY(i4[5], a115115data[5])) →* java.lang.Object(ARRAY(i4[0], a115115data[0])))∧(i5816[5] + 1* i5816[0])∧(o96140[5]* java.lang.Object(Tree(o96125[0], o96126[0]))))


(5) -> (3), if ((i5816[5] + 1* i5816[3])∧(java.lang.Object(ARRAY(i4[5], a115115data[5])) →* java.lang.Object(ARRAY(i4[3], a115115data[3])))∧(o96140[5]* java.lang.Object(Tree(o96140[3], o96141[3]))))



The set Q consists of the following terms:
Load35058(java.lang.Object(ARRAY(x0, x1)), x2, java.lang.Object(Tree(x3, x4)))
Load35058ARR1(java.lang.Object(ARRAY(x0, x1)), x2, java.lang.Object(Tree(java.lang.Object(Tree(x3, x4)), x4)), java.lang.Object(java.lang.String(x5)))
Cond_Load35058ARR1(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, java.lang.Object(Tree(java.lang.Object(Tree(x3, x4)), x4)), java.lang.Object(java.lang.String(x5)))
Load35058ARR2(java.lang.Object(ARRAY(x0, x1)), x2, java.lang.Object(Tree(x3, java.lang.Object(Tree(x3, x4)))), java.lang.Object(java.lang.String(x5)))
Cond_Load35058ARR2(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, java.lang.Object(Tree(x3, java.lang.Object(Tree(x3, x4)))), java.lang.Object(java.lang.String(x5)))

(8) UsableRulesProof (EQUIVALENT transformation)

As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R.

(9) Obligation:

IDP problem:
The following function symbols are pre-defined:
!=~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


The following domains are used:

Boolean, Integer


R is empty.

The integer pair graph contains the following rules and edges:
(0): LOAD35058(java.lang.Object(ARRAY(i4[0], a115115data[0])), i5816[0], java.lang.Object(Tree(o96125[0], o96126[0]))) → LOAD35058ARR1(java.lang.Object(ARRAY(i4[0], a115115data[0])), i5816[0], java.lang.Object(Tree(o96125[0], o96126[0])), java.lang.Object(java.lang.String(i5968[0])))
(1): LOAD35058ARR1(java.lang.Object(ARRAY(i4[1], a115115data[1])), i5816[1], java.lang.Object(Tree(java.lang.Object(Tree(o96125[1], o96126[1])), o96126[1])), java.lang.Object(java.lang.String(i5968[1]))) → COND_LOAD35058ARR1(i5968[1] <= 42 && i5816[1] > 0 && i5816[1] < i4[1] && i5816[1] + 1 > 0, java.lang.Object(ARRAY(i4[1], a115115data[1])), i5816[1], java.lang.Object(Tree(java.lang.Object(Tree(o96125[1], o96126[1])), o96126[1])), java.lang.Object(java.lang.String(i5968[1])))
(2): COND_LOAD35058ARR1(TRUE, java.lang.Object(ARRAY(i4[2], a115115data[2])), i5816[2], java.lang.Object(Tree(java.lang.Object(Tree(o96125[2], o96126[2])), o96126[2])), java.lang.Object(java.lang.String(i5968[2]))) → LOAD35058(java.lang.Object(ARRAY(i4[2], a115115data[2])), i5816[2] + 1, o96126[2])
(3): LOAD35058(java.lang.Object(ARRAY(i4[3], a115115data[3])), i5816[3], java.lang.Object(Tree(o96140[3], o96141[3]))) → LOAD35058ARR2(java.lang.Object(ARRAY(i4[3], a115115data[3])), i5816[3], java.lang.Object(Tree(o96140[3], o96141[3])), java.lang.Object(java.lang.String(i5968[3])))
(4): LOAD35058ARR2(java.lang.Object(ARRAY(i4[4], a115115data[4])), i5816[4], java.lang.Object(Tree(o96140[4], java.lang.Object(Tree(o96140[4], o96141[4])))), java.lang.Object(java.lang.String(i5968[4]))) → COND_LOAD35058ARR2(i5968[4] > 42 && i5816[4] > 0 && i5816[4] < i4[4] && i5816[4] + 1 > 0, java.lang.Object(ARRAY(i4[4], a115115data[4])), i5816[4], java.lang.Object(Tree(o96140[4], java.lang.Object(Tree(o96140[4], o96141[4])))), java.lang.Object(java.lang.String(i5968[4])))
(5): COND_LOAD35058ARR2(TRUE, java.lang.Object(ARRAY(i4[5], a115115data[5])), i5816[5], java.lang.Object(Tree(o96140[5], java.lang.Object(Tree(o96140[5], o96141[5])))), java.lang.Object(java.lang.String(i5968[5]))) → LOAD35058(java.lang.Object(ARRAY(i4[5], a115115data[5])), i5816[5] + 1, o96140[5])

(0) -> (1), if ((java.lang.Object(java.lang.String(i5968[0])) →* java.lang.Object(java.lang.String(i5968[1])))∧(java.lang.Object(ARRAY(i4[0], a115115data[0])) →* java.lang.Object(ARRAY(i4[1], a115115data[1])))∧(i5816[0]* i5816[1])∧(java.lang.Object(Tree(o96125[0], o96126[0])) →* java.lang.Object(Tree(java.lang.Object(Tree(o96125[1], o96126[1])), o96126[1]))))


(1) -> (2), if ((java.lang.Object(ARRAY(i4[1], a115115data[1])) →* java.lang.Object(ARRAY(i4[2], a115115data[2])))∧(i5968[1] <= 42 && i5816[1] > 0 && i5816[1] < i4[1] && i5816[1] + 1 > 0* TRUE)∧(java.lang.Object(Tree(java.lang.Object(Tree(o96125[1], o96126[1])), o96126[1])) →* java.lang.Object(Tree(java.lang.Object(Tree(o96125[2], o96126[2])), o96126[2])))∧(i5816[1]* i5816[2])∧(java.lang.Object(java.lang.String(i5968[1])) →* java.lang.Object(java.lang.String(i5968[2]))))


(2) -> (0), if ((o96126[2]* java.lang.Object(Tree(o96125[0], o96126[0])))∧(i5816[2] + 1* i5816[0])∧(java.lang.Object(ARRAY(i4[2], a115115data[2])) →* java.lang.Object(ARRAY(i4[0], a115115data[0]))))


(2) -> (3), if ((java.lang.Object(ARRAY(i4[2], a115115data[2])) →* java.lang.Object(ARRAY(i4[3], a115115data[3])))∧(i5816[2] + 1* i5816[3])∧(o96126[2]* java.lang.Object(Tree(o96140[3], o96141[3]))))


(3) -> (4), if ((java.lang.Object(Tree(o96140[3], o96141[3])) →* java.lang.Object(Tree(o96140[4], java.lang.Object(Tree(o96140[4], o96141[4])))))∧(java.lang.Object(ARRAY(i4[3], a115115data[3])) →* java.lang.Object(ARRAY(i4[4], a115115data[4])))∧(java.lang.Object(java.lang.String(i5968[3])) →* java.lang.Object(java.lang.String(i5968[4])))∧(i5816[3]* i5816[4]))


(4) -> (5), if ((i5816[4]* i5816[5])∧(java.lang.Object(ARRAY(i4[4], a115115data[4])) →* java.lang.Object(ARRAY(i4[5], a115115data[5])))∧(i5968[4] > 42 && i5816[4] > 0 && i5816[4] < i4[4] && i5816[4] + 1 > 0* TRUE)∧(java.lang.Object(java.lang.String(i5968[4])) →* java.lang.Object(java.lang.String(i5968[5])))∧(java.lang.Object(Tree(o96140[4], java.lang.Object(Tree(o96140[4], o96141[4])))) →* java.lang.Object(Tree(o96140[5], java.lang.Object(Tree(o96140[5], o96141[5]))))))


(5) -> (0), if ((java.lang.Object(ARRAY(i4[5], a115115data[5])) →* java.lang.Object(ARRAY(i4[0], a115115data[0])))∧(i5816[5] + 1* i5816[0])∧(o96140[5]* java.lang.Object(Tree(o96125[0], o96126[0]))))


(5) -> (3), if ((i5816[5] + 1* i5816[3])∧(java.lang.Object(ARRAY(i4[5], a115115data[5])) →* java.lang.Object(ARRAY(i4[3], a115115data[3])))∧(o96140[5]* java.lang.Object(Tree(o96140[3], o96141[3]))))



The set Q consists of the following terms:
Load35058(java.lang.Object(ARRAY(x0, x1)), x2, java.lang.Object(Tree(x3, x4)))
Load35058ARR1(java.lang.Object(ARRAY(x0, x1)), x2, java.lang.Object(Tree(java.lang.Object(Tree(x3, x4)), x4)), java.lang.Object(java.lang.String(x5)))
Cond_Load35058ARR1(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, java.lang.Object(Tree(java.lang.Object(Tree(x3, x4)), x4)), java.lang.Object(java.lang.String(x5)))
Load35058ARR2(java.lang.Object(ARRAY(x0, x1)), x2, java.lang.Object(Tree(x3, java.lang.Object(Tree(x3, x4)))), java.lang.Object(java.lang.String(x5)))
Cond_Load35058ARR2(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, java.lang.Object(Tree(x3, java.lang.Object(Tree(x3, x4)))), java.lang.Object(java.lang.String(x5)))

(10) ItpfGraphProof (EQUIVALENT transformation)

Applied rule ItpfICap [ICap]

(11) Obligation:

IDP problem:
The following function symbols are pre-defined:
!=~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


The following domains are used:

Boolean, Integer


R is empty.

The integer pair graph contains the following rules and edges:
(0): LOAD35058(java.lang.Object(ARRAY(i4[0], a115115data[0])), i5816[0], java.lang.Object(Tree(o96125[0], o96126[0]))) → LOAD35058ARR1(java.lang.Object(ARRAY(i4[0], a115115data[0])), i5816[0], java.lang.Object(Tree(o96125[0], o96126[0])), java.lang.Object(java.lang.String(i5968[0])))
(1): LOAD35058ARR1(java.lang.Object(ARRAY(i4[1], a115115data[1])), i5816[1], java.lang.Object(Tree(java.lang.Object(Tree(o96125[1], o96126[1])), o96126[1])), java.lang.Object(java.lang.String(i5968[1]))) → COND_LOAD35058ARR1(i5968[1] <= 42 && i5816[1] > 0 && i5816[1] < i4[1] && i5816[1] + 1 > 0, java.lang.Object(ARRAY(i4[1], a115115data[1])), i5816[1], java.lang.Object(Tree(java.lang.Object(Tree(o96125[1], o96126[1])), o96126[1])), java.lang.Object(java.lang.String(i5968[1])))
(2): COND_LOAD35058ARR1(TRUE, java.lang.Object(ARRAY(i4[2], a115115data[2])), i5816[2], java.lang.Object(Tree(java.lang.Object(Tree(o96125[2], o96126[2])), o96126[2])), java.lang.Object(java.lang.String(i5968[2]))) → LOAD35058(java.lang.Object(ARRAY(i4[2], a115115data[2])), i5816[2] + 1, o96126[2])
(3): LOAD35058(java.lang.Object(ARRAY(i4[3], a115115data[3])), i5816[3], java.lang.Object(Tree(o96140[3], o96141[3]))) → LOAD35058ARR2(java.lang.Object(ARRAY(i4[3], a115115data[3])), i5816[3], java.lang.Object(Tree(o96140[3], o96141[3])), java.lang.Object(java.lang.String(i5968[3])))
(4): LOAD35058ARR2(java.lang.Object(ARRAY(i4[4], a115115data[4])), i5816[4], java.lang.Object(Tree(o96140[4], java.lang.Object(Tree(o96140[4], o96141[4])))), java.lang.Object(java.lang.String(i5968[4]))) → COND_LOAD35058ARR2(i5968[4] > 42 && i5816[4] > 0 && i5816[4] < i4[4] && i5816[4] + 1 > 0, java.lang.Object(ARRAY(i4[4], a115115data[4])), i5816[4], java.lang.Object(Tree(o96140[4], java.lang.Object(Tree(o96140[4], o96141[4])))), java.lang.Object(java.lang.String(i5968[4])))
(5): COND_LOAD35058ARR2(TRUE, java.lang.Object(ARRAY(i4[5], a115115data[5])), i5816[5], java.lang.Object(Tree(o96140[5], java.lang.Object(Tree(o96140[5], o96141[5])))), java.lang.Object(java.lang.String(i5968[5]))) → LOAD35058(java.lang.Object(ARRAY(i4[5], a115115data[5])), i5816[5] + 1, o96140[5])

(0) -> (1), if (((i5968[0]* i5968[1]))∧((i4[0]* i4[1])∧(a115115data[0]* a115115data[1]))∧(i5816[0]* i5816[1])∧((o96125[0]* java.lang.Object(Tree(o96125[1], o96126[1])))∧(o96126[0]* o96126[1])))


(1) -> (2), if (((i4[1]* i4[2])∧(a115115data[1]* a115115data[2]))∧(i5968[1] <= 42 && i5816[1] > 0 && i5816[1] < i4[1] && i5816[1] + 1 > 0* TRUE)∧((o96125[1]* o96125[2])∧(o96126[1]* o96126[2]))∧(i5816[1]* i5816[2])∧((i5968[1]* i5968[2])))


(2) -> (0), if ((o96126[2]* java.lang.Object(Tree(o96125[0], o96126[0])))∧(i5816[2] + 1* i5816[0])∧((i4[2]* i4[0])∧(a115115data[2]* a115115data[0])))


(2) -> (3), if (((i4[2]* i4[3])∧(a115115data[2]* a115115data[3]))∧(i5816[2] + 1* i5816[3])∧(o96126[2]* java.lang.Object(Tree(o96140[3], o96141[3]))))


(3) -> (4), if (((o96140[3]* o96140[4])∧(o96141[3]* java.lang.Object(Tree(o96140[4], o96141[4]))))∧((i4[3]* i4[4])∧(a115115data[3]* a115115data[4]))∧((i5968[3]* i5968[4]))∧(i5816[3]* i5816[4]))


(4) -> (5), if ((i5816[4]* i5816[5])∧((i4[4]* i4[5])∧(a115115data[4]* a115115data[5]))∧(i5968[4] > 42 && i5816[4] > 0 && i5816[4] < i4[4] && i5816[4] + 1 > 0* TRUE)∧((i5968[4]* i5968[5]))∧((o96140[4]* o96140[5])∧(o96141[4]* o96141[5])))


(5) -> (0), if (((i4[5]* i4[0])∧(a115115data[5]* a115115data[0]))∧(i5816[5] + 1* i5816[0])∧(o96140[5]* java.lang.Object(Tree(o96125[0], o96126[0]))))


(5) -> (3), if ((i5816[5] + 1* i5816[3])∧((i4[5]* i4[3])∧(a115115data[5]* a115115data[3]))∧(o96140[5]* java.lang.Object(Tree(o96140[3], o96141[3]))))



The set Q consists of the following terms:
Load35058(java.lang.Object(ARRAY(x0, x1)), x2, java.lang.Object(Tree(x3, x4)))
Load35058ARR1(java.lang.Object(ARRAY(x0, x1)), x2, java.lang.Object(Tree(java.lang.Object(Tree(x3, x4)), x4)), java.lang.Object(java.lang.String(x5)))
Cond_Load35058ARR1(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, java.lang.Object(Tree(java.lang.Object(Tree(x3, x4)), x4)), java.lang.Object(java.lang.String(x5)))
Load35058ARR2(java.lang.Object(ARRAY(x0, x1)), x2, java.lang.Object(Tree(x3, java.lang.Object(Tree(x3, x4)))), java.lang.Object(java.lang.String(x5)))
Cond_Load35058ARR2(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, java.lang.Object(Tree(x3, java.lang.Object(Tree(x3, x4)))), java.lang.Object(java.lang.String(x5)))

(12) IDPNonInfProof (SOUND transformation)

The constraints were generated the following way:
The DP Problem is simplified using the Induction Calculus [NONINF] with the following steps:
Note that final constraints are written in bold face.


For Pair LOAD35058(java.lang.Object(ARRAY(i4, a115115data)), i5816, java.lang.Object(Tree(o96125, o96126))) → LOAD35058ARR1(java.lang.Object(ARRAY(i4, a115115data)), i5816, java.lang.Object(Tree(o96125, o96126)), java.lang.Object(java.lang.String(i5968))) the following chains were created:
  • We consider the chain COND_LOAD35058ARR1(TRUE, java.lang.Object(ARRAY(i4[2], a115115data[2])), i5816[2], java.lang.Object(Tree(java.lang.Object(Tree(o96125[2], o96126[2])), o96126[2])), java.lang.Object(java.lang.String(i5968[2]))) → LOAD35058(java.lang.Object(ARRAY(i4[2], a115115data[2])), +(i5816[2], 1), o96126[2]), LOAD35058(java.lang.Object(ARRAY(i4[0], a115115data[0])), i5816[0], java.lang.Object(Tree(o96125[0], o96126[0]))) → LOAD35058ARR1(java.lang.Object(ARRAY(i4[0], a115115data[0])), i5816[0], java.lang.Object(Tree(o96125[0], o96126[0])), java.lang.Object(java.lang.String(i5968[0]))), LOAD35058ARR1(java.lang.Object(ARRAY(i4[1], a115115data[1])), i5816[1], java.lang.Object(Tree(java.lang.Object(Tree(o96125[1], o96126[1])), o96126[1])), java.lang.Object(java.lang.String(i5968[1]))) → COND_LOAD35058ARR1(&&(&&(&&(<=(i5968[1], 42), >(i5816[1], 0)), <(i5816[1], i4[1])), >(+(i5816[1], 1), 0)), java.lang.Object(ARRAY(i4[1], a115115data[1])), i5816[1], java.lang.Object(Tree(java.lang.Object(Tree(o96125[1], o96126[1])), o96126[1])), java.lang.Object(java.lang.String(i5968[1]))) which results in the following constraint:

    (1)    (o96126[2]=java.lang.Object(Tree(o96125[0], o96126[0]))∧+(i5816[2], 1)=i5816[0]i4[2]=i4[0]a115115data[2]=a115115data[0]i5968[0]=i5968[1]i4[0]=i4[1]a115115data[0]=a115115data[1]i5816[0]=i5816[1]o96125[0]=java.lang.Object(Tree(o96125[1], o96126[1]))∧o96126[0]=o96126[1]LOAD35058(java.lang.Object(ARRAY(i4[0], a115115data[0])), i5816[0], java.lang.Object(Tree(o96125[0], o96126[0])))≥LOAD35058ARR1(java.lang.Object(ARRAY(i4[0], a115115data[0])), i5816[0], java.lang.Object(Tree(o96125[0], o96126[0])), java.lang.Object(java.lang.String(i5968[0])))∧(UIncreasing(LOAD35058ARR1(java.lang.Object(ARRAY(i4[0], a115115data[0])), i5816[0], java.lang.Object(Tree(o96125[0], o96126[0])), java.lang.Object(java.lang.String(i5968[0])))), ≥))



    We simplified constraint (1) using rules (III), (IV) which results in the following new constraint:

    (2)    (LOAD35058(java.lang.Object(ARRAY(i4[2], a115115data[2])), +(i5816[2], 1), java.lang.Object(Tree(java.lang.Object(Tree(o96125[1], o96126[0])), o96126[0])))≥LOAD35058ARR1(java.lang.Object(ARRAY(i4[2], a115115data[2])), +(i5816[2], 1), java.lang.Object(Tree(java.lang.Object(Tree(o96125[1], o96126[0])), o96126[0])), java.lang.Object(java.lang.String(i5968[0])))∧(UIncreasing(LOAD35058ARR1(java.lang.Object(ARRAY(i4[0], a115115data[0])), i5816[0], java.lang.Object(Tree(o96125[0], o96126[0])), java.lang.Object(java.lang.String(i5968[0])))), ≥))



    We simplified constraint (2) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (3)    ((UIncreasing(LOAD35058ARR1(java.lang.Object(ARRAY(i4[0], a115115data[0])), i5816[0], java.lang.Object(Tree(o96125[0], o96126[0])), java.lang.Object(java.lang.String(i5968[0])))), ≥)∧[3 + (-1)bso_37] ≥ 0)



    We simplified constraint (3) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (4)    ((UIncreasing(LOAD35058ARR1(java.lang.Object(ARRAY(i4[0], a115115data[0])), i5816[0], java.lang.Object(Tree(o96125[0], o96126[0])), java.lang.Object(java.lang.String(i5968[0])))), ≥)∧[3 + (-1)bso_37] ≥ 0)



    We simplified constraint (4) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (5)    ((UIncreasing(LOAD35058ARR1(java.lang.Object(ARRAY(i4[0], a115115data[0])), i5816[0], java.lang.Object(Tree(o96125[0], o96126[0])), java.lang.Object(java.lang.String(i5968[0])))), ≥)∧[3 + (-1)bso_37] ≥ 0)



    We simplified constraint (5) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (6)    ((UIncreasing(LOAD35058ARR1(java.lang.Object(ARRAY(i4[0], a115115data[0])), i5816[0], java.lang.Object(Tree(o96125[0], o96126[0])), java.lang.Object(java.lang.String(i5968[0])))), ≥)∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[3 + (-1)bso_37] ≥ 0)



  • We consider the chain COND_LOAD35058ARR2(TRUE, java.lang.Object(ARRAY(i4[5], a115115data[5])), i5816[5], java.lang.Object(Tree(o96140[5], java.lang.Object(Tree(o96140[5], o96141[5])))), java.lang.Object(java.lang.String(i5968[5]))) → LOAD35058(java.lang.Object(ARRAY(i4[5], a115115data[5])), +(i5816[5], 1), o96140[5]), LOAD35058(java.lang.Object(ARRAY(i4[0], a115115data[0])), i5816[0], java.lang.Object(Tree(o96125[0], o96126[0]))) → LOAD35058ARR1(java.lang.Object(ARRAY(i4[0], a115115data[0])), i5816[0], java.lang.Object(Tree(o96125[0], o96126[0])), java.lang.Object(java.lang.String(i5968[0]))), LOAD35058ARR1(java.lang.Object(ARRAY(i4[1], a115115data[1])), i5816[1], java.lang.Object(Tree(java.lang.Object(Tree(o96125[1], o96126[1])), o96126[1])), java.lang.Object(java.lang.String(i5968[1]))) → COND_LOAD35058ARR1(&&(&&(&&(<=(i5968[1], 42), >(i5816[1], 0)), <(i5816[1], i4[1])), >(+(i5816[1], 1), 0)), java.lang.Object(ARRAY(i4[1], a115115data[1])), i5816[1], java.lang.Object(Tree(java.lang.Object(Tree(o96125[1], o96126[1])), o96126[1])), java.lang.Object(java.lang.String(i5968[1]))) which results in the following constraint:

    (7)    (i4[5]=i4[0]a115115data[5]=a115115data[0]+(i5816[5], 1)=i5816[0]o96140[5]=java.lang.Object(Tree(o96125[0], o96126[0]))∧i5968[0]=i5968[1]i4[0]=i4[1]a115115data[0]=a115115data[1]i5816[0]=i5816[1]o96125[0]=java.lang.Object(Tree(o96125[1], o96126[1]))∧o96126[0]=o96126[1]LOAD35058(java.lang.Object(ARRAY(i4[0], a115115data[0])), i5816[0], java.lang.Object(Tree(o96125[0], o96126[0])))≥LOAD35058ARR1(java.lang.Object(ARRAY(i4[0], a115115data[0])), i5816[0], java.lang.Object(Tree(o96125[0], o96126[0])), java.lang.Object(java.lang.String(i5968[0])))∧(UIncreasing(LOAD35058ARR1(java.lang.Object(ARRAY(i4[0], a115115data[0])), i5816[0], java.lang.Object(Tree(o96125[0], o96126[0])), java.lang.Object(java.lang.String(i5968[0])))), ≥))



    We simplified constraint (7) using rules (III), (IV) which results in the following new constraint:

    (8)    (LOAD35058(java.lang.Object(ARRAY(i4[5], a115115data[5])), +(i5816[5], 1), java.lang.Object(Tree(java.lang.Object(Tree(o96125[1], o96126[0])), o96126[0])))≥LOAD35058ARR1(java.lang.Object(ARRAY(i4[5], a115115data[5])), +(i5816[5], 1), java.lang.Object(Tree(java.lang.Object(Tree(o96125[1], o96126[0])), o96126[0])), java.lang.Object(java.lang.String(i5968[0])))∧(UIncreasing(LOAD35058ARR1(java.lang.Object(ARRAY(i4[0], a115115data[0])), i5816[0], java.lang.Object(Tree(o96125[0], o96126[0])), java.lang.Object(java.lang.String(i5968[0])))), ≥))



    We simplified constraint (8) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (9)    ((UIncreasing(LOAD35058ARR1(java.lang.Object(ARRAY(i4[0], a115115data[0])), i5816[0], java.lang.Object(Tree(o96125[0], o96126[0])), java.lang.Object(java.lang.String(i5968[0])))), ≥)∧[3 + (-1)bso_37] ≥ 0)



    We simplified constraint (9) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (10)    ((UIncreasing(LOAD35058ARR1(java.lang.Object(ARRAY(i4[0], a115115data[0])), i5816[0], java.lang.Object(Tree(o96125[0], o96126[0])), java.lang.Object(java.lang.String(i5968[0])))), ≥)∧[3 + (-1)bso_37] ≥ 0)



    We simplified constraint (10) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (11)    ((UIncreasing(LOAD35058ARR1(java.lang.Object(ARRAY(i4[0], a115115data[0])), i5816[0], java.lang.Object(Tree(o96125[0], o96126[0])), java.lang.Object(java.lang.String(i5968[0])))), ≥)∧[3 + (-1)bso_37] ≥ 0)



    We simplified constraint (11) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (12)    ((UIncreasing(LOAD35058ARR1(java.lang.Object(ARRAY(i4[0], a115115data[0])), i5816[0], java.lang.Object(Tree(o96125[0], o96126[0])), java.lang.Object(java.lang.String(i5968[0])))), ≥)∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[3 + (-1)bso_37] ≥ 0)







For Pair LOAD35058ARR1(java.lang.Object(ARRAY(i4, a115115data)), i5816, java.lang.Object(Tree(java.lang.Object(Tree(o96125, o96126)), o96126)), java.lang.Object(java.lang.String(i5968))) → COND_LOAD35058ARR1(&&(&&(&&(<=(i5968, 42), >(i5816, 0)), <(i5816, i4)), >(+(i5816, 1), 0)), java.lang.Object(ARRAY(i4, a115115data)), i5816, java.lang.Object(Tree(java.lang.Object(Tree(o96125, o96126)), o96126)), java.lang.Object(java.lang.String(i5968))) the following chains were created:
  • We consider the chain LOAD35058ARR1(java.lang.Object(ARRAY(i4[1], a115115data[1])), i5816[1], java.lang.Object(Tree(java.lang.Object(Tree(o96125[1], o96126[1])), o96126[1])), java.lang.Object(java.lang.String(i5968[1]))) → COND_LOAD35058ARR1(&&(&&(&&(<=(i5968[1], 42), >(i5816[1], 0)), <(i5816[1], i4[1])), >(+(i5816[1], 1), 0)), java.lang.Object(ARRAY(i4[1], a115115data[1])), i5816[1], java.lang.Object(Tree(java.lang.Object(Tree(o96125[1], o96126[1])), o96126[1])), java.lang.Object(java.lang.String(i5968[1]))), COND_LOAD35058ARR1(TRUE, java.lang.Object(ARRAY(i4[2], a115115data[2])), i5816[2], java.lang.Object(Tree(java.lang.Object(Tree(o96125[2], o96126[2])), o96126[2])), java.lang.Object(java.lang.String(i5968[2]))) → LOAD35058(java.lang.Object(ARRAY(i4[2], a115115data[2])), +(i5816[2], 1), o96126[2]) which results in the following constraint:

    (13)    (i4[1]=i4[2]a115115data[1]=a115115data[2]&&(&&(&&(<=(i5968[1], 42), >(i5816[1], 0)), <(i5816[1], i4[1])), >(+(i5816[1], 1), 0))=TRUEo96125[1]=o96125[2]o96126[1]=o96126[2]i5816[1]=i5816[2]i5968[1]=i5968[2]LOAD35058ARR1(java.lang.Object(ARRAY(i4[1], a115115data[1])), i5816[1], java.lang.Object(Tree(java.lang.Object(Tree(o96125[1], o96126[1])), o96126[1])), java.lang.Object(java.lang.String(i5968[1])))≥COND_LOAD35058ARR1(&&(&&(&&(<=(i5968[1], 42), >(i5816[1], 0)), <(i5816[1], i4[1])), >(+(i5816[1], 1), 0)), java.lang.Object(ARRAY(i4[1], a115115data[1])), i5816[1], java.lang.Object(Tree(java.lang.Object(Tree(o96125[1], o96126[1])), o96126[1])), java.lang.Object(java.lang.String(i5968[1])))∧(UIncreasing(COND_LOAD35058ARR1(&&(&&(&&(<=(i5968[1], 42), >(i5816[1], 0)), <(i5816[1], i4[1])), >(+(i5816[1], 1), 0)), java.lang.Object(ARRAY(i4[1], a115115data[1])), i5816[1], java.lang.Object(Tree(java.lang.Object(Tree(o96125[1], o96126[1])), o96126[1])), java.lang.Object(java.lang.String(i5968[1])))), ≥))



    We simplified constraint (13) using rule (IV) which results in the following new constraint:

    (14)    (&&(&&(&&(<=(i5968[1], 42), >(i5816[1], 0)), <(i5816[1], i4[1])), >(+(i5816[1], 1), 0))=TRUELOAD35058ARR1(java.lang.Object(ARRAY(i4[1], a115115data[1])), i5816[1], java.lang.Object(Tree(java.lang.Object(Tree(o96125[1], o96126[1])), o96126[1])), java.lang.Object(java.lang.String(i5968[1])))≥COND_LOAD35058ARR1(&&(&&(&&(<=(i5968[1], 42), >(i5816[1], 0)), <(i5816[1], i4[1])), >(+(i5816[1], 1), 0)), java.lang.Object(ARRAY(i4[1], a115115data[1])), i5816[1], java.lang.Object(Tree(java.lang.Object(Tree(o96125[1], o96126[1])), o96126[1])), java.lang.Object(java.lang.String(i5968[1])))∧(UIncreasing(COND_LOAD35058ARR1(&&(&&(&&(<=(i5968[1], 42), >(i5816[1], 0)), <(i5816[1], i4[1])), >(+(i5816[1], 1), 0)), java.lang.Object(ARRAY(i4[1], a115115data[1])), i5816[1], java.lang.Object(Tree(java.lang.Object(Tree(o96125[1], o96126[1])), o96126[1])), java.lang.Object(java.lang.String(i5968[1])))), ≥))



    We simplified constraint (14) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (15)    (0 ≥ 0 ⇒ (UIncreasing(COND_LOAD35058ARR1(&&(&&(&&(<=(i5968[1], 42), >(i5816[1], 0)), <(i5816[1], i4[1])), >(+(i5816[1], 1), 0)), java.lang.Object(ARRAY(i4[1], a115115data[1])), i5816[1], java.lang.Object(Tree(java.lang.Object(Tree(o96125[1], o96126[1])), o96126[1])), java.lang.Object(java.lang.String(i5968[1])))), ≥)∧[3 + (-1)bso_38] ≥ 0)



    We simplified constraint (15) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (16)    (0 ≥ 0 ⇒ (UIncreasing(COND_LOAD35058ARR1(&&(&&(&&(<=(i5968[1], 42), >(i5816[1], 0)), <(i5816[1], i4[1])), >(+(i5816[1], 1), 0)), java.lang.Object(ARRAY(i4[1], a115115data[1])), i5816[1], java.lang.Object(Tree(java.lang.Object(Tree(o96125[1], o96126[1])), o96126[1])), java.lang.Object(java.lang.String(i5968[1])))), ≥)∧[3 + (-1)bso_38] ≥ 0)



    We simplified constraint (16) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (17)    (0 ≥ 0 ⇒ (UIncreasing(COND_LOAD35058ARR1(&&(&&(&&(<=(i5968[1], 42), >(i5816[1], 0)), <(i5816[1], i4[1])), >(+(i5816[1], 1), 0)), java.lang.Object(ARRAY(i4[1], a115115data[1])), i5816[1], java.lang.Object(Tree(java.lang.Object(Tree(o96125[1], o96126[1])), o96126[1])), java.lang.Object(java.lang.String(i5968[1])))), ≥)∧[3 + (-1)bso_38] ≥ 0)



    We simplified constraint (17) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (18)    (0 ≥ 0 ⇒ (UIncreasing(COND_LOAD35058ARR1(&&(&&(&&(<=(i5968[1], 42), >(i5816[1], 0)), <(i5816[1], i4[1])), >(+(i5816[1], 1), 0)), java.lang.Object(ARRAY(i4[1], a115115data[1])), i5816[1], java.lang.Object(Tree(java.lang.Object(Tree(o96125[1], o96126[1])), o96126[1])), java.lang.Object(java.lang.String(i5968[1])))), ≥)∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[3 + (-1)bso_38] ≥ 0)







For Pair COND_LOAD35058ARR1(TRUE, java.lang.Object(ARRAY(i4, a115115data)), i5816, java.lang.Object(Tree(java.lang.Object(Tree(o96125, o96126)), o96126)), java.lang.Object(java.lang.String(i5968))) → LOAD35058(java.lang.Object(ARRAY(i4, a115115data)), +(i5816, 1), o96126) the following chains were created:
  • We consider the chain LOAD35058ARR1(java.lang.Object(ARRAY(i4[1], a115115data[1])), i5816[1], java.lang.Object(Tree(java.lang.Object(Tree(o96125[1], o96126[1])), o96126[1])), java.lang.Object(java.lang.String(i5968[1]))) → COND_LOAD35058ARR1(&&(&&(&&(<=(i5968[1], 42), >(i5816[1], 0)), <(i5816[1], i4[1])), >(+(i5816[1], 1), 0)), java.lang.Object(ARRAY(i4[1], a115115data[1])), i5816[1], java.lang.Object(Tree(java.lang.Object(Tree(o96125[1], o96126[1])), o96126[1])), java.lang.Object(java.lang.String(i5968[1]))), COND_LOAD35058ARR1(TRUE, java.lang.Object(ARRAY(i4[2], a115115data[2])), i5816[2], java.lang.Object(Tree(java.lang.Object(Tree(o96125[2], o96126[2])), o96126[2])), java.lang.Object(java.lang.String(i5968[2]))) → LOAD35058(java.lang.Object(ARRAY(i4[2], a115115data[2])), +(i5816[2], 1), o96126[2]), LOAD35058(java.lang.Object(ARRAY(i4[0], a115115data[0])), i5816[0], java.lang.Object(Tree(o96125[0], o96126[0]))) → LOAD35058ARR1(java.lang.Object(ARRAY(i4[0], a115115data[0])), i5816[0], java.lang.Object(Tree(o96125[0], o96126[0])), java.lang.Object(java.lang.String(i5968[0]))) which results in the following constraint:

    (19)    (i4[1]=i4[2]a115115data[1]=a115115data[2]&&(&&(&&(<=(i5968[1], 42), >(i5816[1], 0)), <(i5816[1], i4[1])), >(+(i5816[1], 1), 0))=TRUEo96125[1]=o96125[2]o96126[1]=o96126[2]i5816[1]=i5816[2]i5968[1]=i5968[2]o96126[2]=java.lang.Object(Tree(o96125[0], o96126[0]))∧+(i5816[2], 1)=i5816[0]i4[2]=i4[0]a115115data[2]=a115115data[0]COND_LOAD35058ARR1(TRUE, java.lang.Object(ARRAY(i4[2], a115115data[2])), i5816[2], java.lang.Object(Tree(java.lang.Object(Tree(o96125[2], o96126[2])), o96126[2])), java.lang.Object(java.lang.String(i5968[2])))≥LOAD35058(java.lang.Object(ARRAY(i4[2], a115115data[2])), +(i5816[2], 1), o96126[2])∧(UIncreasing(LOAD35058(java.lang.Object(ARRAY(i4[2], a115115data[2])), +(i5816[2], 1), o96126[2])), ≥))



    We simplified constraint (19) using rules (III), (IV) which results in the following new constraint:

    (20)    (&&(&&(&&(<=(i5968[1], 42), >(i5816[1], 0)), <(i5816[1], i4[1])), >(+(i5816[1], 1), 0))=TRUECOND_LOAD35058ARR1(TRUE, java.lang.Object(ARRAY(i4[1], a115115data[1])), i5816[1], java.lang.Object(Tree(java.lang.Object(Tree(o96125[1], java.lang.Object(Tree(o96125[0], o96126[0])))), java.lang.Object(Tree(o96125[0], o96126[0])))), java.lang.Object(java.lang.String(i5968[1])))≥LOAD35058(java.lang.Object(ARRAY(i4[1], a115115data[1])), +(i5816[1], 1), java.lang.Object(Tree(o96125[0], o96126[0])))∧(UIncreasing(LOAD35058(java.lang.Object(ARRAY(i4[2], a115115data[2])), +(i5816[2], 1), o96126[2])), ≥))



    We simplified constraint (20) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (21)    (0 ≥ 0 ⇒ (UIncreasing(LOAD35058(java.lang.Object(ARRAY(i4[2], a115115data[2])), +(i5816[2], 1), o96126[2])), ≥)∧[186 + (-1)bso_39] + [152]o96126[0] + [152]o96125[0] + [32]o96125[1] ≥ 0)



    We simplified constraint (21) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (22)    (0 ≥ 0 ⇒ (UIncreasing(LOAD35058(java.lang.Object(ARRAY(i4[2], a115115data[2])), +(i5816[2], 1), o96126[2])), ≥)∧[186 + (-1)bso_39] + [152]o96126[0] + [152]o96125[0] + [32]o96125[1] ≥ 0)



    We simplified constraint (22) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (23)    (0 ≥ 0 ⇒ (UIncreasing(LOAD35058(java.lang.Object(ARRAY(i4[2], a115115data[2])), +(i5816[2], 1), o96126[2])), ≥)∧[186 + (-1)bso_39] + [152]o96126[0] + [152]o96125[0] + [32]o96125[1] ≥ 0)



    We simplified constraint (23) using rules (IDP_UNRESTRICTED_VARS), (IDP_POLY_GCD) which results in the following new constraint:

    (24)    (0 ≥ 0 ⇒ (UIncreasing(LOAD35058(java.lang.Object(ARRAY(i4[2], a115115data[2])), +(i5816[2], 1), o96126[2])), ≥)∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[186 + (-1)bso_39] ≥ 0∧[1] ≥ 0∧[1] ≥ 0∧[1] ≥ 0)



  • We consider the chain LOAD35058ARR1(java.lang.Object(ARRAY(i4[1], a115115data[1])), i5816[1], java.lang.Object(Tree(java.lang.Object(Tree(o96125[1], o96126[1])), o96126[1])), java.lang.Object(java.lang.String(i5968[1]))) → COND_LOAD35058ARR1(&&(&&(&&(<=(i5968[1], 42), >(i5816[1], 0)), <(i5816[1], i4[1])), >(+(i5816[1], 1), 0)), java.lang.Object(ARRAY(i4[1], a115115data[1])), i5816[1], java.lang.Object(Tree(java.lang.Object(Tree(o96125[1], o96126[1])), o96126[1])), java.lang.Object(java.lang.String(i5968[1]))), COND_LOAD35058ARR1(TRUE, java.lang.Object(ARRAY(i4[2], a115115data[2])), i5816[2], java.lang.Object(Tree(java.lang.Object(Tree(o96125[2], o96126[2])), o96126[2])), java.lang.Object(java.lang.String(i5968[2]))) → LOAD35058(java.lang.Object(ARRAY(i4[2], a115115data[2])), +(i5816[2], 1), o96126[2]), LOAD35058(java.lang.Object(ARRAY(i4[3], a115115data[3])), i5816[3], java.lang.Object(Tree(o96140[3], o96141[3]))) → LOAD35058ARR2(java.lang.Object(ARRAY(i4[3], a115115data[3])), i5816[3], java.lang.Object(Tree(o96140[3], o96141[3])), java.lang.Object(java.lang.String(i5968[3]))) which results in the following constraint:

    (25)    (i4[1]=i4[2]a115115data[1]=a115115data[2]&&(&&(&&(<=(i5968[1], 42), >(i5816[1], 0)), <(i5816[1], i4[1])), >(+(i5816[1], 1), 0))=TRUEo96125[1]=o96125[2]o96126[1]=o96126[2]i5816[1]=i5816[2]i5968[1]=i5968[2]i4[2]=i4[3]a115115data[2]=a115115data[3]+(i5816[2], 1)=i5816[3]o96126[2]=java.lang.Object(Tree(o96140[3], o96141[3])) ⇒ COND_LOAD35058ARR1(TRUE, java.lang.Object(ARRAY(i4[2], a115115data[2])), i5816[2], java.lang.Object(Tree(java.lang.Object(Tree(o96125[2], o96126[2])), o96126[2])), java.lang.Object(java.lang.String(i5968[2])))≥LOAD35058(java.lang.Object(ARRAY(i4[2], a115115data[2])), +(i5816[2], 1), o96126[2])∧(UIncreasing(LOAD35058(java.lang.Object(ARRAY(i4[2], a115115data[2])), +(i5816[2], 1), o96126[2])), ≥))



    We simplified constraint (25) using rules (III), (IV) which results in the following new constraint:

    (26)    (&&(&&(&&(<=(i5968[1], 42), >(i5816[1], 0)), <(i5816[1], i4[1])), >(+(i5816[1], 1), 0))=TRUECOND_LOAD35058ARR1(TRUE, java.lang.Object(ARRAY(i4[1], a115115data[1])), i5816[1], java.lang.Object(Tree(java.lang.Object(Tree(o96125[1], java.lang.Object(Tree(o96140[3], o96141[3])))), java.lang.Object(Tree(o96140[3], o96141[3])))), java.lang.Object(java.lang.String(i5968[1])))≥LOAD35058(java.lang.Object(ARRAY(i4[1], a115115data[1])), +(i5816[1], 1), java.lang.Object(Tree(o96140[3], o96141[3])))∧(UIncreasing(LOAD35058(java.lang.Object(ARRAY(i4[2], a115115data[2])), +(i5816[2], 1), o96126[2])), ≥))



    We simplified constraint (26) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (27)    (0 ≥ 0 ⇒ (UIncreasing(LOAD35058(java.lang.Object(ARRAY(i4[2], a115115data[2])), +(i5816[2], 1), o96126[2])), ≥)∧[186 + (-1)bso_39] + [152]o96141[3] + [152]o96140[3] + [32]o96125[1] ≥ 0)



    We simplified constraint (27) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (28)    (0 ≥ 0 ⇒ (UIncreasing(LOAD35058(java.lang.Object(ARRAY(i4[2], a115115data[2])), +(i5816[2], 1), o96126[2])), ≥)∧[186 + (-1)bso_39] + [152]o96141[3] + [152]o96140[3] + [32]o96125[1] ≥ 0)



    We simplified constraint (28) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (29)    (0 ≥ 0 ⇒ (UIncreasing(LOAD35058(java.lang.Object(ARRAY(i4[2], a115115data[2])), +(i5816[2], 1), o96126[2])), ≥)∧[186 + (-1)bso_39] + [152]o96141[3] + [152]o96140[3] + [32]o96125[1] ≥ 0)



    We simplified constraint (29) using rules (IDP_UNRESTRICTED_VARS), (IDP_POLY_GCD) which results in the following new constraint:

    (30)    (0 ≥ 0 ⇒ (UIncreasing(LOAD35058(java.lang.Object(ARRAY(i4[2], a115115data[2])), +(i5816[2], 1), o96126[2])), ≥)∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[186 + (-1)bso_39] ≥ 0∧[1] ≥ 0∧[1] ≥ 0∧[1] ≥ 0)







For Pair LOAD35058(java.lang.Object(ARRAY(i4, a115115data)), i5816, java.lang.Object(Tree(o96140, o96141))) → LOAD35058ARR2(java.lang.Object(ARRAY(i4, a115115data)), i5816, java.lang.Object(Tree(o96140, o96141)), java.lang.Object(java.lang.String(i5968))) the following chains were created:
  • We consider the chain COND_LOAD35058ARR1(TRUE, java.lang.Object(ARRAY(i4[2], a115115data[2])), i5816[2], java.lang.Object(Tree(java.lang.Object(Tree(o96125[2], o96126[2])), o96126[2])), java.lang.Object(java.lang.String(i5968[2]))) → LOAD35058(java.lang.Object(ARRAY(i4[2], a115115data[2])), +(i5816[2], 1), o96126[2]), LOAD35058(java.lang.Object(ARRAY(i4[3], a115115data[3])), i5816[3], java.lang.Object(Tree(o96140[3], o96141[3]))) → LOAD35058ARR2(java.lang.Object(ARRAY(i4[3], a115115data[3])), i5816[3], java.lang.Object(Tree(o96140[3], o96141[3])), java.lang.Object(java.lang.String(i5968[3]))), LOAD35058ARR2(java.lang.Object(ARRAY(i4[4], a115115data[4])), i5816[4], java.lang.Object(Tree(o96140[4], java.lang.Object(Tree(o96140[4], o96141[4])))), java.lang.Object(java.lang.String(i5968[4]))) → COND_LOAD35058ARR2(&&(&&(&&(>(i5968[4], 42), >(i5816[4], 0)), <(i5816[4], i4[4])), >(+(i5816[4], 1), 0)), java.lang.Object(ARRAY(i4[4], a115115data[4])), i5816[4], java.lang.Object(Tree(o96140[4], java.lang.Object(Tree(o96140[4], o96141[4])))), java.lang.Object(java.lang.String(i5968[4]))) which results in the following constraint:

    (31)    (i4[2]=i4[3]a115115data[2]=a115115data[3]+(i5816[2], 1)=i5816[3]o96126[2]=java.lang.Object(Tree(o96140[3], o96141[3]))∧o96140[3]=o96140[4]o96141[3]=java.lang.Object(Tree(o96140[4], o96141[4]))∧i4[3]=i4[4]a115115data[3]=a115115data[4]i5968[3]=i5968[4]i5816[3]=i5816[4]LOAD35058(java.lang.Object(ARRAY(i4[3], a115115data[3])), i5816[3], java.lang.Object(Tree(o96140[3], o96141[3])))≥LOAD35058ARR2(java.lang.Object(ARRAY(i4[3], a115115data[3])), i5816[3], java.lang.Object(Tree(o96140[3], o96141[3])), java.lang.Object(java.lang.String(i5968[3])))∧(UIncreasing(LOAD35058ARR2(java.lang.Object(ARRAY(i4[3], a115115data[3])), i5816[3], java.lang.Object(Tree(o96140[3], o96141[3])), java.lang.Object(java.lang.String(i5968[3])))), ≥))



    We simplified constraint (31) using rules (III), (IV) which results in the following new constraint:

    (32)    (LOAD35058(java.lang.Object(ARRAY(i4[2], a115115data[2])), +(i5816[2], 1), java.lang.Object(Tree(o96140[3], java.lang.Object(Tree(o96140[3], o96141[4])))))≥LOAD35058ARR2(java.lang.Object(ARRAY(i4[2], a115115data[2])), +(i5816[2], 1), java.lang.Object(Tree(o96140[3], java.lang.Object(Tree(o96140[3], o96141[4])))), java.lang.Object(java.lang.String(i5968[3])))∧(UIncreasing(LOAD35058ARR2(java.lang.Object(ARRAY(i4[3], a115115data[3])), i5816[3], java.lang.Object(Tree(o96140[3], o96141[3])), java.lang.Object(java.lang.String(i5968[3])))), ≥))



    We simplified constraint (32) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (33)    ((UIncreasing(LOAD35058ARR2(java.lang.Object(ARRAY(i4[3], a115115data[3])), i5816[3], java.lang.Object(Tree(o96140[3], o96141[3])), java.lang.Object(java.lang.String(i5968[3])))), ≥)∧[(-1)bso_40] ≥ 0)



    We simplified constraint (33) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (34)    ((UIncreasing(LOAD35058ARR2(java.lang.Object(ARRAY(i4[3], a115115data[3])), i5816[3], java.lang.Object(Tree(o96140[3], o96141[3])), java.lang.Object(java.lang.String(i5968[3])))), ≥)∧[(-1)bso_40] ≥ 0)



    We simplified constraint (34) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (35)    ((UIncreasing(LOAD35058ARR2(java.lang.Object(ARRAY(i4[3], a115115data[3])), i5816[3], java.lang.Object(Tree(o96140[3], o96141[3])), java.lang.Object(java.lang.String(i5968[3])))), ≥)∧[(-1)bso_40] ≥ 0)



    We simplified constraint (35) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (36)    ((UIncreasing(LOAD35058ARR2(java.lang.Object(ARRAY(i4[3], a115115data[3])), i5816[3], java.lang.Object(Tree(o96140[3], o96141[3])), java.lang.Object(java.lang.String(i5968[3])))), ≥)∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_40] ≥ 0)



  • We consider the chain COND_LOAD35058ARR2(TRUE, java.lang.Object(ARRAY(i4[5], a115115data[5])), i5816[5], java.lang.Object(Tree(o96140[5], java.lang.Object(Tree(o96140[5], o96141[5])))), java.lang.Object(java.lang.String(i5968[5]))) → LOAD35058(java.lang.Object(ARRAY(i4[5], a115115data[5])), +(i5816[5], 1), o96140[5]), LOAD35058(java.lang.Object(ARRAY(i4[3], a115115data[3])), i5816[3], java.lang.Object(Tree(o96140[3], o96141[3]))) → LOAD35058ARR2(java.lang.Object(ARRAY(i4[3], a115115data[3])), i5816[3], java.lang.Object(Tree(o96140[3], o96141[3])), java.lang.Object(java.lang.String(i5968[3]))), LOAD35058ARR2(java.lang.Object(ARRAY(i4[4], a115115data[4])), i5816[4], java.lang.Object(Tree(o96140[4], java.lang.Object(Tree(o96140[4], o96141[4])))), java.lang.Object(java.lang.String(i5968[4]))) → COND_LOAD35058ARR2(&&(&&(&&(>(i5968[4], 42), >(i5816[4], 0)), <(i5816[4], i4[4])), >(+(i5816[4], 1), 0)), java.lang.Object(ARRAY(i4[4], a115115data[4])), i5816[4], java.lang.Object(Tree(o96140[4], java.lang.Object(Tree(o96140[4], o96141[4])))), java.lang.Object(java.lang.String(i5968[4]))) which results in the following constraint:

    (37)    (+(i5816[5], 1)=i5816[3]i4[5]=i4[3]a115115data[5]=a115115data[3]o96140[5]=java.lang.Object(Tree(o96140[3], o96141[3]))∧o96140[3]=o96140[4]o96141[3]=java.lang.Object(Tree(o96140[4], o96141[4]))∧i4[3]=i4[4]a115115data[3]=a115115data[4]i5968[3]=i5968[4]i5816[3]=i5816[4]LOAD35058(java.lang.Object(ARRAY(i4[3], a115115data[3])), i5816[3], java.lang.Object(Tree(o96140[3], o96141[3])))≥LOAD35058ARR2(java.lang.Object(ARRAY(i4[3], a115115data[3])), i5816[3], java.lang.Object(Tree(o96140[3], o96141[3])), java.lang.Object(java.lang.String(i5968[3])))∧(UIncreasing(LOAD35058ARR2(java.lang.Object(ARRAY(i4[3], a115115data[3])), i5816[3], java.lang.Object(Tree(o96140[3], o96141[3])), java.lang.Object(java.lang.String(i5968[3])))), ≥))



    We simplified constraint (37) using rules (III), (IV) which results in the following new constraint:

    (38)    (LOAD35058(java.lang.Object(ARRAY(i4[5], a115115data[5])), +(i5816[5], 1), java.lang.Object(Tree(o96140[3], java.lang.Object(Tree(o96140[3], o96141[4])))))≥LOAD35058ARR2(java.lang.Object(ARRAY(i4[5], a115115data[5])), +(i5816[5], 1), java.lang.Object(Tree(o96140[3], java.lang.Object(Tree(o96140[3], o96141[4])))), java.lang.Object(java.lang.String(i5968[3])))∧(UIncreasing(LOAD35058ARR2(java.lang.Object(ARRAY(i4[3], a115115data[3])), i5816[3], java.lang.Object(Tree(o96140[3], o96141[3])), java.lang.Object(java.lang.String(i5968[3])))), ≥))



    We simplified constraint (38) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (39)    ((UIncreasing(LOAD35058ARR2(java.lang.Object(ARRAY(i4[3], a115115data[3])), i5816[3], java.lang.Object(Tree(o96140[3], o96141[3])), java.lang.Object(java.lang.String(i5968[3])))), ≥)∧[(-1)bso_40] ≥ 0)



    We simplified constraint (39) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (40)    ((UIncreasing(LOAD35058ARR2(java.lang.Object(ARRAY(i4[3], a115115data[3])), i5816[3], java.lang.Object(Tree(o96140[3], o96141[3])), java.lang.Object(java.lang.String(i5968[3])))), ≥)∧[(-1)bso_40] ≥ 0)



    We simplified constraint (40) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (41)    ((UIncreasing(LOAD35058ARR2(java.lang.Object(ARRAY(i4[3], a115115data[3])), i5816[3], java.lang.Object(Tree(o96140[3], o96141[3])), java.lang.Object(java.lang.String(i5968[3])))), ≥)∧[(-1)bso_40] ≥ 0)



    We simplified constraint (41) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (42)    ((UIncreasing(LOAD35058ARR2(java.lang.Object(ARRAY(i4[3], a115115data[3])), i5816[3], java.lang.Object(Tree(o96140[3], o96141[3])), java.lang.Object(java.lang.String(i5968[3])))), ≥)∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_40] ≥ 0)







For Pair LOAD35058ARR2(java.lang.Object(ARRAY(i4, a115115data)), i5816, java.lang.Object(Tree(o96140, java.lang.Object(Tree(o96140, o96141)))), java.lang.Object(java.lang.String(i5968))) → COND_LOAD35058ARR2(&&(&&(&&(>(i5968, 42), >(i5816, 0)), <(i5816, i4)), >(+(i5816, 1), 0)), java.lang.Object(ARRAY(i4, a115115data)), i5816, java.lang.Object(Tree(o96140, java.lang.Object(Tree(o96140, o96141)))), java.lang.Object(java.lang.String(i5968))) the following chains were created:
  • We consider the chain LOAD35058ARR2(java.lang.Object(ARRAY(i4[4], a115115data[4])), i5816[4], java.lang.Object(Tree(o96140[4], java.lang.Object(Tree(o96140[4], o96141[4])))), java.lang.Object(java.lang.String(i5968[4]))) → COND_LOAD35058ARR2(&&(&&(&&(>(i5968[4], 42), >(i5816[4], 0)), <(i5816[4], i4[4])), >(+(i5816[4], 1), 0)), java.lang.Object(ARRAY(i4[4], a115115data[4])), i5816[4], java.lang.Object(Tree(o96140[4], java.lang.Object(Tree(o96140[4], o96141[4])))), java.lang.Object(java.lang.String(i5968[4]))), COND_LOAD35058ARR2(TRUE, java.lang.Object(ARRAY(i4[5], a115115data[5])), i5816[5], java.lang.Object(Tree(o96140[5], java.lang.Object(Tree(o96140[5], o96141[5])))), java.lang.Object(java.lang.String(i5968[5]))) → LOAD35058(java.lang.Object(ARRAY(i4[5], a115115data[5])), +(i5816[5], 1), o96140[5]) which results in the following constraint:

    (43)    (i5816[4]=i5816[5]i4[4]=i4[5]a115115data[4]=a115115data[5]&&(&&(&&(>(i5968[4], 42), >(i5816[4], 0)), <(i5816[4], i4[4])), >(+(i5816[4], 1), 0))=TRUEi5968[4]=i5968[5]o96140[4]=o96140[5]o96141[4]=o96141[5]LOAD35058ARR2(java.lang.Object(ARRAY(i4[4], a115115data[4])), i5816[4], java.lang.Object(Tree(o96140[4], java.lang.Object(Tree(o96140[4], o96141[4])))), java.lang.Object(java.lang.String(i5968[4])))≥COND_LOAD35058ARR2(&&(&&(&&(>(i5968[4], 42), >(i5816[4], 0)), <(i5816[4], i4[4])), >(+(i5816[4], 1), 0)), java.lang.Object(ARRAY(i4[4], a115115data[4])), i5816[4], java.lang.Object(Tree(o96140[4], java.lang.Object(Tree(o96140[4], o96141[4])))), java.lang.Object(java.lang.String(i5968[4])))∧(UIncreasing(COND_LOAD35058ARR2(&&(&&(&&(>(i5968[4], 42), >(i5816[4], 0)), <(i5816[4], i4[4])), >(+(i5816[4], 1), 0)), java.lang.Object(ARRAY(i4[4], a115115data[4])), i5816[4], java.lang.Object(Tree(o96140[4], java.lang.Object(Tree(o96140[4], o96141[4])))), java.lang.Object(java.lang.String(i5968[4])))), ≥))



    We simplified constraint (43) using rule (IV) which results in the following new constraint:

    (44)    (&&(&&(&&(>(i5968[4], 42), >(i5816[4], 0)), <(i5816[4], i4[4])), >(+(i5816[4], 1), 0))=TRUELOAD35058ARR2(java.lang.Object(ARRAY(i4[4], a115115data[4])), i5816[4], java.lang.Object(Tree(o96140[4], java.lang.Object(Tree(o96140[4], o96141[4])))), java.lang.Object(java.lang.String(i5968[4])))≥COND_LOAD35058ARR2(&&(&&(&&(>(i5968[4], 42), >(i5816[4], 0)), <(i5816[4], i4[4])), >(+(i5816[4], 1), 0)), java.lang.Object(ARRAY(i4[4], a115115data[4])), i5816[4], java.lang.Object(Tree(o96140[4], java.lang.Object(Tree(o96140[4], o96141[4])))), java.lang.Object(java.lang.String(i5968[4])))∧(UIncreasing(COND_LOAD35058ARR2(&&(&&(&&(>(i5968[4], 42), >(i5816[4], 0)), <(i5816[4], i4[4])), >(+(i5816[4], 1), 0)), java.lang.Object(ARRAY(i4[4], a115115data[4])), i5816[4], java.lang.Object(Tree(o96140[4], java.lang.Object(Tree(o96140[4], o96141[4])))), java.lang.Object(java.lang.String(i5968[4])))), ≥))



    We simplified constraint (44) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (45)    (0 ≥ 0 ⇒ (UIncreasing(COND_LOAD35058ARR2(&&(&&(&&(>(i5968[4], 42), >(i5816[4], 0)), <(i5816[4], i4[4])), >(+(i5816[4], 1), 0)), java.lang.Object(ARRAY(i4[4], a115115data[4])), i5816[4], java.lang.Object(Tree(o96140[4], java.lang.Object(Tree(o96140[4], o96141[4])))), java.lang.Object(java.lang.String(i5968[4])))), ≥)∧[16 + (-1)bso_41] + [16]o96141[4] + [20]o96140[4] + i5816[4] ≥ 0)



    We simplified constraint (45) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (46)    (0 ≥ 0 ⇒ (UIncreasing(COND_LOAD35058ARR2(&&(&&(&&(>(i5968[4], 42), >(i5816[4], 0)), <(i5816[4], i4[4])), >(+(i5816[4], 1), 0)), java.lang.Object(ARRAY(i4[4], a115115data[4])), i5816[4], java.lang.Object(Tree(o96140[4], java.lang.Object(Tree(o96140[4], o96141[4])))), java.lang.Object(java.lang.String(i5968[4])))), ≥)∧[16 + (-1)bso_41] + [16]o96141[4] + [20]o96140[4] + i5816[4] ≥ 0)



    We simplified constraint (46) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (47)    (0 ≥ 0 ⇒ (UIncreasing(COND_LOAD35058ARR2(&&(&&(&&(>(i5968[4], 42), >(i5816[4], 0)), <(i5816[4], i4[4])), >(+(i5816[4], 1), 0)), java.lang.Object(ARRAY(i4[4], a115115data[4])), i5816[4], java.lang.Object(Tree(o96140[4], java.lang.Object(Tree(o96140[4], o96141[4])))), java.lang.Object(java.lang.String(i5968[4])))), ≥)∧[16 + (-1)bso_41] + [16]o96141[4] + [20]o96140[4] + i5816[4] ≥ 0)



    We simplified constraint (47) using rules (IDP_UNRESTRICTED_VARS), (IDP_POLY_GCD) which results in the following new constraint:

    (48)    (0 ≥ 0 ⇒ (UIncreasing(COND_LOAD35058ARR2(&&(&&(&&(>(i5968[4], 42), >(i5816[4], 0)), <(i5816[4], i4[4])), >(+(i5816[4], 1), 0)), java.lang.Object(ARRAY(i4[4], a115115data[4])), i5816[4], java.lang.Object(Tree(o96140[4], java.lang.Object(Tree(o96140[4], o96141[4])))), java.lang.Object(java.lang.String(i5968[4])))), ≥)∧0 ≥ 0∧[1] ≥ 0∧0 ≥ 0∧0 ≥ 0∧[16 + (-1)bso_41] ≥ 0∧[1] ≥ 0∧[1] ≥ 0)







For Pair COND_LOAD35058ARR2(TRUE, java.lang.Object(ARRAY(i4, a115115data)), i5816, java.lang.Object(Tree(o96140, java.lang.Object(Tree(o96140, o96141)))), java.lang.Object(java.lang.String(i5968))) → LOAD35058(java.lang.Object(ARRAY(i4, a115115data)), +(i5816, 1), o96140) the following chains were created:
  • We consider the chain LOAD35058ARR2(java.lang.Object(ARRAY(i4[4], a115115data[4])), i5816[4], java.lang.Object(Tree(o96140[4], java.lang.Object(Tree(o96140[4], o96141[4])))), java.lang.Object(java.lang.String(i5968[4]))) → COND_LOAD35058ARR2(&&(&&(&&(>(i5968[4], 42), >(i5816[4], 0)), <(i5816[4], i4[4])), >(+(i5816[4], 1), 0)), java.lang.Object(ARRAY(i4[4], a115115data[4])), i5816[4], java.lang.Object(Tree(o96140[4], java.lang.Object(Tree(o96140[4], o96141[4])))), java.lang.Object(java.lang.String(i5968[4]))), COND_LOAD35058ARR2(TRUE, java.lang.Object(ARRAY(i4[5], a115115data[5])), i5816[5], java.lang.Object(Tree(o96140[5], java.lang.Object(Tree(o96140[5], o96141[5])))), java.lang.Object(java.lang.String(i5968[5]))) → LOAD35058(java.lang.Object(ARRAY(i4[5], a115115data[5])), +(i5816[5], 1), o96140[5]), LOAD35058(java.lang.Object(ARRAY(i4[0], a115115data[0])), i5816[0], java.lang.Object(Tree(o96125[0], o96126[0]))) → LOAD35058ARR1(java.lang.Object(ARRAY(i4[0], a115115data[0])), i5816[0], java.lang.Object(Tree(o96125[0], o96126[0])), java.lang.Object(java.lang.String(i5968[0]))) which results in the following constraint:

    (49)    (i5816[4]=i5816[5]i4[4]=i4[5]a115115data[4]=a115115data[5]&&(&&(&&(>(i5968[4], 42), >(i5816[4], 0)), <(i5816[4], i4[4])), >(+(i5816[4], 1), 0))=TRUEi5968[4]=i5968[5]o96140[4]=o96140[5]o96141[4]=o96141[5]i4[5]=i4[0]a115115data[5]=a115115data[0]+(i5816[5], 1)=i5816[0]o96140[5]=java.lang.Object(Tree(o96125[0], o96126[0])) ⇒ COND_LOAD35058ARR2(TRUE, java.lang.Object(ARRAY(i4[5], a115115data[5])), i5816[5], java.lang.Object(Tree(o96140[5], java.lang.Object(Tree(o96140[5], o96141[5])))), java.lang.Object(java.lang.String(i5968[5])))≥LOAD35058(java.lang.Object(ARRAY(i4[5], a115115data[5])), +(i5816[5], 1), o96140[5])∧(UIncreasing(LOAD35058(java.lang.Object(ARRAY(i4[5], a115115data[5])), +(i5816[5], 1), o96140[5])), ≥))



    We simplified constraint (49) using rules (III), (IV) which results in the following new constraint:

    (50)    (&&(&&(&&(>(i5968[4], 42), >(i5816[4], 0)), <(i5816[4], i4[4])), >(+(i5816[4], 1), 0))=TRUECOND_LOAD35058ARR2(TRUE, java.lang.Object(ARRAY(i4[4], a115115data[4])), i5816[4], java.lang.Object(Tree(java.lang.Object(Tree(o96125[0], o96126[0])), java.lang.Object(Tree(java.lang.Object(Tree(o96125[0], o96126[0])), o96141[4])))), java.lang.Object(java.lang.String(i5968[4])))≥LOAD35058(java.lang.Object(ARRAY(i4[4], a115115data[4])), +(i5816[4], 1), java.lang.Object(Tree(o96125[0], o96126[0])))∧(UIncreasing(LOAD35058(java.lang.Object(ARRAY(i4[5], a115115data[5])), +(i5816[5], 1), o96140[5])), ≥))



    We simplified constraint (50) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (51)    (0 ≥ 0 ⇒ (UIncreasing(LOAD35058(java.lang.Object(ARRAY(i4[5], a115115data[5])), +(i5816[5], 1), o96140[5])), ≥)∧[96 + (-1)bso_42] + [16]o96141[4] + [72]o96126[0] + [72]o96125[0] + i5816[4] ≥ 0)



    We simplified constraint (51) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (52)    (0 ≥ 0 ⇒ (UIncreasing(LOAD35058(java.lang.Object(ARRAY(i4[5], a115115data[5])), +(i5816[5], 1), o96140[5])), ≥)∧[96 + (-1)bso_42] + [16]o96141[4] + [72]o96126[0] + [72]o96125[0] + i5816[4] ≥ 0)



    We simplified constraint (52) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (53)    (0 ≥ 0 ⇒ (UIncreasing(LOAD35058(java.lang.Object(ARRAY(i4[5], a115115data[5])), +(i5816[5], 1), o96140[5])), ≥)∧[96 + (-1)bso_42] + [16]o96141[4] + [72]o96126[0] + [72]o96125[0] + i5816[4] ≥ 0)



    We simplified constraint (53) using rules (IDP_UNRESTRICTED_VARS), (IDP_POLY_GCD) which results in the following new constraint:

    (54)    (0 ≥ 0 ⇒ (UIncreasing(LOAD35058(java.lang.Object(ARRAY(i4[5], a115115data[5])), +(i5816[5], 1), o96140[5])), ≥)∧0 ≥ 0∧[1] ≥ 0∧0 ≥ 0∧0 ≥ 0∧[96 + (-1)bso_42] ≥ 0∧[1] ≥ 0∧[1] ≥ 0∧[1] ≥ 0)



  • We consider the chain LOAD35058ARR2(java.lang.Object(ARRAY(i4[4], a115115data[4])), i5816[4], java.lang.Object(Tree(o96140[4], java.lang.Object(Tree(o96140[4], o96141[4])))), java.lang.Object(java.lang.String(i5968[4]))) → COND_LOAD35058ARR2(&&(&&(&&(>(i5968[4], 42), >(i5816[4], 0)), <(i5816[4], i4[4])), >(+(i5816[4], 1), 0)), java.lang.Object(ARRAY(i4[4], a115115data[4])), i5816[4], java.lang.Object(Tree(o96140[4], java.lang.Object(Tree(o96140[4], o96141[4])))), java.lang.Object(java.lang.String(i5968[4]))), COND_LOAD35058ARR2(TRUE, java.lang.Object(ARRAY(i4[5], a115115data[5])), i5816[5], java.lang.Object(Tree(o96140[5], java.lang.Object(Tree(o96140[5], o96141[5])))), java.lang.Object(java.lang.String(i5968[5]))) → LOAD35058(java.lang.Object(ARRAY(i4[5], a115115data[5])), +(i5816[5], 1), o96140[5]), LOAD35058(java.lang.Object(ARRAY(i4[3], a115115data[3])), i5816[3], java.lang.Object(Tree(o96140[3], o96141[3]))) → LOAD35058ARR2(java.lang.Object(ARRAY(i4[3], a115115data[3])), i5816[3], java.lang.Object(Tree(o96140[3], o96141[3])), java.lang.Object(java.lang.String(i5968[3]))) which results in the following constraint:

    (55)    (i5816[4]=i5816[5]i4[4]=i4[5]a115115data[4]=a115115data[5]&&(&&(&&(>(i5968[4], 42), >(i5816[4], 0)), <(i5816[4], i4[4])), >(+(i5816[4], 1), 0))=TRUEi5968[4]=i5968[5]o96140[4]=o96140[5]o96141[4]=o96141[5]+(i5816[5], 1)=i5816[3]i4[5]=i4[3]a115115data[5]=a115115data[3]o96140[5]=java.lang.Object(Tree(o96140[3], o96141[3])) ⇒ COND_LOAD35058ARR2(TRUE, java.lang.Object(ARRAY(i4[5], a115115data[5])), i5816[5], java.lang.Object(Tree(o96140[5], java.lang.Object(Tree(o96140[5], o96141[5])))), java.lang.Object(java.lang.String(i5968[5])))≥LOAD35058(java.lang.Object(ARRAY(i4[5], a115115data[5])), +(i5816[5], 1), o96140[5])∧(UIncreasing(LOAD35058(java.lang.Object(ARRAY(i4[5], a115115data[5])), +(i5816[5], 1), o96140[5])), ≥))



    We simplified constraint (55) using rules (III), (IV) which results in the following new constraint:

    (56)    (&&(&&(&&(>(i5968[4], 42), >(i5816[4], 0)), <(i5816[4], i4[4])), >(+(i5816[4], 1), 0))=TRUECOND_LOAD35058ARR2(TRUE, java.lang.Object(ARRAY(i4[4], a115115data[4])), i5816[4], java.lang.Object(Tree(java.lang.Object(Tree(o96140[3], o96141[3])), java.lang.Object(Tree(java.lang.Object(Tree(o96140[3], o96141[3])), o96141[4])))), java.lang.Object(java.lang.String(i5968[4])))≥LOAD35058(java.lang.Object(ARRAY(i4[4], a115115data[4])), +(i5816[4], 1), java.lang.Object(Tree(o96140[3], o96141[3])))∧(UIncreasing(LOAD35058(java.lang.Object(ARRAY(i4[5], a115115data[5])), +(i5816[5], 1), o96140[5])), ≥))



    We simplified constraint (56) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (57)    (0 ≥ 0 ⇒ (UIncreasing(LOAD35058(java.lang.Object(ARRAY(i4[5], a115115data[5])), +(i5816[5], 1), o96140[5])), ≥)∧[96 + (-1)bso_42] + [16]o96141[4] + [72]o96141[3] + [72]o96140[3] + i5816[4] ≥ 0)



    We simplified constraint (57) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (58)    (0 ≥ 0 ⇒ (UIncreasing(LOAD35058(java.lang.Object(ARRAY(i4[5], a115115data[5])), +(i5816[5], 1), o96140[5])), ≥)∧[96 + (-1)bso_42] + [16]o96141[4] + [72]o96141[3] + [72]o96140[3] + i5816[4] ≥ 0)



    We simplified constraint (58) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (59)    (0 ≥ 0 ⇒ (UIncreasing(LOAD35058(java.lang.Object(ARRAY(i4[5], a115115data[5])), +(i5816[5], 1), o96140[5])), ≥)∧[96 + (-1)bso_42] + [16]o96141[4] + [72]o96141[3] + [72]o96140[3] + i5816[4] ≥ 0)



    We simplified constraint (59) using rules (IDP_UNRESTRICTED_VARS), (IDP_POLY_GCD) which results in the following new constraint:

    (60)    (0 ≥ 0 ⇒ (UIncreasing(LOAD35058(java.lang.Object(ARRAY(i4[5], a115115data[5])), +(i5816[5], 1), o96140[5])), ≥)∧0 ≥ 0∧[1] ≥ 0∧0 ≥ 0∧0 ≥ 0∧[96 + (-1)bso_42] ≥ 0∧[1] ≥ 0∧[1] ≥ 0∧[1] ≥ 0)







To summarize, we get the following constraints P for the following pairs.
  • LOAD35058(java.lang.Object(ARRAY(i4, a115115data)), i5816, java.lang.Object(Tree(o96125, o96126))) → LOAD35058ARR1(java.lang.Object(ARRAY(i4, a115115data)), i5816, java.lang.Object(Tree(o96125, o96126)), java.lang.Object(java.lang.String(i5968)))
    • ((UIncreasing(LOAD35058ARR1(java.lang.Object(ARRAY(i4[0], a115115data[0])), i5816[0], java.lang.Object(Tree(o96125[0], o96126[0])), java.lang.Object(java.lang.String(i5968[0])))), ≥)∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[3 + (-1)bso_37] ≥ 0)
    • ((UIncreasing(LOAD35058ARR1(java.lang.Object(ARRAY(i4[0], a115115data[0])), i5816[0], java.lang.Object(Tree(o96125[0], o96126[0])), java.lang.Object(java.lang.String(i5968[0])))), ≥)∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[3 + (-1)bso_37] ≥ 0)

  • LOAD35058ARR1(java.lang.Object(ARRAY(i4, a115115data)), i5816, java.lang.Object(Tree(java.lang.Object(Tree(o96125, o96126)), o96126)), java.lang.Object(java.lang.String(i5968))) → COND_LOAD35058ARR1(&&(&&(&&(<=(i5968, 42), >(i5816, 0)), <(i5816, i4)), >(+(i5816, 1), 0)), java.lang.Object(ARRAY(i4, a115115data)), i5816, java.lang.Object(Tree(java.lang.Object(Tree(o96125, o96126)), o96126)), java.lang.Object(java.lang.String(i5968)))
    • (0 ≥ 0 ⇒ (UIncreasing(COND_LOAD35058ARR1(&&(&&(&&(<=(i5968[1], 42), >(i5816[1], 0)), <(i5816[1], i4[1])), >(+(i5816[1], 1), 0)), java.lang.Object(ARRAY(i4[1], a115115data[1])), i5816[1], java.lang.Object(Tree(java.lang.Object(Tree(o96125[1], o96126[1])), o96126[1])), java.lang.Object(java.lang.String(i5968[1])))), ≥)∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[3 + (-1)bso_38] ≥ 0)

  • COND_LOAD35058ARR1(TRUE, java.lang.Object(ARRAY(i4, a115115data)), i5816, java.lang.Object(Tree(java.lang.Object(Tree(o96125, o96126)), o96126)), java.lang.Object(java.lang.String(i5968))) → LOAD35058(java.lang.Object(ARRAY(i4, a115115data)), +(i5816, 1), o96126)
    • (0 ≥ 0 ⇒ (UIncreasing(LOAD35058(java.lang.Object(ARRAY(i4[2], a115115data[2])), +(i5816[2], 1), o96126[2])), ≥)∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[186 + (-1)bso_39] ≥ 0∧[1] ≥ 0∧[1] ≥ 0∧[1] ≥ 0)
    • (0 ≥ 0 ⇒ (UIncreasing(LOAD35058(java.lang.Object(ARRAY(i4[2], a115115data[2])), +(i5816[2], 1), o96126[2])), ≥)∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[186 + (-1)bso_39] ≥ 0∧[1] ≥ 0∧[1] ≥ 0∧[1] ≥ 0)

  • LOAD35058(java.lang.Object(ARRAY(i4, a115115data)), i5816, java.lang.Object(Tree(o96140, o96141))) → LOAD35058ARR2(java.lang.Object(ARRAY(i4, a115115data)), i5816, java.lang.Object(Tree(o96140, o96141)), java.lang.Object(java.lang.String(i5968)))
    • ((UIncreasing(LOAD35058ARR2(java.lang.Object(ARRAY(i4[3], a115115data[3])), i5816[3], java.lang.Object(Tree(o96140[3], o96141[3])), java.lang.Object(java.lang.String(i5968[3])))), ≥)∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_40] ≥ 0)
    • ((UIncreasing(LOAD35058ARR2(java.lang.Object(ARRAY(i4[3], a115115data[3])), i5816[3], java.lang.Object(Tree(o96140[3], o96141[3])), java.lang.Object(java.lang.String(i5968[3])))), ≥)∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_40] ≥ 0)

  • LOAD35058ARR2(java.lang.Object(ARRAY(i4, a115115data)), i5816, java.lang.Object(Tree(o96140, java.lang.Object(Tree(o96140, o96141)))), java.lang.Object(java.lang.String(i5968))) → COND_LOAD35058ARR2(&&(&&(&&(>(i5968, 42), >(i5816, 0)), <(i5816, i4)), >(+(i5816, 1), 0)), java.lang.Object(ARRAY(i4, a115115data)), i5816, java.lang.Object(Tree(o96140, java.lang.Object(Tree(o96140, o96141)))), java.lang.Object(java.lang.String(i5968)))
    • (0 ≥ 0 ⇒ (UIncreasing(COND_LOAD35058ARR2(&&(&&(&&(>(i5968[4], 42), >(i5816[4], 0)), <(i5816[4], i4[4])), >(+(i5816[4], 1), 0)), java.lang.Object(ARRAY(i4[4], a115115data[4])), i5816[4], java.lang.Object(Tree(o96140[4], java.lang.Object(Tree(o96140[4], o96141[4])))), java.lang.Object(java.lang.String(i5968[4])))), ≥)∧0 ≥ 0∧[1] ≥ 0∧0 ≥ 0∧0 ≥ 0∧[16 + (-1)bso_41] ≥ 0∧[1] ≥ 0∧[1] ≥ 0)

  • COND_LOAD35058ARR2(TRUE, java.lang.Object(ARRAY(i4, a115115data)), i5816, java.lang.Object(Tree(o96140, java.lang.Object(Tree(o96140, o96141)))), java.lang.Object(java.lang.String(i5968))) → LOAD35058(java.lang.Object(ARRAY(i4, a115115data)), +(i5816, 1), o96140)
    • (0 ≥ 0 ⇒ (UIncreasing(LOAD35058(java.lang.Object(ARRAY(i4[5], a115115data[5])), +(i5816[5], 1), o96140[5])), ≥)∧0 ≥ 0∧[1] ≥ 0∧0 ≥ 0∧0 ≥ 0∧[96 + (-1)bso_42] ≥ 0∧[1] ≥ 0∧[1] ≥ 0∧[1] ≥ 0)
    • (0 ≥ 0 ⇒ (UIncreasing(LOAD35058(java.lang.Object(ARRAY(i4[5], a115115data[5])), +(i5816[5], 1), o96140[5])), ≥)∧0 ≥ 0∧[1] ≥ 0∧0 ≥ 0∧0 ≥ 0∧[96 + (-1)bso_42] ≥ 0∧[1] ≥ 0∧[1] ≥ 0∧[1] ≥ 0)




The constraints for P> respective Pbound are constructed from P where we just replace every occurence of "t ≥ s" in P by "t > s" respective "t ≥ c". Here c stands for the fresh constant used for Pbound.
Using the following integer polynomial ordering the resulting constraints can be solved
Polynomial interpretation over integers with natural coefficients for all symbols [NONINF][POLO]:

POL(TRUE) = 0   
POL(FALSE) = 0   
POL(LOAD35058(x1, x2, x3)) = [2]x3 + [2]x1   
POL(java.lang.Object(x1)) = [2]x1   
POL(ARRAY(x1, x2)) = [2]   
POL(Tree(x1, x2)) = [2] + [2]x2 + [2]x1   
POL(LOAD35058ARR1(x1, x2, x3, x4)) = [1] + x4 + [2]x3   
POL(java.lang.String(x1)) = [2]   
POL(COND_LOAD35058ARR1(x1, x2, x3, x4, x5)) = [2] + [2]x4   
POL(&&(x1, x2)) = 0   
POL(<=(x1, x2)) = 0   
POL(42) = 0   
POL(>(x1, x2)) = 0   
POL(0) = 0   
POL(<(x1, x2)) = 0   
POL(+(x1, x2)) = 0   
POL(1) = 0   
POL(LOAD35058ARR2(x1, x2, x3, x4)) = [2]x3 + [2]x2 + [2]x1   
POL(COND_LOAD35058ARR2(x1, x2, x3, x4, x5)) = [3]x5 + x4 + x3   

The following pairs are in P>:

LOAD35058(java.lang.Object(ARRAY(i4[0], a115115data[0])), i5816[0], java.lang.Object(Tree(o96125[0], o96126[0]))) → LOAD35058ARR1(java.lang.Object(ARRAY(i4[0], a115115data[0])), i5816[0], java.lang.Object(Tree(o96125[0], o96126[0])), java.lang.Object(java.lang.String(i5968[0])))
LOAD35058ARR1(java.lang.Object(ARRAY(i4[1], a115115data[1])), i5816[1], java.lang.Object(Tree(java.lang.Object(Tree(o96125[1], o96126[1])), o96126[1])), java.lang.Object(java.lang.String(i5968[1]))) → COND_LOAD35058ARR1(&&(&&(&&(<=(i5968[1], 42), >(i5816[1], 0)), <(i5816[1], i4[1])), >(+(i5816[1], 1), 0)), java.lang.Object(ARRAY(i4[1], a115115data[1])), i5816[1], java.lang.Object(Tree(java.lang.Object(Tree(o96125[1], o96126[1])), o96126[1])), java.lang.Object(java.lang.String(i5968[1])))
COND_LOAD35058ARR1(TRUE, java.lang.Object(ARRAY(i4[2], a115115data[2])), i5816[2], java.lang.Object(Tree(java.lang.Object(Tree(o96125[2], o96126[2])), o96126[2])), java.lang.Object(java.lang.String(i5968[2]))) → LOAD35058(java.lang.Object(ARRAY(i4[2], a115115data[2])), +(i5816[2], 1), o96126[2])
LOAD35058ARR2(java.lang.Object(ARRAY(i4[4], a115115data[4])), i5816[4], java.lang.Object(Tree(o96140[4], java.lang.Object(Tree(o96140[4], o96141[4])))), java.lang.Object(java.lang.String(i5968[4]))) → COND_LOAD35058ARR2(&&(&&(&&(>(i5968[4], 42), >(i5816[4], 0)), <(i5816[4], i4[4])), >(+(i5816[4], 1), 0)), java.lang.Object(ARRAY(i4[4], a115115data[4])), i5816[4], java.lang.Object(Tree(o96140[4], java.lang.Object(Tree(o96140[4], o96141[4])))), java.lang.Object(java.lang.String(i5968[4])))
COND_LOAD35058ARR2(TRUE, java.lang.Object(ARRAY(i4[5], a115115data[5])), i5816[5], java.lang.Object(Tree(o96140[5], java.lang.Object(Tree(o96140[5], o96141[5])))), java.lang.Object(java.lang.String(i5968[5]))) → LOAD35058(java.lang.Object(ARRAY(i4[5], a115115data[5])), +(i5816[5], 1), o96140[5])

The following pairs are in Pbound:

LOAD35058(java.lang.Object(ARRAY(i4[0], a115115data[0])), i5816[0], java.lang.Object(Tree(o96125[0], o96126[0]))) → LOAD35058ARR1(java.lang.Object(ARRAY(i4[0], a115115data[0])), i5816[0], java.lang.Object(Tree(o96125[0], o96126[0])), java.lang.Object(java.lang.String(i5968[0])))
LOAD35058ARR1(java.lang.Object(ARRAY(i4[1], a115115data[1])), i5816[1], java.lang.Object(Tree(java.lang.Object(Tree(o96125[1], o96126[1])), o96126[1])), java.lang.Object(java.lang.String(i5968[1]))) → COND_LOAD35058ARR1(&&(&&(&&(<=(i5968[1], 42), >(i5816[1], 0)), <(i5816[1], i4[1])), >(+(i5816[1], 1), 0)), java.lang.Object(ARRAY(i4[1], a115115data[1])), i5816[1], java.lang.Object(Tree(java.lang.Object(Tree(o96125[1], o96126[1])), o96126[1])), java.lang.Object(java.lang.String(i5968[1])))
COND_LOAD35058ARR1(TRUE, java.lang.Object(ARRAY(i4[2], a115115data[2])), i5816[2], java.lang.Object(Tree(java.lang.Object(Tree(o96125[2], o96126[2])), o96126[2])), java.lang.Object(java.lang.String(i5968[2]))) → LOAD35058(java.lang.Object(ARRAY(i4[2], a115115data[2])), +(i5816[2], 1), o96126[2])
LOAD35058(java.lang.Object(ARRAY(i4[3], a115115data[3])), i5816[3], java.lang.Object(Tree(o96140[3], o96141[3]))) → LOAD35058ARR2(java.lang.Object(ARRAY(i4[3], a115115data[3])), i5816[3], java.lang.Object(Tree(o96140[3], o96141[3])), java.lang.Object(java.lang.String(i5968[3])))
LOAD35058ARR2(java.lang.Object(ARRAY(i4[4], a115115data[4])), i5816[4], java.lang.Object(Tree(o96140[4], java.lang.Object(Tree(o96140[4], o96141[4])))), java.lang.Object(java.lang.String(i5968[4]))) → COND_LOAD35058ARR2(&&(&&(&&(>(i5968[4], 42), >(i5816[4], 0)), <(i5816[4], i4[4])), >(+(i5816[4], 1), 0)), java.lang.Object(ARRAY(i4[4], a115115data[4])), i5816[4], java.lang.Object(Tree(o96140[4], java.lang.Object(Tree(o96140[4], o96141[4])))), java.lang.Object(java.lang.String(i5968[4])))
COND_LOAD35058ARR2(TRUE, java.lang.Object(ARRAY(i4[5], a115115data[5])), i5816[5], java.lang.Object(Tree(o96140[5], java.lang.Object(Tree(o96140[5], o96141[5])))), java.lang.Object(java.lang.String(i5968[5]))) → LOAD35058(java.lang.Object(ARRAY(i4[5], a115115data[5])), +(i5816[5], 1), o96140[5])

The following pairs are in P:

LOAD35058(java.lang.Object(ARRAY(i4[3], a115115data[3])), i5816[3], java.lang.Object(Tree(o96140[3], o96141[3]))) → LOAD35058ARR2(java.lang.Object(ARRAY(i4[3], a115115data[3])), i5816[3], java.lang.Object(Tree(o96140[3], o96141[3])), java.lang.Object(java.lang.String(i5968[3])))

At least the following rules have been oriented under context sensitive arithmetic replacement:

TRUE1&&(TRUE, TRUE)1
FALSE1&&(TRUE, FALSE)1
FALSE1&&(FALSE, TRUE)1
FALSE1&&(FALSE, FALSE)1

(13) Complex Obligation (AND)

(14) Obligation:

IDP problem:
The following function symbols are pre-defined:
!=~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


The following domains are used:
none


R is empty.

The integer pair graph contains the following rules and edges:
(3): LOAD35058(java.lang.Object(ARRAY(i4[3], a115115data[3])), i5816[3], java.lang.Object(Tree(o96140[3], o96141[3]))) → LOAD35058ARR2(java.lang.Object(ARRAY(i4[3], a115115data[3])), i5816[3], java.lang.Object(Tree(o96140[3], o96141[3])), java.lang.Object(java.lang.String(i5968[3])))


The set Q consists of the following terms:
Load35058(java.lang.Object(ARRAY(x0, x1)), x2, java.lang.Object(Tree(x3, x4)))
Load35058ARR1(java.lang.Object(ARRAY(x0, x1)), x2, java.lang.Object(Tree(java.lang.Object(Tree(x3, x4)), x4)), java.lang.Object(java.lang.String(x5)))
Cond_Load35058ARR1(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, java.lang.Object(Tree(java.lang.Object(Tree(x3, x4)), x4)), java.lang.Object(java.lang.String(x5)))
Load35058ARR2(java.lang.Object(ARRAY(x0, x1)), x2, java.lang.Object(Tree(x3, java.lang.Object(Tree(x3, x4)))), java.lang.Object(java.lang.String(x5)))
Cond_Load35058ARR2(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, java.lang.Object(Tree(x3, java.lang.Object(Tree(x3, x4)))), java.lang.Object(java.lang.String(x5)))

(15) IDependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 1 less node.

(16) TRUE

(17) Obligation:

IDP problem:
The following function symbols are pre-defined:
!=~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


The following domains are used:
none


R is empty.

The integer pair graph is empty.

The set Q consists of the following terms:
Load35058(java.lang.Object(ARRAY(x0, x1)), x2, java.lang.Object(Tree(x3, x4)))
Load35058ARR1(java.lang.Object(ARRAY(x0, x1)), x2, java.lang.Object(Tree(java.lang.Object(Tree(x3, x4)), x4)), java.lang.Object(java.lang.String(x5)))
Cond_Load35058ARR1(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, java.lang.Object(Tree(java.lang.Object(Tree(x3, x4)), x4)), java.lang.Object(java.lang.String(x5)))
Load35058ARR2(java.lang.Object(ARRAY(x0, x1)), x2, java.lang.Object(Tree(x3, java.lang.Object(Tree(x3, x4)))), java.lang.Object(java.lang.String(x5)))
Cond_Load35058ARR2(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, java.lang.Object(Tree(x3, java.lang.Object(Tree(x3, x4)))), java.lang.Object(java.lang.String(x5)))

(18) IDependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs.

(19) TRUE

(20) Obligation:

ITRS problem:

The following function symbols are pre-defined:
!=~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

The TRS R consists of the following rules:
Load34990(java.lang.Object(ARRAY(i4, a115115data)), i5816, java.lang.Object(Tree), java.lang.Object(List(java.lang.Object(Tree), o92885)), i5824) → Load34990ARR3(java.lang.Object(ARRAY(i4, a115115data)), i5816, java.lang.Object(Tree), java.lang.Object(List(java.lang.Object(Tree), o92885)), i5824, java.lang.Object(java.lang.String(0)), java.lang.Object(java.lang.String(0)))
Load34990ARR3(java.lang.Object(ARRAY(i4, a115115data)), i5816, java.lang.Object(Tree), java.lang.Object(List(java.lang.Object(Tree), o92885)), i5824, java.lang.Object(java.lang.String(0)), java.lang.Object(java.lang.String(0))) → Cond_Load34990ARR3(i5816 + 1 > 0 && i5816 + 1 < i4 && i5816 > 0 && i5816 < i4 && i5824 > 0 && i5816 + 1 + 1 > 0, java.lang.Object(ARRAY(i4, a115115data)), i5816, java.lang.Object(Tree), java.lang.Object(List(java.lang.Object(Tree), o92885)), i5824, java.lang.Object(java.lang.String(0)), java.lang.Object(java.lang.String(0)))
Cond_Load34990ARR3(TRUE, java.lang.Object(ARRAY(i4, a115115data)), i5816, java.lang.Object(Tree), java.lang.Object(List(java.lang.Object(Tree), o92885)), i5824, java.lang.Object(java.lang.String(0)), java.lang.Object(java.lang.String(0))) → New39186(java.lang.Object(ARRAY(i4, a115115data)), i5816 + 1 + 1, java.lang.Object(Tree), o92885, i5824, NULL, NULL)
Inc35127(java.lang.Object(ARRAY(i4, a115115data)), i5816, o92510, o92885, i5824) → Load34990(java.lang.Object(ARRAY(i4, a115115data)), i5816, o92510, o92885, i5824 + -1)
Load34990(java.lang.Object(ARRAY(i4, a115115data)), i5816, o92510, java.lang.Object(List(NULL, o92885)), i5824) → Cond_Load34990(i5824 > 0, java.lang.Object(ARRAY(i4, a115115data)), i5816, o92510, java.lang.Object(List(NULL, o92885)), i5824)
Cond_Load34990(TRUE, java.lang.Object(ARRAY(i4, a115115data)), i5816, o92510, java.lang.Object(List(NULL, o92885)), i5824) → Load34990(java.lang.Object(ARRAY(i4, a115115data)), i5816, o92510, o92885, i5824 + -1)
New39186(java.lang.Object(ARRAY(i4, a115115data)), i6609, o92510, o92885, i5824, NULL, NULL) → Inc35127(java.lang.Object(ARRAY(i4, a115115data)), i6609, o92510, java.lang.Object(List(NULL, java.lang.Object(List(NULL, o92885)))), i5824)
Load34990(java.lang.Object(ARRAY(i4, a115115data)), i5816, o92510, java.lang.Object(List(java.lang.Object(Tree), o92885)), i5824) → Load34990ARR4(java.lang.Object(ARRAY(i4, a115115data)), i5816, o92510, java.lang.Object(List(java.lang.Object(Tree), o92885)), i5824, java.lang.Object(java.lang.String(0)), java.lang.Object(java.lang.String(0)))
Load34990ARR4(java.lang.Object(ARRAY(i4, a115115data)), i5816, o92510, java.lang.Object(List(java.lang.Object(Tree), o92885)), i5824, java.lang.Object(java.lang.String(0)), java.lang.Object(java.lang.String(0))) → Cond_Load34990ARR4(i5816 + 1 > 0 && i5816 + 1 < i4 && i5816 > 0 && i5816 < i4 && i5824 > 0 && i5816 + 1 + 1 > 0, java.lang.Object(ARRAY(i4, a115115data)), i5816, o92510, java.lang.Object(List(java.lang.Object(Tree), o92885)), i5824, java.lang.Object(java.lang.String(0)), java.lang.Object(java.lang.String(0)))
Cond_Load34990ARR4(TRUE, java.lang.Object(ARRAY(i4, a115115data)), i5816, o92510, java.lang.Object(List(java.lang.Object(Tree), o92885)), i5824, java.lang.Object(java.lang.String(0)), java.lang.Object(java.lang.String(0))) → Inc35127(java.lang.Object(ARRAY(i4, a115115data)), i5816 + 1 + 1, o92510new, java.lang.Object(List(NULL, java.lang.Object(List(NULL, o92885)))), i5824)
New40185(java.lang.Object(ARRAY(i4, a115115data)), i6609, o92510, o92885, i5824, NULL, java.lang.Object(Tree)) → Inc35127(java.lang.Object(ARRAY(i4, a115115data)), i6609, o92510, java.lang.Object(List(java.lang.Object(Tree), java.lang.Object(List(NULL, o92885)))), i5824)
Load34990(java.lang.Object(ARRAY(i4, a115115data)), i5816, o92510, java.lang.Object(List(java.lang.Object(Tree), o92885)), i5824) → Load34990ARR5(java.lang.Object(ARRAY(i4, a115115data)), i5816, o92510, java.lang.Object(List(java.lang.Object(Tree), o92885)), i5824, java.lang.Object(java.lang.String(i6986)), java.lang.Object(java.lang.String(0)))
Load34990ARR5(java.lang.Object(ARRAY(i4, a115115data)), i5816, o92510, java.lang.Object(List(java.lang.Object(Tree), o92885)), i5824, java.lang.Object(java.lang.String(i6986)), java.lang.Object(java.lang.String(0))) → Cond_Load34990ARR5(!(i6986 = 0) && i5816 + 1 > 0 && i5816 + 1 < i4 && i5816 > 0 && i5816 < i4 && i5824 > 0 && i5816 + 1 + 1 > 0, java.lang.Object(ARRAY(i4, a115115data)), i5816, o92510, java.lang.Object(List(java.lang.Object(Tree), o92885)), i5824, java.lang.Object(java.lang.String(i6986)), java.lang.Object(java.lang.String(0)))
Cond_Load34990ARR5(TRUE, java.lang.Object(ARRAY(i4, a115115data)), i5816, o92510, java.lang.Object(List(java.lang.Object(Tree), o92885)), i5824, java.lang.Object(java.lang.String(i6986)), java.lang.Object(java.lang.String(0))) → Inc35127(java.lang.Object(ARRAY(i4, a115115data)), i5816 + 1 + 1, o92510new, java.lang.Object(List(java.lang.Object(Tree), java.lang.Object(List(NULL, o92885)))), i5824)
New40288(java.lang.Object(ARRAY(i4, a115115data)), i6905, o92510, o92885, i5824, java.lang.Object(Tree), NULL) → Inc35127(java.lang.Object(ARRAY(i4, a115115data)), i6905, o92510, java.lang.Object(List(NULL, java.lang.Object(List(java.lang.Object(Tree), o92885)))), i5824)
Load34990(java.lang.Object(ARRAY(i4, a115115data)), i5816, o92510, java.lang.Object(List(java.lang.Object(Tree), o92885)), i5824) → Load34990ARR6(java.lang.Object(ARRAY(i4, a115115data)), i5816, o92510, java.lang.Object(List(java.lang.Object(Tree), o92885)), i5824, java.lang.Object(java.lang.String(0)), java.lang.Object(java.lang.String(i6164)))
Load34990ARR6(java.lang.Object(ARRAY(i4, a115115data)), i5816, o92510, java.lang.Object(List(java.lang.Object(Tree), o92885)), i5824, java.lang.Object(java.lang.String(0)), java.lang.Object(java.lang.String(i6164))) → Cond_Load34990ARR6(i5816 + 1 > 0 && i5816 + 1 < i4 && !(i6164 = 0) && i5816 > 0 && i5816 < i4 && i5824 > 0 && i5816 + 1 + 1 > 0, java.lang.Object(ARRAY(i4, a115115data)), i5816, o92510, java.lang.Object(List(java.lang.Object(Tree), o92885)), i5824, java.lang.Object(java.lang.String(0)), java.lang.Object(java.lang.String(i6164)))
Cond_Load34990ARR6(TRUE, java.lang.Object(ARRAY(i4, a115115data)), i5816, o92510, java.lang.Object(List(java.lang.Object(Tree), o92885)), i5824, java.lang.Object(java.lang.String(0)), java.lang.Object(java.lang.String(i6164))) → Inc35127(java.lang.Object(ARRAY(i4, a115115data)), i5816 + 1 + 1, o92510new, java.lang.Object(List(NULL, java.lang.Object(List(java.lang.Object(Tree), o92885)))), i5824)
New40846(java.lang.Object(ARRAY(i4, a115115data)), i6905, o92510, o92885, i5824, java.lang.Object(Tree), java.lang.Object(Tree)) → Inc35127(java.lang.Object(ARRAY(i4, a115115data)), i6905, o92510, java.lang.Object(List(java.lang.Object(Tree), java.lang.Object(List(java.lang.Object(Tree), o92885)))), i5824)
Load34990(java.lang.Object(ARRAY(i4, a115115data)), i5816, o92510, java.lang.Object(List(java.lang.Object(Tree), o92885)), i5824) → Load34990ARR7(java.lang.Object(ARRAY(i4, a115115data)), i5816, o92510, java.lang.Object(List(java.lang.Object(Tree), o92885)), i5824, java.lang.Object(java.lang.String(i7504)), java.lang.Object(java.lang.String(i6164)))
Load34990ARR7(java.lang.Object(ARRAY(i4, a115115data)), i5816, o92510, java.lang.Object(List(java.lang.Object(Tree), o92885)), i5824, java.lang.Object(java.lang.String(i7504)), java.lang.Object(java.lang.String(i6164))) → Cond_Load34990ARR7(!(i7504 = 0) && i5816 + 1 > 0 && i5816 + 1 < i4 && !(i6164 = 0) && i5816 > 0 && i5816 < i4 && i5824 > 0 && i5816 + 1 + 1 > 0, java.lang.Object(ARRAY(i4, a115115data)), i5816, o92510, java.lang.Object(List(java.lang.Object(Tree), o92885)), i5824, java.lang.Object(java.lang.String(i7504)), java.lang.Object(java.lang.String(i6164)))
Cond_Load34990ARR7(TRUE, java.lang.Object(ARRAY(i4, a115115data)), i5816, o92510, java.lang.Object(List(java.lang.Object(Tree), o92885)), i5824, java.lang.Object(java.lang.String(i7504)), java.lang.Object(java.lang.String(i6164))) → Inc35127(java.lang.Object(ARRAY(i4, a115115data)), i5816 + 1 + 1, o92510new, java.lang.Object(List(java.lang.Object(Tree), java.lang.Object(List(java.lang.Object(Tree), o92885)))), i5824)
Load34990(java.lang.Object(ARRAY(i4, a115115data)), i5816, java.lang.Object(Tree), java.lang.Object(List(java.lang.Object(Tree), o92885)), i5824) → Load34990ARR8(java.lang.Object(ARRAY(i4, a115115data)), i5816, java.lang.Object(Tree), java.lang.Object(List(java.lang.Object(Tree), o92885)), i5824, java.lang.Object(java.lang.String(i6986)), java.lang.Object(java.lang.String(0)))
Load34990ARR8(java.lang.Object(ARRAY(i4, a115115data)), i5816, java.lang.Object(Tree), java.lang.Object(List(java.lang.Object(Tree), o92885)), i5824, java.lang.Object(java.lang.String(i6986)), java.lang.Object(java.lang.String(0))) → Cond_Load34990ARR8(!(i6986 = 0) && i5816 + 1 > 0 && i5816 + 1 < i4 && i5816 > 0 && i5816 < i4 && i5824 > 0 && i5816 + 1 + 1 > 0, java.lang.Object(ARRAY(i4, a115115data)), i5816, java.lang.Object(Tree), java.lang.Object(List(java.lang.Object(Tree), o92885)), i5824, java.lang.Object(java.lang.String(i6986)), java.lang.Object(java.lang.String(0)))
Cond_Load34990ARR8(TRUE, java.lang.Object(ARRAY(i4, a115115data)), i5816, java.lang.Object(Tree), java.lang.Object(List(java.lang.Object(Tree), o92885)), i5824, java.lang.Object(java.lang.String(i6986)), java.lang.Object(java.lang.String(0))) → New40185(java.lang.Object(ARRAY(i4, a115115data)), i5816 + 1 + 1, java.lang.Object(Tree), o92885, i5824, NULL, java.lang.Object(Tree))
Load34990(java.lang.Object(ARRAY(i4, a115115data)), i5816, java.lang.Object(Tree), java.lang.Object(List(java.lang.Object(Tree), o92885)), i5824) → Load34990ARR9(java.lang.Object(ARRAY(i4, a115115data)), i5816, java.lang.Object(Tree), java.lang.Object(List(java.lang.Object(Tree), o92885)), i5824, java.lang.Object(java.lang.String(0)), java.lang.Object(java.lang.String(i6164)))
Load34990ARR9(java.lang.Object(ARRAY(i4, a115115data)), i5816, java.lang.Object(Tree), java.lang.Object(List(java.lang.Object(Tree), o92885)), i5824, java.lang.Object(java.lang.String(0)), java.lang.Object(java.lang.String(i6164))) → Cond_Load34990ARR9(i5816 + 1 > 0 && i5816 + 1 < i4 && !(i6164 = 0) && i5816 > 0 && i5816 < i4 && i5824 > 0 && i5816 + 1 + 1 > 0, java.lang.Object(ARRAY(i4, a115115data)), i5816, java.lang.Object(Tree), java.lang.Object(List(java.lang.Object(Tree), o92885)), i5824, java.lang.Object(java.lang.String(0)), java.lang.Object(java.lang.String(i6164)))
Cond_Load34990ARR9(TRUE, java.lang.Object(ARRAY(i4, a115115data)), i5816, java.lang.Object(Tree), java.lang.Object(List(java.lang.Object(Tree), o92885)), i5824, java.lang.Object(java.lang.String(0)), java.lang.Object(java.lang.String(i6164))) → New40288(java.lang.Object(ARRAY(i4, a115115data)), i5816 + 1 + 1, java.lang.Object(Tree), o92885, i5824, java.lang.Object(Tree), NULL)
Load34990(java.lang.Object(ARRAY(i4, a115115data)), i5816, java.lang.Object(Tree), java.lang.Object(List(java.lang.Object(Tree), o92885)), i5824) → Load34990ARR10(java.lang.Object(ARRAY(i4, a115115data)), i5816, java.lang.Object(Tree), java.lang.Object(List(java.lang.Object(Tree), o92885)), i5824, java.lang.Object(java.lang.String(i7504)), java.lang.Object(java.lang.String(i6164)))
Load34990ARR10(java.lang.Object(ARRAY(i4, a115115data)), i5816, java.lang.Object(Tree), java.lang.Object(List(java.lang.Object(Tree), o92885)), i5824, java.lang.Object(java.lang.String(i7504)), java.lang.Object(java.lang.String(i6164))) → Cond_Load34990ARR10(!(i7504 = 0) && i5816 + 1 > 0 && i5816 + 1 < i4 && !(i6164 = 0) && i5816 > 0 && i5816 < i4 && i5824 > 0 && i5816 + 1 + 1 > 0, java.lang.Object(ARRAY(i4, a115115data)), i5816, java.lang.Object(Tree), java.lang.Object(List(java.lang.Object(Tree), o92885)), i5824, java.lang.Object(java.lang.String(i7504)), java.lang.Object(java.lang.String(i6164)))
Cond_Load34990ARR10(TRUE, java.lang.Object(ARRAY(i4, a115115data)), i5816, java.lang.Object(Tree), java.lang.Object(List(java.lang.Object(Tree), o92885)), i5824, java.lang.Object(java.lang.String(i7504)), java.lang.Object(java.lang.String(i6164))) → New40846(java.lang.Object(ARRAY(i4, a115115data)), i5816 + 1 + 1, java.lang.Object(Tree), o92885, i5824, java.lang.Object(Tree), java.lang.Object(Tree))
The set Q consists of the following terms:
Load34990ARR3(java.lang.Object(ARRAY(x0, x1)), x2, java.lang.Object(Tree), java.lang.Object(List(java.lang.Object(Tree), x3)), x4, java.lang.Object(java.lang.String(0)), java.lang.Object(java.lang.String(0)))
Cond_Load34990ARR3(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, java.lang.Object(Tree), java.lang.Object(List(java.lang.Object(Tree), x3)), x4, java.lang.Object(java.lang.String(0)), java.lang.Object(java.lang.String(0)))
Inc35127(java.lang.Object(ARRAY(x0, x1)), x2, x3, x4, x5)
Load34990(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(List(NULL, x4)), x5)
Cond_Load34990(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(List(NULL, x4)), x5)
New39186(java.lang.Object(ARRAY(x0, x1)), x2, x3, x4, x5, NULL, NULL)
Load34990(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(List(java.lang.Object(Tree), x4)), x5)
Load34990ARR4(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(List(java.lang.Object(Tree), x4)), x5, java.lang.Object(java.lang.String(0)), java.lang.Object(java.lang.String(0)))
Cond_Load34990ARR4(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(List(java.lang.Object(Tree), x4)), x5, java.lang.Object(java.lang.String(0)), java.lang.Object(java.lang.String(0)))
New40185(java.lang.Object(ARRAY(x0, x1)), x2, x3, x4, x5, NULL, java.lang.Object(Tree))
Load34990ARR5(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(List(java.lang.Object(Tree), x4)), x5, java.lang.Object(java.lang.String(x6)), java.lang.Object(java.lang.String(0)))
Cond_Load34990ARR5(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(List(java.lang.Object(Tree), x4)), x5, java.lang.Object(java.lang.String(x6)), java.lang.Object(java.lang.String(0)))
New40288(java.lang.Object(ARRAY(x0, x1)), x2, x3, x4, x5, java.lang.Object(Tree), NULL)
Load34990ARR6(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(List(java.lang.Object(Tree), x4)), x5, java.lang.Object(java.lang.String(0)), java.lang.Object(java.lang.String(x6)))
Cond_Load34990ARR6(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(List(java.lang.Object(Tree), x4)), x5, java.lang.Object(java.lang.String(0)), java.lang.Object(java.lang.String(x6)))
New40846(java.lang.Object(ARRAY(x0, x1)), x2, x3, x4, x5, java.lang.Object(Tree), java.lang.Object(Tree))
Load34990ARR7(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(List(java.lang.Object(Tree), x4)), x5, java.lang.Object(java.lang.String(x6)), java.lang.Object(java.lang.String(x7)))
Cond_Load34990ARR7(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(List(java.lang.Object(Tree), x4)), x5, java.lang.Object(java.lang.String(x6)), java.lang.Object(java.lang.String(x7)))
Load34990ARR8(java.lang.Object(ARRAY(x0, x1)), x2, java.lang.Object(Tree), java.lang.Object(List(java.lang.Object(Tree), x3)), x4, java.lang.Object(java.lang.String(x5)), java.lang.Object(java.lang.String(0)))
Cond_Load34990ARR8(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, java.lang.Object(Tree), java.lang.Object(List(java.lang.Object(Tree), x3)), x4, java.lang.Object(java.lang.String(x5)), java.lang.Object(java.lang.String(0)))
Load34990ARR9(java.lang.Object(ARRAY(x0, x1)), x2, java.lang.Object(Tree), java.lang.Object(List(java.lang.Object(Tree), x3)), x4, java.lang.Object(java.lang.String(0)), java.lang.Object(java.lang.String(x5)))
Cond_Load34990ARR9(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, java.lang.Object(Tree), java.lang.Object(List(java.lang.Object(Tree), x3)), x4, java.lang.Object(java.lang.String(0)), java.lang.Object(java.lang.String(x5)))
Load34990ARR10(java.lang.Object(ARRAY(x0, x1)), x2, java.lang.Object(Tree), java.lang.Object(List(java.lang.Object(Tree), x3)), x4, java.lang.Object(java.lang.String(x5)), java.lang.Object(java.lang.String(x6)))
Cond_Load34990ARR10(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, java.lang.Object(Tree), java.lang.Object(List(java.lang.Object(Tree), x3)), x4, java.lang.Object(java.lang.String(x5)), java.lang.Object(java.lang.String(x6)))

(21) GroundTermsRemoverProof (EQUIVALENT transformation)

Some arguments are removed because they always contain the same ground term.
We removed the following ground terms:
  • java.lang.Object(Tree)
  • NULL
  • java.lang.Object(java.lang.String(0))

We removed arguments according to the following replacements:

New40846(x1, x2, x3, x4, x5, x6, x7) → New40846(x1, x2, x3, x4, x5)
Cond_Load34990ARR10(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_Load34990ARR10(x1, x2, x3, x5, x6, x7, x8)
Load34990ARR10(x1, x2, x3, x4, x5, x6, x7) → Load34990ARR10(x1, x2, x4, x5, x6, x7)
New40288(x1, x2, x3, x4, x5, x6, x7) → New40288(x1, x2, x3, x4, x5)
Cond_Load34990ARR9(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_Load34990ARR9(x1, x2, x3, x5, x6, x8)
Load34990ARR9(x1, x2, x3, x4, x5, x6, x7) → Load34990ARR9(x1, x2, x4, x5, x7)
New40185(x1, x2, x3, x4, x5, x6, x7) → New40185(x1, x2, x3, x4, x5)
Cond_Load34990ARR8(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_Load34990ARR8(x1, x2, x3, x5, x6, x7)
Load34990ARR8(x1, x2, x3, x4, x5, x6, x7) → Load34990ARR8(x1, x2, x4, x5, x6)
Cond_Load34990ARR6(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_Load34990ARR6(x1, x2, x3, x4, x5, x6, x8)
Load34990ARR6(x1, x2, x3, x4, x5, x6, x7) → Load34990ARR6(x1, x2, x3, x4, x5, x7)
Cond_Load34990ARR5(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_Load34990ARR5(x1, x2, x3, x4, x5, x6, x7)
Load34990ARR5(x1, x2, x3, x4, x5, x6, x7) → Load34990ARR5(x1, x2, x3, x4, x5, x6)
Cond_Load34990ARR4(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_Load34990ARR4(x1, x2, x3, x4, x5, x6)
Load34990ARR4(x1, x2, x3, x4, x5, x6, x7) → Load34990ARR4(x1, x2, x3, x4, x5)
New39186(x1, x2, x3, x4, x5, x6, x7) → New39186(x1, x2, x3, x4, x5)
Cond_Load34990ARR3(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_Load34990ARR3(x1, x2, x3, x5, x6)
Load34990ARR3(x1, x2, x3, x4, x5, x6, x7) → Load34990ARR3(x1, x2, x4, x5)

(22) Obligation:

ITRS problem:

The following function symbols are pre-defined:
!=~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

The TRS R consists of the following rules:
Load34990(java.lang.Object(ARRAY(i4, a115115data)), i5816, java.lang.Object(Tree), java.lang.Object(List(java.lang.Object(Tree), o92885)), i5824) → Load34990ARR3(java.lang.Object(ARRAY(i4, a115115data)), i5816, java.lang.Object(List(java.lang.Object(Tree), o92885)), i5824)
Load34990ARR3(java.lang.Object(ARRAY(i4, a115115data)), i5816, java.lang.Object(List(java.lang.Object(Tree), o92885)), i5824) → Cond_Load34990ARR3(i5816 + 1 > 0 && i5816 + 1 < i4 && i5816 > 0 && i5816 < i4 && i5824 > 0 && i5816 + 1 + 1 > 0, java.lang.Object(ARRAY(i4, a115115data)), i5816, java.lang.Object(List(java.lang.Object(Tree), o92885)), i5824)
Cond_Load34990ARR3(TRUE, java.lang.Object(ARRAY(i4, a115115data)), i5816, java.lang.Object(List(java.lang.Object(Tree), o92885)), i5824) → New39186(java.lang.Object(ARRAY(i4, a115115data)), i5816 + 1 + 1, java.lang.Object(Tree), o92885, i5824)
Inc35127(java.lang.Object(ARRAY(i4, a115115data)), i5816, o92510, o92885, i5824) → Load34990(java.lang.Object(ARRAY(i4, a115115data)), i5816, o92510, o92885, i5824 + -1)
Load34990(java.lang.Object(ARRAY(i4, a115115data)), i5816, o92510, java.lang.Object(List(NULL, o92885)), i5824) → Cond_Load34990(i5824 > 0, java.lang.Object(ARRAY(i4, a115115data)), i5816, o92510, java.lang.Object(List(NULL, o92885)), i5824)
Cond_Load34990(TRUE, java.lang.Object(ARRAY(i4, a115115data)), i5816, o92510, java.lang.Object(List(NULL, o92885)), i5824) → Load34990(java.lang.Object(ARRAY(i4, a115115data)), i5816, o92510, o92885, i5824 + -1)
New39186(java.lang.Object(ARRAY(i4, a115115data)), i6609, o92510, o92885, i5824) → Inc35127(java.lang.Object(ARRAY(i4, a115115data)), i6609, o92510, java.lang.Object(List(NULL, java.lang.Object(List(NULL, o92885)))), i5824)
Load34990(java.lang.Object(ARRAY(i4, a115115data)), i5816, o92510, java.lang.Object(List(java.lang.Object(Tree), o92885)), i5824) → Load34990ARR4(java.lang.Object(ARRAY(i4, a115115data)), i5816, o92510, java.lang.Object(List(java.lang.Object(Tree), o92885)), i5824)
Load34990ARR4(java.lang.Object(ARRAY(i4, a115115data)), i5816, o92510, java.lang.Object(List(java.lang.Object(Tree), o92885)), i5824) → Cond_Load34990ARR4(i5816 + 1 > 0 && i5816 + 1 < i4 && i5816 > 0 && i5816 < i4 && i5824 > 0 && i5816 + 1 + 1 > 0, java.lang.Object(ARRAY(i4, a115115data)), i5816, o92510, java.lang.Object(List(java.lang.Object(Tree), o92885)), i5824)
Cond_Load34990ARR4(TRUE, java.lang.Object(ARRAY(i4, a115115data)), i5816, o92510, java.lang.Object(List(java.lang.Object(Tree), o92885)), i5824) → Inc35127(java.lang.Object(ARRAY(i4, a115115data)), i5816 + 1 + 1, o92510new, java.lang.Object(List(NULL, java.lang.Object(List(NULL, o92885)))), i5824)
New40185(java.lang.Object(ARRAY(i4, a115115data)), i6609, o92510, o92885, i5824) → Inc35127(java.lang.Object(ARRAY(i4, a115115data)), i6609, o92510, java.lang.Object(List(java.lang.Object(Tree), java.lang.Object(List(NULL, o92885)))), i5824)
Load34990(java.lang.Object(ARRAY(i4, a115115data)), i5816, o92510, java.lang.Object(List(java.lang.Object(Tree), o92885)), i5824) → Load34990ARR5(java.lang.Object(ARRAY(i4, a115115data)), i5816, o92510, java.lang.Object(List(java.lang.Object(Tree), o92885)), i5824, java.lang.Object(java.lang.String(i6986)))
Load34990ARR5(java.lang.Object(ARRAY(i4, a115115data)), i5816, o92510, java.lang.Object(List(java.lang.Object(Tree), o92885)), i5824, java.lang.Object(java.lang.String(i6986))) → Cond_Load34990ARR5(!(i6986 = 0) && i5816 + 1 > 0 && i5816 + 1 < i4 && i5816 > 0 && i5816 < i4 && i5824 > 0 && i5816 + 1 + 1 > 0, java.lang.Object(ARRAY(i4, a115115data)), i5816, o92510, java.lang.Object(List(java.lang.Object(Tree), o92885)), i5824, java.lang.Object(java.lang.String(i6986)))
Cond_Load34990ARR5(TRUE, java.lang.Object(ARRAY(i4, a115115data)), i5816, o92510, java.lang.Object(List(java.lang.Object(Tree), o92885)), i5824, java.lang.Object(java.lang.String(i6986))) → Inc35127(java.lang.Object(ARRAY(i4, a115115data)), i5816 + 1 + 1, o92510new, java.lang.Object(List(java.lang.Object(Tree), java.lang.Object(List(NULL, o92885)))), i5824)
New40288(java.lang.Object(ARRAY(i4, a115115data)), i6905, o92510, o92885, i5824) → Inc35127(java.lang.Object(ARRAY(i4, a115115data)), i6905, o92510, java.lang.Object(List(NULL, java.lang.Object(List(java.lang.Object(Tree), o92885)))), i5824)
Load34990(java.lang.Object(ARRAY(i4, a115115data)), i5816, o92510, java.lang.Object(List(java.lang.Object(Tree), o92885)), i5824) → Load34990ARR6(java.lang.Object(ARRAY(i4, a115115data)), i5816, o92510, java.lang.Object(List(java.lang.Object(Tree), o92885)), i5824, java.lang.Object(java.lang.String(i6164)))
Load34990ARR6(java.lang.Object(ARRAY(i4, a115115data)), i5816, o92510, java.lang.Object(List(java.lang.Object(Tree), o92885)), i5824, java.lang.Object(java.lang.String(i6164))) → Cond_Load34990ARR6(i5816 + 1 > 0 && i5816 + 1 < i4 && !(i6164 = 0) && i5816 > 0 && i5816 < i4 && i5824 > 0 && i5816 + 1 + 1 > 0, java.lang.Object(ARRAY(i4, a115115data)), i5816, o92510, java.lang.Object(List(java.lang.Object(Tree), o92885)), i5824, java.lang.Object(java.lang.String(i6164)))
Cond_Load34990ARR6(TRUE, java.lang.Object(ARRAY(i4, a115115data)), i5816, o92510, java.lang.Object(List(java.lang.Object(Tree), o92885)), i5824, java.lang.Object(java.lang.String(i6164))) → Inc35127(java.lang.Object(ARRAY(i4, a115115data)), i5816 + 1 + 1, o92510new, java.lang.Object(List(NULL, java.lang.Object(List(java.lang.Object(Tree), o92885)))), i5824)
New40846(java.lang.Object(ARRAY(i4, a115115data)), i6905, o92510, o92885, i5824) → Inc35127(java.lang.Object(ARRAY(i4, a115115data)), i6905, o92510, java.lang.Object(List(java.lang.Object(Tree), java.lang.Object(List(java.lang.Object(Tree), o92885)))), i5824)
Load34990(java.lang.Object(ARRAY(i4, a115115data)), i5816, o92510, java.lang.Object(List(java.lang.Object(Tree), o92885)), i5824) → Load34990ARR7(java.lang.Object(ARRAY(i4, a115115data)), i5816, o92510, java.lang.Object(List(java.lang.Object(Tree), o92885)), i5824, java.lang.Object(java.lang.String(i7504)), java.lang.Object(java.lang.String(i6164)))
Load34990ARR7(java.lang.Object(ARRAY(i4, a115115data)), i5816, o92510, java.lang.Object(List(java.lang.Object(Tree), o92885)), i5824, java.lang.Object(java.lang.String(i7504)), java.lang.Object(java.lang.String(i6164))) → Cond_Load34990ARR7(!(i7504 = 0) && i5816 + 1 > 0 && i5816 + 1 < i4 && !(i6164 = 0) && i5816 > 0 && i5816 < i4 && i5824 > 0 && i5816 + 1 + 1 > 0, java.lang.Object(ARRAY(i4, a115115data)), i5816, o92510, java.lang.Object(List(java.lang.Object(Tree), o92885)), i5824, java.lang.Object(java.lang.String(i7504)), java.lang.Object(java.lang.String(i6164)))
Cond_Load34990ARR7(TRUE, java.lang.Object(ARRAY(i4, a115115data)), i5816, o92510, java.lang.Object(List(java.lang.Object(Tree), o92885)), i5824, java.lang.Object(java.lang.String(i7504)), java.lang.Object(java.lang.String(i6164))) → Inc35127(java.lang.Object(ARRAY(i4, a115115data)), i5816 + 1 + 1, o92510new, java.lang.Object(List(java.lang.Object(Tree), java.lang.Object(List(java.lang.Object(Tree), o92885)))), i5824)
Load34990(java.lang.Object(ARRAY(i4, a115115data)), i5816, java.lang.Object(Tree), java.lang.Object(List(java.lang.Object(Tree), o92885)), i5824) → Load34990ARR8(java.lang.Object(ARRAY(i4, a115115data)), i5816, java.lang.Object(List(java.lang.Object(Tree), o92885)), i5824, java.lang.Object(java.lang.String(i6986)))
Load34990ARR8(java.lang.Object(ARRAY(i4, a115115data)), i5816, java.lang.Object(List(java.lang.Object(Tree), o92885)), i5824, java.lang.Object(java.lang.String(i6986))) → Cond_Load34990ARR8(!(i6986 = 0) && i5816 + 1 > 0 && i5816 + 1 < i4 && i5816 > 0 && i5816 < i4 && i5824 > 0 && i5816 + 1 + 1 > 0, java.lang.Object(ARRAY(i4, a115115data)), i5816, java.lang.Object(List(java.lang.Object(Tree), o92885)), i5824, java.lang.Object(java.lang.String(i6986)))
Cond_Load34990ARR8(TRUE, java.lang.Object(ARRAY(i4, a115115data)), i5816, java.lang.Object(List(java.lang.Object(Tree), o92885)), i5824, java.lang.Object(java.lang.String(i6986))) → New40185(java.lang.Object(ARRAY(i4, a115115data)), i5816 + 1 + 1, java.lang.Object(Tree), o92885, i5824)
Load34990(java.lang.Object(ARRAY(i4, a115115data)), i5816, java.lang.Object(Tree), java.lang.Object(List(java.lang.Object(Tree), o92885)), i5824) → Load34990ARR9(java.lang.Object(ARRAY(i4, a115115data)), i5816, java.lang.Object(List(java.lang.Object(Tree), o92885)), i5824, java.lang.Object(java.lang.String(i6164)))
Load34990ARR9(java.lang.Object(ARRAY(i4, a115115data)), i5816, java.lang.Object(List(java.lang.Object(Tree), o92885)), i5824, java.lang.Object(java.lang.String(i6164))) → Cond_Load34990ARR9(i5816 + 1 > 0 && i5816 + 1 < i4 && !(i6164 = 0) && i5816 > 0 && i5816 < i4 && i5824 > 0 && i5816 + 1 + 1 > 0, java.lang.Object(ARRAY(i4, a115115data)), i5816, java.lang.Object(List(java.lang.Object(Tree), o92885)), i5824, java.lang.Object(java.lang.String(i6164)))
Cond_Load34990ARR9(TRUE, java.lang.Object(ARRAY(i4, a115115data)), i5816, java.lang.Object(List(java.lang.Object(Tree), o92885)), i5824, java.lang.Object(java.lang.String(i6164))) → New40288(java.lang.Object(ARRAY(i4, a115115data)), i5816 + 1 + 1, java.lang.Object(Tree), o92885, i5824)
Load34990(java.lang.Object(ARRAY(i4, a115115data)), i5816, java.lang.Object(Tree), java.lang.Object(List(java.lang.Object(Tree), o92885)), i5824) → Load34990ARR10(java.lang.Object(ARRAY(i4, a115115data)), i5816, java.lang.Object(List(java.lang.Object(Tree), o92885)), i5824, java.lang.Object(java.lang.String(i7504)), java.lang.Object(java.lang.String(i6164)))
Load34990ARR10(java.lang.Object(ARRAY(i4, a115115data)), i5816, java.lang.Object(List(java.lang.Object(Tree), o92885)), i5824, java.lang.Object(java.lang.String(i7504)), java.lang.Object(java.lang.String(i6164))) → Cond_Load34990ARR10(!(i7504 = 0) && i5816 + 1 > 0 && i5816 + 1 < i4 && !(i6164 = 0) && i5816 > 0 && i5816 < i4 && i5824 > 0 && i5816 + 1 + 1 > 0, java.lang.Object(ARRAY(i4, a115115data)), i5816, java.lang.Object(List(java.lang.Object(Tree), o92885)), i5824, java.lang.Object(java.lang.String(i7504)), java.lang.Object(java.lang.String(i6164)))
Cond_Load34990ARR10(TRUE, java.lang.Object(ARRAY(i4, a115115data)), i5816, java.lang.Object(List(java.lang.Object(Tree), o92885)), i5824, java.lang.Object(java.lang.String(i7504)), java.lang.Object(java.lang.String(i6164))) → New40846(java.lang.Object(ARRAY(i4, a115115data)), i5816 + 1 + 1, java.lang.Object(Tree), o92885, i5824)
The set Q consists of the following terms:
Load34990ARR3(java.lang.Object(ARRAY(x0, x1)), x2, java.lang.Object(List(java.lang.Object(Tree), x3)), x4)
Cond_Load34990ARR3(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, java.lang.Object(List(java.lang.Object(Tree), x3)), x4)
Inc35127(java.lang.Object(ARRAY(x0, x1)), x2, x3, x4, x5)
Load34990(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(List(NULL, x4)), x5)
Cond_Load34990(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(List(NULL, x4)), x5)
New39186(java.lang.Object(ARRAY(x0, x1)), x2, x3, x4, x5)
Load34990(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(List(java.lang.Object(Tree), x4)), x5)
Load34990ARR4(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(List(java.lang.Object(Tree), x4)), x5)
Cond_Load34990ARR4(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(List(java.lang.Object(Tree), x4)), x5)
New40185(java.lang.Object(ARRAY(x0, x1)), x2, x3, x4, x5)
Load34990ARR5(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(List(java.lang.Object(Tree), x4)), x5, java.lang.Object(java.lang.String(x6)))
Cond_Load34990ARR5(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(List(java.lang.Object(Tree), x4)), x5, java.lang.Object(java.lang.String(x6)))
New40288(java.lang.Object(ARRAY(x0, x1)), x2, x3, x4, x5)
Load34990ARR6(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(List(java.lang.Object(Tree), x4)), x5, java.lang.Object(java.lang.String(x6)))
Cond_Load34990ARR6(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(List(java.lang.Object(Tree), x4)), x5, java.lang.Object(java.lang.String(x6)))
New40846(java.lang.Object(ARRAY(x0, x1)), x2, x3, x4, x5)
Load34990ARR7(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(List(java.lang.Object(Tree), x4)), x5, java.lang.Object(java.lang.String(x6)), java.lang.Object(java.lang.String(x7)))
Cond_Load34990ARR7(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(List(java.lang.Object(Tree), x4)), x5, java.lang.Object(java.lang.String(x6)), java.lang.Object(java.lang.String(x7)))
Load34990ARR8(java.lang.Object(ARRAY(x0, x1)), x2, java.lang.Object(List(java.lang.Object(Tree), x3)), x4, java.lang.Object(java.lang.String(x5)))
Cond_Load34990ARR8(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, java.lang.Object(List(java.lang.Object(Tree), x3)), x4, java.lang.Object(java.lang.String(x5)))
Load34990ARR9(java.lang.Object(ARRAY(x0, x1)), x2, java.lang.Object(List(java.lang.Object(Tree), x3)), x4, java.lang.Object(java.lang.String(x5)))
Cond_Load34990ARR9(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, java.lang.Object(List(java.lang.Object(Tree), x3)), x4, java.lang.Object(java.lang.String(x5)))
Load34990ARR10(java.lang.Object(ARRAY(x0, x1)), x2, java.lang.Object(List(java.lang.Object(Tree), x3)), x4, java.lang.Object(java.lang.String(x5)), java.lang.Object(java.lang.String(x6)))
Cond_Load34990ARR10(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, java.lang.Object(List(java.lang.Object(Tree), x3)), x4, java.lang.Object(java.lang.String(x5)), java.lang.Object(java.lang.String(x6)))

(23) ITRSFilterProcessorProof (SOUND transformation)

We filter according the heuristic IdpCand1ShapeHeuristic
We removed arguments according to the following replacements:

Load34990(x1, x2, x3, x4, x5) → Load34990(x1, x2, x5)
List(x1, x2) → List
Load34990ARR3(x1, x2, x3, x4) → Load34990ARR3(x1, x2, x4)
Cond_Load34990ARR3(x1, x2, x3, x4, x5) → Cond_Load34990ARR3(x1, x2, x3, x5)
New39186(x1, x2, x3, x4, x5) → New39186(x1, x2, x5)
Inc35127(x1, x2, x3, x4, x5) → Inc35127(x1, x2, x5)
Cond_Load34990(x1, x2, x3, x4, x5, x6) → Cond_Load34990(x1, x2, x3, x6)
Load34990ARR4(x1, x2, x3, x4, x5) → Load34990ARR4(x1, x2, x5)
Cond_Load34990ARR4(x1, x2, x3, x4, x5, x6) → Cond_Load34990ARR4(x1, x2, x3, x6)
New40185(x1, x2, x3, x4, x5) → New40185(x1, x2, x5)
Load34990ARR5(x1, x2, x3, x4, x5, x6) → Load34990ARR5(x1, x2, x5, x6)
Cond_Load34990ARR5(x1, x2, x3, x4, x5, x6, x7) → Cond_Load34990ARR5(x1, x2, x3, x6, x7)
New40288(x1, x2, x3, x4, x5) → New40288(x1, x2, x5)
Load34990ARR6(x1, x2, x3, x4, x5, x6) → Load34990ARR6(x1, x2, x5, x6)
Cond_Load34990ARR6(x1, x2, x3, x4, x5, x6, x7) → Cond_Load34990ARR6(x1, x2, x3, x6, x7)
New40846(x1, x2, x3, x4, x5) → New40846(x1, x2, x5)
Load34990ARR7(x1, x2, x3, x4, x5, x6, x7) → Load34990ARR7(x1, x2, x5, x6, x7)
Cond_Load34990ARR7(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_Load34990ARR7(x1, x2, x3, x6, x7, x8)
Load34990ARR8(x1, x2, x3, x4, x5) → Load34990ARR8(x1, x2, x4, x5)
Cond_Load34990ARR8(x1, x2, x3, x4, x5, x6) → Cond_Load34990ARR8(x1, x2, x3, x5, x6)
Load34990ARR9(x1, x2, x3, x4, x5) → Load34990ARR9(x1, x2, x4, x5)
Cond_Load34990ARR9(x1, x2, x3, x4, x5, x6) → Cond_Load34990ARR9(x1, x2, x3, x5, x6)
Load34990ARR10(x1, x2, x3, x4, x5, x6) → Load34990ARR10(x1, x2, x4, x5, x6)
Cond_Load34990ARR10(x1, x2, x3, x4, x5, x6, x7) → Cond_Load34990ARR10(x1, x2, x3, x5, x6, x7)

(24) Obligation:

ITRS problem:

The following function symbols are pre-defined:
!=~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

The TRS R consists of the following rules:
Load34990(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824) → Load34990ARR3(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824)
Load34990ARR3(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824) → Cond_Load34990ARR3(i5816 + 1 > 0 && i5816 + 1 < i4 && i5816 > 0 && i5816 < i4 && i5824 > 0 && i5816 + 1 + 1 > 0, java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824)
Cond_Load34990ARR3(TRUE, java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824) → New39186(java.lang.Object(ARRAY(i4, a115115data)), i5816 + 1 + 1, i5824)
Inc35127(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824) → Load34990(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824 + -1)
Load34990(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824) → Cond_Load34990(i5824 > 0, java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824)
Cond_Load34990(TRUE, java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824) → Load34990(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824 + -1)
New39186(java.lang.Object(ARRAY(i4, a115115data)), i6609, i5824) → Inc35127(java.lang.Object(ARRAY(i4, a115115data)), i6609, i5824)
Load34990(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824) → Load34990ARR4(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824)
Load34990ARR4(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824) → Cond_Load34990ARR4(i5816 + 1 > 0 && i5816 + 1 < i4 && i5816 > 0 && i5816 < i4 && i5824 > 0 && i5816 + 1 + 1 > 0, java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824)
Cond_Load34990ARR4(TRUE, java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824) → Inc35127(java.lang.Object(ARRAY(i4, a115115data)), i5816 + 1 + 1, i5824)
New40185(java.lang.Object(ARRAY(i4, a115115data)), i6609, i5824) → Inc35127(java.lang.Object(ARRAY(i4, a115115data)), i6609, i5824)
Load34990(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824) → Load34990ARR5(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i6986)))
Load34990ARR5(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i6986))) → Cond_Load34990ARR5(!(i6986 = 0) && i5816 + 1 > 0 && i5816 + 1 < i4 && i5816 > 0 && i5816 < i4 && i5824 > 0 && i5816 + 1 + 1 > 0, java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i6986)))
Cond_Load34990ARR5(TRUE, java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i6986))) → Inc35127(java.lang.Object(ARRAY(i4, a115115data)), i5816 + 1 + 1, i5824)
New40288(java.lang.Object(ARRAY(i4, a115115data)), i6905, i5824) → Inc35127(java.lang.Object(ARRAY(i4, a115115data)), i6905, i5824)
Load34990(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824) → Load34990ARR6(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i6164)))
Load34990ARR6(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i6164))) → Cond_Load34990ARR6(i5816 + 1 > 0 && i5816 + 1 < i4 && !(i6164 = 0) && i5816 > 0 && i5816 < i4 && i5824 > 0 && i5816 + 1 + 1 > 0, java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i6164)))
Cond_Load34990ARR6(TRUE, java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i6164))) → Inc35127(java.lang.Object(ARRAY(i4, a115115data)), i5816 + 1 + 1, i5824)
New40846(java.lang.Object(ARRAY(i4, a115115data)), i6905, i5824) → Inc35127(java.lang.Object(ARRAY(i4, a115115data)), i6905, i5824)
Load34990(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824) → Load34990ARR7(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i7504)), java.lang.Object(java.lang.String(i6164)))
Load34990ARR7(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i7504)), java.lang.Object(java.lang.String(i6164))) → Cond_Load34990ARR7(!(i7504 = 0) && i5816 + 1 > 0 && i5816 + 1 < i4 && !(i6164 = 0) && i5816 > 0 && i5816 < i4 && i5824 > 0 && i5816 + 1 + 1 > 0, java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i7504)), java.lang.Object(java.lang.String(i6164)))
Cond_Load34990ARR7(TRUE, java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i7504)), java.lang.Object(java.lang.String(i6164))) → Inc35127(java.lang.Object(ARRAY(i4, a115115data)), i5816 + 1 + 1, i5824)
Load34990(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824) → Load34990ARR8(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i6986)))
Load34990ARR8(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i6986))) → Cond_Load34990ARR8(!(i6986 = 0) && i5816 + 1 > 0 && i5816 + 1 < i4 && i5816 > 0 && i5816 < i4 && i5824 > 0 && i5816 + 1 + 1 > 0, java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i6986)))
Cond_Load34990ARR8(TRUE, java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i6986))) → New40185(java.lang.Object(ARRAY(i4, a115115data)), i5816 + 1 + 1, i5824)
Load34990(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824) → Load34990ARR9(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i6164)))
Load34990ARR9(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i6164))) → Cond_Load34990ARR9(i5816 + 1 > 0 && i5816 + 1 < i4 && !(i6164 = 0) && i5816 > 0 && i5816 < i4 && i5824 > 0 && i5816 + 1 + 1 > 0, java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i6164)))
Cond_Load34990ARR9(TRUE, java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i6164))) → New40288(java.lang.Object(ARRAY(i4, a115115data)), i5816 + 1 + 1, i5824)
Load34990(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824) → Load34990ARR10(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i7504)), java.lang.Object(java.lang.String(i6164)))
Load34990ARR10(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i7504)), java.lang.Object(java.lang.String(i6164))) → Cond_Load34990ARR10(!(i7504 = 0) && i5816 + 1 > 0 && i5816 + 1 < i4 && !(i6164 = 0) && i5816 > 0 && i5816 < i4 && i5824 > 0 && i5816 + 1 + 1 > 0, java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i7504)), java.lang.Object(java.lang.String(i6164)))
Cond_Load34990ARR10(TRUE, java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i7504)), java.lang.Object(java.lang.String(i6164))) → New40846(java.lang.Object(ARRAY(i4, a115115data)), i5816 + 1 + 1, i5824)
The set Q consists of the following terms:
Load34990(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load34990ARR3(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load34990ARR3(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
Inc35127(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load34990(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
New39186(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load34990ARR4(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load34990ARR4(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
New40185(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load34990ARR5(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load34990ARR5(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
New40288(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load34990ARR6(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load34990ARR6(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
New40846(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load34990ARR7(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)), java.lang.Object(java.lang.String(x5)))
Cond_Load34990ARR7(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)), java.lang.Object(java.lang.String(x5)))
Load34990ARR8(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load34990ARR8(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load34990ARR9(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load34990ARR9(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load34990ARR10(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)), java.lang.Object(java.lang.String(x5)))
Cond_Load34990ARR10(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)), java.lang.Object(java.lang.String(x5)))

(25) ITRSFSMergerProof (SOUND transformation)

The following function symbols have been merged:

New39186, New40185
> New39186_3

New40288, New40846
> New40288_3

(26) Obligation:

ITRS problem:

The following function symbols are pre-defined:
!=~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

The TRS R consists of the following rules:
Load34990(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824) → Load34990ARR3(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824)
Load34990ARR3(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824) → Cond_Load34990ARR3(i5816 + 1 > 0 && i5816 + 1 < i4 && i5816 > 0 && i5816 < i4 && i5824 > 0 && i5816 + 1 + 1 > 0, java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824)
Cond_Load34990ARR3(TRUE, java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824) → New39186(java.lang.Object(ARRAY(i4, a115115data)), i5816 + 1 + 1, i5824)
Inc35127(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824) → Load34990(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824 + -1)
Load34990(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824) → Cond_Load34990(i5824 > 0, java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824)
Cond_Load34990(TRUE, java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824) → Load34990(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824 + -1)
New39186(java.lang.Object(ARRAY(i4, a115115data)), i6609, i5824) → Inc35127(java.lang.Object(ARRAY(i4, a115115data)), i6609, i5824)
Load34990(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824) → Load34990ARR4(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824)
Load34990ARR4(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824) → Cond_Load34990ARR4(i5816 + 1 > 0 && i5816 + 1 < i4 && i5816 > 0 && i5816 < i4 && i5824 > 0 && i5816 + 1 + 1 > 0, java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824)
Cond_Load34990ARR4(TRUE, java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824) → Inc35127(java.lang.Object(ARRAY(i4, a115115data)), i5816 + 1 + 1, i5824)
Load34990(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824) → Load34990ARR5(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i6986)))
Load34990ARR5(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i6986))) → Cond_Load34990ARR5(!(i6986 = 0) && i5816 + 1 > 0 && i5816 + 1 < i4 && i5816 > 0 && i5816 < i4 && i5824 > 0 && i5816 + 1 + 1 > 0, java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i6986)))
Cond_Load34990ARR5(TRUE, java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i6986))) → Inc35127(java.lang.Object(ARRAY(i4, a115115data)), i5816 + 1 + 1, i5824)
New40288(java.lang.Object(ARRAY(i4, a115115data)), i6905, i5824) → Inc35127(java.lang.Object(ARRAY(i4, a115115data)), i6905, i5824)
Load34990(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824) → Load34990ARR6(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i6164)))
Load34990ARR6(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i6164))) → Cond_Load34990ARR6(i5816 + 1 > 0 && i5816 + 1 < i4 && !(i6164 = 0) && i5816 > 0 && i5816 < i4 && i5824 > 0 && i5816 + 1 + 1 > 0, java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i6164)))
Cond_Load34990ARR6(TRUE, java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i6164))) → Inc35127(java.lang.Object(ARRAY(i4, a115115data)), i5816 + 1 + 1, i5824)
Load34990(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824) → Load34990ARR7(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i7504)), java.lang.Object(java.lang.String(i6164)))
Load34990ARR7(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i7504)), java.lang.Object(java.lang.String(i6164))) → Cond_Load34990ARR7(!(i7504 = 0) && i5816 + 1 > 0 && i5816 + 1 < i4 && !(i6164 = 0) && i5816 > 0 && i5816 < i4 && i5824 > 0 && i5816 + 1 + 1 > 0, java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i7504)), java.lang.Object(java.lang.String(i6164)))
Cond_Load34990ARR7(TRUE, java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i7504)), java.lang.Object(java.lang.String(i6164))) → Inc35127(java.lang.Object(ARRAY(i4, a115115data)), i5816 + 1 + 1, i5824)
Load34990(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824) → Load34990ARR8(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i6986)))
Load34990ARR8(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i6986))) → Cond_Load34990ARR8(!(i6986 = 0) && i5816 + 1 > 0 && i5816 + 1 < i4 && i5816 > 0 && i5816 < i4 && i5824 > 0 && i5816 + 1 + 1 > 0, java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i6986)))
Cond_Load34990ARR8(TRUE, java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i6986))) → New39186(java.lang.Object(ARRAY(i4, a115115data)), i5816 + 1 + 1, i5824)
Load34990(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824) → Load34990ARR9(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i6164)))
Load34990ARR9(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i6164))) → Cond_Load34990ARR9(i5816 + 1 > 0 && i5816 + 1 < i4 && !(i6164 = 0) && i5816 > 0 && i5816 < i4 && i5824 > 0 && i5816 + 1 + 1 > 0, java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i6164)))
Cond_Load34990ARR9(TRUE, java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i6164))) → New40288(java.lang.Object(ARRAY(i4, a115115data)), i5816 + 1 + 1, i5824)
Load34990(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824) → Load34990ARR10(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i7504)), java.lang.Object(java.lang.String(i6164)))
Load34990ARR10(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i7504)), java.lang.Object(java.lang.String(i6164))) → Cond_Load34990ARR10(!(i7504 = 0) && i5816 + 1 > 0 && i5816 + 1 < i4 && !(i6164 = 0) && i5816 > 0 && i5816 < i4 && i5824 > 0 && i5816 + 1 + 1 > 0, java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i7504)), java.lang.Object(java.lang.String(i6164)))
Cond_Load34990ARR10(TRUE, java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i7504)), java.lang.Object(java.lang.String(i6164))) → New40288(java.lang.Object(ARRAY(i4, a115115data)), i5816 + 1 + 1, i5824)
The set Q consists of the following terms:
Load34990(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load34990ARR3(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load34990ARR3(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
Inc35127(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load34990(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
New39186(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load34990ARR4(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load34990ARR4(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load34990ARR5(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load34990ARR5(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
New40288(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load34990ARR6(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load34990ARR6(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load34990ARR7(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)), java.lang.Object(java.lang.String(x5)))
Cond_Load34990ARR7(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)), java.lang.Object(java.lang.String(x5)))
Load34990ARR8(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load34990ARR8(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load34990ARR9(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load34990ARR9(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load34990ARR10(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)), java.lang.Object(java.lang.String(x5)))
Cond_Load34990ARR10(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)), java.lang.Object(java.lang.String(x5)))

(27) ITRStoIDPProof (EQUIVALENT transformation)

Added dependency pairs

(28) Obligation:

IDP problem:
The following function symbols are pre-defined:
!=~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


The following domains are used:

Boolean, Integer


The ITRS R consists of the following rules:
Load34990(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824) → Load34990ARR3(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824)
Load34990ARR3(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824) → Cond_Load34990ARR3(i5816 + 1 > 0 && i5816 + 1 < i4 && i5816 > 0 && i5816 < i4 && i5824 > 0 && i5816 + 1 + 1 > 0, java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824)
Cond_Load34990ARR3(TRUE, java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824) → New39186(java.lang.Object(ARRAY(i4, a115115data)), i5816 + 1 + 1, i5824)
Inc35127(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824) → Load34990(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824 + -1)
Load34990(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824) → Cond_Load34990(i5824 > 0, java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824)
Cond_Load34990(TRUE, java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824) → Load34990(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824 + -1)
New39186(java.lang.Object(ARRAY(i4, a115115data)), i6609, i5824) → Inc35127(java.lang.Object(ARRAY(i4, a115115data)), i6609, i5824)
Load34990(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824) → Load34990ARR4(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824)
Load34990ARR4(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824) → Cond_Load34990ARR4(i5816 + 1 > 0 && i5816 + 1 < i4 && i5816 > 0 && i5816 < i4 && i5824 > 0 && i5816 + 1 + 1 > 0, java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824)
Cond_Load34990ARR4(TRUE, java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824) → Inc35127(java.lang.Object(ARRAY(i4, a115115data)), i5816 + 1 + 1, i5824)
Load34990(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824) → Load34990ARR5(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i6986)))
Load34990ARR5(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i6986))) → Cond_Load34990ARR5(!(i6986 = 0) && i5816 + 1 > 0 && i5816 + 1 < i4 && i5816 > 0 && i5816 < i4 && i5824 > 0 && i5816 + 1 + 1 > 0, java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i6986)))
Cond_Load34990ARR5(TRUE, java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i6986))) → Inc35127(java.lang.Object(ARRAY(i4, a115115data)), i5816 + 1 + 1, i5824)
New40288(java.lang.Object(ARRAY(i4, a115115data)), i6905, i5824) → Inc35127(java.lang.Object(ARRAY(i4, a115115data)), i6905, i5824)
Load34990(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824) → Load34990ARR6(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i6164)))
Load34990ARR6(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i6164))) → Cond_Load34990ARR6(i5816 + 1 > 0 && i5816 + 1 < i4 && !(i6164 = 0) && i5816 > 0 && i5816 < i4 && i5824 > 0 && i5816 + 1 + 1 > 0, java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i6164)))
Cond_Load34990ARR6(TRUE, java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i6164))) → Inc35127(java.lang.Object(ARRAY(i4, a115115data)), i5816 + 1 + 1, i5824)
Load34990(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824) → Load34990ARR7(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i7504)), java.lang.Object(java.lang.String(i6164)))
Load34990ARR7(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i7504)), java.lang.Object(java.lang.String(i6164))) → Cond_Load34990ARR7(!(i7504 = 0) && i5816 + 1 > 0 && i5816 + 1 < i4 && !(i6164 = 0) && i5816 > 0 && i5816 < i4 && i5824 > 0 && i5816 + 1 + 1 > 0, java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i7504)), java.lang.Object(java.lang.String(i6164)))
Cond_Load34990ARR7(TRUE, java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i7504)), java.lang.Object(java.lang.String(i6164))) → Inc35127(java.lang.Object(ARRAY(i4, a115115data)), i5816 + 1 + 1, i5824)
Load34990(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824) → Load34990ARR8(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i6986)))
Load34990ARR8(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i6986))) → Cond_Load34990ARR8(!(i6986 = 0) && i5816 + 1 > 0 && i5816 + 1 < i4 && i5816 > 0 && i5816 < i4 && i5824 > 0 && i5816 + 1 + 1 > 0, java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i6986)))
Cond_Load34990ARR8(TRUE, java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i6986))) → New39186(java.lang.Object(ARRAY(i4, a115115data)), i5816 + 1 + 1, i5824)
Load34990(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824) → Load34990ARR9(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i6164)))
Load34990ARR9(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i6164))) → Cond_Load34990ARR9(i5816 + 1 > 0 && i5816 + 1 < i4 && !(i6164 = 0) && i5816 > 0 && i5816 < i4 && i5824 > 0 && i5816 + 1 + 1 > 0, java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i6164)))
Cond_Load34990ARR9(TRUE, java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i6164))) → New40288(java.lang.Object(ARRAY(i4, a115115data)), i5816 + 1 + 1, i5824)
Load34990(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824) → Load34990ARR10(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i7504)), java.lang.Object(java.lang.String(i6164)))
Load34990ARR10(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i7504)), java.lang.Object(java.lang.String(i6164))) → Cond_Load34990ARR10(!(i7504 = 0) && i5816 + 1 > 0 && i5816 + 1 < i4 && !(i6164 = 0) && i5816 > 0 && i5816 < i4 && i5824 > 0 && i5816 + 1 + 1 > 0, java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i7504)), java.lang.Object(java.lang.String(i6164)))
Cond_Load34990ARR10(TRUE, java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i7504)), java.lang.Object(java.lang.String(i6164))) → New40288(java.lang.Object(ARRAY(i4, a115115data)), i5816 + 1 + 1, i5824)

The integer pair graph contains the following rules and edges:
(0): LOAD34990(java.lang.Object(ARRAY(i4[0], a115115data[0])), i5816[0], i5824[0]) → LOAD34990ARR3(java.lang.Object(ARRAY(i4[0], a115115data[0])), i5816[0], i5824[0])
(1): LOAD34990ARR3(java.lang.Object(ARRAY(i4[1], a115115data[1])), i5816[1], i5824[1]) → COND_LOAD34990ARR3(i5816[1] + 1 > 0 && i5816[1] + 1 < i4[1] && i5816[1] > 0 && i5816[1] < i4[1] && i5824[1] > 0 && i5816[1] + 1 + 1 > 0, java.lang.Object(ARRAY(i4[1], a115115data[1])), i5816[1], i5824[1])
(2): COND_LOAD34990ARR3(TRUE, java.lang.Object(ARRAY(i4[2], a115115data[2])), i5816[2], i5824[2]) → NEW39186(java.lang.Object(ARRAY(i4[2], a115115data[2])), i5816[2] + 1 + 1, i5824[2])
(3): INC35127(java.lang.Object(ARRAY(i4[3], a115115data[3])), i5816[3], i5824[3]) → LOAD34990(java.lang.Object(ARRAY(i4[3], a115115data[3])), i5816[3], i5824[3] + -1)
(4): LOAD34990(java.lang.Object(ARRAY(i4[4], a115115data[4])), i5816[4], i5824[4]) → COND_LOAD34990(i5824[4] > 0, java.lang.Object(ARRAY(i4[4], a115115data[4])), i5816[4], i5824[4])
(5): COND_LOAD34990(TRUE, java.lang.Object(ARRAY(i4[5], a115115data[5])), i5816[5], i5824[5]) → LOAD34990(java.lang.Object(ARRAY(i4[5], a115115data[5])), i5816[5], i5824[5] + -1)
(6): NEW39186(java.lang.Object(ARRAY(i4[6], a115115data[6])), i6609[6], i5824[6]) → INC35127(java.lang.Object(ARRAY(i4[6], a115115data[6])), i6609[6], i5824[6])
(7): LOAD34990(java.lang.Object(ARRAY(i4[7], a115115data[7])), i5816[7], i5824[7]) → LOAD34990ARR4(java.lang.Object(ARRAY(i4[7], a115115data[7])), i5816[7], i5824[7])
(8): LOAD34990ARR4(java.lang.Object(ARRAY(i4[8], a115115data[8])), i5816[8], i5824[8]) → COND_LOAD34990ARR4(i5816[8] + 1 > 0 && i5816[8] + 1 < i4[8] && i5816[8] > 0 && i5816[8] < i4[8] && i5824[8] > 0 && i5816[8] + 1 + 1 > 0, java.lang.Object(ARRAY(i4[8], a115115data[8])), i5816[8], i5824[8])
(9): COND_LOAD34990ARR4(TRUE, java.lang.Object(ARRAY(i4[9], a115115data[9])), i5816[9], i5824[9]) → INC35127(java.lang.Object(ARRAY(i4[9], a115115data[9])), i5816[9] + 1 + 1, i5824[9])
(10): LOAD34990(java.lang.Object(ARRAY(i4[10], a115115data[10])), i5816[10], i5824[10]) → LOAD34990ARR5(java.lang.Object(ARRAY(i4[10], a115115data[10])), i5816[10], i5824[10], java.lang.Object(java.lang.String(i6986[10])))
(11): LOAD34990ARR5(java.lang.Object(ARRAY(i4[11], a115115data[11])), i5816[11], i5824[11], java.lang.Object(java.lang.String(i6986[11]))) → COND_LOAD34990ARR5(!(i6986[11] = 0) && i5816[11] + 1 > 0 && i5816[11] + 1 < i4[11] && i5816[11] > 0 && i5816[11] < i4[11] && i5824[11] > 0 && i5816[11] + 1 + 1 > 0, java.lang.Object(ARRAY(i4[11], a115115data[11])), i5816[11], i5824[11], java.lang.Object(java.lang.String(i6986[11])))
(12): COND_LOAD34990ARR5(TRUE, java.lang.Object(ARRAY(i4[12], a115115data[12])), i5816[12], i5824[12], java.lang.Object(java.lang.String(i6986[12]))) → INC35127(java.lang.Object(ARRAY(i4[12], a115115data[12])), i5816[12] + 1 + 1, i5824[12])
(13): NEW40288(java.lang.Object(ARRAY(i4[13], a115115data[13])), i6905[13], i5824[13]) → INC35127(java.lang.Object(ARRAY(i4[13], a115115data[13])), i6905[13], i5824[13])
(14): LOAD34990(java.lang.Object(ARRAY(i4[14], a115115data[14])), i5816[14], i5824[14]) → LOAD34990ARR6(java.lang.Object(ARRAY(i4[14], a115115data[14])), i5816[14], i5824[14], java.lang.Object(java.lang.String(i6164[14])))
(15): LOAD34990ARR6(java.lang.Object(ARRAY(i4[15], a115115data[15])), i5816[15], i5824[15], java.lang.Object(java.lang.String(i6164[15]))) → COND_LOAD34990ARR6(i5816[15] + 1 > 0 && i5816[15] + 1 < i4[15] && !(i6164[15] = 0) && i5816[15] > 0 && i5816[15] < i4[15] && i5824[15] > 0 && i5816[15] + 1 + 1 > 0, java.lang.Object(ARRAY(i4[15], a115115data[15])), i5816[15], i5824[15], java.lang.Object(java.lang.String(i6164[15])))
(16): COND_LOAD34990ARR6(TRUE, java.lang.Object(ARRAY(i4[16], a115115data[16])), i5816[16], i5824[16], java.lang.Object(java.lang.String(i6164[16]))) → INC35127(java.lang.Object(ARRAY(i4[16], a115115data[16])), i5816[16] + 1 + 1, i5824[16])
(17): LOAD34990(java.lang.Object(ARRAY(i4[17], a115115data[17])), i5816[17], i5824[17]) → LOAD34990ARR7(java.lang.Object(ARRAY(i4[17], a115115data[17])), i5816[17], i5824[17], java.lang.Object(java.lang.String(i7504[17])), java.lang.Object(java.lang.String(i6164[17])))
(18): LOAD34990ARR7(java.lang.Object(ARRAY(i4[18], a115115data[18])), i5816[18], i5824[18], java.lang.Object(java.lang.String(i7504[18])), java.lang.Object(java.lang.String(i6164[18]))) → COND_LOAD34990ARR7(!(i7504[18] = 0) && i5816[18] + 1 > 0 && i5816[18] + 1 < i4[18] && !(i6164[18] = 0) && i5816[18] > 0 && i5816[18] < i4[18] && i5824[18] > 0 && i5816[18] + 1 + 1 > 0, java.lang.Object(ARRAY(i4[18], a115115data[18])), i5816[18], i5824[18], java.lang.Object(java.lang.String(i7504[18])), java.lang.Object(java.lang.String(i6164[18])))
(19): COND_LOAD34990ARR7(TRUE, java.lang.Object(ARRAY(i4[19], a115115data[19])), i5816[19], i5824[19], java.lang.Object(java.lang.String(i7504[19])), java.lang.Object(java.lang.String(i6164[19]))) → INC35127(java.lang.Object(ARRAY(i4[19], a115115data[19])), i5816[19] + 1 + 1, i5824[19])
(20): LOAD34990(java.lang.Object(ARRAY(i4[20], a115115data[20])), i5816[20], i5824[20]) → LOAD34990ARR8(java.lang.Object(ARRAY(i4[20], a115115data[20])), i5816[20], i5824[20], java.lang.Object(java.lang.String(i6986[20])))
(21): LOAD34990ARR8(java.lang.Object(ARRAY(i4[21], a115115data[21])), i5816[21], i5824[21], java.lang.Object(java.lang.String(i6986[21]))) → COND_LOAD34990ARR8(!(i6986[21] = 0) && i5816[21] + 1 > 0 && i5816[21] + 1 < i4[21] && i5816[21] > 0 && i5816[21] < i4[21] && i5824[21] > 0 && i5816[21] + 1 + 1 > 0, java.lang.Object(ARRAY(i4[21], a115115data[21])), i5816[21], i5824[21], java.lang.Object(java.lang.String(i6986[21])))
(22): COND_LOAD34990ARR8(TRUE, java.lang.Object(ARRAY(i4[22], a115115data[22])), i5816[22], i5824[22], java.lang.Object(java.lang.String(i6986[22]))) → NEW39186(java.lang.Object(ARRAY(i4[22], a115115data[22])), i5816[22] + 1 + 1, i5824[22])
(23): LOAD34990(java.lang.Object(ARRAY(i4[23], a115115data[23])), i5816[23], i5824[23]) → LOAD34990ARR9(java.lang.Object(ARRAY(i4[23], a115115data[23])), i5816[23], i5824[23], java.lang.Object(java.lang.String(i6164[23])))
(24): LOAD34990ARR9(java.lang.Object(ARRAY(i4[24], a115115data[24])), i5816[24], i5824[24], java.lang.Object(java.lang.String(i6164[24]))) → COND_LOAD34990ARR9(i5816[24] + 1 > 0 && i5816[24] + 1 < i4[24] && !(i6164[24] = 0) && i5816[24] > 0 && i5816[24] < i4[24] && i5824[24] > 0 && i5816[24] + 1 + 1 > 0, java.lang.Object(ARRAY(i4[24], a115115data[24])), i5816[24], i5824[24], java.lang.Object(java.lang.String(i6164[24])))
(25): COND_LOAD34990ARR9(TRUE, java.lang.Object(ARRAY(i4[25], a115115data[25])), i5816[25], i5824[25], java.lang.Object(java.lang.String(i6164[25]))) → NEW40288(java.lang.Object(ARRAY(i4[25], a115115data[25])), i5816[25] + 1 + 1, i5824[25])
(26): LOAD34990(java.lang.Object(ARRAY(i4[26], a115115data[26])), i5816[26], i5824[26]) → LOAD34990ARR10(java.lang.Object(ARRAY(i4[26], a115115data[26])), i5816[26], i5824[26], java.lang.Object(java.lang.String(i7504[26])), java.lang.Object(java.lang.String(i6164[26])))
(27): LOAD34990ARR10(java.lang.Object(ARRAY(i4[27], a115115data[27])), i5816[27], i5824[27], java.lang.Object(java.lang.String(i7504[27])), java.lang.Object(java.lang.String(i6164[27]))) → COND_LOAD34990ARR10(!(i7504[27] = 0) && i5816[27] + 1 > 0 && i5816[27] + 1 < i4[27] && !(i6164[27] = 0) && i5816[27] > 0 && i5816[27] < i4[27] && i5824[27] > 0 && i5816[27] + 1 + 1 > 0, java.lang.Object(ARRAY(i4[27], a115115data[27])), i5816[27], i5824[27], java.lang.Object(java.lang.String(i7504[27])), java.lang.Object(java.lang.String(i6164[27])))
(28): COND_LOAD34990ARR10(TRUE, java.lang.Object(ARRAY(i4[28], a115115data[28])), i5816[28], i5824[28], java.lang.Object(java.lang.String(i7504[28])), java.lang.Object(java.lang.String(i6164[28]))) → NEW40288(java.lang.Object(ARRAY(i4[28], a115115data[28])), i5816[28] + 1 + 1, i5824[28])

(0) -> (1), if ((java.lang.Object(ARRAY(i4[0], a115115data[0])) →* java.lang.Object(ARRAY(i4[1], a115115data[1])))∧(i5824[0]* i5824[1])∧(i5816[0]* i5816[1]))


(1) -> (2), if ((i5824[1]* i5824[2])∧(i5816[1]* i5816[2])∧(java.lang.Object(ARRAY(i4[1], a115115data[1])) →* java.lang.Object(ARRAY(i4[2], a115115data[2])))∧(i5816[1] + 1 > 0 && i5816[1] + 1 < i4[1] && i5816[1] > 0 && i5816[1] < i4[1] && i5824[1] > 0 && i5816[1] + 1 + 1 > 0* TRUE))


(2) -> (6), if ((i5824[2]* i5824[6])∧(i5816[2] + 1 + 1* i6609[6])∧(java.lang.Object(ARRAY(i4[2], a115115data[2])) →* java.lang.Object(ARRAY(i4[6], a115115data[6]))))


(3) -> (0), if ((i5824[3] + -1* i5824[0])∧(i5816[3]* i5816[0])∧(java.lang.Object(ARRAY(i4[3], a115115data[3])) →* java.lang.Object(ARRAY(i4[0], a115115data[0]))))


(3) -> (4), if ((i5824[3] + -1* i5824[4])∧(java.lang.Object(ARRAY(i4[3], a115115data[3])) →* java.lang.Object(ARRAY(i4[4], a115115data[4])))∧(i5816[3]* i5816[4]))


(3) -> (7), if ((i5824[3] + -1* i5824[7])∧(java.lang.Object(ARRAY(i4[3], a115115data[3])) →* java.lang.Object(ARRAY(i4[7], a115115data[7])))∧(i5816[3]* i5816[7]))


(3) -> (10), if ((i5824[3] + -1* i5824[10])∧(java.lang.Object(ARRAY(i4[3], a115115data[3])) →* java.lang.Object(ARRAY(i4[10], a115115data[10])))∧(i5816[3]* i5816[10]))


(3) -> (14), if ((i5816[3]* i5816[14])∧(java.lang.Object(ARRAY(i4[3], a115115data[3])) →* java.lang.Object(ARRAY(i4[14], a115115data[14])))∧(i5824[3] + -1* i5824[14]))


(3) -> (17), if ((i5824[3] + -1* i5824[17])∧(i5816[3]* i5816[17])∧(java.lang.Object(ARRAY(i4[3], a115115data[3])) →* java.lang.Object(ARRAY(i4[17], a115115data[17]))))


(3) -> (20), if ((java.lang.Object(ARRAY(i4[3], a115115data[3])) →* java.lang.Object(ARRAY(i4[20], a115115data[20])))∧(i5816[3]* i5816[20])∧(i5824[3] + -1* i5824[20]))


(3) -> (23), if ((i5824[3] + -1* i5824[23])∧(java.lang.Object(ARRAY(i4[3], a115115data[3])) →* java.lang.Object(ARRAY(i4[23], a115115data[23])))∧(i5816[3]* i5816[23]))


(3) -> (26), if ((java.lang.Object(ARRAY(i4[3], a115115data[3])) →* java.lang.Object(ARRAY(i4[26], a115115data[26])))∧(i5816[3]* i5816[26])∧(i5824[3] + -1* i5824[26]))


(4) -> (5), if ((java.lang.Object(ARRAY(i4[4], a115115data[4])) →* java.lang.Object(ARRAY(i4[5], a115115data[5])))∧(i5816[4]* i5816[5])∧(i5824[4]* i5824[5])∧(i5824[4] > 0* TRUE))


(5) -> (0), if ((i5816[5]* i5816[0])∧(i5824[5] + -1* i5824[0])∧(java.lang.Object(ARRAY(i4[5], a115115data[5])) →* java.lang.Object(ARRAY(i4[0], a115115data[0]))))


(5) -> (4), if ((i5824[5] + -1* i5824[4])∧(java.lang.Object(ARRAY(i4[5], a115115data[5])) →* java.lang.Object(ARRAY(i4[4], a115115data[4])))∧(i5816[5]* i5816[4]))


(5) -> (7), if ((i5816[5]* i5816[7])∧(java.lang.Object(ARRAY(i4[5], a115115data[5])) →* java.lang.Object(ARRAY(i4[7], a115115data[7])))∧(i5824[5] + -1* i5824[7]))


(5) -> (10), if ((java.lang.Object(ARRAY(i4[5], a115115data[5])) →* java.lang.Object(ARRAY(i4[10], a115115data[10])))∧(i5816[5]* i5816[10])∧(i5824[5] + -1* i5824[10]))


(5) -> (14), if ((java.lang.Object(ARRAY(i4[5], a115115data[5])) →* java.lang.Object(ARRAY(i4[14], a115115data[14])))∧(i5824[5] + -1* i5824[14])∧(i5816[5]* i5816[14]))


(5) -> (17), if ((java.lang.Object(ARRAY(i4[5], a115115data[5])) →* java.lang.Object(ARRAY(i4[17], a115115data[17])))∧(i5824[5] + -1* i5824[17])∧(i5816[5]* i5816[17]))


(5) -> (20), if ((i5816[5]* i5816[20])∧(i5824[5] + -1* i5824[20])∧(java.lang.Object(ARRAY(i4[5], a115115data[5])) →* java.lang.Object(ARRAY(i4[20], a115115data[20]))))


(5) -> (23), if ((i5824[5] + -1* i5824[23])∧(i5816[5]* i5816[23])∧(java.lang.Object(ARRAY(i4[5], a115115data[5])) →* java.lang.Object(ARRAY(i4[23], a115115data[23]))))


(5) -> (26), if ((i5824[5] + -1* i5824[26])∧(i5816[5]* i5816[26])∧(java.lang.Object(ARRAY(i4[5], a115115data[5])) →* java.lang.Object(ARRAY(i4[26], a115115data[26]))))


(6) -> (3), if ((i5824[6]* i5824[3])∧(i6609[6]* i5816[3])∧(java.lang.Object(ARRAY(i4[6], a115115data[6])) →* java.lang.Object(ARRAY(i4[3], a115115data[3]))))


(7) -> (8), if ((i5824[7]* i5824[8])∧(java.lang.Object(ARRAY(i4[7], a115115data[7])) →* java.lang.Object(ARRAY(i4[8], a115115data[8])))∧(i5816[7]* i5816[8]))


(8) -> (9), if ((i5816[8] + 1 > 0 && i5816[8] + 1 < i4[8] && i5816[8] > 0 && i5816[8] < i4[8] && i5824[8] > 0 && i5816[8] + 1 + 1 > 0* TRUE)∧(i5816[8]* i5816[9])∧(i5824[8]* i5824[9])∧(java.lang.Object(ARRAY(i4[8], a115115data[8])) →* java.lang.Object(ARRAY(i4[9], a115115data[9]))))


(9) -> (3), if ((java.lang.Object(ARRAY(i4[9], a115115data[9])) →* java.lang.Object(ARRAY(i4[3], a115115data[3])))∧(i5816[9] + 1 + 1* i5816[3])∧(i5824[9]* i5824[3]))


(10) -> (11), if ((java.lang.Object(java.lang.String(i6986[10])) →* java.lang.Object(java.lang.String(i6986[11])))∧(java.lang.Object(ARRAY(i4[10], a115115data[10])) →* java.lang.Object(ARRAY(i4[11], a115115data[11])))∧(i5816[10]* i5816[11])∧(i5824[10]* i5824[11]))


(11) -> (12), if ((i5824[11]* i5824[12])∧(i5816[11]* i5816[12])∧(java.lang.Object(ARRAY(i4[11], a115115data[11])) →* java.lang.Object(ARRAY(i4[12], a115115data[12])))∧(java.lang.Object(java.lang.String(i6986[11])) →* java.lang.Object(java.lang.String(i6986[12])))∧(!(i6986[11] = 0) && i5816[11] + 1 > 0 && i5816[11] + 1 < i4[11] && i5816[11] > 0 && i5816[11] < i4[11] && i5824[11] > 0 && i5816[11] + 1 + 1 > 0* TRUE))


(12) -> (3), if ((i5824[12]* i5824[3])∧(i5816[12] + 1 + 1* i5816[3])∧(java.lang.Object(ARRAY(i4[12], a115115data[12])) →* java.lang.Object(ARRAY(i4[3], a115115data[3]))))


(13) -> (3), if ((java.lang.Object(ARRAY(i4[13], a115115data[13])) →* java.lang.Object(ARRAY(i4[3], a115115data[3])))∧(i6905[13]* i5816[3])∧(i5824[13]* i5824[3]))


(14) -> (15), if ((i5824[14]* i5824[15])∧(i5816[14]* i5816[15])∧(java.lang.Object(java.lang.String(i6164[14])) →* java.lang.Object(java.lang.String(i6164[15])))∧(java.lang.Object(ARRAY(i4[14], a115115data[14])) →* java.lang.Object(ARRAY(i4[15], a115115data[15]))))


(15) -> (16), if ((i5816[15]* i5816[16])∧(i5824[15]* i5824[16])∧(i5816[15] + 1 > 0 && i5816[15] + 1 < i4[15] && !(i6164[15] = 0) && i5816[15] > 0 && i5816[15] < i4[15] && i5824[15] > 0 && i5816[15] + 1 + 1 > 0* TRUE)∧(java.lang.Object(ARRAY(i4[15], a115115data[15])) →* java.lang.Object(ARRAY(i4[16], a115115data[16])))∧(java.lang.Object(java.lang.String(i6164[15])) →* java.lang.Object(java.lang.String(i6164[16]))))


(16) -> (3), if ((i5824[16]* i5824[3])∧(i5816[16] + 1 + 1* i5816[3])∧(java.lang.Object(ARRAY(i4[16], a115115data[16])) →* java.lang.Object(ARRAY(i4[3], a115115data[3]))))


(17) -> (18), if ((java.lang.Object(java.lang.String(i6164[17])) →* java.lang.Object(java.lang.String(i6164[18])))∧(i5824[17]* i5824[18])∧(java.lang.Object(java.lang.String(i7504[17])) →* java.lang.Object(java.lang.String(i7504[18])))∧(java.lang.Object(ARRAY(i4[17], a115115data[17])) →* java.lang.Object(ARRAY(i4[18], a115115data[18])))∧(i5816[17]* i5816[18]))


(18) -> (19), if ((java.lang.Object(java.lang.String(i6164[18])) →* java.lang.Object(java.lang.String(i6164[19])))∧(java.lang.Object(java.lang.String(i7504[18])) →* java.lang.Object(java.lang.String(i7504[19])))∧(!(i7504[18] = 0) && i5816[18] + 1 > 0 && i5816[18] + 1 < i4[18] && !(i6164[18] = 0) && i5816[18] > 0 && i5816[18] < i4[18] && i5824[18] > 0 && i5816[18] + 1 + 1 > 0* TRUE)∧(java.lang.Object(ARRAY(i4[18], a115115data[18])) →* java.lang.Object(ARRAY(i4[19], a115115data[19])))∧(i5816[18]* i5816[19])∧(i5824[18]* i5824[19]))


(19) -> (3), if ((i5816[19] + 1 + 1* i5816[3])∧(i5824[19]* i5824[3])∧(java.lang.Object(ARRAY(i4[19], a115115data[19])) →* java.lang.Object(ARRAY(i4[3], a115115data[3]))))


(20) -> (21), if ((java.lang.Object(java.lang.String(i6986[20])) →* java.lang.Object(java.lang.String(i6986[21])))∧(i5816[20]* i5816[21])∧(java.lang.Object(ARRAY(i4[20], a115115data[20])) →* java.lang.Object(ARRAY(i4[21], a115115data[21])))∧(i5824[20]* i5824[21]))


(21) -> (22), if ((java.lang.Object(ARRAY(i4[21], a115115data[21])) →* java.lang.Object(ARRAY(i4[22], a115115data[22])))∧(java.lang.Object(java.lang.String(i6986[21])) →* java.lang.Object(java.lang.String(i6986[22])))∧(!(i6986[21] = 0) && i5816[21] + 1 > 0 && i5816[21] + 1 < i4[21] && i5816[21] > 0 && i5816[21] < i4[21] && i5824[21] > 0 && i5816[21] + 1 + 1 > 0* TRUE)∧(i5816[21]* i5816[22])∧(i5824[21]* i5824[22]))


(22) -> (6), if ((i5816[22] + 1 + 1* i6609[6])∧(java.lang.Object(ARRAY(i4[22], a115115data[22])) →* java.lang.Object(ARRAY(i4[6], a115115data[6])))∧(i5824[22]* i5824[6]))


(23) -> (24), if ((java.lang.Object(java.lang.String(i6164[23])) →* java.lang.Object(java.lang.String(i6164[24])))∧(i5816[23]* i5816[24])∧(java.lang.Object(ARRAY(i4[23], a115115data[23])) →* java.lang.Object(ARRAY(i4[24], a115115data[24])))∧(i5824[23]* i5824[24]))


(24) -> (25), if ((java.lang.Object(ARRAY(i4[24], a115115data[24])) →* java.lang.Object(ARRAY(i4[25], a115115data[25])))∧(i5816[24] + 1 > 0 && i5816[24] + 1 < i4[24] && !(i6164[24] = 0) && i5816[24] > 0 && i5816[24] < i4[24] && i5824[24] > 0 && i5816[24] + 1 + 1 > 0* TRUE)∧(java.lang.Object(java.lang.String(i6164[24])) →* java.lang.Object(java.lang.String(i6164[25])))∧(i5816[24]* i5816[25])∧(i5824[24]* i5824[25]))


(25) -> (13), if ((i5824[25]* i5824[13])∧(java.lang.Object(ARRAY(i4[25], a115115data[25])) →* java.lang.Object(ARRAY(i4[13], a115115data[13])))∧(i5816[25] + 1 + 1* i6905[13]))


(26) -> (27), if ((java.lang.Object(java.lang.String(i7504[26])) →* java.lang.Object(java.lang.String(i7504[27])))∧(java.lang.Object(ARRAY(i4[26], a115115data[26])) →* java.lang.Object(ARRAY(i4[27], a115115data[27])))∧(java.lang.Object(java.lang.String(i6164[26])) →* java.lang.Object(java.lang.String(i6164[27])))∧(i5824[26]* i5824[27])∧(i5816[26]* i5816[27]))


(27) -> (28), if ((i5824[27]* i5824[28])∧(!(i7504[27] = 0) && i5816[27] + 1 > 0 && i5816[27] + 1 < i4[27] && !(i6164[27] = 0) && i5816[27] > 0 && i5816[27] < i4[27] && i5824[27] > 0 && i5816[27] + 1 + 1 > 0* TRUE)∧(java.lang.Object(java.lang.String(i7504[27])) →* java.lang.Object(java.lang.String(i7504[28])))∧(java.lang.Object(java.lang.String(i6164[27])) →* java.lang.Object(java.lang.String(i6164[28])))∧(i5816[27]* i5816[28])∧(java.lang.Object(ARRAY(i4[27], a115115data[27])) →* java.lang.Object(ARRAY(i4[28], a115115data[28]))))


(28) -> (13), if ((i5824[28]* i5824[13])∧(i5816[28] + 1 + 1* i6905[13])∧(java.lang.Object(ARRAY(i4[28], a115115data[28])) →* java.lang.Object(ARRAY(i4[13], a115115data[13]))))



The set Q consists of the following terms:
Load34990(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load34990ARR3(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load34990ARR3(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
Inc35127(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load34990(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
New39186(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load34990ARR4(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load34990ARR4(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load34990ARR5(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load34990ARR5(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
New40288(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load34990ARR6(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load34990ARR6(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load34990ARR7(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)), java.lang.Object(java.lang.String(x5)))
Cond_Load34990ARR7(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)), java.lang.Object(java.lang.String(x5)))
Load34990ARR8(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load34990ARR8(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load34990ARR9(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load34990ARR9(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load34990ARR10(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)), java.lang.Object(java.lang.String(x5)))
Cond_Load34990ARR10(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)), java.lang.Object(java.lang.String(x5)))

(29) UsableRulesProof (EQUIVALENT transformation)

As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R.

(30) Obligation:

IDP problem:
The following function symbols are pre-defined:
!=~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


The following domains are used:

Boolean, Integer


R is empty.

The integer pair graph contains the following rules and edges:
(0): LOAD34990(java.lang.Object(ARRAY(i4[0], a115115data[0])), i5816[0], i5824[0]) → LOAD34990ARR3(java.lang.Object(ARRAY(i4[0], a115115data[0])), i5816[0], i5824[0])
(1): LOAD34990ARR3(java.lang.Object(ARRAY(i4[1], a115115data[1])), i5816[1], i5824[1]) → COND_LOAD34990ARR3(i5816[1] + 1 > 0 && i5816[1] + 1 < i4[1] && i5816[1] > 0 && i5816[1] < i4[1] && i5824[1] > 0 && i5816[1] + 1 + 1 > 0, java.lang.Object(ARRAY(i4[1], a115115data[1])), i5816[1], i5824[1])
(2): COND_LOAD34990ARR3(TRUE, java.lang.Object(ARRAY(i4[2], a115115data[2])), i5816[2], i5824[2]) → NEW39186(java.lang.Object(ARRAY(i4[2], a115115data[2])), i5816[2] + 1 + 1, i5824[2])
(3): INC35127(java.lang.Object(ARRAY(i4[3], a115115data[3])), i5816[3], i5824[3]) → LOAD34990(java.lang.Object(ARRAY(i4[3], a115115data[3])), i5816[3], i5824[3] + -1)
(4): LOAD34990(java.lang.Object(ARRAY(i4[4], a115115data[4])), i5816[4], i5824[4]) → COND_LOAD34990(i5824[4] > 0, java.lang.Object(ARRAY(i4[4], a115115data[4])), i5816[4], i5824[4])
(5): COND_LOAD34990(TRUE, java.lang.Object(ARRAY(i4[5], a115115data[5])), i5816[5], i5824[5]) → LOAD34990(java.lang.Object(ARRAY(i4[5], a115115data[5])), i5816[5], i5824[5] + -1)
(6): NEW39186(java.lang.Object(ARRAY(i4[6], a115115data[6])), i6609[6], i5824[6]) → INC35127(java.lang.Object(ARRAY(i4[6], a115115data[6])), i6609[6], i5824[6])
(7): LOAD34990(java.lang.Object(ARRAY(i4[7], a115115data[7])), i5816[7], i5824[7]) → LOAD34990ARR4(java.lang.Object(ARRAY(i4[7], a115115data[7])), i5816[7], i5824[7])
(8): LOAD34990ARR4(java.lang.Object(ARRAY(i4[8], a115115data[8])), i5816[8], i5824[8]) → COND_LOAD34990ARR4(i5816[8] + 1 > 0 && i5816[8] + 1 < i4[8] && i5816[8] > 0 && i5816[8] < i4[8] && i5824[8] > 0 && i5816[8] + 1 + 1 > 0, java.lang.Object(ARRAY(i4[8], a115115data[8])), i5816[8], i5824[8])
(9): COND_LOAD34990ARR4(TRUE, java.lang.Object(ARRAY(i4[9], a115115data[9])), i5816[9], i5824[9]) → INC35127(java.lang.Object(ARRAY(i4[9], a115115data[9])), i5816[9] + 1 + 1, i5824[9])
(10): LOAD34990(java.lang.Object(ARRAY(i4[10], a115115data[10])), i5816[10], i5824[10]) → LOAD34990ARR5(java.lang.Object(ARRAY(i4[10], a115115data[10])), i5816[10], i5824[10], java.lang.Object(java.lang.String(i6986[10])))
(11): LOAD34990ARR5(java.lang.Object(ARRAY(i4[11], a115115data[11])), i5816[11], i5824[11], java.lang.Object(java.lang.String(i6986[11]))) → COND_LOAD34990ARR5(!(i6986[11] = 0) && i5816[11] + 1 > 0 && i5816[11] + 1 < i4[11] && i5816[11] > 0 && i5816[11] < i4[11] && i5824[11] > 0 && i5816[11] + 1 + 1 > 0, java.lang.Object(ARRAY(i4[11], a115115data[11])), i5816[11], i5824[11], java.lang.Object(java.lang.String(i6986[11])))
(12): COND_LOAD34990ARR5(TRUE, java.lang.Object(ARRAY(i4[12], a115115data[12])), i5816[12], i5824[12], java.lang.Object(java.lang.String(i6986[12]))) → INC35127(java.lang.Object(ARRAY(i4[12], a115115data[12])), i5816[12] + 1 + 1, i5824[12])
(13): NEW40288(java.lang.Object(ARRAY(i4[13], a115115data[13])), i6905[13], i5824[13]) → INC35127(java.lang.Object(ARRAY(i4[13], a115115data[13])), i6905[13], i5824[13])
(14): LOAD34990(java.lang.Object(ARRAY(i4[14], a115115data[14])), i5816[14], i5824[14]) → LOAD34990ARR6(java.lang.Object(ARRAY(i4[14], a115115data[14])), i5816[14], i5824[14], java.lang.Object(java.lang.String(i6164[14])))
(15): LOAD34990ARR6(java.lang.Object(ARRAY(i4[15], a115115data[15])), i5816[15], i5824[15], java.lang.Object(java.lang.String(i6164[15]))) → COND_LOAD34990ARR6(i5816[15] + 1 > 0 && i5816[15] + 1 < i4[15] && !(i6164[15] = 0) && i5816[15] > 0 && i5816[15] < i4[15] && i5824[15] > 0 && i5816[15] + 1 + 1 > 0, java.lang.Object(ARRAY(i4[15], a115115data[15])), i5816[15], i5824[15], java.lang.Object(java.lang.String(i6164[15])))
(16): COND_LOAD34990ARR6(TRUE, java.lang.Object(ARRAY(i4[16], a115115data[16])), i5816[16], i5824[16], java.lang.Object(java.lang.String(i6164[16]))) → INC35127(java.lang.Object(ARRAY(i4[16], a115115data[16])), i5816[16] + 1 + 1, i5824[16])
(17): LOAD34990(java.lang.Object(ARRAY(i4[17], a115115data[17])), i5816[17], i5824[17]) → LOAD34990ARR7(java.lang.Object(ARRAY(i4[17], a115115data[17])), i5816[17], i5824[17], java.lang.Object(java.lang.String(i7504[17])), java.lang.Object(java.lang.String(i6164[17])))
(18): LOAD34990ARR7(java.lang.Object(ARRAY(i4[18], a115115data[18])), i5816[18], i5824[18], java.lang.Object(java.lang.String(i7504[18])), java.lang.Object(java.lang.String(i6164[18]))) → COND_LOAD34990ARR7(!(i7504[18] = 0) && i5816[18] + 1 > 0 && i5816[18] + 1 < i4[18] && !(i6164[18] = 0) && i5816[18] > 0 && i5816[18] < i4[18] && i5824[18] > 0 && i5816[18] + 1 + 1 > 0, java.lang.Object(ARRAY(i4[18], a115115data[18])), i5816[18], i5824[18], java.lang.Object(java.lang.String(i7504[18])), java.lang.Object(java.lang.String(i6164[18])))
(19): COND_LOAD34990ARR7(TRUE, java.lang.Object(ARRAY(i4[19], a115115data[19])), i5816[19], i5824[19], java.lang.Object(java.lang.String(i7504[19])), java.lang.Object(java.lang.String(i6164[19]))) → INC35127(java.lang.Object(ARRAY(i4[19], a115115data[19])), i5816[19] + 1 + 1, i5824[19])
(20): LOAD34990(java.lang.Object(ARRAY(i4[20], a115115data[20])), i5816[20], i5824[20]) → LOAD34990ARR8(java.lang.Object(ARRAY(i4[20], a115115data[20])), i5816[20], i5824[20], java.lang.Object(java.lang.String(i6986[20])))
(21): LOAD34990ARR8(java.lang.Object(ARRAY(i4[21], a115115data[21])), i5816[21], i5824[21], java.lang.Object(java.lang.String(i6986[21]))) → COND_LOAD34990ARR8(!(i6986[21] = 0) && i5816[21] + 1 > 0 && i5816[21] + 1 < i4[21] && i5816[21] > 0 && i5816[21] < i4[21] && i5824[21] > 0 && i5816[21] + 1 + 1 > 0, java.lang.Object(ARRAY(i4[21], a115115data[21])), i5816[21], i5824[21], java.lang.Object(java.lang.String(i6986[21])))
(22): COND_LOAD34990ARR8(TRUE, java.lang.Object(ARRAY(i4[22], a115115data[22])), i5816[22], i5824[22], java.lang.Object(java.lang.String(i6986[22]))) → NEW39186(java.lang.Object(ARRAY(i4[22], a115115data[22])), i5816[22] + 1 + 1, i5824[22])
(23): LOAD34990(java.lang.Object(ARRAY(i4[23], a115115data[23])), i5816[23], i5824[23]) → LOAD34990ARR9(java.lang.Object(ARRAY(i4[23], a115115data[23])), i5816[23], i5824[23], java.lang.Object(java.lang.String(i6164[23])))
(24): LOAD34990ARR9(java.lang.Object(ARRAY(i4[24], a115115data[24])), i5816[24], i5824[24], java.lang.Object(java.lang.String(i6164[24]))) → COND_LOAD34990ARR9(i5816[24] + 1 > 0 && i5816[24] + 1 < i4[24] && !(i6164[24] = 0) && i5816[24] > 0 && i5816[24] < i4[24] && i5824[24] > 0 && i5816[24] + 1 + 1 > 0, java.lang.Object(ARRAY(i4[24], a115115data[24])), i5816[24], i5824[24], java.lang.Object(java.lang.String(i6164[24])))
(25): COND_LOAD34990ARR9(TRUE, java.lang.Object(ARRAY(i4[25], a115115data[25])), i5816[25], i5824[25], java.lang.Object(java.lang.String(i6164[25]))) → NEW40288(java.lang.Object(ARRAY(i4[25], a115115data[25])), i5816[25] + 1 + 1, i5824[25])
(26): LOAD34990(java.lang.Object(ARRAY(i4[26], a115115data[26])), i5816[26], i5824[26]) → LOAD34990ARR10(java.lang.Object(ARRAY(i4[26], a115115data[26])), i5816[26], i5824[26], java.lang.Object(java.lang.String(i7504[26])), java.lang.Object(java.lang.String(i6164[26])))
(27): LOAD34990ARR10(java.lang.Object(ARRAY(i4[27], a115115data[27])), i5816[27], i5824[27], java.lang.Object(java.lang.String(i7504[27])), java.lang.Object(java.lang.String(i6164[27]))) → COND_LOAD34990ARR10(!(i7504[27] = 0) && i5816[27] + 1 > 0 && i5816[27] + 1 < i4[27] && !(i6164[27] = 0) && i5816[27] > 0 && i5816[27] < i4[27] && i5824[27] > 0 && i5816[27] + 1 + 1 > 0, java.lang.Object(ARRAY(i4[27], a115115data[27])), i5816[27], i5824[27], java.lang.Object(java.lang.String(i7504[27])), java.lang.Object(java.lang.String(i6164[27])))
(28): COND_LOAD34990ARR10(TRUE, java.lang.Object(ARRAY(i4[28], a115115data[28])), i5816[28], i5824[28], java.lang.Object(java.lang.String(i7504[28])), java.lang.Object(java.lang.String(i6164[28]))) → NEW40288(java.lang.Object(ARRAY(i4[28], a115115data[28])), i5816[28] + 1 + 1, i5824[28])

(0) -> (1), if ((java.lang.Object(ARRAY(i4[0], a115115data[0])) →* java.lang.Object(ARRAY(i4[1], a115115data[1])))∧(i5824[0]* i5824[1])∧(i5816[0]* i5816[1]))


(1) -> (2), if ((i5824[1]* i5824[2])∧(i5816[1]* i5816[2])∧(java.lang.Object(ARRAY(i4[1], a115115data[1])) →* java.lang.Object(ARRAY(i4[2], a115115data[2])))∧(i5816[1] + 1 > 0 && i5816[1] + 1 < i4[1] && i5816[1] > 0 && i5816[1] < i4[1] && i5824[1] > 0 && i5816[1] + 1 + 1 > 0* TRUE))


(2) -> (6), if ((i5824[2]* i5824[6])∧(i5816[2] + 1 + 1* i6609[6])∧(java.lang.Object(ARRAY(i4[2], a115115data[2])) →* java.lang.Object(ARRAY(i4[6], a115115data[6]))))


(3) -> (0), if ((i5824[3] + -1* i5824[0])∧(i5816[3]* i5816[0])∧(java.lang.Object(ARRAY(i4[3], a115115data[3])) →* java.lang.Object(ARRAY(i4[0], a115115data[0]))))


(3) -> (4), if ((i5824[3] + -1* i5824[4])∧(java.lang.Object(ARRAY(i4[3], a115115data[3])) →* java.lang.Object(ARRAY(i4[4], a115115data[4])))∧(i5816[3]* i5816[4]))


(3) -> (7), if ((i5824[3] + -1* i5824[7])∧(java.lang.Object(ARRAY(i4[3], a115115data[3])) →* java.lang.Object(ARRAY(i4[7], a115115data[7])))∧(i5816[3]* i5816[7]))


(3) -> (10), if ((i5824[3] + -1* i5824[10])∧(java.lang.Object(ARRAY(i4[3], a115115data[3])) →* java.lang.Object(ARRAY(i4[10], a115115data[10])))∧(i5816[3]* i5816[10]))


(3) -> (14), if ((i5816[3]* i5816[14])∧(java.lang.Object(ARRAY(i4[3], a115115data[3])) →* java.lang.Object(ARRAY(i4[14], a115115data[14])))∧(i5824[3] + -1* i5824[14]))


(3) -> (17), if ((i5824[3] + -1* i5824[17])∧(i5816[3]* i5816[17])∧(java.lang.Object(ARRAY(i4[3], a115115data[3])) →* java.lang.Object(ARRAY(i4[17], a115115data[17]))))


(3) -> (20), if ((java.lang.Object(ARRAY(i4[3], a115115data[3])) →* java.lang.Object(ARRAY(i4[20], a115115data[20])))∧(i5816[3]* i5816[20])∧(i5824[3] + -1* i5824[20]))


(3) -> (23), if ((i5824[3] + -1* i5824[23])∧(java.lang.Object(ARRAY(i4[3], a115115data[3])) →* java.lang.Object(ARRAY(i4[23], a115115data[23])))∧(i5816[3]* i5816[23]))


(3) -> (26), if ((java.lang.Object(ARRAY(i4[3], a115115data[3])) →* java.lang.Object(ARRAY(i4[26], a115115data[26])))∧(i5816[3]* i5816[26])∧(i5824[3] + -1* i5824[26]))


(4) -> (5), if ((java.lang.Object(ARRAY(i4[4], a115115data[4])) →* java.lang.Object(ARRAY(i4[5], a115115data[5])))∧(i5816[4]* i5816[5])∧(i5824[4]* i5824[5])∧(i5824[4] > 0* TRUE))


(5) -> (0), if ((i5816[5]* i5816[0])∧(i5824[5] + -1* i5824[0])∧(java.lang.Object(ARRAY(i4[5], a115115data[5])) →* java.lang.Object(ARRAY(i4[0], a115115data[0]))))


(5) -> (4), if ((i5824[5] + -1* i5824[4])∧(java.lang.Object(ARRAY(i4[5], a115115data[5])) →* java.lang.Object(ARRAY(i4[4], a115115data[4])))∧(i5816[5]* i5816[4]))


(5) -> (7), if ((i5816[5]* i5816[7])∧(java.lang.Object(ARRAY(i4[5], a115115data[5])) →* java.lang.Object(ARRAY(i4[7], a115115data[7])))∧(i5824[5] + -1* i5824[7]))


(5) -> (10), if ((java.lang.Object(ARRAY(i4[5], a115115data[5])) →* java.lang.Object(ARRAY(i4[10], a115115data[10])))∧(i5816[5]* i5816[10])∧(i5824[5] + -1* i5824[10]))


(5) -> (14), if ((java.lang.Object(ARRAY(i4[5], a115115data[5])) →* java.lang.Object(ARRAY(i4[14], a115115data[14])))∧(i5824[5] + -1* i5824[14])∧(i5816[5]* i5816[14]))


(5) -> (17), if ((java.lang.Object(ARRAY(i4[5], a115115data[5])) →* java.lang.Object(ARRAY(i4[17], a115115data[17])))∧(i5824[5] + -1* i5824[17])∧(i5816[5]* i5816[17]))


(5) -> (20), if ((i5816[5]* i5816[20])∧(i5824[5] + -1* i5824[20])∧(java.lang.Object(ARRAY(i4[5], a115115data[5])) →* java.lang.Object(ARRAY(i4[20], a115115data[20]))))


(5) -> (23), if ((i5824[5] + -1* i5824[23])∧(i5816[5]* i5816[23])∧(java.lang.Object(ARRAY(i4[5], a115115data[5])) →* java.lang.Object(ARRAY(i4[23], a115115data[23]))))


(5) -> (26), if ((i5824[5] + -1* i5824[26])∧(i5816[5]* i5816[26])∧(java.lang.Object(ARRAY(i4[5], a115115data[5])) →* java.lang.Object(ARRAY(i4[26], a115115data[26]))))


(6) -> (3), if ((i5824[6]* i5824[3])∧(i6609[6]* i5816[3])∧(java.lang.Object(ARRAY(i4[6], a115115data[6])) →* java.lang.Object(ARRAY(i4[3], a115115data[3]))))


(7) -> (8), if ((i5824[7]* i5824[8])∧(java.lang.Object(ARRAY(i4[7], a115115data[7])) →* java.lang.Object(ARRAY(i4[8], a115115data[8])))∧(i5816[7]* i5816[8]))


(8) -> (9), if ((i5816[8] + 1 > 0 && i5816[8] + 1 < i4[8] && i5816[8] > 0 && i5816[8] < i4[8] && i5824[8] > 0 && i5816[8] + 1 + 1 > 0* TRUE)∧(i5816[8]* i5816[9])∧(i5824[8]* i5824[9])∧(java.lang.Object(ARRAY(i4[8], a115115data[8])) →* java.lang.Object(ARRAY(i4[9], a115115data[9]))))


(9) -> (3), if ((java.lang.Object(ARRAY(i4[9], a115115data[9])) →* java.lang.Object(ARRAY(i4[3], a115115data[3])))∧(i5816[9] + 1 + 1* i5816[3])∧(i5824[9]* i5824[3]))


(10) -> (11), if ((java.lang.Object(java.lang.String(i6986[10])) →* java.lang.Object(java.lang.String(i6986[11])))∧(java.lang.Object(ARRAY(i4[10], a115115data[10])) →* java.lang.Object(ARRAY(i4[11], a115115data[11])))∧(i5816[10]* i5816[11])∧(i5824[10]* i5824[11]))


(11) -> (12), if ((i5824[11]* i5824[12])∧(i5816[11]* i5816[12])∧(java.lang.Object(ARRAY(i4[11], a115115data[11])) →* java.lang.Object(ARRAY(i4[12], a115115data[12])))∧(java.lang.Object(java.lang.String(i6986[11])) →* java.lang.Object(java.lang.String(i6986[12])))∧(!(i6986[11] = 0) && i5816[11] + 1 > 0 && i5816[11] + 1 < i4[11] && i5816[11] > 0 && i5816[11] < i4[11] && i5824[11] > 0 && i5816[11] + 1 + 1 > 0* TRUE))


(12) -> (3), if ((i5824[12]* i5824[3])∧(i5816[12] + 1 + 1* i5816[3])∧(java.lang.Object(ARRAY(i4[12], a115115data[12])) →* java.lang.Object(ARRAY(i4[3], a115115data[3]))))


(13) -> (3), if ((java.lang.Object(ARRAY(i4[13], a115115data[13])) →* java.lang.Object(ARRAY(i4[3], a115115data[3])))∧(i6905[13]* i5816[3])∧(i5824[13]* i5824[3]))


(14) -> (15), if ((i5824[14]* i5824[15])∧(i5816[14]* i5816[15])∧(java.lang.Object(java.lang.String(i6164[14])) →* java.lang.Object(java.lang.String(i6164[15])))∧(java.lang.Object(ARRAY(i4[14], a115115data[14])) →* java.lang.Object(ARRAY(i4[15], a115115data[15]))))


(15) -> (16), if ((i5816[15]* i5816[16])∧(i5824[15]* i5824[16])∧(i5816[15] + 1 > 0 && i5816[15] + 1 < i4[15] && !(i6164[15] = 0) && i5816[15] > 0 && i5816[15] < i4[15] && i5824[15] > 0 && i5816[15] + 1 + 1 > 0* TRUE)∧(java.lang.Object(ARRAY(i4[15], a115115data[15])) →* java.lang.Object(ARRAY(i4[16], a115115data[16])))∧(java.lang.Object(java.lang.String(i6164[15])) →* java.lang.Object(java.lang.String(i6164[16]))))


(16) -> (3), if ((i5824[16]* i5824[3])∧(i5816[16] + 1 + 1* i5816[3])∧(java.lang.Object(ARRAY(i4[16], a115115data[16])) →* java.lang.Object(ARRAY(i4[3], a115115data[3]))))


(17) -> (18), if ((java.lang.Object(java.lang.String(i6164[17])) →* java.lang.Object(java.lang.String(i6164[18])))∧(i5824[17]* i5824[18])∧(java.lang.Object(java.lang.String(i7504[17])) →* java.lang.Object(java.lang.String(i7504[18])))∧(java.lang.Object(ARRAY(i4[17], a115115data[17])) →* java.lang.Object(ARRAY(i4[18], a115115data[18])))∧(i5816[17]* i5816[18]))


(18) -> (19), if ((java.lang.Object(java.lang.String(i6164[18])) →* java.lang.Object(java.lang.String(i6164[19])))∧(java.lang.Object(java.lang.String(i7504[18])) →* java.lang.Object(java.lang.String(i7504[19])))∧(!(i7504[18] = 0) && i5816[18] + 1 > 0 && i5816[18] + 1 < i4[18] && !(i6164[18] = 0) && i5816[18] > 0 && i5816[18] < i4[18] && i5824[18] > 0 && i5816[18] + 1 + 1 > 0* TRUE)∧(java.lang.Object(ARRAY(i4[18], a115115data[18])) →* java.lang.Object(ARRAY(i4[19], a115115data[19])))∧(i5816[18]* i5816[19])∧(i5824[18]* i5824[19]))


(19) -> (3), if ((i5816[19] + 1 + 1* i5816[3])∧(i5824[19]* i5824[3])∧(java.lang.Object(ARRAY(i4[19], a115115data[19])) →* java.lang.Object(ARRAY(i4[3], a115115data[3]))))


(20) -> (21), if ((java.lang.Object(java.lang.String(i6986[20])) →* java.lang.Object(java.lang.String(i6986[21])))∧(i5816[20]* i5816[21])∧(java.lang.Object(ARRAY(i4[20], a115115data[20])) →* java.lang.Object(ARRAY(i4[21], a115115data[21])))∧(i5824[20]* i5824[21]))


(21) -> (22), if ((java.lang.Object(ARRAY(i4[21], a115115data[21])) →* java.lang.Object(ARRAY(i4[22], a115115data[22])))∧(java.lang.Object(java.lang.String(i6986[21])) →* java.lang.Object(java.lang.String(i6986[22])))∧(!(i6986[21] = 0) && i5816[21] + 1 > 0 && i5816[21] + 1 < i4[21] && i5816[21] > 0 && i5816[21] < i4[21] && i5824[21] > 0 && i5816[21] + 1 + 1 > 0* TRUE)∧(i5816[21]* i5816[22])∧(i5824[21]* i5824[22]))


(22) -> (6), if ((i5816[22] + 1 + 1* i6609[6])∧(java.lang.Object(ARRAY(i4[22], a115115data[22])) →* java.lang.Object(ARRAY(i4[6], a115115data[6])))∧(i5824[22]* i5824[6]))


(23) -> (24), if ((java.lang.Object(java.lang.String(i6164[23])) →* java.lang.Object(java.lang.String(i6164[24])))∧(i5816[23]* i5816[24])∧(java.lang.Object(ARRAY(i4[23], a115115data[23])) →* java.lang.Object(ARRAY(i4[24], a115115data[24])))∧(i5824[23]* i5824[24]))


(24) -> (25), if ((java.lang.Object(ARRAY(i4[24], a115115data[24])) →* java.lang.Object(ARRAY(i4[25], a115115data[25])))∧(i5816[24] + 1 > 0 && i5816[24] + 1 < i4[24] && !(i6164[24] = 0) && i5816[24] > 0 && i5816[24] < i4[24] && i5824[24] > 0 && i5816[24] + 1 + 1 > 0* TRUE)∧(java.lang.Object(java.lang.String(i6164[24])) →* java.lang.Object(java.lang.String(i6164[25])))∧(i5816[24]* i5816[25])∧(i5824[24]* i5824[25]))


(25) -> (13), if ((i5824[25]* i5824[13])∧(java.lang.Object(ARRAY(i4[25], a115115data[25])) →* java.lang.Object(ARRAY(i4[13], a115115data[13])))∧(i5816[25] + 1 + 1* i6905[13]))


(26) -> (27), if ((java.lang.Object(java.lang.String(i7504[26])) →* java.lang.Object(java.lang.String(i7504[27])))∧(java.lang.Object(ARRAY(i4[26], a115115data[26])) →* java.lang.Object(ARRAY(i4[27], a115115data[27])))∧(java.lang.Object(java.lang.String(i6164[26])) →* java.lang.Object(java.lang.String(i6164[27])))∧(i5824[26]* i5824[27])∧(i5816[26]* i5816[27]))


(27) -> (28), if ((i5824[27]* i5824[28])∧(!(i7504[27] = 0) && i5816[27] + 1 > 0 && i5816[27] + 1 < i4[27] && !(i6164[27] = 0) && i5816[27] > 0 && i5816[27] < i4[27] && i5824[27] > 0 && i5816[27] + 1 + 1 > 0* TRUE)∧(java.lang.Object(java.lang.String(i7504[27])) →* java.lang.Object(java.lang.String(i7504[28])))∧(java.lang.Object(java.lang.String(i6164[27])) →* java.lang.Object(java.lang.String(i6164[28])))∧(i5816[27]* i5816[28])∧(java.lang.Object(ARRAY(i4[27], a115115data[27])) →* java.lang.Object(ARRAY(i4[28], a115115data[28]))))


(28) -> (13), if ((i5824[28]* i5824[13])∧(i5816[28] + 1 + 1* i6905[13])∧(java.lang.Object(ARRAY(i4[28], a115115data[28])) →* java.lang.Object(ARRAY(i4[13], a115115data[13]))))



The set Q consists of the following terms:
Load34990(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load34990ARR3(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load34990ARR3(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
Inc35127(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load34990(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
New39186(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load34990ARR4(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load34990ARR4(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load34990ARR5(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load34990ARR5(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
New40288(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load34990ARR6(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load34990ARR6(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load34990ARR7(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)), java.lang.Object(java.lang.String(x5)))
Cond_Load34990ARR7(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)), java.lang.Object(java.lang.String(x5)))
Load34990ARR8(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load34990ARR8(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load34990ARR9(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load34990ARR9(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load34990ARR10(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)), java.lang.Object(java.lang.String(x5)))
Cond_Load34990ARR10(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)), java.lang.Object(java.lang.String(x5)))

(31) ItpfGraphProof (EQUIVALENT transformation)

Applied rule ItpfICap [ICap]

(32) Obligation:

IDP problem:
The following function symbols are pre-defined:
!=~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


The following domains are used:

Boolean, Integer


R is empty.

The integer pair graph contains the following rules and edges:
(0): LOAD34990(java.lang.Object(ARRAY(i4[0], a115115data[0])), i5816[0], i5824[0]) → LOAD34990ARR3(java.lang.Object(ARRAY(i4[0], a115115data[0])), i5816[0], i5824[0])
(1): LOAD34990ARR3(java.lang.Object(ARRAY(i4[1], a115115data[1])), i5816[1], i5824[1]) → COND_LOAD34990ARR3(i5816[1] + 1 > 0 && i5816[1] + 1 < i4[1] && i5816[1] > 0 && i5816[1] < i4[1] && i5824[1] > 0 && i5816[1] + 1 + 1 > 0, java.lang.Object(ARRAY(i4[1], a115115data[1])), i5816[1], i5824[1])
(2): COND_LOAD34990ARR3(TRUE, java.lang.Object(ARRAY(i4[2], a115115data[2])), i5816[2], i5824[2]) → NEW39186(java.lang.Object(ARRAY(i4[2], a115115data[2])), i5816[2] + 1 + 1, i5824[2])
(3): INC35127(java.lang.Object(ARRAY(i4[3], a115115data[3])), i5816[3], i5824[3]) → LOAD34990(java.lang.Object(ARRAY(i4[3], a115115data[3])), i5816[3], i5824[3] + -1)
(4): LOAD34990(java.lang.Object(ARRAY(i4[4], a115115data[4])), i5816[4], i5824[4]) → COND_LOAD34990(i5824[4] > 0, java.lang.Object(ARRAY(i4[4], a115115data[4])), i5816[4], i5824[4])
(5): COND_LOAD34990(TRUE, java.lang.Object(ARRAY(i4[5], a115115data[5])), i5816[5], i5824[5]) → LOAD34990(java.lang.Object(ARRAY(i4[5], a115115data[5])), i5816[5], i5824[5] + -1)
(6): NEW39186(java.lang.Object(ARRAY(i4[6], a115115data[6])), i6609[6], i5824[6]) → INC35127(java.lang.Object(ARRAY(i4[6], a115115data[6])), i6609[6], i5824[6])
(7): LOAD34990(java.lang.Object(ARRAY(i4[7], a115115data[7])), i5816[7], i5824[7]) → LOAD34990ARR4(java.lang.Object(ARRAY(i4[7], a115115data[7])), i5816[7], i5824[7])
(8): LOAD34990ARR4(java.lang.Object(ARRAY(i4[8], a115115data[8])), i5816[8], i5824[8]) → COND_LOAD34990ARR4(i5816[8] + 1 > 0 && i5816[8] + 1 < i4[8] && i5816[8] > 0 && i5816[8] < i4[8] && i5824[8] > 0 && i5816[8] + 1 + 1 > 0, java.lang.Object(ARRAY(i4[8], a115115data[8])), i5816[8], i5824[8])
(9): COND_LOAD34990ARR4(TRUE, java.lang.Object(ARRAY(i4[9], a115115data[9])), i5816[9], i5824[9]) → INC35127(java.lang.Object(ARRAY(i4[9], a115115data[9])), i5816[9] + 1 + 1, i5824[9])
(10): LOAD34990(java.lang.Object(ARRAY(i4[10], a115115data[10])), i5816[10], i5824[10]) → LOAD34990ARR5(java.lang.Object(ARRAY(i4[10], a115115data[10])), i5816[10], i5824[10], java.lang.Object(java.lang.String(i6986[10])))
(11): LOAD34990ARR5(java.lang.Object(ARRAY(i4[11], a115115data[11])), i5816[11], i5824[11], java.lang.Object(java.lang.String(i6986[11]))) → COND_LOAD34990ARR5(!(i6986[11] = 0) && i5816[11] + 1 > 0 && i5816[11] + 1 < i4[11] && i5816[11] > 0 && i5816[11] < i4[11] && i5824[11] > 0 && i5816[11] + 1 + 1 > 0, java.lang.Object(ARRAY(i4[11], a115115data[11])), i5816[11], i5824[11], java.lang.Object(java.lang.String(i6986[11])))
(12): COND_LOAD34990ARR5(TRUE, java.lang.Object(ARRAY(i4[12], a115115data[12])), i5816[12], i5824[12], java.lang.Object(java.lang.String(i6986[12]))) → INC35127(java.lang.Object(ARRAY(i4[12], a115115data[12])), i5816[12] + 1 + 1, i5824[12])
(13): NEW40288(java.lang.Object(ARRAY(i4[13], a115115data[13])), i6905[13], i5824[13]) → INC35127(java.lang.Object(ARRAY(i4[13], a115115data[13])), i6905[13], i5824[13])
(14): LOAD34990(java.lang.Object(ARRAY(i4[14], a115115data[14])), i5816[14], i5824[14]) → LOAD34990ARR6(java.lang.Object(ARRAY(i4[14], a115115data[14])), i5816[14], i5824[14], java.lang.Object(java.lang.String(i6164[14])))
(15): LOAD34990ARR6(java.lang.Object(ARRAY(i4[15], a115115data[15])), i5816[15], i5824[15], java.lang.Object(java.lang.String(i6164[15]))) → COND_LOAD34990ARR6(i5816[15] + 1 > 0 && i5816[15] + 1 < i4[15] && !(i6164[15] = 0) && i5816[15] > 0 && i5816[15] < i4[15] && i5824[15] > 0 && i5816[15] + 1 + 1 > 0, java.lang.Object(ARRAY(i4[15], a115115data[15])), i5816[15], i5824[15], java.lang.Object(java.lang.String(i6164[15])))
(16): COND_LOAD34990ARR6(TRUE, java.lang.Object(ARRAY(i4[16], a115115data[16])), i5816[16], i5824[16], java.lang.Object(java.lang.String(i6164[16]))) → INC35127(java.lang.Object(ARRAY(i4[16], a115115data[16])), i5816[16] + 1 + 1, i5824[16])
(17): LOAD34990(java.lang.Object(ARRAY(i4[17], a115115data[17])), i5816[17], i5824[17]) → LOAD34990ARR7(java.lang.Object(ARRAY(i4[17], a115115data[17])), i5816[17], i5824[17], java.lang.Object(java.lang.String(i7504[17])), java.lang.Object(java.lang.String(i6164[17])))
(18): LOAD34990ARR7(java.lang.Object(ARRAY(i4[18], a115115data[18])), i5816[18], i5824[18], java.lang.Object(java.lang.String(i7504[18])), java.lang.Object(java.lang.String(i6164[18]))) → COND_LOAD34990ARR7(!(i7504[18] = 0) && i5816[18] + 1 > 0 && i5816[18] + 1 < i4[18] && !(i6164[18] = 0) && i5816[18] > 0 && i5816[18] < i4[18] && i5824[18] > 0 && i5816[18] + 1 + 1 > 0, java.lang.Object(ARRAY(i4[18], a115115data[18])), i5816[18], i5824[18], java.lang.Object(java.lang.String(i7504[18])), java.lang.Object(java.lang.String(i6164[18])))
(19): COND_LOAD34990ARR7(TRUE, java.lang.Object(ARRAY(i4[19], a115115data[19])), i5816[19], i5824[19], java.lang.Object(java.lang.String(i7504[19])), java.lang.Object(java.lang.String(i6164[19]))) → INC35127(java.lang.Object(ARRAY(i4[19], a115115data[19])), i5816[19] + 1 + 1, i5824[19])
(20): LOAD34990(java.lang.Object(ARRAY(i4[20], a115115data[20])), i5816[20], i5824[20]) → LOAD34990ARR8(java.lang.Object(ARRAY(i4[20], a115115data[20])), i5816[20], i5824[20], java.lang.Object(java.lang.String(i6986[20])))
(21): LOAD34990ARR8(java.lang.Object(ARRAY(i4[21], a115115data[21])), i5816[21], i5824[21], java.lang.Object(java.lang.String(i6986[21]))) → COND_LOAD34990ARR8(!(i6986[21] = 0) && i5816[21] + 1 > 0 && i5816[21] + 1 < i4[21] && i5816[21] > 0 && i5816[21] < i4[21] && i5824[21] > 0 && i5816[21] + 1 + 1 > 0, java.lang.Object(ARRAY(i4[21], a115115data[21])), i5816[21], i5824[21], java.lang.Object(java.lang.String(i6986[21])))
(22): COND_LOAD34990ARR8(TRUE, java.lang.Object(ARRAY(i4[22], a115115data[22])), i5816[22], i5824[22], java.lang.Object(java.lang.String(i6986[22]))) → NEW39186(java.lang.Object(ARRAY(i4[22], a115115data[22])), i5816[22] + 1 + 1, i5824[22])
(23): LOAD34990(java.lang.Object(ARRAY(i4[23], a115115data[23])), i5816[23], i5824[23]) → LOAD34990ARR9(java.lang.Object(ARRAY(i4[23], a115115data[23])), i5816[23], i5824[23], java.lang.Object(java.lang.String(i6164[23])))
(24): LOAD34990ARR9(java.lang.Object(ARRAY(i4[24], a115115data[24])), i5816[24], i5824[24], java.lang.Object(java.lang.String(i6164[24]))) → COND_LOAD34990ARR9(i5816[24] + 1 > 0 && i5816[24] + 1 < i4[24] && !(i6164[24] = 0) && i5816[24] > 0 && i5816[24] < i4[24] && i5824[24] > 0 && i5816[24] + 1 + 1 > 0, java.lang.Object(ARRAY(i4[24], a115115data[24])), i5816[24], i5824[24], java.lang.Object(java.lang.String(i6164[24])))
(25): COND_LOAD34990ARR9(TRUE, java.lang.Object(ARRAY(i4[25], a115115data[25])), i5816[25], i5824[25], java.lang.Object(java.lang.String(i6164[25]))) → NEW40288(java.lang.Object(ARRAY(i4[25], a115115data[25])), i5816[25] + 1 + 1, i5824[25])
(26): LOAD34990(java.lang.Object(ARRAY(i4[26], a115115data[26])), i5816[26], i5824[26]) → LOAD34990ARR10(java.lang.Object(ARRAY(i4[26], a115115data[26])), i5816[26], i5824[26], java.lang.Object(java.lang.String(i7504[26])), java.lang.Object(java.lang.String(i6164[26])))
(27): LOAD34990ARR10(java.lang.Object(ARRAY(i4[27], a115115data[27])), i5816[27], i5824[27], java.lang.Object(java.lang.String(i7504[27])), java.lang.Object(java.lang.String(i6164[27]))) → COND_LOAD34990ARR10(!(i7504[27] = 0) && i5816[27] + 1 > 0 && i5816[27] + 1 < i4[27] && !(i6164[27] = 0) && i5816[27] > 0 && i5816[27] < i4[27] && i5824[27] > 0 && i5816[27] + 1 + 1 > 0, java.lang.Object(ARRAY(i4[27], a115115data[27])), i5816[27], i5824[27], java.lang.Object(java.lang.String(i7504[27])), java.lang.Object(java.lang.String(i6164[27])))
(28): COND_LOAD34990ARR10(TRUE, java.lang.Object(ARRAY(i4[28], a115115data[28])), i5816[28], i5824[28], java.lang.Object(java.lang.String(i7504[28])), java.lang.Object(java.lang.String(i6164[28]))) → NEW40288(java.lang.Object(ARRAY(i4[28], a115115data[28])), i5816[28] + 1 + 1, i5824[28])

(0) -> (1), if (((i4[0]* i4[1])∧(a115115data[0]* a115115data[1]))∧(i5824[0]* i5824[1])∧(i5816[0]* i5816[1]))


(1) -> (2), if ((i5824[1]* i5824[2])∧(i5816[1]* i5816[2])∧((i4[1]* i4[2])∧(a115115data[1]* a115115data[2]))∧(i5816[1] + 1 > 0 && i5816[1] + 1 < i4[1] && i5816[1] > 0 && i5816[1] < i4[1] && i5824[1] > 0 && i5816[1] + 1 + 1 > 0* TRUE))


(2) -> (6), if ((i5824[2]* i5824[6])∧(i5816[2] + 1 + 1* i6609[6])∧((i4[2]* i4[6])∧(a115115data[2]* a115115data[6])))


(3) -> (0), if ((i5824[3] + -1* i5824[0])∧(i5816[3]* i5816[0])∧((i4[3]* i4[0])∧(a115115data[3]* a115115data[0])))


(3) -> (4), if ((i5824[3] + -1* i5824[4])∧((i4[3]* i4[4])∧(a115115data[3]* a115115data[4]))∧(i5816[3]* i5816[4]))


(3) -> (7), if ((i5824[3] + -1* i5824[7])∧((i4[3]* i4[7])∧(a115115data[3]* a115115data[7]))∧(i5816[3]* i5816[7]))


(3) -> (10), if ((i5824[3] + -1* i5824[10])∧((i4[3]* i4[10])∧(a115115data[3]* a115115data[10]))∧(i5816[3]* i5816[10]))


(3) -> (14), if ((i5816[3]* i5816[14])∧((i4[3]* i4[14])∧(a115115data[3]* a115115data[14]))∧(i5824[3] + -1* i5824[14]))


(3) -> (17), if ((i5824[3] + -1* i5824[17])∧(i5816[3]* i5816[17])∧((i4[3]* i4[17])∧(a115115data[3]* a115115data[17])))


(3) -> (20), if (((i4[3]* i4[20])∧(a115115data[3]* a115115data[20]))∧(i5816[3]* i5816[20])∧(i5824[3] + -1* i5824[20]))


(3) -> (23), if ((i5824[3] + -1* i5824[23])∧((i4[3]* i4[23])∧(a115115data[3]* a115115data[23]))∧(i5816[3]* i5816[23]))


(3) -> (26), if (((i4[3]* i4[26])∧(a115115data[3]* a115115data[26]))∧(i5816[3]* i5816[26])∧(i5824[3] + -1* i5824[26]))


(4) -> (5), if (((i4[4]* i4[5])∧(a115115data[4]* a115115data[5]))∧(i5816[4]* i5816[5])∧(i5824[4]* i5824[5])∧(i5824[4] > 0* TRUE))


(5) -> (0), if ((i5816[5]* i5816[0])∧(i5824[5] + -1* i5824[0])∧((i4[5]* i4[0])∧(a115115data[5]* a115115data[0])))


(5) -> (4), if ((i5824[5] + -1* i5824[4])∧((i4[5]* i4[4])∧(a115115data[5]* a115115data[4]))∧(i5816[5]* i5816[4]))


(5) -> (7), if ((i5816[5]* i5816[7])∧((i4[5]* i4[7])∧(a115115data[5]* a115115data[7]))∧(i5824[5] + -1* i5824[7]))


(5) -> (10), if (((i4[5]* i4[10])∧(a115115data[5]* a115115data[10]))∧(i5816[5]* i5816[10])∧(i5824[5] + -1* i5824[10]))


(5) -> (14), if (((i4[5]* i4[14])∧(a115115data[5]* a115115data[14]))∧(i5824[5] + -1* i5824[14])∧(i5816[5]* i5816[14]))


(5) -> (17), if (((i4[5]* i4[17])∧(a115115data[5]* a115115data[17]))∧(i5824[5] + -1* i5824[17])∧(i5816[5]* i5816[17]))


(5) -> (20), if ((i5816[5]* i5816[20])∧(i5824[5] + -1* i5824[20])∧((i4[5]* i4[20])∧(a115115data[5]* a115115data[20])))


(5) -> (23), if ((i5824[5] + -1* i5824[23])∧(i5816[5]* i5816[23])∧((i4[5]* i4[23])∧(a115115data[5]* a115115data[23])))


(5) -> (26), if ((i5824[5] + -1* i5824[26])∧(i5816[5]* i5816[26])∧((i4[5]* i4[26])∧(a115115data[5]* a115115data[26])))


(6) -> (3), if ((i5824[6]* i5824[3])∧(i6609[6]* i5816[3])∧((i4[6]* i4[3])∧(a115115data[6]* a115115data[3])))


(7) -> (8), if ((i5824[7]* i5824[8])∧((i4[7]* i4[8])∧(a115115data[7]* a115115data[8]))∧(i5816[7]* i5816[8]))


(8) -> (9), if ((i5816[8] + 1 > 0 && i5816[8] + 1 < i4[8] && i5816[8] > 0 && i5816[8] < i4[8] && i5824[8] > 0 && i5816[8] + 1 + 1 > 0* TRUE)∧(i5816[8]* i5816[9])∧(i5824[8]* i5824[9])∧((i4[8]* i4[9])∧(a115115data[8]* a115115data[9])))


(9) -> (3), if (((i4[9]* i4[3])∧(a115115data[9]* a115115data[3]))∧(i5816[9] + 1 + 1* i5816[3])∧(i5824[9]* i5824[3]))


(10) -> (11), if (((i6986[10]* i6986[11]))∧((i4[10]* i4[11])∧(a115115data[10]* a115115data[11]))∧(i5816[10]* i5816[11])∧(i5824[10]* i5824[11]))


(11) -> (12), if ((i5824[11]* i5824[12])∧(i5816[11]* i5816[12])∧((i4[11]* i4[12])∧(a115115data[11]* a115115data[12]))∧((i6986[11]* i6986[12]))∧(!(i6986[11] = 0) && i5816[11] + 1 > 0 && i5816[11] + 1 < i4[11] && i5816[11] > 0 && i5816[11] < i4[11] && i5824[11] > 0 && i5816[11] + 1 + 1 > 0* TRUE))


(12) -> (3), if ((i5824[12]* i5824[3])∧(i5816[12] + 1 + 1* i5816[3])∧((i4[12]* i4[3])∧(a115115data[12]* a115115data[3])))


(13) -> (3), if (((i4[13]* i4[3])∧(a115115data[13]* a115115data[3]))∧(i6905[13]* i5816[3])∧(i5824[13]* i5824[3]))


(14) -> (15), if ((i5824[14]* i5824[15])∧(i5816[14]* i5816[15])∧((i6164[14]* i6164[15]))∧((i4[14]* i4[15])∧(a115115data[14]* a115115data[15])))


(15) -> (16), if ((i5816[15]* i5816[16])∧(i5824[15]* i5824[16])∧(i5816[15] + 1 > 0 && i5816[15] + 1 < i4[15] && !(i6164[15] = 0) && i5816[15] > 0 && i5816[15] < i4[15] && i5824[15] > 0 && i5816[15] + 1 + 1 > 0* TRUE)∧((i4[15]* i4[16])∧(a115115data[15]* a115115data[16]))∧((i6164[15]* i6164[16])))


(16) -> (3), if ((i5824[16]* i5824[3])∧(i5816[16] + 1 + 1* i5816[3])∧((i4[16]* i4[3])∧(a115115data[16]* a115115data[3])))


(17) -> (18), if (((i6164[17]* i6164[18]))∧(i5824[17]* i5824[18])∧((i7504[17]* i7504[18]))∧((i4[17]* i4[18])∧(a115115data[17]* a115115data[18]))∧(i5816[17]* i5816[18]))


(18) -> (19), if (((i6164[18]* i6164[19]))∧((i7504[18]* i7504[19]))∧(!(i7504[18] = 0) && i5816[18] + 1 > 0 && i5816[18] + 1 < i4[18] && !(i6164[18] = 0) && i5816[18] > 0 && i5816[18] < i4[18] && i5824[18] > 0 && i5816[18] + 1 + 1 > 0* TRUE)∧((i4[18]* i4[19])∧(a115115data[18]* a115115data[19]))∧(i5816[18]* i5816[19])∧(i5824[18]* i5824[19]))


(19) -> (3), if ((i5816[19] + 1 + 1* i5816[3])∧(i5824[19]* i5824[3])∧((i4[19]* i4[3])∧(a115115data[19]* a115115data[3])))


(20) -> (21), if (((i6986[20]* i6986[21]))∧(i5816[20]* i5816[21])∧((i4[20]* i4[21])∧(a115115data[20]* a115115data[21]))∧(i5824[20]* i5824[21]))


(21) -> (22), if (((i4[21]* i4[22])∧(a115115data[21]* a115115data[22]))∧((i6986[21]* i6986[22]))∧(!(i6986[21] = 0) && i5816[21] + 1 > 0 && i5816[21] + 1 < i4[21] && i5816[21] > 0 && i5816[21] < i4[21] && i5824[21] > 0 && i5816[21] + 1 + 1 > 0* TRUE)∧(i5816[21]* i5816[22])∧(i5824[21]* i5824[22]))


(22) -> (6), if ((i5816[22] + 1 + 1* i6609[6])∧((i4[22]* i4[6])∧(a115115data[22]* a115115data[6]))∧(i5824[22]* i5824[6]))


(23) -> (24), if (((i6164[23]* i6164[24]))∧(i5816[23]* i5816[24])∧((i4[23]* i4[24])∧(a115115data[23]* a115115data[24]))∧(i5824[23]* i5824[24]))


(24) -> (25), if (((i4[24]* i4[25])∧(a115115data[24]* a115115data[25]))∧(i5816[24] + 1 > 0 && i5816[24] + 1 < i4[24] && !(i6164[24] = 0) && i5816[24] > 0 && i5816[24] < i4[24] && i5824[24] > 0 && i5816[24] + 1 + 1 > 0* TRUE)∧((i6164[24]* i6164[25]))∧(i5816[24]* i5816[25])∧(i5824[24]* i5824[25]))


(25) -> (13), if ((i5824[25]* i5824[13])∧((i4[25]* i4[13])∧(a115115data[25]* a115115data[13]))∧(i5816[25] + 1 + 1* i6905[13]))


(26) -> (27), if (((i7504[26]* i7504[27]))∧((i4[26]* i4[27])∧(a115115data[26]* a115115data[27]))∧((i6164[26]* i6164[27]))∧(i5824[26]* i5824[27])∧(i5816[26]* i5816[27]))


(27) -> (28), if ((i5824[27]* i5824[28])∧(!(i7504[27] = 0) && i5816[27] + 1 > 0 && i5816[27] + 1 < i4[27] && !(i6164[27] = 0) && i5816[27] > 0 && i5816[27] < i4[27] && i5824[27] > 0 && i5816[27] + 1 + 1 > 0* TRUE)∧((i7504[27]* i7504[28]))∧((i6164[27]* i6164[28]))∧(i5816[27]* i5816[28])∧((i4[27]* i4[28])∧(a115115data[27]* a115115data[28])))


(28) -> (13), if ((i5824[28]* i5824[13])∧(i5816[28] + 1 + 1* i6905[13])∧((i4[28]* i4[13])∧(a115115data[28]* a115115data[13])))



The set Q consists of the following terms:
Load34990(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load34990ARR3(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load34990ARR3(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
Inc35127(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load34990(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
New39186(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load34990ARR4(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load34990ARR4(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load34990ARR5(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load34990ARR5(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
New40288(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load34990ARR6(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load34990ARR6(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load34990ARR7(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)), java.lang.Object(java.lang.String(x5)))
Cond_Load34990ARR7(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)), java.lang.Object(java.lang.String(x5)))
Load34990ARR8(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load34990ARR8(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load34990ARR9(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load34990ARR9(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load34990ARR10(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)), java.lang.Object(java.lang.String(x5)))
Cond_Load34990ARR10(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)), java.lang.Object(java.lang.String(x5)))

(33) IDPNonInfProof (SOUND transformation)

The constraints were generated the following way:
The DP Problem is simplified using the Induction Calculus [NONINF] with the following steps:
Note that final constraints are written in bold face.


For Pair LOAD34990(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824) → LOAD34990ARR3(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824) the following chains were created:
  • We consider the chain LOAD34990(java.lang.Object(ARRAY(i4[0], a115115data[0])), i5816[0], i5824[0]) → LOAD34990ARR3(java.lang.Object(ARRAY(i4[0], a115115data[0])), i5816[0], i5824[0]), LOAD34990ARR3(java.lang.Object(ARRAY(i4[1], a115115data[1])), i5816[1], i5824[1]) → COND_LOAD34990ARR3(&&(&&(&&(&&(&&(>(+(i5816[1], 1), 0), <(+(i5816[1], 1), i4[1])), >(i5816[1], 0)), <(i5816[1], i4[1])), >(i5824[1], 0)), >(+(+(i5816[1], 1), 1), 0)), java.lang.Object(ARRAY(i4[1], a115115data[1])), i5816[1], i5824[1]) which results in the following constraint:

    (1)    (i4[0]=i4[1]a115115data[0]=a115115data[1]i5824[0]=i5824[1]i5816[0]=i5816[1]LOAD34990(java.lang.Object(ARRAY(i4[0], a115115data[0])), i5816[0], i5824[0])≥NonInfC∧LOAD34990(java.lang.Object(ARRAY(i4[0], a115115data[0])), i5816[0], i5824[0])≥LOAD34990ARR3(java.lang.Object(ARRAY(i4[0], a115115data[0])), i5816[0], i5824[0])∧(UIncreasing(LOAD34990ARR3(java.lang.Object(ARRAY(i4[0], a115115data[0])), i5816[0], i5824[0])), ≥))



    We simplified constraint (1) using rule (IV) which results in the following new constraint:

    (2)    (LOAD34990(java.lang.Object(ARRAY(i4[0], a115115data[0])), i5816[0], i5824[0])≥NonInfC∧LOAD34990(java.lang.Object(ARRAY(i4[0], a115115data[0])), i5816[0], i5824[0])≥LOAD34990ARR3(java.lang.Object(ARRAY(i4[0], a115115data[0])), i5816[0], i5824[0])∧(UIncreasing(LOAD34990ARR3(java.lang.Object(ARRAY(i4[0], a115115data[0])), i5816[0], i5824[0])), ≥))



    We simplified constraint (2) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (3)    ((UIncreasing(LOAD34990ARR3(java.lang.Object(ARRAY(i4[0], a115115data[0])), i5816[0], i5824[0])), ≥)∧[(-1)bso_44] ≥ 0)



    We simplified constraint (3) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (4)    ((UIncreasing(LOAD34990ARR3(java.lang.Object(ARRAY(i4[0], a115115data[0])), i5816[0], i5824[0])), ≥)∧[(-1)bso_44] ≥ 0)



    We simplified constraint (4) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (5)    ((UIncreasing(LOAD34990ARR3(java.lang.Object(ARRAY(i4[0], a115115data[0])), i5816[0], i5824[0])), ≥)∧[(-1)bso_44] ≥ 0)



    We simplified constraint (5) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (6)    ((UIncreasing(LOAD34990ARR3(java.lang.Object(ARRAY(i4[0], a115115data[0])), i5816[0], i5824[0])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_44] ≥ 0)







For Pair LOAD34990ARR3(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824) → COND_LOAD34990ARR3(&&(&&(&&(&&(&&(>(+(i5816, 1), 0), <(+(i5816, 1), i4)), >(i5816, 0)), <(i5816, i4)), >(i5824, 0)), >(+(+(i5816, 1), 1), 0)), java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824) the following chains were created:
  • We consider the chain LOAD34990ARR3(java.lang.Object(ARRAY(i4[1], a115115data[1])), i5816[1], i5824[1]) → COND_LOAD34990ARR3(&&(&&(&&(&&(&&(>(+(i5816[1], 1), 0), <(+(i5816[1], 1), i4[1])), >(i5816[1], 0)), <(i5816[1], i4[1])), >(i5824[1], 0)), >(+(+(i5816[1], 1), 1), 0)), java.lang.Object(ARRAY(i4[1], a115115data[1])), i5816[1], i5824[1]), COND_LOAD34990ARR3(TRUE, java.lang.Object(ARRAY(i4[2], a115115data[2])), i5816[2], i5824[2]) → NEW39186(java.lang.Object(ARRAY(i4[2], a115115data[2])), +(+(i5816[2], 1), 1), i5824[2]) which results in the following constraint:

    (7)    (i5824[1]=i5824[2]i5816[1]=i5816[2]i4[1]=i4[2]a115115data[1]=a115115data[2]&&(&&(&&(&&(&&(>(+(i5816[1], 1), 0), <(+(i5816[1], 1), i4[1])), >(i5816[1], 0)), <(i5816[1], i4[1])), >(i5824[1], 0)), >(+(+(i5816[1], 1), 1), 0))=TRUELOAD34990ARR3(java.lang.Object(ARRAY(i4[1], a115115data[1])), i5816[1], i5824[1])≥NonInfC∧LOAD34990ARR3(java.lang.Object(ARRAY(i4[1], a115115data[1])), i5816[1], i5824[1])≥COND_LOAD34990ARR3(&&(&&(&&(&&(&&(>(+(i5816[1], 1), 0), <(+(i5816[1], 1), i4[1])), >(i5816[1], 0)), <(i5816[1], i4[1])), >(i5824[1], 0)), >(+(+(i5816[1], 1), 1), 0)), java.lang.Object(ARRAY(i4[1], a115115data[1])), i5816[1], i5824[1])∧(UIncreasing(COND_LOAD34990ARR3(&&(&&(&&(&&(&&(>(+(i5816[1], 1), 0), <(+(i5816[1], 1), i4[1])), >(i5816[1], 0)), <(i5816[1], i4[1])), >(i5824[1], 0)), >(+(+(i5816[1], 1), 1), 0)), java.lang.Object(ARRAY(i4[1], a115115data[1])), i5816[1], i5824[1])), ≥))



    We simplified constraint (7) using rules (IV), (IDP_BOOLEAN) which results in the following new constraint:

    (8)    (>(+(+(i5816[1], 1), 1), 0)=TRUE>(i5824[1], 0)=TRUE<(i5816[1], i4[1])=TRUE>(i5816[1], 0)=TRUE>(+(i5816[1], 1), 0)=TRUE<(+(i5816[1], 1), i4[1])=TRUELOAD34990ARR3(java.lang.Object(ARRAY(i4[1], a115115data[1])), i5816[1], i5824[1])≥NonInfC∧LOAD34990ARR3(java.lang.Object(ARRAY(i4[1], a115115data[1])), i5816[1], i5824[1])≥COND_LOAD34990ARR3(&&(&&(&&(&&(&&(>(+(i5816[1], 1), 0), <(+(i5816[1], 1), i4[1])), >(i5816[1], 0)), <(i5816[1], i4[1])), >(i5824[1], 0)), >(+(+(i5816[1], 1), 1), 0)), java.lang.Object(ARRAY(i4[1], a115115data[1])), i5816[1], i5824[1])∧(UIncreasing(COND_LOAD34990ARR3(&&(&&(&&(&&(&&(>(+(i5816[1], 1), 0), <(+(i5816[1], 1), i4[1])), >(i5816[1], 0)), <(i5816[1], i4[1])), >(i5824[1], 0)), >(+(+(i5816[1], 1), 1), 0)), java.lang.Object(ARRAY(i4[1], a115115data[1])), i5816[1], i5824[1])), ≥))



    We simplified constraint (8) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (9)    (i5816[1] + [1] ≥ 0∧i5824[1] + [-1] ≥ 0∧i4[1] + [-1] + [-1]i5816[1] ≥ 0∧i5816[1] + [-1] ≥ 0∧i5816[1] ≥ 0∧i4[1] + [-2] + [-1]i5816[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR3(&&(&&(&&(&&(&&(>(+(i5816[1], 1), 0), <(+(i5816[1], 1), i4[1])), >(i5816[1], 0)), <(i5816[1], i4[1])), >(i5824[1], 0)), >(+(+(i5816[1], 1), 1), 0)), java.lang.Object(ARRAY(i4[1], a115115data[1])), i5816[1], i5824[1])), ≥)∧[(-1)Bound*bni_45] + [bni_45]i5824[1] + [(-1)bni_45]i5816[1] + [bni_45]i4[1] ≥ 0∧[(-1)bso_46] ≥ 0)



    We simplified constraint (9) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (10)    (i5816[1] + [1] ≥ 0∧i5824[1] + [-1] ≥ 0∧i4[1] + [-1] + [-1]i5816[1] ≥ 0∧i5816[1] + [-1] ≥ 0∧i5816[1] ≥ 0∧i4[1] + [-2] + [-1]i5816[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR3(&&(&&(&&(&&(&&(>(+(i5816[1], 1), 0), <(+(i5816[1], 1), i4[1])), >(i5816[1], 0)), <(i5816[1], i4[1])), >(i5824[1], 0)), >(+(+(i5816[1], 1), 1), 0)), java.lang.Object(ARRAY(i4[1], a115115data[1])), i5816[1], i5824[1])), ≥)∧[(-1)Bound*bni_45] + [bni_45]i5824[1] + [(-1)bni_45]i5816[1] + [bni_45]i4[1] ≥ 0∧[(-1)bso_46] ≥ 0)



    We simplified constraint (10) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (11)    (i5816[1] + [1] ≥ 0∧i5824[1] + [-1] ≥ 0∧i4[1] + [-1] + [-1]i5816[1] ≥ 0∧i5816[1] + [-1] ≥ 0∧i5816[1] ≥ 0∧i4[1] + [-2] + [-1]i5816[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR3(&&(&&(&&(&&(&&(>(+(i5816[1], 1), 0), <(+(i5816[1], 1), i4[1])), >(i5816[1], 0)), <(i5816[1], i4[1])), >(i5824[1], 0)), >(+(+(i5816[1], 1), 1), 0)), java.lang.Object(ARRAY(i4[1], a115115data[1])), i5816[1], i5824[1])), ≥)∧[(-1)Bound*bni_45] + [bni_45]i5824[1] + [(-1)bni_45]i5816[1] + [bni_45]i4[1] ≥ 0∧[(-1)bso_46] ≥ 0)



    We simplified constraint (11) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (12)    (i5816[1] + [1] ≥ 0∧i5824[1] + [-1] ≥ 0∧i4[1] + [-1] + [-1]i5816[1] ≥ 0∧i5816[1] + [-1] ≥ 0∧i5816[1] ≥ 0∧i4[1] + [-2] + [-1]i5816[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR3(&&(&&(&&(&&(&&(>(+(i5816[1], 1), 0), <(+(i5816[1], 1), i4[1])), >(i5816[1], 0)), <(i5816[1], i4[1])), >(i5824[1], 0)), >(+(+(i5816[1], 1), 1), 0)), java.lang.Object(ARRAY(i4[1], a115115data[1])), i5816[1], i5824[1])), ≥)∧0 = 0∧[(-1)Bound*bni_45] + [bni_45]i5824[1] + [(-1)bni_45]i5816[1] + [bni_45]i4[1] ≥ 0∧0 = 0∧[(-1)bso_46] ≥ 0)



    We simplified constraint (12) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (13)    ([2] + i5816[1] ≥ 0∧i5824[1] + [-1] ≥ 0∧i4[1] + [-2] + [-1]i5816[1] ≥ 0∧i5816[1] ≥ 0∧[1] + i5816[1] ≥ 0∧i4[1] + [-3] + [-1]i5816[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR3(&&(&&(&&(&&(&&(>(+(i5816[1], 1), 0), <(+(i5816[1], 1), i4[1])), >(i5816[1], 0)), <(i5816[1], i4[1])), >(i5824[1], 0)), >(+(+(i5816[1], 1), 1), 0)), java.lang.Object(ARRAY(i4[1], a115115data[1])), i5816[1], i5824[1])), ≥)∧0 = 0∧[(-1)Bound*bni_45 + (-1)bni_45] + [bni_45]i5824[1] + [(-1)bni_45]i5816[1] + [bni_45]i4[1] ≥ 0∧0 = 0∧[(-1)bso_46] ≥ 0)



    We simplified constraint (13) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (14)    ([2] + i5816[1] ≥ 0∧i5824[1] ≥ 0∧i4[1] + [-2] + [-1]i5816[1] ≥ 0∧i5816[1] ≥ 0∧[1] + i5816[1] ≥ 0∧i4[1] + [-3] + [-1]i5816[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR3(&&(&&(&&(&&(&&(>(+(i5816[1], 1), 0), <(+(i5816[1], 1), i4[1])), >(i5816[1], 0)), <(i5816[1], i4[1])), >(i5824[1], 0)), >(+(+(i5816[1], 1), 1), 0)), java.lang.Object(ARRAY(i4[1], a115115data[1])), i5816[1], i5824[1])), ≥)∧0 = 0∧[(-1)Bound*bni_45] + [bni_45]i5824[1] + [(-1)bni_45]i5816[1] + [bni_45]i4[1] ≥ 0∧0 = 0∧[(-1)bso_46] ≥ 0)



    We simplified constraint (14) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (15)    ([2] + i5816[1] ≥ 0∧i5824[1] ≥ 0∧i4[1] ≥ 0∧i5816[1] ≥ 0∧[1] + i5816[1] ≥ 0∧[-1] + i4[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR3(&&(&&(&&(&&(&&(>(+(i5816[1], 1), 0), <(+(i5816[1], 1), i4[1])), >(i5816[1], 0)), <(i5816[1], i4[1])), >(i5824[1], 0)), >(+(+(i5816[1], 1), 1), 0)), java.lang.Object(ARRAY(i4[1], a115115data[1])), i5816[1], i5824[1])), ≥)∧0 = 0∧[(-1)Bound*bni_45 + (2)bni_45] + [bni_45]i5824[1] + [bni_45]i4[1] ≥ 0∧0 = 0∧[(-1)bso_46] ≥ 0)



    We simplified constraint (15) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (16)    ([2] + i5816[1] ≥ 0∧i5824[1] ≥ 0∧[1] + i4[1] ≥ 0∧i5816[1] ≥ 0∧[1] + i5816[1] ≥ 0∧i4[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR3(&&(&&(&&(&&(&&(>(+(i5816[1], 1), 0), <(+(i5816[1], 1), i4[1])), >(i5816[1], 0)), <(i5816[1], i4[1])), >(i5824[1], 0)), >(+(+(i5816[1], 1), 1), 0)), java.lang.Object(ARRAY(i4[1], a115115data[1])), i5816[1], i5824[1])), ≥)∧0 = 0∧[(-1)Bound*bni_45 + (3)bni_45] + [bni_45]i5824[1] + [bni_45]i4[1] ≥ 0∧0 = 0∧[(-1)bso_46] ≥ 0)







For Pair COND_LOAD34990ARR3(TRUE, java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824) → NEW39186(java.lang.Object(ARRAY(i4, a115115data)), +(+(i5816, 1), 1), i5824) the following chains were created:
  • We consider the chain COND_LOAD34990ARR3(TRUE, java.lang.Object(ARRAY(i4[2], a115115data[2])), i5816[2], i5824[2]) → NEW39186(java.lang.Object(ARRAY(i4[2], a115115data[2])), +(+(i5816[2], 1), 1), i5824[2]) which results in the following constraint:

    (17)    (COND_LOAD34990ARR3(TRUE, java.lang.Object(ARRAY(i4[2], a115115data[2])), i5816[2], i5824[2])≥NonInfC∧COND_LOAD34990ARR3(TRUE, java.lang.Object(ARRAY(i4[2], a115115data[2])), i5816[2], i5824[2])≥NEW39186(java.lang.Object(ARRAY(i4[2], a115115data[2])), +(+(i5816[2], 1), 1), i5824[2])∧(UIncreasing(NEW39186(java.lang.Object(ARRAY(i4[2], a115115data[2])), +(+(i5816[2], 1), 1), i5824[2])), ≥))



    We simplified constraint (17) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (18)    ((UIncreasing(NEW39186(java.lang.Object(ARRAY(i4[2], a115115data[2])), +(+(i5816[2], 1), 1), i5824[2])), ≥)∧[(-1)bso_48] ≥ 0)



    We simplified constraint (18) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (19)    ((UIncreasing(NEW39186(java.lang.Object(ARRAY(i4[2], a115115data[2])), +(+(i5816[2], 1), 1), i5824[2])), ≥)∧[(-1)bso_48] ≥ 0)



    We simplified constraint (19) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (20)    ((UIncreasing(NEW39186(java.lang.Object(ARRAY(i4[2], a115115data[2])), +(+(i5816[2], 1), 1), i5824[2])), ≥)∧[(-1)bso_48] ≥ 0)



    We simplified constraint (20) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (21)    ((UIncreasing(NEW39186(java.lang.Object(ARRAY(i4[2], a115115data[2])), +(+(i5816[2], 1), 1), i5824[2])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_48] ≥ 0)







For Pair INC35127(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824) → LOAD34990(java.lang.Object(ARRAY(i4, a115115data)), i5816, +(i5824, -1)) the following chains were created:
  • We consider the chain INC35127(java.lang.Object(ARRAY(i4[3], a115115data[3])), i5816[3], i5824[3]) → LOAD34990(java.lang.Object(ARRAY(i4[3], a115115data[3])), i5816[3], +(i5824[3], -1)) which results in the following constraint:

    (22)    (INC35127(java.lang.Object(ARRAY(i4[3], a115115data[3])), i5816[3], i5824[3])≥NonInfC∧INC35127(java.lang.Object(ARRAY(i4[3], a115115data[3])), i5816[3], i5824[3])≥LOAD34990(java.lang.Object(ARRAY(i4[3], a115115data[3])), i5816[3], +(i5824[3], -1))∧(UIncreasing(LOAD34990(java.lang.Object(ARRAY(i4[3], a115115data[3])), i5816[3], +(i5824[3], -1))), ≥))



    We simplified constraint (22) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (23)    ((UIncreasing(LOAD34990(java.lang.Object(ARRAY(i4[3], a115115data[3])), i5816[3], +(i5824[3], -1))), ≥)∧[1 + (-1)bso_50] ≥ 0)



    We simplified constraint (23) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (24)    ((UIncreasing(LOAD34990(java.lang.Object(ARRAY(i4[3], a115115data[3])), i5816[3], +(i5824[3], -1))), ≥)∧[1 + (-1)bso_50] ≥ 0)



    We simplified constraint (24) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (25)    ((UIncreasing(LOAD34990(java.lang.Object(ARRAY(i4[3], a115115data[3])), i5816[3], +(i5824[3], -1))), ≥)∧[1 + (-1)bso_50] ≥ 0)



    We simplified constraint (25) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (26)    ((UIncreasing(LOAD34990(java.lang.Object(ARRAY(i4[3], a115115data[3])), i5816[3], +(i5824[3], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_50] ≥ 0)







For Pair LOAD34990(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824) → COND_LOAD34990(>(i5824, 0), java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824) the following chains were created:
  • We consider the chain LOAD34990(java.lang.Object(ARRAY(i4[4], a115115data[4])), i5816[4], i5824[4]) → COND_LOAD34990(>(i5824[4], 0), java.lang.Object(ARRAY(i4[4], a115115data[4])), i5816[4], i5824[4]), COND_LOAD34990(TRUE, java.lang.Object(ARRAY(i4[5], a115115data[5])), i5816[5], i5824[5]) → LOAD34990(java.lang.Object(ARRAY(i4[5], a115115data[5])), i5816[5], +(i5824[5], -1)) which results in the following constraint:

    (27)    (i4[4]=i4[5]a115115data[4]=a115115data[5]i5816[4]=i5816[5]i5824[4]=i5824[5]>(i5824[4], 0)=TRUELOAD34990(java.lang.Object(ARRAY(i4[4], a115115data[4])), i5816[4], i5824[4])≥NonInfC∧LOAD34990(java.lang.Object(ARRAY(i4[4], a115115data[4])), i5816[4], i5824[4])≥COND_LOAD34990(>(i5824[4], 0), java.lang.Object(ARRAY(i4[4], a115115data[4])), i5816[4], i5824[4])∧(UIncreasing(COND_LOAD34990(>(i5824[4], 0), java.lang.Object(ARRAY(i4[4], a115115data[4])), i5816[4], i5824[4])), ≥))



    We simplified constraint (27) using rule (IV) which results in the following new constraint:

    (28)    (>(i5824[4], 0)=TRUELOAD34990(java.lang.Object(ARRAY(i4[4], a115115data[4])), i5816[4], i5824[4])≥NonInfC∧LOAD34990(java.lang.Object(ARRAY(i4[4], a115115data[4])), i5816[4], i5824[4])≥COND_LOAD34990(>(i5824[4], 0), java.lang.Object(ARRAY(i4[4], a115115data[4])), i5816[4], i5824[4])∧(UIncreasing(COND_LOAD34990(>(i5824[4], 0), java.lang.Object(ARRAY(i4[4], a115115data[4])), i5816[4], i5824[4])), ≥))



    We simplified constraint (28) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (29)    (i5824[4] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990(>(i5824[4], 0), java.lang.Object(ARRAY(i4[4], a115115data[4])), i5816[4], i5824[4])), ≥)∧[(-1)Bound*bni_51] + [bni_51]i5824[4] + [(-1)bni_51]i5816[4] + [bni_51]i4[4] ≥ 0∧[(-1)bso_52] ≥ 0)



    We simplified constraint (29) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (30)    (i5824[4] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990(>(i5824[4], 0), java.lang.Object(ARRAY(i4[4], a115115data[4])), i5816[4], i5824[4])), ≥)∧[(-1)Bound*bni_51] + [bni_51]i5824[4] + [(-1)bni_51]i5816[4] + [bni_51]i4[4] ≥ 0∧[(-1)bso_52] ≥ 0)



    We simplified constraint (30) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (31)    (i5824[4] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990(>(i5824[4], 0), java.lang.Object(ARRAY(i4[4], a115115data[4])), i5816[4], i5824[4])), ≥)∧[(-1)Bound*bni_51] + [bni_51]i5824[4] + [(-1)bni_51]i5816[4] + [bni_51]i4[4] ≥ 0∧[(-1)bso_52] ≥ 0)



    We simplified constraint (31) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (32)    (i5824[4] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990(>(i5824[4], 0), java.lang.Object(ARRAY(i4[4], a115115data[4])), i5816[4], i5824[4])), ≥)∧[(-1)bni_51] = 0∧0 = 0∧[bni_51] = 0∧[(-1)Bound*bni_51] + [bni_51]i5824[4] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_52] ≥ 0)



    We simplified constraint (32) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (33)    (i5824[4] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990(>(i5824[4], 0), java.lang.Object(ARRAY(i4[4], a115115data[4])), i5816[4], i5824[4])), ≥)∧[(-1)bni_51] = 0∧0 = 0∧[bni_51] = 0∧[(-1)Bound*bni_51 + bni_51] + [bni_51]i5824[4] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_52] ≥ 0)







For Pair COND_LOAD34990(TRUE, java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824) → LOAD34990(java.lang.Object(ARRAY(i4, a115115data)), i5816, +(i5824, -1)) the following chains were created:
  • We consider the chain COND_LOAD34990(TRUE, java.lang.Object(ARRAY(i4[5], a115115data[5])), i5816[5], i5824[5]) → LOAD34990(java.lang.Object(ARRAY(i4[5], a115115data[5])), i5816[5], +(i5824[5], -1)) which results in the following constraint:

    (34)    (COND_LOAD34990(TRUE, java.lang.Object(ARRAY(i4[5], a115115data[5])), i5816[5], i5824[5])≥NonInfC∧COND_LOAD34990(TRUE, java.lang.Object(ARRAY(i4[5], a115115data[5])), i5816[5], i5824[5])≥LOAD34990(java.lang.Object(ARRAY(i4[5], a115115data[5])), i5816[5], +(i5824[5], -1))∧(UIncreasing(LOAD34990(java.lang.Object(ARRAY(i4[5], a115115data[5])), i5816[5], +(i5824[5], -1))), ≥))



    We simplified constraint (34) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (35)    ((UIncreasing(LOAD34990(java.lang.Object(ARRAY(i4[5], a115115data[5])), i5816[5], +(i5824[5], -1))), ≥)∧[1 + (-1)bso_54] ≥ 0)



    We simplified constraint (35) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (36)    ((UIncreasing(LOAD34990(java.lang.Object(ARRAY(i4[5], a115115data[5])), i5816[5], +(i5824[5], -1))), ≥)∧[1 + (-1)bso_54] ≥ 0)



    We simplified constraint (36) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (37)    ((UIncreasing(LOAD34990(java.lang.Object(ARRAY(i4[5], a115115data[5])), i5816[5], +(i5824[5], -1))), ≥)∧[1 + (-1)bso_54] ≥ 0)



    We simplified constraint (37) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (38)    ((UIncreasing(LOAD34990(java.lang.Object(ARRAY(i4[5], a115115data[5])), i5816[5], +(i5824[5], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_54] ≥ 0)







For Pair NEW39186(java.lang.Object(ARRAY(i4, a115115data)), i6609, i5824) → INC35127(java.lang.Object(ARRAY(i4, a115115data)), i6609, i5824) the following chains were created:
  • We consider the chain NEW39186(java.lang.Object(ARRAY(i4[6], a115115data[6])), i6609[6], i5824[6]) → INC35127(java.lang.Object(ARRAY(i4[6], a115115data[6])), i6609[6], i5824[6]), INC35127(java.lang.Object(ARRAY(i4[3], a115115data[3])), i5816[3], i5824[3]) → LOAD34990(java.lang.Object(ARRAY(i4[3], a115115data[3])), i5816[3], +(i5824[3], -1)) which results in the following constraint:

    (39)    (i5824[6]=i5824[3]i6609[6]=i5816[3]i4[6]=i4[3]a115115data[6]=a115115data[3]NEW39186(java.lang.Object(ARRAY(i4[6], a115115data[6])), i6609[6], i5824[6])≥NonInfC∧NEW39186(java.lang.Object(ARRAY(i4[6], a115115data[6])), i6609[6], i5824[6])≥INC35127(java.lang.Object(ARRAY(i4[6], a115115data[6])), i6609[6], i5824[6])∧(UIncreasing(INC35127(java.lang.Object(ARRAY(i4[6], a115115data[6])), i6609[6], i5824[6])), ≥))



    We simplified constraint (39) using rule (IV) which results in the following new constraint:

    (40)    (NEW39186(java.lang.Object(ARRAY(i4[6], a115115data[6])), i6609[6], i5824[6])≥NonInfC∧NEW39186(java.lang.Object(ARRAY(i4[6], a115115data[6])), i6609[6], i5824[6])≥INC35127(java.lang.Object(ARRAY(i4[6], a115115data[6])), i6609[6], i5824[6])∧(UIncreasing(INC35127(java.lang.Object(ARRAY(i4[6], a115115data[6])), i6609[6], i5824[6])), ≥))



    We simplified constraint (40) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (41)    ((UIncreasing(INC35127(java.lang.Object(ARRAY(i4[6], a115115data[6])), i6609[6], i5824[6])), ≥)∧[2 + (-1)bso_56] ≥ 0)



    We simplified constraint (41) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (42)    ((UIncreasing(INC35127(java.lang.Object(ARRAY(i4[6], a115115data[6])), i6609[6], i5824[6])), ≥)∧[2 + (-1)bso_56] ≥ 0)



    We simplified constraint (42) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (43)    ((UIncreasing(INC35127(java.lang.Object(ARRAY(i4[6], a115115data[6])), i6609[6], i5824[6])), ≥)∧[2 + (-1)bso_56] ≥ 0)



    We simplified constraint (43) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (44)    ((UIncreasing(INC35127(java.lang.Object(ARRAY(i4[6], a115115data[6])), i6609[6], i5824[6])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[2 + (-1)bso_56] ≥ 0)







For Pair LOAD34990(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824) → LOAD34990ARR4(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824) the following chains were created:
  • We consider the chain LOAD34990(java.lang.Object(ARRAY(i4[7], a115115data[7])), i5816[7], i5824[7]) → LOAD34990ARR4(java.lang.Object(ARRAY(i4[7], a115115data[7])), i5816[7], i5824[7]), LOAD34990ARR4(java.lang.Object(ARRAY(i4[8], a115115data[8])), i5816[8], i5824[8]) → COND_LOAD34990ARR4(&&(&&(&&(&&(&&(>(+(i5816[8], 1), 0), <(+(i5816[8], 1), i4[8])), >(i5816[8], 0)), <(i5816[8], i4[8])), >(i5824[8], 0)), >(+(+(i5816[8], 1), 1), 0)), java.lang.Object(ARRAY(i4[8], a115115data[8])), i5816[8], i5824[8]) which results in the following constraint:

    (45)    (i5824[7]=i5824[8]i4[7]=i4[8]a115115data[7]=a115115data[8]i5816[7]=i5816[8]LOAD34990(java.lang.Object(ARRAY(i4[7], a115115data[7])), i5816[7], i5824[7])≥NonInfC∧LOAD34990(java.lang.Object(ARRAY(i4[7], a115115data[7])), i5816[7], i5824[7])≥LOAD34990ARR4(java.lang.Object(ARRAY(i4[7], a115115data[7])), i5816[7], i5824[7])∧(UIncreasing(LOAD34990ARR4(java.lang.Object(ARRAY(i4[7], a115115data[7])), i5816[7], i5824[7])), ≥))



    We simplified constraint (45) using rule (IV) which results in the following new constraint:

    (46)    (LOAD34990(java.lang.Object(ARRAY(i4[7], a115115data[7])), i5816[7], i5824[7])≥NonInfC∧LOAD34990(java.lang.Object(ARRAY(i4[7], a115115data[7])), i5816[7], i5824[7])≥LOAD34990ARR4(java.lang.Object(ARRAY(i4[7], a115115data[7])), i5816[7], i5824[7])∧(UIncreasing(LOAD34990ARR4(java.lang.Object(ARRAY(i4[7], a115115data[7])), i5816[7], i5824[7])), ≥))



    We simplified constraint (46) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (47)    ((UIncreasing(LOAD34990ARR4(java.lang.Object(ARRAY(i4[7], a115115data[7])), i5816[7], i5824[7])), ≥)∧[(-1)bso_58] ≥ 0)



    We simplified constraint (47) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (48)    ((UIncreasing(LOAD34990ARR4(java.lang.Object(ARRAY(i4[7], a115115data[7])), i5816[7], i5824[7])), ≥)∧[(-1)bso_58] ≥ 0)



    We simplified constraint (48) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (49)    ((UIncreasing(LOAD34990ARR4(java.lang.Object(ARRAY(i4[7], a115115data[7])), i5816[7], i5824[7])), ≥)∧[(-1)bso_58] ≥ 0)



    We simplified constraint (49) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (50)    ((UIncreasing(LOAD34990ARR4(java.lang.Object(ARRAY(i4[7], a115115data[7])), i5816[7], i5824[7])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_58] ≥ 0)







For Pair LOAD34990ARR4(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824) → COND_LOAD34990ARR4(&&(&&(&&(&&(&&(>(+(i5816, 1), 0), <(+(i5816, 1), i4)), >(i5816, 0)), <(i5816, i4)), >(i5824, 0)), >(+(+(i5816, 1), 1), 0)), java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824) the following chains were created:
  • We consider the chain LOAD34990ARR4(java.lang.Object(ARRAY(i4[8], a115115data[8])), i5816[8], i5824[8]) → COND_LOAD34990ARR4(&&(&&(&&(&&(&&(>(+(i5816[8], 1), 0), <(+(i5816[8], 1), i4[8])), >(i5816[8], 0)), <(i5816[8], i4[8])), >(i5824[8], 0)), >(+(+(i5816[8], 1), 1), 0)), java.lang.Object(ARRAY(i4[8], a115115data[8])), i5816[8], i5824[8]), COND_LOAD34990ARR4(TRUE, java.lang.Object(ARRAY(i4[9], a115115data[9])), i5816[9], i5824[9]) → INC35127(java.lang.Object(ARRAY(i4[9], a115115data[9])), +(+(i5816[9], 1), 1), i5824[9]) which results in the following constraint:

    (51)    (&&(&&(&&(&&(&&(>(+(i5816[8], 1), 0), <(+(i5816[8], 1), i4[8])), >(i5816[8], 0)), <(i5816[8], i4[8])), >(i5824[8], 0)), >(+(+(i5816[8], 1), 1), 0))=TRUEi5816[8]=i5816[9]i5824[8]=i5824[9]i4[8]=i4[9]a115115data[8]=a115115data[9]LOAD34990ARR4(java.lang.Object(ARRAY(i4[8], a115115data[8])), i5816[8], i5824[8])≥NonInfC∧LOAD34990ARR4(java.lang.Object(ARRAY(i4[8], a115115data[8])), i5816[8], i5824[8])≥COND_LOAD34990ARR4(&&(&&(&&(&&(&&(>(+(i5816[8], 1), 0), <(+(i5816[8], 1), i4[8])), >(i5816[8], 0)), <(i5816[8], i4[8])), >(i5824[8], 0)), >(+(+(i5816[8], 1), 1), 0)), java.lang.Object(ARRAY(i4[8], a115115data[8])), i5816[8], i5824[8])∧(UIncreasing(COND_LOAD34990ARR4(&&(&&(&&(&&(&&(>(+(i5816[8], 1), 0), <(+(i5816[8], 1), i4[8])), >(i5816[8], 0)), <(i5816[8], i4[8])), >(i5824[8], 0)), >(+(+(i5816[8], 1), 1), 0)), java.lang.Object(ARRAY(i4[8], a115115data[8])), i5816[8], i5824[8])), ≥))



    We simplified constraint (51) using rules (IV), (IDP_BOOLEAN) which results in the following new constraint:

    (52)    (>(+(+(i5816[8], 1), 1), 0)=TRUE>(i5824[8], 0)=TRUE<(i5816[8], i4[8])=TRUE>(i5816[8], 0)=TRUE>(+(i5816[8], 1), 0)=TRUE<(+(i5816[8], 1), i4[8])=TRUELOAD34990ARR4(java.lang.Object(ARRAY(i4[8], a115115data[8])), i5816[8], i5824[8])≥NonInfC∧LOAD34990ARR4(java.lang.Object(ARRAY(i4[8], a115115data[8])), i5816[8], i5824[8])≥COND_LOAD34990ARR4(&&(&&(&&(&&(&&(>(+(i5816[8], 1), 0), <(+(i5816[8], 1), i4[8])), >(i5816[8], 0)), <(i5816[8], i4[8])), >(i5824[8], 0)), >(+(+(i5816[8], 1), 1), 0)), java.lang.Object(ARRAY(i4[8], a115115data[8])), i5816[8], i5824[8])∧(UIncreasing(COND_LOAD34990ARR4(&&(&&(&&(&&(&&(>(+(i5816[8], 1), 0), <(+(i5816[8], 1), i4[8])), >(i5816[8], 0)), <(i5816[8], i4[8])), >(i5824[8], 0)), >(+(+(i5816[8], 1), 1), 0)), java.lang.Object(ARRAY(i4[8], a115115data[8])), i5816[8], i5824[8])), ≥))



    We simplified constraint (52) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (53)    (i5816[8] + [1] ≥ 0∧i5824[8] + [-1] ≥ 0∧i4[8] + [-1] + [-1]i5816[8] ≥ 0∧i5816[8] + [-1] ≥ 0∧i5816[8] ≥ 0∧i4[8] + [-2] + [-1]i5816[8] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR4(&&(&&(&&(&&(&&(>(+(i5816[8], 1), 0), <(+(i5816[8], 1), i4[8])), >(i5816[8], 0)), <(i5816[8], i4[8])), >(i5824[8], 0)), >(+(+(i5816[8], 1), 1), 0)), java.lang.Object(ARRAY(i4[8], a115115data[8])), i5816[8], i5824[8])), ≥)∧[(-1)Bound*bni_59] + [bni_59]i5824[8] + [(-1)bni_59]i5816[8] + [bni_59]i4[8] ≥ 0∧[(-1)bso_60] ≥ 0)



    We simplified constraint (53) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (54)    (i5816[8] + [1] ≥ 0∧i5824[8] + [-1] ≥ 0∧i4[8] + [-1] + [-1]i5816[8] ≥ 0∧i5816[8] + [-1] ≥ 0∧i5816[8] ≥ 0∧i4[8] + [-2] + [-1]i5816[8] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR4(&&(&&(&&(&&(&&(>(+(i5816[8], 1), 0), <(+(i5816[8], 1), i4[8])), >(i5816[8], 0)), <(i5816[8], i4[8])), >(i5824[8], 0)), >(+(+(i5816[8], 1), 1), 0)), java.lang.Object(ARRAY(i4[8], a115115data[8])), i5816[8], i5824[8])), ≥)∧[(-1)Bound*bni_59] + [bni_59]i5824[8] + [(-1)bni_59]i5816[8] + [bni_59]i4[8] ≥ 0∧[(-1)bso_60] ≥ 0)



    We simplified constraint (54) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (55)    (i5816[8] + [1] ≥ 0∧i5824[8] + [-1] ≥ 0∧i4[8] + [-1] + [-1]i5816[8] ≥ 0∧i5816[8] + [-1] ≥ 0∧i5816[8] ≥ 0∧i4[8] + [-2] + [-1]i5816[8] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR4(&&(&&(&&(&&(&&(>(+(i5816[8], 1), 0), <(+(i5816[8], 1), i4[8])), >(i5816[8], 0)), <(i5816[8], i4[8])), >(i5824[8], 0)), >(+(+(i5816[8], 1), 1), 0)), java.lang.Object(ARRAY(i4[8], a115115data[8])), i5816[8], i5824[8])), ≥)∧[(-1)Bound*bni_59] + [bni_59]i5824[8] + [(-1)bni_59]i5816[8] + [bni_59]i4[8] ≥ 0∧[(-1)bso_60] ≥ 0)



    We simplified constraint (55) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (56)    (i5816[8] + [1] ≥ 0∧i5824[8] + [-1] ≥ 0∧i4[8] + [-1] + [-1]i5816[8] ≥ 0∧i5816[8] + [-1] ≥ 0∧i5816[8] ≥ 0∧i4[8] + [-2] + [-1]i5816[8] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR4(&&(&&(&&(&&(&&(>(+(i5816[8], 1), 0), <(+(i5816[8], 1), i4[8])), >(i5816[8], 0)), <(i5816[8], i4[8])), >(i5824[8], 0)), >(+(+(i5816[8], 1), 1), 0)), java.lang.Object(ARRAY(i4[8], a115115data[8])), i5816[8], i5824[8])), ≥)∧0 = 0∧[(-1)Bound*bni_59] + [bni_59]i5824[8] + [(-1)bni_59]i5816[8] + [bni_59]i4[8] ≥ 0∧0 = 0∧[(-1)bso_60] ≥ 0)



    We simplified constraint (56) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (57)    ([2] + i5816[8] ≥ 0∧i5824[8] + [-1] ≥ 0∧i4[8] + [-2] + [-1]i5816[8] ≥ 0∧i5816[8] ≥ 0∧[1] + i5816[8] ≥ 0∧i4[8] + [-3] + [-1]i5816[8] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR4(&&(&&(&&(&&(&&(>(+(i5816[8], 1), 0), <(+(i5816[8], 1), i4[8])), >(i5816[8], 0)), <(i5816[8], i4[8])), >(i5824[8], 0)), >(+(+(i5816[8], 1), 1), 0)), java.lang.Object(ARRAY(i4[8], a115115data[8])), i5816[8], i5824[8])), ≥)∧0 = 0∧[(-1)Bound*bni_59 + (-1)bni_59] + [bni_59]i5824[8] + [(-1)bni_59]i5816[8] + [bni_59]i4[8] ≥ 0∧0 = 0∧[(-1)bso_60] ≥ 0)



    We simplified constraint (57) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (58)    ([2] + i5816[8] ≥ 0∧i5824[8] ≥ 0∧i4[8] + [-2] + [-1]i5816[8] ≥ 0∧i5816[8] ≥ 0∧[1] + i5816[8] ≥ 0∧i4[8] + [-3] + [-1]i5816[8] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR4(&&(&&(&&(&&(&&(>(+(i5816[8], 1), 0), <(+(i5816[8], 1), i4[8])), >(i5816[8], 0)), <(i5816[8], i4[8])), >(i5824[8], 0)), >(+(+(i5816[8], 1), 1), 0)), java.lang.Object(ARRAY(i4[8], a115115data[8])), i5816[8], i5824[8])), ≥)∧0 = 0∧[(-1)Bound*bni_59] + [bni_59]i5824[8] + [(-1)bni_59]i5816[8] + [bni_59]i4[8] ≥ 0∧0 = 0∧[(-1)bso_60] ≥ 0)



    We simplified constraint (58) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (59)    ([2] + i5816[8] ≥ 0∧i5824[8] ≥ 0∧i4[8] ≥ 0∧i5816[8] ≥ 0∧[1] + i5816[8] ≥ 0∧[-1] + i4[8] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR4(&&(&&(&&(&&(&&(>(+(i5816[8], 1), 0), <(+(i5816[8], 1), i4[8])), >(i5816[8], 0)), <(i5816[8], i4[8])), >(i5824[8], 0)), >(+(+(i5816[8], 1), 1), 0)), java.lang.Object(ARRAY(i4[8], a115115data[8])), i5816[8], i5824[8])), ≥)∧0 = 0∧[(-1)Bound*bni_59 + (2)bni_59] + [bni_59]i5824[8] + [bni_59]i4[8] ≥ 0∧0 = 0∧[(-1)bso_60] ≥ 0)



    We simplified constraint (59) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (60)    ([2] + i5816[8] ≥ 0∧i5824[8] ≥ 0∧[1] + i4[8] ≥ 0∧i5816[8] ≥ 0∧[1] + i5816[8] ≥ 0∧i4[8] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR4(&&(&&(&&(&&(&&(>(+(i5816[8], 1), 0), <(+(i5816[8], 1), i4[8])), >(i5816[8], 0)), <(i5816[8], i4[8])), >(i5824[8], 0)), >(+(+(i5816[8], 1), 1), 0)), java.lang.Object(ARRAY(i4[8], a115115data[8])), i5816[8], i5824[8])), ≥)∧0 = 0∧[(-1)Bound*bni_59 + (3)bni_59] + [bni_59]i5824[8] + [bni_59]i4[8] ≥ 0∧0 = 0∧[(-1)bso_60] ≥ 0)







For Pair COND_LOAD34990ARR4(TRUE, java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824) → INC35127(java.lang.Object(ARRAY(i4, a115115data)), +(+(i5816, 1), 1), i5824) the following chains were created:
  • We consider the chain COND_LOAD34990ARR4(TRUE, java.lang.Object(ARRAY(i4[9], a115115data[9])), i5816[9], i5824[9]) → INC35127(java.lang.Object(ARRAY(i4[9], a115115data[9])), +(+(i5816[9], 1), 1), i5824[9]) which results in the following constraint:

    (61)    (COND_LOAD34990ARR4(TRUE, java.lang.Object(ARRAY(i4[9], a115115data[9])), i5816[9], i5824[9])≥NonInfC∧COND_LOAD34990ARR4(TRUE, java.lang.Object(ARRAY(i4[9], a115115data[9])), i5816[9], i5824[9])≥INC35127(java.lang.Object(ARRAY(i4[9], a115115data[9])), +(+(i5816[9], 1), 1), i5824[9])∧(UIncreasing(INC35127(java.lang.Object(ARRAY(i4[9], a115115data[9])), +(+(i5816[9], 1), 1), i5824[9])), ≥))



    We simplified constraint (61) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (62)    ((UIncreasing(INC35127(java.lang.Object(ARRAY(i4[9], a115115data[9])), +(+(i5816[9], 1), 1), i5824[9])), ≥)∧[2 + (-1)bso_62] ≥ 0)



    We simplified constraint (62) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (63)    ((UIncreasing(INC35127(java.lang.Object(ARRAY(i4[9], a115115data[9])), +(+(i5816[9], 1), 1), i5824[9])), ≥)∧[2 + (-1)bso_62] ≥ 0)



    We simplified constraint (63) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (64)    ((UIncreasing(INC35127(java.lang.Object(ARRAY(i4[9], a115115data[9])), +(+(i5816[9], 1), 1), i5824[9])), ≥)∧[2 + (-1)bso_62] ≥ 0)



    We simplified constraint (64) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (65)    ((UIncreasing(INC35127(java.lang.Object(ARRAY(i4[9], a115115data[9])), +(+(i5816[9], 1), 1), i5824[9])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[2 + (-1)bso_62] ≥ 0)







For Pair LOAD34990(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824) → LOAD34990ARR5(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i6986))) the following chains were created:
  • We consider the chain LOAD34990(java.lang.Object(ARRAY(i4[10], a115115data[10])), i5816[10], i5824[10]) → LOAD34990ARR5(java.lang.Object(ARRAY(i4[10], a115115data[10])), i5816[10], i5824[10], java.lang.Object(java.lang.String(i6986[10]))) which results in the following constraint:

    (66)    (LOAD34990(java.lang.Object(ARRAY(i4[10], a115115data[10])), i5816[10], i5824[10])≥NonInfC∧LOAD34990(java.lang.Object(ARRAY(i4[10], a115115data[10])), i5816[10], i5824[10])≥LOAD34990ARR5(java.lang.Object(ARRAY(i4[10], a115115data[10])), i5816[10], i5824[10], java.lang.Object(java.lang.String(i6986[10])))∧(UIncreasing(LOAD34990ARR5(java.lang.Object(ARRAY(i4[10], a115115data[10])), i5816[10], i5824[10], java.lang.Object(java.lang.String(i6986[10])))), ≥))



    We simplified constraint (66) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (67)    ((UIncreasing(LOAD34990ARR5(java.lang.Object(ARRAY(i4[10], a115115data[10])), i5816[10], i5824[10], java.lang.Object(java.lang.String(i6986[10])))), ≥)∧[(-1)bso_64] ≥ 0)



    We simplified constraint (67) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (68)    ((UIncreasing(LOAD34990ARR5(java.lang.Object(ARRAY(i4[10], a115115data[10])), i5816[10], i5824[10], java.lang.Object(java.lang.String(i6986[10])))), ≥)∧[(-1)bso_64] ≥ 0)



    We simplified constraint (68) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (69)    ((UIncreasing(LOAD34990ARR5(java.lang.Object(ARRAY(i4[10], a115115data[10])), i5816[10], i5824[10], java.lang.Object(java.lang.String(i6986[10])))), ≥)∧[(-1)bso_64] ≥ 0)



    We simplified constraint (69) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (70)    ((UIncreasing(LOAD34990ARR5(java.lang.Object(ARRAY(i4[10], a115115data[10])), i5816[10], i5824[10], java.lang.Object(java.lang.String(i6986[10])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_64] ≥ 0)







For Pair LOAD34990ARR5(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i6986))) → COND_LOAD34990ARR5(&&(&&(&&(&&(&&(&&(!(=(i6986, 0)), >(+(i5816, 1), 0)), <(+(i5816, 1), i4)), >(i5816, 0)), <(i5816, i4)), >(i5824, 0)), >(+(+(i5816, 1), 1), 0)), java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i6986))) the following chains were created:
  • We consider the chain LOAD34990ARR5(java.lang.Object(ARRAY(i4[11], a115115data[11])), i5816[11], i5824[11], java.lang.Object(java.lang.String(i6986[11]))) → COND_LOAD34990ARR5(&&(&&(&&(&&(&&(&&(!(=(i6986[11], 0)), >(+(i5816[11], 1), 0)), <(+(i5816[11], 1), i4[11])), >(i5816[11], 0)), <(i5816[11], i4[11])), >(i5824[11], 0)), >(+(+(i5816[11], 1), 1), 0)), java.lang.Object(ARRAY(i4[11], a115115data[11])), i5816[11], i5824[11], java.lang.Object(java.lang.String(i6986[11]))), COND_LOAD34990ARR5(TRUE, java.lang.Object(ARRAY(i4[12], a115115data[12])), i5816[12], i5824[12], java.lang.Object(java.lang.String(i6986[12]))) → INC35127(java.lang.Object(ARRAY(i4[12], a115115data[12])), +(+(i5816[12], 1), 1), i5824[12]) which results in the following constraint:

    (71)    (i5824[11]=i5824[12]i5816[11]=i5816[12]i4[11]=i4[12]a115115data[11]=a115115data[12]i6986[11]=i6986[12]&&(&&(&&(&&(&&(&&(!(=(i6986[11], 0)), >(+(i5816[11], 1), 0)), <(+(i5816[11], 1), i4[11])), >(i5816[11], 0)), <(i5816[11], i4[11])), >(i5824[11], 0)), >(+(+(i5816[11], 1), 1), 0))=TRUELOAD34990ARR5(java.lang.Object(ARRAY(i4[11], a115115data[11])), i5816[11], i5824[11], java.lang.Object(java.lang.String(i6986[11])))≥NonInfC∧LOAD34990ARR5(java.lang.Object(ARRAY(i4[11], a115115data[11])), i5816[11], i5824[11], java.lang.Object(java.lang.String(i6986[11])))≥COND_LOAD34990ARR5(&&(&&(&&(&&(&&(&&(!(=(i6986[11], 0)), >(+(i5816[11], 1), 0)), <(+(i5816[11], 1), i4[11])), >(i5816[11], 0)), <(i5816[11], i4[11])), >(i5824[11], 0)), >(+(+(i5816[11], 1), 1), 0)), java.lang.Object(ARRAY(i4[11], a115115data[11])), i5816[11], i5824[11], java.lang.Object(java.lang.String(i6986[11])))∧(UIncreasing(COND_LOAD34990ARR5(&&(&&(&&(&&(&&(&&(!(=(i6986[11], 0)), >(+(i5816[11], 1), 0)), <(+(i5816[11], 1), i4[11])), >(i5816[11], 0)), <(i5816[11], i4[11])), >(i5824[11], 0)), >(+(+(i5816[11], 1), 1), 0)), java.lang.Object(ARRAY(i4[11], a115115data[11])), i5816[11], i5824[11], java.lang.Object(java.lang.String(i6986[11])))), ≥))



    We simplified constraint (71) using rules (IV), (IDP_BOOLEAN) which results in the following new constraints:

    (72)    (>(+(+(i5816[11], 1), 1), 0)=TRUE>(i5824[11], 0)=TRUE<(i5816[11], i4[11])=TRUE>(i5816[11], 0)=TRUE<(+(i5816[11], 1), i4[11])=TRUE>(+(i5816[11], 1), 0)=TRUE<(i6986[11], 0)=TRUELOAD34990ARR5(java.lang.Object(ARRAY(i4[11], a115115data[11])), i5816[11], i5824[11], java.lang.Object(java.lang.String(i6986[11])))≥NonInfC∧LOAD34990ARR5(java.lang.Object(ARRAY(i4[11], a115115data[11])), i5816[11], i5824[11], java.lang.Object(java.lang.String(i6986[11])))≥COND_LOAD34990ARR5(&&(&&(&&(&&(&&(&&(!(=(i6986[11], 0)), >(+(i5816[11], 1), 0)), <(+(i5816[11], 1), i4[11])), >(i5816[11], 0)), <(i5816[11], i4[11])), >(i5824[11], 0)), >(+(+(i5816[11], 1), 1), 0)), java.lang.Object(ARRAY(i4[11], a115115data[11])), i5816[11], i5824[11], java.lang.Object(java.lang.String(i6986[11])))∧(UIncreasing(COND_LOAD34990ARR5(&&(&&(&&(&&(&&(&&(!(=(i6986[11], 0)), >(+(i5816[11], 1), 0)), <(+(i5816[11], 1), i4[11])), >(i5816[11], 0)), <(i5816[11], i4[11])), >(i5824[11], 0)), >(+(+(i5816[11], 1), 1), 0)), java.lang.Object(ARRAY(i4[11], a115115data[11])), i5816[11], i5824[11], java.lang.Object(java.lang.String(i6986[11])))), ≥))


    (73)    (>(+(+(i5816[11], 1), 1), 0)=TRUE>(i5824[11], 0)=TRUE<(i5816[11], i4[11])=TRUE>(i5816[11], 0)=TRUE<(+(i5816[11], 1), i4[11])=TRUE>(+(i5816[11], 1), 0)=TRUE>(i6986[11], 0)=TRUELOAD34990ARR5(java.lang.Object(ARRAY(i4[11], a115115data[11])), i5816[11], i5824[11], java.lang.Object(java.lang.String(i6986[11])))≥NonInfC∧LOAD34990ARR5(java.lang.Object(ARRAY(i4[11], a115115data[11])), i5816[11], i5824[11], java.lang.Object(java.lang.String(i6986[11])))≥COND_LOAD34990ARR5(&&(&&(&&(&&(&&(&&(!(=(i6986[11], 0)), >(+(i5816[11], 1), 0)), <(+(i5816[11], 1), i4[11])), >(i5816[11], 0)), <(i5816[11], i4[11])), >(i5824[11], 0)), >(+(+(i5816[11], 1), 1), 0)), java.lang.Object(ARRAY(i4[11], a115115data[11])), i5816[11], i5824[11], java.lang.Object(java.lang.String(i6986[11])))∧(UIncreasing(COND_LOAD34990ARR5(&&(&&(&&(&&(&&(&&(!(=(i6986[11], 0)), >(+(i5816[11], 1), 0)), <(+(i5816[11], 1), i4[11])), >(i5816[11], 0)), <(i5816[11], i4[11])), >(i5824[11], 0)), >(+(+(i5816[11], 1), 1), 0)), java.lang.Object(ARRAY(i4[11], a115115data[11])), i5816[11], i5824[11], java.lang.Object(java.lang.String(i6986[11])))), ≥))



    We simplified constraint (72) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (74)    (i5816[11] + [1] ≥ 0∧i5824[11] + [-1] ≥ 0∧i4[11] + [-1] + [-1]i5816[11] ≥ 0∧i5816[11] + [-1] ≥ 0∧i4[11] + [-2] + [-1]i5816[11] ≥ 0∧i5816[11] ≥ 0∧[-1] + [-1]i6986[11] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR5(&&(&&(&&(&&(&&(&&(!(=(i6986[11], 0)), >(+(i5816[11], 1), 0)), <(+(i5816[11], 1), i4[11])), >(i5816[11], 0)), <(i5816[11], i4[11])), >(i5824[11], 0)), >(+(+(i5816[11], 1), 1), 0)), java.lang.Object(ARRAY(i4[11], a115115data[11])), i5816[11], i5824[11], java.lang.Object(java.lang.String(i6986[11])))), ≥)∧[(-1)Bound*bni_65] + [bni_65]i5824[11] + [(-1)bni_65]i5816[11] + [bni_65]i4[11] ≥ 0∧[(-1)bso_66] ≥ 0)



    We simplified constraint (73) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (75)    (i5816[11] + [1] ≥ 0∧i5824[11] + [-1] ≥ 0∧i4[11] + [-1] + [-1]i5816[11] ≥ 0∧i5816[11] + [-1] ≥ 0∧i4[11] + [-2] + [-1]i5816[11] ≥ 0∧i5816[11] ≥ 0∧i6986[11] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR5(&&(&&(&&(&&(&&(&&(!(=(i6986[11], 0)), >(+(i5816[11], 1), 0)), <(+(i5816[11], 1), i4[11])), >(i5816[11], 0)), <(i5816[11], i4[11])), >(i5824[11], 0)), >(+(+(i5816[11], 1), 1), 0)), java.lang.Object(ARRAY(i4[11], a115115data[11])), i5816[11], i5824[11], java.lang.Object(java.lang.String(i6986[11])))), ≥)∧[(-1)Bound*bni_65] + [bni_65]i5824[11] + [(-1)bni_65]i5816[11] + [bni_65]i4[11] ≥ 0∧[(-1)bso_66] ≥ 0)



    We simplified constraint (74) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (76)    (i5816[11] + [1] ≥ 0∧i5824[11] + [-1] ≥ 0∧i4[11] + [-1] + [-1]i5816[11] ≥ 0∧i5816[11] + [-1] ≥ 0∧i4[11] + [-2] + [-1]i5816[11] ≥ 0∧i5816[11] ≥ 0∧[-1] + [-1]i6986[11] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR5(&&(&&(&&(&&(&&(&&(!(=(i6986[11], 0)), >(+(i5816[11], 1), 0)), <(+(i5816[11], 1), i4[11])), >(i5816[11], 0)), <(i5816[11], i4[11])), >(i5824[11], 0)), >(+(+(i5816[11], 1), 1), 0)), java.lang.Object(ARRAY(i4[11], a115115data[11])), i5816[11], i5824[11], java.lang.Object(java.lang.String(i6986[11])))), ≥)∧[(-1)Bound*bni_65] + [bni_65]i5824[11] + [(-1)bni_65]i5816[11] + [bni_65]i4[11] ≥ 0∧[(-1)bso_66] ≥ 0)



    We simplified constraint (75) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (77)    (i5816[11] + [1] ≥ 0∧i5824[11] + [-1] ≥ 0∧i4[11] + [-1] + [-1]i5816[11] ≥ 0∧i5816[11] + [-1] ≥ 0∧i4[11] + [-2] + [-1]i5816[11] ≥ 0∧i5816[11] ≥ 0∧i6986[11] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR5(&&(&&(&&(&&(&&(&&(!(=(i6986[11], 0)), >(+(i5816[11], 1), 0)), <(+(i5816[11], 1), i4[11])), >(i5816[11], 0)), <(i5816[11], i4[11])), >(i5824[11], 0)), >(+(+(i5816[11], 1), 1), 0)), java.lang.Object(ARRAY(i4[11], a115115data[11])), i5816[11], i5824[11], java.lang.Object(java.lang.String(i6986[11])))), ≥)∧[(-1)Bound*bni_65] + [bni_65]i5824[11] + [(-1)bni_65]i5816[11] + [bni_65]i4[11] ≥ 0∧[(-1)bso_66] ≥ 0)



    We simplified constraint (76) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (78)    (i5816[11] + [1] ≥ 0∧i5824[11] + [-1] ≥ 0∧i4[11] + [-1] + [-1]i5816[11] ≥ 0∧i5816[11] + [-1] ≥ 0∧i4[11] + [-2] + [-1]i5816[11] ≥ 0∧i5816[11] ≥ 0∧[-1] + [-1]i6986[11] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR5(&&(&&(&&(&&(&&(&&(!(=(i6986[11], 0)), >(+(i5816[11], 1), 0)), <(+(i5816[11], 1), i4[11])), >(i5816[11], 0)), <(i5816[11], i4[11])), >(i5824[11], 0)), >(+(+(i5816[11], 1), 1), 0)), java.lang.Object(ARRAY(i4[11], a115115data[11])), i5816[11], i5824[11], java.lang.Object(java.lang.String(i6986[11])))), ≥)∧[(-1)Bound*bni_65] + [bni_65]i5824[11] + [(-1)bni_65]i5816[11] + [bni_65]i4[11] ≥ 0∧[(-1)bso_66] ≥ 0)



    We simplified constraint (77) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (79)    (i5816[11] + [1] ≥ 0∧i5824[11] + [-1] ≥ 0∧i4[11] + [-1] + [-1]i5816[11] ≥ 0∧i5816[11] + [-1] ≥ 0∧i4[11] + [-2] + [-1]i5816[11] ≥ 0∧i5816[11] ≥ 0∧i6986[11] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR5(&&(&&(&&(&&(&&(&&(!(=(i6986[11], 0)), >(+(i5816[11], 1), 0)), <(+(i5816[11], 1), i4[11])), >(i5816[11], 0)), <(i5816[11], i4[11])), >(i5824[11], 0)), >(+(+(i5816[11], 1), 1), 0)), java.lang.Object(ARRAY(i4[11], a115115data[11])), i5816[11], i5824[11], java.lang.Object(java.lang.String(i6986[11])))), ≥)∧[(-1)Bound*bni_65] + [bni_65]i5824[11] + [(-1)bni_65]i5816[11] + [bni_65]i4[11] ≥ 0∧[(-1)bso_66] ≥ 0)



    We simplified constraint (78) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (80)    (i5816[11] + [1] ≥ 0∧i5824[11] + [-1] ≥ 0∧i4[11] + [-1] + [-1]i5816[11] ≥ 0∧i5816[11] + [-1] ≥ 0∧i4[11] + [-2] + [-1]i5816[11] ≥ 0∧i5816[11] ≥ 0∧[-1] + [-1]i6986[11] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR5(&&(&&(&&(&&(&&(&&(!(=(i6986[11], 0)), >(+(i5816[11], 1), 0)), <(+(i5816[11], 1), i4[11])), >(i5816[11], 0)), <(i5816[11], i4[11])), >(i5824[11], 0)), >(+(+(i5816[11], 1), 1), 0)), java.lang.Object(ARRAY(i4[11], a115115data[11])), i5816[11], i5824[11], java.lang.Object(java.lang.String(i6986[11])))), ≥)∧0 = 0∧[(-1)Bound*bni_65] + [bni_65]i5824[11] + [(-1)bni_65]i5816[11] + [bni_65]i4[11] ≥ 0∧0 = 0∧[(-1)bso_66] ≥ 0)



    We simplified constraint (79) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (81)    (i5816[11] + [1] ≥ 0∧i5824[11] + [-1] ≥ 0∧i4[11] + [-1] + [-1]i5816[11] ≥ 0∧i5816[11] + [-1] ≥ 0∧i4[11] + [-2] + [-1]i5816[11] ≥ 0∧i5816[11] ≥ 0∧i6986[11] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR5(&&(&&(&&(&&(&&(&&(!(=(i6986[11], 0)), >(+(i5816[11], 1), 0)), <(+(i5816[11], 1), i4[11])), >(i5816[11], 0)), <(i5816[11], i4[11])), >(i5824[11], 0)), >(+(+(i5816[11], 1), 1), 0)), java.lang.Object(ARRAY(i4[11], a115115data[11])), i5816[11], i5824[11], java.lang.Object(java.lang.String(i6986[11])))), ≥)∧0 = 0∧[(-1)Bound*bni_65] + [bni_65]i5824[11] + [(-1)bni_65]i5816[11] + [bni_65]i4[11] ≥ 0∧0 = 0∧[(-1)bso_66] ≥ 0)



    We simplified constraint (80) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (82)    ([2] + i5816[11] ≥ 0∧i5824[11] + [-1] ≥ 0∧i4[11] + [-2] + [-1]i5816[11] ≥ 0∧i5816[11] ≥ 0∧i4[11] + [-3] + [-1]i5816[11] ≥ 0∧[1] + i5816[11] ≥ 0∧[-1] + [-1]i6986[11] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR5(&&(&&(&&(&&(&&(&&(!(=(i6986[11], 0)), >(+(i5816[11], 1), 0)), <(+(i5816[11], 1), i4[11])), >(i5816[11], 0)), <(i5816[11], i4[11])), >(i5824[11], 0)), >(+(+(i5816[11], 1), 1), 0)), java.lang.Object(ARRAY(i4[11], a115115data[11])), i5816[11], i5824[11], java.lang.Object(java.lang.String(i6986[11])))), ≥)∧0 = 0∧[(-1)Bound*bni_65 + (-1)bni_65] + [bni_65]i5824[11] + [(-1)bni_65]i5816[11] + [bni_65]i4[11] ≥ 0∧0 = 0∧[(-1)bso_66] ≥ 0)



    We simplified constraint (82) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (83)    ([2] + i5816[11] ≥ 0∧i5824[11] ≥ 0∧i4[11] + [-2] + [-1]i5816[11] ≥ 0∧i5816[11] ≥ 0∧i4[11] + [-3] + [-1]i5816[11] ≥ 0∧[1] + i5816[11] ≥ 0∧[-1] + [-1]i6986[11] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR5(&&(&&(&&(&&(&&(&&(!(=(i6986[11], 0)), >(+(i5816[11], 1), 0)), <(+(i5816[11], 1), i4[11])), >(i5816[11], 0)), <(i5816[11], i4[11])), >(i5824[11], 0)), >(+(+(i5816[11], 1), 1), 0)), java.lang.Object(ARRAY(i4[11], a115115data[11])), i5816[11], i5824[11], java.lang.Object(java.lang.String(i6986[11])))), ≥)∧0 = 0∧[(-1)Bound*bni_65] + [bni_65]i5824[11] + [(-1)bni_65]i5816[11] + [bni_65]i4[11] ≥ 0∧0 = 0∧[(-1)bso_66] ≥ 0)



    We simplified constraint (83) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (84)    ([2] + i5816[11] ≥ 0∧i5824[11] ≥ 0∧i4[11] ≥ 0∧i5816[11] ≥ 0∧[-1] + i4[11] ≥ 0∧[1] + i5816[11] ≥ 0∧[-1] + [-1]i6986[11] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR5(&&(&&(&&(&&(&&(&&(!(=(i6986[11], 0)), >(+(i5816[11], 1), 0)), <(+(i5816[11], 1), i4[11])), >(i5816[11], 0)), <(i5816[11], i4[11])), >(i5824[11], 0)), >(+(+(i5816[11], 1), 1), 0)), java.lang.Object(ARRAY(i4[11], a115115data[11])), i5816[11], i5824[11], java.lang.Object(java.lang.String(i6986[11])))), ≥)∧0 = 0∧[(-1)Bound*bni_65 + (2)bni_65] + [bni_65]i5824[11] + [bni_65]i4[11] ≥ 0∧0 = 0∧[(-1)bso_66] ≥ 0)



    We simplified constraint (84) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (85)    ([2] + i5816[11] ≥ 0∧i5824[11] ≥ 0∧[1] + i4[11] ≥ 0∧i5816[11] ≥ 0∧i4[11] ≥ 0∧[1] + i5816[11] ≥ 0∧[-1] + [-1]i6986[11] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR5(&&(&&(&&(&&(&&(&&(!(=(i6986[11], 0)), >(+(i5816[11], 1), 0)), <(+(i5816[11], 1), i4[11])), >(i5816[11], 0)), <(i5816[11], i4[11])), >(i5824[11], 0)), >(+(+(i5816[11], 1), 1), 0)), java.lang.Object(ARRAY(i4[11], a115115data[11])), i5816[11], i5824[11], java.lang.Object(java.lang.String(i6986[11])))), ≥)∧0 = 0∧[(-1)Bound*bni_65 + (3)bni_65] + [bni_65]i5824[11] + [bni_65]i4[11] ≥ 0∧0 = 0∧[(-1)bso_66] ≥ 0)



    We simplified constraint (85) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (86)    ([2] + i5816[11] ≥ 0∧i5824[11] ≥ 0∧[1] + i4[11] ≥ 0∧i5816[11] ≥ 0∧i4[11] ≥ 0∧[1] + i5816[11] ≥ 0∧i6986[11] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR5(&&(&&(&&(&&(&&(&&(!(=(i6986[11], 0)), >(+(i5816[11], 1), 0)), <(+(i5816[11], 1), i4[11])), >(i5816[11], 0)), <(i5816[11], i4[11])), >(i5824[11], 0)), >(+(+(i5816[11], 1), 1), 0)), java.lang.Object(ARRAY(i4[11], a115115data[11])), i5816[11], i5824[11], java.lang.Object(java.lang.String(i6986[11])))), ≥)∧0 = 0∧[(-1)Bound*bni_65 + (3)bni_65] + [bni_65]i5824[11] + [bni_65]i4[11] ≥ 0∧0 = 0∧[(-1)bso_66] ≥ 0)



    We simplified constraint (81) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (87)    ([2] + i5816[11] ≥ 0∧i5824[11] + [-1] ≥ 0∧i4[11] + [-2] + [-1]i5816[11] ≥ 0∧i5816[11] ≥ 0∧i4[11] + [-3] + [-1]i5816[11] ≥ 0∧[1] + i5816[11] ≥ 0∧i6986[11] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR5(&&(&&(&&(&&(&&(&&(!(=(i6986[11], 0)), >(+(i5816[11], 1), 0)), <(+(i5816[11], 1), i4[11])), >(i5816[11], 0)), <(i5816[11], i4[11])), >(i5824[11], 0)), >(+(+(i5816[11], 1), 1), 0)), java.lang.Object(ARRAY(i4[11], a115115data[11])), i5816[11], i5824[11], java.lang.Object(java.lang.String(i6986[11])))), ≥)∧0 = 0∧[(-1)Bound*bni_65 + (-1)bni_65] + [bni_65]i5824[11] + [(-1)bni_65]i5816[11] + [bni_65]i4[11] ≥ 0∧0 = 0∧[(-1)bso_66] ≥ 0)



    We simplified constraint (87) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (88)    ([2] + i5816[11] ≥ 0∧i5824[11] ≥ 0∧i4[11] + [-2] + [-1]i5816[11] ≥ 0∧i5816[11] ≥ 0∧i4[11] + [-3] + [-1]i5816[11] ≥ 0∧[1] + i5816[11] ≥ 0∧i6986[11] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR5(&&(&&(&&(&&(&&(&&(!(=(i6986[11], 0)), >(+(i5816[11], 1), 0)), <(+(i5816[11], 1), i4[11])), >(i5816[11], 0)), <(i5816[11], i4[11])), >(i5824[11], 0)), >(+(+(i5816[11], 1), 1), 0)), java.lang.Object(ARRAY(i4[11], a115115data[11])), i5816[11], i5824[11], java.lang.Object(java.lang.String(i6986[11])))), ≥)∧0 = 0∧[(-1)Bound*bni_65] + [bni_65]i5824[11] + [(-1)bni_65]i5816[11] + [bni_65]i4[11] ≥ 0∧0 = 0∧[(-1)bso_66] ≥ 0)



    We simplified constraint (88) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (89)    ([2] + i5816[11] ≥ 0∧i5824[11] ≥ 0∧i4[11] ≥ 0∧i5816[11] ≥ 0∧[-1] + i4[11] ≥ 0∧[1] + i5816[11] ≥ 0∧i6986[11] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR5(&&(&&(&&(&&(&&(&&(!(=(i6986[11], 0)), >(+(i5816[11], 1), 0)), <(+(i5816[11], 1), i4[11])), >(i5816[11], 0)), <(i5816[11], i4[11])), >(i5824[11], 0)), >(+(+(i5816[11], 1), 1), 0)), java.lang.Object(ARRAY(i4[11], a115115data[11])), i5816[11], i5824[11], java.lang.Object(java.lang.String(i6986[11])))), ≥)∧0 = 0∧[(-1)Bound*bni_65 + (2)bni_65] + [bni_65]i5824[11] + [bni_65]i4[11] ≥ 0∧0 = 0∧[(-1)bso_66] ≥ 0)



    We simplified constraint (89) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (90)    ([2] + i5816[11] ≥ 0∧i5824[11] ≥ 0∧[1] + i4[11] ≥ 0∧i5816[11] ≥ 0∧i4[11] ≥ 0∧[1] + i5816[11] ≥ 0∧i6986[11] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR5(&&(&&(&&(&&(&&(&&(!(=(i6986[11], 0)), >(+(i5816[11], 1), 0)), <(+(i5816[11], 1), i4[11])), >(i5816[11], 0)), <(i5816[11], i4[11])), >(i5824[11], 0)), >(+(+(i5816[11], 1), 1), 0)), java.lang.Object(ARRAY(i4[11], a115115data[11])), i5816[11], i5824[11], java.lang.Object(java.lang.String(i6986[11])))), ≥)∧0 = 0∧[(-1)Bound*bni_65 + (3)bni_65] + [bni_65]i5824[11] + [bni_65]i4[11] ≥ 0∧0 = 0∧[(-1)bso_66] ≥ 0)



    We simplified constraint (90) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (91)    ([2] + i5816[11] ≥ 0∧i5824[11] ≥ 0∧[1] + i4[11] ≥ 0∧i5816[11] ≥ 0∧i4[11] ≥ 0∧[1] + i5816[11] ≥ 0∧i6986[11] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR5(&&(&&(&&(&&(&&(&&(!(=(i6986[11], 0)), >(+(i5816[11], 1), 0)), <(+(i5816[11], 1), i4[11])), >(i5816[11], 0)), <(i5816[11], i4[11])), >(i5824[11], 0)), >(+(+(i5816[11], 1), 1), 0)), java.lang.Object(ARRAY(i4[11], a115115data[11])), i5816[11], i5824[11], java.lang.Object(java.lang.String(i6986[11])))), ≥)∧0 = 0∧[(-1)Bound*bni_65 + (3)bni_65] + [bni_65]i5824[11] + [bni_65]i4[11] ≥ 0∧0 = 0∧[(-1)bso_66] ≥ 0)







For Pair COND_LOAD34990ARR5(TRUE, java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i6986))) → INC35127(java.lang.Object(ARRAY(i4, a115115data)), +(+(i5816, 1), 1), i5824) the following chains were created:
  • We consider the chain COND_LOAD34990ARR5(TRUE, java.lang.Object(ARRAY(i4[12], a115115data[12])), i5816[12], i5824[12], java.lang.Object(java.lang.String(i6986[12]))) → INC35127(java.lang.Object(ARRAY(i4[12], a115115data[12])), +(+(i5816[12], 1), 1), i5824[12]) which results in the following constraint:

    (92)    (COND_LOAD34990ARR5(TRUE, java.lang.Object(ARRAY(i4[12], a115115data[12])), i5816[12], i5824[12], java.lang.Object(java.lang.String(i6986[12])))≥NonInfC∧COND_LOAD34990ARR5(TRUE, java.lang.Object(ARRAY(i4[12], a115115data[12])), i5816[12], i5824[12], java.lang.Object(java.lang.String(i6986[12])))≥INC35127(java.lang.Object(ARRAY(i4[12], a115115data[12])), +(+(i5816[12], 1), 1), i5824[12])∧(UIncreasing(INC35127(java.lang.Object(ARRAY(i4[12], a115115data[12])), +(+(i5816[12], 1), 1), i5824[12])), ≥))



    We simplified constraint (92) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (93)    ((UIncreasing(INC35127(java.lang.Object(ARRAY(i4[12], a115115data[12])), +(+(i5816[12], 1), 1), i5824[12])), ≥)∧[2 + (-1)bso_68] ≥ 0)



    We simplified constraint (93) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (94)    ((UIncreasing(INC35127(java.lang.Object(ARRAY(i4[12], a115115data[12])), +(+(i5816[12], 1), 1), i5824[12])), ≥)∧[2 + (-1)bso_68] ≥ 0)



    We simplified constraint (94) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (95)    ((UIncreasing(INC35127(java.lang.Object(ARRAY(i4[12], a115115data[12])), +(+(i5816[12], 1), 1), i5824[12])), ≥)∧[2 + (-1)bso_68] ≥ 0)



    We simplified constraint (95) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (96)    ((UIncreasing(INC35127(java.lang.Object(ARRAY(i4[12], a115115data[12])), +(+(i5816[12], 1), 1), i5824[12])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[2 + (-1)bso_68] ≥ 0)







For Pair NEW40288(java.lang.Object(ARRAY(i4, a115115data)), i6905, i5824) → INC35127(java.lang.Object(ARRAY(i4, a115115data)), i6905, i5824) the following chains were created:
  • We consider the chain NEW40288(java.lang.Object(ARRAY(i4[13], a115115data[13])), i6905[13], i5824[13]) → INC35127(java.lang.Object(ARRAY(i4[13], a115115data[13])), i6905[13], i5824[13]), INC35127(java.lang.Object(ARRAY(i4[3], a115115data[3])), i5816[3], i5824[3]) → LOAD34990(java.lang.Object(ARRAY(i4[3], a115115data[3])), i5816[3], +(i5824[3], -1)) which results in the following constraint:

    (97)    (i4[13]=i4[3]a115115data[13]=a115115data[3]i6905[13]=i5816[3]i5824[13]=i5824[3]NEW40288(java.lang.Object(ARRAY(i4[13], a115115data[13])), i6905[13], i5824[13])≥NonInfC∧NEW40288(java.lang.Object(ARRAY(i4[13], a115115data[13])), i6905[13], i5824[13])≥INC35127(java.lang.Object(ARRAY(i4[13], a115115data[13])), i6905[13], i5824[13])∧(UIncreasing(INC35127(java.lang.Object(ARRAY(i4[13], a115115data[13])), i6905[13], i5824[13])), ≥))



    We simplified constraint (97) using rule (IV) which results in the following new constraint:

    (98)    (NEW40288(java.lang.Object(ARRAY(i4[13], a115115data[13])), i6905[13], i5824[13])≥NonInfC∧NEW40288(java.lang.Object(ARRAY(i4[13], a115115data[13])), i6905[13], i5824[13])≥INC35127(java.lang.Object(ARRAY(i4[13], a115115data[13])), i6905[13], i5824[13])∧(UIncreasing(INC35127(java.lang.Object(ARRAY(i4[13], a115115data[13])), i6905[13], i5824[13])), ≥))



    We simplified constraint (98) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (99)    ((UIncreasing(INC35127(java.lang.Object(ARRAY(i4[13], a115115data[13])), i6905[13], i5824[13])), ≥)∧[(-1)bso_70] ≥ 0)



    We simplified constraint (99) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (100)    ((UIncreasing(INC35127(java.lang.Object(ARRAY(i4[13], a115115data[13])), i6905[13], i5824[13])), ≥)∧[(-1)bso_70] ≥ 0)



    We simplified constraint (100) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (101)    ((UIncreasing(INC35127(java.lang.Object(ARRAY(i4[13], a115115data[13])), i6905[13], i5824[13])), ≥)∧[(-1)bso_70] ≥ 0)



    We simplified constraint (101) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (102)    ((UIncreasing(INC35127(java.lang.Object(ARRAY(i4[13], a115115data[13])), i6905[13], i5824[13])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_70] ≥ 0)







For Pair LOAD34990(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824) → LOAD34990ARR6(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i6164))) the following chains were created:
  • We consider the chain LOAD34990(java.lang.Object(ARRAY(i4[14], a115115data[14])), i5816[14], i5824[14]) → LOAD34990ARR6(java.lang.Object(ARRAY(i4[14], a115115data[14])), i5816[14], i5824[14], java.lang.Object(java.lang.String(i6164[14]))) which results in the following constraint:

    (103)    (LOAD34990(java.lang.Object(ARRAY(i4[14], a115115data[14])), i5816[14], i5824[14])≥NonInfC∧LOAD34990(java.lang.Object(ARRAY(i4[14], a115115data[14])), i5816[14], i5824[14])≥LOAD34990ARR6(java.lang.Object(ARRAY(i4[14], a115115data[14])), i5816[14], i5824[14], java.lang.Object(java.lang.String(i6164[14])))∧(UIncreasing(LOAD34990ARR6(java.lang.Object(ARRAY(i4[14], a115115data[14])), i5816[14], i5824[14], java.lang.Object(java.lang.String(i6164[14])))), ≥))



    We simplified constraint (103) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (104)    ((UIncreasing(LOAD34990ARR6(java.lang.Object(ARRAY(i4[14], a115115data[14])), i5816[14], i5824[14], java.lang.Object(java.lang.String(i6164[14])))), ≥)∧[(-1)bso_72] ≥ 0)



    We simplified constraint (104) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (105)    ((UIncreasing(LOAD34990ARR6(java.lang.Object(ARRAY(i4[14], a115115data[14])), i5816[14], i5824[14], java.lang.Object(java.lang.String(i6164[14])))), ≥)∧[(-1)bso_72] ≥ 0)



    We simplified constraint (105) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (106)    ((UIncreasing(LOAD34990ARR6(java.lang.Object(ARRAY(i4[14], a115115data[14])), i5816[14], i5824[14], java.lang.Object(java.lang.String(i6164[14])))), ≥)∧[(-1)bso_72] ≥ 0)



    We simplified constraint (106) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (107)    ((UIncreasing(LOAD34990ARR6(java.lang.Object(ARRAY(i4[14], a115115data[14])), i5816[14], i5824[14], java.lang.Object(java.lang.String(i6164[14])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_72] ≥ 0)







For Pair LOAD34990ARR6(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i6164))) → COND_LOAD34990ARR6(&&(&&(&&(&&(&&(&&(>(+(i5816, 1), 0), <(+(i5816, 1), i4)), !(=(i6164, 0))), >(i5816, 0)), <(i5816, i4)), >(i5824, 0)), >(+(+(i5816, 1), 1), 0)), java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i6164))) the following chains were created:
  • We consider the chain LOAD34990ARR6(java.lang.Object(ARRAY(i4[15], a115115data[15])), i5816[15], i5824[15], java.lang.Object(java.lang.String(i6164[15]))) → COND_LOAD34990ARR6(&&(&&(&&(&&(&&(&&(>(+(i5816[15], 1), 0), <(+(i5816[15], 1), i4[15])), !(=(i6164[15], 0))), >(i5816[15], 0)), <(i5816[15], i4[15])), >(i5824[15], 0)), >(+(+(i5816[15], 1), 1), 0)), java.lang.Object(ARRAY(i4[15], a115115data[15])), i5816[15], i5824[15], java.lang.Object(java.lang.String(i6164[15]))), COND_LOAD34990ARR6(TRUE, java.lang.Object(ARRAY(i4[16], a115115data[16])), i5816[16], i5824[16], java.lang.Object(java.lang.String(i6164[16]))) → INC35127(java.lang.Object(ARRAY(i4[16], a115115data[16])), +(+(i5816[16], 1), 1), i5824[16]) which results in the following constraint:

    (108)    (i5816[15]=i5816[16]i5824[15]=i5824[16]&&(&&(&&(&&(&&(&&(>(+(i5816[15], 1), 0), <(+(i5816[15], 1), i4[15])), !(=(i6164[15], 0))), >(i5816[15], 0)), <(i5816[15], i4[15])), >(i5824[15], 0)), >(+(+(i5816[15], 1), 1), 0))=TRUEi4[15]=i4[16]a115115data[15]=a115115data[16]i6164[15]=i6164[16]LOAD34990ARR6(java.lang.Object(ARRAY(i4[15], a115115data[15])), i5816[15], i5824[15], java.lang.Object(java.lang.String(i6164[15])))≥NonInfC∧LOAD34990ARR6(java.lang.Object(ARRAY(i4[15], a115115data[15])), i5816[15], i5824[15], java.lang.Object(java.lang.String(i6164[15])))≥COND_LOAD34990ARR6(&&(&&(&&(&&(&&(&&(>(+(i5816[15], 1), 0), <(+(i5816[15], 1), i4[15])), !(=(i6164[15], 0))), >(i5816[15], 0)), <(i5816[15], i4[15])), >(i5824[15], 0)), >(+(+(i5816[15], 1), 1), 0)), java.lang.Object(ARRAY(i4[15], a115115data[15])), i5816[15], i5824[15], java.lang.Object(java.lang.String(i6164[15])))∧(UIncreasing(COND_LOAD34990ARR6(&&(&&(&&(&&(&&(&&(>(+(i5816[15], 1), 0), <(+(i5816[15], 1), i4[15])), !(=(i6164[15], 0))), >(i5816[15], 0)), <(i5816[15], i4[15])), >(i5824[15], 0)), >(+(+(i5816[15], 1), 1), 0)), java.lang.Object(ARRAY(i4[15], a115115data[15])), i5816[15], i5824[15], java.lang.Object(java.lang.String(i6164[15])))), ≥))



    We simplified constraint (108) using rules (IV), (IDP_BOOLEAN) which results in the following new constraints:

    (109)    (>(+(+(i5816[15], 1), 1), 0)=TRUE>(i5824[15], 0)=TRUE<(i5816[15], i4[15])=TRUE>(i5816[15], 0)=TRUE>(+(i5816[15], 1), 0)=TRUE<(+(i5816[15], 1), i4[15])=TRUE<(i6164[15], 0)=TRUELOAD34990ARR6(java.lang.Object(ARRAY(i4[15], a115115data[15])), i5816[15], i5824[15], java.lang.Object(java.lang.String(i6164[15])))≥NonInfC∧LOAD34990ARR6(java.lang.Object(ARRAY(i4[15], a115115data[15])), i5816[15], i5824[15], java.lang.Object(java.lang.String(i6164[15])))≥COND_LOAD34990ARR6(&&(&&(&&(&&(&&(&&(>(+(i5816[15], 1), 0), <(+(i5816[15], 1), i4[15])), !(=(i6164[15], 0))), >(i5816[15], 0)), <(i5816[15], i4[15])), >(i5824[15], 0)), >(+(+(i5816[15], 1), 1), 0)), java.lang.Object(ARRAY(i4[15], a115115data[15])), i5816[15], i5824[15], java.lang.Object(java.lang.String(i6164[15])))∧(UIncreasing(COND_LOAD34990ARR6(&&(&&(&&(&&(&&(&&(>(+(i5816[15], 1), 0), <(+(i5816[15], 1), i4[15])), !(=(i6164[15], 0))), >(i5816[15], 0)), <(i5816[15], i4[15])), >(i5824[15], 0)), >(+(+(i5816[15], 1), 1), 0)), java.lang.Object(ARRAY(i4[15], a115115data[15])), i5816[15], i5824[15], java.lang.Object(java.lang.String(i6164[15])))), ≥))


    (110)    (>(+(+(i5816[15], 1), 1), 0)=TRUE>(i5824[15], 0)=TRUE<(i5816[15], i4[15])=TRUE>(i5816[15], 0)=TRUE>(+(i5816[15], 1), 0)=TRUE<(+(i5816[15], 1), i4[15])=TRUE>(i6164[15], 0)=TRUELOAD34990ARR6(java.lang.Object(ARRAY(i4[15], a115115data[15])), i5816[15], i5824[15], java.lang.Object(java.lang.String(i6164[15])))≥NonInfC∧LOAD34990ARR6(java.lang.Object(ARRAY(i4[15], a115115data[15])), i5816[15], i5824[15], java.lang.Object(java.lang.String(i6164[15])))≥COND_LOAD34990ARR6(&&(&&(&&(&&(&&(&&(>(+(i5816[15], 1), 0), <(+(i5816[15], 1), i4[15])), !(=(i6164[15], 0))), >(i5816[15], 0)), <(i5816[15], i4[15])), >(i5824[15], 0)), >(+(+(i5816[15], 1), 1), 0)), java.lang.Object(ARRAY(i4[15], a115115data[15])), i5816[15], i5824[15], java.lang.Object(java.lang.String(i6164[15])))∧(UIncreasing(COND_LOAD34990ARR6(&&(&&(&&(&&(&&(&&(>(+(i5816[15], 1), 0), <(+(i5816[15], 1), i4[15])), !(=(i6164[15], 0))), >(i5816[15], 0)), <(i5816[15], i4[15])), >(i5824[15], 0)), >(+(+(i5816[15], 1), 1), 0)), java.lang.Object(ARRAY(i4[15], a115115data[15])), i5816[15], i5824[15], java.lang.Object(java.lang.String(i6164[15])))), ≥))



    We simplified constraint (109) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (111)    (i5816[15] + [1] ≥ 0∧i5824[15] + [-1] ≥ 0∧i4[15] + [-1] + [-1]i5816[15] ≥ 0∧i5816[15] + [-1] ≥ 0∧i5816[15] ≥ 0∧i4[15] + [-2] + [-1]i5816[15] ≥ 0∧[-1] + [-1]i6164[15] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR6(&&(&&(&&(&&(&&(&&(>(+(i5816[15], 1), 0), <(+(i5816[15], 1), i4[15])), !(=(i6164[15], 0))), >(i5816[15], 0)), <(i5816[15], i4[15])), >(i5824[15], 0)), >(+(+(i5816[15], 1), 1), 0)), java.lang.Object(ARRAY(i4[15], a115115data[15])), i5816[15], i5824[15], java.lang.Object(java.lang.String(i6164[15])))), ≥)∧[(-1)Bound*bni_73] + [bni_73]i5824[15] + [(-1)bni_73]i5816[15] + [bni_73]i4[15] ≥ 0∧[(-1)bso_74] ≥ 0)



    We simplified constraint (110) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (112)    (i5816[15] + [1] ≥ 0∧i5824[15] + [-1] ≥ 0∧i4[15] + [-1] + [-1]i5816[15] ≥ 0∧i5816[15] + [-1] ≥ 0∧i5816[15] ≥ 0∧i4[15] + [-2] + [-1]i5816[15] ≥ 0∧i6164[15] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR6(&&(&&(&&(&&(&&(&&(>(+(i5816[15], 1), 0), <(+(i5816[15], 1), i4[15])), !(=(i6164[15], 0))), >(i5816[15], 0)), <(i5816[15], i4[15])), >(i5824[15], 0)), >(+(+(i5816[15], 1), 1), 0)), java.lang.Object(ARRAY(i4[15], a115115data[15])), i5816[15], i5824[15], java.lang.Object(java.lang.String(i6164[15])))), ≥)∧[(-1)Bound*bni_73] + [bni_73]i5824[15] + [(-1)bni_73]i5816[15] + [bni_73]i4[15] ≥ 0∧[(-1)bso_74] ≥ 0)



    We simplified constraint (111) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (113)    (i5816[15] + [1] ≥ 0∧i5824[15] + [-1] ≥ 0∧i4[15] + [-1] + [-1]i5816[15] ≥ 0∧i5816[15] + [-1] ≥ 0∧i5816[15] ≥ 0∧i4[15] + [-2] + [-1]i5816[15] ≥ 0∧[-1] + [-1]i6164[15] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR6(&&(&&(&&(&&(&&(&&(>(+(i5816[15], 1), 0), <(+(i5816[15], 1), i4[15])), !(=(i6164[15], 0))), >(i5816[15], 0)), <(i5816[15], i4[15])), >(i5824[15], 0)), >(+(+(i5816[15], 1), 1), 0)), java.lang.Object(ARRAY(i4[15], a115115data[15])), i5816[15], i5824[15], java.lang.Object(java.lang.String(i6164[15])))), ≥)∧[(-1)Bound*bni_73] + [bni_73]i5824[15] + [(-1)bni_73]i5816[15] + [bni_73]i4[15] ≥ 0∧[(-1)bso_74] ≥ 0)



    We simplified constraint (112) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (114)    (i5816[15] + [1] ≥ 0∧i5824[15] + [-1] ≥ 0∧i4[15] + [-1] + [-1]i5816[15] ≥ 0∧i5816[15] + [-1] ≥ 0∧i5816[15] ≥ 0∧i4[15] + [-2] + [-1]i5816[15] ≥ 0∧i6164[15] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR6(&&(&&(&&(&&(&&(&&(>(+(i5816[15], 1), 0), <(+(i5816[15], 1), i4[15])), !(=(i6164[15], 0))), >(i5816[15], 0)), <(i5816[15], i4[15])), >(i5824[15], 0)), >(+(+(i5816[15], 1), 1), 0)), java.lang.Object(ARRAY(i4[15], a115115data[15])), i5816[15], i5824[15], java.lang.Object(java.lang.String(i6164[15])))), ≥)∧[(-1)Bound*bni_73] + [bni_73]i5824[15] + [(-1)bni_73]i5816[15] + [bni_73]i4[15] ≥ 0∧[(-1)bso_74] ≥ 0)



    We simplified constraint (113) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (115)    (i5816[15] + [1] ≥ 0∧i5824[15] + [-1] ≥ 0∧i4[15] + [-1] + [-1]i5816[15] ≥ 0∧i5816[15] + [-1] ≥ 0∧i5816[15] ≥ 0∧i4[15] + [-2] + [-1]i5816[15] ≥ 0∧[-1] + [-1]i6164[15] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR6(&&(&&(&&(&&(&&(&&(>(+(i5816[15], 1), 0), <(+(i5816[15], 1), i4[15])), !(=(i6164[15], 0))), >(i5816[15], 0)), <(i5816[15], i4[15])), >(i5824[15], 0)), >(+(+(i5816[15], 1), 1), 0)), java.lang.Object(ARRAY(i4[15], a115115data[15])), i5816[15], i5824[15], java.lang.Object(java.lang.String(i6164[15])))), ≥)∧[(-1)Bound*bni_73] + [bni_73]i5824[15] + [(-1)bni_73]i5816[15] + [bni_73]i4[15] ≥ 0∧[(-1)bso_74] ≥ 0)



    We simplified constraint (114) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (116)    (i5816[15] + [1] ≥ 0∧i5824[15] + [-1] ≥ 0∧i4[15] + [-1] + [-1]i5816[15] ≥ 0∧i5816[15] + [-1] ≥ 0∧i5816[15] ≥ 0∧i4[15] + [-2] + [-1]i5816[15] ≥ 0∧i6164[15] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR6(&&(&&(&&(&&(&&(&&(>(+(i5816[15], 1), 0), <(+(i5816[15], 1), i4[15])), !(=(i6164[15], 0))), >(i5816[15], 0)), <(i5816[15], i4[15])), >(i5824[15], 0)), >(+(+(i5816[15], 1), 1), 0)), java.lang.Object(ARRAY(i4[15], a115115data[15])), i5816[15], i5824[15], java.lang.Object(java.lang.String(i6164[15])))), ≥)∧[(-1)Bound*bni_73] + [bni_73]i5824[15] + [(-1)bni_73]i5816[15] + [bni_73]i4[15] ≥ 0∧[(-1)bso_74] ≥ 0)



    We simplified constraint (115) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (117)    (i5816[15] + [1] ≥ 0∧i5824[15] + [-1] ≥ 0∧i4[15] + [-1] + [-1]i5816[15] ≥ 0∧i5816[15] + [-1] ≥ 0∧i5816[15] ≥ 0∧i4[15] + [-2] + [-1]i5816[15] ≥ 0∧[-1] + [-1]i6164[15] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR6(&&(&&(&&(&&(&&(&&(>(+(i5816[15], 1), 0), <(+(i5816[15], 1), i4[15])), !(=(i6164[15], 0))), >(i5816[15], 0)), <(i5816[15], i4[15])), >(i5824[15], 0)), >(+(+(i5816[15], 1), 1), 0)), java.lang.Object(ARRAY(i4[15], a115115data[15])), i5816[15], i5824[15], java.lang.Object(java.lang.String(i6164[15])))), ≥)∧0 = 0∧[(-1)Bound*bni_73] + [bni_73]i5824[15] + [(-1)bni_73]i5816[15] + [bni_73]i4[15] ≥ 0∧0 = 0∧[(-1)bso_74] ≥ 0)



    We simplified constraint (116) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (118)    (i5816[15] + [1] ≥ 0∧i5824[15] + [-1] ≥ 0∧i4[15] + [-1] + [-1]i5816[15] ≥ 0∧i5816[15] + [-1] ≥ 0∧i5816[15] ≥ 0∧i4[15] + [-2] + [-1]i5816[15] ≥ 0∧i6164[15] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR6(&&(&&(&&(&&(&&(&&(>(+(i5816[15], 1), 0), <(+(i5816[15], 1), i4[15])), !(=(i6164[15], 0))), >(i5816[15], 0)), <(i5816[15], i4[15])), >(i5824[15], 0)), >(+(+(i5816[15], 1), 1), 0)), java.lang.Object(ARRAY(i4[15], a115115data[15])), i5816[15], i5824[15], java.lang.Object(java.lang.String(i6164[15])))), ≥)∧0 = 0∧[(-1)Bound*bni_73] + [bni_73]i5824[15] + [(-1)bni_73]i5816[15] + [bni_73]i4[15] ≥ 0∧0 = 0∧[(-1)bso_74] ≥ 0)



    We simplified constraint (117) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (119)    ([2] + i5816[15] ≥ 0∧i5824[15] + [-1] ≥ 0∧i4[15] + [-2] + [-1]i5816[15] ≥ 0∧i5816[15] ≥ 0∧[1] + i5816[15] ≥ 0∧i4[15] + [-3] + [-1]i5816[15] ≥ 0∧[-1] + [-1]i6164[15] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR6(&&(&&(&&(&&(&&(&&(>(+(i5816[15], 1), 0), <(+(i5816[15], 1), i4[15])), !(=(i6164[15], 0))), >(i5816[15], 0)), <(i5816[15], i4[15])), >(i5824[15], 0)), >(+(+(i5816[15], 1), 1), 0)), java.lang.Object(ARRAY(i4[15], a115115data[15])), i5816[15], i5824[15], java.lang.Object(java.lang.String(i6164[15])))), ≥)∧0 = 0∧[(-1)Bound*bni_73 + (-1)bni_73] + [bni_73]i5824[15] + [(-1)bni_73]i5816[15] + [bni_73]i4[15] ≥ 0∧0 = 0∧[(-1)bso_74] ≥ 0)



    We simplified constraint (119) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (120)    ([2] + i5816[15] ≥ 0∧i5824[15] ≥ 0∧i4[15] + [-2] + [-1]i5816[15] ≥ 0∧i5816[15] ≥ 0∧[1] + i5816[15] ≥ 0∧i4[15] + [-3] + [-1]i5816[15] ≥ 0∧[-1] + [-1]i6164[15] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR6(&&(&&(&&(&&(&&(&&(>(+(i5816[15], 1), 0), <(+(i5816[15], 1), i4[15])), !(=(i6164[15], 0))), >(i5816[15], 0)), <(i5816[15], i4[15])), >(i5824[15], 0)), >(+(+(i5816[15], 1), 1), 0)), java.lang.Object(ARRAY(i4[15], a115115data[15])), i5816[15], i5824[15], java.lang.Object(java.lang.String(i6164[15])))), ≥)∧0 = 0∧[(-1)Bound*bni_73] + [bni_73]i5824[15] + [(-1)bni_73]i5816[15] + [bni_73]i4[15] ≥ 0∧0 = 0∧[(-1)bso_74] ≥ 0)



    We simplified constraint (120) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (121)    ([2] + i5816[15] ≥ 0∧i5824[15] ≥ 0∧i4[15] ≥ 0∧i5816[15] ≥ 0∧[1] + i5816[15] ≥ 0∧[-1] + i4[15] ≥ 0∧[-1] + [-1]i6164[15] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR6(&&(&&(&&(&&(&&(&&(>(+(i5816[15], 1), 0), <(+(i5816[15], 1), i4[15])), !(=(i6164[15], 0))), >(i5816[15], 0)), <(i5816[15], i4[15])), >(i5824[15], 0)), >(+(+(i5816[15], 1), 1), 0)), java.lang.Object(ARRAY(i4[15], a115115data[15])), i5816[15], i5824[15], java.lang.Object(java.lang.String(i6164[15])))), ≥)∧0 = 0∧[(-1)Bound*bni_73 + (2)bni_73] + [bni_73]i5824[15] + [bni_73]i4[15] ≥ 0∧0 = 0∧[(-1)bso_74] ≥ 0)



    We simplified constraint (121) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (122)    ([2] + i5816[15] ≥ 0∧i5824[15] ≥ 0∧[1] + i4[15] ≥ 0∧i5816[15] ≥ 0∧[1] + i5816[15] ≥ 0∧i4[15] ≥ 0∧[-1] + [-1]i6164[15] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR6(&&(&&(&&(&&(&&(&&(>(+(i5816[15], 1), 0), <(+(i5816[15], 1), i4[15])), !(=(i6164[15], 0))), >(i5816[15], 0)), <(i5816[15], i4[15])), >(i5824[15], 0)), >(+(+(i5816[15], 1), 1), 0)), java.lang.Object(ARRAY(i4[15], a115115data[15])), i5816[15], i5824[15], java.lang.Object(java.lang.String(i6164[15])))), ≥)∧0 = 0∧[(-1)Bound*bni_73 + (3)bni_73] + [bni_73]i5824[15] + [bni_73]i4[15] ≥ 0∧0 = 0∧[(-1)bso_74] ≥ 0)



    We simplified constraint (122) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (123)    ([2] + i5816[15] ≥ 0∧i5824[15] ≥ 0∧[1] + i4[15] ≥ 0∧i5816[15] ≥ 0∧[1] + i5816[15] ≥ 0∧i4[15] ≥ 0∧i6164[15] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR6(&&(&&(&&(&&(&&(&&(>(+(i5816[15], 1), 0), <(+(i5816[15], 1), i4[15])), !(=(i6164[15], 0))), >(i5816[15], 0)), <(i5816[15], i4[15])), >(i5824[15], 0)), >(+(+(i5816[15], 1), 1), 0)), java.lang.Object(ARRAY(i4[15], a115115data[15])), i5816[15], i5824[15], java.lang.Object(java.lang.String(i6164[15])))), ≥)∧0 = 0∧[(-1)Bound*bni_73 + (3)bni_73] + [bni_73]i5824[15] + [bni_73]i4[15] ≥ 0∧0 = 0∧[(-1)bso_74] ≥ 0)



    We simplified constraint (118) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (124)    ([2] + i5816[15] ≥ 0∧i5824[15] + [-1] ≥ 0∧i4[15] + [-2] + [-1]i5816[15] ≥ 0∧i5816[15] ≥ 0∧[1] + i5816[15] ≥ 0∧i4[15] + [-3] + [-1]i5816[15] ≥ 0∧i6164[15] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR6(&&(&&(&&(&&(&&(&&(>(+(i5816[15], 1), 0), <(+(i5816[15], 1), i4[15])), !(=(i6164[15], 0))), >(i5816[15], 0)), <(i5816[15], i4[15])), >(i5824[15], 0)), >(+(+(i5816[15], 1), 1), 0)), java.lang.Object(ARRAY(i4[15], a115115data[15])), i5816[15], i5824[15], java.lang.Object(java.lang.String(i6164[15])))), ≥)∧0 = 0∧[(-1)Bound*bni_73 + (-1)bni_73] + [bni_73]i5824[15] + [(-1)bni_73]i5816[15] + [bni_73]i4[15] ≥ 0∧0 = 0∧[(-1)bso_74] ≥ 0)



    We simplified constraint (124) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (125)    ([2] + i5816[15] ≥ 0∧i5824[15] ≥ 0∧i4[15] + [-2] + [-1]i5816[15] ≥ 0∧i5816[15] ≥ 0∧[1] + i5816[15] ≥ 0∧i4[15] + [-3] + [-1]i5816[15] ≥ 0∧i6164[15] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR6(&&(&&(&&(&&(&&(&&(>(+(i5816[15], 1), 0), <(+(i5816[15], 1), i4[15])), !(=(i6164[15], 0))), >(i5816[15], 0)), <(i5816[15], i4[15])), >(i5824[15], 0)), >(+(+(i5816[15], 1), 1), 0)), java.lang.Object(ARRAY(i4[15], a115115data[15])), i5816[15], i5824[15], java.lang.Object(java.lang.String(i6164[15])))), ≥)∧0 = 0∧[(-1)Bound*bni_73] + [bni_73]i5824[15] + [(-1)bni_73]i5816[15] + [bni_73]i4[15] ≥ 0∧0 = 0∧[(-1)bso_74] ≥ 0)



    We simplified constraint (125) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (126)    ([2] + i5816[15] ≥ 0∧i5824[15] ≥ 0∧i4[15] ≥ 0∧i5816[15] ≥ 0∧[1] + i5816[15] ≥ 0∧[-1] + i4[15] ≥ 0∧i6164[15] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR6(&&(&&(&&(&&(&&(&&(>(+(i5816[15], 1), 0), <(+(i5816[15], 1), i4[15])), !(=(i6164[15], 0))), >(i5816[15], 0)), <(i5816[15], i4[15])), >(i5824[15], 0)), >(+(+(i5816[15], 1), 1), 0)), java.lang.Object(ARRAY(i4[15], a115115data[15])), i5816[15], i5824[15], java.lang.Object(java.lang.String(i6164[15])))), ≥)∧0 = 0∧[(-1)Bound*bni_73 + (2)bni_73] + [bni_73]i5824[15] + [bni_73]i4[15] ≥ 0∧0 = 0∧[(-1)bso_74] ≥ 0)



    We simplified constraint (126) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (127)    ([2] + i5816[15] ≥ 0∧i5824[15] ≥ 0∧[1] + i4[15] ≥ 0∧i5816[15] ≥ 0∧[1] + i5816[15] ≥ 0∧i4[15] ≥ 0∧i6164[15] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR6(&&(&&(&&(&&(&&(&&(>(+(i5816[15], 1), 0), <(+(i5816[15], 1), i4[15])), !(=(i6164[15], 0))), >(i5816[15], 0)), <(i5816[15], i4[15])), >(i5824[15], 0)), >(+(+(i5816[15], 1), 1), 0)), java.lang.Object(ARRAY(i4[15], a115115data[15])), i5816[15], i5824[15], java.lang.Object(java.lang.String(i6164[15])))), ≥)∧0 = 0∧[(-1)Bound*bni_73 + (3)bni_73] + [bni_73]i5824[15] + [bni_73]i4[15] ≥ 0∧0 = 0∧[(-1)bso_74] ≥ 0)



    We simplified constraint (127) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (128)    ([2] + i5816[15] ≥ 0∧i5824[15] ≥ 0∧[1] + i4[15] ≥ 0∧i5816[15] ≥ 0∧[1] + i5816[15] ≥ 0∧i4[15] ≥ 0∧i6164[15] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR6(&&(&&(&&(&&(&&(&&(>(+(i5816[15], 1), 0), <(+(i5816[15], 1), i4[15])), !(=(i6164[15], 0))), >(i5816[15], 0)), <(i5816[15], i4[15])), >(i5824[15], 0)), >(+(+(i5816[15], 1), 1), 0)), java.lang.Object(ARRAY(i4[15], a115115data[15])), i5816[15], i5824[15], java.lang.Object(java.lang.String(i6164[15])))), ≥)∧0 = 0∧[(-1)Bound*bni_73 + (3)bni_73] + [bni_73]i5824[15] + [bni_73]i4[15] ≥ 0∧0 = 0∧[(-1)bso_74] ≥ 0)







For Pair COND_LOAD34990ARR6(TRUE, java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i6164))) → INC35127(java.lang.Object(ARRAY(i4, a115115data)), +(+(i5816, 1), 1), i5824) the following chains were created:
  • We consider the chain COND_LOAD34990ARR6(TRUE, java.lang.Object(ARRAY(i4[16], a115115data[16])), i5816[16], i5824[16], java.lang.Object(java.lang.String(i6164[16]))) → INC35127(java.lang.Object(ARRAY(i4[16], a115115data[16])), +(+(i5816[16], 1), 1), i5824[16]) which results in the following constraint:

    (129)    (COND_LOAD34990ARR6(TRUE, java.lang.Object(ARRAY(i4[16], a115115data[16])), i5816[16], i5824[16], java.lang.Object(java.lang.String(i6164[16])))≥NonInfC∧COND_LOAD34990ARR6(TRUE, java.lang.Object(ARRAY(i4[16], a115115data[16])), i5816[16], i5824[16], java.lang.Object(java.lang.String(i6164[16])))≥INC35127(java.lang.Object(ARRAY(i4[16], a115115data[16])), +(+(i5816[16], 1), 1), i5824[16])∧(UIncreasing(INC35127(java.lang.Object(ARRAY(i4[16], a115115data[16])), +(+(i5816[16], 1), 1), i5824[16])), ≥))



    We simplified constraint (129) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (130)    ((UIncreasing(INC35127(java.lang.Object(ARRAY(i4[16], a115115data[16])), +(+(i5816[16], 1), 1), i5824[16])), ≥)∧[2 + (-1)bso_76] ≥ 0)



    We simplified constraint (130) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (131)    ((UIncreasing(INC35127(java.lang.Object(ARRAY(i4[16], a115115data[16])), +(+(i5816[16], 1), 1), i5824[16])), ≥)∧[2 + (-1)bso_76] ≥ 0)



    We simplified constraint (131) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (132)    ((UIncreasing(INC35127(java.lang.Object(ARRAY(i4[16], a115115data[16])), +(+(i5816[16], 1), 1), i5824[16])), ≥)∧[2 + (-1)bso_76] ≥ 0)



    We simplified constraint (132) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (133)    ((UIncreasing(INC35127(java.lang.Object(ARRAY(i4[16], a115115data[16])), +(+(i5816[16], 1), 1), i5824[16])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[2 + (-1)bso_76] ≥ 0)







For Pair LOAD34990(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824) → LOAD34990ARR7(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i7504)), java.lang.Object(java.lang.String(i6164))) the following chains were created:
  • We consider the chain LOAD34990(java.lang.Object(ARRAY(i4[17], a115115data[17])), i5816[17], i5824[17]) → LOAD34990ARR7(java.lang.Object(ARRAY(i4[17], a115115data[17])), i5816[17], i5824[17], java.lang.Object(java.lang.String(i7504[17])), java.lang.Object(java.lang.String(i6164[17]))) which results in the following constraint:

    (134)    (LOAD34990(java.lang.Object(ARRAY(i4[17], a115115data[17])), i5816[17], i5824[17])≥NonInfC∧LOAD34990(java.lang.Object(ARRAY(i4[17], a115115data[17])), i5816[17], i5824[17])≥LOAD34990ARR7(java.lang.Object(ARRAY(i4[17], a115115data[17])), i5816[17], i5824[17], java.lang.Object(java.lang.String(i7504[17])), java.lang.Object(java.lang.String(i6164[17])))∧(UIncreasing(LOAD34990ARR7(java.lang.Object(ARRAY(i4[17], a115115data[17])), i5816[17], i5824[17], java.lang.Object(java.lang.String(i7504[17])), java.lang.Object(java.lang.String(i6164[17])))), ≥))



    We simplified constraint (134) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (135)    ((UIncreasing(LOAD34990ARR7(java.lang.Object(ARRAY(i4[17], a115115data[17])), i5816[17], i5824[17], java.lang.Object(java.lang.String(i7504[17])), java.lang.Object(java.lang.String(i6164[17])))), ≥)∧[(-1)bso_78] ≥ 0)



    We simplified constraint (135) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (136)    ((UIncreasing(LOAD34990ARR7(java.lang.Object(ARRAY(i4[17], a115115data[17])), i5816[17], i5824[17], java.lang.Object(java.lang.String(i7504[17])), java.lang.Object(java.lang.String(i6164[17])))), ≥)∧[(-1)bso_78] ≥ 0)



    We simplified constraint (136) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (137)    ((UIncreasing(LOAD34990ARR7(java.lang.Object(ARRAY(i4[17], a115115data[17])), i5816[17], i5824[17], java.lang.Object(java.lang.String(i7504[17])), java.lang.Object(java.lang.String(i6164[17])))), ≥)∧[(-1)bso_78] ≥ 0)



    We simplified constraint (137) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (138)    ((UIncreasing(LOAD34990ARR7(java.lang.Object(ARRAY(i4[17], a115115data[17])), i5816[17], i5824[17], java.lang.Object(java.lang.String(i7504[17])), java.lang.Object(java.lang.String(i6164[17])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_78] ≥ 0)







For Pair LOAD34990ARR7(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i7504)), java.lang.Object(java.lang.String(i6164))) → COND_LOAD34990ARR7(&&(&&(&&(&&(&&(&&(&&(!(=(i7504, 0)), >(+(i5816, 1), 0)), <(+(i5816, 1), i4)), !(=(i6164, 0))), >(i5816, 0)), <(i5816, i4)), >(i5824, 0)), >(+(+(i5816, 1), 1), 0)), java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i7504)), java.lang.Object(java.lang.String(i6164))) the following chains were created:
  • We consider the chain LOAD34990ARR7(java.lang.Object(ARRAY(i4[18], a115115data[18])), i5816[18], i5824[18], java.lang.Object(java.lang.String(i7504[18])), java.lang.Object(java.lang.String(i6164[18]))) → COND_LOAD34990ARR7(&&(&&(&&(&&(&&(&&(&&(!(=(i7504[18], 0)), >(+(i5816[18], 1), 0)), <(+(i5816[18], 1), i4[18])), !(=(i6164[18], 0))), >(i5816[18], 0)), <(i5816[18], i4[18])), >(i5824[18], 0)), >(+(+(i5816[18], 1), 1), 0)), java.lang.Object(ARRAY(i4[18], a115115data[18])), i5816[18], i5824[18], java.lang.Object(java.lang.String(i7504[18])), java.lang.Object(java.lang.String(i6164[18]))), COND_LOAD34990ARR7(TRUE, java.lang.Object(ARRAY(i4[19], a115115data[19])), i5816[19], i5824[19], java.lang.Object(java.lang.String(i7504[19])), java.lang.Object(java.lang.String(i6164[19]))) → INC35127(java.lang.Object(ARRAY(i4[19], a115115data[19])), +(+(i5816[19], 1), 1), i5824[19]) which results in the following constraint:

    (139)    (i6164[18]=i6164[19]i7504[18]=i7504[19]&&(&&(&&(&&(&&(&&(&&(!(=(i7504[18], 0)), >(+(i5816[18], 1), 0)), <(+(i5816[18], 1), i4[18])), !(=(i6164[18], 0))), >(i5816[18], 0)), <(i5816[18], i4[18])), >(i5824[18], 0)), >(+(+(i5816[18], 1), 1), 0))=TRUEi4[18]=i4[19]a115115data[18]=a115115data[19]i5816[18]=i5816[19]i5824[18]=i5824[19]LOAD34990ARR7(java.lang.Object(ARRAY(i4[18], a115115data[18])), i5816[18], i5824[18], java.lang.Object(java.lang.String(i7504[18])), java.lang.Object(java.lang.String(i6164[18])))≥NonInfC∧LOAD34990ARR7(java.lang.Object(ARRAY(i4[18], a115115data[18])), i5816[18], i5824[18], java.lang.Object(java.lang.String(i7504[18])), java.lang.Object(java.lang.String(i6164[18])))≥COND_LOAD34990ARR7(&&(&&(&&(&&(&&(&&(&&(!(=(i7504[18], 0)), >(+(i5816[18], 1), 0)), <(+(i5816[18], 1), i4[18])), !(=(i6164[18], 0))), >(i5816[18], 0)), <(i5816[18], i4[18])), >(i5824[18], 0)), >(+(+(i5816[18], 1), 1), 0)), java.lang.Object(ARRAY(i4[18], a115115data[18])), i5816[18], i5824[18], java.lang.Object(java.lang.String(i7504[18])), java.lang.Object(java.lang.String(i6164[18])))∧(UIncreasing(COND_LOAD34990ARR7(&&(&&(&&(&&(&&(&&(&&(!(=(i7504[18], 0)), >(+(i5816[18], 1), 0)), <(+(i5816[18], 1), i4[18])), !(=(i6164[18], 0))), >(i5816[18], 0)), <(i5816[18], i4[18])), >(i5824[18], 0)), >(+(+(i5816[18], 1), 1), 0)), java.lang.Object(ARRAY(i4[18], a115115data[18])), i5816[18], i5824[18], java.lang.Object(java.lang.String(i7504[18])), java.lang.Object(java.lang.String(i6164[18])))), ≥))



    We simplified constraint (139) using rules (IV), (IDP_BOOLEAN) which results in the following new constraints:

    (140)    (>(+(+(i5816[18], 1), 1), 0)=TRUE>(i5824[18], 0)=TRUE<(i5816[18], i4[18])=TRUE>(i5816[18], 0)=TRUE<(+(i5816[18], 1), i4[18])=TRUE>(+(i5816[18], 1), 0)=TRUE<(i6164[18], 0)=TRUE<(i7504[18], 0)=TRUELOAD34990ARR7(java.lang.Object(ARRAY(i4[18], a115115data[18])), i5816[18], i5824[18], java.lang.Object(java.lang.String(i7504[18])), java.lang.Object(java.lang.String(i6164[18])))≥NonInfC∧LOAD34990ARR7(java.lang.Object(ARRAY(i4[18], a115115data[18])), i5816[18], i5824[18], java.lang.Object(java.lang.String(i7504[18])), java.lang.Object(java.lang.String(i6164[18])))≥COND_LOAD34990ARR7(&&(&&(&&(&&(&&(&&(&&(!(=(i7504[18], 0)), >(+(i5816[18], 1), 0)), <(+(i5816[18], 1), i4[18])), !(=(i6164[18], 0))), >(i5816[18], 0)), <(i5816[18], i4[18])), >(i5824[18], 0)), >(+(+(i5816[18], 1), 1), 0)), java.lang.Object(ARRAY(i4[18], a115115data[18])), i5816[18], i5824[18], java.lang.Object(java.lang.String(i7504[18])), java.lang.Object(java.lang.String(i6164[18])))∧(UIncreasing(COND_LOAD34990ARR7(&&(&&(&&(&&(&&(&&(&&(!(=(i7504[18], 0)), >(+(i5816[18], 1), 0)), <(+(i5816[18], 1), i4[18])), !(=(i6164[18], 0))), >(i5816[18], 0)), <(i5816[18], i4[18])), >(i5824[18], 0)), >(+(+(i5816[18], 1), 1), 0)), java.lang.Object(ARRAY(i4[18], a115115data[18])), i5816[18], i5824[18], java.lang.Object(java.lang.String(i7504[18])), java.lang.Object(java.lang.String(i6164[18])))), ≥))


    (141)    (>(+(+(i5816[18], 1), 1), 0)=TRUE>(i5824[18], 0)=TRUE<(i5816[18], i4[18])=TRUE>(i5816[18], 0)=TRUE<(+(i5816[18], 1), i4[18])=TRUE>(+(i5816[18], 1), 0)=TRUE<(i6164[18], 0)=TRUE>(i7504[18], 0)=TRUELOAD34990ARR7(java.lang.Object(ARRAY(i4[18], a115115data[18])), i5816[18], i5824[18], java.lang.Object(java.lang.String(i7504[18])), java.lang.Object(java.lang.String(i6164[18])))≥NonInfC∧LOAD34990ARR7(java.lang.Object(ARRAY(i4[18], a115115data[18])), i5816[18], i5824[18], java.lang.Object(java.lang.String(i7504[18])), java.lang.Object(java.lang.String(i6164[18])))≥COND_LOAD34990ARR7(&&(&&(&&(&&(&&(&&(&&(!(=(i7504[18], 0)), >(+(i5816[18], 1), 0)), <(+(i5816[18], 1), i4[18])), !(=(i6164[18], 0))), >(i5816[18], 0)), <(i5816[18], i4[18])), >(i5824[18], 0)), >(+(+(i5816[18], 1), 1), 0)), java.lang.Object(ARRAY(i4[18], a115115data[18])), i5816[18], i5824[18], java.lang.Object(java.lang.String(i7504[18])), java.lang.Object(java.lang.String(i6164[18])))∧(UIncreasing(COND_LOAD34990ARR7(&&(&&(&&(&&(&&(&&(&&(!(=(i7504[18], 0)), >(+(i5816[18], 1), 0)), <(+(i5816[18], 1), i4[18])), !(=(i6164[18], 0))), >(i5816[18], 0)), <(i5816[18], i4[18])), >(i5824[18], 0)), >(+(+(i5816[18], 1), 1), 0)), java.lang.Object(ARRAY(i4[18], a115115data[18])), i5816[18], i5824[18], java.lang.Object(java.lang.String(i7504[18])), java.lang.Object(java.lang.String(i6164[18])))), ≥))



    We simplified constraint (140) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (142)    (i5816[18] + [1] ≥ 0∧i5824[18] + [-1] ≥ 0∧i4[18] + [-1] + [-1]i5816[18] ≥ 0∧i5816[18] + [-1] ≥ 0∧i4[18] + [-2] + [-1]i5816[18] ≥ 0∧i5816[18] ≥ 0∧[-1] + [-1]i6164[18] ≥ 0∧[-1] + [-1]i7504[18] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR7(&&(&&(&&(&&(&&(&&(&&(!(=(i7504[18], 0)), >(+(i5816[18], 1), 0)), <(+(i5816[18], 1), i4[18])), !(=(i6164[18], 0))), >(i5816[18], 0)), <(i5816[18], i4[18])), >(i5824[18], 0)), >(+(+(i5816[18], 1), 1), 0)), java.lang.Object(ARRAY(i4[18], a115115data[18])), i5816[18], i5824[18], java.lang.Object(java.lang.String(i7504[18])), java.lang.Object(java.lang.String(i6164[18])))), ≥)∧[(-1)Bound*bni_79] + [bni_79]i5824[18] + [(-1)bni_79]i5816[18] + [bni_79]i4[18] ≥ 0∧[(-1)bso_80] ≥ 0)



    We simplified constraint (141) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (143)    (i5816[18] + [1] ≥ 0∧i5824[18] + [-1] ≥ 0∧i4[18] + [-1] + [-1]i5816[18] ≥ 0∧i5816[18] + [-1] ≥ 0∧i4[18] + [-2] + [-1]i5816[18] ≥ 0∧i5816[18] ≥ 0∧[-1] + [-1]i6164[18] ≥ 0∧i7504[18] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR7(&&(&&(&&(&&(&&(&&(&&(!(=(i7504[18], 0)), >(+(i5816[18], 1), 0)), <(+(i5816[18], 1), i4[18])), !(=(i6164[18], 0))), >(i5816[18], 0)), <(i5816[18], i4[18])), >(i5824[18], 0)), >(+(+(i5816[18], 1), 1), 0)), java.lang.Object(ARRAY(i4[18], a115115data[18])), i5816[18], i5824[18], java.lang.Object(java.lang.String(i7504[18])), java.lang.Object(java.lang.String(i6164[18])))), ≥)∧[(-1)Bound*bni_79] + [bni_79]i5824[18] + [(-1)bni_79]i5816[18] + [bni_79]i4[18] ≥ 0∧[(-1)bso_80] ≥ 0)



    We simplified constraint (142) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (144)    (i5816[18] + [1] ≥ 0∧i5824[18] + [-1] ≥ 0∧i4[18] + [-1] + [-1]i5816[18] ≥ 0∧i5816[18] + [-1] ≥ 0∧i4[18] + [-2] + [-1]i5816[18] ≥ 0∧i5816[18] ≥ 0∧[-1] + [-1]i6164[18] ≥ 0∧[-1] + [-1]i7504[18] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR7(&&(&&(&&(&&(&&(&&(&&(!(=(i7504[18], 0)), >(+(i5816[18], 1), 0)), <(+(i5816[18], 1), i4[18])), !(=(i6164[18], 0))), >(i5816[18], 0)), <(i5816[18], i4[18])), >(i5824[18], 0)), >(+(+(i5816[18], 1), 1), 0)), java.lang.Object(ARRAY(i4[18], a115115data[18])), i5816[18], i5824[18], java.lang.Object(java.lang.String(i7504[18])), java.lang.Object(java.lang.String(i6164[18])))), ≥)∧[(-1)Bound*bni_79] + [bni_79]i5824[18] + [(-1)bni_79]i5816[18] + [bni_79]i4[18] ≥ 0∧[(-1)bso_80] ≥ 0)



    We simplified constraint (143) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (145)    (i5816[18] + [1] ≥ 0∧i5824[18] + [-1] ≥ 0∧i4[18] + [-1] + [-1]i5816[18] ≥ 0∧i5816[18] + [-1] ≥ 0∧i4[18] + [-2] + [-1]i5816[18] ≥ 0∧i5816[18] ≥ 0∧[-1] + [-1]i6164[18] ≥ 0∧i7504[18] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR7(&&(&&(&&(&&(&&(&&(&&(!(=(i7504[18], 0)), >(+(i5816[18], 1), 0)), <(+(i5816[18], 1), i4[18])), !(=(i6164[18], 0))), >(i5816[18], 0)), <(i5816[18], i4[18])), >(i5824[18], 0)), >(+(+(i5816[18], 1), 1), 0)), java.lang.Object(ARRAY(i4[18], a115115data[18])), i5816[18], i5824[18], java.lang.Object(java.lang.String(i7504[18])), java.lang.Object(java.lang.String(i6164[18])))), ≥)∧[(-1)Bound*bni_79] + [bni_79]i5824[18] + [(-1)bni_79]i5816[18] + [bni_79]i4[18] ≥ 0∧[(-1)bso_80] ≥ 0)



    We simplified constraint (146) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (147)    (i5816[18] + [1] ≥ 0∧i5824[18] + [-1] ≥ 0∧i4[18] + [-1] + [-1]i5816[18] ≥ 0∧i5816[18] + [-1] ≥ 0∧i4[18] + [-2] + [-1]i5816[18] ≥ 0∧i5816[18] ≥ 0∧i6164[18] + [-1] ≥ 0∧[-1] + [-1]i7504[18] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR7(&&(&&(&&(&&(&&(&&(&&(!(=(i7504[18], 0)), >(+(i5816[18], 1), 0)), <(+(i5816[18], 1), i4[18])), !(=(i6164[18], 0))), >(i5816[18], 0)), <(i5816[18], i4[18])), >(i5824[18], 0)), >(+(+(i5816[18], 1), 1), 0)), java.lang.Object(ARRAY(i4[18], a115115data[18])), i5816[18], i5824[18], java.lang.Object(java.lang.String(i7504[18])), java.lang.Object(java.lang.String(i6164[18])))), ≥)∧[(-1)Bound*bni_79] + [bni_79]i5824[18] + [(-1)bni_79]i5816[18] + [bni_79]i4[18] ≥ 0∧[(-1)bso_80] ≥ 0)



    We simplified constraint (148) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (149)    (i5816[18] + [1] ≥ 0∧i5824[18] + [-1] ≥ 0∧i4[18] + [-1] + [-1]i5816[18] ≥ 0∧i5816[18] + [-1] ≥ 0∧i4[18] + [-2] + [-1]i5816[18] ≥ 0∧i5816[18] ≥ 0∧i6164[18] + [-1] ≥ 0∧i7504[18] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR7(&&(&&(&&(&&(&&(&&(&&(!(=(i7504[18], 0)), >(+(i5816[18], 1), 0)), <(+(i5816[18], 1), i4[18])), !(=(i6164[18], 0))), >(i5816[18], 0)), <(i5816[18], i4[18])), >(i5824[18], 0)), >(+(+(i5816[18], 1), 1), 0)), java.lang.Object(ARRAY(i4[18], a115115data[18])), i5816[18], i5824[18], java.lang.Object(java.lang.String(i7504[18])), java.lang.Object(java.lang.String(i6164[18])))), ≥)∧[(-1)Bound*bni_79] + [bni_79]i5824[18] + [(-1)bni_79]i5816[18] + [bni_79]i4[18] ≥ 0∧[(-1)bso_80] ≥ 0)



    We simplified constraint (144) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (150)    (i5816[18] + [1] ≥ 0∧i5824[18] + [-1] ≥ 0∧i4[18] + [-1] + [-1]i5816[18] ≥ 0∧i5816[18] + [-1] ≥ 0∧i4[18] + [-2] + [-1]i5816[18] ≥ 0∧i5816[18] ≥ 0∧[-1] + [-1]i6164[18] ≥ 0∧[-1] + [-1]i7504[18] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR7(&&(&&(&&(&&(&&(&&(&&(!(=(i7504[18], 0)), >(+(i5816[18], 1), 0)), <(+(i5816[18], 1), i4[18])), !(=(i6164[18], 0))), >(i5816[18], 0)), <(i5816[18], i4[18])), >(i5824[18], 0)), >(+(+(i5816[18], 1), 1), 0)), java.lang.Object(ARRAY(i4[18], a115115data[18])), i5816[18], i5824[18], java.lang.Object(java.lang.String(i7504[18])), java.lang.Object(java.lang.String(i6164[18])))), ≥)∧[(-1)Bound*bni_79] + [bni_79]i5824[18] + [(-1)bni_79]i5816[18] + [bni_79]i4[18] ≥ 0∧[(-1)bso_80] ≥ 0)



    We simplified constraint (145) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (151)    (i5816[18] + [1] ≥ 0∧i5824[18] + [-1] ≥ 0∧i4[18] + [-1] + [-1]i5816[18] ≥ 0∧i5816[18] + [-1] ≥ 0∧i4[18] + [-2] + [-1]i5816[18] ≥ 0∧i5816[18] ≥ 0∧[-1] + [-1]i6164[18] ≥ 0∧i7504[18] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR7(&&(&&(&&(&&(&&(&&(&&(!(=(i7504[18], 0)), >(+(i5816[18], 1), 0)), <(+(i5816[18], 1), i4[18])), !(=(i6164[18], 0))), >(i5816[18], 0)), <(i5816[18], i4[18])), >(i5824[18], 0)), >(+(+(i5816[18], 1), 1), 0)), java.lang.Object(ARRAY(i4[18], a115115data[18])), i5816[18], i5824[18], java.lang.Object(java.lang.String(i7504[18])), java.lang.Object(java.lang.String(i6164[18])))), ≥)∧[(-1)Bound*bni_79] + [bni_79]i5824[18] + [(-1)bni_79]i5816[18] + [bni_79]i4[18] ≥ 0∧[(-1)bso_80] ≥ 0)



    We simplified constraint (147) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (152)    (i5816[18] + [1] ≥ 0∧i5824[18] + [-1] ≥ 0∧i4[18] + [-1] + [-1]i5816[18] ≥ 0∧i5816[18] + [-1] ≥ 0∧i4[18] + [-2] + [-1]i5816[18] ≥ 0∧i5816[18] ≥ 0∧i6164[18] + [-1] ≥ 0∧[-1] + [-1]i7504[18] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR7(&&(&&(&&(&&(&&(&&(&&(!(=(i7504[18], 0)), >(+(i5816[18], 1), 0)), <(+(i5816[18], 1), i4[18])), !(=(i6164[18], 0))), >(i5816[18], 0)), <(i5816[18], i4[18])), >(i5824[18], 0)), >(+(+(i5816[18], 1), 1), 0)), java.lang.Object(ARRAY(i4[18], a115115data[18])), i5816[18], i5824[18], java.lang.Object(java.lang.String(i7504[18])), java.lang.Object(java.lang.String(i6164[18])))), ≥)∧[(-1)Bound*bni_79] + [bni_79]i5824[18] + [(-1)bni_79]i5816[18] + [bni_79]i4[18] ≥ 0∧[(-1)bso_80] ≥ 0)



    We simplified constraint (149) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (153)    (i5816[18] + [1] ≥ 0∧i5824[18] + [-1] ≥ 0∧i4[18] + [-1] + [-1]i5816[18] ≥ 0∧i5816[18] + [-1] ≥ 0∧i4[18] + [-2] + [-1]i5816[18] ≥ 0∧i5816[18] ≥ 0∧i6164[18] + [-1] ≥ 0∧i7504[18] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR7(&&(&&(&&(&&(&&(&&(&&(!(=(i7504[18], 0)), >(+(i5816[18], 1), 0)), <(+(i5816[18], 1), i4[18])), !(=(i6164[18], 0))), >(i5816[18], 0)), <(i5816[18], i4[18])), >(i5824[18], 0)), >(+(+(i5816[18], 1), 1), 0)), java.lang.Object(ARRAY(i4[18], a115115data[18])), i5816[18], i5824[18], java.lang.Object(java.lang.String(i7504[18])), java.lang.Object(java.lang.String(i6164[18])))), ≥)∧[(-1)Bound*bni_79] + [bni_79]i5824[18] + [(-1)bni_79]i5816[18] + [bni_79]i4[18] ≥ 0∧[(-1)bso_80] ≥ 0)



    We simplified constraint (150) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (154)    (i5816[18] + [1] ≥ 0∧i5824[18] + [-1] ≥ 0∧i4[18] + [-1] + [-1]i5816[18] ≥ 0∧i5816[18] + [-1] ≥ 0∧i4[18] + [-2] + [-1]i5816[18] ≥ 0∧i5816[18] ≥ 0∧[-1] + [-1]i6164[18] ≥ 0∧[-1] + [-1]i7504[18] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR7(&&(&&(&&(&&(&&(&&(&&(!(=(i7504[18], 0)), >(+(i5816[18], 1), 0)), <(+(i5816[18], 1), i4[18])), !(=(i6164[18], 0))), >(i5816[18], 0)), <(i5816[18], i4[18])), >(i5824[18], 0)), >(+(+(i5816[18], 1), 1), 0)), java.lang.Object(ARRAY(i4[18], a115115data[18])), i5816[18], i5824[18], java.lang.Object(java.lang.String(i7504[18])), java.lang.Object(java.lang.String(i6164[18])))), ≥)∧0 = 0∧[(-1)Bound*bni_79] + [bni_79]i5824[18] + [(-1)bni_79]i5816[18] + [bni_79]i4[18] ≥ 0∧0 = 0∧[(-1)bso_80] ≥ 0)



    We simplified constraint (151) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (155)    (i5816[18] + [1] ≥ 0∧i5824[18] + [-1] ≥ 0∧i4[18] + [-1] + [-1]i5816[18] ≥ 0∧i5816[18] + [-1] ≥ 0∧i4[18] + [-2] + [-1]i5816[18] ≥ 0∧i5816[18] ≥ 0∧[-1] + [-1]i6164[18] ≥ 0∧i7504[18] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR7(&&(&&(&&(&&(&&(&&(&&(!(=(i7504[18], 0)), >(+(i5816[18], 1), 0)), <(+(i5816[18], 1), i4[18])), !(=(i6164[18], 0))), >(i5816[18], 0)), <(i5816[18], i4[18])), >(i5824[18], 0)), >(+(+(i5816[18], 1), 1), 0)), java.lang.Object(ARRAY(i4[18], a115115data[18])), i5816[18], i5824[18], java.lang.Object(java.lang.String(i7504[18])), java.lang.Object(java.lang.String(i6164[18])))), ≥)∧0 = 0∧[(-1)Bound*bni_79] + [bni_79]i5824[18] + [(-1)bni_79]i5816[18] + [bni_79]i4[18] ≥ 0∧0 = 0∧[(-1)bso_80] ≥ 0)



    We simplified constraint (152) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (156)    (i5816[18] + [1] ≥ 0∧i5824[18] + [-1] ≥ 0∧i4[18] + [-1] + [-1]i5816[18] ≥ 0∧i5816[18] + [-1] ≥ 0∧i4[18] + [-2] + [-1]i5816[18] ≥ 0∧i5816[18] ≥ 0∧i6164[18] + [-1] ≥ 0∧[-1] + [-1]i7504[18] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR7(&&(&&(&&(&&(&&(&&(&&(!(=(i7504[18], 0)), >(+(i5816[18], 1), 0)), <(+(i5816[18], 1), i4[18])), !(=(i6164[18], 0))), >(i5816[18], 0)), <(i5816[18], i4[18])), >(i5824[18], 0)), >(+(+(i5816[18], 1), 1), 0)), java.lang.Object(ARRAY(i4[18], a115115data[18])), i5816[18], i5824[18], java.lang.Object(java.lang.String(i7504[18])), java.lang.Object(java.lang.String(i6164[18])))), ≥)∧0 = 0∧[(-1)Bound*bni_79] + [bni_79]i5824[18] + [(-1)bni_79]i5816[18] + [bni_79]i4[18] ≥ 0∧0 = 0∧[(-1)bso_80] ≥ 0)



    We simplified constraint (153) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (157)    (i5816[18] + [1] ≥ 0∧i5824[18] + [-1] ≥ 0∧i4[18] + [-1] + [-1]i5816[18] ≥ 0∧i5816[18] + [-1] ≥ 0∧i4[18] + [-2] + [-1]i5816[18] ≥ 0∧i5816[18] ≥ 0∧i6164[18] + [-1] ≥ 0∧i7504[18] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR7(&&(&&(&&(&&(&&(&&(&&(!(=(i7504[18], 0)), >(+(i5816[18], 1), 0)), <(+(i5816[18], 1), i4[18])), !(=(i6164[18], 0))), >(i5816[18], 0)), <(i5816[18], i4[18])), >(i5824[18], 0)), >(+(+(i5816[18], 1), 1), 0)), java.lang.Object(ARRAY(i4[18], a115115data[18])), i5816[18], i5824[18], java.lang.Object(java.lang.String(i7504[18])), java.lang.Object(java.lang.String(i6164[18])))), ≥)∧0 = 0∧[(-1)Bound*bni_79] + [bni_79]i5824[18] + [(-1)bni_79]i5816[18] + [bni_79]i4[18] ≥ 0∧0 = 0∧[(-1)bso_80] ≥ 0)



    We simplified constraint (154) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (158)    ([2] + i5816[18] ≥ 0∧i5824[18] + [-1] ≥ 0∧i4[18] + [-2] + [-1]i5816[18] ≥ 0∧i5816[18] ≥ 0∧i4[18] + [-3] + [-1]i5816[18] ≥ 0∧[1] + i5816[18] ≥ 0∧[-1] + [-1]i6164[18] ≥ 0∧[-1] + [-1]i7504[18] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR7(&&(&&(&&(&&(&&(&&(&&(!(=(i7504[18], 0)), >(+(i5816[18], 1), 0)), <(+(i5816[18], 1), i4[18])), !(=(i6164[18], 0))), >(i5816[18], 0)), <(i5816[18], i4[18])), >(i5824[18], 0)), >(+(+(i5816[18], 1), 1), 0)), java.lang.Object(ARRAY(i4[18], a115115data[18])), i5816[18], i5824[18], java.lang.Object(java.lang.String(i7504[18])), java.lang.Object(java.lang.String(i6164[18])))), ≥)∧0 = 0∧[(-1)Bound*bni_79 + (-1)bni_79] + [bni_79]i5824[18] + [(-1)bni_79]i5816[18] + [bni_79]i4[18] ≥ 0∧0 = 0∧[(-1)bso_80] ≥ 0)



    We simplified constraint (158) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (159)    ([2] + i5816[18] ≥ 0∧i5824[18] ≥ 0∧i4[18] + [-2] + [-1]i5816[18] ≥ 0∧i5816[18] ≥ 0∧i4[18] + [-3] + [-1]i5816[18] ≥ 0∧[1] + i5816[18] ≥ 0∧[-1] + [-1]i6164[18] ≥ 0∧[-1] + [-1]i7504[18] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR7(&&(&&(&&(&&(&&(&&(&&(!(=(i7504[18], 0)), >(+(i5816[18], 1), 0)), <(+(i5816[18], 1), i4[18])), !(=(i6164[18], 0))), >(i5816[18], 0)), <(i5816[18], i4[18])), >(i5824[18], 0)), >(+(+(i5816[18], 1), 1), 0)), java.lang.Object(ARRAY(i4[18], a115115data[18])), i5816[18], i5824[18], java.lang.Object(java.lang.String(i7504[18])), java.lang.Object(java.lang.String(i6164[18])))), ≥)∧0 = 0∧[(-1)Bound*bni_79] + [bni_79]i5824[18] + [(-1)bni_79]i5816[18] + [bni_79]i4[18] ≥ 0∧0 = 0∧[(-1)bso_80] ≥ 0)



    We simplified constraint (159) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (160)    ([2] + i5816[18] ≥ 0∧i5824[18] ≥ 0∧i4[18] ≥ 0∧i5816[18] ≥ 0∧[-1] + i4[18] ≥ 0∧[1] + i5816[18] ≥ 0∧[-1] + [-1]i6164[18] ≥ 0∧[-1] + [-1]i7504[18] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR7(&&(&&(&&(&&(&&(&&(&&(!(=(i7504[18], 0)), >(+(i5816[18], 1), 0)), <(+(i5816[18], 1), i4[18])), !(=(i6164[18], 0))), >(i5816[18], 0)), <(i5816[18], i4[18])), >(i5824[18], 0)), >(+(+(i5816[18], 1), 1), 0)), java.lang.Object(ARRAY(i4[18], a115115data[18])), i5816[18], i5824[18], java.lang.Object(java.lang.String(i7504[18])), java.lang.Object(java.lang.String(i6164[18])))), ≥)∧0 = 0∧[(-1)Bound*bni_79 + (2)bni_79] + [bni_79]i5824[18] + [bni_79]i4[18] ≥ 0∧0 = 0∧[(-1)bso_80] ≥ 0)



    We simplified constraint (160) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (161)    ([2] + i5816[18] ≥ 0∧i5824[18] ≥ 0∧[1] + i4[18] ≥ 0∧i5816[18] ≥ 0∧i4[18] ≥ 0∧[1] + i5816[18] ≥ 0∧[-1] + [-1]i6164[18] ≥ 0∧[-1] + [-1]i7504[18] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR7(&&(&&(&&(&&(&&(&&(&&(!(=(i7504[18], 0)), >(+(i5816[18], 1), 0)), <(+(i5816[18], 1), i4[18])), !(=(i6164[18], 0))), >(i5816[18], 0)), <(i5816[18], i4[18])), >(i5824[18], 0)), >(+(+(i5816[18], 1), 1), 0)), java.lang.Object(ARRAY(i4[18], a115115data[18])), i5816[18], i5824[18], java.lang.Object(java.lang.String(i7504[18])), java.lang.Object(java.lang.String(i6164[18])))), ≥)∧0 = 0∧[(-1)Bound*bni_79 + (3)bni_79] + [bni_79]i5824[18] + [bni_79]i4[18] ≥ 0∧0 = 0∧[(-1)bso_80] ≥ 0)



    We simplified constraint (161) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (162)    ([2] + i5816[18] ≥ 0∧i5824[18] ≥ 0∧[1] + i4[18] ≥ 0∧i5816[18] ≥ 0∧i4[18] ≥ 0∧[1] + i5816[18] ≥ 0∧i6164[18] ≥ 0∧[-1] + [-1]i7504[18] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR7(&&(&&(&&(&&(&&(&&(&&(!(=(i7504[18], 0)), >(+(i5816[18], 1), 0)), <(+(i5816[18], 1), i4[18])), !(=(i6164[18], 0))), >(i5816[18], 0)), <(i5816[18], i4[18])), >(i5824[18], 0)), >(+(+(i5816[18], 1), 1), 0)), java.lang.Object(ARRAY(i4[18], a115115data[18])), i5816[18], i5824[18], java.lang.Object(java.lang.String(i7504[18])), java.lang.Object(java.lang.String(i6164[18])))), ≥)∧0 = 0∧[(-1)Bound*bni_79 + (3)bni_79] + [bni_79]i5824[18] + [bni_79]i4[18] ≥ 0∧0 = 0∧[(-1)bso_80] ≥ 0)



    We simplified constraint (162) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (163)    ([2] + i5816[18] ≥ 0∧i5824[18] ≥ 0∧[1] + i4[18] ≥ 0∧i5816[18] ≥ 0∧i4[18] ≥ 0∧[1] + i5816[18] ≥ 0∧i6164[18] ≥ 0∧i7504[18] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR7(&&(&&(&&(&&(&&(&&(&&(!(=(i7504[18], 0)), >(+(i5816[18], 1), 0)), <(+(i5816[18], 1), i4[18])), !(=(i6164[18], 0))), >(i5816[18], 0)), <(i5816[18], i4[18])), >(i5824[18], 0)), >(+(+(i5816[18], 1), 1), 0)), java.lang.Object(ARRAY(i4[18], a115115data[18])), i5816[18], i5824[18], java.lang.Object(java.lang.String(i7504[18])), java.lang.Object(java.lang.String(i6164[18])))), ≥)∧0 = 0∧[(-1)Bound*bni_79 + (3)bni_79] + [bni_79]i5824[18] + [bni_79]i4[18] ≥ 0∧0 = 0∧[(-1)bso_80] ≥ 0)



    We simplified constraint (155) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (164)    ([2] + i5816[18] ≥ 0∧i5824[18] + [-1] ≥ 0∧i4[18] + [-2] + [-1]i5816[18] ≥ 0∧i5816[18] ≥ 0∧i4[18] + [-3] + [-1]i5816[18] ≥ 0∧[1] + i5816[18] ≥ 0∧[-1] + [-1]i6164[18] ≥ 0∧i7504[18] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR7(&&(&&(&&(&&(&&(&&(&&(!(=(i7504[18], 0)), >(+(i5816[18], 1), 0)), <(+(i5816[18], 1), i4[18])), !(=(i6164[18], 0))), >(i5816[18], 0)), <(i5816[18], i4[18])), >(i5824[18], 0)), >(+(+(i5816[18], 1), 1), 0)), java.lang.Object(ARRAY(i4[18], a115115data[18])), i5816[18], i5824[18], java.lang.Object(java.lang.String(i7504[18])), java.lang.Object(java.lang.String(i6164[18])))), ≥)∧0 = 0∧[(-1)Bound*bni_79 + (-1)bni_79] + [bni_79]i5824[18] + [(-1)bni_79]i5816[18] + [bni_79]i4[18] ≥ 0∧0 = 0∧[(-1)bso_80] ≥ 0)



    We simplified constraint (164) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (165)    ([2] + i5816[18] ≥ 0∧i5824[18] ≥ 0∧i4[18] + [-2] + [-1]i5816[18] ≥ 0∧i5816[18] ≥ 0∧i4[18] + [-3] + [-1]i5816[18] ≥ 0∧[1] + i5816[18] ≥ 0∧[-1] + [-1]i6164[18] ≥ 0∧i7504[18] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR7(&&(&&(&&(&&(&&(&&(&&(!(=(i7504[18], 0)), >(+(i5816[18], 1), 0)), <(+(i5816[18], 1), i4[18])), !(=(i6164[18], 0))), >(i5816[18], 0)), <(i5816[18], i4[18])), >(i5824[18], 0)), >(+(+(i5816[18], 1), 1), 0)), java.lang.Object(ARRAY(i4[18], a115115data[18])), i5816[18], i5824[18], java.lang.Object(java.lang.String(i7504[18])), java.lang.Object(java.lang.String(i6164[18])))), ≥)∧0 = 0∧[(-1)Bound*bni_79] + [bni_79]i5824[18] + [(-1)bni_79]i5816[18] + [bni_79]i4[18] ≥ 0∧0 = 0∧[(-1)bso_80] ≥ 0)



    We simplified constraint (165) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (166)    ([2] + i5816[18] ≥ 0∧i5824[18] ≥ 0∧i4[18] ≥ 0∧i5816[18] ≥ 0∧[-1] + i4[18] ≥ 0∧[1] + i5816[18] ≥ 0∧[-1] + [-1]i6164[18] ≥ 0∧i7504[18] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR7(&&(&&(&&(&&(&&(&&(&&(!(=(i7504[18], 0)), >(+(i5816[18], 1), 0)), <(+(i5816[18], 1), i4[18])), !(=(i6164[18], 0))), >(i5816[18], 0)), <(i5816[18], i4[18])), >(i5824[18], 0)), >(+(+(i5816[18], 1), 1), 0)), java.lang.Object(ARRAY(i4[18], a115115data[18])), i5816[18], i5824[18], java.lang.Object(java.lang.String(i7504[18])), java.lang.Object(java.lang.String(i6164[18])))), ≥)∧0 = 0∧[(-1)Bound*bni_79 + (2)bni_79] + [bni_79]i5824[18] + [bni_79]i4[18] ≥ 0∧0 = 0∧[(-1)bso_80] ≥ 0)



    We simplified constraint (166) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (167)    ([2] + i5816[18] ≥ 0∧i5824[18] ≥ 0∧[1] + i4[18] ≥ 0∧i5816[18] ≥ 0∧i4[18] ≥ 0∧[1] + i5816[18] ≥ 0∧[-1] + [-1]i6164[18] ≥ 0∧i7504[18] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR7(&&(&&(&&(&&(&&(&&(&&(!(=(i7504[18], 0)), >(+(i5816[18], 1), 0)), <(+(i5816[18], 1), i4[18])), !(=(i6164[18], 0))), >(i5816[18], 0)), <(i5816[18], i4[18])), >(i5824[18], 0)), >(+(+(i5816[18], 1), 1), 0)), java.lang.Object(ARRAY(i4[18], a115115data[18])), i5816[18], i5824[18], java.lang.Object(java.lang.String(i7504[18])), java.lang.Object(java.lang.String(i6164[18])))), ≥)∧0 = 0∧[(-1)Bound*bni_79 + (3)bni_79] + [bni_79]i5824[18] + [bni_79]i4[18] ≥ 0∧0 = 0∧[(-1)bso_80] ≥ 0)



    We simplified constraint (167) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (168)    ([2] + i5816[18] ≥ 0∧i5824[18] ≥ 0∧[1] + i4[18] ≥ 0∧i5816[18] ≥ 0∧i4[18] ≥ 0∧[1] + i5816[18] ≥ 0∧i6164[18] ≥ 0∧i7504[18] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR7(&&(&&(&&(&&(&&(&&(&&(!(=(i7504[18], 0)), >(+(i5816[18], 1), 0)), <(+(i5816[18], 1), i4[18])), !(=(i6164[18], 0))), >(i5816[18], 0)), <(i5816[18], i4[18])), >(i5824[18], 0)), >(+(+(i5816[18], 1), 1), 0)), java.lang.Object(ARRAY(i4[18], a115115data[18])), i5816[18], i5824[18], java.lang.Object(java.lang.String(i7504[18])), java.lang.Object(java.lang.String(i6164[18])))), ≥)∧0 = 0∧[(-1)Bound*bni_79 + (3)bni_79] + [bni_79]i5824[18] + [bni_79]i4[18] ≥ 0∧0 = 0∧[(-1)bso_80] ≥ 0)



    We simplified constraint (168) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (169)    ([2] + i5816[18] ≥ 0∧i5824[18] ≥ 0∧[1] + i4[18] ≥ 0∧i5816[18] ≥ 0∧i4[18] ≥ 0∧[1] + i5816[18] ≥ 0∧i6164[18] ≥ 0∧i7504[18] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR7(&&(&&(&&(&&(&&(&&(&&(!(=(i7504[18], 0)), >(+(i5816[18], 1), 0)), <(+(i5816[18], 1), i4[18])), !(=(i6164[18], 0))), >(i5816[18], 0)), <(i5816[18], i4[18])), >(i5824[18], 0)), >(+(+(i5816[18], 1), 1), 0)), java.lang.Object(ARRAY(i4[18], a115115data[18])), i5816[18], i5824[18], java.lang.Object(java.lang.String(i7504[18])), java.lang.Object(java.lang.String(i6164[18])))), ≥)∧0 = 0∧[(-1)Bound*bni_79 + (3)bni_79] + [bni_79]i5824[18] + [bni_79]i4[18] ≥ 0∧0 = 0∧[(-1)bso_80] ≥ 0)



    We simplified constraint (156) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (170)    ([2] + i5816[18] ≥ 0∧i5824[18] + [-1] ≥ 0∧i4[18] + [-2] + [-1]i5816[18] ≥ 0∧i5816[18] ≥ 0∧i4[18] + [-3] + [-1]i5816[18] ≥ 0∧[1] + i5816[18] ≥ 0∧i6164[18] + [-1] ≥ 0∧[-1] + [-1]i7504[18] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR7(&&(&&(&&(&&(&&(&&(&&(!(=(i7504[18], 0)), >(+(i5816[18], 1), 0)), <(+(i5816[18], 1), i4[18])), !(=(i6164[18], 0))), >(i5816[18], 0)), <(i5816[18], i4[18])), >(i5824[18], 0)), >(+(+(i5816[18], 1), 1), 0)), java.lang.Object(ARRAY(i4[18], a115115data[18])), i5816[18], i5824[18], java.lang.Object(java.lang.String(i7504[18])), java.lang.Object(java.lang.String(i6164[18])))), ≥)∧0 = 0∧[(-1)Bound*bni_79 + (-1)bni_79] + [bni_79]i5824[18] + [(-1)bni_79]i5816[18] + [bni_79]i4[18] ≥ 0∧0 = 0∧[(-1)bso_80] ≥ 0)



    We simplified constraint (170) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (171)    ([2] + i5816[18] ≥ 0∧i5824[18] ≥ 0∧i4[18] + [-2] + [-1]i5816[18] ≥ 0∧i5816[18] ≥ 0∧i4[18] + [-3] + [-1]i5816[18] ≥ 0∧[1] + i5816[18] ≥ 0∧i6164[18] + [-1] ≥ 0∧[-1] + [-1]i7504[18] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR7(&&(&&(&&(&&(&&(&&(&&(!(=(i7504[18], 0)), >(+(i5816[18], 1), 0)), <(+(i5816[18], 1), i4[18])), !(=(i6164[18], 0))), >(i5816[18], 0)), <(i5816[18], i4[18])), >(i5824[18], 0)), >(+(+(i5816[18], 1), 1), 0)), java.lang.Object(ARRAY(i4[18], a115115data[18])), i5816[18], i5824[18], java.lang.Object(java.lang.String(i7504[18])), java.lang.Object(java.lang.String(i6164[18])))), ≥)∧0 = 0∧[(-1)Bound*bni_79] + [bni_79]i5824[18] + [(-1)bni_79]i5816[18] + [bni_79]i4[18] ≥ 0∧0 = 0∧[(-1)bso_80] ≥ 0)



    We simplified constraint (171) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (172)    ([2] + i5816[18] ≥ 0∧i5824[18] ≥ 0∧i4[18] ≥ 0∧i5816[18] ≥ 0∧[-1] + i4[18] ≥ 0∧[1] + i5816[18] ≥ 0∧i6164[18] + [-1] ≥ 0∧[-1] + [-1]i7504[18] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR7(&&(&&(&&(&&(&&(&&(&&(!(=(i7504[18], 0)), >(+(i5816[18], 1), 0)), <(+(i5816[18], 1), i4[18])), !(=(i6164[18], 0))), >(i5816[18], 0)), <(i5816[18], i4[18])), >(i5824[18], 0)), >(+(+(i5816[18], 1), 1), 0)), java.lang.Object(ARRAY(i4[18], a115115data[18])), i5816[18], i5824[18], java.lang.Object(java.lang.String(i7504[18])), java.lang.Object(java.lang.String(i6164[18])))), ≥)∧0 = 0∧[(-1)Bound*bni_79 + (2)bni_79] + [bni_79]i5824[18] + [bni_79]i4[18] ≥ 0∧0 = 0∧[(-1)bso_80] ≥ 0)



    We simplified constraint (172) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (173)    ([2] + i5816[18] ≥ 0∧i5824[18] ≥ 0∧[1] + i4[18] ≥ 0∧i5816[18] ≥ 0∧i4[18] ≥ 0∧[1] + i5816[18] ≥ 0∧i6164[18] + [-1] ≥ 0∧[-1] + [-1]i7504[18] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR7(&&(&&(&&(&&(&&(&&(&&(!(=(i7504[18], 0)), >(+(i5816[18], 1), 0)), <(+(i5816[18], 1), i4[18])), !(=(i6164[18], 0))), >(i5816[18], 0)), <(i5816[18], i4[18])), >(i5824[18], 0)), >(+(+(i5816[18], 1), 1), 0)), java.lang.Object(ARRAY(i4[18], a115115data[18])), i5816[18], i5824[18], java.lang.Object(java.lang.String(i7504[18])), java.lang.Object(java.lang.String(i6164[18])))), ≥)∧0 = 0∧[(-1)Bound*bni_79 + (3)bni_79] + [bni_79]i5824[18] + [bni_79]i4[18] ≥ 0∧0 = 0∧[(-1)bso_80] ≥ 0)



    We simplified constraint (173) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (174)    ([2] + i5816[18] ≥ 0∧i5824[18] ≥ 0∧[1] + i4[18] ≥ 0∧i5816[18] ≥ 0∧i4[18] ≥ 0∧[1] + i5816[18] ≥ 0∧i6164[18] ≥ 0∧[-1] + [-1]i7504[18] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR7(&&(&&(&&(&&(&&(&&(&&(!(=(i7504[18], 0)), >(+(i5816[18], 1), 0)), <(+(i5816[18], 1), i4[18])), !(=(i6164[18], 0))), >(i5816[18], 0)), <(i5816[18], i4[18])), >(i5824[18], 0)), >(+(+(i5816[18], 1), 1), 0)), java.lang.Object(ARRAY(i4[18], a115115data[18])), i5816[18], i5824[18], java.lang.Object(java.lang.String(i7504[18])), java.lang.Object(java.lang.String(i6164[18])))), ≥)∧0 = 0∧[(-1)Bound*bni_79 + (3)bni_79] + [bni_79]i5824[18] + [bni_79]i4[18] ≥ 0∧0 = 0∧[(-1)bso_80] ≥ 0)



    We simplified constraint (174) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (175)    ([2] + i5816[18] ≥ 0∧i5824[18] ≥ 0∧[1] + i4[18] ≥ 0∧i5816[18] ≥ 0∧i4[18] ≥ 0∧[1] + i5816[18] ≥ 0∧i6164[18] ≥ 0∧i7504[18] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR7(&&(&&(&&(&&(&&(&&(&&(!(=(i7504[18], 0)), >(+(i5816[18], 1), 0)), <(+(i5816[18], 1), i4[18])), !(=(i6164[18], 0))), >(i5816[18], 0)), <(i5816[18], i4[18])), >(i5824[18], 0)), >(+(+(i5816[18], 1), 1), 0)), java.lang.Object(ARRAY(i4[18], a115115data[18])), i5816[18], i5824[18], java.lang.Object(java.lang.String(i7504[18])), java.lang.Object(java.lang.String(i6164[18])))), ≥)∧0 = 0∧[(-1)Bound*bni_79 + (3)bni_79] + [bni_79]i5824[18] + [bni_79]i4[18] ≥ 0∧0 = 0∧[(-1)bso_80] ≥ 0)



    We simplified constraint (157) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (176)    ([2] + i5816[18] ≥ 0∧i5824[18] + [-1] ≥ 0∧i4[18] + [-2] + [-1]i5816[18] ≥ 0∧i5816[18] ≥ 0∧i4[18] + [-3] + [-1]i5816[18] ≥ 0∧[1] + i5816[18] ≥ 0∧i6164[18] + [-1] ≥ 0∧i7504[18] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR7(&&(&&(&&(&&(&&(&&(&&(!(=(i7504[18], 0)), >(+(i5816[18], 1), 0)), <(+(i5816[18], 1), i4[18])), !(=(i6164[18], 0))), >(i5816[18], 0)), <(i5816[18], i4[18])), >(i5824[18], 0)), >(+(+(i5816[18], 1), 1), 0)), java.lang.Object(ARRAY(i4[18], a115115data[18])), i5816[18], i5824[18], java.lang.Object(java.lang.String(i7504[18])), java.lang.Object(java.lang.String(i6164[18])))), ≥)∧0 = 0∧[(-1)Bound*bni_79 + (-1)bni_79] + [bni_79]i5824[18] + [(-1)bni_79]i5816[18] + [bni_79]i4[18] ≥ 0∧0 = 0∧[(-1)bso_80] ≥ 0)



    We simplified constraint (176) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (177)    ([2] + i5816[18] ≥ 0∧i5824[18] ≥ 0∧i4[18] + [-2] + [-1]i5816[18] ≥ 0∧i5816[18] ≥ 0∧i4[18] + [-3] + [-1]i5816[18] ≥ 0∧[1] + i5816[18] ≥ 0∧i6164[18] + [-1] ≥ 0∧i7504[18] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR7(&&(&&(&&(&&(&&(&&(&&(!(=(i7504[18], 0)), >(+(i5816[18], 1), 0)), <(+(i5816[18], 1), i4[18])), !(=(i6164[18], 0))), >(i5816[18], 0)), <(i5816[18], i4[18])), >(i5824[18], 0)), >(+(+(i5816[18], 1), 1), 0)), java.lang.Object(ARRAY(i4[18], a115115data[18])), i5816[18], i5824[18], java.lang.Object(java.lang.String(i7504[18])), java.lang.Object(java.lang.String(i6164[18])))), ≥)∧0 = 0∧[(-1)Bound*bni_79] + [bni_79]i5824[18] + [(-1)bni_79]i5816[18] + [bni_79]i4[18] ≥ 0∧0 = 0∧[(-1)bso_80] ≥ 0)



    We simplified constraint (177) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (178)    ([2] + i5816[18] ≥ 0∧i5824[18] ≥ 0∧i4[18] ≥ 0∧i5816[18] ≥ 0∧[-1] + i4[18] ≥ 0∧[1] + i5816[18] ≥ 0∧i6164[18] + [-1] ≥ 0∧i7504[18] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR7(&&(&&(&&(&&(&&(&&(&&(!(=(i7504[18], 0)), >(+(i5816[18], 1), 0)), <(+(i5816[18], 1), i4[18])), !(=(i6164[18], 0))), >(i5816[18], 0)), <(i5816[18], i4[18])), >(i5824[18], 0)), >(+(+(i5816[18], 1), 1), 0)), java.lang.Object(ARRAY(i4[18], a115115data[18])), i5816[18], i5824[18], java.lang.Object(java.lang.String(i7504[18])), java.lang.Object(java.lang.String(i6164[18])))), ≥)∧0 = 0∧[(-1)Bound*bni_79 + (2)bni_79] + [bni_79]i5824[18] + [bni_79]i4[18] ≥ 0∧0 = 0∧[(-1)bso_80] ≥ 0)



    We simplified constraint (178) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (179)    ([2] + i5816[18] ≥ 0∧i5824[18] ≥ 0∧[1] + i4[18] ≥ 0∧i5816[18] ≥ 0∧i4[18] ≥ 0∧[1] + i5816[18] ≥ 0∧i6164[18] + [-1] ≥ 0∧i7504[18] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR7(&&(&&(&&(&&(&&(&&(&&(!(=(i7504[18], 0)), >(+(i5816[18], 1), 0)), <(+(i5816[18], 1), i4[18])), !(=(i6164[18], 0))), >(i5816[18], 0)), <(i5816[18], i4[18])), >(i5824[18], 0)), >(+(+(i5816[18], 1), 1), 0)), java.lang.Object(ARRAY(i4[18], a115115data[18])), i5816[18], i5824[18], java.lang.Object(java.lang.String(i7504[18])), java.lang.Object(java.lang.String(i6164[18])))), ≥)∧0 = 0∧[(-1)Bound*bni_79 + (3)bni_79] + [bni_79]i5824[18] + [bni_79]i4[18] ≥ 0∧0 = 0∧[(-1)bso_80] ≥ 0)



    We simplified constraint (179) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (180)    ([2] + i5816[18] ≥ 0∧i5824[18] ≥ 0∧[1] + i4[18] ≥ 0∧i5816[18] ≥ 0∧i4[18] ≥ 0∧[1] + i5816[18] ≥ 0∧i6164[18] ≥ 0∧i7504[18] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR7(&&(&&(&&(&&(&&(&&(&&(!(=(i7504[18], 0)), >(+(i5816[18], 1), 0)), <(+(i5816[18], 1), i4[18])), !(=(i6164[18], 0))), >(i5816[18], 0)), <(i5816[18], i4[18])), >(i5824[18], 0)), >(+(+(i5816[18], 1), 1), 0)), java.lang.Object(ARRAY(i4[18], a115115data[18])), i5816[18], i5824[18], java.lang.Object(java.lang.String(i7504[18])), java.lang.Object(java.lang.String(i6164[18])))), ≥)∧0 = 0∧[(-1)Bound*bni_79 + (3)bni_79] + [bni_79]i5824[18] + [bni_79]i4[18] ≥ 0∧0 = 0∧[(-1)bso_80] ≥ 0)



    We simplified constraint (180) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (181)    ([2] + i5816[18] ≥ 0∧i5824[18] ≥ 0∧[1] + i4[18] ≥ 0∧i5816[18] ≥ 0∧i4[18] ≥ 0∧[1] + i5816[18] ≥ 0∧i6164[18] ≥ 0∧i7504[18] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR7(&&(&&(&&(&&(&&(&&(&&(!(=(i7504[18], 0)), >(+(i5816[18], 1), 0)), <(+(i5816[18], 1), i4[18])), !(=(i6164[18], 0))), >(i5816[18], 0)), <(i5816[18], i4[18])), >(i5824[18], 0)), >(+(+(i5816[18], 1), 1), 0)), java.lang.Object(ARRAY(i4[18], a115115data[18])), i5816[18], i5824[18], java.lang.Object(java.lang.String(i7504[18])), java.lang.Object(java.lang.String(i6164[18])))), ≥)∧0 = 0∧[(-1)Bound*bni_79 + (3)bni_79] + [bni_79]i5824[18] + [bni_79]i4[18] ≥ 0∧0 = 0∧[(-1)bso_80] ≥ 0)







For Pair COND_LOAD34990ARR7(TRUE, java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i7504)), java.lang.Object(java.lang.String(i6164))) → INC35127(java.lang.Object(ARRAY(i4, a115115data)), +(+(i5816, 1), 1), i5824) the following chains were created:
  • We consider the chain COND_LOAD34990ARR7(TRUE, java.lang.Object(ARRAY(i4[19], a115115data[19])), i5816[19], i5824[19], java.lang.Object(java.lang.String(i7504[19])), java.lang.Object(java.lang.String(i6164[19]))) → INC35127(java.lang.Object(ARRAY(i4[19], a115115data[19])), +(+(i5816[19], 1), 1), i5824[19]) which results in the following constraint:

    (182)    (COND_LOAD34990ARR7(TRUE, java.lang.Object(ARRAY(i4[19], a115115data[19])), i5816[19], i5824[19], java.lang.Object(java.lang.String(i7504[19])), java.lang.Object(java.lang.String(i6164[19])))≥NonInfC∧COND_LOAD34990ARR7(TRUE, java.lang.Object(ARRAY(i4[19], a115115data[19])), i5816[19], i5824[19], java.lang.Object(java.lang.String(i7504[19])), java.lang.Object(java.lang.String(i6164[19])))≥INC35127(java.lang.Object(ARRAY(i4[19], a115115data[19])), +(+(i5816[19], 1), 1), i5824[19])∧(UIncreasing(INC35127(java.lang.Object(ARRAY(i4[19], a115115data[19])), +(+(i5816[19], 1), 1), i5824[19])), ≥))



    We simplified constraint (182) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (183)    ((UIncreasing(INC35127(java.lang.Object(ARRAY(i4[19], a115115data[19])), +(+(i5816[19], 1), 1), i5824[19])), ≥)∧[2 + (-1)bso_82] ≥ 0)



    We simplified constraint (183) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (184)    ((UIncreasing(INC35127(java.lang.Object(ARRAY(i4[19], a115115data[19])), +(+(i5816[19], 1), 1), i5824[19])), ≥)∧[2 + (-1)bso_82] ≥ 0)



    We simplified constraint (184) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (185)    ((UIncreasing(INC35127(java.lang.Object(ARRAY(i4[19], a115115data[19])), +(+(i5816[19], 1), 1), i5824[19])), ≥)∧[2 + (-1)bso_82] ≥ 0)



    We simplified constraint (185) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (186)    ((UIncreasing(INC35127(java.lang.Object(ARRAY(i4[19], a115115data[19])), +(+(i5816[19], 1), 1), i5824[19])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[2 + (-1)bso_82] ≥ 0)







For Pair LOAD34990(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824) → LOAD34990ARR8(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i6986))) the following chains were created:
  • We consider the chain LOAD34990(java.lang.Object(ARRAY(i4[20], a115115data[20])), i5816[20], i5824[20]) → LOAD34990ARR8(java.lang.Object(ARRAY(i4[20], a115115data[20])), i5816[20], i5824[20], java.lang.Object(java.lang.String(i6986[20]))) which results in the following constraint:

    (187)    (LOAD34990(java.lang.Object(ARRAY(i4[20], a115115data[20])), i5816[20], i5824[20])≥NonInfC∧LOAD34990(java.lang.Object(ARRAY(i4[20], a115115data[20])), i5816[20], i5824[20])≥LOAD34990ARR8(java.lang.Object(ARRAY(i4[20], a115115data[20])), i5816[20], i5824[20], java.lang.Object(java.lang.String(i6986[20])))∧(UIncreasing(LOAD34990ARR8(java.lang.Object(ARRAY(i4[20], a115115data[20])), i5816[20], i5824[20], java.lang.Object(java.lang.String(i6986[20])))), ≥))



    We simplified constraint (187) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (188)    ((UIncreasing(LOAD34990ARR8(java.lang.Object(ARRAY(i4[20], a115115data[20])), i5816[20], i5824[20], java.lang.Object(java.lang.String(i6986[20])))), ≥)∧[(-1)bso_84] ≥ 0)



    We simplified constraint (188) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (189)    ((UIncreasing(LOAD34990ARR8(java.lang.Object(ARRAY(i4[20], a115115data[20])), i5816[20], i5824[20], java.lang.Object(java.lang.String(i6986[20])))), ≥)∧[(-1)bso_84] ≥ 0)



    We simplified constraint (189) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (190)    ((UIncreasing(LOAD34990ARR8(java.lang.Object(ARRAY(i4[20], a115115data[20])), i5816[20], i5824[20], java.lang.Object(java.lang.String(i6986[20])))), ≥)∧[(-1)bso_84] ≥ 0)



    We simplified constraint (190) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (191)    ((UIncreasing(LOAD34990ARR8(java.lang.Object(ARRAY(i4[20], a115115data[20])), i5816[20], i5824[20], java.lang.Object(java.lang.String(i6986[20])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_84] ≥ 0)







For Pair LOAD34990ARR8(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i6986))) → COND_LOAD34990ARR8(&&(&&(&&(&&(&&(&&(!(=(i6986, 0)), >(+(i5816, 1), 0)), <(+(i5816, 1), i4)), >(i5816, 0)), <(i5816, i4)), >(i5824, 0)), >(+(+(i5816, 1), 1), 0)), java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i6986))) the following chains were created:
  • We consider the chain LOAD34990ARR8(java.lang.Object(ARRAY(i4[21], a115115data[21])), i5816[21], i5824[21], java.lang.Object(java.lang.String(i6986[21]))) → COND_LOAD34990ARR8(&&(&&(&&(&&(&&(&&(!(=(i6986[21], 0)), >(+(i5816[21], 1), 0)), <(+(i5816[21], 1), i4[21])), >(i5816[21], 0)), <(i5816[21], i4[21])), >(i5824[21], 0)), >(+(+(i5816[21], 1), 1), 0)), java.lang.Object(ARRAY(i4[21], a115115data[21])), i5816[21], i5824[21], java.lang.Object(java.lang.String(i6986[21]))), COND_LOAD34990ARR8(TRUE, java.lang.Object(ARRAY(i4[22], a115115data[22])), i5816[22], i5824[22], java.lang.Object(java.lang.String(i6986[22]))) → NEW39186(java.lang.Object(ARRAY(i4[22], a115115data[22])), +(+(i5816[22], 1), 1), i5824[22]) which results in the following constraint:

    (192)    (i4[21]=i4[22]a115115data[21]=a115115data[22]i6986[21]=i6986[22]&&(&&(&&(&&(&&(&&(!(=(i6986[21], 0)), >(+(i5816[21], 1), 0)), <(+(i5816[21], 1), i4[21])), >(i5816[21], 0)), <(i5816[21], i4[21])), >(i5824[21], 0)), >(+(+(i5816[21], 1), 1), 0))=TRUEi5816[21]=i5816[22]i5824[21]=i5824[22]LOAD34990ARR8(java.lang.Object(ARRAY(i4[21], a115115data[21])), i5816[21], i5824[21], java.lang.Object(java.lang.String(i6986[21])))≥NonInfC∧LOAD34990ARR8(java.lang.Object(ARRAY(i4[21], a115115data[21])), i5816[21], i5824[21], java.lang.Object(java.lang.String(i6986[21])))≥COND_LOAD34990ARR8(&&(&&(&&(&&(&&(&&(!(=(i6986[21], 0)), >(+(i5816[21], 1), 0)), <(+(i5816[21], 1), i4[21])), >(i5816[21], 0)), <(i5816[21], i4[21])), >(i5824[21], 0)), >(+(+(i5816[21], 1), 1), 0)), java.lang.Object(ARRAY(i4[21], a115115data[21])), i5816[21], i5824[21], java.lang.Object(java.lang.String(i6986[21])))∧(UIncreasing(COND_LOAD34990ARR8(&&(&&(&&(&&(&&(&&(!(=(i6986[21], 0)), >(+(i5816[21], 1), 0)), <(+(i5816[21], 1), i4[21])), >(i5816[21], 0)), <(i5816[21], i4[21])), >(i5824[21], 0)), >(+(+(i5816[21], 1), 1), 0)), java.lang.Object(ARRAY(i4[21], a115115data[21])), i5816[21], i5824[21], java.lang.Object(java.lang.String(i6986[21])))), ≥))



    We simplified constraint (192) using rules (IV), (IDP_BOOLEAN) which results in the following new constraints:

    (193)    (>(+(+(i5816[21], 1), 1), 0)=TRUE>(i5824[21], 0)=TRUE<(i5816[21], i4[21])=TRUE>(i5816[21], 0)=TRUE<(+(i5816[21], 1), i4[21])=TRUE>(+(i5816[21], 1), 0)=TRUE<(i6986[21], 0)=TRUELOAD34990ARR8(java.lang.Object(ARRAY(i4[21], a115115data[21])), i5816[21], i5824[21], java.lang.Object(java.lang.String(i6986[21])))≥NonInfC∧LOAD34990ARR8(java.lang.Object(ARRAY(i4[21], a115115data[21])), i5816[21], i5824[21], java.lang.Object(java.lang.String(i6986[21])))≥COND_LOAD34990ARR8(&&(&&(&&(&&(&&(&&(!(=(i6986[21], 0)), >(+(i5816[21], 1), 0)), <(+(i5816[21], 1), i4[21])), >(i5816[21], 0)), <(i5816[21], i4[21])), >(i5824[21], 0)), >(+(+(i5816[21], 1), 1), 0)), java.lang.Object(ARRAY(i4[21], a115115data[21])), i5816[21], i5824[21], java.lang.Object(java.lang.String(i6986[21])))∧(UIncreasing(COND_LOAD34990ARR8(&&(&&(&&(&&(&&(&&(!(=(i6986[21], 0)), >(+(i5816[21], 1), 0)), <(+(i5816[21], 1), i4[21])), >(i5816[21], 0)), <(i5816[21], i4[21])), >(i5824[21], 0)), >(+(+(i5816[21], 1), 1), 0)), java.lang.Object(ARRAY(i4[21], a115115data[21])), i5816[21], i5824[21], java.lang.Object(java.lang.String(i6986[21])))), ≥))


    (194)    (>(+(+(i5816[21], 1), 1), 0)=TRUE>(i5824[21], 0)=TRUE<(i5816[21], i4[21])=TRUE>(i5816[21], 0)=TRUE<(+(i5816[21], 1), i4[21])=TRUE>(+(i5816[21], 1), 0)=TRUE>(i6986[21], 0)=TRUELOAD34990ARR8(java.lang.Object(ARRAY(i4[21], a115115data[21])), i5816[21], i5824[21], java.lang.Object(java.lang.String(i6986[21])))≥NonInfC∧LOAD34990ARR8(java.lang.Object(ARRAY(i4[21], a115115data[21])), i5816[21], i5824[21], java.lang.Object(java.lang.String(i6986[21])))≥COND_LOAD34990ARR8(&&(&&(&&(&&(&&(&&(!(=(i6986[21], 0)), >(+(i5816[21], 1), 0)), <(+(i5816[21], 1), i4[21])), >(i5816[21], 0)), <(i5816[21], i4[21])), >(i5824[21], 0)), >(+(+(i5816[21], 1), 1), 0)), java.lang.Object(ARRAY(i4[21], a115115data[21])), i5816[21], i5824[21], java.lang.Object(java.lang.String(i6986[21])))∧(UIncreasing(COND_LOAD34990ARR8(&&(&&(&&(&&(&&(&&(!(=(i6986[21], 0)), >(+(i5816[21], 1), 0)), <(+(i5816[21], 1), i4[21])), >(i5816[21], 0)), <(i5816[21], i4[21])), >(i5824[21], 0)), >(+(+(i5816[21], 1), 1), 0)), java.lang.Object(ARRAY(i4[21], a115115data[21])), i5816[21], i5824[21], java.lang.Object(java.lang.String(i6986[21])))), ≥))



    We simplified constraint (193) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (195)    (i5816[21] + [1] ≥ 0∧i5824[21] + [-1] ≥ 0∧i4[21] + [-1] + [-1]i5816[21] ≥ 0∧i5816[21] + [-1] ≥ 0∧i4[21] + [-2] + [-1]i5816[21] ≥ 0∧i5816[21] ≥ 0∧[-1] + [-1]i6986[21] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR8(&&(&&(&&(&&(&&(&&(!(=(i6986[21], 0)), >(+(i5816[21], 1), 0)), <(+(i5816[21], 1), i4[21])), >(i5816[21], 0)), <(i5816[21], i4[21])), >(i5824[21], 0)), >(+(+(i5816[21], 1), 1), 0)), java.lang.Object(ARRAY(i4[21], a115115data[21])), i5816[21], i5824[21], java.lang.Object(java.lang.String(i6986[21])))), ≥)∧[(-1)Bound*bni_85] + [bni_85]i5824[21] + [(-1)bni_85]i5816[21] + [bni_85]i4[21] ≥ 0∧[(-1)bso_86] ≥ 0)



    We simplified constraint (194) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (196)    (i5816[21] + [1] ≥ 0∧i5824[21] + [-1] ≥ 0∧i4[21] + [-1] + [-1]i5816[21] ≥ 0∧i5816[21] + [-1] ≥ 0∧i4[21] + [-2] + [-1]i5816[21] ≥ 0∧i5816[21] ≥ 0∧i6986[21] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR8(&&(&&(&&(&&(&&(&&(!(=(i6986[21], 0)), >(+(i5816[21], 1), 0)), <(+(i5816[21], 1), i4[21])), >(i5816[21], 0)), <(i5816[21], i4[21])), >(i5824[21], 0)), >(+(+(i5816[21], 1), 1), 0)), java.lang.Object(ARRAY(i4[21], a115115data[21])), i5816[21], i5824[21], java.lang.Object(java.lang.String(i6986[21])))), ≥)∧[(-1)Bound*bni_85] + [bni_85]i5824[21] + [(-1)bni_85]i5816[21] + [bni_85]i4[21] ≥ 0∧[(-1)bso_86] ≥ 0)



    We simplified constraint (195) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (197)    (i5816[21] + [1] ≥ 0∧i5824[21] + [-1] ≥ 0∧i4[21] + [-1] + [-1]i5816[21] ≥ 0∧i5816[21] + [-1] ≥ 0∧i4[21] + [-2] + [-1]i5816[21] ≥ 0∧i5816[21] ≥ 0∧[-1] + [-1]i6986[21] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR8(&&(&&(&&(&&(&&(&&(!(=(i6986[21], 0)), >(+(i5816[21], 1), 0)), <(+(i5816[21], 1), i4[21])), >(i5816[21], 0)), <(i5816[21], i4[21])), >(i5824[21], 0)), >(+(+(i5816[21], 1), 1), 0)), java.lang.Object(ARRAY(i4[21], a115115data[21])), i5816[21], i5824[21], java.lang.Object(java.lang.String(i6986[21])))), ≥)∧[(-1)Bound*bni_85] + [bni_85]i5824[21] + [(-1)bni_85]i5816[21] + [bni_85]i4[21] ≥ 0∧[(-1)bso_86] ≥ 0)



    We simplified constraint (196) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (198)    (i5816[21] + [1] ≥ 0∧i5824[21] + [-1] ≥ 0∧i4[21] + [-1] + [-1]i5816[21] ≥ 0∧i5816[21] + [-1] ≥ 0∧i4[21] + [-2] + [-1]i5816[21] ≥ 0∧i5816[21] ≥ 0∧i6986[21] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR8(&&(&&(&&(&&(&&(&&(!(=(i6986[21], 0)), >(+(i5816[21], 1), 0)), <(+(i5816[21], 1), i4[21])), >(i5816[21], 0)), <(i5816[21], i4[21])), >(i5824[21], 0)), >(+(+(i5816[21], 1), 1), 0)), java.lang.Object(ARRAY(i4[21], a115115data[21])), i5816[21], i5824[21], java.lang.Object(java.lang.String(i6986[21])))), ≥)∧[(-1)Bound*bni_85] + [bni_85]i5824[21] + [(-1)bni_85]i5816[21] + [bni_85]i4[21] ≥ 0∧[(-1)bso_86] ≥ 0)



    We simplified constraint (197) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (199)    (i5816[21] + [1] ≥ 0∧i5824[21] + [-1] ≥ 0∧i4[21] + [-1] + [-1]i5816[21] ≥ 0∧i5816[21] + [-1] ≥ 0∧i4[21] + [-2] + [-1]i5816[21] ≥ 0∧i5816[21] ≥ 0∧[-1] + [-1]i6986[21] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR8(&&(&&(&&(&&(&&(&&(!(=(i6986[21], 0)), >(+(i5816[21], 1), 0)), <(+(i5816[21], 1), i4[21])), >(i5816[21], 0)), <(i5816[21], i4[21])), >(i5824[21], 0)), >(+(+(i5816[21], 1), 1), 0)), java.lang.Object(ARRAY(i4[21], a115115data[21])), i5816[21], i5824[21], java.lang.Object(java.lang.String(i6986[21])))), ≥)∧[(-1)Bound*bni_85] + [bni_85]i5824[21] + [(-1)bni_85]i5816[21] + [bni_85]i4[21] ≥ 0∧[(-1)bso_86] ≥ 0)



    We simplified constraint (198) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (200)    (i5816[21] + [1] ≥ 0∧i5824[21] + [-1] ≥ 0∧i4[21] + [-1] + [-1]i5816[21] ≥ 0∧i5816[21] + [-1] ≥ 0∧i4[21] + [-2] + [-1]i5816[21] ≥ 0∧i5816[21] ≥ 0∧i6986[21] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR8(&&(&&(&&(&&(&&(&&(!(=(i6986[21], 0)), >(+(i5816[21], 1), 0)), <(+(i5816[21], 1), i4[21])), >(i5816[21], 0)), <(i5816[21], i4[21])), >(i5824[21], 0)), >(+(+(i5816[21], 1), 1), 0)), java.lang.Object(ARRAY(i4[21], a115115data[21])), i5816[21], i5824[21], java.lang.Object(java.lang.String(i6986[21])))), ≥)∧[(-1)Bound*bni_85] + [bni_85]i5824[21] + [(-1)bni_85]i5816[21] + [bni_85]i4[21] ≥ 0∧[(-1)bso_86] ≥ 0)



    We simplified constraint (199) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (201)    (i5816[21] + [1] ≥ 0∧i5824[21] + [-1] ≥ 0∧i4[21] + [-1] + [-1]i5816[21] ≥ 0∧i5816[21] + [-1] ≥ 0∧i4[21] + [-2] + [-1]i5816[21] ≥ 0∧i5816[21] ≥ 0∧[-1] + [-1]i6986[21] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR8(&&(&&(&&(&&(&&(&&(!(=(i6986[21], 0)), >(+(i5816[21], 1), 0)), <(+(i5816[21], 1), i4[21])), >(i5816[21], 0)), <(i5816[21], i4[21])), >(i5824[21], 0)), >(+(+(i5816[21], 1), 1), 0)), java.lang.Object(ARRAY(i4[21], a115115data[21])), i5816[21], i5824[21], java.lang.Object(java.lang.String(i6986[21])))), ≥)∧0 = 0∧[(-1)Bound*bni_85] + [bni_85]i5824[21] + [(-1)bni_85]i5816[21] + [bni_85]i4[21] ≥ 0∧0 = 0∧[(-1)bso_86] ≥ 0)



    We simplified constraint (200) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (202)    (i5816[21] + [1] ≥ 0∧i5824[21] + [-1] ≥ 0∧i4[21] + [-1] + [-1]i5816[21] ≥ 0∧i5816[21] + [-1] ≥ 0∧i4[21] + [-2] + [-1]i5816[21] ≥ 0∧i5816[21] ≥ 0∧i6986[21] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR8(&&(&&(&&(&&(&&(&&(!(=(i6986[21], 0)), >(+(i5816[21], 1), 0)), <(+(i5816[21], 1), i4[21])), >(i5816[21], 0)), <(i5816[21], i4[21])), >(i5824[21], 0)), >(+(+(i5816[21], 1), 1), 0)), java.lang.Object(ARRAY(i4[21], a115115data[21])), i5816[21], i5824[21], java.lang.Object(java.lang.String(i6986[21])))), ≥)∧0 = 0∧[(-1)Bound*bni_85] + [bni_85]i5824[21] + [(-1)bni_85]i5816[21] + [bni_85]i4[21] ≥ 0∧0 = 0∧[(-1)bso_86] ≥ 0)



    We simplified constraint (201) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (203)    ([2] + i5816[21] ≥ 0∧i5824[21] + [-1] ≥ 0∧i4[21] + [-2] + [-1]i5816[21] ≥ 0∧i5816[21] ≥ 0∧i4[21] + [-3] + [-1]i5816[21] ≥ 0∧[1] + i5816[21] ≥ 0∧[-1] + [-1]i6986[21] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR8(&&(&&(&&(&&(&&(&&(!(=(i6986[21], 0)), >(+(i5816[21], 1), 0)), <(+(i5816[21], 1), i4[21])), >(i5816[21], 0)), <(i5816[21], i4[21])), >(i5824[21], 0)), >(+(+(i5816[21], 1), 1), 0)), java.lang.Object(ARRAY(i4[21], a115115data[21])), i5816[21], i5824[21], java.lang.Object(java.lang.String(i6986[21])))), ≥)∧0 = 0∧[(-1)Bound*bni_85 + (-1)bni_85] + [bni_85]i5824[21] + [(-1)bni_85]i5816[21] + [bni_85]i4[21] ≥ 0∧0 = 0∧[(-1)bso_86] ≥ 0)



    We simplified constraint (203) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (204)    ([2] + i5816[21] ≥ 0∧i5824[21] ≥ 0∧i4[21] + [-2] + [-1]i5816[21] ≥ 0∧i5816[21] ≥ 0∧i4[21] + [-3] + [-1]i5816[21] ≥ 0∧[1] + i5816[21] ≥ 0∧[-1] + [-1]i6986[21] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR8(&&(&&(&&(&&(&&(&&(!(=(i6986[21], 0)), >(+(i5816[21], 1), 0)), <(+(i5816[21], 1), i4[21])), >(i5816[21], 0)), <(i5816[21], i4[21])), >(i5824[21], 0)), >(+(+(i5816[21], 1), 1), 0)), java.lang.Object(ARRAY(i4[21], a115115data[21])), i5816[21], i5824[21], java.lang.Object(java.lang.String(i6986[21])))), ≥)∧0 = 0∧[(-1)Bound*bni_85] + [bni_85]i5824[21] + [(-1)bni_85]i5816[21] + [bni_85]i4[21] ≥ 0∧0 = 0∧[(-1)bso_86] ≥ 0)



    We simplified constraint (204) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (205)    ([2] + i5816[21] ≥ 0∧i5824[21] ≥ 0∧i4[21] ≥ 0∧i5816[21] ≥ 0∧[-1] + i4[21] ≥ 0∧[1] + i5816[21] ≥ 0∧[-1] + [-1]i6986[21] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR8(&&(&&(&&(&&(&&(&&(!(=(i6986[21], 0)), >(+(i5816[21], 1), 0)), <(+(i5816[21], 1), i4[21])), >(i5816[21], 0)), <(i5816[21], i4[21])), >(i5824[21], 0)), >(+(+(i5816[21], 1), 1), 0)), java.lang.Object(ARRAY(i4[21], a115115data[21])), i5816[21], i5824[21], java.lang.Object(java.lang.String(i6986[21])))), ≥)∧0 = 0∧[(-1)Bound*bni_85 + (2)bni_85] + [bni_85]i5824[21] + [bni_85]i4[21] ≥ 0∧0 = 0∧[(-1)bso_86] ≥ 0)



    We simplified constraint (205) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (206)    ([2] + i5816[21] ≥ 0∧i5824[21] ≥ 0∧[1] + i4[21] ≥ 0∧i5816[21] ≥ 0∧i4[21] ≥ 0∧[1] + i5816[21] ≥ 0∧[-1] + [-1]i6986[21] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR8(&&(&&(&&(&&(&&(&&(!(=(i6986[21], 0)), >(+(i5816[21], 1), 0)), <(+(i5816[21], 1), i4[21])), >(i5816[21], 0)), <(i5816[21], i4[21])), >(i5824[21], 0)), >(+(+(i5816[21], 1), 1), 0)), java.lang.Object(ARRAY(i4[21], a115115data[21])), i5816[21], i5824[21], java.lang.Object(java.lang.String(i6986[21])))), ≥)∧0 = 0∧[(-1)Bound*bni_85 + (3)bni_85] + [bni_85]i5824[21] + [bni_85]i4[21] ≥ 0∧0 = 0∧[(-1)bso_86] ≥ 0)



    We simplified constraint (206) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (207)    ([2] + i5816[21] ≥ 0∧i5824[21] ≥ 0∧[1] + i4[21] ≥ 0∧i5816[21] ≥ 0∧i4[21] ≥ 0∧[1] + i5816[21] ≥ 0∧i6986[21] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR8(&&(&&(&&(&&(&&(&&(!(=(i6986[21], 0)), >(+(i5816[21], 1), 0)), <(+(i5816[21], 1), i4[21])), >(i5816[21], 0)), <(i5816[21], i4[21])), >(i5824[21], 0)), >(+(+(i5816[21], 1), 1), 0)), java.lang.Object(ARRAY(i4[21], a115115data[21])), i5816[21], i5824[21], java.lang.Object(java.lang.String(i6986[21])))), ≥)∧0 = 0∧[(-1)Bound*bni_85 + (3)bni_85] + [bni_85]i5824[21] + [bni_85]i4[21] ≥ 0∧0 = 0∧[(-1)bso_86] ≥ 0)



    We simplified constraint (202) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (208)    ([2] + i5816[21] ≥ 0∧i5824[21] + [-1] ≥ 0∧i4[21] + [-2] + [-1]i5816[21] ≥ 0∧i5816[21] ≥ 0∧i4[21] + [-3] + [-1]i5816[21] ≥ 0∧[1] + i5816[21] ≥ 0∧i6986[21] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR8(&&(&&(&&(&&(&&(&&(!(=(i6986[21], 0)), >(+(i5816[21], 1), 0)), <(+(i5816[21], 1), i4[21])), >(i5816[21], 0)), <(i5816[21], i4[21])), >(i5824[21], 0)), >(+(+(i5816[21], 1), 1), 0)), java.lang.Object(ARRAY(i4[21], a115115data[21])), i5816[21], i5824[21], java.lang.Object(java.lang.String(i6986[21])))), ≥)∧0 = 0∧[(-1)Bound*bni_85 + (-1)bni_85] + [bni_85]i5824[21] + [(-1)bni_85]i5816[21] + [bni_85]i4[21] ≥ 0∧0 = 0∧[(-1)bso_86] ≥ 0)



    We simplified constraint (208) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (209)    ([2] + i5816[21] ≥ 0∧i5824[21] ≥ 0∧i4[21] + [-2] + [-1]i5816[21] ≥ 0∧i5816[21] ≥ 0∧i4[21] + [-3] + [-1]i5816[21] ≥ 0∧[1] + i5816[21] ≥ 0∧i6986[21] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR8(&&(&&(&&(&&(&&(&&(!(=(i6986[21], 0)), >(+(i5816[21], 1), 0)), <(+(i5816[21], 1), i4[21])), >(i5816[21], 0)), <(i5816[21], i4[21])), >(i5824[21], 0)), >(+(+(i5816[21], 1), 1), 0)), java.lang.Object(ARRAY(i4[21], a115115data[21])), i5816[21], i5824[21], java.lang.Object(java.lang.String(i6986[21])))), ≥)∧0 = 0∧[(-1)Bound*bni_85] + [bni_85]i5824[21] + [(-1)bni_85]i5816[21] + [bni_85]i4[21] ≥ 0∧0 = 0∧[(-1)bso_86] ≥ 0)



    We simplified constraint (209) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (210)    ([2] + i5816[21] ≥ 0∧i5824[21] ≥ 0∧i4[21] ≥ 0∧i5816[21] ≥ 0∧[-1] + i4[21] ≥ 0∧[1] + i5816[21] ≥ 0∧i6986[21] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR8(&&(&&(&&(&&(&&(&&(!(=(i6986[21], 0)), >(+(i5816[21], 1), 0)), <(+(i5816[21], 1), i4[21])), >(i5816[21], 0)), <(i5816[21], i4[21])), >(i5824[21], 0)), >(+(+(i5816[21], 1), 1), 0)), java.lang.Object(ARRAY(i4[21], a115115data[21])), i5816[21], i5824[21], java.lang.Object(java.lang.String(i6986[21])))), ≥)∧0 = 0∧[(-1)Bound*bni_85 + (2)bni_85] + [bni_85]i5824[21] + [bni_85]i4[21] ≥ 0∧0 = 0∧[(-1)bso_86] ≥ 0)



    We simplified constraint (210) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (211)    ([2] + i5816[21] ≥ 0∧i5824[21] ≥ 0∧[1] + i4[21] ≥ 0∧i5816[21] ≥ 0∧i4[21] ≥ 0∧[1] + i5816[21] ≥ 0∧i6986[21] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR8(&&(&&(&&(&&(&&(&&(!(=(i6986[21], 0)), >(+(i5816[21], 1), 0)), <(+(i5816[21], 1), i4[21])), >(i5816[21], 0)), <(i5816[21], i4[21])), >(i5824[21], 0)), >(+(+(i5816[21], 1), 1), 0)), java.lang.Object(ARRAY(i4[21], a115115data[21])), i5816[21], i5824[21], java.lang.Object(java.lang.String(i6986[21])))), ≥)∧0 = 0∧[(-1)Bound*bni_85 + (3)bni_85] + [bni_85]i5824[21] + [bni_85]i4[21] ≥ 0∧0 = 0∧[(-1)bso_86] ≥ 0)



    We simplified constraint (211) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (212)    ([2] + i5816[21] ≥ 0∧i5824[21] ≥ 0∧[1] + i4[21] ≥ 0∧i5816[21] ≥ 0∧i4[21] ≥ 0∧[1] + i5816[21] ≥ 0∧i6986[21] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR8(&&(&&(&&(&&(&&(&&(!(=(i6986[21], 0)), >(+(i5816[21], 1), 0)), <(+(i5816[21], 1), i4[21])), >(i5816[21], 0)), <(i5816[21], i4[21])), >(i5824[21], 0)), >(+(+(i5816[21], 1), 1), 0)), java.lang.Object(ARRAY(i4[21], a115115data[21])), i5816[21], i5824[21], java.lang.Object(java.lang.String(i6986[21])))), ≥)∧0 = 0∧[(-1)Bound*bni_85 + (3)bni_85] + [bni_85]i5824[21] + [bni_85]i4[21] ≥ 0∧0 = 0∧[(-1)bso_86] ≥ 0)







For Pair COND_LOAD34990ARR8(TRUE, java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i6986))) → NEW39186(java.lang.Object(ARRAY(i4, a115115data)), +(+(i5816, 1), 1), i5824) the following chains were created:
  • We consider the chain COND_LOAD34990ARR8(TRUE, java.lang.Object(ARRAY(i4[22], a115115data[22])), i5816[22], i5824[22], java.lang.Object(java.lang.String(i6986[22]))) → NEW39186(java.lang.Object(ARRAY(i4[22], a115115data[22])), +(+(i5816[22], 1), 1), i5824[22]) which results in the following constraint:

    (213)    (COND_LOAD34990ARR8(TRUE, java.lang.Object(ARRAY(i4[22], a115115data[22])), i5816[22], i5824[22], java.lang.Object(java.lang.String(i6986[22])))≥NonInfC∧COND_LOAD34990ARR8(TRUE, java.lang.Object(ARRAY(i4[22], a115115data[22])), i5816[22], i5824[22], java.lang.Object(java.lang.String(i6986[22])))≥NEW39186(java.lang.Object(ARRAY(i4[22], a115115data[22])), +(+(i5816[22], 1), 1), i5824[22])∧(UIncreasing(NEW39186(java.lang.Object(ARRAY(i4[22], a115115data[22])), +(+(i5816[22], 1), 1), i5824[22])), ≥))



    We simplified constraint (213) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (214)    ((UIncreasing(NEW39186(java.lang.Object(ARRAY(i4[22], a115115data[22])), +(+(i5816[22], 1), 1), i5824[22])), ≥)∧[(-1)bso_88] ≥ 0)



    We simplified constraint (214) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (215)    ((UIncreasing(NEW39186(java.lang.Object(ARRAY(i4[22], a115115data[22])), +(+(i5816[22], 1), 1), i5824[22])), ≥)∧[(-1)bso_88] ≥ 0)



    We simplified constraint (215) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (216)    ((UIncreasing(NEW39186(java.lang.Object(ARRAY(i4[22], a115115data[22])), +(+(i5816[22], 1), 1), i5824[22])), ≥)∧[(-1)bso_88] ≥ 0)



    We simplified constraint (216) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (217)    ((UIncreasing(NEW39186(java.lang.Object(ARRAY(i4[22], a115115data[22])), +(+(i5816[22], 1), 1), i5824[22])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_88] ≥ 0)







For Pair LOAD34990(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824) → LOAD34990ARR9(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i6164))) the following chains were created:
  • We consider the chain LOAD34990(java.lang.Object(ARRAY(i4[23], a115115data[23])), i5816[23], i5824[23]) → LOAD34990ARR9(java.lang.Object(ARRAY(i4[23], a115115data[23])), i5816[23], i5824[23], java.lang.Object(java.lang.String(i6164[23]))) which results in the following constraint:

    (218)    (LOAD34990(java.lang.Object(ARRAY(i4[23], a115115data[23])), i5816[23], i5824[23])≥NonInfC∧LOAD34990(java.lang.Object(ARRAY(i4[23], a115115data[23])), i5816[23], i5824[23])≥LOAD34990ARR9(java.lang.Object(ARRAY(i4[23], a115115data[23])), i5816[23], i5824[23], java.lang.Object(java.lang.String(i6164[23])))∧(UIncreasing(LOAD34990ARR9(java.lang.Object(ARRAY(i4[23], a115115data[23])), i5816[23], i5824[23], java.lang.Object(java.lang.String(i6164[23])))), ≥))



    We simplified constraint (218) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (219)    ((UIncreasing(LOAD34990ARR9(java.lang.Object(ARRAY(i4[23], a115115data[23])), i5816[23], i5824[23], java.lang.Object(java.lang.String(i6164[23])))), ≥)∧[(-1)bso_90] ≥ 0)



    We simplified constraint (219) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (220)    ((UIncreasing(LOAD34990ARR9(java.lang.Object(ARRAY(i4[23], a115115data[23])), i5816[23], i5824[23], java.lang.Object(java.lang.String(i6164[23])))), ≥)∧[(-1)bso_90] ≥ 0)



    We simplified constraint (220) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (221)    ((UIncreasing(LOAD34990ARR9(java.lang.Object(ARRAY(i4[23], a115115data[23])), i5816[23], i5824[23], java.lang.Object(java.lang.String(i6164[23])))), ≥)∧[(-1)bso_90] ≥ 0)



    We simplified constraint (221) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (222)    ((UIncreasing(LOAD34990ARR9(java.lang.Object(ARRAY(i4[23], a115115data[23])), i5816[23], i5824[23], java.lang.Object(java.lang.String(i6164[23])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_90] ≥ 0)







For Pair LOAD34990ARR9(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i6164))) → COND_LOAD34990ARR9(&&(&&(&&(&&(&&(&&(>(+(i5816, 1), 0), <(+(i5816, 1), i4)), !(=(i6164, 0))), >(i5816, 0)), <(i5816, i4)), >(i5824, 0)), >(+(+(i5816, 1), 1), 0)), java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i6164))) the following chains were created:
  • We consider the chain LOAD34990ARR9(java.lang.Object(ARRAY(i4[24], a115115data[24])), i5816[24], i5824[24], java.lang.Object(java.lang.String(i6164[24]))) → COND_LOAD34990ARR9(&&(&&(&&(&&(&&(&&(>(+(i5816[24], 1), 0), <(+(i5816[24], 1), i4[24])), !(=(i6164[24], 0))), >(i5816[24], 0)), <(i5816[24], i4[24])), >(i5824[24], 0)), >(+(+(i5816[24], 1), 1), 0)), java.lang.Object(ARRAY(i4[24], a115115data[24])), i5816[24], i5824[24], java.lang.Object(java.lang.String(i6164[24]))), COND_LOAD34990ARR9(TRUE, java.lang.Object(ARRAY(i4[25], a115115data[25])), i5816[25], i5824[25], java.lang.Object(java.lang.String(i6164[25]))) → NEW40288(java.lang.Object(ARRAY(i4[25], a115115data[25])), +(+(i5816[25], 1), 1), i5824[25]) which results in the following constraint:

    (223)    (i4[24]=i4[25]a115115data[24]=a115115data[25]&&(&&(&&(&&(&&(&&(>(+(i5816[24], 1), 0), <(+(i5816[24], 1), i4[24])), !(=(i6164[24], 0))), >(i5816[24], 0)), <(i5816[24], i4[24])), >(i5824[24], 0)), >(+(+(i5816[24], 1), 1), 0))=TRUEi6164[24]=i6164[25]i5816[24]=i5816[25]i5824[24]=i5824[25]LOAD34990ARR9(java.lang.Object(ARRAY(i4[24], a115115data[24])), i5816[24], i5824[24], java.lang.Object(java.lang.String(i6164[24])))≥NonInfC∧LOAD34990ARR9(java.lang.Object(ARRAY(i4[24], a115115data[24])), i5816[24], i5824[24], java.lang.Object(java.lang.String(i6164[24])))≥COND_LOAD34990ARR9(&&(&&(&&(&&(&&(&&(>(+(i5816[24], 1), 0), <(+(i5816[24], 1), i4[24])), !(=(i6164[24], 0))), >(i5816[24], 0)), <(i5816[24], i4[24])), >(i5824[24], 0)), >(+(+(i5816[24], 1), 1), 0)), java.lang.Object(ARRAY(i4[24], a115115data[24])), i5816[24], i5824[24], java.lang.Object(java.lang.String(i6164[24])))∧(UIncreasing(COND_LOAD34990ARR9(&&(&&(&&(&&(&&(&&(>(+(i5816[24], 1), 0), <(+(i5816[24], 1), i4[24])), !(=(i6164[24], 0))), >(i5816[24], 0)), <(i5816[24], i4[24])), >(i5824[24], 0)), >(+(+(i5816[24], 1), 1), 0)), java.lang.Object(ARRAY(i4[24], a115115data[24])), i5816[24], i5824[24], java.lang.Object(java.lang.String(i6164[24])))), ≥))



    We simplified constraint (223) using rules (IV), (IDP_BOOLEAN) which results in the following new constraints:

    (224)    (>(+(+(i5816[24], 1), 1), 0)=TRUE>(i5824[24], 0)=TRUE<(i5816[24], i4[24])=TRUE>(i5816[24], 0)=TRUE>(+(i5816[24], 1), 0)=TRUE<(+(i5816[24], 1), i4[24])=TRUE<(i6164[24], 0)=TRUELOAD34990ARR9(java.lang.Object(ARRAY(i4[24], a115115data[24])), i5816[24], i5824[24], java.lang.Object(java.lang.String(i6164[24])))≥NonInfC∧LOAD34990ARR9(java.lang.Object(ARRAY(i4[24], a115115data[24])), i5816[24], i5824[24], java.lang.Object(java.lang.String(i6164[24])))≥COND_LOAD34990ARR9(&&(&&(&&(&&(&&(&&(>(+(i5816[24], 1), 0), <(+(i5816[24], 1), i4[24])), !(=(i6164[24], 0))), >(i5816[24], 0)), <(i5816[24], i4[24])), >(i5824[24], 0)), >(+(+(i5816[24], 1), 1), 0)), java.lang.Object(ARRAY(i4[24], a115115data[24])), i5816[24], i5824[24], java.lang.Object(java.lang.String(i6164[24])))∧(UIncreasing(COND_LOAD34990ARR9(&&(&&(&&(&&(&&(&&(>(+(i5816[24], 1), 0), <(+(i5816[24], 1), i4[24])), !(=(i6164[24], 0))), >(i5816[24], 0)), <(i5816[24], i4[24])), >(i5824[24], 0)), >(+(+(i5816[24], 1), 1), 0)), java.lang.Object(ARRAY(i4[24], a115115data[24])), i5816[24], i5824[24], java.lang.Object(java.lang.String(i6164[24])))), ≥))


    (225)    (>(+(+(i5816[24], 1), 1), 0)=TRUE>(i5824[24], 0)=TRUE<(i5816[24], i4[24])=TRUE>(i5816[24], 0)=TRUE>(+(i5816[24], 1), 0)=TRUE<(+(i5816[24], 1), i4[24])=TRUE>(i6164[24], 0)=TRUELOAD34990ARR9(java.lang.Object(ARRAY(i4[24], a115115data[24])), i5816[24], i5824[24], java.lang.Object(java.lang.String(i6164[24])))≥NonInfC∧LOAD34990ARR9(java.lang.Object(ARRAY(i4[24], a115115data[24])), i5816[24], i5824[24], java.lang.Object(java.lang.String(i6164[24])))≥COND_LOAD34990ARR9(&&(&&(&&(&&(&&(&&(>(+(i5816[24], 1), 0), <(+(i5816[24], 1), i4[24])), !(=(i6164[24], 0))), >(i5816[24], 0)), <(i5816[24], i4[24])), >(i5824[24], 0)), >(+(+(i5816[24], 1), 1), 0)), java.lang.Object(ARRAY(i4[24], a115115data[24])), i5816[24], i5824[24], java.lang.Object(java.lang.String(i6164[24])))∧(UIncreasing(COND_LOAD34990ARR9(&&(&&(&&(&&(&&(&&(>(+(i5816[24], 1), 0), <(+(i5816[24], 1), i4[24])), !(=(i6164[24], 0))), >(i5816[24], 0)), <(i5816[24], i4[24])), >(i5824[24], 0)), >(+(+(i5816[24], 1), 1), 0)), java.lang.Object(ARRAY(i4[24], a115115data[24])), i5816[24], i5824[24], java.lang.Object(java.lang.String(i6164[24])))), ≥))



    We simplified constraint (224) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (226)    (i5816[24] + [1] ≥ 0∧i5824[24] + [-1] ≥ 0∧i4[24] + [-1] + [-1]i5816[24] ≥ 0∧i5816[24] + [-1] ≥ 0∧i5816[24] ≥ 0∧i4[24] + [-2] + [-1]i5816[24] ≥ 0∧[-1] + [-1]i6164[24] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR9(&&(&&(&&(&&(&&(&&(>(+(i5816[24], 1), 0), <(+(i5816[24], 1), i4[24])), !(=(i6164[24], 0))), >(i5816[24], 0)), <(i5816[24], i4[24])), >(i5824[24], 0)), >(+(+(i5816[24], 1), 1), 0)), java.lang.Object(ARRAY(i4[24], a115115data[24])), i5816[24], i5824[24], java.lang.Object(java.lang.String(i6164[24])))), ≥)∧[(-1)Bound*bni_91] + [bni_91]i5824[24] + [(-1)bni_91]i5816[24] + [bni_91]i4[24] ≥ 0∧[(-1)bso_92] ≥ 0)



    We simplified constraint (225) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (227)    (i5816[24] + [1] ≥ 0∧i5824[24] + [-1] ≥ 0∧i4[24] + [-1] + [-1]i5816[24] ≥ 0∧i5816[24] + [-1] ≥ 0∧i5816[24] ≥ 0∧i4[24] + [-2] + [-1]i5816[24] ≥ 0∧i6164[24] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR9(&&(&&(&&(&&(&&(&&(>(+(i5816[24], 1), 0), <(+(i5816[24], 1), i4[24])), !(=(i6164[24], 0))), >(i5816[24], 0)), <(i5816[24], i4[24])), >(i5824[24], 0)), >(+(+(i5816[24], 1), 1), 0)), java.lang.Object(ARRAY(i4[24], a115115data[24])), i5816[24], i5824[24], java.lang.Object(java.lang.String(i6164[24])))), ≥)∧[(-1)Bound*bni_91] + [bni_91]i5824[24] + [(-1)bni_91]i5816[24] + [bni_91]i4[24] ≥ 0∧[(-1)bso_92] ≥ 0)



    We simplified constraint (226) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (228)    (i5816[24] + [1] ≥ 0∧i5824[24] + [-1] ≥ 0∧i4[24] + [-1] + [-1]i5816[24] ≥ 0∧i5816[24] + [-1] ≥ 0∧i5816[24] ≥ 0∧i4[24] + [-2] + [-1]i5816[24] ≥ 0∧[-1] + [-1]i6164[24] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR9(&&(&&(&&(&&(&&(&&(>(+(i5816[24], 1), 0), <(+(i5816[24], 1), i4[24])), !(=(i6164[24], 0))), >(i5816[24], 0)), <(i5816[24], i4[24])), >(i5824[24], 0)), >(+(+(i5816[24], 1), 1), 0)), java.lang.Object(ARRAY(i4[24], a115115data[24])), i5816[24], i5824[24], java.lang.Object(java.lang.String(i6164[24])))), ≥)∧[(-1)Bound*bni_91] + [bni_91]i5824[24] + [(-1)bni_91]i5816[24] + [bni_91]i4[24] ≥ 0∧[(-1)bso_92] ≥ 0)



    We simplified constraint (227) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (229)    (i5816[24] + [1] ≥ 0∧i5824[24] + [-1] ≥ 0∧i4[24] + [-1] + [-1]i5816[24] ≥ 0∧i5816[24] + [-1] ≥ 0∧i5816[24] ≥ 0∧i4[24] + [-2] + [-1]i5816[24] ≥ 0∧i6164[24] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR9(&&(&&(&&(&&(&&(&&(>(+(i5816[24], 1), 0), <(+(i5816[24], 1), i4[24])), !(=(i6164[24], 0))), >(i5816[24], 0)), <(i5816[24], i4[24])), >(i5824[24], 0)), >(+(+(i5816[24], 1), 1), 0)), java.lang.Object(ARRAY(i4[24], a115115data[24])), i5816[24], i5824[24], java.lang.Object(java.lang.String(i6164[24])))), ≥)∧[(-1)Bound*bni_91] + [bni_91]i5824[24] + [(-1)bni_91]i5816[24] + [bni_91]i4[24] ≥ 0∧[(-1)bso_92] ≥ 0)



    We simplified constraint (228) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (230)    (i5816[24] + [1] ≥ 0∧i5824[24] + [-1] ≥ 0∧i4[24] + [-1] + [-1]i5816[24] ≥ 0∧i5816[24] + [-1] ≥ 0∧i5816[24] ≥ 0∧i4[24] + [-2] + [-1]i5816[24] ≥ 0∧[-1] + [-1]i6164[24] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR9(&&(&&(&&(&&(&&(&&(>(+(i5816[24], 1), 0), <(+(i5816[24], 1), i4[24])), !(=(i6164[24], 0))), >(i5816[24], 0)), <(i5816[24], i4[24])), >(i5824[24], 0)), >(+(+(i5816[24], 1), 1), 0)), java.lang.Object(ARRAY(i4[24], a115115data[24])), i5816[24], i5824[24], java.lang.Object(java.lang.String(i6164[24])))), ≥)∧[(-1)Bound*bni_91] + [bni_91]i5824[24] + [(-1)bni_91]i5816[24] + [bni_91]i4[24] ≥ 0∧[(-1)bso_92] ≥ 0)



    We simplified constraint (229) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (231)    (i5816[24] + [1] ≥ 0∧i5824[24] + [-1] ≥ 0∧i4[24] + [-1] + [-1]i5816[24] ≥ 0∧i5816[24] + [-1] ≥ 0∧i5816[24] ≥ 0∧i4[24] + [-2] + [-1]i5816[24] ≥ 0∧i6164[24] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR9(&&(&&(&&(&&(&&(&&(>(+(i5816[24], 1), 0), <(+(i5816[24], 1), i4[24])), !(=(i6164[24], 0))), >(i5816[24], 0)), <(i5816[24], i4[24])), >(i5824[24], 0)), >(+(+(i5816[24], 1), 1), 0)), java.lang.Object(ARRAY(i4[24], a115115data[24])), i5816[24], i5824[24], java.lang.Object(java.lang.String(i6164[24])))), ≥)∧[(-1)Bound*bni_91] + [bni_91]i5824[24] + [(-1)bni_91]i5816[24] + [bni_91]i4[24] ≥ 0∧[(-1)bso_92] ≥ 0)



    We simplified constraint (230) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (232)    (i5816[24] + [1] ≥ 0∧i5824[24] + [-1] ≥ 0∧i4[24] + [-1] + [-1]i5816[24] ≥ 0∧i5816[24] + [-1] ≥ 0∧i5816[24] ≥ 0∧i4[24] + [-2] + [-1]i5816[24] ≥ 0∧[-1] + [-1]i6164[24] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR9(&&(&&(&&(&&(&&(&&(>(+(i5816[24], 1), 0), <(+(i5816[24], 1), i4[24])), !(=(i6164[24], 0))), >(i5816[24], 0)), <(i5816[24], i4[24])), >(i5824[24], 0)), >(+(+(i5816[24], 1), 1), 0)), java.lang.Object(ARRAY(i4[24], a115115data[24])), i5816[24], i5824[24], java.lang.Object(java.lang.String(i6164[24])))), ≥)∧0 = 0∧[(-1)Bound*bni_91] + [bni_91]i5824[24] + [(-1)bni_91]i5816[24] + [bni_91]i4[24] ≥ 0∧0 = 0∧[(-1)bso_92] ≥ 0)



    We simplified constraint (231) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (233)    (i5816[24] + [1] ≥ 0∧i5824[24] + [-1] ≥ 0∧i4[24] + [-1] + [-1]i5816[24] ≥ 0∧i5816[24] + [-1] ≥ 0∧i5816[24] ≥ 0∧i4[24] + [-2] + [-1]i5816[24] ≥ 0∧i6164[24] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR9(&&(&&(&&(&&(&&(&&(>(+(i5816[24], 1), 0), <(+(i5816[24], 1), i4[24])), !(=(i6164[24], 0))), >(i5816[24], 0)), <(i5816[24], i4[24])), >(i5824[24], 0)), >(+(+(i5816[24], 1), 1), 0)), java.lang.Object(ARRAY(i4[24], a115115data[24])), i5816[24], i5824[24], java.lang.Object(java.lang.String(i6164[24])))), ≥)∧0 = 0∧[(-1)Bound*bni_91] + [bni_91]i5824[24] + [(-1)bni_91]i5816[24] + [bni_91]i4[24] ≥ 0∧0 = 0∧[(-1)bso_92] ≥ 0)



    We simplified constraint (232) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (234)    ([2] + i5816[24] ≥ 0∧i5824[24] + [-1] ≥ 0∧i4[24] + [-2] + [-1]i5816[24] ≥ 0∧i5816[24] ≥ 0∧[1] + i5816[24] ≥ 0∧i4[24] + [-3] + [-1]i5816[24] ≥ 0∧[-1] + [-1]i6164[24] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR9(&&(&&(&&(&&(&&(&&(>(+(i5816[24], 1), 0), <(+(i5816[24], 1), i4[24])), !(=(i6164[24], 0))), >(i5816[24], 0)), <(i5816[24], i4[24])), >(i5824[24], 0)), >(+(+(i5816[24], 1), 1), 0)), java.lang.Object(ARRAY(i4[24], a115115data[24])), i5816[24], i5824[24], java.lang.Object(java.lang.String(i6164[24])))), ≥)∧0 = 0∧[(-1)Bound*bni_91 + (-1)bni_91] + [bni_91]i5824[24] + [(-1)bni_91]i5816[24] + [bni_91]i4[24] ≥ 0∧0 = 0∧[(-1)bso_92] ≥ 0)



    We simplified constraint (234) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (235)    ([2] + i5816[24] ≥ 0∧i5824[24] ≥ 0∧i4[24] + [-2] + [-1]i5816[24] ≥ 0∧i5816[24] ≥ 0∧[1] + i5816[24] ≥ 0∧i4[24] + [-3] + [-1]i5816[24] ≥ 0∧[-1] + [-1]i6164[24] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR9(&&(&&(&&(&&(&&(&&(>(+(i5816[24], 1), 0), <(+(i5816[24], 1), i4[24])), !(=(i6164[24], 0))), >(i5816[24], 0)), <(i5816[24], i4[24])), >(i5824[24], 0)), >(+(+(i5816[24], 1), 1), 0)), java.lang.Object(ARRAY(i4[24], a115115data[24])), i5816[24], i5824[24], java.lang.Object(java.lang.String(i6164[24])))), ≥)∧0 = 0∧[(-1)Bound*bni_91] + [bni_91]i5824[24] + [(-1)bni_91]i5816[24] + [bni_91]i4[24] ≥ 0∧0 = 0∧[(-1)bso_92] ≥ 0)



    We simplified constraint (235) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (236)    ([2] + i5816[24] ≥ 0∧i5824[24] ≥ 0∧i4[24] ≥ 0∧i5816[24] ≥ 0∧[1] + i5816[24] ≥ 0∧[-1] + i4[24] ≥ 0∧[-1] + [-1]i6164[24] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR9(&&(&&(&&(&&(&&(&&(>(+(i5816[24], 1), 0), <(+(i5816[24], 1), i4[24])), !(=(i6164[24], 0))), >(i5816[24], 0)), <(i5816[24], i4[24])), >(i5824[24], 0)), >(+(+(i5816[24], 1), 1), 0)), java.lang.Object(ARRAY(i4[24], a115115data[24])), i5816[24], i5824[24], java.lang.Object(java.lang.String(i6164[24])))), ≥)∧0 = 0∧[(-1)Bound*bni_91 + (2)bni_91] + [bni_91]i5824[24] + [bni_91]i4[24] ≥ 0∧0 = 0∧[(-1)bso_92] ≥ 0)



    We simplified constraint (236) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (237)    ([2] + i5816[24] ≥ 0∧i5824[24] ≥ 0∧[1] + i4[24] ≥ 0∧i5816[24] ≥ 0∧[1] + i5816[24] ≥ 0∧i4[24] ≥ 0∧[-1] + [-1]i6164[24] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR9(&&(&&(&&(&&(&&(&&(>(+(i5816[24], 1), 0), <(+(i5816[24], 1), i4[24])), !(=(i6164[24], 0))), >(i5816[24], 0)), <(i5816[24], i4[24])), >(i5824[24], 0)), >(+(+(i5816[24], 1), 1), 0)), java.lang.Object(ARRAY(i4[24], a115115data[24])), i5816[24], i5824[24], java.lang.Object(java.lang.String(i6164[24])))), ≥)∧0 = 0∧[(-1)Bound*bni_91 + (3)bni_91] + [bni_91]i5824[24] + [bni_91]i4[24] ≥ 0∧0 = 0∧[(-1)bso_92] ≥ 0)



    We simplified constraint (237) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (238)    ([2] + i5816[24] ≥ 0∧i5824[24] ≥ 0∧[1] + i4[24] ≥ 0∧i5816[24] ≥ 0∧[1] + i5816[24] ≥ 0∧i4[24] ≥ 0∧i6164[24] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR9(&&(&&(&&(&&(&&(&&(>(+(i5816[24], 1), 0), <(+(i5816[24], 1), i4[24])), !(=(i6164[24], 0))), >(i5816[24], 0)), <(i5816[24], i4[24])), >(i5824[24], 0)), >(+(+(i5816[24], 1), 1), 0)), java.lang.Object(ARRAY(i4[24], a115115data[24])), i5816[24], i5824[24], java.lang.Object(java.lang.String(i6164[24])))), ≥)∧0 = 0∧[(-1)Bound*bni_91 + (3)bni_91] + [bni_91]i5824[24] + [bni_91]i4[24] ≥ 0∧0 = 0∧[(-1)bso_92] ≥ 0)



    We simplified constraint (233) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (239)    ([2] + i5816[24] ≥ 0∧i5824[24] + [-1] ≥ 0∧i4[24] + [-2] + [-1]i5816[24] ≥ 0∧i5816[24] ≥ 0∧[1] + i5816[24] ≥ 0∧i4[24] + [-3] + [-1]i5816[24] ≥ 0∧i6164[24] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR9(&&(&&(&&(&&(&&(&&(>(+(i5816[24], 1), 0), <(+(i5816[24], 1), i4[24])), !(=(i6164[24], 0))), >(i5816[24], 0)), <(i5816[24], i4[24])), >(i5824[24], 0)), >(+(+(i5816[24], 1), 1), 0)), java.lang.Object(ARRAY(i4[24], a115115data[24])), i5816[24], i5824[24], java.lang.Object(java.lang.String(i6164[24])))), ≥)∧0 = 0∧[(-1)Bound*bni_91 + (-1)bni_91] + [bni_91]i5824[24] + [(-1)bni_91]i5816[24] + [bni_91]i4[24] ≥ 0∧0 = 0∧[(-1)bso_92] ≥ 0)



    We simplified constraint (239) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (240)    ([2] + i5816[24] ≥ 0∧i5824[24] ≥ 0∧i4[24] + [-2] + [-1]i5816[24] ≥ 0∧i5816[24] ≥ 0∧[1] + i5816[24] ≥ 0∧i4[24] + [-3] + [-1]i5816[24] ≥ 0∧i6164[24] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR9(&&(&&(&&(&&(&&(&&(>(+(i5816[24], 1), 0), <(+(i5816[24], 1), i4[24])), !(=(i6164[24], 0))), >(i5816[24], 0)), <(i5816[24], i4[24])), >(i5824[24], 0)), >(+(+(i5816[24], 1), 1), 0)), java.lang.Object(ARRAY(i4[24], a115115data[24])), i5816[24], i5824[24], java.lang.Object(java.lang.String(i6164[24])))), ≥)∧0 = 0∧[(-1)Bound*bni_91] + [bni_91]i5824[24] + [(-1)bni_91]i5816[24] + [bni_91]i4[24] ≥ 0∧0 = 0∧[(-1)bso_92] ≥ 0)



    We simplified constraint (240) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (241)    ([2] + i5816[24] ≥ 0∧i5824[24] ≥ 0∧i4[24] ≥ 0∧i5816[24] ≥ 0∧[1] + i5816[24] ≥ 0∧[-1] + i4[24] ≥ 0∧i6164[24] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR9(&&(&&(&&(&&(&&(&&(>(+(i5816[24], 1), 0), <(+(i5816[24], 1), i4[24])), !(=(i6164[24], 0))), >(i5816[24], 0)), <(i5816[24], i4[24])), >(i5824[24], 0)), >(+(+(i5816[24], 1), 1), 0)), java.lang.Object(ARRAY(i4[24], a115115data[24])), i5816[24], i5824[24], java.lang.Object(java.lang.String(i6164[24])))), ≥)∧0 = 0∧[(-1)Bound*bni_91 + (2)bni_91] + [bni_91]i5824[24] + [bni_91]i4[24] ≥ 0∧0 = 0∧[(-1)bso_92] ≥ 0)



    We simplified constraint (241) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (242)    ([2] + i5816[24] ≥ 0∧i5824[24] ≥ 0∧[1] + i4[24] ≥ 0∧i5816[24] ≥ 0∧[1] + i5816[24] ≥ 0∧i4[24] ≥ 0∧i6164[24] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR9(&&(&&(&&(&&(&&(&&(>(+(i5816[24], 1), 0), <(+(i5816[24], 1), i4[24])), !(=(i6164[24], 0))), >(i5816[24], 0)), <(i5816[24], i4[24])), >(i5824[24], 0)), >(+(+(i5816[24], 1), 1), 0)), java.lang.Object(ARRAY(i4[24], a115115data[24])), i5816[24], i5824[24], java.lang.Object(java.lang.String(i6164[24])))), ≥)∧0 = 0∧[(-1)Bound*bni_91 + (3)bni_91] + [bni_91]i5824[24] + [bni_91]i4[24] ≥ 0∧0 = 0∧[(-1)bso_92] ≥ 0)



    We simplified constraint (242) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (243)    ([2] + i5816[24] ≥ 0∧i5824[24] ≥ 0∧[1] + i4[24] ≥ 0∧i5816[24] ≥ 0∧[1] + i5816[24] ≥ 0∧i4[24] ≥ 0∧i6164[24] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR9(&&(&&(&&(&&(&&(&&(>(+(i5816[24], 1), 0), <(+(i5816[24], 1), i4[24])), !(=(i6164[24], 0))), >(i5816[24], 0)), <(i5816[24], i4[24])), >(i5824[24], 0)), >(+(+(i5816[24], 1), 1), 0)), java.lang.Object(ARRAY(i4[24], a115115data[24])), i5816[24], i5824[24], java.lang.Object(java.lang.String(i6164[24])))), ≥)∧0 = 0∧[(-1)Bound*bni_91 + (3)bni_91] + [bni_91]i5824[24] + [bni_91]i4[24] ≥ 0∧0 = 0∧[(-1)bso_92] ≥ 0)







For Pair COND_LOAD34990ARR9(TRUE, java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i6164))) → NEW40288(java.lang.Object(ARRAY(i4, a115115data)), +(+(i5816, 1), 1), i5824) the following chains were created:
  • We consider the chain COND_LOAD34990ARR9(TRUE, java.lang.Object(ARRAY(i4[25], a115115data[25])), i5816[25], i5824[25], java.lang.Object(java.lang.String(i6164[25]))) → NEW40288(java.lang.Object(ARRAY(i4[25], a115115data[25])), +(+(i5816[25], 1), 1), i5824[25]) which results in the following constraint:

    (244)    (COND_LOAD34990ARR9(TRUE, java.lang.Object(ARRAY(i4[25], a115115data[25])), i5816[25], i5824[25], java.lang.Object(java.lang.String(i6164[25])))≥NonInfC∧COND_LOAD34990ARR9(TRUE, java.lang.Object(ARRAY(i4[25], a115115data[25])), i5816[25], i5824[25], java.lang.Object(java.lang.String(i6164[25])))≥NEW40288(java.lang.Object(ARRAY(i4[25], a115115data[25])), +(+(i5816[25], 1), 1), i5824[25])∧(UIncreasing(NEW40288(java.lang.Object(ARRAY(i4[25], a115115data[25])), +(+(i5816[25], 1), 1), i5824[25])), ≥))



    We simplified constraint (244) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (245)    ((UIncreasing(NEW40288(java.lang.Object(ARRAY(i4[25], a115115data[25])), +(+(i5816[25], 1), 1), i5824[25])), ≥)∧[2 + (-1)bso_94] ≥ 0)



    We simplified constraint (245) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (246)    ((UIncreasing(NEW40288(java.lang.Object(ARRAY(i4[25], a115115data[25])), +(+(i5816[25], 1), 1), i5824[25])), ≥)∧[2 + (-1)bso_94] ≥ 0)



    We simplified constraint (246) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (247)    ((UIncreasing(NEW40288(java.lang.Object(ARRAY(i4[25], a115115data[25])), +(+(i5816[25], 1), 1), i5824[25])), ≥)∧[2 + (-1)bso_94] ≥ 0)



    We simplified constraint (247) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (248)    ((UIncreasing(NEW40288(java.lang.Object(ARRAY(i4[25], a115115data[25])), +(+(i5816[25], 1), 1), i5824[25])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[2 + (-1)bso_94] ≥ 0)







For Pair LOAD34990(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824) → LOAD34990ARR10(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i7504)), java.lang.Object(java.lang.String(i6164))) the following chains were created:
  • We consider the chain LOAD34990(java.lang.Object(ARRAY(i4[26], a115115data[26])), i5816[26], i5824[26]) → LOAD34990ARR10(java.lang.Object(ARRAY(i4[26], a115115data[26])), i5816[26], i5824[26], java.lang.Object(java.lang.String(i7504[26])), java.lang.Object(java.lang.String(i6164[26]))) which results in the following constraint:

    (249)    (LOAD34990(java.lang.Object(ARRAY(i4[26], a115115data[26])), i5816[26], i5824[26])≥NonInfC∧LOAD34990(java.lang.Object(ARRAY(i4[26], a115115data[26])), i5816[26], i5824[26])≥LOAD34990ARR10(java.lang.Object(ARRAY(i4[26], a115115data[26])), i5816[26], i5824[26], java.lang.Object(java.lang.String(i7504[26])), java.lang.Object(java.lang.String(i6164[26])))∧(UIncreasing(LOAD34990ARR10(java.lang.Object(ARRAY(i4[26], a115115data[26])), i5816[26], i5824[26], java.lang.Object(java.lang.String(i7504[26])), java.lang.Object(java.lang.String(i6164[26])))), ≥))



    We simplified constraint (249) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (250)    ((UIncreasing(LOAD34990ARR10(java.lang.Object(ARRAY(i4[26], a115115data[26])), i5816[26], i5824[26], java.lang.Object(java.lang.String(i7504[26])), java.lang.Object(java.lang.String(i6164[26])))), ≥)∧[(-1)bso_96] ≥ 0)



    We simplified constraint (250) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (251)    ((UIncreasing(LOAD34990ARR10(java.lang.Object(ARRAY(i4[26], a115115data[26])), i5816[26], i5824[26], java.lang.Object(java.lang.String(i7504[26])), java.lang.Object(java.lang.String(i6164[26])))), ≥)∧[(-1)bso_96] ≥ 0)



    We simplified constraint (251) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (252)    ((UIncreasing(LOAD34990ARR10(java.lang.Object(ARRAY(i4[26], a115115data[26])), i5816[26], i5824[26], java.lang.Object(java.lang.String(i7504[26])), java.lang.Object(java.lang.String(i6164[26])))), ≥)∧[(-1)bso_96] ≥ 0)



    We simplified constraint (252) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (253)    ((UIncreasing(LOAD34990ARR10(java.lang.Object(ARRAY(i4[26], a115115data[26])), i5816[26], i5824[26], java.lang.Object(java.lang.String(i7504[26])), java.lang.Object(java.lang.String(i6164[26])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_96] ≥ 0)







For Pair LOAD34990ARR10(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i7504)), java.lang.Object(java.lang.String(i6164))) → COND_LOAD34990ARR10(&&(&&(&&(&&(&&(&&(&&(!(=(i7504, 0)), >(+(i5816, 1), 0)), <(+(i5816, 1), i4)), !(=(i6164, 0))), >(i5816, 0)), <(i5816, i4)), >(i5824, 0)), >(+(+(i5816, 1), 1), 0)), java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i7504)), java.lang.Object(java.lang.String(i6164))) the following chains were created:
  • We consider the chain LOAD34990ARR10(java.lang.Object(ARRAY(i4[27], a115115data[27])), i5816[27], i5824[27], java.lang.Object(java.lang.String(i7504[27])), java.lang.Object(java.lang.String(i6164[27]))) → COND_LOAD34990ARR10(&&(&&(&&(&&(&&(&&(&&(!(=(i7504[27], 0)), >(+(i5816[27], 1), 0)), <(+(i5816[27], 1), i4[27])), !(=(i6164[27], 0))), >(i5816[27], 0)), <(i5816[27], i4[27])), >(i5824[27], 0)), >(+(+(i5816[27], 1), 1), 0)), java.lang.Object(ARRAY(i4[27], a115115data[27])), i5816[27], i5824[27], java.lang.Object(java.lang.String(i7504[27])), java.lang.Object(java.lang.String(i6164[27]))), COND_LOAD34990ARR10(TRUE, java.lang.Object(ARRAY(i4[28], a115115data[28])), i5816[28], i5824[28], java.lang.Object(java.lang.String(i7504[28])), java.lang.Object(java.lang.String(i6164[28]))) → NEW40288(java.lang.Object(ARRAY(i4[28], a115115data[28])), +(+(i5816[28], 1), 1), i5824[28]) which results in the following constraint:

    (254)    (i5824[27]=i5824[28]&&(&&(&&(&&(&&(&&(&&(!(=(i7504[27], 0)), >(+(i5816[27], 1), 0)), <(+(i5816[27], 1), i4[27])), !(=(i6164[27], 0))), >(i5816[27], 0)), <(i5816[27], i4[27])), >(i5824[27], 0)), >(+(+(i5816[27], 1), 1), 0))=TRUEi7504[27]=i7504[28]i6164[27]=i6164[28]i5816[27]=i5816[28]i4[27]=i4[28]a115115data[27]=a115115data[28]LOAD34990ARR10(java.lang.Object(ARRAY(i4[27], a115115data[27])), i5816[27], i5824[27], java.lang.Object(java.lang.String(i7504[27])), java.lang.Object(java.lang.String(i6164[27])))≥NonInfC∧LOAD34990ARR10(java.lang.Object(ARRAY(i4[27], a115115data[27])), i5816[27], i5824[27], java.lang.Object(java.lang.String(i7504[27])), java.lang.Object(java.lang.String(i6164[27])))≥COND_LOAD34990ARR10(&&(&&(&&(&&(&&(&&(&&(!(=(i7504[27], 0)), >(+(i5816[27], 1), 0)), <(+(i5816[27], 1), i4[27])), !(=(i6164[27], 0))), >(i5816[27], 0)), <(i5816[27], i4[27])), >(i5824[27], 0)), >(+(+(i5816[27], 1), 1), 0)), java.lang.Object(ARRAY(i4[27], a115115data[27])), i5816[27], i5824[27], java.lang.Object(java.lang.String(i7504[27])), java.lang.Object(java.lang.String(i6164[27])))∧(UIncreasing(COND_LOAD34990ARR10(&&(&&(&&(&&(&&(&&(&&(!(=(i7504[27], 0)), >(+(i5816[27], 1), 0)), <(+(i5816[27], 1), i4[27])), !(=(i6164[27], 0))), >(i5816[27], 0)), <(i5816[27], i4[27])), >(i5824[27], 0)), >(+(+(i5816[27], 1), 1), 0)), java.lang.Object(ARRAY(i4[27], a115115data[27])), i5816[27], i5824[27], java.lang.Object(java.lang.String(i7504[27])), java.lang.Object(java.lang.String(i6164[27])))), ≥))



    We simplified constraint (254) using rules (IV), (IDP_BOOLEAN) which results in the following new constraints:

    (255)    (>(+(+(i5816[27], 1), 1), 0)=TRUE>(i5824[27], 0)=TRUE<(i5816[27], i4[27])=TRUE>(i5816[27], 0)=TRUE<(+(i5816[27], 1), i4[27])=TRUE>(+(i5816[27], 1), 0)=TRUE<(i6164[27], 0)=TRUE<(i7504[27], 0)=TRUELOAD34990ARR10(java.lang.Object(ARRAY(i4[27], a115115data[27])), i5816[27], i5824[27], java.lang.Object(java.lang.String(i7504[27])), java.lang.Object(java.lang.String(i6164[27])))≥NonInfC∧LOAD34990ARR10(java.lang.Object(ARRAY(i4[27], a115115data[27])), i5816[27], i5824[27], java.lang.Object(java.lang.String(i7504[27])), java.lang.Object(java.lang.String(i6164[27])))≥COND_LOAD34990ARR10(&&(&&(&&(&&(&&(&&(&&(!(=(i7504[27], 0)), >(+(i5816[27], 1), 0)), <(+(i5816[27], 1), i4[27])), !(=(i6164[27], 0))), >(i5816[27], 0)), <(i5816[27], i4[27])), >(i5824[27], 0)), >(+(+(i5816[27], 1), 1), 0)), java.lang.Object(ARRAY(i4[27], a115115data[27])), i5816[27], i5824[27], java.lang.Object(java.lang.String(i7504[27])), java.lang.Object(java.lang.String(i6164[27])))∧(UIncreasing(COND_LOAD34990ARR10(&&(&&(&&(&&(&&(&&(&&(!(=(i7504[27], 0)), >(+(i5816[27], 1), 0)), <(+(i5816[27], 1), i4[27])), !(=(i6164[27], 0))), >(i5816[27], 0)), <(i5816[27], i4[27])), >(i5824[27], 0)), >(+(+(i5816[27], 1), 1), 0)), java.lang.Object(ARRAY(i4[27], a115115data[27])), i5816[27], i5824[27], java.lang.Object(java.lang.String(i7504[27])), java.lang.Object(java.lang.String(i6164[27])))), ≥))


    (256)    (>(+(+(i5816[27], 1), 1), 0)=TRUE>(i5824[27], 0)=TRUE<(i5816[27], i4[27])=TRUE>(i5816[27], 0)=TRUE<(+(i5816[27], 1), i4[27])=TRUE>(+(i5816[27], 1), 0)=TRUE<(i6164[27], 0)=TRUE>(i7504[27], 0)=TRUELOAD34990ARR10(java.lang.Object(ARRAY(i4[27], a115115data[27])), i5816[27], i5824[27], java.lang.Object(java.lang.String(i7504[27])), java.lang.Object(java.lang.String(i6164[27])))≥NonInfC∧LOAD34990ARR10(java.lang.Object(ARRAY(i4[27], a115115data[27])), i5816[27], i5824[27], java.lang.Object(java.lang.String(i7504[27])), java.lang.Object(java.lang.String(i6164[27])))≥COND_LOAD34990ARR10(&&(&&(&&(&&(&&(&&(&&(!(=(i7504[27], 0)), >(+(i5816[27], 1), 0)), <(+(i5816[27], 1), i4[27])), !(=(i6164[27], 0))), >(i5816[27], 0)), <(i5816[27], i4[27])), >(i5824[27], 0)), >(+(+(i5816[27], 1), 1), 0)), java.lang.Object(ARRAY(i4[27], a115115data[27])), i5816[27], i5824[27], java.lang.Object(java.lang.String(i7504[27])), java.lang.Object(java.lang.String(i6164[27])))∧(UIncreasing(COND_LOAD34990ARR10(&&(&&(&&(&&(&&(&&(&&(!(=(i7504[27], 0)), >(+(i5816[27], 1), 0)), <(+(i5816[27], 1), i4[27])), !(=(i6164[27], 0))), >(i5816[27], 0)), <(i5816[27], i4[27])), >(i5824[27], 0)), >(+(+(i5816[27], 1), 1), 0)), java.lang.Object(ARRAY(i4[27], a115115data[27])), i5816[27], i5824[27], java.lang.Object(java.lang.String(i7504[27])), java.lang.Object(java.lang.String(i6164[27])))), ≥))



    We simplified constraint (255) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (257)    (i5816[27] + [1] ≥ 0∧i5824[27] + [-1] ≥ 0∧i4[27] + [-1] + [-1]i5816[27] ≥ 0∧i5816[27] + [-1] ≥ 0∧i4[27] + [-2] + [-1]i5816[27] ≥ 0∧i5816[27] ≥ 0∧[-1] + [-1]i6164[27] ≥ 0∧[-1] + [-1]i7504[27] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR10(&&(&&(&&(&&(&&(&&(&&(!(=(i7504[27], 0)), >(+(i5816[27], 1), 0)), <(+(i5816[27], 1), i4[27])), !(=(i6164[27], 0))), >(i5816[27], 0)), <(i5816[27], i4[27])), >(i5824[27], 0)), >(+(+(i5816[27], 1), 1), 0)), java.lang.Object(ARRAY(i4[27], a115115data[27])), i5816[27], i5824[27], java.lang.Object(java.lang.String(i7504[27])), java.lang.Object(java.lang.String(i6164[27])))), ≥)∧[(-1)Bound*bni_97] + [bni_97]i5824[27] + [(-1)bni_97]i5816[27] + [bni_97]i4[27] ≥ 0∧[(-1)bso_98] ≥ 0)



    We simplified constraint (256) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (258)    (i5816[27] + [1] ≥ 0∧i5824[27] + [-1] ≥ 0∧i4[27] + [-1] + [-1]i5816[27] ≥ 0∧i5816[27] + [-1] ≥ 0∧i4[27] + [-2] + [-1]i5816[27] ≥ 0∧i5816[27] ≥ 0∧[-1] + [-1]i6164[27] ≥ 0∧i7504[27] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR10(&&(&&(&&(&&(&&(&&(&&(!(=(i7504[27], 0)), >(+(i5816[27], 1), 0)), <(+(i5816[27], 1), i4[27])), !(=(i6164[27], 0))), >(i5816[27], 0)), <(i5816[27], i4[27])), >(i5824[27], 0)), >(+(+(i5816[27], 1), 1), 0)), java.lang.Object(ARRAY(i4[27], a115115data[27])), i5816[27], i5824[27], java.lang.Object(java.lang.String(i7504[27])), java.lang.Object(java.lang.String(i6164[27])))), ≥)∧[(-1)Bound*bni_97] + [bni_97]i5824[27] + [(-1)bni_97]i5816[27] + [bni_97]i4[27] ≥ 0∧[(-1)bso_98] ≥ 0)



    We simplified constraint (257) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (259)    (i5816[27] + [1] ≥ 0∧i5824[27] + [-1] ≥ 0∧i4[27] + [-1] + [-1]i5816[27] ≥ 0∧i5816[27] + [-1] ≥ 0∧i4[27] + [-2] + [-1]i5816[27] ≥ 0∧i5816[27] ≥ 0∧[-1] + [-1]i6164[27] ≥ 0∧[-1] + [-1]i7504[27] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR10(&&(&&(&&(&&(&&(&&(&&(!(=(i7504[27], 0)), >(+(i5816[27], 1), 0)), <(+(i5816[27], 1), i4[27])), !(=(i6164[27], 0))), >(i5816[27], 0)), <(i5816[27], i4[27])), >(i5824[27], 0)), >(+(+(i5816[27], 1), 1), 0)), java.lang.Object(ARRAY(i4[27], a115115data[27])), i5816[27], i5824[27], java.lang.Object(java.lang.String(i7504[27])), java.lang.Object(java.lang.String(i6164[27])))), ≥)∧[(-1)Bound*bni_97] + [bni_97]i5824[27] + [(-1)bni_97]i5816[27] + [bni_97]i4[27] ≥ 0∧[(-1)bso_98] ≥ 0)



    We simplified constraint (258) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (260)    (i5816[27] + [1] ≥ 0∧i5824[27] + [-1] ≥ 0∧i4[27] + [-1] + [-1]i5816[27] ≥ 0∧i5816[27] + [-1] ≥ 0∧i4[27] + [-2] + [-1]i5816[27] ≥ 0∧i5816[27] ≥ 0∧[-1] + [-1]i6164[27] ≥ 0∧i7504[27] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR10(&&(&&(&&(&&(&&(&&(&&(!(=(i7504[27], 0)), >(+(i5816[27], 1), 0)), <(+(i5816[27], 1), i4[27])), !(=(i6164[27], 0))), >(i5816[27], 0)), <(i5816[27], i4[27])), >(i5824[27], 0)), >(+(+(i5816[27], 1), 1), 0)), java.lang.Object(ARRAY(i4[27], a115115data[27])), i5816[27], i5824[27], java.lang.Object(java.lang.String(i7504[27])), java.lang.Object(java.lang.String(i6164[27])))), ≥)∧[(-1)Bound*bni_97] + [bni_97]i5824[27] + [(-1)bni_97]i5816[27] + [bni_97]i4[27] ≥ 0∧[(-1)bso_98] ≥ 0)



    We simplified constraint (261) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (262)    (i5816[27] + [1] ≥ 0∧i5824[27] + [-1] ≥ 0∧i4[27] + [-1] + [-1]i5816[27] ≥ 0∧i5816[27] + [-1] ≥ 0∧i4[27] + [-2] + [-1]i5816[27] ≥ 0∧i5816[27] ≥ 0∧i6164[27] + [-1] ≥ 0∧[-1] + [-1]i7504[27] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR10(&&(&&(&&(&&(&&(&&(&&(!(=(i7504[27], 0)), >(+(i5816[27], 1), 0)), <(+(i5816[27], 1), i4[27])), !(=(i6164[27], 0))), >(i5816[27], 0)), <(i5816[27], i4[27])), >(i5824[27], 0)), >(+(+(i5816[27], 1), 1), 0)), java.lang.Object(ARRAY(i4[27], a115115data[27])), i5816[27], i5824[27], java.lang.Object(java.lang.String(i7504[27])), java.lang.Object(java.lang.String(i6164[27])))), ≥)∧[(-1)Bound*bni_97] + [bni_97]i5824[27] + [(-1)bni_97]i5816[27] + [bni_97]i4[27] ≥ 0∧[(-1)bso_98] ≥ 0)



    We simplified constraint (263) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (264)    (i5816[27] + [1] ≥ 0∧i5824[27] + [-1] ≥ 0∧i4[27] + [-1] + [-1]i5816[27] ≥ 0∧i5816[27] + [-1] ≥ 0∧i4[27] + [-2] + [-1]i5816[27] ≥ 0∧i5816[27] ≥ 0∧i6164[27] + [-1] ≥ 0∧i7504[27] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR10(&&(&&(&&(&&(&&(&&(&&(!(=(i7504[27], 0)), >(+(i5816[27], 1), 0)), <(+(i5816[27], 1), i4[27])), !(=(i6164[27], 0))), >(i5816[27], 0)), <(i5816[27], i4[27])), >(i5824[27], 0)), >(+(+(i5816[27], 1), 1), 0)), java.lang.Object(ARRAY(i4[27], a115115data[27])), i5816[27], i5824[27], java.lang.Object(java.lang.String(i7504[27])), java.lang.Object(java.lang.String(i6164[27])))), ≥)∧[(-1)Bound*bni_97] + [bni_97]i5824[27] + [(-1)bni_97]i5816[27] + [bni_97]i4[27] ≥ 0∧[(-1)bso_98] ≥ 0)



    We simplified constraint (259) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (265)    (i5816[27] + [1] ≥ 0∧i5824[27] + [-1] ≥ 0∧i4[27] + [-1] + [-1]i5816[27] ≥ 0∧i5816[27] + [-1] ≥ 0∧i4[27] + [-2] + [-1]i5816[27] ≥ 0∧i5816[27] ≥ 0∧[-1] + [-1]i6164[27] ≥ 0∧[-1] + [-1]i7504[27] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR10(&&(&&(&&(&&(&&(&&(&&(!(=(i7504[27], 0)), >(+(i5816[27], 1), 0)), <(+(i5816[27], 1), i4[27])), !(=(i6164[27], 0))), >(i5816[27], 0)), <(i5816[27], i4[27])), >(i5824[27], 0)), >(+(+(i5816[27], 1), 1), 0)), java.lang.Object(ARRAY(i4[27], a115115data[27])), i5816[27], i5824[27], java.lang.Object(java.lang.String(i7504[27])), java.lang.Object(java.lang.String(i6164[27])))), ≥)∧[(-1)Bound*bni_97] + [bni_97]i5824[27] + [(-1)bni_97]i5816[27] + [bni_97]i4[27] ≥ 0∧[(-1)bso_98] ≥ 0)



    We simplified constraint (260) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (266)    (i5816[27] + [1] ≥ 0∧i5824[27] + [-1] ≥ 0∧i4[27] + [-1] + [-1]i5816[27] ≥ 0∧i5816[27] + [-1] ≥ 0∧i4[27] + [-2] + [-1]i5816[27] ≥ 0∧i5816[27] ≥ 0∧[-1] + [-1]i6164[27] ≥ 0∧i7504[27] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR10(&&(&&(&&(&&(&&(&&(&&(!(=(i7504[27], 0)), >(+(i5816[27], 1), 0)), <(+(i5816[27], 1), i4[27])), !(=(i6164[27], 0))), >(i5816[27], 0)), <(i5816[27], i4[27])), >(i5824[27], 0)), >(+(+(i5816[27], 1), 1), 0)), java.lang.Object(ARRAY(i4[27], a115115data[27])), i5816[27], i5824[27], java.lang.Object(java.lang.String(i7504[27])), java.lang.Object(java.lang.String(i6164[27])))), ≥)∧[(-1)Bound*bni_97] + [bni_97]i5824[27] + [(-1)bni_97]i5816[27] + [bni_97]i4[27] ≥ 0∧[(-1)bso_98] ≥ 0)



    We simplified constraint (262) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (267)    (i5816[27] + [1] ≥ 0∧i5824[27] + [-1] ≥ 0∧i4[27] + [-1] + [-1]i5816[27] ≥ 0∧i5816[27] + [-1] ≥ 0∧i4[27] + [-2] + [-1]i5816[27] ≥ 0∧i5816[27] ≥ 0∧i6164[27] + [-1] ≥ 0∧[-1] + [-1]i7504[27] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR10(&&(&&(&&(&&(&&(&&(&&(!(=(i7504[27], 0)), >(+(i5816[27], 1), 0)), <(+(i5816[27], 1), i4[27])), !(=(i6164[27], 0))), >(i5816[27], 0)), <(i5816[27], i4[27])), >(i5824[27], 0)), >(+(+(i5816[27], 1), 1), 0)), java.lang.Object(ARRAY(i4[27], a115115data[27])), i5816[27], i5824[27], java.lang.Object(java.lang.String(i7504[27])), java.lang.Object(java.lang.String(i6164[27])))), ≥)∧[(-1)Bound*bni_97] + [bni_97]i5824[27] + [(-1)bni_97]i5816[27] + [bni_97]i4[27] ≥ 0∧[(-1)bso_98] ≥ 0)



    We simplified constraint (264) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (268)    (i5816[27] + [1] ≥ 0∧i5824[27] + [-1] ≥ 0∧i4[27] + [-1] + [-1]i5816[27] ≥ 0∧i5816[27] + [-1] ≥ 0∧i4[27] + [-2] + [-1]i5816[27] ≥ 0∧i5816[27] ≥ 0∧i6164[27] + [-1] ≥ 0∧i7504[27] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR10(&&(&&(&&(&&(&&(&&(&&(!(=(i7504[27], 0)), >(+(i5816[27], 1), 0)), <(+(i5816[27], 1), i4[27])), !(=(i6164[27], 0))), >(i5816[27], 0)), <(i5816[27], i4[27])), >(i5824[27], 0)), >(+(+(i5816[27], 1), 1), 0)), java.lang.Object(ARRAY(i4[27], a115115data[27])), i5816[27], i5824[27], java.lang.Object(java.lang.String(i7504[27])), java.lang.Object(java.lang.String(i6164[27])))), ≥)∧[(-1)Bound*bni_97] + [bni_97]i5824[27] + [(-1)bni_97]i5816[27] + [bni_97]i4[27] ≥ 0∧[(-1)bso_98] ≥ 0)



    We simplified constraint (265) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (269)    (i5816[27] + [1] ≥ 0∧i5824[27] + [-1] ≥ 0∧i4[27] + [-1] + [-1]i5816[27] ≥ 0∧i5816[27] + [-1] ≥ 0∧i4[27] + [-2] + [-1]i5816[27] ≥ 0∧i5816[27] ≥ 0∧[-1] + [-1]i6164[27] ≥ 0∧[-1] + [-1]i7504[27] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR10(&&(&&(&&(&&(&&(&&(&&(!(=(i7504[27], 0)), >(+(i5816[27], 1), 0)), <(+(i5816[27], 1), i4[27])), !(=(i6164[27], 0))), >(i5816[27], 0)), <(i5816[27], i4[27])), >(i5824[27], 0)), >(+(+(i5816[27], 1), 1), 0)), java.lang.Object(ARRAY(i4[27], a115115data[27])), i5816[27], i5824[27], java.lang.Object(java.lang.String(i7504[27])), java.lang.Object(java.lang.String(i6164[27])))), ≥)∧0 = 0∧[(-1)Bound*bni_97] + [bni_97]i5824[27] + [(-1)bni_97]i5816[27] + [bni_97]i4[27] ≥ 0∧0 = 0∧[(-1)bso_98] ≥ 0)



    We simplified constraint (266) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (270)    (i5816[27] + [1] ≥ 0∧i5824[27] + [-1] ≥ 0∧i4[27] + [-1] + [-1]i5816[27] ≥ 0∧i5816[27] + [-1] ≥ 0∧i4[27] + [-2] + [-1]i5816[27] ≥ 0∧i5816[27] ≥ 0∧[-1] + [-1]i6164[27] ≥ 0∧i7504[27] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR10(&&(&&(&&(&&(&&(&&(&&(!(=(i7504[27], 0)), >(+(i5816[27], 1), 0)), <(+(i5816[27], 1), i4[27])), !(=(i6164[27], 0))), >(i5816[27], 0)), <(i5816[27], i4[27])), >(i5824[27], 0)), >(+(+(i5816[27], 1), 1), 0)), java.lang.Object(ARRAY(i4[27], a115115data[27])), i5816[27], i5824[27], java.lang.Object(java.lang.String(i7504[27])), java.lang.Object(java.lang.String(i6164[27])))), ≥)∧0 = 0∧[(-1)Bound*bni_97] + [bni_97]i5824[27] + [(-1)bni_97]i5816[27] + [bni_97]i4[27] ≥ 0∧0 = 0∧[(-1)bso_98] ≥ 0)



    We simplified constraint (267) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (271)    (i5816[27] + [1] ≥ 0∧i5824[27] + [-1] ≥ 0∧i4[27] + [-1] + [-1]i5816[27] ≥ 0∧i5816[27] + [-1] ≥ 0∧i4[27] + [-2] + [-1]i5816[27] ≥ 0∧i5816[27] ≥ 0∧i6164[27] + [-1] ≥ 0∧[-1] + [-1]i7504[27] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR10(&&(&&(&&(&&(&&(&&(&&(!(=(i7504[27], 0)), >(+(i5816[27], 1), 0)), <(+(i5816[27], 1), i4[27])), !(=(i6164[27], 0))), >(i5816[27], 0)), <(i5816[27], i4[27])), >(i5824[27], 0)), >(+(+(i5816[27], 1), 1), 0)), java.lang.Object(ARRAY(i4[27], a115115data[27])), i5816[27], i5824[27], java.lang.Object(java.lang.String(i7504[27])), java.lang.Object(java.lang.String(i6164[27])))), ≥)∧0 = 0∧[(-1)Bound*bni_97] + [bni_97]i5824[27] + [(-1)bni_97]i5816[27] + [bni_97]i4[27] ≥ 0∧0 = 0∧[(-1)bso_98] ≥ 0)



    We simplified constraint (268) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (272)    (i5816[27] + [1] ≥ 0∧i5824[27] + [-1] ≥ 0∧i4[27] + [-1] + [-1]i5816[27] ≥ 0∧i5816[27] + [-1] ≥ 0∧i4[27] + [-2] + [-1]i5816[27] ≥ 0∧i5816[27] ≥ 0∧i6164[27] + [-1] ≥ 0∧i7504[27] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR10(&&(&&(&&(&&(&&(&&(&&(!(=(i7504[27], 0)), >(+(i5816[27], 1), 0)), <(+(i5816[27], 1), i4[27])), !(=(i6164[27], 0))), >(i5816[27], 0)), <(i5816[27], i4[27])), >(i5824[27], 0)), >(+(+(i5816[27], 1), 1), 0)), java.lang.Object(ARRAY(i4[27], a115115data[27])), i5816[27], i5824[27], java.lang.Object(java.lang.String(i7504[27])), java.lang.Object(java.lang.String(i6164[27])))), ≥)∧0 = 0∧[(-1)Bound*bni_97] + [bni_97]i5824[27] + [(-1)bni_97]i5816[27] + [bni_97]i4[27] ≥ 0∧0 = 0∧[(-1)bso_98] ≥ 0)



    We simplified constraint (269) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (273)    ([2] + i5816[27] ≥ 0∧i5824[27] + [-1] ≥ 0∧i4[27] + [-2] + [-1]i5816[27] ≥ 0∧i5816[27] ≥ 0∧i4[27] + [-3] + [-1]i5816[27] ≥ 0∧[1] + i5816[27] ≥ 0∧[-1] + [-1]i6164[27] ≥ 0∧[-1] + [-1]i7504[27] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR10(&&(&&(&&(&&(&&(&&(&&(!(=(i7504[27], 0)), >(+(i5816[27], 1), 0)), <(+(i5816[27], 1), i4[27])), !(=(i6164[27], 0))), >(i5816[27], 0)), <(i5816[27], i4[27])), >(i5824[27], 0)), >(+(+(i5816[27], 1), 1), 0)), java.lang.Object(ARRAY(i4[27], a115115data[27])), i5816[27], i5824[27], java.lang.Object(java.lang.String(i7504[27])), java.lang.Object(java.lang.String(i6164[27])))), ≥)∧0 = 0∧[(-1)Bound*bni_97 + (-1)bni_97] + [bni_97]i5824[27] + [(-1)bni_97]i5816[27] + [bni_97]i4[27] ≥ 0∧0 = 0∧[(-1)bso_98] ≥ 0)



    We simplified constraint (273) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (274)    ([2] + i5816[27] ≥ 0∧i5824[27] ≥ 0∧i4[27] + [-2] + [-1]i5816[27] ≥ 0∧i5816[27] ≥ 0∧i4[27] + [-3] + [-1]i5816[27] ≥ 0∧[1] + i5816[27] ≥ 0∧[-1] + [-1]i6164[27] ≥ 0∧[-1] + [-1]i7504[27] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR10(&&(&&(&&(&&(&&(&&(&&(!(=(i7504[27], 0)), >(+(i5816[27], 1), 0)), <(+(i5816[27], 1), i4[27])), !(=(i6164[27], 0))), >(i5816[27], 0)), <(i5816[27], i4[27])), >(i5824[27], 0)), >(+(+(i5816[27], 1), 1), 0)), java.lang.Object(ARRAY(i4[27], a115115data[27])), i5816[27], i5824[27], java.lang.Object(java.lang.String(i7504[27])), java.lang.Object(java.lang.String(i6164[27])))), ≥)∧0 = 0∧[(-1)Bound*bni_97] + [bni_97]i5824[27] + [(-1)bni_97]i5816[27] + [bni_97]i4[27] ≥ 0∧0 = 0∧[(-1)bso_98] ≥ 0)



    We simplified constraint (274) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (275)    ([2] + i5816[27] ≥ 0∧i5824[27] ≥ 0∧i4[27] ≥ 0∧i5816[27] ≥ 0∧[-1] + i4[27] ≥ 0∧[1] + i5816[27] ≥ 0∧[-1] + [-1]i6164[27] ≥ 0∧[-1] + [-1]i7504[27] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR10(&&(&&(&&(&&(&&(&&(&&(!(=(i7504[27], 0)), >(+(i5816[27], 1), 0)), <(+(i5816[27], 1), i4[27])), !(=(i6164[27], 0))), >(i5816[27], 0)), <(i5816[27], i4[27])), >(i5824[27], 0)), >(+(+(i5816[27], 1), 1), 0)), java.lang.Object(ARRAY(i4[27], a115115data[27])), i5816[27], i5824[27], java.lang.Object(java.lang.String(i7504[27])), java.lang.Object(java.lang.String(i6164[27])))), ≥)∧0 = 0∧[(-1)Bound*bni_97 + (2)bni_97] + [bni_97]i5824[27] + [bni_97]i4[27] ≥ 0∧0 = 0∧[(-1)bso_98] ≥ 0)



    We simplified constraint (275) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (276)    ([2] + i5816[27] ≥ 0∧i5824[27] ≥ 0∧[1] + i4[27] ≥ 0∧i5816[27] ≥ 0∧i4[27] ≥ 0∧[1] + i5816[27] ≥ 0∧[-1] + [-1]i6164[27] ≥ 0∧[-1] + [-1]i7504[27] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR10(&&(&&(&&(&&(&&(&&(&&(!(=(i7504[27], 0)), >(+(i5816[27], 1), 0)), <(+(i5816[27], 1), i4[27])), !(=(i6164[27], 0))), >(i5816[27], 0)), <(i5816[27], i4[27])), >(i5824[27], 0)), >(+(+(i5816[27], 1), 1), 0)), java.lang.Object(ARRAY(i4[27], a115115data[27])), i5816[27], i5824[27], java.lang.Object(java.lang.String(i7504[27])), java.lang.Object(java.lang.String(i6164[27])))), ≥)∧0 = 0∧[(-1)Bound*bni_97 + (3)bni_97] + [bni_97]i5824[27] + [bni_97]i4[27] ≥ 0∧0 = 0∧[(-1)bso_98] ≥ 0)



    We simplified constraint (276) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (277)    ([2] + i5816[27] ≥ 0∧i5824[27] ≥ 0∧[1] + i4[27] ≥ 0∧i5816[27] ≥ 0∧i4[27] ≥ 0∧[1] + i5816[27] ≥ 0∧i6164[27] ≥ 0∧[-1] + [-1]i7504[27] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR10(&&(&&(&&(&&(&&(&&(&&(!(=(i7504[27], 0)), >(+(i5816[27], 1), 0)), <(+(i5816[27], 1), i4[27])), !(=(i6164[27], 0))), >(i5816[27], 0)), <(i5816[27], i4[27])), >(i5824[27], 0)), >(+(+(i5816[27], 1), 1), 0)), java.lang.Object(ARRAY(i4[27], a115115data[27])), i5816[27], i5824[27], java.lang.Object(java.lang.String(i7504[27])), java.lang.Object(java.lang.String(i6164[27])))), ≥)∧0 = 0∧[(-1)Bound*bni_97 + (3)bni_97] + [bni_97]i5824[27] + [bni_97]i4[27] ≥ 0∧0 = 0∧[(-1)bso_98] ≥ 0)



    We simplified constraint (277) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (278)    ([2] + i5816[27] ≥ 0∧i5824[27] ≥ 0∧[1] + i4[27] ≥ 0∧i5816[27] ≥ 0∧i4[27] ≥ 0∧[1] + i5816[27] ≥ 0∧i6164[27] ≥ 0∧i7504[27] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR10(&&(&&(&&(&&(&&(&&(&&(!(=(i7504[27], 0)), >(+(i5816[27], 1), 0)), <(+(i5816[27], 1), i4[27])), !(=(i6164[27], 0))), >(i5816[27], 0)), <(i5816[27], i4[27])), >(i5824[27], 0)), >(+(+(i5816[27], 1), 1), 0)), java.lang.Object(ARRAY(i4[27], a115115data[27])), i5816[27], i5824[27], java.lang.Object(java.lang.String(i7504[27])), java.lang.Object(java.lang.String(i6164[27])))), ≥)∧0 = 0∧[(-1)Bound*bni_97 + (3)bni_97] + [bni_97]i5824[27] + [bni_97]i4[27] ≥ 0∧0 = 0∧[(-1)bso_98] ≥ 0)



    We simplified constraint (270) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (279)    ([2] + i5816[27] ≥ 0∧i5824[27] + [-1] ≥ 0∧i4[27] + [-2] + [-1]i5816[27] ≥ 0∧i5816[27] ≥ 0∧i4[27] + [-3] + [-1]i5816[27] ≥ 0∧[1] + i5816[27] ≥ 0∧[-1] + [-1]i6164[27] ≥ 0∧i7504[27] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR10(&&(&&(&&(&&(&&(&&(&&(!(=(i7504[27], 0)), >(+(i5816[27], 1), 0)), <(+(i5816[27], 1), i4[27])), !(=(i6164[27], 0))), >(i5816[27], 0)), <(i5816[27], i4[27])), >(i5824[27], 0)), >(+(+(i5816[27], 1), 1), 0)), java.lang.Object(ARRAY(i4[27], a115115data[27])), i5816[27], i5824[27], java.lang.Object(java.lang.String(i7504[27])), java.lang.Object(java.lang.String(i6164[27])))), ≥)∧0 = 0∧[(-1)Bound*bni_97 + (-1)bni_97] + [bni_97]i5824[27] + [(-1)bni_97]i5816[27] + [bni_97]i4[27] ≥ 0∧0 = 0∧[(-1)bso_98] ≥ 0)



    We simplified constraint (279) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (280)    ([2] + i5816[27] ≥ 0∧i5824[27] ≥ 0∧i4[27] + [-2] + [-1]i5816[27] ≥ 0∧i5816[27] ≥ 0∧i4[27] + [-3] + [-1]i5816[27] ≥ 0∧[1] + i5816[27] ≥ 0∧[-1] + [-1]i6164[27] ≥ 0∧i7504[27] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR10(&&(&&(&&(&&(&&(&&(&&(!(=(i7504[27], 0)), >(+(i5816[27], 1), 0)), <(+(i5816[27], 1), i4[27])), !(=(i6164[27], 0))), >(i5816[27], 0)), <(i5816[27], i4[27])), >(i5824[27], 0)), >(+(+(i5816[27], 1), 1), 0)), java.lang.Object(ARRAY(i4[27], a115115data[27])), i5816[27], i5824[27], java.lang.Object(java.lang.String(i7504[27])), java.lang.Object(java.lang.String(i6164[27])))), ≥)∧0 = 0∧[(-1)Bound*bni_97] + [bni_97]i5824[27] + [(-1)bni_97]i5816[27] + [bni_97]i4[27] ≥ 0∧0 = 0∧[(-1)bso_98] ≥ 0)



    We simplified constraint (280) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (281)    ([2] + i5816[27] ≥ 0∧i5824[27] ≥ 0∧i4[27] ≥ 0∧i5816[27] ≥ 0∧[-1] + i4[27] ≥ 0∧[1] + i5816[27] ≥ 0∧[-1] + [-1]i6164[27] ≥ 0∧i7504[27] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR10(&&(&&(&&(&&(&&(&&(&&(!(=(i7504[27], 0)), >(+(i5816[27], 1), 0)), <(+(i5816[27], 1), i4[27])), !(=(i6164[27], 0))), >(i5816[27], 0)), <(i5816[27], i4[27])), >(i5824[27], 0)), >(+(+(i5816[27], 1), 1), 0)), java.lang.Object(ARRAY(i4[27], a115115data[27])), i5816[27], i5824[27], java.lang.Object(java.lang.String(i7504[27])), java.lang.Object(java.lang.String(i6164[27])))), ≥)∧0 = 0∧[(-1)Bound*bni_97 + (2)bni_97] + [bni_97]i5824[27] + [bni_97]i4[27] ≥ 0∧0 = 0∧[(-1)bso_98] ≥ 0)



    We simplified constraint (281) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (282)    ([2] + i5816[27] ≥ 0∧i5824[27] ≥ 0∧[1] + i4[27] ≥ 0∧i5816[27] ≥ 0∧i4[27] ≥ 0∧[1] + i5816[27] ≥ 0∧[-1] + [-1]i6164[27] ≥ 0∧i7504[27] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR10(&&(&&(&&(&&(&&(&&(&&(!(=(i7504[27], 0)), >(+(i5816[27], 1), 0)), <(+(i5816[27], 1), i4[27])), !(=(i6164[27], 0))), >(i5816[27], 0)), <(i5816[27], i4[27])), >(i5824[27], 0)), >(+(+(i5816[27], 1), 1), 0)), java.lang.Object(ARRAY(i4[27], a115115data[27])), i5816[27], i5824[27], java.lang.Object(java.lang.String(i7504[27])), java.lang.Object(java.lang.String(i6164[27])))), ≥)∧0 = 0∧[(-1)Bound*bni_97 + (3)bni_97] + [bni_97]i5824[27] + [bni_97]i4[27] ≥ 0∧0 = 0∧[(-1)bso_98] ≥ 0)



    We simplified constraint (282) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (283)    ([2] + i5816[27] ≥ 0∧i5824[27] ≥ 0∧[1] + i4[27] ≥ 0∧i5816[27] ≥ 0∧i4[27] ≥ 0∧[1] + i5816[27] ≥ 0∧i6164[27] ≥ 0∧i7504[27] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR10(&&(&&(&&(&&(&&(&&(&&(!(=(i7504[27], 0)), >(+(i5816[27], 1), 0)), <(+(i5816[27], 1), i4[27])), !(=(i6164[27], 0))), >(i5816[27], 0)), <(i5816[27], i4[27])), >(i5824[27], 0)), >(+(+(i5816[27], 1), 1), 0)), java.lang.Object(ARRAY(i4[27], a115115data[27])), i5816[27], i5824[27], java.lang.Object(java.lang.String(i7504[27])), java.lang.Object(java.lang.String(i6164[27])))), ≥)∧0 = 0∧[(-1)Bound*bni_97 + (3)bni_97] + [bni_97]i5824[27] + [bni_97]i4[27] ≥ 0∧0 = 0∧[(-1)bso_98] ≥ 0)



    We simplified constraint (283) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (284)    ([2] + i5816[27] ≥ 0∧i5824[27] ≥ 0∧[1] + i4[27] ≥ 0∧i5816[27] ≥ 0∧i4[27] ≥ 0∧[1] + i5816[27] ≥ 0∧i6164[27] ≥ 0∧i7504[27] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR10(&&(&&(&&(&&(&&(&&(&&(!(=(i7504[27], 0)), >(+(i5816[27], 1), 0)), <(+(i5816[27], 1), i4[27])), !(=(i6164[27], 0))), >(i5816[27], 0)), <(i5816[27], i4[27])), >(i5824[27], 0)), >(+(+(i5816[27], 1), 1), 0)), java.lang.Object(ARRAY(i4[27], a115115data[27])), i5816[27], i5824[27], java.lang.Object(java.lang.String(i7504[27])), java.lang.Object(java.lang.String(i6164[27])))), ≥)∧0 = 0∧[(-1)Bound*bni_97 + (3)bni_97] + [bni_97]i5824[27] + [bni_97]i4[27] ≥ 0∧0 = 0∧[(-1)bso_98] ≥ 0)



    We simplified constraint (271) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (285)    ([2] + i5816[27] ≥ 0∧i5824[27] + [-1] ≥ 0∧i4[27] + [-2] + [-1]i5816[27] ≥ 0∧i5816[27] ≥ 0∧i4[27] + [-3] + [-1]i5816[27] ≥ 0∧[1] + i5816[27] ≥ 0∧i6164[27] + [-1] ≥ 0∧[-1] + [-1]i7504[27] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR10(&&(&&(&&(&&(&&(&&(&&(!(=(i7504[27], 0)), >(+(i5816[27], 1), 0)), <(+(i5816[27], 1), i4[27])), !(=(i6164[27], 0))), >(i5816[27], 0)), <(i5816[27], i4[27])), >(i5824[27], 0)), >(+(+(i5816[27], 1), 1), 0)), java.lang.Object(ARRAY(i4[27], a115115data[27])), i5816[27], i5824[27], java.lang.Object(java.lang.String(i7504[27])), java.lang.Object(java.lang.String(i6164[27])))), ≥)∧0 = 0∧[(-1)Bound*bni_97 + (-1)bni_97] + [bni_97]i5824[27] + [(-1)bni_97]i5816[27] + [bni_97]i4[27] ≥ 0∧0 = 0∧[(-1)bso_98] ≥ 0)



    We simplified constraint (285) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (286)    ([2] + i5816[27] ≥ 0∧i5824[27] ≥ 0∧i4[27] + [-2] + [-1]i5816[27] ≥ 0∧i5816[27] ≥ 0∧i4[27] + [-3] + [-1]i5816[27] ≥ 0∧[1] + i5816[27] ≥ 0∧i6164[27] + [-1] ≥ 0∧[-1] + [-1]i7504[27] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR10(&&(&&(&&(&&(&&(&&(&&(!(=(i7504[27], 0)), >(+(i5816[27], 1), 0)), <(+(i5816[27], 1), i4[27])), !(=(i6164[27], 0))), >(i5816[27], 0)), <(i5816[27], i4[27])), >(i5824[27], 0)), >(+(+(i5816[27], 1), 1), 0)), java.lang.Object(ARRAY(i4[27], a115115data[27])), i5816[27], i5824[27], java.lang.Object(java.lang.String(i7504[27])), java.lang.Object(java.lang.String(i6164[27])))), ≥)∧0 = 0∧[(-1)Bound*bni_97] + [bni_97]i5824[27] + [(-1)bni_97]i5816[27] + [bni_97]i4[27] ≥ 0∧0 = 0∧[(-1)bso_98] ≥ 0)



    We simplified constraint (286) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (287)    ([2] + i5816[27] ≥ 0∧i5824[27] ≥ 0∧i4[27] ≥ 0∧i5816[27] ≥ 0∧[-1] + i4[27] ≥ 0∧[1] + i5816[27] ≥ 0∧i6164[27] + [-1] ≥ 0∧[-1] + [-1]i7504[27] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR10(&&(&&(&&(&&(&&(&&(&&(!(=(i7504[27], 0)), >(+(i5816[27], 1), 0)), <(+(i5816[27], 1), i4[27])), !(=(i6164[27], 0))), >(i5816[27], 0)), <(i5816[27], i4[27])), >(i5824[27], 0)), >(+(+(i5816[27], 1), 1), 0)), java.lang.Object(ARRAY(i4[27], a115115data[27])), i5816[27], i5824[27], java.lang.Object(java.lang.String(i7504[27])), java.lang.Object(java.lang.String(i6164[27])))), ≥)∧0 = 0∧[(-1)Bound*bni_97 + (2)bni_97] + [bni_97]i5824[27] + [bni_97]i4[27] ≥ 0∧0 = 0∧[(-1)bso_98] ≥ 0)



    We simplified constraint (287) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (288)    ([2] + i5816[27] ≥ 0∧i5824[27] ≥ 0∧[1] + i4[27] ≥ 0∧i5816[27] ≥ 0∧i4[27] ≥ 0∧[1] + i5816[27] ≥ 0∧i6164[27] + [-1] ≥ 0∧[-1] + [-1]i7504[27] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR10(&&(&&(&&(&&(&&(&&(&&(!(=(i7504[27], 0)), >(+(i5816[27], 1), 0)), <(+(i5816[27], 1), i4[27])), !(=(i6164[27], 0))), >(i5816[27], 0)), <(i5816[27], i4[27])), >(i5824[27], 0)), >(+(+(i5816[27], 1), 1), 0)), java.lang.Object(ARRAY(i4[27], a115115data[27])), i5816[27], i5824[27], java.lang.Object(java.lang.String(i7504[27])), java.lang.Object(java.lang.String(i6164[27])))), ≥)∧0 = 0∧[(-1)Bound*bni_97 + (3)bni_97] + [bni_97]i5824[27] + [bni_97]i4[27] ≥ 0∧0 = 0∧[(-1)bso_98] ≥ 0)



    We simplified constraint (288) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (289)    ([2] + i5816[27] ≥ 0∧i5824[27] ≥ 0∧[1] + i4[27] ≥ 0∧i5816[27] ≥ 0∧i4[27] ≥ 0∧[1] + i5816[27] ≥ 0∧i6164[27] ≥ 0∧[-1] + [-1]i7504[27] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR10(&&(&&(&&(&&(&&(&&(&&(!(=(i7504[27], 0)), >(+(i5816[27], 1), 0)), <(+(i5816[27], 1), i4[27])), !(=(i6164[27], 0))), >(i5816[27], 0)), <(i5816[27], i4[27])), >(i5824[27], 0)), >(+(+(i5816[27], 1), 1), 0)), java.lang.Object(ARRAY(i4[27], a115115data[27])), i5816[27], i5824[27], java.lang.Object(java.lang.String(i7504[27])), java.lang.Object(java.lang.String(i6164[27])))), ≥)∧0 = 0∧[(-1)Bound*bni_97 + (3)bni_97] + [bni_97]i5824[27] + [bni_97]i4[27] ≥ 0∧0 = 0∧[(-1)bso_98] ≥ 0)



    We simplified constraint (289) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (290)    ([2] + i5816[27] ≥ 0∧i5824[27] ≥ 0∧[1] + i4[27] ≥ 0∧i5816[27] ≥ 0∧i4[27] ≥ 0∧[1] + i5816[27] ≥ 0∧i6164[27] ≥ 0∧i7504[27] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR10(&&(&&(&&(&&(&&(&&(&&(!(=(i7504[27], 0)), >(+(i5816[27], 1), 0)), <(+(i5816[27], 1), i4[27])), !(=(i6164[27], 0))), >(i5816[27], 0)), <(i5816[27], i4[27])), >(i5824[27], 0)), >(+(+(i5816[27], 1), 1), 0)), java.lang.Object(ARRAY(i4[27], a115115data[27])), i5816[27], i5824[27], java.lang.Object(java.lang.String(i7504[27])), java.lang.Object(java.lang.String(i6164[27])))), ≥)∧0 = 0∧[(-1)Bound*bni_97 + (3)bni_97] + [bni_97]i5824[27] + [bni_97]i4[27] ≥ 0∧0 = 0∧[(-1)bso_98] ≥ 0)



    We simplified constraint (272) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (291)    ([2] + i5816[27] ≥ 0∧i5824[27] + [-1] ≥ 0∧i4[27] + [-2] + [-1]i5816[27] ≥ 0∧i5816[27] ≥ 0∧i4[27] + [-3] + [-1]i5816[27] ≥ 0∧[1] + i5816[27] ≥ 0∧i6164[27] + [-1] ≥ 0∧i7504[27] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR10(&&(&&(&&(&&(&&(&&(&&(!(=(i7504[27], 0)), >(+(i5816[27], 1), 0)), <(+(i5816[27], 1), i4[27])), !(=(i6164[27], 0))), >(i5816[27], 0)), <(i5816[27], i4[27])), >(i5824[27], 0)), >(+(+(i5816[27], 1), 1), 0)), java.lang.Object(ARRAY(i4[27], a115115data[27])), i5816[27], i5824[27], java.lang.Object(java.lang.String(i7504[27])), java.lang.Object(java.lang.String(i6164[27])))), ≥)∧0 = 0∧[(-1)Bound*bni_97 + (-1)bni_97] + [bni_97]i5824[27] + [(-1)bni_97]i5816[27] + [bni_97]i4[27] ≥ 0∧0 = 0∧[(-1)bso_98] ≥ 0)



    We simplified constraint (291) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (292)    ([2] + i5816[27] ≥ 0∧i5824[27] ≥ 0∧i4[27] + [-2] + [-1]i5816[27] ≥ 0∧i5816[27] ≥ 0∧i4[27] + [-3] + [-1]i5816[27] ≥ 0∧[1] + i5816[27] ≥ 0∧i6164[27] + [-1] ≥ 0∧i7504[27] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR10(&&(&&(&&(&&(&&(&&(&&(!(=(i7504[27], 0)), >(+(i5816[27], 1), 0)), <(+(i5816[27], 1), i4[27])), !(=(i6164[27], 0))), >(i5816[27], 0)), <(i5816[27], i4[27])), >(i5824[27], 0)), >(+(+(i5816[27], 1), 1), 0)), java.lang.Object(ARRAY(i4[27], a115115data[27])), i5816[27], i5824[27], java.lang.Object(java.lang.String(i7504[27])), java.lang.Object(java.lang.String(i6164[27])))), ≥)∧0 = 0∧[(-1)Bound*bni_97] + [bni_97]i5824[27] + [(-1)bni_97]i5816[27] + [bni_97]i4[27] ≥ 0∧0 = 0∧[(-1)bso_98] ≥ 0)



    We simplified constraint (292) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (293)    ([2] + i5816[27] ≥ 0∧i5824[27] ≥ 0∧i4[27] ≥ 0∧i5816[27] ≥ 0∧[-1] + i4[27] ≥ 0∧[1] + i5816[27] ≥ 0∧i6164[27] + [-1] ≥ 0∧i7504[27] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR10(&&(&&(&&(&&(&&(&&(&&(!(=(i7504[27], 0)), >(+(i5816[27], 1), 0)), <(+(i5816[27], 1), i4[27])), !(=(i6164[27], 0))), >(i5816[27], 0)), <(i5816[27], i4[27])), >(i5824[27], 0)), >(+(+(i5816[27], 1), 1), 0)), java.lang.Object(ARRAY(i4[27], a115115data[27])), i5816[27], i5824[27], java.lang.Object(java.lang.String(i7504[27])), java.lang.Object(java.lang.String(i6164[27])))), ≥)∧0 = 0∧[(-1)Bound*bni_97 + (2)bni_97] + [bni_97]i5824[27] + [bni_97]i4[27] ≥ 0∧0 = 0∧[(-1)bso_98] ≥ 0)



    We simplified constraint (293) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (294)    ([2] + i5816[27] ≥ 0∧i5824[27] ≥ 0∧[1] + i4[27] ≥ 0∧i5816[27] ≥ 0∧i4[27] ≥ 0∧[1] + i5816[27] ≥ 0∧i6164[27] + [-1] ≥ 0∧i7504[27] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR10(&&(&&(&&(&&(&&(&&(&&(!(=(i7504[27], 0)), >(+(i5816[27], 1), 0)), <(+(i5816[27], 1), i4[27])), !(=(i6164[27], 0))), >(i5816[27], 0)), <(i5816[27], i4[27])), >(i5824[27], 0)), >(+(+(i5816[27], 1), 1), 0)), java.lang.Object(ARRAY(i4[27], a115115data[27])), i5816[27], i5824[27], java.lang.Object(java.lang.String(i7504[27])), java.lang.Object(java.lang.String(i6164[27])))), ≥)∧0 = 0∧[(-1)Bound*bni_97 + (3)bni_97] + [bni_97]i5824[27] + [bni_97]i4[27] ≥ 0∧0 = 0∧[(-1)bso_98] ≥ 0)



    We simplified constraint (294) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (295)    ([2] + i5816[27] ≥ 0∧i5824[27] ≥ 0∧[1] + i4[27] ≥ 0∧i5816[27] ≥ 0∧i4[27] ≥ 0∧[1] + i5816[27] ≥ 0∧i6164[27] ≥ 0∧i7504[27] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR10(&&(&&(&&(&&(&&(&&(&&(!(=(i7504[27], 0)), >(+(i5816[27], 1), 0)), <(+(i5816[27], 1), i4[27])), !(=(i6164[27], 0))), >(i5816[27], 0)), <(i5816[27], i4[27])), >(i5824[27], 0)), >(+(+(i5816[27], 1), 1), 0)), java.lang.Object(ARRAY(i4[27], a115115data[27])), i5816[27], i5824[27], java.lang.Object(java.lang.String(i7504[27])), java.lang.Object(java.lang.String(i6164[27])))), ≥)∧0 = 0∧[(-1)Bound*bni_97 + (3)bni_97] + [bni_97]i5824[27] + [bni_97]i4[27] ≥ 0∧0 = 0∧[(-1)bso_98] ≥ 0)



    We simplified constraint (295) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (296)    ([2] + i5816[27] ≥ 0∧i5824[27] ≥ 0∧[1] + i4[27] ≥ 0∧i5816[27] ≥ 0∧i4[27] ≥ 0∧[1] + i5816[27] ≥ 0∧i6164[27] ≥ 0∧i7504[27] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR10(&&(&&(&&(&&(&&(&&(&&(!(=(i7504[27], 0)), >(+(i5816[27], 1), 0)), <(+(i5816[27], 1), i4[27])), !(=(i6164[27], 0))), >(i5816[27], 0)), <(i5816[27], i4[27])), >(i5824[27], 0)), >(+(+(i5816[27], 1), 1), 0)), java.lang.Object(ARRAY(i4[27], a115115data[27])), i5816[27], i5824[27], java.lang.Object(java.lang.String(i7504[27])), java.lang.Object(java.lang.String(i6164[27])))), ≥)∧0 = 0∧[(-1)Bound*bni_97 + (3)bni_97] + [bni_97]i5824[27] + [bni_97]i4[27] ≥ 0∧0 = 0∧[(-1)bso_98] ≥ 0)







For Pair COND_LOAD34990ARR10(TRUE, java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i7504)), java.lang.Object(java.lang.String(i6164))) → NEW40288(java.lang.Object(ARRAY(i4, a115115data)), +(+(i5816, 1), 1), i5824) the following chains were created:
  • We consider the chain COND_LOAD34990ARR10(TRUE, java.lang.Object(ARRAY(i4[28], a115115data[28])), i5816[28], i5824[28], java.lang.Object(java.lang.String(i7504[28])), java.lang.Object(java.lang.String(i6164[28]))) → NEW40288(java.lang.Object(ARRAY(i4[28], a115115data[28])), +(+(i5816[28], 1), 1), i5824[28]) which results in the following constraint:

    (297)    (COND_LOAD34990ARR10(TRUE, java.lang.Object(ARRAY(i4[28], a115115data[28])), i5816[28], i5824[28], java.lang.Object(java.lang.String(i7504[28])), java.lang.Object(java.lang.String(i6164[28])))≥NonInfC∧COND_LOAD34990ARR10(TRUE, java.lang.Object(ARRAY(i4[28], a115115data[28])), i5816[28], i5824[28], java.lang.Object(java.lang.String(i7504[28])), java.lang.Object(java.lang.String(i6164[28])))≥NEW40288(java.lang.Object(ARRAY(i4[28], a115115data[28])), +(+(i5816[28], 1), 1), i5824[28])∧(UIncreasing(NEW40288(java.lang.Object(ARRAY(i4[28], a115115data[28])), +(+(i5816[28], 1), 1), i5824[28])), ≥))



    We simplified constraint (297) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (298)    ((UIncreasing(NEW40288(java.lang.Object(ARRAY(i4[28], a115115data[28])), +(+(i5816[28], 1), 1), i5824[28])), ≥)∧[2 + (-1)bso_100] ≥ 0)



    We simplified constraint (298) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (299)    ((UIncreasing(NEW40288(java.lang.Object(ARRAY(i4[28], a115115data[28])), +(+(i5816[28], 1), 1), i5824[28])), ≥)∧[2 + (-1)bso_100] ≥ 0)



    We simplified constraint (299) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (300)    ((UIncreasing(NEW40288(java.lang.Object(ARRAY(i4[28], a115115data[28])), +(+(i5816[28], 1), 1), i5824[28])), ≥)∧[2 + (-1)bso_100] ≥ 0)



    We simplified constraint (300) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (301)    ((UIncreasing(NEW40288(java.lang.Object(ARRAY(i4[28], a115115data[28])), +(+(i5816[28], 1), 1), i5824[28])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[2 + (-1)bso_100] ≥ 0)







To summarize, we get the following constraints P for the following pairs.
  • LOAD34990(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824) → LOAD34990ARR3(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824)
    • ((UIncreasing(LOAD34990ARR3(java.lang.Object(ARRAY(i4[0], a115115data[0])), i5816[0], i5824[0])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_44] ≥ 0)

  • LOAD34990ARR3(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824) → COND_LOAD34990ARR3(&&(&&(&&(&&(&&(>(+(i5816, 1), 0), <(+(i5816, 1), i4)), >(i5816, 0)), <(i5816, i4)), >(i5824, 0)), >(+(+(i5816, 1), 1), 0)), java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824)
    • ([2] + i5816[1] ≥ 0∧i5824[1] ≥ 0∧[1] + i4[1] ≥ 0∧i5816[1] ≥ 0∧[1] + i5816[1] ≥ 0∧i4[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR3(&&(&&(&&(&&(&&(>(+(i5816[1], 1), 0), <(+(i5816[1], 1), i4[1])), >(i5816[1], 0)), <(i5816[1], i4[1])), >(i5824[1], 0)), >(+(+(i5816[1], 1), 1), 0)), java.lang.Object(ARRAY(i4[1], a115115data[1])), i5816[1], i5824[1])), ≥)∧0 = 0∧[(-1)Bound*bni_45 + (3)bni_45] + [bni_45]i5824[1] + [bni_45]i4[1] ≥ 0∧0 = 0∧[(-1)bso_46] ≥ 0)

  • COND_LOAD34990ARR3(TRUE, java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824) → NEW39186(java.lang.Object(ARRAY(i4, a115115data)), +(+(i5816, 1), 1), i5824)
    • ((UIncreasing(NEW39186(java.lang.Object(ARRAY(i4[2], a115115data[2])), +(+(i5816[2], 1), 1), i5824[2])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_48] ≥ 0)

  • INC35127(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824) → LOAD34990(java.lang.Object(ARRAY(i4, a115115data)), i5816, +(i5824, -1))
    • ((UIncreasing(LOAD34990(java.lang.Object(ARRAY(i4[3], a115115data[3])), i5816[3], +(i5824[3], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_50] ≥ 0)

  • LOAD34990(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824) → COND_LOAD34990(>(i5824, 0), java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824)
    • (i5824[4] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990(>(i5824[4], 0), java.lang.Object(ARRAY(i4[4], a115115data[4])), i5816[4], i5824[4])), ≥)∧[(-1)bni_51] = 0∧0 = 0∧[bni_51] = 0∧[(-1)Bound*bni_51 + bni_51] + [bni_51]i5824[4] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_52] ≥ 0)

  • COND_LOAD34990(TRUE, java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824) → LOAD34990(java.lang.Object(ARRAY(i4, a115115data)), i5816, +(i5824, -1))
    • ((UIncreasing(LOAD34990(java.lang.Object(ARRAY(i4[5], a115115data[5])), i5816[5], +(i5824[5], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_54] ≥ 0)

  • NEW39186(java.lang.Object(ARRAY(i4, a115115data)), i6609, i5824) → INC35127(java.lang.Object(ARRAY(i4, a115115data)), i6609, i5824)
    • ((UIncreasing(INC35127(java.lang.Object(ARRAY(i4[6], a115115data[6])), i6609[6], i5824[6])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[2 + (-1)bso_56] ≥ 0)

  • LOAD34990(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824) → LOAD34990ARR4(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824)
    • ((UIncreasing(LOAD34990ARR4(java.lang.Object(ARRAY(i4[7], a115115data[7])), i5816[7], i5824[7])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_58] ≥ 0)

  • LOAD34990ARR4(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824) → COND_LOAD34990ARR4(&&(&&(&&(&&(&&(>(+(i5816, 1), 0), <(+(i5816, 1), i4)), >(i5816, 0)), <(i5816, i4)), >(i5824, 0)), >(+(+(i5816, 1), 1), 0)), java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824)
    • ([2] + i5816[8] ≥ 0∧i5824[8] ≥ 0∧[1] + i4[8] ≥ 0∧i5816[8] ≥ 0∧[1] + i5816[8] ≥ 0∧i4[8] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR4(&&(&&(&&(&&(&&(>(+(i5816[8], 1), 0), <(+(i5816[8], 1), i4[8])), >(i5816[8], 0)), <(i5816[8], i4[8])), >(i5824[8], 0)), >(+(+(i5816[8], 1), 1), 0)), java.lang.Object(ARRAY(i4[8], a115115data[8])), i5816[8], i5824[8])), ≥)∧0 = 0∧[(-1)Bound*bni_59 + (3)bni_59] + [bni_59]i5824[8] + [bni_59]i4[8] ≥ 0∧0 = 0∧[(-1)bso_60] ≥ 0)

  • COND_LOAD34990ARR4(TRUE, java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824) → INC35127(java.lang.Object(ARRAY(i4, a115115data)), +(+(i5816, 1), 1), i5824)
    • ((UIncreasing(INC35127(java.lang.Object(ARRAY(i4[9], a115115data[9])), +(+(i5816[9], 1), 1), i5824[9])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[2 + (-1)bso_62] ≥ 0)

  • LOAD34990(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824) → LOAD34990ARR5(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i6986)))
    • ((UIncreasing(LOAD34990ARR5(java.lang.Object(ARRAY(i4[10], a115115data[10])), i5816[10], i5824[10], java.lang.Object(java.lang.String(i6986[10])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_64] ≥ 0)

  • LOAD34990ARR5(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i6986))) → COND_LOAD34990ARR5(&&(&&(&&(&&(&&(&&(!(=(i6986, 0)), >(+(i5816, 1), 0)), <(+(i5816, 1), i4)), >(i5816, 0)), <(i5816, i4)), >(i5824, 0)), >(+(+(i5816, 1), 1), 0)), java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i6986)))
    • ([2] + i5816[11] ≥ 0∧i5824[11] ≥ 0∧[1] + i4[11] ≥ 0∧i5816[11] ≥ 0∧i4[11] ≥ 0∧[1] + i5816[11] ≥ 0∧i6986[11] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR5(&&(&&(&&(&&(&&(&&(!(=(i6986[11], 0)), >(+(i5816[11], 1), 0)), <(+(i5816[11], 1), i4[11])), >(i5816[11], 0)), <(i5816[11], i4[11])), >(i5824[11], 0)), >(+(+(i5816[11], 1), 1), 0)), java.lang.Object(ARRAY(i4[11], a115115data[11])), i5816[11], i5824[11], java.lang.Object(java.lang.String(i6986[11])))), ≥)∧0 = 0∧[(-1)Bound*bni_65 + (3)bni_65] + [bni_65]i5824[11] + [bni_65]i4[11] ≥ 0∧0 = 0∧[(-1)bso_66] ≥ 0)
    • ([2] + i5816[11] ≥ 0∧i5824[11] ≥ 0∧[1] + i4[11] ≥ 0∧i5816[11] ≥ 0∧i4[11] ≥ 0∧[1] + i5816[11] ≥ 0∧i6986[11] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR5(&&(&&(&&(&&(&&(&&(!(=(i6986[11], 0)), >(+(i5816[11], 1), 0)), <(+(i5816[11], 1), i4[11])), >(i5816[11], 0)), <(i5816[11], i4[11])), >(i5824[11], 0)), >(+(+(i5816[11], 1), 1), 0)), java.lang.Object(ARRAY(i4[11], a115115data[11])), i5816[11], i5824[11], java.lang.Object(java.lang.String(i6986[11])))), ≥)∧0 = 0∧[(-1)Bound*bni_65 + (3)bni_65] + [bni_65]i5824[11] + [bni_65]i4[11] ≥ 0∧0 = 0∧[(-1)bso_66] ≥ 0)

  • COND_LOAD34990ARR5(TRUE, java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i6986))) → INC35127(java.lang.Object(ARRAY(i4, a115115data)), +(+(i5816, 1), 1), i5824)
    • ((UIncreasing(INC35127(java.lang.Object(ARRAY(i4[12], a115115data[12])), +(+(i5816[12], 1), 1), i5824[12])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[2 + (-1)bso_68] ≥ 0)

  • NEW40288(java.lang.Object(ARRAY(i4, a115115data)), i6905, i5824) → INC35127(java.lang.Object(ARRAY(i4, a115115data)), i6905, i5824)
    • ((UIncreasing(INC35127(java.lang.Object(ARRAY(i4[13], a115115data[13])), i6905[13], i5824[13])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_70] ≥ 0)

  • LOAD34990(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824) → LOAD34990ARR6(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i6164)))
    • ((UIncreasing(LOAD34990ARR6(java.lang.Object(ARRAY(i4[14], a115115data[14])), i5816[14], i5824[14], java.lang.Object(java.lang.String(i6164[14])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_72] ≥ 0)

  • LOAD34990ARR6(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i6164))) → COND_LOAD34990ARR6(&&(&&(&&(&&(&&(&&(>(+(i5816, 1), 0), <(+(i5816, 1), i4)), !(=(i6164, 0))), >(i5816, 0)), <(i5816, i4)), >(i5824, 0)), >(+(+(i5816, 1), 1), 0)), java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i6164)))
    • ([2] + i5816[15] ≥ 0∧i5824[15] ≥ 0∧[1] + i4[15] ≥ 0∧i5816[15] ≥ 0∧[1] + i5816[15] ≥ 0∧i4[15] ≥ 0∧i6164[15] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR6(&&(&&(&&(&&(&&(&&(>(+(i5816[15], 1), 0), <(+(i5816[15], 1), i4[15])), !(=(i6164[15], 0))), >(i5816[15], 0)), <(i5816[15], i4[15])), >(i5824[15], 0)), >(+(+(i5816[15], 1), 1), 0)), java.lang.Object(ARRAY(i4[15], a115115data[15])), i5816[15], i5824[15], java.lang.Object(java.lang.String(i6164[15])))), ≥)∧0 = 0∧[(-1)Bound*bni_73 + (3)bni_73] + [bni_73]i5824[15] + [bni_73]i4[15] ≥ 0∧0 = 0∧[(-1)bso_74] ≥ 0)
    • ([2] + i5816[15] ≥ 0∧i5824[15] ≥ 0∧[1] + i4[15] ≥ 0∧i5816[15] ≥ 0∧[1] + i5816[15] ≥ 0∧i4[15] ≥ 0∧i6164[15] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR6(&&(&&(&&(&&(&&(&&(>(+(i5816[15], 1), 0), <(+(i5816[15], 1), i4[15])), !(=(i6164[15], 0))), >(i5816[15], 0)), <(i5816[15], i4[15])), >(i5824[15], 0)), >(+(+(i5816[15], 1), 1), 0)), java.lang.Object(ARRAY(i4[15], a115115data[15])), i5816[15], i5824[15], java.lang.Object(java.lang.String(i6164[15])))), ≥)∧0 = 0∧[(-1)Bound*bni_73 + (3)bni_73] + [bni_73]i5824[15] + [bni_73]i4[15] ≥ 0∧0 = 0∧[(-1)bso_74] ≥ 0)

  • COND_LOAD34990ARR6(TRUE, java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i6164))) → INC35127(java.lang.Object(ARRAY(i4, a115115data)), +(+(i5816, 1), 1), i5824)
    • ((UIncreasing(INC35127(java.lang.Object(ARRAY(i4[16], a115115data[16])), +(+(i5816[16], 1), 1), i5824[16])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[2 + (-1)bso_76] ≥ 0)

  • LOAD34990(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824) → LOAD34990ARR7(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i7504)), java.lang.Object(java.lang.String(i6164)))
    • ((UIncreasing(LOAD34990ARR7(java.lang.Object(ARRAY(i4[17], a115115data[17])), i5816[17], i5824[17], java.lang.Object(java.lang.String(i7504[17])), java.lang.Object(java.lang.String(i6164[17])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_78] ≥ 0)

  • LOAD34990ARR7(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i7504)), java.lang.Object(java.lang.String(i6164))) → COND_LOAD34990ARR7(&&(&&(&&(&&(&&(&&(&&(!(=(i7504, 0)), >(+(i5816, 1), 0)), <(+(i5816, 1), i4)), !(=(i6164, 0))), >(i5816, 0)), <(i5816, i4)), >(i5824, 0)), >(+(+(i5816, 1), 1), 0)), java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i7504)), java.lang.Object(java.lang.String(i6164)))
    • ([2] + i5816[18] ≥ 0∧i5824[18] ≥ 0∧[1] + i4[18] ≥ 0∧i5816[18] ≥ 0∧i4[18] ≥ 0∧[1] + i5816[18] ≥ 0∧i6164[18] ≥ 0∧i7504[18] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR7(&&(&&(&&(&&(&&(&&(&&(!(=(i7504[18], 0)), >(+(i5816[18], 1), 0)), <(+(i5816[18], 1), i4[18])), !(=(i6164[18], 0))), >(i5816[18], 0)), <(i5816[18], i4[18])), >(i5824[18], 0)), >(+(+(i5816[18], 1), 1), 0)), java.lang.Object(ARRAY(i4[18], a115115data[18])), i5816[18], i5824[18], java.lang.Object(java.lang.String(i7504[18])), java.lang.Object(java.lang.String(i6164[18])))), ≥)∧0 = 0∧[(-1)Bound*bni_79 + (3)bni_79] + [bni_79]i5824[18] + [bni_79]i4[18] ≥ 0∧0 = 0∧[(-1)bso_80] ≥ 0)
    • ([2] + i5816[18] ≥ 0∧i5824[18] ≥ 0∧[1] + i4[18] ≥ 0∧i5816[18] ≥ 0∧i4[18] ≥ 0∧[1] + i5816[18] ≥ 0∧i6164[18] ≥ 0∧i7504[18] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR7(&&(&&(&&(&&(&&(&&(&&(!(=(i7504[18], 0)), >(+(i5816[18], 1), 0)), <(+(i5816[18], 1), i4[18])), !(=(i6164[18], 0))), >(i5816[18], 0)), <(i5816[18], i4[18])), >(i5824[18], 0)), >(+(+(i5816[18], 1), 1), 0)), java.lang.Object(ARRAY(i4[18], a115115data[18])), i5816[18], i5824[18], java.lang.Object(java.lang.String(i7504[18])), java.lang.Object(java.lang.String(i6164[18])))), ≥)∧0 = 0∧[(-1)Bound*bni_79 + (3)bni_79] + [bni_79]i5824[18] + [bni_79]i4[18] ≥ 0∧0 = 0∧[(-1)bso_80] ≥ 0)
    • ([2] + i5816[18] ≥ 0∧i5824[18] ≥ 0∧[1] + i4[18] ≥ 0∧i5816[18] ≥ 0∧i4[18] ≥ 0∧[1] + i5816[18] ≥ 0∧i6164[18] ≥ 0∧i7504[18] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR7(&&(&&(&&(&&(&&(&&(&&(!(=(i7504[18], 0)), >(+(i5816[18], 1), 0)), <(+(i5816[18], 1), i4[18])), !(=(i6164[18], 0))), >(i5816[18], 0)), <(i5816[18], i4[18])), >(i5824[18], 0)), >(+(+(i5816[18], 1), 1), 0)), java.lang.Object(ARRAY(i4[18], a115115data[18])), i5816[18], i5824[18], java.lang.Object(java.lang.String(i7504[18])), java.lang.Object(java.lang.String(i6164[18])))), ≥)∧0 = 0∧[(-1)Bound*bni_79 + (3)bni_79] + [bni_79]i5824[18] + [bni_79]i4[18] ≥ 0∧0 = 0∧[(-1)bso_80] ≥ 0)
    • ([2] + i5816[18] ≥ 0∧i5824[18] ≥ 0∧[1] + i4[18] ≥ 0∧i5816[18] ≥ 0∧i4[18] ≥ 0∧[1] + i5816[18] ≥ 0∧i6164[18] ≥ 0∧i7504[18] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR7(&&(&&(&&(&&(&&(&&(&&(!(=(i7504[18], 0)), >(+(i5816[18], 1), 0)), <(+(i5816[18], 1), i4[18])), !(=(i6164[18], 0))), >(i5816[18], 0)), <(i5816[18], i4[18])), >(i5824[18], 0)), >(+(+(i5816[18], 1), 1), 0)), java.lang.Object(ARRAY(i4[18], a115115data[18])), i5816[18], i5824[18], java.lang.Object(java.lang.String(i7504[18])), java.lang.Object(java.lang.String(i6164[18])))), ≥)∧0 = 0∧[(-1)Bound*bni_79 + (3)bni_79] + [bni_79]i5824[18] + [bni_79]i4[18] ≥ 0∧0 = 0∧[(-1)bso_80] ≥ 0)

  • COND_LOAD34990ARR7(TRUE, java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i7504)), java.lang.Object(java.lang.String(i6164))) → INC35127(java.lang.Object(ARRAY(i4, a115115data)), +(+(i5816, 1), 1), i5824)
    • ((UIncreasing(INC35127(java.lang.Object(ARRAY(i4[19], a115115data[19])), +(+(i5816[19], 1), 1), i5824[19])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[2 + (-1)bso_82] ≥ 0)

  • LOAD34990(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824) → LOAD34990ARR8(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i6986)))
    • ((UIncreasing(LOAD34990ARR8(java.lang.Object(ARRAY(i4[20], a115115data[20])), i5816[20], i5824[20], java.lang.Object(java.lang.String(i6986[20])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_84] ≥ 0)

  • LOAD34990ARR8(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i6986))) → COND_LOAD34990ARR8(&&(&&(&&(&&(&&(&&(!(=(i6986, 0)), >(+(i5816, 1), 0)), <(+(i5816, 1), i4)), >(i5816, 0)), <(i5816, i4)), >(i5824, 0)), >(+(+(i5816, 1), 1), 0)), java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i6986)))
    • ([2] + i5816[21] ≥ 0∧i5824[21] ≥ 0∧[1] + i4[21] ≥ 0∧i5816[21] ≥ 0∧i4[21] ≥ 0∧[1] + i5816[21] ≥ 0∧i6986[21] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR8(&&(&&(&&(&&(&&(&&(!(=(i6986[21], 0)), >(+(i5816[21], 1), 0)), <(+(i5816[21], 1), i4[21])), >(i5816[21], 0)), <(i5816[21], i4[21])), >(i5824[21], 0)), >(+(+(i5816[21], 1), 1), 0)), java.lang.Object(ARRAY(i4[21], a115115data[21])), i5816[21], i5824[21], java.lang.Object(java.lang.String(i6986[21])))), ≥)∧0 = 0∧[(-1)Bound*bni_85 + (3)bni_85] + [bni_85]i5824[21] + [bni_85]i4[21] ≥ 0∧0 = 0∧[(-1)bso_86] ≥ 0)
    • ([2] + i5816[21] ≥ 0∧i5824[21] ≥ 0∧[1] + i4[21] ≥ 0∧i5816[21] ≥ 0∧i4[21] ≥ 0∧[1] + i5816[21] ≥ 0∧i6986[21] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR8(&&(&&(&&(&&(&&(&&(!(=(i6986[21], 0)), >(+(i5816[21], 1), 0)), <(+(i5816[21], 1), i4[21])), >(i5816[21], 0)), <(i5816[21], i4[21])), >(i5824[21], 0)), >(+(+(i5816[21], 1), 1), 0)), java.lang.Object(ARRAY(i4[21], a115115data[21])), i5816[21], i5824[21], java.lang.Object(java.lang.String(i6986[21])))), ≥)∧0 = 0∧[(-1)Bound*bni_85 + (3)bni_85] + [bni_85]i5824[21] + [bni_85]i4[21] ≥ 0∧0 = 0∧[(-1)bso_86] ≥ 0)

  • COND_LOAD34990ARR8(TRUE, java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i6986))) → NEW39186(java.lang.Object(ARRAY(i4, a115115data)), +(+(i5816, 1), 1), i5824)
    • ((UIncreasing(NEW39186(java.lang.Object(ARRAY(i4[22], a115115data[22])), +(+(i5816[22], 1), 1), i5824[22])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_88] ≥ 0)

  • LOAD34990(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824) → LOAD34990ARR9(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i6164)))
    • ((UIncreasing(LOAD34990ARR9(java.lang.Object(ARRAY(i4[23], a115115data[23])), i5816[23], i5824[23], java.lang.Object(java.lang.String(i6164[23])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_90] ≥ 0)

  • LOAD34990ARR9(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i6164))) → COND_LOAD34990ARR9(&&(&&(&&(&&(&&(&&(>(+(i5816, 1), 0), <(+(i5816, 1), i4)), !(=(i6164, 0))), >(i5816, 0)), <(i5816, i4)), >(i5824, 0)), >(+(+(i5816, 1), 1), 0)), java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i6164)))
    • ([2] + i5816[24] ≥ 0∧i5824[24] ≥ 0∧[1] + i4[24] ≥ 0∧i5816[24] ≥ 0∧[1] + i5816[24] ≥ 0∧i4[24] ≥ 0∧i6164[24] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR9(&&(&&(&&(&&(&&(&&(>(+(i5816[24], 1), 0), <(+(i5816[24], 1), i4[24])), !(=(i6164[24], 0))), >(i5816[24], 0)), <(i5816[24], i4[24])), >(i5824[24], 0)), >(+(+(i5816[24], 1), 1), 0)), java.lang.Object(ARRAY(i4[24], a115115data[24])), i5816[24], i5824[24], java.lang.Object(java.lang.String(i6164[24])))), ≥)∧0 = 0∧[(-1)Bound*bni_91 + (3)bni_91] + [bni_91]i5824[24] + [bni_91]i4[24] ≥ 0∧0 = 0∧[(-1)bso_92] ≥ 0)
    • ([2] + i5816[24] ≥ 0∧i5824[24] ≥ 0∧[1] + i4[24] ≥ 0∧i5816[24] ≥ 0∧[1] + i5816[24] ≥ 0∧i4[24] ≥ 0∧i6164[24] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR9(&&(&&(&&(&&(&&(&&(>(+(i5816[24], 1), 0), <(+(i5816[24], 1), i4[24])), !(=(i6164[24], 0))), >(i5816[24], 0)), <(i5816[24], i4[24])), >(i5824[24], 0)), >(+(+(i5816[24], 1), 1), 0)), java.lang.Object(ARRAY(i4[24], a115115data[24])), i5816[24], i5824[24], java.lang.Object(java.lang.String(i6164[24])))), ≥)∧0 = 0∧[(-1)Bound*bni_91 + (3)bni_91] + [bni_91]i5824[24] + [bni_91]i4[24] ≥ 0∧0 = 0∧[(-1)bso_92] ≥ 0)

  • COND_LOAD34990ARR9(TRUE, java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i6164))) → NEW40288(java.lang.Object(ARRAY(i4, a115115data)), +(+(i5816, 1), 1), i5824)
    • ((UIncreasing(NEW40288(java.lang.Object(ARRAY(i4[25], a115115data[25])), +(+(i5816[25], 1), 1), i5824[25])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[2 + (-1)bso_94] ≥ 0)

  • LOAD34990(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824) → LOAD34990ARR10(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i7504)), java.lang.Object(java.lang.String(i6164)))
    • ((UIncreasing(LOAD34990ARR10(java.lang.Object(ARRAY(i4[26], a115115data[26])), i5816[26], i5824[26], java.lang.Object(java.lang.String(i7504[26])), java.lang.Object(java.lang.String(i6164[26])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_96] ≥ 0)

  • LOAD34990ARR10(java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i7504)), java.lang.Object(java.lang.String(i6164))) → COND_LOAD34990ARR10(&&(&&(&&(&&(&&(&&(&&(!(=(i7504, 0)), >(+(i5816, 1), 0)), <(+(i5816, 1), i4)), !(=(i6164, 0))), >(i5816, 0)), <(i5816, i4)), >(i5824, 0)), >(+(+(i5816, 1), 1), 0)), java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i7504)), java.lang.Object(java.lang.String(i6164)))
    • ([2] + i5816[27] ≥ 0∧i5824[27] ≥ 0∧[1] + i4[27] ≥ 0∧i5816[27] ≥ 0∧i4[27] ≥ 0∧[1] + i5816[27] ≥ 0∧i6164[27] ≥ 0∧i7504[27] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR10(&&(&&(&&(&&(&&(&&(&&(!(=(i7504[27], 0)), >(+(i5816[27], 1), 0)), <(+(i5816[27], 1), i4[27])), !(=(i6164[27], 0))), >(i5816[27], 0)), <(i5816[27], i4[27])), >(i5824[27], 0)), >(+(+(i5816[27], 1), 1), 0)), java.lang.Object(ARRAY(i4[27], a115115data[27])), i5816[27], i5824[27], java.lang.Object(java.lang.String(i7504[27])), java.lang.Object(java.lang.String(i6164[27])))), ≥)∧0 = 0∧[(-1)Bound*bni_97 + (3)bni_97] + [bni_97]i5824[27] + [bni_97]i4[27] ≥ 0∧0 = 0∧[(-1)bso_98] ≥ 0)
    • ([2] + i5816[27] ≥ 0∧i5824[27] ≥ 0∧[1] + i4[27] ≥ 0∧i5816[27] ≥ 0∧i4[27] ≥ 0∧[1] + i5816[27] ≥ 0∧i6164[27] ≥ 0∧i7504[27] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR10(&&(&&(&&(&&(&&(&&(&&(!(=(i7504[27], 0)), >(+(i5816[27], 1), 0)), <(+(i5816[27], 1), i4[27])), !(=(i6164[27], 0))), >(i5816[27], 0)), <(i5816[27], i4[27])), >(i5824[27], 0)), >(+(+(i5816[27], 1), 1), 0)), java.lang.Object(ARRAY(i4[27], a115115data[27])), i5816[27], i5824[27], java.lang.Object(java.lang.String(i7504[27])), java.lang.Object(java.lang.String(i6164[27])))), ≥)∧0 = 0∧[(-1)Bound*bni_97 + (3)bni_97] + [bni_97]i5824[27] + [bni_97]i4[27] ≥ 0∧0 = 0∧[(-1)bso_98] ≥ 0)
    • ([2] + i5816[27] ≥ 0∧i5824[27] ≥ 0∧[1] + i4[27] ≥ 0∧i5816[27] ≥ 0∧i4[27] ≥ 0∧[1] + i5816[27] ≥ 0∧i6164[27] ≥ 0∧i7504[27] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR10(&&(&&(&&(&&(&&(&&(&&(!(=(i7504[27], 0)), >(+(i5816[27], 1), 0)), <(+(i5816[27], 1), i4[27])), !(=(i6164[27], 0))), >(i5816[27], 0)), <(i5816[27], i4[27])), >(i5824[27], 0)), >(+(+(i5816[27], 1), 1), 0)), java.lang.Object(ARRAY(i4[27], a115115data[27])), i5816[27], i5824[27], java.lang.Object(java.lang.String(i7504[27])), java.lang.Object(java.lang.String(i6164[27])))), ≥)∧0 = 0∧[(-1)Bound*bni_97 + (3)bni_97] + [bni_97]i5824[27] + [bni_97]i4[27] ≥ 0∧0 = 0∧[(-1)bso_98] ≥ 0)
    • ([2] + i5816[27] ≥ 0∧i5824[27] ≥ 0∧[1] + i4[27] ≥ 0∧i5816[27] ≥ 0∧i4[27] ≥ 0∧[1] + i5816[27] ≥ 0∧i6164[27] ≥ 0∧i7504[27] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990ARR10(&&(&&(&&(&&(&&(&&(&&(!(=(i7504[27], 0)), >(+(i5816[27], 1), 0)), <(+(i5816[27], 1), i4[27])), !(=(i6164[27], 0))), >(i5816[27], 0)), <(i5816[27], i4[27])), >(i5824[27], 0)), >(+(+(i5816[27], 1), 1), 0)), java.lang.Object(ARRAY(i4[27], a115115data[27])), i5816[27], i5824[27], java.lang.Object(java.lang.String(i7504[27])), java.lang.Object(java.lang.String(i6164[27])))), ≥)∧0 = 0∧[(-1)Bound*bni_97 + (3)bni_97] + [bni_97]i5824[27] + [bni_97]i4[27] ≥ 0∧0 = 0∧[(-1)bso_98] ≥ 0)

  • COND_LOAD34990ARR10(TRUE, java.lang.Object(ARRAY(i4, a115115data)), i5816, i5824, java.lang.Object(java.lang.String(i7504)), java.lang.Object(java.lang.String(i6164))) → NEW40288(java.lang.Object(ARRAY(i4, a115115data)), +(+(i5816, 1), 1), i5824)
    • ((UIncreasing(NEW40288(java.lang.Object(ARRAY(i4[28], a115115data[28])), +(+(i5816[28], 1), 1), i5824[28])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[2 + (-1)bso_100] ≥ 0)




The constraints for P> respective Pbound are constructed from P where we just replace every occurence of "t ≥ s" in P by "t > s" respective "t ≥ c". Here c stands for the fresh constant used for Pbound.
Using the following integer polynomial ordering the resulting constraints can be solved
Polynomial interpretation over integers[POLO]:

POL(TRUE) = 0   
POL(FALSE) = 0   
POL(LOAD34990(x1, x2, x3)) = [-1] + x3 + [-1]x2 + [-1]x1   
POL(java.lang.Object(x1)) = x1   
POL(ARRAY(x1, x2)) = [-1] + [-1]x1   
POL(LOAD34990ARR3(x1, x2, x3)) = [-1] + x3 + [-1]x2 + [-1]x1   
POL(COND_LOAD34990ARR3(x1, x2, x3, x4)) = [-1] + x4 + [-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(NEW39186(x1, x2, x3)) = [1] + x3 + [-1]x2 + [-1]x1   
POL(INC35127(x1, x2, x3)) = [-1] + x3 + [-1]x2 + [-1]x1   
POL(-1) = [-1]   
POL(COND_LOAD34990(x1, x2, x3, x4)) = [-1] + x4 + [-1]x3 + [-1]x2   
POL(LOAD34990ARR4(x1, x2, x3)) = [-1] + x3 + [-1]x2 + [-1]x1   
POL(COND_LOAD34990ARR4(x1, x2, x3, x4)) = [-1] + x4 + [-1]x3 + [-1]x2   
POL(LOAD34990ARR5(x1, x2, x3, x4)) = [-1] + x3 + [-1]x2 + [-1]x1   
POL(java.lang.String(x1)) = x1   
POL(COND_LOAD34990ARR5(x1, x2, x3, x4, x5)) = [-1] + x4 + [-1]x3 + [-1]x2   
POL(!(x1)) = [-1]   
POL(=(x1, x2)) = [-1]   
POL(NEW40288(x1, x2, x3)) = [-1] + x3 + [-1]x2 + [-1]x1   
POL(LOAD34990ARR6(x1, x2, x3, x4)) = [-1] + x3 + [-1]x2 + [-1]x1   
POL(COND_LOAD34990ARR6(x1, x2, x3, x4, x5)) = [-1] + x4 + [-1]x3 + [-1]x2   
POL(LOAD34990ARR7(x1, x2, x3, x4, x5)) = [-1] + x3 + [-1]x2 + [-1]x1   
POL(COND_LOAD34990ARR7(x1, x2, x3, x4, x5, x6)) = [-1] + x4 + [-1]x3 + [-1]x2   
POL(LOAD34990ARR8(x1, x2, x3, x4)) = [-1] + x3 + [-1]x2 + [-1]x1   
POL(COND_LOAD34990ARR8(x1, x2, x3, x4, x5)) = [-1] + x4 + [-1]x3 + [-1]x2   
POL(LOAD34990ARR9(x1, x2, x3, x4)) = [-1] + x3 + [-1]x2 + [-1]x1   
POL(COND_LOAD34990ARR9(x1, x2, x3, x4, x5)) = [-1] + x4 + [-1]x3 + [-1]x2   
POL(LOAD34990ARR10(x1, x2, x3, x4, x5)) = [-1] + x3 + [-1]x2 + [-1]x1   
POL(COND_LOAD34990ARR10(x1, x2, x3, x4, x5, x6)) = [-1] + x4 + [-1]x3 + [-1]x2   

The following pairs are in P>:

INC35127(java.lang.Object(ARRAY(i4[3], a115115data[3])), i5816[3], i5824[3]) → LOAD34990(java.lang.Object(ARRAY(i4[3], a115115data[3])), i5816[3], +(i5824[3], -1))
COND_LOAD34990(TRUE, java.lang.Object(ARRAY(i4[5], a115115data[5])), i5816[5], i5824[5]) → LOAD34990(java.lang.Object(ARRAY(i4[5], a115115data[5])), i5816[5], +(i5824[5], -1))
NEW39186(java.lang.Object(ARRAY(i4[6], a115115data[6])), i6609[6], i5824[6]) → INC35127(java.lang.Object(ARRAY(i4[6], a115115data[6])), i6609[6], i5824[6])
COND_LOAD34990ARR4(TRUE, java.lang.Object(ARRAY(i4[9], a115115data[9])), i5816[9], i5824[9]) → INC35127(java.lang.Object(ARRAY(i4[9], a115115data[9])), +(+(i5816[9], 1), 1), i5824[9])
COND_LOAD34990ARR5(TRUE, java.lang.Object(ARRAY(i4[12], a115115data[12])), i5816[12], i5824[12], java.lang.Object(java.lang.String(i6986[12]))) → INC35127(java.lang.Object(ARRAY(i4[12], a115115data[12])), +(+(i5816[12], 1), 1), i5824[12])
COND_LOAD34990ARR6(TRUE, java.lang.Object(ARRAY(i4[16], a115115data[16])), i5816[16], i5824[16], java.lang.Object(java.lang.String(i6164[16]))) → INC35127(java.lang.Object(ARRAY(i4[16], a115115data[16])), +(+(i5816[16], 1), 1), i5824[16])
COND_LOAD34990ARR7(TRUE, java.lang.Object(ARRAY(i4[19], a115115data[19])), i5816[19], i5824[19], java.lang.Object(java.lang.String(i7504[19])), java.lang.Object(java.lang.String(i6164[19]))) → INC35127(java.lang.Object(ARRAY(i4[19], a115115data[19])), +(+(i5816[19], 1), 1), i5824[19])
COND_LOAD34990ARR9(TRUE, java.lang.Object(ARRAY(i4[25], a115115data[25])), i5816[25], i5824[25], java.lang.Object(java.lang.String(i6164[25]))) → NEW40288(java.lang.Object(ARRAY(i4[25], a115115data[25])), +(+(i5816[25], 1), 1), i5824[25])
COND_LOAD34990ARR10(TRUE, java.lang.Object(ARRAY(i4[28], a115115data[28])), i5816[28], i5824[28], java.lang.Object(java.lang.String(i7504[28])), java.lang.Object(java.lang.String(i6164[28]))) → NEW40288(java.lang.Object(ARRAY(i4[28], a115115data[28])), +(+(i5816[28], 1), 1), i5824[28])

The following pairs are in Pbound:

LOAD34990ARR3(java.lang.Object(ARRAY(i4[1], a115115data[1])), i5816[1], i5824[1]) → COND_LOAD34990ARR3(&&(&&(&&(&&(&&(>(+(i5816[1], 1), 0), <(+(i5816[1], 1), i4[1])), >(i5816[1], 0)), <(i5816[1], i4[1])), >(i5824[1], 0)), >(+(+(i5816[1], 1), 1), 0)), java.lang.Object(ARRAY(i4[1], a115115data[1])), i5816[1], i5824[1])
LOAD34990ARR4(java.lang.Object(ARRAY(i4[8], a115115data[8])), i5816[8], i5824[8]) → COND_LOAD34990ARR4(&&(&&(&&(&&(&&(>(+(i5816[8], 1), 0), <(+(i5816[8], 1), i4[8])), >(i5816[8], 0)), <(i5816[8], i4[8])), >(i5824[8], 0)), >(+(+(i5816[8], 1), 1), 0)), java.lang.Object(ARRAY(i4[8], a115115data[8])), i5816[8], i5824[8])
LOAD34990ARR5(java.lang.Object(ARRAY(i4[11], a115115data[11])), i5816[11], i5824[11], java.lang.Object(java.lang.String(i6986[11]))) → COND_LOAD34990ARR5(&&(&&(&&(&&(&&(&&(!(=(i6986[11], 0)), >(+(i5816[11], 1), 0)), <(+(i5816[11], 1), i4[11])), >(i5816[11], 0)), <(i5816[11], i4[11])), >(i5824[11], 0)), >(+(+(i5816[11], 1), 1), 0)), java.lang.Object(ARRAY(i4[11], a115115data[11])), i5816[11], i5824[11], java.lang.Object(java.lang.String(i6986[11])))
LOAD34990ARR6(java.lang.Object(ARRAY(i4[15], a115115data[15])), i5816[15], i5824[15], java.lang.Object(java.lang.String(i6164[15]))) → COND_LOAD34990ARR6(&&(&&(&&(&&(&&(&&(>(+(i5816[15], 1), 0), <(+(i5816[15], 1), i4[15])), !(=(i6164[15], 0))), >(i5816[15], 0)), <(i5816[15], i4[15])), >(i5824[15], 0)), >(+(+(i5816[15], 1), 1), 0)), java.lang.Object(ARRAY(i4[15], a115115data[15])), i5816[15], i5824[15], java.lang.Object(java.lang.String(i6164[15])))
LOAD34990ARR7(java.lang.Object(ARRAY(i4[18], a115115data[18])), i5816[18], i5824[18], java.lang.Object(java.lang.String(i7504[18])), java.lang.Object(java.lang.String(i6164[18]))) → COND_LOAD34990ARR7(&&(&&(&&(&&(&&(&&(&&(!(=(i7504[18], 0)), >(+(i5816[18], 1), 0)), <(+(i5816[18], 1), i4[18])), !(=(i6164[18], 0))), >(i5816[18], 0)), <(i5816[18], i4[18])), >(i5824[18], 0)), >(+(+(i5816[18], 1), 1), 0)), java.lang.Object(ARRAY(i4[18], a115115data[18])), i5816[18], i5824[18], java.lang.Object(java.lang.String(i7504[18])), java.lang.Object(java.lang.String(i6164[18])))
LOAD34990ARR8(java.lang.Object(ARRAY(i4[21], a115115data[21])), i5816[21], i5824[21], java.lang.Object(java.lang.String(i6986[21]))) → COND_LOAD34990ARR8(&&(&&(&&(&&(&&(&&(!(=(i6986[21], 0)), >(+(i5816[21], 1), 0)), <(+(i5816[21], 1), i4[21])), >(i5816[21], 0)), <(i5816[21], i4[21])), >(i5824[21], 0)), >(+(+(i5816[21], 1), 1), 0)), java.lang.Object(ARRAY(i4[21], a115115data[21])), i5816[21], i5824[21], java.lang.Object(java.lang.String(i6986[21])))
LOAD34990ARR9(java.lang.Object(ARRAY(i4[24], a115115data[24])), i5816[24], i5824[24], java.lang.Object(java.lang.String(i6164[24]))) → COND_LOAD34990ARR9(&&(&&(&&(&&(&&(&&(>(+(i5816[24], 1), 0), <(+(i5816[24], 1), i4[24])), !(=(i6164[24], 0))), >(i5816[24], 0)), <(i5816[24], i4[24])), >(i5824[24], 0)), >(+(+(i5816[24], 1), 1), 0)), java.lang.Object(ARRAY(i4[24], a115115data[24])), i5816[24], i5824[24], java.lang.Object(java.lang.String(i6164[24])))
LOAD34990ARR10(java.lang.Object(ARRAY(i4[27], a115115data[27])), i5816[27], i5824[27], java.lang.Object(java.lang.String(i7504[27])), java.lang.Object(java.lang.String(i6164[27]))) → COND_LOAD34990ARR10(&&(&&(&&(&&(&&(&&(&&(!(=(i7504[27], 0)), >(+(i5816[27], 1), 0)), <(+(i5816[27], 1), i4[27])), !(=(i6164[27], 0))), >(i5816[27], 0)), <(i5816[27], i4[27])), >(i5824[27], 0)), >(+(+(i5816[27], 1), 1), 0)), java.lang.Object(ARRAY(i4[27], a115115data[27])), i5816[27], i5824[27], java.lang.Object(java.lang.String(i7504[27])), java.lang.Object(java.lang.String(i6164[27])))

The following pairs are in P:

LOAD34990(java.lang.Object(ARRAY(i4[0], a115115data[0])), i5816[0], i5824[0]) → LOAD34990ARR3(java.lang.Object(ARRAY(i4[0], a115115data[0])), i5816[0], i5824[0])
LOAD34990ARR3(java.lang.Object(ARRAY(i4[1], a115115data[1])), i5816[1], i5824[1]) → COND_LOAD34990ARR3(&&(&&(&&(&&(&&(>(+(i5816[1], 1), 0), <(+(i5816[1], 1), i4[1])), >(i5816[1], 0)), <(i5816[1], i4[1])), >(i5824[1], 0)), >(+(+(i5816[1], 1), 1), 0)), java.lang.Object(ARRAY(i4[1], a115115data[1])), i5816[1], i5824[1])
COND_LOAD34990ARR3(TRUE, java.lang.Object(ARRAY(i4[2], a115115data[2])), i5816[2], i5824[2]) → NEW39186(java.lang.Object(ARRAY(i4[2], a115115data[2])), +(+(i5816[2], 1), 1), i5824[2])
LOAD34990(java.lang.Object(ARRAY(i4[4], a115115data[4])), i5816[4], i5824[4]) → COND_LOAD34990(>(i5824[4], 0), java.lang.Object(ARRAY(i4[4], a115115data[4])), i5816[4], i5824[4])
LOAD34990(java.lang.Object(ARRAY(i4[7], a115115data[7])), i5816[7], i5824[7]) → LOAD34990ARR4(java.lang.Object(ARRAY(i4[7], a115115data[7])), i5816[7], i5824[7])
LOAD34990ARR4(java.lang.Object(ARRAY(i4[8], a115115data[8])), i5816[8], i5824[8]) → COND_LOAD34990ARR4(&&(&&(&&(&&(&&(>(+(i5816[8], 1), 0), <(+(i5816[8], 1), i4[8])), >(i5816[8], 0)), <(i5816[8], i4[8])), >(i5824[8], 0)), >(+(+(i5816[8], 1), 1), 0)), java.lang.Object(ARRAY(i4[8], a115115data[8])), i5816[8], i5824[8])
LOAD34990(java.lang.Object(ARRAY(i4[10], a115115data[10])), i5816[10], i5824[10]) → LOAD34990ARR5(java.lang.Object(ARRAY(i4[10], a115115data[10])), i5816[10], i5824[10], java.lang.Object(java.lang.String(i6986[10])))
LOAD34990ARR5(java.lang.Object(ARRAY(i4[11], a115115data[11])), i5816[11], i5824[11], java.lang.Object(java.lang.String(i6986[11]))) → COND_LOAD34990ARR5(&&(&&(&&(&&(&&(&&(!(=(i6986[11], 0)), >(+(i5816[11], 1), 0)), <(+(i5816[11], 1), i4[11])), >(i5816[11], 0)), <(i5816[11], i4[11])), >(i5824[11], 0)), >(+(+(i5816[11], 1), 1), 0)), java.lang.Object(ARRAY(i4[11], a115115data[11])), i5816[11], i5824[11], java.lang.Object(java.lang.String(i6986[11])))
NEW40288(java.lang.Object(ARRAY(i4[13], a115115data[13])), i6905[13], i5824[13]) → INC35127(java.lang.Object(ARRAY(i4[13], a115115data[13])), i6905[13], i5824[13])
LOAD34990(java.lang.Object(ARRAY(i4[14], a115115data[14])), i5816[14], i5824[14]) → LOAD34990ARR6(java.lang.Object(ARRAY(i4[14], a115115data[14])), i5816[14], i5824[14], java.lang.Object(java.lang.String(i6164[14])))
LOAD34990ARR6(java.lang.Object(ARRAY(i4[15], a115115data[15])), i5816[15], i5824[15], java.lang.Object(java.lang.String(i6164[15]))) → COND_LOAD34990ARR6(&&(&&(&&(&&(&&(&&(>(+(i5816[15], 1), 0), <(+(i5816[15], 1), i4[15])), !(=(i6164[15], 0))), >(i5816[15], 0)), <(i5816[15], i4[15])), >(i5824[15], 0)), >(+(+(i5816[15], 1), 1), 0)), java.lang.Object(ARRAY(i4[15], a115115data[15])), i5816[15], i5824[15], java.lang.Object(java.lang.String(i6164[15])))
LOAD34990(java.lang.Object(ARRAY(i4[17], a115115data[17])), i5816[17], i5824[17]) → LOAD34990ARR7(java.lang.Object(ARRAY(i4[17], a115115data[17])), i5816[17], i5824[17], java.lang.Object(java.lang.String(i7504[17])), java.lang.Object(java.lang.String(i6164[17])))
LOAD34990ARR7(java.lang.Object(ARRAY(i4[18], a115115data[18])), i5816[18], i5824[18], java.lang.Object(java.lang.String(i7504[18])), java.lang.Object(java.lang.String(i6164[18]))) → COND_LOAD34990ARR7(&&(&&(&&(&&(&&(&&(&&(!(=(i7504[18], 0)), >(+(i5816[18], 1), 0)), <(+(i5816[18], 1), i4[18])), !(=(i6164[18], 0))), >(i5816[18], 0)), <(i5816[18], i4[18])), >(i5824[18], 0)), >(+(+(i5816[18], 1), 1), 0)), java.lang.Object(ARRAY(i4[18], a115115data[18])), i5816[18], i5824[18], java.lang.Object(java.lang.String(i7504[18])), java.lang.Object(java.lang.String(i6164[18])))
LOAD34990(java.lang.Object(ARRAY(i4[20], a115115data[20])), i5816[20], i5824[20]) → LOAD34990ARR8(java.lang.Object(ARRAY(i4[20], a115115data[20])), i5816[20], i5824[20], java.lang.Object(java.lang.String(i6986[20])))
LOAD34990ARR8(java.lang.Object(ARRAY(i4[21], a115115data[21])), i5816[21], i5824[21], java.lang.Object(java.lang.String(i6986[21]))) → COND_LOAD34990ARR8(&&(&&(&&(&&(&&(&&(!(=(i6986[21], 0)), >(+(i5816[21], 1), 0)), <(+(i5816[21], 1), i4[21])), >(i5816[21], 0)), <(i5816[21], i4[21])), >(i5824[21], 0)), >(+(+(i5816[21], 1), 1), 0)), java.lang.Object(ARRAY(i4[21], a115115data[21])), i5816[21], i5824[21], java.lang.Object(java.lang.String(i6986[21])))
COND_LOAD34990ARR8(TRUE, java.lang.Object(ARRAY(i4[22], a115115data[22])), i5816[22], i5824[22], java.lang.Object(java.lang.String(i6986[22]))) → NEW39186(java.lang.Object(ARRAY(i4[22], a115115data[22])), +(+(i5816[22], 1), 1), i5824[22])
LOAD34990(java.lang.Object(ARRAY(i4[23], a115115data[23])), i5816[23], i5824[23]) → LOAD34990ARR9(java.lang.Object(ARRAY(i4[23], a115115data[23])), i5816[23], i5824[23], java.lang.Object(java.lang.String(i6164[23])))
LOAD34990ARR9(java.lang.Object(ARRAY(i4[24], a115115data[24])), i5816[24], i5824[24], java.lang.Object(java.lang.String(i6164[24]))) → COND_LOAD34990ARR9(&&(&&(&&(&&(&&(&&(>(+(i5816[24], 1), 0), <(+(i5816[24], 1), i4[24])), !(=(i6164[24], 0))), >(i5816[24], 0)), <(i5816[24], i4[24])), >(i5824[24], 0)), >(+(+(i5816[24], 1), 1), 0)), java.lang.Object(ARRAY(i4[24], a115115data[24])), i5816[24], i5824[24], java.lang.Object(java.lang.String(i6164[24])))
LOAD34990(java.lang.Object(ARRAY(i4[26], a115115data[26])), i5816[26], i5824[26]) → LOAD34990ARR10(java.lang.Object(ARRAY(i4[26], a115115data[26])), i5816[26], i5824[26], java.lang.Object(java.lang.String(i7504[26])), java.lang.Object(java.lang.String(i6164[26])))
LOAD34990ARR10(java.lang.Object(ARRAY(i4[27], a115115data[27])), i5816[27], i5824[27], java.lang.Object(java.lang.String(i7504[27])), java.lang.Object(java.lang.String(i6164[27]))) → COND_LOAD34990ARR10(&&(&&(&&(&&(&&(&&(&&(!(=(i7504[27], 0)), >(+(i5816[27], 1), 0)), <(+(i5816[27], 1), i4[27])), !(=(i6164[27], 0))), >(i5816[27], 0)), <(i5816[27], i4[27])), >(i5824[27], 0)), >(+(+(i5816[27], 1), 1), 0)), java.lang.Object(ARRAY(i4[27], a115115data[27])), i5816[27], i5824[27], java.lang.Object(java.lang.String(i7504[27])), java.lang.Object(java.lang.String(i6164[27])))

There are no usable rules.

(34) Complex Obligation (AND)

(35) Obligation:

IDP problem:
The following function symbols are pre-defined:
!=~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


The following domains are used:

Boolean, Integer


R is empty.

The integer pair graph contains the following rules and edges:
(0): LOAD34990(java.lang.Object(ARRAY(i4[0], a115115data[0])), i5816[0], i5824[0]) → LOAD34990ARR3(java.lang.Object(ARRAY(i4[0], a115115data[0])), i5816[0], i5824[0])
(1): LOAD34990ARR3(java.lang.Object(ARRAY(i4[1], a115115data[1])), i5816[1], i5824[1]) → COND_LOAD34990ARR3(i5816[1] + 1 > 0 && i5816[1] + 1 < i4[1] && i5816[1] > 0 && i5816[1] < i4[1] && i5824[1] > 0 && i5816[1] + 1 + 1 > 0, java.lang.Object(ARRAY(i4[1], a115115data[1])), i5816[1], i5824[1])
(2): COND_LOAD34990ARR3(TRUE, java.lang.Object(ARRAY(i4[2], a115115data[2])), i5816[2], i5824[2]) → NEW39186(java.lang.Object(ARRAY(i4[2], a115115data[2])), i5816[2] + 1 + 1, i5824[2])
(4): LOAD34990(java.lang.Object(ARRAY(i4[4], a115115data[4])), i5816[4], i5824[4]) → COND_LOAD34990(i5824[4] > 0, java.lang.Object(ARRAY(i4[4], a115115data[4])), i5816[4], i5824[4])
(7): LOAD34990(java.lang.Object(ARRAY(i4[7], a115115data[7])), i5816[7], i5824[7]) → LOAD34990ARR4(java.lang.Object(ARRAY(i4[7], a115115data[7])), i5816[7], i5824[7])
(8): LOAD34990ARR4(java.lang.Object(ARRAY(i4[8], a115115data[8])), i5816[8], i5824[8]) → COND_LOAD34990ARR4(i5816[8] + 1 > 0 && i5816[8] + 1 < i4[8] && i5816[8] > 0 && i5816[8] < i4[8] && i5824[8] > 0 && i5816[8] + 1 + 1 > 0, java.lang.Object(ARRAY(i4[8], a115115data[8])), i5816[8], i5824[8])
(10): LOAD34990(java.lang.Object(ARRAY(i4[10], a115115data[10])), i5816[10], i5824[10]) → LOAD34990ARR5(java.lang.Object(ARRAY(i4[10], a115115data[10])), i5816[10], i5824[10], java.lang.Object(java.lang.String(i6986[10])))
(11): LOAD34990ARR5(java.lang.Object(ARRAY(i4[11], a115115data[11])), i5816[11], i5824[11], java.lang.Object(java.lang.String(i6986[11]))) → COND_LOAD34990ARR5(!(i6986[11] = 0) && i5816[11] + 1 > 0 && i5816[11] + 1 < i4[11] && i5816[11] > 0 && i5816[11] < i4[11] && i5824[11] > 0 && i5816[11] + 1 + 1 > 0, java.lang.Object(ARRAY(i4[11], a115115data[11])), i5816[11], i5824[11], java.lang.Object(java.lang.String(i6986[11])))
(13): NEW40288(java.lang.Object(ARRAY(i4[13], a115115data[13])), i6905[13], i5824[13]) → INC35127(java.lang.Object(ARRAY(i4[13], a115115data[13])), i6905[13], i5824[13])
(14): LOAD34990(java.lang.Object(ARRAY(i4[14], a115115data[14])), i5816[14], i5824[14]) → LOAD34990ARR6(java.lang.Object(ARRAY(i4[14], a115115data[14])), i5816[14], i5824[14], java.lang.Object(java.lang.String(i6164[14])))
(15): LOAD34990ARR6(java.lang.Object(ARRAY(i4[15], a115115data[15])), i5816[15], i5824[15], java.lang.Object(java.lang.String(i6164[15]))) → COND_LOAD34990ARR6(i5816[15] + 1 > 0 && i5816[15] + 1 < i4[15] && !(i6164[15] = 0) && i5816[15] > 0 && i5816[15] < i4[15] && i5824[15] > 0 && i5816[15] + 1 + 1 > 0, java.lang.Object(ARRAY(i4[15], a115115data[15])), i5816[15], i5824[15], java.lang.Object(java.lang.String(i6164[15])))
(17): LOAD34990(java.lang.Object(ARRAY(i4[17], a115115data[17])), i5816[17], i5824[17]) → LOAD34990ARR7(java.lang.Object(ARRAY(i4[17], a115115data[17])), i5816[17], i5824[17], java.lang.Object(java.lang.String(i7504[17])), java.lang.Object(java.lang.String(i6164[17])))
(18): LOAD34990ARR7(java.lang.Object(ARRAY(i4[18], a115115data[18])), i5816[18], i5824[18], java.lang.Object(java.lang.String(i7504[18])), java.lang.Object(java.lang.String(i6164[18]))) → COND_LOAD34990ARR7(!(i7504[18] = 0) && i5816[18] + 1 > 0 && i5816[18] + 1 < i4[18] && !(i6164[18] = 0) && i5816[18] > 0 && i5816[18] < i4[18] && i5824[18] > 0 && i5816[18] + 1 + 1 > 0, java.lang.Object(ARRAY(i4[18], a115115data[18])), i5816[18], i5824[18], java.lang.Object(java.lang.String(i7504[18])), java.lang.Object(java.lang.String(i6164[18])))
(20): LOAD34990(java.lang.Object(ARRAY(i4[20], a115115data[20])), i5816[20], i5824[20]) → LOAD34990ARR8(java.lang.Object(ARRAY(i4[20], a115115data[20])), i5816[20], i5824[20], java.lang.Object(java.lang.String(i6986[20])))
(21): LOAD34990ARR8(java.lang.Object(ARRAY(i4[21], a115115data[21])), i5816[21], i5824[21], java.lang.Object(java.lang.String(i6986[21]))) → COND_LOAD34990ARR8(!(i6986[21] = 0) && i5816[21] + 1 > 0 && i5816[21] + 1 < i4[21] && i5816[21] > 0 && i5816[21] < i4[21] && i5824[21] > 0 && i5816[21] + 1 + 1 > 0, java.lang.Object(ARRAY(i4[21], a115115data[21])), i5816[21], i5824[21], java.lang.Object(java.lang.String(i6986[21])))
(22): COND_LOAD34990ARR8(TRUE, java.lang.Object(ARRAY(i4[22], a115115data[22])), i5816[22], i5824[22], java.lang.Object(java.lang.String(i6986[22]))) → NEW39186(java.lang.Object(ARRAY(i4[22], a115115data[22])), i5816[22] + 1 + 1, i5824[22])
(23): LOAD34990(java.lang.Object(ARRAY(i4[23], a115115data[23])), i5816[23], i5824[23]) → LOAD34990ARR9(java.lang.Object(ARRAY(i4[23], a115115data[23])), i5816[23], i5824[23], java.lang.Object(java.lang.String(i6164[23])))
(24): LOAD34990ARR9(java.lang.Object(ARRAY(i4[24], a115115data[24])), i5816[24], i5824[24], java.lang.Object(java.lang.String(i6164[24]))) → COND_LOAD34990ARR9(i5816[24] + 1 > 0 && i5816[24] + 1 < i4[24] && !(i6164[24] = 0) && i5816[24] > 0 && i5816[24] < i4[24] && i5824[24] > 0 && i5816[24] + 1 + 1 > 0, java.lang.Object(ARRAY(i4[24], a115115data[24])), i5816[24], i5824[24], java.lang.Object(java.lang.String(i6164[24])))
(26): LOAD34990(java.lang.Object(ARRAY(i4[26], a115115data[26])), i5816[26], i5824[26]) → LOAD34990ARR10(java.lang.Object(ARRAY(i4[26], a115115data[26])), i5816[26], i5824[26], java.lang.Object(java.lang.String(i7504[26])), java.lang.Object(java.lang.String(i6164[26])))
(27): LOAD34990ARR10(java.lang.Object(ARRAY(i4[27], a115115data[27])), i5816[27], i5824[27], java.lang.Object(java.lang.String(i7504[27])), java.lang.Object(java.lang.String(i6164[27]))) → COND_LOAD34990ARR10(!(i7504[27] = 0) && i5816[27] + 1 > 0 && i5816[27] + 1 < i4[27] && !(i6164[27] = 0) && i5816[27] > 0 && i5816[27] < i4[27] && i5824[27] > 0 && i5816[27] + 1 + 1 > 0, java.lang.Object(ARRAY(i4[27], a115115data[27])), i5816[27], i5824[27], java.lang.Object(java.lang.String(i7504[27])), java.lang.Object(java.lang.String(i6164[27])))

(0) -> (1), if (((i4[0]* i4[1])∧(a115115data[0]* a115115data[1]))∧(i5824[0]* i5824[1])∧(i5816[0]* i5816[1]))


(1) -> (2), if ((i5824[1]* i5824[2])∧(i5816[1]* i5816[2])∧((i4[1]* i4[2])∧(a115115data[1]* a115115data[2]))∧(i5816[1] + 1 > 0 && i5816[1] + 1 < i4[1] && i5816[1] > 0 && i5816[1] < i4[1] && i5824[1] > 0 && i5816[1] + 1 + 1 > 0* TRUE))


(7) -> (8), if ((i5824[7]* i5824[8])∧((i4[7]* i4[8])∧(a115115data[7]* a115115data[8]))∧(i5816[7]* i5816[8]))


(10) -> (11), if (((i6986[10]* i6986[11]))∧((i4[10]* i4[11])∧(a115115data[10]* a115115data[11]))∧(i5816[10]* i5816[11])∧(i5824[10]* i5824[11]))


(14) -> (15), if ((i5824[14]* i5824[15])∧(i5816[14]* i5816[15])∧((i6164[14]* i6164[15]))∧((i4[14]* i4[15])∧(a115115data[14]* a115115data[15])))


(17) -> (18), if (((i6164[17]* i6164[18]))∧(i5824[17]* i5824[18])∧((i7504[17]* i7504[18]))∧((i4[17]* i4[18])∧(a115115data[17]* a115115data[18]))∧(i5816[17]* i5816[18]))


(20) -> (21), if (((i6986[20]* i6986[21]))∧(i5816[20]* i5816[21])∧((i4[20]* i4[21])∧(a115115data[20]* a115115data[21]))∧(i5824[20]* i5824[21]))


(21) -> (22), if (((i4[21]* i4[22])∧(a115115data[21]* a115115data[22]))∧((i6986[21]* i6986[22]))∧(!(i6986[21] = 0) && i5816[21] + 1 > 0 && i5816[21] + 1 < i4[21] && i5816[21] > 0 && i5816[21] < i4[21] && i5824[21] > 0 && i5816[21] + 1 + 1 > 0* TRUE)∧(i5816[21]* i5816[22])∧(i5824[21]* i5824[22]))


(23) -> (24), if (((i6164[23]* i6164[24]))∧(i5816[23]* i5816[24])∧((i4[23]* i4[24])∧(a115115data[23]* a115115data[24]))∧(i5824[23]* i5824[24]))


(26) -> (27), if (((i7504[26]* i7504[27]))∧((i4[26]* i4[27])∧(a115115data[26]* a115115data[27]))∧((i6164[26]* i6164[27]))∧(i5824[26]* i5824[27])∧(i5816[26]* i5816[27]))



The set Q consists of the following terms:
Load34990(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load34990ARR3(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load34990ARR3(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
Inc35127(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load34990(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
New39186(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load34990ARR4(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load34990ARR4(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load34990ARR5(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load34990ARR5(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
New40288(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load34990ARR6(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load34990ARR6(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load34990ARR7(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)), java.lang.Object(java.lang.String(x5)))
Cond_Load34990ARR7(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)), java.lang.Object(java.lang.String(x5)))
Load34990ARR8(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load34990ARR8(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load34990ARR9(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load34990ARR9(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load34990ARR10(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)), java.lang.Object(java.lang.String(x5)))
Cond_Load34990ARR10(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)), java.lang.Object(java.lang.String(x5)))

(36) IDependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 20 less nodes.

(37) TRUE

(38) Obligation:

IDP problem:
The following function symbols are pre-defined:
!=~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


The following domains are used:

Integer


R is empty.

The integer pair graph contains the following rules and edges:
(0): LOAD34990(java.lang.Object(ARRAY(i4[0], a115115data[0])), i5816[0], i5824[0]) → LOAD34990ARR3(java.lang.Object(ARRAY(i4[0], a115115data[0])), i5816[0], i5824[0])
(2): COND_LOAD34990ARR3(TRUE, java.lang.Object(ARRAY(i4[2], a115115data[2])), i5816[2], i5824[2]) → NEW39186(java.lang.Object(ARRAY(i4[2], a115115data[2])), i5816[2] + 1 + 1, i5824[2])
(3): INC35127(java.lang.Object(ARRAY(i4[3], a115115data[3])), i5816[3], i5824[3]) → LOAD34990(java.lang.Object(ARRAY(i4[3], a115115data[3])), i5816[3], i5824[3] + -1)
(4): LOAD34990(java.lang.Object(ARRAY(i4[4], a115115data[4])), i5816[4], i5824[4]) → COND_LOAD34990(i5824[4] > 0, java.lang.Object(ARRAY(i4[4], a115115data[4])), i5816[4], i5824[4])
(5): COND_LOAD34990(TRUE, java.lang.Object(ARRAY(i4[5], a115115data[5])), i5816[5], i5824[5]) → LOAD34990(java.lang.Object(ARRAY(i4[5], a115115data[5])), i5816[5], i5824[5] + -1)
(6): NEW39186(java.lang.Object(ARRAY(i4[6], a115115data[6])), i6609[6], i5824[6]) → INC35127(java.lang.Object(ARRAY(i4[6], a115115data[6])), i6609[6], i5824[6])
(7): LOAD34990(java.lang.Object(ARRAY(i4[7], a115115data[7])), i5816[7], i5824[7]) → LOAD34990ARR4(java.lang.Object(ARRAY(i4[7], a115115data[7])), i5816[7], i5824[7])
(9): COND_LOAD34990ARR4(TRUE, java.lang.Object(ARRAY(i4[9], a115115data[9])), i5816[9], i5824[9]) → INC35127(java.lang.Object(ARRAY(i4[9], a115115data[9])), i5816[9] + 1 + 1, i5824[9])
(10): LOAD34990(java.lang.Object(ARRAY(i4[10], a115115data[10])), i5816[10], i5824[10]) → LOAD34990ARR5(java.lang.Object(ARRAY(i4[10], a115115data[10])), i5816[10], i5824[10], java.lang.Object(java.lang.String(i6986[10])))
(12): COND_LOAD34990ARR5(TRUE, java.lang.Object(ARRAY(i4[12], a115115data[12])), i5816[12], i5824[12], java.lang.Object(java.lang.String(i6986[12]))) → INC35127(java.lang.Object(ARRAY(i4[12], a115115data[12])), i5816[12] + 1 + 1, i5824[12])
(13): NEW40288(java.lang.Object(ARRAY(i4[13], a115115data[13])), i6905[13], i5824[13]) → INC35127(java.lang.Object(ARRAY(i4[13], a115115data[13])), i6905[13], i5824[13])
(14): LOAD34990(java.lang.Object(ARRAY(i4[14], a115115data[14])), i5816[14], i5824[14]) → LOAD34990ARR6(java.lang.Object(ARRAY(i4[14], a115115data[14])), i5816[14], i5824[14], java.lang.Object(java.lang.String(i6164[14])))
(16): COND_LOAD34990ARR6(TRUE, java.lang.Object(ARRAY(i4[16], a115115data[16])), i5816[16], i5824[16], java.lang.Object(java.lang.String(i6164[16]))) → INC35127(java.lang.Object(ARRAY(i4[16], a115115data[16])), i5816[16] + 1 + 1, i5824[16])
(17): LOAD34990(java.lang.Object(ARRAY(i4[17], a115115data[17])), i5816[17], i5824[17]) → LOAD34990ARR7(java.lang.Object(ARRAY(i4[17], a115115data[17])), i5816[17], i5824[17], java.lang.Object(java.lang.String(i7504[17])), java.lang.Object(java.lang.String(i6164[17])))
(19): COND_LOAD34990ARR7(TRUE, java.lang.Object(ARRAY(i4[19], a115115data[19])), i5816[19], i5824[19], java.lang.Object(java.lang.String(i7504[19])), java.lang.Object(java.lang.String(i6164[19]))) → INC35127(java.lang.Object(ARRAY(i4[19], a115115data[19])), i5816[19] + 1 + 1, i5824[19])
(20): LOAD34990(java.lang.Object(ARRAY(i4[20], a115115data[20])), i5816[20], i5824[20]) → LOAD34990ARR8(java.lang.Object(ARRAY(i4[20], a115115data[20])), i5816[20], i5824[20], java.lang.Object(java.lang.String(i6986[20])))
(22): COND_LOAD34990ARR8(TRUE, java.lang.Object(ARRAY(i4[22], a115115data[22])), i5816[22], i5824[22], java.lang.Object(java.lang.String(i6986[22]))) → NEW39186(java.lang.Object(ARRAY(i4[22], a115115data[22])), i5816[22] + 1 + 1, i5824[22])
(23): LOAD34990(java.lang.Object(ARRAY(i4[23], a115115data[23])), i5816[23], i5824[23]) → LOAD34990ARR9(java.lang.Object(ARRAY(i4[23], a115115data[23])), i5816[23], i5824[23], java.lang.Object(java.lang.String(i6164[23])))
(25): COND_LOAD34990ARR9(TRUE, java.lang.Object(ARRAY(i4[25], a115115data[25])), i5816[25], i5824[25], java.lang.Object(java.lang.String(i6164[25]))) → NEW40288(java.lang.Object(ARRAY(i4[25], a115115data[25])), i5816[25] + 1 + 1, i5824[25])
(26): LOAD34990(java.lang.Object(ARRAY(i4[26], a115115data[26])), i5816[26], i5824[26]) → LOAD34990ARR10(java.lang.Object(ARRAY(i4[26], a115115data[26])), i5816[26], i5824[26], java.lang.Object(java.lang.String(i7504[26])), java.lang.Object(java.lang.String(i6164[26])))
(28): COND_LOAD34990ARR10(TRUE, java.lang.Object(ARRAY(i4[28], a115115data[28])), i5816[28], i5824[28], java.lang.Object(java.lang.String(i7504[28])), java.lang.Object(java.lang.String(i6164[28]))) → NEW40288(java.lang.Object(ARRAY(i4[28], a115115data[28])), i5816[28] + 1 + 1, i5824[28])

(3) -> (0), if ((i5824[3] + -1* i5824[0])∧(i5816[3]* i5816[0])∧((i4[3]* i4[0])∧(a115115data[3]* a115115data[0])))


(5) -> (0), if ((i5816[5]* i5816[0])∧(i5824[5] + -1* i5824[0])∧((i4[5]* i4[0])∧(a115115data[5]* a115115data[0])))


(6) -> (3), if ((i5824[6]* i5824[3])∧(i6609[6]* i5816[3])∧((i4[6]* i4[3])∧(a115115data[6]* a115115data[3])))


(9) -> (3), if (((i4[9]* i4[3])∧(a115115data[9]* a115115data[3]))∧(i5816[9] + 1 + 1* i5816[3])∧(i5824[9]* i5824[3]))


(12) -> (3), if ((i5824[12]* i5824[3])∧(i5816[12] + 1 + 1* i5816[3])∧((i4[12]* i4[3])∧(a115115data[12]* a115115data[3])))


(13) -> (3), if (((i4[13]* i4[3])∧(a115115data[13]* a115115data[3]))∧(i6905[13]* i5816[3])∧(i5824[13]* i5824[3]))


(16) -> (3), if ((i5824[16]* i5824[3])∧(i5816[16] + 1 + 1* i5816[3])∧((i4[16]* i4[3])∧(a115115data[16]* a115115data[3])))


(19) -> (3), if ((i5816[19] + 1 + 1* i5816[3])∧(i5824[19]* i5824[3])∧((i4[19]* i4[3])∧(a115115data[19]* a115115data[3])))


(3) -> (4), if ((i5824[3] + -1* i5824[4])∧((i4[3]* i4[4])∧(a115115data[3]* a115115data[4]))∧(i5816[3]* i5816[4]))


(5) -> (4), if ((i5824[5] + -1* i5824[4])∧((i4[5]* i4[4])∧(a115115data[5]* a115115data[4]))∧(i5816[5]* i5816[4]))


(4) -> (5), if (((i4[4]* i4[5])∧(a115115data[4]* a115115data[5]))∧(i5816[4]* i5816[5])∧(i5824[4]* i5824[5])∧(i5824[4] > 0* TRUE))


(2) -> (6), if ((i5824[2]* i5824[6])∧(i5816[2] + 1 + 1* i6609[6])∧((i4[2]* i4[6])∧(a115115data[2]* a115115data[6])))


(22) -> (6), if ((i5816[22] + 1 + 1* i6609[6])∧((i4[22]* i4[6])∧(a115115data[22]* a115115data[6]))∧(i5824[22]* i5824[6]))


(3) -> (7), if ((i5824[3] + -1* i5824[7])∧((i4[3]* i4[7])∧(a115115data[3]* a115115data[7]))∧(i5816[3]* i5816[7]))


(5) -> (7), if ((i5816[5]* i5816[7])∧((i4[5]* i4[7])∧(a115115data[5]* a115115data[7]))∧(i5824[5] + -1* i5824[7]))


(3) -> (10), if ((i5824[3] + -1* i5824[10])∧((i4[3]* i4[10])∧(a115115data[3]* a115115data[10]))∧(i5816[3]* i5816[10]))


(5) -> (10), if (((i4[5]* i4[10])∧(a115115data[5]* a115115data[10]))∧(i5816[5]* i5816[10])∧(i5824[5] + -1* i5824[10]))


(25) -> (13), if ((i5824[25]* i5824[13])∧((i4[25]* i4[13])∧(a115115data[25]* a115115data[13]))∧(i5816[25] + 1 + 1* i6905[13]))


(28) -> (13), if ((i5824[28]* i5824[13])∧(i5816[28] + 1 + 1* i6905[13])∧((i4[28]* i4[13])∧(a115115data[28]* a115115data[13])))


(3) -> (14), if ((i5816[3]* i5816[14])∧((i4[3]* i4[14])∧(a115115data[3]* a115115data[14]))∧(i5824[3] + -1* i5824[14]))


(5) -> (14), if (((i4[5]* i4[14])∧(a115115data[5]* a115115data[14]))∧(i5824[5] + -1* i5824[14])∧(i5816[5]* i5816[14]))


(3) -> (17), if ((i5824[3] + -1* i5824[17])∧(i5816[3]* i5816[17])∧((i4[3]* i4[17])∧(a115115data[3]* a115115data[17])))


(5) -> (17), if (((i4[5]* i4[17])∧(a115115data[5]* a115115data[17]))∧(i5824[5] + -1* i5824[17])∧(i5816[5]* i5816[17]))


(3) -> (20), if (((i4[3]* i4[20])∧(a115115data[3]* a115115data[20]))∧(i5816[3]* i5816[20])∧(i5824[3] + -1* i5824[20]))


(5) -> (20), if ((i5816[5]* i5816[20])∧(i5824[5] + -1* i5824[20])∧((i4[5]* i4[20])∧(a115115data[5]* a115115data[20])))


(3) -> (23), if ((i5824[3] + -1* i5824[23])∧((i4[3]* i4[23])∧(a115115data[3]* a115115data[23]))∧(i5816[3]* i5816[23]))


(5) -> (23), if ((i5824[5] + -1* i5824[23])∧(i5816[5]* i5816[23])∧((i4[5]* i4[23])∧(a115115data[5]* a115115data[23])))


(3) -> (26), if (((i4[3]* i4[26])∧(a115115data[3]* a115115data[26]))∧(i5816[3]* i5816[26])∧(i5824[3] + -1* i5824[26]))


(5) -> (26), if ((i5824[5] + -1* i5824[26])∧(i5816[5]* i5816[26])∧((i4[5]* i4[26])∧(a115115data[5]* a115115data[26])))



The set Q consists of the following terms:
Load34990(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load34990ARR3(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load34990ARR3(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
Inc35127(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load34990(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
New39186(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load34990ARR4(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load34990ARR4(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load34990ARR5(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load34990ARR5(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
New40288(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load34990ARR6(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load34990ARR6(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load34990ARR7(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)), java.lang.Object(java.lang.String(x5)))
Cond_Load34990ARR7(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)), java.lang.Object(java.lang.String(x5)))
Load34990ARR8(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load34990ARR8(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load34990ARR9(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load34990ARR9(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load34990ARR10(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)), java.lang.Object(java.lang.String(x5)))
Cond_Load34990ARR10(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)), java.lang.Object(java.lang.String(x5)))

(39) IDependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 19 less nodes.

(40) Obligation:

IDP problem:
The following function symbols are pre-defined:
!=~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


The following domains are used:

Integer


R is empty.

The integer pair graph contains the following rules and edges:
(5): COND_LOAD34990(TRUE, java.lang.Object(ARRAY(i4[5], a115115data[5])), i5816[5], i5824[5]) → LOAD34990(java.lang.Object(ARRAY(i4[5], a115115data[5])), i5816[5], i5824[5] + -1)
(4): LOAD34990(java.lang.Object(ARRAY(i4[4], a115115data[4])), i5816[4], i5824[4]) → COND_LOAD34990(i5824[4] > 0, java.lang.Object(ARRAY(i4[4], a115115data[4])), i5816[4], i5824[4])

(5) -> (4), if ((i5824[5] + -1* i5824[4])∧((i4[5]* i4[4])∧(a115115data[5]* a115115data[4]))∧(i5816[5]* i5816[4]))


(4) -> (5), if (((i4[4]* i4[5])∧(a115115data[4]* a115115data[5]))∧(i5816[4]* i5816[5])∧(i5824[4]* i5824[5])∧(i5824[4] > 0* TRUE))



The set Q consists of the following terms:
Load34990(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load34990ARR3(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load34990ARR3(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
Inc35127(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load34990(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
New39186(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load34990ARR4(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load34990ARR4(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load34990ARR5(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load34990ARR5(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
New40288(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load34990ARR6(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load34990ARR6(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load34990ARR7(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)), java.lang.Object(java.lang.String(x5)))
Cond_Load34990ARR7(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)), java.lang.Object(java.lang.String(x5)))
Load34990ARR8(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load34990ARR8(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load34990ARR9(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load34990ARR9(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load34990ARR10(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)), java.lang.Object(java.lang.String(x5)))
Cond_Load34990ARR10(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)), java.lang.Object(java.lang.String(x5)))

(41) IDPNonInfProof (SOUND transformation)

The constraints were generated the following way:
The DP Problem is simplified using the Induction Calculus [NONINF] with the following steps:
Note that final constraints are written in bold face.


For Pair COND_LOAD34990(TRUE, java.lang.Object(ARRAY(i4[5], a115115data[5])), i5816[5], i5824[5]) → LOAD34990(java.lang.Object(ARRAY(i4[5], a115115data[5])), i5816[5], +(i5824[5], -1)) the following chains were created:
  • We consider the chain COND_LOAD34990(TRUE, java.lang.Object(ARRAY(i4[5], a115115data[5])), i5816[5], i5824[5]) → LOAD34990(java.lang.Object(ARRAY(i4[5], a115115data[5])), i5816[5], +(i5824[5], -1)) which results in the following constraint:

    (1)    (COND_LOAD34990(TRUE, java.lang.Object(ARRAY(i4[5], a115115data[5])), i5816[5], i5824[5])≥NonInfC∧COND_LOAD34990(TRUE, java.lang.Object(ARRAY(i4[5], a115115data[5])), i5816[5], i5824[5])≥LOAD34990(java.lang.Object(ARRAY(i4[5], a115115data[5])), i5816[5], +(i5824[5], -1))∧(UIncreasing(LOAD34990(java.lang.Object(ARRAY(i4[5], a115115data[5])), i5816[5], +(i5824[5], -1))), ≥))



    We simplified constraint (1) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (2)    ((UIncreasing(LOAD34990(java.lang.Object(ARRAY(i4[5], a115115data[5])), i5816[5], +(i5824[5], -1))), ≥)∧[2 + (-1)bso_11] ≥ 0)



    We simplified constraint (2) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (3)    ((UIncreasing(LOAD34990(java.lang.Object(ARRAY(i4[5], a115115data[5])), i5816[5], +(i5824[5], -1))), ≥)∧[2 + (-1)bso_11] ≥ 0)



    We simplified constraint (3) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (4)    ((UIncreasing(LOAD34990(java.lang.Object(ARRAY(i4[5], a115115data[5])), i5816[5], +(i5824[5], -1))), ≥)∧[2 + (-1)bso_11] ≥ 0)



    We simplified constraint (4) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (5)    ((UIncreasing(LOAD34990(java.lang.Object(ARRAY(i4[5], a115115data[5])), i5816[5], +(i5824[5], -1))), ≥)∧0 = 0∧[2 + (-1)bso_11] ≥ 0)







For Pair LOAD34990(java.lang.Object(ARRAY(i4[4], a115115data[4])), i5816[4], i5824[4]) → COND_LOAD34990(>(i5824[4], 0), java.lang.Object(ARRAY(i4[4], a115115data[4])), i5816[4], i5824[4]) the following chains were created:
  • We consider the chain LOAD34990(java.lang.Object(ARRAY(i4[4], a115115data[4])), i5816[4], i5824[4]) → COND_LOAD34990(>(i5824[4], 0), java.lang.Object(ARRAY(i4[4], a115115data[4])), i5816[4], i5824[4]), COND_LOAD34990(TRUE, java.lang.Object(ARRAY(i4[5], a115115data[5])), i5816[5], i5824[5]) → LOAD34990(java.lang.Object(ARRAY(i4[5], a115115data[5])), i5816[5], +(i5824[5], -1)) which results in the following constraint:

    (6)    (i4[4]=i4[5]a115115data[4]=a115115data[5]i5816[4]=i5816[5]i5824[4]=i5824[5]>(i5824[4], 0)=TRUELOAD34990(java.lang.Object(ARRAY(i4[4], a115115data[4])), i5816[4], i5824[4])≥NonInfC∧LOAD34990(java.lang.Object(ARRAY(i4[4], a115115data[4])), i5816[4], i5824[4])≥COND_LOAD34990(>(i5824[4], 0), java.lang.Object(ARRAY(i4[4], a115115data[4])), i5816[4], i5824[4])∧(UIncreasing(COND_LOAD34990(>(i5824[4], 0), java.lang.Object(ARRAY(i4[4], a115115data[4])), i5816[4], i5824[4])), ≥))



    We simplified constraint (6) using rule (IV) which results in the following new constraint:

    (7)    (>(i5824[4], 0)=TRUELOAD34990(java.lang.Object(ARRAY(i4[4], a115115data[4])), i5816[4], i5824[4])≥NonInfC∧LOAD34990(java.lang.Object(ARRAY(i4[4], a115115data[4])), i5816[4], i5824[4])≥COND_LOAD34990(>(i5824[4], 0), java.lang.Object(ARRAY(i4[4], a115115data[4])), i5816[4], i5824[4])∧(UIncreasing(COND_LOAD34990(>(i5824[4], 0), java.lang.Object(ARRAY(i4[4], a115115data[4])), i5816[4], i5824[4])), ≥))



    We simplified constraint (7) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (8)    (i5824[4] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990(>(i5824[4], 0), java.lang.Object(ARRAY(i4[4], a115115data[4])), i5816[4], i5824[4])), ≥)∧[(-1)bni_12 + (-1)Bound*bni_12] + [(2)bni_12]i5824[4] ≥ 0∧[(-1)bso_13] ≥ 0)



    We simplified constraint (8) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (9)    (i5824[4] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990(>(i5824[4], 0), java.lang.Object(ARRAY(i4[4], a115115data[4])), i5816[4], i5824[4])), ≥)∧[(-1)bni_12 + (-1)Bound*bni_12] + [(2)bni_12]i5824[4] ≥ 0∧[(-1)bso_13] ≥ 0)



    We simplified constraint (9) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (10)    (i5824[4] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990(>(i5824[4], 0), java.lang.Object(ARRAY(i4[4], a115115data[4])), i5816[4], i5824[4])), ≥)∧[(-1)bni_12 + (-1)Bound*bni_12] + [(2)bni_12]i5824[4] ≥ 0∧[(-1)bso_13] ≥ 0)



    We simplified constraint (10) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (11)    (i5824[4] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990(>(i5824[4], 0), java.lang.Object(ARRAY(i4[4], a115115data[4])), i5816[4], i5824[4])), ≥)∧[bni_12 + (-1)Bound*bni_12] + [(2)bni_12]i5824[4] ≥ 0∧[(-1)bso_13] ≥ 0)







To summarize, we get the following constraints P for the following pairs.
  • COND_LOAD34990(TRUE, java.lang.Object(ARRAY(i4[5], a115115data[5])), i5816[5], i5824[5]) → LOAD34990(java.lang.Object(ARRAY(i4[5], a115115data[5])), i5816[5], +(i5824[5], -1))
    • ((UIncreasing(LOAD34990(java.lang.Object(ARRAY(i4[5], a115115data[5])), i5816[5], +(i5824[5], -1))), ≥)∧0 = 0∧[2 + (-1)bso_11] ≥ 0)

  • LOAD34990(java.lang.Object(ARRAY(i4[4], a115115data[4])), i5816[4], i5824[4]) → COND_LOAD34990(>(i5824[4], 0), java.lang.Object(ARRAY(i4[4], a115115data[4])), i5816[4], i5824[4])
    • (i5824[4] ≥ 0 ⇒ (UIncreasing(COND_LOAD34990(>(i5824[4], 0), java.lang.Object(ARRAY(i4[4], a115115data[4])), i5816[4], i5824[4])), ≥)∧[bni_12 + (-1)Bound*bni_12] + [(2)bni_12]i5824[4] ≥ 0∧[(-1)bso_13] ≥ 0)




The constraints for P> respective Pbound are constructed from P where we just replace every occurence of "t ≥ s" in P by "t > s" respective "t ≥ c". Here c stands for the fresh constant used for Pbound.
Using the following integer polynomial ordering the resulting constraints can be solved
Polynomial interpretation over integers[POLO]:

POL(TRUE) = 0   
POL(FALSE) = 0   
POL(COND_LOAD34990(x1, x2, x3, x4)) = [-1] + [2]x4   
POL(java.lang.Object(x1)) = [-1]   
POL(ARRAY(x1, x2)) = [-1]   
POL(LOAD34990(x1, x2, x3)) = [-1] + [2]x3   
POL(+(x1, x2)) = x1 + x2   
POL(-1) = [-1]   
POL(>(x1, x2)) = [-1]   
POL(0) = 0   

The following pairs are in P>:

COND_LOAD34990(TRUE, java.lang.Object(ARRAY(i4[5], a115115data[5])), i5816[5], i5824[5]) → LOAD34990(java.lang.Object(ARRAY(i4[5], a115115data[5])), i5816[5], +(i5824[5], -1))

The following pairs are in Pbound:

LOAD34990(java.lang.Object(ARRAY(i4[4], a115115data[4])), i5816[4], i5824[4]) → COND_LOAD34990(>(i5824[4], 0), java.lang.Object(ARRAY(i4[4], a115115data[4])), i5816[4], i5824[4])

The following pairs are in P:

LOAD34990(java.lang.Object(ARRAY(i4[4], a115115data[4])), i5816[4], i5824[4]) → COND_LOAD34990(>(i5824[4], 0), java.lang.Object(ARRAY(i4[4], a115115data[4])), i5816[4], i5824[4])

There are no usable rules.

(42) Complex Obligation (AND)

(43) Obligation:

IDP problem:
The following function symbols are pre-defined:
!=~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


The following domains are used:

Integer


R is empty.

The integer pair graph contains the following rules and edges:
(4): LOAD34990(java.lang.Object(ARRAY(i4[4], a115115data[4])), i5816[4], i5824[4]) → COND_LOAD34990(i5824[4] > 0, java.lang.Object(ARRAY(i4[4], a115115data[4])), i5816[4], i5824[4])


The set Q consists of the following terms:
Load34990(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load34990ARR3(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load34990ARR3(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
Inc35127(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load34990(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
New39186(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load34990ARR4(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load34990ARR4(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load34990ARR5(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load34990ARR5(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
New40288(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load34990ARR6(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load34990ARR6(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load34990ARR7(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)), java.lang.Object(java.lang.String(x5)))
Cond_Load34990ARR7(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)), java.lang.Object(java.lang.String(x5)))
Load34990ARR8(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load34990ARR8(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load34990ARR9(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load34990ARR9(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load34990ARR10(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)), java.lang.Object(java.lang.String(x5)))
Cond_Load34990ARR10(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)), java.lang.Object(java.lang.String(x5)))

(44) IDependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 1 less node.

(45) TRUE

(46) Obligation:

IDP problem:
The following function symbols are pre-defined:
!=~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


The following domains are used:

Integer


R is empty.

The integer pair graph contains the following rules and edges:
(5): COND_LOAD34990(TRUE, java.lang.Object(ARRAY(i4[5], a115115data[5])), i5816[5], i5824[5]) → LOAD34990(java.lang.Object(ARRAY(i4[5], a115115data[5])), i5816[5], i5824[5] + -1)


The set Q consists of the following terms:
Load34990(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load34990ARR3(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load34990ARR3(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
Inc35127(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load34990(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
New39186(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load34990ARR4(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load34990ARR4(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load34990ARR5(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load34990ARR5(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
New40288(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load34990ARR6(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load34990ARR6(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load34990ARR7(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)), java.lang.Object(java.lang.String(x5)))
Cond_Load34990ARR7(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)), java.lang.Object(java.lang.String(x5)))
Load34990ARR8(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load34990ARR8(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load34990ARR9(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load34990ARR9(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load34990ARR10(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)), java.lang.Object(java.lang.String(x5)))
Cond_Load34990ARR10(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)), java.lang.Object(java.lang.String(x5)))

(47) IDependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 1 less node.

(48) TRUE