(0) Obligation:

JBC Problem based on JBC Program:
Manifest-Version: 1.0 Created-By: 1.6.0_16 (Sun Microsystems Inc.) Main-Class: MirrorTree
public class List {
Tree value;
List next;

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


public class MirrorTree {
public static void main(String[] args) {
Random.args = args;
Tree tree = Tree.createTree();

//Now mirror the left-most path:
mirror(tree);
}

public static void mirror(Tree tree) {
Tree cur = tree;
while (cur != null) {
Tree t = cur.left;
cur.left = cur.right;
cur.right = t;
cur = cur.right;
}
}
}


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 778 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:
Load35478(java.lang.Object(Tree(o81356, o81359))) → Load35478(o81356)
The set Q consists of the following terms:
Load35478(java.lang.Object(Tree(x0, x1)))

(6) ITRStoQTRSProof (EQUIVALENT transformation)

Represented integers and predefined function symbols by Terms

(7) Obligation:

Q restricted rewrite system:
The TRS R consists of the following rules:

Load35478(java.lang.Object(Tree(o81356, o81359))) → Load35478(o81356)

The set Q consists of the following terms:

Load35478(java.lang.Object(Tree(x0, x1)))

(8) QTRSRRRProof (EQUIVALENT transformation)

Used ordering:
Polynomial interpretation [POLO]:

POL(Load35478(x1)) = 2·x1   
POL(Tree(x1, x2)) = 2·x1 + x2   
POL(java.lang.Object(x1)) = 1 + 2·x1   
With this ordering the following rules can be removed by the rule removal processor [LPAR04] because they are oriented strictly:

Load35478(java.lang.Object(Tree(o81356, o81359))) → Load35478(o81356)


(9) Obligation:

Q restricted rewrite system:
R is empty.
The set Q consists of the following terms:

Load35478(java.lang.Object(Tree(x0, x1)))

(10) RisEmptyProof (EQUIVALENT transformation)

The TRS R is empty. Hence, termination is trivially proven.

(11) TRUE

(12) 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:
Load35385(java.lang.Object(ARRAY(i2, a87173data)), i4085, java.lang.Object(Tree), java.lang.Object(List(java.lang.Object(Tree), o81117)), i4089) → Load35385ARR1(java.lang.Object(ARRAY(i2, a87173data)), i4085, java.lang.Object(Tree), java.lang.Object(List(java.lang.Object(Tree), o81117)), i4089, java.lang.Object(java.lang.String(0)), java.lang.Object(java.lang.String(0)))
Load35385ARR1(java.lang.Object(ARRAY(i2, a87173data)), i4085, java.lang.Object(Tree), java.lang.Object(List(java.lang.Object(Tree), o81117)), i4089, java.lang.Object(java.lang.String(0)), java.lang.Object(java.lang.String(0))) → Cond_Load35385ARR1(i4085 + 1 > 0 && i4085 + 1 < i2 && i4085 > 0 && i4085 < i2 && i4089 > 0 && i4085 + 1 + 1 > 0, java.lang.Object(ARRAY(i2, a87173data)), i4085, java.lang.Object(Tree), java.lang.Object(List(java.lang.Object(Tree), o81117)), i4089, java.lang.Object(java.lang.String(0)), java.lang.Object(java.lang.String(0)))
Cond_Load35385ARR1(TRUE, java.lang.Object(ARRAY(i2, a87173data)), i4085, java.lang.Object(Tree), java.lang.Object(List(java.lang.Object(Tree), o81117)), i4089, java.lang.Object(java.lang.String(0)), java.lang.Object(java.lang.String(0))) → New38580(java.lang.Object(ARRAY(i2, a87173data)), i4085 + 1 + 1, java.lang.Object(Tree), o81117, i4089, NULL, NULL)
Inc35531(java.lang.Object(ARRAY(i2, a87173data)), i4085, o80195, o81117, i4089) → Load35385(java.lang.Object(ARRAY(i2, a87173data)), i4085, o80195, o81117, i4089 + -1)
Load35385(java.lang.Object(ARRAY(i2, a87173data)), i4085, o80195, java.lang.Object(List(NULL, o81117)), i4089) → Cond_Load35385(i4089 > 0, java.lang.Object(ARRAY(i2, a87173data)), i4085, o80195, java.lang.Object(List(NULL, o81117)), i4089)
Cond_Load35385(TRUE, java.lang.Object(ARRAY(i2, a87173data)), i4085, o80195, java.lang.Object(List(NULL, o81117)), i4089) → Load35385(java.lang.Object(ARRAY(i2, a87173data)), i4085, o80195, o81117, i4089 + -1)
New38580(java.lang.Object(ARRAY(i2, a87173data)), i4456, o80195, o81117, i4089, NULL, NULL) → Inc35531(java.lang.Object(ARRAY(i2, a87173data)), i4456, o80195, java.lang.Object(List(NULL, java.lang.Object(List(NULL, o81117)))), i4089)
Load35385(java.lang.Object(ARRAY(i2, a87173data)), i4085, o80195, java.lang.Object(List(java.lang.Object(Tree), o81117)), i4089) → Load35385ARR2(java.lang.Object(ARRAY(i2, a87173data)), i4085, o80195, java.lang.Object(List(java.lang.Object(Tree), o81117)), i4089, java.lang.Object(java.lang.String(0)), java.lang.Object(java.lang.String(0)))
Load35385ARR2(java.lang.Object(ARRAY(i2, a87173data)), i4085, o80195, java.lang.Object(List(java.lang.Object(Tree), o81117)), i4089, java.lang.Object(java.lang.String(0)), java.lang.Object(java.lang.String(0))) → Cond_Load35385ARR2(i4085 + 1 > 0 && i4085 + 1 < i2 && i4085 > 0 && i4085 < i2 && i4089 > 0 && i4085 + 1 + 1 > 0, java.lang.Object(ARRAY(i2, a87173data)), i4085, o80195, java.lang.Object(List(java.lang.Object(Tree), o81117)), i4089, java.lang.Object(java.lang.String(0)), java.lang.Object(java.lang.String(0)))
Cond_Load35385ARR2(TRUE, java.lang.Object(ARRAY(i2, a87173data)), i4085, o80195, java.lang.Object(List(java.lang.Object(Tree), o81117)), i4089, java.lang.Object(java.lang.String(0)), java.lang.Object(java.lang.String(0))) → Inc35531(java.lang.Object(ARRAY(i2, a87173data)), i4085 + 1 + 1, o80195new, java.lang.Object(List(NULL, java.lang.Object(List(NULL, o81117)))), i4089)
New39352(java.lang.Object(ARRAY(i2, a87173data)), i4456, o80195, o81117, i4089, NULL, java.lang.Object(Tree)) → Inc35531(java.lang.Object(ARRAY(i2, a87173data)), i4456, o80195, java.lang.Object(List(java.lang.Object(Tree), java.lang.Object(List(NULL, o81117)))), i4089)
Load35385(java.lang.Object(ARRAY(i2, a87173data)), i4085, o80195, java.lang.Object(List(java.lang.Object(Tree), o81117)), i4089) → Load35385ARR3(java.lang.Object(ARRAY(i2, a87173data)), i4085, o80195, java.lang.Object(List(java.lang.Object(Tree), o81117)), i4089, java.lang.Object(java.lang.String(i4710)), java.lang.Object(java.lang.String(0)))
Load35385ARR3(java.lang.Object(ARRAY(i2, a87173data)), i4085, o80195, java.lang.Object(List(java.lang.Object(Tree), o81117)), i4089, java.lang.Object(java.lang.String(i4710)), java.lang.Object(java.lang.String(0))) → Cond_Load35385ARR3(!(i4710 = 0) && i4085 + 1 > 0 && i4085 + 1 < i2 && i4085 > 0 && i4085 < i2 && i4089 > 0 && i4085 + 1 + 1 > 0, java.lang.Object(ARRAY(i2, a87173data)), i4085, o80195, java.lang.Object(List(java.lang.Object(Tree), o81117)), i4089, java.lang.Object(java.lang.String(i4710)), java.lang.Object(java.lang.String(0)))
Cond_Load35385ARR3(TRUE, java.lang.Object(ARRAY(i2, a87173data)), i4085, o80195, java.lang.Object(List(java.lang.Object(Tree), o81117)), i4089, java.lang.Object(java.lang.String(i4710)), java.lang.Object(java.lang.String(0))) → Inc35531(java.lang.Object(ARRAY(i2, a87173data)), i4085 + 1 + 1, o80195new, java.lang.Object(List(java.lang.Object(Tree), java.lang.Object(List(NULL, o81117)))), i4089)
New39442(java.lang.Object(ARRAY(i2, a87173data)), i4651, o80195, o81117, i4089, java.lang.Object(Tree), NULL) → Inc35531(java.lang.Object(ARRAY(i2, a87173data)), i4651, o80195, java.lang.Object(List(NULL, java.lang.Object(List(java.lang.Object(Tree), o81117)))), i4089)
Load35385(java.lang.Object(ARRAY(i2, a87173data)), i4085, o80195, java.lang.Object(List(java.lang.Object(Tree), o81117)), i4089) → Load35385ARR4(java.lang.Object(ARRAY(i2, a87173data)), i4085, o80195, java.lang.Object(List(java.lang.Object(Tree), o81117)), i4089, java.lang.Object(java.lang.String(0)), java.lang.Object(java.lang.String(i4231)))
Load35385ARR4(java.lang.Object(ARRAY(i2, a87173data)), i4085, o80195, java.lang.Object(List(java.lang.Object(Tree), o81117)), i4089, java.lang.Object(java.lang.String(0)), java.lang.Object(java.lang.String(i4231))) → Cond_Load35385ARR4(i4085 + 1 > 0 && i4085 + 1 < i2 && !(i4231 = 0) && i4085 > 0 && i4085 < i2 && i4089 > 0 && i4085 + 1 + 1 > 0, java.lang.Object(ARRAY(i2, a87173data)), i4085, o80195, java.lang.Object(List(java.lang.Object(Tree), o81117)), i4089, java.lang.Object(java.lang.String(0)), java.lang.Object(java.lang.String(i4231)))
Cond_Load35385ARR4(TRUE, java.lang.Object(ARRAY(i2, a87173data)), i4085, o80195, java.lang.Object(List(java.lang.Object(Tree), o81117)), i4089, java.lang.Object(java.lang.String(0)), java.lang.Object(java.lang.String(i4231))) → Inc35531(java.lang.Object(ARRAY(i2, a87173data)), i4085 + 1 + 1, o80195new, java.lang.Object(List(NULL, java.lang.Object(List(java.lang.Object(Tree), o81117)))), i4089)
New39942(java.lang.Object(ARRAY(i2, a87173data)), i4651, o80195, o81117, i4089, java.lang.Object(Tree), java.lang.Object(Tree)) → Inc35531(java.lang.Object(ARRAY(i2, a87173data)), i4651, o80195, java.lang.Object(List(java.lang.Object(Tree), java.lang.Object(List(java.lang.Object(Tree), o81117)))), i4089)
Load35385(java.lang.Object(ARRAY(i2, a87173data)), i4085, o80195, java.lang.Object(List(java.lang.Object(Tree), o81117)), i4089) → Load35385ARR5(java.lang.Object(ARRAY(i2, a87173data)), i4085, o80195, java.lang.Object(List(java.lang.Object(Tree), o81117)), i4089, java.lang.Object(java.lang.String(i5087)), java.lang.Object(java.lang.String(i4231)))
Load35385ARR5(java.lang.Object(ARRAY(i2, a87173data)), i4085, o80195, java.lang.Object(List(java.lang.Object(Tree), o81117)), i4089, java.lang.Object(java.lang.String(i5087)), java.lang.Object(java.lang.String(i4231))) → Cond_Load35385ARR5(!(i5087 = 0) && i4085 + 1 > 0 && i4085 + 1 < i2 && !(i4231 = 0) && i4085 > 0 && i4085 < i2 && i4089 > 0 && i4085 + 1 + 1 > 0, java.lang.Object(ARRAY(i2, a87173data)), i4085, o80195, java.lang.Object(List(java.lang.Object(Tree), o81117)), i4089, java.lang.Object(java.lang.String(i5087)), java.lang.Object(java.lang.String(i4231)))
Cond_Load35385ARR5(TRUE, java.lang.Object(ARRAY(i2, a87173data)), i4085, o80195, java.lang.Object(List(java.lang.Object(Tree), o81117)), i4089, java.lang.Object(java.lang.String(i5087)), java.lang.Object(java.lang.String(i4231))) → Inc35531(java.lang.Object(ARRAY(i2, a87173data)), i4085 + 1 + 1, o80195new, java.lang.Object(List(java.lang.Object(Tree), java.lang.Object(List(java.lang.Object(Tree), o81117)))), i4089)
Load35385(java.lang.Object(ARRAY(i2, a87173data)), i4085, java.lang.Object(Tree), java.lang.Object(List(java.lang.Object(Tree), o81117)), i4089) → Load35385ARR6(java.lang.Object(ARRAY(i2, a87173data)), i4085, java.lang.Object(Tree), java.lang.Object(List(java.lang.Object(Tree), o81117)), i4089, java.lang.Object(java.lang.String(i4710)), java.lang.Object(java.lang.String(0)))
Load35385ARR6(java.lang.Object(ARRAY(i2, a87173data)), i4085, java.lang.Object(Tree), java.lang.Object(List(java.lang.Object(Tree), o81117)), i4089, java.lang.Object(java.lang.String(i4710)), java.lang.Object(java.lang.String(0))) → Cond_Load35385ARR6(!(i4710 = 0) && i4085 + 1 > 0 && i4085 + 1 < i2 && i4085 > 0 && i4085 < i2 && i4089 > 0 && i4085 + 1 + 1 > 0, java.lang.Object(ARRAY(i2, a87173data)), i4085, java.lang.Object(Tree), java.lang.Object(List(java.lang.Object(Tree), o81117)), i4089, java.lang.Object(java.lang.String(i4710)), java.lang.Object(java.lang.String(0)))
Cond_Load35385ARR6(TRUE, java.lang.Object(ARRAY(i2, a87173data)), i4085, java.lang.Object(Tree), java.lang.Object(List(java.lang.Object(Tree), o81117)), i4089, java.lang.Object(java.lang.String(i4710)), java.lang.Object(java.lang.String(0))) → New39352(java.lang.Object(ARRAY(i2, a87173data)), i4085 + 1 + 1, java.lang.Object(Tree), o81117, i4089, NULL, java.lang.Object(Tree))
Load35385(java.lang.Object(ARRAY(i2, a87173data)), i4085, java.lang.Object(Tree), java.lang.Object(List(java.lang.Object(Tree), o81117)), i4089) → Load35385ARR7(java.lang.Object(ARRAY(i2, a87173data)), i4085, java.lang.Object(Tree), java.lang.Object(List(java.lang.Object(Tree), o81117)), i4089, java.lang.Object(java.lang.String(0)), java.lang.Object(java.lang.String(i4231)))
Load35385ARR7(java.lang.Object(ARRAY(i2, a87173data)), i4085, java.lang.Object(Tree), java.lang.Object(List(java.lang.Object(Tree), o81117)), i4089, java.lang.Object(java.lang.String(0)), java.lang.Object(java.lang.String(i4231))) → Cond_Load35385ARR7(i4085 + 1 > 0 && i4085 + 1 < i2 && !(i4231 = 0) && i4085 > 0 && i4085 < i2 && i4089 > 0 && i4085 + 1 + 1 > 0, java.lang.Object(ARRAY(i2, a87173data)), i4085, java.lang.Object(Tree), java.lang.Object(List(java.lang.Object(Tree), o81117)), i4089, java.lang.Object(java.lang.String(0)), java.lang.Object(java.lang.String(i4231)))
Cond_Load35385ARR7(TRUE, java.lang.Object(ARRAY(i2, a87173data)), i4085, java.lang.Object(Tree), java.lang.Object(List(java.lang.Object(Tree), o81117)), i4089, java.lang.Object(java.lang.String(0)), java.lang.Object(java.lang.String(i4231))) → New39442(java.lang.Object(ARRAY(i2, a87173data)), i4085 + 1 + 1, java.lang.Object(Tree), o81117, i4089, java.lang.Object(Tree), NULL)
Load35385(java.lang.Object(ARRAY(i2, a87173data)), i4085, java.lang.Object(Tree), java.lang.Object(List(java.lang.Object(Tree), o81117)), i4089) → Load35385ARR8(java.lang.Object(ARRAY(i2, a87173data)), i4085, java.lang.Object(Tree), java.lang.Object(List(java.lang.Object(Tree), o81117)), i4089, java.lang.Object(java.lang.String(i5087)), java.lang.Object(java.lang.String(i4231)))
Load35385ARR8(java.lang.Object(ARRAY(i2, a87173data)), i4085, java.lang.Object(Tree), java.lang.Object(List(java.lang.Object(Tree), o81117)), i4089, java.lang.Object(java.lang.String(i5087)), java.lang.Object(java.lang.String(i4231))) → Cond_Load35385ARR8(!(i5087 = 0) && i4085 + 1 > 0 && i4085 + 1 < i2 && !(i4231 = 0) && i4085 > 0 && i4085 < i2 && i4089 > 0 && i4085 + 1 + 1 > 0, java.lang.Object(ARRAY(i2, a87173data)), i4085, java.lang.Object(Tree), java.lang.Object(List(java.lang.Object(Tree), o81117)), i4089, java.lang.Object(java.lang.String(i5087)), java.lang.Object(java.lang.String(i4231)))
Cond_Load35385ARR8(TRUE, java.lang.Object(ARRAY(i2, a87173data)), i4085, java.lang.Object(Tree), java.lang.Object(List(java.lang.Object(Tree), o81117)), i4089, java.lang.Object(java.lang.String(i5087)), java.lang.Object(java.lang.String(i4231))) → New39942(java.lang.Object(ARRAY(i2, a87173data)), i4085 + 1 + 1, java.lang.Object(Tree), o81117, i4089, java.lang.Object(Tree), java.lang.Object(Tree))
The set Q consists of the following terms:
Load35385ARR1(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_Load35385ARR1(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)))
Inc35531(java.lang.Object(ARRAY(x0, x1)), x2, x3, x4, x5)
Load35385(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(List(NULL, x4)), x5)
Cond_Load35385(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(List(NULL, x4)), x5)
New38580(java.lang.Object(ARRAY(x0, x1)), x2, x3, x4, x5, NULL, NULL)
Load35385(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(List(java.lang.Object(Tree), x4)), x5)
Load35385ARR2(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_Load35385ARR2(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)))
New39352(java.lang.Object(ARRAY(x0, x1)), x2, x3, x4, x5, NULL, java.lang.Object(Tree))
Load35385ARR3(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_Load35385ARR3(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)))
New39442(java.lang.Object(ARRAY(x0, x1)), x2, x3, x4, x5, java.lang.Object(Tree), NULL)
Load35385ARR4(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_Load35385ARR4(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)))
New39942(java.lang.Object(ARRAY(x0, x1)), x2, x3, x4, x5, java.lang.Object(Tree), java.lang.Object(Tree))
Load35385ARR5(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_Load35385ARR5(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)))
Load35385ARR6(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_Load35385ARR6(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)))
Load35385ARR7(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_Load35385ARR7(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)))
Load35385ARR8(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_Load35385ARR8(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)))

(13) 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:

New39942(x1, x2, x3, x4, x5, x6, x7) → New39942(x1, x2, x3, x4, x5)
Cond_Load35385ARR8(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_Load35385ARR8(x1, x2, x3, x5, x6, x7, x8)
Load35385ARR8(x1, x2, x3, x4, x5, x6, x7) → Load35385ARR8(x1, x2, x4, x5, x6, x7)
New39442(x1, x2, x3, x4, x5, x6, x7) → New39442(x1, x2, x3, x4, x5)
Cond_Load35385ARR7(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_Load35385ARR7(x1, x2, x3, x5, x6, x8)
Load35385ARR7(x1, x2, x3, x4, x5, x6, x7) → Load35385ARR7(x1, x2, x4, x5, x7)
New39352(x1, x2, x3, x4, x5, x6, x7) → New39352(x1, x2, x3, x4, x5)
Cond_Load35385ARR6(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_Load35385ARR6(x1, x2, x3, x5, x6, x7)
Load35385ARR6(x1, x2, x3, x4, x5, x6, x7) → Load35385ARR6(x1, x2, x4, x5, x6)
Cond_Load35385ARR4(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_Load35385ARR4(x1, x2, x3, x4, x5, x6, x8)
Load35385ARR4(x1, x2, x3, x4, x5, x6, x7) → Load35385ARR4(x1, x2, x3, x4, x5, x7)
Cond_Load35385ARR3(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_Load35385ARR3(x1, x2, x3, x4, x5, x6, x7)
Load35385ARR3(x1, x2, x3, x4, x5, x6, x7) → Load35385ARR3(x1, x2, x3, x4, x5, x6)
Cond_Load35385ARR2(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_Load35385ARR2(x1, x2, x3, x4, x5, x6)
Load35385ARR2(x1, x2, x3, x4, x5, x6, x7) → Load35385ARR2(x1, x2, x3, x4, x5)
New38580(x1, x2, x3, x4, x5, x6, x7) → New38580(x1, x2, x3, x4, x5)
Cond_Load35385ARR1(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_Load35385ARR1(x1, x2, x3, x5, x6)
Load35385ARR1(x1, x2, x3, x4, x5, x6, x7) → Load35385ARR1(x1, x2, x4, x5)

(14) 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:
Load35385(java.lang.Object(ARRAY(i2, a87173data)), i4085, java.lang.Object(Tree), java.lang.Object(List(java.lang.Object(Tree), o81117)), i4089) → Load35385ARR1(java.lang.Object(ARRAY(i2, a87173data)), i4085, java.lang.Object(List(java.lang.Object(Tree), o81117)), i4089)
Load35385ARR1(java.lang.Object(ARRAY(i2, a87173data)), i4085, java.lang.Object(List(java.lang.Object(Tree), o81117)), i4089) → Cond_Load35385ARR1(i4085 + 1 > 0 && i4085 + 1 < i2 && i4085 > 0 && i4085 < i2 && i4089 > 0 && i4085 + 1 + 1 > 0, java.lang.Object(ARRAY(i2, a87173data)), i4085, java.lang.Object(List(java.lang.Object(Tree), o81117)), i4089)
Cond_Load35385ARR1(TRUE, java.lang.Object(ARRAY(i2, a87173data)), i4085, java.lang.Object(List(java.lang.Object(Tree), o81117)), i4089) → New38580(java.lang.Object(ARRAY(i2, a87173data)), i4085 + 1 + 1, java.lang.Object(Tree), o81117, i4089)
Inc35531(java.lang.Object(ARRAY(i2, a87173data)), i4085, o80195, o81117, i4089) → Load35385(java.lang.Object(ARRAY(i2, a87173data)), i4085, o80195, o81117, i4089 + -1)
Load35385(java.lang.Object(ARRAY(i2, a87173data)), i4085, o80195, java.lang.Object(List(NULL, o81117)), i4089) → Cond_Load35385(i4089 > 0, java.lang.Object(ARRAY(i2, a87173data)), i4085, o80195, java.lang.Object(List(NULL, o81117)), i4089)
Cond_Load35385(TRUE, java.lang.Object(ARRAY(i2, a87173data)), i4085, o80195, java.lang.Object(List(NULL, o81117)), i4089) → Load35385(java.lang.Object(ARRAY(i2, a87173data)), i4085, o80195, o81117, i4089 + -1)
New38580(java.lang.Object(ARRAY(i2, a87173data)), i4456, o80195, o81117, i4089) → Inc35531(java.lang.Object(ARRAY(i2, a87173data)), i4456, o80195, java.lang.Object(List(NULL, java.lang.Object(List(NULL, o81117)))), i4089)
Load35385(java.lang.Object(ARRAY(i2, a87173data)), i4085, o80195, java.lang.Object(List(java.lang.Object(Tree), o81117)), i4089) → Load35385ARR2(java.lang.Object(ARRAY(i2, a87173data)), i4085, o80195, java.lang.Object(List(java.lang.Object(Tree), o81117)), i4089)
Load35385ARR2(java.lang.Object(ARRAY(i2, a87173data)), i4085, o80195, java.lang.Object(List(java.lang.Object(Tree), o81117)), i4089) → Cond_Load35385ARR2(i4085 + 1 > 0 && i4085 + 1 < i2 && i4085 > 0 && i4085 < i2 && i4089 > 0 && i4085 + 1 + 1 > 0, java.lang.Object(ARRAY(i2, a87173data)), i4085, o80195, java.lang.Object(List(java.lang.Object(Tree), o81117)), i4089)
Cond_Load35385ARR2(TRUE, java.lang.Object(ARRAY(i2, a87173data)), i4085, o80195, java.lang.Object(List(java.lang.Object(Tree), o81117)), i4089) → Inc35531(java.lang.Object(ARRAY(i2, a87173data)), i4085 + 1 + 1, o80195new, java.lang.Object(List(NULL, java.lang.Object(List(NULL, o81117)))), i4089)
New39352(java.lang.Object(ARRAY(i2, a87173data)), i4456, o80195, o81117, i4089) → Inc35531(java.lang.Object(ARRAY(i2, a87173data)), i4456, o80195, java.lang.Object(List(java.lang.Object(Tree), java.lang.Object(List(NULL, o81117)))), i4089)
Load35385(java.lang.Object(ARRAY(i2, a87173data)), i4085, o80195, java.lang.Object(List(java.lang.Object(Tree), o81117)), i4089) → Load35385ARR3(java.lang.Object(ARRAY(i2, a87173data)), i4085, o80195, java.lang.Object(List(java.lang.Object(Tree), o81117)), i4089, java.lang.Object(java.lang.String(i4710)))
Load35385ARR3(java.lang.Object(ARRAY(i2, a87173data)), i4085, o80195, java.lang.Object(List(java.lang.Object(Tree), o81117)), i4089, java.lang.Object(java.lang.String(i4710))) → Cond_Load35385ARR3(!(i4710 = 0) && i4085 + 1 > 0 && i4085 + 1 < i2 && i4085 > 0 && i4085 < i2 && i4089 > 0 && i4085 + 1 + 1 > 0, java.lang.Object(ARRAY(i2, a87173data)), i4085, o80195, java.lang.Object(List(java.lang.Object(Tree), o81117)), i4089, java.lang.Object(java.lang.String(i4710)))
Cond_Load35385ARR3(TRUE, java.lang.Object(ARRAY(i2, a87173data)), i4085, o80195, java.lang.Object(List(java.lang.Object(Tree), o81117)), i4089, java.lang.Object(java.lang.String(i4710))) → Inc35531(java.lang.Object(ARRAY(i2, a87173data)), i4085 + 1 + 1, o80195new, java.lang.Object(List(java.lang.Object(Tree), java.lang.Object(List(NULL, o81117)))), i4089)
New39442(java.lang.Object(ARRAY(i2, a87173data)), i4651, o80195, o81117, i4089) → Inc35531(java.lang.Object(ARRAY(i2, a87173data)), i4651, o80195, java.lang.Object(List(NULL, java.lang.Object(List(java.lang.Object(Tree), o81117)))), i4089)
Load35385(java.lang.Object(ARRAY(i2, a87173data)), i4085, o80195, java.lang.Object(List(java.lang.Object(Tree), o81117)), i4089) → Load35385ARR4(java.lang.Object(ARRAY(i2, a87173data)), i4085, o80195, java.lang.Object(List(java.lang.Object(Tree), o81117)), i4089, java.lang.Object(java.lang.String(i4231)))
Load35385ARR4(java.lang.Object(ARRAY(i2, a87173data)), i4085, o80195, java.lang.Object(List(java.lang.Object(Tree), o81117)), i4089, java.lang.Object(java.lang.String(i4231))) → Cond_Load35385ARR4(i4085 + 1 > 0 && i4085 + 1 < i2 && !(i4231 = 0) && i4085 > 0 && i4085 < i2 && i4089 > 0 && i4085 + 1 + 1 > 0, java.lang.Object(ARRAY(i2, a87173data)), i4085, o80195, java.lang.Object(List(java.lang.Object(Tree), o81117)), i4089, java.lang.Object(java.lang.String(i4231)))
Cond_Load35385ARR4(TRUE, java.lang.Object(ARRAY(i2, a87173data)), i4085, o80195, java.lang.Object(List(java.lang.Object(Tree), o81117)), i4089, java.lang.Object(java.lang.String(i4231))) → Inc35531(java.lang.Object(ARRAY(i2, a87173data)), i4085 + 1 + 1, o80195new, java.lang.Object(List(NULL, java.lang.Object(List(java.lang.Object(Tree), o81117)))), i4089)
New39942(java.lang.Object(ARRAY(i2, a87173data)), i4651, o80195, o81117, i4089) → Inc35531(java.lang.Object(ARRAY(i2, a87173data)), i4651, o80195, java.lang.Object(List(java.lang.Object(Tree), java.lang.Object(List(java.lang.Object(Tree), o81117)))), i4089)
Load35385(java.lang.Object(ARRAY(i2, a87173data)), i4085, o80195, java.lang.Object(List(java.lang.Object(Tree), o81117)), i4089) → Load35385ARR5(java.lang.Object(ARRAY(i2, a87173data)), i4085, o80195, java.lang.Object(List(java.lang.Object(Tree), o81117)), i4089, java.lang.Object(java.lang.String(i5087)), java.lang.Object(java.lang.String(i4231)))
Load35385ARR5(java.lang.Object(ARRAY(i2, a87173data)), i4085, o80195, java.lang.Object(List(java.lang.Object(Tree), o81117)), i4089, java.lang.Object(java.lang.String(i5087)), java.lang.Object(java.lang.String(i4231))) → Cond_Load35385ARR5(!(i5087 = 0) && i4085 + 1 > 0 && i4085 + 1 < i2 && !(i4231 = 0) && i4085 > 0 && i4085 < i2 && i4089 > 0 && i4085 + 1 + 1 > 0, java.lang.Object(ARRAY(i2, a87173data)), i4085, o80195, java.lang.Object(List(java.lang.Object(Tree), o81117)), i4089, java.lang.Object(java.lang.String(i5087)), java.lang.Object(java.lang.String(i4231)))
Cond_Load35385ARR5(TRUE, java.lang.Object(ARRAY(i2, a87173data)), i4085, o80195, java.lang.Object(List(java.lang.Object(Tree), o81117)), i4089, java.lang.Object(java.lang.String(i5087)), java.lang.Object(java.lang.String(i4231))) → Inc35531(java.lang.Object(ARRAY(i2, a87173data)), i4085 + 1 + 1, o80195new, java.lang.Object(List(java.lang.Object(Tree), java.lang.Object(List(java.lang.Object(Tree), o81117)))), i4089)
Load35385(java.lang.Object(ARRAY(i2, a87173data)), i4085, java.lang.Object(Tree), java.lang.Object(List(java.lang.Object(Tree), o81117)), i4089) → Load35385ARR6(java.lang.Object(ARRAY(i2, a87173data)), i4085, java.lang.Object(List(java.lang.Object(Tree), o81117)), i4089, java.lang.Object(java.lang.String(i4710)))
Load35385ARR6(java.lang.Object(ARRAY(i2, a87173data)), i4085, java.lang.Object(List(java.lang.Object(Tree), o81117)), i4089, java.lang.Object(java.lang.String(i4710))) → Cond_Load35385ARR6(!(i4710 = 0) && i4085 + 1 > 0 && i4085 + 1 < i2 && i4085 > 0 && i4085 < i2 && i4089 > 0 && i4085 + 1 + 1 > 0, java.lang.Object(ARRAY(i2, a87173data)), i4085, java.lang.Object(List(java.lang.Object(Tree), o81117)), i4089, java.lang.Object(java.lang.String(i4710)))
Cond_Load35385ARR6(TRUE, java.lang.Object(ARRAY(i2, a87173data)), i4085, java.lang.Object(List(java.lang.Object(Tree), o81117)), i4089, java.lang.Object(java.lang.String(i4710))) → New39352(java.lang.Object(ARRAY(i2, a87173data)), i4085 + 1 + 1, java.lang.Object(Tree), o81117, i4089)
Load35385(java.lang.Object(ARRAY(i2, a87173data)), i4085, java.lang.Object(Tree), java.lang.Object(List(java.lang.Object(Tree), o81117)), i4089) → Load35385ARR7(java.lang.Object(ARRAY(i2, a87173data)), i4085, java.lang.Object(List(java.lang.Object(Tree), o81117)), i4089, java.lang.Object(java.lang.String(i4231)))
Load35385ARR7(java.lang.Object(ARRAY(i2, a87173data)), i4085, java.lang.Object(List(java.lang.Object(Tree), o81117)), i4089, java.lang.Object(java.lang.String(i4231))) → Cond_Load35385ARR7(i4085 + 1 > 0 && i4085 + 1 < i2 && !(i4231 = 0) && i4085 > 0 && i4085 < i2 && i4089 > 0 && i4085 + 1 + 1 > 0, java.lang.Object(ARRAY(i2, a87173data)), i4085, java.lang.Object(List(java.lang.Object(Tree), o81117)), i4089, java.lang.Object(java.lang.String(i4231)))
Cond_Load35385ARR7(TRUE, java.lang.Object(ARRAY(i2, a87173data)), i4085, java.lang.Object(List(java.lang.Object(Tree), o81117)), i4089, java.lang.Object(java.lang.String(i4231))) → New39442(java.lang.Object(ARRAY(i2, a87173data)), i4085 + 1 + 1, java.lang.Object(Tree), o81117, i4089)
Load35385(java.lang.Object(ARRAY(i2, a87173data)), i4085, java.lang.Object(Tree), java.lang.Object(List(java.lang.Object(Tree), o81117)), i4089) → Load35385ARR8(java.lang.Object(ARRAY(i2, a87173data)), i4085, java.lang.Object(List(java.lang.Object(Tree), o81117)), i4089, java.lang.Object(java.lang.String(i5087)), java.lang.Object(java.lang.String(i4231)))
Load35385ARR8(java.lang.Object(ARRAY(i2, a87173data)), i4085, java.lang.Object(List(java.lang.Object(Tree), o81117)), i4089, java.lang.Object(java.lang.String(i5087)), java.lang.Object(java.lang.String(i4231))) → Cond_Load35385ARR8(!(i5087 = 0) && i4085 + 1 > 0 && i4085 + 1 < i2 && !(i4231 = 0) && i4085 > 0 && i4085 < i2 && i4089 > 0 && i4085 + 1 + 1 > 0, java.lang.Object(ARRAY(i2, a87173data)), i4085, java.lang.Object(List(java.lang.Object(Tree), o81117)), i4089, java.lang.Object(java.lang.String(i5087)), java.lang.Object(java.lang.String(i4231)))
Cond_Load35385ARR8(TRUE, java.lang.Object(ARRAY(i2, a87173data)), i4085, java.lang.Object(List(java.lang.Object(Tree), o81117)), i4089, java.lang.Object(java.lang.String(i5087)), java.lang.Object(java.lang.String(i4231))) → New39942(java.lang.Object(ARRAY(i2, a87173data)), i4085 + 1 + 1, java.lang.Object(Tree), o81117, i4089)
The set Q consists of the following terms:
Load35385ARR1(java.lang.Object(ARRAY(x0, x1)), x2, java.lang.Object(List(java.lang.Object(Tree), x3)), x4)
Cond_Load35385ARR1(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, java.lang.Object(List(java.lang.Object(Tree), x3)), x4)
Inc35531(java.lang.Object(ARRAY(x0, x1)), x2, x3, x4, x5)
Load35385(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(List(NULL, x4)), x5)
Cond_Load35385(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(List(NULL, x4)), x5)
New38580(java.lang.Object(ARRAY(x0, x1)), x2, x3, x4, x5)
Load35385(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(List(java.lang.Object(Tree), x4)), x5)
Load35385ARR2(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(List(java.lang.Object(Tree), x4)), x5)
Cond_Load35385ARR2(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(List(java.lang.Object(Tree), x4)), x5)
New39352(java.lang.Object(ARRAY(x0, x1)), x2, x3, x4, x5)
Load35385ARR3(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_Load35385ARR3(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)))
New39442(java.lang.Object(ARRAY(x0, x1)), x2, x3, x4, x5)
Load35385ARR4(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_Load35385ARR4(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)))
New39942(java.lang.Object(ARRAY(x0, x1)), x2, x3, x4, x5)
Load35385ARR5(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_Load35385ARR5(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)))
Load35385ARR6(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_Load35385ARR6(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)))
Load35385ARR7(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_Load35385ARR7(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)))
Load35385ARR8(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_Load35385ARR8(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)))

(15) ITRSFilterProcessorProof (SOUND transformation)

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

Load35385(x1, x2, x3, x4, x5) → Load35385(x1, x2, x5)
List(x1, x2) → List
Load35385ARR1(x1, x2, x3, x4) → Load35385ARR1(x1, x2, x4)
Cond_Load35385ARR1(x1, x2, x3, x4, x5) → Cond_Load35385ARR1(x1, x2, x3, x5)
New38580(x1, x2, x3, x4, x5) → New38580(x1, x2, x5)
Inc35531(x1, x2, x3, x4, x5) → Inc35531(x1, x2, x5)
Cond_Load35385(x1, x2, x3, x4, x5, x6) → Cond_Load35385(x1, x2, x3, x6)
Load35385ARR2(x1, x2, x3, x4, x5) → Load35385ARR2(x1, x2, x5)
Cond_Load35385ARR2(x1, x2, x3, x4, x5, x6) → Cond_Load35385ARR2(x1, x2, x3, x6)
New39352(x1, x2, x3, x4, x5) → New39352(x1, x2, x5)
Load35385ARR3(x1, x2, x3, x4, x5, x6) → Load35385ARR3(x1, x2, x5, x6)
Cond_Load35385ARR3(x1, x2, x3, x4, x5, x6, x7) → Cond_Load35385ARR3(x1, x2, x3, x6, x7)
New39442(x1, x2, x3, x4, x5) → New39442(x1, x2, x5)
Load35385ARR4(x1, x2, x3, x4, x5, x6) → Load35385ARR4(x1, x2, x5, x6)
Cond_Load35385ARR4(x1, x2, x3, x4, x5, x6, x7) → Cond_Load35385ARR4(x1, x2, x3, x6, x7)
New39942(x1, x2, x3, x4, x5) → New39942(x1, x2, x5)
Load35385ARR5(x1, x2, x3, x4, x5, x6, x7) → Load35385ARR5(x1, x2, x5, x6, x7)
Cond_Load35385ARR5(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_Load35385ARR5(x1, x2, x3, x6, x7, x8)
Load35385ARR6(x1, x2, x3, x4, x5) → Load35385ARR6(x1, x2, x4, x5)
Cond_Load35385ARR6(x1, x2, x3, x4, x5, x6) → Cond_Load35385ARR6(x1, x2, x3, x5, x6)
Load35385ARR7(x1, x2, x3, x4, x5) → Load35385ARR7(x1, x2, x4, x5)
Cond_Load35385ARR7(x1, x2, x3, x4, x5, x6) → Cond_Load35385ARR7(x1, x2, x3, x5, x6)
Load35385ARR8(x1, x2, x3, x4, x5, x6) → Load35385ARR8(x1, x2, x4, x5, x6)
Cond_Load35385ARR8(x1, x2, x3, x4, x5, x6, x7) → Cond_Load35385ARR8(x1, x2, x3, x5, x6, x7)

(16) 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:
Load35385(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089) → Load35385ARR1(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089)
Load35385ARR1(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089) → Cond_Load35385ARR1(i4085 + 1 > 0 && i4085 + 1 < i2 && i4085 > 0 && i4085 < i2 && i4089 > 0 && i4085 + 1 + 1 > 0, java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089)
Cond_Load35385ARR1(TRUE, java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089) → New38580(java.lang.Object(ARRAY(i2, a87173data)), i4085 + 1 + 1, i4089)
Inc35531(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089) → Load35385(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089 + -1)
Load35385(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089) → Cond_Load35385(i4089 > 0, java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089)
Cond_Load35385(TRUE, java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089) → Load35385(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089 + -1)
New38580(java.lang.Object(ARRAY(i2, a87173data)), i4456, i4089) → Inc35531(java.lang.Object(ARRAY(i2, a87173data)), i4456, i4089)
Load35385(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089) → Load35385ARR2(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089)
Load35385ARR2(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089) → Cond_Load35385ARR2(i4085 + 1 > 0 && i4085 + 1 < i2 && i4085 > 0 && i4085 < i2 && i4089 > 0 && i4085 + 1 + 1 > 0, java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089)
Cond_Load35385ARR2(TRUE, java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089) → Inc35531(java.lang.Object(ARRAY(i2, a87173data)), i4085 + 1 + 1, i4089)
New39352(java.lang.Object(ARRAY(i2, a87173data)), i4456, i4089) → Inc35531(java.lang.Object(ARRAY(i2, a87173data)), i4456, i4089)
Load35385(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089) → Load35385ARR3(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i4710)))
Load35385ARR3(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i4710))) → Cond_Load35385ARR3(!(i4710 = 0) && i4085 + 1 > 0 && i4085 + 1 < i2 && i4085 > 0 && i4085 < i2 && i4089 > 0 && i4085 + 1 + 1 > 0, java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i4710)))
Cond_Load35385ARR3(TRUE, java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i4710))) → Inc35531(java.lang.Object(ARRAY(i2, a87173data)), i4085 + 1 + 1, i4089)
New39442(java.lang.Object(ARRAY(i2, a87173data)), i4651, i4089) → Inc35531(java.lang.Object(ARRAY(i2, a87173data)), i4651, i4089)
Load35385(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089) → Load35385ARR4(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i4231)))
Load35385ARR4(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i4231))) → Cond_Load35385ARR4(i4085 + 1 > 0 && i4085 + 1 < i2 && !(i4231 = 0) && i4085 > 0 && i4085 < i2 && i4089 > 0 && i4085 + 1 + 1 > 0, java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i4231)))
Cond_Load35385ARR4(TRUE, java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i4231))) → Inc35531(java.lang.Object(ARRAY(i2, a87173data)), i4085 + 1 + 1, i4089)
New39942(java.lang.Object(ARRAY(i2, a87173data)), i4651, i4089) → Inc35531(java.lang.Object(ARRAY(i2, a87173data)), i4651, i4089)
Load35385(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089) → Load35385ARR5(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i5087)), java.lang.Object(java.lang.String(i4231)))
Load35385ARR5(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i5087)), java.lang.Object(java.lang.String(i4231))) → Cond_Load35385ARR5(!(i5087 = 0) && i4085 + 1 > 0 && i4085 + 1 < i2 && !(i4231 = 0) && i4085 > 0 && i4085 < i2 && i4089 > 0 && i4085 + 1 + 1 > 0, java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i5087)), java.lang.Object(java.lang.String(i4231)))
Cond_Load35385ARR5(TRUE, java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i5087)), java.lang.Object(java.lang.String(i4231))) → Inc35531(java.lang.Object(ARRAY(i2, a87173data)), i4085 + 1 + 1, i4089)
Load35385(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089) → Load35385ARR6(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i4710)))
Load35385ARR6(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i4710))) → Cond_Load35385ARR6(!(i4710 = 0) && i4085 + 1 > 0 && i4085 + 1 < i2 && i4085 > 0 && i4085 < i2 && i4089 > 0 && i4085 + 1 + 1 > 0, java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i4710)))
Cond_Load35385ARR6(TRUE, java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i4710))) → New39352(java.lang.Object(ARRAY(i2, a87173data)), i4085 + 1 + 1, i4089)
Load35385(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089) → Load35385ARR7(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i4231)))
Load35385ARR7(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i4231))) → Cond_Load35385ARR7(i4085 + 1 > 0 && i4085 + 1 < i2 && !(i4231 = 0) && i4085 > 0 && i4085 < i2 && i4089 > 0 && i4085 + 1 + 1 > 0, java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i4231)))
Cond_Load35385ARR7(TRUE, java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i4231))) → New39442(java.lang.Object(ARRAY(i2, a87173data)), i4085 + 1 + 1, i4089)
Load35385(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089) → Load35385ARR8(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i5087)), java.lang.Object(java.lang.String(i4231)))
Load35385ARR8(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i5087)), java.lang.Object(java.lang.String(i4231))) → Cond_Load35385ARR8(!(i5087 = 0) && i4085 + 1 > 0 && i4085 + 1 < i2 && !(i4231 = 0) && i4085 > 0 && i4085 < i2 && i4089 > 0 && i4085 + 1 + 1 > 0, java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i5087)), java.lang.Object(java.lang.String(i4231)))
Cond_Load35385ARR8(TRUE, java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i5087)), java.lang.Object(java.lang.String(i4231))) → New39942(java.lang.Object(ARRAY(i2, a87173data)), i4085 + 1 + 1, i4089)
The set Q consists of the following terms:
Load35385(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load35385ARR1(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load35385ARR1(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
Inc35531(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load35385(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
New38580(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load35385ARR2(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load35385ARR2(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
New39352(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load35385ARR3(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load35385ARR3(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
New39442(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load35385ARR4(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load35385ARR4(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
New39942(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load35385ARR5(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)), java.lang.Object(java.lang.String(x5)))
Cond_Load35385ARR5(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)), java.lang.Object(java.lang.String(x5)))
Load35385ARR6(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load35385ARR6(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load35385ARR7(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load35385ARR7(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load35385ARR8(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)), java.lang.Object(java.lang.String(x5)))
Cond_Load35385ARR8(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)), java.lang.Object(java.lang.String(x5)))

(17) ITRSFSMergerProof (SOUND transformation)

The following function symbols have been merged:

New38580, New39352
> New38580_3

New39442, New39942
> New39442_3

(18) 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:
Load35385(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089) → Load35385ARR1(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089)
Load35385ARR1(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089) → Cond_Load35385ARR1(i4085 + 1 > 0 && i4085 + 1 < i2 && i4085 > 0 && i4085 < i2 && i4089 > 0 && i4085 + 1 + 1 > 0, java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089)
Cond_Load35385ARR1(TRUE, java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089) → New38580(java.lang.Object(ARRAY(i2, a87173data)), i4085 + 1 + 1, i4089)
Inc35531(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089) → Load35385(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089 + -1)
Load35385(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089) → Cond_Load35385(i4089 > 0, java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089)
Cond_Load35385(TRUE, java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089) → Load35385(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089 + -1)
New38580(java.lang.Object(ARRAY(i2, a87173data)), i4456, i4089) → Inc35531(java.lang.Object(ARRAY(i2, a87173data)), i4456, i4089)
Load35385(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089) → Load35385ARR2(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089)
Load35385ARR2(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089) → Cond_Load35385ARR2(i4085 + 1 > 0 && i4085 + 1 < i2 && i4085 > 0 && i4085 < i2 && i4089 > 0 && i4085 + 1 + 1 > 0, java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089)
Cond_Load35385ARR2(TRUE, java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089) → Inc35531(java.lang.Object(ARRAY(i2, a87173data)), i4085 + 1 + 1, i4089)
Load35385(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089) → Load35385ARR3(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i4710)))
Load35385ARR3(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i4710))) → Cond_Load35385ARR3(!(i4710 = 0) && i4085 + 1 > 0 && i4085 + 1 < i2 && i4085 > 0 && i4085 < i2 && i4089 > 0 && i4085 + 1 + 1 > 0, java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i4710)))
Cond_Load35385ARR3(TRUE, java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i4710))) → Inc35531(java.lang.Object(ARRAY(i2, a87173data)), i4085 + 1 + 1, i4089)
New39442(java.lang.Object(ARRAY(i2, a87173data)), i4651, i4089) → Inc35531(java.lang.Object(ARRAY(i2, a87173data)), i4651, i4089)
Load35385(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089) → Load35385ARR4(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i4231)))
Load35385ARR4(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i4231))) → Cond_Load35385ARR4(i4085 + 1 > 0 && i4085 + 1 < i2 && !(i4231 = 0) && i4085 > 0 && i4085 < i2 && i4089 > 0 && i4085 + 1 + 1 > 0, java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i4231)))
Cond_Load35385ARR4(TRUE, java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i4231))) → Inc35531(java.lang.Object(ARRAY(i2, a87173data)), i4085 + 1 + 1, i4089)
Load35385(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089) → Load35385ARR5(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i5087)), java.lang.Object(java.lang.String(i4231)))
Load35385ARR5(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i5087)), java.lang.Object(java.lang.String(i4231))) → Cond_Load35385ARR5(!(i5087 = 0) && i4085 + 1 > 0 && i4085 + 1 < i2 && !(i4231 = 0) && i4085 > 0 && i4085 < i2 && i4089 > 0 && i4085 + 1 + 1 > 0, java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i5087)), java.lang.Object(java.lang.String(i4231)))
Cond_Load35385ARR5(TRUE, java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i5087)), java.lang.Object(java.lang.String(i4231))) → Inc35531(java.lang.Object(ARRAY(i2, a87173data)), i4085 + 1 + 1, i4089)
Load35385(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089) → Load35385ARR6(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i4710)))
Load35385ARR6(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i4710))) → Cond_Load35385ARR6(!(i4710 = 0) && i4085 + 1 > 0 && i4085 + 1 < i2 && i4085 > 0 && i4085 < i2 && i4089 > 0 && i4085 + 1 + 1 > 0, java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i4710)))
Cond_Load35385ARR6(TRUE, java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i4710))) → New38580(java.lang.Object(ARRAY(i2, a87173data)), i4085 + 1 + 1, i4089)
Load35385(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089) → Load35385ARR7(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i4231)))
Load35385ARR7(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i4231))) → Cond_Load35385ARR7(i4085 + 1 > 0 && i4085 + 1 < i2 && !(i4231 = 0) && i4085 > 0 && i4085 < i2 && i4089 > 0 && i4085 + 1 + 1 > 0, java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i4231)))
Cond_Load35385ARR7(TRUE, java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i4231))) → New39442(java.lang.Object(ARRAY(i2, a87173data)), i4085 + 1 + 1, i4089)
Load35385(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089) → Load35385ARR8(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i5087)), java.lang.Object(java.lang.String(i4231)))
Load35385ARR8(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i5087)), java.lang.Object(java.lang.String(i4231))) → Cond_Load35385ARR8(!(i5087 = 0) && i4085 + 1 > 0 && i4085 + 1 < i2 && !(i4231 = 0) && i4085 > 0 && i4085 < i2 && i4089 > 0 && i4085 + 1 + 1 > 0, java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i5087)), java.lang.Object(java.lang.String(i4231)))
Cond_Load35385ARR8(TRUE, java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i5087)), java.lang.Object(java.lang.String(i4231))) → New39442(java.lang.Object(ARRAY(i2, a87173data)), i4085 + 1 + 1, i4089)
The set Q consists of the following terms:
Load35385(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load35385ARR1(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load35385ARR1(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
Inc35531(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load35385(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
New38580(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load35385ARR2(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load35385ARR2(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load35385ARR3(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load35385ARR3(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
New39442(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load35385ARR4(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load35385ARR4(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load35385ARR5(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)), java.lang.Object(java.lang.String(x5)))
Cond_Load35385ARR5(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)), java.lang.Object(java.lang.String(x5)))
Load35385ARR6(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load35385ARR6(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load35385ARR7(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load35385ARR7(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load35385ARR8(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)), java.lang.Object(java.lang.String(x5)))
Cond_Load35385ARR8(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)), java.lang.Object(java.lang.String(x5)))

(19) ITRStoIDPProof (EQUIVALENT transformation)

Added dependency pairs

(20) 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:
Load35385(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089) → Load35385ARR1(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089)
Load35385ARR1(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089) → Cond_Load35385ARR1(i4085 + 1 > 0 && i4085 + 1 < i2 && i4085 > 0 && i4085 < i2 && i4089 > 0 && i4085 + 1 + 1 > 0, java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089)
Cond_Load35385ARR1(TRUE, java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089) → New38580(java.lang.Object(ARRAY(i2, a87173data)), i4085 + 1 + 1, i4089)
Inc35531(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089) → Load35385(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089 + -1)
Load35385(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089) → Cond_Load35385(i4089 > 0, java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089)
Cond_Load35385(TRUE, java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089) → Load35385(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089 + -1)
New38580(java.lang.Object(ARRAY(i2, a87173data)), i4456, i4089) → Inc35531(java.lang.Object(ARRAY(i2, a87173data)), i4456, i4089)
Load35385(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089) → Load35385ARR2(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089)
Load35385ARR2(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089) → Cond_Load35385ARR2(i4085 + 1 > 0 && i4085 + 1 < i2 && i4085 > 0 && i4085 < i2 && i4089 > 0 && i4085 + 1 + 1 > 0, java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089)
Cond_Load35385ARR2(TRUE, java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089) → Inc35531(java.lang.Object(ARRAY(i2, a87173data)), i4085 + 1 + 1, i4089)
Load35385(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089) → Load35385ARR3(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i4710)))
Load35385ARR3(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i4710))) → Cond_Load35385ARR3(!(i4710 = 0) && i4085 + 1 > 0 && i4085 + 1 < i2 && i4085 > 0 && i4085 < i2 && i4089 > 0 && i4085 + 1 + 1 > 0, java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i4710)))
Cond_Load35385ARR3(TRUE, java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i4710))) → Inc35531(java.lang.Object(ARRAY(i2, a87173data)), i4085 + 1 + 1, i4089)
New39442(java.lang.Object(ARRAY(i2, a87173data)), i4651, i4089) → Inc35531(java.lang.Object(ARRAY(i2, a87173data)), i4651, i4089)
Load35385(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089) → Load35385ARR4(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i4231)))
Load35385ARR4(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i4231))) → Cond_Load35385ARR4(i4085 + 1 > 0 && i4085 + 1 < i2 && !(i4231 = 0) && i4085 > 0 && i4085 < i2 && i4089 > 0 && i4085 + 1 + 1 > 0, java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i4231)))
Cond_Load35385ARR4(TRUE, java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i4231))) → Inc35531(java.lang.Object(ARRAY(i2, a87173data)), i4085 + 1 + 1, i4089)
Load35385(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089) → Load35385ARR5(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i5087)), java.lang.Object(java.lang.String(i4231)))
Load35385ARR5(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i5087)), java.lang.Object(java.lang.String(i4231))) → Cond_Load35385ARR5(!(i5087 = 0) && i4085 + 1 > 0 && i4085 + 1 < i2 && !(i4231 = 0) && i4085 > 0 && i4085 < i2 && i4089 > 0 && i4085 + 1 + 1 > 0, java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i5087)), java.lang.Object(java.lang.String(i4231)))
Cond_Load35385ARR5(TRUE, java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i5087)), java.lang.Object(java.lang.String(i4231))) → Inc35531(java.lang.Object(ARRAY(i2, a87173data)), i4085 + 1 + 1, i4089)
Load35385(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089) → Load35385ARR6(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i4710)))
Load35385ARR6(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i4710))) → Cond_Load35385ARR6(!(i4710 = 0) && i4085 + 1 > 0 && i4085 + 1 < i2 && i4085 > 0 && i4085 < i2 && i4089 > 0 && i4085 + 1 + 1 > 0, java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i4710)))
Cond_Load35385ARR6(TRUE, java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i4710))) → New38580(java.lang.Object(ARRAY(i2, a87173data)), i4085 + 1 + 1, i4089)
Load35385(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089) → Load35385ARR7(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i4231)))
Load35385ARR7(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i4231))) → Cond_Load35385ARR7(i4085 + 1 > 0 && i4085 + 1 < i2 && !(i4231 = 0) && i4085 > 0 && i4085 < i2 && i4089 > 0 && i4085 + 1 + 1 > 0, java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i4231)))
Cond_Load35385ARR7(TRUE, java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i4231))) → New39442(java.lang.Object(ARRAY(i2, a87173data)), i4085 + 1 + 1, i4089)
Load35385(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089) → Load35385ARR8(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i5087)), java.lang.Object(java.lang.String(i4231)))
Load35385ARR8(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i5087)), java.lang.Object(java.lang.String(i4231))) → Cond_Load35385ARR8(!(i5087 = 0) && i4085 + 1 > 0 && i4085 + 1 < i2 && !(i4231 = 0) && i4085 > 0 && i4085 < i2 && i4089 > 0 && i4085 + 1 + 1 > 0, java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i5087)), java.lang.Object(java.lang.String(i4231)))
Cond_Load35385ARR8(TRUE, java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i5087)), java.lang.Object(java.lang.String(i4231))) → New39442(java.lang.Object(ARRAY(i2, a87173data)), i4085 + 1 + 1, i4089)

The integer pair graph contains the following rules and edges:
(0): LOAD35385(java.lang.Object(ARRAY(i2[0], a87173data[0])), i4085[0], i4089[0]) → LOAD35385ARR1(java.lang.Object(ARRAY(i2[0], a87173data[0])), i4085[0], i4089[0])
(1): LOAD35385ARR1(java.lang.Object(ARRAY(i2[1], a87173data[1])), i4085[1], i4089[1]) → COND_LOAD35385ARR1(i4085[1] + 1 > 0 && i4085[1] + 1 < i2[1] && i4085[1] > 0 && i4085[1] < i2[1] && i4089[1] > 0 && i4085[1] + 1 + 1 > 0, java.lang.Object(ARRAY(i2[1], a87173data[1])), i4085[1], i4089[1])
(2): COND_LOAD35385ARR1(TRUE, java.lang.Object(ARRAY(i2[2], a87173data[2])), i4085[2], i4089[2]) → NEW38580(java.lang.Object(ARRAY(i2[2], a87173data[2])), i4085[2] + 1 + 1, i4089[2])
(3): INC35531(java.lang.Object(ARRAY(i2[3], a87173data[3])), i4085[3], i4089[3]) → LOAD35385(java.lang.Object(ARRAY(i2[3], a87173data[3])), i4085[3], i4089[3] + -1)
(4): LOAD35385(java.lang.Object(ARRAY(i2[4], a87173data[4])), i4085[4], i4089[4]) → COND_LOAD35385(i4089[4] > 0, java.lang.Object(ARRAY(i2[4], a87173data[4])), i4085[4], i4089[4])
(5): COND_LOAD35385(TRUE, java.lang.Object(ARRAY(i2[5], a87173data[5])), i4085[5], i4089[5]) → LOAD35385(java.lang.Object(ARRAY(i2[5], a87173data[5])), i4085[5], i4089[5] + -1)
(6): NEW38580(java.lang.Object(ARRAY(i2[6], a87173data[6])), i4456[6], i4089[6]) → INC35531(java.lang.Object(ARRAY(i2[6], a87173data[6])), i4456[6], i4089[6])
(7): LOAD35385(java.lang.Object(ARRAY(i2[7], a87173data[7])), i4085[7], i4089[7]) → LOAD35385ARR2(java.lang.Object(ARRAY(i2[7], a87173data[7])), i4085[7], i4089[7])
(8): LOAD35385ARR2(java.lang.Object(ARRAY(i2[8], a87173data[8])), i4085[8], i4089[8]) → COND_LOAD35385ARR2(i4085[8] + 1 > 0 && i4085[8] + 1 < i2[8] && i4085[8] > 0 && i4085[8] < i2[8] && i4089[8] > 0 && i4085[8] + 1 + 1 > 0, java.lang.Object(ARRAY(i2[8], a87173data[8])), i4085[8], i4089[8])
(9): COND_LOAD35385ARR2(TRUE, java.lang.Object(ARRAY(i2[9], a87173data[9])), i4085[9], i4089[9]) → INC35531(java.lang.Object(ARRAY(i2[9], a87173data[9])), i4085[9] + 1 + 1, i4089[9])
(10): LOAD35385(java.lang.Object(ARRAY(i2[10], a87173data[10])), i4085[10], i4089[10]) → LOAD35385ARR3(java.lang.Object(ARRAY(i2[10], a87173data[10])), i4085[10], i4089[10], java.lang.Object(java.lang.String(i4710[10])))
(11): LOAD35385ARR3(java.lang.Object(ARRAY(i2[11], a87173data[11])), i4085[11], i4089[11], java.lang.Object(java.lang.String(i4710[11]))) → COND_LOAD35385ARR3(!(i4710[11] = 0) && i4085[11] + 1 > 0 && i4085[11] + 1 < i2[11] && i4085[11] > 0 && i4085[11] < i2[11] && i4089[11] > 0 && i4085[11] + 1 + 1 > 0, java.lang.Object(ARRAY(i2[11], a87173data[11])), i4085[11], i4089[11], java.lang.Object(java.lang.String(i4710[11])))
(12): COND_LOAD35385ARR3(TRUE, java.lang.Object(ARRAY(i2[12], a87173data[12])), i4085[12], i4089[12], java.lang.Object(java.lang.String(i4710[12]))) → INC35531(java.lang.Object(ARRAY(i2[12], a87173data[12])), i4085[12] + 1 + 1, i4089[12])
(13): NEW39442(java.lang.Object(ARRAY(i2[13], a87173data[13])), i4651[13], i4089[13]) → INC35531(java.lang.Object(ARRAY(i2[13], a87173data[13])), i4651[13], i4089[13])
(14): LOAD35385(java.lang.Object(ARRAY(i2[14], a87173data[14])), i4085[14], i4089[14]) → LOAD35385ARR4(java.lang.Object(ARRAY(i2[14], a87173data[14])), i4085[14], i4089[14], java.lang.Object(java.lang.String(i4231[14])))
(15): LOAD35385ARR4(java.lang.Object(ARRAY(i2[15], a87173data[15])), i4085[15], i4089[15], java.lang.Object(java.lang.String(i4231[15]))) → COND_LOAD35385ARR4(i4085[15] + 1 > 0 && i4085[15] + 1 < i2[15] && !(i4231[15] = 0) && i4085[15] > 0 && i4085[15] < i2[15] && i4089[15] > 0 && i4085[15] + 1 + 1 > 0, java.lang.Object(ARRAY(i2[15], a87173data[15])), i4085[15], i4089[15], java.lang.Object(java.lang.String(i4231[15])))
(16): COND_LOAD35385ARR4(TRUE, java.lang.Object(ARRAY(i2[16], a87173data[16])), i4085[16], i4089[16], java.lang.Object(java.lang.String(i4231[16]))) → INC35531(java.lang.Object(ARRAY(i2[16], a87173data[16])), i4085[16] + 1 + 1, i4089[16])
(17): LOAD35385(java.lang.Object(ARRAY(i2[17], a87173data[17])), i4085[17], i4089[17]) → LOAD35385ARR5(java.lang.Object(ARRAY(i2[17], a87173data[17])), i4085[17], i4089[17], java.lang.Object(java.lang.String(i5087[17])), java.lang.Object(java.lang.String(i4231[17])))
(18): LOAD35385ARR5(java.lang.Object(ARRAY(i2[18], a87173data[18])), i4085[18], i4089[18], java.lang.Object(java.lang.String(i5087[18])), java.lang.Object(java.lang.String(i4231[18]))) → COND_LOAD35385ARR5(!(i5087[18] = 0) && i4085[18] + 1 > 0 && i4085[18] + 1 < i2[18] && !(i4231[18] = 0) && i4085[18] > 0 && i4085[18] < i2[18] && i4089[18] > 0 && i4085[18] + 1 + 1 > 0, java.lang.Object(ARRAY(i2[18], a87173data[18])), i4085[18], i4089[18], java.lang.Object(java.lang.String(i5087[18])), java.lang.Object(java.lang.String(i4231[18])))
(19): COND_LOAD35385ARR5(TRUE, java.lang.Object(ARRAY(i2[19], a87173data[19])), i4085[19], i4089[19], java.lang.Object(java.lang.String(i5087[19])), java.lang.Object(java.lang.String(i4231[19]))) → INC35531(java.lang.Object(ARRAY(i2[19], a87173data[19])), i4085[19] + 1 + 1, i4089[19])
(20): LOAD35385(java.lang.Object(ARRAY(i2[20], a87173data[20])), i4085[20], i4089[20]) → LOAD35385ARR6(java.lang.Object(ARRAY(i2[20], a87173data[20])), i4085[20], i4089[20], java.lang.Object(java.lang.String(i4710[20])))
(21): LOAD35385ARR6(java.lang.Object(ARRAY(i2[21], a87173data[21])), i4085[21], i4089[21], java.lang.Object(java.lang.String(i4710[21]))) → COND_LOAD35385ARR6(!(i4710[21] = 0) && i4085[21] + 1 > 0 && i4085[21] + 1 < i2[21] && i4085[21] > 0 && i4085[21] < i2[21] && i4089[21] > 0 && i4085[21] + 1 + 1 > 0, java.lang.Object(ARRAY(i2[21], a87173data[21])), i4085[21], i4089[21], java.lang.Object(java.lang.String(i4710[21])))
(22): COND_LOAD35385ARR6(TRUE, java.lang.Object(ARRAY(i2[22], a87173data[22])), i4085[22], i4089[22], java.lang.Object(java.lang.String(i4710[22]))) → NEW38580(java.lang.Object(ARRAY(i2[22], a87173data[22])), i4085[22] + 1 + 1, i4089[22])
(23): LOAD35385(java.lang.Object(ARRAY(i2[23], a87173data[23])), i4085[23], i4089[23]) → LOAD35385ARR7(java.lang.Object(ARRAY(i2[23], a87173data[23])), i4085[23], i4089[23], java.lang.Object(java.lang.String(i4231[23])))
(24): LOAD35385ARR7(java.lang.Object(ARRAY(i2[24], a87173data[24])), i4085[24], i4089[24], java.lang.Object(java.lang.String(i4231[24]))) → COND_LOAD35385ARR7(i4085[24] + 1 > 0 && i4085[24] + 1 < i2[24] && !(i4231[24] = 0) && i4085[24] > 0 && i4085[24] < i2[24] && i4089[24] > 0 && i4085[24] + 1 + 1 > 0, java.lang.Object(ARRAY(i2[24], a87173data[24])), i4085[24], i4089[24], java.lang.Object(java.lang.String(i4231[24])))
(25): COND_LOAD35385ARR7(TRUE, java.lang.Object(ARRAY(i2[25], a87173data[25])), i4085[25], i4089[25], java.lang.Object(java.lang.String(i4231[25]))) → NEW39442(java.lang.Object(ARRAY(i2[25], a87173data[25])), i4085[25] + 1 + 1, i4089[25])
(26): LOAD35385(java.lang.Object(ARRAY(i2[26], a87173data[26])), i4085[26], i4089[26]) → LOAD35385ARR8(java.lang.Object(ARRAY(i2[26], a87173data[26])), i4085[26], i4089[26], java.lang.Object(java.lang.String(i5087[26])), java.lang.Object(java.lang.String(i4231[26])))
(27): LOAD35385ARR8(java.lang.Object(ARRAY(i2[27], a87173data[27])), i4085[27], i4089[27], java.lang.Object(java.lang.String(i5087[27])), java.lang.Object(java.lang.String(i4231[27]))) → COND_LOAD35385ARR8(!(i5087[27] = 0) && i4085[27] + 1 > 0 && i4085[27] + 1 < i2[27] && !(i4231[27] = 0) && i4085[27] > 0 && i4085[27] < i2[27] && i4089[27] > 0 && i4085[27] + 1 + 1 > 0, java.lang.Object(ARRAY(i2[27], a87173data[27])), i4085[27], i4089[27], java.lang.Object(java.lang.String(i5087[27])), java.lang.Object(java.lang.String(i4231[27])))
(28): COND_LOAD35385ARR8(TRUE, java.lang.Object(ARRAY(i2[28], a87173data[28])), i4085[28], i4089[28], java.lang.Object(java.lang.String(i5087[28])), java.lang.Object(java.lang.String(i4231[28]))) → NEW39442(java.lang.Object(ARRAY(i2[28], a87173data[28])), i4085[28] + 1 + 1, i4089[28])

(0) -> (1), if ((i4085[0]* i4085[1])∧(java.lang.Object(ARRAY(i2[0], a87173data[0])) →* java.lang.Object(ARRAY(i2[1], a87173data[1])))∧(i4089[0]* i4089[1]))


(1) -> (2), if ((java.lang.Object(ARRAY(i2[1], a87173data[1])) →* java.lang.Object(ARRAY(i2[2], a87173data[2])))∧(i4085[1]* i4085[2])∧(i4089[1]* i4089[2])∧(i4085[1] + 1 > 0 && i4085[1] + 1 < i2[1] && i4085[1] > 0 && i4085[1] < i2[1] && i4089[1] > 0 && i4085[1] + 1 + 1 > 0* TRUE))


(2) -> (6), if ((i4089[2]* i4089[6])∧(java.lang.Object(ARRAY(i2[2], a87173data[2])) →* java.lang.Object(ARRAY(i2[6], a87173data[6])))∧(i4085[2] + 1 + 1* i4456[6]))


(3) -> (0), if ((i4085[3]* i4085[0])∧(java.lang.Object(ARRAY(i2[3], a87173data[3])) →* java.lang.Object(ARRAY(i2[0], a87173data[0])))∧(i4089[3] + -1* i4089[0]))


(3) -> (4), if ((i4085[3]* i4085[4])∧(i4089[3] + -1* i4089[4])∧(java.lang.Object(ARRAY(i2[3], a87173data[3])) →* java.lang.Object(ARRAY(i2[4], a87173data[4]))))


(3) -> (7), if ((i4089[3] + -1* i4089[7])∧(java.lang.Object(ARRAY(i2[3], a87173data[3])) →* java.lang.Object(ARRAY(i2[7], a87173data[7])))∧(i4085[3]* i4085[7]))


(3) -> (10), if ((i4085[3]* i4085[10])∧(i4089[3] + -1* i4089[10])∧(java.lang.Object(ARRAY(i2[3], a87173data[3])) →* java.lang.Object(ARRAY(i2[10], a87173data[10]))))


(3) -> (14), if ((java.lang.Object(ARRAY(i2[3], a87173data[3])) →* java.lang.Object(ARRAY(i2[14], a87173data[14])))∧(i4085[3]* i4085[14])∧(i4089[3] + -1* i4089[14]))


(3) -> (17), if ((i4089[3] + -1* i4089[17])∧(java.lang.Object(ARRAY(i2[3], a87173data[3])) →* java.lang.Object(ARRAY(i2[17], a87173data[17])))∧(i4085[3]* i4085[17]))


(3) -> (20), if ((java.lang.Object(ARRAY(i2[3], a87173data[3])) →* java.lang.Object(ARRAY(i2[20], a87173data[20])))∧(i4089[3] + -1* i4089[20])∧(i4085[3]* i4085[20]))


(3) -> (23), if ((i4085[3]* i4085[23])∧(java.lang.Object(ARRAY(i2[3], a87173data[3])) →* java.lang.Object(ARRAY(i2[23], a87173data[23])))∧(i4089[3] + -1* i4089[23]))


(3) -> (26), if ((i4085[3]* i4085[26])∧(java.lang.Object(ARRAY(i2[3], a87173data[3])) →* java.lang.Object(ARRAY(i2[26], a87173data[26])))∧(i4089[3] + -1* i4089[26]))


(4) -> (5), if ((i4085[4]* i4085[5])∧(i4089[4] > 0* TRUE)∧(java.lang.Object(ARRAY(i2[4], a87173data[4])) →* java.lang.Object(ARRAY(i2[5], a87173data[5])))∧(i4089[4]* i4089[5]))


(5) -> (0), if ((i4089[5] + -1* i4089[0])∧(java.lang.Object(ARRAY(i2[5], a87173data[5])) →* java.lang.Object(ARRAY(i2[0], a87173data[0])))∧(i4085[5]* i4085[0]))


(5) -> (4), if ((java.lang.Object(ARRAY(i2[5], a87173data[5])) →* java.lang.Object(ARRAY(i2[4], a87173data[4])))∧(i4085[5]* i4085[4])∧(i4089[5] + -1* i4089[4]))


(5) -> (7), if ((java.lang.Object(ARRAY(i2[5], a87173data[5])) →* java.lang.Object(ARRAY(i2[7], a87173data[7])))∧(i4089[5] + -1* i4089[7])∧(i4085[5]* i4085[7]))


(5) -> (10), if ((i4089[5] + -1* i4089[10])∧(java.lang.Object(ARRAY(i2[5], a87173data[5])) →* java.lang.Object(ARRAY(i2[10], a87173data[10])))∧(i4085[5]* i4085[10]))


(5) -> (14), if ((i4085[5]* i4085[14])∧(i4089[5] + -1* i4089[14])∧(java.lang.Object(ARRAY(i2[5], a87173data[5])) →* java.lang.Object(ARRAY(i2[14], a87173data[14]))))


(5) -> (17), if ((i4089[5] + -1* i4089[17])∧(i4085[5]* i4085[17])∧(java.lang.Object(ARRAY(i2[5], a87173data[5])) →* java.lang.Object(ARRAY(i2[17], a87173data[17]))))


(5) -> (20), if ((i4089[5] + -1* i4089[20])∧(i4085[5]* i4085[20])∧(java.lang.Object(ARRAY(i2[5], a87173data[5])) →* java.lang.Object(ARRAY(i2[20], a87173data[20]))))


(5) -> (23), if ((i4089[5] + -1* i4089[23])∧(java.lang.Object(ARRAY(i2[5], a87173data[5])) →* java.lang.Object(ARRAY(i2[23], a87173data[23])))∧(i4085[5]* i4085[23]))


(5) -> (26), if ((i4085[5]* i4085[26])∧(i4089[5] + -1* i4089[26])∧(java.lang.Object(ARRAY(i2[5], a87173data[5])) →* java.lang.Object(ARRAY(i2[26], a87173data[26]))))


(6) -> (3), if ((i4456[6]* i4085[3])∧(java.lang.Object(ARRAY(i2[6], a87173data[6])) →* java.lang.Object(ARRAY(i2[3], a87173data[3])))∧(i4089[6]* i4089[3]))


(7) -> (8), if ((java.lang.Object(ARRAY(i2[7], a87173data[7])) →* java.lang.Object(ARRAY(i2[8], a87173data[8])))∧(i4089[7]* i4089[8])∧(i4085[7]* i4085[8]))


(8) -> (9), if ((i4085[8]* i4085[9])∧(i4085[8] + 1 > 0 && i4085[8] + 1 < i2[8] && i4085[8] > 0 && i4085[8] < i2[8] && i4089[8] > 0 && i4085[8] + 1 + 1 > 0* TRUE)∧(java.lang.Object(ARRAY(i2[8], a87173data[8])) →* java.lang.Object(ARRAY(i2[9], a87173data[9])))∧(i4089[8]* i4089[9]))


(9) -> (3), if ((java.lang.Object(ARRAY(i2[9], a87173data[9])) →* java.lang.Object(ARRAY(i2[3], a87173data[3])))∧(i4085[9] + 1 + 1* i4085[3])∧(i4089[9]* i4089[3]))


(10) -> (11), if ((i4089[10]* i4089[11])∧(java.lang.Object(java.lang.String(i4710[10])) →* java.lang.Object(java.lang.String(i4710[11])))∧(i4085[10]* i4085[11])∧(java.lang.Object(ARRAY(i2[10], a87173data[10])) →* java.lang.Object(ARRAY(i2[11], a87173data[11]))))


(11) -> (12), if ((!(i4710[11] = 0) && i4085[11] + 1 > 0 && i4085[11] + 1 < i2[11] && i4085[11] > 0 && i4085[11] < i2[11] && i4089[11] > 0 && i4085[11] + 1 + 1 > 0* TRUE)∧(i4089[11]* i4089[12])∧(java.lang.Object(java.lang.String(i4710[11])) →* java.lang.Object(java.lang.String(i4710[12])))∧(java.lang.Object(ARRAY(i2[11], a87173data[11])) →* java.lang.Object(ARRAY(i2[12], a87173data[12])))∧(i4085[11]* i4085[12]))


(12) -> (3), if ((java.lang.Object(ARRAY(i2[12], a87173data[12])) →* java.lang.Object(ARRAY(i2[3], a87173data[3])))∧(i4089[12]* i4089[3])∧(i4085[12] + 1 + 1* i4085[3]))


(13) -> (3), if ((i4651[13]* i4085[3])∧(i4089[13]* i4089[3])∧(java.lang.Object(ARRAY(i2[13], a87173data[13])) →* java.lang.Object(ARRAY(i2[3], a87173data[3]))))


(14) -> (15), if ((i4089[14]* i4089[15])∧(java.lang.Object(java.lang.String(i4231[14])) →* java.lang.Object(java.lang.String(i4231[15])))∧(i4085[14]* i4085[15])∧(java.lang.Object(ARRAY(i2[14], a87173data[14])) →* java.lang.Object(ARRAY(i2[15], a87173data[15]))))


(15) -> (16), if ((java.lang.Object(ARRAY(i2[15], a87173data[15])) →* java.lang.Object(ARRAY(i2[16], a87173data[16])))∧(java.lang.Object(java.lang.String(i4231[15])) →* java.lang.Object(java.lang.String(i4231[16])))∧(i4089[15]* i4089[16])∧(i4085[15]* i4085[16])∧(i4085[15] + 1 > 0 && i4085[15] + 1 < i2[15] && !(i4231[15] = 0) && i4085[15] > 0 && i4085[15] < i2[15] && i4089[15] > 0 && i4085[15] + 1 + 1 > 0* TRUE))


(16) -> (3), if ((i4085[16] + 1 + 1* i4085[3])∧(i4089[16]* i4089[3])∧(java.lang.Object(ARRAY(i2[16], a87173data[16])) →* java.lang.Object(ARRAY(i2[3], a87173data[3]))))


(17) -> (18), if ((java.lang.Object(ARRAY(i2[17], a87173data[17])) →* java.lang.Object(ARRAY(i2[18], a87173data[18])))∧(java.lang.Object(java.lang.String(i4231[17])) →* java.lang.Object(java.lang.String(i4231[18])))∧(i4089[17]* i4089[18])∧(i4085[17]* i4085[18])∧(java.lang.Object(java.lang.String(i5087[17])) →* java.lang.Object(java.lang.String(i5087[18]))))


(18) -> (19), if ((java.lang.Object(ARRAY(i2[18], a87173data[18])) →* java.lang.Object(ARRAY(i2[19], a87173data[19])))∧(!(i5087[18] = 0) && i4085[18] + 1 > 0 && i4085[18] + 1 < i2[18] && !(i4231[18] = 0) && i4085[18] > 0 && i4085[18] < i2[18] && i4089[18] > 0 && i4085[18] + 1 + 1 > 0* TRUE)∧(java.lang.Object(java.lang.String(i5087[18])) →* java.lang.Object(java.lang.String(i5087[19])))∧(i4089[18]* i4089[19])∧(i4085[18]* i4085[19])∧(java.lang.Object(java.lang.String(i4231[18])) →* java.lang.Object(java.lang.String(i4231[19]))))


(19) -> (3), if ((java.lang.Object(ARRAY(i2[19], a87173data[19])) →* java.lang.Object(ARRAY(i2[3], a87173data[3])))∧(i4085[19] + 1 + 1* i4085[3])∧(i4089[19]* i4089[3]))


(20) -> (21), if ((java.lang.Object(java.lang.String(i4710[20])) →* java.lang.Object(java.lang.String(i4710[21])))∧(i4085[20]* i4085[21])∧(java.lang.Object(ARRAY(i2[20], a87173data[20])) →* java.lang.Object(ARRAY(i2[21], a87173data[21])))∧(i4089[20]* i4089[21]))


(21) -> (22), if ((!(i4710[21] = 0) && i4085[21] + 1 > 0 && i4085[21] + 1 < i2[21] && i4085[21] > 0 && i4085[21] < i2[21] && i4089[21] > 0 && i4085[21] + 1 + 1 > 0* TRUE)∧(java.lang.Object(java.lang.String(i4710[21])) →* java.lang.Object(java.lang.String(i4710[22])))∧(i4089[21]* i4089[22])∧(i4085[21]* i4085[22])∧(java.lang.Object(ARRAY(i2[21], a87173data[21])) →* java.lang.Object(ARRAY(i2[22], a87173data[22]))))


(22) -> (6), if ((java.lang.Object(ARRAY(i2[22], a87173data[22])) →* java.lang.Object(ARRAY(i2[6], a87173data[6])))∧(i4089[22]* i4089[6])∧(i4085[22] + 1 + 1* i4456[6]))


(23) -> (24), if ((java.lang.Object(java.lang.String(i4231[23])) →* java.lang.Object(java.lang.String(i4231[24])))∧(i4085[23]* i4085[24])∧(i4089[23]* i4089[24])∧(java.lang.Object(ARRAY(i2[23], a87173data[23])) →* java.lang.Object(ARRAY(i2[24], a87173data[24]))))


(24) -> (25), if ((i4085[24] + 1 > 0 && i4085[24] + 1 < i2[24] && !(i4231[24] = 0) && i4085[24] > 0 && i4085[24] < i2[24] && i4089[24] > 0 && i4085[24] + 1 + 1 > 0* TRUE)∧(java.lang.Object(ARRAY(i2[24], a87173data[24])) →* java.lang.Object(ARRAY(i2[25], a87173data[25])))∧(java.lang.Object(java.lang.String(i4231[24])) →* java.lang.Object(java.lang.String(i4231[25])))∧(i4089[24]* i4089[25])∧(i4085[24]* i4085[25]))


(25) -> (13), if ((i4085[25] + 1 + 1* i4651[13])∧(i4089[25]* i4089[13])∧(java.lang.Object(ARRAY(i2[25], a87173data[25])) →* java.lang.Object(ARRAY(i2[13], a87173data[13]))))


(26) -> (27), if ((i4085[26]* i4085[27])∧(java.lang.Object(java.lang.String(i5087[26])) →* java.lang.Object(java.lang.String(i5087[27])))∧(i4089[26]* i4089[27])∧(java.lang.Object(java.lang.String(i4231[26])) →* java.lang.Object(java.lang.String(i4231[27])))∧(java.lang.Object(ARRAY(i2[26], a87173data[26])) →* java.lang.Object(ARRAY(i2[27], a87173data[27]))))


(27) -> (28), if ((i4089[27]* i4089[28])∧(java.lang.Object(java.lang.String(i5087[27])) →* java.lang.Object(java.lang.String(i5087[28])))∧(!(i5087[27] = 0) && i4085[27] + 1 > 0 && i4085[27] + 1 < i2[27] && !(i4231[27] = 0) && i4085[27] > 0 && i4085[27] < i2[27] && i4089[27] > 0 && i4085[27] + 1 + 1 > 0* TRUE)∧(java.lang.Object(java.lang.String(i4231[27])) →* java.lang.Object(java.lang.String(i4231[28])))∧(i4085[27]* i4085[28])∧(java.lang.Object(ARRAY(i2[27], a87173data[27])) →* java.lang.Object(ARRAY(i2[28], a87173data[28]))))


(28) -> (13), if ((i4085[28] + 1 + 1* i4651[13])∧(java.lang.Object(ARRAY(i2[28], a87173data[28])) →* java.lang.Object(ARRAY(i2[13], a87173data[13])))∧(i4089[28]* i4089[13]))



The set Q consists of the following terms:
Load35385(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load35385ARR1(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load35385ARR1(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
Inc35531(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load35385(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
New38580(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load35385ARR2(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load35385ARR2(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load35385ARR3(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load35385ARR3(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
New39442(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load35385ARR4(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load35385ARR4(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load35385ARR5(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)), java.lang.Object(java.lang.String(x5)))
Cond_Load35385ARR5(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)), java.lang.Object(java.lang.String(x5)))
Load35385ARR6(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load35385ARR6(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load35385ARR7(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load35385ARR7(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load35385ARR8(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)), java.lang.Object(java.lang.String(x5)))
Cond_Load35385ARR8(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)), java.lang.Object(java.lang.String(x5)))

(21) 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.

(22) 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): LOAD35385(java.lang.Object(ARRAY(i2[0], a87173data[0])), i4085[0], i4089[0]) → LOAD35385ARR1(java.lang.Object(ARRAY(i2[0], a87173data[0])), i4085[0], i4089[0])
(1): LOAD35385ARR1(java.lang.Object(ARRAY(i2[1], a87173data[1])), i4085[1], i4089[1]) → COND_LOAD35385ARR1(i4085[1] + 1 > 0 && i4085[1] + 1 < i2[1] && i4085[1] > 0 && i4085[1] < i2[1] && i4089[1] > 0 && i4085[1] + 1 + 1 > 0, java.lang.Object(ARRAY(i2[1], a87173data[1])), i4085[1], i4089[1])
(2): COND_LOAD35385ARR1(TRUE, java.lang.Object(ARRAY(i2[2], a87173data[2])), i4085[2], i4089[2]) → NEW38580(java.lang.Object(ARRAY(i2[2], a87173data[2])), i4085[2] + 1 + 1, i4089[2])
(3): INC35531(java.lang.Object(ARRAY(i2[3], a87173data[3])), i4085[3], i4089[3]) → LOAD35385(java.lang.Object(ARRAY(i2[3], a87173data[3])), i4085[3], i4089[3] + -1)
(4): LOAD35385(java.lang.Object(ARRAY(i2[4], a87173data[4])), i4085[4], i4089[4]) → COND_LOAD35385(i4089[4] > 0, java.lang.Object(ARRAY(i2[4], a87173data[4])), i4085[4], i4089[4])
(5): COND_LOAD35385(TRUE, java.lang.Object(ARRAY(i2[5], a87173data[5])), i4085[5], i4089[5]) → LOAD35385(java.lang.Object(ARRAY(i2[5], a87173data[5])), i4085[5], i4089[5] + -1)
(6): NEW38580(java.lang.Object(ARRAY(i2[6], a87173data[6])), i4456[6], i4089[6]) → INC35531(java.lang.Object(ARRAY(i2[6], a87173data[6])), i4456[6], i4089[6])
(7): LOAD35385(java.lang.Object(ARRAY(i2[7], a87173data[7])), i4085[7], i4089[7]) → LOAD35385ARR2(java.lang.Object(ARRAY(i2[7], a87173data[7])), i4085[7], i4089[7])
(8): LOAD35385ARR2(java.lang.Object(ARRAY(i2[8], a87173data[8])), i4085[8], i4089[8]) → COND_LOAD35385ARR2(i4085[8] + 1 > 0 && i4085[8] + 1 < i2[8] && i4085[8] > 0 && i4085[8] < i2[8] && i4089[8] > 0 && i4085[8] + 1 + 1 > 0, java.lang.Object(ARRAY(i2[8], a87173data[8])), i4085[8], i4089[8])
(9): COND_LOAD35385ARR2(TRUE, java.lang.Object(ARRAY(i2[9], a87173data[9])), i4085[9], i4089[9]) → INC35531(java.lang.Object(ARRAY(i2[9], a87173data[9])), i4085[9] + 1 + 1, i4089[9])
(10): LOAD35385(java.lang.Object(ARRAY(i2[10], a87173data[10])), i4085[10], i4089[10]) → LOAD35385ARR3(java.lang.Object(ARRAY(i2[10], a87173data[10])), i4085[10], i4089[10], java.lang.Object(java.lang.String(i4710[10])))
(11): LOAD35385ARR3(java.lang.Object(ARRAY(i2[11], a87173data[11])), i4085[11], i4089[11], java.lang.Object(java.lang.String(i4710[11]))) → COND_LOAD35385ARR3(!(i4710[11] = 0) && i4085[11] + 1 > 0 && i4085[11] + 1 < i2[11] && i4085[11] > 0 && i4085[11] < i2[11] && i4089[11] > 0 && i4085[11] + 1 + 1 > 0, java.lang.Object(ARRAY(i2[11], a87173data[11])), i4085[11], i4089[11], java.lang.Object(java.lang.String(i4710[11])))
(12): COND_LOAD35385ARR3(TRUE, java.lang.Object(ARRAY(i2[12], a87173data[12])), i4085[12], i4089[12], java.lang.Object(java.lang.String(i4710[12]))) → INC35531(java.lang.Object(ARRAY(i2[12], a87173data[12])), i4085[12] + 1 + 1, i4089[12])
(13): NEW39442(java.lang.Object(ARRAY(i2[13], a87173data[13])), i4651[13], i4089[13]) → INC35531(java.lang.Object(ARRAY(i2[13], a87173data[13])), i4651[13], i4089[13])
(14): LOAD35385(java.lang.Object(ARRAY(i2[14], a87173data[14])), i4085[14], i4089[14]) → LOAD35385ARR4(java.lang.Object(ARRAY(i2[14], a87173data[14])), i4085[14], i4089[14], java.lang.Object(java.lang.String(i4231[14])))
(15): LOAD35385ARR4(java.lang.Object(ARRAY(i2[15], a87173data[15])), i4085[15], i4089[15], java.lang.Object(java.lang.String(i4231[15]))) → COND_LOAD35385ARR4(i4085[15] + 1 > 0 && i4085[15] + 1 < i2[15] && !(i4231[15] = 0) && i4085[15] > 0 && i4085[15] < i2[15] && i4089[15] > 0 && i4085[15] + 1 + 1 > 0, java.lang.Object(ARRAY(i2[15], a87173data[15])), i4085[15], i4089[15], java.lang.Object(java.lang.String(i4231[15])))
(16): COND_LOAD35385ARR4(TRUE, java.lang.Object(ARRAY(i2[16], a87173data[16])), i4085[16], i4089[16], java.lang.Object(java.lang.String(i4231[16]))) → INC35531(java.lang.Object(ARRAY(i2[16], a87173data[16])), i4085[16] + 1 + 1, i4089[16])
(17): LOAD35385(java.lang.Object(ARRAY(i2[17], a87173data[17])), i4085[17], i4089[17]) → LOAD35385ARR5(java.lang.Object(ARRAY(i2[17], a87173data[17])), i4085[17], i4089[17], java.lang.Object(java.lang.String(i5087[17])), java.lang.Object(java.lang.String(i4231[17])))
(18): LOAD35385ARR5(java.lang.Object(ARRAY(i2[18], a87173data[18])), i4085[18], i4089[18], java.lang.Object(java.lang.String(i5087[18])), java.lang.Object(java.lang.String(i4231[18]))) → COND_LOAD35385ARR5(!(i5087[18] = 0) && i4085[18] + 1 > 0 && i4085[18] + 1 < i2[18] && !(i4231[18] = 0) && i4085[18] > 0 && i4085[18] < i2[18] && i4089[18] > 0 && i4085[18] + 1 + 1 > 0, java.lang.Object(ARRAY(i2[18], a87173data[18])), i4085[18], i4089[18], java.lang.Object(java.lang.String(i5087[18])), java.lang.Object(java.lang.String(i4231[18])))
(19): COND_LOAD35385ARR5(TRUE, java.lang.Object(ARRAY(i2[19], a87173data[19])), i4085[19], i4089[19], java.lang.Object(java.lang.String(i5087[19])), java.lang.Object(java.lang.String(i4231[19]))) → INC35531(java.lang.Object(ARRAY(i2[19], a87173data[19])), i4085[19] + 1 + 1, i4089[19])
(20): LOAD35385(java.lang.Object(ARRAY(i2[20], a87173data[20])), i4085[20], i4089[20]) → LOAD35385ARR6(java.lang.Object(ARRAY(i2[20], a87173data[20])), i4085[20], i4089[20], java.lang.Object(java.lang.String(i4710[20])))
(21): LOAD35385ARR6(java.lang.Object(ARRAY(i2[21], a87173data[21])), i4085[21], i4089[21], java.lang.Object(java.lang.String(i4710[21]))) → COND_LOAD35385ARR6(!(i4710[21] = 0) && i4085[21] + 1 > 0 && i4085[21] + 1 < i2[21] && i4085[21] > 0 && i4085[21] < i2[21] && i4089[21] > 0 && i4085[21] + 1 + 1 > 0, java.lang.Object(ARRAY(i2[21], a87173data[21])), i4085[21], i4089[21], java.lang.Object(java.lang.String(i4710[21])))
(22): COND_LOAD35385ARR6(TRUE, java.lang.Object(ARRAY(i2[22], a87173data[22])), i4085[22], i4089[22], java.lang.Object(java.lang.String(i4710[22]))) → NEW38580(java.lang.Object(ARRAY(i2[22], a87173data[22])), i4085[22] + 1 + 1, i4089[22])
(23): LOAD35385(java.lang.Object(ARRAY(i2[23], a87173data[23])), i4085[23], i4089[23]) → LOAD35385ARR7(java.lang.Object(ARRAY(i2[23], a87173data[23])), i4085[23], i4089[23], java.lang.Object(java.lang.String(i4231[23])))
(24): LOAD35385ARR7(java.lang.Object(ARRAY(i2[24], a87173data[24])), i4085[24], i4089[24], java.lang.Object(java.lang.String(i4231[24]))) → COND_LOAD35385ARR7(i4085[24] + 1 > 0 && i4085[24] + 1 < i2[24] && !(i4231[24] = 0) && i4085[24] > 0 && i4085[24] < i2[24] && i4089[24] > 0 && i4085[24] + 1 + 1 > 0, java.lang.Object(ARRAY(i2[24], a87173data[24])), i4085[24], i4089[24], java.lang.Object(java.lang.String(i4231[24])))
(25): COND_LOAD35385ARR7(TRUE, java.lang.Object(ARRAY(i2[25], a87173data[25])), i4085[25], i4089[25], java.lang.Object(java.lang.String(i4231[25]))) → NEW39442(java.lang.Object(ARRAY(i2[25], a87173data[25])), i4085[25] + 1 + 1, i4089[25])
(26): LOAD35385(java.lang.Object(ARRAY(i2[26], a87173data[26])), i4085[26], i4089[26]) → LOAD35385ARR8(java.lang.Object(ARRAY(i2[26], a87173data[26])), i4085[26], i4089[26], java.lang.Object(java.lang.String(i5087[26])), java.lang.Object(java.lang.String(i4231[26])))
(27): LOAD35385ARR8(java.lang.Object(ARRAY(i2[27], a87173data[27])), i4085[27], i4089[27], java.lang.Object(java.lang.String(i5087[27])), java.lang.Object(java.lang.String(i4231[27]))) → COND_LOAD35385ARR8(!(i5087[27] = 0) && i4085[27] + 1 > 0 && i4085[27] + 1 < i2[27] && !(i4231[27] = 0) && i4085[27] > 0 && i4085[27] < i2[27] && i4089[27] > 0 && i4085[27] + 1 + 1 > 0, java.lang.Object(ARRAY(i2[27], a87173data[27])), i4085[27], i4089[27], java.lang.Object(java.lang.String(i5087[27])), java.lang.Object(java.lang.String(i4231[27])))
(28): COND_LOAD35385ARR8(TRUE, java.lang.Object(ARRAY(i2[28], a87173data[28])), i4085[28], i4089[28], java.lang.Object(java.lang.String(i5087[28])), java.lang.Object(java.lang.String(i4231[28]))) → NEW39442(java.lang.Object(ARRAY(i2[28], a87173data[28])), i4085[28] + 1 + 1, i4089[28])

(0) -> (1), if ((i4085[0]* i4085[1])∧(java.lang.Object(ARRAY(i2[0], a87173data[0])) →* java.lang.Object(ARRAY(i2[1], a87173data[1])))∧(i4089[0]* i4089[1]))


(1) -> (2), if ((java.lang.Object(ARRAY(i2[1], a87173data[1])) →* java.lang.Object(ARRAY(i2[2], a87173data[2])))∧(i4085[1]* i4085[2])∧(i4089[1]* i4089[2])∧(i4085[1] + 1 > 0 && i4085[1] + 1 < i2[1] && i4085[1] > 0 && i4085[1] < i2[1] && i4089[1] > 0 && i4085[1] + 1 + 1 > 0* TRUE))


(2) -> (6), if ((i4089[2]* i4089[6])∧(java.lang.Object(ARRAY(i2[2], a87173data[2])) →* java.lang.Object(ARRAY(i2[6], a87173data[6])))∧(i4085[2] + 1 + 1* i4456[6]))


(3) -> (0), if ((i4085[3]* i4085[0])∧(java.lang.Object(ARRAY(i2[3], a87173data[3])) →* java.lang.Object(ARRAY(i2[0], a87173data[0])))∧(i4089[3] + -1* i4089[0]))


(3) -> (4), if ((i4085[3]* i4085[4])∧(i4089[3] + -1* i4089[4])∧(java.lang.Object(ARRAY(i2[3], a87173data[3])) →* java.lang.Object(ARRAY(i2[4], a87173data[4]))))


(3) -> (7), if ((i4089[3] + -1* i4089[7])∧(java.lang.Object(ARRAY(i2[3], a87173data[3])) →* java.lang.Object(ARRAY(i2[7], a87173data[7])))∧(i4085[3]* i4085[7]))


(3) -> (10), if ((i4085[3]* i4085[10])∧(i4089[3] + -1* i4089[10])∧(java.lang.Object(ARRAY(i2[3], a87173data[3])) →* java.lang.Object(ARRAY(i2[10], a87173data[10]))))


(3) -> (14), if ((java.lang.Object(ARRAY(i2[3], a87173data[3])) →* java.lang.Object(ARRAY(i2[14], a87173data[14])))∧(i4085[3]* i4085[14])∧(i4089[3] + -1* i4089[14]))


(3) -> (17), if ((i4089[3] + -1* i4089[17])∧(java.lang.Object(ARRAY(i2[3], a87173data[3])) →* java.lang.Object(ARRAY(i2[17], a87173data[17])))∧(i4085[3]* i4085[17]))


(3) -> (20), if ((java.lang.Object(ARRAY(i2[3], a87173data[3])) →* java.lang.Object(ARRAY(i2[20], a87173data[20])))∧(i4089[3] + -1* i4089[20])∧(i4085[3]* i4085[20]))


(3) -> (23), if ((i4085[3]* i4085[23])∧(java.lang.Object(ARRAY(i2[3], a87173data[3])) →* java.lang.Object(ARRAY(i2[23], a87173data[23])))∧(i4089[3] + -1* i4089[23]))


(3) -> (26), if ((i4085[3]* i4085[26])∧(java.lang.Object(ARRAY(i2[3], a87173data[3])) →* java.lang.Object(ARRAY(i2[26], a87173data[26])))∧(i4089[3] + -1* i4089[26]))


(4) -> (5), if ((i4085[4]* i4085[5])∧(i4089[4] > 0* TRUE)∧(java.lang.Object(ARRAY(i2[4], a87173data[4])) →* java.lang.Object(ARRAY(i2[5], a87173data[5])))∧(i4089[4]* i4089[5]))


(5) -> (0), if ((i4089[5] + -1* i4089[0])∧(java.lang.Object(ARRAY(i2[5], a87173data[5])) →* java.lang.Object(ARRAY(i2[0], a87173data[0])))∧(i4085[5]* i4085[0]))


(5) -> (4), if ((java.lang.Object(ARRAY(i2[5], a87173data[5])) →* java.lang.Object(ARRAY(i2[4], a87173data[4])))∧(i4085[5]* i4085[4])∧(i4089[5] + -1* i4089[4]))


(5) -> (7), if ((java.lang.Object(ARRAY(i2[5], a87173data[5])) →* java.lang.Object(ARRAY(i2[7], a87173data[7])))∧(i4089[5] + -1* i4089[7])∧(i4085[5]* i4085[7]))


(5) -> (10), if ((i4089[5] + -1* i4089[10])∧(java.lang.Object(ARRAY(i2[5], a87173data[5])) →* java.lang.Object(ARRAY(i2[10], a87173data[10])))∧(i4085[5]* i4085[10]))


(5) -> (14), if ((i4085[5]* i4085[14])∧(i4089[5] + -1* i4089[14])∧(java.lang.Object(ARRAY(i2[5], a87173data[5])) →* java.lang.Object(ARRAY(i2[14], a87173data[14]))))


(5) -> (17), if ((i4089[5] + -1* i4089[17])∧(i4085[5]* i4085[17])∧(java.lang.Object(ARRAY(i2[5], a87173data[5])) →* java.lang.Object(ARRAY(i2[17], a87173data[17]))))


(5) -> (20), if ((i4089[5] + -1* i4089[20])∧(i4085[5]* i4085[20])∧(java.lang.Object(ARRAY(i2[5], a87173data[5])) →* java.lang.Object(ARRAY(i2[20], a87173data[20]))))


(5) -> (23), if ((i4089[5] + -1* i4089[23])∧(java.lang.Object(ARRAY(i2[5], a87173data[5])) →* java.lang.Object(ARRAY(i2[23], a87173data[23])))∧(i4085[5]* i4085[23]))


(5) -> (26), if ((i4085[5]* i4085[26])∧(i4089[5] + -1* i4089[26])∧(java.lang.Object(ARRAY(i2[5], a87173data[5])) →* java.lang.Object(ARRAY(i2[26], a87173data[26]))))


(6) -> (3), if ((i4456[6]* i4085[3])∧(java.lang.Object(ARRAY(i2[6], a87173data[6])) →* java.lang.Object(ARRAY(i2[3], a87173data[3])))∧(i4089[6]* i4089[3]))


(7) -> (8), if ((java.lang.Object(ARRAY(i2[7], a87173data[7])) →* java.lang.Object(ARRAY(i2[8], a87173data[8])))∧(i4089[7]* i4089[8])∧(i4085[7]* i4085[8]))


(8) -> (9), if ((i4085[8]* i4085[9])∧(i4085[8] + 1 > 0 && i4085[8] + 1 < i2[8] && i4085[8] > 0 && i4085[8] < i2[8] && i4089[8] > 0 && i4085[8] + 1 + 1 > 0* TRUE)∧(java.lang.Object(ARRAY(i2[8], a87173data[8])) →* java.lang.Object(ARRAY(i2[9], a87173data[9])))∧(i4089[8]* i4089[9]))


(9) -> (3), if ((java.lang.Object(ARRAY(i2[9], a87173data[9])) →* java.lang.Object(ARRAY(i2[3], a87173data[3])))∧(i4085[9] + 1 + 1* i4085[3])∧(i4089[9]* i4089[3]))


(10) -> (11), if ((i4089[10]* i4089[11])∧(java.lang.Object(java.lang.String(i4710[10])) →* java.lang.Object(java.lang.String(i4710[11])))∧(i4085[10]* i4085[11])∧(java.lang.Object(ARRAY(i2[10], a87173data[10])) →* java.lang.Object(ARRAY(i2[11], a87173data[11]))))


(11) -> (12), if ((!(i4710[11] = 0) && i4085[11] + 1 > 0 && i4085[11] + 1 < i2[11] && i4085[11] > 0 && i4085[11] < i2[11] && i4089[11] > 0 && i4085[11] + 1 + 1 > 0* TRUE)∧(i4089[11]* i4089[12])∧(java.lang.Object(java.lang.String(i4710[11])) →* java.lang.Object(java.lang.String(i4710[12])))∧(java.lang.Object(ARRAY(i2[11], a87173data[11])) →* java.lang.Object(ARRAY(i2[12], a87173data[12])))∧(i4085[11]* i4085[12]))


(12) -> (3), if ((java.lang.Object(ARRAY(i2[12], a87173data[12])) →* java.lang.Object(ARRAY(i2[3], a87173data[3])))∧(i4089[12]* i4089[3])∧(i4085[12] + 1 + 1* i4085[3]))


(13) -> (3), if ((i4651[13]* i4085[3])∧(i4089[13]* i4089[3])∧(java.lang.Object(ARRAY(i2[13], a87173data[13])) →* java.lang.Object(ARRAY(i2[3], a87173data[3]))))


(14) -> (15), if ((i4089[14]* i4089[15])∧(java.lang.Object(java.lang.String(i4231[14])) →* java.lang.Object(java.lang.String(i4231[15])))∧(i4085[14]* i4085[15])∧(java.lang.Object(ARRAY(i2[14], a87173data[14])) →* java.lang.Object(ARRAY(i2[15], a87173data[15]))))


(15) -> (16), if ((java.lang.Object(ARRAY(i2[15], a87173data[15])) →* java.lang.Object(ARRAY(i2[16], a87173data[16])))∧(java.lang.Object(java.lang.String(i4231[15])) →* java.lang.Object(java.lang.String(i4231[16])))∧(i4089[15]* i4089[16])∧(i4085[15]* i4085[16])∧(i4085[15] + 1 > 0 && i4085[15] + 1 < i2[15] && !(i4231[15] = 0) && i4085[15] > 0 && i4085[15] < i2[15] && i4089[15] > 0 && i4085[15] + 1 + 1 > 0* TRUE))


(16) -> (3), if ((i4085[16] + 1 + 1* i4085[3])∧(i4089[16]* i4089[3])∧(java.lang.Object(ARRAY(i2[16], a87173data[16])) →* java.lang.Object(ARRAY(i2[3], a87173data[3]))))


(17) -> (18), if ((java.lang.Object(ARRAY(i2[17], a87173data[17])) →* java.lang.Object(ARRAY(i2[18], a87173data[18])))∧(java.lang.Object(java.lang.String(i4231[17])) →* java.lang.Object(java.lang.String(i4231[18])))∧(i4089[17]* i4089[18])∧(i4085[17]* i4085[18])∧(java.lang.Object(java.lang.String(i5087[17])) →* java.lang.Object(java.lang.String(i5087[18]))))


(18) -> (19), if ((java.lang.Object(ARRAY(i2[18], a87173data[18])) →* java.lang.Object(ARRAY(i2[19], a87173data[19])))∧(!(i5087[18] = 0) && i4085[18] + 1 > 0 && i4085[18] + 1 < i2[18] && !(i4231[18] = 0) && i4085[18] > 0 && i4085[18] < i2[18] && i4089[18] > 0 && i4085[18] + 1 + 1 > 0* TRUE)∧(java.lang.Object(java.lang.String(i5087[18])) →* java.lang.Object(java.lang.String(i5087[19])))∧(i4089[18]* i4089[19])∧(i4085[18]* i4085[19])∧(java.lang.Object(java.lang.String(i4231[18])) →* java.lang.Object(java.lang.String(i4231[19]))))


(19) -> (3), if ((java.lang.Object(ARRAY(i2[19], a87173data[19])) →* java.lang.Object(ARRAY(i2[3], a87173data[3])))∧(i4085[19] + 1 + 1* i4085[3])∧(i4089[19]* i4089[3]))


(20) -> (21), if ((java.lang.Object(java.lang.String(i4710[20])) →* java.lang.Object(java.lang.String(i4710[21])))∧(i4085[20]* i4085[21])∧(java.lang.Object(ARRAY(i2[20], a87173data[20])) →* java.lang.Object(ARRAY(i2[21], a87173data[21])))∧(i4089[20]* i4089[21]))


(21) -> (22), if ((!(i4710[21] = 0) && i4085[21] + 1 > 0 && i4085[21] + 1 < i2[21] && i4085[21] > 0 && i4085[21] < i2[21] && i4089[21] > 0 && i4085[21] + 1 + 1 > 0* TRUE)∧(java.lang.Object(java.lang.String(i4710[21])) →* java.lang.Object(java.lang.String(i4710[22])))∧(i4089[21]* i4089[22])∧(i4085[21]* i4085[22])∧(java.lang.Object(ARRAY(i2[21], a87173data[21])) →* java.lang.Object(ARRAY(i2[22], a87173data[22]))))


(22) -> (6), if ((java.lang.Object(ARRAY(i2[22], a87173data[22])) →* java.lang.Object(ARRAY(i2[6], a87173data[6])))∧(i4089[22]* i4089[6])∧(i4085[22] + 1 + 1* i4456[6]))


(23) -> (24), if ((java.lang.Object(java.lang.String(i4231[23])) →* java.lang.Object(java.lang.String(i4231[24])))∧(i4085[23]* i4085[24])∧(i4089[23]* i4089[24])∧(java.lang.Object(ARRAY(i2[23], a87173data[23])) →* java.lang.Object(ARRAY(i2[24], a87173data[24]))))


(24) -> (25), if ((i4085[24] + 1 > 0 && i4085[24] + 1 < i2[24] && !(i4231[24] = 0) && i4085[24] > 0 && i4085[24] < i2[24] && i4089[24] > 0 && i4085[24] + 1 + 1 > 0* TRUE)∧(java.lang.Object(ARRAY(i2[24], a87173data[24])) →* java.lang.Object(ARRAY(i2[25], a87173data[25])))∧(java.lang.Object(java.lang.String(i4231[24])) →* java.lang.Object(java.lang.String(i4231[25])))∧(i4089[24]* i4089[25])∧(i4085[24]* i4085[25]))


(25) -> (13), if ((i4085[25] + 1 + 1* i4651[13])∧(i4089[25]* i4089[13])∧(java.lang.Object(ARRAY(i2[25], a87173data[25])) →* java.lang.Object(ARRAY(i2[13], a87173data[13]))))


(26) -> (27), if ((i4085[26]* i4085[27])∧(java.lang.Object(java.lang.String(i5087[26])) →* java.lang.Object(java.lang.String(i5087[27])))∧(i4089[26]* i4089[27])∧(java.lang.Object(java.lang.String(i4231[26])) →* java.lang.Object(java.lang.String(i4231[27])))∧(java.lang.Object(ARRAY(i2[26], a87173data[26])) →* java.lang.Object(ARRAY(i2[27], a87173data[27]))))


(27) -> (28), if ((i4089[27]* i4089[28])∧(java.lang.Object(java.lang.String(i5087[27])) →* java.lang.Object(java.lang.String(i5087[28])))∧(!(i5087[27] = 0) && i4085[27] + 1 > 0 && i4085[27] + 1 < i2[27] && !(i4231[27] = 0) && i4085[27] > 0 && i4085[27] < i2[27] && i4089[27] > 0 && i4085[27] + 1 + 1 > 0* TRUE)∧(java.lang.Object(java.lang.String(i4231[27])) →* java.lang.Object(java.lang.String(i4231[28])))∧(i4085[27]* i4085[28])∧(java.lang.Object(ARRAY(i2[27], a87173data[27])) →* java.lang.Object(ARRAY(i2[28], a87173data[28]))))


(28) -> (13), if ((i4085[28] + 1 + 1* i4651[13])∧(java.lang.Object(ARRAY(i2[28], a87173data[28])) →* java.lang.Object(ARRAY(i2[13], a87173data[13])))∧(i4089[28]* i4089[13]))



The set Q consists of the following terms:
Load35385(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load35385ARR1(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load35385ARR1(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
Inc35531(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load35385(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
New38580(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load35385ARR2(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load35385ARR2(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load35385ARR3(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load35385ARR3(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
New39442(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load35385ARR4(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load35385ARR4(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load35385ARR5(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)), java.lang.Object(java.lang.String(x5)))
Cond_Load35385ARR5(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)), java.lang.Object(java.lang.String(x5)))
Load35385ARR6(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load35385ARR6(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load35385ARR7(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load35385ARR7(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load35385ARR8(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)), java.lang.Object(java.lang.String(x5)))
Cond_Load35385ARR8(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)), java.lang.Object(java.lang.String(x5)))

(23) ItpfGraphProof (EQUIVALENT transformation)

Applied rule ItpfICap [ICap]

(24) 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): LOAD35385(java.lang.Object(ARRAY(i2[0], a87173data[0])), i4085[0], i4089[0]) → LOAD35385ARR1(java.lang.Object(ARRAY(i2[0], a87173data[0])), i4085[0], i4089[0])
(1): LOAD35385ARR1(java.lang.Object(ARRAY(i2[1], a87173data[1])), i4085[1], i4089[1]) → COND_LOAD35385ARR1(i4085[1] + 1 > 0 && i4085[1] + 1 < i2[1] && i4085[1] > 0 && i4085[1] < i2[1] && i4089[1] > 0 && i4085[1] + 1 + 1 > 0, java.lang.Object(ARRAY(i2[1], a87173data[1])), i4085[1], i4089[1])
(2): COND_LOAD35385ARR1(TRUE, java.lang.Object(ARRAY(i2[2], a87173data[2])), i4085[2], i4089[2]) → NEW38580(java.lang.Object(ARRAY(i2[2], a87173data[2])), i4085[2] + 1 + 1, i4089[2])
(3): INC35531(java.lang.Object(ARRAY(i2[3], a87173data[3])), i4085[3], i4089[3]) → LOAD35385(java.lang.Object(ARRAY(i2[3], a87173data[3])), i4085[3], i4089[3] + -1)
(4): LOAD35385(java.lang.Object(ARRAY(i2[4], a87173data[4])), i4085[4], i4089[4]) → COND_LOAD35385(i4089[4] > 0, java.lang.Object(ARRAY(i2[4], a87173data[4])), i4085[4], i4089[4])
(5): COND_LOAD35385(TRUE, java.lang.Object(ARRAY(i2[5], a87173data[5])), i4085[5], i4089[5]) → LOAD35385(java.lang.Object(ARRAY(i2[5], a87173data[5])), i4085[5], i4089[5] + -1)
(6): NEW38580(java.lang.Object(ARRAY(i2[6], a87173data[6])), i4456[6], i4089[6]) → INC35531(java.lang.Object(ARRAY(i2[6], a87173data[6])), i4456[6], i4089[6])
(7): LOAD35385(java.lang.Object(ARRAY(i2[7], a87173data[7])), i4085[7], i4089[7]) → LOAD35385ARR2(java.lang.Object(ARRAY(i2[7], a87173data[7])), i4085[7], i4089[7])
(8): LOAD35385ARR2(java.lang.Object(ARRAY(i2[8], a87173data[8])), i4085[8], i4089[8]) → COND_LOAD35385ARR2(i4085[8] + 1 > 0 && i4085[8] + 1 < i2[8] && i4085[8] > 0 && i4085[8] < i2[8] && i4089[8] > 0 && i4085[8] + 1 + 1 > 0, java.lang.Object(ARRAY(i2[8], a87173data[8])), i4085[8], i4089[8])
(9): COND_LOAD35385ARR2(TRUE, java.lang.Object(ARRAY(i2[9], a87173data[9])), i4085[9], i4089[9]) → INC35531(java.lang.Object(ARRAY(i2[9], a87173data[9])), i4085[9] + 1 + 1, i4089[9])
(10): LOAD35385(java.lang.Object(ARRAY(i2[10], a87173data[10])), i4085[10], i4089[10]) → LOAD35385ARR3(java.lang.Object(ARRAY(i2[10], a87173data[10])), i4085[10], i4089[10], java.lang.Object(java.lang.String(i4710[10])))
(11): LOAD35385ARR3(java.lang.Object(ARRAY(i2[11], a87173data[11])), i4085[11], i4089[11], java.lang.Object(java.lang.String(i4710[11]))) → COND_LOAD35385ARR3(!(i4710[11] = 0) && i4085[11] + 1 > 0 && i4085[11] + 1 < i2[11] && i4085[11] > 0 && i4085[11] < i2[11] && i4089[11] > 0 && i4085[11] + 1 + 1 > 0, java.lang.Object(ARRAY(i2[11], a87173data[11])), i4085[11], i4089[11], java.lang.Object(java.lang.String(i4710[11])))
(12): COND_LOAD35385ARR3(TRUE, java.lang.Object(ARRAY(i2[12], a87173data[12])), i4085[12], i4089[12], java.lang.Object(java.lang.String(i4710[12]))) → INC35531(java.lang.Object(ARRAY(i2[12], a87173data[12])), i4085[12] + 1 + 1, i4089[12])
(13): NEW39442(java.lang.Object(ARRAY(i2[13], a87173data[13])), i4651[13], i4089[13]) → INC35531(java.lang.Object(ARRAY(i2[13], a87173data[13])), i4651[13], i4089[13])
(14): LOAD35385(java.lang.Object(ARRAY(i2[14], a87173data[14])), i4085[14], i4089[14]) → LOAD35385ARR4(java.lang.Object(ARRAY(i2[14], a87173data[14])), i4085[14], i4089[14], java.lang.Object(java.lang.String(i4231[14])))
(15): LOAD35385ARR4(java.lang.Object(ARRAY(i2[15], a87173data[15])), i4085[15], i4089[15], java.lang.Object(java.lang.String(i4231[15]))) → COND_LOAD35385ARR4(i4085[15] + 1 > 0 && i4085[15] + 1 < i2[15] && !(i4231[15] = 0) && i4085[15] > 0 && i4085[15] < i2[15] && i4089[15] > 0 && i4085[15] + 1 + 1 > 0, java.lang.Object(ARRAY(i2[15], a87173data[15])), i4085[15], i4089[15], java.lang.Object(java.lang.String(i4231[15])))
(16): COND_LOAD35385ARR4(TRUE, java.lang.Object(ARRAY(i2[16], a87173data[16])), i4085[16], i4089[16], java.lang.Object(java.lang.String(i4231[16]))) → INC35531(java.lang.Object(ARRAY(i2[16], a87173data[16])), i4085[16] + 1 + 1, i4089[16])
(17): LOAD35385(java.lang.Object(ARRAY(i2[17], a87173data[17])), i4085[17], i4089[17]) → LOAD35385ARR5(java.lang.Object(ARRAY(i2[17], a87173data[17])), i4085[17], i4089[17], java.lang.Object(java.lang.String(i5087[17])), java.lang.Object(java.lang.String(i4231[17])))
(18): LOAD35385ARR5(java.lang.Object(ARRAY(i2[18], a87173data[18])), i4085[18], i4089[18], java.lang.Object(java.lang.String(i5087[18])), java.lang.Object(java.lang.String(i4231[18]))) → COND_LOAD35385ARR5(!(i5087[18] = 0) && i4085[18] + 1 > 0 && i4085[18] + 1 < i2[18] && !(i4231[18] = 0) && i4085[18] > 0 && i4085[18] < i2[18] && i4089[18] > 0 && i4085[18] + 1 + 1 > 0, java.lang.Object(ARRAY(i2[18], a87173data[18])), i4085[18], i4089[18], java.lang.Object(java.lang.String(i5087[18])), java.lang.Object(java.lang.String(i4231[18])))
(19): COND_LOAD35385ARR5(TRUE, java.lang.Object(ARRAY(i2[19], a87173data[19])), i4085[19], i4089[19], java.lang.Object(java.lang.String(i5087[19])), java.lang.Object(java.lang.String(i4231[19]))) → INC35531(java.lang.Object(ARRAY(i2[19], a87173data[19])), i4085[19] + 1 + 1, i4089[19])
(20): LOAD35385(java.lang.Object(ARRAY(i2[20], a87173data[20])), i4085[20], i4089[20]) → LOAD35385ARR6(java.lang.Object(ARRAY(i2[20], a87173data[20])), i4085[20], i4089[20], java.lang.Object(java.lang.String(i4710[20])))
(21): LOAD35385ARR6(java.lang.Object(ARRAY(i2[21], a87173data[21])), i4085[21], i4089[21], java.lang.Object(java.lang.String(i4710[21]))) → COND_LOAD35385ARR6(!(i4710[21] = 0) && i4085[21] + 1 > 0 && i4085[21] + 1 < i2[21] && i4085[21] > 0 && i4085[21] < i2[21] && i4089[21] > 0 && i4085[21] + 1 + 1 > 0, java.lang.Object(ARRAY(i2[21], a87173data[21])), i4085[21], i4089[21], java.lang.Object(java.lang.String(i4710[21])))
(22): COND_LOAD35385ARR6(TRUE, java.lang.Object(ARRAY(i2[22], a87173data[22])), i4085[22], i4089[22], java.lang.Object(java.lang.String(i4710[22]))) → NEW38580(java.lang.Object(ARRAY(i2[22], a87173data[22])), i4085[22] + 1 + 1, i4089[22])
(23): LOAD35385(java.lang.Object(ARRAY(i2[23], a87173data[23])), i4085[23], i4089[23]) → LOAD35385ARR7(java.lang.Object(ARRAY(i2[23], a87173data[23])), i4085[23], i4089[23], java.lang.Object(java.lang.String(i4231[23])))
(24): LOAD35385ARR7(java.lang.Object(ARRAY(i2[24], a87173data[24])), i4085[24], i4089[24], java.lang.Object(java.lang.String(i4231[24]))) → COND_LOAD35385ARR7(i4085[24] + 1 > 0 && i4085[24] + 1 < i2[24] && !(i4231[24] = 0) && i4085[24] > 0 && i4085[24] < i2[24] && i4089[24] > 0 && i4085[24] + 1 + 1 > 0, java.lang.Object(ARRAY(i2[24], a87173data[24])), i4085[24], i4089[24], java.lang.Object(java.lang.String(i4231[24])))
(25): COND_LOAD35385ARR7(TRUE, java.lang.Object(ARRAY(i2[25], a87173data[25])), i4085[25], i4089[25], java.lang.Object(java.lang.String(i4231[25]))) → NEW39442(java.lang.Object(ARRAY(i2[25], a87173data[25])), i4085[25] + 1 + 1, i4089[25])
(26): LOAD35385(java.lang.Object(ARRAY(i2[26], a87173data[26])), i4085[26], i4089[26]) → LOAD35385ARR8(java.lang.Object(ARRAY(i2[26], a87173data[26])), i4085[26], i4089[26], java.lang.Object(java.lang.String(i5087[26])), java.lang.Object(java.lang.String(i4231[26])))
(27): LOAD35385ARR8(java.lang.Object(ARRAY(i2[27], a87173data[27])), i4085[27], i4089[27], java.lang.Object(java.lang.String(i5087[27])), java.lang.Object(java.lang.String(i4231[27]))) → COND_LOAD35385ARR8(!(i5087[27] = 0) && i4085[27] + 1 > 0 && i4085[27] + 1 < i2[27] && !(i4231[27] = 0) && i4085[27] > 0 && i4085[27] < i2[27] && i4089[27] > 0 && i4085[27] + 1 + 1 > 0, java.lang.Object(ARRAY(i2[27], a87173data[27])), i4085[27], i4089[27], java.lang.Object(java.lang.String(i5087[27])), java.lang.Object(java.lang.String(i4231[27])))
(28): COND_LOAD35385ARR8(TRUE, java.lang.Object(ARRAY(i2[28], a87173data[28])), i4085[28], i4089[28], java.lang.Object(java.lang.String(i5087[28])), java.lang.Object(java.lang.String(i4231[28]))) → NEW39442(java.lang.Object(ARRAY(i2[28], a87173data[28])), i4085[28] + 1 + 1, i4089[28])

(0) -> (1), if ((i4085[0]* i4085[1])∧((i2[0]* i2[1])∧(a87173data[0]* a87173data[1]))∧(i4089[0]* i4089[1]))


(1) -> (2), if (((i2[1]* i2[2])∧(a87173data[1]* a87173data[2]))∧(i4085[1]* i4085[2])∧(i4089[1]* i4089[2])∧(i4085[1] + 1 > 0 && i4085[1] + 1 < i2[1] && i4085[1] > 0 && i4085[1] < i2[1] && i4089[1] > 0 && i4085[1] + 1 + 1 > 0* TRUE))


(2) -> (6), if ((i4089[2]* i4089[6])∧((i2[2]* i2[6])∧(a87173data[2]* a87173data[6]))∧(i4085[2] + 1 + 1* i4456[6]))


(3) -> (0), if ((i4085[3]* i4085[0])∧((i2[3]* i2[0])∧(a87173data[3]* a87173data[0]))∧(i4089[3] + -1* i4089[0]))


(3) -> (4), if ((i4085[3]* i4085[4])∧(i4089[3] + -1* i4089[4])∧((i2[3]* i2[4])∧(a87173data[3]* a87173data[4])))


(3) -> (7), if ((i4089[3] + -1* i4089[7])∧((i2[3]* i2[7])∧(a87173data[3]* a87173data[7]))∧(i4085[3]* i4085[7]))


(3) -> (10), if ((i4085[3]* i4085[10])∧(i4089[3] + -1* i4089[10])∧((i2[3]* i2[10])∧(a87173data[3]* a87173data[10])))


(3) -> (14), if (((i2[3]* i2[14])∧(a87173data[3]* a87173data[14]))∧(i4085[3]* i4085[14])∧(i4089[3] + -1* i4089[14]))


(3) -> (17), if ((i4089[3] + -1* i4089[17])∧((i2[3]* i2[17])∧(a87173data[3]* a87173data[17]))∧(i4085[3]* i4085[17]))


(3) -> (20), if (((i2[3]* i2[20])∧(a87173data[3]* a87173data[20]))∧(i4089[3] + -1* i4089[20])∧(i4085[3]* i4085[20]))


(3) -> (23), if ((i4085[3]* i4085[23])∧((i2[3]* i2[23])∧(a87173data[3]* a87173data[23]))∧(i4089[3] + -1* i4089[23]))


(3) -> (26), if ((i4085[3]* i4085[26])∧((i2[3]* i2[26])∧(a87173data[3]* a87173data[26]))∧(i4089[3] + -1* i4089[26]))


(4) -> (5), if ((i4085[4]* i4085[5])∧(i4089[4] > 0* TRUE)∧((i2[4]* i2[5])∧(a87173data[4]* a87173data[5]))∧(i4089[4]* i4089[5]))


(5) -> (0), if ((i4089[5] + -1* i4089[0])∧((i2[5]* i2[0])∧(a87173data[5]* a87173data[0]))∧(i4085[5]* i4085[0]))


(5) -> (4), if (((i2[5]* i2[4])∧(a87173data[5]* a87173data[4]))∧(i4085[5]* i4085[4])∧(i4089[5] + -1* i4089[4]))


(5) -> (7), if (((i2[5]* i2[7])∧(a87173data[5]* a87173data[7]))∧(i4089[5] + -1* i4089[7])∧(i4085[5]* i4085[7]))


(5) -> (10), if ((i4089[5] + -1* i4089[10])∧((i2[5]* i2[10])∧(a87173data[5]* a87173data[10]))∧(i4085[5]* i4085[10]))


(5) -> (14), if ((i4085[5]* i4085[14])∧(i4089[5] + -1* i4089[14])∧((i2[5]* i2[14])∧(a87173data[5]* a87173data[14])))


(5) -> (17), if ((i4089[5] + -1* i4089[17])∧(i4085[5]* i4085[17])∧((i2[5]* i2[17])∧(a87173data[5]* a87173data[17])))


(5) -> (20), if ((i4089[5] + -1* i4089[20])∧(i4085[5]* i4085[20])∧((i2[5]* i2[20])∧(a87173data[5]* a87173data[20])))


(5) -> (23), if ((i4089[5] + -1* i4089[23])∧((i2[5]* i2[23])∧(a87173data[5]* a87173data[23]))∧(i4085[5]* i4085[23]))


(5) -> (26), if ((i4085[5]* i4085[26])∧(i4089[5] + -1* i4089[26])∧((i2[5]* i2[26])∧(a87173data[5]* a87173data[26])))


(6) -> (3), if ((i4456[6]* i4085[3])∧((i2[6]* i2[3])∧(a87173data[6]* a87173data[3]))∧(i4089[6]* i4089[3]))


(7) -> (8), if (((i2[7]* i2[8])∧(a87173data[7]* a87173data[8]))∧(i4089[7]* i4089[8])∧(i4085[7]* i4085[8]))


(8) -> (9), if ((i4085[8]* i4085[9])∧(i4085[8] + 1 > 0 && i4085[8] + 1 < i2[8] && i4085[8] > 0 && i4085[8] < i2[8] && i4089[8] > 0 && i4085[8] + 1 + 1 > 0* TRUE)∧((i2[8]* i2[9])∧(a87173data[8]* a87173data[9]))∧(i4089[8]* i4089[9]))


(9) -> (3), if (((i2[9]* i2[3])∧(a87173data[9]* a87173data[3]))∧(i4085[9] + 1 + 1* i4085[3])∧(i4089[9]* i4089[3]))


(10) -> (11), if ((i4089[10]* i4089[11])∧((i4710[10]* i4710[11]))∧(i4085[10]* i4085[11])∧((i2[10]* i2[11])∧(a87173data[10]* a87173data[11])))


(11) -> (12), if ((!(i4710[11] = 0) && i4085[11] + 1 > 0 && i4085[11] + 1 < i2[11] && i4085[11] > 0 && i4085[11] < i2[11] && i4089[11] > 0 && i4085[11] + 1 + 1 > 0* TRUE)∧(i4089[11]* i4089[12])∧((i4710[11]* i4710[12]))∧((i2[11]* i2[12])∧(a87173data[11]* a87173data[12]))∧(i4085[11]* i4085[12]))


(12) -> (3), if (((i2[12]* i2[3])∧(a87173data[12]* a87173data[3]))∧(i4089[12]* i4089[3])∧(i4085[12] + 1 + 1* i4085[3]))


(13) -> (3), if ((i4651[13]* i4085[3])∧(i4089[13]* i4089[3])∧((i2[13]* i2[3])∧(a87173data[13]* a87173data[3])))


(14) -> (15), if ((i4089[14]* i4089[15])∧((i4231[14]* i4231[15]))∧(i4085[14]* i4085[15])∧((i2[14]* i2[15])∧(a87173data[14]* a87173data[15])))


(15) -> (16), if (((i2[15]* i2[16])∧(a87173data[15]* a87173data[16]))∧((i4231[15]* i4231[16]))∧(i4089[15]* i4089[16])∧(i4085[15]* i4085[16])∧(i4085[15] + 1 > 0 && i4085[15] + 1 < i2[15] && !(i4231[15] = 0) && i4085[15] > 0 && i4085[15] < i2[15] && i4089[15] > 0 && i4085[15] + 1 + 1 > 0* TRUE))


(16) -> (3), if ((i4085[16] + 1 + 1* i4085[3])∧(i4089[16]* i4089[3])∧((i2[16]* i2[3])∧(a87173data[16]* a87173data[3])))


(17) -> (18), if (((i2[17]* i2[18])∧(a87173data[17]* a87173data[18]))∧((i4231[17]* i4231[18]))∧(i4089[17]* i4089[18])∧(i4085[17]* i4085[18])∧((i5087[17]* i5087[18])))


(18) -> (19), if (((i2[18]* i2[19])∧(a87173data[18]* a87173data[19]))∧(!(i5087[18] = 0) && i4085[18] + 1 > 0 && i4085[18] + 1 < i2[18] && !(i4231[18] = 0) && i4085[18] > 0 && i4085[18] < i2[18] && i4089[18] > 0 && i4085[18] + 1 + 1 > 0* TRUE)∧((i5087[18]* i5087[19]))∧(i4089[18]* i4089[19])∧(i4085[18]* i4085[19])∧((i4231[18]* i4231[19])))


(19) -> (3), if (((i2[19]* i2[3])∧(a87173data[19]* a87173data[3]))∧(i4085[19] + 1 + 1* i4085[3])∧(i4089[19]* i4089[3]))


(20) -> (21), if (((i4710[20]* i4710[21]))∧(i4085[20]* i4085[21])∧((i2[20]* i2[21])∧(a87173data[20]* a87173data[21]))∧(i4089[20]* i4089[21]))


(21) -> (22), if ((!(i4710[21] = 0) && i4085[21] + 1 > 0 && i4085[21] + 1 < i2[21] && i4085[21] > 0 && i4085[21] < i2[21] && i4089[21] > 0 && i4085[21] + 1 + 1 > 0* TRUE)∧((i4710[21]* i4710[22]))∧(i4089[21]* i4089[22])∧(i4085[21]* i4085[22])∧((i2[21]* i2[22])∧(a87173data[21]* a87173data[22])))


(22) -> (6), if (((i2[22]* i2[6])∧(a87173data[22]* a87173data[6]))∧(i4089[22]* i4089[6])∧(i4085[22] + 1 + 1* i4456[6]))


(23) -> (24), if (((i4231[23]* i4231[24]))∧(i4085[23]* i4085[24])∧(i4089[23]* i4089[24])∧((i2[23]* i2[24])∧(a87173data[23]* a87173data[24])))


(24) -> (25), if ((i4085[24] + 1 > 0 && i4085[24] + 1 < i2[24] && !(i4231[24] = 0) && i4085[24] > 0 && i4085[24] < i2[24] && i4089[24] > 0 && i4085[24] + 1 + 1 > 0* TRUE)∧((i2[24]* i2[25])∧(a87173data[24]* a87173data[25]))∧((i4231[24]* i4231[25]))∧(i4089[24]* i4089[25])∧(i4085[24]* i4085[25]))


(25) -> (13), if ((i4085[25] + 1 + 1* i4651[13])∧(i4089[25]* i4089[13])∧((i2[25]* i2[13])∧(a87173data[25]* a87173data[13])))


(26) -> (27), if ((i4085[26]* i4085[27])∧((i5087[26]* i5087[27]))∧(i4089[26]* i4089[27])∧((i4231[26]* i4231[27]))∧((i2[26]* i2[27])∧(a87173data[26]* a87173data[27])))


(27) -> (28), if ((i4089[27]* i4089[28])∧((i5087[27]* i5087[28]))∧(!(i5087[27] = 0) && i4085[27] + 1 > 0 && i4085[27] + 1 < i2[27] && !(i4231[27] = 0) && i4085[27] > 0 && i4085[27] < i2[27] && i4089[27] > 0 && i4085[27] + 1 + 1 > 0* TRUE)∧((i4231[27]* i4231[28]))∧(i4085[27]* i4085[28])∧((i2[27]* i2[28])∧(a87173data[27]* a87173data[28])))


(28) -> (13), if ((i4085[28] + 1 + 1* i4651[13])∧((i2[28]* i2[13])∧(a87173data[28]* a87173data[13]))∧(i4089[28]* i4089[13]))



The set Q consists of the following terms:
Load35385(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load35385ARR1(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load35385ARR1(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
Inc35531(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load35385(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
New38580(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load35385ARR2(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load35385ARR2(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load35385ARR3(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load35385ARR3(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
New39442(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load35385ARR4(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load35385ARR4(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load35385ARR5(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)), java.lang.Object(java.lang.String(x5)))
Cond_Load35385ARR5(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)), java.lang.Object(java.lang.String(x5)))
Load35385ARR6(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load35385ARR6(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load35385ARR7(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load35385ARR7(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load35385ARR8(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)), java.lang.Object(java.lang.String(x5)))
Cond_Load35385ARR8(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)), java.lang.Object(java.lang.String(x5)))

(25) 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 LOAD35385(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089) → LOAD35385ARR1(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089) the following chains were created:
  • We consider the chain LOAD35385(java.lang.Object(ARRAY(i2[0], a87173data[0])), i4085[0], i4089[0]) → LOAD35385ARR1(java.lang.Object(ARRAY(i2[0], a87173data[0])), i4085[0], i4089[0]), LOAD35385ARR1(java.lang.Object(ARRAY(i2[1], a87173data[1])), i4085[1], i4089[1]) → COND_LOAD35385ARR1(&&(&&(&&(&&(&&(>(+(i4085[1], 1), 0), <(+(i4085[1], 1), i2[1])), >(i4085[1], 0)), <(i4085[1], i2[1])), >(i4089[1], 0)), >(+(+(i4085[1], 1), 1), 0)), java.lang.Object(ARRAY(i2[1], a87173data[1])), i4085[1], i4089[1]) which results in the following constraint:

    (1)    (i4085[0]=i4085[1]i2[0]=i2[1]a87173data[0]=a87173data[1]i4089[0]=i4089[1]LOAD35385(java.lang.Object(ARRAY(i2[0], a87173data[0])), i4085[0], i4089[0])≥NonInfC∧LOAD35385(java.lang.Object(ARRAY(i2[0], a87173data[0])), i4085[0], i4089[0])≥LOAD35385ARR1(java.lang.Object(ARRAY(i2[0], a87173data[0])), i4085[0], i4089[0])∧(UIncreasing(LOAD35385ARR1(java.lang.Object(ARRAY(i2[0], a87173data[0])), i4085[0], i4089[0])), ≥))



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

    (2)    (LOAD35385(java.lang.Object(ARRAY(i2[0], a87173data[0])), i4085[0], i4089[0])≥NonInfC∧LOAD35385(java.lang.Object(ARRAY(i2[0], a87173data[0])), i4085[0], i4089[0])≥LOAD35385ARR1(java.lang.Object(ARRAY(i2[0], a87173data[0])), i4085[0], i4089[0])∧(UIncreasing(LOAD35385ARR1(java.lang.Object(ARRAY(i2[0], a87173data[0])), i4085[0], i4089[0])), ≥))



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

    (3)    ((UIncreasing(LOAD35385ARR1(java.lang.Object(ARRAY(i2[0], a87173data[0])), i4085[0], i4089[0])), ≥)∧[(-1)bso_44] ≥ 0)



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

    (4)    ((UIncreasing(LOAD35385ARR1(java.lang.Object(ARRAY(i2[0], a87173data[0])), i4085[0], i4089[0])), ≥)∧[(-1)bso_44] ≥ 0)



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

    (5)    ((UIncreasing(LOAD35385ARR1(java.lang.Object(ARRAY(i2[0], a87173data[0])), i4085[0], i4089[0])), ≥)∧[(-1)bso_44] ≥ 0)



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

    (6)    ((UIncreasing(LOAD35385ARR1(java.lang.Object(ARRAY(i2[0], a87173data[0])), i4085[0], i4089[0])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_44] ≥ 0)







For Pair LOAD35385ARR1(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089) → COND_LOAD35385ARR1(&&(&&(&&(&&(&&(>(+(i4085, 1), 0), <(+(i4085, 1), i2)), >(i4085, 0)), <(i4085, i2)), >(i4089, 0)), >(+(+(i4085, 1), 1), 0)), java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089) the following chains were created:
  • We consider the chain LOAD35385ARR1(java.lang.Object(ARRAY(i2[1], a87173data[1])), i4085[1], i4089[1]) → COND_LOAD35385ARR1(&&(&&(&&(&&(&&(>(+(i4085[1], 1), 0), <(+(i4085[1], 1), i2[1])), >(i4085[1], 0)), <(i4085[1], i2[1])), >(i4089[1], 0)), >(+(+(i4085[1], 1), 1), 0)), java.lang.Object(ARRAY(i2[1], a87173data[1])), i4085[1], i4089[1]), COND_LOAD35385ARR1(TRUE, java.lang.Object(ARRAY(i2[2], a87173data[2])), i4085[2], i4089[2]) → NEW38580(java.lang.Object(ARRAY(i2[2], a87173data[2])), +(+(i4085[2], 1), 1), i4089[2]) which results in the following constraint:

    (7)    (i2[1]=i2[2]a87173data[1]=a87173data[2]i4085[1]=i4085[2]i4089[1]=i4089[2]&&(&&(&&(&&(&&(>(+(i4085[1], 1), 0), <(+(i4085[1], 1), i2[1])), >(i4085[1], 0)), <(i4085[1], i2[1])), >(i4089[1], 0)), >(+(+(i4085[1], 1), 1), 0))=TRUELOAD35385ARR1(java.lang.Object(ARRAY(i2[1], a87173data[1])), i4085[1], i4089[1])≥NonInfC∧LOAD35385ARR1(java.lang.Object(ARRAY(i2[1], a87173data[1])), i4085[1], i4089[1])≥COND_LOAD35385ARR1(&&(&&(&&(&&(&&(>(+(i4085[1], 1), 0), <(+(i4085[1], 1), i2[1])), >(i4085[1], 0)), <(i4085[1], i2[1])), >(i4089[1], 0)), >(+(+(i4085[1], 1), 1), 0)), java.lang.Object(ARRAY(i2[1], a87173data[1])), i4085[1], i4089[1])∧(UIncreasing(COND_LOAD35385ARR1(&&(&&(&&(&&(&&(>(+(i4085[1], 1), 0), <(+(i4085[1], 1), i2[1])), >(i4085[1], 0)), <(i4085[1], i2[1])), >(i4089[1], 0)), >(+(+(i4085[1], 1), 1), 0)), java.lang.Object(ARRAY(i2[1], a87173data[1])), i4085[1], i4089[1])), ≥))



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

    (8)    (>(+(+(i4085[1], 1), 1), 0)=TRUE>(i4089[1], 0)=TRUE<(i4085[1], i2[1])=TRUE>(i4085[1], 0)=TRUE>(+(i4085[1], 1), 0)=TRUE<(+(i4085[1], 1), i2[1])=TRUELOAD35385ARR1(java.lang.Object(ARRAY(i2[1], a87173data[1])), i4085[1], i4089[1])≥NonInfC∧LOAD35385ARR1(java.lang.Object(ARRAY(i2[1], a87173data[1])), i4085[1], i4089[1])≥COND_LOAD35385ARR1(&&(&&(&&(&&(&&(>(+(i4085[1], 1), 0), <(+(i4085[1], 1), i2[1])), >(i4085[1], 0)), <(i4085[1], i2[1])), >(i4089[1], 0)), >(+(+(i4085[1], 1), 1), 0)), java.lang.Object(ARRAY(i2[1], a87173data[1])), i4085[1], i4089[1])∧(UIncreasing(COND_LOAD35385ARR1(&&(&&(&&(&&(&&(>(+(i4085[1], 1), 0), <(+(i4085[1], 1), i2[1])), >(i4085[1], 0)), <(i4085[1], i2[1])), >(i4089[1], 0)), >(+(+(i4085[1], 1), 1), 0)), java.lang.Object(ARRAY(i2[1], a87173data[1])), i4085[1], i4089[1])), ≥))



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

    (9)    (i4085[1] + [1] ≥ 0∧i4089[1] + [-1] ≥ 0∧i2[1] + [-1] + [-1]i4085[1] ≥ 0∧i4085[1] + [-1] ≥ 0∧i4085[1] ≥ 0∧i2[1] + [-2] + [-1]i4085[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR1(&&(&&(&&(&&(&&(>(+(i4085[1], 1), 0), <(+(i4085[1], 1), i2[1])), >(i4085[1], 0)), <(i4085[1], i2[1])), >(i4089[1], 0)), >(+(+(i4085[1], 1), 1), 0)), java.lang.Object(ARRAY(i2[1], a87173data[1])), i4085[1], i4089[1])), ≥)∧[(-1)Bound*bni_45] + [bni_45]i4089[1] + [(-1)bni_45]i4085[1] + [bni_45]i2[1] ≥ 0∧[(-1)bso_46] ≥ 0)



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

    (10)    (i4085[1] + [1] ≥ 0∧i4089[1] + [-1] ≥ 0∧i2[1] + [-1] + [-1]i4085[1] ≥ 0∧i4085[1] + [-1] ≥ 0∧i4085[1] ≥ 0∧i2[1] + [-2] + [-1]i4085[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR1(&&(&&(&&(&&(&&(>(+(i4085[1], 1), 0), <(+(i4085[1], 1), i2[1])), >(i4085[1], 0)), <(i4085[1], i2[1])), >(i4089[1], 0)), >(+(+(i4085[1], 1), 1), 0)), java.lang.Object(ARRAY(i2[1], a87173data[1])), i4085[1], i4089[1])), ≥)∧[(-1)Bound*bni_45] + [bni_45]i4089[1] + [(-1)bni_45]i4085[1] + [bni_45]i2[1] ≥ 0∧[(-1)bso_46] ≥ 0)



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

    (11)    (i4085[1] + [1] ≥ 0∧i4089[1] + [-1] ≥ 0∧i2[1] + [-1] + [-1]i4085[1] ≥ 0∧i4085[1] + [-1] ≥ 0∧i4085[1] ≥ 0∧i2[1] + [-2] + [-1]i4085[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR1(&&(&&(&&(&&(&&(>(+(i4085[1], 1), 0), <(+(i4085[1], 1), i2[1])), >(i4085[1], 0)), <(i4085[1], i2[1])), >(i4089[1], 0)), >(+(+(i4085[1], 1), 1), 0)), java.lang.Object(ARRAY(i2[1], a87173data[1])), i4085[1], i4089[1])), ≥)∧[(-1)Bound*bni_45] + [bni_45]i4089[1] + [(-1)bni_45]i4085[1] + [bni_45]i2[1] ≥ 0∧[(-1)bso_46] ≥ 0)



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

    (12)    (i4085[1] + [1] ≥ 0∧i4089[1] + [-1] ≥ 0∧i2[1] + [-1] + [-1]i4085[1] ≥ 0∧i4085[1] + [-1] ≥ 0∧i4085[1] ≥ 0∧i2[1] + [-2] + [-1]i4085[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR1(&&(&&(&&(&&(&&(>(+(i4085[1], 1), 0), <(+(i4085[1], 1), i2[1])), >(i4085[1], 0)), <(i4085[1], i2[1])), >(i4089[1], 0)), >(+(+(i4085[1], 1), 1), 0)), java.lang.Object(ARRAY(i2[1], a87173data[1])), i4085[1], i4089[1])), ≥)∧0 = 0∧[(-1)Bound*bni_45] + [bni_45]i4089[1] + [(-1)bni_45]i4085[1] + [bni_45]i2[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] + i4085[1] ≥ 0∧i4089[1] + [-1] ≥ 0∧i2[1] + [-2] + [-1]i4085[1] ≥ 0∧i4085[1] ≥ 0∧[1] + i4085[1] ≥ 0∧i2[1] + [-3] + [-1]i4085[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR1(&&(&&(&&(&&(&&(>(+(i4085[1], 1), 0), <(+(i4085[1], 1), i2[1])), >(i4085[1], 0)), <(i4085[1], i2[1])), >(i4089[1], 0)), >(+(+(i4085[1], 1), 1), 0)), java.lang.Object(ARRAY(i2[1], a87173data[1])), i4085[1], i4089[1])), ≥)∧0 = 0∧[(-1)Bound*bni_45 + (-1)bni_45] + [bni_45]i4089[1] + [(-1)bni_45]i4085[1] + [bni_45]i2[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] + i4085[1] ≥ 0∧i4089[1] ≥ 0∧i2[1] + [-2] + [-1]i4085[1] ≥ 0∧i4085[1] ≥ 0∧[1] + i4085[1] ≥ 0∧i2[1] + [-3] + [-1]i4085[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR1(&&(&&(&&(&&(&&(>(+(i4085[1], 1), 0), <(+(i4085[1], 1), i2[1])), >(i4085[1], 0)), <(i4085[1], i2[1])), >(i4089[1], 0)), >(+(+(i4085[1], 1), 1), 0)), java.lang.Object(ARRAY(i2[1], a87173data[1])), i4085[1], i4089[1])), ≥)∧0 = 0∧[(-1)Bound*bni_45] + [bni_45]i4089[1] + [(-1)bni_45]i4085[1] + [bni_45]i2[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] + i4085[1] ≥ 0∧i4089[1] ≥ 0∧i2[1] ≥ 0∧i4085[1] ≥ 0∧[1] + i4085[1] ≥ 0∧[-1] + i2[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR1(&&(&&(&&(&&(&&(>(+(i4085[1], 1), 0), <(+(i4085[1], 1), i2[1])), >(i4085[1], 0)), <(i4085[1], i2[1])), >(i4089[1], 0)), >(+(+(i4085[1], 1), 1), 0)), java.lang.Object(ARRAY(i2[1], a87173data[1])), i4085[1], i4089[1])), ≥)∧0 = 0∧[(-1)Bound*bni_45 + (2)bni_45] + [bni_45]i4089[1] + [bni_45]i2[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] + i4085[1] ≥ 0∧i4089[1] ≥ 0∧[1] + i2[1] ≥ 0∧i4085[1] ≥ 0∧[1] + i4085[1] ≥ 0∧i2[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR1(&&(&&(&&(&&(&&(>(+(i4085[1], 1), 0), <(+(i4085[1], 1), i2[1])), >(i4085[1], 0)), <(i4085[1], i2[1])), >(i4089[1], 0)), >(+(+(i4085[1], 1), 1), 0)), java.lang.Object(ARRAY(i2[1], a87173data[1])), i4085[1], i4089[1])), ≥)∧0 = 0∧[(-1)Bound*bni_45 + (3)bni_45] + [bni_45]i4089[1] + [bni_45]i2[1] ≥ 0∧0 = 0∧[(-1)bso_46] ≥ 0)







For Pair COND_LOAD35385ARR1(TRUE, java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089) → NEW38580(java.lang.Object(ARRAY(i2, a87173data)), +(+(i4085, 1), 1), i4089) the following chains were created:
  • We consider the chain COND_LOAD35385ARR1(TRUE, java.lang.Object(ARRAY(i2[2], a87173data[2])), i4085[2], i4089[2]) → NEW38580(java.lang.Object(ARRAY(i2[2], a87173data[2])), +(+(i4085[2], 1), 1), i4089[2]) which results in the following constraint:

    (17)    (COND_LOAD35385ARR1(TRUE, java.lang.Object(ARRAY(i2[2], a87173data[2])), i4085[2], i4089[2])≥NonInfC∧COND_LOAD35385ARR1(TRUE, java.lang.Object(ARRAY(i2[2], a87173data[2])), i4085[2], i4089[2])≥NEW38580(java.lang.Object(ARRAY(i2[2], a87173data[2])), +(+(i4085[2], 1), 1), i4089[2])∧(UIncreasing(NEW38580(java.lang.Object(ARRAY(i2[2], a87173data[2])), +(+(i4085[2], 1), 1), i4089[2])), ≥))



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

    (18)    ((UIncreasing(NEW38580(java.lang.Object(ARRAY(i2[2], a87173data[2])), +(+(i4085[2], 1), 1), i4089[2])), ≥)∧[2 + (-1)bso_48] ≥ 0)



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

    (19)    ((UIncreasing(NEW38580(java.lang.Object(ARRAY(i2[2], a87173data[2])), +(+(i4085[2], 1), 1), i4089[2])), ≥)∧[2 + (-1)bso_48] ≥ 0)



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

    (20)    ((UIncreasing(NEW38580(java.lang.Object(ARRAY(i2[2], a87173data[2])), +(+(i4085[2], 1), 1), i4089[2])), ≥)∧[2 + (-1)bso_48] ≥ 0)



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

    (21)    ((UIncreasing(NEW38580(java.lang.Object(ARRAY(i2[2], a87173data[2])), +(+(i4085[2], 1), 1), i4089[2])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[2 + (-1)bso_48] ≥ 0)







For Pair INC35531(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089) → LOAD35385(java.lang.Object(ARRAY(i2, a87173data)), i4085, +(i4089, -1)) the following chains were created:
  • We consider the chain INC35531(java.lang.Object(ARRAY(i2[3], a87173data[3])), i4085[3], i4089[3]) → LOAD35385(java.lang.Object(ARRAY(i2[3], a87173data[3])), i4085[3], +(i4089[3], -1)) which results in the following constraint:

    (22)    (INC35531(java.lang.Object(ARRAY(i2[3], a87173data[3])), i4085[3], i4089[3])≥NonInfC∧INC35531(java.lang.Object(ARRAY(i2[3], a87173data[3])), i4085[3], i4089[3])≥LOAD35385(java.lang.Object(ARRAY(i2[3], a87173data[3])), i4085[3], +(i4089[3], -1))∧(UIncreasing(LOAD35385(java.lang.Object(ARRAY(i2[3], a87173data[3])), i4085[3], +(i4089[3], -1))), ≥))



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

    (23)    ((UIncreasing(LOAD35385(java.lang.Object(ARRAY(i2[3], a87173data[3])), i4085[3], +(i4089[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(LOAD35385(java.lang.Object(ARRAY(i2[3], a87173data[3])), i4085[3], +(i4089[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(LOAD35385(java.lang.Object(ARRAY(i2[3], a87173data[3])), i4085[3], +(i4089[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(LOAD35385(java.lang.Object(ARRAY(i2[3], a87173data[3])), i4085[3], +(i4089[3], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_50] ≥ 0)







For Pair LOAD35385(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089) → COND_LOAD35385(>(i4089, 0), java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089) the following chains were created:
  • We consider the chain LOAD35385(java.lang.Object(ARRAY(i2[4], a87173data[4])), i4085[4], i4089[4]) → COND_LOAD35385(>(i4089[4], 0), java.lang.Object(ARRAY(i2[4], a87173data[4])), i4085[4], i4089[4]), COND_LOAD35385(TRUE, java.lang.Object(ARRAY(i2[5], a87173data[5])), i4085[5], i4089[5]) → LOAD35385(java.lang.Object(ARRAY(i2[5], a87173data[5])), i4085[5], +(i4089[5], -1)) which results in the following constraint:

    (27)    (i4085[4]=i4085[5]>(i4089[4], 0)=TRUEi2[4]=i2[5]a87173data[4]=a87173data[5]i4089[4]=i4089[5]LOAD35385(java.lang.Object(ARRAY(i2[4], a87173data[4])), i4085[4], i4089[4])≥NonInfC∧LOAD35385(java.lang.Object(ARRAY(i2[4], a87173data[4])), i4085[4], i4089[4])≥COND_LOAD35385(>(i4089[4], 0), java.lang.Object(ARRAY(i2[4], a87173data[4])), i4085[4], i4089[4])∧(UIncreasing(COND_LOAD35385(>(i4089[4], 0), java.lang.Object(ARRAY(i2[4], a87173data[4])), i4085[4], i4089[4])), ≥))



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

    (28)    (>(i4089[4], 0)=TRUELOAD35385(java.lang.Object(ARRAY(i2[4], a87173data[4])), i4085[4], i4089[4])≥NonInfC∧LOAD35385(java.lang.Object(ARRAY(i2[4], a87173data[4])), i4085[4], i4089[4])≥COND_LOAD35385(>(i4089[4], 0), java.lang.Object(ARRAY(i2[4], a87173data[4])), i4085[4], i4089[4])∧(UIncreasing(COND_LOAD35385(>(i4089[4], 0), java.lang.Object(ARRAY(i2[4], a87173data[4])), i4085[4], i4089[4])), ≥))



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

    (29)    (i4089[4] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385(>(i4089[4], 0), java.lang.Object(ARRAY(i2[4], a87173data[4])), i4085[4], i4089[4])), ≥)∧[(-1)Bound*bni_51] + [bni_51]i4089[4] + [(-1)bni_51]i4085[4] + [bni_51]i2[4] ≥ 0∧[(-1)bso_52] ≥ 0)



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

    (30)    (i4089[4] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385(>(i4089[4], 0), java.lang.Object(ARRAY(i2[4], a87173data[4])), i4085[4], i4089[4])), ≥)∧[(-1)Bound*bni_51] + [bni_51]i4089[4] + [(-1)bni_51]i4085[4] + [bni_51]i2[4] ≥ 0∧[(-1)bso_52] ≥ 0)



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

    (31)    (i4089[4] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385(>(i4089[4], 0), java.lang.Object(ARRAY(i2[4], a87173data[4])), i4085[4], i4089[4])), ≥)∧[(-1)Bound*bni_51] + [bni_51]i4089[4] + [(-1)bni_51]i4085[4] + [bni_51]i2[4] ≥ 0∧[(-1)bso_52] ≥ 0)



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

    (32)    (i4089[4] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385(>(i4089[4], 0), java.lang.Object(ARRAY(i2[4], a87173data[4])), i4085[4], i4089[4])), ≥)∧[(-1)bni_51] = 0∧0 = 0∧[bni_51] = 0∧[(-1)Bound*bni_51] + [bni_51]i4089[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)    (i4089[4] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385(>(i4089[4], 0), java.lang.Object(ARRAY(i2[4], a87173data[4])), i4085[4], i4089[4])), ≥)∧[(-1)bni_51] = 0∧0 = 0∧[bni_51] = 0∧[(-1)Bound*bni_51 + bni_51] + [bni_51]i4089[4] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_52] ≥ 0)







For Pair COND_LOAD35385(TRUE, java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089) → LOAD35385(java.lang.Object(ARRAY(i2, a87173data)), i4085, +(i4089, -1)) the following chains were created:
  • We consider the chain COND_LOAD35385(TRUE, java.lang.Object(ARRAY(i2[5], a87173data[5])), i4085[5], i4089[5]) → LOAD35385(java.lang.Object(ARRAY(i2[5], a87173data[5])), i4085[5], +(i4089[5], -1)) which results in the following constraint:

    (34)    (COND_LOAD35385(TRUE, java.lang.Object(ARRAY(i2[5], a87173data[5])), i4085[5], i4089[5])≥NonInfC∧COND_LOAD35385(TRUE, java.lang.Object(ARRAY(i2[5], a87173data[5])), i4085[5], i4089[5])≥LOAD35385(java.lang.Object(ARRAY(i2[5], a87173data[5])), i4085[5], +(i4089[5], -1))∧(UIncreasing(LOAD35385(java.lang.Object(ARRAY(i2[5], a87173data[5])), i4085[5], +(i4089[5], -1))), ≥))



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

    (35)    ((UIncreasing(LOAD35385(java.lang.Object(ARRAY(i2[5], a87173data[5])), i4085[5], +(i4089[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(LOAD35385(java.lang.Object(ARRAY(i2[5], a87173data[5])), i4085[5], +(i4089[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(LOAD35385(java.lang.Object(ARRAY(i2[5], a87173data[5])), i4085[5], +(i4089[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(LOAD35385(java.lang.Object(ARRAY(i2[5], a87173data[5])), i4085[5], +(i4089[5], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_54] ≥ 0)







For Pair NEW38580(java.lang.Object(ARRAY(i2, a87173data)), i4456, i4089) → INC35531(java.lang.Object(ARRAY(i2, a87173data)), i4456, i4089) the following chains were created:
  • We consider the chain NEW38580(java.lang.Object(ARRAY(i2[6], a87173data[6])), i4456[6], i4089[6]) → INC35531(java.lang.Object(ARRAY(i2[6], a87173data[6])), i4456[6], i4089[6]), INC35531(java.lang.Object(ARRAY(i2[3], a87173data[3])), i4085[3], i4089[3]) → LOAD35385(java.lang.Object(ARRAY(i2[3], a87173data[3])), i4085[3], +(i4089[3], -1)) which results in the following constraint:

    (39)    (i4456[6]=i4085[3]i2[6]=i2[3]a87173data[6]=a87173data[3]i4089[6]=i4089[3]NEW38580(java.lang.Object(ARRAY(i2[6], a87173data[6])), i4456[6], i4089[6])≥NonInfC∧NEW38580(java.lang.Object(ARRAY(i2[6], a87173data[6])), i4456[6], i4089[6])≥INC35531(java.lang.Object(ARRAY(i2[6], a87173data[6])), i4456[6], i4089[6])∧(UIncreasing(INC35531(java.lang.Object(ARRAY(i2[6], a87173data[6])), i4456[6], i4089[6])), ≥))



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

    (40)    (NEW38580(java.lang.Object(ARRAY(i2[6], a87173data[6])), i4456[6], i4089[6])≥NonInfC∧NEW38580(java.lang.Object(ARRAY(i2[6], a87173data[6])), i4456[6], i4089[6])≥INC35531(java.lang.Object(ARRAY(i2[6], a87173data[6])), i4456[6], i4089[6])∧(UIncreasing(INC35531(java.lang.Object(ARRAY(i2[6], a87173data[6])), i4456[6], i4089[6])), ≥))



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

    (41)    ((UIncreasing(INC35531(java.lang.Object(ARRAY(i2[6], a87173data[6])), i4456[6], i4089[6])), ≥)∧[(-1)bso_56] ≥ 0)



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

    (42)    ((UIncreasing(INC35531(java.lang.Object(ARRAY(i2[6], a87173data[6])), i4456[6], i4089[6])), ≥)∧[(-1)bso_56] ≥ 0)



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

    (43)    ((UIncreasing(INC35531(java.lang.Object(ARRAY(i2[6], a87173data[6])), i4456[6], i4089[6])), ≥)∧[(-1)bso_56] ≥ 0)



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

    (44)    ((UIncreasing(INC35531(java.lang.Object(ARRAY(i2[6], a87173data[6])), i4456[6], i4089[6])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_56] ≥ 0)







For Pair LOAD35385(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089) → LOAD35385ARR2(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089) the following chains were created:
  • We consider the chain LOAD35385(java.lang.Object(ARRAY(i2[7], a87173data[7])), i4085[7], i4089[7]) → LOAD35385ARR2(java.lang.Object(ARRAY(i2[7], a87173data[7])), i4085[7], i4089[7]), LOAD35385ARR2(java.lang.Object(ARRAY(i2[8], a87173data[8])), i4085[8], i4089[8]) → COND_LOAD35385ARR2(&&(&&(&&(&&(&&(>(+(i4085[8], 1), 0), <(+(i4085[8], 1), i2[8])), >(i4085[8], 0)), <(i4085[8], i2[8])), >(i4089[8], 0)), >(+(+(i4085[8], 1), 1), 0)), java.lang.Object(ARRAY(i2[8], a87173data[8])), i4085[8], i4089[8]) which results in the following constraint:

    (45)    (i2[7]=i2[8]a87173data[7]=a87173data[8]i4089[7]=i4089[8]i4085[7]=i4085[8]LOAD35385(java.lang.Object(ARRAY(i2[7], a87173data[7])), i4085[7], i4089[7])≥NonInfC∧LOAD35385(java.lang.Object(ARRAY(i2[7], a87173data[7])), i4085[7], i4089[7])≥LOAD35385ARR2(java.lang.Object(ARRAY(i2[7], a87173data[7])), i4085[7], i4089[7])∧(UIncreasing(LOAD35385ARR2(java.lang.Object(ARRAY(i2[7], a87173data[7])), i4085[7], i4089[7])), ≥))



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

    (46)    (LOAD35385(java.lang.Object(ARRAY(i2[7], a87173data[7])), i4085[7], i4089[7])≥NonInfC∧LOAD35385(java.lang.Object(ARRAY(i2[7], a87173data[7])), i4085[7], i4089[7])≥LOAD35385ARR2(java.lang.Object(ARRAY(i2[7], a87173data[7])), i4085[7], i4089[7])∧(UIncreasing(LOAD35385ARR2(java.lang.Object(ARRAY(i2[7], a87173data[7])), i4085[7], i4089[7])), ≥))



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

    (47)    ((UIncreasing(LOAD35385ARR2(java.lang.Object(ARRAY(i2[7], a87173data[7])), i4085[7], i4089[7])), ≥)∧[(-1)bso_58] ≥ 0)



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

    (48)    ((UIncreasing(LOAD35385ARR2(java.lang.Object(ARRAY(i2[7], a87173data[7])), i4085[7], i4089[7])), ≥)∧[(-1)bso_58] ≥ 0)



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

    (49)    ((UIncreasing(LOAD35385ARR2(java.lang.Object(ARRAY(i2[7], a87173data[7])), i4085[7], i4089[7])), ≥)∧[(-1)bso_58] ≥ 0)



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

    (50)    ((UIncreasing(LOAD35385ARR2(java.lang.Object(ARRAY(i2[7], a87173data[7])), i4085[7], i4089[7])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_58] ≥ 0)







For Pair LOAD35385ARR2(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089) → COND_LOAD35385ARR2(&&(&&(&&(&&(&&(>(+(i4085, 1), 0), <(+(i4085, 1), i2)), >(i4085, 0)), <(i4085, i2)), >(i4089, 0)), >(+(+(i4085, 1), 1), 0)), java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089) the following chains were created:
  • We consider the chain LOAD35385ARR2(java.lang.Object(ARRAY(i2[8], a87173data[8])), i4085[8], i4089[8]) → COND_LOAD35385ARR2(&&(&&(&&(&&(&&(>(+(i4085[8], 1), 0), <(+(i4085[8], 1), i2[8])), >(i4085[8], 0)), <(i4085[8], i2[8])), >(i4089[8], 0)), >(+(+(i4085[8], 1), 1), 0)), java.lang.Object(ARRAY(i2[8], a87173data[8])), i4085[8], i4089[8]), COND_LOAD35385ARR2(TRUE, java.lang.Object(ARRAY(i2[9], a87173data[9])), i4085[9], i4089[9]) → INC35531(java.lang.Object(ARRAY(i2[9], a87173data[9])), +(+(i4085[9], 1), 1), i4089[9]) which results in the following constraint:

    (51)    (i4085[8]=i4085[9]&&(&&(&&(&&(&&(>(+(i4085[8], 1), 0), <(+(i4085[8], 1), i2[8])), >(i4085[8], 0)), <(i4085[8], i2[8])), >(i4089[8], 0)), >(+(+(i4085[8], 1), 1), 0))=TRUEi2[8]=i2[9]a87173data[8]=a87173data[9]i4089[8]=i4089[9]LOAD35385ARR2(java.lang.Object(ARRAY(i2[8], a87173data[8])), i4085[8], i4089[8])≥NonInfC∧LOAD35385ARR2(java.lang.Object(ARRAY(i2[8], a87173data[8])), i4085[8], i4089[8])≥COND_LOAD35385ARR2(&&(&&(&&(&&(&&(>(+(i4085[8], 1), 0), <(+(i4085[8], 1), i2[8])), >(i4085[8], 0)), <(i4085[8], i2[8])), >(i4089[8], 0)), >(+(+(i4085[8], 1), 1), 0)), java.lang.Object(ARRAY(i2[8], a87173data[8])), i4085[8], i4089[8])∧(UIncreasing(COND_LOAD35385ARR2(&&(&&(&&(&&(&&(>(+(i4085[8], 1), 0), <(+(i4085[8], 1), i2[8])), >(i4085[8], 0)), <(i4085[8], i2[8])), >(i4089[8], 0)), >(+(+(i4085[8], 1), 1), 0)), java.lang.Object(ARRAY(i2[8], a87173data[8])), i4085[8], i4089[8])), ≥))



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

    (52)    (>(+(+(i4085[8], 1), 1), 0)=TRUE>(i4089[8], 0)=TRUE<(i4085[8], i2[8])=TRUE>(i4085[8], 0)=TRUE>(+(i4085[8], 1), 0)=TRUE<(+(i4085[8], 1), i2[8])=TRUELOAD35385ARR2(java.lang.Object(ARRAY(i2[8], a87173data[8])), i4085[8], i4089[8])≥NonInfC∧LOAD35385ARR2(java.lang.Object(ARRAY(i2[8], a87173data[8])), i4085[8], i4089[8])≥COND_LOAD35385ARR2(&&(&&(&&(&&(&&(>(+(i4085[8], 1), 0), <(+(i4085[8], 1), i2[8])), >(i4085[8], 0)), <(i4085[8], i2[8])), >(i4089[8], 0)), >(+(+(i4085[8], 1), 1), 0)), java.lang.Object(ARRAY(i2[8], a87173data[8])), i4085[8], i4089[8])∧(UIncreasing(COND_LOAD35385ARR2(&&(&&(&&(&&(&&(>(+(i4085[8], 1), 0), <(+(i4085[8], 1), i2[8])), >(i4085[8], 0)), <(i4085[8], i2[8])), >(i4089[8], 0)), >(+(+(i4085[8], 1), 1), 0)), java.lang.Object(ARRAY(i2[8], a87173data[8])), i4085[8], i4089[8])), ≥))



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

    (53)    (i4085[8] + [1] ≥ 0∧i4089[8] + [-1] ≥ 0∧i2[8] + [-1] + [-1]i4085[8] ≥ 0∧i4085[8] + [-1] ≥ 0∧i4085[8] ≥ 0∧i2[8] + [-2] + [-1]i4085[8] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR2(&&(&&(&&(&&(&&(>(+(i4085[8], 1), 0), <(+(i4085[8], 1), i2[8])), >(i4085[8], 0)), <(i4085[8], i2[8])), >(i4089[8], 0)), >(+(+(i4085[8], 1), 1), 0)), java.lang.Object(ARRAY(i2[8], a87173data[8])), i4085[8], i4089[8])), ≥)∧[(-1)Bound*bni_59] + [bni_59]i4089[8] + [(-1)bni_59]i4085[8] + [bni_59]i2[8] ≥ 0∧[(-1)bso_60] ≥ 0)



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

    (54)    (i4085[8] + [1] ≥ 0∧i4089[8] + [-1] ≥ 0∧i2[8] + [-1] + [-1]i4085[8] ≥ 0∧i4085[8] + [-1] ≥ 0∧i4085[8] ≥ 0∧i2[8] + [-2] + [-1]i4085[8] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR2(&&(&&(&&(&&(&&(>(+(i4085[8], 1), 0), <(+(i4085[8], 1), i2[8])), >(i4085[8], 0)), <(i4085[8], i2[8])), >(i4089[8], 0)), >(+(+(i4085[8], 1), 1), 0)), java.lang.Object(ARRAY(i2[8], a87173data[8])), i4085[8], i4089[8])), ≥)∧[(-1)Bound*bni_59] + [bni_59]i4089[8] + [(-1)bni_59]i4085[8] + [bni_59]i2[8] ≥ 0∧[(-1)bso_60] ≥ 0)



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

    (55)    (i4085[8] + [1] ≥ 0∧i4089[8] + [-1] ≥ 0∧i2[8] + [-1] + [-1]i4085[8] ≥ 0∧i4085[8] + [-1] ≥ 0∧i4085[8] ≥ 0∧i2[8] + [-2] + [-1]i4085[8] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR2(&&(&&(&&(&&(&&(>(+(i4085[8], 1), 0), <(+(i4085[8], 1), i2[8])), >(i4085[8], 0)), <(i4085[8], i2[8])), >(i4089[8], 0)), >(+(+(i4085[8], 1), 1), 0)), java.lang.Object(ARRAY(i2[8], a87173data[8])), i4085[8], i4089[8])), ≥)∧[(-1)Bound*bni_59] + [bni_59]i4089[8] + [(-1)bni_59]i4085[8] + [bni_59]i2[8] ≥ 0∧[(-1)bso_60] ≥ 0)



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

    (56)    (i4085[8] + [1] ≥ 0∧i4089[8] + [-1] ≥ 0∧i2[8] + [-1] + [-1]i4085[8] ≥ 0∧i4085[8] + [-1] ≥ 0∧i4085[8] ≥ 0∧i2[8] + [-2] + [-1]i4085[8] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR2(&&(&&(&&(&&(&&(>(+(i4085[8], 1), 0), <(+(i4085[8], 1), i2[8])), >(i4085[8], 0)), <(i4085[8], i2[8])), >(i4089[8], 0)), >(+(+(i4085[8], 1), 1), 0)), java.lang.Object(ARRAY(i2[8], a87173data[8])), i4085[8], i4089[8])), ≥)∧0 = 0∧[(-1)Bound*bni_59] + [bni_59]i4089[8] + [(-1)bni_59]i4085[8] + [bni_59]i2[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] + i4085[8] ≥ 0∧i4089[8] + [-1] ≥ 0∧i2[8] + [-2] + [-1]i4085[8] ≥ 0∧i4085[8] ≥ 0∧[1] + i4085[8] ≥ 0∧i2[8] + [-3] + [-1]i4085[8] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR2(&&(&&(&&(&&(&&(>(+(i4085[8], 1), 0), <(+(i4085[8], 1), i2[8])), >(i4085[8], 0)), <(i4085[8], i2[8])), >(i4089[8], 0)), >(+(+(i4085[8], 1), 1), 0)), java.lang.Object(ARRAY(i2[8], a87173data[8])), i4085[8], i4089[8])), ≥)∧0 = 0∧[(-1)Bound*bni_59 + (-1)bni_59] + [bni_59]i4089[8] + [(-1)bni_59]i4085[8] + [bni_59]i2[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] + i4085[8] ≥ 0∧i4089[8] ≥ 0∧i2[8] + [-2] + [-1]i4085[8] ≥ 0∧i4085[8] ≥ 0∧[1] + i4085[8] ≥ 0∧i2[8] + [-3] + [-1]i4085[8] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR2(&&(&&(&&(&&(&&(>(+(i4085[8], 1), 0), <(+(i4085[8], 1), i2[8])), >(i4085[8], 0)), <(i4085[8], i2[8])), >(i4089[8], 0)), >(+(+(i4085[8], 1), 1), 0)), java.lang.Object(ARRAY(i2[8], a87173data[8])), i4085[8], i4089[8])), ≥)∧0 = 0∧[(-1)Bound*bni_59] + [bni_59]i4089[8] + [(-1)bni_59]i4085[8] + [bni_59]i2[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] + i4085[8] ≥ 0∧i4089[8] ≥ 0∧i2[8] ≥ 0∧i4085[8] ≥ 0∧[1] + i4085[8] ≥ 0∧[-1] + i2[8] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR2(&&(&&(&&(&&(&&(>(+(i4085[8], 1), 0), <(+(i4085[8], 1), i2[8])), >(i4085[8], 0)), <(i4085[8], i2[8])), >(i4089[8], 0)), >(+(+(i4085[8], 1), 1), 0)), java.lang.Object(ARRAY(i2[8], a87173data[8])), i4085[8], i4089[8])), ≥)∧0 = 0∧[(-1)Bound*bni_59 + (2)bni_59] + [bni_59]i4089[8] + [bni_59]i2[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] + i4085[8] ≥ 0∧i4089[8] ≥ 0∧[1] + i2[8] ≥ 0∧i4085[8] ≥ 0∧[1] + i4085[8] ≥ 0∧i2[8] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR2(&&(&&(&&(&&(&&(>(+(i4085[8], 1), 0), <(+(i4085[8], 1), i2[8])), >(i4085[8], 0)), <(i4085[8], i2[8])), >(i4089[8], 0)), >(+(+(i4085[8], 1), 1), 0)), java.lang.Object(ARRAY(i2[8], a87173data[8])), i4085[8], i4089[8])), ≥)∧0 = 0∧[(-1)Bound*bni_59 + (3)bni_59] + [bni_59]i4089[8] + [bni_59]i2[8] ≥ 0∧0 = 0∧[(-1)bso_60] ≥ 0)







For Pair COND_LOAD35385ARR2(TRUE, java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089) → INC35531(java.lang.Object(ARRAY(i2, a87173data)), +(+(i4085, 1), 1), i4089) the following chains were created:
  • We consider the chain COND_LOAD35385ARR2(TRUE, java.lang.Object(ARRAY(i2[9], a87173data[9])), i4085[9], i4089[9]) → INC35531(java.lang.Object(ARRAY(i2[9], a87173data[9])), +(+(i4085[9], 1), 1), i4089[9]) which results in the following constraint:

    (61)    (COND_LOAD35385ARR2(TRUE, java.lang.Object(ARRAY(i2[9], a87173data[9])), i4085[9], i4089[9])≥NonInfC∧COND_LOAD35385ARR2(TRUE, java.lang.Object(ARRAY(i2[9], a87173data[9])), i4085[9], i4089[9])≥INC35531(java.lang.Object(ARRAY(i2[9], a87173data[9])), +(+(i4085[9], 1), 1), i4089[9])∧(UIncreasing(INC35531(java.lang.Object(ARRAY(i2[9], a87173data[9])), +(+(i4085[9], 1), 1), i4089[9])), ≥))



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

    (62)    ((UIncreasing(INC35531(java.lang.Object(ARRAY(i2[9], a87173data[9])), +(+(i4085[9], 1), 1), i4089[9])), ≥)∧[2 + (-1)bso_62] ≥ 0)



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

    (63)    ((UIncreasing(INC35531(java.lang.Object(ARRAY(i2[9], a87173data[9])), +(+(i4085[9], 1), 1), i4089[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(INC35531(java.lang.Object(ARRAY(i2[9], a87173data[9])), +(+(i4085[9], 1), 1), i4089[9])), ≥)∧[2 + (-1)bso_62] ≥ 0)



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

    (65)    ((UIncreasing(INC35531(java.lang.Object(ARRAY(i2[9], a87173data[9])), +(+(i4085[9], 1), 1), i4089[9])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[2 + (-1)bso_62] ≥ 0)







For Pair LOAD35385(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089) → LOAD35385ARR3(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i4710))) the following chains were created:
  • We consider the chain LOAD35385(java.lang.Object(ARRAY(i2[10], a87173data[10])), i4085[10], i4089[10]) → LOAD35385ARR3(java.lang.Object(ARRAY(i2[10], a87173data[10])), i4085[10], i4089[10], java.lang.Object(java.lang.String(i4710[10]))) which results in the following constraint:

    (66)    (LOAD35385(java.lang.Object(ARRAY(i2[10], a87173data[10])), i4085[10], i4089[10])≥NonInfC∧LOAD35385(java.lang.Object(ARRAY(i2[10], a87173data[10])), i4085[10], i4089[10])≥LOAD35385ARR3(java.lang.Object(ARRAY(i2[10], a87173data[10])), i4085[10], i4089[10], java.lang.Object(java.lang.String(i4710[10])))∧(UIncreasing(LOAD35385ARR3(java.lang.Object(ARRAY(i2[10], a87173data[10])), i4085[10], i4089[10], java.lang.Object(java.lang.String(i4710[10])))), ≥))



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

    (67)    ((UIncreasing(LOAD35385ARR3(java.lang.Object(ARRAY(i2[10], a87173data[10])), i4085[10], i4089[10], java.lang.Object(java.lang.String(i4710[10])))), ≥)∧[(-1)bso_64] ≥ 0)



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

    (68)    ((UIncreasing(LOAD35385ARR3(java.lang.Object(ARRAY(i2[10], a87173data[10])), i4085[10], i4089[10], java.lang.Object(java.lang.String(i4710[10])))), ≥)∧[(-1)bso_64] ≥ 0)



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

    (69)    ((UIncreasing(LOAD35385ARR3(java.lang.Object(ARRAY(i2[10], a87173data[10])), i4085[10], i4089[10], java.lang.Object(java.lang.String(i4710[10])))), ≥)∧[(-1)bso_64] ≥ 0)



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

    (70)    ((UIncreasing(LOAD35385ARR3(java.lang.Object(ARRAY(i2[10], a87173data[10])), i4085[10], i4089[10], java.lang.Object(java.lang.String(i4710[10])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_64] ≥ 0)







For Pair LOAD35385ARR3(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i4710))) → COND_LOAD35385ARR3(&&(&&(&&(&&(&&(&&(!(=(i4710, 0)), >(+(i4085, 1), 0)), <(+(i4085, 1), i2)), >(i4085, 0)), <(i4085, i2)), >(i4089, 0)), >(+(+(i4085, 1), 1), 0)), java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i4710))) the following chains were created:
  • We consider the chain LOAD35385ARR3(java.lang.Object(ARRAY(i2[11], a87173data[11])), i4085[11], i4089[11], java.lang.Object(java.lang.String(i4710[11]))) → COND_LOAD35385ARR3(&&(&&(&&(&&(&&(&&(!(=(i4710[11], 0)), >(+(i4085[11], 1), 0)), <(+(i4085[11], 1), i2[11])), >(i4085[11], 0)), <(i4085[11], i2[11])), >(i4089[11], 0)), >(+(+(i4085[11], 1), 1), 0)), java.lang.Object(ARRAY(i2[11], a87173data[11])), i4085[11], i4089[11], java.lang.Object(java.lang.String(i4710[11]))), COND_LOAD35385ARR3(TRUE, java.lang.Object(ARRAY(i2[12], a87173data[12])), i4085[12], i4089[12], java.lang.Object(java.lang.String(i4710[12]))) → INC35531(java.lang.Object(ARRAY(i2[12], a87173data[12])), +(+(i4085[12], 1), 1), i4089[12]) which results in the following constraint:

    (71)    (&&(&&(&&(&&(&&(&&(!(=(i4710[11], 0)), >(+(i4085[11], 1), 0)), <(+(i4085[11], 1), i2[11])), >(i4085[11], 0)), <(i4085[11], i2[11])), >(i4089[11], 0)), >(+(+(i4085[11], 1), 1), 0))=TRUEi4089[11]=i4089[12]i4710[11]=i4710[12]i2[11]=i2[12]a87173data[11]=a87173data[12]i4085[11]=i4085[12]LOAD35385ARR3(java.lang.Object(ARRAY(i2[11], a87173data[11])), i4085[11], i4089[11], java.lang.Object(java.lang.String(i4710[11])))≥NonInfC∧LOAD35385ARR3(java.lang.Object(ARRAY(i2[11], a87173data[11])), i4085[11], i4089[11], java.lang.Object(java.lang.String(i4710[11])))≥COND_LOAD35385ARR3(&&(&&(&&(&&(&&(&&(!(=(i4710[11], 0)), >(+(i4085[11], 1), 0)), <(+(i4085[11], 1), i2[11])), >(i4085[11], 0)), <(i4085[11], i2[11])), >(i4089[11], 0)), >(+(+(i4085[11], 1), 1), 0)), java.lang.Object(ARRAY(i2[11], a87173data[11])), i4085[11], i4089[11], java.lang.Object(java.lang.String(i4710[11])))∧(UIncreasing(COND_LOAD35385ARR3(&&(&&(&&(&&(&&(&&(!(=(i4710[11], 0)), >(+(i4085[11], 1), 0)), <(+(i4085[11], 1), i2[11])), >(i4085[11], 0)), <(i4085[11], i2[11])), >(i4089[11], 0)), >(+(+(i4085[11], 1), 1), 0)), java.lang.Object(ARRAY(i2[11], a87173data[11])), i4085[11], i4089[11], java.lang.Object(java.lang.String(i4710[11])))), ≥))



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

    (72)    (>(+(+(i4085[11], 1), 1), 0)=TRUE>(i4089[11], 0)=TRUE<(i4085[11], i2[11])=TRUE>(i4085[11], 0)=TRUE<(+(i4085[11], 1), i2[11])=TRUE>(+(i4085[11], 1), 0)=TRUE<(i4710[11], 0)=TRUELOAD35385ARR3(java.lang.Object(ARRAY(i2[11], a87173data[11])), i4085[11], i4089[11], java.lang.Object(java.lang.String(i4710[11])))≥NonInfC∧LOAD35385ARR3(java.lang.Object(ARRAY(i2[11], a87173data[11])), i4085[11], i4089[11], java.lang.Object(java.lang.String(i4710[11])))≥COND_LOAD35385ARR3(&&(&&(&&(&&(&&(&&(!(=(i4710[11], 0)), >(+(i4085[11], 1), 0)), <(+(i4085[11], 1), i2[11])), >(i4085[11], 0)), <(i4085[11], i2[11])), >(i4089[11], 0)), >(+(+(i4085[11], 1), 1), 0)), java.lang.Object(ARRAY(i2[11], a87173data[11])), i4085[11], i4089[11], java.lang.Object(java.lang.String(i4710[11])))∧(UIncreasing(COND_LOAD35385ARR3(&&(&&(&&(&&(&&(&&(!(=(i4710[11], 0)), >(+(i4085[11], 1), 0)), <(+(i4085[11], 1), i2[11])), >(i4085[11], 0)), <(i4085[11], i2[11])), >(i4089[11], 0)), >(+(+(i4085[11], 1), 1), 0)), java.lang.Object(ARRAY(i2[11], a87173data[11])), i4085[11], i4089[11], java.lang.Object(java.lang.String(i4710[11])))), ≥))


    (73)    (>(+(+(i4085[11], 1), 1), 0)=TRUE>(i4089[11], 0)=TRUE<(i4085[11], i2[11])=TRUE>(i4085[11], 0)=TRUE<(+(i4085[11], 1), i2[11])=TRUE>(+(i4085[11], 1), 0)=TRUE>(i4710[11], 0)=TRUELOAD35385ARR3(java.lang.Object(ARRAY(i2[11], a87173data[11])), i4085[11], i4089[11], java.lang.Object(java.lang.String(i4710[11])))≥NonInfC∧LOAD35385ARR3(java.lang.Object(ARRAY(i2[11], a87173data[11])), i4085[11], i4089[11], java.lang.Object(java.lang.String(i4710[11])))≥COND_LOAD35385ARR3(&&(&&(&&(&&(&&(&&(!(=(i4710[11], 0)), >(+(i4085[11], 1), 0)), <(+(i4085[11], 1), i2[11])), >(i4085[11], 0)), <(i4085[11], i2[11])), >(i4089[11], 0)), >(+(+(i4085[11], 1), 1), 0)), java.lang.Object(ARRAY(i2[11], a87173data[11])), i4085[11], i4089[11], java.lang.Object(java.lang.String(i4710[11])))∧(UIncreasing(COND_LOAD35385ARR3(&&(&&(&&(&&(&&(&&(!(=(i4710[11], 0)), >(+(i4085[11], 1), 0)), <(+(i4085[11], 1), i2[11])), >(i4085[11], 0)), <(i4085[11], i2[11])), >(i4089[11], 0)), >(+(+(i4085[11], 1), 1), 0)), java.lang.Object(ARRAY(i2[11], a87173data[11])), i4085[11], i4089[11], java.lang.Object(java.lang.String(i4710[11])))), ≥))



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

    (74)    (i4085[11] + [1] ≥ 0∧i4089[11] + [-1] ≥ 0∧i2[11] + [-1] + [-1]i4085[11] ≥ 0∧i4085[11] + [-1] ≥ 0∧i2[11] + [-2] + [-1]i4085[11] ≥ 0∧i4085[11] ≥ 0∧[-1] + [-1]i4710[11] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR3(&&(&&(&&(&&(&&(&&(!(=(i4710[11], 0)), >(+(i4085[11], 1), 0)), <(+(i4085[11], 1), i2[11])), >(i4085[11], 0)), <(i4085[11], i2[11])), >(i4089[11], 0)), >(+(+(i4085[11], 1), 1), 0)), java.lang.Object(ARRAY(i2[11], a87173data[11])), i4085[11], i4089[11], java.lang.Object(java.lang.String(i4710[11])))), ≥)∧[(-1)Bound*bni_65] + [bni_65]i4089[11] + [(-1)bni_65]i4085[11] + [bni_65]i2[11] ≥ 0∧[(-1)bso_66] ≥ 0)



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

    (75)    (i4085[11] + [1] ≥ 0∧i4089[11] + [-1] ≥ 0∧i2[11] + [-1] + [-1]i4085[11] ≥ 0∧i4085[11] + [-1] ≥ 0∧i2[11] + [-2] + [-1]i4085[11] ≥ 0∧i4085[11] ≥ 0∧i4710[11] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR3(&&(&&(&&(&&(&&(&&(!(=(i4710[11], 0)), >(+(i4085[11], 1), 0)), <(+(i4085[11], 1), i2[11])), >(i4085[11], 0)), <(i4085[11], i2[11])), >(i4089[11], 0)), >(+(+(i4085[11], 1), 1), 0)), java.lang.Object(ARRAY(i2[11], a87173data[11])), i4085[11], i4089[11], java.lang.Object(java.lang.String(i4710[11])))), ≥)∧[(-1)Bound*bni_65] + [bni_65]i4089[11] + [(-1)bni_65]i4085[11] + [bni_65]i2[11] ≥ 0∧[(-1)bso_66] ≥ 0)



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

    (76)    (i4085[11] + [1] ≥ 0∧i4089[11] + [-1] ≥ 0∧i2[11] + [-1] + [-1]i4085[11] ≥ 0∧i4085[11] + [-1] ≥ 0∧i2[11] + [-2] + [-1]i4085[11] ≥ 0∧i4085[11] ≥ 0∧[-1] + [-1]i4710[11] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR3(&&(&&(&&(&&(&&(&&(!(=(i4710[11], 0)), >(+(i4085[11], 1), 0)), <(+(i4085[11], 1), i2[11])), >(i4085[11], 0)), <(i4085[11], i2[11])), >(i4089[11], 0)), >(+(+(i4085[11], 1), 1), 0)), java.lang.Object(ARRAY(i2[11], a87173data[11])), i4085[11], i4089[11], java.lang.Object(java.lang.String(i4710[11])))), ≥)∧[(-1)Bound*bni_65] + [bni_65]i4089[11] + [(-1)bni_65]i4085[11] + [bni_65]i2[11] ≥ 0∧[(-1)bso_66] ≥ 0)



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

    (77)    (i4085[11] + [1] ≥ 0∧i4089[11] + [-1] ≥ 0∧i2[11] + [-1] + [-1]i4085[11] ≥ 0∧i4085[11] + [-1] ≥ 0∧i2[11] + [-2] + [-1]i4085[11] ≥ 0∧i4085[11] ≥ 0∧i4710[11] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR3(&&(&&(&&(&&(&&(&&(!(=(i4710[11], 0)), >(+(i4085[11], 1), 0)), <(+(i4085[11], 1), i2[11])), >(i4085[11], 0)), <(i4085[11], i2[11])), >(i4089[11], 0)), >(+(+(i4085[11], 1), 1), 0)), java.lang.Object(ARRAY(i2[11], a87173data[11])), i4085[11], i4089[11], java.lang.Object(java.lang.String(i4710[11])))), ≥)∧[(-1)Bound*bni_65] + [bni_65]i4089[11] + [(-1)bni_65]i4085[11] + [bni_65]i2[11] ≥ 0∧[(-1)bso_66] ≥ 0)



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

    (78)    (i4085[11] + [1] ≥ 0∧i4089[11] + [-1] ≥ 0∧i2[11] + [-1] + [-1]i4085[11] ≥ 0∧i4085[11] + [-1] ≥ 0∧i2[11] + [-2] + [-1]i4085[11] ≥ 0∧i4085[11] ≥ 0∧[-1] + [-1]i4710[11] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR3(&&(&&(&&(&&(&&(&&(!(=(i4710[11], 0)), >(+(i4085[11], 1), 0)), <(+(i4085[11], 1), i2[11])), >(i4085[11], 0)), <(i4085[11], i2[11])), >(i4089[11], 0)), >(+(+(i4085[11], 1), 1), 0)), java.lang.Object(ARRAY(i2[11], a87173data[11])), i4085[11], i4089[11], java.lang.Object(java.lang.String(i4710[11])))), ≥)∧[(-1)Bound*bni_65] + [bni_65]i4089[11] + [(-1)bni_65]i4085[11] + [bni_65]i2[11] ≥ 0∧[(-1)bso_66] ≥ 0)



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

    (79)    (i4085[11] + [1] ≥ 0∧i4089[11] + [-1] ≥ 0∧i2[11] + [-1] + [-1]i4085[11] ≥ 0∧i4085[11] + [-1] ≥ 0∧i2[11] + [-2] + [-1]i4085[11] ≥ 0∧i4085[11] ≥ 0∧i4710[11] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR3(&&(&&(&&(&&(&&(&&(!(=(i4710[11], 0)), >(+(i4085[11], 1), 0)), <(+(i4085[11], 1), i2[11])), >(i4085[11], 0)), <(i4085[11], i2[11])), >(i4089[11], 0)), >(+(+(i4085[11], 1), 1), 0)), java.lang.Object(ARRAY(i2[11], a87173data[11])), i4085[11], i4089[11], java.lang.Object(java.lang.String(i4710[11])))), ≥)∧[(-1)Bound*bni_65] + [bni_65]i4089[11] + [(-1)bni_65]i4085[11] + [bni_65]i2[11] ≥ 0∧[(-1)bso_66] ≥ 0)



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

    (80)    (i4085[11] + [1] ≥ 0∧i4089[11] + [-1] ≥ 0∧i2[11] + [-1] + [-1]i4085[11] ≥ 0∧i4085[11] + [-1] ≥ 0∧i2[11] + [-2] + [-1]i4085[11] ≥ 0∧i4085[11] ≥ 0∧[-1] + [-1]i4710[11] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR3(&&(&&(&&(&&(&&(&&(!(=(i4710[11], 0)), >(+(i4085[11], 1), 0)), <(+(i4085[11], 1), i2[11])), >(i4085[11], 0)), <(i4085[11], i2[11])), >(i4089[11], 0)), >(+(+(i4085[11], 1), 1), 0)), java.lang.Object(ARRAY(i2[11], a87173data[11])), i4085[11], i4089[11], java.lang.Object(java.lang.String(i4710[11])))), ≥)∧0 = 0∧[(-1)Bound*bni_65] + [bni_65]i4089[11] + [(-1)bni_65]i4085[11] + [bni_65]i2[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)    (i4085[11] + [1] ≥ 0∧i4089[11] + [-1] ≥ 0∧i2[11] + [-1] + [-1]i4085[11] ≥ 0∧i4085[11] + [-1] ≥ 0∧i2[11] + [-2] + [-1]i4085[11] ≥ 0∧i4085[11] ≥ 0∧i4710[11] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR3(&&(&&(&&(&&(&&(&&(!(=(i4710[11], 0)), >(+(i4085[11], 1), 0)), <(+(i4085[11], 1), i2[11])), >(i4085[11], 0)), <(i4085[11], i2[11])), >(i4089[11], 0)), >(+(+(i4085[11], 1), 1), 0)), java.lang.Object(ARRAY(i2[11], a87173data[11])), i4085[11], i4089[11], java.lang.Object(java.lang.String(i4710[11])))), ≥)∧0 = 0∧[(-1)Bound*bni_65] + [bni_65]i4089[11] + [(-1)bni_65]i4085[11] + [bni_65]i2[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] + i4085[11] ≥ 0∧i4089[11] + [-1] ≥ 0∧i2[11] + [-2] + [-1]i4085[11] ≥ 0∧i4085[11] ≥ 0∧i2[11] + [-3] + [-1]i4085[11] ≥ 0∧[1] + i4085[11] ≥ 0∧[-1] + [-1]i4710[11] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR3(&&(&&(&&(&&(&&(&&(!(=(i4710[11], 0)), >(+(i4085[11], 1), 0)), <(+(i4085[11], 1), i2[11])), >(i4085[11], 0)), <(i4085[11], i2[11])), >(i4089[11], 0)), >(+(+(i4085[11], 1), 1), 0)), java.lang.Object(ARRAY(i2[11], a87173data[11])), i4085[11], i4089[11], java.lang.Object(java.lang.String(i4710[11])))), ≥)∧0 = 0∧[(-1)Bound*bni_65 + (-1)bni_65] + [bni_65]i4089[11] + [(-1)bni_65]i4085[11] + [bni_65]i2[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] + i4085[11] ≥ 0∧i4089[11] ≥ 0∧i2[11] + [-2] + [-1]i4085[11] ≥ 0∧i4085[11] ≥ 0∧i2[11] + [-3] + [-1]i4085[11] ≥ 0∧[1] + i4085[11] ≥ 0∧[-1] + [-1]i4710[11] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR3(&&(&&(&&(&&(&&(&&(!(=(i4710[11], 0)), >(+(i4085[11], 1), 0)), <(+(i4085[11], 1), i2[11])), >(i4085[11], 0)), <(i4085[11], i2[11])), >(i4089[11], 0)), >(+(+(i4085[11], 1), 1), 0)), java.lang.Object(ARRAY(i2[11], a87173data[11])), i4085[11], i4089[11], java.lang.Object(java.lang.String(i4710[11])))), ≥)∧0 = 0∧[(-1)Bound*bni_65] + [bni_65]i4089[11] + [(-1)bni_65]i4085[11] + [bni_65]i2[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] + i4085[11] ≥ 0∧i4089[11] ≥ 0∧i2[11] ≥ 0∧i4085[11] ≥ 0∧[-1] + i2[11] ≥ 0∧[1] + i4085[11] ≥ 0∧[-1] + [-1]i4710[11] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR3(&&(&&(&&(&&(&&(&&(!(=(i4710[11], 0)), >(+(i4085[11], 1), 0)), <(+(i4085[11], 1), i2[11])), >(i4085[11], 0)), <(i4085[11], i2[11])), >(i4089[11], 0)), >(+(+(i4085[11], 1), 1), 0)), java.lang.Object(ARRAY(i2[11], a87173data[11])), i4085[11], i4089[11], java.lang.Object(java.lang.String(i4710[11])))), ≥)∧0 = 0∧[(-1)Bound*bni_65 + (2)bni_65] + [bni_65]i4089[11] + [bni_65]i2[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] + i4085[11] ≥ 0∧i4089[11] ≥ 0∧[1] + i2[11] ≥ 0∧i4085[11] ≥ 0∧i2[11] ≥ 0∧[1] + i4085[11] ≥ 0∧[-1] + [-1]i4710[11] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR3(&&(&&(&&(&&(&&(&&(!(=(i4710[11], 0)), >(+(i4085[11], 1), 0)), <(+(i4085[11], 1), i2[11])), >(i4085[11], 0)), <(i4085[11], i2[11])), >(i4089[11], 0)), >(+(+(i4085[11], 1), 1), 0)), java.lang.Object(ARRAY(i2[11], a87173data[11])), i4085[11], i4089[11], java.lang.Object(java.lang.String(i4710[11])))), ≥)∧0 = 0∧[(-1)Bound*bni_65 + (3)bni_65] + [bni_65]i4089[11] + [bni_65]i2[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] + i4085[11] ≥ 0∧i4089[11] ≥ 0∧[1] + i2[11] ≥ 0∧i4085[11] ≥ 0∧i2[11] ≥ 0∧[1] + i4085[11] ≥ 0∧i4710[11] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR3(&&(&&(&&(&&(&&(&&(!(=(i4710[11], 0)), >(+(i4085[11], 1), 0)), <(+(i4085[11], 1), i2[11])), >(i4085[11], 0)), <(i4085[11], i2[11])), >(i4089[11], 0)), >(+(+(i4085[11], 1), 1), 0)), java.lang.Object(ARRAY(i2[11], a87173data[11])), i4085[11], i4089[11], java.lang.Object(java.lang.String(i4710[11])))), ≥)∧0 = 0∧[(-1)Bound*bni_65 + (3)bni_65] + [bni_65]i4089[11] + [bni_65]i2[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] + i4085[11] ≥ 0∧i4089[11] + [-1] ≥ 0∧i2[11] + [-2] + [-1]i4085[11] ≥ 0∧i4085[11] ≥ 0∧i2[11] + [-3] + [-1]i4085[11] ≥ 0∧[1] + i4085[11] ≥ 0∧i4710[11] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR3(&&(&&(&&(&&(&&(&&(!(=(i4710[11], 0)), >(+(i4085[11], 1), 0)), <(+(i4085[11], 1), i2[11])), >(i4085[11], 0)), <(i4085[11], i2[11])), >(i4089[11], 0)), >(+(+(i4085[11], 1), 1), 0)), java.lang.Object(ARRAY(i2[11], a87173data[11])), i4085[11], i4089[11], java.lang.Object(java.lang.String(i4710[11])))), ≥)∧0 = 0∧[(-1)Bound*bni_65 + (-1)bni_65] + [bni_65]i4089[11] + [(-1)bni_65]i4085[11] + [bni_65]i2[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] + i4085[11] ≥ 0∧i4089[11] ≥ 0∧i2[11] + [-2] + [-1]i4085[11] ≥ 0∧i4085[11] ≥ 0∧i2[11] + [-3] + [-1]i4085[11] ≥ 0∧[1] + i4085[11] ≥ 0∧i4710[11] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR3(&&(&&(&&(&&(&&(&&(!(=(i4710[11], 0)), >(+(i4085[11], 1), 0)), <(+(i4085[11], 1), i2[11])), >(i4085[11], 0)), <(i4085[11], i2[11])), >(i4089[11], 0)), >(+(+(i4085[11], 1), 1), 0)), java.lang.Object(ARRAY(i2[11], a87173data[11])), i4085[11], i4089[11], java.lang.Object(java.lang.String(i4710[11])))), ≥)∧0 = 0∧[(-1)Bound*bni_65] + [bni_65]i4089[11] + [(-1)bni_65]i4085[11] + [bni_65]i2[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] + i4085[11] ≥ 0∧i4089[11] ≥ 0∧i2[11] ≥ 0∧i4085[11] ≥ 0∧[-1] + i2[11] ≥ 0∧[1] + i4085[11] ≥ 0∧i4710[11] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR3(&&(&&(&&(&&(&&(&&(!(=(i4710[11], 0)), >(+(i4085[11], 1), 0)), <(+(i4085[11], 1), i2[11])), >(i4085[11], 0)), <(i4085[11], i2[11])), >(i4089[11], 0)), >(+(+(i4085[11], 1), 1), 0)), java.lang.Object(ARRAY(i2[11], a87173data[11])), i4085[11], i4089[11], java.lang.Object(java.lang.String(i4710[11])))), ≥)∧0 = 0∧[(-1)Bound*bni_65 + (2)bni_65] + [bni_65]i4089[11] + [bni_65]i2[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] + i4085[11] ≥ 0∧i4089[11] ≥ 0∧[1] + i2[11] ≥ 0∧i4085[11] ≥ 0∧i2[11] ≥ 0∧[1] + i4085[11] ≥ 0∧i4710[11] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR3(&&(&&(&&(&&(&&(&&(!(=(i4710[11], 0)), >(+(i4085[11], 1), 0)), <(+(i4085[11], 1), i2[11])), >(i4085[11], 0)), <(i4085[11], i2[11])), >(i4089[11], 0)), >(+(+(i4085[11], 1), 1), 0)), java.lang.Object(ARRAY(i2[11], a87173data[11])), i4085[11], i4089[11], java.lang.Object(java.lang.String(i4710[11])))), ≥)∧0 = 0∧[(-1)Bound*bni_65 + (3)bni_65] + [bni_65]i4089[11] + [bni_65]i2[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] + i4085[11] ≥ 0∧i4089[11] ≥ 0∧[1] + i2[11] ≥ 0∧i4085[11] ≥ 0∧i2[11] ≥ 0∧[1] + i4085[11] ≥ 0∧i4710[11] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR3(&&(&&(&&(&&(&&(&&(!(=(i4710[11], 0)), >(+(i4085[11], 1), 0)), <(+(i4085[11], 1), i2[11])), >(i4085[11], 0)), <(i4085[11], i2[11])), >(i4089[11], 0)), >(+(+(i4085[11], 1), 1), 0)), java.lang.Object(ARRAY(i2[11], a87173data[11])), i4085[11], i4089[11], java.lang.Object(java.lang.String(i4710[11])))), ≥)∧0 = 0∧[(-1)Bound*bni_65 + (3)bni_65] + [bni_65]i4089[11] + [bni_65]i2[11] ≥ 0∧0 = 0∧[(-1)bso_66] ≥ 0)







For Pair COND_LOAD35385ARR3(TRUE, java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i4710))) → INC35531(java.lang.Object(ARRAY(i2, a87173data)), +(+(i4085, 1), 1), i4089) the following chains were created:
  • We consider the chain COND_LOAD35385ARR3(TRUE, java.lang.Object(ARRAY(i2[12], a87173data[12])), i4085[12], i4089[12], java.lang.Object(java.lang.String(i4710[12]))) → INC35531(java.lang.Object(ARRAY(i2[12], a87173data[12])), +(+(i4085[12], 1), 1), i4089[12]) which results in the following constraint:

    (92)    (COND_LOAD35385ARR3(TRUE, java.lang.Object(ARRAY(i2[12], a87173data[12])), i4085[12], i4089[12], java.lang.Object(java.lang.String(i4710[12])))≥NonInfC∧COND_LOAD35385ARR3(TRUE, java.lang.Object(ARRAY(i2[12], a87173data[12])), i4085[12], i4089[12], java.lang.Object(java.lang.String(i4710[12])))≥INC35531(java.lang.Object(ARRAY(i2[12], a87173data[12])), +(+(i4085[12], 1), 1), i4089[12])∧(UIncreasing(INC35531(java.lang.Object(ARRAY(i2[12], a87173data[12])), +(+(i4085[12], 1), 1), i4089[12])), ≥))



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

    (93)    ((UIncreasing(INC35531(java.lang.Object(ARRAY(i2[12], a87173data[12])), +(+(i4085[12], 1), 1), i4089[12])), ≥)∧[2 + (-1)bso_68] ≥ 0)



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

    (94)    ((UIncreasing(INC35531(java.lang.Object(ARRAY(i2[12], a87173data[12])), +(+(i4085[12], 1), 1), i4089[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(INC35531(java.lang.Object(ARRAY(i2[12], a87173data[12])), +(+(i4085[12], 1), 1), i4089[12])), ≥)∧[2 + (-1)bso_68] ≥ 0)



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

    (96)    ((UIncreasing(INC35531(java.lang.Object(ARRAY(i2[12], a87173data[12])), +(+(i4085[12], 1), 1), i4089[12])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[2 + (-1)bso_68] ≥ 0)







For Pair NEW39442(java.lang.Object(ARRAY(i2, a87173data)), i4651, i4089) → INC35531(java.lang.Object(ARRAY(i2, a87173data)), i4651, i4089) the following chains were created:
  • We consider the chain NEW39442(java.lang.Object(ARRAY(i2[13], a87173data[13])), i4651[13], i4089[13]) → INC35531(java.lang.Object(ARRAY(i2[13], a87173data[13])), i4651[13], i4089[13]), INC35531(java.lang.Object(ARRAY(i2[3], a87173data[3])), i4085[3], i4089[3]) → LOAD35385(java.lang.Object(ARRAY(i2[3], a87173data[3])), i4085[3], +(i4089[3], -1)) which results in the following constraint:

    (97)    (i4651[13]=i4085[3]i4089[13]=i4089[3]i2[13]=i2[3]a87173data[13]=a87173data[3]NEW39442(java.lang.Object(ARRAY(i2[13], a87173data[13])), i4651[13], i4089[13])≥NonInfC∧NEW39442(java.lang.Object(ARRAY(i2[13], a87173data[13])), i4651[13], i4089[13])≥INC35531(java.lang.Object(ARRAY(i2[13], a87173data[13])), i4651[13], i4089[13])∧(UIncreasing(INC35531(java.lang.Object(ARRAY(i2[13], a87173data[13])), i4651[13], i4089[13])), ≥))



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

    (98)    (NEW39442(java.lang.Object(ARRAY(i2[13], a87173data[13])), i4651[13], i4089[13])≥NonInfC∧NEW39442(java.lang.Object(ARRAY(i2[13], a87173data[13])), i4651[13], i4089[13])≥INC35531(java.lang.Object(ARRAY(i2[13], a87173data[13])), i4651[13], i4089[13])∧(UIncreasing(INC35531(java.lang.Object(ARRAY(i2[13], a87173data[13])), i4651[13], i4089[13])), ≥))



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

    (99)    ((UIncreasing(INC35531(java.lang.Object(ARRAY(i2[13], a87173data[13])), i4651[13], i4089[13])), ≥)∧[(-1)bso_70] ≥ 0)



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

    (100)    ((UIncreasing(INC35531(java.lang.Object(ARRAY(i2[13], a87173data[13])), i4651[13], i4089[13])), ≥)∧[(-1)bso_70] ≥ 0)



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

    (101)    ((UIncreasing(INC35531(java.lang.Object(ARRAY(i2[13], a87173data[13])), i4651[13], i4089[13])), ≥)∧[(-1)bso_70] ≥ 0)



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

    (102)    ((UIncreasing(INC35531(java.lang.Object(ARRAY(i2[13], a87173data[13])), i4651[13], i4089[13])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_70] ≥ 0)







For Pair LOAD35385(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089) → LOAD35385ARR4(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i4231))) the following chains were created:
  • We consider the chain LOAD35385(java.lang.Object(ARRAY(i2[14], a87173data[14])), i4085[14], i4089[14]) → LOAD35385ARR4(java.lang.Object(ARRAY(i2[14], a87173data[14])), i4085[14], i4089[14], java.lang.Object(java.lang.String(i4231[14]))) which results in the following constraint:

    (103)    (LOAD35385(java.lang.Object(ARRAY(i2[14], a87173data[14])), i4085[14], i4089[14])≥NonInfC∧LOAD35385(java.lang.Object(ARRAY(i2[14], a87173data[14])), i4085[14], i4089[14])≥LOAD35385ARR4(java.lang.Object(ARRAY(i2[14], a87173data[14])), i4085[14], i4089[14], java.lang.Object(java.lang.String(i4231[14])))∧(UIncreasing(LOAD35385ARR4(java.lang.Object(ARRAY(i2[14], a87173data[14])), i4085[14], i4089[14], java.lang.Object(java.lang.String(i4231[14])))), ≥))



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

    (104)    ((UIncreasing(LOAD35385ARR4(java.lang.Object(ARRAY(i2[14], a87173data[14])), i4085[14], i4089[14], java.lang.Object(java.lang.String(i4231[14])))), ≥)∧[(-1)bso_72] ≥ 0)



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

    (105)    ((UIncreasing(LOAD35385ARR4(java.lang.Object(ARRAY(i2[14], a87173data[14])), i4085[14], i4089[14], java.lang.Object(java.lang.String(i4231[14])))), ≥)∧[(-1)bso_72] ≥ 0)



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

    (106)    ((UIncreasing(LOAD35385ARR4(java.lang.Object(ARRAY(i2[14], a87173data[14])), i4085[14], i4089[14], java.lang.Object(java.lang.String(i4231[14])))), ≥)∧[(-1)bso_72] ≥ 0)



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

    (107)    ((UIncreasing(LOAD35385ARR4(java.lang.Object(ARRAY(i2[14], a87173data[14])), i4085[14], i4089[14], java.lang.Object(java.lang.String(i4231[14])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_72] ≥ 0)







For Pair LOAD35385ARR4(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i4231))) → COND_LOAD35385ARR4(&&(&&(&&(&&(&&(&&(>(+(i4085, 1), 0), <(+(i4085, 1), i2)), !(=(i4231, 0))), >(i4085, 0)), <(i4085, i2)), >(i4089, 0)), >(+(+(i4085, 1), 1), 0)), java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i4231))) the following chains were created:
  • We consider the chain LOAD35385ARR4(java.lang.Object(ARRAY(i2[15], a87173data[15])), i4085[15], i4089[15], java.lang.Object(java.lang.String(i4231[15]))) → COND_LOAD35385ARR4(&&(&&(&&(&&(&&(&&(>(+(i4085[15], 1), 0), <(+(i4085[15], 1), i2[15])), !(=(i4231[15], 0))), >(i4085[15], 0)), <(i4085[15], i2[15])), >(i4089[15], 0)), >(+(+(i4085[15], 1), 1), 0)), java.lang.Object(ARRAY(i2[15], a87173data[15])), i4085[15], i4089[15], java.lang.Object(java.lang.String(i4231[15]))), COND_LOAD35385ARR4(TRUE, java.lang.Object(ARRAY(i2[16], a87173data[16])), i4085[16], i4089[16], java.lang.Object(java.lang.String(i4231[16]))) → INC35531(java.lang.Object(ARRAY(i2[16], a87173data[16])), +(+(i4085[16], 1), 1), i4089[16]) which results in the following constraint:

    (108)    (i2[15]=i2[16]a87173data[15]=a87173data[16]i4231[15]=i4231[16]i4089[15]=i4089[16]i4085[15]=i4085[16]&&(&&(&&(&&(&&(&&(>(+(i4085[15], 1), 0), <(+(i4085[15], 1), i2[15])), !(=(i4231[15], 0))), >(i4085[15], 0)), <(i4085[15], i2[15])), >(i4089[15], 0)), >(+(+(i4085[15], 1), 1), 0))=TRUELOAD35385ARR4(java.lang.Object(ARRAY(i2[15], a87173data[15])), i4085[15], i4089[15], java.lang.Object(java.lang.String(i4231[15])))≥NonInfC∧LOAD35385ARR4(java.lang.Object(ARRAY(i2[15], a87173data[15])), i4085[15], i4089[15], java.lang.Object(java.lang.String(i4231[15])))≥COND_LOAD35385ARR4(&&(&&(&&(&&(&&(&&(>(+(i4085[15], 1), 0), <(+(i4085[15], 1), i2[15])), !(=(i4231[15], 0))), >(i4085[15], 0)), <(i4085[15], i2[15])), >(i4089[15], 0)), >(+(+(i4085[15], 1), 1), 0)), java.lang.Object(ARRAY(i2[15], a87173data[15])), i4085[15], i4089[15], java.lang.Object(java.lang.String(i4231[15])))∧(UIncreasing(COND_LOAD35385ARR4(&&(&&(&&(&&(&&(&&(>(+(i4085[15], 1), 0), <(+(i4085[15], 1), i2[15])), !(=(i4231[15], 0))), >(i4085[15], 0)), <(i4085[15], i2[15])), >(i4089[15], 0)), >(+(+(i4085[15], 1), 1), 0)), java.lang.Object(ARRAY(i2[15], a87173data[15])), i4085[15], i4089[15], java.lang.Object(java.lang.String(i4231[15])))), ≥))



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

    (109)    (>(+(+(i4085[15], 1), 1), 0)=TRUE>(i4089[15], 0)=TRUE<(i4085[15], i2[15])=TRUE>(i4085[15], 0)=TRUE>(+(i4085[15], 1), 0)=TRUE<(+(i4085[15], 1), i2[15])=TRUE<(i4231[15], 0)=TRUELOAD35385ARR4(java.lang.Object(ARRAY(i2[15], a87173data[15])), i4085[15], i4089[15], java.lang.Object(java.lang.String(i4231[15])))≥NonInfC∧LOAD35385ARR4(java.lang.Object(ARRAY(i2[15], a87173data[15])), i4085[15], i4089[15], java.lang.Object(java.lang.String(i4231[15])))≥COND_LOAD35385ARR4(&&(&&(&&(&&(&&(&&(>(+(i4085[15], 1), 0), <(+(i4085[15], 1), i2[15])), !(=(i4231[15], 0))), >(i4085[15], 0)), <(i4085[15], i2[15])), >(i4089[15], 0)), >(+(+(i4085[15], 1), 1), 0)), java.lang.Object(ARRAY(i2[15], a87173data[15])), i4085[15], i4089[15], java.lang.Object(java.lang.String(i4231[15])))∧(UIncreasing(COND_LOAD35385ARR4(&&(&&(&&(&&(&&(&&(>(+(i4085[15], 1), 0), <(+(i4085[15], 1), i2[15])), !(=(i4231[15], 0))), >(i4085[15], 0)), <(i4085[15], i2[15])), >(i4089[15], 0)), >(+(+(i4085[15], 1), 1), 0)), java.lang.Object(ARRAY(i2[15], a87173data[15])), i4085[15], i4089[15], java.lang.Object(java.lang.String(i4231[15])))), ≥))


    (110)    (>(+(+(i4085[15], 1), 1), 0)=TRUE>(i4089[15], 0)=TRUE<(i4085[15], i2[15])=TRUE>(i4085[15], 0)=TRUE>(+(i4085[15], 1), 0)=TRUE<(+(i4085[15], 1), i2[15])=TRUE>(i4231[15], 0)=TRUELOAD35385ARR4(java.lang.Object(ARRAY(i2[15], a87173data[15])), i4085[15], i4089[15], java.lang.Object(java.lang.String(i4231[15])))≥NonInfC∧LOAD35385ARR4(java.lang.Object(ARRAY(i2[15], a87173data[15])), i4085[15], i4089[15], java.lang.Object(java.lang.String(i4231[15])))≥COND_LOAD35385ARR4(&&(&&(&&(&&(&&(&&(>(+(i4085[15], 1), 0), <(+(i4085[15], 1), i2[15])), !(=(i4231[15], 0))), >(i4085[15], 0)), <(i4085[15], i2[15])), >(i4089[15], 0)), >(+(+(i4085[15], 1), 1), 0)), java.lang.Object(ARRAY(i2[15], a87173data[15])), i4085[15], i4089[15], java.lang.Object(java.lang.String(i4231[15])))∧(UIncreasing(COND_LOAD35385ARR4(&&(&&(&&(&&(&&(&&(>(+(i4085[15], 1), 0), <(+(i4085[15], 1), i2[15])), !(=(i4231[15], 0))), >(i4085[15], 0)), <(i4085[15], i2[15])), >(i4089[15], 0)), >(+(+(i4085[15], 1), 1), 0)), java.lang.Object(ARRAY(i2[15], a87173data[15])), i4085[15], i4089[15], java.lang.Object(java.lang.String(i4231[15])))), ≥))



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

    (111)    (i4085[15] + [1] ≥ 0∧i4089[15] + [-1] ≥ 0∧i2[15] + [-1] + [-1]i4085[15] ≥ 0∧i4085[15] + [-1] ≥ 0∧i4085[15] ≥ 0∧i2[15] + [-2] + [-1]i4085[15] ≥ 0∧[-1] + [-1]i4231[15] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR4(&&(&&(&&(&&(&&(&&(>(+(i4085[15], 1), 0), <(+(i4085[15], 1), i2[15])), !(=(i4231[15], 0))), >(i4085[15], 0)), <(i4085[15], i2[15])), >(i4089[15], 0)), >(+(+(i4085[15], 1), 1), 0)), java.lang.Object(ARRAY(i2[15], a87173data[15])), i4085[15], i4089[15], java.lang.Object(java.lang.String(i4231[15])))), ≥)∧[(-1)Bound*bni_73] + [bni_73]i4089[15] + [(-1)bni_73]i4085[15] + [bni_73]i2[15] ≥ 0∧[(-1)bso_74] ≥ 0)



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

    (112)    (i4085[15] + [1] ≥ 0∧i4089[15] + [-1] ≥ 0∧i2[15] + [-1] + [-1]i4085[15] ≥ 0∧i4085[15] + [-1] ≥ 0∧i4085[15] ≥ 0∧i2[15] + [-2] + [-1]i4085[15] ≥ 0∧i4231[15] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR4(&&(&&(&&(&&(&&(&&(>(+(i4085[15], 1), 0), <(+(i4085[15], 1), i2[15])), !(=(i4231[15], 0))), >(i4085[15], 0)), <(i4085[15], i2[15])), >(i4089[15], 0)), >(+(+(i4085[15], 1), 1), 0)), java.lang.Object(ARRAY(i2[15], a87173data[15])), i4085[15], i4089[15], java.lang.Object(java.lang.String(i4231[15])))), ≥)∧[(-1)Bound*bni_73] + [bni_73]i4089[15] + [(-1)bni_73]i4085[15] + [bni_73]i2[15] ≥ 0∧[(-1)bso_74] ≥ 0)



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

    (113)    (i4085[15] + [1] ≥ 0∧i4089[15] + [-1] ≥ 0∧i2[15] + [-1] + [-1]i4085[15] ≥ 0∧i4085[15] + [-1] ≥ 0∧i4085[15] ≥ 0∧i2[15] + [-2] + [-1]i4085[15] ≥ 0∧[-1] + [-1]i4231[15] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR4(&&(&&(&&(&&(&&(&&(>(+(i4085[15], 1), 0), <(+(i4085[15], 1), i2[15])), !(=(i4231[15], 0))), >(i4085[15], 0)), <(i4085[15], i2[15])), >(i4089[15], 0)), >(+(+(i4085[15], 1), 1), 0)), java.lang.Object(ARRAY(i2[15], a87173data[15])), i4085[15], i4089[15], java.lang.Object(java.lang.String(i4231[15])))), ≥)∧[(-1)Bound*bni_73] + [bni_73]i4089[15] + [(-1)bni_73]i4085[15] + [bni_73]i2[15] ≥ 0∧[(-1)bso_74] ≥ 0)



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

    (114)    (i4085[15] + [1] ≥ 0∧i4089[15] + [-1] ≥ 0∧i2[15] + [-1] + [-1]i4085[15] ≥ 0∧i4085[15] + [-1] ≥ 0∧i4085[15] ≥ 0∧i2[15] + [-2] + [-1]i4085[15] ≥ 0∧i4231[15] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR4(&&(&&(&&(&&(&&(&&(>(+(i4085[15], 1), 0), <(+(i4085[15], 1), i2[15])), !(=(i4231[15], 0))), >(i4085[15], 0)), <(i4085[15], i2[15])), >(i4089[15], 0)), >(+(+(i4085[15], 1), 1), 0)), java.lang.Object(ARRAY(i2[15], a87173data[15])), i4085[15], i4089[15], java.lang.Object(java.lang.String(i4231[15])))), ≥)∧[(-1)Bound*bni_73] + [bni_73]i4089[15] + [(-1)bni_73]i4085[15] + [bni_73]i2[15] ≥ 0∧[(-1)bso_74] ≥ 0)



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

    (115)    (i4085[15] + [1] ≥ 0∧i4089[15] + [-1] ≥ 0∧i2[15] + [-1] + [-1]i4085[15] ≥ 0∧i4085[15] + [-1] ≥ 0∧i4085[15] ≥ 0∧i2[15] + [-2] + [-1]i4085[15] ≥ 0∧[-1] + [-1]i4231[15] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR4(&&(&&(&&(&&(&&(&&(>(+(i4085[15], 1), 0), <(+(i4085[15], 1), i2[15])), !(=(i4231[15], 0))), >(i4085[15], 0)), <(i4085[15], i2[15])), >(i4089[15], 0)), >(+(+(i4085[15], 1), 1), 0)), java.lang.Object(ARRAY(i2[15], a87173data[15])), i4085[15], i4089[15], java.lang.Object(java.lang.String(i4231[15])))), ≥)∧[(-1)Bound*bni_73] + [bni_73]i4089[15] + [(-1)bni_73]i4085[15] + [bni_73]i2[15] ≥ 0∧[(-1)bso_74] ≥ 0)



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

    (116)    (i4085[15] + [1] ≥ 0∧i4089[15] + [-1] ≥ 0∧i2[15] + [-1] + [-1]i4085[15] ≥ 0∧i4085[15] + [-1] ≥ 0∧i4085[15] ≥ 0∧i2[15] + [-2] + [-1]i4085[15] ≥ 0∧i4231[15] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR4(&&(&&(&&(&&(&&(&&(>(+(i4085[15], 1), 0), <(+(i4085[15], 1), i2[15])), !(=(i4231[15], 0))), >(i4085[15], 0)), <(i4085[15], i2[15])), >(i4089[15], 0)), >(+(+(i4085[15], 1), 1), 0)), java.lang.Object(ARRAY(i2[15], a87173data[15])), i4085[15], i4089[15], java.lang.Object(java.lang.String(i4231[15])))), ≥)∧[(-1)Bound*bni_73] + [bni_73]i4089[15] + [(-1)bni_73]i4085[15] + [bni_73]i2[15] ≥ 0∧[(-1)bso_74] ≥ 0)



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

    (117)    (i4085[15] + [1] ≥ 0∧i4089[15] + [-1] ≥ 0∧i2[15] + [-1] + [-1]i4085[15] ≥ 0∧i4085[15] + [-1] ≥ 0∧i4085[15] ≥ 0∧i2[15] + [-2] + [-1]i4085[15] ≥ 0∧[-1] + [-1]i4231[15] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR4(&&(&&(&&(&&(&&(&&(>(+(i4085[15], 1), 0), <(+(i4085[15], 1), i2[15])), !(=(i4231[15], 0))), >(i4085[15], 0)), <(i4085[15], i2[15])), >(i4089[15], 0)), >(+(+(i4085[15], 1), 1), 0)), java.lang.Object(ARRAY(i2[15], a87173data[15])), i4085[15], i4089[15], java.lang.Object(java.lang.String(i4231[15])))), ≥)∧0 = 0∧[(-1)Bound*bni_73] + [bni_73]i4089[15] + [(-1)bni_73]i4085[15] + [bni_73]i2[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)    (i4085[15] + [1] ≥ 0∧i4089[15] + [-1] ≥ 0∧i2[15] + [-1] + [-1]i4085[15] ≥ 0∧i4085[15] + [-1] ≥ 0∧i4085[15] ≥ 0∧i2[15] + [-2] + [-1]i4085[15] ≥ 0∧i4231[15] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR4(&&(&&(&&(&&(&&(&&(>(+(i4085[15], 1), 0), <(+(i4085[15], 1), i2[15])), !(=(i4231[15], 0))), >(i4085[15], 0)), <(i4085[15], i2[15])), >(i4089[15], 0)), >(+(+(i4085[15], 1), 1), 0)), java.lang.Object(ARRAY(i2[15], a87173data[15])), i4085[15], i4089[15], java.lang.Object(java.lang.String(i4231[15])))), ≥)∧0 = 0∧[(-1)Bound*bni_73] + [bni_73]i4089[15] + [(-1)bni_73]i4085[15] + [bni_73]i2[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] + i4085[15] ≥ 0∧i4089[15] + [-1] ≥ 0∧i2[15] + [-2] + [-1]i4085[15] ≥ 0∧i4085[15] ≥ 0∧[1] + i4085[15] ≥ 0∧i2[15] + [-3] + [-1]i4085[15] ≥ 0∧[-1] + [-1]i4231[15] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR4(&&(&&(&&(&&(&&(&&(>(+(i4085[15], 1), 0), <(+(i4085[15], 1), i2[15])), !(=(i4231[15], 0))), >(i4085[15], 0)), <(i4085[15], i2[15])), >(i4089[15], 0)), >(+(+(i4085[15], 1), 1), 0)), java.lang.Object(ARRAY(i2[15], a87173data[15])), i4085[15], i4089[15], java.lang.Object(java.lang.String(i4231[15])))), ≥)∧0 = 0∧[(-1)Bound*bni_73 + (-1)bni_73] + [bni_73]i4089[15] + [(-1)bni_73]i4085[15] + [bni_73]i2[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] + i4085[15] ≥ 0∧i4089[15] ≥ 0∧i2[15] + [-2] + [-1]i4085[15] ≥ 0∧i4085[15] ≥ 0∧[1] + i4085[15] ≥ 0∧i2[15] + [-3] + [-1]i4085[15] ≥ 0∧[-1] + [-1]i4231[15] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR4(&&(&&(&&(&&(&&(&&(>(+(i4085[15], 1), 0), <(+(i4085[15], 1), i2[15])), !(=(i4231[15], 0))), >(i4085[15], 0)), <(i4085[15], i2[15])), >(i4089[15], 0)), >(+(+(i4085[15], 1), 1), 0)), java.lang.Object(ARRAY(i2[15], a87173data[15])), i4085[15], i4089[15], java.lang.Object(java.lang.String(i4231[15])))), ≥)∧0 = 0∧[(-1)Bound*bni_73] + [bni_73]i4089[15] + [(-1)bni_73]i4085[15] + [bni_73]i2[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] + i4085[15] ≥ 0∧i4089[15] ≥ 0∧i2[15] ≥ 0∧i4085[15] ≥ 0∧[1] + i4085[15] ≥ 0∧[-1] + i2[15] ≥ 0∧[-1] + [-1]i4231[15] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR4(&&(&&(&&(&&(&&(&&(>(+(i4085[15], 1), 0), <(+(i4085[15], 1), i2[15])), !(=(i4231[15], 0))), >(i4085[15], 0)), <(i4085[15], i2[15])), >(i4089[15], 0)), >(+(+(i4085[15], 1), 1), 0)), java.lang.Object(ARRAY(i2[15], a87173data[15])), i4085[15], i4089[15], java.lang.Object(java.lang.String(i4231[15])))), ≥)∧0 = 0∧[(-1)Bound*bni_73 + (2)bni_73] + [bni_73]i4089[15] + [bni_73]i2[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] + i4085[15] ≥ 0∧i4089[15] ≥ 0∧[1] + i2[15] ≥ 0∧i4085[15] ≥ 0∧[1] + i4085[15] ≥ 0∧i2[15] ≥ 0∧[-1] + [-1]i4231[15] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR4(&&(&&(&&(&&(&&(&&(>(+(i4085[15], 1), 0), <(+(i4085[15], 1), i2[15])), !(=(i4231[15], 0))), >(i4085[15], 0)), <(i4085[15], i2[15])), >(i4089[15], 0)), >(+(+(i4085[15], 1), 1), 0)), java.lang.Object(ARRAY(i2[15], a87173data[15])), i4085[15], i4089[15], java.lang.Object(java.lang.String(i4231[15])))), ≥)∧0 = 0∧[(-1)Bound*bni_73 + (3)bni_73] + [bni_73]i4089[15] + [bni_73]i2[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] + i4085[15] ≥ 0∧i4089[15] ≥ 0∧[1] + i2[15] ≥ 0∧i4085[15] ≥ 0∧[1] + i4085[15] ≥ 0∧i2[15] ≥ 0∧i4231[15] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR4(&&(&&(&&(&&(&&(&&(>(+(i4085[15], 1), 0), <(+(i4085[15], 1), i2[15])), !(=(i4231[15], 0))), >(i4085[15], 0)), <(i4085[15], i2[15])), >(i4089[15], 0)), >(+(+(i4085[15], 1), 1), 0)), java.lang.Object(ARRAY(i2[15], a87173data[15])), i4085[15], i4089[15], java.lang.Object(java.lang.String(i4231[15])))), ≥)∧0 = 0∧[(-1)Bound*bni_73 + (3)bni_73] + [bni_73]i4089[15] + [bni_73]i2[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] + i4085[15] ≥ 0∧i4089[15] + [-1] ≥ 0∧i2[15] + [-2] + [-1]i4085[15] ≥ 0∧i4085[15] ≥ 0∧[1] + i4085[15] ≥ 0∧i2[15] + [-3] + [-1]i4085[15] ≥ 0∧i4231[15] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR4(&&(&&(&&(&&(&&(&&(>(+(i4085[15], 1), 0), <(+(i4085[15], 1), i2[15])), !(=(i4231[15], 0))), >(i4085[15], 0)), <(i4085[15], i2[15])), >(i4089[15], 0)), >(+(+(i4085[15], 1), 1), 0)), java.lang.Object(ARRAY(i2[15], a87173data[15])), i4085[15], i4089[15], java.lang.Object(java.lang.String(i4231[15])))), ≥)∧0 = 0∧[(-1)Bound*bni_73 + (-1)bni_73] + [bni_73]i4089[15] + [(-1)bni_73]i4085[15] + [bni_73]i2[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] + i4085[15] ≥ 0∧i4089[15] ≥ 0∧i2[15] + [-2] + [-1]i4085[15] ≥ 0∧i4085[15] ≥ 0∧[1] + i4085[15] ≥ 0∧i2[15] + [-3] + [-1]i4085[15] ≥ 0∧i4231[15] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR4(&&(&&(&&(&&(&&(&&(>(+(i4085[15], 1), 0), <(+(i4085[15], 1), i2[15])), !(=(i4231[15], 0))), >(i4085[15], 0)), <(i4085[15], i2[15])), >(i4089[15], 0)), >(+(+(i4085[15], 1), 1), 0)), java.lang.Object(ARRAY(i2[15], a87173data[15])), i4085[15], i4089[15], java.lang.Object(java.lang.String(i4231[15])))), ≥)∧0 = 0∧[(-1)Bound*bni_73] + [bni_73]i4089[15] + [(-1)bni_73]i4085[15] + [bni_73]i2[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] + i4085[15] ≥ 0∧i4089[15] ≥ 0∧i2[15] ≥ 0∧i4085[15] ≥ 0∧[1] + i4085[15] ≥ 0∧[-1] + i2[15] ≥ 0∧i4231[15] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR4(&&(&&(&&(&&(&&(&&(>(+(i4085[15], 1), 0), <(+(i4085[15], 1), i2[15])), !(=(i4231[15], 0))), >(i4085[15], 0)), <(i4085[15], i2[15])), >(i4089[15], 0)), >(+(+(i4085[15], 1), 1), 0)), java.lang.Object(ARRAY(i2[15], a87173data[15])), i4085[15], i4089[15], java.lang.Object(java.lang.String(i4231[15])))), ≥)∧0 = 0∧[(-1)Bound*bni_73 + (2)bni_73] + [bni_73]i4089[15] + [bni_73]i2[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] + i4085[15] ≥ 0∧i4089[15] ≥ 0∧[1] + i2[15] ≥ 0∧i4085[15] ≥ 0∧[1] + i4085[15] ≥ 0∧i2[15] ≥ 0∧i4231[15] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR4(&&(&&(&&(&&(&&(&&(>(+(i4085[15], 1), 0), <(+(i4085[15], 1), i2[15])), !(=(i4231[15], 0))), >(i4085[15], 0)), <(i4085[15], i2[15])), >(i4089[15], 0)), >(+(+(i4085[15], 1), 1), 0)), java.lang.Object(ARRAY(i2[15], a87173data[15])), i4085[15], i4089[15], java.lang.Object(java.lang.String(i4231[15])))), ≥)∧0 = 0∧[(-1)Bound*bni_73 + (3)bni_73] + [bni_73]i4089[15] + [bni_73]i2[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] + i4085[15] ≥ 0∧i4089[15] ≥ 0∧[1] + i2[15] ≥ 0∧i4085[15] ≥ 0∧[1] + i4085[15] ≥ 0∧i2[15] ≥ 0∧i4231[15] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR4(&&(&&(&&(&&(&&(&&(>(+(i4085[15], 1), 0), <(+(i4085[15], 1), i2[15])), !(=(i4231[15], 0))), >(i4085[15], 0)), <(i4085[15], i2[15])), >(i4089[15], 0)), >(+(+(i4085[15], 1), 1), 0)), java.lang.Object(ARRAY(i2[15], a87173data[15])), i4085[15], i4089[15], java.lang.Object(java.lang.String(i4231[15])))), ≥)∧0 = 0∧[(-1)Bound*bni_73 + (3)bni_73] + [bni_73]i4089[15] + [bni_73]i2[15] ≥ 0∧0 = 0∧[(-1)bso_74] ≥ 0)







For Pair COND_LOAD35385ARR4(TRUE, java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i4231))) → INC35531(java.lang.Object(ARRAY(i2, a87173data)), +(+(i4085, 1), 1), i4089) the following chains were created:
  • We consider the chain COND_LOAD35385ARR4(TRUE, java.lang.Object(ARRAY(i2[16], a87173data[16])), i4085[16], i4089[16], java.lang.Object(java.lang.String(i4231[16]))) → INC35531(java.lang.Object(ARRAY(i2[16], a87173data[16])), +(+(i4085[16], 1), 1), i4089[16]) which results in the following constraint:

    (129)    (COND_LOAD35385ARR4(TRUE, java.lang.Object(ARRAY(i2[16], a87173data[16])), i4085[16], i4089[16], java.lang.Object(java.lang.String(i4231[16])))≥NonInfC∧COND_LOAD35385ARR4(TRUE, java.lang.Object(ARRAY(i2[16], a87173data[16])), i4085[16], i4089[16], java.lang.Object(java.lang.String(i4231[16])))≥INC35531(java.lang.Object(ARRAY(i2[16], a87173data[16])), +(+(i4085[16], 1), 1), i4089[16])∧(UIncreasing(INC35531(java.lang.Object(ARRAY(i2[16], a87173data[16])), +(+(i4085[16], 1), 1), i4089[16])), ≥))



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

    (130)    ((UIncreasing(INC35531(java.lang.Object(ARRAY(i2[16], a87173data[16])), +(+(i4085[16], 1), 1), i4089[16])), ≥)∧[2 + (-1)bso_76] ≥ 0)



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

    (131)    ((UIncreasing(INC35531(java.lang.Object(ARRAY(i2[16], a87173data[16])), +(+(i4085[16], 1), 1), i4089[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(INC35531(java.lang.Object(ARRAY(i2[16], a87173data[16])), +(+(i4085[16], 1), 1), i4089[16])), ≥)∧[2 + (-1)bso_76] ≥ 0)



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

    (133)    ((UIncreasing(INC35531(java.lang.Object(ARRAY(i2[16], a87173data[16])), +(+(i4085[16], 1), 1), i4089[16])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[2 + (-1)bso_76] ≥ 0)







For Pair LOAD35385(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089) → LOAD35385ARR5(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i5087)), java.lang.Object(java.lang.String(i4231))) the following chains were created:
  • We consider the chain LOAD35385(java.lang.Object(ARRAY(i2[17], a87173data[17])), i4085[17], i4089[17]) → LOAD35385ARR5(java.lang.Object(ARRAY(i2[17], a87173data[17])), i4085[17], i4089[17], java.lang.Object(java.lang.String(i5087[17])), java.lang.Object(java.lang.String(i4231[17]))) which results in the following constraint:

    (134)    (LOAD35385(java.lang.Object(ARRAY(i2[17], a87173data[17])), i4085[17], i4089[17])≥NonInfC∧LOAD35385(java.lang.Object(ARRAY(i2[17], a87173data[17])), i4085[17], i4089[17])≥LOAD35385ARR5(java.lang.Object(ARRAY(i2[17], a87173data[17])), i4085[17], i4089[17], java.lang.Object(java.lang.String(i5087[17])), java.lang.Object(java.lang.String(i4231[17])))∧(UIncreasing(LOAD35385ARR5(java.lang.Object(ARRAY(i2[17], a87173data[17])), i4085[17], i4089[17], java.lang.Object(java.lang.String(i5087[17])), java.lang.Object(java.lang.String(i4231[17])))), ≥))



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

    (135)    ((UIncreasing(LOAD35385ARR5(java.lang.Object(ARRAY(i2[17], a87173data[17])), i4085[17], i4089[17], java.lang.Object(java.lang.String(i5087[17])), java.lang.Object(java.lang.String(i4231[17])))), ≥)∧[(-1)bso_78] ≥ 0)



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

    (136)    ((UIncreasing(LOAD35385ARR5(java.lang.Object(ARRAY(i2[17], a87173data[17])), i4085[17], i4089[17], java.lang.Object(java.lang.String(i5087[17])), java.lang.Object(java.lang.String(i4231[17])))), ≥)∧[(-1)bso_78] ≥ 0)



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

    (137)    ((UIncreasing(LOAD35385ARR5(java.lang.Object(ARRAY(i2[17], a87173data[17])), i4085[17], i4089[17], java.lang.Object(java.lang.String(i5087[17])), java.lang.Object(java.lang.String(i4231[17])))), ≥)∧[(-1)bso_78] ≥ 0)



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

    (138)    ((UIncreasing(LOAD35385ARR5(java.lang.Object(ARRAY(i2[17], a87173data[17])), i4085[17], i4089[17], java.lang.Object(java.lang.String(i5087[17])), java.lang.Object(java.lang.String(i4231[17])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_78] ≥ 0)







For Pair LOAD35385ARR5(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i5087)), java.lang.Object(java.lang.String(i4231))) → COND_LOAD35385ARR5(&&(&&(&&(&&(&&(&&(&&(!(=(i5087, 0)), >(+(i4085, 1), 0)), <(+(i4085, 1), i2)), !(=(i4231, 0))), >(i4085, 0)), <(i4085, i2)), >(i4089, 0)), >(+(+(i4085, 1), 1), 0)), java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i5087)), java.lang.Object(java.lang.String(i4231))) the following chains were created:
  • We consider the chain LOAD35385ARR5(java.lang.Object(ARRAY(i2[18], a87173data[18])), i4085[18], i4089[18], java.lang.Object(java.lang.String(i5087[18])), java.lang.Object(java.lang.String(i4231[18]))) → COND_LOAD35385ARR5(&&(&&(&&(&&(&&(&&(&&(!(=(i5087[18], 0)), >(+(i4085[18], 1), 0)), <(+(i4085[18], 1), i2[18])), !(=(i4231[18], 0))), >(i4085[18], 0)), <(i4085[18], i2[18])), >(i4089[18], 0)), >(+(+(i4085[18], 1), 1), 0)), java.lang.Object(ARRAY(i2[18], a87173data[18])), i4085[18], i4089[18], java.lang.Object(java.lang.String(i5087[18])), java.lang.Object(java.lang.String(i4231[18]))), COND_LOAD35385ARR5(TRUE, java.lang.Object(ARRAY(i2[19], a87173data[19])), i4085[19], i4089[19], java.lang.Object(java.lang.String(i5087[19])), java.lang.Object(java.lang.String(i4231[19]))) → INC35531(java.lang.Object(ARRAY(i2[19], a87173data[19])), +(+(i4085[19], 1), 1), i4089[19]) which results in the following constraint:

    (139)    (i2[18]=i2[19]a87173data[18]=a87173data[19]&&(&&(&&(&&(&&(&&(&&(!(=(i5087[18], 0)), >(+(i4085[18], 1), 0)), <(+(i4085[18], 1), i2[18])), !(=(i4231[18], 0))), >(i4085[18], 0)), <(i4085[18], i2[18])), >(i4089[18], 0)), >(+(+(i4085[18], 1), 1), 0))=TRUEi5087[18]=i5087[19]i4089[18]=i4089[19]i4085[18]=i4085[19]i4231[18]=i4231[19]LOAD35385ARR5(java.lang.Object(ARRAY(i2[18], a87173data[18])), i4085[18], i4089[18], java.lang.Object(java.lang.String(i5087[18])), java.lang.Object(java.lang.String(i4231[18])))≥NonInfC∧LOAD35385ARR5(java.lang.Object(ARRAY(i2[18], a87173data[18])), i4085[18], i4089[18], java.lang.Object(java.lang.String(i5087[18])), java.lang.Object(java.lang.String(i4231[18])))≥COND_LOAD35385ARR5(&&(&&(&&(&&(&&(&&(&&(!(=(i5087[18], 0)), >(+(i4085[18], 1), 0)), <(+(i4085[18], 1), i2[18])), !(=(i4231[18], 0))), >(i4085[18], 0)), <(i4085[18], i2[18])), >(i4089[18], 0)), >(+(+(i4085[18], 1), 1), 0)), java.lang.Object(ARRAY(i2[18], a87173data[18])), i4085[18], i4089[18], java.lang.Object(java.lang.String(i5087[18])), java.lang.Object(java.lang.String(i4231[18])))∧(UIncreasing(COND_LOAD35385ARR5(&&(&&(&&(&&(&&(&&(&&(!(=(i5087[18], 0)), >(+(i4085[18], 1), 0)), <(+(i4085[18], 1), i2[18])), !(=(i4231[18], 0))), >(i4085[18], 0)), <(i4085[18], i2[18])), >(i4089[18], 0)), >(+(+(i4085[18], 1), 1), 0)), java.lang.Object(ARRAY(i2[18], a87173data[18])), i4085[18], i4089[18], java.lang.Object(java.lang.String(i5087[18])), java.lang.Object(java.lang.String(i4231[18])))), ≥))



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

    (140)    (>(+(+(i4085[18], 1), 1), 0)=TRUE>(i4089[18], 0)=TRUE<(i4085[18], i2[18])=TRUE>(i4085[18], 0)=TRUE<(+(i4085[18], 1), i2[18])=TRUE>(+(i4085[18], 1), 0)=TRUE<(i4231[18], 0)=TRUE<(i5087[18], 0)=TRUELOAD35385ARR5(java.lang.Object(ARRAY(i2[18], a87173data[18])), i4085[18], i4089[18], java.lang.Object(java.lang.String(i5087[18])), java.lang.Object(java.lang.String(i4231[18])))≥NonInfC∧LOAD35385ARR5(java.lang.Object(ARRAY(i2[18], a87173data[18])), i4085[18], i4089[18], java.lang.Object(java.lang.String(i5087[18])), java.lang.Object(java.lang.String(i4231[18])))≥COND_LOAD35385ARR5(&&(&&(&&(&&(&&(&&(&&(!(=(i5087[18], 0)), >(+(i4085[18], 1), 0)), <(+(i4085[18], 1), i2[18])), !(=(i4231[18], 0))), >(i4085[18], 0)), <(i4085[18], i2[18])), >(i4089[18], 0)), >(+(+(i4085[18], 1), 1), 0)), java.lang.Object(ARRAY(i2[18], a87173data[18])), i4085[18], i4089[18], java.lang.Object(java.lang.String(i5087[18])), java.lang.Object(java.lang.String(i4231[18])))∧(UIncreasing(COND_LOAD35385ARR5(&&(&&(&&(&&(&&(&&(&&(!(=(i5087[18], 0)), >(+(i4085[18], 1), 0)), <(+(i4085[18], 1), i2[18])), !(=(i4231[18], 0))), >(i4085[18], 0)), <(i4085[18], i2[18])), >(i4089[18], 0)), >(+(+(i4085[18], 1), 1), 0)), java.lang.Object(ARRAY(i2[18], a87173data[18])), i4085[18], i4089[18], java.lang.Object(java.lang.String(i5087[18])), java.lang.Object(java.lang.String(i4231[18])))), ≥))


    (141)    (>(+(+(i4085[18], 1), 1), 0)=TRUE>(i4089[18], 0)=TRUE<(i4085[18], i2[18])=TRUE>(i4085[18], 0)=TRUE<(+(i4085[18], 1), i2[18])=TRUE>(+(i4085[18], 1), 0)=TRUE<(i4231[18], 0)=TRUE>(i5087[18], 0)=TRUELOAD35385ARR5(java.lang.Object(ARRAY(i2[18], a87173data[18])), i4085[18], i4089[18], java.lang.Object(java.lang.String(i5087[18])), java.lang.Object(java.lang.String(i4231[18])))≥NonInfC∧LOAD35385ARR5(java.lang.Object(ARRAY(i2[18], a87173data[18])), i4085[18], i4089[18], java.lang.Object(java.lang.String(i5087[18])), java.lang.Object(java.lang.String(i4231[18])))≥COND_LOAD35385ARR5(&&(&&(&&(&&(&&(&&(&&(!(=(i5087[18], 0)), >(+(i4085[18], 1), 0)), <(+(i4085[18], 1), i2[18])), !(=(i4231[18], 0))), >(i4085[18], 0)), <(i4085[18], i2[18])), >(i4089[18], 0)), >(+(+(i4085[18], 1), 1), 0)), java.lang.Object(ARRAY(i2[18], a87173data[18])), i4085[18], i4089[18], java.lang.Object(java.lang.String(i5087[18])), java.lang.Object(java.lang.String(i4231[18])))∧(UIncreasing(COND_LOAD35385ARR5(&&(&&(&&(&&(&&(&&(&&(!(=(i5087[18], 0)), >(+(i4085[18], 1), 0)), <(+(i4085[18], 1), i2[18])), !(=(i4231[18], 0))), >(i4085[18], 0)), <(i4085[18], i2[18])), >(i4089[18], 0)), >(+(+(i4085[18], 1), 1), 0)), java.lang.Object(ARRAY(i2[18], a87173data[18])), i4085[18], i4089[18], java.lang.Object(java.lang.String(i5087[18])), java.lang.Object(java.lang.String(i4231[18])))), ≥))



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

    (142)    (i4085[18] + [1] ≥ 0∧i4089[18] + [-1] ≥ 0∧i2[18] + [-1] + [-1]i4085[18] ≥ 0∧i4085[18] + [-1] ≥ 0∧i2[18] + [-2] + [-1]i4085[18] ≥ 0∧i4085[18] ≥ 0∧[-1] + [-1]i4231[18] ≥ 0∧[-1] + [-1]i5087[18] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR5(&&(&&(&&(&&(&&(&&(&&(!(=(i5087[18], 0)), >(+(i4085[18], 1), 0)), <(+(i4085[18], 1), i2[18])), !(=(i4231[18], 0))), >(i4085[18], 0)), <(i4085[18], i2[18])), >(i4089[18], 0)), >(+(+(i4085[18], 1), 1), 0)), java.lang.Object(ARRAY(i2[18], a87173data[18])), i4085[18], i4089[18], java.lang.Object(java.lang.String(i5087[18])), java.lang.Object(java.lang.String(i4231[18])))), ≥)∧[(-1)Bound*bni_79] + [bni_79]i4089[18] + [(-1)bni_79]i4085[18] + [bni_79]i2[18] ≥ 0∧[(-1)bso_80] ≥ 0)



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

    (143)    (i4085[18] + [1] ≥ 0∧i4089[18] + [-1] ≥ 0∧i2[18] + [-1] + [-1]i4085[18] ≥ 0∧i4085[18] + [-1] ≥ 0∧i2[18] + [-2] + [-1]i4085[18] ≥ 0∧i4085[18] ≥ 0∧[-1] + [-1]i4231[18] ≥ 0∧i5087[18] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR5(&&(&&(&&(&&(&&(&&(&&(!(=(i5087[18], 0)), >(+(i4085[18], 1), 0)), <(+(i4085[18], 1), i2[18])), !(=(i4231[18], 0))), >(i4085[18], 0)), <(i4085[18], i2[18])), >(i4089[18], 0)), >(+(+(i4085[18], 1), 1), 0)), java.lang.Object(ARRAY(i2[18], a87173data[18])), i4085[18], i4089[18], java.lang.Object(java.lang.String(i5087[18])), java.lang.Object(java.lang.String(i4231[18])))), ≥)∧[(-1)Bound*bni_79] + [bni_79]i4089[18] + [(-1)bni_79]i4085[18] + [bni_79]i2[18] ≥ 0∧[(-1)bso_80] ≥ 0)



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

    (144)    (i4085[18] + [1] ≥ 0∧i4089[18] + [-1] ≥ 0∧i2[18] + [-1] + [-1]i4085[18] ≥ 0∧i4085[18] + [-1] ≥ 0∧i2[18] + [-2] + [-1]i4085[18] ≥ 0∧i4085[18] ≥ 0∧[-1] + [-1]i4231[18] ≥ 0∧[-1] + [-1]i5087[18] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR5(&&(&&(&&(&&(&&(&&(&&(!(=(i5087[18], 0)), >(+(i4085[18], 1), 0)), <(+(i4085[18], 1), i2[18])), !(=(i4231[18], 0))), >(i4085[18], 0)), <(i4085[18], i2[18])), >(i4089[18], 0)), >(+(+(i4085[18], 1), 1), 0)), java.lang.Object(ARRAY(i2[18], a87173data[18])), i4085[18], i4089[18], java.lang.Object(java.lang.String(i5087[18])), java.lang.Object(java.lang.String(i4231[18])))), ≥)∧[(-1)Bound*bni_79] + [bni_79]i4089[18] + [(-1)bni_79]i4085[18] + [bni_79]i2[18] ≥ 0∧[(-1)bso_80] ≥ 0)



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

    (145)    (i4085[18] + [1] ≥ 0∧i4089[18] + [-1] ≥ 0∧i2[18] + [-1] + [-1]i4085[18] ≥ 0∧i4085[18] + [-1] ≥ 0∧i2[18] + [-2] + [-1]i4085[18] ≥ 0∧i4085[18] ≥ 0∧[-1] + [-1]i4231[18] ≥ 0∧i5087[18] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR5(&&(&&(&&(&&(&&(&&(&&(!(=(i5087[18], 0)), >(+(i4085[18], 1), 0)), <(+(i4085[18], 1), i2[18])), !(=(i4231[18], 0))), >(i4085[18], 0)), <(i4085[18], i2[18])), >(i4089[18], 0)), >(+(+(i4085[18], 1), 1), 0)), java.lang.Object(ARRAY(i2[18], a87173data[18])), i4085[18], i4089[18], java.lang.Object(java.lang.String(i5087[18])), java.lang.Object(java.lang.String(i4231[18])))), ≥)∧[(-1)Bound*bni_79] + [bni_79]i4089[18] + [(-1)bni_79]i4085[18] + [bni_79]i2[18] ≥ 0∧[(-1)bso_80] ≥ 0)



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

    (147)    (i4085[18] + [1] ≥ 0∧i4089[18] + [-1] ≥ 0∧i2[18] + [-1] + [-1]i4085[18] ≥ 0∧i4085[18] + [-1] ≥ 0∧i2[18] + [-2] + [-1]i4085[18] ≥ 0∧i4085[18] ≥ 0∧i4231[18] + [-1] ≥ 0∧[-1] + [-1]i5087[18] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR5(&&(&&(&&(&&(&&(&&(&&(!(=(i5087[18], 0)), >(+(i4085[18], 1), 0)), <(+(i4085[18], 1), i2[18])), !(=(i4231[18], 0))), >(i4085[18], 0)), <(i4085[18], i2[18])), >(i4089[18], 0)), >(+(+(i4085[18], 1), 1), 0)), java.lang.Object(ARRAY(i2[18], a87173data[18])), i4085[18], i4089[18], java.lang.Object(java.lang.String(i5087[18])), java.lang.Object(java.lang.String(i4231[18])))), ≥)∧[(-1)Bound*bni_79] + [bni_79]i4089[18] + [(-1)bni_79]i4085[18] + [bni_79]i2[18] ≥ 0∧[(-1)bso_80] ≥ 0)



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

    (149)    (i4085[18] + [1] ≥ 0∧i4089[18] + [-1] ≥ 0∧i2[18] + [-1] + [-1]i4085[18] ≥ 0∧i4085[18] + [-1] ≥ 0∧i2[18] + [-2] + [-1]i4085[18] ≥ 0∧i4085[18] ≥ 0∧i4231[18] + [-1] ≥ 0∧i5087[18] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR5(&&(&&(&&(&&(&&(&&(&&(!(=(i5087[18], 0)), >(+(i4085[18], 1), 0)), <(+(i4085[18], 1), i2[18])), !(=(i4231[18], 0))), >(i4085[18], 0)), <(i4085[18], i2[18])), >(i4089[18], 0)), >(+(+(i4085[18], 1), 1), 0)), java.lang.Object(ARRAY(i2[18], a87173data[18])), i4085[18], i4089[18], java.lang.Object(java.lang.String(i5087[18])), java.lang.Object(java.lang.String(i4231[18])))), ≥)∧[(-1)Bound*bni_79] + [bni_79]i4089[18] + [(-1)bni_79]i4085[18] + [bni_79]i2[18] ≥ 0∧[(-1)bso_80] ≥ 0)



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

    (150)    (i4085[18] + [1] ≥ 0∧i4089[18] + [-1] ≥ 0∧i2[18] + [-1] + [-1]i4085[18] ≥ 0∧i4085[18] + [-1] ≥ 0∧i2[18] + [-2] + [-1]i4085[18] ≥ 0∧i4085[18] ≥ 0∧[-1] + [-1]i4231[18] ≥ 0∧[-1] + [-1]i5087[18] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR5(&&(&&(&&(&&(&&(&&(&&(!(=(i5087[18], 0)), >(+(i4085[18], 1), 0)), <(+(i4085[18], 1), i2[18])), !(=(i4231[18], 0))), >(i4085[18], 0)), <(i4085[18], i2[18])), >(i4089[18], 0)), >(+(+(i4085[18], 1), 1), 0)), java.lang.Object(ARRAY(i2[18], a87173data[18])), i4085[18], i4089[18], java.lang.Object(java.lang.String(i5087[18])), java.lang.Object(java.lang.String(i4231[18])))), ≥)∧[(-1)Bound*bni_79] + [bni_79]i4089[18] + [(-1)bni_79]i4085[18] + [bni_79]i2[18] ≥ 0∧[(-1)bso_80] ≥ 0)



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

    (151)    (i4085[18] + [1] ≥ 0∧i4089[18] + [-1] ≥ 0∧i2[18] + [-1] + [-1]i4085[18] ≥ 0∧i4085[18] + [-1] ≥ 0∧i2[18] + [-2] + [-1]i4085[18] ≥ 0∧i4085[18] ≥ 0∧[-1] + [-1]i4231[18] ≥ 0∧i5087[18] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR5(&&(&&(&&(&&(&&(&&(&&(!(=(i5087[18], 0)), >(+(i4085[18], 1), 0)), <(+(i4085[18], 1), i2[18])), !(=(i4231[18], 0))), >(i4085[18], 0)), <(i4085[18], i2[18])), >(i4089[18], 0)), >(+(+(i4085[18], 1), 1), 0)), java.lang.Object(ARRAY(i2[18], a87173data[18])), i4085[18], i4089[18], java.lang.Object(java.lang.String(i5087[18])), java.lang.Object(java.lang.String(i4231[18])))), ≥)∧[(-1)Bound*bni_79] + [bni_79]i4089[18] + [(-1)bni_79]i4085[18] + [bni_79]i2[18] ≥ 0∧[(-1)bso_80] ≥ 0)



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

    (152)    (i4085[18] + [1] ≥ 0∧i4089[18] + [-1] ≥ 0∧i2[18] + [-1] + [-1]i4085[18] ≥ 0∧i4085[18] + [-1] ≥ 0∧i2[18] + [-2] + [-1]i4085[18] ≥ 0∧i4085[18] ≥ 0∧i4231[18] + [-1] ≥ 0∧[-1] + [-1]i5087[18] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR5(&&(&&(&&(&&(&&(&&(&&(!(=(i5087[18], 0)), >(+(i4085[18], 1), 0)), <(+(i4085[18], 1), i2[18])), !(=(i4231[18], 0))), >(i4085[18], 0)), <(i4085[18], i2[18])), >(i4089[18], 0)), >(+(+(i4085[18], 1), 1), 0)), java.lang.Object(ARRAY(i2[18], a87173data[18])), i4085[18], i4089[18], java.lang.Object(java.lang.String(i5087[18])), java.lang.Object(java.lang.String(i4231[18])))), ≥)∧[(-1)Bound*bni_79] + [bni_79]i4089[18] + [(-1)bni_79]i4085[18] + [bni_79]i2[18] ≥ 0∧[(-1)bso_80] ≥ 0)



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

    (153)    (i4085[18] + [1] ≥ 0∧i4089[18] + [-1] ≥ 0∧i2[18] + [-1] + [-1]i4085[18] ≥ 0∧i4085[18] + [-1] ≥ 0∧i2[18] + [-2] + [-1]i4085[18] ≥ 0∧i4085[18] ≥ 0∧i4231[18] + [-1] ≥ 0∧i5087[18] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR5(&&(&&(&&(&&(&&(&&(&&(!(=(i5087[18], 0)), >(+(i4085[18], 1), 0)), <(+(i4085[18], 1), i2[18])), !(=(i4231[18], 0))), >(i4085[18], 0)), <(i4085[18], i2[18])), >(i4089[18], 0)), >(+(+(i4085[18], 1), 1), 0)), java.lang.Object(ARRAY(i2[18], a87173data[18])), i4085[18], i4089[18], java.lang.Object(java.lang.String(i5087[18])), java.lang.Object(java.lang.String(i4231[18])))), ≥)∧[(-1)Bound*bni_79] + [bni_79]i4089[18] + [(-1)bni_79]i4085[18] + [bni_79]i2[18] ≥ 0∧[(-1)bso_80] ≥ 0)



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

    (154)    (i4085[18] + [1] ≥ 0∧i4089[18] + [-1] ≥ 0∧i2[18] + [-1] + [-1]i4085[18] ≥ 0∧i4085[18] + [-1] ≥ 0∧i2[18] + [-2] + [-1]i4085[18] ≥ 0∧i4085[18] ≥ 0∧[-1] + [-1]i4231[18] ≥ 0∧[-1] + [-1]i5087[18] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR5(&&(&&(&&(&&(&&(&&(&&(!(=(i5087[18], 0)), >(+(i4085[18], 1), 0)), <(+(i4085[18], 1), i2[18])), !(=(i4231[18], 0))), >(i4085[18], 0)), <(i4085[18], i2[18])), >(i4089[18], 0)), >(+(+(i4085[18], 1), 1), 0)), java.lang.Object(ARRAY(i2[18], a87173data[18])), i4085[18], i4089[18], java.lang.Object(java.lang.String(i5087[18])), java.lang.Object(java.lang.String(i4231[18])))), ≥)∧0 = 0∧[(-1)Bound*bni_79] + [bni_79]i4089[18] + [(-1)bni_79]i4085[18] + [bni_79]i2[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)    (i4085[18] + [1] ≥ 0∧i4089[18] + [-1] ≥ 0∧i2[18] + [-1] + [-1]i4085[18] ≥ 0∧i4085[18] + [-1] ≥ 0∧i2[18] + [-2] + [-1]i4085[18] ≥ 0∧i4085[18] ≥ 0∧[-1] + [-1]i4231[18] ≥ 0∧i5087[18] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR5(&&(&&(&&(&&(&&(&&(&&(!(=(i5087[18], 0)), >(+(i4085[18], 1), 0)), <(+(i4085[18], 1), i2[18])), !(=(i4231[18], 0))), >(i4085[18], 0)), <(i4085[18], i2[18])), >(i4089[18], 0)), >(+(+(i4085[18], 1), 1), 0)), java.lang.Object(ARRAY(i2[18], a87173data[18])), i4085[18], i4089[18], java.lang.Object(java.lang.String(i5087[18])), java.lang.Object(java.lang.String(i4231[18])))), ≥)∧0 = 0∧[(-1)Bound*bni_79] + [bni_79]i4089[18] + [(-1)bni_79]i4085[18] + [bni_79]i2[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)    (i4085[18] + [1] ≥ 0∧i4089[18] + [-1] ≥ 0∧i2[18] + [-1] + [-1]i4085[18] ≥ 0∧i4085[18] + [-1] ≥ 0∧i2[18] + [-2] + [-1]i4085[18] ≥ 0∧i4085[18] ≥ 0∧i4231[18] + [-1] ≥ 0∧[-1] + [-1]i5087[18] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR5(&&(&&(&&(&&(&&(&&(&&(!(=(i5087[18], 0)), >(+(i4085[18], 1), 0)), <(+(i4085[18], 1), i2[18])), !(=(i4231[18], 0))), >(i4085[18], 0)), <(i4085[18], i2[18])), >(i4089[18], 0)), >(+(+(i4085[18], 1), 1), 0)), java.lang.Object(ARRAY(i2[18], a87173data[18])), i4085[18], i4089[18], java.lang.Object(java.lang.String(i5087[18])), java.lang.Object(java.lang.String(i4231[18])))), ≥)∧0 = 0∧[(-1)Bound*bni_79] + [bni_79]i4089[18] + [(-1)bni_79]i4085[18] + [bni_79]i2[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)    (i4085[18] + [1] ≥ 0∧i4089[18] + [-1] ≥ 0∧i2[18] + [-1] + [-1]i4085[18] ≥ 0∧i4085[18] + [-1] ≥ 0∧i2[18] + [-2] + [-1]i4085[18] ≥ 0∧i4085[18] ≥ 0∧i4231[18] + [-1] ≥ 0∧i5087[18] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR5(&&(&&(&&(&&(&&(&&(&&(!(=(i5087[18], 0)), >(+(i4085[18], 1), 0)), <(+(i4085[18], 1), i2[18])), !(=(i4231[18], 0))), >(i4085[18], 0)), <(i4085[18], i2[18])), >(i4089[18], 0)), >(+(+(i4085[18], 1), 1), 0)), java.lang.Object(ARRAY(i2[18], a87173data[18])), i4085[18], i4089[18], java.lang.Object(java.lang.String(i5087[18])), java.lang.Object(java.lang.String(i4231[18])))), ≥)∧0 = 0∧[(-1)Bound*bni_79] + [bni_79]i4089[18] + [(-1)bni_79]i4085[18] + [bni_79]i2[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] + i4085[18] ≥ 0∧i4089[18] + [-1] ≥ 0∧i2[18] + [-2] + [-1]i4085[18] ≥ 0∧i4085[18] ≥ 0∧i2[18] + [-3] + [-1]i4085[18] ≥ 0∧[1] + i4085[18] ≥ 0∧[-1] + [-1]i4231[18] ≥ 0∧[-1] + [-1]i5087[18] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR5(&&(&&(&&(&&(&&(&&(&&(!(=(i5087[18], 0)), >(+(i4085[18], 1), 0)), <(+(i4085[18], 1), i2[18])), !(=(i4231[18], 0))), >(i4085[18], 0)), <(i4085[18], i2[18])), >(i4089[18], 0)), >(+(+(i4085[18], 1), 1), 0)), java.lang.Object(ARRAY(i2[18], a87173data[18])), i4085[18], i4089[18], java.lang.Object(java.lang.String(i5087[18])), java.lang.Object(java.lang.String(i4231[18])))), ≥)∧0 = 0∧[(-1)Bound*bni_79 + (-1)bni_79] + [bni_79]i4089[18] + [(-1)bni_79]i4085[18] + [bni_79]i2[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] + i4085[18] ≥ 0∧i4089[18] ≥ 0∧i2[18] + [-2] + [-1]i4085[18] ≥ 0∧i4085[18] ≥ 0∧i2[18] + [-3] + [-1]i4085[18] ≥ 0∧[1] + i4085[18] ≥ 0∧[-1] + [-1]i4231[18] ≥ 0∧[-1] + [-1]i5087[18] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR5(&&(&&(&&(&&(&&(&&(&&(!(=(i5087[18], 0)), >(+(i4085[18], 1), 0)), <(+(i4085[18], 1), i2[18])), !(=(i4231[18], 0))), >(i4085[18], 0)), <(i4085[18], i2[18])), >(i4089[18], 0)), >(+(+(i4085[18], 1), 1), 0)), java.lang.Object(ARRAY(i2[18], a87173data[18])), i4085[18], i4089[18], java.lang.Object(java.lang.String(i5087[18])), java.lang.Object(java.lang.String(i4231[18])))), ≥)∧0 = 0∧[(-1)Bound*bni_79] + [bni_79]i4089[18] + [(-1)bni_79]i4085[18] + [bni_79]i2[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] + i4085[18] ≥ 0∧i4089[18] ≥ 0∧i2[18] ≥ 0∧i4085[18] ≥ 0∧[-1] + i2[18] ≥ 0∧[1] + i4085[18] ≥ 0∧[-1] + [-1]i4231[18] ≥ 0∧[-1] + [-1]i5087[18] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR5(&&(&&(&&(&&(&&(&&(&&(!(=(i5087[18], 0)), >(+(i4085[18], 1), 0)), <(+(i4085[18], 1), i2[18])), !(=(i4231[18], 0))), >(i4085[18], 0)), <(i4085[18], i2[18])), >(i4089[18], 0)), >(+(+(i4085[18], 1), 1), 0)), java.lang.Object(ARRAY(i2[18], a87173data[18])), i4085[18], i4089[18], java.lang.Object(java.lang.String(i5087[18])), java.lang.Object(java.lang.String(i4231[18])))), ≥)∧0 = 0∧[(-1)Bound*bni_79 + (2)bni_79] + [bni_79]i4089[18] + [bni_79]i2[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] + i4085[18] ≥ 0∧i4089[18] ≥ 0∧[1] + i2[18] ≥ 0∧i4085[18] ≥ 0∧i2[18] ≥ 0∧[1] + i4085[18] ≥ 0∧[-1] + [-1]i4231[18] ≥ 0∧[-1] + [-1]i5087[18] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR5(&&(&&(&&(&&(&&(&&(&&(!(=(i5087[18], 0)), >(+(i4085[18], 1), 0)), <(+(i4085[18], 1), i2[18])), !(=(i4231[18], 0))), >(i4085[18], 0)), <(i4085[18], i2[18])), >(i4089[18], 0)), >(+(+(i4085[18], 1), 1), 0)), java.lang.Object(ARRAY(i2[18], a87173data[18])), i4085[18], i4089[18], java.lang.Object(java.lang.String(i5087[18])), java.lang.Object(java.lang.String(i4231[18])))), ≥)∧0 = 0∧[(-1)Bound*bni_79 + (3)bni_79] + [bni_79]i4089[18] + [bni_79]i2[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] + i4085[18] ≥ 0∧i4089[18] ≥ 0∧[1] + i2[18] ≥ 0∧i4085[18] ≥ 0∧i2[18] ≥ 0∧[1] + i4085[18] ≥ 0∧i4231[18] ≥ 0∧[-1] + [-1]i5087[18] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR5(&&(&&(&&(&&(&&(&&(&&(!(=(i5087[18], 0)), >(+(i4085[18], 1), 0)), <(+(i4085[18], 1), i2[18])), !(=(i4231[18], 0))), >(i4085[18], 0)), <(i4085[18], i2[18])), >(i4089[18], 0)), >(+(+(i4085[18], 1), 1), 0)), java.lang.Object(ARRAY(i2[18], a87173data[18])), i4085[18], i4089[18], java.lang.Object(java.lang.String(i5087[18])), java.lang.Object(java.lang.String(i4231[18])))), ≥)∧0 = 0∧[(-1)Bound*bni_79 + (3)bni_79] + [bni_79]i4089[18] + [bni_79]i2[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] + i4085[18] ≥ 0∧i4089[18] ≥ 0∧[1] + i2[18] ≥ 0∧i4085[18] ≥ 0∧i2[18] ≥ 0∧[1] + i4085[18] ≥ 0∧i4231[18] ≥ 0∧i5087[18] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR5(&&(&&(&&(&&(&&(&&(&&(!(=(i5087[18], 0)), >(+(i4085[18], 1), 0)), <(+(i4085[18], 1), i2[18])), !(=(i4231[18], 0))), >(i4085[18], 0)), <(i4085[18], i2[18])), >(i4089[18], 0)), >(+(+(i4085[18], 1), 1), 0)), java.lang.Object(ARRAY(i2[18], a87173data[18])), i4085[18], i4089[18], java.lang.Object(java.lang.String(i5087[18])), java.lang.Object(java.lang.String(i4231[18])))), ≥)∧0 = 0∧[(-1)Bound*bni_79 + (3)bni_79] + [bni_79]i4089[18] + [bni_79]i2[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] + i4085[18] ≥ 0∧i4089[18] + [-1] ≥ 0∧i2[18] + [-2] + [-1]i4085[18] ≥ 0∧i4085[18] ≥ 0∧i2[18] + [-3] + [-1]i4085[18] ≥ 0∧[1] + i4085[18] ≥ 0∧[-1] + [-1]i4231[18] ≥ 0∧i5087[18] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR5(&&(&&(&&(&&(&&(&&(&&(!(=(i5087[18], 0)), >(+(i4085[18], 1), 0)), <(+(i4085[18], 1), i2[18])), !(=(i4231[18], 0))), >(i4085[18], 0)), <(i4085[18], i2[18])), >(i4089[18], 0)), >(+(+(i4085[18], 1), 1), 0)), java.lang.Object(ARRAY(i2[18], a87173data[18])), i4085[18], i4089[18], java.lang.Object(java.lang.String(i5087[18])), java.lang.Object(java.lang.String(i4231[18])))), ≥)∧0 = 0∧[(-1)Bound*bni_79 + (-1)bni_79] + [bni_79]i4089[18] + [(-1)bni_79]i4085[18] + [bni_79]i2[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] + i4085[18] ≥ 0∧i4089[18] ≥ 0∧i2[18] + [-2] + [-1]i4085[18] ≥ 0∧i4085[18] ≥ 0∧i2[18] + [-3] + [-1]i4085[18] ≥ 0∧[1] + i4085[18] ≥ 0∧[-1] + [-1]i4231[18] ≥ 0∧i5087[18] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR5(&&(&&(&&(&&(&&(&&(&&(!(=(i5087[18], 0)), >(+(i4085[18], 1), 0)), <(+(i4085[18], 1), i2[18])), !(=(i4231[18], 0))), >(i4085[18], 0)), <(i4085[18], i2[18])), >(i4089[18], 0)), >(+(+(i4085[18], 1), 1), 0)), java.lang.Object(ARRAY(i2[18], a87173data[18])), i4085[18], i4089[18], java.lang.Object(java.lang.String(i5087[18])), java.lang.Object(java.lang.String(i4231[18])))), ≥)∧0 = 0∧[(-1)Bound*bni_79] + [bni_79]i4089[18] + [(-1)bni_79]i4085[18] + [bni_79]i2[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] + i4085[18] ≥ 0∧i4089[18] ≥ 0∧i2[18] ≥ 0∧i4085[18] ≥ 0∧[-1] + i2[18] ≥ 0∧[1] + i4085[18] ≥ 0∧[-1] + [-1]i4231[18] ≥ 0∧i5087[18] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR5(&&(&&(&&(&&(&&(&&(&&(!(=(i5087[18], 0)), >(+(i4085[18], 1), 0)), <(+(i4085[18], 1), i2[18])), !(=(i4231[18], 0))), >(i4085[18], 0)), <(i4085[18], i2[18])), >(i4089[18], 0)), >(+(+(i4085[18], 1), 1), 0)), java.lang.Object(ARRAY(i2[18], a87173data[18])), i4085[18], i4089[18], java.lang.Object(java.lang.String(i5087[18])), java.lang.Object(java.lang.String(i4231[18])))), ≥)∧0 = 0∧[(-1)Bound*bni_79 + (2)bni_79] + [bni_79]i4089[18] + [bni_79]i2[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] + i4085[18] ≥ 0∧i4089[18] ≥ 0∧[1] + i2[18] ≥ 0∧i4085[18] ≥ 0∧i2[18] ≥ 0∧[1] + i4085[18] ≥ 0∧[-1] + [-1]i4231[18] ≥ 0∧i5087[18] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR5(&&(&&(&&(&&(&&(&&(&&(!(=(i5087[18], 0)), >(+(i4085[18], 1), 0)), <(+(i4085[18], 1), i2[18])), !(=(i4231[18], 0))), >(i4085[18], 0)), <(i4085[18], i2[18])), >(i4089[18], 0)), >(+(+(i4085[18], 1), 1), 0)), java.lang.Object(ARRAY(i2[18], a87173data[18])), i4085[18], i4089[18], java.lang.Object(java.lang.String(i5087[18])), java.lang.Object(java.lang.String(i4231[18])))), ≥)∧0 = 0∧[(-1)Bound*bni_79 + (3)bni_79] + [bni_79]i4089[18] + [bni_79]i2[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] + i4085[18] ≥ 0∧i4089[18] ≥ 0∧[1] + i2[18] ≥ 0∧i4085[18] ≥ 0∧i2[18] ≥ 0∧[1] + i4085[18] ≥ 0∧i4231[18] ≥ 0∧i5087[18] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR5(&&(&&(&&(&&(&&(&&(&&(!(=(i5087[18], 0)), >(+(i4085[18], 1), 0)), <(+(i4085[18], 1), i2[18])), !(=(i4231[18], 0))), >(i4085[18], 0)), <(i4085[18], i2[18])), >(i4089[18], 0)), >(+(+(i4085[18], 1), 1), 0)), java.lang.Object(ARRAY(i2[18], a87173data[18])), i4085[18], i4089[18], java.lang.Object(java.lang.String(i5087[18])), java.lang.Object(java.lang.String(i4231[18])))), ≥)∧0 = 0∧[(-1)Bound*bni_79 + (3)bni_79] + [bni_79]i4089[18] + [bni_79]i2[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] + i4085[18] ≥ 0∧i4089[18] ≥ 0∧[1] + i2[18] ≥ 0∧i4085[18] ≥ 0∧i2[18] ≥ 0∧[1] + i4085[18] ≥ 0∧i4231[18] ≥ 0∧i5087[18] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR5(&&(&&(&&(&&(&&(&&(&&(!(=(i5087[18], 0)), >(+(i4085[18], 1), 0)), <(+(i4085[18], 1), i2[18])), !(=(i4231[18], 0))), >(i4085[18], 0)), <(i4085[18], i2[18])), >(i4089[18], 0)), >(+(+(i4085[18], 1), 1), 0)), java.lang.Object(ARRAY(i2[18], a87173data[18])), i4085[18], i4089[18], java.lang.Object(java.lang.String(i5087[18])), java.lang.Object(java.lang.String(i4231[18])))), ≥)∧0 = 0∧[(-1)Bound*bni_79 + (3)bni_79] + [bni_79]i4089[18] + [bni_79]i2[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] + i4085[18] ≥ 0∧i4089[18] + [-1] ≥ 0∧i2[18] + [-2] + [-1]i4085[18] ≥ 0∧i4085[18] ≥ 0∧i2[18] + [-3] + [-1]i4085[18] ≥ 0∧[1] + i4085[18] ≥ 0∧i4231[18] + [-1] ≥ 0∧[-1] + [-1]i5087[18] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR5(&&(&&(&&(&&(&&(&&(&&(!(=(i5087[18], 0)), >(+(i4085[18], 1), 0)), <(+(i4085[18], 1), i2[18])), !(=(i4231[18], 0))), >(i4085[18], 0)), <(i4085[18], i2[18])), >(i4089[18], 0)), >(+(+(i4085[18], 1), 1), 0)), java.lang.Object(ARRAY(i2[18], a87173data[18])), i4085[18], i4089[18], java.lang.Object(java.lang.String(i5087[18])), java.lang.Object(java.lang.String(i4231[18])))), ≥)∧0 = 0∧[(-1)Bound*bni_79 + (-1)bni_79] + [bni_79]i4089[18] + [(-1)bni_79]i4085[18] + [bni_79]i2[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] + i4085[18] ≥ 0∧i4089[18] ≥ 0∧i2[18] + [-2] + [-1]i4085[18] ≥ 0∧i4085[18] ≥ 0∧i2[18] + [-3] + [-1]i4085[18] ≥ 0∧[1] + i4085[18] ≥ 0∧i4231[18] + [-1] ≥ 0∧[-1] + [-1]i5087[18] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR5(&&(&&(&&(&&(&&(&&(&&(!(=(i5087[18], 0)), >(+(i4085[18], 1), 0)), <(+(i4085[18], 1), i2[18])), !(=(i4231[18], 0))), >(i4085[18], 0)), <(i4085[18], i2[18])), >(i4089[18], 0)), >(+(+(i4085[18], 1), 1), 0)), java.lang.Object(ARRAY(i2[18], a87173data[18])), i4085[18], i4089[18], java.lang.Object(java.lang.String(i5087[18])), java.lang.Object(java.lang.String(i4231[18])))), ≥)∧0 = 0∧[(-1)Bound*bni_79] + [bni_79]i4089[18] + [(-1)bni_79]i4085[18] + [bni_79]i2[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] + i4085[18] ≥ 0∧i4089[18] ≥ 0∧i2[18] ≥ 0∧i4085[18] ≥ 0∧[-1] + i2[18] ≥ 0∧[1] + i4085[18] ≥ 0∧i4231[18] + [-1] ≥ 0∧[-1] + [-1]i5087[18] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR5(&&(&&(&&(&&(&&(&&(&&(!(=(i5087[18], 0)), >(+(i4085[18], 1), 0)), <(+(i4085[18], 1), i2[18])), !(=(i4231[18], 0))), >(i4085[18], 0)), <(i4085[18], i2[18])), >(i4089[18], 0)), >(+(+(i4085[18], 1), 1), 0)), java.lang.Object(ARRAY(i2[18], a87173data[18])), i4085[18], i4089[18], java.lang.Object(java.lang.String(i5087[18])), java.lang.Object(java.lang.String(i4231[18])))), ≥)∧0 = 0∧[(-1)Bound*bni_79 + (2)bni_79] + [bni_79]i4089[18] + [bni_79]i2[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] + i4085[18] ≥ 0∧i4089[18] ≥ 0∧[1] + i2[18] ≥ 0∧i4085[18] ≥ 0∧i2[18] ≥ 0∧[1] + i4085[18] ≥ 0∧i4231[18] + [-1] ≥ 0∧[-1] + [-1]i5087[18] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR5(&&(&&(&&(&&(&&(&&(&&(!(=(i5087[18], 0)), >(+(i4085[18], 1), 0)), <(+(i4085[18], 1), i2[18])), !(=(i4231[18], 0))), >(i4085[18], 0)), <(i4085[18], i2[18])), >(i4089[18], 0)), >(+(+(i4085[18], 1), 1), 0)), java.lang.Object(ARRAY(i2[18], a87173data[18])), i4085[18], i4089[18], java.lang.Object(java.lang.String(i5087[18])), java.lang.Object(java.lang.String(i4231[18])))), ≥)∧0 = 0∧[(-1)Bound*bni_79 + (3)bni_79] + [bni_79]i4089[18] + [bni_79]i2[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] + i4085[18] ≥ 0∧i4089[18] ≥ 0∧[1] + i2[18] ≥ 0∧i4085[18] ≥ 0∧i2[18] ≥ 0∧[1] + i4085[18] ≥ 0∧i4231[18] ≥ 0∧[-1] + [-1]i5087[18] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR5(&&(&&(&&(&&(&&(&&(&&(!(=(i5087[18], 0)), >(+(i4085[18], 1), 0)), <(+(i4085[18], 1), i2[18])), !(=(i4231[18], 0))), >(i4085[18], 0)), <(i4085[18], i2[18])), >(i4089[18], 0)), >(+(+(i4085[18], 1), 1), 0)), java.lang.Object(ARRAY(i2[18], a87173data[18])), i4085[18], i4089[18], java.lang.Object(java.lang.String(i5087[18])), java.lang.Object(java.lang.String(i4231[18])))), ≥)∧0 = 0∧[(-1)Bound*bni_79 + (3)bni_79] + [bni_79]i4089[18] + [bni_79]i2[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] + i4085[18] ≥ 0∧i4089[18] ≥ 0∧[1] + i2[18] ≥ 0∧i4085[18] ≥ 0∧i2[18] ≥ 0∧[1] + i4085[18] ≥ 0∧i4231[18] ≥ 0∧i5087[18] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR5(&&(&&(&&(&&(&&(&&(&&(!(=(i5087[18], 0)), >(+(i4085[18], 1), 0)), <(+(i4085[18], 1), i2[18])), !(=(i4231[18], 0))), >(i4085[18], 0)), <(i4085[18], i2[18])), >(i4089[18], 0)), >(+(+(i4085[18], 1), 1), 0)), java.lang.Object(ARRAY(i2[18], a87173data[18])), i4085[18], i4089[18], java.lang.Object(java.lang.String(i5087[18])), java.lang.Object(java.lang.String(i4231[18])))), ≥)∧0 = 0∧[(-1)Bound*bni_79 + (3)bni_79] + [bni_79]i4089[18] + [bni_79]i2[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] + i4085[18] ≥ 0∧i4089[18] + [-1] ≥ 0∧i2[18] + [-2] + [-1]i4085[18] ≥ 0∧i4085[18] ≥ 0∧i2[18] + [-3] + [-1]i4085[18] ≥ 0∧[1] + i4085[18] ≥ 0∧i4231[18] + [-1] ≥ 0∧i5087[18] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR5(&&(&&(&&(&&(&&(&&(&&(!(=(i5087[18], 0)), >(+(i4085[18], 1), 0)), <(+(i4085[18], 1), i2[18])), !(=(i4231[18], 0))), >(i4085[18], 0)), <(i4085[18], i2[18])), >(i4089[18], 0)), >(+(+(i4085[18], 1), 1), 0)), java.lang.Object(ARRAY(i2[18], a87173data[18])), i4085[18], i4089[18], java.lang.Object(java.lang.String(i5087[18])), java.lang.Object(java.lang.String(i4231[18])))), ≥)∧0 = 0∧[(-1)Bound*bni_79 + (-1)bni_79] + [bni_79]i4089[18] + [(-1)bni_79]i4085[18] + [bni_79]i2[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] + i4085[18] ≥ 0∧i4089[18] ≥ 0∧i2[18] + [-2] + [-1]i4085[18] ≥ 0∧i4085[18] ≥ 0∧i2[18] + [-3] + [-1]i4085[18] ≥ 0∧[1] + i4085[18] ≥ 0∧i4231[18] + [-1] ≥ 0∧i5087[18] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR5(&&(&&(&&(&&(&&(&&(&&(!(=(i5087[18], 0)), >(+(i4085[18], 1), 0)), <(+(i4085[18], 1), i2[18])), !(=(i4231[18], 0))), >(i4085[18], 0)), <(i4085[18], i2[18])), >(i4089[18], 0)), >(+(+(i4085[18], 1), 1), 0)), java.lang.Object(ARRAY(i2[18], a87173data[18])), i4085[18], i4089[18], java.lang.Object(java.lang.String(i5087[18])), java.lang.Object(java.lang.String(i4231[18])))), ≥)∧0 = 0∧[(-1)Bound*bni_79] + [bni_79]i4089[18] + [(-1)bni_79]i4085[18] + [bni_79]i2[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] + i4085[18] ≥ 0∧i4089[18] ≥ 0∧i2[18] ≥ 0∧i4085[18] ≥ 0∧[-1] + i2[18] ≥ 0∧[1] + i4085[18] ≥ 0∧i4231[18] + [-1] ≥ 0∧i5087[18] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR5(&&(&&(&&(&&(&&(&&(&&(!(=(i5087[18], 0)), >(+(i4085[18], 1), 0)), <(+(i4085[18], 1), i2[18])), !(=(i4231[18], 0))), >(i4085[18], 0)), <(i4085[18], i2[18])), >(i4089[18], 0)), >(+(+(i4085[18], 1), 1), 0)), java.lang.Object(ARRAY(i2[18], a87173data[18])), i4085[18], i4089[18], java.lang.Object(java.lang.String(i5087[18])), java.lang.Object(java.lang.String(i4231[18])))), ≥)∧0 = 0∧[(-1)Bound*bni_79 + (2)bni_79] + [bni_79]i4089[18] + [bni_79]i2[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] + i4085[18] ≥ 0∧i4089[18] ≥ 0∧[1] + i2[18] ≥ 0∧i4085[18] ≥ 0∧i2[18] ≥ 0∧[1] + i4085[18] ≥ 0∧i4231[18] + [-1] ≥ 0∧i5087[18] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR5(&&(&&(&&(&&(&&(&&(&&(!(=(i5087[18], 0)), >(+(i4085[18], 1), 0)), <(+(i4085[18], 1), i2[18])), !(=(i4231[18], 0))), >(i4085[18], 0)), <(i4085[18], i2[18])), >(i4089[18], 0)), >(+(+(i4085[18], 1), 1), 0)), java.lang.Object(ARRAY(i2[18], a87173data[18])), i4085[18], i4089[18], java.lang.Object(java.lang.String(i5087[18])), java.lang.Object(java.lang.String(i4231[18])))), ≥)∧0 = 0∧[(-1)Bound*bni_79 + (3)bni_79] + [bni_79]i4089[18] + [bni_79]i2[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] + i4085[18] ≥ 0∧i4089[18] ≥ 0∧[1] + i2[18] ≥ 0∧i4085[18] ≥ 0∧i2[18] ≥ 0∧[1] + i4085[18] ≥ 0∧i4231[18] ≥ 0∧i5087[18] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR5(&&(&&(&&(&&(&&(&&(&&(!(=(i5087[18], 0)), >(+(i4085[18], 1), 0)), <(+(i4085[18], 1), i2[18])), !(=(i4231[18], 0))), >(i4085[18], 0)), <(i4085[18], i2[18])), >(i4089[18], 0)), >(+(+(i4085[18], 1), 1), 0)), java.lang.Object(ARRAY(i2[18], a87173data[18])), i4085[18], i4089[18], java.lang.Object(java.lang.String(i5087[18])), java.lang.Object(java.lang.String(i4231[18])))), ≥)∧0 = 0∧[(-1)Bound*bni_79 + (3)bni_79] + [bni_79]i4089[18] + [bni_79]i2[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] + i4085[18] ≥ 0∧i4089[18] ≥ 0∧[1] + i2[18] ≥ 0∧i4085[18] ≥ 0∧i2[18] ≥ 0∧[1] + i4085[18] ≥ 0∧i4231[18] ≥ 0∧i5087[18] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR5(&&(&&(&&(&&(&&(&&(&&(!(=(i5087[18], 0)), >(+(i4085[18], 1), 0)), <(+(i4085[18], 1), i2[18])), !(=(i4231[18], 0))), >(i4085[18], 0)), <(i4085[18], i2[18])), >(i4089[18], 0)), >(+(+(i4085[18], 1), 1), 0)), java.lang.Object(ARRAY(i2[18], a87173data[18])), i4085[18], i4089[18], java.lang.Object(java.lang.String(i5087[18])), java.lang.Object(java.lang.String(i4231[18])))), ≥)∧0 = 0∧[(-1)Bound*bni_79 + (3)bni_79] + [bni_79]i4089[18] + [bni_79]i2[18] ≥ 0∧0 = 0∧[(-1)bso_80] ≥ 0)







For Pair COND_LOAD35385ARR5(TRUE, java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i5087)), java.lang.Object(java.lang.String(i4231))) → INC35531(java.lang.Object(ARRAY(i2, a87173data)), +(+(i4085, 1), 1), i4089) the following chains were created:
  • We consider the chain COND_LOAD35385ARR5(TRUE, java.lang.Object(ARRAY(i2[19], a87173data[19])), i4085[19], i4089[19], java.lang.Object(java.lang.String(i5087[19])), java.lang.Object(java.lang.String(i4231[19]))) → INC35531(java.lang.Object(ARRAY(i2[19], a87173data[19])), +(+(i4085[19], 1), 1), i4089[19]) which results in the following constraint:

    (182)    (COND_LOAD35385ARR5(TRUE, java.lang.Object(ARRAY(i2[19], a87173data[19])), i4085[19], i4089[19], java.lang.Object(java.lang.String(i5087[19])), java.lang.Object(java.lang.String(i4231[19])))≥NonInfC∧COND_LOAD35385ARR5(TRUE, java.lang.Object(ARRAY(i2[19], a87173data[19])), i4085[19], i4089[19], java.lang.Object(java.lang.String(i5087[19])), java.lang.Object(java.lang.String(i4231[19])))≥INC35531(java.lang.Object(ARRAY(i2[19], a87173data[19])), +(+(i4085[19], 1), 1), i4089[19])∧(UIncreasing(INC35531(java.lang.Object(ARRAY(i2[19], a87173data[19])), +(+(i4085[19], 1), 1), i4089[19])), ≥))



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

    (183)    ((UIncreasing(INC35531(java.lang.Object(ARRAY(i2[19], a87173data[19])), +(+(i4085[19], 1), 1), i4089[19])), ≥)∧[2 + (-1)bso_82] ≥ 0)



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

    (184)    ((UIncreasing(INC35531(java.lang.Object(ARRAY(i2[19], a87173data[19])), +(+(i4085[19], 1), 1), i4089[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(INC35531(java.lang.Object(ARRAY(i2[19], a87173data[19])), +(+(i4085[19], 1), 1), i4089[19])), ≥)∧[2 + (-1)bso_82] ≥ 0)



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

    (186)    ((UIncreasing(INC35531(java.lang.Object(ARRAY(i2[19], a87173data[19])), +(+(i4085[19], 1), 1), i4089[19])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[2 + (-1)bso_82] ≥ 0)







For Pair LOAD35385(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089) → LOAD35385ARR6(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i4710))) the following chains were created:
  • We consider the chain LOAD35385(java.lang.Object(ARRAY(i2[20], a87173data[20])), i4085[20], i4089[20]) → LOAD35385ARR6(java.lang.Object(ARRAY(i2[20], a87173data[20])), i4085[20], i4089[20], java.lang.Object(java.lang.String(i4710[20]))) which results in the following constraint:

    (187)    (LOAD35385(java.lang.Object(ARRAY(i2[20], a87173data[20])), i4085[20], i4089[20])≥NonInfC∧LOAD35385(java.lang.Object(ARRAY(i2[20], a87173data[20])), i4085[20], i4089[20])≥LOAD35385ARR6(java.lang.Object(ARRAY(i2[20], a87173data[20])), i4085[20], i4089[20], java.lang.Object(java.lang.String(i4710[20])))∧(UIncreasing(LOAD35385ARR6(java.lang.Object(ARRAY(i2[20], a87173data[20])), i4085[20], i4089[20], java.lang.Object(java.lang.String(i4710[20])))), ≥))



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

    (188)    ((UIncreasing(LOAD35385ARR6(java.lang.Object(ARRAY(i2[20], a87173data[20])), i4085[20], i4089[20], java.lang.Object(java.lang.String(i4710[20])))), ≥)∧[(-1)bso_84] ≥ 0)



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

    (189)    ((UIncreasing(LOAD35385ARR6(java.lang.Object(ARRAY(i2[20], a87173data[20])), i4085[20], i4089[20], java.lang.Object(java.lang.String(i4710[20])))), ≥)∧[(-1)bso_84] ≥ 0)



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

    (190)    ((UIncreasing(LOAD35385ARR6(java.lang.Object(ARRAY(i2[20], a87173data[20])), i4085[20], i4089[20], java.lang.Object(java.lang.String(i4710[20])))), ≥)∧[(-1)bso_84] ≥ 0)



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

    (191)    ((UIncreasing(LOAD35385ARR6(java.lang.Object(ARRAY(i2[20], a87173data[20])), i4085[20], i4089[20], java.lang.Object(java.lang.String(i4710[20])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_84] ≥ 0)







For Pair LOAD35385ARR6(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i4710))) → COND_LOAD35385ARR6(&&(&&(&&(&&(&&(&&(!(=(i4710, 0)), >(+(i4085, 1), 0)), <(+(i4085, 1), i2)), >(i4085, 0)), <(i4085, i2)), >(i4089, 0)), >(+(+(i4085, 1), 1), 0)), java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i4710))) the following chains were created:
  • We consider the chain LOAD35385ARR6(java.lang.Object(ARRAY(i2[21], a87173data[21])), i4085[21], i4089[21], java.lang.Object(java.lang.String(i4710[21]))) → COND_LOAD35385ARR6(&&(&&(&&(&&(&&(&&(!(=(i4710[21], 0)), >(+(i4085[21], 1), 0)), <(+(i4085[21], 1), i2[21])), >(i4085[21], 0)), <(i4085[21], i2[21])), >(i4089[21], 0)), >(+(+(i4085[21], 1), 1), 0)), java.lang.Object(ARRAY(i2[21], a87173data[21])), i4085[21], i4089[21], java.lang.Object(java.lang.String(i4710[21]))), COND_LOAD35385ARR6(TRUE, java.lang.Object(ARRAY(i2[22], a87173data[22])), i4085[22], i4089[22], java.lang.Object(java.lang.String(i4710[22]))) → NEW38580(java.lang.Object(ARRAY(i2[22], a87173data[22])), +(+(i4085[22], 1), 1), i4089[22]) which results in the following constraint:

    (192)    (&&(&&(&&(&&(&&(&&(!(=(i4710[21], 0)), >(+(i4085[21], 1), 0)), <(+(i4085[21], 1), i2[21])), >(i4085[21], 0)), <(i4085[21], i2[21])), >(i4089[21], 0)), >(+(+(i4085[21], 1), 1), 0))=TRUEi4710[21]=i4710[22]i4089[21]=i4089[22]i4085[21]=i4085[22]i2[21]=i2[22]a87173data[21]=a87173data[22]LOAD35385ARR6(java.lang.Object(ARRAY(i2[21], a87173data[21])), i4085[21], i4089[21], java.lang.Object(java.lang.String(i4710[21])))≥NonInfC∧LOAD35385ARR6(java.lang.Object(ARRAY(i2[21], a87173data[21])), i4085[21], i4089[21], java.lang.Object(java.lang.String(i4710[21])))≥COND_LOAD35385ARR6(&&(&&(&&(&&(&&(&&(!(=(i4710[21], 0)), >(+(i4085[21], 1), 0)), <(+(i4085[21], 1), i2[21])), >(i4085[21], 0)), <(i4085[21], i2[21])), >(i4089[21], 0)), >(+(+(i4085[21], 1), 1), 0)), java.lang.Object(ARRAY(i2[21], a87173data[21])), i4085[21], i4089[21], java.lang.Object(java.lang.String(i4710[21])))∧(UIncreasing(COND_LOAD35385ARR6(&&(&&(&&(&&(&&(&&(!(=(i4710[21], 0)), >(+(i4085[21], 1), 0)), <(+(i4085[21], 1), i2[21])), >(i4085[21], 0)), <(i4085[21], i2[21])), >(i4089[21], 0)), >(+(+(i4085[21], 1), 1), 0)), java.lang.Object(ARRAY(i2[21], a87173data[21])), i4085[21], i4089[21], java.lang.Object(java.lang.String(i4710[21])))), ≥))



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

    (193)    (>(+(+(i4085[21], 1), 1), 0)=TRUE>(i4089[21], 0)=TRUE<(i4085[21], i2[21])=TRUE>(i4085[21], 0)=TRUE<(+(i4085[21], 1), i2[21])=TRUE>(+(i4085[21], 1), 0)=TRUE<(i4710[21], 0)=TRUELOAD35385ARR6(java.lang.Object(ARRAY(i2[21], a87173data[21])), i4085[21], i4089[21], java.lang.Object(java.lang.String(i4710[21])))≥NonInfC∧LOAD35385ARR6(java.lang.Object(ARRAY(i2[21], a87173data[21])), i4085[21], i4089[21], java.lang.Object(java.lang.String(i4710[21])))≥COND_LOAD35385ARR6(&&(&&(&&(&&(&&(&&(!(=(i4710[21], 0)), >(+(i4085[21], 1), 0)), <(+(i4085[21], 1), i2[21])), >(i4085[21], 0)), <(i4085[21], i2[21])), >(i4089[21], 0)), >(+(+(i4085[21], 1), 1), 0)), java.lang.Object(ARRAY(i2[21], a87173data[21])), i4085[21], i4089[21], java.lang.Object(java.lang.String(i4710[21])))∧(UIncreasing(COND_LOAD35385ARR6(&&(&&(&&(&&(&&(&&(!(=(i4710[21], 0)), >(+(i4085[21], 1), 0)), <(+(i4085[21], 1), i2[21])), >(i4085[21], 0)), <(i4085[21], i2[21])), >(i4089[21], 0)), >(+(+(i4085[21], 1), 1), 0)), java.lang.Object(ARRAY(i2[21], a87173data[21])), i4085[21], i4089[21], java.lang.Object(java.lang.String(i4710[21])))), ≥))


    (194)    (>(+(+(i4085[21], 1), 1), 0)=TRUE>(i4089[21], 0)=TRUE<(i4085[21], i2[21])=TRUE>(i4085[21], 0)=TRUE<(+(i4085[21], 1), i2[21])=TRUE>(+(i4085[21], 1), 0)=TRUE>(i4710[21], 0)=TRUELOAD35385ARR6(java.lang.Object(ARRAY(i2[21], a87173data[21])), i4085[21], i4089[21], java.lang.Object(java.lang.String(i4710[21])))≥NonInfC∧LOAD35385ARR6(java.lang.Object(ARRAY(i2[21], a87173data[21])), i4085[21], i4089[21], java.lang.Object(java.lang.String(i4710[21])))≥COND_LOAD35385ARR6(&&(&&(&&(&&(&&(&&(!(=(i4710[21], 0)), >(+(i4085[21], 1), 0)), <(+(i4085[21], 1), i2[21])), >(i4085[21], 0)), <(i4085[21], i2[21])), >(i4089[21], 0)), >(+(+(i4085[21], 1), 1), 0)), java.lang.Object(ARRAY(i2[21], a87173data[21])), i4085[21], i4089[21], java.lang.Object(java.lang.String(i4710[21])))∧(UIncreasing(COND_LOAD35385ARR6(&&(&&(&&(&&(&&(&&(!(=(i4710[21], 0)), >(+(i4085[21], 1), 0)), <(+(i4085[21], 1), i2[21])), >(i4085[21], 0)), <(i4085[21], i2[21])), >(i4089[21], 0)), >(+(+(i4085[21], 1), 1), 0)), java.lang.Object(ARRAY(i2[21], a87173data[21])), i4085[21], i4089[21], java.lang.Object(java.lang.String(i4710[21])))), ≥))



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

    (195)    (i4085[21] + [1] ≥ 0∧i4089[21] + [-1] ≥ 0∧i2[21] + [-1] + [-1]i4085[21] ≥ 0∧i4085[21] + [-1] ≥ 0∧i2[21] + [-2] + [-1]i4085[21] ≥ 0∧i4085[21] ≥ 0∧[-1] + [-1]i4710[21] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR6(&&(&&(&&(&&(&&(&&(!(=(i4710[21], 0)), >(+(i4085[21], 1), 0)), <(+(i4085[21], 1), i2[21])), >(i4085[21], 0)), <(i4085[21], i2[21])), >(i4089[21], 0)), >(+(+(i4085[21], 1), 1), 0)), java.lang.Object(ARRAY(i2[21], a87173data[21])), i4085[21], i4089[21], java.lang.Object(java.lang.String(i4710[21])))), ≥)∧[(-1)Bound*bni_85] + [bni_85]i4089[21] + [(-1)bni_85]i4085[21] + [bni_85]i2[21] ≥ 0∧[(-1)bso_86] ≥ 0)



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

    (196)    (i4085[21] + [1] ≥ 0∧i4089[21] + [-1] ≥ 0∧i2[21] + [-1] + [-1]i4085[21] ≥ 0∧i4085[21] + [-1] ≥ 0∧i2[21] + [-2] + [-1]i4085[21] ≥ 0∧i4085[21] ≥ 0∧i4710[21] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR6(&&(&&(&&(&&(&&(&&(!(=(i4710[21], 0)), >(+(i4085[21], 1), 0)), <(+(i4085[21], 1), i2[21])), >(i4085[21], 0)), <(i4085[21], i2[21])), >(i4089[21], 0)), >(+(+(i4085[21], 1), 1), 0)), java.lang.Object(ARRAY(i2[21], a87173data[21])), i4085[21], i4089[21], java.lang.Object(java.lang.String(i4710[21])))), ≥)∧[(-1)Bound*bni_85] + [bni_85]i4089[21] + [(-1)bni_85]i4085[21] + [bni_85]i2[21] ≥ 0∧[(-1)bso_86] ≥ 0)



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

    (197)    (i4085[21] + [1] ≥ 0∧i4089[21] + [-1] ≥ 0∧i2[21] + [-1] + [-1]i4085[21] ≥ 0∧i4085[21] + [-1] ≥ 0∧i2[21] + [-2] + [-1]i4085[21] ≥ 0∧i4085[21] ≥ 0∧[-1] + [-1]i4710[21] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR6(&&(&&(&&(&&(&&(&&(!(=(i4710[21], 0)), >(+(i4085[21], 1), 0)), <(+(i4085[21], 1), i2[21])), >(i4085[21], 0)), <(i4085[21], i2[21])), >(i4089[21], 0)), >(+(+(i4085[21], 1), 1), 0)), java.lang.Object(ARRAY(i2[21], a87173data[21])), i4085[21], i4089[21], java.lang.Object(java.lang.String(i4710[21])))), ≥)∧[(-1)Bound*bni_85] + [bni_85]i4089[21] + [(-1)bni_85]i4085[21] + [bni_85]i2[21] ≥ 0∧[(-1)bso_86] ≥ 0)



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

    (198)    (i4085[21] + [1] ≥ 0∧i4089[21] + [-1] ≥ 0∧i2[21] + [-1] + [-1]i4085[21] ≥ 0∧i4085[21] + [-1] ≥ 0∧i2[21] + [-2] + [-1]i4085[21] ≥ 0∧i4085[21] ≥ 0∧i4710[21] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR6(&&(&&(&&(&&(&&(&&(!(=(i4710[21], 0)), >(+(i4085[21], 1), 0)), <(+(i4085[21], 1), i2[21])), >(i4085[21], 0)), <(i4085[21], i2[21])), >(i4089[21], 0)), >(+(+(i4085[21], 1), 1), 0)), java.lang.Object(ARRAY(i2[21], a87173data[21])), i4085[21], i4089[21], java.lang.Object(java.lang.String(i4710[21])))), ≥)∧[(-1)Bound*bni_85] + [bni_85]i4089[21] + [(-1)bni_85]i4085[21] + [bni_85]i2[21] ≥ 0∧[(-1)bso_86] ≥ 0)



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

    (199)    (i4085[21] + [1] ≥ 0∧i4089[21] + [-1] ≥ 0∧i2[21] + [-1] + [-1]i4085[21] ≥ 0∧i4085[21] + [-1] ≥ 0∧i2[21] + [-2] + [-1]i4085[21] ≥ 0∧i4085[21] ≥ 0∧[-1] + [-1]i4710[21] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR6(&&(&&(&&(&&(&&(&&(!(=(i4710[21], 0)), >(+(i4085[21], 1), 0)), <(+(i4085[21], 1), i2[21])), >(i4085[21], 0)), <(i4085[21], i2[21])), >(i4089[21], 0)), >(+(+(i4085[21], 1), 1), 0)), java.lang.Object(ARRAY(i2[21], a87173data[21])), i4085[21], i4089[21], java.lang.Object(java.lang.String(i4710[21])))), ≥)∧[(-1)Bound*bni_85] + [bni_85]i4089[21] + [(-1)bni_85]i4085[21] + [bni_85]i2[21] ≥ 0∧[(-1)bso_86] ≥ 0)



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

    (200)    (i4085[21] + [1] ≥ 0∧i4089[21] + [-1] ≥ 0∧i2[21] + [-1] + [-1]i4085[21] ≥ 0∧i4085[21] + [-1] ≥ 0∧i2[21] + [-2] + [-1]i4085[21] ≥ 0∧i4085[21] ≥ 0∧i4710[21] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR6(&&(&&(&&(&&(&&(&&(!(=(i4710[21], 0)), >(+(i4085[21], 1), 0)), <(+(i4085[21], 1), i2[21])), >(i4085[21], 0)), <(i4085[21], i2[21])), >(i4089[21], 0)), >(+(+(i4085[21], 1), 1), 0)), java.lang.Object(ARRAY(i2[21], a87173data[21])), i4085[21], i4089[21], java.lang.Object(java.lang.String(i4710[21])))), ≥)∧[(-1)Bound*bni_85] + [bni_85]i4089[21] + [(-1)bni_85]i4085[21] + [bni_85]i2[21] ≥ 0∧[(-1)bso_86] ≥ 0)



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

    (201)    (i4085[21] + [1] ≥ 0∧i4089[21] + [-1] ≥ 0∧i2[21] + [-1] + [-1]i4085[21] ≥ 0∧i4085[21] + [-1] ≥ 0∧i2[21] + [-2] + [-1]i4085[21] ≥ 0∧i4085[21] ≥ 0∧[-1] + [-1]i4710[21] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR6(&&(&&(&&(&&(&&(&&(!(=(i4710[21], 0)), >(+(i4085[21], 1), 0)), <(+(i4085[21], 1), i2[21])), >(i4085[21], 0)), <(i4085[21], i2[21])), >(i4089[21], 0)), >(+(+(i4085[21], 1), 1), 0)), java.lang.Object(ARRAY(i2[21], a87173data[21])), i4085[21], i4089[21], java.lang.Object(java.lang.String(i4710[21])))), ≥)∧0 = 0∧[(-1)Bound*bni_85] + [bni_85]i4089[21] + [(-1)bni_85]i4085[21] + [bni_85]i2[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)    (i4085[21] + [1] ≥ 0∧i4089[21] + [-1] ≥ 0∧i2[21] + [-1] + [-1]i4085[21] ≥ 0∧i4085[21] + [-1] ≥ 0∧i2[21] + [-2] + [-1]i4085[21] ≥ 0∧i4085[21] ≥ 0∧i4710[21] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR6(&&(&&(&&(&&(&&(&&(!(=(i4710[21], 0)), >(+(i4085[21], 1), 0)), <(+(i4085[21], 1), i2[21])), >(i4085[21], 0)), <(i4085[21], i2[21])), >(i4089[21], 0)), >(+(+(i4085[21], 1), 1), 0)), java.lang.Object(ARRAY(i2[21], a87173data[21])), i4085[21], i4089[21], java.lang.Object(java.lang.String(i4710[21])))), ≥)∧0 = 0∧[(-1)Bound*bni_85] + [bni_85]i4089[21] + [(-1)bni_85]i4085[21] + [bni_85]i2[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] + i4085[21] ≥ 0∧i4089[21] + [-1] ≥ 0∧i2[21] + [-2] + [-1]i4085[21] ≥ 0∧i4085[21] ≥ 0∧i2[21] + [-3] + [-1]i4085[21] ≥ 0∧[1] + i4085[21] ≥ 0∧[-1] + [-1]i4710[21] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR6(&&(&&(&&(&&(&&(&&(!(=(i4710[21], 0)), >(+(i4085[21], 1), 0)), <(+(i4085[21], 1), i2[21])), >(i4085[21], 0)), <(i4085[21], i2[21])), >(i4089[21], 0)), >(+(+(i4085[21], 1), 1), 0)), java.lang.Object(ARRAY(i2[21], a87173data[21])), i4085[21], i4089[21], java.lang.Object(java.lang.String(i4710[21])))), ≥)∧0 = 0∧[(-1)Bound*bni_85 + (-1)bni_85] + [bni_85]i4089[21] + [(-1)bni_85]i4085[21] + [bni_85]i2[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] + i4085[21] ≥ 0∧i4089[21] ≥ 0∧i2[21] + [-2] + [-1]i4085[21] ≥ 0∧i4085[21] ≥ 0∧i2[21] + [-3] + [-1]i4085[21] ≥ 0∧[1] + i4085[21] ≥ 0∧[-1] + [-1]i4710[21] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR6(&&(&&(&&(&&(&&(&&(!(=(i4710[21], 0)), >(+(i4085[21], 1), 0)), <(+(i4085[21], 1), i2[21])), >(i4085[21], 0)), <(i4085[21], i2[21])), >(i4089[21], 0)), >(+(+(i4085[21], 1), 1), 0)), java.lang.Object(ARRAY(i2[21], a87173data[21])), i4085[21], i4089[21], java.lang.Object(java.lang.String(i4710[21])))), ≥)∧0 = 0∧[(-1)Bound*bni_85] + [bni_85]i4089[21] + [(-1)bni_85]i4085[21] + [bni_85]i2[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] + i4085[21] ≥ 0∧i4089[21] ≥ 0∧i2[21] ≥ 0∧i4085[21] ≥ 0∧[-1] + i2[21] ≥ 0∧[1] + i4085[21] ≥ 0∧[-1] + [-1]i4710[21] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR6(&&(&&(&&(&&(&&(&&(!(=(i4710[21], 0)), >(+(i4085[21], 1), 0)), <(+(i4085[21], 1), i2[21])), >(i4085[21], 0)), <(i4085[21], i2[21])), >(i4089[21], 0)), >(+(+(i4085[21], 1), 1), 0)), java.lang.Object(ARRAY(i2[21], a87173data[21])), i4085[21], i4089[21], java.lang.Object(java.lang.String(i4710[21])))), ≥)∧0 = 0∧[(-1)Bound*bni_85 + (2)bni_85] + [bni_85]i4089[21] + [bni_85]i2[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] + i4085[21] ≥ 0∧i4089[21] ≥ 0∧[1] + i2[21] ≥ 0∧i4085[21] ≥ 0∧i2[21] ≥ 0∧[1] + i4085[21] ≥ 0∧[-1] + [-1]i4710[21] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR6(&&(&&(&&(&&(&&(&&(!(=(i4710[21], 0)), >(+(i4085[21], 1), 0)), <(+(i4085[21], 1), i2[21])), >(i4085[21], 0)), <(i4085[21], i2[21])), >(i4089[21], 0)), >(+(+(i4085[21], 1), 1), 0)), java.lang.Object(ARRAY(i2[21], a87173data[21])), i4085[21], i4089[21], java.lang.Object(java.lang.String(i4710[21])))), ≥)∧0 = 0∧[(-1)Bound*bni_85 + (3)bni_85] + [bni_85]i4089[21] + [bni_85]i2[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] + i4085[21] ≥ 0∧i4089[21] ≥ 0∧[1] + i2[21] ≥ 0∧i4085[21] ≥ 0∧i2[21] ≥ 0∧[1] + i4085[21] ≥ 0∧i4710[21] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR6(&&(&&(&&(&&(&&(&&(!(=(i4710[21], 0)), >(+(i4085[21], 1), 0)), <(+(i4085[21], 1), i2[21])), >(i4085[21], 0)), <(i4085[21], i2[21])), >(i4089[21], 0)), >(+(+(i4085[21], 1), 1), 0)), java.lang.Object(ARRAY(i2[21], a87173data[21])), i4085[21], i4089[21], java.lang.Object(java.lang.String(i4710[21])))), ≥)∧0 = 0∧[(-1)Bound*bni_85 + (3)bni_85] + [bni_85]i4089[21] + [bni_85]i2[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] + i4085[21] ≥ 0∧i4089[21] + [-1] ≥ 0∧i2[21] + [-2] + [-1]i4085[21] ≥ 0∧i4085[21] ≥ 0∧i2[21] + [-3] + [-1]i4085[21] ≥ 0∧[1] + i4085[21] ≥ 0∧i4710[21] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR6(&&(&&(&&(&&(&&(&&(!(=(i4710[21], 0)), >(+(i4085[21], 1), 0)), <(+(i4085[21], 1), i2[21])), >(i4085[21], 0)), <(i4085[21], i2[21])), >(i4089[21], 0)), >(+(+(i4085[21], 1), 1), 0)), java.lang.Object(ARRAY(i2[21], a87173data[21])), i4085[21], i4089[21], java.lang.Object(java.lang.String(i4710[21])))), ≥)∧0 = 0∧[(-1)Bound*bni_85 + (-1)bni_85] + [bni_85]i4089[21] + [(-1)bni_85]i4085[21] + [bni_85]i2[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] + i4085[21] ≥ 0∧i4089[21] ≥ 0∧i2[21] + [-2] + [-1]i4085[21] ≥ 0∧i4085[21] ≥ 0∧i2[21] + [-3] + [-1]i4085[21] ≥ 0∧[1] + i4085[21] ≥ 0∧i4710[21] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR6(&&(&&(&&(&&(&&(&&(!(=(i4710[21], 0)), >(+(i4085[21], 1), 0)), <(+(i4085[21], 1), i2[21])), >(i4085[21], 0)), <(i4085[21], i2[21])), >(i4089[21], 0)), >(+(+(i4085[21], 1), 1), 0)), java.lang.Object(ARRAY(i2[21], a87173data[21])), i4085[21], i4089[21], java.lang.Object(java.lang.String(i4710[21])))), ≥)∧0 = 0∧[(-1)Bound*bni_85] + [bni_85]i4089[21] + [(-1)bni_85]i4085[21] + [bni_85]i2[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] + i4085[21] ≥ 0∧i4089[21] ≥ 0∧i2[21] ≥ 0∧i4085[21] ≥ 0∧[-1] + i2[21] ≥ 0∧[1] + i4085[21] ≥ 0∧i4710[21] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR6(&&(&&(&&(&&(&&(&&(!(=(i4710[21], 0)), >(+(i4085[21], 1), 0)), <(+(i4085[21], 1), i2[21])), >(i4085[21], 0)), <(i4085[21], i2[21])), >(i4089[21], 0)), >(+(+(i4085[21], 1), 1), 0)), java.lang.Object(ARRAY(i2[21], a87173data[21])), i4085[21], i4089[21], java.lang.Object(java.lang.String(i4710[21])))), ≥)∧0 = 0∧[(-1)Bound*bni_85 + (2)bni_85] + [bni_85]i4089[21] + [bni_85]i2[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] + i4085[21] ≥ 0∧i4089[21] ≥ 0∧[1] + i2[21] ≥ 0∧i4085[21] ≥ 0∧i2[21] ≥ 0∧[1] + i4085[21] ≥ 0∧i4710[21] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR6(&&(&&(&&(&&(&&(&&(!(=(i4710[21], 0)), >(+(i4085[21], 1), 0)), <(+(i4085[21], 1), i2[21])), >(i4085[21], 0)), <(i4085[21], i2[21])), >(i4089[21], 0)), >(+(+(i4085[21], 1), 1), 0)), java.lang.Object(ARRAY(i2[21], a87173data[21])), i4085[21], i4089[21], java.lang.Object(java.lang.String(i4710[21])))), ≥)∧0 = 0∧[(-1)Bound*bni_85 + (3)bni_85] + [bni_85]i4089[21] + [bni_85]i2[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] + i4085[21] ≥ 0∧i4089[21] ≥ 0∧[1] + i2[21] ≥ 0∧i4085[21] ≥ 0∧i2[21] ≥ 0∧[1] + i4085[21] ≥ 0∧i4710[21] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR6(&&(&&(&&(&&(&&(&&(!(=(i4710[21], 0)), >(+(i4085[21], 1), 0)), <(+(i4085[21], 1), i2[21])), >(i4085[21], 0)), <(i4085[21], i2[21])), >(i4089[21], 0)), >(+(+(i4085[21], 1), 1), 0)), java.lang.Object(ARRAY(i2[21], a87173data[21])), i4085[21], i4089[21], java.lang.Object(java.lang.String(i4710[21])))), ≥)∧0 = 0∧[(-1)Bound*bni_85 + (3)bni_85] + [bni_85]i4089[21] + [bni_85]i2[21] ≥ 0∧0 = 0∧[(-1)bso_86] ≥ 0)







For Pair COND_LOAD35385ARR6(TRUE, java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i4710))) → NEW38580(java.lang.Object(ARRAY(i2, a87173data)), +(+(i4085, 1), 1), i4089) the following chains were created:
  • We consider the chain COND_LOAD35385ARR6(TRUE, java.lang.Object(ARRAY(i2[22], a87173data[22])), i4085[22], i4089[22], java.lang.Object(java.lang.String(i4710[22]))) → NEW38580(java.lang.Object(ARRAY(i2[22], a87173data[22])), +(+(i4085[22], 1), 1), i4089[22]) which results in the following constraint:

    (213)    (COND_LOAD35385ARR6(TRUE, java.lang.Object(ARRAY(i2[22], a87173data[22])), i4085[22], i4089[22], java.lang.Object(java.lang.String(i4710[22])))≥NonInfC∧COND_LOAD35385ARR6(TRUE, java.lang.Object(ARRAY(i2[22], a87173data[22])), i4085[22], i4089[22], java.lang.Object(java.lang.String(i4710[22])))≥NEW38580(java.lang.Object(ARRAY(i2[22], a87173data[22])), +(+(i4085[22], 1), 1), i4089[22])∧(UIncreasing(NEW38580(java.lang.Object(ARRAY(i2[22], a87173data[22])), +(+(i4085[22], 1), 1), i4089[22])), ≥))



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

    (214)    ((UIncreasing(NEW38580(java.lang.Object(ARRAY(i2[22], a87173data[22])), +(+(i4085[22], 1), 1), i4089[22])), ≥)∧[2 + (-1)bso_88] ≥ 0)



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

    (215)    ((UIncreasing(NEW38580(java.lang.Object(ARRAY(i2[22], a87173data[22])), +(+(i4085[22], 1), 1), i4089[22])), ≥)∧[2 + (-1)bso_88] ≥ 0)



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

    (216)    ((UIncreasing(NEW38580(java.lang.Object(ARRAY(i2[22], a87173data[22])), +(+(i4085[22], 1), 1), i4089[22])), ≥)∧[2 + (-1)bso_88] ≥ 0)



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

    (217)    ((UIncreasing(NEW38580(java.lang.Object(ARRAY(i2[22], a87173data[22])), +(+(i4085[22], 1), 1), i4089[22])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[2 + (-1)bso_88] ≥ 0)







For Pair LOAD35385(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089) → LOAD35385ARR7(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i4231))) the following chains were created:
  • We consider the chain LOAD35385(java.lang.Object(ARRAY(i2[23], a87173data[23])), i4085[23], i4089[23]) → LOAD35385ARR7(java.lang.Object(ARRAY(i2[23], a87173data[23])), i4085[23], i4089[23], java.lang.Object(java.lang.String(i4231[23]))) which results in the following constraint:

    (218)    (LOAD35385(java.lang.Object(ARRAY(i2[23], a87173data[23])), i4085[23], i4089[23])≥NonInfC∧LOAD35385(java.lang.Object(ARRAY(i2[23], a87173data[23])), i4085[23], i4089[23])≥LOAD35385ARR7(java.lang.Object(ARRAY(i2[23], a87173data[23])), i4085[23], i4089[23], java.lang.Object(java.lang.String(i4231[23])))∧(UIncreasing(LOAD35385ARR7(java.lang.Object(ARRAY(i2[23], a87173data[23])), i4085[23], i4089[23], java.lang.Object(java.lang.String(i4231[23])))), ≥))



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

    (219)    ((UIncreasing(LOAD35385ARR7(java.lang.Object(ARRAY(i2[23], a87173data[23])), i4085[23], i4089[23], java.lang.Object(java.lang.String(i4231[23])))), ≥)∧[(-1)bso_90] ≥ 0)



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

    (220)    ((UIncreasing(LOAD35385ARR7(java.lang.Object(ARRAY(i2[23], a87173data[23])), i4085[23], i4089[23], java.lang.Object(java.lang.String(i4231[23])))), ≥)∧[(-1)bso_90] ≥ 0)



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

    (221)    ((UIncreasing(LOAD35385ARR7(java.lang.Object(ARRAY(i2[23], a87173data[23])), i4085[23], i4089[23], java.lang.Object(java.lang.String(i4231[23])))), ≥)∧[(-1)bso_90] ≥ 0)



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

    (222)    ((UIncreasing(LOAD35385ARR7(java.lang.Object(ARRAY(i2[23], a87173data[23])), i4085[23], i4089[23], java.lang.Object(java.lang.String(i4231[23])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_90] ≥ 0)







For Pair LOAD35385ARR7(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i4231))) → COND_LOAD35385ARR7(&&(&&(&&(&&(&&(&&(>(+(i4085, 1), 0), <(+(i4085, 1), i2)), !(=(i4231, 0))), >(i4085, 0)), <(i4085, i2)), >(i4089, 0)), >(+(+(i4085, 1), 1), 0)), java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i4231))) the following chains were created:
  • We consider the chain LOAD35385ARR7(java.lang.Object(ARRAY(i2[24], a87173data[24])), i4085[24], i4089[24], java.lang.Object(java.lang.String(i4231[24]))) → COND_LOAD35385ARR7(&&(&&(&&(&&(&&(&&(>(+(i4085[24], 1), 0), <(+(i4085[24], 1), i2[24])), !(=(i4231[24], 0))), >(i4085[24], 0)), <(i4085[24], i2[24])), >(i4089[24], 0)), >(+(+(i4085[24], 1), 1), 0)), java.lang.Object(ARRAY(i2[24], a87173data[24])), i4085[24], i4089[24], java.lang.Object(java.lang.String(i4231[24]))), COND_LOAD35385ARR7(TRUE, java.lang.Object(ARRAY(i2[25], a87173data[25])), i4085[25], i4089[25], java.lang.Object(java.lang.String(i4231[25]))) → NEW39442(java.lang.Object(ARRAY(i2[25], a87173data[25])), +(+(i4085[25], 1), 1), i4089[25]) which results in the following constraint:

    (223)    (&&(&&(&&(&&(&&(&&(>(+(i4085[24], 1), 0), <(+(i4085[24], 1), i2[24])), !(=(i4231[24], 0))), >(i4085[24], 0)), <(i4085[24], i2[24])), >(i4089[24], 0)), >(+(+(i4085[24], 1), 1), 0))=TRUEi2[24]=i2[25]a87173data[24]=a87173data[25]i4231[24]=i4231[25]i4089[24]=i4089[25]i4085[24]=i4085[25]LOAD35385ARR7(java.lang.Object(ARRAY(i2[24], a87173data[24])), i4085[24], i4089[24], java.lang.Object(java.lang.String(i4231[24])))≥NonInfC∧LOAD35385ARR7(java.lang.Object(ARRAY(i2[24], a87173data[24])), i4085[24], i4089[24], java.lang.Object(java.lang.String(i4231[24])))≥COND_LOAD35385ARR7(&&(&&(&&(&&(&&(&&(>(+(i4085[24], 1), 0), <(+(i4085[24], 1), i2[24])), !(=(i4231[24], 0))), >(i4085[24], 0)), <(i4085[24], i2[24])), >(i4089[24], 0)), >(+(+(i4085[24], 1), 1), 0)), java.lang.Object(ARRAY(i2[24], a87173data[24])), i4085[24], i4089[24], java.lang.Object(java.lang.String(i4231[24])))∧(UIncreasing(COND_LOAD35385ARR7(&&(&&(&&(&&(&&(&&(>(+(i4085[24], 1), 0), <(+(i4085[24], 1), i2[24])), !(=(i4231[24], 0))), >(i4085[24], 0)), <(i4085[24], i2[24])), >(i4089[24], 0)), >(+(+(i4085[24], 1), 1), 0)), java.lang.Object(ARRAY(i2[24], a87173data[24])), i4085[24], i4089[24], java.lang.Object(java.lang.String(i4231[24])))), ≥))



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

    (224)    (>(+(+(i4085[24], 1), 1), 0)=TRUE>(i4089[24], 0)=TRUE<(i4085[24], i2[24])=TRUE>(i4085[24], 0)=TRUE>(+(i4085[24], 1), 0)=TRUE<(+(i4085[24], 1), i2[24])=TRUE<(i4231[24], 0)=TRUELOAD35385ARR7(java.lang.Object(ARRAY(i2[24], a87173data[24])), i4085[24], i4089[24], java.lang.Object(java.lang.String(i4231[24])))≥NonInfC∧LOAD35385ARR7(java.lang.Object(ARRAY(i2[24], a87173data[24])), i4085[24], i4089[24], java.lang.Object(java.lang.String(i4231[24])))≥COND_LOAD35385ARR7(&&(&&(&&(&&(&&(&&(>(+(i4085[24], 1), 0), <(+(i4085[24], 1), i2[24])), !(=(i4231[24], 0))), >(i4085[24], 0)), <(i4085[24], i2[24])), >(i4089[24], 0)), >(+(+(i4085[24], 1), 1), 0)), java.lang.Object(ARRAY(i2[24], a87173data[24])), i4085[24], i4089[24], java.lang.Object(java.lang.String(i4231[24])))∧(UIncreasing(COND_LOAD35385ARR7(&&(&&(&&(&&(&&(&&(>(+(i4085[24], 1), 0), <(+(i4085[24], 1), i2[24])), !(=(i4231[24], 0))), >(i4085[24], 0)), <(i4085[24], i2[24])), >(i4089[24], 0)), >(+(+(i4085[24], 1), 1), 0)), java.lang.Object(ARRAY(i2[24], a87173data[24])), i4085[24], i4089[24], java.lang.Object(java.lang.String(i4231[24])))), ≥))


    (225)    (>(+(+(i4085[24], 1), 1), 0)=TRUE>(i4089[24], 0)=TRUE<(i4085[24], i2[24])=TRUE>(i4085[24], 0)=TRUE>(+(i4085[24], 1), 0)=TRUE<(+(i4085[24], 1), i2[24])=TRUE>(i4231[24], 0)=TRUELOAD35385ARR7(java.lang.Object(ARRAY(i2[24], a87173data[24])), i4085[24], i4089[24], java.lang.Object(java.lang.String(i4231[24])))≥NonInfC∧LOAD35385ARR7(java.lang.Object(ARRAY(i2[24], a87173data[24])), i4085[24], i4089[24], java.lang.Object(java.lang.String(i4231[24])))≥COND_LOAD35385ARR7(&&(&&(&&(&&(&&(&&(>(+(i4085[24], 1), 0), <(+(i4085[24], 1), i2[24])), !(=(i4231[24], 0))), >(i4085[24], 0)), <(i4085[24], i2[24])), >(i4089[24], 0)), >(+(+(i4085[24], 1), 1), 0)), java.lang.Object(ARRAY(i2[24], a87173data[24])), i4085[24], i4089[24], java.lang.Object(java.lang.String(i4231[24])))∧(UIncreasing(COND_LOAD35385ARR7(&&(&&(&&(&&(&&(&&(>(+(i4085[24], 1), 0), <(+(i4085[24], 1), i2[24])), !(=(i4231[24], 0))), >(i4085[24], 0)), <(i4085[24], i2[24])), >(i4089[24], 0)), >(+(+(i4085[24], 1), 1), 0)), java.lang.Object(ARRAY(i2[24], a87173data[24])), i4085[24], i4089[24], java.lang.Object(java.lang.String(i4231[24])))), ≥))



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

    (226)    (i4085[24] + [1] ≥ 0∧i4089[24] + [-1] ≥ 0∧i2[24] + [-1] + [-1]i4085[24] ≥ 0∧i4085[24] + [-1] ≥ 0∧i4085[24] ≥ 0∧i2[24] + [-2] + [-1]i4085[24] ≥ 0∧[-1] + [-1]i4231[24] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR7(&&(&&(&&(&&(&&(&&(>(+(i4085[24], 1), 0), <(+(i4085[24], 1), i2[24])), !(=(i4231[24], 0))), >(i4085[24], 0)), <(i4085[24], i2[24])), >(i4089[24], 0)), >(+(+(i4085[24], 1), 1), 0)), java.lang.Object(ARRAY(i2[24], a87173data[24])), i4085[24], i4089[24], java.lang.Object(java.lang.String(i4231[24])))), ≥)∧[(-1)Bound*bni_91] + [bni_91]i4089[24] + [(-1)bni_91]i4085[24] + [bni_91]i2[24] ≥ 0∧[(-1)bso_92] ≥ 0)



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

    (227)    (i4085[24] + [1] ≥ 0∧i4089[24] + [-1] ≥ 0∧i2[24] + [-1] + [-1]i4085[24] ≥ 0∧i4085[24] + [-1] ≥ 0∧i4085[24] ≥ 0∧i2[24] + [-2] + [-1]i4085[24] ≥ 0∧i4231[24] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR7(&&(&&(&&(&&(&&(&&(>(+(i4085[24], 1), 0), <(+(i4085[24], 1), i2[24])), !(=(i4231[24], 0))), >(i4085[24], 0)), <(i4085[24], i2[24])), >(i4089[24], 0)), >(+(+(i4085[24], 1), 1), 0)), java.lang.Object(ARRAY(i2[24], a87173data[24])), i4085[24], i4089[24], java.lang.Object(java.lang.String(i4231[24])))), ≥)∧[(-1)Bound*bni_91] + [bni_91]i4089[24] + [(-1)bni_91]i4085[24] + [bni_91]i2[24] ≥ 0∧[(-1)bso_92] ≥ 0)



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

    (228)    (i4085[24] + [1] ≥ 0∧i4089[24] + [-1] ≥ 0∧i2[24] + [-1] + [-1]i4085[24] ≥ 0∧i4085[24] + [-1] ≥ 0∧i4085[24] ≥ 0∧i2[24] + [-2] + [-1]i4085[24] ≥ 0∧[-1] + [-1]i4231[24] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR7(&&(&&(&&(&&(&&(&&(>(+(i4085[24], 1), 0), <(+(i4085[24], 1), i2[24])), !(=(i4231[24], 0))), >(i4085[24], 0)), <(i4085[24], i2[24])), >(i4089[24], 0)), >(+(+(i4085[24], 1), 1), 0)), java.lang.Object(ARRAY(i2[24], a87173data[24])), i4085[24], i4089[24], java.lang.Object(java.lang.String(i4231[24])))), ≥)∧[(-1)Bound*bni_91] + [bni_91]i4089[24] + [(-1)bni_91]i4085[24] + [bni_91]i2[24] ≥ 0∧[(-1)bso_92] ≥ 0)



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

    (229)    (i4085[24] + [1] ≥ 0∧i4089[24] + [-1] ≥ 0∧i2[24] + [-1] + [-1]i4085[24] ≥ 0∧i4085[24] + [-1] ≥ 0∧i4085[24] ≥ 0∧i2[24] + [-2] + [-1]i4085[24] ≥ 0∧i4231[24] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR7(&&(&&(&&(&&(&&(&&(>(+(i4085[24], 1), 0), <(+(i4085[24], 1), i2[24])), !(=(i4231[24], 0))), >(i4085[24], 0)), <(i4085[24], i2[24])), >(i4089[24], 0)), >(+(+(i4085[24], 1), 1), 0)), java.lang.Object(ARRAY(i2[24], a87173data[24])), i4085[24], i4089[24], java.lang.Object(java.lang.String(i4231[24])))), ≥)∧[(-1)Bound*bni_91] + [bni_91]i4089[24] + [(-1)bni_91]i4085[24] + [bni_91]i2[24] ≥ 0∧[(-1)bso_92] ≥ 0)



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

    (230)    (i4085[24] + [1] ≥ 0∧i4089[24] + [-1] ≥ 0∧i2[24] + [-1] + [-1]i4085[24] ≥ 0∧i4085[24] + [-1] ≥ 0∧i4085[24] ≥ 0∧i2[24] + [-2] + [-1]i4085[24] ≥ 0∧[-1] + [-1]i4231[24] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR7(&&(&&(&&(&&(&&(&&(>(+(i4085[24], 1), 0), <(+(i4085[24], 1), i2[24])), !(=(i4231[24], 0))), >(i4085[24], 0)), <(i4085[24], i2[24])), >(i4089[24], 0)), >(+(+(i4085[24], 1), 1), 0)), java.lang.Object(ARRAY(i2[24], a87173data[24])), i4085[24], i4089[24], java.lang.Object(java.lang.String(i4231[24])))), ≥)∧[(-1)Bound*bni_91] + [bni_91]i4089[24] + [(-1)bni_91]i4085[24] + [bni_91]i2[24] ≥ 0∧[(-1)bso_92] ≥ 0)



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

    (231)    (i4085[24] + [1] ≥ 0∧i4089[24] + [-1] ≥ 0∧i2[24] + [-1] + [-1]i4085[24] ≥ 0∧i4085[24] + [-1] ≥ 0∧i4085[24] ≥ 0∧i2[24] + [-2] + [-1]i4085[24] ≥ 0∧i4231[24] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR7(&&(&&(&&(&&(&&(&&(>(+(i4085[24], 1), 0), <(+(i4085[24], 1), i2[24])), !(=(i4231[24], 0))), >(i4085[24], 0)), <(i4085[24], i2[24])), >(i4089[24], 0)), >(+(+(i4085[24], 1), 1), 0)), java.lang.Object(ARRAY(i2[24], a87173data[24])), i4085[24], i4089[24], java.lang.Object(java.lang.String(i4231[24])))), ≥)∧[(-1)Bound*bni_91] + [bni_91]i4089[24] + [(-1)bni_91]i4085[24] + [bni_91]i2[24] ≥ 0∧[(-1)bso_92] ≥ 0)



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

    (232)    (i4085[24] + [1] ≥ 0∧i4089[24] + [-1] ≥ 0∧i2[24] + [-1] + [-1]i4085[24] ≥ 0∧i4085[24] + [-1] ≥ 0∧i4085[24] ≥ 0∧i2[24] + [-2] + [-1]i4085[24] ≥ 0∧[-1] + [-1]i4231[24] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR7(&&(&&(&&(&&(&&(&&(>(+(i4085[24], 1), 0), <(+(i4085[24], 1), i2[24])), !(=(i4231[24], 0))), >(i4085[24], 0)), <(i4085[24], i2[24])), >(i4089[24], 0)), >(+(+(i4085[24], 1), 1), 0)), java.lang.Object(ARRAY(i2[24], a87173data[24])), i4085[24], i4089[24], java.lang.Object(java.lang.String(i4231[24])))), ≥)∧0 = 0∧[(-1)Bound*bni_91] + [bni_91]i4089[24] + [(-1)bni_91]i4085[24] + [bni_91]i2[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)    (i4085[24] + [1] ≥ 0∧i4089[24] + [-1] ≥ 0∧i2[24] + [-1] + [-1]i4085[24] ≥ 0∧i4085[24] + [-1] ≥ 0∧i4085[24] ≥ 0∧i2[24] + [-2] + [-1]i4085[24] ≥ 0∧i4231[24] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR7(&&(&&(&&(&&(&&(&&(>(+(i4085[24], 1), 0), <(+(i4085[24], 1), i2[24])), !(=(i4231[24], 0))), >(i4085[24], 0)), <(i4085[24], i2[24])), >(i4089[24], 0)), >(+(+(i4085[24], 1), 1), 0)), java.lang.Object(ARRAY(i2[24], a87173data[24])), i4085[24], i4089[24], java.lang.Object(java.lang.String(i4231[24])))), ≥)∧0 = 0∧[(-1)Bound*bni_91] + [bni_91]i4089[24] + [(-1)bni_91]i4085[24] + [bni_91]i2[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] + i4085[24] ≥ 0∧i4089[24] + [-1] ≥ 0∧i2[24] + [-2] + [-1]i4085[24] ≥ 0∧i4085[24] ≥ 0∧[1] + i4085[24] ≥ 0∧i2[24] + [-3] + [-1]i4085[24] ≥ 0∧[-1] + [-1]i4231[24] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR7(&&(&&(&&(&&(&&(&&(>(+(i4085[24], 1), 0), <(+(i4085[24], 1), i2[24])), !(=(i4231[24], 0))), >(i4085[24], 0)), <(i4085[24], i2[24])), >(i4089[24], 0)), >(+(+(i4085[24], 1), 1), 0)), java.lang.Object(ARRAY(i2[24], a87173data[24])), i4085[24], i4089[24], java.lang.Object(java.lang.String(i4231[24])))), ≥)∧0 = 0∧[(-1)Bound*bni_91 + (-1)bni_91] + [bni_91]i4089[24] + [(-1)bni_91]i4085[24] + [bni_91]i2[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] + i4085[24] ≥ 0∧i4089[24] ≥ 0∧i2[24] + [-2] + [-1]i4085[24] ≥ 0∧i4085[24] ≥ 0∧[1] + i4085[24] ≥ 0∧i2[24] + [-3] + [-1]i4085[24] ≥ 0∧[-1] + [-1]i4231[24] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR7(&&(&&(&&(&&(&&(&&(>(+(i4085[24], 1), 0), <(+(i4085[24], 1), i2[24])), !(=(i4231[24], 0))), >(i4085[24], 0)), <(i4085[24], i2[24])), >(i4089[24], 0)), >(+(+(i4085[24], 1), 1), 0)), java.lang.Object(ARRAY(i2[24], a87173data[24])), i4085[24], i4089[24], java.lang.Object(java.lang.String(i4231[24])))), ≥)∧0 = 0∧[(-1)Bound*bni_91] + [bni_91]i4089[24] + [(-1)bni_91]i4085[24] + [bni_91]i2[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] + i4085[24] ≥ 0∧i4089[24] ≥ 0∧i2[24] ≥ 0∧i4085[24] ≥ 0∧[1] + i4085[24] ≥ 0∧[-1] + i2[24] ≥ 0∧[-1] + [-1]i4231[24] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR7(&&(&&(&&(&&(&&(&&(>(+(i4085[24], 1), 0), <(+(i4085[24], 1), i2[24])), !(=(i4231[24], 0))), >(i4085[24], 0)), <(i4085[24], i2[24])), >(i4089[24], 0)), >(+(+(i4085[24], 1), 1), 0)), java.lang.Object(ARRAY(i2[24], a87173data[24])), i4085[24], i4089[24], java.lang.Object(java.lang.String(i4231[24])))), ≥)∧0 = 0∧[(-1)Bound*bni_91 + (2)bni_91] + [bni_91]i4089[24] + [bni_91]i2[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] + i4085[24] ≥ 0∧i4089[24] ≥ 0∧[1] + i2[24] ≥ 0∧i4085[24] ≥ 0∧[1] + i4085[24] ≥ 0∧i2[24] ≥ 0∧[-1] + [-1]i4231[24] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR7(&&(&&(&&(&&(&&(&&(>(+(i4085[24], 1), 0), <(+(i4085[24], 1), i2[24])), !(=(i4231[24], 0))), >(i4085[24], 0)), <(i4085[24], i2[24])), >(i4089[24], 0)), >(+(+(i4085[24], 1), 1), 0)), java.lang.Object(ARRAY(i2[24], a87173data[24])), i4085[24], i4089[24], java.lang.Object(java.lang.String(i4231[24])))), ≥)∧0 = 0∧[(-1)Bound*bni_91 + (3)bni_91] + [bni_91]i4089[24] + [bni_91]i2[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] + i4085[24] ≥ 0∧i4089[24] ≥ 0∧[1] + i2[24] ≥ 0∧i4085[24] ≥ 0∧[1] + i4085[24] ≥ 0∧i2[24] ≥ 0∧i4231[24] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR7(&&(&&(&&(&&(&&(&&(>(+(i4085[24], 1), 0), <(+(i4085[24], 1), i2[24])), !(=(i4231[24], 0))), >(i4085[24], 0)), <(i4085[24], i2[24])), >(i4089[24], 0)), >(+(+(i4085[24], 1), 1), 0)), java.lang.Object(ARRAY(i2[24], a87173data[24])), i4085[24], i4089[24], java.lang.Object(java.lang.String(i4231[24])))), ≥)∧0 = 0∧[(-1)Bound*bni_91 + (3)bni_91] + [bni_91]i4089[24] + [bni_91]i2[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] + i4085[24] ≥ 0∧i4089[24] + [-1] ≥ 0∧i2[24] + [-2] + [-1]i4085[24] ≥ 0∧i4085[24] ≥ 0∧[1] + i4085[24] ≥ 0∧i2[24] + [-3] + [-1]i4085[24] ≥ 0∧i4231[24] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR7(&&(&&(&&(&&(&&(&&(>(+(i4085[24], 1), 0), <(+(i4085[24], 1), i2[24])), !(=(i4231[24], 0))), >(i4085[24], 0)), <(i4085[24], i2[24])), >(i4089[24], 0)), >(+(+(i4085[24], 1), 1), 0)), java.lang.Object(ARRAY(i2[24], a87173data[24])), i4085[24], i4089[24], java.lang.Object(java.lang.String(i4231[24])))), ≥)∧0 = 0∧[(-1)Bound*bni_91 + (-1)bni_91] + [bni_91]i4089[24] + [(-1)bni_91]i4085[24] + [bni_91]i2[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] + i4085[24] ≥ 0∧i4089[24] ≥ 0∧i2[24] + [-2] + [-1]i4085[24] ≥ 0∧i4085[24] ≥ 0∧[1] + i4085[24] ≥ 0∧i2[24] + [-3] + [-1]i4085[24] ≥ 0∧i4231[24] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR7(&&(&&(&&(&&(&&(&&(>(+(i4085[24], 1), 0), <(+(i4085[24], 1), i2[24])), !(=(i4231[24], 0))), >(i4085[24], 0)), <(i4085[24], i2[24])), >(i4089[24], 0)), >(+(+(i4085[24], 1), 1), 0)), java.lang.Object(ARRAY(i2[24], a87173data[24])), i4085[24], i4089[24], java.lang.Object(java.lang.String(i4231[24])))), ≥)∧0 = 0∧[(-1)Bound*bni_91] + [bni_91]i4089[24] + [(-1)bni_91]i4085[24] + [bni_91]i2[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] + i4085[24] ≥ 0∧i4089[24] ≥ 0∧i2[24] ≥ 0∧i4085[24] ≥ 0∧[1] + i4085[24] ≥ 0∧[-1] + i2[24] ≥ 0∧i4231[24] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR7(&&(&&(&&(&&(&&(&&(>(+(i4085[24], 1), 0), <(+(i4085[24], 1), i2[24])), !(=(i4231[24], 0))), >(i4085[24], 0)), <(i4085[24], i2[24])), >(i4089[24], 0)), >(+(+(i4085[24], 1), 1), 0)), java.lang.Object(ARRAY(i2[24], a87173data[24])), i4085[24], i4089[24], java.lang.Object(java.lang.String(i4231[24])))), ≥)∧0 = 0∧[(-1)Bound*bni_91 + (2)bni_91] + [bni_91]i4089[24] + [bni_91]i2[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] + i4085[24] ≥ 0∧i4089[24] ≥ 0∧[1] + i2[24] ≥ 0∧i4085[24] ≥ 0∧[1] + i4085[24] ≥ 0∧i2[24] ≥ 0∧i4231[24] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR7(&&(&&(&&(&&(&&(&&(>(+(i4085[24], 1), 0), <(+(i4085[24], 1), i2[24])), !(=(i4231[24], 0))), >(i4085[24], 0)), <(i4085[24], i2[24])), >(i4089[24], 0)), >(+(+(i4085[24], 1), 1), 0)), java.lang.Object(ARRAY(i2[24], a87173data[24])), i4085[24], i4089[24], java.lang.Object(java.lang.String(i4231[24])))), ≥)∧0 = 0∧[(-1)Bound*bni_91 + (3)bni_91] + [bni_91]i4089[24] + [bni_91]i2[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] + i4085[24] ≥ 0∧i4089[24] ≥ 0∧[1] + i2[24] ≥ 0∧i4085[24] ≥ 0∧[1] + i4085[24] ≥ 0∧i2[24] ≥ 0∧i4231[24] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR7(&&(&&(&&(&&(&&(&&(>(+(i4085[24], 1), 0), <(+(i4085[24], 1), i2[24])), !(=(i4231[24], 0))), >(i4085[24], 0)), <(i4085[24], i2[24])), >(i4089[24], 0)), >(+(+(i4085[24], 1), 1), 0)), java.lang.Object(ARRAY(i2[24], a87173data[24])), i4085[24], i4089[24], java.lang.Object(java.lang.String(i4231[24])))), ≥)∧0 = 0∧[(-1)Bound*bni_91 + (3)bni_91] + [bni_91]i4089[24] + [bni_91]i2[24] ≥ 0∧0 = 0∧[(-1)bso_92] ≥ 0)







For Pair COND_LOAD35385ARR7(TRUE, java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i4231))) → NEW39442(java.lang.Object(ARRAY(i2, a87173data)), +(+(i4085, 1), 1), i4089) the following chains were created:
  • We consider the chain COND_LOAD35385ARR7(TRUE, java.lang.Object(ARRAY(i2[25], a87173data[25])), i4085[25], i4089[25], java.lang.Object(java.lang.String(i4231[25]))) → NEW39442(java.lang.Object(ARRAY(i2[25], a87173data[25])), +(+(i4085[25], 1), 1), i4089[25]) which results in the following constraint:

    (244)    (COND_LOAD35385ARR7(TRUE, java.lang.Object(ARRAY(i2[25], a87173data[25])), i4085[25], i4089[25], java.lang.Object(java.lang.String(i4231[25])))≥NonInfC∧COND_LOAD35385ARR7(TRUE, java.lang.Object(ARRAY(i2[25], a87173data[25])), i4085[25], i4089[25], java.lang.Object(java.lang.String(i4231[25])))≥NEW39442(java.lang.Object(ARRAY(i2[25], a87173data[25])), +(+(i4085[25], 1), 1), i4089[25])∧(UIncreasing(NEW39442(java.lang.Object(ARRAY(i2[25], a87173data[25])), +(+(i4085[25], 1), 1), i4089[25])), ≥))



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

    (245)    ((UIncreasing(NEW39442(java.lang.Object(ARRAY(i2[25], a87173data[25])), +(+(i4085[25], 1), 1), i4089[25])), ≥)∧[2 + (-1)bso_94] ≥ 0)



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

    (246)    ((UIncreasing(NEW39442(java.lang.Object(ARRAY(i2[25], a87173data[25])), +(+(i4085[25], 1), 1), i4089[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(NEW39442(java.lang.Object(ARRAY(i2[25], a87173data[25])), +(+(i4085[25], 1), 1), i4089[25])), ≥)∧[2 + (-1)bso_94] ≥ 0)



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

    (248)    ((UIncreasing(NEW39442(java.lang.Object(ARRAY(i2[25], a87173data[25])), +(+(i4085[25], 1), 1), i4089[25])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[2 + (-1)bso_94] ≥ 0)







For Pair LOAD35385(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089) → LOAD35385ARR8(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i5087)), java.lang.Object(java.lang.String(i4231))) the following chains were created:
  • We consider the chain LOAD35385(java.lang.Object(ARRAY(i2[26], a87173data[26])), i4085[26], i4089[26]) → LOAD35385ARR8(java.lang.Object(ARRAY(i2[26], a87173data[26])), i4085[26], i4089[26], java.lang.Object(java.lang.String(i5087[26])), java.lang.Object(java.lang.String(i4231[26]))) which results in the following constraint:

    (249)    (LOAD35385(java.lang.Object(ARRAY(i2[26], a87173data[26])), i4085[26], i4089[26])≥NonInfC∧LOAD35385(java.lang.Object(ARRAY(i2[26], a87173data[26])), i4085[26], i4089[26])≥LOAD35385ARR8(java.lang.Object(ARRAY(i2[26], a87173data[26])), i4085[26], i4089[26], java.lang.Object(java.lang.String(i5087[26])), java.lang.Object(java.lang.String(i4231[26])))∧(UIncreasing(LOAD35385ARR8(java.lang.Object(ARRAY(i2[26], a87173data[26])), i4085[26], i4089[26], java.lang.Object(java.lang.String(i5087[26])), java.lang.Object(java.lang.String(i4231[26])))), ≥))



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

    (250)    ((UIncreasing(LOAD35385ARR8(java.lang.Object(ARRAY(i2[26], a87173data[26])), i4085[26], i4089[26], java.lang.Object(java.lang.String(i5087[26])), java.lang.Object(java.lang.String(i4231[26])))), ≥)∧[(-1)bso_96] ≥ 0)



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

    (251)    ((UIncreasing(LOAD35385ARR8(java.lang.Object(ARRAY(i2[26], a87173data[26])), i4085[26], i4089[26], java.lang.Object(java.lang.String(i5087[26])), java.lang.Object(java.lang.String(i4231[26])))), ≥)∧[(-1)bso_96] ≥ 0)



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

    (252)    ((UIncreasing(LOAD35385ARR8(java.lang.Object(ARRAY(i2[26], a87173data[26])), i4085[26], i4089[26], java.lang.Object(java.lang.String(i5087[26])), java.lang.Object(java.lang.String(i4231[26])))), ≥)∧[(-1)bso_96] ≥ 0)



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

    (253)    ((UIncreasing(LOAD35385ARR8(java.lang.Object(ARRAY(i2[26], a87173data[26])), i4085[26], i4089[26], java.lang.Object(java.lang.String(i5087[26])), java.lang.Object(java.lang.String(i4231[26])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_96] ≥ 0)







For Pair LOAD35385ARR8(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i5087)), java.lang.Object(java.lang.String(i4231))) → COND_LOAD35385ARR8(&&(&&(&&(&&(&&(&&(&&(!(=(i5087, 0)), >(+(i4085, 1), 0)), <(+(i4085, 1), i2)), !(=(i4231, 0))), >(i4085, 0)), <(i4085, i2)), >(i4089, 0)), >(+(+(i4085, 1), 1), 0)), java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i5087)), java.lang.Object(java.lang.String(i4231))) the following chains were created:
  • We consider the chain LOAD35385ARR8(java.lang.Object(ARRAY(i2[27], a87173data[27])), i4085[27], i4089[27], java.lang.Object(java.lang.String(i5087[27])), java.lang.Object(java.lang.String(i4231[27]))) → COND_LOAD35385ARR8(&&(&&(&&(&&(&&(&&(&&(!(=(i5087[27], 0)), >(+(i4085[27], 1), 0)), <(+(i4085[27], 1), i2[27])), !(=(i4231[27], 0))), >(i4085[27], 0)), <(i4085[27], i2[27])), >(i4089[27], 0)), >(+(+(i4085[27], 1), 1), 0)), java.lang.Object(ARRAY(i2[27], a87173data[27])), i4085[27], i4089[27], java.lang.Object(java.lang.String(i5087[27])), java.lang.Object(java.lang.String(i4231[27]))), COND_LOAD35385ARR8(TRUE, java.lang.Object(ARRAY(i2[28], a87173data[28])), i4085[28], i4089[28], java.lang.Object(java.lang.String(i5087[28])), java.lang.Object(java.lang.String(i4231[28]))) → NEW39442(java.lang.Object(ARRAY(i2[28], a87173data[28])), +(+(i4085[28], 1), 1), i4089[28]) which results in the following constraint:

    (254)    (i4089[27]=i4089[28]i5087[27]=i5087[28]&&(&&(&&(&&(&&(&&(&&(!(=(i5087[27], 0)), >(+(i4085[27], 1), 0)), <(+(i4085[27], 1), i2[27])), !(=(i4231[27], 0))), >(i4085[27], 0)), <(i4085[27], i2[27])), >(i4089[27], 0)), >(+(+(i4085[27], 1), 1), 0))=TRUEi4231[27]=i4231[28]i4085[27]=i4085[28]i2[27]=i2[28]a87173data[27]=a87173data[28]LOAD35385ARR8(java.lang.Object(ARRAY(i2[27], a87173data[27])), i4085[27], i4089[27], java.lang.Object(java.lang.String(i5087[27])), java.lang.Object(java.lang.String(i4231[27])))≥NonInfC∧LOAD35385ARR8(java.lang.Object(ARRAY(i2[27], a87173data[27])), i4085[27], i4089[27], java.lang.Object(java.lang.String(i5087[27])), java.lang.Object(java.lang.String(i4231[27])))≥COND_LOAD35385ARR8(&&(&&(&&(&&(&&(&&(&&(!(=(i5087[27], 0)), >(+(i4085[27], 1), 0)), <(+(i4085[27], 1), i2[27])), !(=(i4231[27], 0))), >(i4085[27], 0)), <(i4085[27], i2[27])), >(i4089[27], 0)), >(+(+(i4085[27], 1), 1), 0)), java.lang.Object(ARRAY(i2[27], a87173data[27])), i4085[27], i4089[27], java.lang.Object(java.lang.String(i5087[27])), java.lang.Object(java.lang.String(i4231[27])))∧(UIncreasing(COND_LOAD35385ARR8(&&(&&(&&(&&(&&(&&(&&(!(=(i5087[27], 0)), >(+(i4085[27], 1), 0)), <(+(i4085[27], 1), i2[27])), !(=(i4231[27], 0))), >(i4085[27], 0)), <(i4085[27], i2[27])), >(i4089[27], 0)), >(+(+(i4085[27], 1), 1), 0)), java.lang.Object(ARRAY(i2[27], a87173data[27])), i4085[27], i4089[27], java.lang.Object(java.lang.String(i5087[27])), java.lang.Object(java.lang.String(i4231[27])))), ≥))



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

    (255)    (>(+(+(i4085[27], 1), 1), 0)=TRUE>(i4089[27], 0)=TRUE<(i4085[27], i2[27])=TRUE>(i4085[27], 0)=TRUE<(+(i4085[27], 1), i2[27])=TRUE>(+(i4085[27], 1), 0)=TRUE<(i4231[27], 0)=TRUE<(i5087[27], 0)=TRUELOAD35385ARR8(java.lang.Object(ARRAY(i2[27], a87173data[27])), i4085[27], i4089[27], java.lang.Object(java.lang.String(i5087[27])), java.lang.Object(java.lang.String(i4231[27])))≥NonInfC∧LOAD35385ARR8(java.lang.Object(ARRAY(i2[27], a87173data[27])), i4085[27], i4089[27], java.lang.Object(java.lang.String(i5087[27])), java.lang.Object(java.lang.String(i4231[27])))≥COND_LOAD35385ARR8(&&(&&(&&(&&(&&(&&(&&(!(=(i5087[27], 0)), >(+(i4085[27], 1), 0)), <(+(i4085[27], 1), i2[27])), !(=(i4231[27], 0))), >(i4085[27], 0)), <(i4085[27], i2[27])), >(i4089[27], 0)), >(+(+(i4085[27], 1), 1), 0)), java.lang.Object(ARRAY(i2[27], a87173data[27])), i4085[27], i4089[27], java.lang.Object(java.lang.String(i5087[27])), java.lang.Object(java.lang.String(i4231[27])))∧(UIncreasing(COND_LOAD35385ARR8(&&(&&(&&(&&(&&(&&(&&(!(=(i5087[27], 0)), >(+(i4085[27], 1), 0)), <(+(i4085[27], 1), i2[27])), !(=(i4231[27], 0))), >(i4085[27], 0)), <(i4085[27], i2[27])), >(i4089[27], 0)), >(+(+(i4085[27], 1), 1), 0)), java.lang.Object(ARRAY(i2[27], a87173data[27])), i4085[27], i4089[27], java.lang.Object(java.lang.String(i5087[27])), java.lang.Object(java.lang.String(i4231[27])))), ≥))


    (256)    (>(+(+(i4085[27], 1), 1), 0)=TRUE>(i4089[27], 0)=TRUE<(i4085[27], i2[27])=TRUE>(i4085[27], 0)=TRUE<(+(i4085[27], 1), i2[27])=TRUE>(+(i4085[27], 1), 0)=TRUE<(i4231[27], 0)=TRUE>(i5087[27], 0)=TRUELOAD35385ARR8(java.lang.Object(ARRAY(i2[27], a87173data[27])), i4085[27], i4089[27], java.lang.Object(java.lang.String(i5087[27])), java.lang.Object(java.lang.String(i4231[27])))≥NonInfC∧LOAD35385ARR8(java.lang.Object(ARRAY(i2[27], a87173data[27])), i4085[27], i4089[27], java.lang.Object(java.lang.String(i5087[27])), java.lang.Object(java.lang.String(i4231[27])))≥COND_LOAD35385ARR8(&&(&&(&&(&&(&&(&&(&&(!(=(i5087[27], 0)), >(+(i4085[27], 1), 0)), <(+(i4085[27], 1), i2[27])), !(=(i4231[27], 0))), >(i4085[27], 0)), <(i4085[27], i2[27])), >(i4089[27], 0)), >(+(+(i4085[27], 1), 1), 0)), java.lang.Object(ARRAY(i2[27], a87173data[27])), i4085[27], i4089[27], java.lang.Object(java.lang.String(i5087[27])), java.lang.Object(java.lang.String(i4231[27])))∧(UIncreasing(COND_LOAD35385ARR8(&&(&&(&&(&&(&&(&&(&&(!(=(i5087[27], 0)), >(+(i4085[27], 1), 0)), <(+(i4085[27], 1), i2[27])), !(=(i4231[27], 0))), >(i4085[27], 0)), <(i4085[27], i2[27])), >(i4089[27], 0)), >(+(+(i4085[27], 1), 1), 0)), java.lang.Object(ARRAY(i2[27], a87173data[27])), i4085[27], i4089[27], java.lang.Object(java.lang.String(i5087[27])), java.lang.Object(java.lang.String(i4231[27])))), ≥))



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

    (257)    (i4085[27] + [1] ≥ 0∧i4089[27] + [-1] ≥ 0∧i2[27] + [-1] + [-1]i4085[27] ≥ 0∧i4085[27] + [-1] ≥ 0∧i2[27] + [-2] + [-1]i4085[27] ≥ 0∧i4085[27] ≥ 0∧[-1] + [-1]i4231[27] ≥ 0∧[-1] + [-1]i5087[27] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR8(&&(&&(&&(&&(&&(&&(&&(!(=(i5087[27], 0)), >(+(i4085[27], 1), 0)), <(+(i4085[27], 1), i2[27])), !(=(i4231[27], 0))), >(i4085[27], 0)), <(i4085[27], i2[27])), >(i4089[27], 0)), >(+(+(i4085[27], 1), 1), 0)), java.lang.Object(ARRAY(i2[27], a87173data[27])), i4085[27], i4089[27], java.lang.Object(java.lang.String(i5087[27])), java.lang.Object(java.lang.String(i4231[27])))), ≥)∧[(-1)Bound*bni_97] + [bni_97]i4089[27] + [(-1)bni_97]i4085[27] + [bni_97]i2[27] ≥ 0∧[(-1)bso_98] ≥ 0)



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

    (258)    (i4085[27] + [1] ≥ 0∧i4089[27] + [-1] ≥ 0∧i2[27] + [-1] + [-1]i4085[27] ≥ 0∧i4085[27] + [-1] ≥ 0∧i2[27] + [-2] + [-1]i4085[27] ≥ 0∧i4085[27] ≥ 0∧[-1] + [-1]i4231[27] ≥ 0∧i5087[27] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR8(&&(&&(&&(&&(&&(&&(&&(!(=(i5087[27], 0)), >(+(i4085[27], 1), 0)), <(+(i4085[27], 1), i2[27])), !(=(i4231[27], 0))), >(i4085[27], 0)), <(i4085[27], i2[27])), >(i4089[27], 0)), >(+(+(i4085[27], 1), 1), 0)), java.lang.Object(ARRAY(i2[27], a87173data[27])), i4085[27], i4089[27], java.lang.Object(java.lang.String(i5087[27])), java.lang.Object(java.lang.String(i4231[27])))), ≥)∧[(-1)Bound*bni_97] + [bni_97]i4089[27] + [(-1)bni_97]i4085[27] + [bni_97]i2[27] ≥ 0∧[(-1)bso_98] ≥ 0)



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

    (259)    (i4085[27] + [1] ≥ 0∧i4089[27] + [-1] ≥ 0∧i2[27] + [-1] + [-1]i4085[27] ≥ 0∧i4085[27] + [-1] ≥ 0∧i2[27] + [-2] + [-1]i4085[27] ≥ 0∧i4085[27] ≥ 0∧[-1] + [-1]i4231[27] ≥ 0∧[-1] + [-1]i5087[27] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR8(&&(&&(&&(&&(&&(&&(&&(!(=(i5087[27], 0)), >(+(i4085[27], 1), 0)), <(+(i4085[27], 1), i2[27])), !(=(i4231[27], 0))), >(i4085[27], 0)), <(i4085[27], i2[27])), >(i4089[27], 0)), >(+(+(i4085[27], 1), 1), 0)), java.lang.Object(ARRAY(i2[27], a87173data[27])), i4085[27], i4089[27], java.lang.Object(java.lang.String(i5087[27])), java.lang.Object(java.lang.String(i4231[27])))), ≥)∧[(-1)Bound*bni_97] + [bni_97]i4089[27] + [(-1)bni_97]i4085[27] + [bni_97]i2[27] ≥ 0∧[(-1)bso_98] ≥ 0)



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

    (260)    (i4085[27] + [1] ≥ 0∧i4089[27] + [-1] ≥ 0∧i2[27] + [-1] + [-1]i4085[27] ≥ 0∧i4085[27] + [-1] ≥ 0∧i2[27] + [-2] + [-1]i4085[27] ≥ 0∧i4085[27] ≥ 0∧[-1] + [-1]i4231[27] ≥ 0∧i5087[27] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR8(&&(&&(&&(&&(&&(&&(&&(!(=(i5087[27], 0)), >(+(i4085[27], 1), 0)), <(+(i4085[27], 1), i2[27])), !(=(i4231[27], 0))), >(i4085[27], 0)), <(i4085[27], i2[27])), >(i4089[27], 0)), >(+(+(i4085[27], 1), 1), 0)), java.lang.Object(ARRAY(i2[27], a87173data[27])), i4085[27], i4089[27], java.lang.Object(java.lang.String(i5087[27])), java.lang.Object(java.lang.String(i4231[27])))), ≥)∧[(-1)Bound*bni_97] + [bni_97]i4089[27] + [(-1)bni_97]i4085[27] + [bni_97]i2[27] ≥ 0∧[(-1)bso_98] ≥ 0)



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

    (262)    (i4085[27] + [1] ≥ 0∧i4089[27] + [-1] ≥ 0∧i2[27] + [-1] + [-1]i4085[27] ≥ 0∧i4085[27] + [-1] ≥ 0∧i2[27] + [-2] + [-1]i4085[27] ≥ 0∧i4085[27] ≥ 0∧i4231[27] + [-1] ≥ 0∧[-1] + [-1]i5087[27] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR8(&&(&&(&&(&&(&&(&&(&&(!(=(i5087[27], 0)), >(+(i4085[27], 1), 0)), <(+(i4085[27], 1), i2[27])), !(=(i4231[27], 0))), >(i4085[27], 0)), <(i4085[27], i2[27])), >(i4089[27], 0)), >(+(+(i4085[27], 1), 1), 0)), java.lang.Object(ARRAY(i2[27], a87173data[27])), i4085[27], i4089[27], java.lang.Object(java.lang.String(i5087[27])), java.lang.Object(java.lang.String(i4231[27])))), ≥)∧[(-1)Bound*bni_97] + [bni_97]i4089[27] + [(-1)bni_97]i4085[27] + [bni_97]i2[27] ≥ 0∧[(-1)bso_98] ≥ 0)



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

    (264)    (i4085[27] + [1] ≥ 0∧i4089[27] + [-1] ≥ 0∧i2[27] + [-1] + [-1]i4085[27] ≥ 0∧i4085[27] + [-1] ≥ 0∧i2[27] + [-2] + [-1]i4085[27] ≥ 0∧i4085[27] ≥ 0∧i4231[27] + [-1] ≥ 0∧i5087[27] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR8(&&(&&(&&(&&(&&(&&(&&(!(=(i5087[27], 0)), >(+(i4085[27], 1), 0)), <(+(i4085[27], 1), i2[27])), !(=(i4231[27], 0))), >(i4085[27], 0)), <(i4085[27], i2[27])), >(i4089[27], 0)), >(+(+(i4085[27], 1), 1), 0)), java.lang.Object(ARRAY(i2[27], a87173data[27])), i4085[27], i4089[27], java.lang.Object(java.lang.String(i5087[27])), java.lang.Object(java.lang.String(i4231[27])))), ≥)∧[(-1)Bound*bni_97] + [bni_97]i4089[27] + [(-1)bni_97]i4085[27] + [bni_97]i2[27] ≥ 0∧[(-1)bso_98] ≥ 0)



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

    (265)    (i4085[27] + [1] ≥ 0∧i4089[27] + [-1] ≥ 0∧i2[27] + [-1] + [-1]i4085[27] ≥ 0∧i4085[27] + [-1] ≥ 0∧i2[27] + [-2] + [-1]i4085[27] ≥ 0∧i4085[27] ≥ 0∧[-1] + [-1]i4231[27] ≥ 0∧[-1] + [-1]i5087[27] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR8(&&(&&(&&(&&(&&(&&(&&(!(=(i5087[27], 0)), >(+(i4085[27], 1), 0)), <(+(i4085[27], 1), i2[27])), !(=(i4231[27], 0))), >(i4085[27], 0)), <(i4085[27], i2[27])), >(i4089[27], 0)), >(+(+(i4085[27], 1), 1), 0)), java.lang.Object(ARRAY(i2[27], a87173data[27])), i4085[27], i4089[27], java.lang.Object(java.lang.String(i5087[27])), java.lang.Object(java.lang.String(i4231[27])))), ≥)∧[(-1)Bound*bni_97] + [bni_97]i4089[27] + [(-1)bni_97]i4085[27] + [bni_97]i2[27] ≥ 0∧[(-1)bso_98] ≥ 0)



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

    (266)    (i4085[27] + [1] ≥ 0∧i4089[27] + [-1] ≥ 0∧i2[27] + [-1] + [-1]i4085[27] ≥ 0∧i4085[27] + [-1] ≥ 0∧i2[27] + [-2] + [-1]i4085[27] ≥ 0∧i4085[27] ≥ 0∧[-1] + [-1]i4231[27] ≥ 0∧i5087[27] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR8(&&(&&(&&(&&(&&(&&(&&(!(=(i5087[27], 0)), >(+(i4085[27], 1), 0)), <(+(i4085[27], 1), i2[27])), !(=(i4231[27], 0))), >(i4085[27], 0)), <(i4085[27], i2[27])), >(i4089[27], 0)), >(+(+(i4085[27], 1), 1), 0)), java.lang.Object(ARRAY(i2[27], a87173data[27])), i4085[27], i4089[27], java.lang.Object(java.lang.String(i5087[27])), java.lang.Object(java.lang.String(i4231[27])))), ≥)∧[(-1)Bound*bni_97] + [bni_97]i4089[27] + [(-1)bni_97]i4085[27] + [bni_97]i2[27] ≥ 0∧[(-1)bso_98] ≥ 0)



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

    (267)    (i4085[27] + [1] ≥ 0∧i4089[27] + [-1] ≥ 0∧i2[27] + [-1] + [-1]i4085[27] ≥ 0∧i4085[27] + [-1] ≥ 0∧i2[27] + [-2] + [-1]i4085[27] ≥ 0∧i4085[27] ≥ 0∧i4231[27] + [-1] ≥ 0∧[-1] + [-1]i5087[27] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR8(&&(&&(&&(&&(&&(&&(&&(!(=(i5087[27], 0)), >(+(i4085[27], 1), 0)), <(+(i4085[27], 1), i2[27])), !(=(i4231[27], 0))), >(i4085[27], 0)), <(i4085[27], i2[27])), >(i4089[27], 0)), >(+(+(i4085[27], 1), 1), 0)), java.lang.Object(ARRAY(i2[27], a87173data[27])), i4085[27], i4089[27], java.lang.Object(java.lang.String(i5087[27])), java.lang.Object(java.lang.String(i4231[27])))), ≥)∧[(-1)Bound*bni_97] + [bni_97]i4089[27] + [(-1)bni_97]i4085[27] + [bni_97]i2[27] ≥ 0∧[(-1)bso_98] ≥ 0)



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

    (268)    (i4085[27] + [1] ≥ 0∧i4089[27] + [-1] ≥ 0∧i2[27] + [-1] + [-1]i4085[27] ≥ 0∧i4085[27] + [-1] ≥ 0∧i2[27] + [-2] + [-1]i4085[27] ≥ 0∧i4085[27] ≥ 0∧i4231[27] + [-1] ≥ 0∧i5087[27] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR8(&&(&&(&&(&&(&&(&&(&&(!(=(i5087[27], 0)), >(+(i4085[27], 1), 0)), <(+(i4085[27], 1), i2[27])), !(=(i4231[27], 0))), >(i4085[27], 0)), <(i4085[27], i2[27])), >(i4089[27], 0)), >(+(+(i4085[27], 1), 1), 0)), java.lang.Object(ARRAY(i2[27], a87173data[27])), i4085[27], i4089[27], java.lang.Object(java.lang.String(i5087[27])), java.lang.Object(java.lang.String(i4231[27])))), ≥)∧[(-1)Bound*bni_97] + [bni_97]i4089[27] + [(-1)bni_97]i4085[27] + [bni_97]i2[27] ≥ 0∧[(-1)bso_98] ≥ 0)



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

    (269)    (i4085[27] + [1] ≥ 0∧i4089[27] + [-1] ≥ 0∧i2[27] + [-1] + [-1]i4085[27] ≥ 0∧i4085[27] + [-1] ≥ 0∧i2[27] + [-2] + [-1]i4085[27] ≥ 0∧i4085[27] ≥ 0∧[-1] + [-1]i4231[27] ≥ 0∧[-1] + [-1]i5087[27] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR8(&&(&&(&&(&&(&&(&&(&&(!(=(i5087[27], 0)), >(+(i4085[27], 1), 0)), <(+(i4085[27], 1), i2[27])), !(=(i4231[27], 0))), >(i4085[27], 0)), <(i4085[27], i2[27])), >(i4089[27], 0)), >(+(+(i4085[27], 1), 1), 0)), java.lang.Object(ARRAY(i2[27], a87173data[27])), i4085[27], i4089[27], java.lang.Object(java.lang.String(i5087[27])), java.lang.Object(java.lang.String(i4231[27])))), ≥)∧0 = 0∧[(-1)Bound*bni_97] + [bni_97]i4089[27] + [(-1)bni_97]i4085[27] + [bni_97]i2[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)    (i4085[27] + [1] ≥ 0∧i4089[27] + [-1] ≥ 0∧i2[27] + [-1] + [-1]i4085[27] ≥ 0∧i4085[27] + [-1] ≥ 0∧i2[27] + [-2] + [-1]i4085[27] ≥ 0∧i4085[27] ≥ 0∧[-1] + [-1]i4231[27] ≥ 0∧i5087[27] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR8(&&(&&(&&(&&(&&(&&(&&(!(=(i5087[27], 0)), >(+(i4085[27], 1), 0)), <(+(i4085[27], 1), i2[27])), !(=(i4231[27], 0))), >(i4085[27], 0)), <(i4085[27], i2[27])), >(i4089[27], 0)), >(+(+(i4085[27], 1), 1), 0)), java.lang.Object(ARRAY(i2[27], a87173data[27])), i4085[27], i4089[27], java.lang.Object(java.lang.String(i5087[27])), java.lang.Object(java.lang.String(i4231[27])))), ≥)∧0 = 0∧[(-1)Bound*bni_97] + [bni_97]i4089[27] + [(-1)bni_97]i4085[27] + [bni_97]i2[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)    (i4085[27] + [1] ≥ 0∧i4089[27] + [-1] ≥ 0∧i2[27] + [-1] + [-1]i4085[27] ≥ 0∧i4085[27] + [-1] ≥ 0∧i2[27] + [-2] + [-1]i4085[27] ≥ 0∧i4085[27] ≥ 0∧i4231[27] + [-1] ≥ 0∧[-1] + [-1]i5087[27] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR8(&&(&&(&&(&&(&&(&&(&&(!(=(i5087[27], 0)), >(+(i4085[27], 1), 0)), <(+(i4085[27], 1), i2[27])), !(=(i4231[27], 0))), >(i4085[27], 0)), <(i4085[27], i2[27])), >(i4089[27], 0)), >(+(+(i4085[27], 1), 1), 0)), java.lang.Object(ARRAY(i2[27], a87173data[27])), i4085[27], i4089[27], java.lang.Object(java.lang.String(i5087[27])), java.lang.Object(java.lang.String(i4231[27])))), ≥)∧0 = 0∧[(-1)Bound*bni_97] + [bni_97]i4089[27] + [(-1)bni_97]i4085[27] + [bni_97]i2[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)    (i4085[27] + [1] ≥ 0∧i4089[27] + [-1] ≥ 0∧i2[27] + [-1] + [-1]i4085[27] ≥ 0∧i4085[27] + [-1] ≥ 0∧i2[27] + [-2] + [-1]i4085[27] ≥ 0∧i4085[27] ≥ 0∧i4231[27] + [-1] ≥ 0∧i5087[27] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR8(&&(&&(&&(&&(&&(&&(&&(!(=(i5087[27], 0)), >(+(i4085[27], 1), 0)), <(+(i4085[27], 1), i2[27])), !(=(i4231[27], 0))), >(i4085[27], 0)), <(i4085[27], i2[27])), >(i4089[27], 0)), >(+(+(i4085[27], 1), 1), 0)), java.lang.Object(ARRAY(i2[27], a87173data[27])), i4085[27], i4089[27], java.lang.Object(java.lang.String(i5087[27])), java.lang.Object(java.lang.String(i4231[27])))), ≥)∧0 = 0∧[(-1)Bound*bni_97] + [bni_97]i4089[27] + [(-1)bni_97]i4085[27] + [bni_97]i2[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] + i4085[27] ≥ 0∧i4089[27] + [-1] ≥ 0∧i2[27] + [-2] + [-1]i4085[27] ≥ 0∧i4085[27] ≥ 0∧i2[27] + [-3] + [-1]i4085[27] ≥ 0∧[1] + i4085[27] ≥ 0∧[-1] + [-1]i4231[27] ≥ 0∧[-1] + [-1]i5087[27] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR8(&&(&&(&&(&&(&&(&&(&&(!(=(i5087[27], 0)), >(+(i4085[27], 1), 0)), <(+(i4085[27], 1), i2[27])), !(=(i4231[27], 0))), >(i4085[27], 0)), <(i4085[27], i2[27])), >(i4089[27], 0)), >(+(+(i4085[27], 1), 1), 0)), java.lang.Object(ARRAY(i2[27], a87173data[27])), i4085[27], i4089[27], java.lang.Object(java.lang.String(i5087[27])), java.lang.Object(java.lang.String(i4231[27])))), ≥)∧0 = 0∧[(-1)Bound*bni_97 + (-1)bni_97] + [bni_97]i4089[27] + [(-1)bni_97]i4085[27] + [bni_97]i2[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] + i4085[27] ≥ 0∧i4089[27] ≥ 0∧i2[27] + [-2] + [-1]i4085[27] ≥ 0∧i4085[27] ≥ 0∧i2[27] + [-3] + [-1]i4085[27] ≥ 0∧[1] + i4085[27] ≥ 0∧[-1] + [-1]i4231[27] ≥ 0∧[-1] + [-1]i5087[27] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR8(&&(&&(&&(&&(&&(&&(&&(!(=(i5087[27], 0)), >(+(i4085[27], 1), 0)), <(+(i4085[27], 1), i2[27])), !(=(i4231[27], 0))), >(i4085[27], 0)), <(i4085[27], i2[27])), >(i4089[27], 0)), >(+(+(i4085[27], 1), 1), 0)), java.lang.Object(ARRAY(i2[27], a87173data[27])), i4085[27], i4089[27], java.lang.Object(java.lang.String(i5087[27])), java.lang.Object(java.lang.String(i4231[27])))), ≥)∧0 = 0∧[(-1)Bound*bni_97] + [bni_97]i4089[27] + [(-1)bni_97]i4085[27] + [bni_97]i2[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] + i4085[27] ≥ 0∧i4089[27] ≥ 0∧i2[27] ≥ 0∧i4085[27] ≥ 0∧[-1] + i2[27] ≥ 0∧[1] + i4085[27] ≥ 0∧[-1] + [-1]i4231[27] ≥ 0∧[-1] + [-1]i5087[27] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR8(&&(&&(&&(&&(&&(&&(&&(!(=(i5087[27], 0)), >(+(i4085[27], 1), 0)), <(+(i4085[27], 1), i2[27])), !(=(i4231[27], 0))), >(i4085[27], 0)), <(i4085[27], i2[27])), >(i4089[27], 0)), >(+(+(i4085[27], 1), 1), 0)), java.lang.Object(ARRAY(i2[27], a87173data[27])), i4085[27], i4089[27], java.lang.Object(java.lang.String(i5087[27])), java.lang.Object(java.lang.String(i4231[27])))), ≥)∧0 = 0∧[(-1)Bound*bni_97 + (2)bni_97] + [bni_97]i4089[27] + [bni_97]i2[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] + i4085[27] ≥ 0∧i4089[27] ≥ 0∧[1] + i2[27] ≥ 0∧i4085[27] ≥ 0∧i2[27] ≥ 0∧[1] + i4085[27] ≥ 0∧[-1] + [-1]i4231[27] ≥ 0∧[-1] + [-1]i5087[27] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR8(&&(&&(&&(&&(&&(&&(&&(!(=(i5087[27], 0)), >(+(i4085[27], 1), 0)), <(+(i4085[27], 1), i2[27])), !(=(i4231[27], 0))), >(i4085[27], 0)), <(i4085[27], i2[27])), >(i4089[27], 0)), >(+(+(i4085[27], 1), 1), 0)), java.lang.Object(ARRAY(i2[27], a87173data[27])), i4085[27], i4089[27], java.lang.Object(java.lang.String(i5087[27])), java.lang.Object(java.lang.String(i4231[27])))), ≥)∧0 = 0∧[(-1)Bound*bni_97 + (3)bni_97] + [bni_97]i4089[27] + [bni_97]i2[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] + i4085[27] ≥ 0∧i4089[27] ≥ 0∧[1] + i2[27] ≥ 0∧i4085[27] ≥ 0∧i2[27] ≥ 0∧[1] + i4085[27] ≥ 0∧i4231[27] ≥ 0∧[-1] + [-1]i5087[27] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR8(&&(&&(&&(&&(&&(&&(&&(!(=(i5087[27], 0)), >(+(i4085[27], 1), 0)), <(+(i4085[27], 1), i2[27])), !(=(i4231[27], 0))), >(i4085[27], 0)), <(i4085[27], i2[27])), >(i4089[27], 0)), >(+(+(i4085[27], 1), 1), 0)), java.lang.Object(ARRAY(i2[27], a87173data[27])), i4085[27], i4089[27], java.lang.Object(java.lang.String(i5087[27])), java.lang.Object(java.lang.String(i4231[27])))), ≥)∧0 = 0∧[(-1)Bound*bni_97 + (3)bni_97] + [bni_97]i4089[27] + [bni_97]i2[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] + i4085[27] ≥ 0∧i4089[27] ≥ 0∧[1] + i2[27] ≥ 0∧i4085[27] ≥ 0∧i2[27] ≥ 0∧[1] + i4085[27] ≥ 0∧i4231[27] ≥ 0∧i5087[27] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR8(&&(&&(&&(&&(&&(&&(&&(!(=(i5087[27], 0)), >(+(i4085[27], 1), 0)), <(+(i4085[27], 1), i2[27])), !(=(i4231[27], 0))), >(i4085[27], 0)), <(i4085[27], i2[27])), >(i4089[27], 0)), >(+(+(i4085[27], 1), 1), 0)), java.lang.Object(ARRAY(i2[27], a87173data[27])), i4085[27], i4089[27], java.lang.Object(java.lang.String(i5087[27])), java.lang.Object(java.lang.String(i4231[27])))), ≥)∧0 = 0∧[(-1)Bound*bni_97 + (3)bni_97] + [bni_97]i4089[27] + [bni_97]i2[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] + i4085[27] ≥ 0∧i4089[27] + [-1] ≥ 0∧i2[27] + [-2] + [-1]i4085[27] ≥ 0∧i4085[27] ≥ 0∧i2[27] + [-3] + [-1]i4085[27] ≥ 0∧[1] + i4085[27] ≥ 0∧[-1] + [-1]i4231[27] ≥ 0∧i5087[27] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR8(&&(&&(&&(&&(&&(&&(&&(!(=(i5087[27], 0)), >(+(i4085[27], 1), 0)), <(+(i4085[27], 1), i2[27])), !(=(i4231[27], 0))), >(i4085[27], 0)), <(i4085[27], i2[27])), >(i4089[27], 0)), >(+(+(i4085[27], 1), 1), 0)), java.lang.Object(ARRAY(i2[27], a87173data[27])), i4085[27], i4089[27], java.lang.Object(java.lang.String(i5087[27])), java.lang.Object(java.lang.String(i4231[27])))), ≥)∧0 = 0∧[(-1)Bound*bni_97 + (-1)bni_97] + [bni_97]i4089[27] + [(-1)bni_97]i4085[27] + [bni_97]i2[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] + i4085[27] ≥ 0∧i4089[27] ≥ 0∧i2[27] + [-2] + [-1]i4085[27] ≥ 0∧i4085[27] ≥ 0∧i2[27] + [-3] + [-1]i4085[27] ≥ 0∧[1] + i4085[27] ≥ 0∧[-1] + [-1]i4231[27] ≥ 0∧i5087[27] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR8(&&(&&(&&(&&(&&(&&(&&(!(=(i5087[27], 0)), >(+(i4085[27], 1), 0)), <(+(i4085[27], 1), i2[27])), !(=(i4231[27], 0))), >(i4085[27], 0)), <(i4085[27], i2[27])), >(i4089[27], 0)), >(+(+(i4085[27], 1), 1), 0)), java.lang.Object(ARRAY(i2[27], a87173data[27])), i4085[27], i4089[27], java.lang.Object(java.lang.String(i5087[27])), java.lang.Object(java.lang.String(i4231[27])))), ≥)∧0 = 0∧[(-1)Bound*bni_97] + [bni_97]i4089[27] + [(-1)bni_97]i4085[27] + [bni_97]i2[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] + i4085[27] ≥ 0∧i4089[27] ≥ 0∧i2[27] ≥ 0∧i4085[27] ≥ 0∧[-1] + i2[27] ≥ 0∧[1] + i4085[27] ≥ 0∧[-1] + [-1]i4231[27] ≥ 0∧i5087[27] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR8(&&(&&(&&(&&(&&(&&(&&(!(=(i5087[27], 0)), >(+(i4085[27], 1), 0)), <(+(i4085[27], 1), i2[27])), !(=(i4231[27], 0))), >(i4085[27], 0)), <(i4085[27], i2[27])), >(i4089[27], 0)), >(+(+(i4085[27], 1), 1), 0)), java.lang.Object(ARRAY(i2[27], a87173data[27])), i4085[27], i4089[27], java.lang.Object(java.lang.String(i5087[27])), java.lang.Object(java.lang.String(i4231[27])))), ≥)∧0 = 0∧[(-1)Bound*bni_97 + (2)bni_97] + [bni_97]i4089[27] + [bni_97]i2[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] + i4085[27] ≥ 0∧i4089[27] ≥ 0∧[1] + i2[27] ≥ 0∧i4085[27] ≥ 0∧i2[27] ≥ 0∧[1] + i4085[27] ≥ 0∧[-1] + [-1]i4231[27] ≥ 0∧i5087[27] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR8(&&(&&(&&(&&(&&(&&(&&(!(=(i5087[27], 0)), >(+(i4085[27], 1), 0)), <(+(i4085[27], 1), i2[27])), !(=(i4231[27], 0))), >(i4085[27], 0)), <(i4085[27], i2[27])), >(i4089[27], 0)), >(+(+(i4085[27], 1), 1), 0)), java.lang.Object(ARRAY(i2[27], a87173data[27])), i4085[27], i4089[27], java.lang.Object(java.lang.String(i5087[27])), java.lang.Object(java.lang.String(i4231[27])))), ≥)∧0 = 0∧[(-1)Bound*bni_97 + (3)bni_97] + [bni_97]i4089[27] + [bni_97]i2[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] + i4085[27] ≥ 0∧i4089[27] ≥ 0∧[1] + i2[27] ≥ 0∧i4085[27] ≥ 0∧i2[27] ≥ 0∧[1] + i4085[27] ≥ 0∧i4231[27] ≥ 0∧i5087[27] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR8(&&(&&(&&(&&(&&(&&(&&(!(=(i5087[27], 0)), >(+(i4085[27], 1), 0)), <(+(i4085[27], 1), i2[27])), !(=(i4231[27], 0))), >(i4085[27], 0)), <(i4085[27], i2[27])), >(i4089[27], 0)), >(+(+(i4085[27], 1), 1), 0)), java.lang.Object(ARRAY(i2[27], a87173data[27])), i4085[27], i4089[27], java.lang.Object(java.lang.String(i5087[27])), java.lang.Object(java.lang.String(i4231[27])))), ≥)∧0 = 0∧[(-1)Bound*bni_97 + (3)bni_97] + [bni_97]i4089[27] + [bni_97]i2[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] + i4085[27] ≥ 0∧i4089[27] ≥ 0∧[1] + i2[27] ≥ 0∧i4085[27] ≥ 0∧i2[27] ≥ 0∧[1] + i4085[27] ≥ 0∧i4231[27] ≥ 0∧i5087[27] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR8(&&(&&(&&(&&(&&(&&(&&(!(=(i5087[27], 0)), >(+(i4085[27], 1), 0)), <(+(i4085[27], 1), i2[27])), !(=(i4231[27], 0))), >(i4085[27], 0)), <(i4085[27], i2[27])), >(i4089[27], 0)), >(+(+(i4085[27], 1), 1), 0)), java.lang.Object(ARRAY(i2[27], a87173data[27])), i4085[27], i4089[27], java.lang.Object(java.lang.String(i5087[27])), java.lang.Object(java.lang.String(i4231[27])))), ≥)∧0 = 0∧[(-1)Bound*bni_97 + (3)bni_97] + [bni_97]i4089[27] + [bni_97]i2[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] + i4085[27] ≥ 0∧i4089[27] + [-1] ≥ 0∧i2[27] + [-2] + [-1]i4085[27] ≥ 0∧i4085[27] ≥ 0∧i2[27] + [-3] + [-1]i4085[27] ≥ 0∧[1] + i4085[27] ≥ 0∧i4231[27] + [-1] ≥ 0∧[-1] + [-1]i5087[27] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR8(&&(&&(&&(&&(&&(&&(&&(!(=(i5087[27], 0)), >(+(i4085[27], 1), 0)), <(+(i4085[27], 1), i2[27])), !(=(i4231[27], 0))), >(i4085[27], 0)), <(i4085[27], i2[27])), >(i4089[27], 0)), >(+(+(i4085[27], 1), 1), 0)), java.lang.Object(ARRAY(i2[27], a87173data[27])), i4085[27], i4089[27], java.lang.Object(java.lang.String(i5087[27])), java.lang.Object(java.lang.String(i4231[27])))), ≥)∧0 = 0∧[(-1)Bound*bni_97 + (-1)bni_97] + [bni_97]i4089[27] + [(-1)bni_97]i4085[27] + [bni_97]i2[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] + i4085[27] ≥ 0∧i4089[27] ≥ 0∧i2[27] + [-2] + [-1]i4085[27] ≥ 0∧i4085[27] ≥ 0∧i2[27] + [-3] + [-1]i4085[27] ≥ 0∧[1] + i4085[27] ≥ 0∧i4231[27] + [-1] ≥ 0∧[-1] + [-1]i5087[27] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR8(&&(&&(&&(&&(&&(&&(&&(!(=(i5087[27], 0)), >(+(i4085[27], 1), 0)), <(+(i4085[27], 1), i2[27])), !(=(i4231[27], 0))), >(i4085[27], 0)), <(i4085[27], i2[27])), >(i4089[27], 0)), >(+(+(i4085[27], 1), 1), 0)), java.lang.Object(ARRAY(i2[27], a87173data[27])), i4085[27], i4089[27], java.lang.Object(java.lang.String(i5087[27])), java.lang.Object(java.lang.String(i4231[27])))), ≥)∧0 = 0∧[(-1)Bound*bni_97] + [bni_97]i4089[27] + [(-1)bni_97]i4085[27] + [bni_97]i2[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] + i4085[27] ≥ 0∧i4089[27] ≥ 0∧i2[27] ≥ 0∧i4085[27] ≥ 0∧[-1] + i2[27] ≥ 0∧[1] + i4085[27] ≥ 0∧i4231[27] + [-1] ≥ 0∧[-1] + [-1]i5087[27] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR8(&&(&&(&&(&&(&&(&&(&&(!(=(i5087[27], 0)), >(+(i4085[27], 1), 0)), <(+(i4085[27], 1), i2[27])), !(=(i4231[27], 0))), >(i4085[27], 0)), <(i4085[27], i2[27])), >(i4089[27], 0)), >(+(+(i4085[27], 1), 1), 0)), java.lang.Object(ARRAY(i2[27], a87173data[27])), i4085[27], i4089[27], java.lang.Object(java.lang.String(i5087[27])), java.lang.Object(java.lang.String(i4231[27])))), ≥)∧0 = 0∧[(-1)Bound*bni_97 + (2)bni_97] + [bni_97]i4089[27] + [bni_97]i2[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] + i4085[27] ≥ 0∧i4089[27] ≥ 0∧[1] + i2[27] ≥ 0∧i4085[27] ≥ 0∧i2[27] ≥ 0∧[1] + i4085[27] ≥ 0∧i4231[27] + [-1] ≥ 0∧[-1] + [-1]i5087[27] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR8(&&(&&(&&(&&(&&(&&(&&(!(=(i5087[27], 0)), >(+(i4085[27], 1), 0)), <(+(i4085[27], 1), i2[27])), !(=(i4231[27], 0))), >(i4085[27], 0)), <(i4085[27], i2[27])), >(i4089[27], 0)), >(+(+(i4085[27], 1), 1), 0)), java.lang.Object(ARRAY(i2[27], a87173data[27])), i4085[27], i4089[27], java.lang.Object(java.lang.String(i5087[27])), java.lang.Object(java.lang.String(i4231[27])))), ≥)∧0 = 0∧[(-1)Bound*bni_97 + (3)bni_97] + [bni_97]i4089[27] + [bni_97]i2[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] + i4085[27] ≥ 0∧i4089[27] ≥ 0∧[1] + i2[27] ≥ 0∧i4085[27] ≥ 0∧i2[27] ≥ 0∧[1] + i4085[27] ≥ 0∧i4231[27] ≥ 0∧[-1] + [-1]i5087[27] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR8(&&(&&(&&(&&(&&(&&(&&(!(=(i5087[27], 0)), >(+(i4085[27], 1), 0)), <(+(i4085[27], 1), i2[27])), !(=(i4231[27], 0))), >(i4085[27], 0)), <(i4085[27], i2[27])), >(i4089[27], 0)), >(+(+(i4085[27], 1), 1), 0)), java.lang.Object(ARRAY(i2[27], a87173data[27])), i4085[27], i4089[27], java.lang.Object(java.lang.String(i5087[27])), java.lang.Object(java.lang.String(i4231[27])))), ≥)∧0 = 0∧[(-1)Bound*bni_97 + (3)bni_97] + [bni_97]i4089[27] + [bni_97]i2[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] + i4085[27] ≥ 0∧i4089[27] ≥ 0∧[1] + i2[27] ≥ 0∧i4085[27] ≥ 0∧i2[27] ≥ 0∧[1] + i4085[27] ≥ 0∧i4231[27] ≥ 0∧i5087[27] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR8(&&(&&(&&(&&(&&(&&(&&(!(=(i5087[27], 0)), >(+(i4085[27], 1), 0)), <(+(i4085[27], 1), i2[27])), !(=(i4231[27], 0))), >(i4085[27], 0)), <(i4085[27], i2[27])), >(i4089[27], 0)), >(+(+(i4085[27], 1), 1), 0)), java.lang.Object(ARRAY(i2[27], a87173data[27])), i4085[27], i4089[27], java.lang.Object(java.lang.String(i5087[27])), java.lang.Object(java.lang.String(i4231[27])))), ≥)∧0 = 0∧[(-1)Bound*bni_97 + (3)bni_97] + [bni_97]i4089[27] + [bni_97]i2[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] + i4085[27] ≥ 0∧i4089[27] + [-1] ≥ 0∧i2[27] + [-2] + [-1]i4085[27] ≥ 0∧i4085[27] ≥ 0∧i2[27] + [-3] + [-1]i4085[27] ≥ 0∧[1] + i4085[27] ≥ 0∧i4231[27] + [-1] ≥ 0∧i5087[27] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR8(&&(&&(&&(&&(&&(&&(&&(!(=(i5087[27], 0)), >(+(i4085[27], 1), 0)), <(+(i4085[27], 1), i2[27])), !(=(i4231[27], 0))), >(i4085[27], 0)), <(i4085[27], i2[27])), >(i4089[27], 0)), >(+(+(i4085[27], 1), 1), 0)), java.lang.Object(ARRAY(i2[27], a87173data[27])), i4085[27], i4089[27], java.lang.Object(java.lang.String(i5087[27])), java.lang.Object(java.lang.String(i4231[27])))), ≥)∧0 = 0∧[(-1)Bound*bni_97 + (-1)bni_97] + [bni_97]i4089[27] + [(-1)bni_97]i4085[27] + [bni_97]i2[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] + i4085[27] ≥ 0∧i4089[27] ≥ 0∧i2[27] + [-2] + [-1]i4085[27] ≥ 0∧i4085[27] ≥ 0∧i2[27] + [-3] + [-1]i4085[27] ≥ 0∧[1] + i4085[27] ≥ 0∧i4231[27] + [-1] ≥ 0∧i5087[27] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR8(&&(&&(&&(&&(&&(&&(&&(!(=(i5087[27], 0)), >(+(i4085[27], 1), 0)), <(+(i4085[27], 1), i2[27])), !(=(i4231[27], 0))), >(i4085[27], 0)), <(i4085[27], i2[27])), >(i4089[27], 0)), >(+(+(i4085[27], 1), 1), 0)), java.lang.Object(ARRAY(i2[27], a87173data[27])), i4085[27], i4089[27], java.lang.Object(java.lang.String(i5087[27])), java.lang.Object(java.lang.String(i4231[27])))), ≥)∧0 = 0∧[(-1)Bound*bni_97] + [bni_97]i4089[27] + [(-1)bni_97]i4085[27] + [bni_97]i2[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] + i4085[27] ≥ 0∧i4089[27] ≥ 0∧i2[27] ≥ 0∧i4085[27] ≥ 0∧[-1] + i2[27] ≥ 0∧[1] + i4085[27] ≥ 0∧i4231[27] + [-1] ≥ 0∧i5087[27] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR8(&&(&&(&&(&&(&&(&&(&&(!(=(i5087[27], 0)), >(+(i4085[27], 1), 0)), <(+(i4085[27], 1), i2[27])), !(=(i4231[27], 0))), >(i4085[27], 0)), <(i4085[27], i2[27])), >(i4089[27], 0)), >(+(+(i4085[27], 1), 1), 0)), java.lang.Object(ARRAY(i2[27], a87173data[27])), i4085[27], i4089[27], java.lang.Object(java.lang.String(i5087[27])), java.lang.Object(java.lang.String(i4231[27])))), ≥)∧0 = 0∧[(-1)Bound*bni_97 + (2)bni_97] + [bni_97]i4089[27] + [bni_97]i2[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] + i4085[27] ≥ 0∧i4089[27] ≥ 0∧[1] + i2[27] ≥ 0∧i4085[27] ≥ 0∧i2[27] ≥ 0∧[1] + i4085[27] ≥ 0∧i4231[27] + [-1] ≥ 0∧i5087[27] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR8(&&(&&(&&(&&(&&(&&(&&(!(=(i5087[27], 0)), >(+(i4085[27], 1), 0)), <(+(i4085[27], 1), i2[27])), !(=(i4231[27], 0))), >(i4085[27], 0)), <(i4085[27], i2[27])), >(i4089[27], 0)), >(+(+(i4085[27], 1), 1), 0)), java.lang.Object(ARRAY(i2[27], a87173data[27])), i4085[27], i4089[27], java.lang.Object(java.lang.String(i5087[27])), java.lang.Object(java.lang.String(i4231[27])))), ≥)∧0 = 0∧[(-1)Bound*bni_97 + (3)bni_97] + [bni_97]i4089[27] + [bni_97]i2[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] + i4085[27] ≥ 0∧i4089[27] ≥ 0∧[1] + i2[27] ≥ 0∧i4085[27] ≥ 0∧i2[27] ≥ 0∧[1] + i4085[27] ≥ 0∧i4231[27] ≥ 0∧i5087[27] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR8(&&(&&(&&(&&(&&(&&(&&(!(=(i5087[27], 0)), >(+(i4085[27], 1), 0)), <(+(i4085[27], 1), i2[27])), !(=(i4231[27], 0))), >(i4085[27], 0)), <(i4085[27], i2[27])), >(i4089[27], 0)), >(+(+(i4085[27], 1), 1), 0)), java.lang.Object(ARRAY(i2[27], a87173data[27])), i4085[27], i4089[27], java.lang.Object(java.lang.String(i5087[27])), java.lang.Object(java.lang.String(i4231[27])))), ≥)∧0 = 0∧[(-1)Bound*bni_97 + (3)bni_97] + [bni_97]i4089[27] + [bni_97]i2[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] + i4085[27] ≥ 0∧i4089[27] ≥ 0∧[1] + i2[27] ≥ 0∧i4085[27] ≥ 0∧i2[27] ≥ 0∧[1] + i4085[27] ≥ 0∧i4231[27] ≥ 0∧i5087[27] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR8(&&(&&(&&(&&(&&(&&(&&(!(=(i5087[27], 0)), >(+(i4085[27], 1), 0)), <(+(i4085[27], 1), i2[27])), !(=(i4231[27], 0))), >(i4085[27], 0)), <(i4085[27], i2[27])), >(i4089[27], 0)), >(+(+(i4085[27], 1), 1), 0)), java.lang.Object(ARRAY(i2[27], a87173data[27])), i4085[27], i4089[27], java.lang.Object(java.lang.String(i5087[27])), java.lang.Object(java.lang.String(i4231[27])))), ≥)∧0 = 0∧[(-1)Bound*bni_97 + (3)bni_97] + [bni_97]i4089[27] + [bni_97]i2[27] ≥ 0∧0 = 0∧[(-1)bso_98] ≥ 0)







For Pair COND_LOAD35385ARR8(TRUE, java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i5087)), java.lang.Object(java.lang.String(i4231))) → NEW39442(java.lang.Object(ARRAY(i2, a87173data)), +(+(i4085, 1), 1), i4089) the following chains were created:
  • We consider the chain COND_LOAD35385ARR8(TRUE, java.lang.Object(ARRAY(i2[28], a87173data[28])), i4085[28], i4089[28], java.lang.Object(java.lang.String(i5087[28])), java.lang.Object(java.lang.String(i4231[28]))) → NEW39442(java.lang.Object(ARRAY(i2[28], a87173data[28])), +(+(i4085[28], 1), 1), i4089[28]) which results in the following constraint:

    (297)    (COND_LOAD35385ARR8(TRUE, java.lang.Object(ARRAY(i2[28], a87173data[28])), i4085[28], i4089[28], java.lang.Object(java.lang.String(i5087[28])), java.lang.Object(java.lang.String(i4231[28])))≥NonInfC∧COND_LOAD35385ARR8(TRUE, java.lang.Object(ARRAY(i2[28], a87173data[28])), i4085[28], i4089[28], java.lang.Object(java.lang.String(i5087[28])), java.lang.Object(java.lang.String(i4231[28])))≥NEW39442(java.lang.Object(ARRAY(i2[28], a87173data[28])), +(+(i4085[28], 1), 1), i4089[28])∧(UIncreasing(NEW39442(java.lang.Object(ARRAY(i2[28], a87173data[28])), +(+(i4085[28], 1), 1), i4089[28])), ≥))



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

    (298)    ((UIncreasing(NEW39442(java.lang.Object(ARRAY(i2[28], a87173data[28])), +(+(i4085[28], 1), 1), i4089[28])), ≥)∧[2 + (-1)bso_100] ≥ 0)



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

    (299)    ((UIncreasing(NEW39442(java.lang.Object(ARRAY(i2[28], a87173data[28])), +(+(i4085[28], 1), 1), i4089[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(NEW39442(java.lang.Object(ARRAY(i2[28], a87173data[28])), +(+(i4085[28], 1), 1), i4089[28])), ≥)∧[2 + (-1)bso_100] ≥ 0)



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

    (301)    ((UIncreasing(NEW39442(java.lang.Object(ARRAY(i2[28], a87173data[28])), +(+(i4085[28], 1), 1), i4089[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.
  • LOAD35385(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089) → LOAD35385ARR1(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089)
    • ((UIncreasing(LOAD35385ARR1(java.lang.Object(ARRAY(i2[0], a87173data[0])), i4085[0], i4089[0])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_44] ≥ 0)

  • LOAD35385ARR1(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089) → COND_LOAD35385ARR1(&&(&&(&&(&&(&&(>(+(i4085, 1), 0), <(+(i4085, 1), i2)), >(i4085, 0)), <(i4085, i2)), >(i4089, 0)), >(+(+(i4085, 1), 1), 0)), java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089)
    • ([2] + i4085[1] ≥ 0∧i4089[1] ≥ 0∧[1] + i2[1] ≥ 0∧i4085[1] ≥ 0∧[1] + i4085[1] ≥ 0∧i2[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR1(&&(&&(&&(&&(&&(>(+(i4085[1], 1), 0), <(+(i4085[1], 1), i2[1])), >(i4085[1], 0)), <(i4085[1], i2[1])), >(i4089[1], 0)), >(+(+(i4085[1], 1), 1), 0)), java.lang.Object(ARRAY(i2[1], a87173data[1])), i4085[1], i4089[1])), ≥)∧0 = 0∧[(-1)Bound*bni_45 + (3)bni_45] + [bni_45]i4089[1] + [bni_45]i2[1] ≥ 0∧0 = 0∧[(-1)bso_46] ≥ 0)

  • COND_LOAD35385ARR1(TRUE, java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089) → NEW38580(java.lang.Object(ARRAY(i2, a87173data)), +(+(i4085, 1), 1), i4089)
    • ((UIncreasing(NEW38580(java.lang.Object(ARRAY(i2[2], a87173data[2])), +(+(i4085[2], 1), 1), i4089[2])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[2 + (-1)bso_48] ≥ 0)

  • INC35531(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089) → LOAD35385(java.lang.Object(ARRAY(i2, a87173data)), i4085, +(i4089, -1))
    • ((UIncreasing(LOAD35385(java.lang.Object(ARRAY(i2[3], a87173data[3])), i4085[3], +(i4089[3], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_50] ≥ 0)

  • LOAD35385(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089) → COND_LOAD35385(>(i4089, 0), java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089)
    • (i4089[4] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385(>(i4089[4], 0), java.lang.Object(ARRAY(i2[4], a87173data[4])), i4085[4], i4089[4])), ≥)∧[(-1)bni_51] = 0∧0 = 0∧[bni_51] = 0∧[(-1)Bound*bni_51 + bni_51] + [bni_51]i4089[4] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_52] ≥ 0)

  • COND_LOAD35385(TRUE, java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089) → LOAD35385(java.lang.Object(ARRAY(i2, a87173data)), i4085, +(i4089, -1))
    • ((UIncreasing(LOAD35385(java.lang.Object(ARRAY(i2[5], a87173data[5])), i4085[5], +(i4089[5], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_54] ≥ 0)

  • NEW38580(java.lang.Object(ARRAY(i2, a87173data)), i4456, i4089) → INC35531(java.lang.Object(ARRAY(i2, a87173data)), i4456, i4089)
    • ((UIncreasing(INC35531(java.lang.Object(ARRAY(i2[6], a87173data[6])), i4456[6], i4089[6])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_56] ≥ 0)

  • LOAD35385(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089) → LOAD35385ARR2(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089)
    • ((UIncreasing(LOAD35385ARR2(java.lang.Object(ARRAY(i2[7], a87173data[7])), i4085[7], i4089[7])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_58] ≥ 0)

  • LOAD35385ARR2(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089) → COND_LOAD35385ARR2(&&(&&(&&(&&(&&(>(+(i4085, 1), 0), <(+(i4085, 1), i2)), >(i4085, 0)), <(i4085, i2)), >(i4089, 0)), >(+(+(i4085, 1), 1), 0)), java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089)
    • ([2] + i4085[8] ≥ 0∧i4089[8] ≥ 0∧[1] + i2[8] ≥ 0∧i4085[8] ≥ 0∧[1] + i4085[8] ≥ 0∧i2[8] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR2(&&(&&(&&(&&(&&(>(+(i4085[8], 1), 0), <(+(i4085[8], 1), i2[8])), >(i4085[8], 0)), <(i4085[8], i2[8])), >(i4089[8], 0)), >(+(+(i4085[8], 1), 1), 0)), java.lang.Object(ARRAY(i2[8], a87173data[8])), i4085[8], i4089[8])), ≥)∧0 = 0∧[(-1)Bound*bni_59 + (3)bni_59] + [bni_59]i4089[8] + [bni_59]i2[8] ≥ 0∧0 = 0∧[(-1)bso_60] ≥ 0)

  • COND_LOAD35385ARR2(TRUE, java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089) → INC35531(java.lang.Object(ARRAY(i2, a87173data)), +(+(i4085, 1), 1), i4089)
    • ((UIncreasing(INC35531(java.lang.Object(ARRAY(i2[9], a87173data[9])), +(+(i4085[9], 1), 1), i4089[9])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[2 + (-1)bso_62] ≥ 0)

  • LOAD35385(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089) → LOAD35385ARR3(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i4710)))
    • ((UIncreasing(LOAD35385ARR3(java.lang.Object(ARRAY(i2[10], a87173data[10])), i4085[10], i4089[10], java.lang.Object(java.lang.String(i4710[10])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_64] ≥ 0)

  • LOAD35385ARR3(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i4710))) → COND_LOAD35385ARR3(&&(&&(&&(&&(&&(&&(!(=(i4710, 0)), >(+(i4085, 1), 0)), <(+(i4085, 1), i2)), >(i4085, 0)), <(i4085, i2)), >(i4089, 0)), >(+(+(i4085, 1), 1), 0)), java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i4710)))
    • ([2] + i4085[11] ≥ 0∧i4089[11] ≥ 0∧[1] + i2[11] ≥ 0∧i4085[11] ≥ 0∧i2[11] ≥ 0∧[1] + i4085[11] ≥ 0∧i4710[11] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR3(&&(&&(&&(&&(&&(&&(!(=(i4710[11], 0)), >(+(i4085[11], 1), 0)), <(+(i4085[11], 1), i2[11])), >(i4085[11], 0)), <(i4085[11], i2[11])), >(i4089[11], 0)), >(+(+(i4085[11], 1), 1), 0)), java.lang.Object(ARRAY(i2[11], a87173data[11])), i4085[11], i4089[11], java.lang.Object(java.lang.String(i4710[11])))), ≥)∧0 = 0∧[(-1)Bound*bni_65 + (3)bni_65] + [bni_65]i4089[11] + [bni_65]i2[11] ≥ 0∧0 = 0∧[(-1)bso_66] ≥ 0)
    • ([2] + i4085[11] ≥ 0∧i4089[11] ≥ 0∧[1] + i2[11] ≥ 0∧i4085[11] ≥ 0∧i2[11] ≥ 0∧[1] + i4085[11] ≥ 0∧i4710[11] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR3(&&(&&(&&(&&(&&(&&(!(=(i4710[11], 0)), >(+(i4085[11], 1), 0)), <(+(i4085[11], 1), i2[11])), >(i4085[11], 0)), <(i4085[11], i2[11])), >(i4089[11], 0)), >(+(+(i4085[11], 1), 1), 0)), java.lang.Object(ARRAY(i2[11], a87173data[11])), i4085[11], i4089[11], java.lang.Object(java.lang.String(i4710[11])))), ≥)∧0 = 0∧[(-1)Bound*bni_65 + (3)bni_65] + [bni_65]i4089[11] + [bni_65]i2[11] ≥ 0∧0 = 0∧[(-1)bso_66] ≥ 0)

  • COND_LOAD35385ARR3(TRUE, java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i4710))) → INC35531(java.lang.Object(ARRAY(i2, a87173data)), +(+(i4085, 1), 1), i4089)
    • ((UIncreasing(INC35531(java.lang.Object(ARRAY(i2[12], a87173data[12])), +(+(i4085[12], 1), 1), i4089[12])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[2 + (-1)bso_68] ≥ 0)

  • NEW39442(java.lang.Object(ARRAY(i2, a87173data)), i4651, i4089) → INC35531(java.lang.Object(ARRAY(i2, a87173data)), i4651, i4089)
    • ((UIncreasing(INC35531(java.lang.Object(ARRAY(i2[13], a87173data[13])), i4651[13], i4089[13])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_70] ≥ 0)

  • LOAD35385(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089) → LOAD35385ARR4(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i4231)))
    • ((UIncreasing(LOAD35385ARR4(java.lang.Object(ARRAY(i2[14], a87173data[14])), i4085[14], i4089[14], java.lang.Object(java.lang.String(i4231[14])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_72] ≥ 0)

  • LOAD35385ARR4(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i4231))) → COND_LOAD35385ARR4(&&(&&(&&(&&(&&(&&(>(+(i4085, 1), 0), <(+(i4085, 1), i2)), !(=(i4231, 0))), >(i4085, 0)), <(i4085, i2)), >(i4089, 0)), >(+(+(i4085, 1), 1), 0)), java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i4231)))
    • ([2] + i4085[15] ≥ 0∧i4089[15] ≥ 0∧[1] + i2[15] ≥ 0∧i4085[15] ≥ 0∧[1] + i4085[15] ≥ 0∧i2[15] ≥ 0∧i4231[15] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR4(&&(&&(&&(&&(&&(&&(>(+(i4085[15], 1), 0), <(+(i4085[15], 1), i2[15])), !(=(i4231[15], 0))), >(i4085[15], 0)), <(i4085[15], i2[15])), >(i4089[15], 0)), >(+(+(i4085[15], 1), 1), 0)), java.lang.Object(ARRAY(i2[15], a87173data[15])), i4085[15], i4089[15], java.lang.Object(java.lang.String(i4231[15])))), ≥)∧0 = 0∧[(-1)Bound*bni_73 + (3)bni_73] + [bni_73]i4089[15] + [bni_73]i2[15] ≥ 0∧0 = 0∧[(-1)bso_74] ≥ 0)
    • ([2] + i4085[15] ≥ 0∧i4089[15] ≥ 0∧[1] + i2[15] ≥ 0∧i4085[15] ≥ 0∧[1] + i4085[15] ≥ 0∧i2[15] ≥ 0∧i4231[15] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR4(&&(&&(&&(&&(&&(&&(>(+(i4085[15], 1), 0), <(+(i4085[15], 1), i2[15])), !(=(i4231[15], 0))), >(i4085[15], 0)), <(i4085[15], i2[15])), >(i4089[15], 0)), >(+(+(i4085[15], 1), 1), 0)), java.lang.Object(ARRAY(i2[15], a87173data[15])), i4085[15], i4089[15], java.lang.Object(java.lang.String(i4231[15])))), ≥)∧0 = 0∧[(-1)Bound*bni_73 + (3)bni_73] + [bni_73]i4089[15] + [bni_73]i2[15] ≥ 0∧0 = 0∧[(-1)bso_74] ≥ 0)

  • COND_LOAD35385ARR4(TRUE, java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i4231))) → INC35531(java.lang.Object(ARRAY(i2, a87173data)), +(+(i4085, 1), 1), i4089)
    • ((UIncreasing(INC35531(java.lang.Object(ARRAY(i2[16], a87173data[16])), +(+(i4085[16], 1), 1), i4089[16])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[2 + (-1)bso_76] ≥ 0)

  • LOAD35385(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089) → LOAD35385ARR5(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i5087)), java.lang.Object(java.lang.String(i4231)))
    • ((UIncreasing(LOAD35385ARR5(java.lang.Object(ARRAY(i2[17], a87173data[17])), i4085[17], i4089[17], java.lang.Object(java.lang.String(i5087[17])), java.lang.Object(java.lang.String(i4231[17])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_78] ≥ 0)

  • LOAD35385ARR5(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i5087)), java.lang.Object(java.lang.String(i4231))) → COND_LOAD35385ARR5(&&(&&(&&(&&(&&(&&(&&(!(=(i5087, 0)), >(+(i4085, 1), 0)), <(+(i4085, 1), i2)), !(=(i4231, 0))), >(i4085, 0)), <(i4085, i2)), >(i4089, 0)), >(+(+(i4085, 1), 1), 0)), java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i5087)), java.lang.Object(java.lang.String(i4231)))
    • ([2] + i4085[18] ≥ 0∧i4089[18] ≥ 0∧[1] + i2[18] ≥ 0∧i4085[18] ≥ 0∧i2[18] ≥ 0∧[1] + i4085[18] ≥ 0∧i4231[18] ≥ 0∧i5087[18] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR5(&&(&&(&&(&&(&&(&&(&&(!(=(i5087[18], 0)), >(+(i4085[18], 1), 0)), <(+(i4085[18], 1), i2[18])), !(=(i4231[18], 0))), >(i4085[18], 0)), <(i4085[18], i2[18])), >(i4089[18], 0)), >(+(+(i4085[18], 1), 1), 0)), java.lang.Object(ARRAY(i2[18], a87173data[18])), i4085[18], i4089[18], java.lang.Object(java.lang.String(i5087[18])), java.lang.Object(java.lang.String(i4231[18])))), ≥)∧0 = 0∧[(-1)Bound*bni_79 + (3)bni_79] + [bni_79]i4089[18] + [bni_79]i2[18] ≥ 0∧0 = 0∧[(-1)bso_80] ≥ 0)
    • ([2] + i4085[18] ≥ 0∧i4089[18] ≥ 0∧[1] + i2[18] ≥ 0∧i4085[18] ≥ 0∧i2[18] ≥ 0∧[1] + i4085[18] ≥ 0∧i4231[18] ≥ 0∧i5087[18] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR5(&&(&&(&&(&&(&&(&&(&&(!(=(i5087[18], 0)), >(+(i4085[18], 1), 0)), <(+(i4085[18], 1), i2[18])), !(=(i4231[18], 0))), >(i4085[18], 0)), <(i4085[18], i2[18])), >(i4089[18], 0)), >(+(+(i4085[18], 1), 1), 0)), java.lang.Object(ARRAY(i2[18], a87173data[18])), i4085[18], i4089[18], java.lang.Object(java.lang.String(i5087[18])), java.lang.Object(java.lang.String(i4231[18])))), ≥)∧0 = 0∧[(-1)Bound*bni_79 + (3)bni_79] + [bni_79]i4089[18] + [bni_79]i2[18] ≥ 0∧0 = 0∧[(-1)bso_80] ≥ 0)
    • ([2] + i4085[18] ≥ 0∧i4089[18] ≥ 0∧[1] + i2[18] ≥ 0∧i4085[18] ≥ 0∧i2[18] ≥ 0∧[1] + i4085[18] ≥ 0∧i4231[18] ≥ 0∧i5087[18] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR5(&&(&&(&&(&&(&&(&&(&&(!(=(i5087[18], 0)), >(+(i4085[18], 1), 0)), <(+(i4085[18], 1), i2[18])), !(=(i4231[18], 0))), >(i4085[18], 0)), <(i4085[18], i2[18])), >(i4089[18], 0)), >(+(+(i4085[18], 1), 1), 0)), java.lang.Object(ARRAY(i2[18], a87173data[18])), i4085[18], i4089[18], java.lang.Object(java.lang.String(i5087[18])), java.lang.Object(java.lang.String(i4231[18])))), ≥)∧0 = 0∧[(-1)Bound*bni_79 + (3)bni_79] + [bni_79]i4089[18] + [bni_79]i2[18] ≥ 0∧0 = 0∧[(-1)bso_80] ≥ 0)
    • ([2] + i4085[18] ≥ 0∧i4089[18] ≥ 0∧[1] + i2[18] ≥ 0∧i4085[18] ≥ 0∧i2[18] ≥ 0∧[1] + i4085[18] ≥ 0∧i4231[18] ≥ 0∧i5087[18] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR5(&&(&&(&&(&&(&&(&&(&&(!(=(i5087[18], 0)), >(+(i4085[18], 1), 0)), <(+(i4085[18], 1), i2[18])), !(=(i4231[18], 0))), >(i4085[18], 0)), <(i4085[18], i2[18])), >(i4089[18], 0)), >(+(+(i4085[18], 1), 1), 0)), java.lang.Object(ARRAY(i2[18], a87173data[18])), i4085[18], i4089[18], java.lang.Object(java.lang.String(i5087[18])), java.lang.Object(java.lang.String(i4231[18])))), ≥)∧0 = 0∧[(-1)Bound*bni_79 + (3)bni_79] + [bni_79]i4089[18] + [bni_79]i2[18] ≥ 0∧0 = 0∧[(-1)bso_80] ≥ 0)

  • COND_LOAD35385ARR5(TRUE, java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i5087)), java.lang.Object(java.lang.String(i4231))) → INC35531(java.lang.Object(ARRAY(i2, a87173data)), +(+(i4085, 1), 1), i4089)
    • ((UIncreasing(INC35531(java.lang.Object(ARRAY(i2[19], a87173data[19])), +(+(i4085[19], 1), 1), i4089[19])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[2 + (-1)bso_82] ≥ 0)

  • LOAD35385(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089) → LOAD35385ARR6(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i4710)))
    • ((UIncreasing(LOAD35385ARR6(java.lang.Object(ARRAY(i2[20], a87173data[20])), i4085[20], i4089[20], java.lang.Object(java.lang.String(i4710[20])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_84] ≥ 0)

  • LOAD35385ARR6(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i4710))) → COND_LOAD35385ARR6(&&(&&(&&(&&(&&(&&(!(=(i4710, 0)), >(+(i4085, 1), 0)), <(+(i4085, 1), i2)), >(i4085, 0)), <(i4085, i2)), >(i4089, 0)), >(+(+(i4085, 1), 1), 0)), java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i4710)))
    • ([2] + i4085[21] ≥ 0∧i4089[21] ≥ 0∧[1] + i2[21] ≥ 0∧i4085[21] ≥ 0∧i2[21] ≥ 0∧[1] + i4085[21] ≥ 0∧i4710[21] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR6(&&(&&(&&(&&(&&(&&(!(=(i4710[21], 0)), >(+(i4085[21], 1), 0)), <(+(i4085[21], 1), i2[21])), >(i4085[21], 0)), <(i4085[21], i2[21])), >(i4089[21], 0)), >(+(+(i4085[21], 1), 1), 0)), java.lang.Object(ARRAY(i2[21], a87173data[21])), i4085[21], i4089[21], java.lang.Object(java.lang.String(i4710[21])))), ≥)∧0 = 0∧[(-1)Bound*bni_85 + (3)bni_85] + [bni_85]i4089[21] + [bni_85]i2[21] ≥ 0∧0 = 0∧[(-1)bso_86] ≥ 0)
    • ([2] + i4085[21] ≥ 0∧i4089[21] ≥ 0∧[1] + i2[21] ≥ 0∧i4085[21] ≥ 0∧i2[21] ≥ 0∧[1] + i4085[21] ≥ 0∧i4710[21] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR6(&&(&&(&&(&&(&&(&&(!(=(i4710[21], 0)), >(+(i4085[21], 1), 0)), <(+(i4085[21], 1), i2[21])), >(i4085[21], 0)), <(i4085[21], i2[21])), >(i4089[21], 0)), >(+(+(i4085[21], 1), 1), 0)), java.lang.Object(ARRAY(i2[21], a87173data[21])), i4085[21], i4089[21], java.lang.Object(java.lang.String(i4710[21])))), ≥)∧0 = 0∧[(-1)Bound*bni_85 + (3)bni_85] + [bni_85]i4089[21] + [bni_85]i2[21] ≥ 0∧0 = 0∧[(-1)bso_86] ≥ 0)

  • COND_LOAD35385ARR6(TRUE, java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i4710))) → NEW38580(java.lang.Object(ARRAY(i2, a87173data)), +(+(i4085, 1), 1), i4089)
    • ((UIncreasing(NEW38580(java.lang.Object(ARRAY(i2[22], a87173data[22])), +(+(i4085[22], 1), 1), i4089[22])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[2 + (-1)bso_88] ≥ 0)

  • LOAD35385(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089) → LOAD35385ARR7(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i4231)))
    • ((UIncreasing(LOAD35385ARR7(java.lang.Object(ARRAY(i2[23], a87173data[23])), i4085[23], i4089[23], java.lang.Object(java.lang.String(i4231[23])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_90] ≥ 0)

  • LOAD35385ARR7(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i4231))) → COND_LOAD35385ARR7(&&(&&(&&(&&(&&(&&(>(+(i4085, 1), 0), <(+(i4085, 1), i2)), !(=(i4231, 0))), >(i4085, 0)), <(i4085, i2)), >(i4089, 0)), >(+(+(i4085, 1), 1), 0)), java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i4231)))
    • ([2] + i4085[24] ≥ 0∧i4089[24] ≥ 0∧[1] + i2[24] ≥ 0∧i4085[24] ≥ 0∧[1] + i4085[24] ≥ 0∧i2[24] ≥ 0∧i4231[24] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR7(&&(&&(&&(&&(&&(&&(>(+(i4085[24], 1), 0), <(+(i4085[24], 1), i2[24])), !(=(i4231[24], 0))), >(i4085[24], 0)), <(i4085[24], i2[24])), >(i4089[24], 0)), >(+(+(i4085[24], 1), 1), 0)), java.lang.Object(ARRAY(i2[24], a87173data[24])), i4085[24], i4089[24], java.lang.Object(java.lang.String(i4231[24])))), ≥)∧0 = 0∧[(-1)Bound*bni_91 + (3)bni_91] + [bni_91]i4089[24] + [bni_91]i2[24] ≥ 0∧0 = 0∧[(-1)bso_92] ≥ 0)
    • ([2] + i4085[24] ≥ 0∧i4089[24] ≥ 0∧[1] + i2[24] ≥ 0∧i4085[24] ≥ 0∧[1] + i4085[24] ≥ 0∧i2[24] ≥ 0∧i4231[24] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR7(&&(&&(&&(&&(&&(&&(>(+(i4085[24], 1), 0), <(+(i4085[24], 1), i2[24])), !(=(i4231[24], 0))), >(i4085[24], 0)), <(i4085[24], i2[24])), >(i4089[24], 0)), >(+(+(i4085[24], 1), 1), 0)), java.lang.Object(ARRAY(i2[24], a87173data[24])), i4085[24], i4089[24], java.lang.Object(java.lang.String(i4231[24])))), ≥)∧0 = 0∧[(-1)Bound*bni_91 + (3)bni_91] + [bni_91]i4089[24] + [bni_91]i2[24] ≥ 0∧0 = 0∧[(-1)bso_92] ≥ 0)

  • COND_LOAD35385ARR7(TRUE, java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i4231))) → NEW39442(java.lang.Object(ARRAY(i2, a87173data)), +(+(i4085, 1), 1), i4089)
    • ((UIncreasing(NEW39442(java.lang.Object(ARRAY(i2[25], a87173data[25])), +(+(i4085[25], 1), 1), i4089[25])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[2 + (-1)bso_94] ≥ 0)

  • LOAD35385(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089) → LOAD35385ARR8(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i5087)), java.lang.Object(java.lang.String(i4231)))
    • ((UIncreasing(LOAD35385ARR8(java.lang.Object(ARRAY(i2[26], a87173data[26])), i4085[26], i4089[26], java.lang.Object(java.lang.String(i5087[26])), java.lang.Object(java.lang.String(i4231[26])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_96] ≥ 0)

  • LOAD35385ARR8(java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i5087)), java.lang.Object(java.lang.String(i4231))) → COND_LOAD35385ARR8(&&(&&(&&(&&(&&(&&(&&(!(=(i5087, 0)), >(+(i4085, 1), 0)), <(+(i4085, 1), i2)), !(=(i4231, 0))), >(i4085, 0)), <(i4085, i2)), >(i4089, 0)), >(+(+(i4085, 1), 1), 0)), java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i5087)), java.lang.Object(java.lang.String(i4231)))
    • ([2] + i4085[27] ≥ 0∧i4089[27] ≥ 0∧[1] + i2[27] ≥ 0∧i4085[27] ≥ 0∧i2[27] ≥ 0∧[1] + i4085[27] ≥ 0∧i4231[27] ≥ 0∧i5087[27] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR8(&&(&&(&&(&&(&&(&&(&&(!(=(i5087[27], 0)), >(+(i4085[27], 1), 0)), <(+(i4085[27], 1), i2[27])), !(=(i4231[27], 0))), >(i4085[27], 0)), <(i4085[27], i2[27])), >(i4089[27], 0)), >(+(+(i4085[27], 1), 1), 0)), java.lang.Object(ARRAY(i2[27], a87173data[27])), i4085[27], i4089[27], java.lang.Object(java.lang.String(i5087[27])), java.lang.Object(java.lang.String(i4231[27])))), ≥)∧0 = 0∧[(-1)Bound*bni_97 + (3)bni_97] + [bni_97]i4089[27] + [bni_97]i2[27] ≥ 0∧0 = 0∧[(-1)bso_98] ≥ 0)
    • ([2] + i4085[27] ≥ 0∧i4089[27] ≥ 0∧[1] + i2[27] ≥ 0∧i4085[27] ≥ 0∧i2[27] ≥ 0∧[1] + i4085[27] ≥ 0∧i4231[27] ≥ 0∧i5087[27] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR8(&&(&&(&&(&&(&&(&&(&&(!(=(i5087[27], 0)), >(+(i4085[27], 1), 0)), <(+(i4085[27], 1), i2[27])), !(=(i4231[27], 0))), >(i4085[27], 0)), <(i4085[27], i2[27])), >(i4089[27], 0)), >(+(+(i4085[27], 1), 1), 0)), java.lang.Object(ARRAY(i2[27], a87173data[27])), i4085[27], i4089[27], java.lang.Object(java.lang.String(i5087[27])), java.lang.Object(java.lang.String(i4231[27])))), ≥)∧0 = 0∧[(-1)Bound*bni_97 + (3)bni_97] + [bni_97]i4089[27] + [bni_97]i2[27] ≥ 0∧0 = 0∧[(-1)bso_98] ≥ 0)
    • ([2] + i4085[27] ≥ 0∧i4089[27] ≥ 0∧[1] + i2[27] ≥ 0∧i4085[27] ≥ 0∧i2[27] ≥ 0∧[1] + i4085[27] ≥ 0∧i4231[27] ≥ 0∧i5087[27] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR8(&&(&&(&&(&&(&&(&&(&&(!(=(i5087[27], 0)), >(+(i4085[27], 1), 0)), <(+(i4085[27], 1), i2[27])), !(=(i4231[27], 0))), >(i4085[27], 0)), <(i4085[27], i2[27])), >(i4089[27], 0)), >(+(+(i4085[27], 1), 1), 0)), java.lang.Object(ARRAY(i2[27], a87173data[27])), i4085[27], i4089[27], java.lang.Object(java.lang.String(i5087[27])), java.lang.Object(java.lang.String(i4231[27])))), ≥)∧0 = 0∧[(-1)Bound*bni_97 + (3)bni_97] + [bni_97]i4089[27] + [bni_97]i2[27] ≥ 0∧0 = 0∧[(-1)bso_98] ≥ 0)
    • ([2] + i4085[27] ≥ 0∧i4089[27] ≥ 0∧[1] + i2[27] ≥ 0∧i4085[27] ≥ 0∧i2[27] ≥ 0∧[1] + i4085[27] ≥ 0∧i4231[27] ≥ 0∧i5087[27] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385ARR8(&&(&&(&&(&&(&&(&&(&&(!(=(i5087[27], 0)), >(+(i4085[27], 1), 0)), <(+(i4085[27], 1), i2[27])), !(=(i4231[27], 0))), >(i4085[27], 0)), <(i4085[27], i2[27])), >(i4089[27], 0)), >(+(+(i4085[27], 1), 1), 0)), java.lang.Object(ARRAY(i2[27], a87173data[27])), i4085[27], i4089[27], java.lang.Object(java.lang.String(i5087[27])), java.lang.Object(java.lang.String(i4231[27])))), ≥)∧0 = 0∧[(-1)Bound*bni_97 + (3)bni_97] + [bni_97]i4089[27] + [bni_97]i2[27] ≥ 0∧0 = 0∧[(-1)bso_98] ≥ 0)

  • COND_LOAD35385ARR8(TRUE, java.lang.Object(ARRAY(i2, a87173data)), i4085, i4089, java.lang.Object(java.lang.String(i5087)), java.lang.Object(java.lang.String(i4231))) → NEW39442(java.lang.Object(ARRAY(i2, a87173data)), +(+(i4085, 1), 1), i4089)
    • ((UIncreasing(NEW39442(java.lang.Object(ARRAY(i2[28], a87173data[28])), +(+(i4085[28], 1), 1), i4089[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(LOAD35385(x1, x2, x3)) = [-1] + x3 + [-1]x2 + [-1]x1   
POL(java.lang.Object(x1)) = x1   
POL(ARRAY(x1, x2)) = [-1] + [-1]x1   
POL(LOAD35385ARR1(x1, x2, x3)) = [-1] + x3 + [-1]x2 + [-1]x1   
POL(COND_LOAD35385ARR1(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(NEW38580(x1, x2, x3)) = [-1] + x3 + [-1]x2 + [-1]x1   
POL(INC35531(x1, x2, x3)) = [-1] + x3 + [-1]x2 + [-1]x1   
POL(-1) = [-1]   
POL(COND_LOAD35385(x1, x2, x3, x4)) = [-1] + x4 + [-1]x3 + [-1]x2   
POL(LOAD35385ARR2(x1, x2, x3)) = [-1] + x3 + [-1]x2 + [-1]x1   
POL(COND_LOAD35385ARR2(x1, x2, x3, x4)) = [-1] + x4 + [-1]x3 + [-1]x2   
POL(LOAD35385ARR3(x1, x2, x3, x4)) = [-1] + x3 + [-1]x2 + [-1]x1   
POL(java.lang.String(x1)) = x1   
POL(COND_LOAD35385ARR3(x1, x2, x3, x4, x5)) = [-1] + x4 + [-1]x3 + [-1]x2   
POL(!(x1)) = [-1]   
POL(=(x1, x2)) = [-1]   
POL(NEW39442(x1, x2, x3)) = [-1] + x3 + [-1]x2 + [-1]x1   
POL(LOAD35385ARR4(x1, x2, x3, x4)) = [-1] + x3 + [-1]x2 + [-1]x1   
POL(COND_LOAD35385ARR4(x1, x2, x3, x4, x5)) = [-1] + x4 + [-1]x3 + [-1]x2   
POL(LOAD35385ARR5(x1, x2, x3, x4, x5)) = [-1] + x3 + [-1]x2 + [-1]x1   
POL(COND_LOAD35385ARR5(x1, x2, x3, x4, x5, x6)) = [-1] + x4 + [-1]x3 + [-1]x2   
POL(LOAD35385ARR6(x1, x2, x3, x4)) = [-1] + x3 + [-1]x2 + [-1]x1   
POL(COND_LOAD35385ARR6(x1, x2, x3, x4, x5)) = [-1] + x4 + [-1]x3 + [-1]x2   
POL(LOAD35385ARR7(x1, x2, x3, x4)) = [-1] + x3 + [-1]x2 + [-1]x1   
POL(COND_LOAD35385ARR7(x1, x2, x3, x4, x5)) = [-1] + x4 + [-1]x3 + [-1]x2   
POL(LOAD35385ARR8(x1, x2, x3, x4, x5)) = [-1] + x3 + [-1]x2 + [-1]x1   
POL(COND_LOAD35385ARR8(x1, x2, x3, x4, x5, x6)) = [-1] + x4 + [-1]x3 + [-1]x2   

The following pairs are in P>:

COND_LOAD35385ARR1(TRUE, java.lang.Object(ARRAY(i2[2], a87173data[2])), i4085[2], i4089[2]) → NEW38580(java.lang.Object(ARRAY(i2[2], a87173data[2])), +(+(i4085[2], 1), 1), i4089[2])
INC35531(java.lang.Object(ARRAY(i2[3], a87173data[3])), i4085[3], i4089[3]) → LOAD35385(java.lang.Object(ARRAY(i2[3], a87173data[3])), i4085[3], +(i4089[3], -1))
COND_LOAD35385(TRUE, java.lang.Object(ARRAY(i2[5], a87173data[5])), i4085[5], i4089[5]) → LOAD35385(java.lang.Object(ARRAY(i2[5], a87173data[5])), i4085[5], +(i4089[5], -1))
COND_LOAD35385ARR2(TRUE, java.lang.Object(ARRAY(i2[9], a87173data[9])), i4085[9], i4089[9]) → INC35531(java.lang.Object(ARRAY(i2[9], a87173data[9])), +(+(i4085[9], 1), 1), i4089[9])
COND_LOAD35385ARR3(TRUE, java.lang.Object(ARRAY(i2[12], a87173data[12])), i4085[12], i4089[12], java.lang.Object(java.lang.String(i4710[12]))) → INC35531(java.lang.Object(ARRAY(i2[12], a87173data[12])), +(+(i4085[12], 1), 1), i4089[12])
COND_LOAD35385ARR4(TRUE, java.lang.Object(ARRAY(i2[16], a87173data[16])), i4085[16], i4089[16], java.lang.Object(java.lang.String(i4231[16]))) → INC35531(java.lang.Object(ARRAY(i2[16], a87173data[16])), +(+(i4085[16], 1), 1), i4089[16])
COND_LOAD35385ARR5(TRUE, java.lang.Object(ARRAY(i2[19], a87173data[19])), i4085[19], i4089[19], java.lang.Object(java.lang.String(i5087[19])), java.lang.Object(java.lang.String(i4231[19]))) → INC35531(java.lang.Object(ARRAY(i2[19], a87173data[19])), +(+(i4085[19], 1), 1), i4089[19])
COND_LOAD35385ARR6(TRUE, java.lang.Object(ARRAY(i2[22], a87173data[22])), i4085[22], i4089[22], java.lang.Object(java.lang.String(i4710[22]))) → NEW38580(java.lang.Object(ARRAY(i2[22], a87173data[22])), +(+(i4085[22], 1), 1), i4089[22])
COND_LOAD35385ARR7(TRUE, java.lang.Object(ARRAY(i2[25], a87173data[25])), i4085[25], i4089[25], java.lang.Object(java.lang.String(i4231[25]))) → NEW39442(java.lang.Object(ARRAY(i2[25], a87173data[25])), +(+(i4085[25], 1), 1), i4089[25])
COND_LOAD35385ARR8(TRUE, java.lang.Object(ARRAY(i2[28], a87173data[28])), i4085[28], i4089[28], java.lang.Object(java.lang.String(i5087[28])), java.lang.Object(java.lang.String(i4231[28]))) → NEW39442(java.lang.Object(ARRAY(i2[28], a87173data[28])), +(+(i4085[28], 1), 1), i4089[28])

The following pairs are in Pbound:

LOAD35385ARR1(java.lang.Object(ARRAY(i2[1], a87173data[1])), i4085[1], i4089[1]) → COND_LOAD35385ARR1(&&(&&(&&(&&(&&(>(+(i4085[1], 1), 0), <(+(i4085[1], 1), i2[1])), >(i4085[1], 0)), <(i4085[1], i2[1])), >(i4089[1], 0)), >(+(+(i4085[1], 1), 1), 0)), java.lang.Object(ARRAY(i2[1], a87173data[1])), i4085[1], i4089[1])
LOAD35385ARR2(java.lang.Object(ARRAY(i2[8], a87173data[8])), i4085[8], i4089[8]) → COND_LOAD35385ARR2(&&(&&(&&(&&(&&(>(+(i4085[8], 1), 0), <(+(i4085[8], 1), i2[8])), >(i4085[8], 0)), <(i4085[8], i2[8])), >(i4089[8], 0)), >(+(+(i4085[8], 1), 1), 0)), java.lang.Object(ARRAY(i2[8], a87173data[8])), i4085[8], i4089[8])
LOAD35385ARR3(java.lang.Object(ARRAY(i2[11], a87173data[11])), i4085[11], i4089[11], java.lang.Object(java.lang.String(i4710[11]))) → COND_LOAD35385ARR3(&&(&&(&&(&&(&&(&&(!(=(i4710[11], 0)), >(+(i4085[11], 1), 0)), <(+(i4085[11], 1), i2[11])), >(i4085[11], 0)), <(i4085[11], i2[11])), >(i4089[11], 0)), >(+(+(i4085[11], 1), 1), 0)), java.lang.Object(ARRAY(i2[11], a87173data[11])), i4085[11], i4089[11], java.lang.Object(java.lang.String(i4710[11])))
LOAD35385ARR4(java.lang.Object(ARRAY(i2[15], a87173data[15])), i4085[15], i4089[15], java.lang.Object(java.lang.String(i4231[15]))) → COND_LOAD35385ARR4(&&(&&(&&(&&(&&(&&(>(+(i4085[15], 1), 0), <(+(i4085[15], 1), i2[15])), !(=(i4231[15], 0))), >(i4085[15], 0)), <(i4085[15], i2[15])), >(i4089[15], 0)), >(+(+(i4085[15], 1), 1), 0)), java.lang.Object(ARRAY(i2[15], a87173data[15])), i4085[15], i4089[15], java.lang.Object(java.lang.String(i4231[15])))
LOAD35385ARR5(java.lang.Object(ARRAY(i2[18], a87173data[18])), i4085[18], i4089[18], java.lang.Object(java.lang.String(i5087[18])), java.lang.Object(java.lang.String(i4231[18]))) → COND_LOAD35385ARR5(&&(&&(&&(&&(&&(&&(&&(!(=(i5087[18], 0)), >(+(i4085[18], 1), 0)), <(+(i4085[18], 1), i2[18])), !(=(i4231[18], 0))), >(i4085[18], 0)), <(i4085[18], i2[18])), >(i4089[18], 0)), >(+(+(i4085[18], 1), 1), 0)), java.lang.Object(ARRAY(i2[18], a87173data[18])), i4085[18], i4089[18], java.lang.Object(java.lang.String(i5087[18])), java.lang.Object(java.lang.String(i4231[18])))
LOAD35385ARR6(java.lang.Object(ARRAY(i2[21], a87173data[21])), i4085[21], i4089[21], java.lang.Object(java.lang.String(i4710[21]))) → COND_LOAD35385ARR6(&&(&&(&&(&&(&&(&&(!(=(i4710[21], 0)), >(+(i4085[21], 1), 0)), <(+(i4085[21], 1), i2[21])), >(i4085[21], 0)), <(i4085[21], i2[21])), >(i4089[21], 0)), >(+(+(i4085[21], 1), 1), 0)), java.lang.Object(ARRAY(i2[21], a87173data[21])), i4085[21], i4089[21], java.lang.Object(java.lang.String(i4710[21])))
LOAD35385ARR7(java.lang.Object(ARRAY(i2[24], a87173data[24])), i4085[24], i4089[24], java.lang.Object(java.lang.String(i4231[24]))) → COND_LOAD35385ARR7(&&(&&(&&(&&(&&(&&(>(+(i4085[24], 1), 0), <(+(i4085[24], 1), i2[24])), !(=(i4231[24], 0))), >(i4085[24], 0)), <(i4085[24], i2[24])), >(i4089[24], 0)), >(+(+(i4085[24], 1), 1), 0)), java.lang.Object(ARRAY(i2[24], a87173data[24])), i4085[24], i4089[24], java.lang.Object(java.lang.String(i4231[24])))
LOAD35385ARR8(java.lang.Object(ARRAY(i2[27], a87173data[27])), i4085[27], i4089[27], java.lang.Object(java.lang.String(i5087[27])), java.lang.Object(java.lang.String(i4231[27]))) → COND_LOAD35385ARR8(&&(&&(&&(&&(&&(&&(&&(!(=(i5087[27], 0)), >(+(i4085[27], 1), 0)), <(+(i4085[27], 1), i2[27])), !(=(i4231[27], 0))), >(i4085[27], 0)), <(i4085[27], i2[27])), >(i4089[27], 0)), >(+(+(i4085[27], 1), 1), 0)), java.lang.Object(ARRAY(i2[27], a87173data[27])), i4085[27], i4089[27], java.lang.Object(java.lang.String(i5087[27])), java.lang.Object(java.lang.String(i4231[27])))

The following pairs are in P:

LOAD35385(java.lang.Object(ARRAY(i2[0], a87173data[0])), i4085[0], i4089[0]) → LOAD35385ARR1(java.lang.Object(ARRAY(i2[0], a87173data[0])), i4085[0], i4089[0])
LOAD35385ARR1(java.lang.Object(ARRAY(i2[1], a87173data[1])), i4085[1], i4089[1]) → COND_LOAD35385ARR1(&&(&&(&&(&&(&&(>(+(i4085[1], 1), 0), <(+(i4085[1], 1), i2[1])), >(i4085[1], 0)), <(i4085[1], i2[1])), >(i4089[1], 0)), >(+(+(i4085[1], 1), 1), 0)), java.lang.Object(ARRAY(i2[1], a87173data[1])), i4085[1], i4089[1])
LOAD35385(java.lang.Object(ARRAY(i2[4], a87173data[4])), i4085[4], i4089[4]) → COND_LOAD35385(>(i4089[4], 0), java.lang.Object(ARRAY(i2[4], a87173data[4])), i4085[4], i4089[4])
NEW38580(java.lang.Object(ARRAY(i2[6], a87173data[6])), i4456[6], i4089[6]) → INC35531(java.lang.Object(ARRAY(i2[6], a87173data[6])), i4456[6], i4089[6])
LOAD35385(java.lang.Object(ARRAY(i2[7], a87173data[7])), i4085[7], i4089[7]) → LOAD35385ARR2(java.lang.Object(ARRAY(i2[7], a87173data[7])), i4085[7], i4089[7])
LOAD35385ARR2(java.lang.Object(ARRAY(i2[8], a87173data[8])), i4085[8], i4089[8]) → COND_LOAD35385ARR2(&&(&&(&&(&&(&&(>(+(i4085[8], 1), 0), <(+(i4085[8], 1), i2[8])), >(i4085[8], 0)), <(i4085[8], i2[8])), >(i4089[8], 0)), >(+(+(i4085[8], 1), 1), 0)), java.lang.Object(ARRAY(i2[8], a87173data[8])), i4085[8], i4089[8])
LOAD35385(java.lang.Object(ARRAY(i2[10], a87173data[10])), i4085[10], i4089[10]) → LOAD35385ARR3(java.lang.Object(ARRAY(i2[10], a87173data[10])), i4085[10], i4089[10], java.lang.Object(java.lang.String(i4710[10])))
LOAD35385ARR3(java.lang.Object(ARRAY(i2[11], a87173data[11])), i4085[11], i4089[11], java.lang.Object(java.lang.String(i4710[11]))) → COND_LOAD35385ARR3(&&(&&(&&(&&(&&(&&(!(=(i4710[11], 0)), >(+(i4085[11], 1), 0)), <(+(i4085[11], 1), i2[11])), >(i4085[11], 0)), <(i4085[11], i2[11])), >(i4089[11], 0)), >(+(+(i4085[11], 1), 1), 0)), java.lang.Object(ARRAY(i2[11], a87173data[11])), i4085[11], i4089[11], java.lang.Object(java.lang.String(i4710[11])))
NEW39442(java.lang.Object(ARRAY(i2[13], a87173data[13])), i4651[13], i4089[13]) → INC35531(java.lang.Object(ARRAY(i2[13], a87173data[13])), i4651[13], i4089[13])
LOAD35385(java.lang.Object(ARRAY(i2[14], a87173data[14])), i4085[14], i4089[14]) → LOAD35385ARR4(java.lang.Object(ARRAY(i2[14], a87173data[14])), i4085[14], i4089[14], java.lang.Object(java.lang.String(i4231[14])))
LOAD35385ARR4(java.lang.Object(ARRAY(i2[15], a87173data[15])), i4085[15], i4089[15], java.lang.Object(java.lang.String(i4231[15]))) → COND_LOAD35385ARR4(&&(&&(&&(&&(&&(&&(>(+(i4085[15], 1), 0), <(+(i4085[15], 1), i2[15])), !(=(i4231[15], 0))), >(i4085[15], 0)), <(i4085[15], i2[15])), >(i4089[15], 0)), >(+(+(i4085[15], 1), 1), 0)), java.lang.Object(ARRAY(i2[15], a87173data[15])), i4085[15], i4089[15], java.lang.Object(java.lang.String(i4231[15])))
LOAD35385(java.lang.Object(ARRAY(i2[17], a87173data[17])), i4085[17], i4089[17]) → LOAD35385ARR5(java.lang.Object(ARRAY(i2[17], a87173data[17])), i4085[17], i4089[17], java.lang.Object(java.lang.String(i5087[17])), java.lang.Object(java.lang.String(i4231[17])))
LOAD35385ARR5(java.lang.Object(ARRAY(i2[18], a87173data[18])), i4085[18], i4089[18], java.lang.Object(java.lang.String(i5087[18])), java.lang.Object(java.lang.String(i4231[18]))) → COND_LOAD35385ARR5(&&(&&(&&(&&(&&(&&(&&(!(=(i5087[18], 0)), >(+(i4085[18], 1), 0)), <(+(i4085[18], 1), i2[18])), !(=(i4231[18], 0))), >(i4085[18], 0)), <(i4085[18], i2[18])), >(i4089[18], 0)), >(+(+(i4085[18], 1), 1), 0)), java.lang.Object(ARRAY(i2[18], a87173data[18])), i4085[18], i4089[18], java.lang.Object(java.lang.String(i5087[18])), java.lang.Object(java.lang.String(i4231[18])))
LOAD35385(java.lang.Object(ARRAY(i2[20], a87173data[20])), i4085[20], i4089[20]) → LOAD35385ARR6(java.lang.Object(ARRAY(i2[20], a87173data[20])), i4085[20], i4089[20], java.lang.Object(java.lang.String(i4710[20])))
LOAD35385ARR6(java.lang.Object(ARRAY(i2[21], a87173data[21])), i4085[21], i4089[21], java.lang.Object(java.lang.String(i4710[21]))) → COND_LOAD35385ARR6(&&(&&(&&(&&(&&(&&(!(=(i4710[21], 0)), >(+(i4085[21], 1), 0)), <(+(i4085[21], 1), i2[21])), >(i4085[21], 0)), <(i4085[21], i2[21])), >(i4089[21], 0)), >(+(+(i4085[21], 1), 1), 0)), java.lang.Object(ARRAY(i2[21], a87173data[21])), i4085[21], i4089[21], java.lang.Object(java.lang.String(i4710[21])))
LOAD35385(java.lang.Object(ARRAY(i2[23], a87173data[23])), i4085[23], i4089[23]) → LOAD35385ARR7(java.lang.Object(ARRAY(i2[23], a87173data[23])), i4085[23], i4089[23], java.lang.Object(java.lang.String(i4231[23])))
LOAD35385ARR7(java.lang.Object(ARRAY(i2[24], a87173data[24])), i4085[24], i4089[24], java.lang.Object(java.lang.String(i4231[24]))) → COND_LOAD35385ARR7(&&(&&(&&(&&(&&(&&(>(+(i4085[24], 1), 0), <(+(i4085[24], 1), i2[24])), !(=(i4231[24], 0))), >(i4085[24], 0)), <(i4085[24], i2[24])), >(i4089[24], 0)), >(+(+(i4085[24], 1), 1), 0)), java.lang.Object(ARRAY(i2[24], a87173data[24])), i4085[24], i4089[24], java.lang.Object(java.lang.String(i4231[24])))
LOAD35385(java.lang.Object(ARRAY(i2[26], a87173data[26])), i4085[26], i4089[26]) → LOAD35385ARR8(java.lang.Object(ARRAY(i2[26], a87173data[26])), i4085[26], i4089[26], java.lang.Object(java.lang.String(i5087[26])), java.lang.Object(java.lang.String(i4231[26])))
LOAD35385ARR8(java.lang.Object(ARRAY(i2[27], a87173data[27])), i4085[27], i4089[27], java.lang.Object(java.lang.String(i5087[27])), java.lang.Object(java.lang.String(i4231[27]))) → COND_LOAD35385ARR8(&&(&&(&&(&&(&&(&&(&&(!(=(i5087[27], 0)), >(+(i4085[27], 1), 0)), <(+(i4085[27], 1), i2[27])), !(=(i4231[27], 0))), >(i4085[27], 0)), <(i4085[27], i2[27])), >(i4089[27], 0)), >(+(+(i4085[27], 1), 1), 0)), java.lang.Object(ARRAY(i2[27], a87173data[27])), i4085[27], i4089[27], java.lang.Object(java.lang.String(i5087[27])), java.lang.Object(java.lang.String(i4231[27])))

There are no usable rules.

(26) Complex Obligation (AND)

(27) 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): LOAD35385(java.lang.Object(ARRAY(i2[0], a87173data[0])), i4085[0], i4089[0]) → LOAD35385ARR1(java.lang.Object(ARRAY(i2[0], a87173data[0])), i4085[0], i4089[0])
(1): LOAD35385ARR1(java.lang.Object(ARRAY(i2[1], a87173data[1])), i4085[1], i4089[1]) → COND_LOAD35385ARR1(i4085[1] + 1 > 0 && i4085[1] + 1 < i2[1] && i4085[1] > 0 && i4085[1] < i2[1] && i4089[1] > 0 && i4085[1] + 1 + 1 > 0, java.lang.Object(ARRAY(i2[1], a87173data[1])), i4085[1], i4089[1])
(4): LOAD35385(java.lang.Object(ARRAY(i2[4], a87173data[4])), i4085[4], i4089[4]) → COND_LOAD35385(i4089[4] > 0, java.lang.Object(ARRAY(i2[4], a87173data[4])), i4085[4], i4089[4])
(6): NEW38580(java.lang.Object(ARRAY(i2[6], a87173data[6])), i4456[6], i4089[6]) → INC35531(java.lang.Object(ARRAY(i2[6], a87173data[6])), i4456[6], i4089[6])
(7): LOAD35385(java.lang.Object(ARRAY(i2[7], a87173data[7])), i4085[7], i4089[7]) → LOAD35385ARR2(java.lang.Object(ARRAY(i2[7], a87173data[7])), i4085[7], i4089[7])
(8): LOAD35385ARR2(java.lang.Object(ARRAY(i2[8], a87173data[8])), i4085[8], i4089[8]) → COND_LOAD35385ARR2(i4085[8] + 1 > 0 && i4085[8] + 1 < i2[8] && i4085[8] > 0 && i4085[8] < i2[8] && i4089[8] > 0 && i4085[8] + 1 + 1 > 0, java.lang.Object(ARRAY(i2[8], a87173data[8])), i4085[8], i4089[8])
(10): LOAD35385(java.lang.Object(ARRAY(i2[10], a87173data[10])), i4085[10], i4089[10]) → LOAD35385ARR3(java.lang.Object(ARRAY(i2[10], a87173data[10])), i4085[10], i4089[10], java.lang.Object(java.lang.String(i4710[10])))
(11): LOAD35385ARR3(java.lang.Object(ARRAY(i2[11], a87173data[11])), i4085[11], i4089[11], java.lang.Object(java.lang.String(i4710[11]))) → COND_LOAD35385ARR3(!(i4710[11] = 0) && i4085[11] + 1 > 0 && i4085[11] + 1 < i2[11] && i4085[11] > 0 && i4085[11] < i2[11] && i4089[11] > 0 && i4085[11] + 1 + 1 > 0, java.lang.Object(ARRAY(i2[11], a87173data[11])), i4085[11], i4089[11], java.lang.Object(java.lang.String(i4710[11])))
(13): NEW39442(java.lang.Object(ARRAY(i2[13], a87173data[13])), i4651[13], i4089[13]) → INC35531(java.lang.Object(ARRAY(i2[13], a87173data[13])), i4651[13], i4089[13])
(14): LOAD35385(java.lang.Object(ARRAY(i2[14], a87173data[14])), i4085[14], i4089[14]) → LOAD35385ARR4(java.lang.Object(ARRAY(i2[14], a87173data[14])), i4085[14], i4089[14], java.lang.Object(java.lang.String(i4231[14])))
(15): LOAD35385ARR4(java.lang.Object(ARRAY(i2[15], a87173data[15])), i4085[15], i4089[15], java.lang.Object(java.lang.String(i4231[15]))) → COND_LOAD35385ARR4(i4085[15] + 1 > 0 && i4085[15] + 1 < i2[15] && !(i4231[15] = 0) && i4085[15] > 0 && i4085[15] < i2[15] && i4089[15] > 0 && i4085[15] + 1 + 1 > 0, java.lang.Object(ARRAY(i2[15], a87173data[15])), i4085[15], i4089[15], java.lang.Object(java.lang.String(i4231[15])))
(17): LOAD35385(java.lang.Object(ARRAY(i2[17], a87173data[17])), i4085[17], i4089[17]) → LOAD35385ARR5(java.lang.Object(ARRAY(i2[17], a87173data[17])), i4085[17], i4089[17], java.lang.Object(java.lang.String(i5087[17])), java.lang.Object(java.lang.String(i4231[17])))
(18): LOAD35385ARR5(java.lang.Object(ARRAY(i2[18], a87173data[18])), i4085[18], i4089[18], java.lang.Object(java.lang.String(i5087[18])), java.lang.Object(java.lang.String(i4231[18]))) → COND_LOAD35385ARR5(!(i5087[18] = 0) && i4085[18] + 1 > 0 && i4085[18] + 1 < i2[18] && !(i4231[18] = 0) && i4085[18] > 0 && i4085[18] < i2[18] && i4089[18] > 0 && i4085[18] + 1 + 1 > 0, java.lang.Object(ARRAY(i2[18], a87173data[18])), i4085[18], i4089[18], java.lang.Object(java.lang.String(i5087[18])), java.lang.Object(java.lang.String(i4231[18])))
(20): LOAD35385(java.lang.Object(ARRAY(i2[20], a87173data[20])), i4085[20], i4089[20]) → LOAD35385ARR6(java.lang.Object(ARRAY(i2[20], a87173data[20])), i4085[20], i4089[20], java.lang.Object(java.lang.String(i4710[20])))
(21): LOAD35385ARR6(java.lang.Object(ARRAY(i2[21], a87173data[21])), i4085[21], i4089[21], java.lang.Object(java.lang.String(i4710[21]))) → COND_LOAD35385ARR6(!(i4710[21] = 0) && i4085[21] + 1 > 0 && i4085[21] + 1 < i2[21] && i4085[21] > 0 && i4085[21] < i2[21] && i4089[21] > 0 && i4085[21] + 1 + 1 > 0, java.lang.Object(ARRAY(i2[21], a87173data[21])), i4085[21], i4089[21], java.lang.Object(java.lang.String(i4710[21])))
(23): LOAD35385(java.lang.Object(ARRAY(i2[23], a87173data[23])), i4085[23], i4089[23]) → LOAD35385ARR7(java.lang.Object(ARRAY(i2[23], a87173data[23])), i4085[23], i4089[23], java.lang.Object(java.lang.String(i4231[23])))
(24): LOAD35385ARR7(java.lang.Object(ARRAY(i2[24], a87173data[24])), i4085[24], i4089[24], java.lang.Object(java.lang.String(i4231[24]))) → COND_LOAD35385ARR7(i4085[24] + 1 > 0 && i4085[24] + 1 < i2[24] && !(i4231[24] = 0) && i4085[24] > 0 && i4085[24] < i2[24] && i4089[24] > 0 && i4085[24] + 1 + 1 > 0, java.lang.Object(ARRAY(i2[24], a87173data[24])), i4085[24], i4089[24], java.lang.Object(java.lang.String(i4231[24])))
(26): LOAD35385(java.lang.Object(ARRAY(i2[26], a87173data[26])), i4085[26], i4089[26]) → LOAD35385ARR8(java.lang.Object(ARRAY(i2[26], a87173data[26])), i4085[26], i4089[26], java.lang.Object(java.lang.String(i5087[26])), java.lang.Object(java.lang.String(i4231[26])))
(27): LOAD35385ARR8(java.lang.Object(ARRAY(i2[27], a87173data[27])), i4085[27], i4089[27], java.lang.Object(java.lang.String(i5087[27])), java.lang.Object(java.lang.String(i4231[27]))) → COND_LOAD35385ARR8(!(i5087[27] = 0) && i4085[27] + 1 > 0 && i4085[27] + 1 < i2[27] && !(i4231[27] = 0) && i4085[27] > 0 && i4085[27] < i2[27] && i4089[27] > 0 && i4085[27] + 1 + 1 > 0, java.lang.Object(ARRAY(i2[27], a87173data[27])), i4085[27], i4089[27], java.lang.Object(java.lang.String(i5087[27])), java.lang.Object(java.lang.String(i4231[27])))

(0) -> (1), if ((i4085[0]* i4085[1])∧((i2[0]* i2[1])∧(a87173data[0]* a87173data[1]))∧(i4089[0]* i4089[1]))


(7) -> (8), if (((i2[7]* i2[8])∧(a87173data[7]* a87173data[8]))∧(i4089[7]* i4089[8])∧(i4085[7]* i4085[8]))


(10) -> (11), if ((i4089[10]* i4089[11])∧((i4710[10]* i4710[11]))∧(i4085[10]* i4085[11])∧((i2[10]* i2[11])∧(a87173data[10]* a87173data[11])))


(14) -> (15), if ((i4089[14]* i4089[15])∧((i4231[14]* i4231[15]))∧(i4085[14]* i4085[15])∧((i2[14]* i2[15])∧(a87173data[14]* a87173data[15])))


(17) -> (18), if (((i2[17]* i2[18])∧(a87173data[17]* a87173data[18]))∧((i4231[17]* i4231[18]))∧(i4089[17]* i4089[18])∧(i4085[17]* i4085[18])∧((i5087[17]* i5087[18])))


(20) -> (21), if (((i4710[20]* i4710[21]))∧(i4085[20]* i4085[21])∧((i2[20]* i2[21])∧(a87173data[20]* a87173data[21]))∧(i4089[20]* i4089[21]))


(23) -> (24), if (((i4231[23]* i4231[24]))∧(i4085[23]* i4085[24])∧(i4089[23]* i4089[24])∧((i2[23]* i2[24])∧(a87173data[23]* a87173data[24])))


(26) -> (27), if ((i4085[26]* i4085[27])∧((i5087[26]* i5087[27]))∧(i4089[26]* i4089[27])∧((i4231[26]* i4231[27]))∧((i2[26]* i2[27])∧(a87173data[26]* a87173data[27])))



The set Q consists of the following terms:
Load35385(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load35385ARR1(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load35385ARR1(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
Inc35531(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load35385(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
New38580(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load35385ARR2(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load35385ARR2(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load35385ARR3(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load35385ARR3(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
New39442(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load35385ARR4(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load35385ARR4(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load35385ARR5(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)), java.lang.Object(java.lang.String(x5)))
Cond_Load35385ARR5(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)), java.lang.Object(java.lang.String(x5)))
Load35385ARR6(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load35385ARR6(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load35385ARR7(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load35385ARR7(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load35385ARR8(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)), java.lang.Object(java.lang.String(x5)))
Cond_Load35385ARR8(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)), java.lang.Object(java.lang.String(x5)))

(28) IDependencyGraphProof (EQUIVALENT transformation)

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

(29) TRUE

(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:

Integer


R is empty.

The integer pair graph contains the following rules and edges:
(0): LOAD35385(java.lang.Object(ARRAY(i2[0], a87173data[0])), i4085[0], i4089[0]) → LOAD35385ARR1(java.lang.Object(ARRAY(i2[0], a87173data[0])), i4085[0], i4089[0])
(2): COND_LOAD35385ARR1(TRUE, java.lang.Object(ARRAY(i2[2], a87173data[2])), i4085[2], i4089[2]) → NEW38580(java.lang.Object(ARRAY(i2[2], a87173data[2])), i4085[2] + 1 + 1, i4089[2])
(3): INC35531(java.lang.Object(ARRAY(i2[3], a87173data[3])), i4085[3], i4089[3]) → LOAD35385(java.lang.Object(ARRAY(i2[3], a87173data[3])), i4085[3], i4089[3] + -1)
(4): LOAD35385(java.lang.Object(ARRAY(i2[4], a87173data[4])), i4085[4], i4089[4]) → COND_LOAD35385(i4089[4] > 0, java.lang.Object(ARRAY(i2[4], a87173data[4])), i4085[4], i4089[4])
(5): COND_LOAD35385(TRUE, java.lang.Object(ARRAY(i2[5], a87173data[5])), i4085[5], i4089[5]) → LOAD35385(java.lang.Object(ARRAY(i2[5], a87173data[5])), i4085[5], i4089[5] + -1)
(6): NEW38580(java.lang.Object(ARRAY(i2[6], a87173data[6])), i4456[6], i4089[6]) → INC35531(java.lang.Object(ARRAY(i2[6], a87173data[6])), i4456[6], i4089[6])
(7): LOAD35385(java.lang.Object(ARRAY(i2[7], a87173data[7])), i4085[7], i4089[7]) → LOAD35385ARR2(java.lang.Object(ARRAY(i2[7], a87173data[7])), i4085[7], i4089[7])
(9): COND_LOAD35385ARR2(TRUE, java.lang.Object(ARRAY(i2[9], a87173data[9])), i4085[9], i4089[9]) → INC35531(java.lang.Object(ARRAY(i2[9], a87173data[9])), i4085[9] + 1 + 1, i4089[9])
(10): LOAD35385(java.lang.Object(ARRAY(i2[10], a87173data[10])), i4085[10], i4089[10]) → LOAD35385ARR3(java.lang.Object(ARRAY(i2[10], a87173data[10])), i4085[10], i4089[10], java.lang.Object(java.lang.String(i4710[10])))
(12): COND_LOAD35385ARR3(TRUE, java.lang.Object(ARRAY(i2[12], a87173data[12])), i4085[12], i4089[12], java.lang.Object(java.lang.String(i4710[12]))) → INC35531(java.lang.Object(ARRAY(i2[12], a87173data[12])), i4085[12] + 1 + 1, i4089[12])
(13): NEW39442(java.lang.Object(ARRAY(i2[13], a87173data[13])), i4651[13], i4089[13]) → INC35531(java.lang.Object(ARRAY(i2[13], a87173data[13])), i4651[13], i4089[13])
(14): LOAD35385(java.lang.Object(ARRAY(i2[14], a87173data[14])), i4085[14], i4089[14]) → LOAD35385ARR4(java.lang.Object(ARRAY(i2[14], a87173data[14])), i4085[14], i4089[14], java.lang.Object(java.lang.String(i4231[14])))
(16): COND_LOAD35385ARR4(TRUE, java.lang.Object(ARRAY(i2[16], a87173data[16])), i4085[16], i4089[16], java.lang.Object(java.lang.String(i4231[16]))) → INC35531(java.lang.Object(ARRAY(i2[16], a87173data[16])), i4085[16] + 1 + 1, i4089[16])
(17): LOAD35385(java.lang.Object(ARRAY(i2[17], a87173data[17])), i4085[17], i4089[17]) → LOAD35385ARR5(java.lang.Object(ARRAY(i2[17], a87173data[17])), i4085[17], i4089[17], java.lang.Object(java.lang.String(i5087[17])), java.lang.Object(java.lang.String(i4231[17])))
(19): COND_LOAD35385ARR5(TRUE, java.lang.Object(ARRAY(i2[19], a87173data[19])), i4085[19], i4089[19], java.lang.Object(java.lang.String(i5087[19])), java.lang.Object(java.lang.String(i4231[19]))) → INC35531(java.lang.Object(ARRAY(i2[19], a87173data[19])), i4085[19] + 1 + 1, i4089[19])
(20): LOAD35385(java.lang.Object(ARRAY(i2[20], a87173data[20])), i4085[20], i4089[20]) → LOAD35385ARR6(java.lang.Object(ARRAY(i2[20], a87173data[20])), i4085[20], i4089[20], java.lang.Object(java.lang.String(i4710[20])))
(22): COND_LOAD35385ARR6(TRUE, java.lang.Object(ARRAY(i2[22], a87173data[22])), i4085[22], i4089[22], java.lang.Object(java.lang.String(i4710[22]))) → NEW38580(java.lang.Object(ARRAY(i2[22], a87173data[22])), i4085[22] + 1 + 1, i4089[22])
(23): LOAD35385(java.lang.Object(ARRAY(i2[23], a87173data[23])), i4085[23], i4089[23]) → LOAD35385ARR7(java.lang.Object(ARRAY(i2[23], a87173data[23])), i4085[23], i4089[23], java.lang.Object(java.lang.String(i4231[23])))
(25): COND_LOAD35385ARR7(TRUE, java.lang.Object(ARRAY(i2[25], a87173data[25])), i4085[25], i4089[25], java.lang.Object(java.lang.String(i4231[25]))) → NEW39442(java.lang.Object(ARRAY(i2[25], a87173data[25])), i4085[25] + 1 + 1, i4089[25])
(26): LOAD35385(java.lang.Object(ARRAY(i2[26], a87173data[26])), i4085[26], i4089[26]) → LOAD35385ARR8(java.lang.Object(ARRAY(i2[26], a87173data[26])), i4085[26], i4089[26], java.lang.Object(java.lang.String(i5087[26])), java.lang.Object(java.lang.String(i4231[26])))
(28): COND_LOAD35385ARR8(TRUE, java.lang.Object(ARRAY(i2[28], a87173data[28])), i4085[28], i4089[28], java.lang.Object(java.lang.String(i5087[28])), java.lang.Object(java.lang.String(i4231[28]))) → NEW39442(java.lang.Object(ARRAY(i2[28], a87173data[28])), i4085[28] + 1 + 1, i4089[28])

(3) -> (0), if ((i4085[3]* i4085[0])∧((i2[3]* i2[0])∧(a87173data[3]* a87173data[0]))∧(i4089[3] + -1* i4089[0]))


(5) -> (0), if ((i4089[5] + -1* i4089[0])∧((i2[5]* i2[0])∧(a87173data[5]* a87173data[0]))∧(i4085[5]* i4085[0]))


(6) -> (3), if ((i4456[6]* i4085[3])∧((i2[6]* i2[3])∧(a87173data[6]* a87173data[3]))∧(i4089[6]* i4089[3]))


(9) -> (3), if (((i2[9]* i2[3])∧(a87173data[9]* a87173data[3]))∧(i4085[9] + 1 + 1* i4085[3])∧(i4089[9]* i4089[3]))


(12) -> (3), if (((i2[12]* i2[3])∧(a87173data[12]* a87173data[3]))∧(i4089[12]* i4089[3])∧(i4085[12] + 1 + 1* i4085[3]))


(13) -> (3), if ((i4651[13]* i4085[3])∧(i4089[13]* i4089[3])∧((i2[13]* i2[3])∧(a87173data[13]* a87173data[3])))


(16) -> (3), if ((i4085[16] + 1 + 1* i4085[3])∧(i4089[16]* i4089[3])∧((i2[16]* i2[3])∧(a87173data[16]* a87173data[3])))


(19) -> (3), if (((i2[19]* i2[3])∧(a87173data[19]* a87173data[3]))∧(i4085[19] + 1 + 1* i4085[3])∧(i4089[19]* i4089[3]))


(3) -> (4), if ((i4085[3]* i4085[4])∧(i4089[3] + -1* i4089[4])∧((i2[3]* i2[4])∧(a87173data[3]* a87173data[4])))


(5) -> (4), if (((i2[5]* i2[4])∧(a87173data[5]* a87173data[4]))∧(i4085[5]* i4085[4])∧(i4089[5] + -1* i4089[4]))


(4) -> (5), if ((i4085[4]* i4085[5])∧(i4089[4] > 0* TRUE)∧((i2[4]* i2[5])∧(a87173data[4]* a87173data[5]))∧(i4089[4]* i4089[5]))


(2) -> (6), if ((i4089[2]* i4089[6])∧((i2[2]* i2[6])∧(a87173data[2]* a87173data[6]))∧(i4085[2] + 1 + 1* i4456[6]))


(22) -> (6), if (((i2[22]* i2[6])∧(a87173data[22]* a87173data[6]))∧(i4089[22]* i4089[6])∧(i4085[22] + 1 + 1* i4456[6]))


(3) -> (7), if ((i4089[3] + -1* i4089[7])∧((i2[3]* i2[7])∧(a87173data[3]* a87173data[7]))∧(i4085[3]* i4085[7]))


(5) -> (7), if (((i2[5]* i2[7])∧(a87173data[5]* a87173data[7]))∧(i4089[5] + -1* i4089[7])∧(i4085[5]* i4085[7]))


(3) -> (10), if ((i4085[3]* i4085[10])∧(i4089[3] + -1* i4089[10])∧((i2[3]* i2[10])∧(a87173data[3]* a87173data[10])))


(5) -> (10), if ((i4089[5] + -1* i4089[10])∧((i2[5]* i2[10])∧(a87173data[5]* a87173data[10]))∧(i4085[5]* i4085[10]))


(25) -> (13), if ((i4085[25] + 1 + 1* i4651[13])∧(i4089[25]* i4089[13])∧((i2[25]* i2[13])∧(a87173data[25]* a87173data[13])))


(28) -> (13), if ((i4085[28] + 1 + 1* i4651[13])∧((i2[28]* i2[13])∧(a87173data[28]* a87173data[13]))∧(i4089[28]* i4089[13]))


(3) -> (14), if (((i2[3]* i2[14])∧(a87173data[3]* a87173data[14]))∧(i4085[3]* i4085[14])∧(i4089[3] + -1* i4089[14]))


(5) -> (14), if ((i4085[5]* i4085[14])∧(i4089[5] + -1* i4089[14])∧((i2[5]* i2[14])∧(a87173data[5]* a87173data[14])))


(3) -> (17), if ((i4089[3] + -1* i4089[17])∧((i2[3]* i2[17])∧(a87173data[3]* a87173data[17]))∧(i4085[3]* i4085[17]))


(5) -> (17), if ((i4089[5] + -1* i4089[17])∧(i4085[5]* i4085[17])∧((i2[5]* i2[17])∧(a87173data[5]* a87173data[17])))


(3) -> (20), if (((i2[3]* i2[20])∧(a87173data[3]* a87173data[20]))∧(i4089[3] + -1* i4089[20])∧(i4085[3]* i4085[20]))


(5) -> (20), if ((i4089[5] + -1* i4089[20])∧(i4085[5]* i4085[20])∧((i2[5]* i2[20])∧(a87173data[5]* a87173data[20])))


(3) -> (23), if ((i4085[3]* i4085[23])∧((i2[3]* i2[23])∧(a87173data[3]* a87173data[23]))∧(i4089[3] + -1* i4089[23]))


(5) -> (23), if ((i4089[5] + -1* i4089[23])∧((i2[5]* i2[23])∧(a87173data[5]* a87173data[23]))∧(i4085[5]* i4085[23]))


(3) -> (26), if ((i4085[3]* i4085[26])∧((i2[3]* i2[26])∧(a87173data[3]* a87173data[26]))∧(i4089[3] + -1* i4089[26]))


(5) -> (26), if ((i4085[5]* i4085[26])∧(i4089[5] + -1* i4089[26])∧((i2[5]* i2[26])∧(a87173data[5]* a87173data[26])))



The set Q consists of the following terms:
Load35385(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load35385ARR1(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load35385ARR1(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
Inc35531(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load35385(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
New38580(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load35385ARR2(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load35385ARR2(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load35385ARR3(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load35385ARR3(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
New39442(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load35385ARR4(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load35385ARR4(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load35385ARR5(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)), java.lang.Object(java.lang.String(x5)))
Cond_Load35385ARR5(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)), java.lang.Object(java.lang.String(x5)))
Load35385ARR6(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load35385ARR6(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load35385ARR7(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load35385ARR7(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load35385ARR8(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)), java.lang.Object(java.lang.String(x5)))
Cond_Load35385ARR8(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)), java.lang.Object(java.lang.String(x5)))

(31) IDependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 19 less nodes.

(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:

Integer


R is empty.

The integer pair graph contains the following rules and edges:
(5): COND_LOAD35385(TRUE, java.lang.Object(ARRAY(i2[5], a87173data[5])), i4085[5], i4089[5]) → LOAD35385(java.lang.Object(ARRAY(i2[5], a87173data[5])), i4085[5], i4089[5] + -1)
(4): LOAD35385(java.lang.Object(ARRAY(i2[4], a87173data[4])), i4085[4], i4089[4]) → COND_LOAD35385(i4089[4] > 0, java.lang.Object(ARRAY(i2[4], a87173data[4])), i4085[4], i4089[4])

(5) -> (4), if (((i2[5]* i2[4])∧(a87173data[5]* a87173data[4]))∧(i4085[5]* i4085[4])∧(i4089[5] + -1* i4089[4]))


(4) -> (5), if ((i4085[4]* i4085[5])∧(i4089[4] > 0* TRUE)∧((i2[4]* i2[5])∧(a87173data[4]* a87173data[5]))∧(i4089[4]* i4089[5]))



The set Q consists of the following terms:
Load35385(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load35385ARR1(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load35385ARR1(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
Inc35531(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load35385(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
New38580(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load35385ARR2(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load35385ARR2(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load35385ARR3(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load35385ARR3(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
New39442(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load35385ARR4(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load35385ARR4(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load35385ARR5(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)), java.lang.Object(java.lang.String(x5)))
Cond_Load35385ARR5(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)), java.lang.Object(java.lang.String(x5)))
Load35385ARR6(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load35385ARR6(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load35385ARR7(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load35385ARR7(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load35385ARR8(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)), java.lang.Object(java.lang.String(x5)))
Cond_Load35385ARR8(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 COND_LOAD35385(TRUE, java.lang.Object(ARRAY(i2[5], a87173data[5])), i4085[5], i4089[5]) → LOAD35385(java.lang.Object(ARRAY(i2[5], a87173data[5])), i4085[5], +(i4089[5], -1)) the following chains were created:
  • We consider the chain COND_LOAD35385(TRUE, java.lang.Object(ARRAY(i2[5], a87173data[5])), i4085[5], i4089[5]) → LOAD35385(java.lang.Object(ARRAY(i2[5], a87173data[5])), i4085[5], +(i4089[5], -1)) which results in the following constraint:

    (1)    (COND_LOAD35385(TRUE, java.lang.Object(ARRAY(i2[5], a87173data[5])), i4085[5], i4089[5])≥NonInfC∧COND_LOAD35385(TRUE, java.lang.Object(ARRAY(i2[5], a87173data[5])), i4085[5], i4089[5])≥LOAD35385(java.lang.Object(ARRAY(i2[5], a87173data[5])), i4085[5], +(i4089[5], -1))∧(UIncreasing(LOAD35385(java.lang.Object(ARRAY(i2[5], a87173data[5])), i4085[5], +(i4089[5], -1))), ≥))



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

    (2)    ((UIncreasing(LOAD35385(java.lang.Object(ARRAY(i2[5], a87173data[5])), i4085[5], +(i4089[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(LOAD35385(java.lang.Object(ARRAY(i2[5], a87173data[5])), i4085[5], +(i4089[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(LOAD35385(java.lang.Object(ARRAY(i2[5], a87173data[5])), i4085[5], +(i4089[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(LOAD35385(java.lang.Object(ARRAY(i2[5], a87173data[5])), i4085[5], +(i4089[5], -1))), ≥)∧0 = 0∧[2 + (-1)bso_11] ≥ 0)







For Pair LOAD35385(java.lang.Object(ARRAY(i2[4], a87173data[4])), i4085[4], i4089[4]) → COND_LOAD35385(>(i4089[4], 0), java.lang.Object(ARRAY(i2[4], a87173data[4])), i4085[4], i4089[4]) the following chains were created:
  • We consider the chain LOAD35385(java.lang.Object(ARRAY(i2[4], a87173data[4])), i4085[4], i4089[4]) → COND_LOAD35385(>(i4089[4], 0), java.lang.Object(ARRAY(i2[4], a87173data[4])), i4085[4], i4089[4]), COND_LOAD35385(TRUE, java.lang.Object(ARRAY(i2[5], a87173data[5])), i4085[5], i4089[5]) → LOAD35385(java.lang.Object(ARRAY(i2[5], a87173data[5])), i4085[5], +(i4089[5], -1)) which results in the following constraint:

    (6)    (i4085[4]=i4085[5]>(i4089[4], 0)=TRUEi2[4]=i2[5]a87173data[4]=a87173data[5]i4089[4]=i4089[5]LOAD35385(java.lang.Object(ARRAY(i2[4], a87173data[4])), i4085[4], i4089[4])≥NonInfC∧LOAD35385(java.lang.Object(ARRAY(i2[4], a87173data[4])), i4085[4], i4089[4])≥COND_LOAD35385(>(i4089[4], 0), java.lang.Object(ARRAY(i2[4], a87173data[4])), i4085[4], i4089[4])∧(UIncreasing(COND_LOAD35385(>(i4089[4], 0), java.lang.Object(ARRAY(i2[4], a87173data[4])), i4085[4], i4089[4])), ≥))



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

    (7)    (>(i4089[4], 0)=TRUELOAD35385(java.lang.Object(ARRAY(i2[4], a87173data[4])), i4085[4], i4089[4])≥NonInfC∧LOAD35385(java.lang.Object(ARRAY(i2[4], a87173data[4])), i4085[4], i4089[4])≥COND_LOAD35385(>(i4089[4], 0), java.lang.Object(ARRAY(i2[4], a87173data[4])), i4085[4], i4089[4])∧(UIncreasing(COND_LOAD35385(>(i4089[4], 0), java.lang.Object(ARRAY(i2[4], a87173data[4])), i4085[4], i4089[4])), ≥))



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

    (8)    (i4089[4] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385(>(i4089[4], 0), java.lang.Object(ARRAY(i2[4], a87173data[4])), i4085[4], i4089[4])), ≥)∧[(-1)bni_12 + (-1)Bound*bni_12] + [(2)bni_12]i4089[4] ≥ 0∧[(-1)bso_13] ≥ 0)



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

    (9)    (i4089[4] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385(>(i4089[4], 0), java.lang.Object(ARRAY(i2[4], a87173data[4])), i4085[4], i4089[4])), ≥)∧[(-1)bni_12 + (-1)Bound*bni_12] + [(2)bni_12]i4089[4] ≥ 0∧[(-1)bso_13] ≥ 0)



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

    (10)    (i4089[4] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385(>(i4089[4], 0), java.lang.Object(ARRAY(i2[4], a87173data[4])), i4085[4], i4089[4])), ≥)∧[(-1)bni_12 + (-1)Bound*bni_12] + [(2)bni_12]i4089[4] ≥ 0∧[(-1)bso_13] ≥ 0)



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

    (11)    (i4089[4] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385(>(i4089[4], 0), java.lang.Object(ARRAY(i2[4], a87173data[4])), i4085[4], i4089[4])), ≥)∧[bni_12 + (-1)Bound*bni_12] + [(2)bni_12]i4089[4] ≥ 0∧[(-1)bso_13] ≥ 0)







To summarize, we get the following constraints P for the following pairs.
  • COND_LOAD35385(TRUE, java.lang.Object(ARRAY(i2[5], a87173data[5])), i4085[5], i4089[5]) → LOAD35385(java.lang.Object(ARRAY(i2[5], a87173data[5])), i4085[5], +(i4089[5], -1))
    • ((UIncreasing(LOAD35385(java.lang.Object(ARRAY(i2[5], a87173data[5])), i4085[5], +(i4089[5], -1))), ≥)∧0 = 0∧[2 + (-1)bso_11] ≥ 0)

  • LOAD35385(java.lang.Object(ARRAY(i2[4], a87173data[4])), i4085[4], i4089[4]) → COND_LOAD35385(>(i4089[4], 0), java.lang.Object(ARRAY(i2[4], a87173data[4])), i4085[4], i4089[4])
    • (i4089[4] ≥ 0 ⇒ (UIncreasing(COND_LOAD35385(>(i4089[4], 0), java.lang.Object(ARRAY(i2[4], a87173data[4])), i4085[4], i4089[4])), ≥)∧[bni_12 + (-1)Bound*bni_12] + [(2)bni_12]i4089[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_LOAD35385(x1, x2, x3, x4)) = [-1] + [2]x4   
POL(java.lang.Object(x1)) = [-1]   
POL(ARRAY(x1, x2)) = [-1]   
POL(LOAD35385(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_LOAD35385(TRUE, java.lang.Object(ARRAY(i2[5], a87173data[5])), i4085[5], i4089[5]) → LOAD35385(java.lang.Object(ARRAY(i2[5], a87173data[5])), i4085[5], +(i4089[5], -1))

The following pairs are in Pbound:

LOAD35385(java.lang.Object(ARRAY(i2[4], a87173data[4])), i4085[4], i4089[4]) → COND_LOAD35385(>(i4089[4], 0), java.lang.Object(ARRAY(i2[4], a87173data[4])), i4085[4], i4089[4])

The following pairs are in P:

LOAD35385(java.lang.Object(ARRAY(i2[4], a87173data[4])), i4085[4], i4089[4]) → COND_LOAD35385(>(i4089[4], 0), java.lang.Object(ARRAY(i2[4], a87173data[4])), i4085[4], i4089[4])

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:

Integer


R is empty.

The integer pair graph contains the following rules and edges:
(4): LOAD35385(java.lang.Object(ARRAY(i2[4], a87173data[4])), i4085[4], i4089[4]) → COND_LOAD35385(i4089[4] > 0, java.lang.Object(ARRAY(i2[4], a87173data[4])), i4085[4], i4089[4])


The set Q consists of the following terms:
Load35385(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load35385ARR1(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load35385ARR1(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
Inc35531(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load35385(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
New38580(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load35385ARR2(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load35385ARR2(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load35385ARR3(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load35385ARR3(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
New39442(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load35385ARR4(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load35385ARR4(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load35385ARR5(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)), java.lang.Object(java.lang.String(x5)))
Cond_Load35385ARR5(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)), java.lang.Object(java.lang.String(x5)))
Load35385ARR6(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load35385ARR6(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load35385ARR7(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load35385ARR7(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load35385ARR8(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)), java.lang.Object(java.lang.String(x5)))
Cond_Load35385ARR8(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 1 less node.

(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:
(5): COND_LOAD35385(TRUE, java.lang.Object(ARRAY(i2[5], a87173data[5])), i4085[5], i4089[5]) → LOAD35385(java.lang.Object(ARRAY(i2[5], a87173data[5])), i4085[5], i4089[5] + -1)


The set Q consists of the following terms:
Load35385(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load35385ARR1(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load35385ARR1(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
Inc35531(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load35385(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
New38580(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load35385ARR2(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load35385ARR2(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load35385ARR3(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load35385ARR3(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
New39442(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load35385ARR4(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load35385ARR4(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load35385ARR5(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)), java.lang.Object(java.lang.String(x5)))
Cond_Load35385ARR5(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)), java.lang.Object(java.lang.String(x5)))
Load35385ARR6(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load35385ARR6(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load35385ARR7(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load35385ARR7(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load35385ARR8(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)), java.lang.Object(java.lang.String(x5)))
Cond_Load35385ARR8(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 0 SCCs with 1 less node.

(40) TRUE