(0) Obligation:

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

int c = count(tree);
}

public static Tree flatten(Tree start) {
Tree result = null;
Tree s,t,u;

while (start != null) {

if (start.left == null) {

result = new Tree(null,result);
start = start.right;
}
else {
s = start.left.left;
t = start.left.right;
u = start.right;
start = new Tree(s, new Tree(t,u));



}
}

return result;
}


public static int count(Tree start) {

int res = 0;

while (start != null) {

if (start.left == null) {

res++;
start = start.right;
}
else {
start = flatten(start);

}
}

return res;
}
}


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() {
Tree result = new Tree();
result.value = new Object();
return result;
}

public static Tree createTree() {
int counter = Random.random();
if (counter == 0) {
return null;
}
Tree result = createNode();
Tree t = result;

while (counter > 0) {
int branch = Random.random();
if (branch > 0) {
if (t.left == null) {
t.left = createNode();
t = result;
} else {
t = t.left;
}
} else {
if (t.right == null) {
t.right = createNode();
t = result;
} else {
t = t.right;
}
}
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 750 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:
Load4124(o3879, o3878, i341) → NULL4222(o3879, o3878, i341, o3878)
NULL4222(o3956, java.lang.Object(Tree(java.lang.Object(Tree(o4301Field0, o4301Field1)), o4175)), i356, java.lang.Object(Tree(java.lang.Object(Tree(o4301Field0, o4301Field1)), o4175))) → Load40400(o3956, java.lang.Object(Tree(java.lang.Object(Tree(o4301Field0, o4301Field1)), o4175)), i356, java.lang.Object(Tree(java.lang.Object(Tree(o4301Field0, o4301Field1)), o4175)), java.lang.Object(Tree(java.lang.Object(Tree(o4301Field0, o4301Field1)), o4175)), NULL)
Store46056(o41578, java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0, o41574Field1)), o41575)), i356, java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0, o41574Field1)), o41575)), java.lang.Object(Tree(java.lang.Object(Tree(o47312, o47313)), o43139)), o41571, o47312) → Load40400(o41578, java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0, o41574Field1)), o41575)), i356, java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0, o41574Field1)), o41575)), java.lang.Object(Tree(o47312, java.lang.Object(Tree(o47313, o43139)))), o41571)
Load40400(o41578, java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0, o41574Field1)), o41575)), i356, java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0, o41574Field1)), o41575)), java.lang.Object(Tree(java.lang.Object(Tree(o47312, o47313)), o43139)), o41571) → Load40400(o41578, java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0, o41574Field1)), o41575)), i356, java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0, o41574Field1)), o41575)), java.lang.Object(Tree(o47312, java.lang.Object(Tree(o47313, o43139)))), o41571)
Load40400(o41578, java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0, o41574Field1)), o41575)), i356, java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0, o41574Field1)), o41575)), java.lang.Object(Tree(NULL, o43139)), o41571) → Load40400(o41578, java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0, o41574Field1)), o41575)), i356, java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0, o41574Field1)), o41575)), o43139, java.lang.Object(Tree(NULL, o41571)))
Load40400(o41578, java.lang.Object(Tree(java.lang.Object(Tree(o43922, o43923)), o41575)), i356, java.lang.Object(Tree(java.lang.Object(Tree(o43922, o43923)), o41575)), java.lang.Object(Tree(java.lang.Object(Tree(o43922, o43923)), o41575)), o41571) → Load40400(o41578, java.lang.Object(Tree(java.lang.Object(Tree(o43922, o43923)), o41575)), i356, java.lang.Object(Tree(java.lang.Object(Tree(o43922, o43923)), o41575)), java.lang.Object(Tree(o43922, java.lang.Object(Tree(o43923, o41575)))), o41571)
FieldAccess40823(java.lang.Object(Tree(java.lang.Object(Tree(o45716, o45717)), o41776)), java.lang.Object(Tree(java.lang.Object(Tree(o45716, o45717)), o41776)), i356, java.lang.Object(Tree(java.lang.Object(Tree(o45716, o45717)), o41776)), java.lang.Object(Tree(java.lang.Object(Tree(o45716, o45717)), o41776)), o41773, java.lang.Object(Tree(java.lang.Object(Tree(o45716, o45717)), o41776))) → Load40400(java.lang.Object(Tree(java.lang.Object(Tree(o45716, o45717)), o41776)), java.lang.Object(Tree(java.lang.Object(Tree(o45716, o45717)), o41776)), i356, java.lang.Object(Tree(java.lang.Object(Tree(o45716, o45717)), o41776)), java.lang.Object(Tree(o45716, java.lang.Object(Tree(o45717, o41776)))), o41773)
Load40540(java.lang.Object(Tree(java.lang.Object(Tree(o45716, o45717)), o41776)), java.lang.Object(Tree(java.lang.Object(Tree(o45716, o45717)), o41776)), i356, java.lang.Object(Tree(java.lang.Object(Tree(o45716, o45717)), o41776)), java.lang.Object(Tree(java.lang.Object(Tree(o45716, o45717)), o41776)), o41773) → Load40400(java.lang.Object(Tree(java.lang.Object(Tree(o45716, o45717)), o41776)), java.lang.Object(Tree(java.lang.Object(Tree(o45716, o45717)), o41776)), i356, java.lang.Object(Tree(java.lang.Object(Tree(o45716, o45717)), o41776)), java.lang.Object(Tree(o45716, java.lang.Object(Tree(o45717, o41776)))), o41773)
Load40400(o41578, java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0, o41574Field1)), o41575)), i356, java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0, o41574Field1)), o41575)), java.lang.Object(Tree(java.lang.Object(Tree(o49252, o49253)), o43139)), o41571) → Store46056(o41578, java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0, o41574Field1)), o41575)), i356, java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0, o41574Field1)), o41575)), java.lang.Object(Tree(java.lang.Object(Tree(o49252, o49253)), o43139)), o41571, o49252)
Load40400(java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0, o41574Field1)), o41575)), java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0, o41574Field1)), o41575)), i356, java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0, o41574Field1)), o41575)), java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0, o41574Field1)), o41575)), o41571) → FieldAccess40823(java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0, o41574Field1)), o41575)), java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0, o41574Field1)), o41575)), i356, java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0, o41574Field1)), o41575)), java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0, o41574Field1)), o41575)), o41571, java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0, o41574Field1)), o41575)))
FieldAccess40823(java.lang.Object(Tree(o41775, o41776)), java.lang.Object(Tree(o41775, o41776)), i356, java.lang.Object(Tree(o41775, o41776)), java.lang.Object(Tree(java.lang.Object(Tree(o49860, o49861)), o43184)), o41773, java.lang.Object(Tree(java.lang.Object(Tree(o49860, o49861)), o43184))) → Store46301(java.lang.Object(Tree(o41775, o41776)), java.lang.Object(Tree(o41775, o41776)), i356, java.lang.Object(Tree(o41775, o41776)), java.lang.Object(Tree(java.lang.Object(Tree(o49860, o49861)), o43184)), o41773, o49860)
Load40540(java.lang.Object(Tree(o41775, o41776)), java.lang.Object(Tree(o41775, o41776)), i356, java.lang.Object(Tree(o41775, o41776)), java.lang.Object(Tree(java.lang.Object(Tree(o49860, o49861)), o43184)), o41773) → Store46301(java.lang.Object(Tree(o41775, o41776)), java.lang.Object(Tree(o41775, o41776)), i356, java.lang.Object(Tree(o41775, o41776)), java.lang.Object(Tree(java.lang.Object(Tree(o49860, o49861)), o43184)), o41773, o49860)
Store46301(java.lang.Object(Tree(o41775, o41776)), java.lang.Object(Tree(o41775, o41776)), i356, java.lang.Object(Tree(o41775, o41776)), java.lang.Object(Tree(java.lang.Object(Tree(o47663, o47664)), o43184)), o41773, o47663) → Load40540(java.lang.Object(Tree(o41775, o41776)), java.lang.Object(Tree(o41775, o41776)), i356, java.lang.Object(Tree(o41775, o41776)), java.lang.Object(Tree(o47663, java.lang.Object(Tree(o47664, o43184)))), o41773)
FieldAccess40823(java.lang.Object(Tree(o41775, o41776)), java.lang.Object(Tree(o41775, o41776)), i356, java.lang.Object(Tree(o41775, o41776)), java.lang.Object(Tree(java.lang.Object(Tree(o47663, o47664)), o43184)), o41773, java.lang.Object(Tree(java.lang.Object(Tree(o47663, o47664)), o43184))) → Load40540(java.lang.Object(Tree(o41775, o41776)), java.lang.Object(Tree(o41775, o41776)), i356, java.lang.Object(Tree(o41775, o41776)), java.lang.Object(Tree(o47663, java.lang.Object(Tree(o47664, o43184)))), o41773)
Load40540(java.lang.Object(Tree(o41775, o41776)), java.lang.Object(Tree(o41775, o41776)), i356, java.lang.Object(Tree(o41775, o41776)), java.lang.Object(Tree(java.lang.Object(Tree(o47663, o47664)), o43184)), o41773) → Load40540(java.lang.Object(Tree(o41775, o41776)), java.lang.Object(Tree(o41775, o41776)), i356, java.lang.Object(Tree(o41775, o41776)), java.lang.Object(Tree(o47663, java.lang.Object(Tree(o47664, o43184)))), o41773)
JMP52452(java.lang.Object(Tree(o41775, o41776)), java.lang.Object(Tree(o41775, o41776)), i356, java.lang.Object(Tree(o41775, o41776)), o43184, java.lang.Object(Tree(NULL, o41773))) → Load40540(java.lang.Object(Tree(o41775, o41776)), java.lang.Object(Tree(o41775, o41776)), i356, java.lang.Object(Tree(o41775, o41776)), o43184, java.lang.Object(Tree(NULL, o41773)))
FieldAccess40823(java.lang.Object(Tree(o41775, o41776)), java.lang.Object(Tree(o41775, o41776)), i356, java.lang.Object(Tree(o41775, o41776)), java.lang.Object(Tree(NULL, o43184)), o41773, java.lang.Object(Tree(NULL, o43184))) → Load40540(java.lang.Object(Tree(o41775, o41776)), java.lang.Object(Tree(o41775, o41776)), i356, java.lang.Object(Tree(o41775, o41776)), o43184, java.lang.Object(Tree(NULL, o41773)))
Load40540(java.lang.Object(Tree(o41775, o41776)), java.lang.Object(Tree(o41775, o41776)), i356, java.lang.Object(Tree(o41775, o41776)), java.lang.Object(Tree(NULL, o43184)), o41773) → Load40540(java.lang.Object(Tree(o41775, o41776)), java.lang.Object(Tree(o41775, o41776)), i356, java.lang.Object(Tree(o41775, o41776)), o43184, java.lang.Object(Tree(NULL, o41773)))
NULL4222(java.lang.Object(Tree(java.lang.Object(Tree(o4323Field0, o4323Field1)), o4182)), java.lang.Object(Tree(java.lang.Object(Tree(o4323Field0, o4323Field1)), o4182)), i356, java.lang.Object(Tree(java.lang.Object(Tree(o4323Field0, o4323Field1)), o4182))) → Load40540(java.lang.Object(Tree(java.lang.Object(Tree(o4323Field0, o4323Field1)), o4182)), java.lang.Object(Tree(java.lang.Object(Tree(o4323Field0, o4323Field1)), o4182)), i356, java.lang.Object(Tree(java.lang.Object(Tree(o4323Field0, o4323Field1)), o4182)), java.lang.Object(Tree(java.lang.Object(Tree(o4323Field0, o4323Field1)), o4182)), NULL)
Load40540(java.lang.Object(Tree(o41775, o41776)), java.lang.Object(Tree(o41775, o41776)), i356, java.lang.Object(Tree(o41775, o41776)), NULL, o41773) → JMP41221(java.lang.Object(Tree(o41775, o41776)), o41773, i356)
JMP41221(o41578, o41571, i356) → Load4124(o41578, o41571, i356)
Load40400(o41578, java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0, o41574Field1)), o41575)), i356, java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0, o41574Field1)), o41575)), NULL, o41571) → Load4124(o41578, o41571, i356)
JMP5284(o3956, o4175, i426) → Load4124(o3956, o4175, i426)
NULL4222(o3956, java.lang.Object(Tree(NULL, o4175)), i356, java.lang.Object(Tree(NULL, o4175))) → Load4124(o3956, o4175, i356 + 1)
FieldAccess40823(java.lang.Object(Tree(NULL, o41776)), java.lang.Object(Tree(NULL, o41776)), i356, java.lang.Object(Tree(NULL, o41776)), java.lang.Object(Tree(NULL, o41776)), o41773, java.lang.Object(Tree(NULL, o41776))) → JMP52452(java.lang.Object(Tree(NULL, o41776)), java.lang.Object(Tree(NULL, o41776)), i356, java.lang.Object(Tree(NULL, o41776)), o41776, java.lang.Object(Tree(NULL, o41773)))
Load40540(java.lang.Object(Tree(NULL, o41776)), java.lang.Object(Tree(NULL, o41776)), i356, java.lang.Object(Tree(NULL, o41776)), java.lang.Object(Tree(NULL, o41776)), o41773) → JMP52452(java.lang.Object(Tree(NULL, o41776)), java.lang.Object(Tree(NULL, o41776)), i356, java.lang.Object(Tree(NULL, o41776)), o41776, java.lang.Object(Tree(NULL, o41773)))
NULL4222(java.lang.Object(Tree(NULL, o4182)), java.lang.Object(Tree(NULL, o4182)), i356, java.lang.Object(Tree(NULL, o4182))) → JMP5284(java.lang.Object(Tree(NULL, o4182)), o4182, i356 + 1)
The set Q consists of the following terms:
Load4124(x0, x1, x2)
NULL4222(x0, java.lang.Object(Tree(java.lang.Object(Tree(x1, x2)), x3)), x4, java.lang.Object(Tree(java.lang.Object(Tree(x1, x2)), x3)))
Store46056(x0, java.lang.Object(Tree(java.lang.Object(Tree(x1, x2)), x3)), x4, java.lang.Object(Tree(java.lang.Object(Tree(x1, x2)), x3)), java.lang.Object(Tree(java.lang.Object(Tree(x5, x6)), x7)), x8, x5)
Load40400(x0, java.lang.Object(Tree(java.lang.Object(Tree(x1, x2)), x3)), x4, java.lang.Object(Tree(java.lang.Object(Tree(x1, x2)), x3)), java.lang.Object(Tree(java.lang.Object(Tree(x5, x6)), x7)), x8)
Load40400(x0, java.lang.Object(Tree(java.lang.Object(Tree(x1, x2)), x3)), x4, java.lang.Object(Tree(java.lang.Object(Tree(x1, x2)), x3)), java.lang.Object(Tree(NULL, x5)), x6)
FieldAccess40823(java.lang.Object(Tree(x0, x1)), java.lang.Object(Tree(x0, x1)), x2, java.lang.Object(Tree(x0, x1)), java.lang.Object(Tree(java.lang.Object(Tree(x3, x4)), x5)), x6, java.lang.Object(Tree(java.lang.Object(Tree(x3, x4)), x5)))
Load40540(java.lang.Object(Tree(x0, x1)), java.lang.Object(Tree(x0, x1)), x2, java.lang.Object(Tree(x0, x1)), java.lang.Object(Tree(java.lang.Object(Tree(x3, x4)), x5)), x6)
Store46301(java.lang.Object(Tree(x0, x1)), java.lang.Object(Tree(x0, x1)), x2, java.lang.Object(Tree(x0, x1)), java.lang.Object(Tree(java.lang.Object(Tree(x3, x4)), x5)), x6, x3)
JMP52452(java.lang.Object(Tree(x0, x1)), java.lang.Object(Tree(x0, x1)), x2, java.lang.Object(Tree(x0, x1)), x3, java.lang.Object(Tree(NULL, x4)))
FieldAccess40823(java.lang.Object(Tree(x0, x1)), java.lang.Object(Tree(x0, x1)), x2, java.lang.Object(Tree(x0, x1)), java.lang.Object(Tree(NULL, x3)), x4, java.lang.Object(Tree(NULL, x3)))
Load40540(java.lang.Object(Tree(x0, x1)), java.lang.Object(Tree(x0, x1)), x2, java.lang.Object(Tree(x0, x1)), java.lang.Object(Tree(NULL, x3)), x4)
Load40540(java.lang.Object(Tree(x0, x1)), java.lang.Object(Tree(x0, x1)), x2, java.lang.Object(Tree(x0, x1)), NULL, x3)
JMP41221(x0, x1, x2)
Load40400(x0, java.lang.Object(Tree(java.lang.Object(Tree(x1, x2)), x3)), x4, java.lang.Object(Tree(java.lang.Object(Tree(x1, x2)), x3)), NULL, x5)
JMP5284(x0, x1, x2)
NULL4222(x0, java.lang.Object(Tree(NULL, x1)), x2, java.lang.Object(Tree(NULL, x1)))

(6) DuplicateArgsRemoverProof (EQUIVALENT transformation)

Some arguments are removed because they only appear as duplicates.
We removed arguments according to the following replacements:

NULL4222(x1, x2, x3, x4) → NULL4222(x1, x3, x4)
Load40540(x1, x2, x3, x4, x5, x6) → Load40540(x3, x4, x5, x6)
JMP52452(x1, x2, x3, x4, x5, x6) → JMP52452(x3, x4, x5, x6)
FieldAccess40823(x1, x2, x3, x4, x5, x6, x7) → FieldAccess40823(x3, x4, x6, x7)
Load40400(x1, x2, x3, x4, x5, x6) → Load40400(x1, x3, x4, x5, x6)
Store46301(x1, x2, x3, x4, x5, x6, x7) → Store46301(x3, x4, x5, x6, x7)
Store46056(x1, x2, x3, x4, x5, x6, x7) → Store46056(x1, x3, x4, x5, x6, x7)

(7) 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:
Load4124(o3879, o3878, i341) → NULL4222(o3879, i341, o3878)
NULL4222(o3956, i356, java.lang.Object(Tree(java.lang.Object(Tree(o4301Field0, o4301Field1)), o4175))) → Load40400(o3956, i356, java.lang.Object(Tree(java.lang.Object(Tree(o4301Field0, o4301Field1)), o4175)), java.lang.Object(Tree(java.lang.Object(Tree(o4301Field0, o4301Field1)), o4175)), NULL)
Store46056(o41578, i356, java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0, o41574Field1)), o41575)), java.lang.Object(Tree(java.lang.Object(Tree(o47312, o47313)), o43139)), o41571, o47312) → Load40400(o41578, i356, java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0, o41574Field1)), o41575)), java.lang.Object(Tree(o47312, java.lang.Object(Tree(o47313, o43139)))), o41571)
Load40400(o41578, i356, java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0, o41574Field1)), o41575)), java.lang.Object(Tree(java.lang.Object(Tree(o47312, o47313)), o43139)), o41571) → Load40400(o41578, i356, java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0, o41574Field1)), o41575)), java.lang.Object(Tree(o47312, java.lang.Object(Tree(o47313, o43139)))), o41571)
Load40400(o41578, i356, java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0, o41574Field1)), o41575)), java.lang.Object(Tree(NULL, o43139)), o41571) → Load40400(o41578, i356, java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0, o41574Field1)), o41575)), o43139, java.lang.Object(Tree(NULL, o41571)))
Load40400(o41578, i356, java.lang.Object(Tree(java.lang.Object(Tree(o43922, o43923)), o41575)), java.lang.Object(Tree(java.lang.Object(Tree(o43922, o43923)), o41575)), o41571) → Load40400(o41578, i356, java.lang.Object(Tree(java.lang.Object(Tree(o43922, o43923)), o41575)), java.lang.Object(Tree(o43922, java.lang.Object(Tree(o43923, o41575)))), o41571)
FieldAccess40823(i356, java.lang.Object(Tree(java.lang.Object(Tree(o45716, o45717)), o41776)), o41773, java.lang.Object(Tree(java.lang.Object(Tree(o45716, o45717)), o41776))) → Load40400(java.lang.Object(Tree(java.lang.Object(Tree(o45716, o45717)), o41776)), i356, java.lang.Object(Tree(java.lang.Object(Tree(o45716, o45717)), o41776)), java.lang.Object(Tree(o45716, java.lang.Object(Tree(o45717, o41776)))), o41773)
Load40540(i356, java.lang.Object(Tree(java.lang.Object(Tree(o45716, o45717)), o41776)), java.lang.Object(Tree(java.lang.Object(Tree(o45716, o45717)), o41776)), o41773) → Load40400(java.lang.Object(Tree(java.lang.Object(Tree(o45716, o45717)), o41776)), i356, java.lang.Object(Tree(java.lang.Object(Tree(o45716, o45717)), o41776)), java.lang.Object(Tree(o45716, java.lang.Object(Tree(o45717, o41776)))), o41773)
Load40400(o41578, i356, java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0, o41574Field1)), o41575)), java.lang.Object(Tree(java.lang.Object(Tree(o49252, o49253)), o43139)), o41571) → Store46056(o41578, i356, java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0, o41574Field1)), o41575)), java.lang.Object(Tree(java.lang.Object(Tree(o49252, o49253)), o43139)), o41571, o49252)
Load40400(java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0, o41574Field1)), o41575)), i356, java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0, o41574Field1)), o41575)), java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0, o41574Field1)), o41575)), o41571) → FieldAccess40823(i356, java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0, o41574Field1)), o41575)), o41571, java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0, o41574Field1)), o41575)))
FieldAccess40823(i356, java.lang.Object(Tree(o41775, o41776)), o41773, java.lang.Object(Tree(java.lang.Object(Tree(o49860, o49861)), o43184))) → Store46301(i356, java.lang.Object(Tree(o41775, o41776)), java.lang.Object(Tree(java.lang.Object(Tree(o49860, o49861)), o43184)), o41773, o49860)
Load40540(i356, java.lang.Object(Tree(o41775, o41776)), java.lang.Object(Tree(java.lang.Object(Tree(o49860, o49861)), o43184)), o41773) → Store46301(i356, java.lang.Object(Tree(o41775, o41776)), java.lang.Object(Tree(java.lang.Object(Tree(o49860, o49861)), o43184)), o41773, o49860)
Store46301(i356, java.lang.Object(Tree(o41775, o41776)), java.lang.Object(Tree(java.lang.Object(Tree(o47663, o47664)), o43184)), o41773, o47663) → Load40540(i356, java.lang.Object(Tree(o41775, o41776)), java.lang.Object(Tree(o47663, java.lang.Object(Tree(o47664, o43184)))), o41773)
FieldAccess40823(i356, java.lang.Object(Tree(o41775, o41776)), o41773, java.lang.Object(Tree(java.lang.Object(Tree(o47663, o47664)), o43184))) → Load40540(i356, java.lang.Object(Tree(o41775, o41776)), java.lang.Object(Tree(o47663, java.lang.Object(Tree(o47664, o43184)))), o41773)
Load40540(i356, java.lang.Object(Tree(o41775, o41776)), java.lang.Object(Tree(java.lang.Object(Tree(o47663, o47664)), o43184)), o41773) → Load40540(i356, java.lang.Object(Tree(o41775, o41776)), java.lang.Object(Tree(o47663, java.lang.Object(Tree(o47664, o43184)))), o41773)
JMP52452(i356, java.lang.Object(Tree(o41775, o41776)), o43184, java.lang.Object(Tree(NULL, o41773))) → Load40540(i356, java.lang.Object(Tree(o41775, o41776)), o43184, java.lang.Object(Tree(NULL, o41773)))
FieldAccess40823(i356, java.lang.Object(Tree(o41775, o41776)), o41773, java.lang.Object(Tree(NULL, o43184))) → Load40540(i356, java.lang.Object(Tree(o41775, o41776)), o43184, java.lang.Object(Tree(NULL, o41773)))
Load40540(i356, java.lang.Object(Tree(o41775, o41776)), java.lang.Object(Tree(NULL, o43184)), o41773) → Load40540(i356, java.lang.Object(Tree(o41775, o41776)), o43184, java.lang.Object(Tree(NULL, o41773)))
NULL4222(java.lang.Object(Tree(java.lang.Object(Tree(o4323Field0, o4323Field1)), o4182)), i356, java.lang.Object(Tree(java.lang.Object(Tree(o4323Field0, o4323Field1)), o4182))) → Load40540(i356, java.lang.Object(Tree(java.lang.Object(Tree(o4323Field0, o4323Field1)), o4182)), java.lang.Object(Tree(java.lang.Object(Tree(o4323Field0, o4323Field1)), o4182)), NULL)
Load40540(i356, java.lang.Object(Tree(o41775, o41776)), NULL, o41773) → JMP41221(java.lang.Object(Tree(o41775, o41776)), o41773, i356)
JMP41221(o41578, o41571, i356) → Load4124(o41578, o41571, i356)
Load40400(o41578, i356, java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0, o41574Field1)), o41575)), NULL, o41571) → Load4124(o41578, o41571, i356)
JMP5284(o3956, o4175, i426) → Load4124(o3956, o4175, i426)
NULL4222(o3956, i356, java.lang.Object(Tree(NULL, o4175))) → Load4124(o3956, o4175, i356 + 1)
FieldAccess40823(i356, java.lang.Object(Tree(NULL, o41776)), o41773, java.lang.Object(Tree(NULL, o41776))) → JMP52452(i356, java.lang.Object(Tree(NULL, o41776)), o41776, java.lang.Object(Tree(NULL, o41773)))
Load40540(i356, java.lang.Object(Tree(NULL, o41776)), java.lang.Object(Tree(NULL, o41776)), o41773) → JMP52452(i356, java.lang.Object(Tree(NULL, o41776)), o41776, java.lang.Object(Tree(NULL, o41773)))
NULL4222(java.lang.Object(Tree(NULL, o4182)), i356, java.lang.Object(Tree(NULL, o4182))) → JMP5284(java.lang.Object(Tree(NULL, o4182)), o4182, i356 + 1)
The set Q consists of the following terms:
Load4124(x0, x1, x2)
NULL4222(x0, x1, java.lang.Object(Tree(java.lang.Object(Tree(x2, x3)), x4)))
Store46056(x0, x1, java.lang.Object(Tree(java.lang.Object(Tree(x2, x3)), x4)), java.lang.Object(Tree(java.lang.Object(Tree(x5, x6)), x7)), x8, x5)
Load40400(x0, x1, java.lang.Object(Tree(java.lang.Object(Tree(x2, x3)), x4)), java.lang.Object(Tree(java.lang.Object(Tree(x5, x6)), x7)), x8)
Load40400(x0, x1, java.lang.Object(Tree(java.lang.Object(Tree(x2, x3)), x4)), java.lang.Object(Tree(NULL, x5)), x6)
FieldAccess40823(x0, java.lang.Object(Tree(x1, x2)), x3, java.lang.Object(Tree(java.lang.Object(Tree(x4, x5)), x6)))
Load40540(x0, java.lang.Object(Tree(x1, x2)), java.lang.Object(Tree(java.lang.Object(Tree(x3, x4)), x5)), x6)
Store46301(x0, java.lang.Object(Tree(x1, x2)), java.lang.Object(Tree(java.lang.Object(Tree(x3, x4)), x5)), x6, x3)
JMP52452(x0, java.lang.Object(Tree(x1, x2)), x3, java.lang.Object(Tree(NULL, x4)))
FieldAccess40823(x0, java.lang.Object(Tree(x1, x2)), x3, java.lang.Object(Tree(NULL, x4)))
Load40540(x0, java.lang.Object(Tree(x1, x2)), java.lang.Object(Tree(NULL, x3)), x4)
Load40540(x0, java.lang.Object(Tree(x1, x2)), NULL, x3)
JMP41221(x0, x1, x2)
Load40400(x0, x1, java.lang.Object(Tree(java.lang.Object(Tree(x2, x3)), x4)), NULL, x5)
JMP5284(x0, x1, x2)
NULL4222(x0, x1, java.lang.Object(Tree(NULL, x2)))

(8) ITRStoIDPProof (EQUIVALENT transformation)

Added dependency pairs

(9) Obligation:

IDP problem:
The following function symbols are pre-defined:
!=~Neq: (Integer, Integer) -> Boolean
*~Mul: (Integer, Integer) -> Integer
>=~Ge: (Integer, Integer) -> Boolean
-1~UnaryMinus: (Integer) -> Integer
|~Bwor: (Integer, Integer) -> Integer
/~Div: (Integer, Integer) -> Integer
=~Eq: (Integer, Integer) -> Boolean
~Bwxor: (Integer, Integer) -> Integer
||~Lor: (Boolean, Boolean) -> Boolean
!~Lnot: (Boolean) -> Boolean
<~Lt: (Integer, Integer) -> Boolean
-~Sub: (Integer, Integer) -> Integer
<=~Le: (Integer, Integer) -> Boolean
>~Gt: (Integer, Integer) -> Boolean
~~Bwnot: (Integer) -> Integer
%~Mod: (Integer, Integer) -> Integer
&~Bwand: (Integer, Integer) -> Integer
+~Add: (Integer, Integer) -> Integer
&&~Land: (Boolean, Boolean) -> Boolean


The following domains are used:

Integer


The ITRS R consists of the following rules:
Load4124(o3879, o3878, i341) → NULL4222(o3879, i341, o3878)
NULL4222(o3956, i356, java.lang.Object(Tree(java.lang.Object(Tree(o4301Field0, o4301Field1)), o4175))) → Load40400(o3956, i356, java.lang.Object(Tree(java.lang.Object(Tree(o4301Field0, o4301Field1)), o4175)), java.lang.Object(Tree(java.lang.Object(Tree(o4301Field0, o4301Field1)), o4175)), NULL)
Store46056(o41578, i356, java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0, o41574Field1)), o41575)), java.lang.Object(Tree(java.lang.Object(Tree(o47312, o47313)), o43139)), o41571, o47312) → Load40400(o41578, i356, java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0, o41574Field1)), o41575)), java.lang.Object(Tree(o47312, java.lang.Object(Tree(o47313, o43139)))), o41571)
Load40400(o41578, i356, java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0, o41574Field1)), o41575)), java.lang.Object(Tree(java.lang.Object(Tree(o47312, o47313)), o43139)), o41571) → Load40400(o41578, i356, java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0, o41574Field1)), o41575)), java.lang.Object(Tree(o47312, java.lang.Object(Tree(o47313, o43139)))), o41571)
Load40400(o41578, i356, java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0, o41574Field1)), o41575)), java.lang.Object(Tree(NULL, o43139)), o41571) → Load40400(o41578, i356, java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0, o41574Field1)), o41575)), o43139, java.lang.Object(Tree(NULL, o41571)))
Load40400(o41578, i356, java.lang.Object(Tree(java.lang.Object(Tree(o43922, o43923)), o41575)), java.lang.Object(Tree(java.lang.Object(Tree(o43922, o43923)), o41575)), o41571) → Load40400(o41578, i356, java.lang.Object(Tree(java.lang.Object(Tree(o43922, o43923)), o41575)), java.lang.Object(Tree(o43922, java.lang.Object(Tree(o43923, o41575)))), o41571)
FieldAccess40823(i356, java.lang.Object(Tree(java.lang.Object(Tree(o45716, o45717)), o41776)), o41773, java.lang.Object(Tree(java.lang.Object(Tree(o45716, o45717)), o41776))) → Load40400(java.lang.Object(Tree(java.lang.Object(Tree(o45716, o45717)), o41776)), i356, java.lang.Object(Tree(java.lang.Object(Tree(o45716, o45717)), o41776)), java.lang.Object(Tree(o45716, java.lang.Object(Tree(o45717, o41776)))), o41773)
Load40540(i356, java.lang.Object(Tree(java.lang.Object(Tree(o45716, o45717)), o41776)), java.lang.Object(Tree(java.lang.Object(Tree(o45716, o45717)), o41776)), o41773) → Load40400(java.lang.Object(Tree(java.lang.Object(Tree(o45716, o45717)), o41776)), i356, java.lang.Object(Tree(java.lang.Object(Tree(o45716, o45717)), o41776)), java.lang.Object(Tree(o45716, java.lang.Object(Tree(o45717, o41776)))), o41773)
Load40400(o41578, i356, java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0, o41574Field1)), o41575)), java.lang.Object(Tree(java.lang.Object(Tree(o49252, o49253)), o43139)), o41571) → Store46056(o41578, i356, java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0, o41574Field1)), o41575)), java.lang.Object(Tree(java.lang.Object(Tree(o49252, o49253)), o43139)), o41571, o49252)
Load40400(java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0, o41574Field1)), o41575)), i356, java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0, o41574Field1)), o41575)), java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0, o41574Field1)), o41575)), o41571) → FieldAccess40823(i356, java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0, o41574Field1)), o41575)), o41571, java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0, o41574Field1)), o41575)))
FieldAccess40823(i356, java.lang.Object(Tree(o41775, o41776)), o41773, java.lang.Object(Tree(java.lang.Object(Tree(o49860, o49861)), o43184))) → Store46301(i356, java.lang.Object(Tree(o41775, o41776)), java.lang.Object(Tree(java.lang.Object(Tree(o49860, o49861)), o43184)), o41773, o49860)
Load40540(i356, java.lang.Object(Tree(o41775, o41776)), java.lang.Object(Tree(java.lang.Object(Tree(o49860, o49861)), o43184)), o41773) → Store46301(i356, java.lang.Object(Tree(o41775, o41776)), java.lang.Object(Tree(java.lang.Object(Tree(o49860, o49861)), o43184)), o41773, o49860)
Store46301(i356, java.lang.Object(Tree(o41775, o41776)), java.lang.Object(Tree(java.lang.Object(Tree(o47663, o47664)), o43184)), o41773, o47663) → Load40540(i356, java.lang.Object(Tree(o41775, o41776)), java.lang.Object(Tree(o47663, java.lang.Object(Tree(o47664, o43184)))), o41773)
FieldAccess40823(i356, java.lang.Object(Tree(o41775, o41776)), o41773, java.lang.Object(Tree(java.lang.Object(Tree(o47663, o47664)), o43184))) → Load40540(i356, java.lang.Object(Tree(o41775, o41776)), java.lang.Object(Tree(o47663, java.lang.Object(Tree(o47664, o43184)))), o41773)
Load40540(i356, java.lang.Object(Tree(o41775, o41776)), java.lang.Object(Tree(java.lang.Object(Tree(o47663, o47664)), o43184)), o41773) → Load40540(i356, java.lang.Object(Tree(o41775, o41776)), java.lang.Object(Tree(o47663, java.lang.Object(Tree(o47664, o43184)))), o41773)
JMP52452(i356, java.lang.Object(Tree(o41775, o41776)), o43184, java.lang.Object(Tree(NULL, o41773))) → Load40540(i356, java.lang.Object(Tree(o41775, o41776)), o43184, java.lang.Object(Tree(NULL, o41773)))
FieldAccess40823(i356, java.lang.Object(Tree(o41775, o41776)), o41773, java.lang.Object(Tree(NULL, o43184))) → Load40540(i356, java.lang.Object(Tree(o41775, o41776)), o43184, java.lang.Object(Tree(NULL, o41773)))
Load40540(i356, java.lang.Object(Tree(o41775, o41776)), java.lang.Object(Tree(NULL, o43184)), o41773) → Load40540(i356, java.lang.Object(Tree(o41775, o41776)), o43184, java.lang.Object(Tree(NULL, o41773)))
NULL4222(java.lang.Object(Tree(java.lang.Object(Tree(o4323Field0, o4323Field1)), o4182)), i356, java.lang.Object(Tree(java.lang.Object(Tree(o4323Field0, o4323Field1)), o4182))) → Load40540(i356, java.lang.Object(Tree(java.lang.Object(Tree(o4323Field0, o4323Field1)), o4182)), java.lang.Object(Tree(java.lang.Object(Tree(o4323Field0, o4323Field1)), o4182)), NULL)
Load40540(i356, java.lang.Object(Tree(o41775, o41776)), NULL, o41773) → JMP41221(java.lang.Object(Tree(o41775, o41776)), o41773, i356)
JMP41221(o41578, o41571, i356) → Load4124(o41578, o41571, i356)
Load40400(o41578, i356, java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0, o41574Field1)), o41575)), NULL, o41571) → Load4124(o41578, o41571, i356)
JMP5284(o3956, o4175, i426) → Load4124(o3956, o4175, i426)
NULL4222(o3956, i356, java.lang.Object(Tree(NULL, o4175))) → Load4124(o3956, o4175, i356 + 1)
FieldAccess40823(i356, java.lang.Object(Tree(NULL, o41776)), o41773, java.lang.Object(Tree(NULL, o41776))) → JMP52452(i356, java.lang.Object(Tree(NULL, o41776)), o41776, java.lang.Object(Tree(NULL, o41773)))
Load40540(i356, java.lang.Object(Tree(NULL, o41776)), java.lang.Object(Tree(NULL, o41776)), o41773) → JMP52452(i356, java.lang.Object(Tree(NULL, o41776)), o41776, java.lang.Object(Tree(NULL, o41773)))
NULL4222(java.lang.Object(Tree(NULL, o4182)), i356, java.lang.Object(Tree(NULL, o4182))) → JMP5284(java.lang.Object(Tree(NULL, o4182)), o4182, i356 + 1)

The integer pair graph contains the following rules and edges:
(0): LOAD4124(o3879[0], o3878[0], i341[0]) → NULL4222'(o3879[0], i341[0], o3878[0])
(1): NULL4222'(o3956[1], i356[1], java.lang.Object(Tree(java.lang.Object(Tree(o4301Field0[1], o4301Field1[1])), o4175[1]))) → LOAD40400(o3956[1], i356[1], java.lang.Object(Tree(java.lang.Object(Tree(o4301Field0[1], o4301Field1[1])), o4175[1])), java.lang.Object(Tree(java.lang.Object(Tree(o4301Field0[1], o4301Field1[1])), o4175[1])), NULL)
(2): STORE46056(o41578[2], i356[2], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[2], o41574Field1[2])), o41575[2])), java.lang.Object(Tree(java.lang.Object(Tree(o47312[2], o47313[2])), o43139[2])), o41571[2], o47312[2]) → LOAD40400(o41578[2], i356[2], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[2], o41574Field1[2])), o41575[2])), java.lang.Object(Tree(o47312[2], java.lang.Object(Tree(o47313[2], o43139[2])))), o41571[2])
(3): LOAD40400(o41578[3], i356[3], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[3], o41574Field1[3])), o41575[3])), java.lang.Object(Tree(java.lang.Object(Tree(o47312[3], o47313[3])), o43139[3])), o41571[3]) → LOAD40400(o41578[3], i356[3], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[3], o41574Field1[3])), o41575[3])), java.lang.Object(Tree(o47312[3], java.lang.Object(Tree(o47313[3], o43139[3])))), o41571[3])
(4): LOAD40400(o41578[4], i356[4], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[4], o41574Field1[4])), o41575[4])), java.lang.Object(Tree(NULL, o43139[4])), o41571[4]) → LOAD40400(o41578[4], i356[4], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[4], o41574Field1[4])), o41575[4])), o43139[4], java.lang.Object(Tree(NULL, o41571[4])))
(5): LOAD40400(o41578[5], i356[5], java.lang.Object(Tree(java.lang.Object(Tree(o43922[5], o43923[5])), o41575[5])), java.lang.Object(Tree(java.lang.Object(Tree(o43922[5], o43923[5])), o41575[5])), o41571[5]) → LOAD40400(o41578[5], i356[5], java.lang.Object(Tree(java.lang.Object(Tree(o43922[5], o43923[5])), o41575[5])), java.lang.Object(Tree(o43922[5], java.lang.Object(Tree(o43923[5], o41575[5])))), o41571[5])
(6): FIELDACCESS40823(i356[6], java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6])), o41773[6], java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6]))) → LOAD40400(java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6])), i356[6], java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6])), java.lang.Object(Tree(o45716[6], java.lang.Object(Tree(o45717[6], o41776[6])))), o41773[6])
(7): LOAD40540(i356[7], java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])), java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])), o41773[7]) → LOAD40400(java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])), i356[7], java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])), java.lang.Object(Tree(o45716[7], java.lang.Object(Tree(o45717[7], o41776[7])))), o41773[7])
(8): LOAD40400(o41578[8], i356[8], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[8], o41574Field1[8])), o41575[8])), java.lang.Object(Tree(java.lang.Object(Tree(o49252[8], o49253[8])), o43139[8])), o41571[8]) → STORE46056(o41578[8], i356[8], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[8], o41574Field1[8])), o41575[8])), java.lang.Object(Tree(java.lang.Object(Tree(o49252[8], o49253[8])), o43139[8])), o41571[8], o49252[8])
(9): LOAD40400(java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])), i356[9], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])), java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])), o41571[9]) → FIELDACCESS40823(i356[9], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])), o41571[9], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])))
(10): FIELDACCESS40823(i356[10], java.lang.Object(Tree(o41775[10], o41776[10])), o41773[10], java.lang.Object(Tree(java.lang.Object(Tree(o49860[10], o49861[10])), o43184[10]))) → STORE46301(i356[10], java.lang.Object(Tree(o41775[10], o41776[10])), java.lang.Object(Tree(java.lang.Object(Tree(o49860[10], o49861[10])), o43184[10])), o41773[10], o49860[10])
(11): LOAD40540(i356[11], java.lang.Object(Tree(o41775[11], o41776[11])), java.lang.Object(Tree(java.lang.Object(Tree(o49860[11], o49861[11])), o43184[11])), o41773[11]) → STORE46301(i356[11], java.lang.Object(Tree(o41775[11], o41776[11])), java.lang.Object(Tree(java.lang.Object(Tree(o49860[11], o49861[11])), o43184[11])), o41773[11], o49860[11])
(12): STORE46301(i356[12], java.lang.Object(Tree(o41775[12], o41776[12])), java.lang.Object(Tree(java.lang.Object(Tree(o47663[12], o47664[12])), o43184[12])), o41773[12], o47663[12]) → LOAD40540(i356[12], java.lang.Object(Tree(o41775[12], o41776[12])), java.lang.Object(Tree(o47663[12], java.lang.Object(Tree(o47664[12], o43184[12])))), o41773[12])
(13): FIELDACCESS40823(i356[13], java.lang.Object(Tree(o41775[13], o41776[13])), o41773[13], java.lang.Object(Tree(java.lang.Object(Tree(o47663[13], o47664[13])), o43184[13]))) → LOAD40540(i356[13], java.lang.Object(Tree(o41775[13], o41776[13])), java.lang.Object(Tree(o47663[13], java.lang.Object(Tree(o47664[13], o43184[13])))), o41773[13])
(14): LOAD40540(i356[14], java.lang.Object(Tree(o41775[14], o41776[14])), java.lang.Object(Tree(java.lang.Object(Tree(o47663[14], o47664[14])), o43184[14])), o41773[14]) → LOAD40540(i356[14], java.lang.Object(Tree(o41775[14], o41776[14])), java.lang.Object(Tree(o47663[14], java.lang.Object(Tree(o47664[14], o43184[14])))), o41773[14])
(15): JMP52452'(i356[15], java.lang.Object(Tree(o41775[15], o41776[15])), o43184[15], java.lang.Object(Tree(NULL, o41773[15]))) → LOAD40540(i356[15], java.lang.Object(Tree(o41775[15], o41776[15])), o43184[15], java.lang.Object(Tree(NULL, o41773[15])))
(16): FIELDACCESS40823(i356[16], java.lang.Object(Tree(o41775[16], o41776[16])), o41773[16], java.lang.Object(Tree(NULL, o43184[16]))) → LOAD40540(i356[16], java.lang.Object(Tree(o41775[16], o41776[16])), o43184[16], java.lang.Object(Tree(NULL, o41773[16])))
(17): LOAD40540(i356[17], java.lang.Object(Tree(o41775[17], o41776[17])), java.lang.Object(Tree(NULL, o43184[17])), o41773[17]) → LOAD40540(i356[17], java.lang.Object(Tree(o41775[17], o41776[17])), o43184[17], java.lang.Object(Tree(NULL, o41773[17])))
(18): NULL4222'(java.lang.Object(Tree(java.lang.Object(Tree(o4323Field0[18], o4323Field1[18])), o4182[18])), i356[18], java.lang.Object(Tree(java.lang.Object(Tree(o4323Field0[18], o4323Field1[18])), o4182[18]))) → LOAD40540(i356[18], java.lang.Object(Tree(java.lang.Object(Tree(o4323Field0[18], o4323Field1[18])), o4182[18])), java.lang.Object(Tree(java.lang.Object(Tree(o4323Field0[18], o4323Field1[18])), o4182[18])), NULL)
(19): LOAD40540(i356[19], java.lang.Object(Tree(o41775[19], o41776[19])), NULL, o41773[19]) → JMP41221'(java.lang.Object(Tree(o41775[19], o41776[19])), o41773[19], i356[19])
(20): JMP41221'(o41578[20], o41571[20], i356[20]) → LOAD4124(o41578[20], o41571[20], i356[20])
(21): LOAD40400(o41578[21], i356[21], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[21], o41574Field1[21])), o41575[21])), NULL, o41571[21]) → LOAD4124(o41578[21], o41571[21], i356[21])
(22): JMP5284'(o3956[22], o4175[22], i426[22]) → LOAD4124(o3956[22], o4175[22], i426[22])
(23): NULL4222'(o3956[23], i356[23], java.lang.Object(Tree(NULL, o4175[23]))) → LOAD4124(o3956[23], o4175[23], i356[23] + 1)
(24): FIELDACCESS40823(i356[24], java.lang.Object(Tree(NULL, o41776[24])), o41773[24], java.lang.Object(Tree(NULL, o41776[24]))) → JMP52452'(i356[24], java.lang.Object(Tree(NULL, o41776[24])), o41776[24], java.lang.Object(Tree(NULL, o41773[24])))
(25): LOAD40540(i356[25], java.lang.Object(Tree(NULL, o41776[25])), java.lang.Object(Tree(NULL, o41776[25])), o41773[25]) → JMP52452'(i356[25], java.lang.Object(Tree(NULL, o41776[25])), o41776[25], java.lang.Object(Tree(NULL, o41773[25])))
(26): NULL4222'(java.lang.Object(Tree(NULL, o4182[26])), i356[26], java.lang.Object(Tree(NULL, o4182[26]))) → JMP5284'(java.lang.Object(Tree(NULL, o4182[26])), o4182[26], i356[26] + 1)

(0) -> (1), if ((o3878[0]* java.lang.Object(Tree(java.lang.Object(Tree(o4301Field0[1], o4301Field1[1])), o4175[1])))∧(o3879[0]* o3956[1])∧(i341[0]* i356[1]))


(0) -> (18), if ((o3879[0]* java.lang.Object(Tree(java.lang.Object(Tree(o4323Field0[18], o4323Field1[18])), o4182[18])))∧(i341[0]* i356[18])∧(o3878[0]* java.lang.Object(Tree(java.lang.Object(Tree(o4323Field0[18], o4323Field1[18])), o4182[18]))))


(0) -> (23), if ((o3878[0]* java.lang.Object(Tree(NULL, o4175[23])))∧(i341[0]* i356[23])∧(o3879[0]* o3956[23]))


(0) -> (26), if ((i341[0]* i356[26])∧(o3878[0]* java.lang.Object(Tree(NULL, o4182[26])))∧(o3879[0]* java.lang.Object(Tree(NULL, o4182[26]))))


(1) -> (3), if ((NULL* o41571[3])∧(java.lang.Object(Tree(java.lang.Object(Tree(o4301Field0[1], o4301Field1[1])), o4175[1])) →* java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[3], o41574Field1[3])), o41575[3])))∧(i356[1]* i356[3])∧(java.lang.Object(Tree(java.lang.Object(Tree(o4301Field0[1], o4301Field1[1])), o4175[1])) →* java.lang.Object(Tree(java.lang.Object(Tree(o47312[3], o47313[3])), o43139[3])))∧(o3956[1]* o41578[3]))


(1) -> (4), if ((o3956[1]* o41578[4])∧(i356[1]* i356[4])∧(java.lang.Object(Tree(java.lang.Object(Tree(o4301Field0[1], o4301Field1[1])), o4175[1])) →* java.lang.Object(Tree(NULL, o43139[4])))∧(NULL* o41571[4])∧(java.lang.Object(Tree(java.lang.Object(Tree(o4301Field0[1], o4301Field1[1])), o4175[1])) →* java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[4], o41574Field1[4])), o41575[4]))))


(1) -> (5), if ((NULL* o41571[5])∧(i356[1]* i356[5])∧(java.lang.Object(Tree(java.lang.Object(Tree(o4301Field0[1], o4301Field1[1])), o4175[1])) →* java.lang.Object(Tree(java.lang.Object(Tree(o43922[5], o43923[5])), o41575[5])))∧(o3956[1]* o41578[5]))


(1) -> (8), if ((java.lang.Object(Tree(java.lang.Object(Tree(o4301Field0[1], o4301Field1[1])), o4175[1])) →* java.lang.Object(Tree(java.lang.Object(Tree(o49252[8], o49253[8])), o43139[8])))∧(java.lang.Object(Tree(java.lang.Object(Tree(o4301Field0[1], o4301Field1[1])), o4175[1])) →* java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[8], o41574Field1[8])), o41575[8])))∧(o3956[1]* o41578[8])∧(i356[1]* i356[8])∧(NULL* o41571[8]))


(1) -> (9), if ((i356[1]* i356[9])∧(java.lang.Object(Tree(java.lang.Object(Tree(o4301Field0[1], o4301Field1[1])), o4175[1])) →* java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])))∧(o3956[1]* java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])))∧(NULL* o41571[9]))


(1) -> (21), if ((o3956[1]* o41578[21])∧(NULL* o41571[21])∧(java.lang.Object(Tree(java.lang.Object(Tree(o4301Field0[1], o4301Field1[1])), o4175[1])) →* java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[21], o41574Field1[21])), o41575[21])))∧(java.lang.Object(Tree(java.lang.Object(Tree(o4301Field0[1], o4301Field1[1])), o4175[1])) →* NULL)∧(i356[1]* i356[21]))


(2) -> (3), if ((i356[2]* i356[3])∧(o41571[2]* o41571[3])∧(java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[2], o41574Field1[2])), o41575[2])) →* java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[3], o41574Field1[3])), o41575[3])))∧(o41578[2]* o41578[3])∧(java.lang.Object(Tree(o47312[2], java.lang.Object(Tree(o47313[2], o43139[2])))) →* java.lang.Object(Tree(java.lang.Object(Tree(o47312[3], o47313[3])), o43139[3]))))


(2) -> (4), if ((java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[2], o41574Field1[2])), o41575[2])) →* java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[4], o41574Field1[4])), o41575[4])))∧(o41571[2]* o41571[4])∧(java.lang.Object(Tree(o47312[2], java.lang.Object(Tree(o47313[2], o43139[2])))) →* java.lang.Object(Tree(NULL, o43139[4])))∧(i356[2]* i356[4])∧(o41578[2]* o41578[4]))


(2) -> (5), if ((o41571[2]* o41571[5])∧(java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[2], o41574Field1[2])), o41575[2])) →* java.lang.Object(Tree(java.lang.Object(Tree(o43922[5], o43923[5])), o41575[5])))∧(java.lang.Object(Tree(o47312[2], java.lang.Object(Tree(o47313[2], o43139[2])))) →* java.lang.Object(Tree(java.lang.Object(Tree(o43922[5], o43923[5])), o41575[5])))∧(o41578[2]* o41578[5])∧(i356[2]* i356[5]))


(2) -> (8), if ((java.lang.Object(Tree(o47312[2], java.lang.Object(Tree(o47313[2], o43139[2])))) →* java.lang.Object(Tree(java.lang.Object(Tree(o49252[8], o49253[8])), o43139[8])))∧(java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[2], o41574Field1[2])), o41575[2])) →* java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[8], o41574Field1[8])), o41575[8])))∧(o41578[2]* o41578[8])∧(o41571[2]* o41571[8])∧(i356[2]* i356[8]))


(2) -> (9), if ((i356[2]* i356[9])∧(o41571[2]* o41571[9])∧(o41578[2]* java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])))∧(java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[2], o41574Field1[2])), o41575[2])) →* java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])))∧(java.lang.Object(Tree(o47312[2], java.lang.Object(Tree(o47313[2], o43139[2])))) →* java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9]))))


(2) -> (21), if ((o41578[2]* o41578[21])∧(o41571[2]* o41571[21])∧(java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[2], o41574Field1[2])), o41575[2])) →* java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[21], o41574Field1[21])), o41575[21])))∧(java.lang.Object(Tree(o47312[2], java.lang.Object(Tree(o47313[2], o43139[2])))) →* NULL)∧(i356[2]* i356[21]))


(3) -> (3), if ((o41571[3]* o41571[3]')∧(java.lang.Object(Tree(o47312[3], java.lang.Object(Tree(o47313[3], o43139[3])))) →* java.lang.Object(Tree(java.lang.Object(Tree(o47312[3]', o47313[3]')), o43139[3]')))∧(o41578[3]* o41578[3]')∧(java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[3], o41574Field1[3])), o41575[3])) →* java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[3]', o41574Field1[3]')), o41575[3]')))∧(i356[3]* i356[3]'))


(3) -> (4), if ((o41578[3]* o41578[4])∧(java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[3], o41574Field1[3])), o41575[3])) →* java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[4], o41574Field1[4])), o41575[4])))∧(i356[3]* i356[4])∧(java.lang.Object(Tree(o47312[3], java.lang.Object(Tree(o47313[3], o43139[3])))) →* java.lang.Object(Tree(NULL, o43139[4])))∧(o41571[3]* o41571[4]))


(3) -> (5), if ((o41571[3]* o41571[5])∧(java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[3], o41574Field1[3])), o41575[3])) →* java.lang.Object(Tree(java.lang.Object(Tree(o43922[5], o43923[5])), o41575[5])))∧(i356[3]* i356[5])∧(java.lang.Object(Tree(o47312[3], java.lang.Object(Tree(o47313[3], o43139[3])))) →* java.lang.Object(Tree(java.lang.Object(Tree(o43922[5], o43923[5])), o41575[5])))∧(o41578[3]* o41578[5]))


(3) -> (8), if ((java.lang.Object(Tree(o47312[3], java.lang.Object(Tree(o47313[3], o43139[3])))) →* java.lang.Object(Tree(java.lang.Object(Tree(o49252[8], o49253[8])), o43139[8])))∧(java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[3], o41574Field1[3])), o41575[3])) →* java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[8], o41574Field1[8])), o41575[8])))∧(o41578[3]* o41578[8])∧(i356[3]* i356[8])∧(o41571[3]* o41571[8]))


(3) -> (9), if ((o41571[3]* o41571[9])∧(java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[3], o41574Field1[3])), o41575[3])) →* java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])))∧(o41578[3]* java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])))∧(i356[3]* i356[9])∧(java.lang.Object(Tree(o47312[3], java.lang.Object(Tree(o47313[3], o43139[3])))) →* java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9]))))


(3) -> (21), if ((o41571[3]* o41571[21])∧(java.lang.Object(Tree(o47312[3], java.lang.Object(Tree(o47313[3], o43139[3])))) →* NULL)∧(java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[3], o41574Field1[3])), o41575[3])) →* java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[21], o41574Field1[21])), o41575[21])))∧(o41578[3]* o41578[21])∧(i356[3]* i356[21]))


(4) -> (3), if ((java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[4], o41574Field1[4])), o41575[4])) →* java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[3], o41574Field1[3])), o41575[3])))∧(i356[4]* i356[3])∧(o43139[4]* java.lang.Object(Tree(java.lang.Object(Tree(o47312[3], o47313[3])), o43139[3])))∧(java.lang.Object(Tree(NULL, o41571[4])) →* o41571[3])∧(o41578[4]* o41578[3]))


(4) -> (4), if ((o43139[4]* java.lang.Object(Tree(NULL, o43139[4]')))∧(java.lang.Object(Tree(NULL, o41571[4])) →* o41571[4]')∧(o41578[4]* o41578[4]')∧(java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[4], o41574Field1[4])), o41575[4])) →* java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[4]', o41574Field1[4]')), o41575[4]')))∧(i356[4]* i356[4]'))


(4) -> (5), if ((i356[4]* i356[5])∧(o43139[4]* java.lang.Object(Tree(java.lang.Object(Tree(o43922[5], o43923[5])), o41575[5])))∧(java.lang.Object(Tree(NULL, o41571[4])) →* o41571[5])∧(java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[4], o41574Field1[4])), o41575[4])) →* java.lang.Object(Tree(java.lang.Object(Tree(o43922[5], o43923[5])), o41575[5])))∧(o41578[4]* o41578[5]))


(4) -> (8), if ((i356[4]* i356[8])∧(o41578[4]* o41578[8])∧(java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[4], o41574Field1[4])), o41575[4])) →* java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[8], o41574Field1[8])), o41575[8])))∧(o43139[4]* java.lang.Object(Tree(java.lang.Object(Tree(o49252[8], o49253[8])), o43139[8])))∧(java.lang.Object(Tree(NULL, o41571[4])) →* o41571[8]))


(4) -> (9), if ((java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[4], o41574Field1[4])), o41575[4])) →* java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])))∧(o41578[4]* java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])))∧(o43139[4]* java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])))∧(java.lang.Object(Tree(NULL, o41571[4])) →* o41571[9])∧(i356[4]* i356[9]))


(4) -> (21), if ((o43139[4]* NULL)∧(java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[4], o41574Field1[4])), o41575[4])) →* java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[21], o41574Field1[21])), o41575[21])))∧(java.lang.Object(Tree(NULL, o41571[4])) →* o41571[21])∧(i356[4]* i356[21])∧(o41578[4]* o41578[21]))


(5) -> (3), if ((java.lang.Object(Tree(o43922[5], java.lang.Object(Tree(o43923[5], o41575[5])))) →* java.lang.Object(Tree(java.lang.Object(Tree(o47312[3], o47313[3])), o43139[3])))∧(o41571[5]* o41571[3])∧(i356[5]* i356[3])∧(o41578[5]* o41578[3])∧(java.lang.Object(Tree(java.lang.Object(Tree(o43922[5], o43923[5])), o41575[5])) →* java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[3], o41574Field1[3])), o41575[3]))))


(5) -> (4), if ((o41571[5]* o41571[4])∧(java.lang.Object(Tree(o43922[5], java.lang.Object(Tree(o43923[5], o41575[5])))) →* java.lang.Object(Tree(NULL, o43139[4])))∧(o41578[5]* o41578[4])∧(java.lang.Object(Tree(java.lang.Object(Tree(o43922[5], o43923[5])), o41575[5])) →* java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[4], o41574Field1[4])), o41575[4])))∧(i356[5]* i356[4]))


(5) -> (5), if ((java.lang.Object(Tree(o43922[5], java.lang.Object(Tree(o43923[5], o41575[5])))) →* java.lang.Object(Tree(java.lang.Object(Tree(o43922[5]', o43923[5]')), o41575[5]')))∧(o41578[5]* o41578[5]')∧(i356[5]* i356[5]')∧(o41571[5]* o41571[5]')∧(java.lang.Object(Tree(java.lang.Object(Tree(o43922[5], o43923[5])), o41575[5])) →* java.lang.Object(Tree(java.lang.Object(Tree(o43922[5]', o43923[5]')), o41575[5]'))))


(5) -> (8), if ((java.lang.Object(Tree(java.lang.Object(Tree(o43922[5], o43923[5])), o41575[5])) →* java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[8], o41574Field1[8])), o41575[8])))∧(i356[5]* i356[8])∧(o41578[5]* o41578[8])∧(o41571[5]* o41571[8])∧(java.lang.Object(Tree(o43922[5], java.lang.Object(Tree(o43923[5], o41575[5])))) →* java.lang.Object(Tree(java.lang.Object(Tree(o49252[8], o49253[8])), o43139[8]))))


(5) -> (9), if ((o41578[5]* java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])))∧(java.lang.Object(Tree(o43922[5], java.lang.Object(Tree(o43923[5], o41575[5])))) →* java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])))∧(java.lang.Object(Tree(java.lang.Object(Tree(o43922[5], o43923[5])), o41575[5])) →* java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])))∧(i356[5]* i356[9])∧(o41571[5]* o41571[9]))


(5) -> (21), if ((o41571[5]* o41571[21])∧(o41578[5]* o41578[21])∧(java.lang.Object(Tree(java.lang.Object(Tree(o43922[5], o43923[5])), o41575[5])) →* java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[21], o41574Field1[21])), o41575[21])))∧(java.lang.Object(Tree(o43922[5], java.lang.Object(Tree(o43923[5], o41575[5])))) →* NULL)∧(i356[5]* i356[21]))


(6) -> (3), if ((java.lang.Object(Tree(o45716[6], java.lang.Object(Tree(o45717[6], o41776[6])))) →* java.lang.Object(Tree(java.lang.Object(Tree(o47312[3], o47313[3])), o43139[3])))∧(o41773[6]* o41571[3])∧(i356[6]* i356[3])∧(java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6])) →* java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[3], o41574Field1[3])), o41575[3])))∧(java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6])) →* o41578[3]))


(6) -> (4), if ((java.lang.Object(Tree(o45716[6], java.lang.Object(Tree(o45717[6], o41776[6])))) →* java.lang.Object(Tree(NULL, o43139[4])))∧(o41773[6]* o41571[4])∧(i356[6]* i356[4])∧(java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6])) →* java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[4], o41574Field1[4])), o41575[4])))∧(java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6])) →* o41578[4]))


(6) -> (5), if ((java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6])) →* o41578[5])∧(java.lang.Object(Tree(o45716[6], java.lang.Object(Tree(o45717[6], o41776[6])))) →* java.lang.Object(Tree(java.lang.Object(Tree(o43922[5], o43923[5])), o41575[5])))∧(o41773[6]* o41571[5])∧(i356[6]* i356[5])∧(java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6])) →* java.lang.Object(Tree(java.lang.Object(Tree(o43922[5], o43923[5])), o41575[5]))))


(6) -> (8), if ((i356[6]* i356[8])∧(java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6])) →* java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[8], o41574Field1[8])), o41575[8])))∧(o41773[6]* o41571[8])∧(java.lang.Object(Tree(o45716[6], java.lang.Object(Tree(o45717[6], o41776[6])))) →* java.lang.Object(Tree(java.lang.Object(Tree(o49252[8], o49253[8])), o43139[8])))∧(java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6])) →* o41578[8]))


(6) -> (9), if ((java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6])) →* java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])))∧(i356[6]* i356[9])∧(o41773[6]* o41571[9])∧(java.lang.Object(Tree(o45716[6], java.lang.Object(Tree(o45717[6], o41776[6])))) →* java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9]))))


(6) -> (21), if ((o41773[6]* o41571[21])∧(java.lang.Object(Tree(o45716[6], java.lang.Object(Tree(o45717[6], o41776[6])))) →* NULL)∧(java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6])) →* o41578[21])∧(i356[6]* i356[21])∧(java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6])) →* java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[21], o41574Field1[21])), o41575[21]))))


(7) -> (3), if ((o41773[7]* o41571[3])∧(java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])) →* java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[3], o41574Field1[3])), o41575[3])))∧(i356[7]* i356[3])∧(java.lang.Object(Tree(o45716[7], java.lang.Object(Tree(o45717[7], o41776[7])))) →* java.lang.Object(Tree(java.lang.Object(Tree(o47312[3], o47313[3])), o43139[3])))∧(java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])) →* o41578[3]))


(7) -> (4), if ((o41773[7]* o41571[4])∧(i356[7]* i356[4])∧(java.lang.Object(Tree(o45716[7], java.lang.Object(Tree(o45717[7], o41776[7])))) →* java.lang.Object(Tree(NULL, o43139[4])))∧(java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])) →* java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[4], o41574Field1[4])), o41575[4])))∧(java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])) →* o41578[4]))


(7) -> (5), if ((o41773[7]* o41571[5])∧(java.lang.Object(Tree(o45716[7], java.lang.Object(Tree(o45717[7], o41776[7])))) →* java.lang.Object(Tree(java.lang.Object(Tree(o43922[5], o43923[5])), o41575[5])))∧(java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])) →* java.lang.Object(Tree(java.lang.Object(Tree(o43922[5], o43923[5])), o41575[5])))∧(i356[7]* i356[5])∧(java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])) →* o41578[5]))


(7) -> (8), if ((java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])) →* o41578[8])∧(java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])) →* java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[8], o41574Field1[8])), o41575[8])))∧(java.lang.Object(Tree(o45716[7], java.lang.Object(Tree(o45717[7], o41776[7])))) →* java.lang.Object(Tree(java.lang.Object(Tree(o49252[8], o49253[8])), o43139[8])))∧(o41773[7]* o41571[8])∧(i356[7]* i356[8]))


(7) -> (9), if ((java.lang.Object(Tree(o45716[7], java.lang.Object(Tree(o45717[7], o41776[7])))) →* java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])))∧(o41773[7]* o41571[9])∧(i356[7]* i356[9])∧(java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])) →* java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9]))))


(7) -> (21), if ((java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])) →* o41578[21])∧(java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])) →* java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[21], o41574Field1[21])), o41575[21])))∧(o41773[7]* o41571[21])∧(i356[7]* i356[21])∧(java.lang.Object(Tree(o45716[7], java.lang.Object(Tree(o45717[7], o41776[7])))) →* NULL))


(8) -> (2), if ((o41571[8]* o41571[2])∧(java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[8], o41574Field1[8])), o41575[8])) →* java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[2], o41574Field1[2])), o41575[2])))∧(o49252[8]* o47312[2])∧(o41578[8]* o41578[2])∧(java.lang.Object(Tree(java.lang.Object(Tree(o49252[8], o49253[8])), o43139[8])) →* java.lang.Object(Tree(java.lang.Object(Tree(o47312[2], o47313[2])), o43139[2])))∧(i356[8]* i356[2]))


(9) -> (6), if ((java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])) →* java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6])))∧(o41571[9]* o41773[6])∧(i356[9]* i356[6]))


(9) -> (10), if ((java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])) →* java.lang.Object(Tree(o41775[10], o41776[10])))∧(o41571[9]* o41773[10])∧(i356[9]* i356[10])∧(java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])) →* java.lang.Object(Tree(java.lang.Object(Tree(o49860[10], o49861[10])), o43184[10]))))


(9) -> (13), if ((java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])) →* java.lang.Object(Tree(java.lang.Object(Tree(o47663[13], o47664[13])), o43184[13])))∧(i356[9]* i356[13])∧(o41571[9]* o41773[13])∧(java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])) →* java.lang.Object(Tree(o41775[13], o41776[13]))))


(9) -> (16), if ((java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])) →* java.lang.Object(Tree(o41775[16], o41776[16])))∧(java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])) →* java.lang.Object(Tree(NULL, o43184[16])))∧(i356[9]* i356[16])∧(o41571[9]* o41773[16]))


(9) -> (24), if ((o41571[9]* o41773[24])∧(i356[9]* i356[24])∧(java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])) →* java.lang.Object(Tree(NULL, o41776[24]))))


(10) -> (12), if ((o41773[10]* o41773[12])∧(o49860[10]* o47663[12])∧(java.lang.Object(Tree(o41775[10], o41776[10])) →* java.lang.Object(Tree(o41775[12], o41776[12])))∧(java.lang.Object(Tree(java.lang.Object(Tree(o49860[10], o49861[10])), o43184[10])) →* java.lang.Object(Tree(java.lang.Object(Tree(o47663[12], o47664[12])), o43184[12])))∧(i356[10]* i356[12]))


(11) -> (12), if ((java.lang.Object(Tree(java.lang.Object(Tree(o49860[11], o49861[11])), o43184[11])) →* java.lang.Object(Tree(java.lang.Object(Tree(o47663[12], o47664[12])), o43184[12])))∧(o49860[11]* o47663[12])∧(java.lang.Object(Tree(o41775[11], o41776[11])) →* java.lang.Object(Tree(o41775[12], o41776[12])))∧(o41773[11]* o41773[12])∧(i356[11]* i356[12]))


(12) -> (7), if ((i356[12]* i356[7])∧(java.lang.Object(Tree(o41775[12], o41776[12])) →* java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])))∧(java.lang.Object(Tree(o47663[12], java.lang.Object(Tree(o47664[12], o43184[12])))) →* java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])))∧(o41773[12]* o41773[7]))


(12) -> (11), if ((java.lang.Object(Tree(o41775[12], o41776[12])) →* java.lang.Object(Tree(o41775[11], o41776[11])))∧(i356[12]* i356[11])∧(o41773[12]* o41773[11])∧(java.lang.Object(Tree(o47663[12], java.lang.Object(Tree(o47664[12], o43184[12])))) →* java.lang.Object(Tree(java.lang.Object(Tree(o49860[11], o49861[11])), o43184[11]))))


(12) -> (14), if ((java.lang.Object(Tree(o41775[12], o41776[12])) →* java.lang.Object(Tree(o41775[14], o41776[14])))∧(java.lang.Object(Tree(o47663[12], java.lang.Object(Tree(o47664[12], o43184[12])))) →* java.lang.Object(Tree(java.lang.Object(Tree(o47663[14], o47664[14])), o43184[14])))∧(o41773[12]* o41773[14])∧(i356[12]* i356[14]))


(12) -> (17), if ((java.lang.Object(Tree(o41775[12], o41776[12])) →* java.lang.Object(Tree(o41775[17], o41776[17])))∧(o41773[12]* o41773[17])∧(java.lang.Object(Tree(o47663[12], java.lang.Object(Tree(o47664[12], o43184[12])))) →* java.lang.Object(Tree(NULL, o43184[17])))∧(i356[12]* i356[17]))


(12) -> (19), if ((java.lang.Object(Tree(o47663[12], java.lang.Object(Tree(o47664[12], o43184[12])))) →* NULL)∧(java.lang.Object(Tree(o41775[12], o41776[12])) →* java.lang.Object(Tree(o41775[19], o41776[19])))∧(o41773[12]* o41773[19])∧(i356[12]* i356[19]))


(12) -> (25), if ((i356[12]* i356[25])∧(o41773[12]* o41773[25])∧(java.lang.Object(Tree(o47663[12], java.lang.Object(Tree(o47664[12], o43184[12])))) →* java.lang.Object(Tree(NULL, o41776[25])))∧(java.lang.Object(Tree(o41775[12], o41776[12])) →* java.lang.Object(Tree(NULL, o41776[25]))))


(13) -> (7), if ((i356[13]* i356[7])∧(java.lang.Object(Tree(o47663[13], java.lang.Object(Tree(o47664[13], o43184[13])))) →* java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])))∧(java.lang.Object(Tree(o41775[13], o41776[13])) →* java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])))∧(o41773[13]* o41773[7]))


(13) -> (11), if ((o41773[13]* o41773[11])∧(i356[13]* i356[11])∧(java.lang.Object(Tree(o47663[13], java.lang.Object(Tree(o47664[13], o43184[13])))) →* java.lang.Object(Tree(java.lang.Object(Tree(o49860[11], o49861[11])), o43184[11])))∧(java.lang.Object(Tree(o41775[13], o41776[13])) →* java.lang.Object(Tree(o41775[11], o41776[11]))))


(13) -> (14), if ((java.lang.Object(Tree(o41775[13], o41776[13])) →* java.lang.Object(Tree(o41775[14], o41776[14])))∧(o41773[13]* o41773[14])∧(i356[13]* i356[14])∧(java.lang.Object(Tree(o47663[13], java.lang.Object(Tree(o47664[13], o43184[13])))) →* java.lang.Object(Tree(java.lang.Object(Tree(o47663[14], o47664[14])), o43184[14]))))


(13) -> (17), if ((java.lang.Object(Tree(o47663[13], java.lang.Object(Tree(o47664[13], o43184[13])))) →* java.lang.Object(Tree(NULL, o43184[17])))∧(i356[13]* i356[17])∧(o41773[13]* o41773[17])∧(java.lang.Object(Tree(o41775[13], o41776[13])) →* java.lang.Object(Tree(o41775[17], o41776[17]))))


(13) -> (19), if ((java.lang.Object(Tree(o41775[13], o41776[13])) →* java.lang.Object(Tree(o41775[19], o41776[19])))∧(i356[13]* i356[19])∧(java.lang.Object(Tree(o47663[13], java.lang.Object(Tree(o47664[13], o43184[13])))) →* NULL)∧(o41773[13]* o41773[19]))


(13) -> (25), if ((java.lang.Object(Tree(o47663[13], java.lang.Object(Tree(o47664[13], o43184[13])))) →* java.lang.Object(Tree(NULL, o41776[25])))∧(java.lang.Object(Tree(o41775[13], o41776[13])) →* java.lang.Object(Tree(NULL, o41776[25])))∧(o41773[13]* o41773[25])∧(i356[13]* i356[25]))


(14) -> (7), if ((java.lang.Object(Tree(o47663[14], java.lang.Object(Tree(o47664[14], o43184[14])))) →* java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])))∧(i356[14]* i356[7])∧(o41773[14]* o41773[7])∧(java.lang.Object(Tree(o41775[14], o41776[14])) →* java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7]))))


(14) -> (11), if ((i356[14]* i356[11])∧(java.lang.Object(Tree(o47663[14], java.lang.Object(Tree(o47664[14], o43184[14])))) →* java.lang.Object(Tree(java.lang.Object(Tree(o49860[11], o49861[11])), o43184[11])))∧(o41773[14]* o41773[11])∧(java.lang.Object(Tree(o41775[14], o41776[14])) →* java.lang.Object(Tree(o41775[11], o41776[11]))))


(14) -> (14), if ((java.lang.Object(Tree(o47663[14], java.lang.Object(Tree(o47664[14], o43184[14])))) →* java.lang.Object(Tree(java.lang.Object(Tree(o47663[14]', o47664[14]')), o43184[14]')))∧(i356[14]* i356[14]')∧(o41773[14]* o41773[14]')∧(java.lang.Object(Tree(o41775[14], o41776[14])) →* java.lang.Object(Tree(o41775[14]', o41776[14]'))))


(14) -> (17), if ((o41773[14]* o41773[17])∧(i356[14]* i356[17])∧(java.lang.Object(Tree(o47663[14], java.lang.Object(Tree(o47664[14], o43184[14])))) →* java.lang.Object(Tree(NULL, o43184[17])))∧(java.lang.Object(Tree(o41775[14], o41776[14])) →* java.lang.Object(Tree(o41775[17], o41776[17]))))


(14) -> (19), if ((java.lang.Object(Tree(o47663[14], java.lang.Object(Tree(o47664[14], o43184[14])))) →* NULL)∧(java.lang.Object(Tree(o41775[14], o41776[14])) →* java.lang.Object(Tree(o41775[19], o41776[19])))∧(o41773[14]* o41773[19])∧(i356[14]* i356[19]))


(14) -> (25), if ((java.lang.Object(Tree(o47663[14], java.lang.Object(Tree(o47664[14], o43184[14])))) →* java.lang.Object(Tree(NULL, o41776[25])))∧(o41773[14]* o41773[25])∧(i356[14]* i356[25])∧(java.lang.Object(Tree(o41775[14], o41776[14])) →* java.lang.Object(Tree(NULL, o41776[25]))))


(15) -> (7), if ((o43184[15]* java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])))∧(java.lang.Object(Tree(NULL, o41773[15])) →* o41773[7])∧(java.lang.Object(Tree(o41775[15], o41776[15])) →* java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])))∧(i356[15]* i356[7]))


(15) -> (11), if ((o43184[15]* java.lang.Object(Tree(java.lang.Object(Tree(o49860[11], o49861[11])), o43184[11])))∧(java.lang.Object(Tree(NULL, o41773[15])) →* o41773[11])∧(java.lang.Object(Tree(o41775[15], o41776[15])) →* java.lang.Object(Tree(o41775[11], o41776[11])))∧(i356[15]* i356[11]))


(15) -> (14), if ((o43184[15]* java.lang.Object(Tree(java.lang.Object(Tree(o47663[14], o47664[14])), o43184[14])))∧(java.lang.Object(Tree(NULL, o41773[15])) →* o41773[14])∧(java.lang.Object(Tree(o41775[15], o41776[15])) →* java.lang.Object(Tree(o41775[14], o41776[14])))∧(i356[15]* i356[14]))


(15) -> (17), if ((o43184[15]* java.lang.Object(Tree(NULL, o43184[17])))∧(java.lang.Object(Tree(o41775[15], o41776[15])) →* java.lang.Object(Tree(o41775[17], o41776[17])))∧(java.lang.Object(Tree(NULL, o41773[15])) →* o41773[17])∧(i356[15]* i356[17]))


(15) -> (19), if ((java.lang.Object(Tree(o41775[15], o41776[15])) →* java.lang.Object(Tree(o41775[19], o41776[19])))∧(java.lang.Object(Tree(NULL, o41773[15])) →* o41773[19])∧(o43184[15]* NULL)∧(i356[15]* i356[19]))


(15) -> (25), if ((o43184[15]* java.lang.Object(Tree(NULL, o41776[25])))∧(i356[15]* i356[25])∧(java.lang.Object(Tree(o41775[15], o41776[15])) →* java.lang.Object(Tree(NULL, o41776[25])))∧(java.lang.Object(Tree(NULL, o41773[15])) →* o41773[25]))


(16) -> (7), if ((i356[16]* i356[7])∧(o43184[16]* java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])))∧(java.lang.Object(Tree(NULL, o41773[16])) →* o41773[7])∧(java.lang.Object(Tree(o41775[16], o41776[16])) →* java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7]))))


(16) -> (11), if ((java.lang.Object(Tree(NULL, o41773[16])) →* o41773[11])∧(java.lang.Object(Tree(o41775[16], o41776[16])) →* java.lang.Object(Tree(o41775[11], o41776[11])))∧(o43184[16]* java.lang.Object(Tree(java.lang.Object(Tree(o49860[11], o49861[11])), o43184[11])))∧(i356[16]* i356[11]))


(16) -> (14), if ((java.lang.Object(Tree(o41775[16], o41776[16])) →* java.lang.Object(Tree(o41775[14], o41776[14])))∧(i356[16]* i356[14])∧(o43184[16]* java.lang.Object(Tree(java.lang.Object(Tree(o47663[14], o47664[14])), o43184[14])))∧(java.lang.Object(Tree(NULL, o41773[16])) →* o41773[14]))


(16) -> (17), if ((java.lang.Object(Tree(o41775[16], o41776[16])) →* java.lang.Object(Tree(o41775[17], o41776[17])))∧(java.lang.Object(Tree(NULL, o41773[16])) →* o41773[17])∧(i356[16]* i356[17])∧(o43184[16]* java.lang.Object(Tree(NULL, o43184[17]))))


(16) -> (19), if ((i356[16]* i356[19])∧(java.lang.Object(Tree(o41775[16], o41776[16])) →* java.lang.Object(Tree(o41775[19], o41776[19])))∧(java.lang.Object(Tree(NULL, o41773[16])) →* o41773[19])∧(o43184[16]* NULL))


(16) -> (25), if ((java.lang.Object(Tree(NULL, o41773[16])) →* o41773[25])∧(java.lang.Object(Tree(o41775[16], o41776[16])) →* java.lang.Object(Tree(NULL, o41776[25])))∧(o43184[16]* java.lang.Object(Tree(NULL, o41776[25])))∧(i356[16]* i356[25]))


(17) -> (7), if ((o43184[17]* java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])))∧(i356[17]* i356[7])∧(java.lang.Object(Tree(o41775[17], o41776[17])) →* java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])))∧(java.lang.Object(Tree(NULL, o41773[17])) →* o41773[7]))


(17) -> (11), if ((o43184[17]* java.lang.Object(Tree(java.lang.Object(Tree(o49860[11], o49861[11])), o43184[11])))∧(java.lang.Object(Tree(NULL, o41773[17])) →* o41773[11])∧(i356[17]* i356[11])∧(java.lang.Object(Tree(o41775[17], o41776[17])) →* java.lang.Object(Tree(o41775[11], o41776[11]))))


(17) -> (14), if ((java.lang.Object(Tree(o41775[17], o41776[17])) →* java.lang.Object(Tree(o41775[14], o41776[14])))∧(o43184[17]* java.lang.Object(Tree(java.lang.Object(Tree(o47663[14], o47664[14])), o43184[14])))∧(i356[17]* i356[14])∧(java.lang.Object(Tree(NULL, o41773[17])) →* o41773[14]))


(17) -> (17), if ((java.lang.Object(Tree(NULL, o41773[17])) →* o41773[17]')∧(o43184[17]* java.lang.Object(Tree(NULL, o43184[17]')))∧(i356[17]* i356[17]')∧(java.lang.Object(Tree(o41775[17], o41776[17])) →* java.lang.Object(Tree(o41775[17]', o41776[17]'))))


(17) -> (19), if ((o43184[17]* NULL)∧(i356[17]* i356[19])∧(java.lang.Object(Tree(o41775[17], o41776[17])) →* java.lang.Object(Tree(o41775[19], o41776[19])))∧(java.lang.Object(Tree(NULL, o41773[17])) →* o41773[19]))


(17) -> (25), if ((java.lang.Object(Tree(NULL, o41773[17])) →* o41773[25])∧(java.lang.Object(Tree(o41775[17], o41776[17])) →* java.lang.Object(Tree(NULL, o41776[25])))∧(i356[17]* i356[25])∧(o43184[17]* java.lang.Object(Tree(NULL, o41776[25]))))


(18) -> (7), if ((NULL* o41773[7])∧(i356[18]* i356[7])∧(java.lang.Object(Tree(java.lang.Object(Tree(o4323Field0[18], o4323Field1[18])), o4182[18])) →* java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7]))))


(18) -> (11), if ((java.lang.Object(Tree(java.lang.Object(Tree(o4323Field0[18], o4323Field1[18])), o4182[18])) →* java.lang.Object(Tree(java.lang.Object(Tree(o49860[11], o49861[11])), o43184[11])))∧(NULL* o41773[11])∧(i356[18]* i356[11])∧(java.lang.Object(Tree(java.lang.Object(Tree(o4323Field0[18], o4323Field1[18])), o4182[18])) →* java.lang.Object(Tree(o41775[11], o41776[11]))))


(18) -> (14), if ((NULL* o41773[14])∧(java.lang.Object(Tree(java.lang.Object(Tree(o4323Field0[18], o4323Field1[18])), o4182[18])) →* java.lang.Object(Tree(o41775[14], o41776[14])))∧(java.lang.Object(Tree(java.lang.Object(Tree(o4323Field0[18], o4323Field1[18])), o4182[18])) →* java.lang.Object(Tree(java.lang.Object(Tree(o47663[14], o47664[14])), o43184[14])))∧(i356[18]* i356[14]))


(18) -> (17), if ((i356[18]* i356[17])∧(java.lang.Object(Tree(java.lang.Object(Tree(o4323Field0[18], o4323Field1[18])), o4182[18])) →* java.lang.Object(Tree(NULL, o43184[17])))∧(NULL* o41773[17])∧(java.lang.Object(Tree(java.lang.Object(Tree(o4323Field0[18], o4323Field1[18])), o4182[18])) →* java.lang.Object(Tree(o41775[17], o41776[17]))))


(18) -> (19), if ((i356[18]* i356[19])∧(java.lang.Object(Tree(java.lang.Object(Tree(o4323Field0[18], o4323Field1[18])), o4182[18])) →* NULL)∧(java.lang.Object(Tree(java.lang.Object(Tree(o4323Field0[18], o4323Field1[18])), o4182[18])) →* java.lang.Object(Tree(o41775[19], o41776[19])))∧(NULL* o41773[19]))


(18) -> (25), if ((java.lang.Object(Tree(java.lang.Object(Tree(o4323Field0[18], o4323Field1[18])), o4182[18])) →* java.lang.Object(Tree(NULL, o41776[25])))∧(NULL* o41773[25])∧(i356[18]* i356[25]))


(19) -> (20), if ((o41773[19]* o41571[20])∧(i356[19]* i356[20])∧(java.lang.Object(Tree(o41775[19], o41776[19])) →* o41578[20]))


(20) -> (0), if ((o41571[20]* o3878[0])∧(i356[20]* i341[0])∧(o41578[20]* o3879[0]))


(21) -> (0), if ((i356[21]* i341[0])∧(o41571[21]* o3878[0])∧(o41578[21]* o3879[0]))


(22) -> (0), if ((i426[22]* i341[0])∧(o4175[22]* o3878[0])∧(o3956[22]* o3879[0]))


(23) -> (0), if ((o3956[23]* o3879[0])∧(i356[23] + 1* i341[0])∧(o4175[23]* o3878[0]))


(24) -> (15), if ((java.lang.Object(Tree(NULL, o41773[24])) →* java.lang.Object(Tree(NULL, o41773[15])))∧(o41776[24]* o43184[15])∧(java.lang.Object(Tree(NULL, o41776[24])) →* java.lang.Object(Tree(o41775[15], o41776[15])))∧(i356[24]* i356[15]))


(25) -> (15), if ((java.lang.Object(Tree(NULL, o41776[25])) →* java.lang.Object(Tree(o41775[15], o41776[15])))∧(java.lang.Object(Tree(NULL, o41773[25])) →* java.lang.Object(Tree(NULL, o41773[15])))∧(i356[25]* i356[15])∧(o41776[25]* o43184[15]))


(26) -> (22), if ((i356[26] + 1* i426[22])∧(o4182[26]* o4175[22])∧(java.lang.Object(Tree(NULL, o4182[26])) →* o3956[22]))



The set Q consists of the following terms:
Load4124(x0, x1, x2)
NULL4222(x0, x1, java.lang.Object(Tree(java.lang.Object(Tree(x2, x3)), x4)))
Store46056(x0, x1, java.lang.Object(Tree(java.lang.Object(Tree(x2, x3)), x4)), java.lang.Object(Tree(java.lang.Object(Tree(x5, x6)), x7)), x8, x5)
Load40400(x0, x1, java.lang.Object(Tree(java.lang.Object(Tree(x2, x3)), x4)), java.lang.Object(Tree(java.lang.Object(Tree(x5, x6)), x7)), x8)
Load40400(x0, x1, java.lang.Object(Tree(java.lang.Object(Tree(x2, x3)), x4)), java.lang.Object(Tree(NULL, x5)), x6)
FieldAccess40823(x0, java.lang.Object(Tree(x1, x2)), x3, java.lang.Object(Tree(java.lang.Object(Tree(x4, x5)), x6)))
Load40540(x0, java.lang.Object(Tree(x1, x2)), java.lang.Object(Tree(java.lang.Object(Tree(x3, x4)), x5)), x6)
Store46301(x0, java.lang.Object(Tree(x1, x2)), java.lang.Object(Tree(java.lang.Object(Tree(x3, x4)), x5)), x6, x3)
JMP52452(x0, java.lang.Object(Tree(x1, x2)), x3, java.lang.Object(Tree(NULL, x4)))
FieldAccess40823(x0, java.lang.Object(Tree(x1, x2)), x3, java.lang.Object(Tree(NULL, x4)))
Load40540(x0, java.lang.Object(Tree(x1, x2)), java.lang.Object(Tree(NULL, x3)), x4)
Load40540(x0, java.lang.Object(Tree(x1, x2)), NULL, x3)
JMP41221(x0, x1, x2)
Load40400(x0, x1, java.lang.Object(Tree(java.lang.Object(Tree(x2, x3)), x4)), NULL, x5)
JMP5284(x0, x1, x2)
NULL4222(x0, x1, java.lang.Object(Tree(NULL, x2)))

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

(11) Obligation:

IDP problem:
The following function symbols are pre-defined:
!=~Neq: (Integer, Integer) -> Boolean
*~Mul: (Integer, Integer) -> Integer
>=~Ge: (Integer, Integer) -> Boolean
-1~UnaryMinus: (Integer) -> Integer
|~Bwor: (Integer, Integer) -> Integer
/~Div: (Integer, Integer) -> Integer
=~Eq: (Integer, Integer) -> Boolean
~Bwxor: (Integer, Integer) -> Integer
||~Lor: (Boolean, Boolean) -> Boolean
!~Lnot: (Boolean) -> Boolean
<~Lt: (Integer, Integer) -> Boolean
-~Sub: (Integer, Integer) -> Integer
<=~Le: (Integer, Integer) -> Boolean
>~Gt: (Integer, Integer) -> Boolean
~~Bwnot: (Integer) -> Integer
%~Mod: (Integer, Integer) -> Integer
&~Bwand: (Integer, Integer) -> Integer
+~Add: (Integer, Integer) -> Integer
&&~Land: (Boolean, Boolean) -> Boolean


The following domains are used:

Integer


R is empty.

The integer pair graph contains the following rules and edges:
(0): LOAD4124(o3879[0], o3878[0], i341[0]) → NULL4222'(o3879[0], i341[0], o3878[0])
(1): NULL4222'(o3956[1], i356[1], java.lang.Object(Tree(java.lang.Object(Tree(o4301Field0[1], o4301Field1[1])), o4175[1]))) → LOAD40400(o3956[1], i356[1], java.lang.Object(Tree(java.lang.Object(Tree(o4301Field0[1], o4301Field1[1])), o4175[1])), java.lang.Object(Tree(java.lang.Object(Tree(o4301Field0[1], o4301Field1[1])), o4175[1])), NULL)
(2): STORE46056(o41578[2], i356[2], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[2], o41574Field1[2])), o41575[2])), java.lang.Object(Tree(java.lang.Object(Tree(o47312[2], o47313[2])), o43139[2])), o41571[2], o47312[2]) → LOAD40400(o41578[2], i356[2], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[2], o41574Field1[2])), o41575[2])), java.lang.Object(Tree(o47312[2], java.lang.Object(Tree(o47313[2], o43139[2])))), o41571[2])
(3): LOAD40400(o41578[3], i356[3], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[3], o41574Field1[3])), o41575[3])), java.lang.Object(Tree(java.lang.Object(Tree(o47312[3], o47313[3])), o43139[3])), o41571[3]) → LOAD40400(o41578[3], i356[3], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[3], o41574Field1[3])), o41575[3])), java.lang.Object(Tree(o47312[3], java.lang.Object(Tree(o47313[3], o43139[3])))), o41571[3])
(4): LOAD40400(o41578[4], i356[4], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[4], o41574Field1[4])), o41575[4])), java.lang.Object(Tree(NULL, o43139[4])), o41571[4]) → LOAD40400(o41578[4], i356[4], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[4], o41574Field1[4])), o41575[4])), o43139[4], java.lang.Object(Tree(NULL, o41571[4])))
(5): LOAD40400(o41578[5], i356[5], java.lang.Object(Tree(java.lang.Object(Tree(o43922[5], o43923[5])), o41575[5])), java.lang.Object(Tree(java.lang.Object(Tree(o43922[5], o43923[5])), o41575[5])), o41571[5]) → LOAD40400(o41578[5], i356[5], java.lang.Object(Tree(java.lang.Object(Tree(o43922[5], o43923[5])), o41575[5])), java.lang.Object(Tree(o43922[5], java.lang.Object(Tree(o43923[5], o41575[5])))), o41571[5])
(6): FIELDACCESS40823(i356[6], java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6])), o41773[6], java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6]))) → LOAD40400(java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6])), i356[6], java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6])), java.lang.Object(Tree(o45716[6], java.lang.Object(Tree(o45717[6], o41776[6])))), o41773[6])
(7): LOAD40540(i356[7], java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])), java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])), o41773[7]) → LOAD40400(java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])), i356[7], java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])), java.lang.Object(Tree(o45716[7], java.lang.Object(Tree(o45717[7], o41776[7])))), o41773[7])
(8): LOAD40400(o41578[8], i356[8], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[8], o41574Field1[8])), o41575[8])), java.lang.Object(Tree(java.lang.Object(Tree(o49252[8], o49253[8])), o43139[8])), o41571[8]) → STORE46056(o41578[8], i356[8], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[8], o41574Field1[8])), o41575[8])), java.lang.Object(Tree(java.lang.Object(Tree(o49252[8], o49253[8])), o43139[8])), o41571[8], o49252[8])
(9): LOAD40400(java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])), i356[9], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])), java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])), o41571[9]) → FIELDACCESS40823(i356[9], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])), o41571[9], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])))
(10): FIELDACCESS40823(i356[10], java.lang.Object(Tree(o41775[10], o41776[10])), o41773[10], java.lang.Object(Tree(java.lang.Object(Tree(o49860[10], o49861[10])), o43184[10]))) → STORE46301(i356[10], java.lang.Object(Tree(o41775[10], o41776[10])), java.lang.Object(Tree(java.lang.Object(Tree(o49860[10], o49861[10])), o43184[10])), o41773[10], o49860[10])
(11): LOAD40540(i356[11], java.lang.Object(Tree(o41775[11], o41776[11])), java.lang.Object(Tree(java.lang.Object(Tree(o49860[11], o49861[11])), o43184[11])), o41773[11]) → STORE46301(i356[11], java.lang.Object(Tree(o41775[11], o41776[11])), java.lang.Object(Tree(java.lang.Object(Tree(o49860[11], o49861[11])), o43184[11])), o41773[11], o49860[11])
(12): STORE46301(i356[12], java.lang.Object(Tree(o41775[12], o41776[12])), java.lang.Object(Tree(java.lang.Object(Tree(o47663[12], o47664[12])), o43184[12])), o41773[12], o47663[12]) → LOAD40540(i356[12], java.lang.Object(Tree(o41775[12], o41776[12])), java.lang.Object(Tree(o47663[12], java.lang.Object(Tree(o47664[12], o43184[12])))), o41773[12])
(13): FIELDACCESS40823(i356[13], java.lang.Object(Tree(o41775[13], o41776[13])), o41773[13], java.lang.Object(Tree(java.lang.Object(Tree(o47663[13], o47664[13])), o43184[13]))) → LOAD40540(i356[13], java.lang.Object(Tree(o41775[13], o41776[13])), java.lang.Object(Tree(o47663[13], java.lang.Object(Tree(o47664[13], o43184[13])))), o41773[13])
(14): LOAD40540(i356[14], java.lang.Object(Tree(o41775[14], o41776[14])), java.lang.Object(Tree(java.lang.Object(Tree(o47663[14], o47664[14])), o43184[14])), o41773[14]) → LOAD40540(i356[14], java.lang.Object(Tree(o41775[14], o41776[14])), java.lang.Object(Tree(o47663[14], java.lang.Object(Tree(o47664[14], o43184[14])))), o41773[14])
(15): JMP52452'(i356[15], java.lang.Object(Tree(o41775[15], o41776[15])), o43184[15], java.lang.Object(Tree(NULL, o41773[15]))) → LOAD40540(i356[15], java.lang.Object(Tree(o41775[15], o41776[15])), o43184[15], java.lang.Object(Tree(NULL, o41773[15])))
(16): FIELDACCESS40823(i356[16], java.lang.Object(Tree(o41775[16], o41776[16])), o41773[16], java.lang.Object(Tree(NULL, o43184[16]))) → LOAD40540(i356[16], java.lang.Object(Tree(o41775[16], o41776[16])), o43184[16], java.lang.Object(Tree(NULL, o41773[16])))
(17): LOAD40540(i356[17], java.lang.Object(Tree(o41775[17], o41776[17])), java.lang.Object(Tree(NULL, o43184[17])), o41773[17]) → LOAD40540(i356[17], java.lang.Object(Tree(o41775[17], o41776[17])), o43184[17], java.lang.Object(Tree(NULL, o41773[17])))
(18): NULL4222'(java.lang.Object(Tree(java.lang.Object(Tree(o4323Field0[18], o4323Field1[18])), o4182[18])), i356[18], java.lang.Object(Tree(java.lang.Object(Tree(o4323Field0[18], o4323Field1[18])), o4182[18]))) → LOAD40540(i356[18], java.lang.Object(Tree(java.lang.Object(Tree(o4323Field0[18], o4323Field1[18])), o4182[18])), java.lang.Object(Tree(java.lang.Object(Tree(o4323Field0[18], o4323Field1[18])), o4182[18])), NULL)
(19): LOAD40540(i356[19], java.lang.Object(Tree(o41775[19], o41776[19])), NULL, o41773[19]) → JMP41221'(java.lang.Object(Tree(o41775[19], o41776[19])), o41773[19], i356[19])
(20): JMP41221'(o41578[20], o41571[20], i356[20]) → LOAD4124(o41578[20], o41571[20], i356[20])
(21): LOAD40400(o41578[21], i356[21], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[21], o41574Field1[21])), o41575[21])), NULL, o41571[21]) → LOAD4124(o41578[21], o41571[21], i356[21])
(22): JMP5284'(o3956[22], o4175[22], i426[22]) → LOAD4124(o3956[22], o4175[22], i426[22])
(23): NULL4222'(o3956[23], i356[23], java.lang.Object(Tree(NULL, o4175[23]))) → LOAD4124(o3956[23], o4175[23], i356[23] + 1)
(24): FIELDACCESS40823(i356[24], java.lang.Object(Tree(NULL, o41776[24])), o41773[24], java.lang.Object(Tree(NULL, o41776[24]))) → JMP52452'(i356[24], java.lang.Object(Tree(NULL, o41776[24])), o41776[24], java.lang.Object(Tree(NULL, o41773[24])))
(25): LOAD40540(i356[25], java.lang.Object(Tree(NULL, o41776[25])), java.lang.Object(Tree(NULL, o41776[25])), o41773[25]) → JMP52452'(i356[25], java.lang.Object(Tree(NULL, o41776[25])), o41776[25], java.lang.Object(Tree(NULL, o41773[25])))
(26): NULL4222'(java.lang.Object(Tree(NULL, o4182[26])), i356[26], java.lang.Object(Tree(NULL, o4182[26]))) → JMP5284'(java.lang.Object(Tree(NULL, o4182[26])), o4182[26], i356[26] + 1)

(0) -> (1), if ((o3878[0]* java.lang.Object(Tree(java.lang.Object(Tree(o4301Field0[1], o4301Field1[1])), o4175[1])))∧(o3879[0]* o3956[1])∧(i341[0]* i356[1]))


(0) -> (18), if ((o3879[0]* java.lang.Object(Tree(java.lang.Object(Tree(o4323Field0[18], o4323Field1[18])), o4182[18])))∧(i341[0]* i356[18])∧(o3878[0]* java.lang.Object(Tree(java.lang.Object(Tree(o4323Field0[18], o4323Field1[18])), o4182[18]))))


(0) -> (23), if ((o3878[0]* java.lang.Object(Tree(NULL, o4175[23])))∧(i341[0]* i356[23])∧(o3879[0]* o3956[23]))


(0) -> (26), if ((i341[0]* i356[26])∧(o3878[0]* java.lang.Object(Tree(NULL, o4182[26])))∧(o3879[0]* java.lang.Object(Tree(NULL, o4182[26]))))


(1) -> (3), if ((NULL* o41571[3])∧(java.lang.Object(Tree(java.lang.Object(Tree(o4301Field0[1], o4301Field1[1])), o4175[1])) →* java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[3], o41574Field1[3])), o41575[3])))∧(i356[1]* i356[3])∧(java.lang.Object(Tree(java.lang.Object(Tree(o4301Field0[1], o4301Field1[1])), o4175[1])) →* java.lang.Object(Tree(java.lang.Object(Tree(o47312[3], o47313[3])), o43139[3])))∧(o3956[1]* o41578[3]))


(1) -> (4), if ((o3956[1]* o41578[4])∧(i356[1]* i356[4])∧(java.lang.Object(Tree(java.lang.Object(Tree(o4301Field0[1], o4301Field1[1])), o4175[1])) →* java.lang.Object(Tree(NULL, o43139[4])))∧(NULL* o41571[4])∧(java.lang.Object(Tree(java.lang.Object(Tree(o4301Field0[1], o4301Field1[1])), o4175[1])) →* java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[4], o41574Field1[4])), o41575[4]))))


(1) -> (5), if ((NULL* o41571[5])∧(i356[1]* i356[5])∧(java.lang.Object(Tree(java.lang.Object(Tree(o4301Field0[1], o4301Field1[1])), o4175[1])) →* java.lang.Object(Tree(java.lang.Object(Tree(o43922[5], o43923[5])), o41575[5])))∧(o3956[1]* o41578[5]))


(1) -> (8), if ((java.lang.Object(Tree(java.lang.Object(Tree(o4301Field0[1], o4301Field1[1])), o4175[1])) →* java.lang.Object(Tree(java.lang.Object(Tree(o49252[8], o49253[8])), o43139[8])))∧(java.lang.Object(Tree(java.lang.Object(Tree(o4301Field0[1], o4301Field1[1])), o4175[1])) →* java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[8], o41574Field1[8])), o41575[8])))∧(o3956[1]* o41578[8])∧(i356[1]* i356[8])∧(NULL* o41571[8]))


(1) -> (9), if ((i356[1]* i356[9])∧(java.lang.Object(Tree(java.lang.Object(Tree(o4301Field0[1], o4301Field1[1])), o4175[1])) →* java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])))∧(o3956[1]* java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])))∧(NULL* o41571[9]))


(1) -> (21), if ((o3956[1]* o41578[21])∧(NULL* o41571[21])∧(java.lang.Object(Tree(java.lang.Object(Tree(o4301Field0[1], o4301Field1[1])), o4175[1])) →* java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[21], o41574Field1[21])), o41575[21])))∧(java.lang.Object(Tree(java.lang.Object(Tree(o4301Field0[1], o4301Field1[1])), o4175[1])) →* NULL)∧(i356[1]* i356[21]))


(2) -> (3), if ((i356[2]* i356[3])∧(o41571[2]* o41571[3])∧(java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[2], o41574Field1[2])), o41575[2])) →* java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[3], o41574Field1[3])), o41575[3])))∧(o41578[2]* o41578[3])∧(java.lang.Object(Tree(o47312[2], java.lang.Object(Tree(o47313[2], o43139[2])))) →* java.lang.Object(Tree(java.lang.Object(Tree(o47312[3], o47313[3])), o43139[3]))))


(2) -> (4), if ((java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[2], o41574Field1[2])), o41575[2])) →* java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[4], o41574Field1[4])), o41575[4])))∧(o41571[2]* o41571[4])∧(java.lang.Object(Tree(o47312[2], java.lang.Object(Tree(o47313[2], o43139[2])))) →* java.lang.Object(Tree(NULL, o43139[4])))∧(i356[2]* i356[4])∧(o41578[2]* o41578[4]))


(2) -> (5), if ((o41571[2]* o41571[5])∧(java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[2], o41574Field1[2])), o41575[2])) →* java.lang.Object(Tree(java.lang.Object(Tree(o43922[5], o43923[5])), o41575[5])))∧(java.lang.Object(Tree(o47312[2], java.lang.Object(Tree(o47313[2], o43139[2])))) →* java.lang.Object(Tree(java.lang.Object(Tree(o43922[5], o43923[5])), o41575[5])))∧(o41578[2]* o41578[5])∧(i356[2]* i356[5]))


(2) -> (8), if ((java.lang.Object(Tree(o47312[2], java.lang.Object(Tree(o47313[2], o43139[2])))) →* java.lang.Object(Tree(java.lang.Object(Tree(o49252[8], o49253[8])), o43139[8])))∧(java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[2], o41574Field1[2])), o41575[2])) →* java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[8], o41574Field1[8])), o41575[8])))∧(o41578[2]* o41578[8])∧(o41571[2]* o41571[8])∧(i356[2]* i356[8]))


(2) -> (9), if ((i356[2]* i356[9])∧(o41571[2]* o41571[9])∧(o41578[2]* java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])))∧(java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[2], o41574Field1[2])), o41575[2])) →* java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])))∧(java.lang.Object(Tree(o47312[2], java.lang.Object(Tree(o47313[2], o43139[2])))) →* java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9]))))


(2) -> (21), if ((o41578[2]* o41578[21])∧(o41571[2]* o41571[21])∧(java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[2], o41574Field1[2])), o41575[2])) →* java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[21], o41574Field1[21])), o41575[21])))∧(java.lang.Object(Tree(o47312[2], java.lang.Object(Tree(o47313[2], o43139[2])))) →* NULL)∧(i356[2]* i356[21]))


(3) -> (3), if ((o41571[3]* o41571[3]')∧(java.lang.Object(Tree(o47312[3], java.lang.Object(Tree(o47313[3], o43139[3])))) →* java.lang.Object(Tree(java.lang.Object(Tree(o47312[3]', o47313[3]')), o43139[3]')))∧(o41578[3]* o41578[3]')∧(java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[3], o41574Field1[3])), o41575[3])) →* java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[3]', o41574Field1[3]')), o41575[3]')))∧(i356[3]* i356[3]'))


(3) -> (4), if ((o41578[3]* o41578[4])∧(java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[3], o41574Field1[3])), o41575[3])) →* java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[4], o41574Field1[4])), o41575[4])))∧(i356[3]* i356[4])∧(java.lang.Object(Tree(o47312[3], java.lang.Object(Tree(o47313[3], o43139[3])))) →* java.lang.Object(Tree(NULL, o43139[4])))∧(o41571[3]* o41571[4]))


(3) -> (5), if ((o41571[3]* o41571[5])∧(java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[3], o41574Field1[3])), o41575[3])) →* java.lang.Object(Tree(java.lang.Object(Tree(o43922[5], o43923[5])), o41575[5])))∧(i356[3]* i356[5])∧(java.lang.Object(Tree(o47312[3], java.lang.Object(Tree(o47313[3], o43139[3])))) →* java.lang.Object(Tree(java.lang.Object(Tree(o43922[5], o43923[5])), o41575[5])))∧(o41578[3]* o41578[5]))


(3) -> (8), if ((java.lang.Object(Tree(o47312[3], java.lang.Object(Tree(o47313[3], o43139[3])))) →* java.lang.Object(Tree(java.lang.Object(Tree(o49252[8], o49253[8])), o43139[8])))∧(java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[3], o41574Field1[3])), o41575[3])) →* java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[8], o41574Field1[8])), o41575[8])))∧(o41578[3]* o41578[8])∧(i356[3]* i356[8])∧(o41571[3]* o41571[8]))


(3) -> (9), if ((o41571[3]* o41571[9])∧(java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[3], o41574Field1[3])), o41575[3])) →* java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])))∧(o41578[3]* java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])))∧(i356[3]* i356[9])∧(java.lang.Object(Tree(o47312[3], java.lang.Object(Tree(o47313[3], o43139[3])))) →* java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9]))))


(3) -> (21), if ((o41571[3]* o41571[21])∧(java.lang.Object(Tree(o47312[3], java.lang.Object(Tree(o47313[3], o43139[3])))) →* NULL)∧(java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[3], o41574Field1[3])), o41575[3])) →* java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[21], o41574Field1[21])), o41575[21])))∧(o41578[3]* o41578[21])∧(i356[3]* i356[21]))


(4) -> (3), if ((java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[4], o41574Field1[4])), o41575[4])) →* java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[3], o41574Field1[3])), o41575[3])))∧(i356[4]* i356[3])∧(o43139[4]* java.lang.Object(Tree(java.lang.Object(Tree(o47312[3], o47313[3])), o43139[3])))∧(java.lang.Object(Tree(NULL, o41571[4])) →* o41571[3])∧(o41578[4]* o41578[3]))


(4) -> (4), if ((o43139[4]* java.lang.Object(Tree(NULL, o43139[4]')))∧(java.lang.Object(Tree(NULL, o41571[4])) →* o41571[4]')∧(o41578[4]* o41578[4]')∧(java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[4], o41574Field1[4])), o41575[4])) →* java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[4]', o41574Field1[4]')), o41575[4]')))∧(i356[4]* i356[4]'))


(4) -> (5), if ((i356[4]* i356[5])∧(o43139[4]* java.lang.Object(Tree(java.lang.Object(Tree(o43922[5], o43923[5])), o41575[5])))∧(java.lang.Object(Tree(NULL, o41571[4])) →* o41571[5])∧(java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[4], o41574Field1[4])), o41575[4])) →* java.lang.Object(Tree(java.lang.Object(Tree(o43922[5], o43923[5])), o41575[5])))∧(o41578[4]* o41578[5]))


(4) -> (8), if ((i356[4]* i356[8])∧(o41578[4]* o41578[8])∧(java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[4], o41574Field1[4])), o41575[4])) →* java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[8], o41574Field1[8])), o41575[8])))∧(o43139[4]* java.lang.Object(Tree(java.lang.Object(Tree(o49252[8], o49253[8])), o43139[8])))∧(java.lang.Object(Tree(NULL, o41571[4])) →* o41571[8]))


(4) -> (9), if ((java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[4], o41574Field1[4])), o41575[4])) →* java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])))∧(o41578[4]* java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])))∧(o43139[4]* java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])))∧(java.lang.Object(Tree(NULL, o41571[4])) →* o41571[9])∧(i356[4]* i356[9]))


(4) -> (21), if ((o43139[4]* NULL)∧(java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[4], o41574Field1[4])), o41575[4])) →* java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[21], o41574Field1[21])), o41575[21])))∧(java.lang.Object(Tree(NULL, o41571[4])) →* o41571[21])∧(i356[4]* i356[21])∧(o41578[4]* o41578[21]))


(5) -> (3), if ((java.lang.Object(Tree(o43922[5], java.lang.Object(Tree(o43923[5], o41575[5])))) →* java.lang.Object(Tree(java.lang.Object(Tree(o47312[3], o47313[3])), o43139[3])))∧(o41571[5]* o41571[3])∧(i356[5]* i356[3])∧(o41578[5]* o41578[3])∧(java.lang.Object(Tree(java.lang.Object(Tree(o43922[5], o43923[5])), o41575[5])) →* java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[3], o41574Field1[3])), o41575[3]))))


(5) -> (4), if ((o41571[5]* o41571[4])∧(java.lang.Object(Tree(o43922[5], java.lang.Object(Tree(o43923[5], o41575[5])))) →* java.lang.Object(Tree(NULL, o43139[4])))∧(o41578[5]* o41578[4])∧(java.lang.Object(Tree(java.lang.Object(Tree(o43922[5], o43923[5])), o41575[5])) →* java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[4], o41574Field1[4])), o41575[4])))∧(i356[5]* i356[4]))


(5) -> (5), if ((java.lang.Object(Tree(o43922[5], java.lang.Object(Tree(o43923[5], o41575[5])))) →* java.lang.Object(Tree(java.lang.Object(Tree(o43922[5]', o43923[5]')), o41575[5]')))∧(o41578[5]* o41578[5]')∧(i356[5]* i356[5]')∧(o41571[5]* o41571[5]')∧(java.lang.Object(Tree(java.lang.Object(Tree(o43922[5], o43923[5])), o41575[5])) →* java.lang.Object(Tree(java.lang.Object(Tree(o43922[5]', o43923[5]')), o41575[5]'))))


(5) -> (8), if ((java.lang.Object(Tree(java.lang.Object(Tree(o43922[5], o43923[5])), o41575[5])) →* java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[8], o41574Field1[8])), o41575[8])))∧(i356[5]* i356[8])∧(o41578[5]* o41578[8])∧(o41571[5]* o41571[8])∧(java.lang.Object(Tree(o43922[5], java.lang.Object(Tree(o43923[5], o41575[5])))) →* java.lang.Object(Tree(java.lang.Object(Tree(o49252[8], o49253[8])), o43139[8]))))


(5) -> (9), if ((o41578[5]* java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])))∧(java.lang.Object(Tree(o43922[5], java.lang.Object(Tree(o43923[5], o41575[5])))) →* java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])))∧(java.lang.Object(Tree(java.lang.Object(Tree(o43922[5], o43923[5])), o41575[5])) →* java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])))∧(i356[5]* i356[9])∧(o41571[5]* o41571[9]))


(5) -> (21), if ((o41571[5]* o41571[21])∧(o41578[5]* o41578[21])∧(java.lang.Object(Tree(java.lang.Object(Tree(o43922[5], o43923[5])), o41575[5])) →* java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[21], o41574Field1[21])), o41575[21])))∧(java.lang.Object(Tree(o43922[5], java.lang.Object(Tree(o43923[5], o41575[5])))) →* NULL)∧(i356[5]* i356[21]))


(6) -> (3), if ((java.lang.Object(Tree(o45716[6], java.lang.Object(Tree(o45717[6], o41776[6])))) →* java.lang.Object(Tree(java.lang.Object(Tree(o47312[3], o47313[3])), o43139[3])))∧(o41773[6]* o41571[3])∧(i356[6]* i356[3])∧(java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6])) →* java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[3], o41574Field1[3])), o41575[3])))∧(java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6])) →* o41578[3]))


(6) -> (4), if ((java.lang.Object(Tree(o45716[6], java.lang.Object(Tree(o45717[6], o41776[6])))) →* java.lang.Object(Tree(NULL, o43139[4])))∧(o41773[6]* o41571[4])∧(i356[6]* i356[4])∧(java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6])) →* java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[4], o41574Field1[4])), o41575[4])))∧(java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6])) →* o41578[4]))


(6) -> (5), if ((java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6])) →* o41578[5])∧(java.lang.Object(Tree(o45716[6], java.lang.Object(Tree(o45717[6], o41776[6])))) →* java.lang.Object(Tree(java.lang.Object(Tree(o43922[5], o43923[5])), o41575[5])))∧(o41773[6]* o41571[5])∧(i356[6]* i356[5])∧(java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6])) →* java.lang.Object(Tree(java.lang.Object(Tree(o43922[5], o43923[5])), o41575[5]))))


(6) -> (8), if ((i356[6]* i356[8])∧(java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6])) →* java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[8], o41574Field1[8])), o41575[8])))∧(o41773[6]* o41571[8])∧(java.lang.Object(Tree(o45716[6], java.lang.Object(Tree(o45717[6], o41776[6])))) →* java.lang.Object(Tree(java.lang.Object(Tree(o49252[8], o49253[8])), o43139[8])))∧(java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6])) →* o41578[8]))


(6) -> (9), if ((java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6])) →* java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])))∧(i356[6]* i356[9])∧(o41773[6]* o41571[9])∧(java.lang.Object(Tree(o45716[6], java.lang.Object(Tree(o45717[6], o41776[6])))) →* java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9]))))


(6) -> (21), if ((o41773[6]* o41571[21])∧(java.lang.Object(Tree(o45716[6], java.lang.Object(Tree(o45717[6], o41776[6])))) →* NULL)∧(java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6])) →* o41578[21])∧(i356[6]* i356[21])∧(java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6])) →* java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[21], o41574Field1[21])), o41575[21]))))


(7) -> (3), if ((o41773[7]* o41571[3])∧(java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])) →* java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[3], o41574Field1[3])), o41575[3])))∧(i356[7]* i356[3])∧(java.lang.Object(Tree(o45716[7], java.lang.Object(Tree(o45717[7], o41776[7])))) →* java.lang.Object(Tree(java.lang.Object(Tree(o47312[3], o47313[3])), o43139[3])))∧(java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])) →* o41578[3]))


(7) -> (4), if ((o41773[7]* o41571[4])∧(i356[7]* i356[4])∧(java.lang.Object(Tree(o45716[7], java.lang.Object(Tree(o45717[7], o41776[7])))) →* java.lang.Object(Tree(NULL, o43139[4])))∧(java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])) →* java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[4], o41574Field1[4])), o41575[4])))∧(java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])) →* o41578[4]))


(7) -> (5), if ((o41773[7]* o41571[5])∧(java.lang.Object(Tree(o45716[7], java.lang.Object(Tree(o45717[7], o41776[7])))) →* java.lang.Object(Tree(java.lang.Object(Tree(o43922[5], o43923[5])), o41575[5])))∧(java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])) →* java.lang.Object(Tree(java.lang.Object(Tree(o43922[5], o43923[5])), o41575[5])))∧(i356[7]* i356[5])∧(java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])) →* o41578[5]))


(7) -> (8), if ((java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])) →* o41578[8])∧(java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])) →* java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[8], o41574Field1[8])), o41575[8])))∧(java.lang.Object(Tree(o45716[7], java.lang.Object(Tree(o45717[7], o41776[7])))) →* java.lang.Object(Tree(java.lang.Object(Tree(o49252[8], o49253[8])), o43139[8])))∧(o41773[7]* o41571[8])∧(i356[7]* i356[8]))


(7) -> (9), if ((java.lang.Object(Tree(o45716[7], java.lang.Object(Tree(o45717[7], o41776[7])))) →* java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])))∧(o41773[7]* o41571[9])∧(i356[7]* i356[9])∧(java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])) →* java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9]))))


(7) -> (21), if ((java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])) →* o41578[21])∧(java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])) →* java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[21], o41574Field1[21])), o41575[21])))∧(o41773[7]* o41571[21])∧(i356[7]* i356[21])∧(java.lang.Object(Tree(o45716[7], java.lang.Object(Tree(o45717[7], o41776[7])))) →* NULL))


(8) -> (2), if ((o41571[8]* o41571[2])∧(java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[8], o41574Field1[8])), o41575[8])) →* java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[2], o41574Field1[2])), o41575[2])))∧(o49252[8]* o47312[2])∧(o41578[8]* o41578[2])∧(java.lang.Object(Tree(java.lang.Object(Tree(o49252[8], o49253[8])), o43139[8])) →* java.lang.Object(Tree(java.lang.Object(Tree(o47312[2], o47313[2])), o43139[2])))∧(i356[8]* i356[2]))


(9) -> (6), if ((java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])) →* java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6])))∧(o41571[9]* o41773[6])∧(i356[9]* i356[6]))


(9) -> (10), if ((java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])) →* java.lang.Object(Tree(o41775[10], o41776[10])))∧(o41571[9]* o41773[10])∧(i356[9]* i356[10])∧(java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])) →* java.lang.Object(Tree(java.lang.Object(Tree(o49860[10], o49861[10])), o43184[10]))))


(9) -> (13), if ((java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])) →* java.lang.Object(Tree(java.lang.Object(Tree(o47663[13], o47664[13])), o43184[13])))∧(i356[9]* i356[13])∧(o41571[9]* o41773[13])∧(java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])) →* java.lang.Object(Tree(o41775[13], o41776[13]))))


(9) -> (16), if ((java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])) →* java.lang.Object(Tree(o41775[16], o41776[16])))∧(java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])) →* java.lang.Object(Tree(NULL, o43184[16])))∧(i356[9]* i356[16])∧(o41571[9]* o41773[16]))


(9) -> (24), if ((o41571[9]* o41773[24])∧(i356[9]* i356[24])∧(java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])) →* java.lang.Object(Tree(NULL, o41776[24]))))


(10) -> (12), if ((o41773[10]* o41773[12])∧(o49860[10]* o47663[12])∧(java.lang.Object(Tree(o41775[10], o41776[10])) →* java.lang.Object(Tree(o41775[12], o41776[12])))∧(java.lang.Object(Tree(java.lang.Object(Tree(o49860[10], o49861[10])), o43184[10])) →* java.lang.Object(Tree(java.lang.Object(Tree(o47663[12], o47664[12])), o43184[12])))∧(i356[10]* i356[12]))


(11) -> (12), if ((java.lang.Object(Tree(java.lang.Object(Tree(o49860[11], o49861[11])), o43184[11])) →* java.lang.Object(Tree(java.lang.Object(Tree(o47663[12], o47664[12])), o43184[12])))∧(o49860[11]* o47663[12])∧(java.lang.Object(Tree(o41775[11], o41776[11])) →* java.lang.Object(Tree(o41775[12], o41776[12])))∧(o41773[11]* o41773[12])∧(i356[11]* i356[12]))


(12) -> (7), if ((i356[12]* i356[7])∧(java.lang.Object(Tree(o41775[12], o41776[12])) →* java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])))∧(java.lang.Object(Tree(o47663[12], java.lang.Object(Tree(o47664[12], o43184[12])))) →* java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])))∧(o41773[12]* o41773[7]))


(12) -> (11), if ((java.lang.Object(Tree(o41775[12], o41776[12])) →* java.lang.Object(Tree(o41775[11], o41776[11])))∧(i356[12]* i356[11])∧(o41773[12]* o41773[11])∧(java.lang.Object(Tree(o47663[12], java.lang.Object(Tree(o47664[12], o43184[12])))) →* java.lang.Object(Tree(java.lang.Object(Tree(o49860[11], o49861[11])), o43184[11]))))


(12) -> (14), if ((java.lang.Object(Tree(o41775[12], o41776[12])) →* java.lang.Object(Tree(o41775[14], o41776[14])))∧(java.lang.Object(Tree(o47663[12], java.lang.Object(Tree(o47664[12], o43184[12])))) →* java.lang.Object(Tree(java.lang.Object(Tree(o47663[14], o47664[14])), o43184[14])))∧(o41773[12]* o41773[14])∧(i356[12]* i356[14]))


(12) -> (17), if ((java.lang.Object(Tree(o41775[12], o41776[12])) →* java.lang.Object(Tree(o41775[17], o41776[17])))∧(o41773[12]* o41773[17])∧(java.lang.Object(Tree(o47663[12], java.lang.Object(Tree(o47664[12], o43184[12])))) →* java.lang.Object(Tree(NULL, o43184[17])))∧(i356[12]* i356[17]))


(12) -> (19), if ((java.lang.Object(Tree(o47663[12], java.lang.Object(Tree(o47664[12], o43184[12])))) →* NULL)∧(java.lang.Object(Tree(o41775[12], o41776[12])) →* java.lang.Object(Tree(o41775[19], o41776[19])))∧(o41773[12]* o41773[19])∧(i356[12]* i356[19]))


(12) -> (25), if ((i356[12]* i356[25])∧(o41773[12]* o41773[25])∧(java.lang.Object(Tree(o47663[12], java.lang.Object(Tree(o47664[12], o43184[12])))) →* java.lang.Object(Tree(NULL, o41776[25])))∧(java.lang.Object(Tree(o41775[12], o41776[12])) →* java.lang.Object(Tree(NULL, o41776[25]))))


(13) -> (7), if ((i356[13]* i356[7])∧(java.lang.Object(Tree(o47663[13], java.lang.Object(Tree(o47664[13], o43184[13])))) →* java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])))∧(java.lang.Object(Tree(o41775[13], o41776[13])) →* java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])))∧(o41773[13]* o41773[7]))


(13) -> (11), if ((o41773[13]* o41773[11])∧(i356[13]* i356[11])∧(java.lang.Object(Tree(o47663[13], java.lang.Object(Tree(o47664[13], o43184[13])))) →* java.lang.Object(Tree(java.lang.Object(Tree(o49860[11], o49861[11])), o43184[11])))∧(java.lang.Object(Tree(o41775[13], o41776[13])) →* java.lang.Object(Tree(o41775[11], o41776[11]))))


(13) -> (14), if ((java.lang.Object(Tree(o41775[13], o41776[13])) →* java.lang.Object(Tree(o41775[14], o41776[14])))∧(o41773[13]* o41773[14])∧(i356[13]* i356[14])∧(java.lang.Object(Tree(o47663[13], java.lang.Object(Tree(o47664[13], o43184[13])))) →* java.lang.Object(Tree(java.lang.Object(Tree(o47663[14], o47664[14])), o43184[14]))))


(13) -> (17), if ((java.lang.Object(Tree(o47663[13], java.lang.Object(Tree(o47664[13], o43184[13])))) →* java.lang.Object(Tree(NULL, o43184[17])))∧(i356[13]* i356[17])∧(o41773[13]* o41773[17])∧(java.lang.Object(Tree(o41775[13], o41776[13])) →* java.lang.Object(Tree(o41775[17], o41776[17]))))


(13) -> (19), if ((java.lang.Object(Tree(o41775[13], o41776[13])) →* java.lang.Object(Tree(o41775[19], o41776[19])))∧(i356[13]* i356[19])∧(java.lang.Object(Tree(o47663[13], java.lang.Object(Tree(o47664[13], o43184[13])))) →* NULL)∧(o41773[13]* o41773[19]))


(13) -> (25), if ((java.lang.Object(Tree(o47663[13], java.lang.Object(Tree(o47664[13], o43184[13])))) →* java.lang.Object(Tree(NULL, o41776[25])))∧(java.lang.Object(Tree(o41775[13], o41776[13])) →* java.lang.Object(Tree(NULL, o41776[25])))∧(o41773[13]* o41773[25])∧(i356[13]* i356[25]))


(14) -> (7), if ((java.lang.Object(Tree(o47663[14], java.lang.Object(Tree(o47664[14], o43184[14])))) →* java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])))∧(i356[14]* i356[7])∧(o41773[14]* o41773[7])∧(java.lang.Object(Tree(o41775[14], o41776[14])) →* java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7]))))


(14) -> (11), if ((i356[14]* i356[11])∧(java.lang.Object(Tree(o47663[14], java.lang.Object(Tree(o47664[14], o43184[14])))) →* java.lang.Object(Tree(java.lang.Object(Tree(o49860[11], o49861[11])), o43184[11])))∧(o41773[14]* o41773[11])∧(java.lang.Object(Tree(o41775[14], o41776[14])) →* java.lang.Object(Tree(o41775[11], o41776[11]))))


(14) -> (14), if ((java.lang.Object(Tree(o47663[14], java.lang.Object(Tree(o47664[14], o43184[14])))) →* java.lang.Object(Tree(java.lang.Object(Tree(o47663[14]', o47664[14]')), o43184[14]')))∧(i356[14]* i356[14]')∧(o41773[14]* o41773[14]')∧(java.lang.Object(Tree(o41775[14], o41776[14])) →* java.lang.Object(Tree(o41775[14]', o41776[14]'))))


(14) -> (17), if ((o41773[14]* o41773[17])∧(i356[14]* i356[17])∧(java.lang.Object(Tree(o47663[14], java.lang.Object(Tree(o47664[14], o43184[14])))) →* java.lang.Object(Tree(NULL, o43184[17])))∧(java.lang.Object(Tree(o41775[14], o41776[14])) →* java.lang.Object(Tree(o41775[17], o41776[17]))))


(14) -> (19), if ((java.lang.Object(Tree(o47663[14], java.lang.Object(Tree(o47664[14], o43184[14])))) →* NULL)∧(java.lang.Object(Tree(o41775[14], o41776[14])) →* java.lang.Object(Tree(o41775[19], o41776[19])))∧(o41773[14]* o41773[19])∧(i356[14]* i356[19]))


(14) -> (25), if ((java.lang.Object(Tree(o47663[14], java.lang.Object(Tree(o47664[14], o43184[14])))) →* java.lang.Object(Tree(NULL, o41776[25])))∧(o41773[14]* o41773[25])∧(i356[14]* i356[25])∧(java.lang.Object(Tree(o41775[14], o41776[14])) →* java.lang.Object(Tree(NULL, o41776[25]))))


(15) -> (7), if ((o43184[15]* java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])))∧(java.lang.Object(Tree(NULL, o41773[15])) →* o41773[7])∧(java.lang.Object(Tree(o41775[15], o41776[15])) →* java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])))∧(i356[15]* i356[7]))


(15) -> (11), if ((o43184[15]* java.lang.Object(Tree(java.lang.Object(Tree(o49860[11], o49861[11])), o43184[11])))∧(java.lang.Object(Tree(NULL, o41773[15])) →* o41773[11])∧(java.lang.Object(Tree(o41775[15], o41776[15])) →* java.lang.Object(Tree(o41775[11], o41776[11])))∧(i356[15]* i356[11]))


(15) -> (14), if ((o43184[15]* java.lang.Object(Tree(java.lang.Object(Tree(o47663[14], o47664[14])), o43184[14])))∧(java.lang.Object(Tree(NULL, o41773[15])) →* o41773[14])∧(java.lang.Object(Tree(o41775[15], o41776[15])) →* java.lang.Object(Tree(o41775[14], o41776[14])))∧(i356[15]* i356[14]))


(15) -> (17), if ((o43184[15]* java.lang.Object(Tree(NULL, o43184[17])))∧(java.lang.Object(Tree(o41775[15], o41776[15])) →* java.lang.Object(Tree(o41775[17], o41776[17])))∧(java.lang.Object(Tree(NULL, o41773[15])) →* o41773[17])∧(i356[15]* i356[17]))


(15) -> (19), if ((java.lang.Object(Tree(o41775[15], o41776[15])) →* java.lang.Object(Tree(o41775[19], o41776[19])))∧(java.lang.Object(Tree(NULL, o41773[15])) →* o41773[19])∧(o43184[15]* NULL)∧(i356[15]* i356[19]))


(15) -> (25), if ((o43184[15]* java.lang.Object(Tree(NULL, o41776[25])))∧(i356[15]* i356[25])∧(java.lang.Object(Tree(o41775[15], o41776[15])) →* java.lang.Object(Tree(NULL, o41776[25])))∧(java.lang.Object(Tree(NULL, o41773[15])) →* o41773[25]))


(16) -> (7), if ((i356[16]* i356[7])∧(o43184[16]* java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])))∧(java.lang.Object(Tree(NULL, o41773[16])) →* o41773[7])∧(java.lang.Object(Tree(o41775[16], o41776[16])) →* java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7]))))


(16) -> (11), if ((java.lang.Object(Tree(NULL, o41773[16])) →* o41773[11])∧(java.lang.Object(Tree(o41775[16], o41776[16])) →* java.lang.Object(Tree(o41775[11], o41776[11])))∧(o43184[16]* java.lang.Object(Tree(java.lang.Object(Tree(o49860[11], o49861[11])), o43184[11])))∧(i356[16]* i356[11]))


(16) -> (14), if ((java.lang.Object(Tree(o41775[16], o41776[16])) →* java.lang.Object(Tree(o41775[14], o41776[14])))∧(i356[16]* i356[14])∧(o43184[16]* java.lang.Object(Tree(java.lang.Object(Tree(o47663[14], o47664[14])), o43184[14])))∧(java.lang.Object(Tree(NULL, o41773[16])) →* o41773[14]))


(16) -> (17), if ((java.lang.Object(Tree(o41775[16], o41776[16])) →* java.lang.Object(Tree(o41775[17], o41776[17])))∧(java.lang.Object(Tree(NULL, o41773[16])) →* o41773[17])∧(i356[16]* i356[17])∧(o43184[16]* java.lang.Object(Tree(NULL, o43184[17]))))


(16) -> (19), if ((i356[16]* i356[19])∧(java.lang.Object(Tree(o41775[16], o41776[16])) →* java.lang.Object(Tree(o41775[19], o41776[19])))∧(java.lang.Object(Tree(NULL, o41773[16])) →* o41773[19])∧(o43184[16]* NULL))


(16) -> (25), if ((java.lang.Object(Tree(NULL, o41773[16])) →* o41773[25])∧(java.lang.Object(Tree(o41775[16], o41776[16])) →* java.lang.Object(Tree(NULL, o41776[25])))∧(o43184[16]* java.lang.Object(Tree(NULL, o41776[25])))∧(i356[16]* i356[25]))


(17) -> (7), if ((o43184[17]* java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])))∧(i356[17]* i356[7])∧(java.lang.Object(Tree(o41775[17], o41776[17])) →* java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])))∧(java.lang.Object(Tree(NULL, o41773[17])) →* o41773[7]))


(17) -> (11), if ((o43184[17]* java.lang.Object(Tree(java.lang.Object(Tree(o49860[11], o49861[11])), o43184[11])))∧(java.lang.Object(Tree(NULL, o41773[17])) →* o41773[11])∧(i356[17]* i356[11])∧(java.lang.Object(Tree(o41775[17], o41776[17])) →* java.lang.Object(Tree(o41775[11], o41776[11]))))


(17) -> (14), if ((java.lang.Object(Tree(o41775[17], o41776[17])) →* java.lang.Object(Tree(o41775[14], o41776[14])))∧(o43184[17]* java.lang.Object(Tree(java.lang.Object(Tree(o47663[14], o47664[14])), o43184[14])))∧(i356[17]* i356[14])∧(java.lang.Object(Tree(NULL, o41773[17])) →* o41773[14]))


(17) -> (17), if ((java.lang.Object(Tree(NULL, o41773[17])) →* o41773[17]')∧(o43184[17]* java.lang.Object(Tree(NULL, o43184[17]')))∧(i356[17]* i356[17]')∧(java.lang.Object(Tree(o41775[17], o41776[17])) →* java.lang.Object(Tree(o41775[17]', o41776[17]'))))


(17) -> (19), if ((o43184[17]* NULL)∧(i356[17]* i356[19])∧(java.lang.Object(Tree(o41775[17], o41776[17])) →* java.lang.Object(Tree(o41775[19], o41776[19])))∧(java.lang.Object(Tree(NULL, o41773[17])) →* o41773[19]))


(17) -> (25), if ((java.lang.Object(Tree(NULL, o41773[17])) →* o41773[25])∧(java.lang.Object(Tree(o41775[17], o41776[17])) →* java.lang.Object(Tree(NULL, o41776[25])))∧(i356[17]* i356[25])∧(o43184[17]* java.lang.Object(Tree(NULL, o41776[25]))))


(18) -> (7), if ((NULL* o41773[7])∧(i356[18]* i356[7])∧(java.lang.Object(Tree(java.lang.Object(Tree(o4323Field0[18], o4323Field1[18])), o4182[18])) →* java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7]))))


(18) -> (11), if ((java.lang.Object(Tree(java.lang.Object(Tree(o4323Field0[18], o4323Field1[18])), o4182[18])) →* java.lang.Object(Tree(java.lang.Object(Tree(o49860[11], o49861[11])), o43184[11])))∧(NULL* o41773[11])∧(i356[18]* i356[11])∧(java.lang.Object(Tree(java.lang.Object(Tree(o4323Field0[18], o4323Field1[18])), o4182[18])) →* java.lang.Object(Tree(o41775[11], o41776[11]))))


(18) -> (14), if ((NULL* o41773[14])∧(java.lang.Object(Tree(java.lang.Object(Tree(o4323Field0[18], o4323Field1[18])), o4182[18])) →* java.lang.Object(Tree(o41775[14], o41776[14])))∧(java.lang.Object(Tree(java.lang.Object(Tree(o4323Field0[18], o4323Field1[18])), o4182[18])) →* java.lang.Object(Tree(java.lang.Object(Tree(o47663[14], o47664[14])), o43184[14])))∧(i356[18]* i356[14]))


(18) -> (17), if ((i356[18]* i356[17])∧(java.lang.Object(Tree(java.lang.Object(Tree(o4323Field0[18], o4323Field1[18])), o4182[18])) →* java.lang.Object(Tree(NULL, o43184[17])))∧(NULL* o41773[17])∧(java.lang.Object(Tree(java.lang.Object(Tree(o4323Field0[18], o4323Field1[18])), o4182[18])) →* java.lang.Object(Tree(o41775[17], o41776[17]))))


(18) -> (19), if ((i356[18]* i356[19])∧(java.lang.Object(Tree(java.lang.Object(Tree(o4323Field0[18], o4323Field1[18])), o4182[18])) →* NULL)∧(java.lang.Object(Tree(java.lang.Object(Tree(o4323Field0[18], o4323Field1[18])), o4182[18])) →* java.lang.Object(Tree(o41775[19], o41776[19])))∧(NULL* o41773[19]))


(18) -> (25), if ((java.lang.Object(Tree(java.lang.Object(Tree(o4323Field0[18], o4323Field1[18])), o4182[18])) →* java.lang.Object(Tree(NULL, o41776[25])))∧(NULL* o41773[25])∧(i356[18]* i356[25]))


(19) -> (20), if ((o41773[19]* o41571[20])∧(i356[19]* i356[20])∧(java.lang.Object(Tree(o41775[19], o41776[19])) →* o41578[20]))


(20) -> (0), if ((o41571[20]* o3878[0])∧(i356[20]* i341[0])∧(o41578[20]* o3879[0]))


(21) -> (0), if ((i356[21]* i341[0])∧(o41571[21]* o3878[0])∧(o41578[21]* o3879[0]))


(22) -> (0), if ((i426[22]* i341[0])∧(o4175[22]* o3878[0])∧(o3956[22]* o3879[0]))


(23) -> (0), if ((o3956[23]* o3879[0])∧(i356[23] + 1* i341[0])∧(o4175[23]* o3878[0]))


(24) -> (15), if ((java.lang.Object(Tree(NULL, o41773[24])) →* java.lang.Object(Tree(NULL, o41773[15])))∧(o41776[24]* o43184[15])∧(java.lang.Object(Tree(NULL, o41776[24])) →* java.lang.Object(Tree(o41775[15], o41776[15])))∧(i356[24]* i356[15]))


(25) -> (15), if ((java.lang.Object(Tree(NULL, o41776[25])) →* java.lang.Object(Tree(o41775[15], o41776[15])))∧(java.lang.Object(Tree(NULL, o41773[25])) →* java.lang.Object(Tree(NULL, o41773[15])))∧(i356[25]* i356[15])∧(o41776[25]* o43184[15]))


(26) -> (22), if ((i356[26] + 1* i426[22])∧(o4182[26]* o4175[22])∧(java.lang.Object(Tree(NULL, o4182[26])) →* o3956[22]))



The set Q consists of the following terms:
Load4124(x0, x1, x2)
NULL4222(x0, x1, java.lang.Object(Tree(java.lang.Object(Tree(x2, x3)), x4)))
Store46056(x0, x1, java.lang.Object(Tree(java.lang.Object(Tree(x2, x3)), x4)), java.lang.Object(Tree(java.lang.Object(Tree(x5, x6)), x7)), x8, x5)
Load40400(x0, x1, java.lang.Object(Tree(java.lang.Object(Tree(x2, x3)), x4)), java.lang.Object(Tree(java.lang.Object(Tree(x5, x6)), x7)), x8)
Load40400(x0, x1, java.lang.Object(Tree(java.lang.Object(Tree(x2, x3)), x4)), java.lang.Object(Tree(NULL, x5)), x6)
FieldAccess40823(x0, java.lang.Object(Tree(x1, x2)), x3, java.lang.Object(Tree(java.lang.Object(Tree(x4, x5)), x6)))
Load40540(x0, java.lang.Object(Tree(x1, x2)), java.lang.Object(Tree(java.lang.Object(Tree(x3, x4)), x5)), x6)
Store46301(x0, java.lang.Object(Tree(x1, x2)), java.lang.Object(Tree(java.lang.Object(Tree(x3, x4)), x5)), x6, x3)
JMP52452(x0, java.lang.Object(Tree(x1, x2)), x3, java.lang.Object(Tree(NULL, x4)))
FieldAccess40823(x0, java.lang.Object(Tree(x1, x2)), x3, java.lang.Object(Tree(NULL, x4)))
Load40540(x0, java.lang.Object(Tree(x1, x2)), java.lang.Object(Tree(NULL, x3)), x4)
Load40540(x0, java.lang.Object(Tree(x1, x2)), NULL, x3)
JMP41221(x0, x1, x2)
Load40400(x0, x1, java.lang.Object(Tree(java.lang.Object(Tree(x2, x3)), x4)), NULL, x5)
JMP5284(x0, x1, x2)
NULL4222(x0, x1, java.lang.Object(Tree(NULL, x2)))

(12) ItpfGraphProof (EQUIVALENT transformation)

Applied rule ItpfICap [ICap]

(13) 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): LOAD4124(o3879[0], o3878[0], i341[0]) → NULL4222'(o3879[0], i341[0], o3878[0])
(1): NULL4222'(o3956[1], i356[1], java.lang.Object(Tree(java.lang.Object(Tree(o4301Field0[1], o4301Field1[1])), o4175[1]))) → LOAD40400(o3956[1], i356[1], java.lang.Object(Tree(java.lang.Object(Tree(o4301Field0[1], o4301Field1[1])), o4175[1])), java.lang.Object(Tree(java.lang.Object(Tree(o4301Field0[1], o4301Field1[1])), o4175[1])), NULL)
(2): STORE46056(o41578[2], i356[2], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[2], o41574Field1[2])), o41575[2])), java.lang.Object(Tree(java.lang.Object(Tree(o47312[2], o47313[2])), o43139[2])), o41571[2], o47312[2]) → LOAD40400(o41578[2], i356[2], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[2], o41574Field1[2])), o41575[2])), java.lang.Object(Tree(o47312[2], java.lang.Object(Tree(o47313[2], o43139[2])))), o41571[2])
(3): LOAD40400(o41578[3], i356[3], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[3], o41574Field1[3])), o41575[3])), java.lang.Object(Tree(java.lang.Object(Tree(o47312[3], o47313[3])), o43139[3])), o41571[3]) → LOAD40400(o41578[3], i356[3], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[3], o41574Field1[3])), o41575[3])), java.lang.Object(Tree(o47312[3], java.lang.Object(Tree(o47313[3], o43139[3])))), o41571[3])
(4): LOAD40400(o41578[4], i356[4], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[4], o41574Field1[4])), o41575[4])), java.lang.Object(Tree(NULL, o43139[4])), o41571[4]) → LOAD40400(o41578[4], i356[4], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[4], o41574Field1[4])), o41575[4])), o43139[4], java.lang.Object(Tree(NULL, o41571[4])))
(5): LOAD40400(o41578[5], i356[5], java.lang.Object(Tree(java.lang.Object(Tree(o43922[5], o43923[5])), o41575[5])), java.lang.Object(Tree(java.lang.Object(Tree(o43922[5], o43923[5])), o41575[5])), o41571[5]) → LOAD40400(o41578[5], i356[5], java.lang.Object(Tree(java.lang.Object(Tree(o43922[5], o43923[5])), o41575[5])), java.lang.Object(Tree(o43922[5], java.lang.Object(Tree(o43923[5], o41575[5])))), o41571[5])
(6): FIELDACCESS40823(i356[6], java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6])), o41773[6], java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6]))) → LOAD40400(java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6])), i356[6], java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6])), java.lang.Object(Tree(o45716[6], java.lang.Object(Tree(o45717[6], o41776[6])))), o41773[6])
(7): LOAD40540(i356[7], java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])), java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])), o41773[7]) → LOAD40400(java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])), i356[7], java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])), java.lang.Object(Tree(o45716[7], java.lang.Object(Tree(o45717[7], o41776[7])))), o41773[7])
(8): LOAD40400(o41578[8], i356[8], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[8], o41574Field1[8])), o41575[8])), java.lang.Object(Tree(java.lang.Object(Tree(o49252[8], o49253[8])), o43139[8])), o41571[8]) → STORE46056(o41578[8], i356[8], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[8], o41574Field1[8])), o41575[8])), java.lang.Object(Tree(java.lang.Object(Tree(o49252[8], o49253[8])), o43139[8])), o41571[8], o49252[8])
(9): LOAD40400(java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])), i356[9], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])), java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])), o41571[9]) → FIELDACCESS40823(i356[9], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])), o41571[9], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])))
(10): FIELDACCESS40823(i356[10], java.lang.Object(Tree(o41775[10], o41776[10])), o41773[10], java.lang.Object(Tree(java.lang.Object(Tree(o49860[10], o49861[10])), o43184[10]))) → STORE46301(i356[10], java.lang.Object(Tree(o41775[10], o41776[10])), java.lang.Object(Tree(java.lang.Object(Tree(o49860[10], o49861[10])), o43184[10])), o41773[10], o49860[10])
(11): LOAD40540(i356[11], java.lang.Object(Tree(o41775[11], o41776[11])), java.lang.Object(Tree(java.lang.Object(Tree(o49860[11], o49861[11])), o43184[11])), o41773[11]) → STORE46301(i356[11], java.lang.Object(Tree(o41775[11], o41776[11])), java.lang.Object(Tree(java.lang.Object(Tree(o49860[11], o49861[11])), o43184[11])), o41773[11], o49860[11])
(12): STORE46301(i356[12], java.lang.Object(Tree(o41775[12], o41776[12])), java.lang.Object(Tree(java.lang.Object(Tree(o47663[12], o47664[12])), o43184[12])), o41773[12], o47663[12]) → LOAD40540(i356[12], java.lang.Object(Tree(o41775[12], o41776[12])), java.lang.Object(Tree(o47663[12], java.lang.Object(Tree(o47664[12], o43184[12])))), o41773[12])
(13): FIELDACCESS40823(i356[13], java.lang.Object(Tree(o41775[13], o41776[13])), o41773[13], java.lang.Object(Tree(java.lang.Object(Tree(o47663[13], o47664[13])), o43184[13]))) → LOAD40540(i356[13], java.lang.Object(Tree(o41775[13], o41776[13])), java.lang.Object(Tree(o47663[13], java.lang.Object(Tree(o47664[13], o43184[13])))), o41773[13])
(14): LOAD40540(i356[14], java.lang.Object(Tree(o41775[14], o41776[14])), java.lang.Object(Tree(java.lang.Object(Tree(o47663[14], o47664[14])), o43184[14])), o41773[14]) → LOAD40540(i356[14], java.lang.Object(Tree(o41775[14], o41776[14])), java.lang.Object(Tree(o47663[14], java.lang.Object(Tree(o47664[14], o43184[14])))), o41773[14])
(15): JMP52452'(i356[15], java.lang.Object(Tree(o41775[15], o41776[15])), o43184[15], java.lang.Object(Tree(NULL, o41773[15]))) → LOAD40540(i356[15], java.lang.Object(Tree(o41775[15], o41776[15])), o43184[15], java.lang.Object(Tree(NULL, o41773[15])))
(16): FIELDACCESS40823(i356[16], java.lang.Object(Tree(o41775[16], o41776[16])), o41773[16], java.lang.Object(Tree(NULL, o43184[16]))) → LOAD40540(i356[16], java.lang.Object(Tree(o41775[16], o41776[16])), o43184[16], java.lang.Object(Tree(NULL, o41773[16])))
(17): LOAD40540(i356[17], java.lang.Object(Tree(o41775[17], o41776[17])), java.lang.Object(Tree(NULL, o43184[17])), o41773[17]) → LOAD40540(i356[17], java.lang.Object(Tree(o41775[17], o41776[17])), o43184[17], java.lang.Object(Tree(NULL, o41773[17])))
(18): NULL4222'(java.lang.Object(Tree(java.lang.Object(Tree(o4323Field0[18], o4323Field1[18])), o4182[18])), i356[18], java.lang.Object(Tree(java.lang.Object(Tree(o4323Field0[18], o4323Field1[18])), o4182[18]))) → LOAD40540(i356[18], java.lang.Object(Tree(java.lang.Object(Tree(o4323Field0[18], o4323Field1[18])), o4182[18])), java.lang.Object(Tree(java.lang.Object(Tree(o4323Field0[18], o4323Field1[18])), o4182[18])), NULL)
(19): LOAD40540(i356[19], java.lang.Object(Tree(o41775[19], o41776[19])), NULL, o41773[19]) → JMP41221'(java.lang.Object(Tree(o41775[19], o41776[19])), o41773[19], i356[19])
(20): JMP41221'(o41578[20], o41571[20], i356[20]) → LOAD4124(o41578[20], o41571[20], i356[20])
(21): LOAD40400(o41578[21], i356[21], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[21], o41574Field1[21])), o41575[21])), NULL, o41571[21]) → LOAD4124(o41578[21], o41571[21], i356[21])
(22): JMP5284'(o3956[22], o4175[22], i426[22]) → LOAD4124(o3956[22], o4175[22], i426[22])
(23): NULL4222'(o3956[23], i356[23], java.lang.Object(Tree(NULL, o4175[23]))) → LOAD4124(o3956[23], o4175[23], i356[23] + 1)
(24): FIELDACCESS40823(i356[24], java.lang.Object(Tree(NULL, o41776[24])), o41773[24], java.lang.Object(Tree(NULL, o41776[24]))) → JMP52452'(i356[24], java.lang.Object(Tree(NULL, o41776[24])), o41776[24], java.lang.Object(Tree(NULL, o41773[24])))
(25): LOAD40540(i356[25], java.lang.Object(Tree(NULL, o41776[25])), java.lang.Object(Tree(NULL, o41776[25])), o41773[25]) → JMP52452'(i356[25], java.lang.Object(Tree(NULL, o41776[25])), o41776[25], java.lang.Object(Tree(NULL, o41773[25])))
(26): NULL4222'(java.lang.Object(Tree(NULL, o4182[26])), i356[26], java.lang.Object(Tree(NULL, o4182[26]))) → JMP5284'(java.lang.Object(Tree(NULL, o4182[26])), o4182[26], i356[26] + 1)

(0) -> (1), if ((o3878[0]* java.lang.Object(Tree(java.lang.Object(Tree(o4301Field0[1], o4301Field1[1])), o4175[1])))∧(o3879[0]* o3956[1])∧(i341[0]* i356[1]))


(0) -> (18), if ((o3879[0]* java.lang.Object(Tree(java.lang.Object(Tree(o4323Field0[18], o4323Field1[18])), o4182[18])))∧(i341[0]* i356[18])∧(o3878[0]* java.lang.Object(Tree(java.lang.Object(Tree(o4323Field0[18], o4323Field1[18])), o4182[18]))))


(0) -> (23), if ((o3878[0]* java.lang.Object(Tree(NULL, o4175[23])))∧(i341[0]* i356[23])∧(o3879[0]* o3956[23]))


(0) -> (26), if ((i341[0]* i356[26])∧(o3878[0]* java.lang.Object(Tree(NULL, o4182[26])))∧(o3879[0]* java.lang.Object(Tree(NULL, o4182[26]))))


(19) -> (20), if ((o41773[19]* o41571[20])∧(i356[19]* i356[20])∧(java.lang.Object(Tree(o41775[19], o41776[19])) →* o41578[20]))


(20) -> (0), if ((o41571[20]* o3878[0])∧(i356[20]* i341[0])∧(o41578[20]* o3879[0]))


(21) -> (0), if ((i356[21]* i341[0])∧(o41571[21]* o3878[0])∧(o41578[21]* o3879[0]))


(22) -> (0), if ((i426[22]* i341[0])∧(o4175[22]* o3878[0])∧(o3956[22]* o3879[0]))


(23) -> (0), if ((o3956[23]* o3879[0])∧(i356[23] + 1* i341[0])∧(o4175[23]* o3878[0]))


(26) -> (22), if ((i356[26] + 1* i426[22])∧(o4182[26]* o4175[22])∧(java.lang.Object(Tree(NULL, o4182[26])) →* o3956[22]))


(1) -> (3), if ((NULL* o41571[3])∧((o4301Field0[1]* o41574Field0[3])∧(o4301Field1[1]* o41574Field1[3])∧(o4175[1]* o41575[3]))∧(i356[1]* i356[3])∧((o4301Field0[1]* o47312[3])∧(o4301Field1[1]* o47313[3])∧(o4175[1]* o43139[3]))∧(o3956[1]* o41578[3]))


(1) -> (4), if ((o3956[1]* o41578[4])∧(i356[1]* i356[4])∧false∧(NULL* o41571[4])∧((o4301Field0[1]* o41574Field0[4])∧(o4301Field1[1]* o41574Field1[4])∧(o4175[1]* o41575[4])))


(1) -> (5), if ((NULL* o41571[5])∧(i356[1]* i356[5])∧((o4301Field0[1]* o43922[5])∧(o4301Field1[1]* o43923[5])∧(o4175[1]* o41575[5]))∧(o3956[1]* o41578[5]))


(1) -> (8), if (((o4301Field0[1]* o49252[8])∧(o4301Field1[1]* o49253[8])∧(o4175[1]* o43139[8]))∧((o4301Field0[1]* o41574Field0[8])∧(o4301Field1[1]* o41574Field1[8])∧(o4175[1]* o41575[8]))∧(o3956[1]* o41578[8])∧(i356[1]* i356[8])∧(NULL* o41571[8]))


(1) -> (9), if ((i356[1]* i356[9])∧((o4301Field0[1]* o41574Field0[9])∧(o4301Field1[1]* o41574Field1[9])∧(o4175[1]* o41575[9]))∧(o3956[1]* java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])))∧(NULL* o41571[9]))


(1) -> (21), if ((o3956[1]* o41578[21])∧(NULL* o41571[21])∧((o4301Field0[1]* o41574Field0[21])∧(o4301Field1[1]* o41574Field1[21])∧(o4175[1]* o41575[21]))∧false∧(i356[1]* i356[21]))


(2) -> (3), if ((i356[2]* i356[3])∧(o41571[2]* o41571[3])∧((o41574Field0[2]* o41574Field0[3])∧(o41574Field1[2]* o41574Field1[3])∧(o41575[2]* o41575[3]))∧(o41578[2]* o41578[3])∧((o47312[2]* java.lang.Object(Tree(o47312[3], o47313[3])))))


(2) -> (4), if (((o41574Field0[2]* o41574Field0[4])∧(o41574Field1[2]* o41574Field1[4])∧(o41575[2]* o41575[4]))∧(o41571[2]* o41571[4])∧((o47312[2]* NULL))∧(i356[2]* i356[4])∧(o41578[2]* o41578[4]))


(2) -> (5), if ((o41571[2]* o41571[5])∧((o41574Field0[2]* o43922[5])∧(o41574Field1[2]* o43923[5])∧(o41575[2]* o41575[5]))∧((o47312[2]* java.lang.Object(Tree(o43922[5], o43923[5]))))∧(o41578[2]* o41578[5])∧(i356[2]* i356[5]))


(2) -> (8), if (((o47312[2]* java.lang.Object(Tree(o49252[8], o49253[8]))))∧((o41574Field0[2]* o41574Field0[8])∧(o41574Field1[2]* o41574Field1[8])∧(o41575[2]* o41575[8]))∧(o41578[2]* o41578[8])∧(o41571[2]* o41571[8])∧(i356[2]* i356[8]))


(2) -> (9), if ((i356[2]* i356[9])∧(o41571[2]* o41571[9])∧(o41578[2]* java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])))∧((o41574Field0[2]* o41574Field0[9])∧(o41574Field1[2]* o41574Field1[9])∧(o41575[2]* o41575[9]))∧((o47312[2]* java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])))))


(2) -> (21), if ((o41578[2]* o41578[21])∧(o41571[2]* o41571[21])∧((o41574Field0[2]* o41574Field0[21])∧(o41574Field1[2]* o41574Field1[21])∧(o41575[2]* o41575[21]))∧false∧(i356[2]* i356[21]))


(3) -> (3), if ((o41571[3]* o41571[3]')∧((o47312[3]* java.lang.Object(Tree(o47312[3]', o47313[3]'))))∧(o41578[3]* o41578[3]')∧((o41574Field0[3]* o41574Field0[3]')∧(o41574Field1[3]* o41574Field1[3]')∧(o41575[3]* o41575[3]'))∧(i356[3]* i356[3]'))


(3) -> (4), if ((o41578[3]* o41578[4])∧((o41574Field0[3]* o41574Field0[4])∧(o41574Field1[3]* o41574Field1[4])∧(o41575[3]* o41575[4]))∧(i356[3]* i356[4])∧((o47312[3]* NULL))∧(o41571[3]* o41571[4]))


(3) -> (5), if ((o41571[3]* o41571[5])∧((o41574Field0[3]* o43922[5])∧(o41574Field1[3]* o43923[5])∧(o41575[3]* o41575[5]))∧(i356[3]* i356[5])∧((o47312[3]* java.lang.Object(Tree(o43922[5], o43923[5]))))∧(o41578[3]* o41578[5]))


(3) -> (8), if (((o47312[3]* java.lang.Object(Tree(o49252[8], o49253[8]))))∧((o41574Field0[3]* o41574Field0[8])∧(o41574Field1[3]* o41574Field1[8])∧(o41575[3]* o41575[8]))∧(o41578[3]* o41578[8])∧(i356[3]* i356[8])∧(o41571[3]* o41571[8]))


(3) -> (9), if ((o41571[3]* o41571[9])∧((o41574Field0[3]* o41574Field0[9])∧(o41574Field1[3]* o41574Field1[9])∧(o41575[3]* o41575[9]))∧(o41578[3]* java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])))∧(i356[3]* i356[9])∧((o47312[3]* java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])))))


(3) -> (21), if ((o41571[3]* o41571[21])∧false∧((o41574Field0[3]* o41574Field0[21])∧(o41574Field1[3]* o41574Field1[21])∧(o41575[3]* o41575[21]))∧(o41578[3]* o41578[21])∧(i356[3]* i356[21]))


(4) -> (3), if (((o41574Field0[4]* o41574Field0[3])∧(o41574Field1[4]* o41574Field1[3])∧(o41575[4]* o41575[3]))∧(i356[4]* i356[3])∧(o43139[4]* java.lang.Object(Tree(java.lang.Object(Tree(o47312[3], o47313[3])), o43139[3])))∧(java.lang.Object(Tree(NULL, o41571[4])) →* o41571[3])∧(o41578[4]* o41578[3]))


(4) -> (4), if ((o43139[4]* java.lang.Object(Tree(NULL, o43139[4]')))∧(java.lang.Object(Tree(NULL, o41571[4])) →* o41571[4]')∧(o41578[4]* o41578[4]')∧((o41574Field0[4]* o41574Field0[4]')∧(o41574Field1[4]* o41574Field1[4]')∧(o41575[4]* o41575[4]'))∧(i356[4]* i356[4]'))


(4) -> (5), if ((i356[4]* i356[5])∧(o43139[4]* java.lang.Object(Tree(java.lang.Object(Tree(o43922[5], o43923[5])), o41575[5])))∧(java.lang.Object(Tree(NULL, o41571[4])) →* o41571[5])∧((o41574Field0[4]* o43922[5])∧(o41574Field1[4]* o43923[5])∧(o41575[4]* o41575[5]))∧(o41578[4]* o41578[5]))


(4) -> (8), if ((i356[4]* i356[8])∧(o41578[4]* o41578[8])∧((o41574Field0[4]* o41574Field0[8])∧(o41574Field1[4]* o41574Field1[8])∧(o41575[4]* o41575[8]))∧(o43139[4]* java.lang.Object(Tree(java.lang.Object(Tree(o49252[8], o49253[8])), o43139[8])))∧(java.lang.Object(Tree(NULL, o41571[4])) →* o41571[8]))


(4) -> (9), if (((o41574Field0[4]* o41574Field0[9])∧(o41574Field1[4]* o41574Field1[9])∧(o41575[4]* o41575[9]))∧(o41578[4]* java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])))∧(o43139[4]* java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])))∧(java.lang.Object(Tree(NULL, o41571[4])) →* o41571[9])∧(i356[4]* i356[9]))


(4) -> (21), if ((o43139[4]* NULL)∧((o41574Field0[4]* o41574Field0[21])∧(o41574Field1[4]* o41574Field1[21])∧(o41575[4]* o41575[21]))∧(java.lang.Object(Tree(NULL, o41571[4])) →* o41571[21])∧(i356[4]* i356[21])∧(o41578[4]* o41578[21]))


(5) -> (3), if (((o43922[5]* java.lang.Object(Tree(o47312[3], o47313[3]))))∧(o41571[5]* o41571[3])∧(i356[5]* i356[3])∧(o41578[5]* o41578[3])∧((o43922[5]* o41574Field0[3])∧(o43923[5]* o41574Field1[3])∧(o41575[5]* o41575[3])))


(5) -> (4), if ((o41571[5]* o41571[4])∧((o43922[5]* NULL))∧(o41578[5]* o41578[4])∧((o43922[5]* o41574Field0[4])∧(o43923[5]* o41574Field1[4])∧(o41575[5]* o41575[4]))∧(i356[5]* i356[4]))


(5) -> (5), if (((o43922[5]* java.lang.Object(Tree(o43922[5]', o43923[5]'))))∧(o41578[5]* o41578[5]')∧(i356[5]* i356[5]')∧(o41571[5]* o41571[5]')∧((o43922[5]* o43922[5]')∧(o43923[5]* o43923[5]')∧(o41575[5]* o41575[5]')))


(5) -> (8), if (((o43922[5]* o41574Field0[8])∧(o43923[5]* o41574Field1[8])∧(o41575[5]* o41575[8]))∧(i356[5]* i356[8])∧(o41578[5]* o41578[8])∧(o41571[5]* o41571[8])∧((o43922[5]* java.lang.Object(Tree(o49252[8], o49253[8])))))


(5) -> (9), if ((o41578[5]* java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])))∧((o43922[5]* java.lang.Object(Tree(o41574Field0[9], o41574Field1[9]))))∧((o43922[5]* o41574Field0[9])∧(o43923[5]* o41574Field1[9])∧(o41575[5]* o41575[9]))∧(i356[5]* i356[9])∧(o41571[5]* o41571[9]))


(5) -> (21), if ((o41571[5]* o41571[21])∧(o41578[5]* o41578[21])∧((o43922[5]* o41574Field0[21])∧(o43923[5]* o41574Field1[21])∧(o41575[5]* o41575[21]))∧false∧(i356[5]* i356[21]))


(6) -> (3), if (((o45716[6]* java.lang.Object(Tree(o47312[3], o47313[3]))))∧(o41773[6]* o41571[3])∧(i356[6]* i356[3])∧((o45716[6]* o41574Field0[3])∧(o45717[6]* o41574Field1[3])∧(o41776[6]* o41575[3]))∧(java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6])) →* o41578[3]))


(6) -> (4), if (((o45716[6]* NULL))∧(o41773[6]* o41571[4])∧(i356[6]* i356[4])∧((o45716[6]* o41574Field0[4])∧(o45717[6]* o41574Field1[4])∧(o41776[6]* o41575[4]))∧(java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6])) →* o41578[4]))


(6) -> (5), if ((java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6])) →* o41578[5])∧((o45716[6]* java.lang.Object(Tree(o43922[5], o43923[5]))))∧(o41773[6]* o41571[5])∧(i356[6]* i356[5])∧((o45716[6]* o43922[5])∧(o45717[6]* o43923[5])∧(o41776[6]* o41575[5])))


(6) -> (8), if ((i356[6]* i356[8])∧((o45716[6]* o41574Field0[8])∧(o45717[6]* o41574Field1[8])∧(o41776[6]* o41575[8]))∧(o41773[6]* o41571[8])∧((o45716[6]* java.lang.Object(Tree(o49252[8], o49253[8]))))∧(java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6])) →* o41578[8]))


(6) -> (9), if (((o45716[6]* o41574Field0[9])∧(o45717[6]* o41574Field1[9])∧(o41776[6]* o41575[9]))∧(i356[6]* i356[9])∧(o41773[6]* o41571[9])∧((o45716[6]* java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])))))


(6) -> (21), if ((o41773[6]* o41571[21])∧false∧(java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6])) →* o41578[21])∧(i356[6]* i356[21])∧((o45716[6]* o41574Field0[21])∧(o45717[6]* o41574Field1[21])∧(o41776[6]* o41575[21])))


(7) -> (3), if ((o41773[7]* o41571[3])∧((o45716[7]* o41574Field0[3])∧(o45717[7]* o41574Field1[3])∧(o41776[7]* o41575[3]))∧(i356[7]* i356[3])∧((o45716[7]* java.lang.Object(Tree(o47312[3], o47313[3]))))∧(java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])) →* o41578[3]))


(7) -> (4), if ((o41773[7]* o41571[4])∧(i356[7]* i356[4])∧((o45716[7]* NULL))∧((o45716[7]* o41574Field0[4])∧(o45717[7]* o41574Field1[4])∧(o41776[7]* o41575[4]))∧(java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])) →* o41578[4]))


(7) -> (5), if ((o41773[7]* o41571[5])∧((o45716[7]* java.lang.Object(Tree(o43922[5], o43923[5]))))∧((o45716[7]* o43922[5])∧(o45717[7]* o43923[5])∧(o41776[7]* o41575[5]))∧(i356[7]* i356[5])∧(java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])) →* o41578[5]))


(7) -> (8), if ((java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])) →* o41578[8])∧((o45716[7]* o41574Field0[8])∧(o45717[7]* o41574Field1[8])∧(o41776[7]* o41575[8]))∧((o45716[7]* java.lang.Object(Tree(o49252[8], o49253[8]))))∧(o41773[7]* o41571[8])∧(i356[7]* i356[8]))


(7) -> (9), if (((o45716[7]* java.lang.Object(Tree(o41574Field0[9], o41574Field1[9]))))∧(o41773[7]* o41571[9])∧(i356[7]* i356[9])∧((o45716[7]* o41574Field0[9])∧(o45717[7]* o41574Field1[9])∧(o41776[7]* o41575[9])))


(7) -> (21), if ((java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])) →* o41578[21])∧((o45716[7]* o41574Field0[21])∧(o45717[7]* o41574Field1[21])∧(o41776[7]* o41575[21]))∧(o41773[7]* o41571[21])∧(i356[7]* i356[21])∧false)


(8) -> (2), if ((o41571[8]* o41571[2])∧((o41574Field0[8]* o41574Field0[2])∧(o41574Field1[8]* o41574Field1[2])∧(o41575[8]* o41575[2]))∧(o49252[8]* o47312[2])∧(o41578[8]* o41578[2])∧((o49252[8]* o47312[2])∧(o49253[8]* o47313[2])∧(o43139[8]* o43139[2]))∧(i356[8]* i356[2]))


(9) -> (6), if (((o41574Field0[9]* o45716[6])∧(o41574Field1[9]* o45717[6])∧(o41575[9]* o41776[6]))∧(o41571[9]* o41773[6])∧(i356[9]* i356[6]))


(9) -> (10), if (((java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])) →* o41775[10])∧(o41575[9]* o41776[10]))∧(o41571[9]* o41773[10])∧(i356[9]* i356[10])∧((o41574Field0[9]* o49860[10])∧(o41574Field1[9]* o49861[10])∧(o41575[9]* o43184[10])))


(9) -> (13), if (((o41574Field0[9]* o47663[13])∧(o41574Field1[9]* o47664[13])∧(o41575[9]* o43184[13]))∧(i356[9]* i356[13])∧(o41571[9]* o41773[13])∧((java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])) →* o41775[13])∧(o41575[9]* o41776[13])))


(9) -> (16), if (((java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])) →* o41775[16])∧(o41575[9]* o41776[16]))∧false∧(i356[9]* i356[16])∧(o41571[9]* o41773[16]))


(9) -> (24), if ((o41571[9]* o41773[24])∧(i356[9]* i356[24])∧false)


(10) -> (12), if ((o41773[10]* o41773[12])∧(o49860[10]* o47663[12])∧((o41775[10]* o41775[12])∧(o41776[10]* o41776[12]))∧((o49860[10]* o47663[12])∧(o49861[10]* o47664[12])∧(o43184[10]* o43184[12]))∧(i356[10]* i356[12]))


(11) -> (12), if (((o49860[11]* o47663[12])∧(o49861[11]* o47664[12])∧(o43184[11]* o43184[12]))∧(o49860[11]* o47663[12])∧((o41775[11]* o41775[12])∧(o41776[11]* o41776[12]))∧(o41773[11]* o41773[12])∧(i356[11]* i356[12]))


(12) -> (7), if ((i356[12]* i356[7])∧((o41775[12]* java.lang.Object(Tree(o45716[7], o45717[7])))∧(o41776[12]* o41776[7]))∧((o47663[12]* java.lang.Object(Tree(o45716[7], o45717[7]))))∧(o41773[12]* o41773[7]))


(12) -> (11), if (((o41775[12]* o41775[11])∧(o41776[12]* o41776[11]))∧(i356[12]* i356[11])∧(o41773[12]* o41773[11])∧((o47663[12]* java.lang.Object(Tree(o49860[11], o49861[11])))))


(12) -> (14), if (((o41775[12]* o41775[14])∧(o41776[12]* o41776[14]))∧((o47663[12]* java.lang.Object(Tree(o47663[14], o47664[14]))))∧(o41773[12]* o41773[14])∧(i356[12]* i356[14]))


(12) -> (17), if (((o41775[12]* o41775[17])∧(o41776[12]* o41776[17]))∧(o41773[12]* o41773[17])∧((o47663[12]* NULL))∧(i356[12]* i356[17]))


(12) -> (19), if (false∧((o41775[12]* o41775[19])∧(o41776[12]* o41776[19]))∧(o41773[12]* o41773[19])∧(i356[12]* i356[19]))


(12) -> (25), if ((i356[12]* i356[25])∧(o41773[12]* o41773[25])∧((o47663[12]* NULL))∧((o41775[12]* NULL)∧(o41776[12]* o41776[25])))


(13) -> (7), if ((i356[13]* i356[7])∧((o47663[13]* java.lang.Object(Tree(o45716[7], o45717[7]))))∧((o41775[13]* java.lang.Object(Tree(o45716[7], o45717[7])))∧(o41776[13]* o41776[7]))∧(o41773[13]* o41773[7]))


(13) -> (11), if ((o41773[13]* o41773[11])∧(i356[13]* i356[11])∧((o47663[13]* java.lang.Object(Tree(o49860[11], o49861[11]))))∧((o41775[13]* o41775[11])∧(o41776[13]* o41776[11])))


(13) -> (14), if (((o41775[13]* o41775[14])∧(o41776[13]* o41776[14]))∧(o41773[13]* o41773[14])∧(i356[13]* i356[14])∧((o47663[13]* java.lang.Object(Tree(o47663[14], o47664[14])))))


(13) -> (17), if (((o47663[13]* NULL))∧(i356[13]* i356[17])∧(o41773[13]* o41773[17])∧((o41775[13]* o41775[17])∧(o41776[13]* o41776[17])))


(13) -> (19), if (((o41775[13]* o41775[19])∧(o41776[13]* o41776[19]))∧(i356[13]* i356[19])∧false∧(o41773[13]* o41773[19]))


(13) -> (25), if (((o47663[13]* NULL))∧((o41775[13]* NULL)∧(o41776[13]* o41776[25]))∧(o41773[13]* o41773[25])∧(i356[13]* i356[25]))


(14) -> (7), if (((o47663[14]* java.lang.Object(Tree(o45716[7], o45717[7]))))∧(i356[14]* i356[7])∧(o41773[14]* o41773[7])∧((o41775[14]* java.lang.Object(Tree(o45716[7], o45717[7])))∧(o41776[14]* o41776[7])))


(14) -> (11), if ((i356[14]* i356[11])∧((o47663[14]* java.lang.Object(Tree(o49860[11], o49861[11]))))∧(o41773[14]* o41773[11])∧((o41775[14]* o41775[11])∧(o41776[14]* o41776[11])))


(14) -> (14), if (((o47663[14]* java.lang.Object(Tree(o47663[14]', o47664[14]'))))∧(i356[14]* i356[14]')∧(o41773[14]* o41773[14]')∧((o41775[14]* o41775[14]')∧(o41776[14]* o41776[14]')))


(14) -> (17), if ((o41773[14]* o41773[17])∧(i356[14]* i356[17])∧((o47663[14]* NULL))∧((o41775[14]* o41775[17])∧(o41776[14]* o41776[17])))


(14) -> (19), if (false∧((o41775[14]* o41775[19])∧(o41776[14]* o41776[19]))∧(o41773[14]* o41773[19])∧(i356[14]* i356[19]))


(14) -> (25), if (((o47663[14]* NULL))∧(o41773[14]* o41773[25])∧(i356[14]* i356[25])∧((o41775[14]* NULL)∧(o41776[14]* o41776[25])))


(15) -> (7), if ((o43184[15]* java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])))∧(java.lang.Object(Tree(NULL, o41773[15])) →* o41773[7])∧((o41775[15]* java.lang.Object(Tree(o45716[7], o45717[7])))∧(o41776[15]* o41776[7]))∧(i356[15]* i356[7]))


(15) -> (11), if ((o43184[15]* java.lang.Object(Tree(java.lang.Object(Tree(o49860[11], o49861[11])), o43184[11])))∧(java.lang.Object(Tree(NULL, o41773[15])) →* o41773[11])∧((o41775[15]* o41775[11])∧(o41776[15]* o41776[11]))∧(i356[15]* i356[11]))


(15) -> (14), if ((o43184[15]* java.lang.Object(Tree(java.lang.Object(Tree(o47663[14], o47664[14])), o43184[14])))∧(java.lang.Object(Tree(NULL, o41773[15])) →* o41773[14])∧((o41775[15]* o41775[14])∧(o41776[15]* o41776[14]))∧(i356[15]* i356[14]))


(15) -> (17), if ((o43184[15]* java.lang.Object(Tree(NULL, o43184[17])))∧((o41775[15]* o41775[17])∧(o41776[15]* o41776[17]))∧(java.lang.Object(Tree(NULL, o41773[15])) →* o41773[17])∧(i356[15]* i356[17]))


(15) -> (19), if (((o41775[15]* o41775[19])∧(o41776[15]* o41776[19]))∧(java.lang.Object(Tree(NULL, o41773[15])) →* o41773[19])∧(o43184[15]* NULL)∧(i356[15]* i356[19]))


(15) -> (25), if ((o43184[15]* java.lang.Object(Tree(NULL, o41776[25])))∧(i356[15]* i356[25])∧((o41775[15]* NULL)∧(o41776[15]* o41776[25]))∧(java.lang.Object(Tree(NULL, o41773[15])) →* o41773[25]))


(16) -> (7), if ((i356[16]* i356[7])∧(o43184[16]* java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])))∧(java.lang.Object(Tree(NULL, o41773[16])) →* o41773[7])∧((o41775[16]* java.lang.Object(Tree(o45716[7], o45717[7])))∧(o41776[16]* o41776[7])))


(16) -> (11), if ((java.lang.Object(Tree(NULL, o41773[16])) →* o41773[11])∧((o41775[16]* o41775[11])∧(o41776[16]* o41776[11]))∧(o43184[16]* java.lang.Object(Tree(java.lang.Object(Tree(o49860[11], o49861[11])), o43184[11])))∧(i356[16]* i356[11]))


(16) -> (14), if (((o41775[16]* o41775[14])∧(o41776[16]* o41776[14]))∧(i356[16]* i356[14])∧(o43184[16]* java.lang.Object(Tree(java.lang.Object(Tree(o47663[14], o47664[14])), o43184[14])))∧(java.lang.Object(Tree(NULL, o41773[16])) →* o41773[14]))


(16) -> (17), if (((o41775[16]* o41775[17])∧(o41776[16]* o41776[17]))∧(java.lang.Object(Tree(NULL, o41773[16])) →* o41773[17])∧(i356[16]* i356[17])∧(o43184[16]* java.lang.Object(Tree(NULL, o43184[17]))))


(16) -> (19), if ((i356[16]* i356[19])∧((o41775[16]* o41775[19])∧(o41776[16]* o41776[19]))∧(java.lang.Object(Tree(NULL, o41773[16])) →* o41773[19])∧(o43184[16]* NULL))


(16) -> (25), if ((java.lang.Object(Tree(NULL, o41773[16])) →* o41773[25])∧((o41775[16]* NULL)∧(o41776[16]* o41776[25]))∧(o43184[16]* java.lang.Object(Tree(NULL, o41776[25])))∧(i356[16]* i356[25]))


(17) -> (7), if ((o43184[17]* java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])))∧(i356[17]* i356[7])∧((o41775[17]* java.lang.Object(Tree(o45716[7], o45717[7])))∧(o41776[17]* o41776[7]))∧(java.lang.Object(Tree(NULL, o41773[17])) →* o41773[7]))


(17) -> (11), if ((o43184[17]* java.lang.Object(Tree(java.lang.Object(Tree(o49860[11], o49861[11])), o43184[11])))∧(java.lang.Object(Tree(NULL, o41773[17])) →* o41773[11])∧(i356[17]* i356[11])∧((o41775[17]* o41775[11])∧(o41776[17]* o41776[11])))


(17) -> (14), if (((o41775[17]* o41775[14])∧(o41776[17]* o41776[14]))∧(o43184[17]* java.lang.Object(Tree(java.lang.Object(Tree(o47663[14], o47664[14])), o43184[14])))∧(i356[17]* i356[14])∧(java.lang.Object(Tree(NULL, o41773[17])) →* o41773[14]))


(17) -> (17), if ((java.lang.Object(Tree(NULL, o41773[17])) →* o41773[17]')∧(o43184[17]* java.lang.Object(Tree(NULL, o43184[17]')))∧(i356[17]* i356[17]')∧((o41775[17]* o41775[17]')∧(o41776[17]* o41776[17]')))


(17) -> (19), if ((o43184[17]* NULL)∧(i356[17]* i356[19])∧((o41775[17]* o41775[19])∧(o41776[17]* o41776[19]))∧(java.lang.Object(Tree(NULL, o41773[17])) →* o41773[19]))


(17) -> (25), if ((java.lang.Object(Tree(NULL, o41773[17])) →* o41773[25])∧((o41775[17]* NULL)∧(o41776[17]* o41776[25]))∧(i356[17]* i356[25])∧(o43184[17]* java.lang.Object(Tree(NULL, o41776[25]))))


(18) -> (7), if ((NULL* o41773[7])∧(i356[18]* i356[7])∧((o4323Field0[18]* o45716[7])∧(o4323Field1[18]* o45717[7])∧(o4182[18]* o41776[7])))


(18) -> (11), if (((o4323Field0[18]* o49860[11])∧(o4323Field1[18]* o49861[11])∧(o4182[18]* o43184[11]))∧(NULL* o41773[11])∧(i356[18]* i356[11])∧((java.lang.Object(Tree(o4323Field0[18], o4323Field1[18])) →* o41775[11])∧(o4182[18]* o41776[11])))


(18) -> (14), if ((NULL* o41773[14])∧((java.lang.Object(Tree(o4323Field0[18], o4323Field1[18])) →* o41775[14])∧(o4182[18]* o41776[14]))∧((o4323Field0[18]* o47663[14])∧(o4323Field1[18]* o47664[14])∧(o4182[18]* o43184[14]))∧(i356[18]* i356[14]))


(18) -> (17), if ((i356[18]* i356[17])∧false∧(NULL* o41773[17])∧((java.lang.Object(Tree(o4323Field0[18], o4323Field1[18])) →* o41775[17])∧(o4182[18]* o41776[17])))


(18) -> (19), if ((i356[18]* i356[19])∧false∧((java.lang.Object(Tree(o4323Field0[18], o4323Field1[18])) →* o41775[19])∧(o4182[18]* o41776[19]))∧(NULL* o41773[19]))


(18) -> (25), if (false∧(NULL* o41773[25])∧(i356[18]* i356[25]))


(24) -> (15), if (((o41773[24]* o41773[15]))∧(o41776[24]* o43184[15])∧((o41776[24]* o41776[15]))∧(i356[24]* i356[15]))


(25) -> (15), if (((o41776[25]* o41776[15]))∧((o41773[25]* o41773[15]))∧(i356[25]* i356[15])∧(o41776[25]* o43184[15]))



The set Q consists of the following terms:
Load4124(x0, x1, x2)
NULL4222(x0, x1, java.lang.Object(Tree(java.lang.Object(Tree(x2, x3)), x4)))
Store46056(x0, x1, java.lang.Object(Tree(java.lang.Object(Tree(x2, x3)), x4)), java.lang.Object(Tree(java.lang.Object(Tree(x5, x6)), x7)), x8, x5)
Load40400(x0, x1, java.lang.Object(Tree(java.lang.Object(Tree(x2, x3)), x4)), java.lang.Object(Tree(java.lang.Object(Tree(x5, x6)), x7)), x8)
Load40400(x0, x1, java.lang.Object(Tree(java.lang.Object(Tree(x2, x3)), x4)), java.lang.Object(Tree(NULL, x5)), x6)
FieldAccess40823(x0, java.lang.Object(Tree(x1, x2)), x3, java.lang.Object(Tree(java.lang.Object(Tree(x4, x5)), x6)))
Load40540(x0, java.lang.Object(Tree(x1, x2)), java.lang.Object(Tree(java.lang.Object(Tree(x3, x4)), x5)), x6)
Store46301(x0, java.lang.Object(Tree(x1, x2)), java.lang.Object(Tree(java.lang.Object(Tree(x3, x4)), x5)), x6, x3)
JMP52452(x0, java.lang.Object(Tree(x1, x2)), x3, java.lang.Object(Tree(NULL, x4)))
FieldAccess40823(x0, java.lang.Object(Tree(x1, x2)), x3, java.lang.Object(Tree(NULL, x4)))
Load40540(x0, java.lang.Object(Tree(x1, x2)), java.lang.Object(Tree(NULL, x3)), x4)
Load40540(x0, java.lang.Object(Tree(x1, x2)), NULL, x3)
JMP41221(x0, x1, x2)
Load40400(x0, x1, java.lang.Object(Tree(java.lang.Object(Tree(x2, x3)), x4)), NULL, x5)
JMP5284(x0, x1, x2)
NULL4222(x0, x1, java.lang.Object(Tree(NULL, x2)))

(14) IDPtoQDPProof (SOUND transformation)

Represented integers and predefined function symbols by Terms

(15) Obligation:

Q DP problem:
The TRS P consists of the following rules:

LOAD4124(o3879[0], o3878[0], i341[0]) → NULL4222'(o3879[0], i341[0], o3878[0])
NULL4222'(o3956[1], i356[1], java.lang.Object(Tree(java.lang.Object(Tree(o4301Field0[1], o4301Field1[1])), o4175[1]))) → LOAD40400(o3956[1], i356[1], java.lang.Object(Tree(java.lang.Object(Tree(o4301Field0[1], o4301Field1[1])), o4175[1])), java.lang.Object(Tree(java.lang.Object(Tree(o4301Field0[1], o4301Field1[1])), o4175[1])), NULL)
STORE46056(o41578[2], i356[2], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[2], o41574Field1[2])), o41575[2])), java.lang.Object(Tree(java.lang.Object(Tree(o47312[2], o47313[2])), o43139[2])), o41571[2], o47312[2]) → LOAD40400(o41578[2], i356[2], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[2], o41574Field1[2])), o41575[2])), java.lang.Object(Tree(o47312[2], java.lang.Object(Tree(o47313[2], o43139[2])))), o41571[2])
LOAD40400(o41578[3], i356[3], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[3], o41574Field1[3])), o41575[3])), java.lang.Object(Tree(java.lang.Object(Tree(o47312[3], o47313[3])), o43139[3])), o41571[3]) → LOAD40400(o41578[3], i356[3], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[3], o41574Field1[3])), o41575[3])), java.lang.Object(Tree(o47312[3], java.lang.Object(Tree(o47313[3], o43139[3])))), o41571[3])
LOAD40400(o41578[4], i356[4], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[4], o41574Field1[4])), o41575[4])), java.lang.Object(Tree(NULL, o43139[4])), o41571[4]) → LOAD40400(o41578[4], i356[4], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[4], o41574Field1[4])), o41575[4])), o43139[4], java.lang.Object(Tree(NULL, o41571[4])))
LOAD40400(o41578[5], i356[5], java.lang.Object(Tree(java.lang.Object(Tree(o43922[5], o43923[5])), o41575[5])), java.lang.Object(Tree(java.lang.Object(Tree(o43922[5], o43923[5])), o41575[5])), o41571[5]) → LOAD40400(o41578[5], i356[5], java.lang.Object(Tree(java.lang.Object(Tree(o43922[5], o43923[5])), o41575[5])), java.lang.Object(Tree(o43922[5], java.lang.Object(Tree(o43923[5], o41575[5])))), o41571[5])
FIELDACCESS40823(i356[6], java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6])), o41773[6], java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6]))) → LOAD40400(java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6])), i356[6], java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6])), java.lang.Object(Tree(o45716[6], java.lang.Object(Tree(o45717[6], o41776[6])))), o41773[6])
LOAD40540(i356[7], java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])), java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])), o41773[7]) → LOAD40400(java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])), i356[7], java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])), java.lang.Object(Tree(o45716[7], java.lang.Object(Tree(o45717[7], o41776[7])))), o41773[7])
LOAD40400(o41578[8], i356[8], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[8], o41574Field1[8])), o41575[8])), java.lang.Object(Tree(java.lang.Object(Tree(o49252[8], o49253[8])), o43139[8])), o41571[8]) → STORE46056(o41578[8], i356[8], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[8], o41574Field1[8])), o41575[8])), java.lang.Object(Tree(java.lang.Object(Tree(o49252[8], o49253[8])), o43139[8])), o41571[8], o49252[8])
LOAD40400(java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])), i356[9], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])), java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])), o41571[9]) → FIELDACCESS40823(i356[9], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])), o41571[9], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])))
FIELDACCESS40823(i356[10], java.lang.Object(Tree(o41775[10], o41776[10])), o41773[10], java.lang.Object(Tree(java.lang.Object(Tree(o49860[10], o49861[10])), o43184[10]))) → STORE46301(i356[10], java.lang.Object(Tree(o41775[10], o41776[10])), java.lang.Object(Tree(java.lang.Object(Tree(o49860[10], o49861[10])), o43184[10])), o41773[10], o49860[10])
LOAD40540(i356[11], java.lang.Object(Tree(o41775[11], o41776[11])), java.lang.Object(Tree(java.lang.Object(Tree(o49860[11], o49861[11])), o43184[11])), o41773[11]) → STORE46301(i356[11], java.lang.Object(Tree(o41775[11], o41776[11])), java.lang.Object(Tree(java.lang.Object(Tree(o49860[11], o49861[11])), o43184[11])), o41773[11], o49860[11])
STORE46301(i356[12], java.lang.Object(Tree(o41775[12], o41776[12])), java.lang.Object(Tree(java.lang.Object(Tree(o47663[12], o47664[12])), o43184[12])), o41773[12], o47663[12]) → LOAD40540(i356[12], java.lang.Object(Tree(o41775[12], o41776[12])), java.lang.Object(Tree(o47663[12], java.lang.Object(Tree(o47664[12], o43184[12])))), o41773[12])
FIELDACCESS40823(i356[13], java.lang.Object(Tree(o41775[13], o41776[13])), o41773[13], java.lang.Object(Tree(java.lang.Object(Tree(o47663[13], o47664[13])), o43184[13]))) → LOAD40540(i356[13], java.lang.Object(Tree(o41775[13], o41776[13])), java.lang.Object(Tree(o47663[13], java.lang.Object(Tree(o47664[13], o43184[13])))), o41773[13])
LOAD40540(i356[14], java.lang.Object(Tree(o41775[14], o41776[14])), java.lang.Object(Tree(java.lang.Object(Tree(o47663[14], o47664[14])), o43184[14])), o41773[14]) → LOAD40540(i356[14], java.lang.Object(Tree(o41775[14], o41776[14])), java.lang.Object(Tree(o47663[14], java.lang.Object(Tree(o47664[14], o43184[14])))), o41773[14])
JMP52452'(i356[15], java.lang.Object(Tree(o41775[15], o41776[15])), o43184[15], java.lang.Object(Tree(NULL, o41773[15]))) → LOAD40540(i356[15], java.lang.Object(Tree(o41775[15], o41776[15])), o43184[15], java.lang.Object(Tree(NULL, o41773[15])))
FIELDACCESS40823(i356[16], java.lang.Object(Tree(o41775[16], o41776[16])), o41773[16], java.lang.Object(Tree(NULL, o43184[16]))) → LOAD40540(i356[16], java.lang.Object(Tree(o41775[16], o41776[16])), o43184[16], java.lang.Object(Tree(NULL, o41773[16])))
LOAD40540(i356[17], java.lang.Object(Tree(o41775[17], o41776[17])), java.lang.Object(Tree(NULL, o43184[17])), o41773[17]) → LOAD40540(i356[17], java.lang.Object(Tree(o41775[17], o41776[17])), o43184[17], java.lang.Object(Tree(NULL, o41773[17])))
NULL4222'(java.lang.Object(Tree(java.lang.Object(Tree(o4323Field0[18], o4323Field1[18])), o4182[18])), i356[18], java.lang.Object(Tree(java.lang.Object(Tree(o4323Field0[18], o4323Field1[18])), o4182[18]))) → LOAD40540(i356[18], java.lang.Object(Tree(java.lang.Object(Tree(o4323Field0[18], o4323Field1[18])), o4182[18])), java.lang.Object(Tree(java.lang.Object(Tree(o4323Field0[18], o4323Field1[18])), o4182[18])), NULL)
LOAD40540(i356[19], java.lang.Object(Tree(o41775[19], o41776[19])), NULL, o41773[19]) → JMP41221'(java.lang.Object(Tree(o41775[19], o41776[19])), o41773[19], i356[19])
JMP41221'(o41578[20], o41571[20], i356[20]) → LOAD4124(o41578[20], o41571[20], i356[20])
LOAD40400(o41578[21], i356[21], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[21], o41574Field1[21])), o41575[21])), NULL, o41571[21]) → LOAD4124(o41578[21], o41571[21], i356[21])
JMP5284'(o3956[22], o4175[22], i426[22]) → LOAD4124(o3956[22], o4175[22], i426[22])
NULL4222'(o3956[23], i356[23], java.lang.Object(Tree(NULL, o4175[23]))) → LOAD4124(o3956[23], o4175[23], plus_int(pos(s(0)), i356[23]))
FIELDACCESS40823(i356[24], java.lang.Object(Tree(NULL, o41776[24])), o41773[24], java.lang.Object(Tree(NULL, o41776[24]))) → JMP52452'(i356[24], java.lang.Object(Tree(NULL, o41776[24])), o41776[24], java.lang.Object(Tree(NULL, o41773[24])))
LOAD40540(i356[25], java.lang.Object(Tree(NULL, o41776[25])), java.lang.Object(Tree(NULL, o41776[25])), o41773[25]) → JMP52452'(i356[25], java.lang.Object(Tree(NULL, o41776[25])), o41776[25], java.lang.Object(Tree(NULL, o41773[25])))
NULL4222'(java.lang.Object(Tree(NULL, o4182[26])), i356[26], java.lang.Object(Tree(NULL, o4182[26]))) → JMP5284'(java.lang.Object(Tree(NULL, o4182[26])), o4182[26], plus_int(pos(s(0)), i356[26]))

The TRS R consists of the following rules:

plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)

The set Q consists of the following terms:

Load4124(x0, x1, x2)
NULL4222(x0, x1, java.lang.Object(Tree(java.lang.Object(Tree(x2, x3)), x4)))
Store46056(x0, x1, java.lang.Object(Tree(java.lang.Object(Tree(x2, x3)), x4)), java.lang.Object(Tree(java.lang.Object(Tree(x5, x6)), x7)), x8, x5)
Load40400(x0, x1, java.lang.Object(Tree(java.lang.Object(Tree(x2, x3)), x4)), java.lang.Object(Tree(java.lang.Object(Tree(x5, x6)), x7)), x8)
Load40400(x0, x1, java.lang.Object(Tree(java.lang.Object(Tree(x2, x3)), x4)), java.lang.Object(Tree(NULL, x5)), x6)
FieldAccess40823(x0, java.lang.Object(Tree(x1, x2)), x3, java.lang.Object(Tree(java.lang.Object(Tree(x4, x5)), x6)))
Load40540(x0, java.lang.Object(Tree(x1, x2)), java.lang.Object(Tree(java.lang.Object(Tree(x3, x4)), x5)), x6)
Store46301(x0, java.lang.Object(Tree(x1, x2)), java.lang.Object(Tree(java.lang.Object(Tree(x3, x4)), x5)), x6, x3)
JMP52452(x0, java.lang.Object(Tree(x1, x2)), x3, java.lang.Object(Tree(NULL, x4)))
FieldAccess40823(x0, java.lang.Object(Tree(x1, x2)), x3, java.lang.Object(Tree(NULL, x4)))
Load40540(x0, java.lang.Object(Tree(x1, x2)), java.lang.Object(Tree(NULL, x3)), x4)
Load40540(x0, java.lang.Object(Tree(x1, x2)), NULL, x3)
JMP41221(x0, x1, x2)
Load40400(x0, x1, java.lang.Object(Tree(java.lang.Object(Tree(x2, x3)), x4)), NULL, x5)
JMP5284(x0, x1, x2)
NULL4222(x0, x1, java.lang.Object(Tree(NULL, x2)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))

We have to consider all minimal (P,Q,R)-chains.

(16) DependencyGraphProof (EQUIVALENT transformation)

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

(17) Obligation:

Q DP problem:
The TRS P consists of the following rules:

NULL4222'(o3956[1], i356[1], java.lang.Object(Tree(java.lang.Object(Tree(o4301Field0[1], o4301Field1[1])), o4175[1]))) → LOAD40400(o3956[1], i356[1], java.lang.Object(Tree(java.lang.Object(Tree(o4301Field0[1], o4301Field1[1])), o4175[1])), java.lang.Object(Tree(java.lang.Object(Tree(o4301Field0[1], o4301Field1[1])), o4175[1])), NULL)
LOAD40400(o41578[3], i356[3], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[3], o41574Field1[3])), o41575[3])), java.lang.Object(Tree(java.lang.Object(Tree(o47312[3], o47313[3])), o43139[3])), o41571[3]) → LOAD40400(o41578[3], i356[3], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[3], o41574Field1[3])), o41575[3])), java.lang.Object(Tree(o47312[3], java.lang.Object(Tree(o47313[3], o43139[3])))), o41571[3])
LOAD40400(o41578[4], i356[4], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[4], o41574Field1[4])), o41575[4])), java.lang.Object(Tree(NULL, o43139[4])), o41571[4]) → LOAD40400(o41578[4], i356[4], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[4], o41574Field1[4])), o41575[4])), o43139[4], java.lang.Object(Tree(NULL, o41571[4])))
LOAD40400(o41578[5], i356[5], java.lang.Object(Tree(java.lang.Object(Tree(o43922[5], o43923[5])), o41575[5])), java.lang.Object(Tree(java.lang.Object(Tree(o43922[5], o43923[5])), o41575[5])), o41571[5]) → LOAD40400(o41578[5], i356[5], java.lang.Object(Tree(java.lang.Object(Tree(o43922[5], o43923[5])), o41575[5])), java.lang.Object(Tree(o43922[5], java.lang.Object(Tree(o43923[5], o41575[5])))), o41571[5])
LOAD40400(o41578[8], i356[8], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[8], o41574Field1[8])), o41575[8])), java.lang.Object(Tree(java.lang.Object(Tree(o49252[8], o49253[8])), o43139[8])), o41571[8]) → STORE46056(o41578[8], i356[8], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[8], o41574Field1[8])), o41575[8])), java.lang.Object(Tree(java.lang.Object(Tree(o49252[8], o49253[8])), o43139[8])), o41571[8], o49252[8])
STORE46056(o41578[2], i356[2], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[2], o41574Field1[2])), o41575[2])), java.lang.Object(Tree(java.lang.Object(Tree(o47312[2], o47313[2])), o43139[2])), o41571[2], o47312[2]) → LOAD40400(o41578[2], i356[2], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[2], o41574Field1[2])), o41575[2])), java.lang.Object(Tree(o47312[2], java.lang.Object(Tree(o47313[2], o43139[2])))), o41571[2])
LOAD40400(java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])), i356[9], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])), java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])), o41571[9]) → FIELDACCESS40823(i356[9], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])), o41571[9], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])))
FIELDACCESS40823(i356[6], java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6])), o41773[6], java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6]))) → LOAD40400(java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6])), i356[6], java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6])), java.lang.Object(Tree(o45716[6], java.lang.Object(Tree(o45717[6], o41776[6])))), o41773[6])
FIELDACCESS40823(i356[10], java.lang.Object(Tree(o41775[10], o41776[10])), o41773[10], java.lang.Object(Tree(java.lang.Object(Tree(o49860[10], o49861[10])), o43184[10]))) → STORE46301(i356[10], java.lang.Object(Tree(o41775[10], o41776[10])), java.lang.Object(Tree(java.lang.Object(Tree(o49860[10], o49861[10])), o43184[10])), o41773[10], o49860[10])
STORE46301(i356[12], java.lang.Object(Tree(o41775[12], o41776[12])), java.lang.Object(Tree(java.lang.Object(Tree(o47663[12], o47664[12])), o43184[12])), o41773[12], o47663[12]) → LOAD40540(i356[12], java.lang.Object(Tree(o41775[12], o41776[12])), java.lang.Object(Tree(o47663[12], java.lang.Object(Tree(o47664[12], o43184[12])))), o41773[12])
LOAD40540(i356[7], java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])), java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])), o41773[7]) → LOAD40400(java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])), i356[7], java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])), java.lang.Object(Tree(o45716[7], java.lang.Object(Tree(o45717[7], o41776[7])))), o41773[7])
LOAD40540(i356[11], java.lang.Object(Tree(o41775[11], o41776[11])), java.lang.Object(Tree(java.lang.Object(Tree(o49860[11], o49861[11])), o43184[11])), o41773[11]) → STORE46301(i356[11], java.lang.Object(Tree(o41775[11], o41776[11])), java.lang.Object(Tree(java.lang.Object(Tree(o49860[11], o49861[11])), o43184[11])), o41773[11], o49860[11])
LOAD40540(i356[14], java.lang.Object(Tree(o41775[14], o41776[14])), java.lang.Object(Tree(java.lang.Object(Tree(o47663[14], o47664[14])), o43184[14])), o41773[14]) → LOAD40540(i356[14], java.lang.Object(Tree(o41775[14], o41776[14])), java.lang.Object(Tree(o47663[14], java.lang.Object(Tree(o47664[14], o43184[14])))), o41773[14])
LOAD40540(i356[17], java.lang.Object(Tree(o41775[17], o41776[17])), java.lang.Object(Tree(NULL, o43184[17])), o41773[17]) → LOAD40540(i356[17], java.lang.Object(Tree(o41775[17], o41776[17])), o43184[17], java.lang.Object(Tree(NULL, o41773[17])))
LOAD40540(i356[19], java.lang.Object(Tree(o41775[19], o41776[19])), NULL, o41773[19]) → JMP41221'(java.lang.Object(Tree(o41775[19], o41776[19])), o41773[19], i356[19])
JMP41221'(o41578[20], o41571[20], i356[20]) → LOAD4124(o41578[20], o41571[20], i356[20])
LOAD4124(o3879[0], o3878[0], i341[0]) → NULL4222'(o3879[0], i341[0], o3878[0])
NULL4222'(java.lang.Object(Tree(java.lang.Object(Tree(o4323Field0[18], o4323Field1[18])), o4182[18])), i356[18], java.lang.Object(Tree(java.lang.Object(Tree(o4323Field0[18], o4323Field1[18])), o4182[18]))) → LOAD40540(i356[18], java.lang.Object(Tree(java.lang.Object(Tree(o4323Field0[18], o4323Field1[18])), o4182[18])), java.lang.Object(Tree(java.lang.Object(Tree(o4323Field0[18], o4323Field1[18])), o4182[18])), NULL)
NULL4222'(o3956[23], i356[23], java.lang.Object(Tree(NULL, o4175[23]))) → LOAD4124(o3956[23], o4175[23], plus_int(pos(s(0)), i356[23]))
NULL4222'(java.lang.Object(Tree(NULL, o4182[26])), i356[26], java.lang.Object(Tree(NULL, o4182[26]))) → JMP5284'(java.lang.Object(Tree(NULL, o4182[26])), o4182[26], plus_int(pos(s(0)), i356[26]))
JMP5284'(o3956[22], o4175[22], i426[22]) → LOAD4124(o3956[22], o4175[22], i426[22])
LOAD40540(i356[25], java.lang.Object(Tree(NULL, o41776[25])), java.lang.Object(Tree(NULL, o41776[25])), o41773[25]) → JMP52452'(i356[25], java.lang.Object(Tree(NULL, o41776[25])), o41776[25], java.lang.Object(Tree(NULL, o41773[25])))
JMP52452'(i356[15], java.lang.Object(Tree(o41775[15], o41776[15])), o43184[15], java.lang.Object(Tree(NULL, o41773[15]))) → LOAD40540(i356[15], java.lang.Object(Tree(o41775[15], o41776[15])), o43184[15], java.lang.Object(Tree(NULL, o41773[15])))
FIELDACCESS40823(i356[13], java.lang.Object(Tree(o41775[13], o41776[13])), o41773[13], java.lang.Object(Tree(java.lang.Object(Tree(o47663[13], o47664[13])), o43184[13]))) → LOAD40540(i356[13], java.lang.Object(Tree(o41775[13], o41776[13])), java.lang.Object(Tree(o47663[13], java.lang.Object(Tree(o47664[13], o43184[13])))), o41773[13])
LOAD40400(o41578[21], i356[21], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[21], o41574Field1[21])), o41575[21])), NULL, o41571[21]) → LOAD4124(o41578[21], o41571[21], i356[21])

The TRS R consists of the following rules:

plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)

The set Q consists of the following terms:

Load4124(x0, x1, x2)
NULL4222(x0, x1, java.lang.Object(Tree(java.lang.Object(Tree(x2, x3)), x4)))
Store46056(x0, x1, java.lang.Object(Tree(java.lang.Object(Tree(x2, x3)), x4)), java.lang.Object(Tree(java.lang.Object(Tree(x5, x6)), x7)), x8, x5)
Load40400(x0, x1, java.lang.Object(Tree(java.lang.Object(Tree(x2, x3)), x4)), java.lang.Object(Tree(java.lang.Object(Tree(x5, x6)), x7)), x8)
Load40400(x0, x1, java.lang.Object(Tree(java.lang.Object(Tree(x2, x3)), x4)), java.lang.Object(Tree(NULL, x5)), x6)
FieldAccess40823(x0, java.lang.Object(Tree(x1, x2)), x3, java.lang.Object(Tree(java.lang.Object(Tree(x4, x5)), x6)))
Load40540(x0, java.lang.Object(Tree(x1, x2)), java.lang.Object(Tree(java.lang.Object(Tree(x3, x4)), x5)), x6)
Store46301(x0, java.lang.Object(Tree(x1, x2)), java.lang.Object(Tree(java.lang.Object(Tree(x3, x4)), x5)), x6, x3)
JMP52452(x0, java.lang.Object(Tree(x1, x2)), x3, java.lang.Object(Tree(NULL, x4)))
FieldAccess40823(x0, java.lang.Object(Tree(x1, x2)), x3, java.lang.Object(Tree(NULL, x4)))
Load40540(x0, java.lang.Object(Tree(x1, x2)), java.lang.Object(Tree(NULL, x3)), x4)
Load40540(x0, java.lang.Object(Tree(x1, x2)), NULL, x3)
JMP41221(x0, x1, x2)
Load40400(x0, x1, java.lang.Object(Tree(java.lang.Object(Tree(x2, x3)), x4)), NULL, x5)
JMP5284(x0, x1, x2)
NULL4222(x0, x1, java.lang.Object(Tree(NULL, x2)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))

We have to consider all minimal (P,Q,R)-chains.

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

(19) Obligation:

Q DP problem:
The TRS P consists of the following rules:

NULL4222'(o3956[1], i356[1], java.lang.Object(Tree(java.lang.Object(Tree(o4301Field0[1], o4301Field1[1])), o4175[1]))) → LOAD40400(o3956[1], i356[1], java.lang.Object(Tree(java.lang.Object(Tree(o4301Field0[1], o4301Field1[1])), o4175[1])), java.lang.Object(Tree(java.lang.Object(Tree(o4301Field0[1], o4301Field1[1])), o4175[1])), NULL)
LOAD40400(o41578[3], i356[3], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[3], o41574Field1[3])), o41575[3])), java.lang.Object(Tree(java.lang.Object(Tree(o47312[3], o47313[3])), o43139[3])), o41571[3]) → LOAD40400(o41578[3], i356[3], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[3], o41574Field1[3])), o41575[3])), java.lang.Object(Tree(o47312[3], java.lang.Object(Tree(o47313[3], o43139[3])))), o41571[3])
LOAD40400(o41578[4], i356[4], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[4], o41574Field1[4])), o41575[4])), java.lang.Object(Tree(NULL, o43139[4])), o41571[4]) → LOAD40400(o41578[4], i356[4], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[4], o41574Field1[4])), o41575[4])), o43139[4], java.lang.Object(Tree(NULL, o41571[4])))
LOAD40400(o41578[5], i356[5], java.lang.Object(Tree(java.lang.Object(Tree(o43922[5], o43923[5])), o41575[5])), java.lang.Object(Tree(java.lang.Object(Tree(o43922[5], o43923[5])), o41575[5])), o41571[5]) → LOAD40400(o41578[5], i356[5], java.lang.Object(Tree(java.lang.Object(Tree(o43922[5], o43923[5])), o41575[5])), java.lang.Object(Tree(o43922[5], java.lang.Object(Tree(o43923[5], o41575[5])))), o41571[5])
LOAD40400(o41578[8], i356[8], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[8], o41574Field1[8])), o41575[8])), java.lang.Object(Tree(java.lang.Object(Tree(o49252[8], o49253[8])), o43139[8])), o41571[8]) → STORE46056(o41578[8], i356[8], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[8], o41574Field1[8])), o41575[8])), java.lang.Object(Tree(java.lang.Object(Tree(o49252[8], o49253[8])), o43139[8])), o41571[8], o49252[8])
STORE46056(o41578[2], i356[2], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[2], o41574Field1[2])), o41575[2])), java.lang.Object(Tree(java.lang.Object(Tree(o47312[2], o47313[2])), o43139[2])), o41571[2], o47312[2]) → LOAD40400(o41578[2], i356[2], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[2], o41574Field1[2])), o41575[2])), java.lang.Object(Tree(o47312[2], java.lang.Object(Tree(o47313[2], o43139[2])))), o41571[2])
LOAD40400(java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])), i356[9], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])), java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])), o41571[9]) → FIELDACCESS40823(i356[9], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])), o41571[9], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])))
FIELDACCESS40823(i356[6], java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6])), o41773[6], java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6]))) → LOAD40400(java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6])), i356[6], java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6])), java.lang.Object(Tree(o45716[6], java.lang.Object(Tree(o45717[6], o41776[6])))), o41773[6])
FIELDACCESS40823(i356[10], java.lang.Object(Tree(o41775[10], o41776[10])), o41773[10], java.lang.Object(Tree(java.lang.Object(Tree(o49860[10], o49861[10])), o43184[10]))) → STORE46301(i356[10], java.lang.Object(Tree(o41775[10], o41776[10])), java.lang.Object(Tree(java.lang.Object(Tree(o49860[10], o49861[10])), o43184[10])), o41773[10], o49860[10])
STORE46301(i356[12], java.lang.Object(Tree(o41775[12], o41776[12])), java.lang.Object(Tree(java.lang.Object(Tree(o47663[12], o47664[12])), o43184[12])), o41773[12], o47663[12]) → LOAD40540(i356[12], java.lang.Object(Tree(o41775[12], o41776[12])), java.lang.Object(Tree(o47663[12], java.lang.Object(Tree(o47664[12], o43184[12])))), o41773[12])
LOAD40540(i356[7], java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])), java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])), o41773[7]) → LOAD40400(java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])), i356[7], java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])), java.lang.Object(Tree(o45716[7], java.lang.Object(Tree(o45717[7], o41776[7])))), o41773[7])
LOAD40540(i356[11], java.lang.Object(Tree(o41775[11], o41776[11])), java.lang.Object(Tree(java.lang.Object(Tree(o49860[11], o49861[11])), o43184[11])), o41773[11]) → STORE46301(i356[11], java.lang.Object(Tree(o41775[11], o41776[11])), java.lang.Object(Tree(java.lang.Object(Tree(o49860[11], o49861[11])), o43184[11])), o41773[11], o49860[11])
LOAD40540(i356[14], java.lang.Object(Tree(o41775[14], o41776[14])), java.lang.Object(Tree(java.lang.Object(Tree(o47663[14], o47664[14])), o43184[14])), o41773[14]) → LOAD40540(i356[14], java.lang.Object(Tree(o41775[14], o41776[14])), java.lang.Object(Tree(o47663[14], java.lang.Object(Tree(o47664[14], o43184[14])))), o41773[14])
LOAD40540(i356[17], java.lang.Object(Tree(o41775[17], o41776[17])), java.lang.Object(Tree(NULL, o43184[17])), o41773[17]) → LOAD40540(i356[17], java.lang.Object(Tree(o41775[17], o41776[17])), o43184[17], java.lang.Object(Tree(NULL, o41773[17])))
LOAD40540(i356[19], java.lang.Object(Tree(o41775[19], o41776[19])), NULL, o41773[19]) → JMP41221'(java.lang.Object(Tree(o41775[19], o41776[19])), o41773[19], i356[19])
JMP41221'(o41578[20], o41571[20], i356[20]) → LOAD4124(o41578[20], o41571[20], i356[20])
LOAD4124(o3879[0], o3878[0], i341[0]) → NULL4222'(o3879[0], i341[0], o3878[0])
NULL4222'(java.lang.Object(Tree(java.lang.Object(Tree(o4323Field0[18], o4323Field1[18])), o4182[18])), i356[18], java.lang.Object(Tree(java.lang.Object(Tree(o4323Field0[18], o4323Field1[18])), o4182[18]))) → LOAD40540(i356[18], java.lang.Object(Tree(java.lang.Object(Tree(o4323Field0[18], o4323Field1[18])), o4182[18])), java.lang.Object(Tree(java.lang.Object(Tree(o4323Field0[18], o4323Field1[18])), o4182[18])), NULL)
NULL4222'(o3956[23], i356[23], java.lang.Object(Tree(NULL, o4175[23]))) → LOAD4124(o3956[23], o4175[23], plus_int(pos(s(0)), i356[23]))
NULL4222'(java.lang.Object(Tree(NULL, o4182[26])), i356[26], java.lang.Object(Tree(NULL, o4182[26]))) → JMP5284'(java.lang.Object(Tree(NULL, o4182[26])), o4182[26], plus_int(pos(s(0)), i356[26]))
JMP5284'(o3956[22], o4175[22], i426[22]) → LOAD4124(o3956[22], o4175[22], i426[22])
LOAD40540(i356[25], java.lang.Object(Tree(NULL, o41776[25])), java.lang.Object(Tree(NULL, o41776[25])), o41773[25]) → JMP52452'(i356[25], java.lang.Object(Tree(NULL, o41776[25])), o41776[25], java.lang.Object(Tree(NULL, o41773[25])))
JMP52452'(i356[15], java.lang.Object(Tree(o41775[15], o41776[15])), o43184[15], java.lang.Object(Tree(NULL, o41773[15]))) → LOAD40540(i356[15], java.lang.Object(Tree(o41775[15], o41776[15])), o43184[15], java.lang.Object(Tree(NULL, o41773[15])))
FIELDACCESS40823(i356[13], java.lang.Object(Tree(o41775[13], o41776[13])), o41773[13], java.lang.Object(Tree(java.lang.Object(Tree(o47663[13], o47664[13])), o43184[13]))) → LOAD40540(i356[13], java.lang.Object(Tree(o41775[13], o41776[13])), java.lang.Object(Tree(o47663[13], java.lang.Object(Tree(o47664[13], o43184[13])))), o41773[13])
LOAD40400(o41578[21], i356[21], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[21], o41574Field1[21])), o41575[21])), NULL, o41571[21]) → LOAD4124(o41578[21], o41571[21], i356[21])

The TRS R consists of the following rules:

plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)

The set Q consists of the following terms:

Load4124(x0, x1, x2)
NULL4222(x0, x1, java.lang.Object(Tree(java.lang.Object(Tree(x2, x3)), x4)))
Store46056(x0, x1, java.lang.Object(Tree(java.lang.Object(Tree(x2, x3)), x4)), java.lang.Object(Tree(java.lang.Object(Tree(x5, x6)), x7)), x8, x5)
Load40400(x0, x1, java.lang.Object(Tree(java.lang.Object(Tree(x2, x3)), x4)), java.lang.Object(Tree(java.lang.Object(Tree(x5, x6)), x7)), x8)
Load40400(x0, x1, java.lang.Object(Tree(java.lang.Object(Tree(x2, x3)), x4)), java.lang.Object(Tree(NULL, x5)), x6)
FieldAccess40823(x0, java.lang.Object(Tree(x1, x2)), x3, java.lang.Object(Tree(java.lang.Object(Tree(x4, x5)), x6)))
Load40540(x0, java.lang.Object(Tree(x1, x2)), java.lang.Object(Tree(java.lang.Object(Tree(x3, x4)), x5)), x6)
Store46301(x0, java.lang.Object(Tree(x1, x2)), java.lang.Object(Tree(java.lang.Object(Tree(x3, x4)), x5)), x6, x3)
JMP52452(x0, java.lang.Object(Tree(x1, x2)), x3, java.lang.Object(Tree(NULL, x4)))
FieldAccess40823(x0, java.lang.Object(Tree(x1, x2)), x3, java.lang.Object(Tree(NULL, x4)))
Load40540(x0, java.lang.Object(Tree(x1, x2)), java.lang.Object(Tree(NULL, x3)), x4)
Load40540(x0, java.lang.Object(Tree(x1, x2)), NULL, x3)
JMP41221(x0, x1, x2)
Load40400(x0, x1, java.lang.Object(Tree(java.lang.Object(Tree(x2, x3)), x4)), NULL, x5)
JMP5284(x0, x1, x2)
NULL4222(x0, x1, java.lang.Object(Tree(NULL, x2)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))

We have to consider all minimal (P,Q,R)-chains.

(20) QReductionProof (EQUIVALENT transformation)

We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN].

Load4124(x0, x1, x2)
NULL4222(x0, x1, java.lang.Object(Tree(java.lang.Object(Tree(x2, x3)), x4)))
Store46056(x0, x1, java.lang.Object(Tree(java.lang.Object(Tree(x2, x3)), x4)), java.lang.Object(Tree(java.lang.Object(Tree(x5, x6)), x7)), x8, x5)
Load40400(x0, x1, java.lang.Object(Tree(java.lang.Object(Tree(x2, x3)), x4)), java.lang.Object(Tree(java.lang.Object(Tree(x5, x6)), x7)), x8)
Load40400(x0, x1, java.lang.Object(Tree(java.lang.Object(Tree(x2, x3)), x4)), java.lang.Object(Tree(NULL, x5)), x6)
FieldAccess40823(x0, java.lang.Object(Tree(x1, x2)), x3, java.lang.Object(Tree(java.lang.Object(Tree(x4, x5)), x6)))
Load40540(x0, java.lang.Object(Tree(x1, x2)), java.lang.Object(Tree(java.lang.Object(Tree(x3, x4)), x5)), x6)
Store46301(x0, java.lang.Object(Tree(x1, x2)), java.lang.Object(Tree(java.lang.Object(Tree(x3, x4)), x5)), x6, x3)
JMP52452(x0, java.lang.Object(Tree(x1, x2)), x3, java.lang.Object(Tree(NULL, x4)))
FieldAccess40823(x0, java.lang.Object(Tree(x1, x2)), x3, java.lang.Object(Tree(NULL, x4)))
Load40540(x0, java.lang.Object(Tree(x1, x2)), java.lang.Object(Tree(NULL, x3)), x4)
Load40540(x0, java.lang.Object(Tree(x1, x2)), NULL, x3)
JMP41221(x0, x1, x2)
Load40400(x0, x1, java.lang.Object(Tree(java.lang.Object(Tree(x2, x3)), x4)), NULL, x5)
JMP5284(x0, x1, x2)
NULL4222(x0, x1, java.lang.Object(Tree(NULL, x2)))

(21) Obligation:

Q DP problem:
The TRS P consists of the following rules:

NULL4222'(o3956[1], i356[1], java.lang.Object(Tree(java.lang.Object(Tree(o4301Field0[1], o4301Field1[1])), o4175[1]))) → LOAD40400(o3956[1], i356[1], java.lang.Object(Tree(java.lang.Object(Tree(o4301Field0[1], o4301Field1[1])), o4175[1])), java.lang.Object(Tree(java.lang.Object(Tree(o4301Field0[1], o4301Field1[1])), o4175[1])), NULL)
LOAD40400(o41578[3], i356[3], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[3], o41574Field1[3])), o41575[3])), java.lang.Object(Tree(java.lang.Object(Tree(o47312[3], o47313[3])), o43139[3])), o41571[3]) → LOAD40400(o41578[3], i356[3], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[3], o41574Field1[3])), o41575[3])), java.lang.Object(Tree(o47312[3], java.lang.Object(Tree(o47313[3], o43139[3])))), o41571[3])
LOAD40400(o41578[4], i356[4], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[4], o41574Field1[4])), o41575[4])), java.lang.Object(Tree(NULL, o43139[4])), o41571[4]) → LOAD40400(o41578[4], i356[4], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[4], o41574Field1[4])), o41575[4])), o43139[4], java.lang.Object(Tree(NULL, o41571[4])))
LOAD40400(o41578[5], i356[5], java.lang.Object(Tree(java.lang.Object(Tree(o43922[5], o43923[5])), o41575[5])), java.lang.Object(Tree(java.lang.Object(Tree(o43922[5], o43923[5])), o41575[5])), o41571[5]) → LOAD40400(o41578[5], i356[5], java.lang.Object(Tree(java.lang.Object(Tree(o43922[5], o43923[5])), o41575[5])), java.lang.Object(Tree(o43922[5], java.lang.Object(Tree(o43923[5], o41575[5])))), o41571[5])
LOAD40400(o41578[8], i356[8], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[8], o41574Field1[8])), o41575[8])), java.lang.Object(Tree(java.lang.Object(Tree(o49252[8], o49253[8])), o43139[8])), o41571[8]) → STORE46056(o41578[8], i356[8], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[8], o41574Field1[8])), o41575[8])), java.lang.Object(Tree(java.lang.Object(Tree(o49252[8], o49253[8])), o43139[8])), o41571[8], o49252[8])
STORE46056(o41578[2], i356[2], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[2], o41574Field1[2])), o41575[2])), java.lang.Object(Tree(java.lang.Object(Tree(o47312[2], o47313[2])), o43139[2])), o41571[2], o47312[2]) → LOAD40400(o41578[2], i356[2], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[2], o41574Field1[2])), o41575[2])), java.lang.Object(Tree(o47312[2], java.lang.Object(Tree(o47313[2], o43139[2])))), o41571[2])
LOAD40400(java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])), i356[9], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])), java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])), o41571[9]) → FIELDACCESS40823(i356[9], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])), o41571[9], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])))
FIELDACCESS40823(i356[6], java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6])), o41773[6], java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6]))) → LOAD40400(java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6])), i356[6], java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6])), java.lang.Object(Tree(o45716[6], java.lang.Object(Tree(o45717[6], o41776[6])))), o41773[6])
FIELDACCESS40823(i356[10], java.lang.Object(Tree(o41775[10], o41776[10])), o41773[10], java.lang.Object(Tree(java.lang.Object(Tree(o49860[10], o49861[10])), o43184[10]))) → STORE46301(i356[10], java.lang.Object(Tree(o41775[10], o41776[10])), java.lang.Object(Tree(java.lang.Object(Tree(o49860[10], o49861[10])), o43184[10])), o41773[10], o49860[10])
STORE46301(i356[12], java.lang.Object(Tree(o41775[12], o41776[12])), java.lang.Object(Tree(java.lang.Object(Tree(o47663[12], o47664[12])), o43184[12])), o41773[12], o47663[12]) → LOAD40540(i356[12], java.lang.Object(Tree(o41775[12], o41776[12])), java.lang.Object(Tree(o47663[12], java.lang.Object(Tree(o47664[12], o43184[12])))), o41773[12])
LOAD40540(i356[7], java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])), java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])), o41773[7]) → LOAD40400(java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])), i356[7], java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])), java.lang.Object(Tree(o45716[7], java.lang.Object(Tree(o45717[7], o41776[7])))), o41773[7])
LOAD40540(i356[11], java.lang.Object(Tree(o41775[11], o41776[11])), java.lang.Object(Tree(java.lang.Object(Tree(o49860[11], o49861[11])), o43184[11])), o41773[11]) → STORE46301(i356[11], java.lang.Object(Tree(o41775[11], o41776[11])), java.lang.Object(Tree(java.lang.Object(Tree(o49860[11], o49861[11])), o43184[11])), o41773[11], o49860[11])
LOAD40540(i356[14], java.lang.Object(Tree(o41775[14], o41776[14])), java.lang.Object(Tree(java.lang.Object(Tree(o47663[14], o47664[14])), o43184[14])), o41773[14]) → LOAD40540(i356[14], java.lang.Object(Tree(o41775[14], o41776[14])), java.lang.Object(Tree(o47663[14], java.lang.Object(Tree(o47664[14], o43184[14])))), o41773[14])
LOAD40540(i356[17], java.lang.Object(Tree(o41775[17], o41776[17])), java.lang.Object(Tree(NULL, o43184[17])), o41773[17]) → LOAD40540(i356[17], java.lang.Object(Tree(o41775[17], o41776[17])), o43184[17], java.lang.Object(Tree(NULL, o41773[17])))
LOAD40540(i356[19], java.lang.Object(Tree(o41775[19], o41776[19])), NULL, o41773[19]) → JMP41221'(java.lang.Object(Tree(o41775[19], o41776[19])), o41773[19], i356[19])
JMP41221'(o41578[20], o41571[20], i356[20]) → LOAD4124(o41578[20], o41571[20], i356[20])
LOAD4124(o3879[0], o3878[0], i341[0]) → NULL4222'(o3879[0], i341[0], o3878[0])
NULL4222'(java.lang.Object(Tree(java.lang.Object(Tree(o4323Field0[18], o4323Field1[18])), o4182[18])), i356[18], java.lang.Object(Tree(java.lang.Object(Tree(o4323Field0[18], o4323Field1[18])), o4182[18]))) → LOAD40540(i356[18], java.lang.Object(Tree(java.lang.Object(Tree(o4323Field0[18], o4323Field1[18])), o4182[18])), java.lang.Object(Tree(java.lang.Object(Tree(o4323Field0[18], o4323Field1[18])), o4182[18])), NULL)
NULL4222'(o3956[23], i356[23], java.lang.Object(Tree(NULL, o4175[23]))) → LOAD4124(o3956[23], o4175[23], plus_int(pos(s(0)), i356[23]))
NULL4222'(java.lang.Object(Tree(NULL, o4182[26])), i356[26], java.lang.Object(Tree(NULL, o4182[26]))) → JMP5284'(java.lang.Object(Tree(NULL, o4182[26])), o4182[26], plus_int(pos(s(0)), i356[26]))
JMP5284'(o3956[22], o4175[22], i426[22]) → LOAD4124(o3956[22], o4175[22], i426[22])
LOAD40540(i356[25], java.lang.Object(Tree(NULL, o41776[25])), java.lang.Object(Tree(NULL, o41776[25])), o41773[25]) → JMP52452'(i356[25], java.lang.Object(Tree(NULL, o41776[25])), o41776[25], java.lang.Object(Tree(NULL, o41773[25])))
JMP52452'(i356[15], java.lang.Object(Tree(o41775[15], o41776[15])), o43184[15], java.lang.Object(Tree(NULL, o41773[15]))) → LOAD40540(i356[15], java.lang.Object(Tree(o41775[15], o41776[15])), o43184[15], java.lang.Object(Tree(NULL, o41773[15])))
FIELDACCESS40823(i356[13], java.lang.Object(Tree(o41775[13], o41776[13])), o41773[13], java.lang.Object(Tree(java.lang.Object(Tree(o47663[13], o47664[13])), o43184[13]))) → LOAD40540(i356[13], java.lang.Object(Tree(o41775[13], o41776[13])), java.lang.Object(Tree(o47663[13], java.lang.Object(Tree(o47664[13], o43184[13])))), o41773[13])
LOAD40400(o41578[21], i356[21], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[21], o41574Field1[21])), o41575[21])), NULL, o41571[21]) → LOAD4124(o41578[21], o41571[21], i356[21])

The TRS R consists of the following rules:

plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)

The set Q consists of the following terms:

plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))

We have to consider all minimal (P,Q,R)-chains.

(22) Instantiation (EQUIVALENT transformation)

By instantiating [LPAR04] the rule FIELDACCESS40823(i356[10], java.lang.Object(Tree(o41775[10], o41776[10])), o41773[10], java.lang.Object(Tree(java.lang.Object(Tree(o49860[10], o49861[10])), o43184[10]))) → STORE46301(i356[10], java.lang.Object(Tree(o41775[10], o41776[10])), java.lang.Object(Tree(java.lang.Object(Tree(o49860[10], o49861[10])), o43184[10])), o41773[10], o49860[10]) we obtained the following new rules [LPAR04]:

FIELDACCESS40823(z3, java.lang.Object(Tree(java.lang.Object(Tree(z0, z1)), z2)), z4, java.lang.Object(Tree(java.lang.Object(Tree(z0, z1)), z2))) → STORE46301(z3, java.lang.Object(Tree(java.lang.Object(Tree(z0, z1)), z2)), java.lang.Object(Tree(java.lang.Object(Tree(z0, z1)), z2)), z4, z0)

(23) Obligation:

Q DP problem:
The TRS P consists of the following rules:

NULL4222'(o3956[1], i356[1], java.lang.Object(Tree(java.lang.Object(Tree(o4301Field0[1], o4301Field1[1])), o4175[1]))) → LOAD40400(o3956[1], i356[1], java.lang.Object(Tree(java.lang.Object(Tree(o4301Field0[1], o4301Field1[1])), o4175[1])), java.lang.Object(Tree(java.lang.Object(Tree(o4301Field0[1], o4301Field1[1])), o4175[1])), NULL)
LOAD40400(o41578[3], i356[3], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[3], o41574Field1[3])), o41575[3])), java.lang.Object(Tree(java.lang.Object(Tree(o47312[3], o47313[3])), o43139[3])), o41571[3]) → LOAD40400(o41578[3], i356[3], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[3], o41574Field1[3])), o41575[3])), java.lang.Object(Tree(o47312[3], java.lang.Object(Tree(o47313[3], o43139[3])))), o41571[3])
LOAD40400(o41578[4], i356[4], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[4], o41574Field1[4])), o41575[4])), java.lang.Object(Tree(NULL, o43139[4])), o41571[4]) → LOAD40400(o41578[4], i356[4], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[4], o41574Field1[4])), o41575[4])), o43139[4], java.lang.Object(Tree(NULL, o41571[4])))
LOAD40400(o41578[5], i356[5], java.lang.Object(Tree(java.lang.Object(Tree(o43922[5], o43923[5])), o41575[5])), java.lang.Object(Tree(java.lang.Object(Tree(o43922[5], o43923[5])), o41575[5])), o41571[5]) → LOAD40400(o41578[5], i356[5], java.lang.Object(Tree(java.lang.Object(Tree(o43922[5], o43923[5])), o41575[5])), java.lang.Object(Tree(o43922[5], java.lang.Object(Tree(o43923[5], o41575[5])))), o41571[5])
LOAD40400(o41578[8], i356[8], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[8], o41574Field1[8])), o41575[8])), java.lang.Object(Tree(java.lang.Object(Tree(o49252[8], o49253[8])), o43139[8])), o41571[8]) → STORE46056(o41578[8], i356[8], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[8], o41574Field1[8])), o41575[8])), java.lang.Object(Tree(java.lang.Object(Tree(o49252[8], o49253[8])), o43139[8])), o41571[8], o49252[8])
STORE46056(o41578[2], i356[2], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[2], o41574Field1[2])), o41575[2])), java.lang.Object(Tree(java.lang.Object(Tree(o47312[2], o47313[2])), o43139[2])), o41571[2], o47312[2]) → LOAD40400(o41578[2], i356[2], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[2], o41574Field1[2])), o41575[2])), java.lang.Object(Tree(o47312[2], java.lang.Object(Tree(o47313[2], o43139[2])))), o41571[2])
LOAD40400(java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])), i356[9], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])), java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])), o41571[9]) → FIELDACCESS40823(i356[9], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])), o41571[9], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])))
FIELDACCESS40823(i356[6], java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6])), o41773[6], java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6]))) → LOAD40400(java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6])), i356[6], java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6])), java.lang.Object(Tree(o45716[6], java.lang.Object(Tree(o45717[6], o41776[6])))), o41773[6])
STORE46301(i356[12], java.lang.Object(Tree(o41775[12], o41776[12])), java.lang.Object(Tree(java.lang.Object(Tree(o47663[12], o47664[12])), o43184[12])), o41773[12], o47663[12]) → LOAD40540(i356[12], java.lang.Object(Tree(o41775[12], o41776[12])), java.lang.Object(Tree(o47663[12], java.lang.Object(Tree(o47664[12], o43184[12])))), o41773[12])
LOAD40540(i356[7], java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])), java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])), o41773[7]) → LOAD40400(java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])), i356[7], java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])), java.lang.Object(Tree(o45716[7], java.lang.Object(Tree(o45717[7], o41776[7])))), o41773[7])
LOAD40540(i356[11], java.lang.Object(Tree(o41775[11], o41776[11])), java.lang.Object(Tree(java.lang.Object(Tree(o49860[11], o49861[11])), o43184[11])), o41773[11]) → STORE46301(i356[11], java.lang.Object(Tree(o41775[11], o41776[11])), java.lang.Object(Tree(java.lang.Object(Tree(o49860[11], o49861[11])), o43184[11])), o41773[11], o49860[11])
LOAD40540(i356[14], java.lang.Object(Tree(o41775[14], o41776[14])), java.lang.Object(Tree(java.lang.Object(Tree(o47663[14], o47664[14])), o43184[14])), o41773[14]) → LOAD40540(i356[14], java.lang.Object(Tree(o41775[14], o41776[14])), java.lang.Object(Tree(o47663[14], java.lang.Object(Tree(o47664[14], o43184[14])))), o41773[14])
LOAD40540(i356[17], java.lang.Object(Tree(o41775[17], o41776[17])), java.lang.Object(Tree(NULL, o43184[17])), o41773[17]) → LOAD40540(i356[17], java.lang.Object(Tree(o41775[17], o41776[17])), o43184[17], java.lang.Object(Tree(NULL, o41773[17])))
LOAD40540(i356[19], java.lang.Object(Tree(o41775[19], o41776[19])), NULL, o41773[19]) → JMP41221'(java.lang.Object(Tree(o41775[19], o41776[19])), o41773[19], i356[19])
JMP41221'(o41578[20], o41571[20], i356[20]) → LOAD4124(o41578[20], o41571[20], i356[20])
LOAD4124(o3879[0], o3878[0], i341[0]) → NULL4222'(o3879[0], i341[0], o3878[0])
NULL4222'(java.lang.Object(Tree(java.lang.Object(Tree(o4323Field0[18], o4323Field1[18])), o4182[18])), i356[18], java.lang.Object(Tree(java.lang.Object(Tree(o4323Field0[18], o4323Field1[18])), o4182[18]))) → LOAD40540(i356[18], java.lang.Object(Tree(java.lang.Object(Tree(o4323Field0[18], o4323Field1[18])), o4182[18])), java.lang.Object(Tree(java.lang.Object(Tree(o4323Field0[18], o4323Field1[18])), o4182[18])), NULL)
NULL4222'(o3956[23], i356[23], java.lang.Object(Tree(NULL, o4175[23]))) → LOAD4124(o3956[23], o4175[23], plus_int(pos(s(0)), i356[23]))
NULL4222'(java.lang.Object(Tree(NULL, o4182[26])), i356[26], java.lang.Object(Tree(NULL, o4182[26]))) → JMP5284'(java.lang.Object(Tree(NULL, o4182[26])), o4182[26], plus_int(pos(s(0)), i356[26]))
JMP5284'(o3956[22], o4175[22], i426[22]) → LOAD4124(o3956[22], o4175[22], i426[22])
LOAD40540(i356[25], java.lang.Object(Tree(NULL, o41776[25])), java.lang.Object(Tree(NULL, o41776[25])), o41773[25]) → JMP52452'(i356[25], java.lang.Object(Tree(NULL, o41776[25])), o41776[25], java.lang.Object(Tree(NULL, o41773[25])))
JMP52452'(i356[15], java.lang.Object(Tree(o41775[15], o41776[15])), o43184[15], java.lang.Object(Tree(NULL, o41773[15]))) → LOAD40540(i356[15], java.lang.Object(Tree(o41775[15], o41776[15])), o43184[15], java.lang.Object(Tree(NULL, o41773[15])))
FIELDACCESS40823(i356[13], java.lang.Object(Tree(o41775[13], o41776[13])), o41773[13], java.lang.Object(Tree(java.lang.Object(Tree(o47663[13], o47664[13])), o43184[13]))) → LOAD40540(i356[13], java.lang.Object(Tree(o41775[13], o41776[13])), java.lang.Object(Tree(o47663[13], java.lang.Object(Tree(o47664[13], o43184[13])))), o41773[13])
LOAD40400(o41578[21], i356[21], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[21], o41574Field1[21])), o41575[21])), NULL, o41571[21]) → LOAD4124(o41578[21], o41571[21], i356[21])
FIELDACCESS40823(z3, java.lang.Object(Tree(java.lang.Object(Tree(z0, z1)), z2)), z4, java.lang.Object(Tree(java.lang.Object(Tree(z0, z1)), z2))) → STORE46301(z3, java.lang.Object(Tree(java.lang.Object(Tree(z0, z1)), z2)), java.lang.Object(Tree(java.lang.Object(Tree(z0, z1)), z2)), z4, z0)

The TRS R consists of the following rules:

plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)

The set Q consists of the following terms:

plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))

We have to consider all minimal (P,Q,R)-chains.

(24) Instantiation (EQUIVALENT transformation)

By instantiating [LPAR04] the rule JMP5284'(o3956[22], o4175[22], i426[22]) → LOAD4124(o3956[22], o4175[22], i426[22]) we obtained the following new rules [LPAR04]:

JMP5284'(java.lang.Object(Tree(NULL, z0)), z0, y_0) → LOAD4124(java.lang.Object(Tree(NULL, z0)), z0, y_0)

(25) Obligation:

Q DP problem:
The TRS P consists of the following rules:

NULL4222'(o3956[1], i356[1], java.lang.Object(Tree(java.lang.Object(Tree(o4301Field0[1], o4301Field1[1])), o4175[1]))) → LOAD40400(o3956[1], i356[1], java.lang.Object(Tree(java.lang.Object(Tree(o4301Field0[1], o4301Field1[1])), o4175[1])), java.lang.Object(Tree(java.lang.Object(Tree(o4301Field0[1], o4301Field1[1])), o4175[1])), NULL)
LOAD40400(o41578[3], i356[3], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[3], o41574Field1[3])), o41575[3])), java.lang.Object(Tree(java.lang.Object(Tree(o47312[3], o47313[3])), o43139[3])), o41571[3]) → LOAD40400(o41578[3], i356[3], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[3], o41574Field1[3])), o41575[3])), java.lang.Object(Tree(o47312[3], java.lang.Object(Tree(o47313[3], o43139[3])))), o41571[3])
LOAD40400(o41578[4], i356[4], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[4], o41574Field1[4])), o41575[4])), java.lang.Object(Tree(NULL, o43139[4])), o41571[4]) → LOAD40400(o41578[4], i356[4], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[4], o41574Field1[4])), o41575[4])), o43139[4], java.lang.Object(Tree(NULL, o41571[4])))
LOAD40400(o41578[5], i356[5], java.lang.Object(Tree(java.lang.Object(Tree(o43922[5], o43923[5])), o41575[5])), java.lang.Object(Tree(java.lang.Object(Tree(o43922[5], o43923[5])), o41575[5])), o41571[5]) → LOAD40400(o41578[5], i356[5], java.lang.Object(Tree(java.lang.Object(Tree(o43922[5], o43923[5])), o41575[5])), java.lang.Object(Tree(o43922[5], java.lang.Object(Tree(o43923[5], o41575[5])))), o41571[5])
LOAD40400(o41578[8], i356[8], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[8], o41574Field1[8])), o41575[8])), java.lang.Object(Tree(java.lang.Object(Tree(o49252[8], o49253[8])), o43139[8])), o41571[8]) → STORE46056(o41578[8], i356[8], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[8], o41574Field1[8])), o41575[8])), java.lang.Object(Tree(java.lang.Object(Tree(o49252[8], o49253[8])), o43139[8])), o41571[8], o49252[8])
STORE46056(o41578[2], i356[2], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[2], o41574Field1[2])), o41575[2])), java.lang.Object(Tree(java.lang.Object(Tree(o47312[2], o47313[2])), o43139[2])), o41571[2], o47312[2]) → LOAD40400(o41578[2], i356[2], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[2], o41574Field1[2])), o41575[2])), java.lang.Object(Tree(o47312[2], java.lang.Object(Tree(o47313[2], o43139[2])))), o41571[2])
LOAD40400(java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])), i356[9], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])), java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])), o41571[9]) → FIELDACCESS40823(i356[9], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])), o41571[9], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])))
FIELDACCESS40823(i356[6], java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6])), o41773[6], java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6]))) → LOAD40400(java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6])), i356[6], java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6])), java.lang.Object(Tree(o45716[6], java.lang.Object(Tree(o45717[6], o41776[6])))), o41773[6])
STORE46301(i356[12], java.lang.Object(Tree(o41775[12], o41776[12])), java.lang.Object(Tree(java.lang.Object(Tree(o47663[12], o47664[12])), o43184[12])), o41773[12], o47663[12]) → LOAD40540(i356[12], java.lang.Object(Tree(o41775[12], o41776[12])), java.lang.Object(Tree(o47663[12], java.lang.Object(Tree(o47664[12], o43184[12])))), o41773[12])
LOAD40540(i356[7], java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])), java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])), o41773[7]) → LOAD40400(java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])), i356[7], java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])), java.lang.Object(Tree(o45716[7], java.lang.Object(Tree(o45717[7], o41776[7])))), o41773[7])
LOAD40540(i356[11], java.lang.Object(Tree(o41775[11], o41776[11])), java.lang.Object(Tree(java.lang.Object(Tree(o49860[11], o49861[11])), o43184[11])), o41773[11]) → STORE46301(i356[11], java.lang.Object(Tree(o41775[11], o41776[11])), java.lang.Object(Tree(java.lang.Object(Tree(o49860[11], o49861[11])), o43184[11])), o41773[11], o49860[11])
LOAD40540(i356[14], java.lang.Object(Tree(o41775[14], o41776[14])), java.lang.Object(Tree(java.lang.Object(Tree(o47663[14], o47664[14])), o43184[14])), o41773[14]) → LOAD40540(i356[14], java.lang.Object(Tree(o41775[14], o41776[14])), java.lang.Object(Tree(o47663[14], java.lang.Object(Tree(o47664[14], o43184[14])))), o41773[14])
LOAD40540(i356[17], java.lang.Object(Tree(o41775[17], o41776[17])), java.lang.Object(Tree(NULL, o43184[17])), o41773[17]) → LOAD40540(i356[17], java.lang.Object(Tree(o41775[17], o41776[17])), o43184[17], java.lang.Object(Tree(NULL, o41773[17])))
LOAD40540(i356[19], java.lang.Object(Tree(o41775[19], o41776[19])), NULL, o41773[19]) → JMP41221'(java.lang.Object(Tree(o41775[19], o41776[19])), o41773[19], i356[19])
JMP41221'(o41578[20], o41571[20], i356[20]) → LOAD4124(o41578[20], o41571[20], i356[20])
LOAD4124(o3879[0], o3878[0], i341[0]) → NULL4222'(o3879[0], i341[0], o3878[0])
NULL4222'(java.lang.Object(Tree(java.lang.Object(Tree(o4323Field0[18], o4323Field1[18])), o4182[18])), i356[18], java.lang.Object(Tree(java.lang.Object(Tree(o4323Field0[18], o4323Field1[18])), o4182[18]))) → LOAD40540(i356[18], java.lang.Object(Tree(java.lang.Object(Tree(o4323Field0[18], o4323Field1[18])), o4182[18])), java.lang.Object(Tree(java.lang.Object(Tree(o4323Field0[18], o4323Field1[18])), o4182[18])), NULL)
NULL4222'(o3956[23], i356[23], java.lang.Object(Tree(NULL, o4175[23]))) → LOAD4124(o3956[23], o4175[23], plus_int(pos(s(0)), i356[23]))
NULL4222'(java.lang.Object(Tree(NULL, o4182[26])), i356[26], java.lang.Object(Tree(NULL, o4182[26]))) → JMP5284'(java.lang.Object(Tree(NULL, o4182[26])), o4182[26], plus_int(pos(s(0)), i356[26]))
LOAD40540(i356[25], java.lang.Object(Tree(NULL, o41776[25])), java.lang.Object(Tree(NULL, o41776[25])), o41773[25]) → JMP52452'(i356[25], java.lang.Object(Tree(NULL, o41776[25])), o41776[25], java.lang.Object(Tree(NULL, o41773[25])))
JMP52452'(i356[15], java.lang.Object(Tree(o41775[15], o41776[15])), o43184[15], java.lang.Object(Tree(NULL, o41773[15]))) → LOAD40540(i356[15], java.lang.Object(Tree(o41775[15], o41776[15])), o43184[15], java.lang.Object(Tree(NULL, o41773[15])))
FIELDACCESS40823(i356[13], java.lang.Object(Tree(o41775[13], o41776[13])), o41773[13], java.lang.Object(Tree(java.lang.Object(Tree(o47663[13], o47664[13])), o43184[13]))) → LOAD40540(i356[13], java.lang.Object(Tree(o41775[13], o41776[13])), java.lang.Object(Tree(o47663[13], java.lang.Object(Tree(o47664[13], o43184[13])))), o41773[13])
LOAD40400(o41578[21], i356[21], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[21], o41574Field1[21])), o41575[21])), NULL, o41571[21]) → LOAD4124(o41578[21], o41571[21], i356[21])
FIELDACCESS40823(z3, java.lang.Object(Tree(java.lang.Object(Tree(z0, z1)), z2)), z4, java.lang.Object(Tree(java.lang.Object(Tree(z0, z1)), z2))) → STORE46301(z3, java.lang.Object(Tree(java.lang.Object(Tree(z0, z1)), z2)), java.lang.Object(Tree(java.lang.Object(Tree(z0, z1)), z2)), z4, z0)
JMP5284'(java.lang.Object(Tree(NULL, z0)), z0, y_0) → LOAD4124(java.lang.Object(Tree(NULL, z0)), z0, y_0)

The TRS R consists of the following rules:

plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)

The set Q consists of the following terms:

plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))

We have to consider all minimal (P,Q,R)-chains.

(26) Instantiation (EQUIVALENT transformation)

By instantiating [LPAR04] the rule JMP52452'(i356[15], java.lang.Object(Tree(o41775[15], o41776[15])), o43184[15], java.lang.Object(Tree(NULL, o41773[15]))) → LOAD40540(i356[15], java.lang.Object(Tree(o41775[15], o41776[15])), o43184[15], java.lang.Object(Tree(NULL, o41773[15]))) we obtained the following new rules [LPAR04]:

JMP52452'(z0, java.lang.Object(Tree(NULL, z1)), z1, java.lang.Object(Tree(NULL, z2))) → LOAD40540(z0, java.lang.Object(Tree(NULL, z1)), z1, java.lang.Object(Tree(NULL, z2)))

(27) Obligation:

Q DP problem:
The TRS P consists of the following rules:

NULL4222'(o3956[1], i356[1], java.lang.Object(Tree(java.lang.Object(Tree(o4301Field0[1], o4301Field1[1])), o4175[1]))) → LOAD40400(o3956[1], i356[1], java.lang.Object(Tree(java.lang.Object(Tree(o4301Field0[1], o4301Field1[1])), o4175[1])), java.lang.Object(Tree(java.lang.Object(Tree(o4301Field0[1], o4301Field1[1])), o4175[1])), NULL)
LOAD40400(o41578[3], i356[3], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[3], o41574Field1[3])), o41575[3])), java.lang.Object(Tree(java.lang.Object(Tree(o47312[3], o47313[3])), o43139[3])), o41571[3]) → LOAD40400(o41578[3], i356[3], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[3], o41574Field1[3])), o41575[3])), java.lang.Object(Tree(o47312[3], java.lang.Object(Tree(o47313[3], o43139[3])))), o41571[3])
LOAD40400(o41578[4], i356[4], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[4], o41574Field1[4])), o41575[4])), java.lang.Object(Tree(NULL, o43139[4])), o41571[4]) → LOAD40400(o41578[4], i356[4], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[4], o41574Field1[4])), o41575[4])), o43139[4], java.lang.Object(Tree(NULL, o41571[4])))
LOAD40400(o41578[5], i356[5], java.lang.Object(Tree(java.lang.Object(Tree(o43922[5], o43923[5])), o41575[5])), java.lang.Object(Tree(java.lang.Object(Tree(o43922[5], o43923[5])), o41575[5])), o41571[5]) → LOAD40400(o41578[5], i356[5], java.lang.Object(Tree(java.lang.Object(Tree(o43922[5], o43923[5])), o41575[5])), java.lang.Object(Tree(o43922[5], java.lang.Object(Tree(o43923[5], o41575[5])))), o41571[5])
LOAD40400(o41578[8], i356[8], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[8], o41574Field1[8])), o41575[8])), java.lang.Object(Tree(java.lang.Object(Tree(o49252[8], o49253[8])), o43139[8])), o41571[8]) → STORE46056(o41578[8], i356[8], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[8], o41574Field1[8])), o41575[8])), java.lang.Object(Tree(java.lang.Object(Tree(o49252[8], o49253[8])), o43139[8])), o41571[8], o49252[8])
STORE46056(o41578[2], i356[2], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[2], o41574Field1[2])), o41575[2])), java.lang.Object(Tree(java.lang.Object(Tree(o47312[2], o47313[2])), o43139[2])), o41571[2], o47312[2]) → LOAD40400(o41578[2], i356[2], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[2], o41574Field1[2])), o41575[2])), java.lang.Object(Tree(o47312[2], java.lang.Object(Tree(o47313[2], o43139[2])))), o41571[2])
LOAD40400(java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])), i356[9], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])), java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])), o41571[9]) → FIELDACCESS40823(i356[9], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])), o41571[9], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])))
FIELDACCESS40823(i356[6], java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6])), o41773[6], java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6]))) → LOAD40400(java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6])), i356[6], java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6])), java.lang.Object(Tree(o45716[6], java.lang.Object(Tree(o45717[6], o41776[6])))), o41773[6])
STORE46301(i356[12], java.lang.Object(Tree(o41775[12], o41776[12])), java.lang.Object(Tree(java.lang.Object(Tree(o47663[12], o47664[12])), o43184[12])), o41773[12], o47663[12]) → LOAD40540(i356[12], java.lang.Object(Tree(o41775[12], o41776[12])), java.lang.Object(Tree(o47663[12], java.lang.Object(Tree(o47664[12], o43184[12])))), o41773[12])
LOAD40540(i356[7], java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])), java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])), o41773[7]) → LOAD40400(java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])), i356[7], java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])), java.lang.Object(Tree(o45716[7], java.lang.Object(Tree(o45717[7], o41776[7])))), o41773[7])
LOAD40540(i356[11], java.lang.Object(Tree(o41775[11], o41776[11])), java.lang.Object(Tree(java.lang.Object(Tree(o49860[11], o49861[11])), o43184[11])), o41773[11]) → STORE46301(i356[11], java.lang.Object(Tree(o41775[11], o41776[11])), java.lang.Object(Tree(java.lang.Object(Tree(o49860[11], o49861[11])), o43184[11])), o41773[11], o49860[11])
LOAD40540(i356[14], java.lang.Object(Tree(o41775[14], o41776[14])), java.lang.Object(Tree(java.lang.Object(Tree(o47663[14], o47664[14])), o43184[14])), o41773[14]) → LOAD40540(i356[14], java.lang.Object(Tree(o41775[14], o41776[14])), java.lang.Object(Tree(o47663[14], java.lang.Object(Tree(o47664[14], o43184[14])))), o41773[14])
LOAD40540(i356[17], java.lang.Object(Tree(o41775[17], o41776[17])), java.lang.Object(Tree(NULL, o43184[17])), o41773[17]) → LOAD40540(i356[17], java.lang.Object(Tree(o41775[17], o41776[17])), o43184[17], java.lang.Object(Tree(NULL, o41773[17])))
LOAD40540(i356[19], java.lang.Object(Tree(o41775[19], o41776[19])), NULL, o41773[19]) → JMP41221'(java.lang.Object(Tree(o41775[19], o41776[19])), o41773[19], i356[19])
JMP41221'(o41578[20], o41571[20], i356[20]) → LOAD4124(o41578[20], o41571[20], i356[20])
LOAD4124(o3879[0], o3878[0], i341[0]) → NULL4222'(o3879[0], i341[0], o3878[0])
NULL4222'(java.lang.Object(Tree(java.lang.Object(Tree(o4323Field0[18], o4323Field1[18])), o4182[18])), i356[18], java.lang.Object(Tree(java.lang.Object(Tree(o4323Field0[18], o4323Field1[18])), o4182[18]))) → LOAD40540(i356[18], java.lang.Object(Tree(java.lang.Object(Tree(o4323Field0[18], o4323Field1[18])), o4182[18])), java.lang.Object(Tree(java.lang.Object(Tree(o4323Field0[18], o4323Field1[18])), o4182[18])), NULL)
NULL4222'(o3956[23], i356[23], java.lang.Object(Tree(NULL, o4175[23]))) → LOAD4124(o3956[23], o4175[23], plus_int(pos(s(0)), i356[23]))
NULL4222'(java.lang.Object(Tree(NULL, o4182[26])), i356[26], java.lang.Object(Tree(NULL, o4182[26]))) → JMP5284'(java.lang.Object(Tree(NULL, o4182[26])), o4182[26], plus_int(pos(s(0)), i356[26]))
LOAD40540(i356[25], java.lang.Object(Tree(NULL, o41776[25])), java.lang.Object(Tree(NULL, o41776[25])), o41773[25]) → JMP52452'(i356[25], java.lang.Object(Tree(NULL, o41776[25])), o41776[25], java.lang.Object(Tree(NULL, o41773[25])))
FIELDACCESS40823(i356[13], java.lang.Object(Tree(o41775[13], o41776[13])), o41773[13], java.lang.Object(Tree(java.lang.Object(Tree(o47663[13], o47664[13])), o43184[13]))) → LOAD40540(i356[13], java.lang.Object(Tree(o41775[13], o41776[13])), java.lang.Object(Tree(o47663[13], java.lang.Object(Tree(o47664[13], o43184[13])))), o41773[13])
LOAD40400(o41578[21], i356[21], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[21], o41574Field1[21])), o41575[21])), NULL, o41571[21]) → LOAD4124(o41578[21], o41571[21], i356[21])
FIELDACCESS40823(z3, java.lang.Object(Tree(java.lang.Object(Tree(z0, z1)), z2)), z4, java.lang.Object(Tree(java.lang.Object(Tree(z0, z1)), z2))) → STORE46301(z3, java.lang.Object(Tree(java.lang.Object(Tree(z0, z1)), z2)), java.lang.Object(Tree(java.lang.Object(Tree(z0, z1)), z2)), z4, z0)
JMP5284'(java.lang.Object(Tree(NULL, z0)), z0, y_0) → LOAD4124(java.lang.Object(Tree(NULL, z0)), z0, y_0)
JMP52452'(z0, java.lang.Object(Tree(NULL, z1)), z1, java.lang.Object(Tree(NULL, z2))) → LOAD40540(z0, java.lang.Object(Tree(NULL, z1)), z1, java.lang.Object(Tree(NULL, z2)))

The TRS R consists of the following rules:

plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)

The set Q consists of the following terms:

plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))

We have to consider all minimal (P,Q,R)-chains.

(28) Instantiation (EQUIVALENT transformation)

By instantiating [LPAR04] the rule FIELDACCESS40823(i356[13], java.lang.Object(Tree(o41775[13], o41776[13])), o41773[13], java.lang.Object(Tree(java.lang.Object(Tree(o47663[13], o47664[13])), o43184[13]))) → LOAD40540(i356[13], java.lang.Object(Tree(o41775[13], o41776[13])), java.lang.Object(Tree(o47663[13], java.lang.Object(Tree(o47664[13], o43184[13])))), o41773[13]) we obtained the following new rules [LPAR04]:

FIELDACCESS40823(z3, java.lang.Object(Tree(java.lang.Object(Tree(z0, z1)), z2)), z4, java.lang.Object(Tree(java.lang.Object(Tree(z0, z1)), z2))) → LOAD40540(z3, java.lang.Object(Tree(java.lang.Object(Tree(z0, z1)), z2)), java.lang.Object(Tree(z0, java.lang.Object(Tree(z1, z2)))), z4)

(29) Obligation:

Q DP problem:
The TRS P consists of the following rules:

NULL4222'(o3956[1], i356[1], java.lang.Object(Tree(java.lang.Object(Tree(o4301Field0[1], o4301Field1[1])), o4175[1]))) → LOAD40400(o3956[1], i356[1], java.lang.Object(Tree(java.lang.Object(Tree(o4301Field0[1], o4301Field1[1])), o4175[1])), java.lang.Object(Tree(java.lang.Object(Tree(o4301Field0[1], o4301Field1[1])), o4175[1])), NULL)
LOAD40400(o41578[3], i356[3], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[3], o41574Field1[3])), o41575[3])), java.lang.Object(Tree(java.lang.Object(Tree(o47312[3], o47313[3])), o43139[3])), o41571[3]) → LOAD40400(o41578[3], i356[3], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[3], o41574Field1[3])), o41575[3])), java.lang.Object(Tree(o47312[3], java.lang.Object(Tree(o47313[3], o43139[3])))), o41571[3])
LOAD40400(o41578[4], i356[4], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[4], o41574Field1[4])), o41575[4])), java.lang.Object(Tree(NULL, o43139[4])), o41571[4]) → LOAD40400(o41578[4], i356[4], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[4], o41574Field1[4])), o41575[4])), o43139[4], java.lang.Object(Tree(NULL, o41571[4])))
LOAD40400(o41578[5], i356[5], java.lang.Object(Tree(java.lang.Object(Tree(o43922[5], o43923[5])), o41575[5])), java.lang.Object(Tree(java.lang.Object(Tree(o43922[5], o43923[5])), o41575[5])), o41571[5]) → LOAD40400(o41578[5], i356[5], java.lang.Object(Tree(java.lang.Object(Tree(o43922[5], o43923[5])), o41575[5])), java.lang.Object(Tree(o43922[5], java.lang.Object(Tree(o43923[5], o41575[5])))), o41571[5])
LOAD40400(o41578[8], i356[8], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[8], o41574Field1[8])), o41575[8])), java.lang.Object(Tree(java.lang.Object(Tree(o49252[8], o49253[8])), o43139[8])), o41571[8]) → STORE46056(o41578[8], i356[8], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[8], o41574Field1[8])), o41575[8])), java.lang.Object(Tree(java.lang.Object(Tree(o49252[8], o49253[8])), o43139[8])), o41571[8], o49252[8])
STORE46056(o41578[2], i356[2], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[2], o41574Field1[2])), o41575[2])), java.lang.Object(Tree(java.lang.Object(Tree(o47312[2], o47313[2])), o43139[2])), o41571[2], o47312[2]) → LOAD40400(o41578[2], i356[2], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[2], o41574Field1[2])), o41575[2])), java.lang.Object(Tree(o47312[2], java.lang.Object(Tree(o47313[2], o43139[2])))), o41571[2])
LOAD40400(java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])), i356[9], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])), java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])), o41571[9]) → FIELDACCESS40823(i356[9], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])), o41571[9], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])))
FIELDACCESS40823(i356[6], java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6])), o41773[6], java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6]))) → LOAD40400(java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6])), i356[6], java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6])), java.lang.Object(Tree(o45716[6], java.lang.Object(Tree(o45717[6], o41776[6])))), o41773[6])
STORE46301(i356[12], java.lang.Object(Tree(o41775[12], o41776[12])), java.lang.Object(Tree(java.lang.Object(Tree(o47663[12], o47664[12])), o43184[12])), o41773[12], o47663[12]) → LOAD40540(i356[12], java.lang.Object(Tree(o41775[12], o41776[12])), java.lang.Object(Tree(o47663[12], java.lang.Object(Tree(o47664[12], o43184[12])))), o41773[12])
LOAD40540(i356[7], java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])), java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])), o41773[7]) → LOAD40400(java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])), i356[7], java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])), java.lang.Object(Tree(o45716[7], java.lang.Object(Tree(o45717[7], o41776[7])))), o41773[7])
LOAD40540(i356[11], java.lang.Object(Tree(o41775[11], o41776[11])), java.lang.Object(Tree(java.lang.Object(Tree(o49860[11], o49861[11])), o43184[11])), o41773[11]) → STORE46301(i356[11], java.lang.Object(Tree(o41775[11], o41776[11])), java.lang.Object(Tree(java.lang.Object(Tree(o49860[11], o49861[11])), o43184[11])), o41773[11], o49860[11])
LOAD40540(i356[14], java.lang.Object(Tree(o41775[14], o41776[14])), java.lang.Object(Tree(java.lang.Object(Tree(o47663[14], o47664[14])), o43184[14])), o41773[14]) → LOAD40540(i356[14], java.lang.Object(Tree(o41775[14], o41776[14])), java.lang.Object(Tree(o47663[14], java.lang.Object(Tree(o47664[14], o43184[14])))), o41773[14])
LOAD40540(i356[17], java.lang.Object(Tree(o41775[17], o41776[17])), java.lang.Object(Tree(NULL, o43184[17])), o41773[17]) → LOAD40540(i356[17], java.lang.Object(Tree(o41775[17], o41776[17])), o43184[17], java.lang.Object(Tree(NULL, o41773[17])))
LOAD40540(i356[19], java.lang.Object(Tree(o41775[19], o41776[19])), NULL, o41773[19]) → JMP41221'(java.lang.Object(Tree(o41775[19], o41776[19])), o41773[19], i356[19])
JMP41221'(o41578[20], o41571[20], i356[20]) → LOAD4124(o41578[20], o41571[20], i356[20])
LOAD4124(o3879[0], o3878[0], i341[0]) → NULL4222'(o3879[0], i341[0], o3878[0])
NULL4222'(java.lang.Object(Tree(java.lang.Object(Tree(o4323Field0[18], o4323Field1[18])), o4182[18])), i356[18], java.lang.Object(Tree(java.lang.Object(Tree(o4323Field0[18], o4323Field1[18])), o4182[18]))) → LOAD40540(i356[18], java.lang.Object(Tree(java.lang.Object(Tree(o4323Field0[18], o4323Field1[18])), o4182[18])), java.lang.Object(Tree(java.lang.Object(Tree(o4323Field0[18], o4323Field1[18])), o4182[18])), NULL)
NULL4222'(o3956[23], i356[23], java.lang.Object(Tree(NULL, o4175[23]))) → LOAD4124(o3956[23], o4175[23], plus_int(pos(s(0)), i356[23]))
NULL4222'(java.lang.Object(Tree(NULL, o4182[26])), i356[26], java.lang.Object(Tree(NULL, o4182[26]))) → JMP5284'(java.lang.Object(Tree(NULL, o4182[26])), o4182[26], plus_int(pos(s(0)), i356[26]))
LOAD40540(i356[25], java.lang.Object(Tree(NULL, o41776[25])), java.lang.Object(Tree(NULL, o41776[25])), o41773[25]) → JMP52452'(i356[25], java.lang.Object(Tree(NULL, o41776[25])), o41776[25], java.lang.Object(Tree(NULL, o41773[25])))
LOAD40400(o41578[21], i356[21], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[21], o41574Field1[21])), o41575[21])), NULL, o41571[21]) → LOAD4124(o41578[21], o41571[21], i356[21])
FIELDACCESS40823(z3, java.lang.Object(Tree(java.lang.Object(Tree(z0, z1)), z2)), z4, java.lang.Object(Tree(java.lang.Object(Tree(z0, z1)), z2))) → STORE46301(z3, java.lang.Object(Tree(java.lang.Object(Tree(z0, z1)), z2)), java.lang.Object(Tree(java.lang.Object(Tree(z0, z1)), z2)), z4, z0)
JMP5284'(java.lang.Object(Tree(NULL, z0)), z0, y_0) → LOAD4124(java.lang.Object(Tree(NULL, z0)), z0, y_0)
JMP52452'(z0, java.lang.Object(Tree(NULL, z1)), z1, java.lang.Object(Tree(NULL, z2))) → LOAD40540(z0, java.lang.Object(Tree(NULL, z1)), z1, java.lang.Object(Tree(NULL, z2)))
FIELDACCESS40823(z3, java.lang.Object(Tree(java.lang.Object(Tree(z0, z1)), z2)), z4, java.lang.Object(Tree(java.lang.Object(Tree(z0, z1)), z2))) → LOAD40540(z3, java.lang.Object(Tree(java.lang.Object(Tree(z0, z1)), z2)), java.lang.Object(Tree(z0, java.lang.Object(Tree(z1, z2)))), z4)

The TRS R consists of the following rules:

plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)

The set Q consists of the following terms:

plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))

We have to consider all minimal (P,Q,R)-chains.

(30) QDPOrderProof (EQUIVALENT transformation)

We use the reduction pair processor [LPAR04].


The following pairs can be oriented strictly and are deleted.


NULL4222'(o3956[23], i356[23], java.lang.Object(Tree(NULL, o4175[23]))) → LOAD4124(o3956[23], o4175[23], plus_int(pos(s(0)), i356[23]))
NULL4222'(java.lang.Object(Tree(NULL, o4182[26])), i356[26], java.lang.Object(Tree(NULL, o4182[26]))) → JMP5284'(java.lang.Object(Tree(NULL, o4182[26])), o4182[26], plus_int(pos(s(0)), i356[26]))
The remaining pairs can at least be oriented weakly.
Used ordering: Polynomial interpretation [POLO]:

POL(0) = 0   
POL(FIELDACCESS40823(x1, x2, x3, x4)) = x3 + x4   
POL(JMP41221'(x1, x2, x3)) = 1 + x2   
POL(JMP52452'(x1, x2, x3, x4)) = x3 + x4   
POL(JMP5284'(x1, x2, x3)) = x1   
POL(LOAD40400(x1, x2, x3, x4, x5)) = x4 + x5   
POL(LOAD40540(x1, x2, x3, x4)) = x3 + x4   
POL(LOAD4124(x1, x2, x3)) = 1 + x2   
POL(NULL) = 1   
POL(NULL4222'(x1, x2, x3)) = 1 + x3   
POL(STORE46056(x1, x2, x3, x4, x5, x6)) = x4 + x5   
POL(STORE46301(x1, x2, x3, x4, x5)) = x3 + x4   
POL(Tree(x1, x2)) = x1 + x2   
POL(java.lang.Object(x1)) = x1   
POL(minus_nat(x1, x2)) = 0   
POL(neg(x1)) = 0   
POL(plus_int(x1, x2)) = 0   
POL(plus_nat(x1, x2)) = 0   
POL(pos(x1)) = 0   
POL(s(x1)) = 0   

The following usable rules [FROCOS05] were oriented: none

(31) Obligation:

Q DP problem:
The TRS P consists of the following rules:

NULL4222'(o3956[1], i356[1], java.lang.Object(Tree(java.lang.Object(Tree(o4301Field0[1], o4301Field1[1])), o4175[1]))) → LOAD40400(o3956[1], i356[1], java.lang.Object(Tree(java.lang.Object(Tree(o4301Field0[1], o4301Field1[1])), o4175[1])), java.lang.Object(Tree(java.lang.Object(Tree(o4301Field0[1], o4301Field1[1])), o4175[1])), NULL)
LOAD40400(o41578[3], i356[3], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[3], o41574Field1[3])), o41575[3])), java.lang.Object(Tree(java.lang.Object(Tree(o47312[3], o47313[3])), o43139[3])), o41571[3]) → LOAD40400(o41578[3], i356[3], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[3], o41574Field1[3])), o41575[3])), java.lang.Object(Tree(o47312[3], java.lang.Object(Tree(o47313[3], o43139[3])))), o41571[3])
LOAD40400(o41578[4], i356[4], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[4], o41574Field1[4])), o41575[4])), java.lang.Object(Tree(NULL, o43139[4])), o41571[4]) → LOAD40400(o41578[4], i356[4], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[4], o41574Field1[4])), o41575[4])), o43139[4], java.lang.Object(Tree(NULL, o41571[4])))
LOAD40400(o41578[5], i356[5], java.lang.Object(Tree(java.lang.Object(Tree(o43922[5], o43923[5])), o41575[5])), java.lang.Object(Tree(java.lang.Object(Tree(o43922[5], o43923[5])), o41575[5])), o41571[5]) → LOAD40400(o41578[5], i356[5], java.lang.Object(Tree(java.lang.Object(Tree(o43922[5], o43923[5])), o41575[5])), java.lang.Object(Tree(o43922[5], java.lang.Object(Tree(o43923[5], o41575[5])))), o41571[5])
LOAD40400(o41578[8], i356[8], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[8], o41574Field1[8])), o41575[8])), java.lang.Object(Tree(java.lang.Object(Tree(o49252[8], o49253[8])), o43139[8])), o41571[8]) → STORE46056(o41578[8], i356[8], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[8], o41574Field1[8])), o41575[8])), java.lang.Object(Tree(java.lang.Object(Tree(o49252[8], o49253[8])), o43139[8])), o41571[8], o49252[8])
STORE46056(o41578[2], i356[2], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[2], o41574Field1[2])), o41575[2])), java.lang.Object(Tree(java.lang.Object(Tree(o47312[2], o47313[2])), o43139[2])), o41571[2], o47312[2]) → LOAD40400(o41578[2], i356[2], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[2], o41574Field1[2])), o41575[2])), java.lang.Object(Tree(o47312[2], java.lang.Object(Tree(o47313[2], o43139[2])))), o41571[2])
LOAD40400(java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])), i356[9], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])), java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])), o41571[9]) → FIELDACCESS40823(i356[9], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])), o41571[9], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])))
FIELDACCESS40823(i356[6], java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6])), o41773[6], java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6]))) → LOAD40400(java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6])), i356[6], java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6])), java.lang.Object(Tree(o45716[6], java.lang.Object(Tree(o45717[6], o41776[6])))), o41773[6])
STORE46301(i356[12], java.lang.Object(Tree(o41775[12], o41776[12])), java.lang.Object(Tree(java.lang.Object(Tree(o47663[12], o47664[12])), o43184[12])), o41773[12], o47663[12]) → LOAD40540(i356[12], java.lang.Object(Tree(o41775[12], o41776[12])), java.lang.Object(Tree(o47663[12], java.lang.Object(Tree(o47664[12], o43184[12])))), o41773[12])
LOAD40540(i356[7], java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])), java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])), o41773[7]) → LOAD40400(java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])), i356[7], java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])), java.lang.Object(Tree(o45716[7], java.lang.Object(Tree(o45717[7], o41776[7])))), o41773[7])
LOAD40540(i356[11], java.lang.Object(Tree(o41775[11], o41776[11])), java.lang.Object(Tree(java.lang.Object(Tree(o49860[11], o49861[11])), o43184[11])), o41773[11]) → STORE46301(i356[11], java.lang.Object(Tree(o41775[11], o41776[11])), java.lang.Object(Tree(java.lang.Object(Tree(o49860[11], o49861[11])), o43184[11])), o41773[11], o49860[11])
LOAD40540(i356[14], java.lang.Object(Tree(o41775[14], o41776[14])), java.lang.Object(Tree(java.lang.Object(Tree(o47663[14], o47664[14])), o43184[14])), o41773[14]) → LOAD40540(i356[14], java.lang.Object(Tree(o41775[14], o41776[14])), java.lang.Object(Tree(o47663[14], java.lang.Object(Tree(o47664[14], o43184[14])))), o41773[14])
LOAD40540(i356[17], java.lang.Object(Tree(o41775[17], o41776[17])), java.lang.Object(Tree(NULL, o43184[17])), o41773[17]) → LOAD40540(i356[17], java.lang.Object(Tree(o41775[17], o41776[17])), o43184[17], java.lang.Object(Tree(NULL, o41773[17])))
LOAD40540(i356[19], java.lang.Object(Tree(o41775[19], o41776[19])), NULL, o41773[19]) → JMP41221'(java.lang.Object(Tree(o41775[19], o41776[19])), o41773[19], i356[19])
JMP41221'(o41578[20], o41571[20], i356[20]) → LOAD4124(o41578[20], o41571[20], i356[20])
LOAD4124(o3879[0], o3878[0], i341[0]) → NULL4222'(o3879[0], i341[0], o3878[0])
NULL4222'(java.lang.Object(Tree(java.lang.Object(Tree(o4323Field0[18], o4323Field1[18])), o4182[18])), i356[18], java.lang.Object(Tree(java.lang.Object(Tree(o4323Field0[18], o4323Field1[18])), o4182[18]))) → LOAD40540(i356[18], java.lang.Object(Tree(java.lang.Object(Tree(o4323Field0[18], o4323Field1[18])), o4182[18])), java.lang.Object(Tree(java.lang.Object(Tree(o4323Field0[18], o4323Field1[18])), o4182[18])), NULL)
LOAD40540(i356[25], java.lang.Object(Tree(NULL, o41776[25])), java.lang.Object(Tree(NULL, o41776[25])), o41773[25]) → JMP52452'(i356[25], java.lang.Object(Tree(NULL, o41776[25])), o41776[25], java.lang.Object(Tree(NULL, o41773[25])))
LOAD40400(o41578[21], i356[21], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[21], o41574Field1[21])), o41575[21])), NULL, o41571[21]) → LOAD4124(o41578[21], o41571[21], i356[21])
FIELDACCESS40823(z3, java.lang.Object(Tree(java.lang.Object(Tree(z0, z1)), z2)), z4, java.lang.Object(Tree(java.lang.Object(Tree(z0, z1)), z2))) → STORE46301(z3, java.lang.Object(Tree(java.lang.Object(Tree(z0, z1)), z2)), java.lang.Object(Tree(java.lang.Object(Tree(z0, z1)), z2)), z4, z0)
JMP5284'(java.lang.Object(Tree(NULL, z0)), z0, y_0) → LOAD4124(java.lang.Object(Tree(NULL, z0)), z0, y_0)
JMP52452'(z0, java.lang.Object(Tree(NULL, z1)), z1, java.lang.Object(Tree(NULL, z2))) → LOAD40540(z0, java.lang.Object(Tree(NULL, z1)), z1, java.lang.Object(Tree(NULL, z2)))
FIELDACCESS40823(z3, java.lang.Object(Tree(java.lang.Object(Tree(z0, z1)), z2)), z4, java.lang.Object(Tree(java.lang.Object(Tree(z0, z1)), z2))) → LOAD40540(z3, java.lang.Object(Tree(java.lang.Object(Tree(z0, z1)), z2)), java.lang.Object(Tree(z0, java.lang.Object(Tree(z1, z2)))), z4)

The TRS R consists of the following rules:

plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)

The set Q consists of the following terms:

plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))

We have to consider all minimal (P,Q,R)-chains.

(32) DependencyGraphProof (EQUIVALENT transformation)

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

(33) Obligation:

Q DP problem:
The TRS P consists of the following rules:

LOAD40400(o41578[3], i356[3], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[3], o41574Field1[3])), o41575[3])), java.lang.Object(Tree(java.lang.Object(Tree(o47312[3], o47313[3])), o43139[3])), o41571[3]) → LOAD40400(o41578[3], i356[3], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[3], o41574Field1[3])), o41575[3])), java.lang.Object(Tree(o47312[3], java.lang.Object(Tree(o47313[3], o43139[3])))), o41571[3])
LOAD40400(o41578[4], i356[4], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[4], o41574Field1[4])), o41575[4])), java.lang.Object(Tree(NULL, o43139[4])), o41571[4]) → LOAD40400(o41578[4], i356[4], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[4], o41574Field1[4])), o41575[4])), o43139[4], java.lang.Object(Tree(NULL, o41571[4])))
LOAD40400(o41578[5], i356[5], java.lang.Object(Tree(java.lang.Object(Tree(o43922[5], o43923[5])), o41575[5])), java.lang.Object(Tree(java.lang.Object(Tree(o43922[5], o43923[5])), o41575[5])), o41571[5]) → LOAD40400(o41578[5], i356[5], java.lang.Object(Tree(java.lang.Object(Tree(o43922[5], o43923[5])), o41575[5])), java.lang.Object(Tree(o43922[5], java.lang.Object(Tree(o43923[5], o41575[5])))), o41571[5])
LOAD40400(o41578[8], i356[8], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[8], o41574Field1[8])), o41575[8])), java.lang.Object(Tree(java.lang.Object(Tree(o49252[8], o49253[8])), o43139[8])), o41571[8]) → STORE46056(o41578[8], i356[8], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[8], o41574Field1[8])), o41575[8])), java.lang.Object(Tree(java.lang.Object(Tree(o49252[8], o49253[8])), o43139[8])), o41571[8], o49252[8])
STORE46056(o41578[2], i356[2], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[2], o41574Field1[2])), o41575[2])), java.lang.Object(Tree(java.lang.Object(Tree(o47312[2], o47313[2])), o43139[2])), o41571[2], o47312[2]) → LOAD40400(o41578[2], i356[2], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[2], o41574Field1[2])), o41575[2])), java.lang.Object(Tree(o47312[2], java.lang.Object(Tree(o47313[2], o43139[2])))), o41571[2])
LOAD40400(java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])), i356[9], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])), java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])), o41571[9]) → FIELDACCESS40823(i356[9], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])), o41571[9], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])))
FIELDACCESS40823(i356[6], java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6])), o41773[6], java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6]))) → LOAD40400(java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6])), i356[6], java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6])), java.lang.Object(Tree(o45716[6], java.lang.Object(Tree(o45717[6], o41776[6])))), o41773[6])
FIELDACCESS40823(z3, java.lang.Object(Tree(java.lang.Object(Tree(z0, z1)), z2)), z4, java.lang.Object(Tree(java.lang.Object(Tree(z0, z1)), z2))) → STORE46301(z3, java.lang.Object(Tree(java.lang.Object(Tree(z0, z1)), z2)), java.lang.Object(Tree(java.lang.Object(Tree(z0, z1)), z2)), z4, z0)
STORE46301(i356[12], java.lang.Object(Tree(o41775[12], o41776[12])), java.lang.Object(Tree(java.lang.Object(Tree(o47663[12], o47664[12])), o43184[12])), o41773[12], o47663[12]) → LOAD40540(i356[12], java.lang.Object(Tree(o41775[12], o41776[12])), java.lang.Object(Tree(o47663[12], java.lang.Object(Tree(o47664[12], o43184[12])))), o41773[12])
LOAD40540(i356[7], java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])), java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])), o41773[7]) → LOAD40400(java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])), i356[7], java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])), java.lang.Object(Tree(o45716[7], java.lang.Object(Tree(o45717[7], o41776[7])))), o41773[7])
LOAD40540(i356[11], java.lang.Object(Tree(o41775[11], o41776[11])), java.lang.Object(Tree(java.lang.Object(Tree(o49860[11], o49861[11])), o43184[11])), o41773[11]) → STORE46301(i356[11], java.lang.Object(Tree(o41775[11], o41776[11])), java.lang.Object(Tree(java.lang.Object(Tree(o49860[11], o49861[11])), o43184[11])), o41773[11], o49860[11])
LOAD40540(i356[14], java.lang.Object(Tree(o41775[14], o41776[14])), java.lang.Object(Tree(java.lang.Object(Tree(o47663[14], o47664[14])), o43184[14])), o41773[14]) → LOAD40540(i356[14], java.lang.Object(Tree(o41775[14], o41776[14])), java.lang.Object(Tree(o47663[14], java.lang.Object(Tree(o47664[14], o43184[14])))), o41773[14])
LOAD40540(i356[17], java.lang.Object(Tree(o41775[17], o41776[17])), java.lang.Object(Tree(NULL, o43184[17])), o41773[17]) → LOAD40540(i356[17], java.lang.Object(Tree(o41775[17], o41776[17])), o43184[17], java.lang.Object(Tree(NULL, o41773[17])))
LOAD40540(i356[19], java.lang.Object(Tree(o41775[19], o41776[19])), NULL, o41773[19]) → JMP41221'(java.lang.Object(Tree(o41775[19], o41776[19])), o41773[19], i356[19])
JMP41221'(o41578[20], o41571[20], i356[20]) → LOAD4124(o41578[20], o41571[20], i356[20])
LOAD4124(o3879[0], o3878[0], i341[0]) → NULL4222'(o3879[0], i341[0], o3878[0])
NULL4222'(o3956[1], i356[1], java.lang.Object(Tree(java.lang.Object(Tree(o4301Field0[1], o4301Field1[1])), o4175[1]))) → LOAD40400(o3956[1], i356[1], java.lang.Object(Tree(java.lang.Object(Tree(o4301Field0[1], o4301Field1[1])), o4175[1])), java.lang.Object(Tree(java.lang.Object(Tree(o4301Field0[1], o4301Field1[1])), o4175[1])), NULL)
NULL4222'(java.lang.Object(Tree(java.lang.Object(Tree(o4323Field0[18], o4323Field1[18])), o4182[18])), i356[18], java.lang.Object(Tree(java.lang.Object(Tree(o4323Field0[18], o4323Field1[18])), o4182[18]))) → LOAD40540(i356[18], java.lang.Object(Tree(java.lang.Object(Tree(o4323Field0[18], o4323Field1[18])), o4182[18])), java.lang.Object(Tree(java.lang.Object(Tree(o4323Field0[18], o4323Field1[18])), o4182[18])), NULL)
LOAD40540(i356[25], java.lang.Object(Tree(NULL, o41776[25])), java.lang.Object(Tree(NULL, o41776[25])), o41773[25]) → JMP52452'(i356[25], java.lang.Object(Tree(NULL, o41776[25])), o41776[25], java.lang.Object(Tree(NULL, o41773[25])))
JMP52452'(z0, java.lang.Object(Tree(NULL, z1)), z1, java.lang.Object(Tree(NULL, z2))) → LOAD40540(z0, java.lang.Object(Tree(NULL, z1)), z1, java.lang.Object(Tree(NULL, z2)))
FIELDACCESS40823(z3, java.lang.Object(Tree(java.lang.Object(Tree(z0, z1)), z2)), z4, java.lang.Object(Tree(java.lang.Object(Tree(z0, z1)), z2))) → LOAD40540(z3, java.lang.Object(Tree(java.lang.Object(Tree(z0, z1)), z2)), java.lang.Object(Tree(z0, java.lang.Object(Tree(z1, z2)))), z4)
LOAD40400(o41578[21], i356[21], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[21], o41574Field1[21])), o41575[21])), NULL, o41571[21]) → LOAD4124(o41578[21], o41571[21], i356[21])

The TRS R consists of the following rules:

plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)

The set Q consists of the following terms:

plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))

We have to consider all minimal (P,Q,R)-chains.

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

(35) Obligation:

Q DP problem:
The TRS P consists of the following rules:

LOAD40400(o41578[3], i356[3], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[3], o41574Field1[3])), o41575[3])), java.lang.Object(Tree(java.lang.Object(Tree(o47312[3], o47313[3])), o43139[3])), o41571[3]) → LOAD40400(o41578[3], i356[3], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[3], o41574Field1[3])), o41575[3])), java.lang.Object(Tree(o47312[3], java.lang.Object(Tree(o47313[3], o43139[3])))), o41571[3])
LOAD40400(o41578[4], i356[4], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[4], o41574Field1[4])), o41575[4])), java.lang.Object(Tree(NULL, o43139[4])), o41571[4]) → LOAD40400(o41578[4], i356[4], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[4], o41574Field1[4])), o41575[4])), o43139[4], java.lang.Object(Tree(NULL, o41571[4])))
LOAD40400(o41578[5], i356[5], java.lang.Object(Tree(java.lang.Object(Tree(o43922[5], o43923[5])), o41575[5])), java.lang.Object(Tree(java.lang.Object(Tree(o43922[5], o43923[5])), o41575[5])), o41571[5]) → LOAD40400(o41578[5], i356[5], java.lang.Object(Tree(java.lang.Object(Tree(o43922[5], o43923[5])), o41575[5])), java.lang.Object(Tree(o43922[5], java.lang.Object(Tree(o43923[5], o41575[5])))), o41571[5])
LOAD40400(o41578[8], i356[8], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[8], o41574Field1[8])), o41575[8])), java.lang.Object(Tree(java.lang.Object(Tree(o49252[8], o49253[8])), o43139[8])), o41571[8]) → STORE46056(o41578[8], i356[8], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[8], o41574Field1[8])), o41575[8])), java.lang.Object(Tree(java.lang.Object(Tree(o49252[8], o49253[8])), o43139[8])), o41571[8], o49252[8])
STORE46056(o41578[2], i356[2], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[2], o41574Field1[2])), o41575[2])), java.lang.Object(Tree(java.lang.Object(Tree(o47312[2], o47313[2])), o43139[2])), o41571[2], o47312[2]) → LOAD40400(o41578[2], i356[2], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[2], o41574Field1[2])), o41575[2])), java.lang.Object(Tree(o47312[2], java.lang.Object(Tree(o47313[2], o43139[2])))), o41571[2])
LOAD40400(java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])), i356[9], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])), java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])), o41571[9]) → FIELDACCESS40823(i356[9], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])), o41571[9], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])))
FIELDACCESS40823(i356[6], java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6])), o41773[6], java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6]))) → LOAD40400(java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6])), i356[6], java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6])), java.lang.Object(Tree(o45716[6], java.lang.Object(Tree(o45717[6], o41776[6])))), o41773[6])
FIELDACCESS40823(z3, java.lang.Object(Tree(java.lang.Object(Tree(z0, z1)), z2)), z4, java.lang.Object(Tree(java.lang.Object(Tree(z0, z1)), z2))) → STORE46301(z3, java.lang.Object(Tree(java.lang.Object(Tree(z0, z1)), z2)), java.lang.Object(Tree(java.lang.Object(Tree(z0, z1)), z2)), z4, z0)
STORE46301(i356[12], java.lang.Object(Tree(o41775[12], o41776[12])), java.lang.Object(Tree(java.lang.Object(Tree(o47663[12], o47664[12])), o43184[12])), o41773[12], o47663[12]) → LOAD40540(i356[12], java.lang.Object(Tree(o41775[12], o41776[12])), java.lang.Object(Tree(o47663[12], java.lang.Object(Tree(o47664[12], o43184[12])))), o41773[12])
LOAD40540(i356[7], java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])), java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])), o41773[7]) → LOAD40400(java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])), i356[7], java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])), java.lang.Object(Tree(o45716[7], java.lang.Object(Tree(o45717[7], o41776[7])))), o41773[7])
LOAD40540(i356[11], java.lang.Object(Tree(o41775[11], o41776[11])), java.lang.Object(Tree(java.lang.Object(Tree(o49860[11], o49861[11])), o43184[11])), o41773[11]) → STORE46301(i356[11], java.lang.Object(Tree(o41775[11], o41776[11])), java.lang.Object(Tree(java.lang.Object(Tree(o49860[11], o49861[11])), o43184[11])), o41773[11], o49860[11])
LOAD40540(i356[14], java.lang.Object(Tree(o41775[14], o41776[14])), java.lang.Object(Tree(java.lang.Object(Tree(o47663[14], o47664[14])), o43184[14])), o41773[14]) → LOAD40540(i356[14], java.lang.Object(Tree(o41775[14], o41776[14])), java.lang.Object(Tree(o47663[14], java.lang.Object(Tree(o47664[14], o43184[14])))), o41773[14])
LOAD40540(i356[17], java.lang.Object(Tree(o41775[17], o41776[17])), java.lang.Object(Tree(NULL, o43184[17])), o41773[17]) → LOAD40540(i356[17], java.lang.Object(Tree(o41775[17], o41776[17])), o43184[17], java.lang.Object(Tree(NULL, o41773[17])))
LOAD40540(i356[19], java.lang.Object(Tree(o41775[19], o41776[19])), NULL, o41773[19]) → JMP41221'(java.lang.Object(Tree(o41775[19], o41776[19])), o41773[19], i356[19])
JMP41221'(o41578[20], o41571[20], i356[20]) → LOAD4124(o41578[20], o41571[20], i356[20])
LOAD4124(o3879[0], o3878[0], i341[0]) → NULL4222'(o3879[0], i341[0], o3878[0])
NULL4222'(o3956[1], i356[1], java.lang.Object(Tree(java.lang.Object(Tree(o4301Field0[1], o4301Field1[1])), o4175[1]))) → LOAD40400(o3956[1], i356[1], java.lang.Object(Tree(java.lang.Object(Tree(o4301Field0[1], o4301Field1[1])), o4175[1])), java.lang.Object(Tree(java.lang.Object(Tree(o4301Field0[1], o4301Field1[1])), o4175[1])), NULL)
NULL4222'(java.lang.Object(Tree(java.lang.Object(Tree(o4323Field0[18], o4323Field1[18])), o4182[18])), i356[18], java.lang.Object(Tree(java.lang.Object(Tree(o4323Field0[18], o4323Field1[18])), o4182[18]))) → LOAD40540(i356[18], java.lang.Object(Tree(java.lang.Object(Tree(o4323Field0[18], o4323Field1[18])), o4182[18])), java.lang.Object(Tree(java.lang.Object(Tree(o4323Field0[18], o4323Field1[18])), o4182[18])), NULL)
LOAD40540(i356[25], java.lang.Object(Tree(NULL, o41776[25])), java.lang.Object(Tree(NULL, o41776[25])), o41773[25]) → JMP52452'(i356[25], java.lang.Object(Tree(NULL, o41776[25])), o41776[25], java.lang.Object(Tree(NULL, o41773[25])))
JMP52452'(z0, java.lang.Object(Tree(NULL, z1)), z1, java.lang.Object(Tree(NULL, z2))) → LOAD40540(z0, java.lang.Object(Tree(NULL, z1)), z1, java.lang.Object(Tree(NULL, z2)))
FIELDACCESS40823(z3, java.lang.Object(Tree(java.lang.Object(Tree(z0, z1)), z2)), z4, java.lang.Object(Tree(java.lang.Object(Tree(z0, z1)), z2))) → LOAD40540(z3, java.lang.Object(Tree(java.lang.Object(Tree(z0, z1)), z2)), java.lang.Object(Tree(z0, java.lang.Object(Tree(z1, z2)))), z4)
LOAD40400(o41578[21], i356[21], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[21], o41574Field1[21])), o41575[21])), NULL, o41571[21]) → LOAD4124(o41578[21], o41571[21], i356[21])

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

plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))

We have to consider all minimal (P,Q,R)-chains.

(36) QReductionProof (EQUIVALENT transformation)

We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN].

plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))

(37) Obligation:

Q DP problem:
The TRS P consists of the following rules:

LOAD40400(o41578[3], i356[3], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[3], o41574Field1[3])), o41575[3])), java.lang.Object(Tree(java.lang.Object(Tree(o47312[3], o47313[3])), o43139[3])), o41571[3]) → LOAD40400(o41578[3], i356[3], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[3], o41574Field1[3])), o41575[3])), java.lang.Object(Tree(o47312[3], java.lang.Object(Tree(o47313[3], o43139[3])))), o41571[3])
LOAD40400(o41578[4], i356[4], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[4], o41574Field1[4])), o41575[4])), java.lang.Object(Tree(NULL, o43139[4])), o41571[4]) → LOAD40400(o41578[4], i356[4], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[4], o41574Field1[4])), o41575[4])), o43139[4], java.lang.Object(Tree(NULL, o41571[4])))
LOAD40400(o41578[5], i356[5], java.lang.Object(Tree(java.lang.Object(Tree(o43922[5], o43923[5])), o41575[5])), java.lang.Object(Tree(java.lang.Object(Tree(o43922[5], o43923[5])), o41575[5])), o41571[5]) → LOAD40400(o41578[5], i356[5], java.lang.Object(Tree(java.lang.Object(Tree(o43922[5], o43923[5])), o41575[5])), java.lang.Object(Tree(o43922[5], java.lang.Object(Tree(o43923[5], o41575[5])))), o41571[5])
LOAD40400(o41578[8], i356[8], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[8], o41574Field1[8])), o41575[8])), java.lang.Object(Tree(java.lang.Object(Tree(o49252[8], o49253[8])), o43139[8])), o41571[8]) → STORE46056(o41578[8], i356[8], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[8], o41574Field1[8])), o41575[8])), java.lang.Object(Tree(java.lang.Object(Tree(o49252[8], o49253[8])), o43139[8])), o41571[8], o49252[8])
STORE46056(o41578[2], i356[2], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[2], o41574Field1[2])), o41575[2])), java.lang.Object(Tree(java.lang.Object(Tree(o47312[2], o47313[2])), o43139[2])), o41571[2], o47312[2]) → LOAD40400(o41578[2], i356[2], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[2], o41574Field1[2])), o41575[2])), java.lang.Object(Tree(o47312[2], java.lang.Object(Tree(o47313[2], o43139[2])))), o41571[2])
LOAD40400(java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])), i356[9], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])), java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])), o41571[9]) → FIELDACCESS40823(i356[9], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])), o41571[9], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])))
FIELDACCESS40823(i356[6], java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6])), o41773[6], java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6]))) → LOAD40400(java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6])), i356[6], java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6])), java.lang.Object(Tree(o45716[6], java.lang.Object(Tree(o45717[6], o41776[6])))), o41773[6])
FIELDACCESS40823(z3, java.lang.Object(Tree(java.lang.Object(Tree(z0, z1)), z2)), z4, java.lang.Object(Tree(java.lang.Object(Tree(z0, z1)), z2))) → STORE46301(z3, java.lang.Object(Tree(java.lang.Object(Tree(z0, z1)), z2)), java.lang.Object(Tree(java.lang.Object(Tree(z0, z1)), z2)), z4, z0)
STORE46301(i356[12], java.lang.Object(Tree(o41775[12], o41776[12])), java.lang.Object(Tree(java.lang.Object(Tree(o47663[12], o47664[12])), o43184[12])), o41773[12], o47663[12]) → LOAD40540(i356[12], java.lang.Object(Tree(o41775[12], o41776[12])), java.lang.Object(Tree(o47663[12], java.lang.Object(Tree(o47664[12], o43184[12])))), o41773[12])
LOAD40540(i356[7], java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])), java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])), o41773[7]) → LOAD40400(java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])), i356[7], java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])), java.lang.Object(Tree(o45716[7], java.lang.Object(Tree(o45717[7], o41776[7])))), o41773[7])
LOAD40540(i356[11], java.lang.Object(Tree(o41775[11], o41776[11])), java.lang.Object(Tree(java.lang.Object(Tree(o49860[11], o49861[11])), o43184[11])), o41773[11]) → STORE46301(i356[11], java.lang.Object(Tree(o41775[11], o41776[11])), java.lang.Object(Tree(java.lang.Object(Tree(o49860[11], o49861[11])), o43184[11])), o41773[11], o49860[11])
LOAD40540(i356[14], java.lang.Object(Tree(o41775[14], o41776[14])), java.lang.Object(Tree(java.lang.Object(Tree(o47663[14], o47664[14])), o43184[14])), o41773[14]) → LOAD40540(i356[14], java.lang.Object(Tree(o41775[14], o41776[14])), java.lang.Object(Tree(o47663[14], java.lang.Object(Tree(o47664[14], o43184[14])))), o41773[14])
LOAD40540(i356[17], java.lang.Object(Tree(o41775[17], o41776[17])), java.lang.Object(Tree(NULL, o43184[17])), o41773[17]) → LOAD40540(i356[17], java.lang.Object(Tree(o41775[17], o41776[17])), o43184[17], java.lang.Object(Tree(NULL, o41773[17])))
LOAD40540(i356[19], java.lang.Object(Tree(o41775[19], o41776[19])), NULL, o41773[19]) → JMP41221'(java.lang.Object(Tree(o41775[19], o41776[19])), o41773[19], i356[19])
JMP41221'(o41578[20], o41571[20], i356[20]) → LOAD4124(o41578[20], o41571[20], i356[20])
LOAD4124(o3879[0], o3878[0], i341[0]) → NULL4222'(o3879[0], i341[0], o3878[0])
NULL4222'(o3956[1], i356[1], java.lang.Object(Tree(java.lang.Object(Tree(o4301Field0[1], o4301Field1[1])), o4175[1]))) → LOAD40400(o3956[1], i356[1], java.lang.Object(Tree(java.lang.Object(Tree(o4301Field0[1], o4301Field1[1])), o4175[1])), java.lang.Object(Tree(java.lang.Object(Tree(o4301Field0[1], o4301Field1[1])), o4175[1])), NULL)
NULL4222'(java.lang.Object(Tree(java.lang.Object(Tree(o4323Field0[18], o4323Field1[18])), o4182[18])), i356[18], java.lang.Object(Tree(java.lang.Object(Tree(o4323Field0[18], o4323Field1[18])), o4182[18]))) → LOAD40540(i356[18], java.lang.Object(Tree(java.lang.Object(Tree(o4323Field0[18], o4323Field1[18])), o4182[18])), java.lang.Object(Tree(java.lang.Object(Tree(o4323Field0[18], o4323Field1[18])), o4182[18])), NULL)
LOAD40540(i356[25], java.lang.Object(Tree(NULL, o41776[25])), java.lang.Object(Tree(NULL, o41776[25])), o41773[25]) → JMP52452'(i356[25], java.lang.Object(Tree(NULL, o41776[25])), o41776[25], java.lang.Object(Tree(NULL, o41773[25])))
JMP52452'(z0, java.lang.Object(Tree(NULL, z1)), z1, java.lang.Object(Tree(NULL, z2))) → LOAD40540(z0, java.lang.Object(Tree(NULL, z1)), z1, java.lang.Object(Tree(NULL, z2)))
FIELDACCESS40823(z3, java.lang.Object(Tree(java.lang.Object(Tree(z0, z1)), z2)), z4, java.lang.Object(Tree(java.lang.Object(Tree(z0, z1)), z2))) → LOAD40540(z3, java.lang.Object(Tree(java.lang.Object(Tree(z0, z1)), z2)), java.lang.Object(Tree(z0, java.lang.Object(Tree(z1, z2)))), z4)
LOAD40400(o41578[21], i356[21], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[21], o41574Field1[21])), o41575[21])), NULL, o41571[21]) → LOAD4124(o41578[21], o41571[21], i356[21])

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.

(38) QDPOrderProof (EQUIVALENT transformation)

We use the reduction pair processor [LPAR04].


The following pairs can be oriented strictly and are deleted.


NULL4222'(o3956[1], i356[1], java.lang.Object(Tree(java.lang.Object(Tree(o4301Field0[1], o4301Field1[1])), o4175[1]))) → LOAD40400(o3956[1], i356[1], java.lang.Object(Tree(java.lang.Object(Tree(o4301Field0[1], o4301Field1[1])), o4175[1])), java.lang.Object(Tree(java.lang.Object(Tree(o4301Field0[1], o4301Field1[1])), o4175[1])), NULL)
NULL4222'(java.lang.Object(Tree(java.lang.Object(Tree(o4323Field0[18], o4323Field1[18])), o4182[18])), i356[18], java.lang.Object(Tree(java.lang.Object(Tree(o4323Field0[18], o4323Field1[18])), o4182[18]))) → LOAD40540(i356[18], java.lang.Object(Tree(java.lang.Object(Tree(o4323Field0[18], o4323Field1[18])), o4182[18])), java.lang.Object(Tree(java.lang.Object(Tree(o4323Field0[18], o4323Field1[18])), o4182[18])), NULL)
The remaining pairs can at least be oriented weakly.
Used ordering: Matrix interpretation [MATRO]:

POL(LOAD40400(x1, x2, x3, x4, x5)) = 0 +
[0,0]
·x1 +
[0,0]
·x2 +
[0,0]
·x3 +
[0,0]
·x4 +
[1,0]
·x5

POL(java.lang.Object(x1)) =
/0\
\1/
+
/11\
\00/
·x1

POL(Tree(x1, x2)) =
/0\
\0/
+
/01\
\01/
·x1 +
/00\
\00/
·x2

POL(NULL) =
/0\
\0/

POL(STORE46056(x1, x2, x3, x4, x5, x6)) = 0 +
[0,0]
·x1 +
[0,0]
·x2 +
[0,0]
·x3 +
[0,0]
·x4 +
[1,0]
·x5 +
[0,0]
·x6

POL(FIELDACCESS40823(x1, x2, x3, x4)) = 0 +
[0,0]
·x1 +
[0,0]
·x2 +
[1,0]
·x3 +
[0,0]
·x4

POL(STORE46301(x1, x2, x3, x4, x5)) = 0 +
[0,0]
·x1 +
[0,0]
·x2 +
[0,0]
·x3 +
[1,0]
·x4 +
[0,0]
·x5

POL(LOAD40540(x1, x2, x3, x4)) = 0 +
[0,0]
·x1 +
[0,0]
·x2 +
[0,0]
·x3 +
[1,0]
·x4

POL(JMP41221'(x1, x2, x3)) = 0 +
[0,0]
·x1 +
[1,0]
·x2 +
[0,0]
·x3

POL(LOAD4124(x1, x2, x3)) = 0 +
[0,0]
·x1 +
[1,0]
·x2 +
[0,0]
·x3

POL(NULL4222'(x1, x2, x3)) = 0 +
[0,0]
·x1 +
[0,0]
·x2 +
[1,0]
·x3

POL(JMP52452'(x1, x2, x3, x4)) = 0 +
[0,0]
·x1 +
[0,0]
·x2 +
[0,0]
·x3 +
[0,0]
·x4

The following usable rules [FROCOS05] were oriented: none

(39) Obligation:

Q DP problem:
The TRS P consists of the following rules:

LOAD40400(o41578[3], i356[3], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[3], o41574Field1[3])), o41575[3])), java.lang.Object(Tree(java.lang.Object(Tree(o47312[3], o47313[3])), o43139[3])), o41571[3]) → LOAD40400(o41578[3], i356[3], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[3], o41574Field1[3])), o41575[3])), java.lang.Object(Tree(o47312[3], java.lang.Object(Tree(o47313[3], o43139[3])))), o41571[3])
LOAD40400(o41578[4], i356[4], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[4], o41574Field1[4])), o41575[4])), java.lang.Object(Tree(NULL, o43139[4])), o41571[4]) → LOAD40400(o41578[4], i356[4], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[4], o41574Field1[4])), o41575[4])), o43139[4], java.lang.Object(Tree(NULL, o41571[4])))
LOAD40400(o41578[5], i356[5], java.lang.Object(Tree(java.lang.Object(Tree(o43922[5], o43923[5])), o41575[5])), java.lang.Object(Tree(java.lang.Object(Tree(o43922[5], o43923[5])), o41575[5])), o41571[5]) → LOAD40400(o41578[5], i356[5], java.lang.Object(Tree(java.lang.Object(Tree(o43922[5], o43923[5])), o41575[5])), java.lang.Object(Tree(o43922[5], java.lang.Object(Tree(o43923[5], o41575[5])))), o41571[5])
LOAD40400(o41578[8], i356[8], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[8], o41574Field1[8])), o41575[8])), java.lang.Object(Tree(java.lang.Object(Tree(o49252[8], o49253[8])), o43139[8])), o41571[8]) → STORE46056(o41578[8], i356[8], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[8], o41574Field1[8])), o41575[8])), java.lang.Object(Tree(java.lang.Object(Tree(o49252[8], o49253[8])), o43139[8])), o41571[8], o49252[8])
STORE46056(o41578[2], i356[2], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[2], o41574Field1[2])), o41575[2])), java.lang.Object(Tree(java.lang.Object(Tree(o47312[2], o47313[2])), o43139[2])), o41571[2], o47312[2]) → LOAD40400(o41578[2], i356[2], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[2], o41574Field1[2])), o41575[2])), java.lang.Object(Tree(o47312[2], java.lang.Object(Tree(o47313[2], o43139[2])))), o41571[2])
LOAD40400(java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])), i356[9], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])), java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])), o41571[9]) → FIELDACCESS40823(i356[9], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])), o41571[9], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])))
FIELDACCESS40823(i356[6], java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6])), o41773[6], java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6]))) → LOAD40400(java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6])), i356[6], java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6])), java.lang.Object(Tree(o45716[6], java.lang.Object(Tree(o45717[6], o41776[6])))), o41773[6])
FIELDACCESS40823(z3, java.lang.Object(Tree(java.lang.Object(Tree(z0, z1)), z2)), z4, java.lang.Object(Tree(java.lang.Object(Tree(z0, z1)), z2))) → STORE46301(z3, java.lang.Object(Tree(java.lang.Object(Tree(z0, z1)), z2)), java.lang.Object(Tree(java.lang.Object(Tree(z0, z1)), z2)), z4, z0)
STORE46301(i356[12], java.lang.Object(Tree(o41775[12], o41776[12])), java.lang.Object(Tree(java.lang.Object(Tree(o47663[12], o47664[12])), o43184[12])), o41773[12], o47663[12]) → LOAD40540(i356[12], java.lang.Object(Tree(o41775[12], o41776[12])), java.lang.Object(Tree(o47663[12], java.lang.Object(Tree(o47664[12], o43184[12])))), o41773[12])
LOAD40540(i356[7], java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])), java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])), o41773[7]) → LOAD40400(java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])), i356[7], java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])), java.lang.Object(Tree(o45716[7], java.lang.Object(Tree(o45717[7], o41776[7])))), o41773[7])
LOAD40540(i356[11], java.lang.Object(Tree(o41775[11], o41776[11])), java.lang.Object(Tree(java.lang.Object(Tree(o49860[11], o49861[11])), o43184[11])), o41773[11]) → STORE46301(i356[11], java.lang.Object(Tree(o41775[11], o41776[11])), java.lang.Object(Tree(java.lang.Object(Tree(o49860[11], o49861[11])), o43184[11])), o41773[11], o49860[11])
LOAD40540(i356[14], java.lang.Object(Tree(o41775[14], o41776[14])), java.lang.Object(Tree(java.lang.Object(Tree(o47663[14], o47664[14])), o43184[14])), o41773[14]) → LOAD40540(i356[14], java.lang.Object(Tree(o41775[14], o41776[14])), java.lang.Object(Tree(o47663[14], java.lang.Object(Tree(o47664[14], o43184[14])))), o41773[14])
LOAD40540(i356[17], java.lang.Object(Tree(o41775[17], o41776[17])), java.lang.Object(Tree(NULL, o43184[17])), o41773[17]) → LOAD40540(i356[17], java.lang.Object(Tree(o41775[17], o41776[17])), o43184[17], java.lang.Object(Tree(NULL, o41773[17])))
LOAD40540(i356[19], java.lang.Object(Tree(o41775[19], o41776[19])), NULL, o41773[19]) → JMP41221'(java.lang.Object(Tree(o41775[19], o41776[19])), o41773[19], i356[19])
JMP41221'(o41578[20], o41571[20], i356[20]) → LOAD4124(o41578[20], o41571[20], i356[20])
LOAD4124(o3879[0], o3878[0], i341[0]) → NULL4222'(o3879[0], i341[0], o3878[0])
LOAD40540(i356[25], java.lang.Object(Tree(NULL, o41776[25])), java.lang.Object(Tree(NULL, o41776[25])), o41773[25]) → JMP52452'(i356[25], java.lang.Object(Tree(NULL, o41776[25])), o41776[25], java.lang.Object(Tree(NULL, o41773[25])))
JMP52452'(z0, java.lang.Object(Tree(NULL, z1)), z1, java.lang.Object(Tree(NULL, z2))) → LOAD40540(z0, java.lang.Object(Tree(NULL, z1)), z1, java.lang.Object(Tree(NULL, z2)))
FIELDACCESS40823(z3, java.lang.Object(Tree(java.lang.Object(Tree(z0, z1)), z2)), z4, java.lang.Object(Tree(java.lang.Object(Tree(z0, z1)), z2))) → LOAD40540(z3, java.lang.Object(Tree(java.lang.Object(Tree(z0, z1)), z2)), java.lang.Object(Tree(z0, java.lang.Object(Tree(z1, z2)))), z4)
LOAD40400(o41578[21], i356[21], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[21], o41574Field1[21])), o41575[21])), NULL, o41571[21]) → LOAD4124(o41578[21], o41571[21], i356[21])

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.

(40) DependencyGraphProof (EQUIVALENT transformation)

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

(41) Obligation:

Q DP problem:
The TRS P consists of the following rules:

LOAD40400(o41578[3], i356[3], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[3], o41574Field1[3])), o41575[3])), java.lang.Object(Tree(java.lang.Object(Tree(o47312[3], o47313[3])), o43139[3])), o41571[3]) → LOAD40400(o41578[3], i356[3], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[3], o41574Field1[3])), o41575[3])), java.lang.Object(Tree(o47312[3], java.lang.Object(Tree(o47313[3], o43139[3])))), o41571[3])
LOAD40400(o41578[4], i356[4], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[4], o41574Field1[4])), o41575[4])), java.lang.Object(Tree(NULL, o43139[4])), o41571[4]) → LOAD40400(o41578[4], i356[4], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[4], o41574Field1[4])), o41575[4])), o43139[4], java.lang.Object(Tree(NULL, o41571[4])))
LOAD40400(o41578[5], i356[5], java.lang.Object(Tree(java.lang.Object(Tree(o43922[5], o43923[5])), o41575[5])), java.lang.Object(Tree(java.lang.Object(Tree(o43922[5], o43923[5])), o41575[5])), o41571[5]) → LOAD40400(o41578[5], i356[5], java.lang.Object(Tree(java.lang.Object(Tree(o43922[5], o43923[5])), o41575[5])), java.lang.Object(Tree(o43922[5], java.lang.Object(Tree(o43923[5], o41575[5])))), o41571[5])
LOAD40400(o41578[8], i356[8], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[8], o41574Field1[8])), o41575[8])), java.lang.Object(Tree(java.lang.Object(Tree(o49252[8], o49253[8])), o43139[8])), o41571[8]) → STORE46056(o41578[8], i356[8], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[8], o41574Field1[8])), o41575[8])), java.lang.Object(Tree(java.lang.Object(Tree(o49252[8], o49253[8])), o43139[8])), o41571[8], o49252[8])
STORE46056(o41578[2], i356[2], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[2], o41574Field1[2])), o41575[2])), java.lang.Object(Tree(java.lang.Object(Tree(o47312[2], o47313[2])), o43139[2])), o41571[2], o47312[2]) → LOAD40400(o41578[2], i356[2], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[2], o41574Field1[2])), o41575[2])), java.lang.Object(Tree(o47312[2], java.lang.Object(Tree(o47313[2], o43139[2])))), o41571[2])
LOAD40400(java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])), i356[9], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])), java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])), o41571[9]) → FIELDACCESS40823(i356[9], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])), o41571[9], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])))
FIELDACCESS40823(i356[6], java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6])), o41773[6], java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6]))) → LOAD40400(java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6])), i356[6], java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6])), java.lang.Object(Tree(o45716[6], java.lang.Object(Tree(o45717[6], o41776[6])))), o41773[6])
FIELDACCESS40823(z3, java.lang.Object(Tree(java.lang.Object(Tree(z0, z1)), z2)), z4, java.lang.Object(Tree(java.lang.Object(Tree(z0, z1)), z2))) → STORE46301(z3, java.lang.Object(Tree(java.lang.Object(Tree(z0, z1)), z2)), java.lang.Object(Tree(java.lang.Object(Tree(z0, z1)), z2)), z4, z0)
STORE46301(i356[12], java.lang.Object(Tree(o41775[12], o41776[12])), java.lang.Object(Tree(java.lang.Object(Tree(o47663[12], o47664[12])), o43184[12])), o41773[12], o47663[12]) → LOAD40540(i356[12], java.lang.Object(Tree(o41775[12], o41776[12])), java.lang.Object(Tree(o47663[12], java.lang.Object(Tree(o47664[12], o43184[12])))), o41773[12])
LOAD40540(i356[7], java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])), java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])), o41773[7]) → LOAD40400(java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])), i356[7], java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])), java.lang.Object(Tree(o45716[7], java.lang.Object(Tree(o45717[7], o41776[7])))), o41773[7])
LOAD40540(i356[11], java.lang.Object(Tree(o41775[11], o41776[11])), java.lang.Object(Tree(java.lang.Object(Tree(o49860[11], o49861[11])), o43184[11])), o41773[11]) → STORE46301(i356[11], java.lang.Object(Tree(o41775[11], o41776[11])), java.lang.Object(Tree(java.lang.Object(Tree(o49860[11], o49861[11])), o43184[11])), o41773[11], o49860[11])
LOAD40540(i356[14], java.lang.Object(Tree(o41775[14], o41776[14])), java.lang.Object(Tree(java.lang.Object(Tree(o47663[14], o47664[14])), o43184[14])), o41773[14]) → LOAD40540(i356[14], java.lang.Object(Tree(o41775[14], o41776[14])), java.lang.Object(Tree(o47663[14], java.lang.Object(Tree(o47664[14], o43184[14])))), o41773[14])
LOAD40540(i356[17], java.lang.Object(Tree(o41775[17], o41776[17])), java.lang.Object(Tree(NULL, o43184[17])), o41773[17]) → LOAD40540(i356[17], java.lang.Object(Tree(o41775[17], o41776[17])), o43184[17], java.lang.Object(Tree(NULL, o41773[17])))
LOAD40540(i356[25], java.lang.Object(Tree(NULL, o41776[25])), java.lang.Object(Tree(NULL, o41776[25])), o41773[25]) → JMP52452'(i356[25], java.lang.Object(Tree(NULL, o41776[25])), o41776[25], java.lang.Object(Tree(NULL, o41773[25])))
JMP52452'(z0, java.lang.Object(Tree(NULL, z1)), z1, java.lang.Object(Tree(NULL, z2))) → LOAD40540(z0, java.lang.Object(Tree(NULL, z1)), z1, java.lang.Object(Tree(NULL, z2)))
FIELDACCESS40823(z3, java.lang.Object(Tree(java.lang.Object(Tree(z0, z1)), z2)), z4, java.lang.Object(Tree(java.lang.Object(Tree(z0, z1)), z2))) → LOAD40540(z3, java.lang.Object(Tree(java.lang.Object(Tree(z0, z1)), z2)), java.lang.Object(Tree(z0, java.lang.Object(Tree(z1, z2)))), z4)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.

(42) QDPOrderProof (EQUIVALENT transformation)

We use the reduction pair processor [LPAR04].


The following pairs can be oriented strictly and are deleted.


LOAD40540(i356[17], java.lang.Object(Tree(o41775[17], o41776[17])), java.lang.Object(Tree(NULL, o43184[17])), o41773[17]) → LOAD40540(i356[17], java.lang.Object(Tree(o41775[17], o41776[17])), o43184[17], java.lang.Object(Tree(NULL, o41773[17])))
LOAD40540(i356[25], java.lang.Object(Tree(NULL, o41776[25])), java.lang.Object(Tree(NULL, o41776[25])), o41773[25]) → JMP52452'(i356[25], java.lang.Object(Tree(NULL, o41776[25])), o41776[25], java.lang.Object(Tree(NULL, o41773[25])))
The remaining pairs can at least be oriented weakly.
Used ordering: Polynomial interpretation [POLO]:

POL(FIELDACCESS40823(x1, x2, x3, x4)) = x4   
POL(JMP52452'(x1, x2, x3, x4)) = x3   
POL(LOAD40400(x1, x2, x3, x4, x5)) = x1   
POL(LOAD40540(x1, x2, x3, x4)) = x3   
POL(NULL) = 1   
POL(STORE46056(x1, x2, x3, x4, x5, x6)) = x1   
POL(STORE46301(x1, x2, x3, x4, x5)) = x3   
POL(Tree(x1, x2)) = x1 + x2   
POL(java.lang.Object(x1)) = x1   

The following usable rules [FROCOS05] were oriented: none

(43) Obligation:

Q DP problem:
The TRS P consists of the following rules:

LOAD40400(o41578[3], i356[3], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[3], o41574Field1[3])), o41575[3])), java.lang.Object(Tree(java.lang.Object(Tree(o47312[3], o47313[3])), o43139[3])), o41571[3]) → LOAD40400(o41578[3], i356[3], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[3], o41574Field1[3])), o41575[3])), java.lang.Object(Tree(o47312[3], java.lang.Object(Tree(o47313[3], o43139[3])))), o41571[3])
LOAD40400(o41578[4], i356[4], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[4], o41574Field1[4])), o41575[4])), java.lang.Object(Tree(NULL, o43139[4])), o41571[4]) → LOAD40400(o41578[4], i356[4], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[4], o41574Field1[4])), o41575[4])), o43139[4], java.lang.Object(Tree(NULL, o41571[4])))
LOAD40400(o41578[5], i356[5], java.lang.Object(Tree(java.lang.Object(Tree(o43922[5], o43923[5])), o41575[5])), java.lang.Object(Tree(java.lang.Object(Tree(o43922[5], o43923[5])), o41575[5])), o41571[5]) → LOAD40400(o41578[5], i356[5], java.lang.Object(Tree(java.lang.Object(Tree(o43922[5], o43923[5])), o41575[5])), java.lang.Object(Tree(o43922[5], java.lang.Object(Tree(o43923[5], o41575[5])))), o41571[5])
LOAD40400(o41578[8], i356[8], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[8], o41574Field1[8])), o41575[8])), java.lang.Object(Tree(java.lang.Object(Tree(o49252[8], o49253[8])), o43139[8])), o41571[8]) → STORE46056(o41578[8], i356[8], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[8], o41574Field1[8])), o41575[8])), java.lang.Object(Tree(java.lang.Object(Tree(o49252[8], o49253[8])), o43139[8])), o41571[8], o49252[8])
STORE46056(o41578[2], i356[2], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[2], o41574Field1[2])), o41575[2])), java.lang.Object(Tree(java.lang.Object(Tree(o47312[2], o47313[2])), o43139[2])), o41571[2], o47312[2]) → LOAD40400(o41578[2], i356[2], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[2], o41574Field1[2])), o41575[2])), java.lang.Object(Tree(o47312[2], java.lang.Object(Tree(o47313[2], o43139[2])))), o41571[2])
LOAD40400(java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])), i356[9], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])), java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])), o41571[9]) → FIELDACCESS40823(i356[9], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])), o41571[9], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])))
FIELDACCESS40823(i356[6], java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6])), o41773[6], java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6]))) → LOAD40400(java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6])), i356[6], java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6])), java.lang.Object(Tree(o45716[6], java.lang.Object(Tree(o45717[6], o41776[6])))), o41773[6])
FIELDACCESS40823(z3, java.lang.Object(Tree(java.lang.Object(Tree(z0, z1)), z2)), z4, java.lang.Object(Tree(java.lang.Object(Tree(z0, z1)), z2))) → STORE46301(z3, java.lang.Object(Tree(java.lang.Object(Tree(z0, z1)), z2)), java.lang.Object(Tree(java.lang.Object(Tree(z0, z1)), z2)), z4, z0)
STORE46301(i356[12], java.lang.Object(Tree(o41775[12], o41776[12])), java.lang.Object(Tree(java.lang.Object(Tree(o47663[12], o47664[12])), o43184[12])), o41773[12], o47663[12]) → LOAD40540(i356[12], java.lang.Object(Tree(o41775[12], o41776[12])), java.lang.Object(Tree(o47663[12], java.lang.Object(Tree(o47664[12], o43184[12])))), o41773[12])
LOAD40540(i356[7], java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])), java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])), o41773[7]) → LOAD40400(java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])), i356[7], java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])), java.lang.Object(Tree(o45716[7], java.lang.Object(Tree(o45717[7], o41776[7])))), o41773[7])
LOAD40540(i356[11], java.lang.Object(Tree(o41775[11], o41776[11])), java.lang.Object(Tree(java.lang.Object(Tree(o49860[11], o49861[11])), o43184[11])), o41773[11]) → STORE46301(i356[11], java.lang.Object(Tree(o41775[11], o41776[11])), java.lang.Object(Tree(java.lang.Object(Tree(o49860[11], o49861[11])), o43184[11])), o41773[11], o49860[11])
LOAD40540(i356[14], java.lang.Object(Tree(o41775[14], o41776[14])), java.lang.Object(Tree(java.lang.Object(Tree(o47663[14], o47664[14])), o43184[14])), o41773[14]) → LOAD40540(i356[14], java.lang.Object(Tree(o41775[14], o41776[14])), java.lang.Object(Tree(o47663[14], java.lang.Object(Tree(o47664[14], o43184[14])))), o41773[14])
JMP52452'(z0, java.lang.Object(Tree(NULL, z1)), z1, java.lang.Object(Tree(NULL, z2))) → LOAD40540(z0, java.lang.Object(Tree(NULL, z1)), z1, java.lang.Object(Tree(NULL, z2)))
FIELDACCESS40823(z3, java.lang.Object(Tree(java.lang.Object(Tree(z0, z1)), z2)), z4, java.lang.Object(Tree(java.lang.Object(Tree(z0, z1)), z2))) → LOAD40540(z3, java.lang.Object(Tree(java.lang.Object(Tree(z0, z1)), z2)), java.lang.Object(Tree(z0, java.lang.Object(Tree(z1, z2)))), z4)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.

(44) DependencyGraphProof (EQUIVALENT transformation)

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

(45) Obligation:

Q DP problem:
The TRS P consists of the following rules:

LOAD40400(o41578[3], i356[3], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[3], o41574Field1[3])), o41575[3])), java.lang.Object(Tree(java.lang.Object(Tree(o47312[3], o47313[3])), o43139[3])), o41571[3]) → LOAD40400(o41578[3], i356[3], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[3], o41574Field1[3])), o41575[3])), java.lang.Object(Tree(o47312[3], java.lang.Object(Tree(o47313[3], o43139[3])))), o41571[3])
LOAD40400(o41578[4], i356[4], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[4], o41574Field1[4])), o41575[4])), java.lang.Object(Tree(NULL, o43139[4])), o41571[4]) → LOAD40400(o41578[4], i356[4], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[4], o41574Field1[4])), o41575[4])), o43139[4], java.lang.Object(Tree(NULL, o41571[4])))
LOAD40400(o41578[5], i356[5], java.lang.Object(Tree(java.lang.Object(Tree(o43922[5], o43923[5])), o41575[5])), java.lang.Object(Tree(java.lang.Object(Tree(o43922[5], o43923[5])), o41575[5])), o41571[5]) → LOAD40400(o41578[5], i356[5], java.lang.Object(Tree(java.lang.Object(Tree(o43922[5], o43923[5])), o41575[5])), java.lang.Object(Tree(o43922[5], java.lang.Object(Tree(o43923[5], o41575[5])))), o41571[5])
LOAD40400(o41578[8], i356[8], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[8], o41574Field1[8])), o41575[8])), java.lang.Object(Tree(java.lang.Object(Tree(o49252[8], o49253[8])), o43139[8])), o41571[8]) → STORE46056(o41578[8], i356[8], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[8], o41574Field1[8])), o41575[8])), java.lang.Object(Tree(java.lang.Object(Tree(o49252[8], o49253[8])), o43139[8])), o41571[8], o49252[8])
STORE46056(o41578[2], i356[2], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[2], o41574Field1[2])), o41575[2])), java.lang.Object(Tree(java.lang.Object(Tree(o47312[2], o47313[2])), o43139[2])), o41571[2], o47312[2]) → LOAD40400(o41578[2], i356[2], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[2], o41574Field1[2])), o41575[2])), java.lang.Object(Tree(o47312[2], java.lang.Object(Tree(o47313[2], o43139[2])))), o41571[2])
LOAD40400(java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])), i356[9], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])), java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])), o41571[9]) → FIELDACCESS40823(i356[9], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])), o41571[9], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])))
FIELDACCESS40823(i356[6], java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6])), o41773[6], java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6]))) → LOAD40400(java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6])), i356[6], java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6])), java.lang.Object(Tree(o45716[6], java.lang.Object(Tree(o45717[6], o41776[6])))), o41773[6])
FIELDACCESS40823(z3, java.lang.Object(Tree(java.lang.Object(Tree(z0, z1)), z2)), z4, java.lang.Object(Tree(java.lang.Object(Tree(z0, z1)), z2))) → STORE46301(z3, java.lang.Object(Tree(java.lang.Object(Tree(z0, z1)), z2)), java.lang.Object(Tree(java.lang.Object(Tree(z0, z1)), z2)), z4, z0)
STORE46301(i356[12], java.lang.Object(Tree(o41775[12], o41776[12])), java.lang.Object(Tree(java.lang.Object(Tree(o47663[12], o47664[12])), o43184[12])), o41773[12], o47663[12]) → LOAD40540(i356[12], java.lang.Object(Tree(o41775[12], o41776[12])), java.lang.Object(Tree(o47663[12], java.lang.Object(Tree(o47664[12], o43184[12])))), o41773[12])
LOAD40540(i356[7], java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])), java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])), o41773[7]) → LOAD40400(java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])), i356[7], java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])), java.lang.Object(Tree(o45716[7], java.lang.Object(Tree(o45717[7], o41776[7])))), o41773[7])
LOAD40540(i356[11], java.lang.Object(Tree(o41775[11], o41776[11])), java.lang.Object(Tree(java.lang.Object(Tree(o49860[11], o49861[11])), o43184[11])), o41773[11]) → STORE46301(i356[11], java.lang.Object(Tree(o41775[11], o41776[11])), java.lang.Object(Tree(java.lang.Object(Tree(o49860[11], o49861[11])), o43184[11])), o41773[11], o49860[11])
LOAD40540(i356[14], java.lang.Object(Tree(o41775[14], o41776[14])), java.lang.Object(Tree(java.lang.Object(Tree(o47663[14], o47664[14])), o43184[14])), o41773[14]) → LOAD40540(i356[14], java.lang.Object(Tree(o41775[14], o41776[14])), java.lang.Object(Tree(o47663[14], java.lang.Object(Tree(o47664[14], o43184[14])))), o41773[14])
FIELDACCESS40823(z3, java.lang.Object(Tree(java.lang.Object(Tree(z0, z1)), z2)), z4, java.lang.Object(Tree(java.lang.Object(Tree(z0, z1)), z2))) → LOAD40540(z3, java.lang.Object(Tree(java.lang.Object(Tree(z0, z1)), z2)), java.lang.Object(Tree(z0, java.lang.Object(Tree(z1, z2)))), z4)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.

(46) QDPOrderProof (EQUIVALENT transformation)

We use the reduction pair processor [LPAR04].


The following pairs can be oriented strictly and are deleted.


LOAD40400(o41578[4], i356[4], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[4], o41574Field1[4])), o41575[4])), java.lang.Object(Tree(NULL, o43139[4])), o41571[4]) → LOAD40400(o41578[4], i356[4], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[4], o41574Field1[4])), o41575[4])), o43139[4], java.lang.Object(Tree(NULL, o41571[4])))
The remaining pairs can at least be oriented weakly.
Used ordering: Polynomial interpretation [POLO]:

POL(FIELDACCESS40823(x1, x2, x3, x4)) = x2   
POL(LOAD40400(x1, x2, x3, x4, x5)) = x4   
POL(LOAD40540(x1, x2, x3, x4)) = x2   
POL(NULL) = 1   
POL(STORE46056(x1, x2, x3, x4, x5, x6)) = x4   
POL(STORE46301(x1, x2, x3, x4, x5)) = x2   
POL(Tree(x1, x2)) = x1 + x2   
POL(java.lang.Object(x1)) = x1   

The following usable rules [FROCOS05] were oriented: none

(47) Obligation:

Q DP problem:
The TRS P consists of the following rules:

LOAD40400(o41578[3], i356[3], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[3], o41574Field1[3])), o41575[3])), java.lang.Object(Tree(java.lang.Object(Tree(o47312[3], o47313[3])), o43139[3])), o41571[3]) → LOAD40400(o41578[3], i356[3], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[3], o41574Field1[3])), o41575[3])), java.lang.Object(Tree(o47312[3], java.lang.Object(Tree(o47313[3], o43139[3])))), o41571[3])
LOAD40400(o41578[5], i356[5], java.lang.Object(Tree(java.lang.Object(Tree(o43922[5], o43923[5])), o41575[5])), java.lang.Object(Tree(java.lang.Object(Tree(o43922[5], o43923[5])), o41575[5])), o41571[5]) → LOAD40400(o41578[5], i356[5], java.lang.Object(Tree(java.lang.Object(Tree(o43922[5], o43923[5])), o41575[5])), java.lang.Object(Tree(o43922[5], java.lang.Object(Tree(o43923[5], o41575[5])))), o41571[5])
LOAD40400(o41578[8], i356[8], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[8], o41574Field1[8])), o41575[8])), java.lang.Object(Tree(java.lang.Object(Tree(o49252[8], o49253[8])), o43139[8])), o41571[8]) → STORE46056(o41578[8], i356[8], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[8], o41574Field1[8])), o41575[8])), java.lang.Object(Tree(java.lang.Object(Tree(o49252[8], o49253[8])), o43139[8])), o41571[8], o49252[8])
STORE46056(o41578[2], i356[2], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[2], o41574Field1[2])), o41575[2])), java.lang.Object(Tree(java.lang.Object(Tree(o47312[2], o47313[2])), o43139[2])), o41571[2], o47312[2]) → LOAD40400(o41578[2], i356[2], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[2], o41574Field1[2])), o41575[2])), java.lang.Object(Tree(o47312[2], java.lang.Object(Tree(o47313[2], o43139[2])))), o41571[2])
LOAD40400(java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])), i356[9], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])), java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])), o41571[9]) → FIELDACCESS40823(i356[9], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])), o41571[9], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])))
FIELDACCESS40823(i356[6], java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6])), o41773[6], java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6]))) → LOAD40400(java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6])), i356[6], java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6])), java.lang.Object(Tree(o45716[6], java.lang.Object(Tree(o45717[6], o41776[6])))), o41773[6])
FIELDACCESS40823(z3, java.lang.Object(Tree(java.lang.Object(Tree(z0, z1)), z2)), z4, java.lang.Object(Tree(java.lang.Object(Tree(z0, z1)), z2))) → STORE46301(z3, java.lang.Object(Tree(java.lang.Object(Tree(z0, z1)), z2)), java.lang.Object(Tree(java.lang.Object(Tree(z0, z1)), z2)), z4, z0)
STORE46301(i356[12], java.lang.Object(Tree(o41775[12], o41776[12])), java.lang.Object(Tree(java.lang.Object(Tree(o47663[12], o47664[12])), o43184[12])), o41773[12], o47663[12]) → LOAD40540(i356[12], java.lang.Object(Tree(o41775[12], o41776[12])), java.lang.Object(Tree(o47663[12], java.lang.Object(Tree(o47664[12], o43184[12])))), o41773[12])
LOAD40540(i356[7], java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])), java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])), o41773[7]) → LOAD40400(java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])), i356[7], java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])), java.lang.Object(Tree(o45716[7], java.lang.Object(Tree(o45717[7], o41776[7])))), o41773[7])
LOAD40540(i356[11], java.lang.Object(Tree(o41775[11], o41776[11])), java.lang.Object(Tree(java.lang.Object(Tree(o49860[11], o49861[11])), o43184[11])), o41773[11]) → STORE46301(i356[11], java.lang.Object(Tree(o41775[11], o41776[11])), java.lang.Object(Tree(java.lang.Object(Tree(o49860[11], o49861[11])), o43184[11])), o41773[11], o49860[11])
LOAD40540(i356[14], java.lang.Object(Tree(o41775[14], o41776[14])), java.lang.Object(Tree(java.lang.Object(Tree(o47663[14], o47664[14])), o43184[14])), o41773[14]) → LOAD40540(i356[14], java.lang.Object(Tree(o41775[14], o41776[14])), java.lang.Object(Tree(o47663[14], java.lang.Object(Tree(o47664[14], o43184[14])))), o41773[14])
FIELDACCESS40823(z3, java.lang.Object(Tree(java.lang.Object(Tree(z0, z1)), z2)), z4, java.lang.Object(Tree(java.lang.Object(Tree(z0, z1)), z2))) → LOAD40540(z3, java.lang.Object(Tree(java.lang.Object(Tree(z0, z1)), z2)), java.lang.Object(Tree(z0, java.lang.Object(Tree(z1, z2)))), z4)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.

(48) QDPOrderProof (EQUIVALENT transformation)

We use the reduction pair processor [LPAR04].


The following pairs can be oriented strictly and are deleted.


FIELDACCESS40823(z3, java.lang.Object(Tree(java.lang.Object(Tree(z0, z1)), z2)), z4, java.lang.Object(Tree(java.lang.Object(Tree(z0, z1)), z2))) → STORE46301(z3, java.lang.Object(Tree(java.lang.Object(Tree(z0, z1)), z2)), java.lang.Object(Tree(java.lang.Object(Tree(z0, z1)), z2)), z4, z0)
LOAD40540(i356[11], java.lang.Object(Tree(o41775[11], o41776[11])), java.lang.Object(Tree(java.lang.Object(Tree(o49860[11], o49861[11])), o43184[11])), o41773[11]) → STORE46301(i356[11], java.lang.Object(Tree(o41775[11], o41776[11])), java.lang.Object(Tree(java.lang.Object(Tree(o49860[11], o49861[11])), o43184[11])), o41773[11], o49860[11])
LOAD40540(i356[14], java.lang.Object(Tree(o41775[14], o41776[14])), java.lang.Object(Tree(java.lang.Object(Tree(o47663[14], o47664[14])), o43184[14])), o41773[14]) → LOAD40540(i356[14], java.lang.Object(Tree(o41775[14], o41776[14])), java.lang.Object(Tree(o47663[14], java.lang.Object(Tree(o47664[14], o43184[14])))), o41773[14])
FIELDACCESS40823(z3, java.lang.Object(Tree(java.lang.Object(Tree(z0, z1)), z2)), z4, java.lang.Object(Tree(java.lang.Object(Tree(z0, z1)), z2))) → LOAD40540(z3, java.lang.Object(Tree(java.lang.Object(Tree(z0, z1)), z2)), java.lang.Object(Tree(z0, java.lang.Object(Tree(z1, z2)))), z4)
The remaining pairs can at least be oriented weakly.
Used ordering: Polynomial interpretation [POLO]:

POL(FIELDACCESS40823(x1, x2, x3, x4)) = x2   
POL(LOAD40400(x1, x2, x3, x4, x5)) = x1   
POL(LOAD40540(x1, x2, x3, x4)) = x3   
POL(STORE46056(x1, x2, x3, x4, x5, x6)) = x1   
POL(STORE46301(x1, x2, x3, x4, x5)) = 1 + x5   
POL(Tree(x1, x2)) = 1 + x1   
POL(java.lang.Object(x1)) = x1   

The following usable rules [FROCOS05] were oriented: none

(49) Obligation:

Q DP problem:
The TRS P consists of the following rules:

LOAD40400(o41578[3], i356[3], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[3], o41574Field1[3])), o41575[3])), java.lang.Object(Tree(java.lang.Object(Tree(o47312[3], o47313[3])), o43139[3])), o41571[3]) → LOAD40400(o41578[3], i356[3], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[3], o41574Field1[3])), o41575[3])), java.lang.Object(Tree(o47312[3], java.lang.Object(Tree(o47313[3], o43139[3])))), o41571[3])
LOAD40400(o41578[5], i356[5], java.lang.Object(Tree(java.lang.Object(Tree(o43922[5], o43923[5])), o41575[5])), java.lang.Object(Tree(java.lang.Object(Tree(o43922[5], o43923[5])), o41575[5])), o41571[5]) → LOAD40400(o41578[5], i356[5], java.lang.Object(Tree(java.lang.Object(Tree(o43922[5], o43923[5])), o41575[5])), java.lang.Object(Tree(o43922[5], java.lang.Object(Tree(o43923[5], o41575[5])))), o41571[5])
LOAD40400(o41578[8], i356[8], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[8], o41574Field1[8])), o41575[8])), java.lang.Object(Tree(java.lang.Object(Tree(o49252[8], o49253[8])), o43139[8])), o41571[8]) → STORE46056(o41578[8], i356[8], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[8], o41574Field1[8])), o41575[8])), java.lang.Object(Tree(java.lang.Object(Tree(o49252[8], o49253[8])), o43139[8])), o41571[8], o49252[8])
STORE46056(o41578[2], i356[2], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[2], o41574Field1[2])), o41575[2])), java.lang.Object(Tree(java.lang.Object(Tree(o47312[2], o47313[2])), o43139[2])), o41571[2], o47312[2]) → LOAD40400(o41578[2], i356[2], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[2], o41574Field1[2])), o41575[2])), java.lang.Object(Tree(o47312[2], java.lang.Object(Tree(o47313[2], o43139[2])))), o41571[2])
LOAD40400(java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])), i356[9], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])), java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])), o41571[9]) → FIELDACCESS40823(i356[9], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])), o41571[9], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])))
FIELDACCESS40823(i356[6], java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6])), o41773[6], java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6]))) → LOAD40400(java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6])), i356[6], java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6])), java.lang.Object(Tree(o45716[6], java.lang.Object(Tree(o45717[6], o41776[6])))), o41773[6])
STORE46301(i356[12], java.lang.Object(Tree(o41775[12], o41776[12])), java.lang.Object(Tree(java.lang.Object(Tree(o47663[12], o47664[12])), o43184[12])), o41773[12], o47663[12]) → LOAD40540(i356[12], java.lang.Object(Tree(o41775[12], o41776[12])), java.lang.Object(Tree(o47663[12], java.lang.Object(Tree(o47664[12], o43184[12])))), o41773[12])
LOAD40540(i356[7], java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])), java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])), o41773[7]) → LOAD40400(java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])), i356[7], java.lang.Object(Tree(java.lang.Object(Tree(o45716[7], o45717[7])), o41776[7])), java.lang.Object(Tree(o45716[7], java.lang.Object(Tree(o45717[7], o41776[7])))), o41773[7])

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.

(50) DependencyGraphProof (EQUIVALENT transformation)

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

(51) Obligation:

Q DP problem:
The TRS P consists of the following rules:

LOAD40400(o41578[3], i356[3], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[3], o41574Field1[3])), o41575[3])), java.lang.Object(Tree(java.lang.Object(Tree(o47312[3], o47313[3])), o43139[3])), o41571[3]) → LOAD40400(o41578[3], i356[3], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[3], o41574Field1[3])), o41575[3])), java.lang.Object(Tree(o47312[3], java.lang.Object(Tree(o47313[3], o43139[3])))), o41571[3])
LOAD40400(o41578[5], i356[5], java.lang.Object(Tree(java.lang.Object(Tree(o43922[5], o43923[5])), o41575[5])), java.lang.Object(Tree(java.lang.Object(Tree(o43922[5], o43923[5])), o41575[5])), o41571[5]) → LOAD40400(o41578[5], i356[5], java.lang.Object(Tree(java.lang.Object(Tree(o43922[5], o43923[5])), o41575[5])), java.lang.Object(Tree(o43922[5], java.lang.Object(Tree(o43923[5], o41575[5])))), o41571[5])
LOAD40400(o41578[8], i356[8], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[8], o41574Field1[8])), o41575[8])), java.lang.Object(Tree(java.lang.Object(Tree(o49252[8], o49253[8])), o43139[8])), o41571[8]) → STORE46056(o41578[8], i356[8], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[8], o41574Field1[8])), o41575[8])), java.lang.Object(Tree(java.lang.Object(Tree(o49252[8], o49253[8])), o43139[8])), o41571[8], o49252[8])
STORE46056(o41578[2], i356[2], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[2], o41574Field1[2])), o41575[2])), java.lang.Object(Tree(java.lang.Object(Tree(o47312[2], o47313[2])), o43139[2])), o41571[2], o47312[2]) → LOAD40400(o41578[2], i356[2], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[2], o41574Field1[2])), o41575[2])), java.lang.Object(Tree(o47312[2], java.lang.Object(Tree(o47313[2], o43139[2])))), o41571[2])
LOAD40400(java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])), i356[9], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])), java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])), o41571[9]) → FIELDACCESS40823(i356[9], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])), o41571[9], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])))
FIELDACCESS40823(i356[6], java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6])), o41773[6], java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6]))) → LOAD40400(java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6])), i356[6], java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6])), java.lang.Object(Tree(o45716[6], java.lang.Object(Tree(o45717[6], o41776[6])))), o41773[6])

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.

(52) QDPOrderProof (EQUIVALENT transformation)

We use the reduction pair processor [LPAR04].


The following pairs can be oriented strictly and are deleted.


LOAD40400(o41578[3], i356[3], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[3], o41574Field1[3])), o41575[3])), java.lang.Object(Tree(java.lang.Object(Tree(o47312[3], o47313[3])), o43139[3])), o41571[3]) → LOAD40400(o41578[3], i356[3], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[3], o41574Field1[3])), o41575[3])), java.lang.Object(Tree(o47312[3], java.lang.Object(Tree(o47313[3], o43139[3])))), o41571[3])
LOAD40400(o41578[5], i356[5], java.lang.Object(Tree(java.lang.Object(Tree(o43922[5], o43923[5])), o41575[5])), java.lang.Object(Tree(java.lang.Object(Tree(o43922[5], o43923[5])), o41575[5])), o41571[5]) → LOAD40400(o41578[5], i356[5], java.lang.Object(Tree(java.lang.Object(Tree(o43922[5], o43923[5])), o41575[5])), java.lang.Object(Tree(o43922[5], java.lang.Object(Tree(o43923[5], o41575[5])))), o41571[5])
LOAD40400(o41578[8], i356[8], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[8], o41574Field1[8])), o41575[8])), java.lang.Object(Tree(java.lang.Object(Tree(o49252[8], o49253[8])), o43139[8])), o41571[8]) → STORE46056(o41578[8], i356[8], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[8], o41574Field1[8])), o41575[8])), java.lang.Object(Tree(java.lang.Object(Tree(o49252[8], o49253[8])), o43139[8])), o41571[8], o49252[8])
FIELDACCESS40823(i356[6], java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6])), o41773[6], java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6]))) → LOAD40400(java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6])), i356[6], java.lang.Object(Tree(java.lang.Object(Tree(o45716[6], o45717[6])), o41776[6])), java.lang.Object(Tree(o45716[6], java.lang.Object(Tree(o45717[6], o41776[6])))), o41773[6])
The remaining pairs can at least be oriented weakly.
Used ordering: Polynomial interpretation [POLO]:

POL(FIELDACCESS40823(x1, x2, x3, x4)) = x2 + x4   
POL(LOAD40400(x1, x2, x3, x4, x5)) = x1 + x4   
POL(STORE46056(x1, x2, x3, x4, x5, x6)) = 1 + x1 + x6   
POL(Tree(x1, x2)) = x1   
POL(java.lang.Object(x1)) = 1 + x1   

The following usable rules [FROCOS05] were oriented: none

(53) Obligation:

Q DP problem:
The TRS P consists of the following rules:

STORE46056(o41578[2], i356[2], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[2], o41574Field1[2])), o41575[2])), java.lang.Object(Tree(java.lang.Object(Tree(o47312[2], o47313[2])), o43139[2])), o41571[2], o47312[2]) → LOAD40400(o41578[2], i356[2], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[2], o41574Field1[2])), o41575[2])), java.lang.Object(Tree(o47312[2], java.lang.Object(Tree(o47313[2], o43139[2])))), o41571[2])
LOAD40400(java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])), i356[9], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])), java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])), o41571[9]) → FIELDACCESS40823(i356[9], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])), o41571[9], java.lang.Object(Tree(java.lang.Object(Tree(o41574Field0[9], o41574Field1[9])), o41575[9])))

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.

(54) DependencyGraphProof (EQUIVALENT transformation)

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

(55) TRUE

(56) 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:
Load28462(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(Tree(java.lang.Object(Tree(o44138Field0, o44138Field1)), o29127)), java.lang.Object(Tree(java.lang.Object(Tree(o44138Field0, o44138Field1)), o29127))) → Load28462ARR1(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(Tree(java.lang.Object(Tree(o44138Field0, o44138Field1)), o29127)), java.lang.Object(Tree(java.lang.Object(Tree(o44138Field0, o44138Field1)), o29127)), java.lang.Object(java.lang.String(i3279)))
Load28462ARR1(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(Tree(java.lang.Object(Tree(o44138Field0, o44138Field1)), o29127)), java.lang.Object(Tree(java.lang.Object(Tree(o44138Field0, o44138Field1)), o29127)), java.lang.Object(java.lang.String(i3279))) → Cond_Load28462ARR1(i3279 > 0 && i2381 > 0 && i2381 < i6 && i2440 > 0 && i2381 + 1 > 0, java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(Tree(java.lang.Object(Tree(o44138Field0, o44138Field1)), o29127)), java.lang.Object(Tree(java.lang.Object(Tree(o44138Field0, o44138Field1)), o29127)), java.lang.Object(java.lang.String(i3279)))
Cond_Load28462ARR1(TRUE, java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(Tree(java.lang.Object(Tree(o44138Field0, o44138Field1)), o29127)), java.lang.Object(Tree(java.lang.Object(Tree(o44138Field0, o44138Field1)), o29127)), java.lang.Object(java.lang.String(i3279))) → JMP45518(java.lang.Object(ARRAY(i6, a25256data)), i2381 + 1, i2440, java.lang.Object(Tree(java.lang.Object(Tree(o44138Field0, o44138Field1)), o29127)), java.lang.Object(Tree(o44138Field0, o44138Field1)))
Inc45617(java.lang.Object(ARRAY(i6, a25256data)), i3027, i2440, java.lang.Object(Tree(o29126, o29127)), java.lang.Object(Tree(o44723Field0, o44723Field1))) → Load28462(java.lang.Object(ARRAY(i6, a25256data)), i3027, i2440 + -1, java.lang.Object(Tree(o29126, o29127)), java.lang.Object(Tree(o44723Field0, o44723Field1)))
Load28462(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(Tree(o29126, o29127)), java.lang.Object(Tree(o43728, java.lang.Object(Tree(o44723Field0, o44723Field1))))) → Load28462ARR2(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(Tree(o29126, o29127)), java.lang.Object(Tree(o43728, java.lang.Object(Tree(o44723Field0, o44723Field1)))), java.lang.Object(java.lang.String(i3280)))
Load28462ARR2(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(Tree(o29126, o29127)), java.lang.Object(Tree(o43728, java.lang.Object(Tree(o44723Field0, o44723Field1)))), java.lang.Object(java.lang.String(i3280))) → Cond_Load28462ARR2(i3280 <= 0 && i2381 > 0 && i2381 < i6 && i2440 > 0 && i2381 + 1 > 0, java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(Tree(o29126, o29127)), java.lang.Object(Tree(o43728, java.lang.Object(Tree(o44723Field0, o44723Field1)))), java.lang.Object(java.lang.String(i3280)))
Cond_Load28462ARR2(TRUE, java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(Tree(o29126, o29127)), java.lang.Object(Tree(o43728, java.lang.Object(Tree(o44723Field0, o44723Field1)))), java.lang.Object(java.lang.String(i3280))) → Load28462(java.lang.Object(ARRAY(i6, a25256data)), i2381 + 1, i2440 + -1, java.lang.Object(Tree(o29126, o29127)), java.lang.Object(Tree(o44723Field0, o44723Field1)))
Inc53314(java.lang.Object(ARRAY(i6, a25256data)), i3027, i2440, java.lang.Object(Tree(o29126, o29127)), java.lang.Object(Tree(o29126, o29127))) → Load28462(java.lang.Object(ARRAY(i6, a25256data)), i3027, i2440 + -1, java.lang.Object(Tree(o29126, o29127)), java.lang.Object(Tree(o29126, o29127)))
JMP53081(java.lang.Object(ARRAY(i6, a25256data)), i3027, i2440, java.lang.Object(Tree(o29126, o29127)), java.lang.Object(Tree(o29126, o29127))) → Load28462(java.lang.Object(ARRAY(i6, a25256data)), i3027, i2440 + -1, java.lang.Object(Tree(o29126, o29127)), java.lang.Object(Tree(o29126, o29127)))
Load28462(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(Tree(o29126, o29127)), java.lang.Object(Tree(NULL, o43700))) → Load28462ARR3(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(Tree(o29126, o29127)), java.lang.Object(Tree(NULL, o43700)), java.lang.Object(java.lang.String(i3279)))
Load28462ARR3(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(Tree(o29126, o29127)), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL)), o43700)), java.lang.Object(java.lang.String(i3279))) → Cond_Load28462ARR3(i3279 > 0 && i2381 > 0 && i2381 < i6 && i2440 > 0 && i2381 + 1 > 0, java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(Tree(o29126, o29127)), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL)), o43700)), java.lang.Object(java.lang.String(i3279)))
Cond_Load28462ARR3(TRUE, java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(Tree(o29126, o29127)), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL)), o43700)), java.lang.Object(java.lang.String(i3279))) → Load28462(java.lang.Object(ARRAY(i6, a25256data)), i2381 + 1, i2440 + -1, o29125new, o29125new)
JMP45518(java.lang.Object(ARRAY(i6, a25256data)), i3027, i2440, java.lang.Object(Tree(o29126, o29127)), java.lang.Object(Tree(o44693Field0, o44693Field1))) → Inc45617(java.lang.Object(ARRAY(i6, a25256data)), i3027, i2440, java.lang.Object(Tree(o29126, o29127)), java.lang.Object(Tree(o44693Field0, o44693Field1)))
Load28462(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(Tree(o29126, o29127)), java.lang.Object(Tree(java.lang.Object(Tree(o44693Field0, o44693Field1)), o43700))) → Load28462ARR4(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(Tree(o29126, o29127)), java.lang.Object(Tree(java.lang.Object(Tree(o44693Field0, o44693Field1)), o43700)), java.lang.Object(java.lang.String(i3279)))
Load28462ARR4(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(Tree(o29126, o29127)), java.lang.Object(Tree(java.lang.Object(Tree(o44693Field0, o44693Field1)), o43700)), java.lang.Object(java.lang.String(i3279))) → Cond_Load28462ARR4(i3279 > 0 && i2381 > 0 && i2381 < i6 && i2440 > 0 && i2381 + 1 > 0, java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(Tree(o29126, o29127)), java.lang.Object(Tree(java.lang.Object(Tree(o44693Field0, o44693Field1)), o43700)), java.lang.Object(java.lang.String(i3279)))
Cond_Load28462ARR4(TRUE, java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(Tree(o29126, o29127)), java.lang.Object(Tree(java.lang.Object(Tree(o44693Field0, o44693Field1)), o43700)), java.lang.Object(java.lang.String(i3279))) → Inc45617(java.lang.Object(ARRAY(i6, a25256data)), i2381 + 1, i2440, java.lang.Object(Tree(o29126, o29127)), java.lang.Object(Tree(o44693Field0, o44693Field1)))
Load28462(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(Tree(o29126, java.lang.Object(Tree(o44239Field0, o44239Field1)))), java.lang.Object(Tree(o29126, java.lang.Object(Tree(o44239Field0, o44239Field1))))) → Load28462ARR5(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(Tree(o29126, java.lang.Object(Tree(o44239Field0, o44239Field1)))), java.lang.Object(Tree(o29126, java.lang.Object(Tree(o44239Field0, o44239Field1)))), java.lang.Object(java.lang.String(i3280)))
Load28462ARR5(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(Tree(o29126, java.lang.Object(Tree(o44239Field0, o44239Field1)))), java.lang.Object(Tree(o29126, java.lang.Object(Tree(o44239Field0, o44239Field1)))), java.lang.Object(java.lang.String(i3280))) → Cond_Load28462ARR5(i3280 <= 0 && i2381 > 0 && i2381 < i6 && i2440 > 0 && i2381 + 1 > 0, java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(Tree(o29126, java.lang.Object(Tree(o44239Field0, o44239Field1)))), java.lang.Object(Tree(o29126, java.lang.Object(Tree(o44239Field0, o44239Field1)))), java.lang.Object(java.lang.String(i3280)))
Cond_Load28462ARR5(TRUE, java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(Tree(o29126, java.lang.Object(Tree(o44239Field0, o44239Field1)))), java.lang.Object(Tree(o29126, java.lang.Object(Tree(o44239Field0, o44239Field1)))), java.lang.Object(java.lang.String(i3280))) → Inc45617(java.lang.Object(ARRAY(i6, a25256data)), i2381 + 1, i2440, java.lang.Object(Tree(o29126, java.lang.Object(Tree(o44239Field0, o44239Field1)))), java.lang.Object(Tree(o44239Field0, o44239Field1)))
JMP53117(java.lang.Object(ARRAY(i6, a25256data)), i3027, i2440, java.lang.Object(Tree(o29126, o29127)), java.lang.Object(Tree(o29126, o29127))) → Inc53314(java.lang.Object(ARRAY(i6, a25256data)), i3027, i2440, java.lang.Object(Tree(o29126, o29127)), java.lang.Object(Tree(o29126, o29127)))
Load28462(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(Tree(o29126, o29127)), java.lang.Object(Tree(o43728, NULL))) → Load28462ARR6(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(Tree(o29126, o29127)), java.lang.Object(Tree(o43728, NULL)), java.lang.Object(java.lang.String(i3280)))
Load28462ARR6(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(Tree(o29126, o29127)), java.lang.Object(Tree(o43728, java.lang.Object(Tree(NULL, NULL)))), java.lang.Object(java.lang.String(i3280))) → Cond_Load28462ARR6(i3280 <= 0 && i2381 > 0 && i2381 < i6 && i2440 > 0 && i2381 + 1 > 0, java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(Tree(o29126, o29127)), java.lang.Object(Tree(o43728, java.lang.Object(Tree(NULL, NULL)))), java.lang.Object(java.lang.String(i3280)))
Cond_Load28462ARR6(TRUE, java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(Tree(o29126, o29127)), java.lang.Object(Tree(o43728, java.lang.Object(Tree(NULL, NULL)))), java.lang.Object(java.lang.String(i3280))) → Inc53314(java.lang.Object(ARRAY(i6, a25256data)), i2381 + 1, i2440, o29125new, o29125new)
Load28462(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(Tree(NULL, o29127)), java.lang.Object(Tree(NULL, o29127))) → Load28462ARR7(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(Tree(NULL, o29127)), java.lang.Object(Tree(NULL, o29127)), java.lang.Object(java.lang.String(i3279)))
Load28462ARR7(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL)), o29127)), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL)), o29127)), java.lang.Object(java.lang.String(i3279))) → Cond_Load28462ARR7(i3279 > 0 && i2381 > 0 && i2381 < i6 && i2440 > 0 && i2381 + 1 > 0, java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL)), o29127)), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL)), o29127)), java.lang.Object(java.lang.String(i3279)))
Cond_Load28462ARR7(TRUE, java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL)), o29127)), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL)), o29127)), java.lang.Object(java.lang.String(i3279))) → JMP53081(java.lang.Object(ARRAY(i6, a25256data)), i2381 + 1, i2440, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL)), o29127)), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL)), o29127)))
Load28462(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(Tree(o29126, NULL)), java.lang.Object(Tree(o29126, NULL))) → Load28462ARR8(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(Tree(o29126, NULL)), java.lang.Object(Tree(o29126, NULL)), java.lang.Object(java.lang.String(i3280)))
Load28462ARR8(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(Tree(o29126, java.lang.Object(Tree(NULL, NULL)))), java.lang.Object(Tree(o29126, java.lang.Object(Tree(NULL, NULL)))), java.lang.Object(java.lang.String(i3280))) → Cond_Load28462ARR8(i3280 <= 0 && i2381 > 0 && i2381 < i6 && i2440 > 0 && i2381 + 1 > 0, java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(Tree(o29126, java.lang.Object(Tree(NULL, NULL)))), java.lang.Object(Tree(o29126, java.lang.Object(Tree(NULL, NULL)))), java.lang.Object(java.lang.String(i3280)))
Cond_Load28462ARR8(TRUE, java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(Tree(o29126, java.lang.Object(Tree(NULL, NULL)))), java.lang.Object(Tree(o29126, java.lang.Object(Tree(NULL, NULL)))), java.lang.Object(java.lang.String(i3280))) → JMP53117(java.lang.Object(ARRAY(i6, a25256data)), i2381 + 1, i2440, java.lang.Object(Tree(o29126, java.lang.Object(Tree(NULL, NULL)))), java.lang.Object(Tree(o29126, java.lang.Object(Tree(NULL, NULL)))))
The set Q consists of the following terms:
Load28462ARR1(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(java.lang.Object(Tree(x4, x5)), x6)), java.lang.Object(Tree(java.lang.Object(Tree(x4, x5)), x6)), java.lang.Object(java.lang.String(x7)))
Cond_Load28462ARR1(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(java.lang.Object(Tree(x4, x5)), x6)), java.lang.Object(Tree(java.lang.Object(Tree(x4, x5)), x6)), java.lang.Object(java.lang.String(x7)))
Inc45617(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5)), java.lang.Object(Tree(x6, x7)))
Load28462(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5)), java.lang.Object(Tree(x6, java.lang.Object(Tree(x7, x8)))))
Load28462ARR2(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5)), java.lang.Object(Tree(x6, java.lang.Object(Tree(x7, x8)))), java.lang.Object(java.lang.String(x9)))
Cond_Load28462ARR2(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5)), java.lang.Object(Tree(x6, java.lang.Object(Tree(x7, x8)))), java.lang.Object(java.lang.String(x9)))
Inc53314(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5)), java.lang.Object(Tree(x4, x5)))
JMP53081(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5)), java.lang.Object(Tree(x4, x5)))
Load28462(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5)), java.lang.Object(Tree(NULL, x6)))
Load28462ARR3(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5)), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL)), x6)), java.lang.Object(java.lang.String(x7)))
Cond_Load28462ARR3(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5)), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL)), x6)), java.lang.Object(java.lang.String(x7)))
JMP45518(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5)), java.lang.Object(Tree(x6, x7)))
Load28462(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5)), java.lang.Object(Tree(java.lang.Object(Tree(x6, x7)), x8)))
Load28462ARR4(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5)), java.lang.Object(Tree(java.lang.Object(Tree(x6, x7)), x8)), java.lang.Object(java.lang.String(x9)))
Cond_Load28462ARR4(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5)), java.lang.Object(Tree(java.lang.Object(Tree(x6, x7)), x8)), java.lang.Object(java.lang.String(x9)))
Load28462ARR5(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, java.lang.Object(Tree(x5, x6)))), java.lang.Object(Tree(x4, java.lang.Object(Tree(x5, x6)))), java.lang.Object(java.lang.String(x7)))
Cond_Load28462ARR5(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, java.lang.Object(Tree(x5, x6)))), java.lang.Object(Tree(x4, java.lang.Object(Tree(x5, x6)))), java.lang.Object(java.lang.String(x7)))
JMP53117(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5)), java.lang.Object(Tree(x4, x5)))
Load28462(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5)), java.lang.Object(Tree(x6, NULL)))
Load28462ARR6(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5)), java.lang.Object(Tree(x6, java.lang.Object(Tree(NULL, NULL)))), java.lang.Object(java.lang.String(x7)))
Cond_Load28462ARR6(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5)), java.lang.Object(Tree(x6, java.lang.Object(Tree(NULL, NULL)))), java.lang.Object(java.lang.String(x7)))
Load28462ARR7(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL)), x4)), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL)), x4)), java.lang.Object(java.lang.String(x5)))
Cond_Load28462ARR7(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL)), x4)), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL)), x4)), java.lang.Object(java.lang.String(x5)))
Load28462ARR8(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, java.lang.Object(Tree(NULL, NULL)))), java.lang.Object(Tree(x4, java.lang.Object(Tree(NULL, NULL)))), java.lang.Object(java.lang.String(x5)))
Cond_Load28462ARR8(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, java.lang.Object(Tree(NULL, NULL)))), java.lang.Object(Tree(x4, java.lang.Object(Tree(NULL, NULL)))), java.lang.Object(java.lang.String(x5)))

(57) DuplicateArgsRemoverProof (EQUIVALENT transformation)

Some arguments are removed because they only appear as duplicates.
We removed arguments according to the following replacements:

JMP53117(x1, x2, x3, x4, x5) → JMP53117(x1, x2, x3, x5)
Cond_Load28462ARR8(x1, x2, x3, x4, x5, x6, x7) → Cond_Load28462ARR8(x1, x2, x3, x4, x6, x7)
Load28462ARR8(x1, x2, x3, x4, x5, x6) → Load28462ARR8(x1, x2, x3, x5, x6)
JMP53081(x1, x2, x3, x4, x5) → JMP53081(x1, x2, x3, x5)
Cond_Load28462ARR7(x1, x2, x3, x4, x5, x6, x7) → Cond_Load28462ARR7(x1, x2, x3, x4, x6, x7)
Load28462ARR7(x1, x2, x3, x4, x5, x6) → Load28462ARR7(x1, x2, x3, x5, x6)
Inc53314(x1, x2, x3, x4, x5) → Inc53314(x1, x2, x3, x5)
Cond_Load28462ARR5(x1, x2, x3, x4, x5, x6, x7) → Cond_Load28462ARR5(x1, x2, x3, x4, x6, x7)
Load28462ARR5(x1, x2, x3, x4, x5, x6) → Load28462ARR5(x1, x2, x3, x5, x6)
Cond_Load28462ARR1(x1, x2, x3, x4, x5, x6, x7) → Cond_Load28462ARR1(x1, x2, x3, x4, x6, x7)
Load28462ARR1(x1, x2, x3, x4, x5, x6) → Load28462ARR1(x1, x2, x3, x5, x6)

(58) 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:
Load28462(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(Tree(java.lang.Object(Tree(o44138Field0, o44138Field1)), o29127)), java.lang.Object(Tree(java.lang.Object(Tree(o44138Field0, o44138Field1)), o29127))) → Load28462ARR1(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(Tree(java.lang.Object(Tree(o44138Field0, o44138Field1)), o29127)), java.lang.Object(java.lang.String(i3279)))
Load28462ARR1(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(Tree(java.lang.Object(Tree(o44138Field0, o44138Field1)), o29127)), java.lang.Object(java.lang.String(i3279))) → Cond_Load28462ARR1(i3279 > 0 && i2381 > 0 && i2381 < i6 && i2440 > 0 && i2381 + 1 > 0, java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(Tree(java.lang.Object(Tree(o44138Field0, o44138Field1)), o29127)), java.lang.Object(java.lang.String(i3279)))
Cond_Load28462ARR1(TRUE, java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(Tree(java.lang.Object(Tree(o44138Field0, o44138Field1)), o29127)), java.lang.Object(java.lang.String(i3279))) → JMP45518(java.lang.Object(ARRAY(i6, a25256data)), i2381 + 1, i2440, java.lang.Object(Tree(java.lang.Object(Tree(o44138Field0, o44138Field1)), o29127)), java.lang.Object(Tree(o44138Field0, o44138Field1)))
Inc45617(java.lang.Object(ARRAY(i6, a25256data)), i3027, i2440, java.lang.Object(Tree(o29126, o29127)), java.lang.Object(Tree(o44723Field0, o44723Field1))) → Load28462(java.lang.Object(ARRAY(i6, a25256data)), i3027, i2440 + -1, java.lang.Object(Tree(o29126, o29127)), java.lang.Object(Tree(o44723Field0, o44723Field1)))
Load28462(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(Tree(o29126, o29127)), java.lang.Object(Tree(o43728, java.lang.Object(Tree(o44723Field0, o44723Field1))))) → Load28462ARR2(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(Tree(o29126, o29127)), java.lang.Object(Tree(o43728, java.lang.Object(Tree(o44723Field0, o44723Field1)))), java.lang.Object(java.lang.String(i3280)))
Load28462ARR2(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(Tree(o29126, o29127)), java.lang.Object(Tree(o43728, java.lang.Object(Tree(o44723Field0, o44723Field1)))), java.lang.Object(java.lang.String(i3280))) → Cond_Load28462ARR2(i3280 <= 0 && i2381 > 0 && i2381 < i6 && i2440 > 0 && i2381 + 1 > 0, java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(Tree(o29126, o29127)), java.lang.Object(Tree(o43728, java.lang.Object(Tree(o44723Field0, o44723Field1)))), java.lang.Object(java.lang.String(i3280)))
Cond_Load28462ARR2(TRUE, java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(Tree(o29126, o29127)), java.lang.Object(Tree(o43728, java.lang.Object(Tree(o44723Field0, o44723Field1)))), java.lang.Object(java.lang.String(i3280))) → Load28462(java.lang.Object(ARRAY(i6, a25256data)), i2381 + 1, i2440 + -1, java.lang.Object(Tree(o29126, o29127)), java.lang.Object(Tree(o44723Field0, o44723Field1)))
Inc53314(java.lang.Object(ARRAY(i6, a25256data)), i3027, i2440, java.lang.Object(Tree(o29126, o29127))) → Load28462(java.lang.Object(ARRAY(i6, a25256data)), i3027, i2440 + -1, java.lang.Object(Tree(o29126, o29127)), java.lang.Object(Tree(o29126, o29127)))
JMP53081(java.lang.Object(ARRAY(i6, a25256data)), i3027, i2440, java.lang.Object(Tree(o29126, o29127))) → Load28462(java.lang.Object(ARRAY(i6, a25256data)), i3027, i2440 + -1, java.lang.Object(Tree(o29126, o29127)), java.lang.Object(Tree(o29126, o29127)))
Load28462(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(Tree(o29126, o29127)), java.lang.Object(Tree(NULL, o43700))) → Load28462ARR3(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(Tree(o29126, o29127)), java.lang.Object(Tree(NULL, o43700)), java.lang.Object(java.lang.String(i3279)))
Load28462ARR3(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(Tree(o29126, o29127)), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL)), o43700)), java.lang.Object(java.lang.String(i3279))) → Cond_Load28462ARR3(i3279 > 0 && i2381 > 0 && i2381 < i6 && i2440 > 0 && i2381 + 1 > 0, java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(Tree(o29126, o29127)), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL)), o43700)), java.lang.Object(java.lang.String(i3279)))
Cond_Load28462ARR3(TRUE, java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(Tree(o29126, o29127)), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL)), o43700)), java.lang.Object(java.lang.String(i3279))) → Load28462(java.lang.Object(ARRAY(i6, a25256data)), i2381 + 1, i2440 + -1, o29125new, o29125new)
JMP45518(java.lang.Object(ARRAY(i6, a25256data)), i3027, i2440, java.lang.Object(Tree(o29126, o29127)), java.lang.Object(Tree(o44693Field0, o44693Field1))) → Inc45617(java.lang.Object(ARRAY(i6, a25256data)), i3027, i2440, java.lang.Object(Tree(o29126, o29127)), java.lang.Object(Tree(o44693Field0, o44693Field1)))
Load28462(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(Tree(o29126, o29127)), java.lang.Object(Tree(java.lang.Object(Tree(o44693Field0, o44693Field1)), o43700))) → Load28462ARR4(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(Tree(o29126, o29127)), java.lang.Object(Tree(java.lang.Object(Tree(o44693Field0, o44693Field1)), o43700)), java.lang.Object(java.lang.String(i3279)))
Load28462ARR4(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(Tree(o29126, o29127)), java.lang.Object(Tree(java.lang.Object(Tree(o44693Field0, o44693Field1)), o43700)), java.lang.Object(java.lang.String(i3279))) → Cond_Load28462ARR4(i3279 > 0 && i2381 > 0 && i2381 < i6 && i2440 > 0 && i2381 + 1 > 0, java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(Tree(o29126, o29127)), java.lang.Object(Tree(java.lang.Object(Tree(o44693Field0, o44693Field1)), o43700)), java.lang.Object(java.lang.String(i3279)))
Cond_Load28462ARR4(TRUE, java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(Tree(o29126, o29127)), java.lang.Object(Tree(java.lang.Object(Tree(o44693Field0, o44693Field1)), o43700)), java.lang.Object(java.lang.String(i3279))) → Inc45617(java.lang.Object(ARRAY(i6, a25256data)), i2381 + 1, i2440, java.lang.Object(Tree(o29126, o29127)), java.lang.Object(Tree(o44693Field0, o44693Field1)))
Load28462(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(Tree(o29126, java.lang.Object(Tree(o44239Field0, o44239Field1)))), java.lang.Object(Tree(o29126, java.lang.Object(Tree(o44239Field0, o44239Field1))))) → Load28462ARR5(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(Tree(o29126, java.lang.Object(Tree(o44239Field0, o44239Field1)))), java.lang.Object(java.lang.String(i3280)))
Load28462ARR5(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(Tree(o29126, java.lang.Object(Tree(o44239Field0, o44239Field1)))), java.lang.Object(java.lang.String(i3280))) → Cond_Load28462ARR5(i3280 <= 0 && i2381 > 0 && i2381 < i6 && i2440 > 0 && i2381 + 1 > 0, java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(Tree(o29126, java.lang.Object(Tree(o44239Field0, o44239Field1)))), java.lang.Object(java.lang.String(i3280)))
Cond_Load28462ARR5(TRUE, java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(Tree(o29126, java.lang.Object(Tree(o44239Field0, o44239Field1)))), java.lang.Object(java.lang.String(i3280))) → Inc45617(java.lang.Object(ARRAY(i6, a25256data)), i2381 + 1, i2440, java.lang.Object(Tree(o29126, java.lang.Object(Tree(o44239Field0, o44239Field1)))), java.lang.Object(Tree(o44239Field0, o44239Field1)))
JMP53117(java.lang.Object(ARRAY(i6, a25256data)), i3027, i2440, java.lang.Object(Tree(o29126, o29127))) → Inc53314(java.lang.Object(ARRAY(i6, a25256data)), i3027, i2440, java.lang.Object(Tree(o29126, o29127)))
Load28462(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(Tree(o29126, o29127)), java.lang.Object(Tree(o43728, NULL))) → Load28462ARR6(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(Tree(o29126, o29127)), java.lang.Object(Tree(o43728, NULL)), java.lang.Object(java.lang.String(i3280)))
Load28462ARR6(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(Tree(o29126, o29127)), java.lang.Object(Tree(o43728, java.lang.Object(Tree(NULL, NULL)))), java.lang.Object(java.lang.String(i3280))) → Cond_Load28462ARR6(i3280 <= 0 && i2381 > 0 && i2381 < i6 && i2440 > 0 && i2381 + 1 > 0, java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(Tree(o29126, o29127)), java.lang.Object(Tree(o43728, java.lang.Object(Tree(NULL, NULL)))), java.lang.Object(java.lang.String(i3280)))
Cond_Load28462ARR6(TRUE, java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(Tree(o29126, o29127)), java.lang.Object(Tree(o43728, java.lang.Object(Tree(NULL, NULL)))), java.lang.Object(java.lang.String(i3280))) → Inc53314(java.lang.Object(ARRAY(i6, a25256data)), i2381 + 1, i2440, o29125new)
Load28462(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(Tree(NULL, o29127)), java.lang.Object(Tree(NULL, o29127))) → Load28462ARR7(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(Tree(NULL, o29127)), java.lang.Object(java.lang.String(i3279)))
Load28462ARR7(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL)), o29127)), java.lang.Object(java.lang.String(i3279))) → Cond_Load28462ARR7(i3279 > 0 && i2381 > 0 && i2381 < i6 && i2440 > 0 && i2381 + 1 > 0, java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL)), o29127)), java.lang.Object(java.lang.String(i3279)))
Cond_Load28462ARR7(TRUE, java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL)), o29127)), java.lang.Object(java.lang.String(i3279))) → JMP53081(java.lang.Object(ARRAY(i6, a25256data)), i2381 + 1, i2440, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL)), o29127)))
Load28462(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(Tree(o29126, NULL)), java.lang.Object(Tree(o29126, NULL))) → Load28462ARR8(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(Tree(o29126, NULL)), java.lang.Object(java.lang.String(i3280)))
Load28462ARR8(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(Tree(o29126, java.lang.Object(Tree(NULL, NULL)))), java.lang.Object(java.lang.String(i3280))) → Cond_Load28462ARR8(i3280 <= 0 && i2381 > 0 && i2381 < i6 && i2440 > 0 && i2381 + 1 > 0, java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(Tree(o29126, java.lang.Object(Tree(NULL, NULL)))), java.lang.Object(java.lang.String(i3280)))
Cond_Load28462ARR8(TRUE, java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(Tree(o29126, java.lang.Object(Tree(NULL, NULL)))), java.lang.Object(java.lang.String(i3280))) → JMP53117(java.lang.Object(ARRAY(i6, a25256data)), i2381 + 1, i2440, java.lang.Object(Tree(o29126, java.lang.Object(Tree(NULL, NULL)))))
The set Q consists of the following terms:
Load28462ARR1(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(java.lang.Object(Tree(x4, x5)), x6)), java.lang.Object(java.lang.String(x7)))
Cond_Load28462ARR1(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(java.lang.Object(Tree(x4, x5)), x6)), java.lang.Object(java.lang.String(x7)))
Inc45617(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5)), java.lang.Object(Tree(x6, x7)))
Load28462(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5)), java.lang.Object(Tree(x6, java.lang.Object(Tree(x7, x8)))))
Load28462ARR2(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5)), java.lang.Object(Tree(x6, java.lang.Object(Tree(x7, x8)))), java.lang.Object(java.lang.String(x9)))
Cond_Load28462ARR2(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5)), java.lang.Object(Tree(x6, java.lang.Object(Tree(x7, x8)))), java.lang.Object(java.lang.String(x9)))
Inc53314(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5)))
JMP53081(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5)))
Load28462(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5)), java.lang.Object(Tree(NULL, x6)))
Load28462ARR3(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5)), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL)), x6)), java.lang.Object(java.lang.String(x7)))
Cond_Load28462ARR3(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5)), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL)), x6)), java.lang.Object(java.lang.String(x7)))
JMP45518(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5)), java.lang.Object(Tree(x6, x7)))
Load28462(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5)), java.lang.Object(Tree(java.lang.Object(Tree(x6, x7)), x8)))
Load28462ARR4(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5)), java.lang.Object(Tree(java.lang.Object(Tree(x6, x7)), x8)), java.lang.Object(java.lang.String(x9)))
Cond_Load28462ARR4(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5)), java.lang.Object(Tree(java.lang.Object(Tree(x6, x7)), x8)), java.lang.Object(java.lang.String(x9)))
Load28462ARR5(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, java.lang.Object(Tree(x5, x6)))), java.lang.Object(java.lang.String(x7)))
Cond_Load28462ARR5(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, java.lang.Object(Tree(x5, x6)))), java.lang.Object(java.lang.String(x7)))
JMP53117(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5)))
Load28462(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5)), java.lang.Object(Tree(x6, NULL)))
Load28462ARR6(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5)), java.lang.Object(Tree(x6, java.lang.Object(Tree(NULL, NULL)))), java.lang.Object(java.lang.String(x7)))
Cond_Load28462ARR6(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5)), java.lang.Object(Tree(x6, java.lang.Object(Tree(NULL, NULL)))), java.lang.Object(java.lang.String(x7)))
Load28462ARR7(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL)), x4)), java.lang.Object(java.lang.String(x5)))
Cond_Load28462ARR7(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL)), x4)), java.lang.Object(java.lang.String(x5)))
Load28462ARR8(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, java.lang.Object(Tree(NULL, NULL)))), java.lang.Object(java.lang.String(x5)))
Cond_Load28462ARR8(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, java.lang.Object(Tree(NULL, NULL)))), java.lang.Object(java.lang.String(x5)))

(59) ITRSFilterProcessorProof (SOUND transformation)

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

Load28462(x1, x2, x3, x4, x5) → Load28462(x1, x2, x3)
Tree(x1, x2) → Tree
Load28462ARR1(x1, x2, x3, x4, x5) → Load28462ARR1(x1, x2, x3, x5)
Cond_Load28462ARR1(x1, x2, x3, x4, x5, x6) → Cond_Load28462ARR1(x1, x2, x3, x4, x6)
JMP45518(x1, x2, x3, x4, x5) → JMP45518(x1, x2, x3)
Inc45617(x1, x2, x3, x4, x5) → Inc45617(x1, x2, x3)
Load28462ARR2(x1, x2, x3, x4, x5, x6) → Load28462ARR2(x1, x2, x3, x6)
Cond_Load28462ARR2(x1, x2, x3, x4, x5, x6, x7) → Cond_Load28462ARR2(x1, x2, x3, x4, x7)
Inc53314(x1, x2, x3, x4) → Inc53314(x1, x2, x3)
JMP53081(x1, x2, x3, x4) → JMP53081(x1, x2, x3)
Load28462ARR3(x1, x2, x3, x4, x5, x6) → Load28462ARR3(x1, x2, x3, x6)
Cond_Load28462ARR3(x1, x2, x3, x4, x5, x6, x7) → Cond_Load28462ARR3(x1, x2, x3, x4, x7)
Load28462ARR4(x1, x2, x3, x4, x5, x6) → Load28462ARR4(x1, x2, x3, x6)
Cond_Load28462ARR4(x1, x2, x3, x4, x5, x6, x7) → Cond_Load28462ARR4(x1, x2, x3, x4, x7)
Load28462ARR5(x1, x2, x3, x4, x5) → Load28462ARR5(x1, x2, x3, x5)
Cond_Load28462ARR5(x1, x2, x3, x4, x5, x6) → Cond_Load28462ARR5(x1, x2, x3, x4, x6)
JMP53117(x1, x2, x3, x4) → JMP53117(x1, x2, x3)
Load28462ARR6(x1, x2, x3, x4, x5, x6) → Load28462ARR6(x1, x2, x3, x6)
Cond_Load28462ARR6(x1, x2, x3, x4, x5, x6, x7) → Cond_Load28462ARR6(x1, x2, x3, x4, x7)
Load28462ARR7(x1, x2, x3, x4, x5) → Load28462ARR7(x1, x2, x3, x5)
Cond_Load28462ARR7(x1, x2, x3, x4, x5, x6) → Cond_Load28462ARR7(x1, x2, x3, x4, x6)
Load28462ARR8(x1, x2, x3, x4, x5) → Load28462ARR8(x1, x2, x3, x5)
Cond_Load28462ARR8(x1, x2, x3, x4, x5, x6) → Cond_Load28462ARR8(x1, x2, x3, x4, x6)

(60) 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:
Load28462(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440) → Load28462ARR1(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3279)))
Load28462ARR1(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3279))) → Cond_Load28462ARR1(i3279 > 0 && i2381 > 0 && i2381 < i6 && i2440 > 0 && i2381 + 1 > 0, java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3279)))
Cond_Load28462ARR1(TRUE, java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3279))) → JMP45518(java.lang.Object(ARRAY(i6, a25256data)), i2381 + 1, i2440)
Inc45617(java.lang.Object(ARRAY(i6, a25256data)), i3027, i2440) → Load28462(java.lang.Object(ARRAY(i6, a25256data)), i3027, i2440 + -1)
Load28462(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440) → Load28462ARR2(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3280)))
Load28462ARR2(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3280))) → Cond_Load28462ARR2(i3280 <= 0 && i2381 > 0 && i2381 < i6 && i2440 > 0 && i2381 + 1 > 0, java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3280)))
Cond_Load28462ARR2(TRUE, java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3280))) → Load28462(java.lang.Object(ARRAY(i6, a25256data)), i2381 + 1, i2440 + -1)
Inc53314(java.lang.Object(ARRAY(i6, a25256data)), i3027, i2440) → Load28462(java.lang.Object(ARRAY(i6, a25256data)), i3027, i2440 + -1)
JMP53081(java.lang.Object(ARRAY(i6, a25256data)), i3027, i2440) → Load28462(java.lang.Object(ARRAY(i6, a25256data)), i3027, i2440 + -1)
Load28462(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440) → Load28462ARR3(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3279)))
Load28462ARR3(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3279))) → Cond_Load28462ARR3(i3279 > 0 && i2381 > 0 && i2381 < i6 && i2440 > 0 && i2381 + 1 > 0, java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3279)))
Cond_Load28462ARR3(TRUE, java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3279))) → Load28462(java.lang.Object(ARRAY(i6, a25256data)), i2381 + 1, i2440 + -1)
JMP45518(java.lang.Object(ARRAY(i6, a25256data)), i3027, i2440) → Inc45617(java.lang.Object(ARRAY(i6, a25256data)), i3027, i2440)
Load28462(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440) → Load28462ARR4(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3279)))
Load28462ARR4(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3279))) → Cond_Load28462ARR4(i3279 > 0 && i2381 > 0 && i2381 < i6 && i2440 > 0 && i2381 + 1 > 0, java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3279)))
Cond_Load28462ARR4(TRUE, java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3279))) → Inc45617(java.lang.Object(ARRAY(i6, a25256data)), i2381 + 1, i2440)
Load28462(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440) → Load28462ARR5(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3280)))
Load28462ARR5(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3280))) → Cond_Load28462ARR5(i3280 <= 0 && i2381 > 0 && i2381 < i6 && i2440 > 0 && i2381 + 1 > 0, java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3280)))
Cond_Load28462ARR5(TRUE, java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3280))) → Inc45617(java.lang.Object(ARRAY(i6, a25256data)), i2381 + 1, i2440)
JMP53117(java.lang.Object(ARRAY(i6, a25256data)), i3027, i2440) → Inc53314(java.lang.Object(ARRAY(i6, a25256data)), i3027, i2440)
Load28462(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440) → Load28462ARR6(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3280)))
Load28462ARR6(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3280))) → Cond_Load28462ARR6(i3280 <= 0 && i2381 > 0 && i2381 < i6 && i2440 > 0 && i2381 + 1 > 0, java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3280)))
Cond_Load28462ARR6(TRUE, java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3280))) → Inc53314(java.lang.Object(ARRAY(i6, a25256data)), i2381 + 1, i2440)
Load28462(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440) → Load28462ARR7(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3279)))
Load28462ARR7(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3279))) → Cond_Load28462ARR7(i3279 > 0 && i2381 > 0 && i2381 < i6 && i2440 > 0 && i2381 + 1 > 0, java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3279)))
Cond_Load28462ARR7(TRUE, java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3279))) → JMP53081(java.lang.Object(ARRAY(i6, a25256data)), i2381 + 1, i2440)
Load28462(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440) → Load28462ARR8(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3280)))
Load28462ARR8(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3280))) → Cond_Load28462ARR8(i3280 <= 0 && i2381 > 0 && i2381 < i6 && i2440 > 0 && i2381 + 1 > 0, java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3280)))
Cond_Load28462ARR8(TRUE, java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3280))) → JMP53117(java.lang.Object(ARRAY(i6, a25256data)), i2381 + 1, i2440)
The set Q consists of the following terms:
Load28462(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load28462ARR1(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load28462ARR1(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Inc45617(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load28462ARR2(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load28462ARR2(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Inc53314(java.lang.Object(ARRAY(x0, x1)), x2, x3)
JMP53081(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load28462ARR3(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load28462ARR3(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
JMP45518(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load28462ARR4(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load28462ARR4(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load28462ARR5(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load28462ARR5(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
JMP53117(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load28462ARR6(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load28462ARR6(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load28462ARR7(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load28462ARR7(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load28462ARR8(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load28462ARR8(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))

(61) ITRSFSMergerProof (SOUND transformation)

The following function symbols have been merged:

Load28462ARR4, Load28462ARR7
> Load28462ARR4_4

Cond_Load28462ARR4, Cond_Load28462ARR7
> Cond_Load28462ARR4_5

Inc45617, Inc53314, JMP53081
> Inc45617_3

Load28462ARR5, Load28462ARR6
> Load28462ARR5_4

JMP45518, JMP53117
> JMP45518_3

Cond_Load28462ARR5, Cond_Load28462ARR6
> Cond_Load28462ARR5_5

(62) 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:
Load28462(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440) → Load28462ARR1(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3279)))
Load28462ARR1(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3279))) → Cond_Load28462ARR1(i3279 > 0 && i2381 > 0 && i2381 < i6 && i2440 > 0 && i2381 + 1 > 0, java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3279)))
Cond_Load28462ARR1(TRUE, java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3279))) → JMP45518(java.lang.Object(ARRAY(i6, a25256data)), i2381 + 1, i2440)
Inc45617(java.lang.Object(ARRAY(i6, a25256data)), i3027, i2440) → Load28462(java.lang.Object(ARRAY(i6, a25256data)), i3027, i2440 + -1)
Load28462(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440) → Load28462ARR2(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3280)))
Load28462ARR2(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3280))) → Cond_Load28462ARR2(i3280 <= 0 && i2381 > 0 && i2381 < i6 && i2440 > 0 && i2381 + 1 > 0, java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3280)))
Cond_Load28462ARR2(TRUE, java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3280))) → Load28462(java.lang.Object(ARRAY(i6, a25256data)), i2381 + 1, i2440 + -1)
Load28462(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440) → Load28462ARR3(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3279)))
Load28462ARR3(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3279))) → Cond_Load28462ARR3(i3279 > 0 && i2381 > 0 && i2381 < i6 && i2440 > 0 && i2381 + 1 > 0, java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3279)))
Cond_Load28462ARR3(TRUE, java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3279))) → Load28462(java.lang.Object(ARRAY(i6, a25256data)), i2381 + 1, i2440 + -1)
JMP45518(java.lang.Object(ARRAY(i6, a25256data)), i3027, i2440) → Inc45617(java.lang.Object(ARRAY(i6, a25256data)), i3027, i2440)
Load28462(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440) → Load28462ARR4(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3279)))
Load28462ARR4(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3279))) → Cond_Load28462ARR4(i3279 > 0 && i2381 > 0 && i2381 < i6 && i2440 > 0 && i2381 + 1 > 0, java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3279)))
Cond_Load28462ARR4(TRUE, java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3279))) → Inc45617(java.lang.Object(ARRAY(i6, a25256data)), i2381 + 1, i2440)
Load28462(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440) → Load28462ARR5(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3280)))
Load28462ARR5(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3280))) → Cond_Load28462ARR5(i3280 <= 0 && i2381 > 0 && i2381 < i6 && i2440 > 0 && i2381 + 1 > 0, java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3280)))
Cond_Load28462ARR5(TRUE, java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3280))) → Inc45617(java.lang.Object(ARRAY(i6, a25256data)), i2381 + 1, i2440)
Load28462(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440) → Load28462ARR8(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3280)))
Load28462ARR8(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3280))) → Cond_Load28462ARR8(i3280 <= 0 && i2381 > 0 && i2381 < i6 && i2440 > 0 && i2381 + 1 > 0, java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3280)))
Cond_Load28462ARR8(TRUE, java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3280))) → JMP45518(java.lang.Object(ARRAY(i6, a25256data)), i2381 + 1, i2440)
The set Q consists of the following terms:
Load28462(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load28462ARR1(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load28462ARR1(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Inc45617(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load28462ARR2(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load28462ARR2(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load28462ARR3(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load28462ARR3(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
JMP45518(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load28462ARR4(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load28462ARR4(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load28462ARR5(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load28462ARR5(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load28462ARR8(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load28462ARR8(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))

(63) ITRStoIDPProof (EQUIVALENT transformation)

Added dependency pairs

(64) 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:
Load28462(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440) → Load28462ARR1(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3279)))
Load28462ARR1(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3279))) → Cond_Load28462ARR1(i3279 > 0 && i2381 > 0 && i2381 < i6 && i2440 > 0 && i2381 + 1 > 0, java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3279)))
Cond_Load28462ARR1(TRUE, java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3279))) → JMP45518(java.lang.Object(ARRAY(i6, a25256data)), i2381 + 1, i2440)
Inc45617(java.lang.Object(ARRAY(i6, a25256data)), i3027, i2440) → Load28462(java.lang.Object(ARRAY(i6, a25256data)), i3027, i2440 + -1)
Load28462(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440) → Load28462ARR2(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3280)))
Load28462ARR2(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3280))) → Cond_Load28462ARR2(i3280 <= 0 && i2381 > 0 && i2381 < i6 && i2440 > 0 && i2381 + 1 > 0, java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3280)))
Cond_Load28462ARR2(TRUE, java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3280))) → Load28462(java.lang.Object(ARRAY(i6, a25256data)), i2381 + 1, i2440 + -1)
Load28462(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440) → Load28462ARR3(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3279)))
Load28462ARR3(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3279))) → Cond_Load28462ARR3(i3279 > 0 && i2381 > 0 && i2381 < i6 && i2440 > 0 && i2381 + 1 > 0, java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3279)))
Cond_Load28462ARR3(TRUE, java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3279))) → Load28462(java.lang.Object(ARRAY(i6, a25256data)), i2381 + 1, i2440 + -1)
JMP45518(java.lang.Object(ARRAY(i6, a25256data)), i3027, i2440) → Inc45617(java.lang.Object(ARRAY(i6, a25256data)), i3027, i2440)
Load28462(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440) → Load28462ARR4(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3279)))
Load28462ARR4(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3279))) → Cond_Load28462ARR4(i3279 > 0 && i2381 > 0 && i2381 < i6 && i2440 > 0 && i2381 + 1 > 0, java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3279)))
Cond_Load28462ARR4(TRUE, java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3279))) → Inc45617(java.lang.Object(ARRAY(i6, a25256data)), i2381 + 1, i2440)
Load28462(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440) → Load28462ARR5(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3280)))
Load28462ARR5(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3280))) → Cond_Load28462ARR5(i3280 <= 0 && i2381 > 0 && i2381 < i6 && i2440 > 0 && i2381 + 1 > 0, java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3280)))
Cond_Load28462ARR5(TRUE, java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3280))) → Inc45617(java.lang.Object(ARRAY(i6, a25256data)), i2381 + 1, i2440)
Load28462(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440) → Load28462ARR8(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3280)))
Load28462ARR8(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3280))) → Cond_Load28462ARR8(i3280 <= 0 && i2381 > 0 && i2381 < i6 && i2440 > 0 && i2381 + 1 > 0, java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3280)))
Cond_Load28462ARR8(TRUE, java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3280))) → JMP45518(java.lang.Object(ARRAY(i6, a25256data)), i2381 + 1, i2440)

The integer pair graph contains the following rules and edges:
(0): LOAD28462(java.lang.Object(ARRAY(i6[0], a25256data[0])), i2381[0], i2440[0]) → LOAD28462ARR1(java.lang.Object(ARRAY(i6[0], a25256data[0])), i2381[0], i2440[0], java.lang.Object(java.lang.String(i3279[0])))
(1): LOAD28462ARR1(java.lang.Object(ARRAY(i6[1], a25256data[1])), i2381[1], i2440[1], java.lang.Object(java.lang.String(i3279[1]))) → COND_LOAD28462ARR1(i3279[1] > 0 && i2381[1] > 0 && i2381[1] < i6[1] && i2440[1] > 0 && i2381[1] + 1 > 0, java.lang.Object(ARRAY(i6[1], a25256data[1])), i2381[1], i2440[1], java.lang.Object(java.lang.String(i3279[1])))
(2): COND_LOAD28462ARR1(TRUE, java.lang.Object(ARRAY(i6[2], a25256data[2])), i2381[2], i2440[2], java.lang.Object(java.lang.String(i3279[2]))) → JMP45518'(java.lang.Object(ARRAY(i6[2], a25256data[2])), i2381[2] + 1, i2440[2])
(3): INC45617(java.lang.Object(ARRAY(i6[3], a25256data[3])), i3027[3], i2440[3]) → LOAD28462(java.lang.Object(ARRAY(i6[3], a25256data[3])), i3027[3], i2440[3] + -1)
(4): LOAD28462(java.lang.Object(ARRAY(i6[4], a25256data[4])), i2381[4], i2440[4]) → LOAD28462ARR2(java.lang.Object(ARRAY(i6[4], a25256data[4])), i2381[4], i2440[4], java.lang.Object(java.lang.String(i3280[4])))
(5): LOAD28462ARR2(java.lang.Object(ARRAY(i6[5], a25256data[5])), i2381[5], i2440[5], java.lang.Object(java.lang.String(i3280[5]))) → COND_LOAD28462ARR2(i3280[5] <= 0 && i2381[5] > 0 && i2381[5] < i6[5] && i2440[5] > 0 && i2381[5] + 1 > 0, java.lang.Object(ARRAY(i6[5], a25256data[5])), i2381[5], i2440[5], java.lang.Object(java.lang.String(i3280[5])))
(6): COND_LOAD28462ARR2(TRUE, java.lang.Object(ARRAY(i6[6], a25256data[6])), i2381[6], i2440[6], java.lang.Object(java.lang.String(i3280[6]))) → LOAD28462(java.lang.Object(ARRAY(i6[6], a25256data[6])), i2381[6] + 1, i2440[6] + -1)
(7): LOAD28462(java.lang.Object(ARRAY(i6[7], a25256data[7])), i2381[7], i2440[7]) → LOAD28462ARR3(java.lang.Object(ARRAY(i6[7], a25256data[7])), i2381[7], i2440[7], java.lang.Object(java.lang.String(i3279[7])))
(8): LOAD28462ARR3(java.lang.Object(ARRAY(i6[8], a25256data[8])), i2381[8], i2440[8], java.lang.Object(java.lang.String(i3279[8]))) → COND_LOAD28462ARR3(i3279[8] > 0 && i2381[8] > 0 && i2381[8] < i6[8] && i2440[8] > 0 && i2381[8] + 1 > 0, java.lang.Object(ARRAY(i6[8], a25256data[8])), i2381[8], i2440[8], java.lang.Object(java.lang.String(i3279[8])))
(9): COND_LOAD28462ARR3(TRUE, java.lang.Object(ARRAY(i6[9], a25256data[9])), i2381[9], i2440[9], java.lang.Object(java.lang.String(i3279[9]))) → LOAD28462(java.lang.Object(ARRAY(i6[9], a25256data[9])), i2381[9] + 1, i2440[9] + -1)
(10): JMP45518'(java.lang.Object(ARRAY(i6[10], a25256data[10])), i3027[10], i2440[10]) → INC45617(java.lang.Object(ARRAY(i6[10], a25256data[10])), i3027[10], i2440[10])
(11): LOAD28462(java.lang.Object(ARRAY(i6[11], a25256data[11])), i2381[11], i2440[11]) → LOAD28462ARR4(java.lang.Object(ARRAY(i6[11], a25256data[11])), i2381[11], i2440[11], java.lang.Object(java.lang.String(i3279[11])))
(12): LOAD28462ARR4(java.lang.Object(ARRAY(i6[12], a25256data[12])), i2381[12], i2440[12], java.lang.Object(java.lang.String(i3279[12]))) → COND_LOAD28462ARR4(i3279[12] > 0 && i2381[12] > 0 && i2381[12] < i6[12] && i2440[12] > 0 && i2381[12] + 1 > 0, java.lang.Object(ARRAY(i6[12], a25256data[12])), i2381[12], i2440[12], java.lang.Object(java.lang.String(i3279[12])))
(13): COND_LOAD28462ARR4(TRUE, java.lang.Object(ARRAY(i6[13], a25256data[13])), i2381[13], i2440[13], java.lang.Object(java.lang.String(i3279[13]))) → INC45617(java.lang.Object(ARRAY(i6[13], a25256data[13])), i2381[13] + 1, i2440[13])
(14): LOAD28462(java.lang.Object(ARRAY(i6[14], a25256data[14])), i2381[14], i2440[14]) → LOAD28462ARR5(java.lang.Object(ARRAY(i6[14], a25256data[14])), i2381[14], i2440[14], java.lang.Object(java.lang.String(i3280[14])))
(15): LOAD28462ARR5(java.lang.Object(ARRAY(i6[15], a25256data[15])), i2381[15], i2440[15], java.lang.Object(java.lang.String(i3280[15]))) → COND_LOAD28462ARR5(i3280[15] <= 0 && i2381[15] > 0 && i2381[15] < i6[15] && i2440[15] > 0 && i2381[15] + 1 > 0, java.lang.Object(ARRAY(i6[15], a25256data[15])), i2381[15], i2440[15], java.lang.Object(java.lang.String(i3280[15])))
(16): COND_LOAD28462ARR5(TRUE, java.lang.Object(ARRAY(i6[16], a25256data[16])), i2381[16], i2440[16], java.lang.Object(java.lang.String(i3280[16]))) → INC45617(java.lang.Object(ARRAY(i6[16], a25256data[16])), i2381[16] + 1, i2440[16])
(17): LOAD28462(java.lang.Object(ARRAY(i6[17], a25256data[17])), i2381[17], i2440[17]) → LOAD28462ARR8(java.lang.Object(ARRAY(i6[17], a25256data[17])), i2381[17], i2440[17], java.lang.Object(java.lang.String(i3280[17])))
(18): LOAD28462ARR8(java.lang.Object(ARRAY(i6[18], a25256data[18])), i2381[18], i2440[18], java.lang.Object(java.lang.String(i3280[18]))) → COND_LOAD28462ARR8(i3280[18] <= 0 && i2381[18] > 0 && i2381[18] < i6[18] && i2440[18] > 0 && i2381[18] + 1 > 0, java.lang.Object(ARRAY(i6[18], a25256data[18])), i2381[18], i2440[18], java.lang.Object(java.lang.String(i3280[18])))
(19): COND_LOAD28462ARR8(TRUE, java.lang.Object(ARRAY(i6[19], a25256data[19])), i2381[19], i2440[19], java.lang.Object(java.lang.String(i3280[19]))) → JMP45518'(java.lang.Object(ARRAY(i6[19], a25256data[19])), i2381[19] + 1, i2440[19])

(0) -> (1), if ((i2440[0]* i2440[1])∧(java.lang.Object(java.lang.String(i3279[0])) →* java.lang.Object(java.lang.String(i3279[1])))∧(i2381[0]* i2381[1])∧(java.lang.Object(ARRAY(i6[0], a25256data[0])) →* java.lang.Object(ARRAY(i6[1], a25256data[1]))))


(1) -> (2), if ((java.lang.Object(java.lang.String(i3279[1])) →* java.lang.Object(java.lang.String(i3279[2])))∧(i3279[1] > 0 && i2381[1] > 0 && i2381[1] < i6[1] && i2440[1] > 0 && i2381[1] + 1 > 0* TRUE)∧(i2381[1]* i2381[2])∧(i2440[1]* i2440[2])∧(java.lang.Object(ARRAY(i6[1], a25256data[1])) →* java.lang.Object(ARRAY(i6[2], a25256data[2]))))


(2) -> (10), if ((i2381[2] + 1* i3027[10])∧(i2440[2]* i2440[10])∧(java.lang.Object(ARRAY(i6[2], a25256data[2])) →* java.lang.Object(ARRAY(i6[10], a25256data[10]))))


(3) -> (0), if ((java.lang.Object(ARRAY(i6[3], a25256data[3])) →* java.lang.Object(ARRAY(i6[0], a25256data[0])))∧(i3027[3]* i2381[0])∧(i2440[3] + -1* i2440[0]))


(3) -> (4), if ((java.lang.Object(ARRAY(i6[3], a25256data[3])) →* java.lang.Object(ARRAY(i6[4], a25256data[4])))∧(i2440[3] + -1* i2440[4])∧(i3027[3]* i2381[4]))


(3) -> (7), if ((java.lang.Object(ARRAY(i6[3], a25256data[3])) →* java.lang.Object(ARRAY(i6[7], a25256data[7])))∧(i3027[3]* i2381[7])∧(i2440[3] + -1* i2440[7]))


(3) -> (11), if ((i2440[3] + -1* i2440[11])∧(i3027[3]* i2381[11])∧(java.lang.Object(ARRAY(i6[3], a25256data[3])) →* java.lang.Object(ARRAY(i6[11], a25256data[11]))))


(3) -> (14), if ((i3027[3]* i2381[14])∧(i2440[3] + -1* i2440[14])∧(java.lang.Object(ARRAY(i6[3], a25256data[3])) →* java.lang.Object(ARRAY(i6[14], a25256data[14]))))


(3) -> (17), if ((i3027[3]* i2381[17])∧(java.lang.Object(ARRAY(i6[3], a25256data[3])) →* java.lang.Object(ARRAY(i6[17], a25256data[17])))∧(i2440[3] + -1* i2440[17]))


(4) -> (5), if ((i2440[4]* i2440[5])∧(java.lang.Object(ARRAY(i6[4], a25256data[4])) →* java.lang.Object(ARRAY(i6[5], a25256data[5])))∧(i2381[4]* i2381[5])∧(java.lang.Object(java.lang.String(i3280[4])) →* java.lang.Object(java.lang.String(i3280[5]))))


(5) -> (6), if ((i2440[5]* i2440[6])∧(java.lang.Object(ARRAY(i6[5], a25256data[5])) →* java.lang.Object(ARRAY(i6[6], a25256data[6])))∧(java.lang.Object(java.lang.String(i3280[5])) →* java.lang.Object(java.lang.String(i3280[6])))∧(i2381[5]* i2381[6])∧(i3280[5] <= 0 && i2381[5] > 0 && i2381[5] < i6[5] && i2440[5] > 0 && i2381[5] + 1 > 0* TRUE))


(6) -> (0), if ((i2440[6] + -1* i2440[0])∧(i2381[6] + 1* i2381[0])∧(java.lang.Object(ARRAY(i6[6], a25256data[6])) →* java.lang.Object(ARRAY(i6[0], a25256data[0]))))


(6) -> (4), if ((i2440[6] + -1* i2440[4])∧(i2381[6] + 1* i2381[4])∧(java.lang.Object(ARRAY(i6[6], a25256data[6])) →* java.lang.Object(ARRAY(i6[4], a25256data[4]))))


(6) -> (7), if ((i2381[6] + 1* i2381[7])∧(java.lang.Object(ARRAY(i6[6], a25256data[6])) →* java.lang.Object(ARRAY(i6[7], a25256data[7])))∧(i2440[6] + -1* i2440[7]))


(6) -> (11), if ((i2381[6] + 1* i2381[11])∧(java.lang.Object(ARRAY(i6[6], a25256data[6])) →* java.lang.Object(ARRAY(i6[11], a25256data[11])))∧(i2440[6] + -1* i2440[11]))


(6) -> (14), if ((java.lang.Object(ARRAY(i6[6], a25256data[6])) →* java.lang.Object(ARRAY(i6[14], a25256data[14])))∧(i2381[6] + 1* i2381[14])∧(i2440[6] + -1* i2440[14]))


(6) -> (17), if ((i2381[6] + 1* i2381[17])∧(i2440[6] + -1* i2440[17])∧(java.lang.Object(ARRAY(i6[6], a25256data[6])) →* java.lang.Object(ARRAY(i6[17], a25256data[17]))))


(7) -> (8), if ((java.lang.Object(ARRAY(i6[7], a25256data[7])) →* java.lang.Object(ARRAY(i6[8], a25256data[8])))∧(java.lang.Object(java.lang.String(i3279[7])) →* java.lang.Object(java.lang.String(i3279[8])))∧(i2440[7]* i2440[8])∧(i2381[7]* i2381[8]))


(8) -> (9), if ((java.lang.Object(ARRAY(i6[8], a25256data[8])) →* java.lang.Object(ARRAY(i6[9], a25256data[9])))∧(java.lang.Object(java.lang.String(i3279[8])) →* java.lang.Object(java.lang.String(i3279[9])))∧(i2381[8]* i2381[9])∧(i3279[8] > 0 && i2381[8] > 0 && i2381[8] < i6[8] && i2440[8] > 0 && i2381[8] + 1 > 0* TRUE)∧(i2440[8]* i2440[9]))


(9) -> (0), if ((java.lang.Object(ARRAY(i6[9], a25256data[9])) →* java.lang.Object(ARRAY(i6[0], a25256data[0])))∧(i2381[9] + 1* i2381[0])∧(i2440[9] + -1* i2440[0]))


(9) -> (4), if ((i2381[9] + 1* i2381[4])∧(i2440[9] + -1* i2440[4])∧(java.lang.Object(ARRAY(i6[9], a25256data[9])) →* java.lang.Object(ARRAY(i6[4], a25256data[4]))))


(9) -> (7), if ((java.lang.Object(ARRAY(i6[9], a25256data[9])) →* java.lang.Object(ARRAY(i6[7], a25256data[7])))∧(i2440[9] + -1* i2440[7])∧(i2381[9] + 1* i2381[7]))


(9) -> (11), if ((java.lang.Object(ARRAY(i6[9], a25256data[9])) →* java.lang.Object(ARRAY(i6[11], a25256data[11])))∧(i2381[9] + 1* i2381[11])∧(i2440[9] + -1* i2440[11]))


(9) -> (14), if ((i2440[9] + -1* i2440[14])∧(i2381[9] + 1* i2381[14])∧(java.lang.Object(ARRAY(i6[9], a25256data[9])) →* java.lang.Object(ARRAY(i6[14], a25256data[14]))))


(9) -> (17), if ((i2381[9] + 1* i2381[17])∧(i2440[9] + -1* i2440[17])∧(java.lang.Object(ARRAY(i6[9], a25256data[9])) →* java.lang.Object(ARRAY(i6[17], a25256data[17]))))


(10) -> (3), if ((i2440[10]* i2440[3])∧(java.lang.Object(ARRAY(i6[10], a25256data[10])) →* java.lang.Object(ARRAY(i6[3], a25256data[3])))∧(i3027[10]* i3027[3]))


(11) -> (12), if ((i2381[11]* i2381[12])∧(java.lang.Object(java.lang.String(i3279[11])) →* java.lang.Object(java.lang.String(i3279[12])))∧(java.lang.Object(ARRAY(i6[11], a25256data[11])) →* java.lang.Object(ARRAY(i6[12], a25256data[12])))∧(i2440[11]* i2440[12]))


(12) -> (13), if ((java.lang.Object(ARRAY(i6[12], a25256data[12])) →* java.lang.Object(ARRAY(i6[13], a25256data[13])))∧(i2440[12]* i2440[13])∧(i2381[12]* i2381[13])∧(java.lang.Object(java.lang.String(i3279[12])) →* java.lang.Object(java.lang.String(i3279[13])))∧(i3279[12] > 0 && i2381[12] > 0 && i2381[12] < i6[12] && i2440[12] > 0 && i2381[12] + 1 > 0* TRUE))


(13) -> (3), if ((i2440[13]* i2440[3])∧(i2381[13] + 1* i3027[3])∧(java.lang.Object(ARRAY(i6[13], a25256data[13])) →* java.lang.Object(ARRAY(i6[3], a25256data[3]))))


(14) -> (15), if ((java.lang.Object(ARRAY(i6[14], a25256data[14])) →* java.lang.Object(ARRAY(i6[15], a25256data[15])))∧(java.lang.Object(java.lang.String(i3280[14])) →* java.lang.Object(java.lang.String(i3280[15])))∧(i2440[14]* i2440[15])∧(i2381[14]* i2381[15]))


(15) -> (16), if ((java.lang.Object(java.lang.String(i3280[15])) →* java.lang.Object(java.lang.String(i3280[16])))∧(i3280[15] <= 0 && i2381[15] > 0 && i2381[15] < i6[15] && i2440[15] > 0 && i2381[15] + 1 > 0* TRUE)∧(i2440[15]* i2440[16])∧(i2381[15]* i2381[16])∧(java.lang.Object(ARRAY(i6[15], a25256data[15])) →* java.lang.Object(ARRAY(i6[16], a25256data[16]))))


(16) -> (3), if ((i2440[16]* i2440[3])∧(java.lang.Object(ARRAY(i6[16], a25256data[16])) →* java.lang.Object(ARRAY(i6[3], a25256data[3])))∧(i2381[16] + 1* i3027[3]))


(17) -> (18), if ((i2381[17]* i2381[18])∧(java.lang.Object(java.lang.String(i3280[17])) →* java.lang.Object(java.lang.String(i3280[18])))∧(i2440[17]* i2440[18])∧(java.lang.Object(ARRAY(i6[17], a25256data[17])) →* java.lang.Object(ARRAY(i6[18], a25256data[18]))))


(18) -> (19), if ((java.lang.Object(java.lang.String(i3280[18])) →* java.lang.Object(java.lang.String(i3280[19])))∧(i3280[18] <= 0 && i2381[18] > 0 && i2381[18] < i6[18] && i2440[18] > 0 && i2381[18] + 1 > 0* TRUE)∧(java.lang.Object(ARRAY(i6[18], a25256data[18])) →* java.lang.Object(ARRAY(i6[19], a25256data[19])))∧(i2440[18]* i2440[19])∧(i2381[18]* i2381[19]))


(19) -> (10), if ((java.lang.Object(ARRAY(i6[19], a25256data[19])) →* java.lang.Object(ARRAY(i6[10], a25256data[10])))∧(i2440[19]* i2440[10])∧(i2381[19] + 1* i3027[10]))



The set Q consists of the following terms:
Load28462(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load28462ARR1(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load28462ARR1(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Inc45617(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load28462ARR2(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load28462ARR2(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load28462ARR3(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load28462ARR3(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
JMP45518(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load28462ARR4(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load28462ARR4(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load28462ARR5(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load28462ARR5(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load28462ARR8(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load28462ARR8(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))

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

(66) 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): LOAD28462(java.lang.Object(ARRAY(i6[0], a25256data[0])), i2381[0], i2440[0]) → LOAD28462ARR1(java.lang.Object(ARRAY(i6[0], a25256data[0])), i2381[0], i2440[0], java.lang.Object(java.lang.String(i3279[0])))
(1): LOAD28462ARR1(java.lang.Object(ARRAY(i6[1], a25256data[1])), i2381[1], i2440[1], java.lang.Object(java.lang.String(i3279[1]))) → COND_LOAD28462ARR1(i3279[1] > 0 && i2381[1] > 0 && i2381[1] < i6[1] && i2440[1] > 0 && i2381[1] + 1 > 0, java.lang.Object(ARRAY(i6[1], a25256data[1])), i2381[1], i2440[1], java.lang.Object(java.lang.String(i3279[1])))
(2): COND_LOAD28462ARR1(TRUE, java.lang.Object(ARRAY(i6[2], a25256data[2])), i2381[2], i2440[2], java.lang.Object(java.lang.String(i3279[2]))) → JMP45518'(java.lang.Object(ARRAY(i6[2], a25256data[2])), i2381[2] + 1, i2440[2])
(3): INC45617(java.lang.Object(ARRAY(i6[3], a25256data[3])), i3027[3], i2440[3]) → LOAD28462(java.lang.Object(ARRAY(i6[3], a25256data[3])), i3027[3], i2440[3] + -1)
(4): LOAD28462(java.lang.Object(ARRAY(i6[4], a25256data[4])), i2381[4], i2440[4]) → LOAD28462ARR2(java.lang.Object(ARRAY(i6[4], a25256data[4])), i2381[4], i2440[4], java.lang.Object(java.lang.String(i3280[4])))
(5): LOAD28462ARR2(java.lang.Object(ARRAY(i6[5], a25256data[5])), i2381[5], i2440[5], java.lang.Object(java.lang.String(i3280[5]))) → COND_LOAD28462ARR2(i3280[5] <= 0 && i2381[5] > 0 && i2381[5] < i6[5] && i2440[5] > 0 && i2381[5] + 1 > 0, java.lang.Object(ARRAY(i6[5], a25256data[5])), i2381[5], i2440[5], java.lang.Object(java.lang.String(i3280[5])))
(6): COND_LOAD28462ARR2(TRUE, java.lang.Object(ARRAY(i6[6], a25256data[6])), i2381[6], i2440[6], java.lang.Object(java.lang.String(i3280[6]))) → LOAD28462(java.lang.Object(ARRAY(i6[6], a25256data[6])), i2381[6] + 1, i2440[6] + -1)
(7): LOAD28462(java.lang.Object(ARRAY(i6[7], a25256data[7])), i2381[7], i2440[7]) → LOAD28462ARR3(java.lang.Object(ARRAY(i6[7], a25256data[7])), i2381[7], i2440[7], java.lang.Object(java.lang.String(i3279[7])))
(8): LOAD28462ARR3(java.lang.Object(ARRAY(i6[8], a25256data[8])), i2381[8], i2440[8], java.lang.Object(java.lang.String(i3279[8]))) → COND_LOAD28462ARR3(i3279[8] > 0 && i2381[8] > 0 && i2381[8] < i6[8] && i2440[8] > 0 && i2381[8] + 1 > 0, java.lang.Object(ARRAY(i6[8], a25256data[8])), i2381[8], i2440[8], java.lang.Object(java.lang.String(i3279[8])))
(9): COND_LOAD28462ARR3(TRUE, java.lang.Object(ARRAY(i6[9], a25256data[9])), i2381[9], i2440[9], java.lang.Object(java.lang.String(i3279[9]))) → LOAD28462(java.lang.Object(ARRAY(i6[9], a25256data[9])), i2381[9] + 1, i2440[9] + -1)
(10): JMP45518'(java.lang.Object(ARRAY(i6[10], a25256data[10])), i3027[10], i2440[10]) → INC45617(java.lang.Object(ARRAY(i6[10], a25256data[10])), i3027[10], i2440[10])
(11): LOAD28462(java.lang.Object(ARRAY(i6[11], a25256data[11])), i2381[11], i2440[11]) → LOAD28462ARR4(java.lang.Object(ARRAY(i6[11], a25256data[11])), i2381[11], i2440[11], java.lang.Object(java.lang.String(i3279[11])))
(12): LOAD28462ARR4(java.lang.Object(ARRAY(i6[12], a25256data[12])), i2381[12], i2440[12], java.lang.Object(java.lang.String(i3279[12]))) → COND_LOAD28462ARR4(i3279[12] > 0 && i2381[12] > 0 && i2381[12] < i6[12] && i2440[12] > 0 && i2381[12] + 1 > 0, java.lang.Object(ARRAY(i6[12], a25256data[12])), i2381[12], i2440[12], java.lang.Object(java.lang.String(i3279[12])))
(13): COND_LOAD28462ARR4(TRUE, java.lang.Object(ARRAY(i6[13], a25256data[13])), i2381[13], i2440[13], java.lang.Object(java.lang.String(i3279[13]))) → INC45617(java.lang.Object(ARRAY(i6[13], a25256data[13])), i2381[13] + 1, i2440[13])
(14): LOAD28462(java.lang.Object(ARRAY(i6[14], a25256data[14])), i2381[14], i2440[14]) → LOAD28462ARR5(java.lang.Object(ARRAY(i6[14], a25256data[14])), i2381[14], i2440[14], java.lang.Object(java.lang.String(i3280[14])))
(15): LOAD28462ARR5(java.lang.Object(ARRAY(i6[15], a25256data[15])), i2381[15], i2440[15], java.lang.Object(java.lang.String(i3280[15]))) → COND_LOAD28462ARR5(i3280[15] <= 0 && i2381[15] > 0 && i2381[15] < i6[15] && i2440[15] > 0 && i2381[15] + 1 > 0, java.lang.Object(ARRAY(i6[15], a25256data[15])), i2381[15], i2440[15], java.lang.Object(java.lang.String(i3280[15])))
(16): COND_LOAD28462ARR5(TRUE, java.lang.Object(ARRAY(i6[16], a25256data[16])), i2381[16], i2440[16], java.lang.Object(java.lang.String(i3280[16]))) → INC45617(java.lang.Object(ARRAY(i6[16], a25256data[16])), i2381[16] + 1, i2440[16])
(17): LOAD28462(java.lang.Object(ARRAY(i6[17], a25256data[17])), i2381[17], i2440[17]) → LOAD28462ARR8(java.lang.Object(ARRAY(i6[17], a25256data[17])), i2381[17], i2440[17], java.lang.Object(java.lang.String(i3280[17])))
(18): LOAD28462ARR8(java.lang.Object(ARRAY(i6[18], a25256data[18])), i2381[18], i2440[18], java.lang.Object(java.lang.String(i3280[18]))) → COND_LOAD28462ARR8(i3280[18] <= 0 && i2381[18] > 0 && i2381[18] < i6[18] && i2440[18] > 0 && i2381[18] + 1 > 0, java.lang.Object(ARRAY(i6[18], a25256data[18])), i2381[18], i2440[18], java.lang.Object(java.lang.String(i3280[18])))
(19): COND_LOAD28462ARR8(TRUE, java.lang.Object(ARRAY(i6[19], a25256data[19])), i2381[19], i2440[19], java.lang.Object(java.lang.String(i3280[19]))) → JMP45518'(java.lang.Object(ARRAY(i6[19], a25256data[19])), i2381[19] + 1, i2440[19])

(0) -> (1), if ((i2440[0]* i2440[1])∧(java.lang.Object(java.lang.String(i3279[0])) →* java.lang.Object(java.lang.String(i3279[1])))∧(i2381[0]* i2381[1])∧(java.lang.Object(ARRAY(i6[0], a25256data[0])) →* java.lang.Object(ARRAY(i6[1], a25256data[1]))))


(1) -> (2), if ((java.lang.Object(java.lang.String(i3279[1])) →* java.lang.Object(java.lang.String(i3279[2])))∧(i3279[1] > 0 && i2381[1] > 0 && i2381[1] < i6[1] && i2440[1] > 0 && i2381[1] + 1 > 0* TRUE)∧(i2381[1]* i2381[2])∧(i2440[1]* i2440[2])∧(java.lang.Object(ARRAY(i6[1], a25256data[1])) →* java.lang.Object(ARRAY(i6[2], a25256data[2]))))


(2) -> (10), if ((i2381[2] + 1* i3027[10])∧(i2440[2]* i2440[10])∧(java.lang.Object(ARRAY(i6[2], a25256data[2])) →* java.lang.Object(ARRAY(i6[10], a25256data[10]))))


(3) -> (0), if ((java.lang.Object(ARRAY(i6[3], a25256data[3])) →* java.lang.Object(ARRAY(i6[0], a25256data[0])))∧(i3027[3]* i2381[0])∧(i2440[3] + -1* i2440[0]))


(3) -> (4), if ((java.lang.Object(ARRAY(i6[3], a25256data[3])) →* java.lang.Object(ARRAY(i6[4], a25256data[4])))∧(i2440[3] + -1* i2440[4])∧(i3027[3]* i2381[4]))


(3) -> (7), if ((java.lang.Object(ARRAY(i6[3], a25256data[3])) →* java.lang.Object(ARRAY(i6[7], a25256data[7])))∧(i3027[3]* i2381[7])∧(i2440[3] + -1* i2440[7]))


(3) -> (11), if ((i2440[3] + -1* i2440[11])∧(i3027[3]* i2381[11])∧(java.lang.Object(ARRAY(i6[3], a25256data[3])) →* java.lang.Object(ARRAY(i6[11], a25256data[11]))))


(3) -> (14), if ((i3027[3]* i2381[14])∧(i2440[3] + -1* i2440[14])∧(java.lang.Object(ARRAY(i6[3], a25256data[3])) →* java.lang.Object(ARRAY(i6[14], a25256data[14]))))


(3) -> (17), if ((i3027[3]* i2381[17])∧(java.lang.Object(ARRAY(i6[3], a25256data[3])) →* java.lang.Object(ARRAY(i6[17], a25256data[17])))∧(i2440[3] + -1* i2440[17]))


(4) -> (5), if ((i2440[4]* i2440[5])∧(java.lang.Object(ARRAY(i6[4], a25256data[4])) →* java.lang.Object(ARRAY(i6[5], a25256data[5])))∧(i2381[4]* i2381[5])∧(java.lang.Object(java.lang.String(i3280[4])) →* java.lang.Object(java.lang.String(i3280[5]))))


(5) -> (6), if ((i2440[5]* i2440[6])∧(java.lang.Object(ARRAY(i6[5], a25256data[5])) →* java.lang.Object(ARRAY(i6[6], a25256data[6])))∧(java.lang.Object(java.lang.String(i3280[5])) →* java.lang.Object(java.lang.String(i3280[6])))∧(i2381[5]* i2381[6])∧(i3280[5] <= 0 && i2381[5] > 0 && i2381[5] < i6[5] && i2440[5] > 0 && i2381[5] + 1 > 0* TRUE))


(6) -> (0), if ((i2440[6] + -1* i2440[0])∧(i2381[6] + 1* i2381[0])∧(java.lang.Object(ARRAY(i6[6], a25256data[6])) →* java.lang.Object(ARRAY(i6[0], a25256data[0]))))


(6) -> (4), if ((i2440[6] + -1* i2440[4])∧(i2381[6] + 1* i2381[4])∧(java.lang.Object(ARRAY(i6[6], a25256data[6])) →* java.lang.Object(ARRAY(i6[4], a25256data[4]))))


(6) -> (7), if ((i2381[6] + 1* i2381[7])∧(java.lang.Object(ARRAY(i6[6], a25256data[6])) →* java.lang.Object(ARRAY(i6[7], a25256data[7])))∧(i2440[6] + -1* i2440[7]))


(6) -> (11), if ((i2381[6] + 1* i2381[11])∧(java.lang.Object(ARRAY(i6[6], a25256data[6])) →* java.lang.Object(ARRAY(i6[11], a25256data[11])))∧(i2440[6] + -1* i2440[11]))


(6) -> (14), if ((java.lang.Object(ARRAY(i6[6], a25256data[6])) →* java.lang.Object(ARRAY(i6[14], a25256data[14])))∧(i2381[6] + 1* i2381[14])∧(i2440[6] + -1* i2440[14]))


(6) -> (17), if ((i2381[6] + 1* i2381[17])∧(i2440[6] + -1* i2440[17])∧(java.lang.Object(ARRAY(i6[6], a25256data[6])) →* java.lang.Object(ARRAY(i6[17], a25256data[17]))))


(7) -> (8), if ((java.lang.Object(ARRAY(i6[7], a25256data[7])) →* java.lang.Object(ARRAY(i6[8], a25256data[8])))∧(java.lang.Object(java.lang.String(i3279[7])) →* java.lang.Object(java.lang.String(i3279[8])))∧(i2440[7]* i2440[8])∧(i2381[7]* i2381[8]))


(8) -> (9), if ((java.lang.Object(ARRAY(i6[8], a25256data[8])) →* java.lang.Object(ARRAY(i6[9], a25256data[9])))∧(java.lang.Object(java.lang.String(i3279[8])) →* java.lang.Object(java.lang.String(i3279[9])))∧(i2381[8]* i2381[9])∧(i3279[8] > 0 && i2381[8] > 0 && i2381[8] < i6[8] && i2440[8] > 0 && i2381[8] + 1 > 0* TRUE)∧(i2440[8]* i2440[9]))


(9) -> (0), if ((java.lang.Object(ARRAY(i6[9], a25256data[9])) →* java.lang.Object(ARRAY(i6[0], a25256data[0])))∧(i2381[9] + 1* i2381[0])∧(i2440[9] + -1* i2440[0]))


(9) -> (4), if ((i2381[9] + 1* i2381[4])∧(i2440[9] + -1* i2440[4])∧(java.lang.Object(ARRAY(i6[9], a25256data[9])) →* java.lang.Object(ARRAY(i6[4], a25256data[4]))))


(9) -> (7), if ((java.lang.Object(ARRAY(i6[9], a25256data[9])) →* java.lang.Object(ARRAY(i6[7], a25256data[7])))∧(i2440[9] + -1* i2440[7])∧(i2381[9] + 1* i2381[7]))


(9) -> (11), if ((java.lang.Object(ARRAY(i6[9], a25256data[9])) →* java.lang.Object(ARRAY(i6[11], a25256data[11])))∧(i2381[9] + 1* i2381[11])∧(i2440[9] + -1* i2440[11]))


(9) -> (14), if ((i2440[9] + -1* i2440[14])∧(i2381[9] + 1* i2381[14])∧(java.lang.Object(ARRAY(i6[9], a25256data[9])) →* java.lang.Object(ARRAY(i6[14], a25256data[14]))))


(9) -> (17), if ((i2381[9] + 1* i2381[17])∧(i2440[9] + -1* i2440[17])∧(java.lang.Object(ARRAY(i6[9], a25256data[9])) →* java.lang.Object(ARRAY(i6[17], a25256data[17]))))


(10) -> (3), if ((i2440[10]* i2440[3])∧(java.lang.Object(ARRAY(i6[10], a25256data[10])) →* java.lang.Object(ARRAY(i6[3], a25256data[3])))∧(i3027[10]* i3027[3]))


(11) -> (12), if ((i2381[11]* i2381[12])∧(java.lang.Object(java.lang.String(i3279[11])) →* java.lang.Object(java.lang.String(i3279[12])))∧(java.lang.Object(ARRAY(i6[11], a25256data[11])) →* java.lang.Object(ARRAY(i6[12], a25256data[12])))∧(i2440[11]* i2440[12]))


(12) -> (13), if ((java.lang.Object(ARRAY(i6[12], a25256data[12])) →* java.lang.Object(ARRAY(i6[13], a25256data[13])))∧(i2440[12]* i2440[13])∧(i2381[12]* i2381[13])∧(java.lang.Object(java.lang.String(i3279[12])) →* java.lang.Object(java.lang.String(i3279[13])))∧(i3279[12] > 0 && i2381[12] > 0 && i2381[12] < i6[12] && i2440[12] > 0 && i2381[12] + 1 > 0* TRUE))


(13) -> (3), if ((i2440[13]* i2440[3])∧(i2381[13] + 1* i3027[3])∧(java.lang.Object(ARRAY(i6[13], a25256data[13])) →* java.lang.Object(ARRAY(i6[3], a25256data[3]))))


(14) -> (15), if ((java.lang.Object(ARRAY(i6[14], a25256data[14])) →* java.lang.Object(ARRAY(i6[15], a25256data[15])))∧(java.lang.Object(java.lang.String(i3280[14])) →* java.lang.Object(java.lang.String(i3280[15])))∧(i2440[14]* i2440[15])∧(i2381[14]* i2381[15]))


(15) -> (16), if ((java.lang.Object(java.lang.String(i3280[15])) →* java.lang.Object(java.lang.String(i3280[16])))∧(i3280[15] <= 0 && i2381[15] > 0 && i2381[15] < i6[15] && i2440[15] > 0 && i2381[15] + 1 > 0* TRUE)∧(i2440[15]* i2440[16])∧(i2381[15]* i2381[16])∧(java.lang.Object(ARRAY(i6[15], a25256data[15])) →* java.lang.Object(ARRAY(i6[16], a25256data[16]))))


(16) -> (3), if ((i2440[16]* i2440[3])∧(java.lang.Object(ARRAY(i6[16], a25256data[16])) →* java.lang.Object(ARRAY(i6[3], a25256data[3])))∧(i2381[16] + 1* i3027[3]))


(17) -> (18), if ((i2381[17]* i2381[18])∧(java.lang.Object(java.lang.String(i3280[17])) →* java.lang.Object(java.lang.String(i3280[18])))∧(i2440[17]* i2440[18])∧(java.lang.Object(ARRAY(i6[17], a25256data[17])) →* java.lang.Object(ARRAY(i6[18], a25256data[18]))))


(18) -> (19), if ((java.lang.Object(java.lang.String(i3280[18])) →* java.lang.Object(java.lang.String(i3280[19])))∧(i3280[18] <= 0 && i2381[18] > 0 && i2381[18] < i6[18] && i2440[18] > 0 && i2381[18] + 1 > 0* TRUE)∧(java.lang.Object(ARRAY(i6[18], a25256data[18])) →* java.lang.Object(ARRAY(i6[19], a25256data[19])))∧(i2440[18]* i2440[19])∧(i2381[18]* i2381[19]))


(19) -> (10), if ((java.lang.Object(ARRAY(i6[19], a25256data[19])) →* java.lang.Object(ARRAY(i6[10], a25256data[10])))∧(i2440[19]* i2440[10])∧(i2381[19] + 1* i3027[10]))



The set Q consists of the following terms:
Load28462(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load28462ARR1(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load28462ARR1(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Inc45617(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load28462ARR2(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load28462ARR2(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load28462ARR3(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load28462ARR3(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
JMP45518(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load28462ARR4(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load28462ARR4(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load28462ARR5(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load28462ARR5(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load28462ARR8(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load28462ARR8(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))

(67) ItpfGraphProof (EQUIVALENT transformation)

Applied rule ItpfICap [ICap]

(68) 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): LOAD28462(java.lang.Object(ARRAY(i6[0], a25256data[0])), i2381[0], i2440[0]) → LOAD28462ARR1(java.lang.Object(ARRAY(i6[0], a25256data[0])), i2381[0], i2440[0], java.lang.Object(java.lang.String(i3279[0])))
(1): LOAD28462ARR1(java.lang.Object(ARRAY(i6[1], a25256data[1])), i2381[1], i2440[1], java.lang.Object(java.lang.String(i3279[1]))) → COND_LOAD28462ARR1(i3279[1] > 0 && i2381[1] > 0 && i2381[1] < i6[1] && i2440[1] > 0 && i2381[1] + 1 > 0, java.lang.Object(ARRAY(i6[1], a25256data[1])), i2381[1], i2440[1], java.lang.Object(java.lang.String(i3279[1])))
(2): COND_LOAD28462ARR1(TRUE, java.lang.Object(ARRAY(i6[2], a25256data[2])), i2381[2], i2440[2], java.lang.Object(java.lang.String(i3279[2]))) → JMP45518'(java.lang.Object(ARRAY(i6[2], a25256data[2])), i2381[2] + 1, i2440[2])
(3): INC45617(java.lang.Object(ARRAY(i6[3], a25256data[3])), i3027[3], i2440[3]) → LOAD28462(java.lang.Object(ARRAY(i6[3], a25256data[3])), i3027[3], i2440[3] + -1)
(4): LOAD28462(java.lang.Object(ARRAY(i6[4], a25256data[4])), i2381[4], i2440[4]) → LOAD28462ARR2(java.lang.Object(ARRAY(i6[4], a25256data[4])), i2381[4], i2440[4], java.lang.Object(java.lang.String(i3280[4])))
(5): LOAD28462ARR2(java.lang.Object(ARRAY(i6[5], a25256data[5])), i2381[5], i2440[5], java.lang.Object(java.lang.String(i3280[5]))) → COND_LOAD28462ARR2(i3280[5] <= 0 && i2381[5] > 0 && i2381[5] < i6[5] && i2440[5] > 0 && i2381[5] + 1 > 0, java.lang.Object(ARRAY(i6[5], a25256data[5])), i2381[5], i2440[5], java.lang.Object(java.lang.String(i3280[5])))
(6): COND_LOAD28462ARR2(TRUE, java.lang.Object(ARRAY(i6[6], a25256data[6])), i2381[6], i2440[6], java.lang.Object(java.lang.String(i3280[6]))) → LOAD28462(java.lang.Object(ARRAY(i6[6], a25256data[6])), i2381[6] + 1, i2440[6] + -1)
(7): LOAD28462(java.lang.Object(ARRAY(i6[7], a25256data[7])), i2381[7], i2440[7]) → LOAD28462ARR3(java.lang.Object(ARRAY(i6[7], a25256data[7])), i2381[7], i2440[7], java.lang.Object(java.lang.String(i3279[7])))
(8): LOAD28462ARR3(java.lang.Object(ARRAY(i6[8], a25256data[8])), i2381[8], i2440[8], java.lang.Object(java.lang.String(i3279[8]))) → COND_LOAD28462ARR3(i3279[8] > 0 && i2381[8] > 0 && i2381[8] < i6[8] && i2440[8] > 0 && i2381[8] + 1 > 0, java.lang.Object(ARRAY(i6[8], a25256data[8])), i2381[8], i2440[8], java.lang.Object(java.lang.String(i3279[8])))
(9): COND_LOAD28462ARR3(TRUE, java.lang.Object(ARRAY(i6[9], a25256data[9])), i2381[9], i2440[9], java.lang.Object(java.lang.String(i3279[9]))) → LOAD28462(java.lang.Object(ARRAY(i6[9], a25256data[9])), i2381[9] + 1, i2440[9] + -1)
(10): JMP45518'(java.lang.Object(ARRAY(i6[10], a25256data[10])), i3027[10], i2440[10]) → INC45617(java.lang.Object(ARRAY(i6[10], a25256data[10])), i3027[10], i2440[10])
(11): LOAD28462(java.lang.Object(ARRAY(i6[11], a25256data[11])), i2381[11], i2440[11]) → LOAD28462ARR4(java.lang.Object(ARRAY(i6[11], a25256data[11])), i2381[11], i2440[11], java.lang.Object(java.lang.String(i3279[11])))
(12): LOAD28462ARR4(java.lang.Object(ARRAY(i6[12], a25256data[12])), i2381[12], i2440[12], java.lang.Object(java.lang.String(i3279[12]))) → COND_LOAD28462ARR4(i3279[12] > 0 && i2381[12] > 0 && i2381[12] < i6[12] && i2440[12] > 0 && i2381[12] + 1 > 0, java.lang.Object(ARRAY(i6[12], a25256data[12])), i2381[12], i2440[12], java.lang.Object(java.lang.String(i3279[12])))
(13): COND_LOAD28462ARR4(TRUE, java.lang.Object(ARRAY(i6[13], a25256data[13])), i2381[13], i2440[13], java.lang.Object(java.lang.String(i3279[13]))) → INC45617(java.lang.Object(ARRAY(i6[13], a25256data[13])), i2381[13] + 1, i2440[13])
(14): LOAD28462(java.lang.Object(ARRAY(i6[14], a25256data[14])), i2381[14], i2440[14]) → LOAD28462ARR5(java.lang.Object(ARRAY(i6[14], a25256data[14])), i2381[14], i2440[14], java.lang.Object(java.lang.String(i3280[14])))
(15): LOAD28462ARR5(java.lang.Object(ARRAY(i6[15], a25256data[15])), i2381[15], i2440[15], java.lang.Object(java.lang.String(i3280[15]))) → COND_LOAD28462ARR5(i3280[15] <= 0 && i2381[15] > 0 && i2381[15] < i6[15] && i2440[15] > 0 && i2381[15] + 1 > 0, java.lang.Object(ARRAY(i6[15], a25256data[15])), i2381[15], i2440[15], java.lang.Object(java.lang.String(i3280[15])))
(16): COND_LOAD28462ARR5(TRUE, java.lang.Object(ARRAY(i6[16], a25256data[16])), i2381[16], i2440[16], java.lang.Object(java.lang.String(i3280[16]))) → INC45617(java.lang.Object(ARRAY(i6[16], a25256data[16])), i2381[16] + 1, i2440[16])
(17): LOAD28462(java.lang.Object(ARRAY(i6[17], a25256data[17])), i2381[17], i2440[17]) → LOAD28462ARR8(java.lang.Object(ARRAY(i6[17], a25256data[17])), i2381[17], i2440[17], java.lang.Object(java.lang.String(i3280[17])))
(18): LOAD28462ARR8(java.lang.Object(ARRAY(i6[18], a25256data[18])), i2381[18], i2440[18], java.lang.Object(java.lang.String(i3280[18]))) → COND_LOAD28462ARR8(i3280[18] <= 0 && i2381[18] > 0 && i2381[18] < i6[18] && i2440[18] > 0 && i2381[18] + 1 > 0, java.lang.Object(ARRAY(i6[18], a25256data[18])), i2381[18], i2440[18], java.lang.Object(java.lang.String(i3280[18])))
(19): COND_LOAD28462ARR8(TRUE, java.lang.Object(ARRAY(i6[19], a25256data[19])), i2381[19], i2440[19], java.lang.Object(java.lang.String(i3280[19]))) → JMP45518'(java.lang.Object(ARRAY(i6[19], a25256data[19])), i2381[19] + 1, i2440[19])

(0) -> (1), if ((i2440[0]* i2440[1])∧((i3279[0]* i3279[1]))∧(i2381[0]* i2381[1])∧((i6[0]* i6[1])∧(a25256data[0]* a25256data[1])))


(1) -> (2), if (((i3279[1]* i3279[2]))∧(i3279[1] > 0 && i2381[1] > 0 && i2381[1] < i6[1] && i2440[1] > 0 && i2381[1] + 1 > 0* TRUE)∧(i2381[1]* i2381[2])∧(i2440[1]* i2440[2])∧((i6[1]* i6[2])∧(a25256data[1]* a25256data[2])))


(2) -> (10), if ((i2381[2] + 1* i3027[10])∧(i2440[2]* i2440[10])∧((i6[2]* i6[10])∧(a25256data[2]* a25256data[10])))


(3) -> (0), if (((i6[3]* i6[0])∧(a25256data[3]* a25256data[0]))∧(i3027[3]* i2381[0])∧(i2440[3] + -1* i2440[0]))


(3) -> (4), if (((i6[3]* i6[4])∧(a25256data[3]* a25256data[4]))∧(i2440[3] + -1* i2440[4])∧(i3027[3]* i2381[4]))


(3) -> (7), if (((i6[3]* i6[7])∧(a25256data[3]* a25256data[7]))∧(i3027[3]* i2381[7])∧(i2440[3] + -1* i2440[7]))


(3) -> (11), if ((i2440[3] + -1* i2440[11])∧(i3027[3]* i2381[11])∧((i6[3]* i6[11])∧(a25256data[3]* a25256data[11])))


(3) -> (14), if ((i3027[3]* i2381[14])∧(i2440[3] + -1* i2440[14])∧((i6[3]* i6[14])∧(a25256data[3]* a25256data[14])))


(3) -> (17), if ((i3027[3]* i2381[17])∧((i6[3]* i6[17])∧(a25256data[3]* a25256data[17]))∧(i2440[3] + -1* i2440[17]))


(4) -> (5), if ((i2440[4]* i2440[5])∧((i6[4]* i6[5])∧(a25256data[4]* a25256data[5]))∧(i2381[4]* i2381[5])∧((i3280[4]* i3280[5])))


(5) -> (6), if ((i2440[5]* i2440[6])∧((i6[5]* i6[6])∧(a25256data[5]* a25256data[6]))∧((i3280[5]* i3280[6]))∧(i2381[5]* i2381[6])∧(i3280[5] <= 0 && i2381[5] > 0 && i2381[5] < i6[5] && i2440[5] > 0 && i2381[5] + 1 > 0* TRUE))


(6) -> (0), if ((i2440[6] + -1* i2440[0])∧(i2381[6] + 1* i2381[0])∧((i6[6]* i6[0])∧(a25256data[6]* a25256data[0])))


(6) -> (4), if ((i2440[6] + -1* i2440[4])∧(i2381[6] + 1* i2381[4])∧((i6[6]* i6[4])∧(a25256data[6]* a25256data[4])))


(6) -> (7), if ((i2381[6] + 1* i2381[7])∧((i6[6]* i6[7])∧(a25256data[6]* a25256data[7]))∧(i2440[6] + -1* i2440[7]))


(6) -> (11), if ((i2381[6] + 1* i2381[11])∧((i6[6]* i6[11])∧(a25256data[6]* a25256data[11]))∧(i2440[6] + -1* i2440[11]))


(6) -> (14), if (((i6[6]* i6[14])∧(a25256data[6]* a25256data[14]))∧(i2381[6] + 1* i2381[14])∧(i2440[6] + -1* i2440[14]))


(6) -> (17), if ((i2381[6] + 1* i2381[17])∧(i2440[6] + -1* i2440[17])∧((i6[6]* i6[17])∧(a25256data[6]* a25256data[17])))


(7) -> (8), if (((i6[7]* i6[8])∧(a25256data[7]* a25256data[8]))∧((i3279[7]* i3279[8]))∧(i2440[7]* i2440[8])∧(i2381[7]* i2381[8]))


(8) -> (9), if (((i6[8]* i6[9])∧(a25256data[8]* a25256data[9]))∧((i3279[8]* i3279[9]))∧(i2381[8]* i2381[9])∧(i3279[8] > 0 && i2381[8] > 0 && i2381[8] < i6[8] && i2440[8] > 0 && i2381[8] + 1 > 0* TRUE)∧(i2440[8]* i2440[9]))


(9) -> (0), if (((i6[9]* i6[0])∧(a25256data[9]* a25256data[0]))∧(i2381[9] + 1* i2381[0])∧(i2440[9] + -1* i2440[0]))


(9) -> (4), if ((i2381[9] + 1* i2381[4])∧(i2440[9] + -1* i2440[4])∧((i6[9]* i6[4])∧(a25256data[9]* a25256data[4])))


(9) -> (7), if (((i6[9]* i6[7])∧(a25256data[9]* a25256data[7]))∧(i2440[9] + -1* i2440[7])∧(i2381[9] + 1* i2381[7]))


(9) -> (11), if (((i6[9]* i6[11])∧(a25256data[9]* a25256data[11]))∧(i2381[9] + 1* i2381[11])∧(i2440[9] + -1* i2440[11]))


(9) -> (14), if ((i2440[9] + -1* i2440[14])∧(i2381[9] + 1* i2381[14])∧((i6[9]* i6[14])∧(a25256data[9]* a25256data[14])))


(9) -> (17), if ((i2381[9] + 1* i2381[17])∧(i2440[9] + -1* i2440[17])∧((i6[9]* i6[17])∧(a25256data[9]* a25256data[17])))


(10) -> (3), if ((i2440[10]* i2440[3])∧((i6[10]* i6[3])∧(a25256data[10]* a25256data[3]))∧(i3027[10]* i3027[3]))


(11) -> (12), if ((i2381[11]* i2381[12])∧((i3279[11]* i3279[12]))∧((i6[11]* i6[12])∧(a25256data[11]* a25256data[12]))∧(i2440[11]* i2440[12]))


(12) -> (13), if (((i6[12]* i6[13])∧(a25256data[12]* a25256data[13]))∧(i2440[12]* i2440[13])∧(i2381[12]* i2381[13])∧((i3279[12]* i3279[13]))∧(i3279[12] > 0 && i2381[12] > 0 && i2381[12] < i6[12] && i2440[12] > 0 && i2381[12] + 1 > 0* TRUE))


(13) -> (3), if ((i2440[13]* i2440[3])∧(i2381[13] + 1* i3027[3])∧((i6[13]* i6[3])∧(a25256data[13]* a25256data[3])))


(14) -> (15), if (((i6[14]* i6[15])∧(a25256data[14]* a25256data[15]))∧((i3280[14]* i3280[15]))∧(i2440[14]* i2440[15])∧(i2381[14]* i2381[15]))


(15) -> (16), if (((i3280[15]* i3280[16]))∧(i3280[15] <= 0 && i2381[15] > 0 && i2381[15] < i6[15] && i2440[15] > 0 && i2381[15] + 1 > 0* TRUE)∧(i2440[15]* i2440[16])∧(i2381[15]* i2381[16])∧((i6[15]* i6[16])∧(a25256data[15]* a25256data[16])))


(16) -> (3), if ((i2440[16]* i2440[3])∧((i6[16]* i6[3])∧(a25256data[16]* a25256data[3]))∧(i2381[16] + 1* i3027[3]))


(17) -> (18), if ((i2381[17]* i2381[18])∧((i3280[17]* i3280[18]))∧(i2440[17]* i2440[18])∧((i6[17]* i6[18])∧(a25256data[17]* a25256data[18])))


(18) -> (19), if (((i3280[18]* i3280[19]))∧(i3280[18] <= 0 && i2381[18] > 0 && i2381[18] < i6[18] && i2440[18] > 0 && i2381[18] + 1 > 0* TRUE)∧((i6[18]* i6[19])∧(a25256data[18]* a25256data[19]))∧(i2440[18]* i2440[19])∧(i2381[18]* i2381[19]))


(19) -> (10), if (((i6[19]* i6[10])∧(a25256data[19]* a25256data[10]))∧(i2440[19]* i2440[10])∧(i2381[19] + 1* i3027[10]))



The set Q consists of the following terms:
Load28462(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load28462ARR1(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load28462ARR1(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Inc45617(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load28462ARR2(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load28462ARR2(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load28462ARR3(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load28462ARR3(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
JMP45518(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load28462ARR4(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load28462ARR4(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load28462ARR5(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load28462ARR5(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load28462ARR8(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load28462ARR8(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))

(69) 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 LOAD28462(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440) → LOAD28462ARR1(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3279))) the following chains were created:
  • We consider the chain LOAD28462(java.lang.Object(ARRAY(i6[0], a25256data[0])), i2381[0], i2440[0]) → LOAD28462ARR1(java.lang.Object(ARRAY(i6[0], a25256data[0])), i2381[0], i2440[0], java.lang.Object(java.lang.String(i3279[0]))) which results in the following constraint:

    (1)    (LOAD28462(java.lang.Object(ARRAY(i6[0], a25256data[0])), i2381[0], i2440[0])≥NonInfC∧LOAD28462(java.lang.Object(ARRAY(i6[0], a25256data[0])), i2381[0], i2440[0])≥LOAD28462ARR1(java.lang.Object(ARRAY(i6[0], a25256data[0])), i2381[0], i2440[0], java.lang.Object(java.lang.String(i3279[0])))∧(UIncreasing(LOAD28462ARR1(java.lang.Object(ARRAY(i6[0], a25256data[0])), i2381[0], i2440[0], java.lang.Object(java.lang.String(i3279[0])))), ≥))



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

    (2)    ((UIncreasing(LOAD28462ARR1(java.lang.Object(ARRAY(i6[0], a25256data[0])), i2381[0], i2440[0], java.lang.Object(java.lang.String(i3279[0])))), ≥)∧[(-1)bso_35] ≥ 0)



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

    (3)    ((UIncreasing(LOAD28462ARR1(java.lang.Object(ARRAY(i6[0], a25256data[0])), i2381[0], i2440[0], java.lang.Object(java.lang.String(i3279[0])))), ≥)∧[(-1)bso_35] ≥ 0)



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

    (4)    ((UIncreasing(LOAD28462ARR1(java.lang.Object(ARRAY(i6[0], a25256data[0])), i2381[0], i2440[0], java.lang.Object(java.lang.String(i3279[0])))), ≥)∧[(-1)bso_35] ≥ 0)



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

    (5)    ((UIncreasing(LOAD28462ARR1(java.lang.Object(ARRAY(i6[0], a25256data[0])), i2381[0], i2440[0], java.lang.Object(java.lang.String(i3279[0])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_35] ≥ 0)







For Pair LOAD28462ARR1(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3279))) → COND_LOAD28462ARR1(&&(&&(&&(&&(>(i3279, 0), >(i2381, 0)), <(i2381, i6)), >(i2440, 0)), >(+(i2381, 1), 0)), java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3279))) the following chains were created:
  • We consider the chain LOAD28462ARR1(java.lang.Object(ARRAY(i6[1], a25256data[1])), i2381[1], i2440[1], java.lang.Object(java.lang.String(i3279[1]))) → COND_LOAD28462ARR1(&&(&&(&&(&&(>(i3279[1], 0), >(i2381[1], 0)), <(i2381[1], i6[1])), >(i2440[1], 0)), >(+(i2381[1], 1), 0)), java.lang.Object(ARRAY(i6[1], a25256data[1])), i2381[1], i2440[1], java.lang.Object(java.lang.String(i3279[1]))), COND_LOAD28462ARR1(TRUE, java.lang.Object(ARRAY(i6[2], a25256data[2])), i2381[2], i2440[2], java.lang.Object(java.lang.String(i3279[2]))) → JMP45518'(java.lang.Object(ARRAY(i6[2], a25256data[2])), +(i2381[2], 1), i2440[2]) which results in the following constraint:

    (6)    (i3279[1]=i3279[2]&&(&&(&&(&&(>(i3279[1], 0), >(i2381[1], 0)), <(i2381[1], i6[1])), >(i2440[1], 0)), >(+(i2381[1], 1), 0))=TRUEi2381[1]=i2381[2]i2440[1]=i2440[2]i6[1]=i6[2]a25256data[1]=a25256data[2]LOAD28462ARR1(java.lang.Object(ARRAY(i6[1], a25256data[1])), i2381[1], i2440[1], java.lang.Object(java.lang.String(i3279[1])))≥NonInfC∧LOAD28462ARR1(java.lang.Object(ARRAY(i6[1], a25256data[1])), i2381[1], i2440[1], java.lang.Object(java.lang.String(i3279[1])))≥COND_LOAD28462ARR1(&&(&&(&&(&&(>(i3279[1], 0), >(i2381[1], 0)), <(i2381[1], i6[1])), >(i2440[1], 0)), >(+(i2381[1], 1), 0)), java.lang.Object(ARRAY(i6[1], a25256data[1])), i2381[1], i2440[1], java.lang.Object(java.lang.String(i3279[1])))∧(UIncreasing(COND_LOAD28462ARR1(&&(&&(&&(&&(>(i3279[1], 0), >(i2381[1], 0)), <(i2381[1], i6[1])), >(i2440[1], 0)), >(+(i2381[1], 1), 0)), java.lang.Object(ARRAY(i6[1], a25256data[1])), i2381[1], i2440[1], java.lang.Object(java.lang.String(i3279[1])))), ≥))



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

    (7)    (>(+(i2381[1], 1), 0)=TRUE>(i2440[1], 0)=TRUE<(i2381[1], i6[1])=TRUE>(i3279[1], 0)=TRUE>(i2381[1], 0)=TRUELOAD28462ARR1(java.lang.Object(ARRAY(i6[1], a25256data[1])), i2381[1], i2440[1], java.lang.Object(java.lang.String(i3279[1])))≥NonInfC∧LOAD28462ARR1(java.lang.Object(ARRAY(i6[1], a25256data[1])), i2381[1], i2440[1], java.lang.Object(java.lang.String(i3279[1])))≥COND_LOAD28462ARR1(&&(&&(&&(&&(>(i3279[1], 0), >(i2381[1], 0)), <(i2381[1], i6[1])), >(i2440[1], 0)), >(+(i2381[1], 1), 0)), java.lang.Object(ARRAY(i6[1], a25256data[1])), i2381[1], i2440[1], java.lang.Object(java.lang.String(i3279[1])))∧(UIncreasing(COND_LOAD28462ARR1(&&(&&(&&(&&(>(i3279[1], 0), >(i2381[1], 0)), <(i2381[1], i6[1])), >(i2440[1], 0)), >(+(i2381[1], 1), 0)), java.lang.Object(ARRAY(i6[1], a25256data[1])), i2381[1], i2440[1], java.lang.Object(java.lang.String(i3279[1])))), ≥))



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

    (8)    (i2381[1] ≥ 0∧i2440[1] + [-1] ≥ 0∧i6[1] + [-1] + [-1]i2381[1] ≥ 0∧i3279[1] + [-1] ≥ 0∧i2381[1] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD28462ARR1(&&(&&(&&(&&(>(i3279[1], 0), >(i2381[1], 0)), <(i2381[1], i6[1])), >(i2440[1], 0)), >(+(i2381[1], 1), 0)), java.lang.Object(ARRAY(i6[1], a25256data[1])), i2381[1], i2440[1], java.lang.Object(java.lang.String(i3279[1])))), ≥)∧[(-3)bni_36 + (-1)Bound*bni_36] + [bni_36]i2440[1] + [bni_36]i6[1] + [(-1)bni_36]i2381[1] ≥ 0∧[(-1)bso_37] ≥ 0)



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

    (9)    (i2381[1] ≥ 0∧i2440[1] + [-1] ≥ 0∧i6[1] + [-1] + [-1]i2381[1] ≥ 0∧i3279[1] + [-1] ≥ 0∧i2381[1] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD28462ARR1(&&(&&(&&(&&(>(i3279[1], 0), >(i2381[1], 0)), <(i2381[1], i6[1])), >(i2440[1], 0)), >(+(i2381[1], 1), 0)), java.lang.Object(ARRAY(i6[1], a25256data[1])), i2381[1], i2440[1], java.lang.Object(java.lang.String(i3279[1])))), ≥)∧[(-3)bni_36 + (-1)Bound*bni_36] + [bni_36]i2440[1] + [bni_36]i6[1] + [(-1)bni_36]i2381[1] ≥ 0∧[(-1)bso_37] ≥ 0)



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

    (10)    (i2381[1] ≥ 0∧i2440[1] + [-1] ≥ 0∧i6[1] + [-1] + [-1]i2381[1] ≥ 0∧i3279[1] + [-1] ≥ 0∧i2381[1] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD28462ARR1(&&(&&(&&(&&(>(i3279[1], 0), >(i2381[1], 0)), <(i2381[1], i6[1])), >(i2440[1], 0)), >(+(i2381[1], 1), 0)), java.lang.Object(ARRAY(i6[1], a25256data[1])), i2381[1], i2440[1], java.lang.Object(java.lang.String(i3279[1])))), ≥)∧[(-3)bni_36 + (-1)Bound*bni_36] + [bni_36]i2440[1] + [bni_36]i6[1] + [(-1)bni_36]i2381[1] ≥ 0∧[(-1)bso_37] ≥ 0)



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

    (11)    (i2381[1] ≥ 0∧i2440[1] + [-1] ≥ 0∧i6[1] + [-1] + [-1]i2381[1] ≥ 0∧i3279[1] + [-1] ≥ 0∧i2381[1] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD28462ARR1(&&(&&(&&(&&(>(i3279[1], 0), >(i2381[1], 0)), <(i2381[1], i6[1])), >(i2440[1], 0)), >(+(i2381[1], 1), 0)), java.lang.Object(ARRAY(i6[1], a25256data[1])), i2381[1], i2440[1], java.lang.Object(java.lang.String(i3279[1])))), ≥)∧0 = 0∧[(-3)bni_36 + (-1)Bound*bni_36] + [bni_36]i2440[1] + [bni_36]i6[1] + [(-1)bni_36]i2381[1] ≥ 0∧0 = 0∧[(-1)bso_37] ≥ 0)



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

    (12)    ([1] + i2381[1] ≥ 0∧i2440[1] + [-1] ≥ 0∧i6[1] + [-2] + [-1]i2381[1] ≥ 0∧i3279[1] + [-1] ≥ 0∧i2381[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD28462ARR1(&&(&&(&&(&&(>(i3279[1], 0), >(i2381[1], 0)), <(i2381[1], i6[1])), >(i2440[1], 0)), >(+(i2381[1], 1), 0)), java.lang.Object(ARRAY(i6[1], a25256data[1])), i2381[1], i2440[1], java.lang.Object(java.lang.String(i3279[1])))), ≥)∧0 = 0∧[(-4)bni_36 + (-1)Bound*bni_36] + [bni_36]i2440[1] + [bni_36]i6[1] + [(-1)bni_36]i2381[1] ≥ 0∧0 = 0∧[(-1)bso_37] ≥ 0)



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

    (13)    ([1] + i2381[1] ≥ 0∧i2440[1] ≥ 0∧i6[1] + [-2] + [-1]i2381[1] ≥ 0∧i3279[1] + [-1] ≥ 0∧i2381[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD28462ARR1(&&(&&(&&(&&(>(i3279[1], 0), >(i2381[1], 0)), <(i2381[1], i6[1])), >(i2440[1], 0)), >(+(i2381[1], 1), 0)), java.lang.Object(ARRAY(i6[1], a25256data[1])), i2381[1], i2440[1], java.lang.Object(java.lang.String(i3279[1])))), ≥)∧0 = 0∧[(-3)bni_36 + (-1)Bound*bni_36] + [bni_36]i2440[1] + [bni_36]i6[1] + [(-1)bni_36]i2381[1] ≥ 0∧0 = 0∧[(-1)bso_37] ≥ 0)



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

    (14)    ([1] + i2381[1] ≥ 0∧i2440[1] ≥ 0∧i6[1] ≥ 0∧i3279[1] + [-1] ≥ 0∧i2381[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD28462ARR1(&&(&&(&&(&&(>(i3279[1], 0), >(i2381[1], 0)), <(i2381[1], i6[1])), >(i2440[1], 0)), >(+(i2381[1], 1), 0)), java.lang.Object(ARRAY(i6[1], a25256data[1])), i2381[1], i2440[1], java.lang.Object(java.lang.String(i3279[1])))), ≥)∧0 = 0∧[(-1)Bound*bni_36 + (-1)bni_36] + [bni_36]i2440[1] + [bni_36]i6[1] ≥ 0∧0 = 0∧[(-1)bso_37] ≥ 0)



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

    (15)    ([1] + i2381[1] ≥ 0∧i2440[1] ≥ 0∧i6[1] ≥ 0∧i3279[1] ≥ 0∧i2381[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD28462ARR1(&&(&&(&&(&&(>(i3279[1], 0), >(i2381[1], 0)), <(i2381[1], i6[1])), >(i2440[1], 0)), >(+(i2381[1], 1), 0)), java.lang.Object(ARRAY(i6[1], a25256data[1])), i2381[1], i2440[1], java.lang.Object(java.lang.String(i3279[1])))), ≥)∧0 = 0∧[(-1)Bound*bni_36 + (-1)bni_36] + [bni_36]i2440[1] + [bni_36]i6[1] ≥ 0∧0 = 0∧[(-1)bso_37] ≥ 0)







For Pair COND_LOAD28462ARR1(TRUE, java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3279))) → JMP45518'(java.lang.Object(ARRAY(i6, a25256data)), +(i2381, 1), i2440) the following chains were created:
  • We consider the chain COND_LOAD28462ARR1(TRUE, java.lang.Object(ARRAY(i6[2], a25256data[2])), i2381[2], i2440[2], java.lang.Object(java.lang.String(i3279[2]))) → JMP45518'(java.lang.Object(ARRAY(i6[2], a25256data[2])), +(i2381[2], 1), i2440[2]) which results in the following constraint:

    (16)    (COND_LOAD28462ARR1(TRUE, java.lang.Object(ARRAY(i6[2], a25256data[2])), i2381[2], i2440[2], java.lang.Object(java.lang.String(i3279[2])))≥NonInfC∧COND_LOAD28462ARR1(TRUE, java.lang.Object(ARRAY(i6[2], a25256data[2])), i2381[2], i2440[2], java.lang.Object(java.lang.String(i3279[2])))≥JMP45518'(java.lang.Object(ARRAY(i6[2], a25256data[2])), +(i2381[2], 1), i2440[2])∧(UIncreasing(JMP45518'(java.lang.Object(ARRAY(i6[2], a25256data[2])), +(i2381[2], 1), i2440[2])), ≥))



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

    (17)    ((UIncreasing(JMP45518'(java.lang.Object(ARRAY(i6[2], a25256data[2])), +(i2381[2], 1), i2440[2])), ≥)∧[1 + (-1)bso_39] ≥ 0)



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

    (18)    ((UIncreasing(JMP45518'(java.lang.Object(ARRAY(i6[2], a25256data[2])), +(i2381[2], 1), i2440[2])), ≥)∧[1 + (-1)bso_39] ≥ 0)



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

    (19)    ((UIncreasing(JMP45518'(java.lang.Object(ARRAY(i6[2], a25256data[2])), +(i2381[2], 1), i2440[2])), ≥)∧[1 + (-1)bso_39] ≥ 0)



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

    (20)    ((UIncreasing(JMP45518'(java.lang.Object(ARRAY(i6[2], a25256data[2])), +(i2381[2], 1), i2440[2])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_39] ≥ 0)







For Pair INC45617(java.lang.Object(ARRAY(i6, a25256data)), i3027, i2440) → LOAD28462(java.lang.Object(ARRAY(i6, a25256data)), i3027, +(i2440, -1)) the following chains were created:
  • We consider the chain INC45617(java.lang.Object(ARRAY(i6[3], a25256data[3])), i3027[3], i2440[3]) → LOAD28462(java.lang.Object(ARRAY(i6[3], a25256data[3])), i3027[3], +(i2440[3], -1)) which results in the following constraint:

    (21)    (INC45617(java.lang.Object(ARRAY(i6[3], a25256data[3])), i3027[3], i2440[3])≥NonInfC∧INC45617(java.lang.Object(ARRAY(i6[3], a25256data[3])), i3027[3], i2440[3])≥LOAD28462(java.lang.Object(ARRAY(i6[3], a25256data[3])), i3027[3], +(i2440[3], -1))∧(UIncreasing(LOAD28462(java.lang.Object(ARRAY(i6[3], a25256data[3])), i3027[3], +(i2440[3], -1))), ≥))



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

    (22)    ((UIncreasing(LOAD28462(java.lang.Object(ARRAY(i6[3], a25256data[3])), i3027[3], +(i2440[3], -1))), ≥)∧[1 + (-1)bso_41] ≥ 0)



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

    (23)    ((UIncreasing(LOAD28462(java.lang.Object(ARRAY(i6[3], a25256data[3])), i3027[3], +(i2440[3], -1))), ≥)∧[1 + (-1)bso_41] ≥ 0)



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

    (24)    ((UIncreasing(LOAD28462(java.lang.Object(ARRAY(i6[3], a25256data[3])), i3027[3], +(i2440[3], -1))), ≥)∧[1 + (-1)bso_41] ≥ 0)



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

    (25)    ((UIncreasing(LOAD28462(java.lang.Object(ARRAY(i6[3], a25256data[3])), i3027[3], +(i2440[3], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_41] ≥ 0)







For Pair LOAD28462(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440) → LOAD28462ARR2(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3280))) the following chains were created:
  • We consider the chain LOAD28462(java.lang.Object(ARRAY(i6[4], a25256data[4])), i2381[4], i2440[4]) → LOAD28462ARR2(java.lang.Object(ARRAY(i6[4], a25256data[4])), i2381[4], i2440[4], java.lang.Object(java.lang.String(i3280[4]))) which results in the following constraint:

    (26)    (LOAD28462(java.lang.Object(ARRAY(i6[4], a25256data[4])), i2381[4], i2440[4])≥NonInfC∧LOAD28462(java.lang.Object(ARRAY(i6[4], a25256data[4])), i2381[4], i2440[4])≥LOAD28462ARR2(java.lang.Object(ARRAY(i6[4], a25256data[4])), i2381[4], i2440[4], java.lang.Object(java.lang.String(i3280[4])))∧(UIncreasing(LOAD28462ARR2(java.lang.Object(ARRAY(i6[4], a25256data[4])), i2381[4], i2440[4], java.lang.Object(java.lang.String(i3280[4])))), ≥))



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

    (27)    ((UIncreasing(LOAD28462ARR2(java.lang.Object(ARRAY(i6[4], a25256data[4])), i2381[4], i2440[4], java.lang.Object(java.lang.String(i3280[4])))), ≥)∧[(-1)bso_43] ≥ 0)



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

    (28)    ((UIncreasing(LOAD28462ARR2(java.lang.Object(ARRAY(i6[4], a25256data[4])), i2381[4], i2440[4], java.lang.Object(java.lang.String(i3280[4])))), ≥)∧[(-1)bso_43] ≥ 0)



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

    (29)    ((UIncreasing(LOAD28462ARR2(java.lang.Object(ARRAY(i6[4], a25256data[4])), i2381[4], i2440[4], java.lang.Object(java.lang.String(i3280[4])))), ≥)∧[(-1)bso_43] ≥ 0)



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

    (30)    ((UIncreasing(LOAD28462ARR2(java.lang.Object(ARRAY(i6[4], a25256data[4])), i2381[4], i2440[4], java.lang.Object(java.lang.String(i3280[4])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_43] ≥ 0)







For Pair LOAD28462ARR2(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3280))) → COND_LOAD28462ARR2(&&(&&(&&(&&(<=(i3280, 0), >(i2381, 0)), <(i2381, i6)), >(i2440, 0)), >(+(i2381, 1), 0)), java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3280))) the following chains were created:
  • We consider the chain LOAD28462ARR2(java.lang.Object(ARRAY(i6[5], a25256data[5])), i2381[5], i2440[5], java.lang.Object(java.lang.String(i3280[5]))) → COND_LOAD28462ARR2(&&(&&(&&(&&(<=(i3280[5], 0), >(i2381[5], 0)), <(i2381[5], i6[5])), >(i2440[5], 0)), >(+(i2381[5], 1), 0)), java.lang.Object(ARRAY(i6[5], a25256data[5])), i2381[5], i2440[5], java.lang.Object(java.lang.String(i3280[5]))), COND_LOAD28462ARR2(TRUE, java.lang.Object(ARRAY(i6[6], a25256data[6])), i2381[6], i2440[6], java.lang.Object(java.lang.String(i3280[6]))) → LOAD28462(java.lang.Object(ARRAY(i6[6], a25256data[6])), +(i2381[6], 1), +(i2440[6], -1)) which results in the following constraint:

    (31)    (i2440[5]=i2440[6]i6[5]=i6[6]a25256data[5]=a25256data[6]i3280[5]=i3280[6]i2381[5]=i2381[6]&&(&&(&&(&&(<=(i3280[5], 0), >(i2381[5], 0)), <(i2381[5], i6[5])), >(i2440[5], 0)), >(+(i2381[5], 1), 0))=TRUELOAD28462ARR2(java.lang.Object(ARRAY(i6[5], a25256data[5])), i2381[5], i2440[5], java.lang.Object(java.lang.String(i3280[5])))≥NonInfC∧LOAD28462ARR2(java.lang.Object(ARRAY(i6[5], a25256data[5])), i2381[5], i2440[5], java.lang.Object(java.lang.String(i3280[5])))≥COND_LOAD28462ARR2(&&(&&(&&(&&(<=(i3280[5], 0), >(i2381[5], 0)), <(i2381[5], i6[5])), >(i2440[5], 0)), >(+(i2381[5], 1), 0)), java.lang.Object(ARRAY(i6[5], a25256data[5])), i2381[5], i2440[5], java.lang.Object(java.lang.String(i3280[5])))∧(UIncreasing(COND_LOAD28462ARR2(&&(&&(&&(&&(<=(i3280[5], 0), >(i2381[5], 0)), <(i2381[5], i6[5])), >(i2440[5], 0)), >(+(i2381[5], 1), 0)), java.lang.Object(ARRAY(i6[5], a25256data[5])), i2381[5], i2440[5], java.lang.Object(java.lang.String(i3280[5])))), ≥))



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

    (32)    (>(+(i2381[5], 1), 0)=TRUE>(i2440[5], 0)=TRUE<(i2381[5], i6[5])=TRUE<=(i3280[5], 0)=TRUE>(i2381[5], 0)=TRUELOAD28462ARR2(java.lang.Object(ARRAY(i6[5], a25256data[5])), i2381[5], i2440[5], java.lang.Object(java.lang.String(i3280[5])))≥NonInfC∧LOAD28462ARR2(java.lang.Object(ARRAY(i6[5], a25256data[5])), i2381[5], i2440[5], java.lang.Object(java.lang.String(i3280[5])))≥COND_LOAD28462ARR2(&&(&&(&&(&&(<=(i3280[5], 0), >(i2381[5], 0)), <(i2381[5], i6[5])), >(i2440[5], 0)), >(+(i2381[5], 1), 0)), java.lang.Object(ARRAY(i6[5], a25256data[5])), i2381[5], i2440[5], java.lang.Object(java.lang.String(i3280[5])))∧(UIncreasing(COND_LOAD28462ARR2(&&(&&(&&(&&(<=(i3280[5], 0), >(i2381[5], 0)), <(i2381[5], i6[5])), >(i2440[5], 0)), >(+(i2381[5], 1), 0)), java.lang.Object(ARRAY(i6[5], a25256data[5])), i2381[5], i2440[5], java.lang.Object(java.lang.String(i3280[5])))), ≥))



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

    (33)    (i2381[5] ≥ 0∧i2440[5] + [-1] ≥ 0∧i6[5] + [-1] + [-1]i2381[5] ≥ 0∧[-1]i3280[5] ≥ 0∧i2381[5] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD28462ARR2(&&(&&(&&(&&(<=(i3280[5], 0), >(i2381[5], 0)), <(i2381[5], i6[5])), >(i2440[5], 0)), >(+(i2381[5], 1), 0)), java.lang.Object(ARRAY(i6[5], a25256data[5])), i2381[5], i2440[5], java.lang.Object(java.lang.String(i3280[5])))), ≥)∧[(-3)bni_44 + (-1)Bound*bni_44] + [bni_44]i2440[5] + [bni_44]i6[5] + [(-1)bni_44]i2381[5] ≥ 0∧[(-1)bso_45] ≥ 0)



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

    (34)    (i2381[5] ≥ 0∧i2440[5] + [-1] ≥ 0∧i6[5] + [-1] + [-1]i2381[5] ≥ 0∧[-1]i3280[5] ≥ 0∧i2381[5] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD28462ARR2(&&(&&(&&(&&(<=(i3280[5], 0), >(i2381[5], 0)), <(i2381[5], i6[5])), >(i2440[5], 0)), >(+(i2381[5], 1), 0)), java.lang.Object(ARRAY(i6[5], a25256data[5])), i2381[5], i2440[5], java.lang.Object(java.lang.String(i3280[5])))), ≥)∧[(-3)bni_44 + (-1)Bound*bni_44] + [bni_44]i2440[5] + [bni_44]i6[5] + [(-1)bni_44]i2381[5] ≥ 0∧[(-1)bso_45] ≥ 0)



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

    (35)    (i2381[5] ≥ 0∧i2440[5] + [-1] ≥ 0∧i6[5] + [-1] + [-1]i2381[5] ≥ 0∧[-1]i3280[5] ≥ 0∧i2381[5] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD28462ARR2(&&(&&(&&(&&(<=(i3280[5], 0), >(i2381[5], 0)), <(i2381[5], i6[5])), >(i2440[5], 0)), >(+(i2381[5], 1), 0)), java.lang.Object(ARRAY(i6[5], a25256data[5])), i2381[5], i2440[5], java.lang.Object(java.lang.String(i3280[5])))), ≥)∧[(-3)bni_44 + (-1)Bound*bni_44] + [bni_44]i2440[5] + [bni_44]i6[5] + [(-1)bni_44]i2381[5] ≥ 0∧[(-1)bso_45] ≥ 0)



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

    (36)    (i2381[5] ≥ 0∧i2440[5] + [-1] ≥ 0∧i6[5] + [-1] + [-1]i2381[5] ≥ 0∧[-1]i3280[5] ≥ 0∧i2381[5] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD28462ARR2(&&(&&(&&(&&(<=(i3280[5], 0), >(i2381[5], 0)), <(i2381[5], i6[5])), >(i2440[5], 0)), >(+(i2381[5], 1), 0)), java.lang.Object(ARRAY(i6[5], a25256data[5])), i2381[5], i2440[5], java.lang.Object(java.lang.String(i3280[5])))), ≥)∧0 = 0∧[(-3)bni_44 + (-1)Bound*bni_44] + [bni_44]i2440[5] + [bni_44]i6[5] + [(-1)bni_44]i2381[5] ≥ 0∧0 = 0∧[(-1)bso_45] ≥ 0)



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

    (37)    ([1] + i2381[5] ≥ 0∧i2440[5] + [-1] ≥ 0∧i6[5] + [-2] + [-1]i2381[5] ≥ 0∧[-1]i3280[5] ≥ 0∧i2381[5] ≥ 0 ⇒ (UIncreasing(COND_LOAD28462ARR2(&&(&&(&&(&&(<=(i3280[5], 0), >(i2381[5], 0)), <(i2381[5], i6[5])), >(i2440[5], 0)), >(+(i2381[5], 1), 0)), java.lang.Object(ARRAY(i6[5], a25256data[5])), i2381[5], i2440[5], java.lang.Object(java.lang.String(i3280[5])))), ≥)∧0 = 0∧[(-4)bni_44 + (-1)Bound*bni_44] + [bni_44]i2440[5] + [bni_44]i6[5] + [(-1)bni_44]i2381[5] ≥ 0∧0 = 0∧[(-1)bso_45] ≥ 0)



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

    (38)    ([1] + i2381[5] ≥ 0∧i2440[5] ≥ 0∧i6[5] + [-2] + [-1]i2381[5] ≥ 0∧[-1]i3280[5] ≥ 0∧i2381[5] ≥ 0 ⇒ (UIncreasing(COND_LOAD28462ARR2(&&(&&(&&(&&(<=(i3280[5], 0), >(i2381[5], 0)), <(i2381[5], i6[5])), >(i2440[5], 0)), >(+(i2381[5], 1), 0)), java.lang.Object(ARRAY(i6[5], a25256data[5])), i2381[5], i2440[5], java.lang.Object(java.lang.String(i3280[5])))), ≥)∧0 = 0∧[(-3)bni_44 + (-1)Bound*bni_44] + [bni_44]i2440[5] + [bni_44]i6[5] + [(-1)bni_44]i2381[5] ≥ 0∧0 = 0∧[(-1)bso_45] ≥ 0)



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

    (39)    ([1] + i2381[5] ≥ 0∧i2440[5] ≥ 0∧i6[5] ≥ 0∧[-1]i3280[5] ≥ 0∧i2381[5] ≥ 0 ⇒ (UIncreasing(COND_LOAD28462ARR2(&&(&&(&&(&&(<=(i3280[5], 0), >(i2381[5], 0)), <(i2381[5], i6[5])), >(i2440[5], 0)), >(+(i2381[5], 1), 0)), java.lang.Object(ARRAY(i6[5], a25256data[5])), i2381[5], i2440[5], java.lang.Object(java.lang.String(i3280[5])))), ≥)∧0 = 0∧[(-1)Bound*bni_44 + (-1)bni_44] + [bni_44]i2440[5] + [bni_44]i6[5] ≥ 0∧0 = 0∧[(-1)bso_45] ≥ 0)



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

    (40)    ([1] + i2381[5] ≥ 0∧i2440[5] ≥ 0∧i6[5] ≥ 0∧i3280[5] ≥ 0∧i2381[5] ≥ 0 ⇒ (UIncreasing(COND_LOAD28462ARR2(&&(&&(&&(&&(<=(i3280[5], 0), >(i2381[5], 0)), <(i2381[5], i6[5])), >(i2440[5], 0)), >(+(i2381[5], 1), 0)), java.lang.Object(ARRAY(i6[5], a25256data[5])), i2381[5], i2440[5], java.lang.Object(java.lang.String(i3280[5])))), ≥)∧0 = 0∧[(-1)Bound*bni_44 + (-1)bni_44] + [bni_44]i2440[5] + [bni_44]i6[5] ≥ 0∧0 = 0∧[(-1)bso_45] ≥ 0)







For Pair COND_LOAD28462ARR2(TRUE, java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3280))) → LOAD28462(java.lang.Object(ARRAY(i6, a25256data)), +(i2381, 1), +(i2440, -1)) the following chains were created:
  • We consider the chain COND_LOAD28462ARR2(TRUE, java.lang.Object(ARRAY(i6[6], a25256data[6])), i2381[6], i2440[6], java.lang.Object(java.lang.String(i3280[6]))) → LOAD28462(java.lang.Object(ARRAY(i6[6], a25256data[6])), +(i2381[6], 1), +(i2440[6], -1)) which results in the following constraint:

    (41)    (COND_LOAD28462ARR2(TRUE, java.lang.Object(ARRAY(i6[6], a25256data[6])), i2381[6], i2440[6], java.lang.Object(java.lang.String(i3280[6])))≥NonInfC∧COND_LOAD28462ARR2(TRUE, java.lang.Object(ARRAY(i6[6], a25256data[6])), i2381[6], i2440[6], java.lang.Object(java.lang.String(i3280[6])))≥LOAD28462(java.lang.Object(ARRAY(i6[6], a25256data[6])), +(i2381[6], 1), +(i2440[6], -1))∧(UIncreasing(LOAD28462(java.lang.Object(ARRAY(i6[6], a25256data[6])), +(i2381[6], 1), +(i2440[6], -1))), ≥))



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

    (42)    ((UIncreasing(LOAD28462(java.lang.Object(ARRAY(i6[6], a25256data[6])), +(i2381[6], 1), +(i2440[6], -1))), ≥)∧[2 + (-1)bso_47] ≥ 0)



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

    (43)    ((UIncreasing(LOAD28462(java.lang.Object(ARRAY(i6[6], a25256data[6])), +(i2381[6], 1), +(i2440[6], -1))), ≥)∧[2 + (-1)bso_47] ≥ 0)



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

    (44)    ((UIncreasing(LOAD28462(java.lang.Object(ARRAY(i6[6], a25256data[6])), +(i2381[6], 1), +(i2440[6], -1))), ≥)∧[2 + (-1)bso_47] ≥ 0)



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

    (45)    ((UIncreasing(LOAD28462(java.lang.Object(ARRAY(i6[6], a25256data[6])), +(i2381[6], 1), +(i2440[6], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[2 + (-1)bso_47] ≥ 0)







For Pair LOAD28462(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440) → LOAD28462ARR3(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3279))) the following chains were created:
  • We consider the chain LOAD28462(java.lang.Object(ARRAY(i6[7], a25256data[7])), i2381[7], i2440[7]) → LOAD28462ARR3(java.lang.Object(ARRAY(i6[7], a25256data[7])), i2381[7], i2440[7], java.lang.Object(java.lang.String(i3279[7]))) which results in the following constraint:

    (46)    (LOAD28462(java.lang.Object(ARRAY(i6[7], a25256data[7])), i2381[7], i2440[7])≥NonInfC∧LOAD28462(java.lang.Object(ARRAY(i6[7], a25256data[7])), i2381[7], i2440[7])≥LOAD28462ARR3(java.lang.Object(ARRAY(i6[7], a25256data[7])), i2381[7], i2440[7], java.lang.Object(java.lang.String(i3279[7])))∧(UIncreasing(LOAD28462ARR3(java.lang.Object(ARRAY(i6[7], a25256data[7])), i2381[7], i2440[7], java.lang.Object(java.lang.String(i3279[7])))), ≥))



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

    (47)    ((UIncreasing(LOAD28462ARR3(java.lang.Object(ARRAY(i6[7], a25256data[7])), i2381[7], i2440[7], java.lang.Object(java.lang.String(i3279[7])))), ≥)∧[(-1)bso_49] ≥ 0)



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

    (48)    ((UIncreasing(LOAD28462ARR3(java.lang.Object(ARRAY(i6[7], a25256data[7])), i2381[7], i2440[7], java.lang.Object(java.lang.String(i3279[7])))), ≥)∧[(-1)bso_49] ≥ 0)



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

    (49)    ((UIncreasing(LOAD28462ARR3(java.lang.Object(ARRAY(i6[7], a25256data[7])), i2381[7], i2440[7], java.lang.Object(java.lang.String(i3279[7])))), ≥)∧[(-1)bso_49] ≥ 0)



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

    (50)    ((UIncreasing(LOAD28462ARR3(java.lang.Object(ARRAY(i6[7], a25256data[7])), i2381[7], i2440[7], java.lang.Object(java.lang.String(i3279[7])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_49] ≥ 0)







For Pair LOAD28462ARR3(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3279))) → COND_LOAD28462ARR3(&&(&&(&&(&&(>(i3279, 0), >(i2381, 0)), <(i2381, i6)), >(i2440, 0)), >(+(i2381, 1), 0)), java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3279))) the following chains were created:
  • We consider the chain LOAD28462ARR3(java.lang.Object(ARRAY(i6[8], a25256data[8])), i2381[8], i2440[8], java.lang.Object(java.lang.String(i3279[8]))) → COND_LOAD28462ARR3(&&(&&(&&(&&(>(i3279[8], 0), >(i2381[8], 0)), <(i2381[8], i6[8])), >(i2440[8], 0)), >(+(i2381[8], 1), 0)), java.lang.Object(ARRAY(i6[8], a25256data[8])), i2381[8], i2440[8], java.lang.Object(java.lang.String(i3279[8]))), COND_LOAD28462ARR3(TRUE, java.lang.Object(ARRAY(i6[9], a25256data[9])), i2381[9], i2440[9], java.lang.Object(java.lang.String(i3279[9]))) → LOAD28462(java.lang.Object(ARRAY(i6[9], a25256data[9])), +(i2381[9], 1), +(i2440[9], -1)) which results in the following constraint:

    (51)    (i6[8]=i6[9]a25256data[8]=a25256data[9]i3279[8]=i3279[9]i2381[8]=i2381[9]&&(&&(&&(&&(>(i3279[8], 0), >(i2381[8], 0)), <(i2381[8], i6[8])), >(i2440[8], 0)), >(+(i2381[8], 1), 0))=TRUEi2440[8]=i2440[9]LOAD28462ARR3(java.lang.Object(ARRAY(i6[8], a25256data[8])), i2381[8], i2440[8], java.lang.Object(java.lang.String(i3279[8])))≥NonInfC∧LOAD28462ARR3(java.lang.Object(ARRAY(i6[8], a25256data[8])), i2381[8], i2440[8], java.lang.Object(java.lang.String(i3279[8])))≥COND_LOAD28462ARR3(&&(&&(&&(&&(>(i3279[8], 0), >(i2381[8], 0)), <(i2381[8], i6[8])), >(i2440[8], 0)), >(+(i2381[8], 1), 0)), java.lang.Object(ARRAY(i6[8], a25256data[8])), i2381[8], i2440[8], java.lang.Object(java.lang.String(i3279[8])))∧(UIncreasing(COND_LOAD28462ARR3(&&(&&(&&(&&(>(i3279[8], 0), >(i2381[8], 0)), <(i2381[8], i6[8])), >(i2440[8], 0)), >(+(i2381[8], 1), 0)), java.lang.Object(ARRAY(i6[8], a25256data[8])), i2381[8], i2440[8], java.lang.Object(java.lang.String(i3279[8])))), ≥))



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

    (52)    (>(+(i2381[8], 1), 0)=TRUE>(i2440[8], 0)=TRUE<(i2381[8], i6[8])=TRUE>(i3279[8], 0)=TRUE>(i2381[8], 0)=TRUELOAD28462ARR3(java.lang.Object(ARRAY(i6[8], a25256data[8])), i2381[8], i2440[8], java.lang.Object(java.lang.String(i3279[8])))≥NonInfC∧LOAD28462ARR3(java.lang.Object(ARRAY(i6[8], a25256data[8])), i2381[8], i2440[8], java.lang.Object(java.lang.String(i3279[8])))≥COND_LOAD28462ARR3(&&(&&(&&(&&(>(i3279[8], 0), >(i2381[8], 0)), <(i2381[8], i6[8])), >(i2440[8], 0)), >(+(i2381[8], 1), 0)), java.lang.Object(ARRAY(i6[8], a25256data[8])), i2381[8], i2440[8], java.lang.Object(java.lang.String(i3279[8])))∧(UIncreasing(COND_LOAD28462ARR3(&&(&&(&&(&&(>(i3279[8], 0), >(i2381[8], 0)), <(i2381[8], i6[8])), >(i2440[8], 0)), >(+(i2381[8], 1), 0)), java.lang.Object(ARRAY(i6[8], a25256data[8])), i2381[8], i2440[8], java.lang.Object(java.lang.String(i3279[8])))), ≥))



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

    (53)    (i2381[8] ≥ 0∧i2440[8] + [-1] ≥ 0∧i6[8] + [-1] + [-1]i2381[8] ≥ 0∧i3279[8] + [-1] ≥ 0∧i2381[8] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD28462ARR3(&&(&&(&&(&&(>(i3279[8], 0), >(i2381[8], 0)), <(i2381[8], i6[8])), >(i2440[8], 0)), >(+(i2381[8], 1), 0)), java.lang.Object(ARRAY(i6[8], a25256data[8])), i2381[8], i2440[8], java.lang.Object(java.lang.String(i3279[8])))), ≥)∧[(-3)bni_50 + (-1)Bound*bni_50] + [bni_50]i2440[8] + [bni_50]i6[8] + [(-1)bni_50]i2381[8] ≥ 0∧[(-1)bso_51] ≥ 0)



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

    (54)    (i2381[8] ≥ 0∧i2440[8] + [-1] ≥ 0∧i6[8] + [-1] + [-1]i2381[8] ≥ 0∧i3279[8] + [-1] ≥ 0∧i2381[8] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD28462ARR3(&&(&&(&&(&&(>(i3279[8], 0), >(i2381[8], 0)), <(i2381[8], i6[8])), >(i2440[8], 0)), >(+(i2381[8], 1), 0)), java.lang.Object(ARRAY(i6[8], a25256data[8])), i2381[8], i2440[8], java.lang.Object(java.lang.String(i3279[8])))), ≥)∧[(-3)bni_50 + (-1)Bound*bni_50] + [bni_50]i2440[8] + [bni_50]i6[8] + [(-1)bni_50]i2381[8] ≥ 0∧[(-1)bso_51] ≥ 0)



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

    (55)    (i2381[8] ≥ 0∧i2440[8] + [-1] ≥ 0∧i6[8] + [-1] + [-1]i2381[8] ≥ 0∧i3279[8] + [-1] ≥ 0∧i2381[8] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD28462ARR3(&&(&&(&&(&&(>(i3279[8], 0), >(i2381[8], 0)), <(i2381[8], i6[8])), >(i2440[8], 0)), >(+(i2381[8], 1), 0)), java.lang.Object(ARRAY(i6[8], a25256data[8])), i2381[8], i2440[8], java.lang.Object(java.lang.String(i3279[8])))), ≥)∧[(-3)bni_50 + (-1)Bound*bni_50] + [bni_50]i2440[8] + [bni_50]i6[8] + [(-1)bni_50]i2381[8] ≥ 0∧[(-1)bso_51] ≥ 0)



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

    (56)    (i2381[8] ≥ 0∧i2440[8] + [-1] ≥ 0∧i6[8] + [-1] + [-1]i2381[8] ≥ 0∧i3279[8] + [-1] ≥ 0∧i2381[8] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD28462ARR3(&&(&&(&&(&&(>(i3279[8], 0), >(i2381[8], 0)), <(i2381[8], i6[8])), >(i2440[8], 0)), >(+(i2381[8], 1), 0)), java.lang.Object(ARRAY(i6[8], a25256data[8])), i2381[8], i2440[8], java.lang.Object(java.lang.String(i3279[8])))), ≥)∧0 = 0∧[(-3)bni_50 + (-1)Bound*bni_50] + [bni_50]i2440[8] + [bni_50]i6[8] + [(-1)bni_50]i2381[8] ≥ 0∧0 = 0∧[(-1)bso_51] ≥ 0)



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

    (57)    ([1] + i2381[8] ≥ 0∧i2440[8] + [-1] ≥ 0∧i6[8] + [-2] + [-1]i2381[8] ≥ 0∧i3279[8] + [-1] ≥ 0∧i2381[8] ≥ 0 ⇒ (UIncreasing(COND_LOAD28462ARR3(&&(&&(&&(&&(>(i3279[8], 0), >(i2381[8], 0)), <(i2381[8], i6[8])), >(i2440[8], 0)), >(+(i2381[8], 1), 0)), java.lang.Object(ARRAY(i6[8], a25256data[8])), i2381[8], i2440[8], java.lang.Object(java.lang.String(i3279[8])))), ≥)∧0 = 0∧[(-4)bni_50 + (-1)Bound*bni_50] + [bni_50]i2440[8] + [bni_50]i6[8] + [(-1)bni_50]i2381[8] ≥ 0∧0 = 0∧[(-1)bso_51] ≥ 0)



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

    (58)    ([1] + i2381[8] ≥ 0∧i2440[8] ≥ 0∧i6[8] + [-2] + [-1]i2381[8] ≥ 0∧i3279[8] + [-1] ≥ 0∧i2381[8] ≥ 0 ⇒ (UIncreasing(COND_LOAD28462ARR3(&&(&&(&&(&&(>(i3279[8], 0), >(i2381[8], 0)), <(i2381[8], i6[8])), >(i2440[8], 0)), >(+(i2381[8], 1), 0)), java.lang.Object(ARRAY(i6[8], a25256data[8])), i2381[8], i2440[8], java.lang.Object(java.lang.String(i3279[8])))), ≥)∧0 = 0∧[(-3)bni_50 + (-1)Bound*bni_50] + [bni_50]i2440[8] + [bni_50]i6[8] + [(-1)bni_50]i2381[8] ≥ 0∧0 = 0∧[(-1)bso_51] ≥ 0)



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

    (59)    ([1] + i2381[8] ≥ 0∧i2440[8] ≥ 0∧i6[8] ≥ 0∧i3279[8] + [-1] ≥ 0∧i2381[8] ≥ 0 ⇒ (UIncreasing(COND_LOAD28462ARR3(&&(&&(&&(&&(>(i3279[8], 0), >(i2381[8], 0)), <(i2381[8], i6[8])), >(i2440[8], 0)), >(+(i2381[8], 1), 0)), java.lang.Object(ARRAY(i6[8], a25256data[8])), i2381[8], i2440[8], java.lang.Object(java.lang.String(i3279[8])))), ≥)∧0 = 0∧[(-1)Bound*bni_50 + (-1)bni_50] + [bni_50]i2440[8] + [bni_50]i6[8] ≥ 0∧0 = 0∧[(-1)bso_51] ≥ 0)



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

    (60)    ([1] + i2381[8] ≥ 0∧i2440[8] ≥ 0∧i6[8] ≥ 0∧i3279[8] ≥ 0∧i2381[8] ≥ 0 ⇒ (UIncreasing(COND_LOAD28462ARR3(&&(&&(&&(&&(>(i3279[8], 0), >(i2381[8], 0)), <(i2381[8], i6[8])), >(i2440[8], 0)), >(+(i2381[8], 1), 0)), java.lang.Object(ARRAY(i6[8], a25256data[8])), i2381[8], i2440[8], java.lang.Object(java.lang.String(i3279[8])))), ≥)∧0 = 0∧[(-1)Bound*bni_50 + (-1)bni_50] + [bni_50]i2440[8] + [bni_50]i6[8] ≥ 0∧0 = 0∧[(-1)bso_51] ≥ 0)







For Pair COND_LOAD28462ARR3(TRUE, java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3279))) → LOAD28462(java.lang.Object(ARRAY(i6, a25256data)), +(i2381, 1), +(i2440, -1)) the following chains were created:
  • We consider the chain COND_LOAD28462ARR3(TRUE, java.lang.Object(ARRAY(i6[9], a25256data[9])), i2381[9], i2440[9], java.lang.Object(java.lang.String(i3279[9]))) → LOAD28462(java.lang.Object(ARRAY(i6[9], a25256data[9])), +(i2381[9], 1), +(i2440[9], -1)) which results in the following constraint:

    (61)    (COND_LOAD28462ARR3(TRUE, java.lang.Object(ARRAY(i6[9], a25256data[9])), i2381[9], i2440[9], java.lang.Object(java.lang.String(i3279[9])))≥NonInfC∧COND_LOAD28462ARR3(TRUE, java.lang.Object(ARRAY(i6[9], a25256data[9])), i2381[9], i2440[9], java.lang.Object(java.lang.String(i3279[9])))≥LOAD28462(java.lang.Object(ARRAY(i6[9], a25256data[9])), +(i2381[9], 1), +(i2440[9], -1))∧(UIncreasing(LOAD28462(java.lang.Object(ARRAY(i6[9], a25256data[9])), +(i2381[9], 1), +(i2440[9], -1))), ≥))



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

    (62)    ((UIncreasing(LOAD28462(java.lang.Object(ARRAY(i6[9], a25256data[9])), +(i2381[9], 1), +(i2440[9], -1))), ≥)∧[2 + (-1)bso_53] ≥ 0)



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

    (63)    ((UIncreasing(LOAD28462(java.lang.Object(ARRAY(i6[9], a25256data[9])), +(i2381[9], 1), +(i2440[9], -1))), ≥)∧[2 + (-1)bso_53] ≥ 0)



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

    (64)    ((UIncreasing(LOAD28462(java.lang.Object(ARRAY(i6[9], a25256data[9])), +(i2381[9], 1), +(i2440[9], -1))), ≥)∧[2 + (-1)bso_53] ≥ 0)



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

    (65)    ((UIncreasing(LOAD28462(java.lang.Object(ARRAY(i6[9], a25256data[9])), +(i2381[9], 1), +(i2440[9], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[2 + (-1)bso_53] ≥ 0)







For Pair JMP45518'(java.lang.Object(ARRAY(i6, a25256data)), i3027, i2440) → INC45617(java.lang.Object(ARRAY(i6, a25256data)), i3027, i2440) the following chains were created:
  • We consider the chain JMP45518'(java.lang.Object(ARRAY(i6[10], a25256data[10])), i3027[10], i2440[10]) → INC45617(java.lang.Object(ARRAY(i6[10], a25256data[10])), i3027[10], i2440[10]), INC45617(java.lang.Object(ARRAY(i6[3], a25256data[3])), i3027[3], i2440[3]) → LOAD28462(java.lang.Object(ARRAY(i6[3], a25256data[3])), i3027[3], +(i2440[3], -1)) which results in the following constraint:

    (66)    (i2440[10]=i2440[3]i6[10]=i6[3]a25256data[10]=a25256data[3]i3027[10]=i3027[3]JMP45518'(java.lang.Object(ARRAY(i6[10], a25256data[10])), i3027[10], i2440[10])≥NonInfC∧JMP45518'(java.lang.Object(ARRAY(i6[10], a25256data[10])), i3027[10], i2440[10])≥INC45617(java.lang.Object(ARRAY(i6[10], a25256data[10])), i3027[10], i2440[10])∧(UIncreasing(INC45617(java.lang.Object(ARRAY(i6[10], a25256data[10])), i3027[10], i2440[10])), ≥))



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

    (67)    (JMP45518'(java.lang.Object(ARRAY(i6[10], a25256data[10])), i3027[10], i2440[10])≥NonInfC∧JMP45518'(java.lang.Object(ARRAY(i6[10], a25256data[10])), i3027[10], i2440[10])≥INC45617(java.lang.Object(ARRAY(i6[10], a25256data[10])), i3027[10], i2440[10])∧(UIncreasing(INC45617(java.lang.Object(ARRAY(i6[10], a25256data[10])), i3027[10], i2440[10])), ≥))



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

    (68)    ((UIncreasing(INC45617(java.lang.Object(ARRAY(i6[10], a25256data[10])), i3027[10], i2440[10])), ≥)∧[(-1)bso_55] ≥ 0)



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

    (69)    ((UIncreasing(INC45617(java.lang.Object(ARRAY(i6[10], a25256data[10])), i3027[10], i2440[10])), ≥)∧[(-1)bso_55] ≥ 0)



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

    (70)    ((UIncreasing(INC45617(java.lang.Object(ARRAY(i6[10], a25256data[10])), i3027[10], i2440[10])), ≥)∧[(-1)bso_55] ≥ 0)



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

    (71)    ((UIncreasing(INC45617(java.lang.Object(ARRAY(i6[10], a25256data[10])), i3027[10], i2440[10])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_55] ≥ 0)







For Pair LOAD28462(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440) → LOAD28462ARR4(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3279))) the following chains were created:
  • We consider the chain LOAD28462(java.lang.Object(ARRAY(i6[11], a25256data[11])), i2381[11], i2440[11]) → LOAD28462ARR4(java.lang.Object(ARRAY(i6[11], a25256data[11])), i2381[11], i2440[11], java.lang.Object(java.lang.String(i3279[11]))) which results in the following constraint:

    (72)    (LOAD28462(java.lang.Object(ARRAY(i6[11], a25256data[11])), i2381[11], i2440[11])≥NonInfC∧LOAD28462(java.lang.Object(ARRAY(i6[11], a25256data[11])), i2381[11], i2440[11])≥LOAD28462ARR4(java.lang.Object(ARRAY(i6[11], a25256data[11])), i2381[11], i2440[11], java.lang.Object(java.lang.String(i3279[11])))∧(UIncreasing(LOAD28462ARR4(java.lang.Object(ARRAY(i6[11], a25256data[11])), i2381[11], i2440[11], java.lang.Object(java.lang.String(i3279[11])))), ≥))



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

    (73)    ((UIncreasing(LOAD28462ARR4(java.lang.Object(ARRAY(i6[11], a25256data[11])), i2381[11], i2440[11], java.lang.Object(java.lang.String(i3279[11])))), ≥)∧[(-1)bso_57] ≥ 0)



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

    (74)    ((UIncreasing(LOAD28462ARR4(java.lang.Object(ARRAY(i6[11], a25256data[11])), i2381[11], i2440[11], java.lang.Object(java.lang.String(i3279[11])))), ≥)∧[(-1)bso_57] ≥ 0)



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

    (75)    ((UIncreasing(LOAD28462ARR4(java.lang.Object(ARRAY(i6[11], a25256data[11])), i2381[11], i2440[11], java.lang.Object(java.lang.String(i3279[11])))), ≥)∧[(-1)bso_57] ≥ 0)



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

    (76)    ((UIncreasing(LOAD28462ARR4(java.lang.Object(ARRAY(i6[11], a25256data[11])), i2381[11], i2440[11], java.lang.Object(java.lang.String(i3279[11])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_57] ≥ 0)







For Pair LOAD28462ARR4(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3279))) → COND_LOAD28462ARR4(&&(&&(&&(&&(>(i3279, 0), >(i2381, 0)), <(i2381, i6)), >(i2440, 0)), >(+(i2381, 1), 0)), java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3279))) the following chains were created:
  • We consider the chain LOAD28462ARR4(java.lang.Object(ARRAY(i6[12], a25256data[12])), i2381[12], i2440[12], java.lang.Object(java.lang.String(i3279[12]))) → COND_LOAD28462ARR4(&&(&&(&&(&&(>(i3279[12], 0), >(i2381[12], 0)), <(i2381[12], i6[12])), >(i2440[12], 0)), >(+(i2381[12], 1), 0)), java.lang.Object(ARRAY(i6[12], a25256data[12])), i2381[12], i2440[12], java.lang.Object(java.lang.String(i3279[12]))), COND_LOAD28462ARR4(TRUE, java.lang.Object(ARRAY(i6[13], a25256data[13])), i2381[13], i2440[13], java.lang.Object(java.lang.String(i3279[13]))) → INC45617(java.lang.Object(ARRAY(i6[13], a25256data[13])), +(i2381[13], 1), i2440[13]) which results in the following constraint:

    (77)    (i6[12]=i6[13]a25256data[12]=a25256data[13]i2440[12]=i2440[13]i2381[12]=i2381[13]i3279[12]=i3279[13]&&(&&(&&(&&(>(i3279[12], 0), >(i2381[12], 0)), <(i2381[12], i6[12])), >(i2440[12], 0)), >(+(i2381[12], 1), 0))=TRUELOAD28462ARR4(java.lang.Object(ARRAY(i6[12], a25256data[12])), i2381[12], i2440[12], java.lang.Object(java.lang.String(i3279[12])))≥NonInfC∧LOAD28462ARR4(java.lang.Object(ARRAY(i6[12], a25256data[12])), i2381[12], i2440[12], java.lang.Object(java.lang.String(i3279[12])))≥COND_LOAD28462ARR4(&&(&&(&&(&&(>(i3279[12], 0), >(i2381[12], 0)), <(i2381[12], i6[12])), >(i2440[12], 0)), >(+(i2381[12], 1), 0)), java.lang.Object(ARRAY(i6[12], a25256data[12])), i2381[12], i2440[12], java.lang.Object(java.lang.String(i3279[12])))∧(UIncreasing(COND_LOAD28462ARR4(&&(&&(&&(&&(>(i3279[12], 0), >(i2381[12], 0)), <(i2381[12], i6[12])), >(i2440[12], 0)), >(+(i2381[12], 1), 0)), java.lang.Object(ARRAY(i6[12], a25256data[12])), i2381[12], i2440[12], java.lang.Object(java.lang.String(i3279[12])))), ≥))



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

    (78)    (>(+(i2381[12], 1), 0)=TRUE>(i2440[12], 0)=TRUE<(i2381[12], i6[12])=TRUE>(i3279[12], 0)=TRUE>(i2381[12], 0)=TRUELOAD28462ARR4(java.lang.Object(ARRAY(i6[12], a25256data[12])), i2381[12], i2440[12], java.lang.Object(java.lang.String(i3279[12])))≥NonInfC∧LOAD28462ARR4(java.lang.Object(ARRAY(i6[12], a25256data[12])), i2381[12], i2440[12], java.lang.Object(java.lang.String(i3279[12])))≥COND_LOAD28462ARR4(&&(&&(&&(&&(>(i3279[12], 0), >(i2381[12], 0)), <(i2381[12], i6[12])), >(i2440[12], 0)), >(+(i2381[12], 1), 0)), java.lang.Object(ARRAY(i6[12], a25256data[12])), i2381[12], i2440[12], java.lang.Object(java.lang.String(i3279[12])))∧(UIncreasing(COND_LOAD28462ARR4(&&(&&(&&(&&(>(i3279[12], 0), >(i2381[12], 0)), <(i2381[12], i6[12])), >(i2440[12], 0)), >(+(i2381[12], 1), 0)), java.lang.Object(ARRAY(i6[12], a25256data[12])), i2381[12], i2440[12], java.lang.Object(java.lang.String(i3279[12])))), ≥))



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

    (79)    (i2381[12] ≥ 0∧i2440[12] + [-1] ≥ 0∧i6[12] + [-1] + [-1]i2381[12] ≥ 0∧i3279[12] + [-1] ≥ 0∧i2381[12] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD28462ARR4(&&(&&(&&(&&(>(i3279[12], 0), >(i2381[12], 0)), <(i2381[12], i6[12])), >(i2440[12], 0)), >(+(i2381[12], 1), 0)), java.lang.Object(ARRAY(i6[12], a25256data[12])), i2381[12], i2440[12], java.lang.Object(java.lang.String(i3279[12])))), ≥)∧[(-3)bni_58 + (-1)Bound*bni_58] + [bni_58]i2440[12] + [(-1)bni_58]i2381[12] + [bni_58]i6[12] ≥ 0∧[(-1)bso_59] ≥ 0)



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

    (80)    (i2381[12] ≥ 0∧i2440[12] + [-1] ≥ 0∧i6[12] + [-1] + [-1]i2381[12] ≥ 0∧i3279[12] + [-1] ≥ 0∧i2381[12] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD28462ARR4(&&(&&(&&(&&(>(i3279[12], 0), >(i2381[12], 0)), <(i2381[12], i6[12])), >(i2440[12], 0)), >(+(i2381[12], 1), 0)), java.lang.Object(ARRAY(i6[12], a25256data[12])), i2381[12], i2440[12], java.lang.Object(java.lang.String(i3279[12])))), ≥)∧[(-3)bni_58 + (-1)Bound*bni_58] + [bni_58]i2440[12] + [(-1)bni_58]i2381[12] + [bni_58]i6[12] ≥ 0∧[(-1)bso_59] ≥ 0)



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

    (81)    (i2381[12] ≥ 0∧i2440[12] + [-1] ≥ 0∧i6[12] + [-1] + [-1]i2381[12] ≥ 0∧i3279[12] + [-1] ≥ 0∧i2381[12] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD28462ARR4(&&(&&(&&(&&(>(i3279[12], 0), >(i2381[12], 0)), <(i2381[12], i6[12])), >(i2440[12], 0)), >(+(i2381[12], 1), 0)), java.lang.Object(ARRAY(i6[12], a25256data[12])), i2381[12], i2440[12], java.lang.Object(java.lang.String(i3279[12])))), ≥)∧[(-3)bni_58 + (-1)Bound*bni_58] + [bni_58]i2440[12] + [(-1)bni_58]i2381[12] + [bni_58]i6[12] ≥ 0∧[(-1)bso_59] ≥ 0)



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

    (82)    (i2381[12] ≥ 0∧i2440[12] + [-1] ≥ 0∧i6[12] + [-1] + [-1]i2381[12] ≥ 0∧i3279[12] + [-1] ≥ 0∧i2381[12] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD28462ARR4(&&(&&(&&(&&(>(i3279[12], 0), >(i2381[12], 0)), <(i2381[12], i6[12])), >(i2440[12], 0)), >(+(i2381[12], 1), 0)), java.lang.Object(ARRAY(i6[12], a25256data[12])), i2381[12], i2440[12], java.lang.Object(java.lang.String(i3279[12])))), ≥)∧0 = 0∧[(-3)bni_58 + (-1)Bound*bni_58] + [bni_58]i2440[12] + [(-1)bni_58]i2381[12] + [bni_58]i6[12] ≥ 0∧0 = 0∧[(-1)bso_59] ≥ 0)



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

    (83)    ([1] + i2381[12] ≥ 0∧i2440[12] + [-1] ≥ 0∧i6[12] + [-2] + [-1]i2381[12] ≥ 0∧i3279[12] + [-1] ≥ 0∧i2381[12] ≥ 0 ⇒ (UIncreasing(COND_LOAD28462ARR4(&&(&&(&&(&&(>(i3279[12], 0), >(i2381[12], 0)), <(i2381[12], i6[12])), >(i2440[12], 0)), >(+(i2381[12], 1), 0)), java.lang.Object(ARRAY(i6[12], a25256data[12])), i2381[12], i2440[12], java.lang.Object(java.lang.String(i3279[12])))), ≥)∧0 = 0∧[(-4)bni_58 + (-1)Bound*bni_58] + [bni_58]i2440[12] + [(-1)bni_58]i2381[12] + [bni_58]i6[12] ≥ 0∧0 = 0∧[(-1)bso_59] ≥ 0)



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

    (84)    ([1] + i2381[12] ≥ 0∧i2440[12] ≥ 0∧i6[12] + [-2] + [-1]i2381[12] ≥ 0∧i3279[12] + [-1] ≥ 0∧i2381[12] ≥ 0 ⇒ (UIncreasing(COND_LOAD28462ARR4(&&(&&(&&(&&(>(i3279[12], 0), >(i2381[12], 0)), <(i2381[12], i6[12])), >(i2440[12], 0)), >(+(i2381[12], 1), 0)), java.lang.Object(ARRAY(i6[12], a25256data[12])), i2381[12], i2440[12], java.lang.Object(java.lang.String(i3279[12])))), ≥)∧0 = 0∧[(-3)bni_58 + (-1)Bound*bni_58] + [bni_58]i2440[12] + [(-1)bni_58]i2381[12] + [bni_58]i6[12] ≥ 0∧0 = 0∧[(-1)bso_59] ≥ 0)



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

    (85)    ([1] + i2381[12] ≥ 0∧i2440[12] ≥ 0∧i6[12] ≥ 0∧i3279[12] + [-1] ≥ 0∧i2381[12] ≥ 0 ⇒ (UIncreasing(COND_LOAD28462ARR4(&&(&&(&&(&&(>(i3279[12], 0), >(i2381[12], 0)), <(i2381[12], i6[12])), >(i2440[12], 0)), >(+(i2381[12], 1), 0)), java.lang.Object(ARRAY(i6[12], a25256data[12])), i2381[12], i2440[12], java.lang.Object(java.lang.String(i3279[12])))), ≥)∧0 = 0∧[(-1)bni_58 + (-1)Bound*bni_58] + [bni_58]i2440[12] + [bni_58]i6[12] ≥ 0∧0 = 0∧[(-1)bso_59] ≥ 0)



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

    (86)    ([1] + i2381[12] ≥ 0∧i2440[12] ≥ 0∧i6[12] ≥ 0∧i3279[12] ≥ 0∧i2381[12] ≥ 0 ⇒ (UIncreasing(COND_LOAD28462ARR4(&&(&&(&&(&&(>(i3279[12], 0), >(i2381[12], 0)), <(i2381[12], i6[12])), >(i2440[12], 0)), >(+(i2381[12], 1), 0)), java.lang.Object(ARRAY(i6[12], a25256data[12])), i2381[12], i2440[12], java.lang.Object(java.lang.String(i3279[12])))), ≥)∧0 = 0∧[(-1)bni_58 + (-1)Bound*bni_58] + [bni_58]i2440[12] + [bni_58]i6[12] ≥ 0∧0 = 0∧[(-1)bso_59] ≥ 0)







For Pair COND_LOAD28462ARR4(TRUE, java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3279))) → INC45617(java.lang.Object(ARRAY(i6, a25256data)), +(i2381, 1), i2440) the following chains were created:
  • We consider the chain COND_LOAD28462ARR4(TRUE, java.lang.Object(ARRAY(i6[13], a25256data[13])), i2381[13], i2440[13], java.lang.Object(java.lang.String(i3279[13]))) → INC45617(java.lang.Object(ARRAY(i6[13], a25256data[13])), +(i2381[13], 1), i2440[13]) which results in the following constraint:

    (87)    (COND_LOAD28462ARR4(TRUE, java.lang.Object(ARRAY(i6[13], a25256data[13])), i2381[13], i2440[13], java.lang.Object(java.lang.String(i3279[13])))≥NonInfC∧COND_LOAD28462ARR4(TRUE, java.lang.Object(ARRAY(i6[13], a25256data[13])), i2381[13], i2440[13], java.lang.Object(java.lang.String(i3279[13])))≥INC45617(java.lang.Object(ARRAY(i6[13], a25256data[13])), +(i2381[13], 1), i2440[13])∧(UIncreasing(INC45617(java.lang.Object(ARRAY(i6[13], a25256data[13])), +(i2381[13], 1), i2440[13])), ≥))



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

    (88)    ((UIncreasing(INC45617(java.lang.Object(ARRAY(i6[13], a25256data[13])), +(i2381[13], 1), i2440[13])), ≥)∧[1 + (-1)bso_61] ≥ 0)



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

    (89)    ((UIncreasing(INC45617(java.lang.Object(ARRAY(i6[13], a25256data[13])), +(i2381[13], 1), i2440[13])), ≥)∧[1 + (-1)bso_61] ≥ 0)



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

    (90)    ((UIncreasing(INC45617(java.lang.Object(ARRAY(i6[13], a25256data[13])), +(i2381[13], 1), i2440[13])), ≥)∧[1 + (-1)bso_61] ≥ 0)



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

    (91)    ((UIncreasing(INC45617(java.lang.Object(ARRAY(i6[13], a25256data[13])), +(i2381[13], 1), i2440[13])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_61] ≥ 0)







For Pair LOAD28462(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440) → LOAD28462ARR5(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3280))) the following chains were created:
  • We consider the chain LOAD28462(java.lang.Object(ARRAY(i6[14], a25256data[14])), i2381[14], i2440[14]) → LOAD28462ARR5(java.lang.Object(ARRAY(i6[14], a25256data[14])), i2381[14], i2440[14], java.lang.Object(java.lang.String(i3280[14]))) which results in the following constraint:

    (92)    (LOAD28462(java.lang.Object(ARRAY(i6[14], a25256data[14])), i2381[14], i2440[14])≥NonInfC∧LOAD28462(java.lang.Object(ARRAY(i6[14], a25256data[14])), i2381[14], i2440[14])≥LOAD28462ARR5(java.lang.Object(ARRAY(i6[14], a25256data[14])), i2381[14], i2440[14], java.lang.Object(java.lang.String(i3280[14])))∧(UIncreasing(LOAD28462ARR5(java.lang.Object(ARRAY(i6[14], a25256data[14])), i2381[14], i2440[14], java.lang.Object(java.lang.String(i3280[14])))), ≥))



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

    (93)    ((UIncreasing(LOAD28462ARR5(java.lang.Object(ARRAY(i6[14], a25256data[14])), i2381[14], i2440[14], java.lang.Object(java.lang.String(i3280[14])))), ≥)∧[(-1)bso_63] ≥ 0)



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

    (94)    ((UIncreasing(LOAD28462ARR5(java.lang.Object(ARRAY(i6[14], a25256data[14])), i2381[14], i2440[14], java.lang.Object(java.lang.String(i3280[14])))), ≥)∧[(-1)bso_63] ≥ 0)



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

    (95)    ((UIncreasing(LOAD28462ARR5(java.lang.Object(ARRAY(i6[14], a25256data[14])), i2381[14], i2440[14], java.lang.Object(java.lang.String(i3280[14])))), ≥)∧[(-1)bso_63] ≥ 0)



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

    (96)    ((UIncreasing(LOAD28462ARR5(java.lang.Object(ARRAY(i6[14], a25256data[14])), i2381[14], i2440[14], java.lang.Object(java.lang.String(i3280[14])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_63] ≥ 0)







For Pair LOAD28462ARR5(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3280))) → COND_LOAD28462ARR5(&&(&&(&&(&&(<=(i3280, 0), >(i2381, 0)), <(i2381, i6)), >(i2440, 0)), >(+(i2381, 1), 0)), java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3280))) the following chains were created:
  • We consider the chain LOAD28462ARR5(java.lang.Object(ARRAY(i6[15], a25256data[15])), i2381[15], i2440[15], java.lang.Object(java.lang.String(i3280[15]))) → COND_LOAD28462ARR5(&&(&&(&&(&&(<=(i3280[15], 0), >(i2381[15], 0)), <(i2381[15], i6[15])), >(i2440[15], 0)), >(+(i2381[15], 1), 0)), java.lang.Object(ARRAY(i6[15], a25256data[15])), i2381[15], i2440[15], java.lang.Object(java.lang.String(i3280[15]))), COND_LOAD28462ARR5(TRUE, java.lang.Object(ARRAY(i6[16], a25256data[16])), i2381[16], i2440[16], java.lang.Object(java.lang.String(i3280[16]))) → INC45617(java.lang.Object(ARRAY(i6[16], a25256data[16])), +(i2381[16], 1), i2440[16]) which results in the following constraint:

    (97)    (i3280[15]=i3280[16]&&(&&(&&(&&(<=(i3280[15], 0), >(i2381[15], 0)), <(i2381[15], i6[15])), >(i2440[15], 0)), >(+(i2381[15], 1), 0))=TRUEi2440[15]=i2440[16]i2381[15]=i2381[16]i6[15]=i6[16]a25256data[15]=a25256data[16]LOAD28462ARR5(java.lang.Object(ARRAY(i6[15], a25256data[15])), i2381[15], i2440[15], java.lang.Object(java.lang.String(i3280[15])))≥NonInfC∧LOAD28462ARR5(java.lang.Object(ARRAY(i6[15], a25256data[15])), i2381[15], i2440[15], java.lang.Object(java.lang.String(i3280[15])))≥COND_LOAD28462ARR5(&&(&&(&&(&&(<=(i3280[15], 0), >(i2381[15], 0)), <(i2381[15], i6[15])), >(i2440[15], 0)), >(+(i2381[15], 1), 0)), java.lang.Object(ARRAY(i6[15], a25256data[15])), i2381[15], i2440[15], java.lang.Object(java.lang.String(i3280[15])))∧(UIncreasing(COND_LOAD28462ARR5(&&(&&(&&(&&(<=(i3280[15], 0), >(i2381[15], 0)), <(i2381[15], i6[15])), >(i2440[15], 0)), >(+(i2381[15], 1), 0)), java.lang.Object(ARRAY(i6[15], a25256data[15])), i2381[15], i2440[15], java.lang.Object(java.lang.String(i3280[15])))), ≥))



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

    (98)    (>(+(i2381[15], 1), 0)=TRUE>(i2440[15], 0)=TRUE<(i2381[15], i6[15])=TRUE<=(i3280[15], 0)=TRUE>(i2381[15], 0)=TRUELOAD28462ARR5(java.lang.Object(ARRAY(i6[15], a25256data[15])), i2381[15], i2440[15], java.lang.Object(java.lang.String(i3280[15])))≥NonInfC∧LOAD28462ARR5(java.lang.Object(ARRAY(i6[15], a25256data[15])), i2381[15], i2440[15], java.lang.Object(java.lang.String(i3280[15])))≥COND_LOAD28462ARR5(&&(&&(&&(&&(<=(i3280[15], 0), >(i2381[15], 0)), <(i2381[15], i6[15])), >(i2440[15], 0)), >(+(i2381[15], 1), 0)), java.lang.Object(ARRAY(i6[15], a25256data[15])), i2381[15], i2440[15], java.lang.Object(java.lang.String(i3280[15])))∧(UIncreasing(COND_LOAD28462ARR5(&&(&&(&&(&&(<=(i3280[15], 0), >(i2381[15], 0)), <(i2381[15], i6[15])), >(i2440[15], 0)), >(+(i2381[15], 1), 0)), java.lang.Object(ARRAY(i6[15], a25256data[15])), i2381[15], i2440[15], java.lang.Object(java.lang.String(i3280[15])))), ≥))



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

    (99)    (i2381[15] ≥ 0∧i2440[15] + [-1] ≥ 0∧i6[15] + [-1] + [-1]i2381[15] ≥ 0∧[-1]i3280[15] ≥ 0∧i2381[15] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD28462ARR5(&&(&&(&&(&&(<=(i3280[15], 0), >(i2381[15], 0)), <(i2381[15], i6[15])), >(i2440[15], 0)), >(+(i2381[15], 1), 0)), java.lang.Object(ARRAY(i6[15], a25256data[15])), i2381[15], i2440[15], java.lang.Object(java.lang.String(i3280[15])))), ≥)∧[(-3)bni_64 + (-1)Bound*bni_64] + [bni_64]i2440[15] + [(-1)bni_64]i2381[15] + [bni_64]i6[15] ≥ 0∧[(-1)bso_65] ≥ 0)



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

    (100)    (i2381[15] ≥ 0∧i2440[15] + [-1] ≥ 0∧i6[15] + [-1] + [-1]i2381[15] ≥ 0∧[-1]i3280[15] ≥ 0∧i2381[15] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD28462ARR5(&&(&&(&&(&&(<=(i3280[15], 0), >(i2381[15], 0)), <(i2381[15], i6[15])), >(i2440[15], 0)), >(+(i2381[15], 1), 0)), java.lang.Object(ARRAY(i6[15], a25256data[15])), i2381[15], i2440[15], java.lang.Object(java.lang.String(i3280[15])))), ≥)∧[(-3)bni_64 + (-1)Bound*bni_64] + [bni_64]i2440[15] + [(-1)bni_64]i2381[15] + [bni_64]i6[15] ≥ 0∧[(-1)bso_65] ≥ 0)



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

    (101)    (i2381[15] ≥ 0∧i2440[15] + [-1] ≥ 0∧i6[15] + [-1] + [-1]i2381[15] ≥ 0∧[-1]i3280[15] ≥ 0∧i2381[15] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD28462ARR5(&&(&&(&&(&&(<=(i3280[15], 0), >(i2381[15], 0)), <(i2381[15], i6[15])), >(i2440[15], 0)), >(+(i2381[15], 1), 0)), java.lang.Object(ARRAY(i6[15], a25256data[15])), i2381[15], i2440[15], java.lang.Object(java.lang.String(i3280[15])))), ≥)∧[(-3)bni_64 + (-1)Bound*bni_64] + [bni_64]i2440[15] + [(-1)bni_64]i2381[15] + [bni_64]i6[15] ≥ 0∧[(-1)bso_65] ≥ 0)



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

    (102)    (i2381[15] ≥ 0∧i2440[15] + [-1] ≥ 0∧i6[15] + [-1] + [-1]i2381[15] ≥ 0∧[-1]i3280[15] ≥ 0∧i2381[15] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD28462ARR5(&&(&&(&&(&&(<=(i3280[15], 0), >(i2381[15], 0)), <(i2381[15], i6[15])), >(i2440[15], 0)), >(+(i2381[15], 1), 0)), java.lang.Object(ARRAY(i6[15], a25256data[15])), i2381[15], i2440[15], java.lang.Object(java.lang.String(i3280[15])))), ≥)∧0 = 0∧[(-3)bni_64 + (-1)Bound*bni_64] + [bni_64]i2440[15] + [(-1)bni_64]i2381[15] + [bni_64]i6[15] ≥ 0∧0 = 0∧[(-1)bso_65] ≥ 0)



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

    (103)    ([1] + i2381[15] ≥ 0∧i2440[15] + [-1] ≥ 0∧i6[15] + [-2] + [-1]i2381[15] ≥ 0∧[-1]i3280[15] ≥ 0∧i2381[15] ≥ 0 ⇒ (UIncreasing(COND_LOAD28462ARR5(&&(&&(&&(&&(<=(i3280[15], 0), >(i2381[15], 0)), <(i2381[15], i6[15])), >(i2440[15], 0)), >(+(i2381[15], 1), 0)), java.lang.Object(ARRAY(i6[15], a25256data[15])), i2381[15], i2440[15], java.lang.Object(java.lang.String(i3280[15])))), ≥)∧0 = 0∧[(-4)bni_64 + (-1)Bound*bni_64] + [bni_64]i2440[15] + [(-1)bni_64]i2381[15] + [bni_64]i6[15] ≥ 0∧0 = 0∧[(-1)bso_65] ≥ 0)



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

    (104)    ([1] + i2381[15] ≥ 0∧i2440[15] ≥ 0∧i6[15] + [-2] + [-1]i2381[15] ≥ 0∧[-1]i3280[15] ≥ 0∧i2381[15] ≥ 0 ⇒ (UIncreasing(COND_LOAD28462ARR5(&&(&&(&&(&&(<=(i3280[15], 0), >(i2381[15], 0)), <(i2381[15], i6[15])), >(i2440[15], 0)), >(+(i2381[15], 1), 0)), java.lang.Object(ARRAY(i6[15], a25256data[15])), i2381[15], i2440[15], java.lang.Object(java.lang.String(i3280[15])))), ≥)∧0 = 0∧[(-3)bni_64 + (-1)Bound*bni_64] + [bni_64]i2440[15] + [(-1)bni_64]i2381[15] + [bni_64]i6[15] ≥ 0∧0 = 0∧[(-1)bso_65] ≥ 0)



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

    (105)    ([1] + i2381[15] ≥ 0∧i2440[15] ≥ 0∧i6[15] ≥ 0∧[-1]i3280[15] ≥ 0∧i2381[15] ≥ 0 ⇒ (UIncreasing(COND_LOAD28462ARR5(&&(&&(&&(&&(<=(i3280[15], 0), >(i2381[15], 0)), <(i2381[15], i6[15])), >(i2440[15], 0)), >(+(i2381[15], 1), 0)), java.lang.Object(ARRAY(i6[15], a25256data[15])), i2381[15], i2440[15], java.lang.Object(java.lang.String(i3280[15])))), ≥)∧0 = 0∧[(-1)bni_64 + (-1)Bound*bni_64] + [bni_64]i2440[15] + [bni_64]i6[15] ≥ 0∧0 = 0∧[(-1)bso_65] ≥ 0)



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

    (106)    ([1] + i2381[15] ≥ 0∧i2440[15] ≥ 0∧i6[15] ≥ 0∧i3280[15] ≥ 0∧i2381[15] ≥ 0 ⇒ (UIncreasing(COND_LOAD28462ARR5(&&(&&(&&(&&(<=(i3280[15], 0), >(i2381[15], 0)), <(i2381[15], i6[15])), >(i2440[15], 0)), >(+(i2381[15], 1), 0)), java.lang.Object(ARRAY(i6[15], a25256data[15])), i2381[15], i2440[15], java.lang.Object(java.lang.String(i3280[15])))), ≥)∧0 = 0∧[(-1)bni_64 + (-1)Bound*bni_64] + [bni_64]i2440[15] + [bni_64]i6[15] ≥ 0∧0 = 0∧[(-1)bso_65] ≥ 0)







For Pair COND_LOAD28462ARR5(TRUE, java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3280))) → INC45617(java.lang.Object(ARRAY(i6, a25256data)), +(i2381, 1), i2440) the following chains were created:
  • We consider the chain COND_LOAD28462ARR5(TRUE, java.lang.Object(ARRAY(i6[16], a25256data[16])), i2381[16], i2440[16], java.lang.Object(java.lang.String(i3280[16]))) → INC45617(java.lang.Object(ARRAY(i6[16], a25256data[16])), +(i2381[16], 1), i2440[16]) which results in the following constraint:

    (107)    (COND_LOAD28462ARR5(TRUE, java.lang.Object(ARRAY(i6[16], a25256data[16])), i2381[16], i2440[16], java.lang.Object(java.lang.String(i3280[16])))≥NonInfC∧COND_LOAD28462ARR5(TRUE, java.lang.Object(ARRAY(i6[16], a25256data[16])), i2381[16], i2440[16], java.lang.Object(java.lang.String(i3280[16])))≥INC45617(java.lang.Object(ARRAY(i6[16], a25256data[16])), +(i2381[16], 1), i2440[16])∧(UIncreasing(INC45617(java.lang.Object(ARRAY(i6[16], a25256data[16])), +(i2381[16], 1), i2440[16])), ≥))



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

    (108)    ((UIncreasing(INC45617(java.lang.Object(ARRAY(i6[16], a25256data[16])), +(i2381[16], 1), i2440[16])), ≥)∧[1 + (-1)bso_67] ≥ 0)



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

    (109)    ((UIncreasing(INC45617(java.lang.Object(ARRAY(i6[16], a25256data[16])), +(i2381[16], 1), i2440[16])), ≥)∧[1 + (-1)bso_67] ≥ 0)



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

    (110)    ((UIncreasing(INC45617(java.lang.Object(ARRAY(i6[16], a25256data[16])), +(i2381[16], 1), i2440[16])), ≥)∧[1 + (-1)bso_67] ≥ 0)



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

    (111)    ((UIncreasing(INC45617(java.lang.Object(ARRAY(i6[16], a25256data[16])), +(i2381[16], 1), i2440[16])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_67] ≥ 0)







For Pair LOAD28462(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440) → LOAD28462ARR8(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3280))) the following chains were created:
  • We consider the chain LOAD28462(java.lang.Object(ARRAY(i6[17], a25256data[17])), i2381[17], i2440[17]) → LOAD28462ARR8(java.lang.Object(ARRAY(i6[17], a25256data[17])), i2381[17], i2440[17], java.lang.Object(java.lang.String(i3280[17]))) which results in the following constraint:

    (112)    (LOAD28462(java.lang.Object(ARRAY(i6[17], a25256data[17])), i2381[17], i2440[17])≥NonInfC∧LOAD28462(java.lang.Object(ARRAY(i6[17], a25256data[17])), i2381[17], i2440[17])≥LOAD28462ARR8(java.lang.Object(ARRAY(i6[17], a25256data[17])), i2381[17], i2440[17], java.lang.Object(java.lang.String(i3280[17])))∧(UIncreasing(LOAD28462ARR8(java.lang.Object(ARRAY(i6[17], a25256data[17])), i2381[17], i2440[17], java.lang.Object(java.lang.String(i3280[17])))), ≥))



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

    (113)    ((UIncreasing(LOAD28462ARR8(java.lang.Object(ARRAY(i6[17], a25256data[17])), i2381[17], i2440[17], java.lang.Object(java.lang.String(i3280[17])))), ≥)∧[(-1)bso_69] ≥ 0)



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

    (114)    ((UIncreasing(LOAD28462ARR8(java.lang.Object(ARRAY(i6[17], a25256data[17])), i2381[17], i2440[17], java.lang.Object(java.lang.String(i3280[17])))), ≥)∧[(-1)bso_69] ≥ 0)



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

    (115)    ((UIncreasing(LOAD28462ARR8(java.lang.Object(ARRAY(i6[17], a25256data[17])), i2381[17], i2440[17], java.lang.Object(java.lang.String(i3280[17])))), ≥)∧[(-1)bso_69] ≥ 0)



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

    (116)    ((UIncreasing(LOAD28462ARR8(java.lang.Object(ARRAY(i6[17], a25256data[17])), i2381[17], i2440[17], java.lang.Object(java.lang.String(i3280[17])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_69] ≥ 0)







For Pair LOAD28462ARR8(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3280))) → COND_LOAD28462ARR8(&&(&&(&&(&&(<=(i3280, 0), >(i2381, 0)), <(i2381, i6)), >(i2440, 0)), >(+(i2381, 1), 0)), java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3280))) the following chains were created:
  • We consider the chain LOAD28462ARR8(java.lang.Object(ARRAY(i6[18], a25256data[18])), i2381[18], i2440[18], java.lang.Object(java.lang.String(i3280[18]))) → COND_LOAD28462ARR8(&&(&&(&&(&&(<=(i3280[18], 0), >(i2381[18], 0)), <(i2381[18], i6[18])), >(i2440[18], 0)), >(+(i2381[18], 1), 0)), java.lang.Object(ARRAY(i6[18], a25256data[18])), i2381[18], i2440[18], java.lang.Object(java.lang.String(i3280[18]))), COND_LOAD28462ARR8(TRUE, java.lang.Object(ARRAY(i6[19], a25256data[19])), i2381[19], i2440[19], java.lang.Object(java.lang.String(i3280[19]))) → JMP45518'(java.lang.Object(ARRAY(i6[19], a25256data[19])), +(i2381[19], 1), i2440[19]) which results in the following constraint:

    (117)    (i3280[18]=i3280[19]&&(&&(&&(&&(<=(i3280[18], 0), >(i2381[18], 0)), <(i2381[18], i6[18])), >(i2440[18], 0)), >(+(i2381[18], 1), 0))=TRUEi6[18]=i6[19]a25256data[18]=a25256data[19]i2440[18]=i2440[19]i2381[18]=i2381[19]LOAD28462ARR8(java.lang.Object(ARRAY(i6[18], a25256data[18])), i2381[18], i2440[18], java.lang.Object(java.lang.String(i3280[18])))≥NonInfC∧LOAD28462ARR8(java.lang.Object(ARRAY(i6[18], a25256data[18])), i2381[18], i2440[18], java.lang.Object(java.lang.String(i3280[18])))≥COND_LOAD28462ARR8(&&(&&(&&(&&(<=(i3280[18], 0), >(i2381[18], 0)), <(i2381[18], i6[18])), >(i2440[18], 0)), >(+(i2381[18], 1), 0)), java.lang.Object(ARRAY(i6[18], a25256data[18])), i2381[18], i2440[18], java.lang.Object(java.lang.String(i3280[18])))∧(UIncreasing(COND_LOAD28462ARR8(&&(&&(&&(&&(<=(i3280[18], 0), >(i2381[18], 0)), <(i2381[18], i6[18])), >(i2440[18], 0)), >(+(i2381[18], 1), 0)), java.lang.Object(ARRAY(i6[18], a25256data[18])), i2381[18], i2440[18], java.lang.Object(java.lang.String(i3280[18])))), ≥))



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

    (118)    (>(+(i2381[18], 1), 0)=TRUE>(i2440[18], 0)=TRUE<(i2381[18], i6[18])=TRUE<=(i3280[18], 0)=TRUE>(i2381[18], 0)=TRUELOAD28462ARR8(java.lang.Object(ARRAY(i6[18], a25256data[18])), i2381[18], i2440[18], java.lang.Object(java.lang.String(i3280[18])))≥NonInfC∧LOAD28462ARR8(java.lang.Object(ARRAY(i6[18], a25256data[18])), i2381[18], i2440[18], java.lang.Object(java.lang.String(i3280[18])))≥COND_LOAD28462ARR8(&&(&&(&&(&&(<=(i3280[18], 0), >(i2381[18], 0)), <(i2381[18], i6[18])), >(i2440[18], 0)), >(+(i2381[18], 1), 0)), java.lang.Object(ARRAY(i6[18], a25256data[18])), i2381[18], i2440[18], java.lang.Object(java.lang.String(i3280[18])))∧(UIncreasing(COND_LOAD28462ARR8(&&(&&(&&(&&(<=(i3280[18], 0), >(i2381[18], 0)), <(i2381[18], i6[18])), >(i2440[18], 0)), >(+(i2381[18], 1), 0)), java.lang.Object(ARRAY(i6[18], a25256data[18])), i2381[18], i2440[18], java.lang.Object(java.lang.String(i3280[18])))), ≥))



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

    (119)    (i2381[18] ≥ 0∧i2440[18] + [-1] ≥ 0∧i6[18] + [-1] + [-1]i2381[18] ≥ 0∧[-1]i3280[18] ≥ 0∧i2381[18] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD28462ARR8(&&(&&(&&(&&(<=(i3280[18], 0), >(i2381[18], 0)), <(i2381[18], i6[18])), >(i2440[18], 0)), >(+(i2381[18], 1), 0)), java.lang.Object(ARRAY(i6[18], a25256data[18])), i2381[18], i2440[18], java.lang.Object(java.lang.String(i3280[18])))), ≥)∧[(-3)bni_70 + (-1)Bound*bni_70] + [bni_70]i2440[18] + [(-1)bni_70]i2381[18] + [bni_70]i6[18] ≥ 0∧[(-1)bso_71] ≥ 0)



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

    (120)    (i2381[18] ≥ 0∧i2440[18] + [-1] ≥ 0∧i6[18] + [-1] + [-1]i2381[18] ≥ 0∧[-1]i3280[18] ≥ 0∧i2381[18] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD28462ARR8(&&(&&(&&(&&(<=(i3280[18], 0), >(i2381[18], 0)), <(i2381[18], i6[18])), >(i2440[18], 0)), >(+(i2381[18], 1), 0)), java.lang.Object(ARRAY(i6[18], a25256data[18])), i2381[18], i2440[18], java.lang.Object(java.lang.String(i3280[18])))), ≥)∧[(-3)bni_70 + (-1)Bound*bni_70] + [bni_70]i2440[18] + [(-1)bni_70]i2381[18] + [bni_70]i6[18] ≥ 0∧[(-1)bso_71] ≥ 0)



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

    (121)    (i2381[18] ≥ 0∧i2440[18] + [-1] ≥ 0∧i6[18] + [-1] + [-1]i2381[18] ≥ 0∧[-1]i3280[18] ≥ 0∧i2381[18] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD28462ARR8(&&(&&(&&(&&(<=(i3280[18], 0), >(i2381[18], 0)), <(i2381[18], i6[18])), >(i2440[18], 0)), >(+(i2381[18], 1), 0)), java.lang.Object(ARRAY(i6[18], a25256data[18])), i2381[18], i2440[18], java.lang.Object(java.lang.String(i3280[18])))), ≥)∧[(-3)bni_70 + (-1)Bound*bni_70] + [bni_70]i2440[18] + [(-1)bni_70]i2381[18] + [bni_70]i6[18] ≥ 0∧[(-1)bso_71] ≥ 0)



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

    (122)    (i2381[18] ≥ 0∧i2440[18] + [-1] ≥ 0∧i6[18] + [-1] + [-1]i2381[18] ≥ 0∧[-1]i3280[18] ≥ 0∧i2381[18] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD28462ARR8(&&(&&(&&(&&(<=(i3280[18], 0), >(i2381[18], 0)), <(i2381[18], i6[18])), >(i2440[18], 0)), >(+(i2381[18], 1), 0)), java.lang.Object(ARRAY(i6[18], a25256data[18])), i2381[18], i2440[18], java.lang.Object(java.lang.String(i3280[18])))), ≥)∧0 = 0∧[(-3)bni_70 + (-1)Bound*bni_70] + [bni_70]i2440[18] + [(-1)bni_70]i2381[18] + [bni_70]i6[18] ≥ 0∧0 = 0∧[(-1)bso_71] ≥ 0)



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

    (123)    ([1] + i2381[18] ≥ 0∧i2440[18] + [-1] ≥ 0∧i6[18] + [-2] + [-1]i2381[18] ≥ 0∧[-1]i3280[18] ≥ 0∧i2381[18] ≥ 0 ⇒ (UIncreasing(COND_LOAD28462ARR8(&&(&&(&&(&&(<=(i3280[18], 0), >(i2381[18], 0)), <(i2381[18], i6[18])), >(i2440[18], 0)), >(+(i2381[18], 1), 0)), java.lang.Object(ARRAY(i6[18], a25256data[18])), i2381[18], i2440[18], java.lang.Object(java.lang.String(i3280[18])))), ≥)∧0 = 0∧[(-4)bni_70 + (-1)Bound*bni_70] + [bni_70]i2440[18] + [(-1)bni_70]i2381[18] + [bni_70]i6[18] ≥ 0∧0 = 0∧[(-1)bso_71] ≥ 0)



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

    (124)    ([1] + i2381[18] ≥ 0∧i2440[18] ≥ 0∧i6[18] + [-2] + [-1]i2381[18] ≥ 0∧[-1]i3280[18] ≥ 0∧i2381[18] ≥ 0 ⇒ (UIncreasing(COND_LOAD28462ARR8(&&(&&(&&(&&(<=(i3280[18], 0), >(i2381[18], 0)), <(i2381[18], i6[18])), >(i2440[18], 0)), >(+(i2381[18], 1), 0)), java.lang.Object(ARRAY(i6[18], a25256data[18])), i2381[18], i2440[18], java.lang.Object(java.lang.String(i3280[18])))), ≥)∧0 = 0∧[(-3)bni_70 + (-1)Bound*bni_70] + [bni_70]i2440[18] + [(-1)bni_70]i2381[18] + [bni_70]i6[18] ≥ 0∧0 = 0∧[(-1)bso_71] ≥ 0)



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

    (125)    ([1] + i2381[18] ≥ 0∧i2440[18] ≥ 0∧i6[18] ≥ 0∧[-1]i3280[18] ≥ 0∧i2381[18] ≥ 0 ⇒ (UIncreasing(COND_LOAD28462ARR8(&&(&&(&&(&&(<=(i3280[18], 0), >(i2381[18], 0)), <(i2381[18], i6[18])), >(i2440[18], 0)), >(+(i2381[18], 1), 0)), java.lang.Object(ARRAY(i6[18], a25256data[18])), i2381[18], i2440[18], java.lang.Object(java.lang.String(i3280[18])))), ≥)∧0 = 0∧[(-1)bni_70 + (-1)Bound*bni_70] + [bni_70]i2440[18] + [bni_70]i6[18] ≥ 0∧0 = 0∧[(-1)bso_71] ≥ 0)



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

    (126)    ([1] + i2381[18] ≥ 0∧i2440[18] ≥ 0∧i6[18] ≥ 0∧i3280[18] ≥ 0∧i2381[18] ≥ 0 ⇒ (UIncreasing(COND_LOAD28462ARR8(&&(&&(&&(&&(<=(i3280[18], 0), >(i2381[18], 0)), <(i2381[18], i6[18])), >(i2440[18], 0)), >(+(i2381[18], 1), 0)), java.lang.Object(ARRAY(i6[18], a25256data[18])), i2381[18], i2440[18], java.lang.Object(java.lang.String(i3280[18])))), ≥)∧0 = 0∧[(-1)bni_70 + (-1)Bound*bni_70] + [bni_70]i2440[18] + [bni_70]i6[18] ≥ 0∧0 = 0∧[(-1)bso_71] ≥ 0)







For Pair COND_LOAD28462ARR8(TRUE, java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3280))) → JMP45518'(java.lang.Object(ARRAY(i6, a25256data)), +(i2381, 1), i2440) the following chains were created:
  • We consider the chain COND_LOAD28462ARR8(TRUE, java.lang.Object(ARRAY(i6[19], a25256data[19])), i2381[19], i2440[19], java.lang.Object(java.lang.String(i3280[19]))) → JMP45518'(java.lang.Object(ARRAY(i6[19], a25256data[19])), +(i2381[19], 1), i2440[19]) which results in the following constraint:

    (127)    (COND_LOAD28462ARR8(TRUE, java.lang.Object(ARRAY(i6[19], a25256data[19])), i2381[19], i2440[19], java.lang.Object(java.lang.String(i3280[19])))≥NonInfC∧COND_LOAD28462ARR8(TRUE, java.lang.Object(ARRAY(i6[19], a25256data[19])), i2381[19], i2440[19], java.lang.Object(java.lang.String(i3280[19])))≥JMP45518'(java.lang.Object(ARRAY(i6[19], a25256data[19])), +(i2381[19], 1), i2440[19])∧(UIncreasing(JMP45518'(java.lang.Object(ARRAY(i6[19], a25256data[19])), +(i2381[19], 1), i2440[19])), ≥))



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

    (128)    ((UIncreasing(JMP45518'(java.lang.Object(ARRAY(i6[19], a25256data[19])), +(i2381[19], 1), i2440[19])), ≥)∧[1 + (-1)bso_73] ≥ 0)



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

    (129)    ((UIncreasing(JMP45518'(java.lang.Object(ARRAY(i6[19], a25256data[19])), +(i2381[19], 1), i2440[19])), ≥)∧[1 + (-1)bso_73] ≥ 0)



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

    (130)    ((UIncreasing(JMP45518'(java.lang.Object(ARRAY(i6[19], a25256data[19])), +(i2381[19], 1), i2440[19])), ≥)∧[1 + (-1)bso_73] ≥ 0)



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

    (131)    ((UIncreasing(JMP45518'(java.lang.Object(ARRAY(i6[19], a25256data[19])), +(i2381[19], 1), i2440[19])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_73] ≥ 0)







To summarize, we get the following constraints P for the following pairs.
  • LOAD28462(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440) → LOAD28462ARR1(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3279)))
    • ((UIncreasing(LOAD28462ARR1(java.lang.Object(ARRAY(i6[0], a25256data[0])), i2381[0], i2440[0], java.lang.Object(java.lang.String(i3279[0])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_35] ≥ 0)

  • LOAD28462ARR1(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3279))) → COND_LOAD28462ARR1(&&(&&(&&(&&(>(i3279, 0), >(i2381, 0)), <(i2381, i6)), >(i2440, 0)), >(+(i2381, 1), 0)), java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3279)))
    • ([1] + i2381[1] ≥ 0∧i2440[1] ≥ 0∧i6[1] ≥ 0∧i3279[1] ≥ 0∧i2381[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD28462ARR1(&&(&&(&&(&&(>(i3279[1], 0), >(i2381[1], 0)), <(i2381[1], i6[1])), >(i2440[1], 0)), >(+(i2381[1], 1), 0)), java.lang.Object(ARRAY(i6[1], a25256data[1])), i2381[1], i2440[1], java.lang.Object(java.lang.String(i3279[1])))), ≥)∧0 = 0∧[(-1)Bound*bni_36 + (-1)bni_36] + [bni_36]i2440[1] + [bni_36]i6[1] ≥ 0∧0 = 0∧[(-1)bso_37] ≥ 0)

  • COND_LOAD28462ARR1(TRUE, java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3279))) → JMP45518'(java.lang.Object(ARRAY(i6, a25256data)), +(i2381, 1), i2440)
    • ((UIncreasing(JMP45518'(java.lang.Object(ARRAY(i6[2], a25256data[2])), +(i2381[2], 1), i2440[2])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_39] ≥ 0)

  • INC45617(java.lang.Object(ARRAY(i6, a25256data)), i3027, i2440) → LOAD28462(java.lang.Object(ARRAY(i6, a25256data)), i3027, +(i2440, -1))
    • ((UIncreasing(LOAD28462(java.lang.Object(ARRAY(i6[3], a25256data[3])), i3027[3], +(i2440[3], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_41] ≥ 0)

  • LOAD28462(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440) → LOAD28462ARR2(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3280)))
    • ((UIncreasing(LOAD28462ARR2(java.lang.Object(ARRAY(i6[4], a25256data[4])), i2381[4], i2440[4], java.lang.Object(java.lang.String(i3280[4])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_43] ≥ 0)

  • LOAD28462ARR2(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3280))) → COND_LOAD28462ARR2(&&(&&(&&(&&(<=(i3280, 0), >(i2381, 0)), <(i2381, i6)), >(i2440, 0)), >(+(i2381, 1), 0)), java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3280)))
    • ([1] + i2381[5] ≥ 0∧i2440[5] ≥ 0∧i6[5] ≥ 0∧i3280[5] ≥ 0∧i2381[5] ≥ 0 ⇒ (UIncreasing(COND_LOAD28462ARR2(&&(&&(&&(&&(<=(i3280[5], 0), >(i2381[5], 0)), <(i2381[5], i6[5])), >(i2440[5], 0)), >(+(i2381[5], 1), 0)), java.lang.Object(ARRAY(i6[5], a25256data[5])), i2381[5], i2440[5], java.lang.Object(java.lang.String(i3280[5])))), ≥)∧0 = 0∧[(-1)Bound*bni_44 + (-1)bni_44] + [bni_44]i2440[5] + [bni_44]i6[5] ≥ 0∧0 = 0∧[(-1)bso_45] ≥ 0)

  • COND_LOAD28462ARR2(TRUE, java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3280))) → LOAD28462(java.lang.Object(ARRAY(i6, a25256data)), +(i2381, 1), +(i2440, -1))
    • ((UIncreasing(LOAD28462(java.lang.Object(ARRAY(i6[6], a25256data[6])), +(i2381[6], 1), +(i2440[6], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[2 + (-1)bso_47] ≥ 0)

  • LOAD28462(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440) → LOAD28462ARR3(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3279)))
    • ((UIncreasing(LOAD28462ARR3(java.lang.Object(ARRAY(i6[7], a25256data[7])), i2381[7], i2440[7], java.lang.Object(java.lang.String(i3279[7])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_49] ≥ 0)

  • LOAD28462ARR3(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3279))) → COND_LOAD28462ARR3(&&(&&(&&(&&(>(i3279, 0), >(i2381, 0)), <(i2381, i6)), >(i2440, 0)), >(+(i2381, 1), 0)), java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3279)))
    • ([1] + i2381[8] ≥ 0∧i2440[8] ≥ 0∧i6[8] ≥ 0∧i3279[8] ≥ 0∧i2381[8] ≥ 0 ⇒ (UIncreasing(COND_LOAD28462ARR3(&&(&&(&&(&&(>(i3279[8], 0), >(i2381[8], 0)), <(i2381[8], i6[8])), >(i2440[8], 0)), >(+(i2381[8], 1), 0)), java.lang.Object(ARRAY(i6[8], a25256data[8])), i2381[8], i2440[8], java.lang.Object(java.lang.String(i3279[8])))), ≥)∧0 = 0∧[(-1)Bound*bni_50 + (-1)bni_50] + [bni_50]i2440[8] + [bni_50]i6[8] ≥ 0∧0 = 0∧[(-1)bso_51] ≥ 0)

  • COND_LOAD28462ARR3(TRUE, java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3279))) → LOAD28462(java.lang.Object(ARRAY(i6, a25256data)), +(i2381, 1), +(i2440, -1))
    • ((UIncreasing(LOAD28462(java.lang.Object(ARRAY(i6[9], a25256data[9])), +(i2381[9], 1), +(i2440[9], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[2 + (-1)bso_53] ≥ 0)

  • JMP45518'(java.lang.Object(ARRAY(i6, a25256data)), i3027, i2440) → INC45617(java.lang.Object(ARRAY(i6, a25256data)), i3027, i2440)
    • ((UIncreasing(INC45617(java.lang.Object(ARRAY(i6[10], a25256data[10])), i3027[10], i2440[10])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_55] ≥ 0)

  • LOAD28462(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440) → LOAD28462ARR4(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3279)))
    • ((UIncreasing(LOAD28462ARR4(java.lang.Object(ARRAY(i6[11], a25256data[11])), i2381[11], i2440[11], java.lang.Object(java.lang.String(i3279[11])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_57] ≥ 0)

  • LOAD28462ARR4(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3279))) → COND_LOAD28462ARR4(&&(&&(&&(&&(>(i3279, 0), >(i2381, 0)), <(i2381, i6)), >(i2440, 0)), >(+(i2381, 1), 0)), java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3279)))
    • ([1] + i2381[12] ≥ 0∧i2440[12] ≥ 0∧i6[12] ≥ 0∧i3279[12] ≥ 0∧i2381[12] ≥ 0 ⇒ (UIncreasing(COND_LOAD28462ARR4(&&(&&(&&(&&(>(i3279[12], 0), >(i2381[12], 0)), <(i2381[12], i6[12])), >(i2440[12], 0)), >(+(i2381[12], 1), 0)), java.lang.Object(ARRAY(i6[12], a25256data[12])), i2381[12], i2440[12], java.lang.Object(java.lang.String(i3279[12])))), ≥)∧0 = 0∧[(-1)bni_58 + (-1)Bound*bni_58] + [bni_58]i2440[12] + [bni_58]i6[12] ≥ 0∧0 = 0∧[(-1)bso_59] ≥ 0)

  • COND_LOAD28462ARR4(TRUE, java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3279))) → INC45617(java.lang.Object(ARRAY(i6, a25256data)), +(i2381, 1), i2440)
    • ((UIncreasing(INC45617(java.lang.Object(ARRAY(i6[13], a25256data[13])), +(i2381[13], 1), i2440[13])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_61] ≥ 0)

  • LOAD28462(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440) → LOAD28462ARR5(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3280)))
    • ((UIncreasing(LOAD28462ARR5(java.lang.Object(ARRAY(i6[14], a25256data[14])), i2381[14], i2440[14], java.lang.Object(java.lang.String(i3280[14])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_63] ≥ 0)

  • LOAD28462ARR5(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3280))) → COND_LOAD28462ARR5(&&(&&(&&(&&(<=(i3280, 0), >(i2381, 0)), <(i2381, i6)), >(i2440, 0)), >(+(i2381, 1), 0)), java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3280)))
    • ([1] + i2381[15] ≥ 0∧i2440[15] ≥ 0∧i6[15] ≥ 0∧i3280[15] ≥ 0∧i2381[15] ≥ 0 ⇒ (UIncreasing(COND_LOAD28462ARR5(&&(&&(&&(&&(<=(i3280[15], 0), >(i2381[15], 0)), <(i2381[15], i6[15])), >(i2440[15], 0)), >(+(i2381[15], 1), 0)), java.lang.Object(ARRAY(i6[15], a25256data[15])), i2381[15], i2440[15], java.lang.Object(java.lang.String(i3280[15])))), ≥)∧0 = 0∧[(-1)bni_64 + (-1)Bound*bni_64] + [bni_64]i2440[15] + [bni_64]i6[15] ≥ 0∧0 = 0∧[(-1)bso_65] ≥ 0)

  • COND_LOAD28462ARR5(TRUE, java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3280))) → INC45617(java.lang.Object(ARRAY(i6, a25256data)), +(i2381, 1), i2440)
    • ((UIncreasing(INC45617(java.lang.Object(ARRAY(i6[16], a25256data[16])), +(i2381[16], 1), i2440[16])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_67] ≥ 0)

  • LOAD28462(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440) → LOAD28462ARR8(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3280)))
    • ((UIncreasing(LOAD28462ARR8(java.lang.Object(ARRAY(i6[17], a25256data[17])), i2381[17], i2440[17], java.lang.Object(java.lang.String(i3280[17])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_69] ≥ 0)

  • LOAD28462ARR8(java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3280))) → COND_LOAD28462ARR8(&&(&&(&&(&&(<=(i3280, 0), >(i2381, 0)), <(i2381, i6)), >(i2440, 0)), >(+(i2381, 1), 0)), java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3280)))
    • ([1] + i2381[18] ≥ 0∧i2440[18] ≥ 0∧i6[18] ≥ 0∧i3280[18] ≥ 0∧i2381[18] ≥ 0 ⇒ (UIncreasing(COND_LOAD28462ARR8(&&(&&(&&(&&(<=(i3280[18], 0), >(i2381[18], 0)), <(i2381[18], i6[18])), >(i2440[18], 0)), >(+(i2381[18], 1), 0)), java.lang.Object(ARRAY(i6[18], a25256data[18])), i2381[18], i2440[18], java.lang.Object(java.lang.String(i3280[18])))), ≥)∧0 = 0∧[(-1)bni_70 + (-1)Bound*bni_70] + [bni_70]i2440[18] + [bni_70]i6[18] ≥ 0∧0 = 0∧[(-1)bso_71] ≥ 0)

  • COND_LOAD28462ARR8(TRUE, java.lang.Object(ARRAY(i6, a25256data)), i2381, i2440, java.lang.Object(java.lang.String(i3280))) → JMP45518'(java.lang.Object(ARRAY(i6, a25256data)), +(i2381, 1), i2440)
    • ((UIncreasing(JMP45518'(java.lang.Object(ARRAY(i6[19], a25256data[19])), +(i2381[19], 1), i2440[19])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_73] ≥ 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(LOAD28462(x1, x2, x3)) = [-1] + x3 + [-1]x1 + [-1]x2   
POL(java.lang.Object(x1)) = x1   
POL(ARRAY(x1, x2)) = [2] + [-1]x1   
POL(LOAD28462ARR1(x1, x2, x3, x4)) = [-1] + x3 + [-1]x1 + [-1]x2   
POL(java.lang.String(x1)) = x1   
POL(COND_LOAD28462ARR1(x1, x2, x3, x4, x5)) = [-1] + x4 + [-1]x2 + [-1]x3   
POL(&&(x1, x2)) = [-1]   
POL(>(x1, x2)) = [-1]   
POL(0) = 0   
POL(<(x1, x2)) = [-1]   
POL(+(x1, x2)) = x1 + x2   
POL(1) = [1]   
POL(JMP45518'(x1, x2, x3)) = [-1] + [-1]x2 + x3 + [-1]x1   
POL(INC45617(x1, x2, x3)) = [-1] + [-1]x1 + x3 + [-1]x2   
POL(-1) = [-1]   
POL(LOAD28462ARR2(x1, x2, x3, x4)) = [-1] + x3 + [-1]x1 + [-1]x2   
POL(COND_LOAD28462ARR2(x1, x2, x3, x4, x5)) = [-1] + x4 + [-1]x2 + [-1]x3   
POL(<=(x1, x2)) = [-1]   
POL(LOAD28462ARR3(x1, x2, x3, x4)) = [-1] + x3 + [-1]x1 + [-1]x2   
POL(COND_LOAD28462ARR3(x1, x2, x3, x4, x5)) = [-1] + x4 + [-1]x2 + [-1]x3   
POL(LOAD28462ARR4(x1, x2, x3, x4)) = [-1] + x3 + [-1]x2 + [-1]x1   
POL(COND_LOAD28462ARR4(x1, x2, x3, x4, x5)) = [-1] + x4 + [-1]x3 + [-1]x2   
POL(LOAD28462ARR5(x1, x2, x3, x4)) = [-1] + x3 + [-1]x2 + [-1]x1   
POL(COND_LOAD28462ARR5(x1, x2, x3, x4, x5)) = [-1] + x4 + [-1]x3 + [-1]x2   
POL(LOAD28462ARR8(x1, x2, x3, x4)) = [-1] + x3 + [-1]x2 + [-1]x1   
POL(COND_LOAD28462ARR8(x1, x2, x3, x4, x5)) = [-1] + x4 + [-1]x3 + [-1]x2   

The following pairs are in P>:

COND_LOAD28462ARR1(TRUE, java.lang.Object(ARRAY(i6[2], a25256data[2])), i2381[2], i2440[2], java.lang.Object(java.lang.String(i3279[2]))) → JMP45518'(java.lang.Object(ARRAY(i6[2], a25256data[2])), +(i2381[2], 1), i2440[2])
INC45617(java.lang.Object(ARRAY(i6[3], a25256data[3])), i3027[3], i2440[3]) → LOAD28462(java.lang.Object(ARRAY(i6[3], a25256data[3])), i3027[3], +(i2440[3], -1))
COND_LOAD28462ARR2(TRUE, java.lang.Object(ARRAY(i6[6], a25256data[6])), i2381[6], i2440[6], java.lang.Object(java.lang.String(i3280[6]))) → LOAD28462(java.lang.Object(ARRAY(i6[6], a25256data[6])), +(i2381[6], 1), +(i2440[6], -1))
COND_LOAD28462ARR3(TRUE, java.lang.Object(ARRAY(i6[9], a25256data[9])), i2381[9], i2440[9], java.lang.Object(java.lang.String(i3279[9]))) → LOAD28462(java.lang.Object(ARRAY(i6[9], a25256data[9])), +(i2381[9], 1), +(i2440[9], -1))
COND_LOAD28462ARR4(TRUE, java.lang.Object(ARRAY(i6[13], a25256data[13])), i2381[13], i2440[13], java.lang.Object(java.lang.String(i3279[13]))) → INC45617(java.lang.Object(ARRAY(i6[13], a25256data[13])), +(i2381[13], 1), i2440[13])
COND_LOAD28462ARR5(TRUE, java.lang.Object(ARRAY(i6[16], a25256data[16])), i2381[16], i2440[16], java.lang.Object(java.lang.String(i3280[16]))) → INC45617(java.lang.Object(ARRAY(i6[16], a25256data[16])), +(i2381[16], 1), i2440[16])
COND_LOAD28462ARR8(TRUE, java.lang.Object(ARRAY(i6[19], a25256data[19])), i2381[19], i2440[19], java.lang.Object(java.lang.String(i3280[19]))) → JMP45518'(java.lang.Object(ARRAY(i6[19], a25256data[19])), +(i2381[19], 1), i2440[19])

The following pairs are in Pbound:

LOAD28462ARR1(java.lang.Object(ARRAY(i6[1], a25256data[1])), i2381[1], i2440[1], java.lang.Object(java.lang.String(i3279[1]))) → COND_LOAD28462ARR1(&&(&&(&&(&&(>(i3279[1], 0), >(i2381[1], 0)), <(i2381[1], i6[1])), >(i2440[1], 0)), >(+(i2381[1], 1), 0)), java.lang.Object(ARRAY(i6[1], a25256data[1])), i2381[1], i2440[1], java.lang.Object(java.lang.String(i3279[1])))
LOAD28462ARR2(java.lang.Object(ARRAY(i6[5], a25256data[5])), i2381[5], i2440[5], java.lang.Object(java.lang.String(i3280[5]))) → COND_LOAD28462ARR2(&&(&&(&&(&&(<=(i3280[5], 0), >(i2381[5], 0)), <(i2381[5], i6[5])), >(i2440[5], 0)), >(+(i2381[5], 1), 0)), java.lang.Object(ARRAY(i6[5], a25256data[5])), i2381[5], i2440[5], java.lang.Object(java.lang.String(i3280[5])))
LOAD28462ARR3(java.lang.Object(ARRAY(i6[8], a25256data[8])), i2381[8], i2440[8], java.lang.Object(java.lang.String(i3279[8]))) → COND_LOAD28462ARR3(&&(&&(&&(&&(>(i3279[8], 0), >(i2381[8], 0)), <(i2381[8], i6[8])), >(i2440[8], 0)), >(+(i2381[8], 1), 0)), java.lang.Object(ARRAY(i6[8], a25256data[8])), i2381[8], i2440[8], java.lang.Object(java.lang.String(i3279[8])))
LOAD28462ARR4(java.lang.Object(ARRAY(i6[12], a25256data[12])), i2381[12], i2440[12], java.lang.Object(java.lang.String(i3279[12]))) → COND_LOAD28462ARR4(&&(&&(&&(&&(>(i3279[12], 0), >(i2381[12], 0)), <(i2381[12], i6[12])), >(i2440[12], 0)), >(+(i2381[12], 1), 0)), java.lang.Object(ARRAY(i6[12], a25256data[12])), i2381[12], i2440[12], java.lang.Object(java.lang.String(i3279[12])))
LOAD28462ARR5(java.lang.Object(ARRAY(i6[15], a25256data[15])), i2381[15], i2440[15], java.lang.Object(java.lang.String(i3280[15]))) → COND_LOAD28462ARR5(&&(&&(&&(&&(<=(i3280[15], 0), >(i2381[15], 0)), <(i2381[15], i6[15])), >(i2440[15], 0)), >(+(i2381[15], 1), 0)), java.lang.Object(ARRAY(i6[15], a25256data[15])), i2381[15], i2440[15], java.lang.Object(java.lang.String(i3280[15])))
LOAD28462ARR8(java.lang.Object(ARRAY(i6[18], a25256data[18])), i2381[18], i2440[18], java.lang.Object(java.lang.String(i3280[18]))) → COND_LOAD28462ARR8(&&(&&(&&(&&(<=(i3280[18], 0), >(i2381[18], 0)), <(i2381[18], i6[18])), >(i2440[18], 0)), >(+(i2381[18], 1), 0)), java.lang.Object(ARRAY(i6[18], a25256data[18])), i2381[18], i2440[18], java.lang.Object(java.lang.String(i3280[18])))

The following pairs are in P:

LOAD28462(java.lang.Object(ARRAY(i6[0], a25256data[0])), i2381[0], i2440[0]) → LOAD28462ARR1(java.lang.Object(ARRAY(i6[0], a25256data[0])), i2381[0], i2440[0], java.lang.Object(java.lang.String(i3279[0])))
LOAD28462ARR1(java.lang.Object(ARRAY(i6[1], a25256data[1])), i2381[1], i2440[1], java.lang.Object(java.lang.String(i3279[1]))) → COND_LOAD28462ARR1(&&(&&(&&(&&(>(i3279[1], 0), >(i2381[1], 0)), <(i2381[1], i6[1])), >(i2440[1], 0)), >(+(i2381[1], 1), 0)), java.lang.Object(ARRAY(i6[1], a25256data[1])), i2381[1], i2440[1], java.lang.Object(java.lang.String(i3279[1])))
LOAD28462(java.lang.Object(ARRAY(i6[4], a25256data[4])), i2381[4], i2440[4]) → LOAD28462ARR2(java.lang.Object(ARRAY(i6[4], a25256data[4])), i2381[4], i2440[4], java.lang.Object(java.lang.String(i3280[4])))
LOAD28462ARR2(java.lang.Object(ARRAY(i6[5], a25256data[5])), i2381[5], i2440[5], java.lang.Object(java.lang.String(i3280[5]))) → COND_LOAD28462ARR2(&&(&&(&&(&&(<=(i3280[5], 0), >(i2381[5], 0)), <(i2381[5], i6[5])), >(i2440[5], 0)), >(+(i2381[5], 1), 0)), java.lang.Object(ARRAY(i6[5], a25256data[5])), i2381[5], i2440[5], java.lang.Object(java.lang.String(i3280[5])))
LOAD28462(java.lang.Object(ARRAY(i6[7], a25256data[7])), i2381[7], i2440[7]) → LOAD28462ARR3(java.lang.Object(ARRAY(i6[7], a25256data[7])), i2381[7], i2440[7], java.lang.Object(java.lang.String(i3279[7])))
LOAD28462ARR3(java.lang.Object(ARRAY(i6[8], a25256data[8])), i2381[8], i2440[8], java.lang.Object(java.lang.String(i3279[8]))) → COND_LOAD28462ARR3(&&(&&(&&(&&(>(i3279[8], 0), >(i2381[8], 0)), <(i2381[8], i6[8])), >(i2440[8], 0)), >(+(i2381[8], 1), 0)), java.lang.Object(ARRAY(i6[8], a25256data[8])), i2381[8], i2440[8], java.lang.Object(java.lang.String(i3279[8])))
JMP45518'(java.lang.Object(ARRAY(i6[10], a25256data[10])), i3027[10], i2440[10]) → INC45617(java.lang.Object(ARRAY(i6[10], a25256data[10])), i3027[10], i2440[10])
LOAD28462(java.lang.Object(ARRAY(i6[11], a25256data[11])), i2381[11], i2440[11]) → LOAD28462ARR4(java.lang.Object(ARRAY(i6[11], a25256data[11])), i2381[11], i2440[11], java.lang.Object(java.lang.String(i3279[11])))
LOAD28462ARR4(java.lang.Object(ARRAY(i6[12], a25256data[12])), i2381[12], i2440[12], java.lang.Object(java.lang.String(i3279[12]))) → COND_LOAD28462ARR4(&&(&&(&&(&&(>(i3279[12], 0), >(i2381[12], 0)), <(i2381[12], i6[12])), >(i2440[12], 0)), >(+(i2381[12], 1), 0)), java.lang.Object(ARRAY(i6[12], a25256data[12])), i2381[12], i2440[12], java.lang.Object(java.lang.String(i3279[12])))
LOAD28462(java.lang.Object(ARRAY(i6[14], a25256data[14])), i2381[14], i2440[14]) → LOAD28462ARR5(java.lang.Object(ARRAY(i6[14], a25256data[14])), i2381[14], i2440[14], java.lang.Object(java.lang.String(i3280[14])))
LOAD28462ARR5(java.lang.Object(ARRAY(i6[15], a25256data[15])), i2381[15], i2440[15], java.lang.Object(java.lang.String(i3280[15]))) → COND_LOAD28462ARR5(&&(&&(&&(&&(<=(i3280[15], 0), >(i2381[15], 0)), <(i2381[15], i6[15])), >(i2440[15], 0)), >(+(i2381[15], 1), 0)), java.lang.Object(ARRAY(i6[15], a25256data[15])), i2381[15], i2440[15], java.lang.Object(java.lang.String(i3280[15])))
LOAD28462(java.lang.Object(ARRAY(i6[17], a25256data[17])), i2381[17], i2440[17]) → LOAD28462ARR8(java.lang.Object(ARRAY(i6[17], a25256data[17])), i2381[17], i2440[17], java.lang.Object(java.lang.String(i3280[17])))
LOAD28462ARR8(java.lang.Object(ARRAY(i6[18], a25256data[18])), i2381[18], i2440[18], java.lang.Object(java.lang.String(i3280[18]))) → COND_LOAD28462ARR8(&&(&&(&&(&&(<=(i3280[18], 0), >(i2381[18], 0)), <(i2381[18], i6[18])), >(i2440[18], 0)), >(+(i2381[18], 1), 0)), java.lang.Object(ARRAY(i6[18], a25256data[18])), i2381[18], i2440[18], java.lang.Object(java.lang.String(i3280[18])))

There are no usable rules.

(70) Complex Obligation (AND)

(71) 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): LOAD28462(java.lang.Object(ARRAY(i6[0], a25256data[0])), i2381[0], i2440[0]) → LOAD28462ARR1(java.lang.Object(ARRAY(i6[0], a25256data[0])), i2381[0], i2440[0], java.lang.Object(java.lang.String(i3279[0])))
(1): LOAD28462ARR1(java.lang.Object(ARRAY(i6[1], a25256data[1])), i2381[1], i2440[1], java.lang.Object(java.lang.String(i3279[1]))) → COND_LOAD28462ARR1(i3279[1] > 0 && i2381[1] > 0 && i2381[1] < i6[1] && i2440[1] > 0 && i2381[1] + 1 > 0, java.lang.Object(ARRAY(i6[1], a25256data[1])), i2381[1], i2440[1], java.lang.Object(java.lang.String(i3279[1])))
(4): LOAD28462(java.lang.Object(ARRAY(i6[4], a25256data[4])), i2381[4], i2440[4]) → LOAD28462ARR2(java.lang.Object(ARRAY(i6[4], a25256data[4])), i2381[4], i2440[4], java.lang.Object(java.lang.String(i3280[4])))
(5): LOAD28462ARR2(java.lang.Object(ARRAY(i6[5], a25256data[5])), i2381[5], i2440[5], java.lang.Object(java.lang.String(i3280[5]))) → COND_LOAD28462ARR2(i3280[5] <= 0 && i2381[5] > 0 && i2381[5] < i6[5] && i2440[5] > 0 && i2381[5] + 1 > 0, java.lang.Object(ARRAY(i6[5], a25256data[5])), i2381[5], i2440[5], java.lang.Object(java.lang.String(i3280[5])))
(7): LOAD28462(java.lang.Object(ARRAY(i6[7], a25256data[7])), i2381[7], i2440[7]) → LOAD28462ARR3(java.lang.Object(ARRAY(i6[7], a25256data[7])), i2381[7], i2440[7], java.lang.Object(java.lang.String(i3279[7])))
(8): LOAD28462ARR3(java.lang.Object(ARRAY(i6[8], a25256data[8])), i2381[8], i2440[8], java.lang.Object(java.lang.String(i3279[8]))) → COND_LOAD28462ARR3(i3279[8] > 0 && i2381[8] > 0 && i2381[8] < i6[8] && i2440[8] > 0 && i2381[8] + 1 > 0, java.lang.Object(ARRAY(i6[8], a25256data[8])), i2381[8], i2440[8], java.lang.Object(java.lang.String(i3279[8])))
(10): JMP45518'(java.lang.Object(ARRAY(i6[10], a25256data[10])), i3027[10], i2440[10]) → INC45617(java.lang.Object(ARRAY(i6[10], a25256data[10])), i3027[10], i2440[10])
(11): LOAD28462(java.lang.Object(ARRAY(i6[11], a25256data[11])), i2381[11], i2440[11]) → LOAD28462ARR4(java.lang.Object(ARRAY(i6[11], a25256data[11])), i2381[11], i2440[11], java.lang.Object(java.lang.String(i3279[11])))
(12): LOAD28462ARR4(java.lang.Object(ARRAY(i6[12], a25256data[12])), i2381[12], i2440[12], java.lang.Object(java.lang.String(i3279[12]))) → COND_LOAD28462ARR4(i3279[12] > 0 && i2381[12] > 0 && i2381[12] < i6[12] && i2440[12] > 0 && i2381[12] + 1 > 0, java.lang.Object(ARRAY(i6[12], a25256data[12])), i2381[12], i2440[12], java.lang.Object(java.lang.String(i3279[12])))
(14): LOAD28462(java.lang.Object(ARRAY(i6[14], a25256data[14])), i2381[14], i2440[14]) → LOAD28462ARR5(java.lang.Object(ARRAY(i6[14], a25256data[14])), i2381[14], i2440[14], java.lang.Object(java.lang.String(i3280[14])))
(15): LOAD28462ARR5(java.lang.Object(ARRAY(i6[15], a25256data[15])), i2381[15], i2440[15], java.lang.Object(java.lang.String(i3280[15]))) → COND_LOAD28462ARR5(i3280[15] <= 0 && i2381[15] > 0 && i2381[15] < i6[15] && i2440[15] > 0 && i2381[15] + 1 > 0, java.lang.Object(ARRAY(i6[15], a25256data[15])), i2381[15], i2440[15], java.lang.Object(java.lang.String(i3280[15])))
(17): LOAD28462(java.lang.Object(ARRAY(i6[17], a25256data[17])), i2381[17], i2440[17]) → LOAD28462ARR8(java.lang.Object(ARRAY(i6[17], a25256data[17])), i2381[17], i2440[17], java.lang.Object(java.lang.String(i3280[17])))
(18): LOAD28462ARR8(java.lang.Object(ARRAY(i6[18], a25256data[18])), i2381[18], i2440[18], java.lang.Object(java.lang.String(i3280[18]))) → COND_LOAD28462ARR8(i3280[18] <= 0 && i2381[18] > 0 && i2381[18] < i6[18] && i2440[18] > 0 && i2381[18] + 1 > 0, java.lang.Object(ARRAY(i6[18], a25256data[18])), i2381[18], i2440[18], java.lang.Object(java.lang.String(i3280[18])))

(0) -> (1), if ((i2440[0]* i2440[1])∧((i3279[0]* i3279[1]))∧(i2381[0]* i2381[1])∧((i6[0]* i6[1])∧(a25256data[0]* a25256data[1])))


(4) -> (5), if ((i2440[4]* i2440[5])∧((i6[4]* i6[5])∧(a25256data[4]* a25256data[5]))∧(i2381[4]* i2381[5])∧((i3280[4]* i3280[5])))


(7) -> (8), if (((i6[7]* i6[8])∧(a25256data[7]* a25256data[8]))∧((i3279[7]* i3279[8]))∧(i2440[7]* i2440[8])∧(i2381[7]* i2381[8]))


(11) -> (12), if ((i2381[11]* i2381[12])∧((i3279[11]* i3279[12]))∧((i6[11]* i6[12])∧(a25256data[11]* a25256data[12]))∧(i2440[11]* i2440[12]))


(14) -> (15), if (((i6[14]* i6[15])∧(a25256data[14]* a25256data[15]))∧((i3280[14]* i3280[15]))∧(i2440[14]* i2440[15])∧(i2381[14]* i2381[15]))


(17) -> (18), if ((i2381[17]* i2381[18])∧((i3280[17]* i3280[18]))∧(i2440[17]* i2440[18])∧((i6[17]* i6[18])∧(a25256data[17]* a25256data[18])))



The set Q consists of the following terms:
Load28462(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load28462ARR1(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load28462ARR1(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Inc45617(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load28462ARR2(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load28462ARR2(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load28462ARR3(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load28462ARR3(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
JMP45518(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load28462ARR4(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load28462ARR4(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load28462ARR5(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load28462ARR5(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load28462ARR8(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load28462ARR8(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))

(72) IDependencyGraphProof (EQUIVALENT transformation)

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

(73) TRUE

(74) 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): LOAD28462(java.lang.Object(ARRAY(i6[0], a25256data[0])), i2381[0], i2440[0]) → LOAD28462ARR1(java.lang.Object(ARRAY(i6[0], a25256data[0])), i2381[0], i2440[0], java.lang.Object(java.lang.String(i3279[0])))
(2): COND_LOAD28462ARR1(TRUE, java.lang.Object(ARRAY(i6[2], a25256data[2])), i2381[2], i2440[2], java.lang.Object(java.lang.String(i3279[2]))) → JMP45518'(java.lang.Object(ARRAY(i6[2], a25256data[2])), i2381[2] + 1, i2440[2])
(3): INC45617(java.lang.Object(ARRAY(i6[3], a25256data[3])), i3027[3], i2440[3]) → LOAD28462(java.lang.Object(ARRAY(i6[3], a25256data[3])), i3027[3], i2440[3] + -1)
(4): LOAD28462(java.lang.Object(ARRAY(i6[4], a25256data[4])), i2381[4], i2440[4]) → LOAD28462ARR2(java.lang.Object(ARRAY(i6[4], a25256data[4])), i2381[4], i2440[4], java.lang.Object(java.lang.String(i3280[4])))
(6): COND_LOAD28462ARR2(TRUE, java.lang.Object(ARRAY(i6[6], a25256data[6])), i2381[6], i2440[6], java.lang.Object(java.lang.String(i3280[6]))) → LOAD28462(java.lang.Object(ARRAY(i6[6], a25256data[6])), i2381[6] + 1, i2440[6] + -1)
(7): LOAD28462(java.lang.Object(ARRAY(i6[7], a25256data[7])), i2381[7], i2440[7]) → LOAD28462ARR3(java.lang.Object(ARRAY(i6[7], a25256data[7])), i2381[7], i2440[7], java.lang.Object(java.lang.String(i3279[7])))
(9): COND_LOAD28462ARR3(TRUE, java.lang.Object(ARRAY(i6[9], a25256data[9])), i2381[9], i2440[9], java.lang.Object(java.lang.String(i3279[9]))) → LOAD28462(java.lang.Object(ARRAY(i6[9], a25256data[9])), i2381[9] + 1, i2440[9] + -1)
(10): JMP45518'(java.lang.Object(ARRAY(i6[10], a25256data[10])), i3027[10], i2440[10]) → INC45617(java.lang.Object(ARRAY(i6[10], a25256data[10])), i3027[10], i2440[10])
(11): LOAD28462(java.lang.Object(ARRAY(i6[11], a25256data[11])), i2381[11], i2440[11]) → LOAD28462ARR4(java.lang.Object(ARRAY(i6[11], a25256data[11])), i2381[11], i2440[11], java.lang.Object(java.lang.String(i3279[11])))
(13): COND_LOAD28462ARR4(TRUE, java.lang.Object(ARRAY(i6[13], a25256data[13])), i2381[13], i2440[13], java.lang.Object(java.lang.String(i3279[13]))) → INC45617(java.lang.Object(ARRAY(i6[13], a25256data[13])), i2381[13] + 1, i2440[13])
(14): LOAD28462(java.lang.Object(ARRAY(i6[14], a25256data[14])), i2381[14], i2440[14]) → LOAD28462ARR5(java.lang.Object(ARRAY(i6[14], a25256data[14])), i2381[14], i2440[14], java.lang.Object(java.lang.String(i3280[14])))
(16): COND_LOAD28462ARR5(TRUE, java.lang.Object(ARRAY(i6[16], a25256data[16])), i2381[16], i2440[16], java.lang.Object(java.lang.String(i3280[16]))) → INC45617(java.lang.Object(ARRAY(i6[16], a25256data[16])), i2381[16] + 1, i2440[16])
(17): LOAD28462(java.lang.Object(ARRAY(i6[17], a25256data[17])), i2381[17], i2440[17]) → LOAD28462ARR8(java.lang.Object(ARRAY(i6[17], a25256data[17])), i2381[17], i2440[17], java.lang.Object(java.lang.String(i3280[17])))
(19): COND_LOAD28462ARR8(TRUE, java.lang.Object(ARRAY(i6[19], a25256data[19])), i2381[19], i2440[19], java.lang.Object(java.lang.String(i3280[19]))) → JMP45518'(java.lang.Object(ARRAY(i6[19], a25256data[19])), i2381[19] + 1, i2440[19])

(3) -> (0), if (((i6[3]* i6[0])∧(a25256data[3]* a25256data[0]))∧(i3027[3]* i2381[0])∧(i2440[3] + -1* i2440[0]))


(6) -> (0), if ((i2440[6] + -1* i2440[0])∧(i2381[6] + 1* i2381[0])∧((i6[6]* i6[0])∧(a25256data[6]* a25256data[0])))


(9) -> (0), if (((i6[9]* i6[0])∧(a25256data[9]* a25256data[0]))∧(i2381[9] + 1* i2381[0])∧(i2440[9] + -1* i2440[0]))


(10) -> (3), if ((i2440[10]* i2440[3])∧((i6[10]* i6[3])∧(a25256data[10]* a25256data[3]))∧(i3027[10]* i3027[3]))


(13) -> (3), if ((i2440[13]* i2440[3])∧(i2381[13] + 1* i3027[3])∧((i6[13]* i6[3])∧(a25256data[13]* a25256data[3])))


(16) -> (3), if ((i2440[16]* i2440[3])∧((i6[16]* i6[3])∧(a25256data[16]* a25256data[3]))∧(i2381[16] + 1* i3027[3]))


(3) -> (4), if (((i6[3]* i6[4])∧(a25256data[3]* a25256data[4]))∧(i2440[3] + -1* i2440[4])∧(i3027[3]* i2381[4]))


(6) -> (4), if ((i2440[6] + -1* i2440[4])∧(i2381[6] + 1* i2381[4])∧((i6[6]* i6[4])∧(a25256data[6]* a25256data[4])))


(9) -> (4), if ((i2381[9] + 1* i2381[4])∧(i2440[9] + -1* i2440[4])∧((i6[9]* i6[4])∧(a25256data[9]* a25256data[4])))


(3) -> (7), if (((i6[3]* i6[7])∧(a25256data[3]* a25256data[7]))∧(i3027[3]* i2381[7])∧(i2440[3] + -1* i2440[7]))


(6) -> (7), if ((i2381[6] + 1* i2381[7])∧((i6[6]* i6[7])∧(a25256data[6]* a25256data[7]))∧(i2440[6] + -1* i2440[7]))


(9) -> (7), if (((i6[9]* i6[7])∧(a25256data[9]* a25256data[7]))∧(i2440[9] + -1* i2440[7])∧(i2381[9] + 1* i2381[7]))


(2) -> (10), if ((i2381[2] + 1* i3027[10])∧(i2440[2]* i2440[10])∧((i6[2]* i6[10])∧(a25256data[2]* a25256data[10])))


(19) -> (10), if (((i6[19]* i6[10])∧(a25256data[19]* a25256data[10]))∧(i2440[19]* i2440[10])∧(i2381[19] + 1* i3027[10]))


(3) -> (11), if ((i2440[3] + -1* i2440[11])∧(i3027[3]* i2381[11])∧((i6[3]* i6[11])∧(a25256data[3]* a25256data[11])))


(6) -> (11), if ((i2381[6] + 1* i2381[11])∧((i6[6]* i6[11])∧(a25256data[6]* a25256data[11]))∧(i2440[6] + -1* i2440[11]))


(9) -> (11), if (((i6[9]* i6[11])∧(a25256data[9]* a25256data[11]))∧(i2381[9] + 1* i2381[11])∧(i2440[9] + -1* i2440[11]))


(3) -> (14), if ((i3027[3]* i2381[14])∧(i2440[3] + -1* i2440[14])∧((i6[3]* i6[14])∧(a25256data[3]* a25256data[14])))


(6) -> (14), if (((i6[6]* i6[14])∧(a25256data[6]* a25256data[14]))∧(i2381[6] + 1* i2381[14])∧(i2440[6] + -1* i2440[14]))


(9) -> (14), if ((i2440[9] + -1* i2440[14])∧(i2381[9] + 1* i2381[14])∧((i6[9]* i6[14])∧(a25256data[9]* a25256data[14])))


(3) -> (17), if ((i3027[3]* i2381[17])∧((i6[3]* i6[17])∧(a25256data[3]* a25256data[17]))∧(i2440[3] + -1* i2440[17]))


(6) -> (17), if ((i2381[6] + 1* i2381[17])∧(i2440[6] + -1* i2440[17])∧((i6[6]* i6[17])∧(a25256data[6]* a25256data[17])))


(9) -> (17), if ((i2381[9] + 1* i2381[17])∧(i2440[9] + -1* i2440[17])∧((i6[9]* i6[17])∧(a25256data[9]* a25256data[17])))



The set Q consists of the following terms:
Load28462(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load28462ARR1(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load28462ARR1(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Inc45617(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load28462ARR2(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load28462ARR2(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load28462ARR3(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load28462ARR3(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
JMP45518(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load28462ARR4(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load28462ARR4(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load28462ARR5(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load28462ARR5(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load28462ARR8(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load28462ARR8(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))

(75) IDependencyGraphProof (EQUIVALENT transformation)

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

(76) TRUE