(0) Obligation:

JBC Problem based on JBC Program:
Manifest-Version: 1.0 Created-By: 1.6.0_16 (Sun Microsystems Inc.) Main-Class: Samefringe
public class Random {
static String[] args;
static int index = 0;

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


public class Samefringe {
// from [Boyer&Moore,1979]. Checks if 2 binary trees
// have the same number of nodes
public static void main(String[] args) {
Random.args = args;
Tree tree1 = Tree.createTree();
Tree tree2 = Tree.createTree();
samefringe(tree1,tree2);
}

public static Tree gopher(Tree start) {

Tree s,t,u;

while ((start != null) && (start.left != null)){
s = start.left.left;
t = start.left.right;
u = start.right;
start = new Tree(s, new Tree(t,u));
}
return start;
}


public static boolean samefringe(Tree t1, Tree t2) {
while ((t1 != null) && (t2 != null)) {
t1 = gopher(t1).right;
t2 = gopher(t2).right;
}
return ((t1 == null) && (t2 == null));
}
}


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 1471 nodes with 4 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:
Load48301(o128506, o128505, java.lang.Object(Tree(o128503Field0, o128503Field1)), java.lang.Object(Tree(o129562Field0, o129562Field1))) → Load53753(o128506, o128505, java.lang.Object(Tree(o128503Field0, o128503Field1)), java.lang.Object(Tree(o129562Field0, o129562Field1)), java.lang.Object(Tree(o128503Field0, o128503Field1)), java.lang.Object(Tree(o128503Field0, o128503Field1)))
JMP59685(o165974, o165973, java.lang.Object(Tree(o165971Field0, o165971Field1)), java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165971Field0, o165971Field1)), java.lang.Object(Tree(o169702, java.lang.Object(Tree(o169703, o167592))))) → Load53753(o165974, o165973, java.lang.Object(Tree(o165971Field0, o165971Field1)), java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165971Field0, o165971Field1)), java.lang.Object(Tree(o169702, java.lang.Object(Tree(o169703, o167592)))))
Load53753(o165974, o165973, java.lang.Object(Tree(o165971Field0, o165971Field1)), java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165971Field0, o165971Field1)), java.lang.Object(Tree(java.lang.Object(Tree(o169702, o169703)), o167592))) → Load53753(o165974, o165973, java.lang.Object(Tree(o165971Field0, o165971Field1)), java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165971Field0, o165971Field1)), java.lang.Object(Tree(o169702, java.lang.Object(Tree(o169703, o167592)))))
Load53753(o165974, o165973, java.lang.Object(Tree(java.lang.Object(Tree(o169749, o169750)), o167598)), java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(java.lang.Object(Tree(o169749, o169750)), o167598)), java.lang.Object(Tree(java.lang.Object(Tree(o169749, o169750)), o167598))) → Load53753(o165974, o165973, java.lang.Object(Tree(java.lang.Object(Tree(o169749, o169750)), o167598)), java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(java.lang.Object(Tree(o169749, o169750)), o167598)), java.lang.Object(Tree(o169749, java.lang.Object(Tree(o169750, o167598)))))
Load53753(java.lang.Object(Tree(java.lang.Object(Tree(o169905, o169906)), o167618)), o165973, java.lang.Object(Tree(java.lang.Object(Tree(o169905, o169906)), o167618)), java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(java.lang.Object(Tree(o169905, o169906)), o167618)), java.lang.Object(Tree(java.lang.Object(Tree(o169905, o169906)), o167618))) → Load53753(java.lang.Object(Tree(java.lang.Object(Tree(o169905, o169906)), o167618)), o165973, java.lang.Object(Tree(java.lang.Object(Tree(o169905, o169906)), o167618)), java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(java.lang.Object(Tree(o169905, o169906)), o167618)), java.lang.Object(Tree(o169905, java.lang.Object(Tree(o169906, o167618)))))
Load53753(java.lang.Object(Tree(java.lang.Object(Tree(o169827, o169828)), o167608)), o165973, java.lang.Object(Tree(o165971Field0, o165971Field1)), java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165971Field0, o165971Field1)), java.lang.Object(Tree(java.lang.Object(Tree(o169827, o169828)), o167608))) → JMP59685(java.lang.Object(Tree(java.lang.Object(Tree(o169827, o169828)), o167608)), o165973, java.lang.Object(Tree(o165971Field0, o165971Field1)), java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165971Field0, o165971Field1)), java.lang.Object(Tree(o169827, java.lang.Object(Tree(o169828, o167608)))))
NULL47910(o126657, o126656, java.lang.Object(Tree(o127556Field0, o127556Field1)), o126654, java.lang.Object(Tree(o127556Field0, o127556Field1))) → Load48301(o126657, o126656, java.lang.Object(Tree(o127556Field0, o127556Field1)), o126654)
Load47722(o125908, o125907, o125904, o125906) → NULL47910(o125908, o125907, o125904, o125906, o125904)
JMP62722(o214830, o214829, o214827, o217305) → Load47722(o214830, o214829, o214827, o217305)
Store62561(o214830, o214829, o214827, o217305) → Load47722(o214830, o214829, o214827, o217305)
Load60888(o214830, o214829, o214827, java.lang.Object(Tree(o214828Field0, o214828Field1)), java.lang.Object(Tree(o214828Field0, o214828Field1)), java.lang.Object(Tree(NULL, o217305))) → Load47722(o214830, o214829, o214827, o217305)
Load60888(o214830, o214829, o214827, java.lang.Object(Tree(NULL, o217312)), java.lang.Object(Tree(NULL, o217312)), java.lang.Object(Tree(NULL, o217312))) → JMP62722(o214830, o214829, o214827, o217312)
Load60888(o214830, java.lang.Object(Tree(NULL, o217326)), o214827, java.lang.Object(Tree(NULL, o217326)), java.lang.Object(Tree(NULL, o217326)), java.lang.Object(Tree(NULL, o217326))) → JMP62722(o214830, java.lang.Object(Tree(NULL, o217326)), o214827, o217326)
Load60888(o214830, java.lang.Object(Tree(NULL, o217319)), o214827, java.lang.Object(Tree(o214828Field0, o214828Field1)), java.lang.Object(Tree(o214828Field0, o214828Field1)), java.lang.Object(Tree(NULL, o217319))) → Store62561(o214830, java.lang.Object(Tree(NULL, o217319)), o214827, o217319)
Load54904(o165974, o165973, o167592, java.lang.Object(Tree(o165972Field0, o165972Field1))) → Load60888(o165974, o165973, o167592, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165972Field0, o165972Field1)))
Store54705(o165974, o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), o167592) → Load60888(o165974, o165973, o167592, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165972Field0, o165972Field1)))
Load53753(o165974, o165973, java.lang.Object(Tree(o165971Field0, o165971Field1)), java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165971Field0, o165971Field1)), java.lang.Object(Tree(NULL, o167592))) → Load60888(o165974, o165973, o167592, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165972Field0, o165972Field1)))
JMP66005(o214830, o214829, o214827, java.lang.Object(Tree(o214828Field0, o214828Field1)), java.lang.Object(Tree(o214828Field0, o214828Field1)), java.lang.Object(Tree(o222315, java.lang.Object(Tree(o222316, o217305))))) → Load60888(o214830, o214829, o214827, java.lang.Object(Tree(o214828Field0, o214828Field1)), java.lang.Object(Tree(o214828Field0, o214828Field1)), java.lang.Object(Tree(o222315, java.lang.Object(Tree(o222316, o217305)))))
Load60888(o214830, o214829, o214827, java.lang.Object(Tree(o214828Field0, o214828Field1)), java.lang.Object(Tree(o214828Field0, o214828Field1)), java.lang.Object(Tree(java.lang.Object(Tree(o222315, o222316)), o217305))) → Load60888(o214830, o214829, o214827, java.lang.Object(Tree(o214828Field0, o214828Field1)), java.lang.Object(Tree(o214828Field0, o214828Field1)), java.lang.Object(Tree(o222315, java.lang.Object(Tree(o222316, o217305)))))
Load60888(o214830, o214829, o214827, java.lang.Object(Tree(java.lang.Object(Tree(o222361, o222362)), o217312)), java.lang.Object(Tree(java.lang.Object(Tree(o222361, o222362)), o217312)), java.lang.Object(Tree(java.lang.Object(Tree(o222361, o222362)), o217312))) → Load60888(o214830, o214829, o214827, java.lang.Object(Tree(java.lang.Object(Tree(o222361, o222362)), o217312)), java.lang.Object(Tree(java.lang.Object(Tree(o222361, o222362)), o217312)), java.lang.Object(Tree(o222361, java.lang.Object(Tree(o222362, o217312)))))
Load60888(o214830, java.lang.Object(Tree(java.lang.Object(Tree(o222472, o222473)), o217326)), o214827, java.lang.Object(Tree(java.lang.Object(Tree(o222472, o222473)), o217326)), java.lang.Object(Tree(java.lang.Object(Tree(o222472, o222473)), o217326)), java.lang.Object(Tree(java.lang.Object(Tree(o222472, o222473)), o217326))) → Load60888(o214830, java.lang.Object(Tree(java.lang.Object(Tree(o222472, o222473)), o217326)), o214827, java.lang.Object(Tree(java.lang.Object(Tree(o222472, o222473)), o217326)), java.lang.Object(Tree(java.lang.Object(Tree(o222472, o222473)), o217326)), java.lang.Object(Tree(o222472, java.lang.Object(Tree(o222473, o217326)))))
Load53753(o165974, o165973, java.lang.Object(Tree(NULL, o167598)), java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(NULL, o167598)), java.lang.Object(Tree(NULL, o167598))) → Load54904(o165974, o165973, o167598, java.lang.Object(Tree(o165972Field0, o165972Field1)))
Load53753(java.lang.Object(Tree(NULL, o167618)), o165973, java.lang.Object(Tree(NULL, o167618)), java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(NULL, o167618)), java.lang.Object(Tree(NULL, o167618))) → Load54904(java.lang.Object(Tree(NULL, o167618)), o165973, o167618, java.lang.Object(Tree(o165972Field0, o165972Field1)))
Load53753(java.lang.Object(Tree(NULL, o167608)), o165973, java.lang.Object(Tree(o165971Field0, o165971Field1)), java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165971Field0, o165971Field1)), java.lang.Object(Tree(NULL, o167608))) → Store54705(java.lang.Object(Tree(NULL, o167608)), o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), o167608)
Load60888(o214830, java.lang.Object(Tree(java.lang.Object(Tree(o222419, o222420)), o217319)), o214827, java.lang.Object(Tree(o214828Field0, o214828Field1)), java.lang.Object(Tree(o214828Field0, o214828Field1)), java.lang.Object(Tree(java.lang.Object(Tree(o222419, o222420)), o217319))) → JMP66005(o214830, java.lang.Object(Tree(java.lang.Object(Tree(o222419, o222420)), o217319)), o214827, java.lang.Object(Tree(o214828Field0, o214828Field1)), java.lang.Object(Tree(o214828Field0, o214828Field1)), java.lang.Object(Tree(o222419, java.lang.Object(Tree(o222420, o217319)))))
The set Q consists of the following terms:
Load48301(x0, x1, java.lang.Object(Tree(x2, x3)), java.lang.Object(Tree(x4, x5)))
JMP59685(x0, x1, java.lang.Object(Tree(x2, x3)), java.lang.Object(Tree(x4, x5)), java.lang.Object(Tree(x2, x3)), java.lang.Object(Tree(x6, java.lang.Object(Tree(x7, x8)))))
Load53753(x0, x1, java.lang.Object(Tree(x2, x3)), java.lang.Object(Tree(x4, x5)), java.lang.Object(Tree(x2, x3)), java.lang.Object(Tree(java.lang.Object(Tree(x6, x7)), x8)))
NULL47910(x0, x1, java.lang.Object(Tree(x2, x3)), x4, java.lang.Object(Tree(x2, x3)))
Load47722(x0, x1, x2, x3)
JMP62722(x0, x1, x2, x3)
Store62561(x0, x1, x2, x3)
Load60888(x0, x1, x2, java.lang.Object(Tree(x3, x4)), java.lang.Object(Tree(x3, x4)), java.lang.Object(Tree(NULL, x5)))
Load54904(x0, x1, x2, java.lang.Object(Tree(x3, x4)))
Store54705(x0, x1, java.lang.Object(Tree(x2, x3)), x4)
Load53753(x0, x1, java.lang.Object(Tree(x2, x3)), java.lang.Object(Tree(x4, x5)), java.lang.Object(Tree(x2, x3)), java.lang.Object(Tree(NULL, x6)))
JMP66005(x0, x1, x2, java.lang.Object(Tree(x3, x4)), java.lang.Object(Tree(x3, x4)), java.lang.Object(Tree(x5, java.lang.Object(Tree(x6, x7)))))
Load60888(x0, x1, x2, java.lang.Object(Tree(x3, x4)), java.lang.Object(Tree(x3, x4)), java.lang.Object(Tree(java.lang.Object(Tree(x5, x6)), x7)))

(6) DuplicateArgsRemoverProof (EQUIVALENT transformation)

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

JMP66005(x1, x2, x3, x4, x5, x6) → JMP66005(x1, x2, x3, x5, x6)
Load60888(x1, x2, x3, x4, x5, x6) → Load60888(x1, x2, x3, x5, x6)
Load53753(x1, x2, x3, x4, x5, x6) → Load53753(x1, x2, x4, x5, x6)
NULL47910(x1, x2, x3, x4, x5) → NULL47910(x1, x2, x4, x5)
JMP59685(x1, x2, x3, x4, x5, x6) → JMP59685(x1, x2, x4, x5, x6)

(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:
Load48301(o128506, o128505, java.lang.Object(Tree(o128503Field0, o128503Field1)), java.lang.Object(Tree(o129562Field0, o129562Field1))) → Load53753(o128506, o128505, java.lang.Object(Tree(o129562Field0, o129562Field1)), java.lang.Object(Tree(o128503Field0, o128503Field1)), java.lang.Object(Tree(o128503Field0, o128503Field1)))
JMP59685(o165974, o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165971Field0, o165971Field1)), java.lang.Object(Tree(o169702, java.lang.Object(Tree(o169703, o167592))))) → Load53753(o165974, o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165971Field0, o165971Field1)), java.lang.Object(Tree(o169702, java.lang.Object(Tree(o169703, o167592)))))
Load53753(o165974, o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165971Field0, o165971Field1)), java.lang.Object(Tree(java.lang.Object(Tree(o169702, o169703)), o167592))) → Load53753(o165974, o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165971Field0, o165971Field1)), java.lang.Object(Tree(o169702, java.lang.Object(Tree(o169703, o167592)))))
Load53753(o165974, o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(java.lang.Object(Tree(o169749, o169750)), o167598)), java.lang.Object(Tree(java.lang.Object(Tree(o169749, o169750)), o167598))) → Load53753(o165974, o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(java.lang.Object(Tree(o169749, o169750)), o167598)), java.lang.Object(Tree(o169749, java.lang.Object(Tree(o169750, o167598)))))
Load53753(java.lang.Object(Tree(java.lang.Object(Tree(o169905, o169906)), o167618)), o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(java.lang.Object(Tree(o169905, o169906)), o167618)), java.lang.Object(Tree(java.lang.Object(Tree(o169905, o169906)), o167618))) → Load53753(java.lang.Object(Tree(java.lang.Object(Tree(o169905, o169906)), o167618)), o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(java.lang.Object(Tree(o169905, o169906)), o167618)), java.lang.Object(Tree(o169905, java.lang.Object(Tree(o169906, o167618)))))
Load53753(java.lang.Object(Tree(java.lang.Object(Tree(o169827, o169828)), o167608)), o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165971Field0, o165971Field1)), java.lang.Object(Tree(java.lang.Object(Tree(o169827, o169828)), o167608))) → JMP59685(java.lang.Object(Tree(java.lang.Object(Tree(o169827, o169828)), o167608)), o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165971Field0, o165971Field1)), java.lang.Object(Tree(o169827, java.lang.Object(Tree(o169828, o167608)))))
NULL47910(o126657, o126656, o126654, java.lang.Object(Tree(o127556Field0, o127556Field1))) → Load48301(o126657, o126656, java.lang.Object(Tree(o127556Field0, o127556Field1)), o126654)
Load47722(o125908, o125907, o125904, o125906) → NULL47910(o125908, o125907, o125906, o125904)
JMP62722(o214830, o214829, o214827, o217305) → Load47722(o214830, o214829, o214827, o217305)
Store62561(o214830, o214829, o214827, o217305) → Load47722(o214830, o214829, o214827, o217305)
Load60888(o214830, o214829, o214827, java.lang.Object(Tree(o214828Field0, o214828Field1)), java.lang.Object(Tree(NULL, o217305))) → Load47722(o214830, o214829, o214827, o217305)
Load60888(o214830, o214829, o214827, java.lang.Object(Tree(NULL, o217312)), java.lang.Object(Tree(NULL, o217312))) → JMP62722(o214830, o214829, o214827, o217312)
Load60888(o214830, java.lang.Object(Tree(NULL, o217326)), o214827, java.lang.Object(Tree(NULL, o217326)), java.lang.Object(Tree(NULL, o217326))) → JMP62722(o214830, java.lang.Object(Tree(NULL, o217326)), o214827, o217326)
Load60888(o214830, java.lang.Object(Tree(NULL, o217319)), o214827, java.lang.Object(Tree(o214828Field0, o214828Field1)), java.lang.Object(Tree(NULL, o217319))) → Store62561(o214830, java.lang.Object(Tree(NULL, o217319)), o214827, o217319)
Load54904(o165974, o165973, o167592, java.lang.Object(Tree(o165972Field0, o165972Field1))) → Load60888(o165974, o165973, o167592, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165972Field0, o165972Field1)))
Store54705(o165974, o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), o167592) → Load60888(o165974, o165973, o167592, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165972Field0, o165972Field1)))
Load53753(o165974, o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165971Field0, o165971Field1)), java.lang.Object(Tree(NULL, o167592))) → Load60888(o165974, o165973, o167592, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165972Field0, o165972Field1)))
JMP66005(o214830, o214829, o214827, java.lang.Object(Tree(o214828Field0, o214828Field1)), java.lang.Object(Tree(o222315, java.lang.Object(Tree(o222316, o217305))))) → Load60888(o214830, o214829, o214827, java.lang.Object(Tree(o214828Field0, o214828Field1)), java.lang.Object(Tree(o222315, java.lang.Object(Tree(o222316, o217305)))))
Load60888(o214830, o214829, o214827, java.lang.Object(Tree(o214828Field0, o214828Field1)), java.lang.Object(Tree(java.lang.Object(Tree(o222315, o222316)), o217305))) → Load60888(o214830, o214829, o214827, java.lang.Object(Tree(o214828Field0, o214828Field1)), java.lang.Object(Tree(o222315, java.lang.Object(Tree(o222316, o217305)))))
Load60888(o214830, o214829, o214827, java.lang.Object(Tree(java.lang.Object(Tree(o222361, o222362)), o217312)), java.lang.Object(Tree(java.lang.Object(Tree(o222361, o222362)), o217312))) → Load60888(o214830, o214829, o214827, java.lang.Object(Tree(java.lang.Object(Tree(o222361, o222362)), o217312)), java.lang.Object(Tree(o222361, java.lang.Object(Tree(o222362, o217312)))))
Load60888(o214830, java.lang.Object(Tree(java.lang.Object(Tree(o222472, o222473)), o217326)), o214827, java.lang.Object(Tree(java.lang.Object(Tree(o222472, o222473)), o217326)), java.lang.Object(Tree(java.lang.Object(Tree(o222472, o222473)), o217326))) → Load60888(o214830, java.lang.Object(Tree(java.lang.Object(Tree(o222472, o222473)), o217326)), o214827, java.lang.Object(Tree(java.lang.Object(Tree(o222472, o222473)), o217326)), java.lang.Object(Tree(o222472, java.lang.Object(Tree(o222473, o217326)))))
Load53753(o165974, o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(NULL, o167598)), java.lang.Object(Tree(NULL, o167598))) → Load54904(o165974, o165973, o167598, java.lang.Object(Tree(o165972Field0, o165972Field1)))
Load53753(java.lang.Object(Tree(NULL, o167618)), o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(NULL, o167618)), java.lang.Object(Tree(NULL, o167618))) → Load54904(java.lang.Object(Tree(NULL, o167618)), o165973, o167618, java.lang.Object(Tree(o165972Field0, o165972Field1)))
Load53753(java.lang.Object(Tree(NULL, o167608)), o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165971Field0, o165971Field1)), java.lang.Object(Tree(NULL, o167608))) → Store54705(java.lang.Object(Tree(NULL, o167608)), o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), o167608)
Load60888(o214830, java.lang.Object(Tree(java.lang.Object(Tree(o222419, o222420)), o217319)), o214827, java.lang.Object(Tree(o214828Field0, o214828Field1)), java.lang.Object(Tree(java.lang.Object(Tree(o222419, o222420)), o217319))) → JMP66005(o214830, java.lang.Object(Tree(java.lang.Object(Tree(o222419, o222420)), o217319)), o214827, java.lang.Object(Tree(o214828Field0, o214828Field1)), java.lang.Object(Tree(o222419, java.lang.Object(Tree(o222420, o217319)))))
The set Q consists of the following terms:
Load48301(x0, x1, java.lang.Object(Tree(x2, x3)), java.lang.Object(Tree(x4, x5)))
JMP59685(x0, x1, java.lang.Object(Tree(x2, x3)), java.lang.Object(Tree(x4, x5)), java.lang.Object(Tree(x6, java.lang.Object(Tree(x7, x8)))))
Load53753(x0, x1, java.lang.Object(Tree(x2, x3)), java.lang.Object(Tree(x4, x5)), java.lang.Object(Tree(java.lang.Object(Tree(x6, x7)), x8)))
NULL47910(x0, x1, x2, java.lang.Object(Tree(x3, x4)))
Load47722(x0, x1, x2, x3)
JMP62722(x0, x1, x2, x3)
Store62561(x0, x1, x2, x3)
Load60888(x0, x1, x2, java.lang.Object(Tree(x3, x4)), java.lang.Object(Tree(NULL, x5)))
Load54904(x0, x1, x2, java.lang.Object(Tree(x3, x4)))
Store54705(x0, x1, java.lang.Object(Tree(x2, x3)), x4)
Load53753(x0, x1, java.lang.Object(Tree(x2, x3)), java.lang.Object(Tree(x4, x5)), java.lang.Object(Tree(NULL, x6)))
JMP66005(x0, x1, x2, java.lang.Object(Tree(x3, x4)), java.lang.Object(Tree(x5, java.lang.Object(Tree(x6, x7)))))
Load60888(x0, x1, x2, java.lang.Object(Tree(x3, x4)), java.lang.Object(Tree(java.lang.Object(Tree(x5, x6)), x7)))

(8) ITRStoQTRSProof (EQUIVALENT transformation)

Represented integers and predefined function symbols by Terms

(9) Obligation:

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

Load48301(o128506, o128505, java.lang.Object(Tree(o128503Field0, o128503Field1)), java.lang.Object(Tree(o129562Field0, o129562Field1))) → Load53753(o128506, o128505, java.lang.Object(Tree(o129562Field0, o129562Field1)), java.lang.Object(Tree(o128503Field0, o128503Field1)), java.lang.Object(Tree(o128503Field0, o128503Field1)))
JMP59685(o165974, o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165971Field0, o165971Field1)), java.lang.Object(Tree(o169702, java.lang.Object(Tree(o169703, o167592))))) → Load53753(o165974, o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165971Field0, o165971Field1)), java.lang.Object(Tree(o169702, java.lang.Object(Tree(o169703, o167592)))))
Load53753(o165974, o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165971Field0, o165971Field1)), java.lang.Object(Tree(java.lang.Object(Tree(o169702, o169703)), o167592))) → Load53753(o165974, o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165971Field0, o165971Field1)), java.lang.Object(Tree(o169702, java.lang.Object(Tree(o169703, o167592)))))
Load53753(o165974, o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(java.lang.Object(Tree(o169749, o169750)), o167598)), java.lang.Object(Tree(java.lang.Object(Tree(o169749, o169750)), o167598))) → Load53753(o165974, o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(java.lang.Object(Tree(o169749, o169750)), o167598)), java.lang.Object(Tree(o169749, java.lang.Object(Tree(o169750, o167598)))))
Load53753(java.lang.Object(Tree(java.lang.Object(Tree(o169905, o169906)), o167618)), o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(java.lang.Object(Tree(o169905, o169906)), o167618)), java.lang.Object(Tree(java.lang.Object(Tree(o169905, o169906)), o167618))) → Load53753(java.lang.Object(Tree(java.lang.Object(Tree(o169905, o169906)), o167618)), o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(java.lang.Object(Tree(o169905, o169906)), o167618)), java.lang.Object(Tree(o169905, java.lang.Object(Tree(o169906, o167618)))))
Load53753(java.lang.Object(Tree(java.lang.Object(Tree(o169827, o169828)), o167608)), o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165971Field0, o165971Field1)), java.lang.Object(Tree(java.lang.Object(Tree(o169827, o169828)), o167608))) → JMP59685(java.lang.Object(Tree(java.lang.Object(Tree(o169827, o169828)), o167608)), o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165971Field0, o165971Field1)), java.lang.Object(Tree(o169827, java.lang.Object(Tree(o169828, o167608)))))
NULL47910(o126657, o126656, o126654, java.lang.Object(Tree(o127556Field0, o127556Field1))) → Load48301(o126657, o126656, java.lang.Object(Tree(o127556Field0, o127556Field1)), o126654)
Load47722(o125908, o125907, o125904, o125906) → NULL47910(o125908, o125907, o125906, o125904)
JMP62722(o214830, o214829, o214827, o217305) → Load47722(o214830, o214829, o214827, o217305)
Store62561(o214830, o214829, o214827, o217305) → Load47722(o214830, o214829, o214827, o217305)
Load60888(o214830, o214829, o214827, java.lang.Object(Tree(o214828Field0, o214828Field1)), java.lang.Object(Tree(NULL, o217305))) → Load47722(o214830, o214829, o214827, o217305)
Load60888(o214830, o214829, o214827, java.lang.Object(Tree(NULL, o217312)), java.lang.Object(Tree(NULL, o217312))) → JMP62722(o214830, o214829, o214827, o217312)
Load60888(o214830, java.lang.Object(Tree(NULL, o217326)), o214827, java.lang.Object(Tree(NULL, o217326)), java.lang.Object(Tree(NULL, o217326))) → JMP62722(o214830, java.lang.Object(Tree(NULL, o217326)), o214827, o217326)
Load60888(o214830, java.lang.Object(Tree(NULL, o217319)), o214827, java.lang.Object(Tree(o214828Field0, o214828Field1)), java.lang.Object(Tree(NULL, o217319))) → Store62561(o214830, java.lang.Object(Tree(NULL, o217319)), o214827, o217319)
Load54904(o165974, o165973, o167592, java.lang.Object(Tree(o165972Field0, o165972Field1))) → Load60888(o165974, o165973, o167592, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165972Field0, o165972Field1)))
Store54705(o165974, o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), o167592) → Load60888(o165974, o165973, o167592, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165972Field0, o165972Field1)))
Load53753(o165974, o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165971Field0, o165971Field1)), java.lang.Object(Tree(NULL, o167592))) → Load60888(o165974, o165973, o167592, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165972Field0, o165972Field1)))
JMP66005(o214830, o214829, o214827, java.lang.Object(Tree(o214828Field0, o214828Field1)), java.lang.Object(Tree(o222315, java.lang.Object(Tree(o222316, o217305))))) → Load60888(o214830, o214829, o214827, java.lang.Object(Tree(o214828Field0, o214828Field1)), java.lang.Object(Tree(o222315, java.lang.Object(Tree(o222316, o217305)))))
Load60888(o214830, o214829, o214827, java.lang.Object(Tree(o214828Field0, o214828Field1)), java.lang.Object(Tree(java.lang.Object(Tree(o222315, o222316)), o217305))) → Load60888(o214830, o214829, o214827, java.lang.Object(Tree(o214828Field0, o214828Field1)), java.lang.Object(Tree(o222315, java.lang.Object(Tree(o222316, o217305)))))
Load60888(o214830, o214829, o214827, java.lang.Object(Tree(java.lang.Object(Tree(o222361, o222362)), o217312)), java.lang.Object(Tree(java.lang.Object(Tree(o222361, o222362)), o217312))) → Load60888(o214830, o214829, o214827, java.lang.Object(Tree(java.lang.Object(Tree(o222361, o222362)), o217312)), java.lang.Object(Tree(o222361, java.lang.Object(Tree(o222362, o217312)))))
Load60888(o214830, java.lang.Object(Tree(java.lang.Object(Tree(o222472, o222473)), o217326)), o214827, java.lang.Object(Tree(java.lang.Object(Tree(o222472, o222473)), o217326)), java.lang.Object(Tree(java.lang.Object(Tree(o222472, o222473)), o217326))) → Load60888(o214830, java.lang.Object(Tree(java.lang.Object(Tree(o222472, o222473)), o217326)), o214827, java.lang.Object(Tree(java.lang.Object(Tree(o222472, o222473)), o217326)), java.lang.Object(Tree(o222472, java.lang.Object(Tree(o222473, o217326)))))
Load53753(o165974, o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(NULL, o167598)), java.lang.Object(Tree(NULL, o167598))) → Load54904(o165974, o165973, o167598, java.lang.Object(Tree(o165972Field0, o165972Field1)))
Load53753(java.lang.Object(Tree(NULL, o167618)), o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(NULL, o167618)), java.lang.Object(Tree(NULL, o167618))) → Load54904(java.lang.Object(Tree(NULL, o167618)), o165973, o167618, java.lang.Object(Tree(o165972Field0, o165972Field1)))
Load53753(java.lang.Object(Tree(NULL, o167608)), o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165971Field0, o165971Field1)), java.lang.Object(Tree(NULL, o167608))) → Store54705(java.lang.Object(Tree(NULL, o167608)), o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), o167608)
Load60888(o214830, java.lang.Object(Tree(java.lang.Object(Tree(o222419, o222420)), o217319)), o214827, java.lang.Object(Tree(o214828Field0, o214828Field1)), java.lang.Object(Tree(java.lang.Object(Tree(o222419, o222420)), o217319))) → JMP66005(o214830, java.lang.Object(Tree(java.lang.Object(Tree(o222419, o222420)), o217319)), o214827, java.lang.Object(Tree(o214828Field0, o214828Field1)), java.lang.Object(Tree(o222419, java.lang.Object(Tree(o222420, o217319)))))

The set Q consists of the following terms:

Load48301(x0, x1, java.lang.Object(Tree(x2, x3)), java.lang.Object(Tree(x4, x5)))
JMP59685(x0, x1, java.lang.Object(Tree(x2, x3)), java.lang.Object(Tree(x4, x5)), java.lang.Object(Tree(x6, java.lang.Object(Tree(x7, x8)))))
Load53753(x0, x1, java.lang.Object(Tree(x2, x3)), java.lang.Object(Tree(x4, x5)), java.lang.Object(Tree(java.lang.Object(Tree(x6, x7)), x8)))
NULL47910(x0, x1, x2, java.lang.Object(Tree(x3, x4)))
Load47722(x0, x1, x2, x3)
JMP62722(x0, x1, x2, x3)
Store62561(x0, x1, x2, x3)
Load60888(x0, x1, x2, java.lang.Object(Tree(x3, x4)), java.lang.Object(Tree(NULL, x5)))
Load54904(x0, x1, x2, java.lang.Object(Tree(x3, x4)))
Store54705(x0, x1, java.lang.Object(Tree(x2, x3)), x4)
Load53753(x0, x1, java.lang.Object(Tree(x2, x3)), java.lang.Object(Tree(x4, x5)), java.lang.Object(Tree(NULL, x6)))
JMP66005(x0, x1, x2, java.lang.Object(Tree(x3, x4)), java.lang.Object(Tree(x5, java.lang.Object(Tree(x6, x7)))))
Load60888(x0, x1, x2, java.lang.Object(Tree(x3, x4)), java.lang.Object(Tree(java.lang.Object(Tree(x5, x6)), x7)))

(10) DependencyPairsProof (EQUIVALENT transformation)

Using Dependency Pairs [AG00,LPAR04] we result in the following initial DP problem.

(11) Obligation:

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

LOAD48301(o128506, o128505, java.lang.Object(Tree(o128503Field0, o128503Field1)), java.lang.Object(Tree(o129562Field0, o129562Field1))) → LOAD53753(o128506, o128505, java.lang.Object(Tree(o129562Field0, o129562Field1)), java.lang.Object(Tree(o128503Field0, o128503Field1)), java.lang.Object(Tree(o128503Field0, o128503Field1)))
JMP596851(o165974, o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165971Field0, o165971Field1)), java.lang.Object(Tree(o169702, java.lang.Object(Tree(o169703, o167592))))) → LOAD53753(o165974, o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165971Field0, o165971Field1)), java.lang.Object(Tree(o169702, java.lang.Object(Tree(o169703, o167592)))))
LOAD53753(o165974, o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165971Field0, o165971Field1)), java.lang.Object(Tree(java.lang.Object(Tree(o169702, o169703)), o167592))) → LOAD53753(o165974, o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165971Field0, o165971Field1)), java.lang.Object(Tree(o169702, java.lang.Object(Tree(o169703, o167592)))))
LOAD53753(o165974, o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(java.lang.Object(Tree(o169749, o169750)), o167598)), java.lang.Object(Tree(java.lang.Object(Tree(o169749, o169750)), o167598))) → LOAD53753(o165974, o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(java.lang.Object(Tree(o169749, o169750)), o167598)), java.lang.Object(Tree(o169749, java.lang.Object(Tree(o169750, o167598)))))
LOAD53753(java.lang.Object(Tree(java.lang.Object(Tree(o169905, o169906)), o167618)), o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(java.lang.Object(Tree(o169905, o169906)), o167618)), java.lang.Object(Tree(java.lang.Object(Tree(o169905, o169906)), o167618))) → LOAD53753(java.lang.Object(Tree(java.lang.Object(Tree(o169905, o169906)), o167618)), o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(java.lang.Object(Tree(o169905, o169906)), o167618)), java.lang.Object(Tree(o169905, java.lang.Object(Tree(o169906, o167618)))))
LOAD53753(java.lang.Object(Tree(java.lang.Object(Tree(o169827, o169828)), o167608)), o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165971Field0, o165971Field1)), java.lang.Object(Tree(java.lang.Object(Tree(o169827, o169828)), o167608))) → JMP596851(java.lang.Object(Tree(java.lang.Object(Tree(o169827, o169828)), o167608)), o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165971Field0, o165971Field1)), java.lang.Object(Tree(o169827, java.lang.Object(Tree(o169828, o167608)))))
NULL479101(o126657, o126656, o126654, java.lang.Object(Tree(o127556Field0, o127556Field1))) → LOAD48301(o126657, o126656, java.lang.Object(Tree(o127556Field0, o127556Field1)), o126654)
LOAD47722(o125908, o125907, o125904, o125906) → NULL479101(o125908, o125907, o125906, o125904)
JMP627221(o214830, o214829, o214827, o217305) → LOAD47722(o214830, o214829, o214827, o217305)
STORE62561(o214830, o214829, o214827, o217305) → LOAD47722(o214830, o214829, o214827, o217305)
LOAD60888(o214830, o214829, o214827, java.lang.Object(Tree(o214828Field0, o214828Field1)), java.lang.Object(Tree(NULL, o217305))) → LOAD47722(o214830, o214829, o214827, o217305)
LOAD60888(o214830, o214829, o214827, java.lang.Object(Tree(NULL, o217312)), java.lang.Object(Tree(NULL, o217312))) → JMP627221(o214830, o214829, o214827, o217312)
LOAD60888(o214830, java.lang.Object(Tree(NULL, o217326)), o214827, java.lang.Object(Tree(NULL, o217326)), java.lang.Object(Tree(NULL, o217326))) → JMP627221(o214830, java.lang.Object(Tree(NULL, o217326)), o214827, o217326)
LOAD60888(o214830, java.lang.Object(Tree(NULL, o217319)), o214827, java.lang.Object(Tree(o214828Field0, o214828Field1)), java.lang.Object(Tree(NULL, o217319))) → STORE62561(o214830, java.lang.Object(Tree(NULL, o217319)), o214827, o217319)
LOAD54904(o165974, o165973, o167592, java.lang.Object(Tree(o165972Field0, o165972Field1))) → LOAD60888(o165974, o165973, o167592, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165972Field0, o165972Field1)))
STORE54705(o165974, o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), o167592) → LOAD60888(o165974, o165973, o167592, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165972Field0, o165972Field1)))
LOAD53753(o165974, o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165971Field0, o165971Field1)), java.lang.Object(Tree(NULL, o167592))) → LOAD60888(o165974, o165973, o167592, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165972Field0, o165972Field1)))
JMP660051(o214830, o214829, o214827, java.lang.Object(Tree(o214828Field0, o214828Field1)), java.lang.Object(Tree(o222315, java.lang.Object(Tree(o222316, o217305))))) → LOAD60888(o214830, o214829, o214827, java.lang.Object(Tree(o214828Field0, o214828Field1)), java.lang.Object(Tree(o222315, java.lang.Object(Tree(o222316, o217305)))))
LOAD60888(o214830, o214829, o214827, java.lang.Object(Tree(o214828Field0, o214828Field1)), java.lang.Object(Tree(java.lang.Object(Tree(o222315, o222316)), o217305))) → LOAD60888(o214830, o214829, o214827, java.lang.Object(Tree(o214828Field0, o214828Field1)), java.lang.Object(Tree(o222315, java.lang.Object(Tree(o222316, o217305)))))
LOAD60888(o214830, o214829, o214827, java.lang.Object(Tree(java.lang.Object(Tree(o222361, o222362)), o217312)), java.lang.Object(Tree(java.lang.Object(Tree(o222361, o222362)), o217312))) → LOAD60888(o214830, o214829, o214827, java.lang.Object(Tree(java.lang.Object(Tree(o222361, o222362)), o217312)), java.lang.Object(Tree(o222361, java.lang.Object(Tree(o222362, o217312)))))
LOAD60888(o214830, java.lang.Object(Tree(java.lang.Object(Tree(o222472, o222473)), o217326)), o214827, java.lang.Object(Tree(java.lang.Object(Tree(o222472, o222473)), o217326)), java.lang.Object(Tree(java.lang.Object(Tree(o222472, o222473)), o217326))) → LOAD60888(o214830, java.lang.Object(Tree(java.lang.Object(Tree(o222472, o222473)), o217326)), o214827, java.lang.Object(Tree(java.lang.Object(Tree(o222472, o222473)), o217326)), java.lang.Object(Tree(o222472, java.lang.Object(Tree(o222473, o217326)))))
LOAD53753(o165974, o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(NULL, o167598)), java.lang.Object(Tree(NULL, o167598))) → LOAD54904(o165974, o165973, o167598, java.lang.Object(Tree(o165972Field0, o165972Field1)))
LOAD53753(java.lang.Object(Tree(NULL, o167618)), o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(NULL, o167618)), java.lang.Object(Tree(NULL, o167618))) → LOAD54904(java.lang.Object(Tree(NULL, o167618)), o165973, o167618, java.lang.Object(Tree(o165972Field0, o165972Field1)))
LOAD53753(java.lang.Object(Tree(NULL, o167608)), o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165971Field0, o165971Field1)), java.lang.Object(Tree(NULL, o167608))) → STORE54705(java.lang.Object(Tree(NULL, o167608)), o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), o167608)
LOAD60888(o214830, java.lang.Object(Tree(java.lang.Object(Tree(o222419, o222420)), o217319)), o214827, java.lang.Object(Tree(o214828Field0, o214828Field1)), java.lang.Object(Tree(java.lang.Object(Tree(o222419, o222420)), o217319))) → JMP660051(o214830, java.lang.Object(Tree(java.lang.Object(Tree(o222419, o222420)), o217319)), o214827, java.lang.Object(Tree(o214828Field0, o214828Field1)), java.lang.Object(Tree(o222419, java.lang.Object(Tree(o222420, o217319)))))

The TRS R consists of the following rules:

Load48301(o128506, o128505, java.lang.Object(Tree(o128503Field0, o128503Field1)), java.lang.Object(Tree(o129562Field0, o129562Field1))) → Load53753(o128506, o128505, java.lang.Object(Tree(o129562Field0, o129562Field1)), java.lang.Object(Tree(o128503Field0, o128503Field1)), java.lang.Object(Tree(o128503Field0, o128503Field1)))
JMP59685(o165974, o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165971Field0, o165971Field1)), java.lang.Object(Tree(o169702, java.lang.Object(Tree(o169703, o167592))))) → Load53753(o165974, o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165971Field0, o165971Field1)), java.lang.Object(Tree(o169702, java.lang.Object(Tree(o169703, o167592)))))
Load53753(o165974, o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165971Field0, o165971Field1)), java.lang.Object(Tree(java.lang.Object(Tree(o169702, o169703)), o167592))) → Load53753(o165974, o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165971Field0, o165971Field1)), java.lang.Object(Tree(o169702, java.lang.Object(Tree(o169703, o167592)))))
Load53753(o165974, o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(java.lang.Object(Tree(o169749, o169750)), o167598)), java.lang.Object(Tree(java.lang.Object(Tree(o169749, o169750)), o167598))) → Load53753(o165974, o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(java.lang.Object(Tree(o169749, o169750)), o167598)), java.lang.Object(Tree(o169749, java.lang.Object(Tree(o169750, o167598)))))
Load53753(java.lang.Object(Tree(java.lang.Object(Tree(o169905, o169906)), o167618)), o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(java.lang.Object(Tree(o169905, o169906)), o167618)), java.lang.Object(Tree(java.lang.Object(Tree(o169905, o169906)), o167618))) → Load53753(java.lang.Object(Tree(java.lang.Object(Tree(o169905, o169906)), o167618)), o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(java.lang.Object(Tree(o169905, o169906)), o167618)), java.lang.Object(Tree(o169905, java.lang.Object(Tree(o169906, o167618)))))
Load53753(java.lang.Object(Tree(java.lang.Object(Tree(o169827, o169828)), o167608)), o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165971Field0, o165971Field1)), java.lang.Object(Tree(java.lang.Object(Tree(o169827, o169828)), o167608))) → JMP59685(java.lang.Object(Tree(java.lang.Object(Tree(o169827, o169828)), o167608)), o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165971Field0, o165971Field1)), java.lang.Object(Tree(o169827, java.lang.Object(Tree(o169828, o167608)))))
NULL47910(o126657, o126656, o126654, java.lang.Object(Tree(o127556Field0, o127556Field1))) → Load48301(o126657, o126656, java.lang.Object(Tree(o127556Field0, o127556Field1)), o126654)
Load47722(o125908, o125907, o125904, o125906) → NULL47910(o125908, o125907, o125906, o125904)
JMP62722(o214830, o214829, o214827, o217305) → Load47722(o214830, o214829, o214827, o217305)
Store62561(o214830, o214829, o214827, o217305) → Load47722(o214830, o214829, o214827, o217305)
Load60888(o214830, o214829, o214827, java.lang.Object(Tree(o214828Field0, o214828Field1)), java.lang.Object(Tree(NULL, o217305))) → Load47722(o214830, o214829, o214827, o217305)
Load60888(o214830, o214829, o214827, java.lang.Object(Tree(NULL, o217312)), java.lang.Object(Tree(NULL, o217312))) → JMP62722(o214830, o214829, o214827, o217312)
Load60888(o214830, java.lang.Object(Tree(NULL, o217326)), o214827, java.lang.Object(Tree(NULL, o217326)), java.lang.Object(Tree(NULL, o217326))) → JMP62722(o214830, java.lang.Object(Tree(NULL, o217326)), o214827, o217326)
Load60888(o214830, java.lang.Object(Tree(NULL, o217319)), o214827, java.lang.Object(Tree(o214828Field0, o214828Field1)), java.lang.Object(Tree(NULL, o217319))) → Store62561(o214830, java.lang.Object(Tree(NULL, o217319)), o214827, o217319)
Load54904(o165974, o165973, o167592, java.lang.Object(Tree(o165972Field0, o165972Field1))) → Load60888(o165974, o165973, o167592, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165972Field0, o165972Field1)))
Store54705(o165974, o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), o167592) → Load60888(o165974, o165973, o167592, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165972Field0, o165972Field1)))
Load53753(o165974, o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165971Field0, o165971Field1)), java.lang.Object(Tree(NULL, o167592))) → Load60888(o165974, o165973, o167592, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165972Field0, o165972Field1)))
JMP66005(o214830, o214829, o214827, java.lang.Object(Tree(o214828Field0, o214828Field1)), java.lang.Object(Tree(o222315, java.lang.Object(Tree(o222316, o217305))))) → Load60888(o214830, o214829, o214827, java.lang.Object(Tree(o214828Field0, o214828Field1)), java.lang.Object(Tree(o222315, java.lang.Object(Tree(o222316, o217305)))))
Load60888(o214830, o214829, o214827, java.lang.Object(Tree(o214828Field0, o214828Field1)), java.lang.Object(Tree(java.lang.Object(Tree(o222315, o222316)), o217305))) → Load60888(o214830, o214829, o214827, java.lang.Object(Tree(o214828Field0, o214828Field1)), java.lang.Object(Tree(o222315, java.lang.Object(Tree(o222316, o217305)))))
Load60888(o214830, o214829, o214827, java.lang.Object(Tree(java.lang.Object(Tree(o222361, o222362)), o217312)), java.lang.Object(Tree(java.lang.Object(Tree(o222361, o222362)), o217312))) → Load60888(o214830, o214829, o214827, java.lang.Object(Tree(java.lang.Object(Tree(o222361, o222362)), o217312)), java.lang.Object(Tree(o222361, java.lang.Object(Tree(o222362, o217312)))))
Load60888(o214830, java.lang.Object(Tree(java.lang.Object(Tree(o222472, o222473)), o217326)), o214827, java.lang.Object(Tree(java.lang.Object(Tree(o222472, o222473)), o217326)), java.lang.Object(Tree(java.lang.Object(Tree(o222472, o222473)), o217326))) → Load60888(o214830, java.lang.Object(Tree(java.lang.Object(Tree(o222472, o222473)), o217326)), o214827, java.lang.Object(Tree(java.lang.Object(Tree(o222472, o222473)), o217326)), java.lang.Object(Tree(o222472, java.lang.Object(Tree(o222473, o217326)))))
Load53753(o165974, o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(NULL, o167598)), java.lang.Object(Tree(NULL, o167598))) → Load54904(o165974, o165973, o167598, java.lang.Object(Tree(o165972Field0, o165972Field1)))
Load53753(java.lang.Object(Tree(NULL, o167618)), o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(NULL, o167618)), java.lang.Object(Tree(NULL, o167618))) → Load54904(java.lang.Object(Tree(NULL, o167618)), o165973, o167618, java.lang.Object(Tree(o165972Field0, o165972Field1)))
Load53753(java.lang.Object(Tree(NULL, o167608)), o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165971Field0, o165971Field1)), java.lang.Object(Tree(NULL, o167608))) → Store54705(java.lang.Object(Tree(NULL, o167608)), o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), o167608)
Load60888(o214830, java.lang.Object(Tree(java.lang.Object(Tree(o222419, o222420)), o217319)), o214827, java.lang.Object(Tree(o214828Field0, o214828Field1)), java.lang.Object(Tree(java.lang.Object(Tree(o222419, o222420)), o217319))) → JMP66005(o214830, java.lang.Object(Tree(java.lang.Object(Tree(o222419, o222420)), o217319)), o214827, java.lang.Object(Tree(o214828Field0, o214828Field1)), java.lang.Object(Tree(o222419, java.lang.Object(Tree(o222420, o217319)))))

The set Q consists of the following terms:

Load48301(x0, x1, java.lang.Object(Tree(x2, x3)), java.lang.Object(Tree(x4, x5)))
JMP59685(x0, x1, java.lang.Object(Tree(x2, x3)), java.lang.Object(Tree(x4, x5)), java.lang.Object(Tree(x6, java.lang.Object(Tree(x7, x8)))))
Load53753(x0, x1, java.lang.Object(Tree(x2, x3)), java.lang.Object(Tree(x4, x5)), java.lang.Object(Tree(java.lang.Object(Tree(x6, x7)), x8)))
NULL47910(x0, x1, x2, java.lang.Object(Tree(x3, x4)))
Load47722(x0, x1, x2, x3)
JMP62722(x0, x1, x2, x3)
Store62561(x0, x1, x2, x3)
Load60888(x0, x1, x2, java.lang.Object(Tree(x3, x4)), java.lang.Object(Tree(NULL, x5)))
Load54904(x0, x1, x2, java.lang.Object(Tree(x3, x4)))
Store54705(x0, x1, java.lang.Object(Tree(x2, x3)), x4)
Load53753(x0, x1, java.lang.Object(Tree(x2, x3)), java.lang.Object(Tree(x4, x5)), java.lang.Object(Tree(NULL, x6)))
JMP66005(x0, x1, x2, java.lang.Object(Tree(x3, x4)), java.lang.Object(Tree(x5, java.lang.Object(Tree(x6, x7)))))
Load60888(x0, x1, x2, java.lang.Object(Tree(x3, x4)), java.lang.Object(Tree(java.lang.Object(Tree(x5, x6)), x7)))

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

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

(13) Obligation:

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

LOAD48301(o128506, o128505, java.lang.Object(Tree(o128503Field0, o128503Field1)), java.lang.Object(Tree(o129562Field0, o129562Field1))) → LOAD53753(o128506, o128505, java.lang.Object(Tree(o129562Field0, o129562Field1)), java.lang.Object(Tree(o128503Field0, o128503Field1)), java.lang.Object(Tree(o128503Field0, o128503Field1)))
JMP596851(o165974, o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165971Field0, o165971Field1)), java.lang.Object(Tree(o169702, java.lang.Object(Tree(o169703, o167592))))) → LOAD53753(o165974, o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165971Field0, o165971Field1)), java.lang.Object(Tree(o169702, java.lang.Object(Tree(o169703, o167592)))))
LOAD53753(o165974, o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165971Field0, o165971Field1)), java.lang.Object(Tree(java.lang.Object(Tree(o169702, o169703)), o167592))) → LOAD53753(o165974, o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165971Field0, o165971Field1)), java.lang.Object(Tree(o169702, java.lang.Object(Tree(o169703, o167592)))))
LOAD53753(o165974, o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(java.lang.Object(Tree(o169749, o169750)), o167598)), java.lang.Object(Tree(java.lang.Object(Tree(o169749, o169750)), o167598))) → LOAD53753(o165974, o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(java.lang.Object(Tree(o169749, o169750)), o167598)), java.lang.Object(Tree(o169749, java.lang.Object(Tree(o169750, o167598)))))
LOAD53753(java.lang.Object(Tree(java.lang.Object(Tree(o169905, o169906)), o167618)), o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(java.lang.Object(Tree(o169905, o169906)), o167618)), java.lang.Object(Tree(java.lang.Object(Tree(o169905, o169906)), o167618))) → LOAD53753(java.lang.Object(Tree(java.lang.Object(Tree(o169905, o169906)), o167618)), o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(java.lang.Object(Tree(o169905, o169906)), o167618)), java.lang.Object(Tree(o169905, java.lang.Object(Tree(o169906, o167618)))))
LOAD53753(java.lang.Object(Tree(java.lang.Object(Tree(o169827, o169828)), o167608)), o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165971Field0, o165971Field1)), java.lang.Object(Tree(java.lang.Object(Tree(o169827, o169828)), o167608))) → JMP596851(java.lang.Object(Tree(java.lang.Object(Tree(o169827, o169828)), o167608)), o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165971Field0, o165971Field1)), java.lang.Object(Tree(o169827, java.lang.Object(Tree(o169828, o167608)))))
NULL479101(o126657, o126656, o126654, java.lang.Object(Tree(o127556Field0, o127556Field1))) → LOAD48301(o126657, o126656, java.lang.Object(Tree(o127556Field0, o127556Field1)), o126654)
LOAD47722(o125908, o125907, o125904, o125906) → NULL479101(o125908, o125907, o125906, o125904)
JMP627221(o214830, o214829, o214827, o217305) → LOAD47722(o214830, o214829, o214827, o217305)
STORE62561(o214830, o214829, o214827, o217305) → LOAD47722(o214830, o214829, o214827, o217305)
LOAD60888(o214830, o214829, o214827, java.lang.Object(Tree(o214828Field0, o214828Field1)), java.lang.Object(Tree(NULL, o217305))) → LOAD47722(o214830, o214829, o214827, o217305)
LOAD60888(o214830, o214829, o214827, java.lang.Object(Tree(NULL, o217312)), java.lang.Object(Tree(NULL, o217312))) → JMP627221(o214830, o214829, o214827, o217312)
LOAD60888(o214830, java.lang.Object(Tree(NULL, o217326)), o214827, java.lang.Object(Tree(NULL, o217326)), java.lang.Object(Tree(NULL, o217326))) → JMP627221(o214830, java.lang.Object(Tree(NULL, o217326)), o214827, o217326)
LOAD60888(o214830, java.lang.Object(Tree(NULL, o217319)), o214827, java.lang.Object(Tree(o214828Field0, o214828Field1)), java.lang.Object(Tree(NULL, o217319))) → STORE62561(o214830, java.lang.Object(Tree(NULL, o217319)), o214827, o217319)
LOAD54904(o165974, o165973, o167592, java.lang.Object(Tree(o165972Field0, o165972Field1))) → LOAD60888(o165974, o165973, o167592, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165972Field0, o165972Field1)))
STORE54705(o165974, o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), o167592) → LOAD60888(o165974, o165973, o167592, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165972Field0, o165972Field1)))
LOAD53753(o165974, o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165971Field0, o165971Field1)), java.lang.Object(Tree(NULL, o167592))) → LOAD60888(o165974, o165973, o167592, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165972Field0, o165972Field1)))
JMP660051(o214830, o214829, o214827, java.lang.Object(Tree(o214828Field0, o214828Field1)), java.lang.Object(Tree(o222315, java.lang.Object(Tree(o222316, o217305))))) → LOAD60888(o214830, o214829, o214827, java.lang.Object(Tree(o214828Field0, o214828Field1)), java.lang.Object(Tree(o222315, java.lang.Object(Tree(o222316, o217305)))))
LOAD60888(o214830, o214829, o214827, java.lang.Object(Tree(o214828Field0, o214828Field1)), java.lang.Object(Tree(java.lang.Object(Tree(o222315, o222316)), o217305))) → LOAD60888(o214830, o214829, o214827, java.lang.Object(Tree(o214828Field0, o214828Field1)), java.lang.Object(Tree(o222315, java.lang.Object(Tree(o222316, o217305)))))
LOAD60888(o214830, o214829, o214827, java.lang.Object(Tree(java.lang.Object(Tree(o222361, o222362)), o217312)), java.lang.Object(Tree(java.lang.Object(Tree(o222361, o222362)), o217312))) → LOAD60888(o214830, o214829, o214827, java.lang.Object(Tree(java.lang.Object(Tree(o222361, o222362)), o217312)), java.lang.Object(Tree(o222361, java.lang.Object(Tree(o222362, o217312)))))
LOAD60888(o214830, java.lang.Object(Tree(java.lang.Object(Tree(o222472, o222473)), o217326)), o214827, java.lang.Object(Tree(java.lang.Object(Tree(o222472, o222473)), o217326)), java.lang.Object(Tree(java.lang.Object(Tree(o222472, o222473)), o217326))) → LOAD60888(o214830, java.lang.Object(Tree(java.lang.Object(Tree(o222472, o222473)), o217326)), o214827, java.lang.Object(Tree(java.lang.Object(Tree(o222472, o222473)), o217326)), java.lang.Object(Tree(o222472, java.lang.Object(Tree(o222473, o217326)))))
LOAD53753(o165974, o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(NULL, o167598)), java.lang.Object(Tree(NULL, o167598))) → LOAD54904(o165974, o165973, o167598, java.lang.Object(Tree(o165972Field0, o165972Field1)))
LOAD53753(java.lang.Object(Tree(NULL, o167618)), o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(NULL, o167618)), java.lang.Object(Tree(NULL, o167618))) → LOAD54904(java.lang.Object(Tree(NULL, o167618)), o165973, o167618, java.lang.Object(Tree(o165972Field0, o165972Field1)))
LOAD53753(java.lang.Object(Tree(NULL, o167608)), o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165971Field0, o165971Field1)), java.lang.Object(Tree(NULL, o167608))) → STORE54705(java.lang.Object(Tree(NULL, o167608)), o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), o167608)
LOAD60888(o214830, java.lang.Object(Tree(java.lang.Object(Tree(o222419, o222420)), o217319)), o214827, java.lang.Object(Tree(o214828Field0, o214828Field1)), java.lang.Object(Tree(java.lang.Object(Tree(o222419, o222420)), o217319))) → JMP660051(o214830, java.lang.Object(Tree(java.lang.Object(Tree(o222419, o222420)), o217319)), o214827, java.lang.Object(Tree(o214828Field0, o214828Field1)), java.lang.Object(Tree(o222419, java.lang.Object(Tree(o222420, o217319)))))

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

Load48301(x0, x1, java.lang.Object(Tree(x2, x3)), java.lang.Object(Tree(x4, x5)))
JMP59685(x0, x1, java.lang.Object(Tree(x2, x3)), java.lang.Object(Tree(x4, x5)), java.lang.Object(Tree(x6, java.lang.Object(Tree(x7, x8)))))
Load53753(x0, x1, java.lang.Object(Tree(x2, x3)), java.lang.Object(Tree(x4, x5)), java.lang.Object(Tree(java.lang.Object(Tree(x6, x7)), x8)))
NULL47910(x0, x1, x2, java.lang.Object(Tree(x3, x4)))
Load47722(x0, x1, x2, x3)
JMP62722(x0, x1, x2, x3)
Store62561(x0, x1, x2, x3)
Load60888(x0, x1, x2, java.lang.Object(Tree(x3, x4)), java.lang.Object(Tree(NULL, x5)))
Load54904(x0, x1, x2, java.lang.Object(Tree(x3, x4)))
Store54705(x0, x1, java.lang.Object(Tree(x2, x3)), x4)
Load53753(x0, x1, java.lang.Object(Tree(x2, x3)), java.lang.Object(Tree(x4, x5)), java.lang.Object(Tree(NULL, x6)))
JMP66005(x0, x1, x2, java.lang.Object(Tree(x3, x4)), java.lang.Object(Tree(x5, java.lang.Object(Tree(x6, x7)))))
Load60888(x0, x1, x2, java.lang.Object(Tree(x3, x4)), java.lang.Object(Tree(java.lang.Object(Tree(x5, x6)), x7)))

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

(14) 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].

Load48301(x0, x1, java.lang.Object(Tree(x2, x3)), java.lang.Object(Tree(x4, x5)))
JMP59685(x0, x1, java.lang.Object(Tree(x2, x3)), java.lang.Object(Tree(x4, x5)), java.lang.Object(Tree(x6, java.lang.Object(Tree(x7, x8)))))
Load53753(x0, x1, java.lang.Object(Tree(x2, x3)), java.lang.Object(Tree(x4, x5)), java.lang.Object(Tree(java.lang.Object(Tree(x6, x7)), x8)))
NULL47910(x0, x1, x2, java.lang.Object(Tree(x3, x4)))
Load47722(x0, x1, x2, x3)
JMP62722(x0, x1, x2, x3)
Store62561(x0, x1, x2, x3)
Load60888(x0, x1, x2, java.lang.Object(Tree(x3, x4)), java.lang.Object(Tree(NULL, x5)))
Load54904(x0, x1, x2, java.lang.Object(Tree(x3, x4)))
Store54705(x0, x1, java.lang.Object(Tree(x2, x3)), x4)
Load53753(x0, x1, java.lang.Object(Tree(x2, x3)), java.lang.Object(Tree(x4, x5)), java.lang.Object(Tree(NULL, x6)))
JMP66005(x0, x1, x2, java.lang.Object(Tree(x3, x4)), java.lang.Object(Tree(x5, java.lang.Object(Tree(x6, x7)))))
Load60888(x0, x1, x2, java.lang.Object(Tree(x3, x4)), java.lang.Object(Tree(java.lang.Object(Tree(x5, x6)), x7)))

(15) Obligation:

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

LOAD48301(o128506, o128505, java.lang.Object(Tree(o128503Field0, o128503Field1)), java.lang.Object(Tree(o129562Field0, o129562Field1))) → LOAD53753(o128506, o128505, java.lang.Object(Tree(o129562Field0, o129562Field1)), java.lang.Object(Tree(o128503Field0, o128503Field1)), java.lang.Object(Tree(o128503Field0, o128503Field1)))
JMP596851(o165974, o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165971Field0, o165971Field1)), java.lang.Object(Tree(o169702, java.lang.Object(Tree(o169703, o167592))))) → LOAD53753(o165974, o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165971Field0, o165971Field1)), java.lang.Object(Tree(o169702, java.lang.Object(Tree(o169703, o167592)))))
LOAD53753(o165974, o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165971Field0, o165971Field1)), java.lang.Object(Tree(java.lang.Object(Tree(o169702, o169703)), o167592))) → LOAD53753(o165974, o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165971Field0, o165971Field1)), java.lang.Object(Tree(o169702, java.lang.Object(Tree(o169703, o167592)))))
LOAD53753(o165974, o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(java.lang.Object(Tree(o169749, o169750)), o167598)), java.lang.Object(Tree(java.lang.Object(Tree(o169749, o169750)), o167598))) → LOAD53753(o165974, o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(java.lang.Object(Tree(o169749, o169750)), o167598)), java.lang.Object(Tree(o169749, java.lang.Object(Tree(o169750, o167598)))))
LOAD53753(java.lang.Object(Tree(java.lang.Object(Tree(o169905, o169906)), o167618)), o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(java.lang.Object(Tree(o169905, o169906)), o167618)), java.lang.Object(Tree(java.lang.Object(Tree(o169905, o169906)), o167618))) → LOAD53753(java.lang.Object(Tree(java.lang.Object(Tree(o169905, o169906)), o167618)), o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(java.lang.Object(Tree(o169905, o169906)), o167618)), java.lang.Object(Tree(o169905, java.lang.Object(Tree(o169906, o167618)))))
LOAD53753(java.lang.Object(Tree(java.lang.Object(Tree(o169827, o169828)), o167608)), o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165971Field0, o165971Field1)), java.lang.Object(Tree(java.lang.Object(Tree(o169827, o169828)), o167608))) → JMP596851(java.lang.Object(Tree(java.lang.Object(Tree(o169827, o169828)), o167608)), o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165971Field0, o165971Field1)), java.lang.Object(Tree(o169827, java.lang.Object(Tree(o169828, o167608)))))
NULL479101(o126657, o126656, o126654, java.lang.Object(Tree(o127556Field0, o127556Field1))) → LOAD48301(o126657, o126656, java.lang.Object(Tree(o127556Field0, o127556Field1)), o126654)
LOAD47722(o125908, o125907, o125904, o125906) → NULL479101(o125908, o125907, o125906, o125904)
JMP627221(o214830, o214829, o214827, o217305) → LOAD47722(o214830, o214829, o214827, o217305)
STORE62561(o214830, o214829, o214827, o217305) → LOAD47722(o214830, o214829, o214827, o217305)
LOAD60888(o214830, o214829, o214827, java.lang.Object(Tree(o214828Field0, o214828Field1)), java.lang.Object(Tree(NULL, o217305))) → LOAD47722(o214830, o214829, o214827, o217305)
LOAD60888(o214830, o214829, o214827, java.lang.Object(Tree(NULL, o217312)), java.lang.Object(Tree(NULL, o217312))) → JMP627221(o214830, o214829, o214827, o217312)
LOAD60888(o214830, java.lang.Object(Tree(NULL, o217326)), o214827, java.lang.Object(Tree(NULL, o217326)), java.lang.Object(Tree(NULL, o217326))) → JMP627221(o214830, java.lang.Object(Tree(NULL, o217326)), o214827, o217326)
LOAD60888(o214830, java.lang.Object(Tree(NULL, o217319)), o214827, java.lang.Object(Tree(o214828Field0, o214828Field1)), java.lang.Object(Tree(NULL, o217319))) → STORE62561(o214830, java.lang.Object(Tree(NULL, o217319)), o214827, o217319)
LOAD54904(o165974, o165973, o167592, java.lang.Object(Tree(o165972Field0, o165972Field1))) → LOAD60888(o165974, o165973, o167592, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165972Field0, o165972Field1)))
STORE54705(o165974, o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), o167592) → LOAD60888(o165974, o165973, o167592, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165972Field0, o165972Field1)))
LOAD53753(o165974, o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165971Field0, o165971Field1)), java.lang.Object(Tree(NULL, o167592))) → LOAD60888(o165974, o165973, o167592, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165972Field0, o165972Field1)))
JMP660051(o214830, o214829, o214827, java.lang.Object(Tree(o214828Field0, o214828Field1)), java.lang.Object(Tree(o222315, java.lang.Object(Tree(o222316, o217305))))) → LOAD60888(o214830, o214829, o214827, java.lang.Object(Tree(o214828Field0, o214828Field1)), java.lang.Object(Tree(o222315, java.lang.Object(Tree(o222316, o217305)))))
LOAD60888(o214830, o214829, o214827, java.lang.Object(Tree(o214828Field0, o214828Field1)), java.lang.Object(Tree(java.lang.Object(Tree(o222315, o222316)), o217305))) → LOAD60888(o214830, o214829, o214827, java.lang.Object(Tree(o214828Field0, o214828Field1)), java.lang.Object(Tree(o222315, java.lang.Object(Tree(o222316, o217305)))))
LOAD60888(o214830, o214829, o214827, java.lang.Object(Tree(java.lang.Object(Tree(o222361, o222362)), o217312)), java.lang.Object(Tree(java.lang.Object(Tree(o222361, o222362)), o217312))) → LOAD60888(o214830, o214829, o214827, java.lang.Object(Tree(java.lang.Object(Tree(o222361, o222362)), o217312)), java.lang.Object(Tree(o222361, java.lang.Object(Tree(o222362, o217312)))))
LOAD60888(o214830, java.lang.Object(Tree(java.lang.Object(Tree(o222472, o222473)), o217326)), o214827, java.lang.Object(Tree(java.lang.Object(Tree(o222472, o222473)), o217326)), java.lang.Object(Tree(java.lang.Object(Tree(o222472, o222473)), o217326))) → LOAD60888(o214830, java.lang.Object(Tree(java.lang.Object(Tree(o222472, o222473)), o217326)), o214827, java.lang.Object(Tree(java.lang.Object(Tree(o222472, o222473)), o217326)), java.lang.Object(Tree(o222472, java.lang.Object(Tree(o222473, o217326)))))
LOAD53753(o165974, o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(NULL, o167598)), java.lang.Object(Tree(NULL, o167598))) → LOAD54904(o165974, o165973, o167598, java.lang.Object(Tree(o165972Field0, o165972Field1)))
LOAD53753(java.lang.Object(Tree(NULL, o167618)), o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(NULL, o167618)), java.lang.Object(Tree(NULL, o167618))) → LOAD54904(java.lang.Object(Tree(NULL, o167618)), o165973, o167618, java.lang.Object(Tree(o165972Field0, o165972Field1)))
LOAD53753(java.lang.Object(Tree(NULL, o167608)), o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165971Field0, o165971Field1)), java.lang.Object(Tree(NULL, o167608))) → STORE54705(java.lang.Object(Tree(NULL, o167608)), o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), o167608)
LOAD60888(o214830, java.lang.Object(Tree(java.lang.Object(Tree(o222419, o222420)), o217319)), o214827, java.lang.Object(Tree(o214828Field0, o214828Field1)), java.lang.Object(Tree(java.lang.Object(Tree(o222419, o222420)), o217319))) → JMP660051(o214830, java.lang.Object(Tree(java.lang.Object(Tree(o222419, o222420)), o217319)), o214827, java.lang.Object(Tree(o214828Field0, o214828Field1)), java.lang.Object(Tree(o222419, java.lang.Object(Tree(o222420, o217319)))))

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

(16) Instantiation (EQUIVALENT transformation)

By instantiating [LPAR04] the rule JMP596851(o165974, o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165971Field0, o165971Field1)), java.lang.Object(Tree(o169702, java.lang.Object(Tree(o169703, o167592))))) → LOAD53753(o165974, o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165971Field0, o165971Field1)), java.lang.Object(Tree(o169702, java.lang.Object(Tree(o169703, o167592))))) we obtained the following new rules [LPAR04]:

JMP596851(java.lang.Object(Tree(java.lang.Object(Tree(z0, z1)), z2)), z3, java.lang.Object(Tree(z4, z5)), java.lang.Object(Tree(z6, z7)), java.lang.Object(Tree(z0, java.lang.Object(Tree(z1, z2))))) → LOAD53753(java.lang.Object(Tree(java.lang.Object(Tree(z0, z1)), z2)), z3, java.lang.Object(Tree(z4, z5)), java.lang.Object(Tree(z6, z7)), java.lang.Object(Tree(z0, java.lang.Object(Tree(z1, z2)))))

(17) Obligation:

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

LOAD48301(o128506, o128505, java.lang.Object(Tree(o128503Field0, o128503Field1)), java.lang.Object(Tree(o129562Field0, o129562Field1))) → LOAD53753(o128506, o128505, java.lang.Object(Tree(o129562Field0, o129562Field1)), java.lang.Object(Tree(o128503Field0, o128503Field1)), java.lang.Object(Tree(o128503Field0, o128503Field1)))
LOAD53753(o165974, o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165971Field0, o165971Field1)), java.lang.Object(Tree(java.lang.Object(Tree(o169702, o169703)), o167592))) → LOAD53753(o165974, o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165971Field0, o165971Field1)), java.lang.Object(Tree(o169702, java.lang.Object(Tree(o169703, o167592)))))
LOAD53753(o165974, o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(java.lang.Object(Tree(o169749, o169750)), o167598)), java.lang.Object(Tree(java.lang.Object(Tree(o169749, o169750)), o167598))) → LOAD53753(o165974, o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(java.lang.Object(Tree(o169749, o169750)), o167598)), java.lang.Object(Tree(o169749, java.lang.Object(Tree(o169750, o167598)))))
LOAD53753(java.lang.Object(Tree(java.lang.Object(Tree(o169905, o169906)), o167618)), o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(java.lang.Object(Tree(o169905, o169906)), o167618)), java.lang.Object(Tree(java.lang.Object(Tree(o169905, o169906)), o167618))) → LOAD53753(java.lang.Object(Tree(java.lang.Object(Tree(o169905, o169906)), o167618)), o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(java.lang.Object(Tree(o169905, o169906)), o167618)), java.lang.Object(Tree(o169905, java.lang.Object(Tree(o169906, o167618)))))
LOAD53753(java.lang.Object(Tree(java.lang.Object(Tree(o169827, o169828)), o167608)), o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165971Field0, o165971Field1)), java.lang.Object(Tree(java.lang.Object(Tree(o169827, o169828)), o167608))) → JMP596851(java.lang.Object(Tree(java.lang.Object(Tree(o169827, o169828)), o167608)), o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165971Field0, o165971Field1)), java.lang.Object(Tree(o169827, java.lang.Object(Tree(o169828, o167608)))))
NULL479101(o126657, o126656, o126654, java.lang.Object(Tree(o127556Field0, o127556Field1))) → LOAD48301(o126657, o126656, java.lang.Object(Tree(o127556Field0, o127556Field1)), o126654)
LOAD47722(o125908, o125907, o125904, o125906) → NULL479101(o125908, o125907, o125906, o125904)
JMP627221(o214830, o214829, o214827, o217305) → LOAD47722(o214830, o214829, o214827, o217305)
STORE62561(o214830, o214829, o214827, o217305) → LOAD47722(o214830, o214829, o214827, o217305)
LOAD60888(o214830, o214829, o214827, java.lang.Object(Tree(o214828Field0, o214828Field1)), java.lang.Object(Tree(NULL, o217305))) → LOAD47722(o214830, o214829, o214827, o217305)
LOAD60888(o214830, o214829, o214827, java.lang.Object(Tree(NULL, o217312)), java.lang.Object(Tree(NULL, o217312))) → JMP627221(o214830, o214829, o214827, o217312)
LOAD60888(o214830, java.lang.Object(Tree(NULL, o217326)), o214827, java.lang.Object(Tree(NULL, o217326)), java.lang.Object(Tree(NULL, o217326))) → JMP627221(o214830, java.lang.Object(Tree(NULL, o217326)), o214827, o217326)
LOAD60888(o214830, java.lang.Object(Tree(NULL, o217319)), o214827, java.lang.Object(Tree(o214828Field0, o214828Field1)), java.lang.Object(Tree(NULL, o217319))) → STORE62561(o214830, java.lang.Object(Tree(NULL, o217319)), o214827, o217319)
LOAD54904(o165974, o165973, o167592, java.lang.Object(Tree(o165972Field0, o165972Field1))) → LOAD60888(o165974, o165973, o167592, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165972Field0, o165972Field1)))
STORE54705(o165974, o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), o167592) → LOAD60888(o165974, o165973, o167592, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165972Field0, o165972Field1)))
LOAD53753(o165974, o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165971Field0, o165971Field1)), java.lang.Object(Tree(NULL, o167592))) → LOAD60888(o165974, o165973, o167592, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165972Field0, o165972Field1)))
JMP660051(o214830, o214829, o214827, java.lang.Object(Tree(o214828Field0, o214828Field1)), java.lang.Object(Tree(o222315, java.lang.Object(Tree(o222316, o217305))))) → LOAD60888(o214830, o214829, o214827, java.lang.Object(Tree(o214828Field0, o214828Field1)), java.lang.Object(Tree(o222315, java.lang.Object(Tree(o222316, o217305)))))
LOAD60888(o214830, o214829, o214827, java.lang.Object(Tree(o214828Field0, o214828Field1)), java.lang.Object(Tree(java.lang.Object(Tree(o222315, o222316)), o217305))) → LOAD60888(o214830, o214829, o214827, java.lang.Object(Tree(o214828Field0, o214828Field1)), java.lang.Object(Tree(o222315, java.lang.Object(Tree(o222316, o217305)))))
LOAD60888(o214830, o214829, o214827, java.lang.Object(Tree(java.lang.Object(Tree(o222361, o222362)), o217312)), java.lang.Object(Tree(java.lang.Object(Tree(o222361, o222362)), o217312))) → LOAD60888(o214830, o214829, o214827, java.lang.Object(Tree(java.lang.Object(Tree(o222361, o222362)), o217312)), java.lang.Object(Tree(o222361, java.lang.Object(Tree(o222362, o217312)))))
LOAD60888(o214830, java.lang.Object(Tree(java.lang.Object(Tree(o222472, o222473)), o217326)), o214827, java.lang.Object(Tree(java.lang.Object(Tree(o222472, o222473)), o217326)), java.lang.Object(Tree(java.lang.Object(Tree(o222472, o222473)), o217326))) → LOAD60888(o214830, java.lang.Object(Tree(java.lang.Object(Tree(o222472, o222473)), o217326)), o214827, java.lang.Object(Tree(java.lang.Object(Tree(o222472, o222473)), o217326)), java.lang.Object(Tree(o222472, java.lang.Object(Tree(o222473, o217326)))))
LOAD53753(o165974, o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(NULL, o167598)), java.lang.Object(Tree(NULL, o167598))) → LOAD54904(o165974, o165973, o167598, java.lang.Object(Tree(o165972Field0, o165972Field1)))
LOAD53753(java.lang.Object(Tree(NULL, o167618)), o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(NULL, o167618)), java.lang.Object(Tree(NULL, o167618))) → LOAD54904(java.lang.Object(Tree(NULL, o167618)), o165973, o167618, java.lang.Object(Tree(o165972Field0, o165972Field1)))
LOAD53753(java.lang.Object(Tree(NULL, o167608)), o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165971Field0, o165971Field1)), java.lang.Object(Tree(NULL, o167608))) → STORE54705(java.lang.Object(Tree(NULL, o167608)), o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), o167608)
LOAD60888(o214830, java.lang.Object(Tree(java.lang.Object(Tree(o222419, o222420)), o217319)), o214827, java.lang.Object(Tree(o214828Field0, o214828Field1)), java.lang.Object(Tree(java.lang.Object(Tree(o222419, o222420)), o217319))) → JMP660051(o214830, java.lang.Object(Tree(java.lang.Object(Tree(o222419, o222420)), o217319)), o214827, java.lang.Object(Tree(o214828Field0, o214828Field1)), java.lang.Object(Tree(o222419, java.lang.Object(Tree(o222420, o217319)))))
JMP596851(java.lang.Object(Tree(java.lang.Object(Tree(z0, z1)), z2)), z3, java.lang.Object(Tree(z4, z5)), java.lang.Object(Tree(z6, z7)), java.lang.Object(Tree(z0, java.lang.Object(Tree(z1, z2))))) → LOAD53753(java.lang.Object(Tree(java.lang.Object(Tree(z0, z1)), z2)), z3, java.lang.Object(Tree(z4, z5)), java.lang.Object(Tree(z6, z7)), java.lang.Object(Tree(z0, java.lang.Object(Tree(z1, z2)))))

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

(18) Instantiation (EQUIVALENT transformation)

By instantiating [LPAR04] the rule STORE62561(o214830, o214829, o214827, o217305) → LOAD47722(o214830, o214829, o214827, o217305) we obtained the following new rules [LPAR04]:

STORE62561(z0, java.lang.Object(Tree(NULL, z1)), z2, z1) → LOAD47722(z0, java.lang.Object(Tree(NULL, z1)), z2, z1)

(19) Obligation:

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

LOAD48301(o128506, o128505, java.lang.Object(Tree(o128503Field0, o128503Field1)), java.lang.Object(Tree(o129562Field0, o129562Field1))) → LOAD53753(o128506, o128505, java.lang.Object(Tree(o129562Field0, o129562Field1)), java.lang.Object(Tree(o128503Field0, o128503Field1)), java.lang.Object(Tree(o128503Field0, o128503Field1)))
LOAD53753(o165974, o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165971Field0, o165971Field1)), java.lang.Object(Tree(java.lang.Object(Tree(o169702, o169703)), o167592))) → LOAD53753(o165974, o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165971Field0, o165971Field1)), java.lang.Object(Tree(o169702, java.lang.Object(Tree(o169703, o167592)))))
LOAD53753(o165974, o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(java.lang.Object(Tree(o169749, o169750)), o167598)), java.lang.Object(Tree(java.lang.Object(Tree(o169749, o169750)), o167598))) → LOAD53753(o165974, o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(java.lang.Object(Tree(o169749, o169750)), o167598)), java.lang.Object(Tree(o169749, java.lang.Object(Tree(o169750, o167598)))))
LOAD53753(java.lang.Object(Tree(java.lang.Object(Tree(o169905, o169906)), o167618)), o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(java.lang.Object(Tree(o169905, o169906)), o167618)), java.lang.Object(Tree(java.lang.Object(Tree(o169905, o169906)), o167618))) → LOAD53753(java.lang.Object(Tree(java.lang.Object(Tree(o169905, o169906)), o167618)), o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(java.lang.Object(Tree(o169905, o169906)), o167618)), java.lang.Object(Tree(o169905, java.lang.Object(Tree(o169906, o167618)))))
LOAD53753(java.lang.Object(Tree(java.lang.Object(Tree(o169827, o169828)), o167608)), o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165971Field0, o165971Field1)), java.lang.Object(Tree(java.lang.Object(Tree(o169827, o169828)), o167608))) → JMP596851(java.lang.Object(Tree(java.lang.Object(Tree(o169827, o169828)), o167608)), o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165971Field0, o165971Field1)), java.lang.Object(Tree(o169827, java.lang.Object(Tree(o169828, o167608)))))
NULL479101(o126657, o126656, o126654, java.lang.Object(Tree(o127556Field0, o127556Field1))) → LOAD48301(o126657, o126656, java.lang.Object(Tree(o127556Field0, o127556Field1)), o126654)
LOAD47722(o125908, o125907, o125904, o125906) → NULL479101(o125908, o125907, o125906, o125904)
JMP627221(o214830, o214829, o214827, o217305) → LOAD47722(o214830, o214829, o214827, o217305)
LOAD60888(o214830, o214829, o214827, java.lang.Object(Tree(o214828Field0, o214828Field1)), java.lang.Object(Tree(NULL, o217305))) → LOAD47722(o214830, o214829, o214827, o217305)
LOAD60888(o214830, o214829, o214827, java.lang.Object(Tree(NULL, o217312)), java.lang.Object(Tree(NULL, o217312))) → JMP627221(o214830, o214829, o214827, o217312)
LOAD60888(o214830, java.lang.Object(Tree(NULL, o217326)), o214827, java.lang.Object(Tree(NULL, o217326)), java.lang.Object(Tree(NULL, o217326))) → JMP627221(o214830, java.lang.Object(Tree(NULL, o217326)), o214827, o217326)
LOAD60888(o214830, java.lang.Object(Tree(NULL, o217319)), o214827, java.lang.Object(Tree(o214828Field0, o214828Field1)), java.lang.Object(Tree(NULL, o217319))) → STORE62561(o214830, java.lang.Object(Tree(NULL, o217319)), o214827, o217319)
LOAD54904(o165974, o165973, o167592, java.lang.Object(Tree(o165972Field0, o165972Field1))) → LOAD60888(o165974, o165973, o167592, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165972Field0, o165972Field1)))
STORE54705(o165974, o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), o167592) → LOAD60888(o165974, o165973, o167592, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165972Field0, o165972Field1)))
LOAD53753(o165974, o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165971Field0, o165971Field1)), java.lang.Object(Tree(NULL, o167592))) → LOAD60888(o165974, o165973, o167592, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165972Field0, o165972Field1)))
JMP660051(o214830, o214829, o214827, java.lang.Object(Tree(o214828Field0, o214828Field1)), java.lang.Object(Tree(o222315, java.lang.Object(Tree(o222316, o217305))))) → LOAD60888(o214830, o214829, o214827, java.lang.Object(Tree(o214828Field0, o214828Field1)), java.lang.Object(Tree(o222315, java.lang.Object(Tree(o222316, o217305)))))
LOAD60888(o214830, o214829, o214827, java.lang.Object(Tree(o214828Field0, o214828Field1)), java.lang.Object(Tree(java.lang.Object(Tree(o222315, o222316)), o217305))) → LOAD60888(o214830, o214829, o214827, java.lang.Object(Tree(o214828Field0, o214828Field1)), java.lang.Object(Tree(o222315, java.lang.Object(Tree(o222316, o217305)))))
LOAD60888(o214830, o214829, o214827, java.lang.Object(Tree(java.lang.Object(Tree(o222361, o222362)), o217312)), java.lang.Object(Tree(java.lang.Object(Tree(o222361, o222362)), o217312))) → LOAD60888(o214830, o214829, o214827, java.lang.Object(Tree(java.lang.Object(Tree(o222361, o222362)), o217312)), java.lang.Object(Tree(o222361, java.lang.Object(Tree(o222362, o217312)))))
LOAD60888(o214830, java.lang.Object(Tree(java.lang.Object(Tree(o222472, o222473)), o217326)), o214827, java.lang.Object(Tree(java.lang.Object(Tree(o222472, o222473)), o217326)), java.lang.Object(Tree(java.lang.Object(Tree(o222472, o222473)), o217326))) → LOAD60888(o214830, java.lang.Object(Tree(java.lang.Object(Tree(o222472, o222473)), o217326)), o214827, java.lang.Object(Tree(java.lang.Object(Tree(o222472, o222473)), o217326)), java.lang.Object(Tree(o222472, java.lang.Object(Tree(o222473, o217326)))))
LOAD53753(o165974, o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(NULL, o167598)), java.lang.Object(Tree(NULL, o167598))) → LOAD54904(o165974, o165973, o167598, java.lang.Object(Tree(o165972Field0, o165972Field1)))
LOAD53753(java.lang.Object(Tree(NULL, o167618)), o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(NULL, o167618)), java.lang.Object(Tree(NULL, o167618))) → LOAD54904(java.lang.Object(Tree(NULL, o167618)), o165973, o167618, java.lang.Object(Tree(o165972Field0, o165972Field1)))
LOAD53753(java.lang.Object(Tree(NULL, o167608)), o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165971Field0, o165971Field1)), java.lang.Object(Tree(NULL, o167608))) → STORE54705(java.lang.Object(Tree(NULL, o167608)), o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), o167608)
LOAD60888(o214830, java.lang.Object(Tree(java.lang.Object(Tree(o222419, o222420)), o217319)), o214827, java.lang.Object(Tree(o214828Field0, o214828Field1)), java.lang.Object(Tree(java.lang.Object(Tree(o222419, o222420)), o217319))) → JMP660051(o214830, java.lang.Object(Tree(java.lang.Object(Tree(o222419, o222420)), o217319)), o214827, java.lang.Object(Tree(o214828Field0, o214828Field1)), java.lang.Object(Tree(o222419, java.lang.Object(Tree(o222420, o217319)))))
JMP596851(java.lang.Object(Tree(java.lang.Object(Tree(z0, z1)), z2)), z3, java.lang.Object(Tree(z4, z5)), java.lang.Object(Tree(z6, z7)), java.lang.Object(Tree(z0, java.lang.Object(Tree(z1, z2))))) → LOAD53753(java.lang.Object(Tree(java.lang.Object(Tree(z0, z1)), z2)), z3, java.lang.Object(Tree(z4, z5)), java.lang.Object(Tree(z6, z7)), java.lang.Object(Tree(z0, java.lang.Object(Tree(z1, z2)))))
STORE62561(z0, java.lang.Object(Tree(NULL, z1)), z2, z1) → LOAD47722(z0, java.lang.Object(Tree(NULL, z1)), z2, z1)

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

(20) Instantiation (EQUIVALENT transformation)

By instantiating [LPAR04] the rule STORE54705(o165974, o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), o167592) → LOAD60888(o165974, o165973, o167592, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165972Field0, o165972Field1))) we obtained the following new rules [LPAR04]:

STORE54705(java.lang.Object(Tree(NULL, z0)), z1, java.lang.Object(Tree(z2, z3)), z0) → LOAD60888(java.lang.Object(Tree(NULL, z0)), z1, z0, java.lang.Object(Tree(z2, z3)), java.lang.Object(Tree(z2, z3)))

(21) Obligation:

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

LOAD48301(o128506, o128505, java.lang.Object(Tree(o128503Field0, o128503Field1)), java.lang.Object(Tree(o129562Field0, o129562Field1))) → LOAD53753(o128506, o128505, java.lang.Object(Tree(o129562Field0, o129562Field1)), java.lang.Object(Tree(o128503Field0, o128503Field1)), java.lang.Object(Tree(o128503Field0, o128503Field1)))
LOAD53753(o165974, o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165971Field0, o165971Field1)), java.lang.Object(Tree(java.lang.Object(Tree(o169702, o169703)), o167592))) → LOAD53753(o165974, o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165971Field0, o165971Field1)), java.lang.Object(Tree(o169702, java.lang.Object(Tree(o169703, o167592)))))
LOAD53753(o165974, o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(java.lang.Object(Tree(o169749, o169750)), o167598)), java.lang.Object(Tree(java.lang.Object(Tree(o169749, o169750)), o167598))) → LOAD53753(o165974, o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(java.lang.Object(Tree(o169749, o169750)), o167598)), java.lang.Object(Tree(o169749, java.lang.Object(Tree(o169750, o167598)))))
LOAD53753(java.lang.Object(Tree(java.lang.Object(Tree(o169905, o169906)), o167618)), o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(java.lang.Object(Tree(o169905, o169906)), o167618)), java.lang.Object(Tree(java.lang.Object(Tree(o169905, o169906)), o167618))) → LOAD53753(java.lang.Object(Tree(java.lang.Object(Tree(o169905, o169906)), o167618)), o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(java.lang.Object(Tree(o169905, o169906)), o167618)), java.lang.Object(Tree(o169905, java.lang.Object(Tree(o169906, o167618)))))
LOAD53753(java.lang.Object(Tree(java.lang.Object(Tree(o169827, o169828)), o167608)), o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165971Field0, o165971Field1)), java.lang.Object(Tree(java.lang.Object(Tree(o169827, o169828)), o167608))) → JMP596851(java.lang.Object(Tree(java.lang.Object(Tree(o169827, o169828)), o167608)), o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165971Field0, o165971Field1)), java.lang.Object(Tree(o169827, java.lang.Object(Tree(o169828, o167608)))))
NULL479101(o126657, o126656, o126654, java.lang.Object(Tree(o127556Field0, o127556Field1))) → LOAD48301(o126657, o126656, java.lang.Object(Tree(o127556Field0, o127556Field1)), o126654)
LOAD47722(o125908, o125907, o125904, o125906) → NULL479101(o125908, o125907, o125906, o125904)
JMP627221(o214830, o214829, o214827, o217305) → LOAD47722(o214830, o214829, o214827, o217305)
LOAD60888(o214830, o214829, o214827, java.lang.Object(Tree(o214828Field0, o214828Field1)), java.lang.Object(Tree(NULL, o217305))) → LOAD47722(o214830, o214829, o214827, o217305)
LOAD60888(o214830, o214829, o214827, java.lang.Object(Tree(NULL, o217312)), java.lang.Object(Tree(NULL, o217312))) → JMP627221(o214830, o214829, o214827, o217312)
LOAD60888(o214830, java.lang.Object(Tree(NULL, o217326)), o214827, java.lang.Object(Tree(NULL, o217326)), java.lang.Object(Tree(NULL, o217326))) → JMP627221(o214830, java.lang.Object(Tree(NULL, o217326)), o214827, o217326)
LOAD60888(o214830, java.lang.Object(Tree(NULL, o217319)), o214827, java.lang.Object(Tree(o214828Field0, o214828Field1)), java.lang.Object(Tree(NULL, o217319))) → STORE62561(o214830, java.lang.Object(Tree(NULL, o217319)), o214827, o217319)
LOAD54904(o165974, o165973, o167592, java.lang.Object(Tree(o165972Field0, o165972Field1))) → LOAD60888(o165974, o165973, o167592, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165972Field0, o165972Field1)))
LOAD53753(o165974, o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165971Field0, o165971Field1)), java.lang.Object(Tree(NULL, o167592))) → LOAD60888(o165974, o165973, o167592, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165972Field0, o165972Field1)))
JMP660051(o214830, o214829, o214827, java.lang.Object(Tree(o214828Field0, o214828Field1)), java.lang.Object(Tree(o222315, java.lang.Object(Tree(o222316, o217305))))) → LOAD60888(o214830, o214829, o214827, java.lang.Object(Tree(o214828Field0, o214828Field1)), java.lang.Object(Tree(o222315, java.lang.Object(Tree(o222316, o217305)))))
LOAD60888(o214830, o214829, o214827, java.lang.Object(Tree(o214828Field0, o214828Field1)), java.lang.Object(Tree(java.lang.Object(Tree(o222315, o222316)), o217305))) → LOAD60888(o214830, o214829, o214827, java.lang.Object(Tree(o214828Field0, o214828Field1)), java.lang.Object(Tree(o222315, java.lang.Object(Tree(o222316, o217305)))))
LOAD60888(o214830, o214829, o214827, java.lang.Object(Tree(java.lang.Object(Tree(o222361, o222362)), o217312)), java.lang.Object(Tree(java.lang.Object(Tree(o222361, o222362)), o217312))) → LOAD60888(o214830, o214829, o214827, java.lang.Object(Tree(java.lang.Object(Tree(o222361, o222362)), o217312)), java.lang.Object(Tree(o222361, java.lang.Object(Tree(o222362, o217312)))))
LOAD60888(o214830, java.lang.Object(Tree(java.lang.Object(Tree(o222472, o222473)), o217326)), o214827, java.lang.Object(Tree(java.lang.Object(Tree(o222472, o222473)), o217326)), java.lang.Object(Tree(java.lang.Object(Tree(o222472, o222473)), o217326))) → LOAD60888(o214830, java.lang.Object(Tree(java.lang.Object(Tree(o222472, o222473)), o217326)), o214827, java.lang.Object(Tree(java.lang.Object(Tree(o222472, o222473)), o217326)), java.lang.Object(Tree(o222472, java.lang.Object(Tree(o222473, o217326)))))
LOAD53753(o165974, o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(NULL, o167598)), java.lang.Object(Tree(NULL, o167598))) → LOAD54904(o165974, o165973, o167598, java.lang.Object(Tree(o165972Field0, o165972Field1)))
LOAD53753(java.lang.Object(Tree(NULL, o167618)), o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(NULL, o167618)), java.lang.Object(Tree(NULL, o167618))) → LOAD54904(java.lang.Object(Tree(NULL, o167618)), o165973, o167618, java.lang.Object(Tree(o165972Field0, o165972Field1)))
LOAD53753(java.lang.Object(Tree(NULL, o167608)), o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165971Field0, o165971Field1)), java.lang.Object(Tree(NULL, o167608))) → STORE54705(java.lang.Object(Tree(NULL, o167608)), o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), o167608)
LOAD60888(o214830, java.lang.Object(Tree(java.lang.Object(Tree(o222419, o222420)), o217319)), o214827, java.lang.Object(Tree(o214828Field0, o214828Field1)), java.lang.Object(Tree(java.lang.Object(Tree(o222419, o222420)), o217319))) → JMP660051(o214830, java.lang.Object(Tree(java.lang.Object(Tree(o222419, o222420)), o217319)), o214827, java.lang.Object(Tree(o214828Field0, o214828Field1)), java.lang.Object(Tree(o222419, java.lang.Object(Tree(o222420, o217319)))))
JMP596851(java.lang.Object(Tree(java.lang.Object(Tree(z0, z1)), z2)), z3, java.lang.Object(Tree(z4, z5)), java.lang.Object(Tree(z6, z7)), java.lang.Object(Tree(z0, java.lang.Object(Tree(z1, z2))))) → LOAD53753(java.lang.Object(Tree(java.lang.Object(Tree(z0, z1)), z2)), z3, java.lang.Object(Tree(z4, z5)), java.lang.Object(Tree(z6, z7)), java.lang.Object(Tree(z0, java.lang.Object(Tree(z1, z2)))))
STORE62561(z0, java.lang.Object(Tree(NULL, z1)), z2, z1) → LOAD47722(z0, java.lang.Object(Tree(NULL, z1)), z2, z1)
STORE54705(java.lang.Object(Tree(NULL, z0)), z1, java.lang.Object(Tree(z2, z3)), z0) → LOAD60888(java.lang.Object(Tree(NULL, z0)), z1, z0, java.lang.Object(Tree(z2, z3)), java.lang.Object(Tree(z2, z3)))

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

(22) Instantiation (EQUIVALENT transformation)

By instantiating [LPAR04] the rule JMP660051(o214830, o214829, o214827, java.lang.Object(Tree(o214828Field0, o214828Field1)), java.lang.Object(Tree(o222315, java.lang.Object(Tree(o222316, o217305))))) → LOAD60888(o214830, o214829, o214827, java.lang.Object(Tree(o214828Field0, o214828Field1)), java.lang.Object(Tree(o222315, java.lang.Object(Tree(o222316, o217305))))) we obtained the following new rules [LPAR04]:

JMP660051(z0, java.lang.Object(Tree(java.lang.Object(Tree(z1, z2)), z3)), z4, java.lang.Object(Tree(z5, z6)), java.lang.Object(Tree(z1, java.lang.Object(Tree(z2, z3))))) → LOAD60888(z0, java.lang.Object(Tree(java.lang.Object(Tree(z1, z2)), z3)), z4, java.lang.Object(Tree(z5, z6)), java.lang.Object(Tree(z1, java.lang.Object(Tree(z2, z3)))))

(23) Obligation:

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

LOAD48301(o128506, o128505, java.lang.Object(Tree(o128503Field0, o128503Field1)), java.lang.Object(Tree(o129562Field0, o129562Field1))) → LOAD53753(o128506, o128505, java.lang.Object(Tree(o129562Field0, o129562Field1)), java.lang.Object(Tree(o128503Field0, o128503Field1)), java.lang.Object(Tree(o128503Field0, o128503Field1)))
LOAD53753(o165974, o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165971Field0, o165971Field1)), java.lang.Object(Tree(java.lang.Object(Tree(o169702, o169703)), o167592))) → LOAD53753(o165974, o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165971Field0, o165971Field1)), java.lang.Object(Tree(o169702, java.lang.Object(Tree(o169703, o167592)))))
LOAD53753(o165974, o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(java.lang.Object(Tree(o169749, o169750)), o167598)), java.lang.Object(Tree(java.lang.Object(Tree(o169749, o169750)), o167598))) → LOAD53753(o165974, o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(java.lang.Object(Tree(o169749, o169750)), o167598)), java.lang.Object(Tree(o169749, java.lang.Object(Tree(o169750, o167598)))))
LOAD53753(java.lang.Object(Tree(java.lang.Object(Tree(o169905, o169906)), o167618)), o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(java.lang.Object(Tree(o169905, o169906)), o167618)), java.lang.Object(Tree(java.lang.Object(Tree(o169905, o169906)), o167618))) → LOAD53753(java.lang.Object(Tree(java.lang.Object(Tree(o169905, o169906)), o167618)), o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(java.lang.Object(Tree(o169905, o169906)), o167618)), java.lang.Object(Tree(o169905, java.lang.Object(Tree(o169906, o167618)))))
LOAD53753(java.lang.Object(Tree(java.lang.Object(Tree(o169827, o169828)), o167608)), o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165971Field0, o165971Field1)), java.lang.Object(Tree(java.lang.Object(Tree(o169827, o169828)), o167608))) → JMP596851(java.lang.Object(Tree(java.lang.Object(Tree(o169827, o169828)), o167608)), o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165971Field0, o165971Field1)), java.lang.Object(Tree(o169827, java.lang.Object(Tree(o169828, o167608)))))
NULL479101(o126657, o126656, o126654, java.lang.Object(Tree(o127556Field0, o127556Field1))) → LOAD48301(o126657, o126656, java.lang.Object(Tree(o127556Field0, o127556Field1)), o126654)
LOAD47722(o125908, o125907, o125904, o125906) → NULL479101(o125908, o125907, o125906, o125904)
JMP627221(o214830, o214829, o214827, o217305) → LOAD47722(o214830, o214829, o214827, o217305)
LOAD60888(o214830, o214829, o214827, java.lang.Object(Tree(o214828Field0, o214828Field1)), java.lang.Object(Tree(NULL, o217305))) → LOAD47722(o214830, o214829, o214827, o217305)
LOAD60888(o214830, o214829, o214827, java.lang.Object(Tree(NULL, o217312)), java.lang.Object(Tree(NULL, o217312))) → JMP627221(o214830, o214829, o214827, o217312)
LOAD60888(o214830, java.lang.Object(Tree(NULL, o217326)), o214827, java.lang.Object(Tree(NULL, o217326)), java.lang.Object(Tree(NULL, o217326))) → JMP627221(o214830, java.lang.Object(Tree(NULL, o217326)), o214827, o217326)
LOAD60888(o214830, java.lang.Object(Tree(NULL, o217319)), o214827, java.lang.Object(Tree(o214828Field0, o214828Field1)), java.lang.Object(Tree(NULL, o217319))) → STORE62561(o214830, java.lang.Object(Tree(NULL, o217319)), o214827, o217319)
LOAD54904(o165974, o165973, o167592, java.lang.Object(Tree(o165972Field0, o165972Field1))) → LOAD60888(o165974, o165973, o167592, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165972Field0, o165972Field1)))
LOAD53753(o165974, o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165971Field0, o165971Field1)), java.lang.Object(Tree(NULL, o167592))) → LOAD60888(o165974, o165973, o167592, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165972Field0, o165972Field1)))
LOAD60888(o214830, o214829, o214827, java.lang.Object(Tree(o214828Field0, o214828Field1)), java.lang.Object(Tree(java.lang.Object(Tree(o222315, o222316)), o217305))) → LOAD60888(o214830, o214829, o214827, java.lang.Object(Tree(o214828Field0, o214828Field1)), java.lang.Object(Tree(o222315, java.lang.Object(Tree(o222316, o217305)))))
LOAD60888(o214830, o214829, o214827, java.lang.Object(Tree(java.lang.Object(Tree(o222361, o222362)), o217312)), java.lang.Object(Tree(java.lang.Object(Tree(o222361, o222362)), o217312))) → LOAD60888(o214830, o214829, o214827, java.lang.Object(Tree(java.lang.Object(Tree(o222361, o222362)), o217312)), java.lang.Object(Tree(o222361, java.lang.Object(Tree(o222362, o217312)))))
LOAD60888(o214830, java.lang.Object(Tree(java.lang.Object(Tree(o222472, o222473)), o217326)), o214827, java.lang.Object(Tree(java.lang.Object(Tree(o222472, o222473)), o217326)), java.lang.Object(Tree(java.lang.Object(Tree(o222472, o222473)), o217326))) → LOAD60888(o214830, java.lang.Object(Tree(java.lang.Object(Tree(o222472, o222473)), o217326)), o214827, java.lang.Object(Tree(java.lang.Object(Tree(o222472, o222473)), o217326)), java.lang.Object(Tree(o222472, java.lang.Object(Tree(o222473, o217326)))))
LOAD53753(o165974, o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(NULL, o167598)), java.lang.Object(Tree(NULL, o167598))) → LOAD54904(o165974, o165973, o167598, java.lang.Object(Tree(o165972Field0, o165972Field1)))
LOAD53753(java.lang.Object(Tree(NULL, o167618)), o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(NULL, o167618)), java.lang.Object(Tree(NULL, o167618))) → LOAD54904(java.lang.Object(Tree(NULL, o167618)), o165973, o167618, java.lang.Object(Tree(o165972Field0, o165972Field1)))
LOAD53753(java.lang.Object(Tree(NULL, o167608)), o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165971Field0, o165971Field1)), java.lang.Object(Tree(NULL, o167608))) → STORE54705(java.lang.Object(Tree(NULL, o167608)), o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), o167608)
LOAD60888(o214830, java.lang.Object(Tree(java.lang.Object(Tree(o222419, o222420)), o217319)), o214827, java.lang.Object(Tree(o214828Field0, o214828Field1)), java.lang.Object(Tree(java.lang.Object(Tree(o222419, o222420)), o217319))) → JMP660051(o214830, java.lang.Object(Tree(java.lang.Object(Tree(o222419, o222420)), o217319)), o214827, java.lang.Object(Tree(o214828Field0, o214828Field1)), java.lang.Object(Tree(o222419, java.lang.Object(Tree(o222420, o217319)))))
JMP596851(java.lang.Object(Tree(java.lang.Object(Tree(z0, z1)), z2)), z3, java.lang.Object(Tree(z4, z5)), java.lang.Object(Tree(z6, z7)), java.lang.Object(Tree(z0, java.lang.Object(Tree(z1, z2))))) → LOAD53753(java.lang.Object(Tree(java.lang.Object(Tree(z0, z1)), z2)), z3, java.lang.Object(Tree(z4, z5)), java.lang.Object(Tree(z6, z7)), java.lang.Object(Tree(z0, java.lang.Object(Tree(z1, z2)))))
STORE62561(z0, java.lang.Object(Tree(NULL, z1)), z2, z1) → LOAD47722(z0, java.lang.Object(Tree(NULL, z1)), z2, z1)
STORE54705(java.lang.Object(Tree(NULL, z0)), z1, java.lang.Object(Tree(z2, z3)), z0) → LOAD60888(java.lang.Object(Tree(NULL, z0)), z1, z0, java.lang.Object(Tree(z2, z3)), java.lang.Object(Tree(z2, z3)))
JMP660051(z0, java.lang.Object(Tree(java.lang.Object(Tree(z1, z2)), z3)), z4, java.lang.Object(Tree(z5, z6)), java.lang.Object(Tree(z1, java.lang.Object(Tree(z2, z3))))) → LOAD60888(z0, java.lang.Object(Tree(java.lang.Object(Tree(z1, z2)), z3)), z4, java.lang.Object(Tree(z5, z6)), java.lang.Object(Tree(z1, java.lang.Object(Tree(z2, z3)))))

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

(24) QDPOrderProof (EQUIVALENT transformation)

We use the reduction pair processor [LPAR04].


The following pairs can be oriented strictly and are deleted.


LOAD60888(o214830, o214829, o214827, java.lang.Object(Tree(o214828Field0, o214828Field1)), java.lang.Object(Tree(NULL, o217305))) → LOAD47722(o214830, o214829, o214827, o217305)
LOAD60888(o214830, o214829, o214827, java.lang.Object(Tree(NULL, o217312)), java.lang.Object(Tree(NULL, o217312))) → JMP627221(o214830, o214829, o214827, o217312)
LOAD60888(o214830, java.lang.Object(Tree(NULL, o217326)), o214827, java.lang.Object(Tree(NULL, o217326)), java.lang.Object(Tree(NULL, o217326))) → JMP627221(o214830, java.lang.Object(Tree(NULL, o217326)), o214827, o217326)
LOAD60888(o214830, java.lang.Object(Tree(NULL, o217319)), o214827, java.lang.Object(Tree(o214828Field0, o214828Field1)), java.lang.Object(Tree(NULL, o217319))) → STORE62561(o214830, java.lang.Object(Tree(NULL, o217319)), o214827, o217319)
The remaining pairs can at least be oriented weakly.
Used ordering: Polynomial interpretation [POLO]:

POL(JMP596851(x1, x2, x3, x4, x5)) = x3   
POL(JMP627221(x1, x2, x3, x4)) = x4   
POL(JMP660051(x1, x2, x3, x4, x5)) = x2   
POL(LOAD47722(x1, x2, x3, x4)) = x4   
POL(LOAD48301(x1, x2, x3, x4)) = x4   
POL(LOAD53753(x1, x2, x3, x4, x5)) = x3   
POL(LOAD54904(x1, x2, x3, x4)) = x4   
POL(LOAD60888(x1, x2, x3, x4, x5)) = x5   
POL(NULL) = 1   
POL(NULL479101(x1, x2, x3, x4)) = x3   
POL(STORE54705(x1, x2, x3, x4)) = x3   
POL(STORE62561(x1, x2, x3, x4)) = x4   
POL(Tree(x1, x2)) = x1 + x2   
POL(java.lang.Object(x1)) = x1   

The following usable rules [FROCOS05] were oriented: none

(25) Obligation:

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

LOAD48301(o128506, o128505, java.lang.Object(Tree(o128503Field0, o128503Field1)), java.lang.Object(Tree(o129562Field0, o129562Field1))) → LOAD53753(o128506, o128505, java.lang.Object(Tree(o129562Field0, o129562Field1)), java.lang.Object(Tree(o128503Field0, o128503Field1)), java.lang.Object(Tree(o128503Field0, o128503Field1)))
LOAD53753(o165974, o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165971Field0, o165971Field1)), java.lang.Object(Tree(java.lang.Object(Tree(o169702, o169703)), o167592))) → LOAD53753(o165974, o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165971Field0, o165971Field1)), java.lang.Object(Tree(o169702, java.lang.Object(Tree(o169703, o167592)))))
LOAD53753(o165974, o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(java.lang.Object(Tree(o169749, o169750)), o167598)), java.lang.Object(Tree(java.lang.Object(Tree(o169749, o169750)), o167598))) → LOAD53753(o165974, o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(java.lang.Object(Tree(o169749, o169750)), o167598)), java.lang.Object(Tree(o169749, java.lang.Object(Tree(o169750, o167598)))))
LOAD53753(java.lang.Object(Tree(java.lang.Object(Tree(o169905, o169906)), o167618)), o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(java.lang.Object(Tree(o169905, o169906)), o167618)), java.lang.Object(Tree(java.lang.Object(Tree(o169905, o169906)), o167618))) → LOAD53753(java.lang.Object(Tree(java.lang.Object(Tree(o169905, o169906)), o167618)), o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(java.lang.Object(Tree(o169905, o169906)), o167618)), java.lang.Object(Tree(o169905, java.lang.Object(Tree(o169906, o167618)))))
LOAD53753(java.lang.Object(Tree(java.lang.Object(Tree(o169827, o169828)), o167608)), o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165971Field0, o165971Field1)), java.lang.Object(Tree(java.lang.Object(Tree(o169827, o169828)), o167608))) → JMP596851(java.lang.Object(Tree(java.lang.Object(Tree(o169827, o169828)), o167608)), o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165971Field0, o165971Field1)), java.lang.Object(Tree(o169827, java.lang.Object(Tree(o169828, o167608)))))
NULL479101(o126657, o126656, o126654, java.lang.Object(Tree(o127556Field0, o127556Field1))) → LOAD48301(o126657, o126656, java.lang.Object(Tree(o127556Field0, o127556Field1)), o126654)
LOAD47722(o125908, o125907, o125904, o125906) → NULL479101(o125908, o125907, o125906, o125904)
JMP627221(o214830, o214829, o214827, o217305) → LOAD47722(o214830, o214829, o214827, o217305)
LOAD54904(o165974, o165973, o167592, java.lang.Object(Tree(o165972Field0, o165972Field1))) → LOAD60888(o165974, o165973, o167592, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165972Field0, o165972Field1)))
LOAD53753(o165974, o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165971Field0, o165971Field1)), java.lang.Object(Tree(NULL, o167592))) → LOAD60888(o165974, o165973, o167592, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165972Field0, o165972Field1)))
LOAD60888(o214830, o214829, o214827, java.lang.Object(Tree(o214828Field0, o214828Field1)), java.lang.Object(Tree(java.lang.Object(Tree(o222315, o222316)), o217305))) → LOAD60888(o214830, o214829, o214827, java.lang.Object(Tree(o214828Field0, o214828Field1)), java.lang.Object(Tree(o222315, java.lang.Object(Tree(o222316, o217305)))))
LOAD60888(o214830, o214829, o214827, java.lang.Object(Tree(java.lang.Object(Tree(o222361, o222362)), o217312)), java.lang.Object(Tree(java.lang.Object(Tree(o222361, o222362)), o217312))) → LOAD60888(o214830, o214829, o214827, java.lang.Object(Tree(java.lang.Object(Tree(o222361, o222362)), o217312)), java.lang.Object(Tree(o222361, java.lang.Object(Tree(o222362, o217312)))))
LOAD60888(o214830, java.lang.Object(Tree(java.lang.Object(Tree(o222472, o222473)), o217326)), o214827, java.lang.Object(Tree(java.lang.Object(Tree(o222472, o222473)), o217326)), java.lang.Object(Tree(java.lang.Object(Tree(o222472, o222473)), o217326))) → LOAD60888(o214830, java.lang.Object(Tree(java.lang.Object(Tree(o222472, o222473)), o217326)), o214827, java.lang.Object(Tree(java.lang.Object(Tree(o222472, o222473)), o217326)), java.lang.Object(Tree(o222472, java.lang.Object(Tree(o222473, o217326)))))
LOAD53753(o165974, o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(NULL, o167598)), java.lang.Object(Tree(NULL, o167598))) → LOAD54904(o165974, o165973, o167598, java.lang.Object(Tree(o165972Field0, o165972Field1)))
LOAD53753(java.lang.Object(Tree(NULL, o167618)), o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(NULL, o167618)), java.lang.Object(Tree(NULL, o167618))) → LOAD54904(java.lang.Object(Tree(NULL, o167618)), o165973, o167618, java.lang.Object(Tree(o165972Field0, o165972Field1)))
LOAD53753(java.lang.Object(Tree(NULL, o167608)), o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165971Field0, o165971Field1)), java.lang.Object(Tree(NULL, o167608))) → STORE54705(java.lang.Object(Tree(NULL, o167608)), o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), o167608)
LOAD60888(o214830, java.lang.Object(Tree(java.lang.Object(Tree(o222419, o222420)), o217319)), o214827, java.lang.Object(Tree(o214828Field0, o214828Field1)), java.lang.Object(Tree(java.lang.Object(Tree(o222419, o222420)), o217319))) → JMP660051(o214830, java.lang.Object(Tree(java.lang.Object(Tree(o222419, o222420)), o217319)), o214827, java.lang.Object(Tree(o214828Field0, o214828Field1)), java.lang.Object(Tree(o222419, java.lang.Object(Tree(o222420, o217319)))))
JMP596851(java.lang.Object(Tree(java.lang.Object(Tree(z0, z1)), z2)), z3, java.lang.Object(Tree(z4, z5)), java.lang.Object(Tree(z6, z7)), java.lang.Object(Tree(z0, java.lang.Object(Tree(z1, z2))))) → LOAD53753(java.lang.Object(Tree(java.lang.Object(Tree(z0, z1)), z2)), z3, java.lang.Object(Tree(z4, z5)), java.lang.Object(Tree(z6, z7)), java.lang.Object(Tree(z0, java.lang.Object(Tree(z1, z2)))))
STORE62561(z0, java.lang.Object(Tree(NULL, z1)), z2, z1) → LOAD47722(z0, java.lang.Object(Tree(NULL, z1)), z2, z1)
STORE54705(java.lang.Object(Tree(NULL, z0)), z1, java.lang.Object(Tree(z2, z3)), z0) → LOAD60888(java.lang.Object(Tree(NULL, z0)), z1, z0, java.lang.Object(Tree(z2, z3)), java.lang.Object(Tree(z2, z3)))
JMP660051(z0, java.lang.Object(Tree(java.lang.Object(Tree(z1, z2)), z3)), z4, java.lang.Object(Tree(z5, z6)), java.lang.Object(Tree(z1, java.lang.Object(Tree(z2, z3))))) → LOAD60888(z0, java.lang.Object(Tree(java.lang.Object(Tree(z1, z2)), z3)), z4, java.lang.Object(Tree(z5, z6)), java.lang.Object(Tree(z1, java.lang.Object(Tree(z2, z3)))))

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

(26) DependencyGraphProof (EQUIVALENT transformation)

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

(27) Complex Obligation (AND)

(28) Obligation:

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

LOAD60888(o214830, o214829, o214827, java.lang.Object(Tree(java.lang.Object(Tree(o222361, o222362)), o217312)), java.lang.Object(Tree(java.lang.Object(Tree(o222361, o222362)), o217312))) → LOAD60888(o214830, o214829, o214827, java.lang.Object(Tree(java.lang.Object(Tree(o222361, o222362)), o217312)), java.lang.Object(Tree(o222361, java.lang.Object(Tree(o222362, o217312)))))
LOAD60888(o214830, o214829, o214827, java.lang.Object(Tree(o214828Field0, o214828Field1)), java.lang.Object(Tree(java.lang.Object(Tree(o222315, o222316)), o217305))) → LOAD60888(o214830, o214829, o214827, java.lang.Object(Tree(o214828Field0, o214828Field1)), java.lang.Object(Tree(o222315, java.lang.Object(Tree(o222316, o217305)))))
LOAD60888(o214830, java.lang.Object(Tree(java.lang.Object(Tree(o222472, o222473)), o217326)), o214827, java.lang.Object(Tree(java.lang.Object(Tree(o222472, o222473)), o217326)), java.lang.Object(Tree(java.lang.Object(Tree(o222472, o222473)), o217326))) → LOAD60888(o214830, java.lang.Object(Tree(java.lang.Object(Tree(o222472, o222473)), o217326)), o214827, java.lang.Object(Tree(java.lang.Object(Tree(o222472, o222473)), o217326)), java.lang.Object(Tree(o222472, java.lang.Object(Tree(o222473, o217326)))))
LOAD60888(o214830, java.lang.Object(Tree(java.lang.Object(Tree(o222419, o222420)), o217319)), o214827, java.lang.Object(Tree(o214828Field0, o214828Field1)), java.lang.Object(Tree(java.lang.Object(Tree(o222419, o222420)), o217319))) → JMP660051(o214830, java.lang.Object(Tree(java.lang.Object(Tree(o222419, o222420)), o217319)), o214827, java.lang.Object(Tree(o214828Field0, o214828Field1)), java.lang.Object(Tree(o222419, java.lang.Object(Tree(o222420, o217319)))))
JMP660051(z0, java.lang.Object(Tree(java.lang.Object(Tree(z1, z2)), z3)), z4, java.lang.Object(Tree(z5, z6)), java.lang.Object(Tree(z1, java.lang.Object(Tree(z2, z3))))) → LOAD60888(z0, java.lang.Object(Tree(java.lang.Object(Tree(z1, z2)), z3)), z4, java.lang.Object(Tree(z5, z6)), java.lang.Object(Tree(z1, java.lang.Object(Tree(z2, z3)))))

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

(29) MRRProof (EQUIVALENT transformation)

By using the rule removal processor [LPAR04] with the following ordering, at least one Dependency Pair or term rewrite system rule of this QDP problem can be strictly oriented.
Strictly oriented dependency pairs:

LOAD60888(o214830, o214829, o214827, java.lang.Object(Tree(java.lang.Object(Tree(o222361, o222362)), o217312)), java.lang.Object(Tree(java.lang.Object(Tree(o222361, o222362)), o217312))) → LOAD60888(o214830, o214829, o214827, java.lang.Object(Tree(java.lang.Object(Tree(o222361, o222362)), o217312)), java.lang.Object(Tree(o222361, java.lang.Object(Tree(o222362, o217312)))))
LOAD60888(o214830, o214829, o214827, java.lang.Object(Tree(o214828Field0, o214828Field1)), java.lang.Object(Tree(java.lang.Object(Tree(o222315, o222316)), o217305))) → LOAD60888(o214830, o214829, o214827, java.lang.Object(Tree(o214828Field0, o214828Field1)), java.lang.Object(Tree(o222315, java.lang.Object(Tree(o222316, o217305)))))
LOAD60888(o214830, java.lang.Object(Tree(java.lang.Object(Tree(o222472, o222473)), o217326)), o214827, java.lang.Object(Tree(java.lang.Object(Tree(o222472, o222473)), o217326)), java.lang.Object(Tree(java.lang.Object(Tree(o222472, o222473)), o217326))) → LOAD60888(o214830, java.lang.Object(Tree(java.lang.Object(Tree(o222472, o222473)), o217326)), o214827, java.lang.Object(Tree(java.lang.Object(Tree(o222472, o222473)), o217326)), java.lang.Object(Tree(o222472, java.lang.Object(Tree(o222473, o217326)))))
LOAD60888(o214830, java.lang.Object(Tree(java.lang.Object(Tree(o222419, o222420)), o217319)), o214827, java.lang.Object(Tree(o214828Field0, o214828Field1)), java.lang.Object(Tree(java.lang.Object(Tree(o222419, o222420)), o217319))) → JMP660051(o214830, java.lang.Object(Tree(java.lang.Object(Tree(o222419, o222420)), o217319)), o214827, java.lang.Object(Tree(o214828Field0, o214828Field1)), java.lang.Object(Tree(o222419, java.lang.Object(Tree(o222420, o217319)))))


Used ordering: Polynomial interpretation [POLO]:

POL(JMP660051(x1, x2, x3, x4, x5)) = 2 + x1 + 2·x2 + x3 + 2·x4 + 2·x5   
POL(LOAD60888(x1, x2, x3, x4, x5)) = 2 + x1 + 2·x2 + x3 + 2·x4 + 2·x5   
POL(Tree(x1, x2)) = 2·x1 + x2   
POL(java.lang.Object(x1)) = 1 + x1   

(30) Obligation:

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

JMP660051(z0, java.lang.Object(Tree(java.lang.Object(Tree(z1, z2)), z3)), z4, java.lang.Object(Tree(z5, z6)), java.lang.Object(Tree(z1, java.lang.Object(Tree(z2, z3))))) → LOAD60888(z0, java.lang.Object(Tree(java.lang.Object(Tree(z1, z2)), z3)), z4, java.lang.Object(Tree(z5, z6)), java.lang.Object(Tree(z1, java.lang.Object(Tree(z2, z3)))))

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

(31) DependencyGraphProof (EQUIVALENT transformation)

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

(32) TRUE

(33) Obligation:

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

LOAD53753(o165974, o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(java.lang.Object(Tree(o169749, o169750)), o167598)), java.lang.Object(Tree(java.lang.Object(Tree(o169749, o169750)), o167598))) → LOAD53753(o165974, o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(java.lang.Object(Tree(o169749, o169750)), o167598)), java.lang.Object(Tree(o169749, java.lang.Object(Tree(o169750, o167598)))))
LOAD53753(o165974, o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165971Field0, o165971Field1)), java.lang.Object(Tree(java.lang.Object(Tree(o169702, o169703)), o167592))) → LOAD53753(o165974, o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165971Field0, o165971Field1)), java.lang.Object(Tree(o169702, java.lang.Object(Tree(o169703, o167592)))))
LOAD53753(java.lang.Object(Tree(java.lang.Object(Tree(o169905, o169906)), o167618)), o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(java.lang.Object(Tree(o169905, o169906)), o167618)), java.lang.Object(Tree(java.lang.Object(Tree(o169905, o169906)), o167618))) → LOAD53753(java.lang.Object(Tree(java.lang.Object(Tree(o169905, o169906)), o167618)), o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(java.lang.Object(Tree(o169905, o169906)), o167618)), java.lang.Object(Tree(o169905, java.lang.Object(Tree(o169906, o167618)))))
LOAD53753(java.lang.Object(Tree(java.lang.Object(Tree(o169827, o169828)), o167608)), o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165971Field0, o165971Field1)), java.lang.Object(Tree(java.lang.Object(Tree(o169827, o169828)), o167608))) → JMP596851(java.lang.Object(Tree(java.lang.Object(Tree(o169827, o169828)), o167608)), o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165971Field0, o165971Field1)), java.lang.Object(Tree(o169827, java.lang.Object(Tree(o169828, o167608)))))
JMP596851(java.lang.Object(Tree(java.lang.Object(Tree(z0, z1)), z2)), z3, java.lang.Object(Tree(z4, z5)), java.lang.Object(Tree(z6, z7)), java.lang.Object(Tree(z0, java.lang.Object(Tree(z1, z2))))) → LOAD53753(java.lang.Object(Tree(java.lang.Object(Tree(z0, z1)), z2)), z3, java.lang.Object(Tree(z4, z5)), java.lang.Object(Tree(z6, z7)), java.lang.Object(Tree(z0, java.lang.Object(Tree(z1, z2)))))

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

(34) MRRProof (EQUIVALENT transformation)

By using the rule removal processor [LPAR04] with the following ordering, at least one Dependency Pair or term rewrite system rule of this QDP problem can be strictly oriented.
Strictly oriented dependency pairs:

LOAD53753(o165974, o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(java.lang.Object(Tree(o169749, o169750)), o167598)), java.lang.Object(Tree(java.lang.Object(Tree(o169749, o169750)), o167598))) → LOAD53753(o165974, o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(java.lang.Object(Tree(o169749, o169750)), o167598)), java.lang.Object(Tree(o169749, java.lang.Object(Tree(o169750, o167598)))))
LOAD53753(o165974, o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165971Field0, o165971Field1)), java.lang.Object(Tree(java.lang.Object(Tree(o169702, o169703)), o167592))) → LOAD53753(o165974, o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165971Field0, o165971Field1)), java.lang.Object(Tree(o169702, java.lang.Object(Tree(o169703, o167592)))))
LOAD53753(java.lang.Object(Tree(java.lang.Object(Tree(o169905, o169906)), o167618)), o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(java.lang.Object(Tree(o169905, o169906)), o167618)), java.lang.Object(Tree(java.lang.Object(Tree(o169905, o169906)), o167618))) → LOAD53753(java.lang.Object(Tree(java.lang.Object(Tree(o169905, o169906)), o167618)), o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(java.lang.Object(Tree(o169905, o169906)), o167618)), java.lang.Object(Tree(o169905, java.lang.Object(Tree(o169906, o167618)))))
LOAD53753(java.lang.Object(Tree(java.lang.Object(Tree(o169827, o169828)), o167608)), o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165971Field0, o165971Field1)), java.lang.Object(Tree(java.lang.Object(Tree(o169827, o169828)), o167608))) → JMP596851(java.lang.Object(Tree(java.lang.Object(Tree(o169827, o169828)), o167608)), o165973, java.lang.Object(Tree(o165972Field0, o165972Field1)), java.lang.Object(Tree(o165971Field0, o165971Field1)), java.lang.Object(Tree(o169827, java.lang.Object(Tree(o169828, o167608)))))
JMP596851(java.lang.Object(Tree(java.lang.Object(Tree(z0, z1)), z2)), z3, java.lang.Object(Tree(z4, z5)), java.lang.Object(Tree(z6, z7)), java.lang.Object(Tree(z0, java.lang.Object(Tree(z1, z2))))) → LOAD53753(java.lang.Object(Tree(java.lang.Object(Tree(z0, z1)), z2)), z3, java.lang.Object(Tree(z4, z5)), java.lang.Object(Tree(z6, z7)), java.lang.Object(Tree(z0, java.lang.Object(Tree(z1, z2)))))


Used ordering: Polynomial interpretation [POLO]:

POL(JMP596851(x1, x2, x3, x4, x5)) = 2 + 2·x1 + x2 + 2·x3 + 2·x4 + 2·x5   
POL(LOAD53753(x1, x2, x3, x4, x5)) = 1 + 2·x1 + x2 + 2·x3 + 2·x4 + 2·x5   
POL(Tree(x1, x2)) = 2 + 2·x1 + x2   
POL(java.lang.Object(x1)) = 2 + x1   

(35) Obligation:

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

(36) PisEmptyProof (EQUIVALENT transformation)

The TRS P is empty. Hence, there is no (P,Q,R) chain.

(37) TRUE

(38) 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:
Load58473(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(Tree(java.lang.Object(Tree(o216007Field0, o216007Field1)), o194070)), java.lang.Object(Tree(java.lang.Object(Tree(o216007Field0, o216007Field1)), o194070))) → Load58473ARR1(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(Tree(java.lang.Object(Tree(o216007Field0, o216007Field1)), o194070)), java.lang.Object(Tree(java.lang.Object(Tree(o216007Field0, o216007Field1)), o194070)), java.lang.Object(java.lang.String(i31240)))
Load58473ARR1(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(Tree(java.lang.Object(Tree(o216007Field0, o216007Field1)), o194070)), java.lang.Object(Tree(java.lang.Object(Tree(o216007Field0, o216007Field1)), o194070)), java.lang.Object(java.lang.String(i31240))) → Cond_Load58473ARR1(i31240 > 0 && i29383 > 0 && i29383 < i6 && i29471 > 0 && i29383 + 1 > 0, java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(Tree(java.lang.Object(Tree(o216007Field0, o216007Field1)), o194070)), java.lang.Object(Tree(java.lang.Object(Tree(o216007Field0, o216007Field1)), o194070)), java.lang.Object(java.lang.String(i31240)))
Cond_Load58473ARR1(TRUE, java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(Tree(java.lang.Object(Tree(o216007Field0, o216007Field1)), o194070)), java.lang.Object(Tree(java.lang.Object(Tree(o216007Field0, o216007Field1)), o194070)), java.lang.Object(java.lang.String(i31240))) → JMP61974(java.lang.Object(ARRAY(i6, a205976data)), i29383 + 1, i29471, java.lang.Object(Tree(java.lang.Object(Tree(o216007Field0, o216007Field1)), o194070)), java.lang.Object(Tree(o216007Field0, o216007Field1)))
Inc62040(java.lang.Object(ARRAY(i6, a205976data)), i30292, i29471, java.lang.Object(Tree(o194069, o194070)), java.lang.Object(Tree(o216512Field0, o216512Field1))) → Load58473(java.lang.Object(ARRAY(i6, a205976data)), i30292, i29471 + -1, java.lang.Object(Tree(o194069, o194070)), java.lang.Object(Tree(o216512Field0, o216512Field1)))
Load58473(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(Tree(o194069, o194070)), java.lang.Object(Tree(o215720, java.lang.Object(Tree(o216512Field0, o216512Field1))))) → Load58473ARR2(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(Tree(o194069, o194070)), java.lang.Object(Tree(o215720, java.lang.Object(Tree(o216512Field0, o216512Field1)))), java.lang.Object(java.lang.String(i31241)))
Load58473ARR2(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(Tree(o194069, o194070)), java.lang.Object(Tree(o215720, java.lang.Object(Tree(o216512Field0, o216512Field1)))), java.lang.Object(java.lang.String(i31241))) → Cond_Load58473ARR2(i31241 <= 0 && i29383 > 0 && i29383 < i6 && i29471 > 0 && i29383 + 1 > 0, java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(Tree(o194069, o194070)), java.lang.Object(Tree(o215720, java.lang.Object(Tree(o216512Field0, o216512Field1)))), java.lang.Object(java.lang.String(i31241)))
Cond_Load58473ARR2(TRUE, java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(Tree(o194069, o194070)), java.lang.Object(Tree(o215720, java.lang.Object(Tree(o216512Field0, o216512Field1)))), java.lang.Object(java.lang.String(i31241))) → Load58473(java.lang.Object(ARRAY(i6, a205976data)), i29383 + 1, i29471 + -1, java.lang.Object(Tree(o194069, o194070)), java.lang.Object(Tree(o216512Field0, o216512Field1)))
Inc64270(java.lang.Object(ARRAY(i6, a205976data)), i30292, i29471, java.lang.Object(Tree(o194069, o194070)), java.lang.Object(Tree(o194069, o194070))) → Load58473(java.lang.Object(ARRAY(i6, a205976data)), i30292, i29471 + -1, java.lang.Object(Tree(o194069, o194070)), java.lang.Object(Tree(o194069, o194070)))
JMP64151(java.lang.Object(ARRAY(i6, a205976data)), i30292, i29471, java.lang.Object(Tree(o194069, o194070)), java.lang.Object(Tree(o194069, o194070))) → Load58473(java.lang.Object(ARRAY(i6, a205976data)), i30292, i29471 + -1, java.lang.Object(Tree(o194069, o194070)), java.lang.Object(Tree(o194069, o194070)))
Load58473(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(Tree(o194069, o194070)), java.lang.Object(Tree(NULL, o215602))) → Load58473ARR3(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(Tree(o194069, o194070)), java.lang.Object(Tree(NULL, o215602)), java.lang.Object(java.lang.String(i31240)))
Load58473ARR3(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(Tree(o194069, o194070)), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL)), o215602)), java.lang.Object(java.lang.String(i31240))) → Cond_Load58473ARR3(i31240 > 0 && i29383 > 0 && i29383 < i6 && i29471 > 0 && i29383 + 1 > 0, java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(Tree(o194069, o194070)), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL)), o215602)), java.lang.Object(java.lang.String(i31240)))
Cond_Load58473ARR3(TRUE, java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(Tree(o194069, o194070)), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL)), o215602)), java.lang.Object(java.lang.String(i31240))) → Load58473(java.lang.Object(ARRAY(i6, a205976data)), i29383 + 1, i29471 + -1, o194067new, o194067new)
JMP61974(java.lang.Object(ARRAY(i6, a205976data)), i30292, i29471, java.lang.Object(Tree(o194069, o194070)), java.lang.Object(Tree(o216336Field0, o216336Field1))) → Inc62040(java.lang.Object(ARRAY(i6, a205976data)), i30292, i29471, java.lang.Object(Tree(o194069, o194070)), java.lang.Object(Tree(o216336Field0, o216336Field1)))
Load58473(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(Tree(o194069, o194070)), java.lang.Object(Tree(java.lang.Object(Tree(o216336Field0, o216336Field1)), o215602))) → Load58473ARR4(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(Tree(o194069, o194070)), java.lang.Object(Tree(java.lang.Object(Tree(o216336Field0, o216336Field1)), o215602)), java.lang.Object(java.lang.String(i31240)))
Load58473ARR4(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(Tree(o194069, o194070)), java.lang.Object(Tree(java.lang.Object(Tree(o216336Field0, o216336Field1)), o215602)), java.lang.Object(java.lang.String(i31240))) → Cond_Load58473ARR4(i31240 > 0 && i29383 > 0 && i29383 < i6 && i29471 > 0 && i29383 + 1 > 0, java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(Tree(o194069, o194070)), java.lang.Object(Tree(java.lang.Object(Tree(o216336Field0, o216336Field1)), o215602)), java.lang.Object(java.lang.String(i31240)))
Cond_Load58473ARR4(TRUE, java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(Tree(o194069, o194070)), java.lang.Object(Tree(java.lang.Object(Tree(o216336Field0, o216336Field1)), o215602)), java.lang.Object(java.lang.String(i31240))) → Inc62040(java.lang.Object(ARRAY(i6, a205976data)), i29383 + 1, i29471, java.lang.Object(Tree(o194069, o194070)), java.lang.Object(Tree(o216336Field0, o216336Field1)))
Load58473(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(Tree(o194069, java.lang.Object(Tree(o216189Field0, o216189Field1)))), java.lang.Object(Tree(o194069, java.lang.Object(Tree(o216189Field0, o216189Field1))))) → Load58473ARR5(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(Tree(o194069, java.lang.Object(Tree(o216189Field0, o216189Field1)))), java.lang.Object(Tree(o194069, java.lang.Object(Tree(o216189Field0, o216189Field1)))), java.lang.Object(java.lang.String(i31241)))
Load58473ARR5(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(Tree(o194069, java.lang.Object(Tree(o216189Field0, o216189Field1)))), java.lang.Object(Tree(o194069, java.lang.Object(Tree(o216189Field0, o216189Field1)))), java.lang.Object(java.lang.String(i31241))) → Cond_Load58473ARR5(i31241 <= 0 && i29383 > 0 && i29383 < i6 && i29471 > 0 && i29383 + 1 > 0, java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(Tree(o194069, java.lang.Object(Tree(o216189Field0, o216189Field1)))), java.lang.Object(Tree(o194069, java.lang.Object(Tree(o216189Field0, o216189Field1)))), java.lang.Object(java.lang.String(i31241)))
Cond_Load58473ARR5(TRUE, java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(Tree(o194069, java.lang.Object(Tree(o216189Field0, o216189Field1)))), java.lang.Object(Tree(o194069, java.lang.Object(Tree(o216189Field0, o216189Field1)))), java.lang.Object(java.lang.String(i31241))) → Inc62040(java.lang.Object(ARRAY(i6, a205976data)), i29383 + 1, i29471, java.lang.Object(Tree(o194069, java.lang.Object(Tree(o216189Field0, o216189Field1)))), java.lang.Object(Tree(o216189Field0, o216189Field1)))
JMP64193(java.lang.Object(ARRAY(i6, a205976data)), i30292, i29471, java.lang.Object(Tree(o194069, o194070)), java.lang.Object(Tree(o194069, o194070))) → Inc64270(java.lang.Object(ARRAY(i6, a205976data)), i30292, i29471, java.lang.Object(Tree(o194069, o194070)), java.lang.Object(Tree(o194069, o194070)))
Load58473(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(Tree(o194069, o194070)), java.lang.Object(Tree(o215720, NULL))) → Load58473ARR6(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(Tree(o194069, o194070)), java.lang.Object(Tree(o215720, NULL)), java.lang.Object(java.lang.String(i31241)))
Load58473ARR6(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(Tree(o194069, o194070)), java.lang.Object(Tree(o215720, java.lang.Object(Tree(NULL, NULL)))), java.lang.Object(java.lang.String(i31241))) → Cond_Load58473ARR6(i31241 <= 0 && i29383 > 0 && i29383 < i6 && i29471 > 0 && i29383 + 1 > 0, java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(Tree(o194069, o194070)), java.lang.Object(Tree(o215720, java.lang.Object(Tree(NULL, NULL)))), java.lang.Object(java.lang.String(i31241)))
Cond_Load58473ARR6(TRUE, java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(Tree(o194069, o194070)), java.lang.Object(Tree(o215720, java.lang.Object(Tree(NULL, NULL)))), java.lang.Object(java.lang.String(i31241))) → Inc64270(java.lang.Object(ARRAY(i6, a205976data)), i29383 + 1, i29471, o194067new, o194067new)
Load58473(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(Tree(NULL, o194070)), java.lang.Object(Tree(NULL, o194070))) → Load58473ARR7(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(Tree(NULL, o194070)), java.lang.Object(Tree(NULL, o194070)), java.lang.Object(java.lang.String(i31240)))
Load58473ARR7(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL)), o194070)), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL)), o194070)), java.lang.Object(java.lang.String(i31240))) → Cond_Load58473ARR7(i31240 > 0 && i29383 > 0 && i29383 < i6 && i29471 > 0 && i29383 + 1 > 0, java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL)), o194070)), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL)), o194070)), java.lang.Object(java.lang.String(i31240)))
Cond_Load58473ARR7(TRUE, java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL)), o194070)), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL)), o194070)), java.lang.Object(java.lang.String(i31240))) → JMP64151(java.lang.Object(ARRAY(i6, a205976data)), i29383 + 1, i29471, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL)), o194070)), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL)), o194070)))
Load58473(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(Tree(o194069, NULL)), java.lang.Object(Tree(o194069, NULL))) → Load58473ARR8(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(Tree(o194069, NULL)), java.lang.Object(Tree(o194069, NULL)), java.lang.Object(java.lang.String(i31241)))
Load58473ARR8(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(Tree(o194069, java.lang.Object(Tree(NULL, NULL)))), java.lang.Object(Tree(o194069, java.lang.Object(Tree(NULL, NULL)))), java.lang.Object(java.lang.String(i31241))) → Cond_Load58473ARR8(i31241 <= 0 && i29383 > 0 && i29383 < i6 && i29471 > 0 && i29383 + 1 > 0, java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(Tree(o194069, java.lang.Object(Tree(NULL, NULL)))), java.lang.Object(Tree(o194069, java.lang.Object(Tree(NULL, NULL)))), java.lang.Object(java.lang.String(i31241)))
Cond_Load58473ARR8(TRUE, java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(Tree(o194069, java.lang.Object(Tree(NULL, NULL)))), java.lang.Object(Tree(o194069, java.lang.Object(Tree(NULL, NULL)))), java.lang.Object(java.lang.String(i31241))) → JMP64193(java.lang.Object(ARRAY(i6, a205976data)), i29383 + 1, i29471, java.lang.Object(Tree(o194069, java.lang.Object(Tree(NULL, NULL)))), java.lang.Object(Tree(o194069, java.lang.Object(Tree(NULL, NULL)))))
The set Q consists of the following terms:
Load58473ARR1(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_Load58473ARR1(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)))
Inc62040(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5)), java.lang.Object(Tree(x6, x7)))
Load58473(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)))))
Load58473ARR2(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_Load58473ARR2(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)))
Inc64270(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5)), java.lang.Object(Tree(x4, x5)))
JMP64151(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5)), java.lang.Object(Tree(x4, x5)))
Load58473(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5)), java.lang.Object(Tree(NULL, x6)))
Load58473ARR3(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_Load58473ARR3(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)))
JMP61974(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5)), java.lang.Object(Tree(x6, x7)))
Load58473(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)))
Load58473ARR4(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_Load58473ARR4(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)))
Load58473ARR5(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_Load58473ARR5(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)))
JMP64193(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5)), java.lang.Object(Tree(x4, x5)))
Load58473(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5)), java.lang.Object(Tree(x6, NULL)))
Load58473ARR6(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_Load58473ARR6(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)))
Load58473ARR7(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_Load58473ARR7(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)))
Load58473ARR8(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_Load58473ARR8(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)))

(39) DuplicateArgsRemoverProof (EQUIVALENT transformation)

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

JMP64193(x1, x2, x3, x4, x5) → JMP64193(x1, x2, x3, x5)
Cond_Load58473ARR8(x1, x2, x3, x4, x5, x6, x7) → Cond_Load58473ARR8(x1, x2, x3, x4, x6, x7)
Load58473ARR8(x1, x2, x3, x4, x5, x6) → Load58473ARR8(x1, x2, x3, x5, x6)
JMP64151(x1, x2, x3, x4, x5) → JMP64151(x1, x2, x3, x5)
Cond_Load58473ARR7(x1, x2, x3, x4, x5, x6, x7) → Cond_Load58473ARR7(x1, x2, x3, x4, x6, x7)
Load58473ARR7(x1, x2, x3, x4, x5, x6) → Load58473ARR7(x1, x2, x3, x5, x6)
Inc64270(x1, x2, x3, x4, x5) → Inc64270(x1, x2, x3, x5)
Cond_Load58473ARR5(x1, x2, x3, x4, x5, x6, x7) → Cond_Load58473ARR5(x1, x2, x3, x4, x6, x7)
Load58473ARR5(x1, x2, x3, x4, x5, x6) → Load58473ARR5(x1, x2, x3, x5, x6)
Cond_Load58473ARR1(x1, x2, x3, x4, x5, x6, x7) → Cond_Load58473ARR1(x1, x2, x3, x4, x6, x7)
Load58473ARR1(x1, x2, x3, x4, x5, x6) → Load58473ARR1(x1, x2, x3, x5, x6)

(40) 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:
Load58473(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(Tree(java.lang.Object(Tree(o216007Field0, o216007Field1)), o194070)), java.lang.Object(Tree(java.lang.Object(Tree(o216007Field0, o216007Field1)), o194070))) → Load58473ARR1(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(Tree(java.lang.Object(Tree(o216007Field0, o216007Field1)), o194070)), java.lang.Object(java.lang.String(i31240)))
Load58473ARR1(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(Tree(java.lang.Object(Tree(o216007Field0, o216007Field1)), o194070)), java.lang.Object(java.lang.String(i31240))) → Cond_Load58473ARR1(i31240 > 0 && i29383 > 0 && i29383 < i6 && i29471 > 0 && i29383 + 1 > 0, java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(Tree(java.lang.Object(Tree(o216007Field0, o216007Field1)), o194070)), java.lang.Object(java.lang.String(i31240)))
Cond_Load58473ARR1(TRUE, java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(Tree(java.lang.Object(Tree(o216007Field0, o216007Field1)), o194070)), java.lang.Object(java.lang.String(i31240))) → JMP61974(java.lang.Object(ARRAY(i6, a205976data)), i29383 + 1, i29471, java.lang.Object(Tree(java.lang.Object(Tree(o216007Field0, o216007Field1)), o194070)), java.lang.Object(Tree(o216007Field0, o216007Field1)))
Inc62040(java.lang.Object(ARRAY(i6, a205976data)), i30292, i29471, java.lang.Object(Tree(o194069, o194070)), java.lang.Object(Tree(o216512Field0, o216512Field1))) → Load58473(java.lang.Object(ARRAY(i6, a205976data)), i30292, i29471 + -1, java.lang.Object(Tree(o194069, o194070)), java.lang.Object(Tree(o216512Field0, o216512Field1)))
Load58473(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(Tree(o194069, o194070)), java.lang.Object(Tree(o215720, java.lang.Object(Tree(o216512Field0, o216512Field1))))) → Load58473ARR2(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(Tree(o194069, o194070)), java.lang.Object(Tree(o215720, java.lang.Object(Tree(o216512Field0, o216512Field1)))), java.lang.Object(java.lang.String(i31241)))
Load58473ARR2(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(Tree(o194069, o194070)), java.lang.Object(Tree(o215720, java.lang.Object(Tree(o216512Field0, o216512Field1)))), java.lang.Object(java.lang.String(i31241))) → Cond_Load58473ARR2(i31241 <= 0 && i29383 > 0 && i29383 < i6 && i29471 > 0 && i29383 + 1 > 0, java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(Tree(o194069, o194070)), java.lang.Object(Tree(o215720, java.lang.Object(Tree(o216512Field0, o216512Field1)))), java.lang.Object(java.lang.String(i31241)))
Cond_Load58473ARR2(TRUE, java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(Tree(o194069, o194070)), java.lang.Object(Tree(o215720, java.lang.Object(Tree(o216512Field0, o216512Field1)))), java.lang.Object(java.lang.String(i31241))) → Load58473(java.lang.Object(ARRAY(i6, a205976data)), i29383 + 1, i29471 + -1, java.lang.Object(Tree(o194069, o194070)), java.lang.Object(Tree(o216512Field0, o216512Field1)))
Inc64270(java.lang.Object(ARRAY(i6, a205976data)), i30292, i29471, java.lang.Object(Tree(o194069, o194070))) → Load58473(java.lang.Object(ARRAY(i6, a205976data)), i30292, i29471 + -1, java.lang.Object(Tree(o194069, o194070)), java.lang.Object(Tree(o194069, o194070)))
JMP64151(java.lang.Object(ARRAY(i6, a205976data)), i30292, i29471, java.lang.Object(Tree(o194069, o194070))) → Load58473(java.lang.Object(ARRAY(i6, a205976data)), i30292, i29471 + -1, java.lang.Object(Tree(o194069, o194070)), java.lang.Object(Tree(o194069, o194070)))
Load58473(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(Tree(o194069, o194070)), java.lang.Object(Tree(NULL, o215602))) → Load58473ARR3(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(Tree(o194069, o194070)), java.lang.Object(Tree(NULL, o215602)), java.lang.Object(java.lang.String(i31240)))
Load58473ARR3(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(Tree(o194069, o194070)), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL)), o215602)), java.lang.Object(java.lang.String(i31240))) → Cond_Load58473ARR3(i31240 > 0 && i29383 > 0 && i29383 < i6 && i29471 > 0 && i29383 + 1 > 0, java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(Tree(o194069, o194070)), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL)), o215602)), java.lang.Object(java.lang.String(i31240)))
Cond_Load58473ARR3(TRUE, java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(Tree(o194069, o194070)), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL)), o215602)), java.lang.Object(java.lang.String(i31240))) → Load58473(java.lang.Object(ARRAY(i6, a205976data)), i29383 + 1, i29471 + -1, o194067new, o194067new)
JMP61974(java.lang.Object(ARRAY(i6, a205976data)), i30292, i29471, java.lang.Object(Tree(o194069, o194070)), java.lang.Object(Tree(o216336Field0, o216336Field1))) → Inc62040(java.lang.Object(ARRAY(i6, a205976data)), i30292, i29471, java.lang.Object(Tree(o194069, o194070)), java.lang.Object(Tree(o216336Field0, o216336Field1)))
Load58473(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(Tree(o194069, o194070)), java.lang.Object(Tree(java.lang.Object(Tree(o216336Field0, o216336Field1)), o215602))) → Load58473ARR4(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(Tree(o194069, o194070)), java.lang.Object(Tree(java.lang.Object(Tree(o216336Field0, o216336Field1)), o215602)), java.lang.Object(java.lang.String(i31240)))
Load58473ARR4(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(Tree(o194069, o194070)), java.lang.Object(Tree(java.lang.Object(Tree(o216336Field0, o216336Field1)), o215602)), java.lang.Object(java.lang.String(i31240))) → Cond_Load58473ARR4(i31240 > 0 && i29383 > 0 && i29383 < i6 && i29471 > 0 && i29383 + 1 > 0, java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(Tree(o194069, o194070)), java.lang.Object(Tree(java.lang.Object(Tree(o216336Field0, o216336Field1)), o215602)), java.lang.Object(java.lang.String(i31240)))
Cond_Load58473ARR4(TRUE, java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(Tree(o194069, o194070)), java.lang.Object(Tree(java.lang.Object(Tree(o216336Field0, o216336Field1)), o215602)), java.lang.Object(java.lang.String(i31240))) → Inc62040(java.lang.Object(ARRAY(i6, a205976data)), i29383 + 1, i29471, java.lang.Object(Tree(o194069, o194070)), java.lang.Object(Tree(o216336Field0, o216336Field1)))
Load58473(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(Tree(o194069, java.lang.Object(Tree(o216189Field0, o216189Field1)))), java.lang.Object(Tree(o194069, java.lang.Object(Tree(o216189Field0, o216189Field1))))) → Load58473ARR5(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(Tree(o194069, java.lang.Object(Tree(o216189Field0, o216189Field1)))), java.lang.Object(java.lang.String(i31241)))
Load58473ARR5(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(Tree(o194069, java.lang.Object(Tree(o216189Field0, o216189Field1)))), java.lang.Object(java.lang.String(i31241))) → Cond_Load58473ARR5(i31241 <= 0 && i29383 > 0 && i29383 < i6 && i29471 > 0 && i29383 + 1 > 0, java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(Tree(o194069, java.lang.Object(Tree(o216189Field0, o216189Field1)))), java.lang.Object(java.lang.String(i31241)))
Cond_Load58473ARR5(TRUE, java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(Tree(o194069, java.lang.Object(Tree(o216189Field0, o216189Field1)))), java.lang.Object(java.lang.String(i31241))) → Inc62040(java.lang.Object(ARRAY(i6, a205976data)), i29383 + 1, i29471, java.lang.Object(Tree(o194069, java.lang.Object(Tree(o216189Field0, o216189Field1)))), java.lang.Object(Tree(o216189Field0, o216189Field1)))
JMP64193(java.lang.Object(ARRAY(i6, a205976data)), i30292, i29471, java.lang.Object(Tree(o194069, o194070))) → Inc64270(java.lang.Object(ARRAY(i6, a205976data)), i30292, i29471, java.lang.Object(Tree(o194069, o194070)))
Load58473(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(Tree(o194069, o194070)), java.lang.Object(Tree(o215720, NULL))) → Load58473ARR6(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(Tree(o194069, o194070)), java.lang.Object(Tree(o215720, NULL)), java.lang.Object(java.lang.String(i31241)))
Load58473ARR6(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(Tree(o194069, o194070)), java.lang.Object(Tree(o215720, java.lang.Object(Tree(NULL, NULL)))), java.lang.Object(java.lang.String(i31241))) → Cond_Load58473ARR6(i31241 <= 0 && i29383 > 0 && i29383 < i6 && i29471 > 0 && i29383 + 1 > 0, java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(Tree(o194069, o194070)), java.lang.Object(Tree(o215720, java.lang.Object(Tree(NULL, NULL)))), java.lang.Object(java.lang.String(i31241)))
Cond_Load58473ARR6(TRUE, java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(Tree(o194069, o194070)), java.lang.Object(Tree(o215720, java.lang.Object(Tree(NULL, NULL)))), java.lang.Object(java.lang.String(i31241))) → Inc64270(java.lang.Object(ARRAY(i6, a205976data)), i29383 + 1, i29471, o194067new)
Load58473(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(Tree(NULL, o194070)), java.lang.Object(Tree(NULL, o194070))) → Load58473ARR7(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(Tree(NULL, o194070)), java.lang.Object(java.lang.String(i31240)))
Load58473ARR7(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL)), o194070)), java.lang.Object(java.lang.String(i31240))) → Cond_Load58473ARR7(i31240 > 0 && i29383 > 0 && i29383 < i6 && i29471 > 0 && i29383 + 1 > 0, java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL)), o194070)), java.lang.Object(java.lang.String(i31240)))
Cond_Load58473ARR7(TRUE, java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL)), o194070)), java.lang.Object(java.lang.String(i31240))) → JMP64151(java.lang.Object(ARRAY(i6, a205976data)), i29383 + 1, i29471, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL)), o194070)))
Load58473(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(Tree(o194069, NULL)), java.lang.Object(Tree(o194069, NULL))) → Load58473ARR8(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(Tree(o194069, NULL)), java.lang.Object(java.lang.String(i31241)))
Load58473ARR8(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(Tree(o194069, java.lang.Object(Tree(NULL, NULL)))), java.lang.Object(java.lang.String(i31241))) → Cond_Load58473ARR8(i31241 <= 0 && i29383 > 0 && i29383 < i6 && i29471 > 0 && i29383 + 1 > 0, java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(Tree(o194069, java.lang.Object(Tree(NULL, NULL)))), java.lang.Object(java.lang.String(i31241)))
Cond_Load58473ARR8(TRUE, java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(Tree(o194069, java.lang.Object(Tree(NULL, NULL)))), java.lang.Object(java.lang.String(i31241))) → JMP64193(java.lang.Object(ARRAY(i6, a205976data)), i29383 + 1, i29471, java.lang.Object(Tree(o194069, java.lang.Object(Tree(NULL, NULL)))))
The set Q consists of the following terms:
Load58473ARR1(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_Load58473ARR1(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)))
Inc62040(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5)), java.lang.Object(Tree(x6, x7)))
Load58473(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)))))
Load58473ARR2(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_Load58473ARR2(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)))
Inc64270(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5)))
JMP64151(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5)))
Load58473(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5)), java.lang.Object(Tree(NULL, x6)))
Load58473ARR3(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_Load58473ARR3(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)))
JMP61974(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5)), java.lang.Object(Tree(x6, x7)))
Load58473(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)))
Load58473ARR4(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_Load58473ARR4(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)))
Load58473ARR5(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_Load58473ARR5(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)))
JMP64193(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5)))
Load58473(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5)), java.lang.Object(Tree(x6, NULL)))
Load58473ARR6(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_Load58473ARR6(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)))
Load58473ARR7(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_Load58473ARR7(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)))
Load58473ARR8(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_Load58473ARR8(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)))

(41) ITRSFilterProcessorProof (SOUND transformation)

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

Load58473(x1, x2, x3, x4, x5) → Load58473(x1, x2, x3)
Tree(x1, x2) → Tree
Load58473ARR1(x1, x2, x3, x4, x5) → Load58473ARR1(x1, x2, x3, x5)
Cond_Load58473ARR1(x1, x2, x3, x4, x5, x6) → Cond_Load58473ARR1(x1, x2, x3, x4, x6)
JMP61974(x1, x2, x3, x4, x5) → JMP61974(x1, x2, x3)
Inc62040(x1, x2, x3, x4, x5) → Inc62040(x1, x2, x3)
Load58473ARR2(x1, x2, x3, x4, x5, x6) → Load58473ARR2(x1, x2, x3, x6)
Cond_Load58473ARR2(x1, x2, x3, x4, x5, x6, x7) → Cond_Load58473ARR2(x1, x2, x3, x4, x7)
Inc64270(x1, x2, x3, x4) → Inc64270(x1, x2, x3)
JMP64151(x1, x2, x3, x4) → JMP64151(x1, x2, x3)
Load58473ARR3(x1, x2, x3, x4, x5, x6) → Load58473ARR3(x1, x2, x3, x6)
Cond_Load58473ARR3(x1, x2, x3, x4, x5, x6, x7) → Cond_Load58473ARR3(x1, x2, x3, x4, x7)
Load58473ARR4(x1, x2, x3, x4, x5, x6) → Load58473ARR4(x1, x2, x3, x6)
Cond_Load58473ARR4(x1, x2, x3, x4, x5, x6, x7) → Cond_Load58473ARR4(x1, x2, x3, x4, x7)
Load58473ARR5(x1, x2, x3, x4, x5) → Load58473ARR5(x1, x2, x3, x5)
Cond_Load58473ARR5(x1, x2, x3, x4, x5, x6) → Cond_Load58473ARR5(x1, x2, x3, x4, x6)
JMP64193(x1, x2, x3, x4) → JMP64193(x1, x2, x3)
Load58473ARR6(x1, x2, x3, x4, x5, x6) → Load58473ARR6(x1, x2, x3, x6)
Cond_Load58473ARR6(x1, x2, x3, x4, x5, x6, x7) → Cond_Load58473ARR6(x1, x2, x3, x4, x7)
Load58473ARR7(x1, x2, x3, x4, x5) → Load58473ARR7(x1, x2, x3, x5)
Cond_Load58473ARR7(x1, x2, x3, x4, x5, x6) → Cond_Load58473ARR7(x1, x2, x3, x4, x6)
Load58473ARR8(x1, x2, x3, x4, x5) → Load58473ARR8(x1, x2, x3, x5)
Cond_Load58473ARR8(x1, x2, x3, x4, x5, x6) → Cond_Load58473ARR8(x1, x2, x3, x4, x6)

(42) 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:
Load58473(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471) → Load58473ARR1(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(java.lang.String(i31240)))
Load58473ARR1(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(java.lang.String(i31240))) → Cond_Load58473ARR1(i31240 > 0 && i29383 > 0 && i29383 < i6 && i29471 > 0 && i29383 + 1 > 0, java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(java.lang.String(i31240)))
Cond_Load58473ARR1(TRUE, java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(java.lang.String(i31240))) → JMP61974(java.lang.Object(ARRAY(i6, a205976data)), i29383 + 1, i29471)
Inc62040(java.lang.Object(ARRAY(i6, a205976data)), i30292, i29471) → Load58473(java.lang.Object(ARRAY(i6, a205976data)), i30292, i29471 + -1)
Load58473(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471) → Load58473ARR2(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(java.lang.String(i31241)))
Load58473ARR2(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(java.lang.String(i31241))) → Cond_Load58473ARR2(i31241 <= 0 && i29383 > 0 && i29383 < i6 && i29471 > 0 && i29383 + 1 > 0, java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(java.lang.String(i31241)))
Cond_Load58473ARR2(TRUE, java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(java.lang.String(i31241))) → Load58473(java.lang.Object(ARRAY(i6, a205976data)), i29383 + 1, i29471 + -1)
Inc64270(java.lang.Object(ARRAY(i6, a205976data)), i30292, i29471) → Load58473(java.lang.Object(ARRAY(i6, a205976data)), i30292, i29471 + -1)
JMP64151(java.lang.Object(ARRAY(i6, a205976data)), i30292, i29471) → Load58473(java.lang.Object(ARRAY(i6, a205976data)), i30292, i29471 + -1)
Load58473(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471) → Load58473ARR3(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(java.lang.String(i31240)))
Load58473ARR3(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(java.lang.String(i31240))) → Cond_Load58473ARR3(i31240 > 0 && i29383 > 0 && i29383 < i6 && i29471 > 0 && i29383 + 1 > 0, java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(java.lang.String(i31240)))
Cond_Load58473ARR3(TRUE, java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(java.lang.String(i31240))) → Load58473(java.lang.Object(ARRAY(i6, a205976data)), i29383 + 1, i29471 + -1)
JMP61974(java.lang.Object(ARRAY(i6, a205976data)), i30292, i29471) → Inc62040(java.lang.Object(ARRAY(i6, a205976data)), i30292, i29471)
Load58473(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471) → Load58473ARR4(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(java.lang.String(i31240)))
Load58473ARR4(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(java.lang.String(i31240))) → Cond_Load58473ARR4(i31240 > 0 && i29383 > 0 && i29383 < i6 && i29471 > 0 && i29383 + 1 > 0, java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(java.lang.String(i31240)))
Cond_Load58473ARR4(TRUE, java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(java.lang.String(i31240))) → Inc62040(java.lang.Object(ARRAY(i6, a205976data)), i29383 + 1, i29471)
Load58473(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471) → Load58473ARR5(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(java.lang.String(i31241)))
Load58473ARR5(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(java.lang.String(i31241))) → Cond_Load58473ARR5(i31241 <= 0 && i29383 > 0 && i29383 < i6 && i29471 > 0 && i29383 + 1 > 0, java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(java.lang.String(i31241)))
Cond_Load58473ARR5(TRUE, java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(java.lang.String(i31241))) → Inc62040(java.lang.Object(ARRAY(i6, a205976data)), i29383 + 1, i29471)
JMP64193(java.lang.Object(ARRAY(i6, a205976data)), i30292, i29471) → Inc64270(java.lang.Object(ARRAY(i6, a205976data)), i30292, i29471)
Load58473(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471) → Load58473ARR6(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(java.lang.String(i31241)))
Load58473ARR6(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(java.lang.String(i31241))) → Cond_Load58473ARR6(i31241 <= 0 && i29383 > 0 && i29383 < i6 && i29471 > 0 && i29383 + 1 > 0, java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(java.lang.String(i31241)))
Cond_Load58473ARR6(TRUE, java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(java.lang.String(i31241))) → Inc64270(java.lang.Object(ARRAY(i6, a205976data)), i29383 + 1, i29471)
Load58473(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471) → Load58473ARR7(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(java.lang.String(i31240)))
Load58473ARR7(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(java.lang.String(i31240))) → Cond_Load58473ARR7(i31240 > 0 && i29383 > 0 && i29383 < i6 && i29471 > 0 && i29383 + 1 > 0, java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(java.lang.String(i31240)))
Cond_Load58473ARR7(TRUE, java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(java.lang.String(i31240))) → JMP64151(java.lang.Object(ARRAY(i6, a205976data)), i29383 + 1, i29471)
Load58473(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471) → Load58473ARR8(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(java.lang.String(i31241)))
Load58473ARR8(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(java.lang.String(i31241))) → Cond_Load58473ARR8(i31241 <= 0 && i29383 > 0 && i29383 < i6 && i29471 > 0 && i29383 + 1 > 0, java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(java.lang.String(i31241)))
Cond_Load58473ARR8(TRUE, java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(java.lang.String(i31241))) → JMP64193(java.lang.Object(ARRAY(i6, a205976data)), i29383 + 1, i29471)
The set Q consists of the following terms:
Load58473(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load58473ARR1(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load58473ARR1(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Inc62040(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load58473ARR2(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load58473ARR2(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Inc64270(java.lang.Object(ARRAY(x0, x1)), x2, x3)
JMP64151(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load58473ARR3(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load58473ARR3(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
JMP61974(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load58473ARR4(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load58473ARR4(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load58473ARR5(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load58473ARR5(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
JMP64193(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load58473ARR6(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load58473ARR6(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load58473ARR7(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load58473ARR7(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load58473ARR8(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load58473ARR8(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))

(43) ITRSFSMergerProof (SOUND transformation)

The following function symbols have been merged:

Load58473ARR4, Load58473ARR7
> Load58473ARR4_4

Cond_Load58473ARR4, Cond_Load58473ARR7
> Cond_Load58473ARR4_5

Inc62040, Inc64270, JMP64151
> Inc62040_3

Load58473ARR5, Load58473ARR6
> Load58473ARR5_4

JMP61974, JMP64193
> JMP61974_3

Cond_Load58473ARR5, Cond_Load58473ARR6
> Cond_Load58473ARR5_5

(44) 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:
Load58473(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471) → Load58473ARR1(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(java.lang.String(i31240)))
Load58473ARR1(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(java.lang.String(i31240))) → Cond_Load58473ARR1(i31240 > 0 && i29383 > 0 && i29383 < i6 && i29471 > 0 && i29383 + 1 > 0, java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(java.lang.String(i31240)))
Cond_Load58473ARR1(TRUE, java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(java.lang.String(i31240))) → JMP61974(java.lang.Object(ARRAY(i6, a205976data)), i29383 + 1, i29471)
Inc62040(java.lang.Object(ARRAY(i6, a205976data)), i30292, i29471) → Load58473(java.lang.Object(ARRAY(i6, a205976data)), i30292, i29471 + -1)
Load58473(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471) → Load58473ARR2(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(java.lang.String(i31241)))
Load58473ARR2(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(java.lang.String(i31241))) → Cond_Load58473ARR2(i31241 <= 0 && i29383 > 0 && i29383 < i6 && i29471 > 0 && i29383 + 1 > 0, java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(java.lang.String(i31241)))
Cond_Load58473ARR2(TRUE, java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(java.lang.String(i31241))) → Load58473(java.lang.Object(ARRAY(i6, a205976data)), i29383 + 1, i29471 + -1)
Load58473(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471) → Load58473ARR3(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(java.lang.String(i31240)))
Load58473ARR3(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(java.lang.String(i31240))) → Cond_Load58473ARR3(i31240 > 0 && i29383 > 0 && i29383 < i6 && i29471 > 0 && i29383 + 1 > 0, java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(java.lang.String(i31240)))
Cond_Load58473ARR3(TRUE, java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(java.lang.String(i31240))) → Load58473(java.lang.Object(ARRAY(i6, a205976data)), i29383 + 1, i29471 + -1)
JMP61974(java.lang.Object(ARRAY(i6, a205976data)), i30292, i29471) → Inc62040(java.lang.Object(ARRAY(i6, a205976data)), i30292, i29471)
Load58473(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471) → Load58473ARR4(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(java.lang.String(i31240)))
Load58473ARR4(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(java.lang.String(i31240))) → Cond_Load58473ARR4(i31240 > 0 && i29383 > 0 && i29383 < i6 && i29471 > 0 && i29383 + 1 > 0, java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(java.lang.String(i31240)))
Cond_Load58473ARR4(TRUE, java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(java.lang.String(i31240))) → Inc62040(java.lang.Object(ARRAY(i6, a205976data)), i29383 + 1, i29471)
Load58473(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471) → Load58473ARR5(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(java.lang.String(i31241)))
Load58473ARR5(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(java.lang.String(i31241))) → Cond_Load58473ARR5(i31241 <= 0 && i29383 > 0 && i29383 < i6 && i29471 > 0 && i29383 + 1 > 0, java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(java.lang.String(i31241)))
Cond_Load58473ARR5(TRUE, java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(java.lang.String(i31241))) → Inc62040(java.lang.Object(ARRAY(i6, a205976data)), i29383 + 1, i29471)
Load58473(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471) → Load58473ARR8(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(java.lang.String(i31241)))
Load58473ARR8(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(java.lang.String(i31241))) → Cond_Load58473ARR8(i31241 <= 0 && i29383 > 0 && i29383 < i6 && i29471 > 0 && i29383 + 1 > 0, java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(java.lang.String(i31241)))
Cond_Load58473ARR8(TRUE, java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(java.lang.String(i31241))) → JMP61974(java.lang.Object(ARRAY(i6, a205976data)), i29383 + 1, i29471)
The set Q consists of the following terms:
Load58473(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load58473ARR1(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load58473ARR1(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Inc62040(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load58473ARR2(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load58473ARR2(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load58473ARR3(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load58473ARR3(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
JMP61974(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load58473ARR4(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load58473ARR4(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load58473ARR5(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load58473ARR5(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load58473ARR8(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load58473ARR8(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))

(45) ITRStoIDPProof (EQUIVALENT transformation)

Added dependency pairs

(46) Obligation:

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


The following domains are used:

Boolean, Integer


The ITRS R consists of the following rules:
Load58473(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471) → Load58473ARR1(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(java.lang.String(i31240)))
Load58473ARR1(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(java.lang.String(i31240))) → Cond_Load58473ARR1(i31240 > 0 && i29383 > 0 && i29383 < i6 && i29471 > 0 && i29383 + 1 > 0, java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(java.lang.String(i31240)))
Cond_Load58473ARR1(TRUE, java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(java.lang.String(i31240))) → JMP61974(java.lang.Object(ARRAY(i6, a205976data)), i29383 + 1, i29471)
Inc62040(java.lang.Object(ARRAY(i6, a205976data)), i30292, i29471) → Load58473(java.lang.Object(ARRAY(i6, a205976data)), i30292, i29471 + -1)
Load58473(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471) → Load58473ARR2(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(java.lang.String(i31241)))
Load58473ARR2(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(java.lang.String(i31241))) → Cond_Load58473ARR2(i31241 <= 0 && i29383 > 0 && i29383 < i6 && i29471 > 0 && i29383 + 1 > 0, java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(java.lang.String(i31241)))
Cond_Load58473ARR2(TRUE, java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(java.lang.String(i31241))) → Load58473(java.lang.Object(ARRAY(i6, a205976data)), i29383 + 1, i29471 + -1)
Load58473(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471) → Load58473ARR3(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(java.lang.String(i31240)))
Load58473ARR3(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(java.lang.String(i31240))) → Cond_Load58473ARR3(i31240 > 0 && i29383 > 0 && i29383 < i6 && i29471 > 0 && i29383 + 1 > 0, java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(java.lang.String(i31240)))
Cond_Load58473ARR3(TRUE, java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(java.lang.String(i31240))) → Load58473(java.lang.Object(ARRAY(i6, a205976data)), i29383 + 1, i29471 + -1)
JMP61974(java.lang.Object(ARRAY(i6, a205976data)), i30292, i29471) → Inc62040(java.lang.Object(ARRAY(i6, a205976data)), i30292, i29471)
Load58473(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471) → Load58473ARR4(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(java.lang.String(i31240)))
Load58473ARR4(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(java.lang.String(i31240))) → Cond_Load58473ARR4(i31240 > 0 && i29383 > 0 && i29383 < i6 && i29471 > 0 && i29383 + 1 > 0, java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(java.lang.String(i31240)))
Cond_Load58473ARR4(TRUE, java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(java.lang.String(i31240))) → Inc62040(java.lang.Object(ARRAY(i6, a205976data)), i29383 + 1, i29471)
Load58473(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471) → Load58473ARR5(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(java.lang.String(i31241)))
Load58473ARR5(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(java.lang.String(i31241))) → Cond_Load58473ARR5(i31241 <= 0 && i29383 > 0 && i29383 < i6 && i29471 > 0 && i29383 + 1 > 0, java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(java.lang.String(i31241)))
Cond_Load58473ARR5(TRUE, java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(java.lang.String(i31241))) → Inc62040(java.lang.Object(ARRAY(i6, a205976data)), i29383 + 1, i29471)
Load58473(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471) → Load58473ARR8(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(java.lang.String(i31241)))
Load58473ARR8(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(java.lang.String(i31241))) → Cond_Load58473ARR8(i31241 <= 0 && i29383 > 0 && i29383 < i6 && i29471 > 0 && i29383 + 1 > 0, java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(java.lang.String(i31241)))
Cond_Load58473ARR8(TRUE, java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(java.lang.String(i31241))) → JMP61974(java.lang.Object(ARRAY(i6, a205976data)), i29383 + 1, i29471)

The integer pair graph contains the following rules and edges:
(0): LOAD58473(java.lang.Object(ARRAY(i6[0], a205976data[0])), i29383[0], i29471[0]) → LOAD58473ARR1(java.lang.Object(ARRAY(i6[0], a205976data[0])), i29383[0], i29471[0], java.lang.Object(java.lang.String(i31240[0])))
(1): LOAD58473ARR1(java.lang.Object(ARRAY(i6[1], a205976data[1])), i29383[1], i29471[1], java.lang.Object(java.lang.String(i31240[1]))) → COND_LOAD58473ARR1(i31240[1] > 0 && i29383[1] > 0 && i29383[1] < i6[1] && i29471[1] > 0 && i29383[1] + 1 > 0, java.lang.Object(ARRAY(i6[1], a205976data[1])), i29383[1], i29471[1], java.lang.Object(java.lang.String(i31240[1])))
(2): COND_LOAD58473ARR1(TRUE, java.lang.Object(ARRAY(i6[2], a205976data[2])), i29383[2], i29471[2], java.lang.Object(java.lang.String(i31240[2]))) → JMP61974'(java.lang.Object(ARRAY(i6[2], a205976data[2])), i29383[2] + 1, i29471[2])
(3): INC62040(java.lang.Object(ARRAY(i6[3], a205976data[3])), i30292[3], i29471[3]) → LOAD58473(java.lang.Object(ARRAY(i6[3], a205976data[3])), i30292[3], i29471[3] + -1)
(4): LOAD58473(java.lang.Object(ARRAY(i6[4], a205976data[4])), i29383[4], i29471[4]) → LOAD58473ARR2(java.lang.Object(ARRAY(i6[4], a205976data[4])), i29383[4], i29471[4], java.lang.Object(java.lang.String(i31241[4])))
(5): LOAD58473ARR2(java.lang.Object(ARRAY(i6[5], a205976data[5])), i29383[5], i29471[5], java.lang.Object(java.lang.String(i31241[5]))) → COND_LOAD58473ARR2(i31241[5] <= 0 && i29383[5] > 0 && i29383[5] < i6[5] && i29471[5] > 0 && i29383[5] + 1 > 0, java.lang.Object(ARRAY(i6[5], a205976data[5])), i29383[5], i29471[5], java.lang.Object(java.lang.String(i31241[5])))
(6): COND_LOAD58473ARR2(TRUE, java.lang.Object(ARRAY(i6[6], a205976data[6])), i29383[6], i29471[6], java.lang.Object(java.lang.String(i31241[6]))) → LOAD58473(java.lang.Object(ARRAY(i6[6], a205976data[6])), i29383[6] + 1, i29471[6] + -1)
(7): LOAD58473(java.lang.Object(ARRAY(i6[7], a205976data[7])), i29383[7], i29471[7]) → LOAD58473ARR3(java.lang.Object(ARRAY(i6[7], a205976data[7])), i29383[7], i29471[7], java.lang.Object(java.lang.String(i31240[7])))
(8): LOAD58473ARR3(java.lang.Object(ARRAY(i6[8], a205976data[8])), i29383[8], i29471[8], java.lang.Object(java.lang.String(i31240[8]))) → COND_LOAD58473ARR3(i31240[8] > 0 && i29383[8] > 0 && i29383[8] < i6[8] && i29471[8] > 0 && i29383[8] + 1 > 0, java.lang.Object(ARRAY(i6[8], a205976data[8])), i29383[8], i29471[8], java.lang.Object(java.lang.String(i31240[8])))
(9): COND_LOAD58473ARR3(TRUE, java.lang.Object(ARRAY(i6[9], a205976data[9])), i29383[9], i29471[9], java.lang.Object(java.lang.String(i31240[9]))) → LOAD58473(java.lang.Object(ARRAY(i6[9], a205976data[9])), i29383[9] + 1, i29471[9] + -1)
(10): JMP61974'(java.lang.Object(ARRAY(i6[10], a205976data[10])), i30292[10], i29471[10]) → INC62040(java.lang.Object(ARRAY(i6[10], a205976data[10])), i30292[10], i29471[10])
(11): LOAD58473(java.lang.Object(ARRAY(i6[11], a205976data[11])), i29383[11], i29471[11]) → LOAD58473ARR4(java.lang.Object(ARRAY(i6[11], a205976data[11])), i29383[11], i29471[11], java.lang.Object(java.lang.String(i31240[11])))
(12): LOAD58473ARR4(java.lang.Object(ARRAY(i6[12], a205976data[12])), i29383[12], i29471[12], java.lang.Object(java.lang.String(i31240[12]))) → COND_LOAD58473ARR4(i31240[12] > 0 && i29383[12] > 0 && i29383[12] < i6[12] && i29471[12] > 0 && i29383[12] + 1 > 0, java.lang.Object(ARRAY(i6[12], a205976data[12])), i29383[12], i29471[12], java.lang.Object(java.lang.String(i31240[12])))
(13): COND_LOAD58473ARR4(TRUE, java.lang.Object(ARRAY(i6[13], a205976data[13])), i29383[13], i29471[13], java.lang.Object(java.lang.String(i31240[13]))) → INC62040(java.lang.Object(ARRAY(i6[13], a205976data[13])), i29383[13] + 1, i29471[13])
(14): LOAD58473(java.lang.Object(ARRAY(i6[14], a205976data[14])), i29383[14], i29471[14]) → LOAD58473ARR5(java.lang.Object(ARRAY(i6[14], a205976data[14])), i29383[14], i29471[14], java.lang.Object(java.lang.String(i31241[14])))
(15): LOAD58473ARR5(java.lang.Object(ARRAY(i6[15], a205976data[15])), i29383[15], i29471[15], java.lang.Object(java.lang.String(i31241[15]))) → COND_LOAD58473ARR5(i31241[15] <= 0 && i29383[15] > 0 && i29383[15] < i6[15] && i29471[15] > 0 && i29383[15] + 1 > 0, java.lang.Object(ARRAY(i6[15], a205976data[15])), i29383[15], i29471[15], java.lang.Object(java.lang.String(i31241[15])))
(16): COND_LOAD58473ARR5(TRUE, java.lang.Object(ARRAY(i6[16], a205976data[16])), i29383[16], i29471[16], java.lang.Object(java.lang.String(i31241[16]))) → INC62040(java.lang.Object(ARRAY(i6[16], a205976data[16])), i29383[16] + 1, i29471[16])
(17): LOAD58473(java.lang.Object(ARRAY(i6[17], a205976data[17])), i29383[17], i29471[17]) → LOAD58473ARR8(java.lang.Object(ARRAY(i6[17], a205976data[17])), i29383[17], i29471[17], java.lang.Object(java.lang.String(i31241[17])))
(18): LOAD58473ARR8(java.lang.Object(ARRAY(i6[18], a205976data[18])), i29383[18], i29471[18], java.lang.Object(java.lang.String(i31241[18]))) → COND_LOAD58473ARR8(i31241[18] <= 0 && i29383[18] > 0 && i29383[18] < i6[18] && i29471[18] > 0 && i29383[18] + 1 > 0, java.lang.Object(ARRAY(i6[18], a205976data[18])), i29383[18], i29471[18], java.lang.Object(java.lang.String(i31241[18])))
(19): COND_LOAD58473ARR8(TRUE, java.lang.Object(ARRAY(i6[19], a205976data[19])), i29383[19], i29471[19], java.lang.Object(java.lang.String(i31241[19]))) → JMP61974'(java.lang.Object(ARRAY(i6[19], a205976data[19])), i29383[19] + 1, i29471[19])

(0) -> (1), if ((i29471[0]* i29471[1])∧(i29383[0]* i29383[1])∧(java.lang.Object(ARRAY(i6[0], a205976data[0])) →* java.lang.Object(ARRAY(i6[1], a205976data[1])))∧(java.lang.Object(java.lang.String(i31240[0])) →* java.lang.Object(java.lang.String(i31240[1]))))


(1) -> (2), if ((java.lang.Object(ARRAY(i6[1], a205976data[1])) →* java.lang.Object(ARRAY(i6[2], a205976data[2])))∧(java.lang.Object(java.lang.String(i31240[1])) →* java.lang.Object(java.lang.String(i31240[2])))∧(i31240[1] > 0 && i29383[1] > 0 && i29383[1] < i6[1] && i29471[1] > 0 && i29383[1] + 1 > 0* TRUE)∧(i29383[1]* i29383[2])∧(i29471[1]* i29471[2]))


(2) -> (10), if ((i29383[2] + 1* i30292[10])∧(java.lang.Object(ARRAY(i6[2], a205976data[2])) →* java.lang.Object(ARRAY(i6[10], a205976data[10])))∧(i29471[2]* i29471[10]))


(3) -> (0), if ((i30292[3]* i29383[0])∧(java.lang.Object(ARRAY(i6[3], a205976data[3])) →* java.lang.Object(ARRAY(i6[0], a205976data[0])))∧(i29471[3] + -1* i29471[0]))


(3) -> (4), if ((i29471[3] + -1* i29471[4])∧(java.lang.Object(ARRAY(i6[3], a205976data[3])) →* java.lang.Object(ARRAY(i6[4], a205976data[4])))∧(i30292[3]* i29383[4]))


(3) -> (7), if ((i30292[3]* i29383[7])∧(i29471[3] + -1* i29471[7])∧(java.lang.Object(ARRAY(i6[3], a205976data[3])) →* java.lang.Object(ARRAY(i6[7], a205976data[7]))))


(3) -> (11), if ((java.lang.Object(ARRAY(i6[3], a205976data[3])) →* java.lang.Object(ARRAY(i6[11], a205976data[11])))∧(i30292[3]* i29383[11])∧(i29471[3] + -1* i29471[11]))


(3) -> (14), if ((i29471[3] + -1* i29471[14])∧(java.lang.Object(ARRAY(i6[3], a205976data[3])) →* java.lang.Object(ARRAY(i6[14], a205976data[14])))∧(i30292[3]* i29383[14]))


(3) -> (17), if ((java.lang.Object(ARRAY(i6[3], a205976data[3])) →* java.lang.Object(ARRAY(i6[17], a205976data[17])))∧(i30292[3]* i29383[17])∧(i29471[3] + -1* i29471[17]))


(4) -> (5), if ((java.lang.Object(ARRAY(i6[4], a205976data[4])) →* java.lang.Object(ARRAY(i6[5], a205976data[5])))∧(i29383[4]* i29383[5])∧(java.lang.Object(java.lang.String(i31241[4])) →* java.lang.Object(java.lang.String(i31241[5])))∧(i29471[4]* i29471[5]))


(5) -> (6), if ((i29471[5]* i29471[6])∧(java.lang.Object(java.lang.String(i31241[5])) →* java.lang.Object(java.lang.String(i31241[6])))∧(i29383[5]* i29383[6])∧(java.lang.Object(ARRAY(i6[5], a205976data[5])) →* java.lang.Object(ARRAY(i6[6], a205976data[6])))∧(i31241[5] <= 0 && i29383[5] > 0 && i29383[5] < i6[5] && i29471[5] > 0 && i29383[5] + 1 > 0* TRUE))


(6) -> (0), if ((i29383[6] + 1* i29383[0])∧(i29471[6] + -1* i29471[0])∧(java.lang.Object(ARRAY(i6[6], a205976data[6])) →* java.lang.Object(ARRAY(i6[0], a205976data[0]))))


(6) -> (4), if ((java.lang.Object(ARRAY(i6[6], a205976data[6])) →* java.lang.Object(ARRAY(i6[4], a205976data[4])))∧(i29471[6] + -1* i29471[4])∧(i29383[6] + 1* i29383[4]))


(6) -> (7), if ((i29383[6] + 1* i29383[7])∧(java.lang.Object(ARRAY(i6[6], a205976data[6])) →* java.lang.Object(ARRAY(i6[7], a205976data[7])))∧(i29471[6] + -1* i29471[7]))


(6) -> (11), if ((i29383[6] + 1* i29383[11])∧(i29471[6] + -1* i29471[11])∧(java.lang.Object(ARRAY(i6[6], a205976data[6])) →* java.lang.Object(ARRAY(i6[11], a205976data[11]))))


(6) -> (14), if ((java.lang.Object(ARRAY(i6[6], a205976data[6])) →* java.lang.Object(ARRAY(i6[14], a205976data[14])))∧(i29383[6] + 1* i29383[14])∧(i29471[6] + -1* i29471[14]))


(6) -> (17), if ((i29383[6] + 1* i29383[17])∧(java.lang.Object(ARRAY(i6[6], a205976data[6])) →* java.lang.Object(ARRAY(i6[17], a205976data[17])))∧(i29471[6] + -1* i29471[17]))


(7) -> (8), if ((java.lang.Object(java.lang.String(i31240[7])) →* java.lang.Object(java.lang.String(i31240[8])))∧(java.lang.Object(ARRAY(i6[7], a205976data[7])) →* java.lang.Object(ARRAY(i6[8], a205976data[8])))∧(i29383[7]* i29383[8])∧(i29471[7]* i29471[8]))


(8) -> (9), if ((i31240[8] > 0 && i29383[8] > 0 && i29383[8] < i6[8] && i29471[8] > 0 && i29383[8] + 1 > 0* TRUE)∧(i29383[8]* i29383[9])∧(java.lang.Object(ARRAY(i6[8], a205976data[8])) →* java.lang.Object(ARRAY(i6[9], a205976data[9])))∧(i29471[8]* i29471[9])∧(java.lang.Object(java.lang.String(i31240[8])) →* java.lang.Object(java.lang.String(i31240[9]))))


(9) -> (0), if ((i29471[9] + -1* i29471[0])∧(java.lang.Object(ARRAY(i6[9], a205976data[9])) →* java.lang.Object(ARRAY(i6[0], a205976data[0])))∧(i29383[9] + 1* i29383[0]))


(9) -> (4), if ((i29383[9] + 1* i29383[4])∧(java.lang.Object(ARRAY(i6[9], a205976data[9])) →* java.lang.Object(ARRAY(i6[4], a205976data[4])))∧(i29471[9] + -1* i29471[4]))


(9) -> (7), if ((i29383[9] + 1* i29383[7])∧(java.lang.Object(ARRAY(i6[9], a205976data[9])) →* java.lang.Object(ARRAY(i6[7], a205976data[7])))∧(i29471[9] + -1* i29471[7]))


(9) -> (11), if ((i29383[9] + 1* i29383[11])∧(java.lang.Object(ARRAY(i6[9], a205976data[9])) →* java.lang.Object(ARRAY(i6[11], a205976data[11])))∧(i29471[9] + -1* i29471[11]))


(9) -> (14), if ((java.lang.Object(ARRAY(i6[9], a205976data[9])) →* java.lang.Object(ARRAY(i6[14], a205976data[14])))∧(i29383[9] + 1* i29383[14])∧(i29471[9] + -1* i29471[14]))


(9) -> (17), if ((i29471[9] + -1* i29471[17])∧(i29383[9] + 1* i29383[17])∧(java.lang.Object(ARRAY(i6[9], a205976data[9])) →* java.lang.Object(ARRAY(i6[17], a205976data[17]))))


(10) -> (3), if ((i30292[10]* i30292[3])∧(i29471[10]* i29471[3])∧(java.lang.Object(ARRAY(i6[10], a205976data[10])) →* java.lang.Object(ARRAY(i6[3], a205976data[3]))))


(11) -> (12), if ((i29383[11]* i29383[12])∧(java.lang.Object(java.lang.String(i31240[11])) →* java.lang.Object(java.lang.String(i31240[12])))∧(i29471[11]* i29471[12])∧(java.lang.Object(ARRAY(i6[11], a205976data[11])) →* java.lang.Object(ARRAY(i6[12], a205976data[12]))))


(12) -> (13), if ((i29383[12]* i29383[13])∧(java.lang.Object(ARRAY(i6[12], a205976data[12])) →* java.lang.Object(ARRAY(i6[13], a205976data[13])))∧(i29471[12]* i29471[13])∧(i31240[12] > 0 && i29383[12] > 0 && i29383[12] < i6[12] && i29471[12] > 0 && i29383[12] + 1 > 0* TRUE)∧(java.lang.Object(java.lang.String(i31240[12])) →* java.lang.Object(java.lang.String(i31240[13]))))


(13) -> (3), if ((i29383[13] + 1* i30292[3])∧(i29471[13]* i29471[3])∧(java.lang.Object(ARRAY(i6[13], a205976data[13])) →* java.lang.Object(ARRAY(i6[3], a205976data[3]))))


(14) -> (15), if ((java.lang.Object(java.lang.String(i31241[14])) →* java.lang.Object(java.lang.String(i31241[15])))∧(java.lang.Object(ARRAY(i6[14], a205976data[14])) →* java.lang.Object(ARRAY(i6[15], a205976data[15])))∧(i29383[14]* i29383[15])∧(i29471[14]* i29471[15]))


(15) -> (16), if ((i29471[15]* i29471[16])∧(java.lang.Object(java.lang.String(i31241[15])) →* java.lang.Object(java.lang.String(i31241[16])))∧(java.lang.Object(ARRAY(i6[15], a205976data[15])) →* java.lang.Object(ARRAY(i6[16], a205976data[16])))∧(i31241[15] <= 0 && i29383[15] > 0 && i29383[15] < i6[15] && i29471[15] > 0 && i29383[15] + 1 > 0* TRUE)∧(i29383[15]* i29383[16]))


(16) -> (3), if ((i29471[16]* i29471[3])∧(i29383[16] + 1* i30292[3])∧(java.lang.Object(ARRAY(i6[16], a205976data[16])) →* java.lang.Object(ARRAY(i6[3], a205976data[3]))))


(17) -> (18), if ((java.lang.Object(ARRAY(i6[17], a205976data[17])) →* java.lang.Object(ARRAY(i6[18], a205976data[18])))∧(java.lang.Object(java.lang.String(i31241[17])) →* java.lang.Object(java.lang.String(i31241[18])))∧(i29471[17]* i29471[18])∧(i29383[17]* i29383[18]))


(18) -> (19), if ((java.lang.Object(java.lang.String(i31241[18])) →* java.lang.Object(java.lang.String(i31241[19])))∧(i31241[18] <= 0 && i29383[18] > 0 && i29383[18] < i6[18] && i29471[18] > 0 && i29383[18] + 1 > 0* TRUE)∧(i29383[18]* i29383[19])∧(i29471[18]* i29471[19])∧(java.lang.Object(ARRAY(i6[18], a205976data[18])) →* java.lang.Object(ARRAY(i6[19], a205976data[19]))))


(19) -> (10), if ((java.lang.Object(ARRAY(i6[19], a205976data[19])) →* java.lang.Object(ARRAY(i6[10], a205976data[10])))∧(i29471[19]* i29471[10])∧(i29383[19] + 1* i30292[10]))



The set Q consists of the following terms:
Load58473(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load58473ARR1(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load58473ARR1(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Inc62040(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load58473ARR2(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load58473ARR2(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load58473ARR3(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load58473ARR3(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
JMP61974(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load58473ARR4(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load58473ARR4(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load58473ARR5(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load58473ARR5(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load58473ARR8(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load58473ARR8(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))

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

(48) 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): LOAD58473(java.lang.Object(ARRAY(i6[0], a205976data[0])), i29383[0], i29471[0]) → LOAD58473ARR1(java.lang.Object(ARRAY(i6[0], a205976data[0])), i29383[0], i29471[0], java.lang.Object(java.lang.String(i31240[0])))
(1): LOAD58473ARR1(java.lang.Object(ARRAY(i6[1], a205976data[1])), i29383[1], i29471[1], java.lang.Object(java.lang.String(i31240[1]))) → COND_LOAD58473ARR1(i31240[1] > 0 && i29383[1] > 0 && i29383[1] < i6[1] && i29471[1] > 0 && i29383[1] + 1 > 0, java.lang.Object(ARRAY(i6[1], a205976data[1])), i29383[1], i29471[1], java.lang.Object(java.lang.String(i31240[1])))
(2): COND_LOAD58473ARR1(TRUE, java.lang.Object(ARRAY(i6[2], a205976data[2])), i29383[2], i29471[2], java.lang.Object(java.lang.String(i31240[2]))) → JMP61974'(java.lang.Object(ARRAY(i6[2], a205976data[2])), i29383[2] + 1, i29471[2])
(3): INC62040(java.lang.Object(ARRAY(i6[3], a205976data[3])), i30292[3], i29471[3]) → LOAD58473(java.lang.Object(ARRAY(i6[3], a205976data[3])), i30292[3], i29471[3] + -1)
(4): LOAD58473(java.lang.Object(ARRAY(i6[4], a205976data[4])), i29383[4], i29471[4]) → LOAD58473ARR2(java.lang.Object(ARRAY(i6[4], a205976data[4])), i29383[4], i29471[4], java.lang.Object(java.lang.String(i31241[4])))
(5): LOAD58473ARR2(java.lang.Object(ARRAY(i6[5], a205976data[5])), i29383[5], i29471[5], java.lang.Object(java.lang.String(i31241[5]))) → COND_LOAD58473ARR2(i31241[5] <= 0 && i29383[5] > 0 && i29383[5] < i6[5] && i29471[5] > 0 && i29383[5] + 1 > 0, java.lang.Object(ARRAY(i6[5], a205976data[5])), i29383[5], i29471[5], java.lang.Object(java.lang.String(i31241[5])))
(6): COND_LOAD58473ARR2(TRUE, java.lang.Object(ARRAY(i6[6], a205976data[6])), i29383[6], i29471[6], java.lang.Object(java.lang.String(i31241[6]))) → LOAD58473(java.lang.Object(ARRAY(i6[6], a205976data[6])), i29383[6] + 1, i29471[6] + -1)
(7): LOAD58473(java.lang.Object(ARRAY(i6[7], a205976data[7])), i29383[7], i29471[7]) → LOAD58473ARR3(java.lang.Object(ARRAY(i6[7], a205976data[7])), i29383[7], i29471[7], java.lang.Object(java.lang.String(i31240[7])))
(8): LOAD58473ARR3(java.lang.Object(ARRAY(i6[8], a205976data[8])), i29383[8], i29471[8], java.lang.Object(java.lang.String(i31240[8]))) → COND_LOAD58473ARR3(i31240[8] > 0 && i29383[8] > 0 && i29383[8] < i6[8] && i29471[8] > 0 && i29383[8] + 1 > 0, java.lang.Object(ARRAY(i6[8], a205976data[8])), i29383[8], i29471[8], java.lang.Object(java.lang.String(i31240[8])))
(9): COND_LOAD58473ARR3(TRUE, java.lang.Object(ARRAY(i6[9], a205976data[9])), i29383[9], i29471[9], java.lang.Object(java.lang.String(i31240[9]))) → LOAD58473(java.lang.Object(ARRAY(i6[9], a205976data[9])), i29383[9] + 1, i29471[9] + -1)
(10): JMP61974'(java.lang.Object(ARRAY(i6[10], a205976data[10])), i30292[10], i29471[10]) → INC62040(java.lang.Object(ARRAY(i6[10], a205976data[10])), i30292[10], i29471[10])
(11): LOAD58473(java.lang.Object(ARRAY(i6[11], a205976data[11])), i29383[11], i29471[11]) → LOAD58473ARR4(java.lang.Object(ARRAY(i6[11], a205976data[11])), i29383[11], i29471[11], java.lang.Object(java.lang.String(i31240[11])))
(12): LOAD58473ARR4(java.lang.Object(ARRAY(i6[12], a205976data[12])), i29383[12], i29471[12], java.lang.Object(java.lang.String(i31240[12]))) → COND_LOAD58473ARR4(i31240[12] > 0 && i29383[12] > 0 && i29383[12] < i6[12] && i29471[12] > 0 && i29383[12] + 1 > 0, java.lang.Object(ARRAY(i6[12], a205976data[12])), i29383[12], i29471[12], java.lang.Object(java.lang.String(i31240[12])))
(13): COND_LOAD58473ARR4(TRUE, java.lang.Object(ARRAY(i6[13], a205976data[13])), i29383[13], i29471[13], java.lang.Object(java.lang.String(i31240[13]))) → INC62040(java.lang.Object(ARRAY(i6[13], a205976data[13])), i29383[13] + 1, i29471[13])
(14): LOAD58473(java.lang.Object(ARRAY(i6[14], a205976data[14])), i29383[14], i29471[14]) → LOAD58473ARR5(java.lang.Object(ARRAY(i6[14], a205976data[14])), i29383[14], i29471[14], java.lang.Object(java.lang.String(i31241[14])))
(15): LOAD58473ARR5(java.lang.Object(ARRAY(i6[15], a205976data[15])), i29383[15], i29471[15], java.lang.Object(java.lang.String(i31241[15]))) → COND_LOAD58473ARR5(i31241[15] <= 0 && i29383[15] > 0 && i29383[15] < i6[15] && i29471[15] > 0 && i29383[15] + 1 > 0, java.lang.Object(ARRAY(i6[15], a205976data[15])), i29383[15], i29471[15], java.lang.Object(java.lang.String(i31241[15])))
(16): COND_LOAD58473ARR5(TRUE, java.lang.Object(ARRAY(i6[16], a205976data[16])), i29383[16], i29471[16], java.lang.Object(java.lang.String(i31241[16]))) → INC62040(java.lang.Object(ARRAY(i6[16], a205976data[16])), i29383[16] + 1, i29471[16])
(17): LOAD58473(java.lang.Object(ARRAY(i6[17], a205976data[17])), i29383[17], i29471[17]) → LOAD58473ARR8(java.lang.Object(ARRAY(i6[17], a205976data[17])), i29383[17], i29471[17], java.lang.Object(java.lang.String(i31241[17])))
(18): LOAD58473ARR8(java.lang.Object(ARRAY(i6[18], a205976data[18])), i29383[18], i29471[18], java.lang.Object(java.lang.String(i31241[18]))) → COND_LOAD58473ARR8(i31241[18] <= 0 && i29383[18] > 0 && i29383[18] < i6[18] && i29471[18] > 0 && i29383[18] + 1 > 0, java.lang.Object(ARRAY(i6[18], a205976data[18])), i29383[18], i29471[18], java.lang.Object(java.lang.String(i31241[18])))
(19): COND_LOAD58473ARR8(TRUE, java.lang.Object(ARRAY(i6[19], a205976data[19])), i29383[19], i29471[19], java.lang.Object(java.lang.String(i31241[19]))) → JMP61974'(java.lang.Object(ARRAY(i6[19], a205976data[19])), i29383[19] + 1, i29471[19])

(0) -> (1), if ((i29471[0]* i29471[1])∧(i29383[0]* i29383[1])∧(java.lang.Object(ARRAY(i6[0], a205976data[0])) →* java.lang.Object(ARRAY(i6[1], a205976data[1])))∧(java.lang.Object(java.lang.String(i31240[0])) →* java.lang.Object(java.lang.String(i31240[1]))))


(1) -> (2), if ((java.lang.Object(ARRAY(i6[1], a205976data[1])) →* java.lang.Object(ARRAY(i6[2], a205976data[2])))∧(java.lang.Object(java.lang.String(i31240[1])) →* java.lang.Object(java.lang.String(i31240[2])))∧(i31240[1] > 0 && i29383[1] > 0 && i29383[1] < i6[1] && i29471[1] > 0 && i29383[1] + 1 > 0* TRUE)∧(i29383[1]* i29383[2])∧(i29471[1]* i29471[2]))


(2) -> (10), if ((i29383[2] + 1* i30292[10])∧(java.lang.Object(ARRAY(i6[2], a205976data[2])) →* java.lang.Object(ARRAY(i6[10], a205976data[10])))∧(i29471[2]* i29471[10]))


(3) -> (0), if ((i30292[3]* i29383[0])∧(java.lang.Object(ARRAY(i6[3], a205976data[3])) →* java.lang.Object(ARRAY(i6[0], a205976data[0])))∧(i29471[3] + -1* i29471[0]))


(3) -> (4), if ((i29471[3] + -1* i29471[4])∧(java.lang.Object(ARRAY(i6[3], a205976data[3])) →* java.lang.Object(ARRAY(i6[4], a205976data[4])))∧(i30292[3]* i29383[4]))


(3) -> (7), if ((i30292[3]* i29383[7])∧(i29471[3] + -1* i29471[7])∧(java.lang.Object(ARRAY(i6[3], a205976data[3])) →* java.lang.Object(ARRAY(i6[7], a205976data[7]))))


(3) -> (11), if ((java.lang.Object(ARRAY(i6[3], a205976data[3])) →* java.lang.Object(ARRAY(i6[11], a205976data[11])))∧(i30292[3]* i29383[11])∧(i29471[3] + -1* i29471[11]))


(3) -> (14), if ((i29471[3] + -1* i29471[14])∧(java.lang.Object(ARRAY(i6[3], a205976data[3])) →* java.lang.Object(ARRAY(i6[14], a205976data[14])))∧(i30292[3]* i29383[14]))


(3) -> (17), if ((java.lang.Object(ARRAY(i6[3], a205976data[3])) →* java.lang.Object(ARRAY(i6[17], a205976data[17])))∧(i30292[3]* i29383[17])∧(i29471[3] + -1* i29471[17]))


(4) -> (5), if ((java.lang.Object(ARRAY(i6[4], a205976data[4])) →* java.lang.Object(ARRAY(i6[5], a205976data[5])))∧(i29383[4]* i29383[5])∧(java.lang.Object(java.lang.String(i31241[4])) →* java.lang.Object(java.lang.String(i31241[5])))∧(i29471[4]* i29471[5]))


(5) -> (6), if ((i29471[5]* i29471[6])∧(java.lang.Object(java.lang.String(i31241[5])) →* java.lang.Object(java.lang.String(i31241[6])))∧(i29383[5]* i29383[6])∧(java.lang.Object(ARRAY(i6[5], a205976data[5])) →* java.lang.Object(ARRAY(i6[6], a205976data[6])))∧(i31241[5] <= 0 && i29383[5] > 0 && i29383[5] < i6[5] && i29471[5] > 0 && i29383[5] + 1 > 0* TRUE))


(6) -> (0), if ((i29383[6] + 1* i29383[0])∧(i29471[6] + -1* i29471[0])∧(java.lang.Object(ARRAY(i6[6], a205976data[6])) →* java.lang.Object(ARRAY(i6[0], a205976data[0]))))


(6) -> (4), if ((java.lang.Object(ARRAY(i6[6], a205976data[6])) →* java.lang.Object(ARRAY(i6[4], a205976data[4])))∧(i29471[6] + -1* i29471[4])∧(i29383[6] + 1* i29383[4]))


(6) -> (7), if ((i29383[6] + 1* i29383[7])∧(java.lang.Object(ARRAY(i6[6], a205976data[6])) →* java.lang.Object(ARRAY(i6[7], a205976data[7])))∧(i29471[6] + -1* i29471[7]))


(6) -> (11), if ((i29383[6] + 1* i29383[11])∧(i29471[6] + -1* i29471[11])∧(java.lang.Object(ARRAY(i6[6], a205976data[6])) →* java.lang.Object(ARRAY(i6[11], a205976data[11]))))


(6) -> (14), if ((java.lang.Object(ARRAY(i6[6], a205976data[6])) →* java.lang.Object(ARRAY(i6[14], a205976data[14])))∧(i29383[6] + 1* i29383[14])∧(i29471[6] + -1* i29471[14]))


(6) -> (17), if ((i29383[6] + 1* i29383[17])∧(java.lang.Object(ARRAY(i6[6], a205976data[6])) →* java.lang.Object(ARRAY(i6[17], a205976data[17])))∧(i29471[6] + -1* i29471[17]))


(7) -> (8), if ((java.lang.Object(java.lang.String(i31240[7])) →* java.lang.Object(java.lang.String(i31240[8])))∧(java.lang.Object(ARRAY(i6[7], a205976data[7])) →* java.lang.Object(ARRAY(i6[8], a205976data[8])))∧(i29383[7]* i29383[8])∧(i29471[7]* i29471[8]))


(8) -> (9), if ((i31240[8] > 0 && i29383[8] > 0 && i29383[8] < i6[8] && i29471[8] > 0 && i29383[8] + 1 > 0* TRUE)∧(i29383[8]* i29383[9])∧(java.lang.Object(ARRAY(i6[8], a205976data[8])) →* java.lang.Object(ARRAY(i6[9], a205976data[9])))∧(i29471[8]* i29471[9])∧(java.lang.Object(java.lang.String(i31240[8])) →* java.lang.Object(java.lang.String(i31240[9]))))


(9) -> (0), if ((i29471[9] + -1* i29471[0])∧(java.lang.Object(ARRAY(i6[9], a205976data[9])) →* java.lang.Object(ARRAY(i6[0], a205976data[0])))∧(i29383[9] + 1* i29383[0]))


(9) -> (4), if ((i29383[9] + 1* i29383[4])∧(java.lang.Object(ARRAY(i6[9], a205976data[9])) →* java.lang.Object(ARRAY(i6[4], a205976data[4])))∧(i29471[9] + -1* i29471[4]))


(9) -> (7), if ((i29383[9] + 1* i29383[7])∧(java.lang.Object(ARRAY(i6[9], a205976data[9])) →* java.lang.Object(ARRAY(i6[7], a205976data[7])))∧(i29471[9] + -1* i29471[7]))


(9) -> (11), if ((i29383[9] + 1* i29383[11])∧(java.lang.Object(ARRAY(i6[9], a205976data[9])) →* java.lang.Object(ARRAY(i6[11], a205976data[11])))∧(i29471[9] + -1* i29471[11]))


(9) -> (14), if ((java.lang.Object(ARRAY(i6[9], a205976data[9])) →* java.lang.Object(ARRAY(i6[14], a205976data[14])))∧(i29383[9] + 1* i29383[14])∧(i29471[9] + -1* i29471[14]))


(9) -> (17), if ((i29471[9] + -1* i29471[17])∧(i29383[9] + 1* i29383[17])∧(java.lang.Object(ARRAY(i6[9], a205976data[9])) →* java.lang.Object(ARRAY(i6[17], a205976data[17]))))


(10) -> (3), if ((i30292[10]* i30292[3])∧(i29471[10]* i29471[3])∧(java.lang.Object(ARRAY(i6[10], a205976data[10])) →* java.lang.Object(ARRAY(i6[3], a205976data[3]))))


(11) -> (12), if ((i29383[11]* i29383[12])∧(java.lang.Object(java.lang.String(i31240[11])) →* java.lang.Object(java.lang.String(i31240[12])))∧(i29471[11]* i29471[12])∧(java.lang.Object(ARRAY(i6[11], a205976data[11])) →* java.lang.Object(ARRAY(i6[12], a205976data[12]))))


(12) -> (13), if ((i29383[12]* i29383[13])∧(java.lang.Object(ARRAY(i6[12], a205976data[12])) →* java.lang.Object(ARRAY(i6[13], a205976data[13])))∧(i29471[12]* i29471[13])∧(i31240[12] > 0 && i29383[12] > 0 && i29383[12] < i6[12] && i29471[12] > 0 && i29383[12] + 1 > 0* TRUE)∧(java.lang.Object(java.lang.String(i31240[12])) →* java.lang.Object(java.lang.String(i31240[13]))))


(13) -> (3), if ((i29383[13] + 1* i30292[3])∧(i29471[13]* i29471[3])∧(java.lang.Object(ARRAY(i6[13], a205976data[13])) →* java.lang.Object(ARRAY(i6[3], a205976data[3]))))


(14) -> (15), if ((java.lang.Object(java.lang.String(i31241[14])) →* java.lang.Object(java.lang.String(i31241[15])))∧(java.lang.Object(ARRAY(i6[14], a205976data[14])) →* java.lang.Object(ARRAY(i6[15], a205976data[15])))∧(i29383[14]* i29383[15])∧(i29471[14]* i29471[15]))


(15) -> (16), if ((i29471[15]* i29471[16])∧(java.lang.Object(java.lang.String(i31241[15])) →* java.lang.Object(java.lang.String(i31241[16])))∧(java.lang.Object(ARRAY(i6[15], a205976data[15])) →* java.lang.Object(ARRAY(i6[16], a205976data[16])))∧(i31241[15] <= 0 && i29383[15] > 0 && i29383[15] < i6[15] && i29471[15] > 0 && i29383[15] + 1 > 0* TRUE)∧(i29383[15]* i29383[16]))


(16) -> (3), if ((i29471[16]* i29471[3])∧(i29383[16] + 1* i30292[3])∧(java.lang.Object(ARRAY(i6[16], a205976data[16])) →* java.lang.Object(ARRAY(i6[3], a205976data[3]))))


(17) -> (18), if ((java.lang.Object(ARRAY(i6[17], a205976data[17])) →* java.lang.Object(ARRAY(i6[18], a205976data[18])))∧(java.lang.Object(java.lang.String(i31241[17])) →* java.lang.Object(java.lang.String(i31241[18])))∧(i29471[17]* i29471[18])∧(i29383[17]* i29383[18]))


(18) -> (19), if ((java.lang.Object(java.lang.String(i31241[18])) →* java.lang.Object(java.lang.String(i31241[19])))∧(i31241[18] <= 0 && i29383[18] > 0 && i29383[18] < i6[18] && i29471[18] > 0 && i29383[18] + 1 > 0* TRUE)∧(i29383[18]* i29383[19])∧(i29471[18]* i29471[19])∧(java.lang.Object(ARRAY(i6[18], a205976data[18])) →* java.lang.Object(ARRAY(i6[19], a205976data[19]))))


(19) -> (10), if ((java.lang.Object(ARRAY(i6[19], a205976data[19])) →* java.lang.Object(ARRAY(i6[10], a205976data[10])))∧(i29471[19]* i29471[10])∧(i29383[19] + 1* i30292[10]))



The set Q consists of the following terms:
Load58473(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load58473ARR1(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load58473ARR1(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Inc62040(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load58473ARR2(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load58473ARR2(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load58473ARR3(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load58473ARR3(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
JMP61974(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load58473ARR4(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load58473ARR4(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load58473ARR5(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load58473ARR5(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load58473ARR8(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load58473ARR8(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))

(49) ItpfGraphProof (EQUIVALENT transformation)

Applied rule ItpfICap [ICap]

(50) 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): LOAD58473(java.lang.Object(ARRAY(i6[0], a205976data[0])), i29383[0], i29471[0]) → LOAD58473ARR1(java.lang.Object(ARRAY(i6[0], a205976data[0])), i29383[0], i29471[0], java.lang.Object(java.lang.String(i31240[0])))
(1): LOAD58473ARR1(java.lang.Object(ARRAY(i6[1], a205976data[1])), i29383[1], i29471[1], java.lang.Object(java.lang.String(i31240[1]))) → COND_LOAD58473ARR1(i31240[1] > 0 && i29383[1] > 0 && i29383[1] < i6[1] && i29471[1] > 0 && i29383[1] + 1 > 0, java.lang.Object(ARRAY(i6[1], a205976data[1])), i29383[1], i29471[1], java.lang.Object(java.lang.String(i31240[1])))
(2): COND_LOAD58473ARR1(TRUE, java.lang.Object(ARRAY(i6[2], a205976data[2])), i29383[2], i29471[2], java.lang.Object(java.lang.String(i31240[2]))) → JMP61974'(java.lang.Object(ARRAY(i6[2], a205976data[2])), i29383[2] + 1, i29471[2])
(3): INC62040(java.lang.Object(ARRAY(i6[3], a205976data[3])), i30292[3], i29471[3]) → LOAD58473(java.lang.Object(ARRAY(i6[3], a205976data[3])), i30292[3], i29471[3] + -1)
(4): LOAD58473(java.lang.Object(ARRAY(i6[4], a205976data[4])), i29383[4], i29471[4]) → LOAD58473ARR2(java.lang.Object(ARRAY(i6[4], a205976data[4])), i29383[4], i29471[4], java.lang.Object(java.lang.String(i31241[4])))
(5): LOAD58473ARR2(java.lang.Object(ARRAY(i6[5], a205976data[5])), i29383[5], i29471[5], java.lang.Object(java.lang.String(i31241[5]))) → COND_LOAD58473ARR2(i31241[5] <= 0 && i29383[5] > 0 && i29383[5] < i6[5] && i29471[5] > 0 && i29383[5] + 1 > 0, java.lang.Object(ARRAY(i6[5], a205976data[5])), i29383[5], i29471[5], java.lang.Object(java.lang.String(i31241[5])))
(6): COND_LOAD58473ARR2(TRUE, java.lang.Object(ARRAY(i6[6], a205976data[6])), i29383[6], i29471[6], java.lang.Object(java.lang.String(i31241[6]))) → LOAD58473(java.lang.Object(ARRAY(i6[6], a205976data[6])), i29383[6] + 1, i29471[6] + -1)
(7): LOAD58473(java.lang.Object(ARRAY(i6[7], a205976data[7])), i29383[7], i29471[7]) → LOAD58473ARR3(java.lang.Object(ARRAY(i6[7], a205976data[7])), i29383[7], i29471[7], java.lang.Object(java.lang.String(i31240[7])))
(8): LOAD58473ARR3(java.lang.Object(ARRAY(i6[8], a205976data[8])), i29383[8], i29471[8], java.lang.Object(java.lang.String(i31240[8]))) → COND_LOAD58473ARR3(i31240[8] > 0 && i29383[8] > 0 && i29383[8] < i6[8] && i29471[8] > 0 && i29383[8] + 1 > 0, java.lang.Object(ARRAY(i6[8], a205976data[8])), i29383[8], i29471[8], java.lang.Object(java.lang.String(i31240[8])))
(9): COND_LOAD58473ARR3(TRUE, java.lang.Object(ARRAY(i6[9], a205976data[9])), i29383[9], i29471[9], java.lang.Object(java.lang.String(i31240[9]))) → LOAD58473(java.lang.Object(ARRAY(i6[9], a205976data[9])), i29383[9] + 1, i29471[9] + -1)
(10): JMP61974'(java.lang.Object(ARRAY(i6[10], a205976data[10])), i30292[10], i29471[10]) → INC62040(java.lang.Object(ARRAY(i6[10], a205976data[10])), i30292[10], i29471[10])
(11): LOAD58473(java.lang.Object(ARRAY(i6[11], a205976data[11])), i29383[11], i29471[11]) → LOAD58473ARR4(java.lang.Object(ARRAY(i6[11], a205976data[11])), i29383[11], i29471[11], java.lang.Object(java.lang.String(i31240[11])))
(12): LOAD58473ARR4(java.lang.Object(ARRAY(i6[12], a205976data[12])), i29383[12], i29471[12], java.lang.Object(java.lang.String(i31240[12]))) → COND_LOAD58473ARR4(i31240[12] > 0 && i29383[12] > 0 && i29383[12] < i6[12] && i29471[12] > 0 && i29383[12] + 1 > 0, java.lang.Object(ARRAY(i6[12], a205976data[12])), i29383[12], i29471[12], java.lang.Object(java.lang.String(i31240[12])))
(13): COND_LOAD58473ARR4(TRUE, java.lang.Object(ARRAY(i6[13], a205976data[13])), i29383[13], i29471[13], java.lang.Object(java.lang.String(i31240[13]))) → INC62040(java.lang.Object(ARRAY(i6[13], a205976data[13])), i29383[13] + 1, i29471[13])
(14): LOAD58473(java.lang.Object(ARRAY(i6[14], a205976data[14])), i29383[14], i29471[14]) → LOAD58473ARR5(java.lang.Object(ARRAY(i6[14], a205976data[14])), i29383[14], i29471[14], java.lang.Object(java.lang.String(i31241[14])))
(15): LOAD58473ARR5(java.lang.Object(ARRAY(i6[15], a205976data[15])), i29383[15], i29471[15], java.lang.Object(java.lang.String(i31241[15]))) → COND_LOAD58473ARR5(i31241[15] <= 0 && i29383[15] > 0 && i29383[15] < i6[15] && i29471[15] > 0 && i29383[15] + 1 > 0, java.lang.Object(ARRAY(i6[15], a205976data[15])), i29383[15], i29471[15], java.lang.Object(java.lang.String(i31241[15])))
(16): COND_LOAD58473ARR5(TRUE, java.lang.Object(ARRAY(i6[16], a205976data[16])), i29383[16], i29471[16], java.lang.Object(java.lang.String(i31241[16]))) → INC62040(java.lang.Object(ARRAY(i6[16], a205976data[16])), i29383[16] + 1, i29471[16])
(17): LOAD58473(java.lang.Object(ARRAY(i6[17], a205976data[17])), i29383[17], i29471[17]) → LOAD58473ARR8(java.lang.Object(ARRAY(i6[17], a205976data[17])), i29383[17], i29471[17], java.lang.Object(java.lang.String(i31241[17])))
(18): LOAD58473ARR8(java.lang.Object(ARRAY(i6[18], a205976data[18])), i29383[18], i29471[18], java.lang.Object(java.lang.String(i31241[18]))) → COND_LOAD58473ARR8(i31241[18] <= 0 && i29383[18] > 0 && i29383[18] < i6[18] && i29471[18] > 0 && i29383[18] + 1 > 0, java.lang.Object(ARRAY(i6[18], a205976data[18])), i29383[18], i29471[18], java.lang.Object(java.lang.String(i31241[18])))
(19): COND_LOAD58473ARR8(TRUE, java.lang.Object(ARRAY(i6[19], a205976data[19])), i29383[19], i29471[19], java.lang.Object(java.lang.String(i31241[19]))) → JMP61974'(java.lang.Object(ARRAY(i6[19], a205976data[19])), i29383[19] + 1, i29471[19])

(0) -> (1), if ((i29471[0]* i29471[1])∧(i29383[0]* i29383[1])∧((i6[0]* i6[1])∧(a205976data[0]* a205976data[1]))∧((i31240[0]* i31240[1])))


(1) -> (2), if (((i6[1]* i6[2])∧(a205976data[1]* a205976data[2]))∧((i31240[1]* i31240[2]))∧(i31240[1] > 0 && i29383[1] > 0 && i29383[1] < i6[1] && i29471[1] > 0 && i29383[1] + 1 > 0* TRUE)∧(i29383[1]* i29383[2])∧(i29471[1]* i29471[2]))


(2) -> (10), if ((i29383[2] + 1* i30292[10])∧((i6[2]* i6[10])∧(a205976data[2]* a205976data[10]))∧(i29471[2]* i29471[10]))


(3) -> (0), if ((i30292[3]* i29383[0])∧((i6[3]* i6[0])∧(a205976data[3]* a205976data[0]))∧(i29471[3] + -1* i29471[0]))


(3) -> (4), if ((i29471[3] + -1* i29471[4])∧((i6[3]* i6[4])∧(a205976data[3]* a205976data[4]))∧(i30292[3]* i29383[4]))


(3) -> (7), if ((i30292[3]* i29383[7])∧(i29471[3] + -1* i29471[7])∧((i6[3]* i6[7])∧(a205976data[3]* a205976data[7])))


(3) -> (11), if (((i6[3]* i6[11])∧(a205976data[3]* a205976data[11]))∧(i30292[3]* i29383[11])∧(i29471[3] + -1* i29471[11]))


(3) -> (14), if ((i29471[3] + -1* i29471[14])∧((i6[3]* i6[14])∧(a205976data[3]* a205976data[14]))∧(i30292[3]* i29383[14]))


(3) -> (17), if (((i6[3]* i6[17])∧(a205976data[3]* a205976data[17]))∧(i30292[3]* i29383[17])∧(i29471[3] + -1* i29471[17]))


(4) -> (5), if (((i6[4]* i6[5])∧(a205976data[4]* a205976data[5]))∧(i29383[4]* i29383[5])∧((i31241[4]* i31241[5]))∧(i29471[4]* i29471[5]))


(5) -> (6), if ((i29471[5]* i29471[6])∧((i31241[5]* i31241[6]))∧(i29383[5]* i29383[6])∧((i6[5]* i6[6])∧(a205976data[5]* a205976data[6]))∧(i31241[5] <= 0 && i29383[5] > 0 && i29383[5] < i6[5] && i29471[5] > 0 && i29383[5] + 1 > 0* TRUE))


(6) -> (0), if ((i29383[6] + 1* i29383[0])∧(i29471[6] + -1* i29471[0])∧((i6[6]* i6[0])∧(a205976data[6]* a205976data[0])))


(6) -> (4), if (((i6[6]* i6[4])∧(a205976data[6]* a205976data[4]))∧(i29471[6] + -1* i29471[4])∧(i29383[6] + 1* i29383[4]))


(6) -> (7), if ((i29383[6] + 1* i29383[7])∧((i6[6]* i6[7])∧(a205976data[6]* a205976data[7]))∧(i29471[6] + -1* i29471[7]))


(6) -> (11), if ((i29383[6] + 1* i29383[11])∧(i29471[6] + -1* i29471[11])∧((i6[6]* i6[11])∧(a205976data[6]* a205976data[11])))


(6) -> (14), if (((i6[6]* i6[14])∧(a205976data[6]* a205976data[14]))∧(i29383[6] + 1* i29383[14])∧(i29471[6] + -1* i29471[14]))


(6) -> (17), if ((i29383[6] + 1* i29383[17])∧((i6[6]* i6[17])∧(a205976data[6]* a205976data[17]))∧(i29471[6] + -1* i29471[17]))


(7) -> (8), if (((i31240[7]* i31240[8]))∧((i6[7]* i6[8])∧(a205976data[7]* a205976data[8]))∧(i29383[7]* i29383[8])∧(i29471[7]* i29471[8]))


(8) -> (9), if ((i31240[8] > 0 && i29383[8] > 0 && i29383[8] < i6[8] && i29471[8] > 0 && i29383[8] + 1 > 0* TRUE)∧(i29383[8]* i29383[9])∧((i6[8]* i6[9])∧(a205976data[8]* a205976data[9]))∧(i29471[8]* i29471[9])∧((i31240[8]* i31240[9])))


(9) -> (0), if ((i29471[9] + -1* i29471[0])∧((i6[9]* i6[0])∧(a205976data[9]* a205976data[0]))∧(i29383[9] + 1* i29383[0]))


(9) -> (4), if ((i29383[9] + 1* i29383[4])∧((i6[9]* i6[4])∧(a205976data[9]* a205976data[4]))∧(i29471[9] + -1* i29471[4]))


(9) -> (7), if ((i29383[9] + 1* i29383[7])∧((i6[9]* i6[7])∧(a205976data[9]* a205976data[7]))∧(i29471[9] + -1* i29471[7]))


(9) -> (11), if ((i29383[9] + 1* i29383[11])∧((i6[9]* i6[11])∧(a205976data[9]* a205976data[11]))∧(i29471[9] + -1* i29471[11]))


(9) -> (14), if (((i6[9]* i6[14])∧(a205976data[9]* a205976data[14]))∧(i29383[9] + 1* i29383[14])∧(i29471[9] + -1* i29471[14]))


(9) -> (17), if ((i29471[9] + -1* i29471[17])∧(i29383[9] + 1* i29383[17])∧((i6[9]* i6[17])∧(a205976data[9]* a205976data[17])))


(10) -> (3), if ((i30292[10]* i30292[3])∧(i29471[10]* i29471[3])∧((i6[10]* i6[3])∧(a205976data[10]* a205976data[3])))


(11) -> (12), if ((i29383[11]* i29383[12])∧((i31240[11]* i31240[12]))∧(i29471[11]* i29471[12])∧((i6[11]* i6[12])∧(a205976data[11]* a205976data[12])))


(12) -> (13), if ((i29383[12]* i29383[13])∧((i6[12]* i6[13])∧(a205976data[12]* a205976data[13]))∧(i29471[12]* i29471[13])∧(i31240[12] > 0 && i29383[12] > 0 && i29383[12] < i6[12] && i29471[12] > 0 && i29383[12] + 1 > 0* TRUE)∧((i31240[12]* i31240[13])))


(13) -> (3), if ((i29383[13] + 1* i30292[3])∧(i29471[13]* i29471[3])∧((i6[13]* i6[3])∧(a205976data[13]* a205976data[3])))


(14) -> (15), if (((i31241[14]* i31241[15]))∧((i6[14]* i6[15])∧(a205976data[14]* a205976data[15]))∧(i29383[14]* i29383[15])∧(i29471[14]* i29471[15]))


(15) -> (16), if ((i29471[15]* i29471[16])∧((i31241[15]* i31241[16]))∧((i6[15]* i6[16])∧(a205976data[15]* a205976data[16]))∧(i31241[15] <= 0 && i29383[15] > 0 && i29383[15] < i6[15] && i29471[15] > 0 && i29383[15] + 1 > 0* TRUE)∧(i29383[15]* i29383[16]))


(16) -> (3), if ((i29471[16]* i29471[3])∧(i29383[16] + 1* i30292[3])∧((i6[16]* i6[3])∧(a205976data[16]* a205976data[3])))


(17) -> (18), if (((i6[17]* i6[18])∧(a205976data[17]* a205976data[18]))∧((i31241[17]* i31241[18]))∧(i29471[17]* i29471[18])∧(i29383[17]* i29383[18]))


(18) -> (19), if (((i31241[18]* i31241[19]))∧(i31241[18] <= 0 && i29383[18] > 0 && i29383[18] < i6[18] && i29471[18] > 0 && i29383[18] + 1 > 0* TRUE)∧(i29383[18]* i29383[19])∧(i29471[18]* i29471[19])∧((i6[18]* i6[19])∧(a205976data[18]* a205976data[19])))


(19) -> (10), if (((i6[19]* i6[10])∧(a205976data[19]* a205976data[10]))∧(i29471[19]* i29471[10])∧(i29383[19] + 1* i30292[10]))



The set Q consists of the following terms:
Load58473(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load58473ARR1(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load58473ARR1(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Inc62040(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load58473ARR2(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load58473ARR2(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load58473ARR3(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load58473ARR3(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
JMP61974(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load58473ARR4(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load58473ARR4(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load58473ARR5(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load58473ARR5(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load58473ARR8(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load58473ARR8(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))

(51) 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 LOAD58473(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471) → LOAD58473ARR1(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(java.lang.String(i31240))) the following chains were created:
  • We consider the chain LOAD58473(java.lang.Object(ARRAY(i6[0], a205976data[0])), i29383[0], i29471[0]) → LOAD58473ARR1(java.lang.Object(ARRAY(i6[0], a205976data[0])), i29383[0], i29471[0], java.lang.Object(java.lang.String(i31240[0]))) which results in the following constraint:

    (1)    (LOAD58473(java.lang.Object(ARRAY(i6[0], a205976data[0])), i29383[0], i29471[0])≥NonInfC∧LOAD58473(java.lang.Object(ARRAY(i6[0], a205976data[0])), i29383[0], i29471[0])≥LOAD58473ARR1(java.lang.Object(ARRAY(i6[0], a205976data[0])), i29383[0], i29471[0], java.lang.Object(java.lang.String(i31240[0])))∧(UIncreasing(LOAD58473ARR1(java.lang.Object(ARRAY(i6[0], a205976data[0])), i29383[0], i29471[0], java.lang.Object(java.lang.String(i31240[0])))), ≥))



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

    (2)    ((UIncreasing(LOAD58473ARR1(java.lang.Object(ARRAY(i6[0], a205976data[0])), i29383[0], i29471[0], java.lang.Object(java.lang.String(i31240[0])))), ≥)∧[(-1)bso_33] ≥ 0)



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

    (3)    ((UIncreasing(LOAD58473ARR1(java.lang.Object(ARRAY(i6[0], a205976data[0])), i29383[0], i29471[0], java.lang.Object(java.lang.String(i31240[0])))), ≥)∧[(-1)bso_33] ≥ 0)



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

    (4)    ((UIncreasing(LOAD58473ARR1(java.lang.Object(ARRAY(i6[0], a205976data[0])), i29383[0], i29471[0], java.lang.Object(java.lang.String(i31240[0])))), ≥)∧[(-1)bso_33] ≥ 0)



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

    (5)    ((UIncreasing(LOAD58473ARR1(java.lang.Object(ARRAY(i6[0], a205976data[0])), i29383[0], i29471[0], java.lang.Object(java.lang.String(i31240[0])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_33] ≥ 0)







For Pair LOAD58473ARR1(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(java.lang.String(i31240))) → COND_LOAD58473ARR1(&&(&&(&&(&&(>(i31240, 0), >(i29383, 0)), <(i29383, i6)), >(i29471, 0)), >(+(i29383, 1), 0)), java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(java.lang.String(i31240))) the following chains were created:
  • We consider the chain LOAD58473ARR1(java.lang.Object(ARRAY(i6[1], a205976data[1])), i29383[1], i29471[1], java.lang.Object(java.lang.String(i31240[1]))) → COND_LOAD58473ARR1(&&(&&(&&(&&(>(i31240[1], 0), >(i29383[1], 0)), <(i29383[1], i6[1])), >(i29471[1], 0)), >(+(i29383[1], 1), 0)), java.lang.Object(ARRAY(i6[1], a205976data[1])), i29383[1], i29471[1], java.lang.Object(java.lang.String(i31240[1]))), COND_LOAD58473ARR1(TRUE, java.lang.Object(ARRAY(i6[2], a205976data[2])), i29383[2], i29471[2], java.lang.Object(java.lang.String(i31240[2]))) → JMP61974'(java.lang.Object(ARRAY(i6[2], a205976data[2])), +(i29383[2], 1), i29471[2]) which results in the following constraint:

    (6)    (i6[1]=i6[2]a205976data[1]=a205976data[2]i31240[1]=i31240[2]&&(&&(&&(&&(>(i31240[1], 0), >(i29383[1], 0)), <(i29383[1], i6[1])), >(i29471[1], 0)), >(+(i29383[1], 1), 0))=TRUEi29383[1]=i29383[2]i29471[1]=i29471[2]LOAD58473ARR1(java.lang.Object(ARRAY(i6[1], a205976data[1])), i29383[1], i29471[1], java.lang.Object(java.lang.String(i31240[1])))≥NonInfC∧LOAD58473ARR1(java.lang.Object(ARRAY(i6[1], a205976data[1])), i29383[1], i29471[1], java.lang.Object(java.lang.String(i31240[1])))≥COND_LOAD58473ARR1(&&(&&(&&(&&(>(i31240[1], 0), >(i29383[1], 0)), <(i29383[1], i6[1])), >(i29471[1], 0)), >(+(i29383[1], 1), 0)), java.lang.Object(ARRAY(i6[1], a205976data[1])), i29383[1], i29471[1], java.lang.Object(java.lang.String(i31240[1])))∧(UIncreasing(COND_LOAD58473ARR1(&&(&&(&&(&&(>(i31240[1], 0), >(i29383[1], 0)), <(i29383[1], i6[1])), >(i29471[1], 0)), >(+(i29383[1], 1), 0)), java.lang.Object(ARRAY(i6[1], a205976data[1])), i29383[1], i29471[1], java.lang.Object(java.lang.String(i31240[1])))), ≥))



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

    (7)    (>(+(i29383[1], 1), 0)=TRUE>(i29471[1], 0)=TRUE<(i29383[1], i6[1])=TRUE>(i31240[1], 0)=TRUE>(i29383[1], 0)=TRUELOAD58473ARR1(java.lang.Object(ARRAY(i6[1], a205976data[1])), i29383[1], i29471[1], java.lang.Object(java.lang.String(i31240[1])))≥NonInfC∧LOAD58473ARR1(java.lang.Object(ARRAY(i6[1], a205976data[1])), i29383[1], i29471[1], java.lang.Object(java.lang.String(i31240[1])))≥COND_LOAD58473ARR1(&&(&&(&&(&&(>(i31240[1], 0), >(i29383[1], 0)), <(i29383[1], i6[1])), >(i29471[1], 0)), >(+(i29383[1], 1), 0)), java.lang.Object(ARRAY(i6[1], a205976data[1])), i29383[1], i29471[1], java.lang.Object(java.lang.String(i31240[1])))∧(UIncreasing(COND_LOAD58473ARR1(&&(&&(&&(&&(>(i31240[1], 0), >(i29383[1], 0)), <(i29383[1], i6[1])), >(i29471[1], 0)), >(+(i29383[1], 1), 0)), java.lang.Object(ARRAY(i6[1], a205976data[1])), i29383[1], i29471[1], java.lang.Object(java.lang.String(i31240[1])))), ≥))



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

    (8)    (i29383[1] ≥ 0∧i29471[1] + [-1] ≥ 0∧i6[1] + [-1] + [-1]i29383[1] ≥ 0∧i31240[1] + [-1] ≥ 0∧i29383[1] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD58473ARR1(&&(&&(&&(&&(>(i31240[1], 0), >(i29383[1], 0)), <(i29383[1], i6[1])), >(i29471[1], 0)), >(+(i29383[1], 1), 0)), java.lang.Object(ARRAY(i6[1], a205976data[1])), i29383[1], i29471[1], java.lang.Object(java.lang.String(i31240[1])))), ≥)∧[(-1)bni_34 + (-1)Bound*bni_34] + [bni_34]i29471[1] ≥ 0∧[1 + (-1)bso_35] ≥ 0)



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

    (9)    (i29383[1] ≥ 0∧i29471[1] + [-1] ≥ 0∧i6[1] + [-1] + [-1]i29383[1] ≥ 0∧i31240[1] + [-1] ≥ 0∧i29383[1] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD58473ARR1(&&(&&(&&(&&(>(i31240[1], 0), >(i29383[1], 0)), <(i29383[1], i6[1])), >(i29471[1], 0)), >(+(i29383[1], 1), 0)), java.lang.Object(ARRAY(i6[1], a205976data[1])), i29383[1], i29471[1], java.lang.Object(java.lang.String(i31240[1])))), ≥)∧[(-1)bni_34 + (-1)Bound*bni_34] + [bni_34]i29471[1] ≥ 0∧[1 + (-1)bso_35] ≥ 0)



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

    (10)    (i29383[1] ≥ 0∧i29471[1] + [-1] ≥ 0∧i6[1] + [-1] + [-1]i29383[1] ≥ 0∧i31240[1] + [-1] ≥ 0∧i29383[1] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD58473ARR1(&&(&&(&&(&&(>(i31240[1], 0), >(i29383[1], 0)), <(i29383[1], i6[1])), >(i29471[1], 0)), >(+(i29383[1], 1), 0)), java.lang.Object(ARRAY(i6[1], a205976data[1])), i29383[1], i29471[1], java.lang.Object(java.lang.String(i31240[1])))), ≥)∧[(-1)bni_34 + (-1)Bound*bni_34] + [bni_34]i29471[1] ≥ 0∧[1 + (-1)bso_35] ≥ 0)



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

    (11)    (i29383[1] ≥ 0∧i29471[1] + [-1] ≥ 0∧i6[1] + [-1] + [-1]i29383[1] ≥ 0∧i31240[1] + [-1] ≥ 0∧i29383[1] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD58473ARR1(&&(&&(&&(&&(>(i31240[1], 0), >(i29383[1], 0)), <(i29383[1], i6[1])), >(i29471[1], 0)), >(+(i29383[1], 1), 0)), java.lang.Object(ARRAY(i6[1], a205976data[1])), i29383[1], i29471[1], java.lang.Object(java.lang.String(i31240[1])))), ≥)∧0 = 0∧[(-1)bni_34 + (-1)Bound*bni_34] + [bni_34]i29471[1] ≥ 0∧0 = 0∧[1 + (-1)bso_35] ≥ 0)



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

    (12)    ([1] + i29383[1] ≥ 0∧i29471[1] + [-1] ≥ 0∧i6[1] + [-2] + [-1]i29383[1] ≥ 0∧i31240[1] + [-1] ≥ 0∧i29383[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD58473ARR1(&&(&&(&&(&&(>(i31240[1], 0), >(i29383[1], 0)), <(i29383[1], i6[1])), >(i29471[1], 0)), >(+(i29383[1], 1), 0)), java.lang.Object(ARRAY(i6[1], a205976data[1])), i29383[1], i29471[1], java.lang.Object(java.lang.String(i31240[1])))), ≥)∧0 = 0∧[(-1)bni_34 + (-1)Bound*bni_34] + [bni_34]i29471[1] ≥ 0∧0 = 0∧[1 + (-1)bso_35] ≥ 0)



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

    (13)    ([1] + i29383[1] ≥ 0∧i29471[1] ≥ 0∧i6[1] + [-2] + [-1]i29383[1] ≥ 0∧i31240[1] + [-1] ≥ 0∧i29383[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD58473ARR1(&&(&&(&&(&&(>(i31240[1], 0), >(i29383[1], 0)), <(i29383[1], i6[1])), >(i29471[1], 0)), >(+(i29383[1], 1), 0)), java.lang.Object(ARRAY(i6[1], a205976data[1])), i29383[1], i29471[1], java.lang.Object(java.lang.String(i31240[1])))), ≥)∧0 = 0∧[(-1)Bound*bni_34] + [bni_34]i29471[1] ≥ 0∧0 = 0∧[1 + (-1)bso_35] ≥ 0)



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

    (14)    ([1] + i29383[1] ≥ 0∧i29471[1] ≥ 0∧i6[1] ≥ 0∧i31240[1] + [-1] ≥ 0∧i29383[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD58473ARR1(&&(&&(&&(&&(>(i31240[1], 0), >(i29383[1], 0)), <(i29383[1], i6[1])), >(i29471[1], 0)), >(+(i29383[1], 1), 0)), java.lang.Object(ARRAY(i6[1], a205976data[1])), i29383[1], i29471[1], java.lang.Object(java.lang.String(i31240[1])))), ≥)∧0 = 0∧[(-1)Bound*bni_34] + [bni_34]i29471[1] ≥ 0∧0 = 0∧[1 + (-1)bso_35] ≥ 0)



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

    (15)    ([1] + i29383[1] ≥ 0∧i29471[1] ≥ 0∧i6[1] ≥ 0∧i31240[1] ≥ 0∧i29383[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD58473ARR1(&&(&&(&&(&&(>(i31240[1], 0), >(i29383[1], 0)), <(i29383[1], i6[1])), >(i29471[1], 0)), >(+(i29383[1], 1), 0)), java.lang.Object(ARRAY(i6[1], a205976data[1])), i29383[1], i29471[1], java.lang.Object(java.lang.String(i31240[1])))), ≥)∧0 = 0∧[(-1)Bound*bni_34] + [bni_34]i29471[1] ≥ 0∧0 = 0∧[1 + (-1)bso_35] ≥ 0)







For Pair COND_LOAD58473ARR1(TRUE, java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(java.lang.String(i31240))) → JMP61974'(java.lang.Object(ARRAY(i6, a205976data)), +(i29383, 1), i29471) the following chains were created:
  • We consider the chain COND_LOAD58473ARR1(TRUE, java.lang.Object(ARRAY(i6[2], a205976data[2])), i29383[2], i29471[2], java.lang.Object(java.lang.String(i31240[2]))) → JMP61974'(java.lang.Object(ARRAY(i6[2], a205976data[2])), +(i29383[2], 1), i29471[2]) which results in the following constraint:

    (16)    (COND_LOAD58473ARR1(TRUE, java.lang.Object(ARRAY(i6[2], a205976data[2])), i29383[2], i29471[2], java.lang.Object(java.lang.String(i31240[2])))≥NonInfC∧COND_LOAD58473ARR1(TRUE, java.lang.Object(ARRAY(i6[2], a205976data[2])), i29383[2], i29471[2], java.lang.Object(java.lang.String(i31240[2])))≥JMP61974'(java.lang.Object(ARRAY(i6[2], a205976data[2])), +(i29383[2], 1), i29471[2])∧(UIncreasing(JMP61974'(java.lang.Object(ARRAY(i6[2], a205976data[2])), +(i29383[2], 1), i29471[2])), ≥))



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

    (17)    ((UIncreasing(JMP61974'(java.lang.Object(ARRAY(i6[2], a205976data[2])), +(i29383[2], 1), i29471[2])), ≥)∧[(-1)bso_37] ≥ 0)



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

    (18)    ((UIncreasing(JMP61974'(java.lang.Object(ARRAY(i6[2], a205976data[2])), +(i29383[2], 1), i29471[2])), ≥)∧[(-1)bso_37] ≥ 0)



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

    (19)    ((UIncreasing(JMP61974'(java.lang.Object(ARRAY(i6[2], a205976data[2])), +(i29383[2], 1), i29471[2])), ≥)∧[(-1)bso_37] ≥ 0)



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

    (20)    ((UIncreasing(JMP61974'(java.lang.Object(ARRAY(i6[2], a205976data[2])), +(i29383[2], 1), i29471[2])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_37] ≥ 0)







For Pair INC62040(java.lang.Object(ARRAY(i6, a205976data)), i30292, i29471) → LOAD58473(java.lang.Object(ARRAY(i6, a205976data)), i30292, +(i29471, -1)) the following chains were created:
  • We consider the chain INC62040(java.lang.Object(ARRAY(i6[3], a205976data[3])), i30292[3], i29471[3]) → LOAD58473(java.lang.Object(ARRAY(i6[3], a205976data[3])), i30292[3], +(i29471[3], -1)) which results in the following constraint:

    (21)    (INC62040(java.lang.Object(ARRAY(i6[3], a205976data[3])), i30292[3], i29471[3])≥NonInfC∧INC62040(java.lang.Object(ARRAY(i6[3], a205976data[3])), i30292[3], i29471[3])≥LOAD58473(java.lang.Object(ARRAY(i6[3], a205976data[3])), i30292[3], +(i29471[3], -1))∧(UIncreasing(LOAD58473(java.lang.Object(ARRAY(i6[3], a205976data[3])), i30292[3], +(i29471[3], -1))), ≥))



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

    (22)    ((UIncreasing(LOAD58473(java.lang.Object(ARRAY(i6[3], a205976data[3])), i30292[3], +(i29471[3], -1))), ≥)∧[(-1)bso_39] ≥ 0)



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

    (23)    ((UIncreasing(LOAD58473(java.lang.Object(ARRAY(i6[3], a205976data[3])), i30292[3], +(i29471[3], -1))), ≥)∧[(-1)bso_39] ≥ 0)



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

    (24)    ((UIncreasing(LOAD58473(java.lang.Object(ARRAY(i6[3], a205976data[3])), i30292[3], +(i29471[3], -1))), ≥)∧[(-1)bso_39] ≥ 0)



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

    (25)    ((UIncreasing(LOAD58473(java.lang.Object(ARRAY(i6[3], a205976data[3])), i30292[3], +(i29471[3], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_39] ≥ 0)







For Pair LOAD58473(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471) → LOAD58473ARR2(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(java.lang.String(i31241))) the following chains were created:
  • We consider the chain LOAD58473(java.lang.Object(ARRAY(i6[4], a205976data[4])), i29383[4], i29471[4]) → LOAD58473ARR2(java.lang.Object(ARRAY(i6[4], a205976data[4])), i29383[4], i29471[4], java.lang.Object(java.lang.String(i31241[4]))) which results in the following constraint:

    (26)    (LOAD58473(java.lang.Object(ARRAY(i6[4], a205976data[4])), i29383[4], i29471[4])≥NonInfC∧LOAD58473(java.lang.Object(ARRAY(i6[4], a205976data[4])), i29383[4], i29471[4])≥LOAD58473ARR2(java.lang.Object(ARRAY(i6[4], a205976data[4])), i29383[4], i29471[4], java.lang.Object(java.lang.String(i31241[4])))∧(UIncreasing(LOAD58473ARR2(java.lang.Object(ARRAY(i6[4], a205976data[4])), i29383[4], i29471[4], java.lang.Object(java.lang.String(i31241[4])))), ≥))



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

    (27)    ((UIncreasing(LOAD58473ARR2(java.lang.Object(ARRAY(i6[4], a205976data[4])), i29383[4], i29471[4], java.lang.Object(java.lang.String(i31241[4])))), ≥)∧[1 + (-1)bso_41] ≥ 0)



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

    (28)    ((UIncreasing(LOAD58473ARR2(java.lang.Object(ARRAY(i6[4], a205976data[4])), i29383[4], i29471[4], java.lang.Object(java.lang.String(i31241[4])))), ≥)∧[1 + (-1)bso_41] ≥ 0)



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

    (29)    ((UIncreasing(LOAD58473ARR2(java.lang.Object(ARRAY(i6[4], a205976data[4])), i29383[4], i29471[4], java.lang.Object(java.lang.String(i31241[4])))), ≥)∧[1 + (-1)bso_41] ≥ 0)



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

    (30)    ((UIncreasing(LOAD58473ARR2(java.lang.Object(ARRAY(i6[4], a205976data[4])), i29383[4], i29471[4], java.lang.Object(java.lang.String(i31241[4])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_41] ≥ 0)







For Pair LOAD58473ARR2(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(java.lang.String(i31241))) → COND_LOAD58473ARR2(&&(&&(&&(&&(<=(i31241, 0), >(i29383, 0)), <(i29383, i6)), >(i29471, 0)), >(+(i29383, 1), 0)), java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(java.lang.String(i31241))) the following chains were created:
  • We consider the chain LOAD58473ARR2(java.lang.Object(ARRAY(i6[5], a205976data[5])), i29383[5], i29471[5], java.lang.Object(java.lang.String(i31241[5]))) → COND_LOAD58473ARR2(&&(&&(&&(&&(<=(i31241[5], 0), >(i29383[5], 0)), <(i29383[5], i6[5])), >(i29471[5], 0)), >(+(i29383[5], 1), 0)), java.lang.Object(ARRAY(i6[5], a205976data[5])), i29383[5], i29471[5], java.lang.Object(java.lang.String(i31241[5]))), COND_LOAD58473ARR2(TRUE, java.lang.Object(ARRAY(i6[6], a205976data[6])), i29383[6], i29471[6], java.lang.Object(java.lang.String(i31241[6]))) → LOAD58473(java.lang.Object(ARRAY(i6[6], a205976data[6])), +(i29383[6], 1), +(i29471[6], -1)) which results in the following constraint:

    (31)    (i29471[5]=i29471[6]i31241[5]=i31241[6]i29383[5]=i29383[6]i6[5]=i6[6]a205976data[5]=a205976data[6]&&(&&(&&(&&(<=(i31241[5], 0), >(i29383[5], 0)), <(i29383[5], i6[5])), >(i29471[5], 0)), >(+(i29383[5], 1), 0))=TRUELOAD58473ARR2(java.lang.Object(ARRAY(i6[5], a205976data[5])), i29383[5], i29471[5], java.lang.Object(java.lang.String(i31241[5])))≥NonInfC∧LOAD58473ARR2(java.lang.Object(ARRAY(i6[5], a205976data[5])), i29383[5], i29471[5], java.lang.Object(java.lang.String(i31241[5])))≥COND_LOAD58473ARR2(&&(&&(&&(&&(<=(i31241[5], 0), >(i29383[5], 0)), <(i29383[5], i6[5])), >(i29471[5], 0)), >(+(i29383[5], 1), 0)), java.lang.Object(ARRAY(i6[5], a205976data[5])), i29383[5], i29471[5], java.lang.Object(java.lang.String(i31241[5])))∧(UIncreasing(COND_LOAD58473ARR2(&&(&&(&&(&&(<=(i31241[5], 0), >(i29383[5], 0)), <(i29383[5], i6[5])), >(i29471[5], 0)), >(+(i29383[5], 1), 0)), java.lang.Object(ARRAY(i6[5], a205976data[5])), i29383[5], i29471[5], java.lang.Object(java.lang.String(i31241[5])))), ≥))



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

    (32)    (>(+(i29383[5], 1), 0)=TRUE>(i29471[5], 0)=TRUE<(i29383[5], i6[5])=TRUE<=(i31241[5], 0)=TRUE>(i29383[5], 0)=TRUELOAD58473ARR2(java.lang.Object(ARRAY(i6[5], a205976data[5])), i29383[5], i29471[5], java.lang.Object(java.lang.String(i31241[5])))≥NonInfC∧LOAD58473ARR2(java.lang.Object(ARRAY(i6[5], a205976data[5])), i29383[5], i29471[5], java.lang.Object(java.lang.String(i31241[5])))≥COND_LOAD58473ARR2(&&(&&(&&(&&(<=(i31241[5], 0), >(i29383[5], 0)), <(i29383[5], i6[5])), >(i29471[5], 0)), >(+(i29383[5], 1), 0)), java.lang.Object(ARRAY(i6[5], a205976data[5])), i29383[5], i29471[5], java.lang.Object(java.lang.String(i31241[5])))∧(UIncreasing(COND_LOAD58473ARR2(&&(&&(&&(&&(<=(i31241[5], 0), >(i29383[5], 0)), <(i29383[5], i6[5])), >(i29471[5], 0)), >(+(i29383[5], 1), 0)), java.lang.Object(ARRAY(i6[5], a205976data[5])), i29383[5], i29471[5], java.lang.Object(java.lang.String(i31241[5])))), ≥))



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

    (33)    (i29383[5] ≥ 0∧i29471[5] + [-1] ≥ 0∧i6[5] + [-1] + [-1]i29383[5] ≥ 0∧[-1]i31241[5] ≥ 0∧i29383[5] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD58473ARR2(&&(&&(&&(&&(<=(i31241[5], 0), >(i29383[5], 0)), <(i29383[5], i6[5])), >(i29471[5], 0)), >(+(i29383[5], 1), 0)), java.lang.Object(ARRAY(i6[5], a205976data[5])), i29383[5], i29471[5], java.lang.Object(java.lang.String(i31241[5])))), ≥)∧[(-2)bni_42 + (-1)Bound*bni_42] + [bni_42]i29471[5] ≥ 0∧[(-1)bso_43] ≥ 0)



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

    (34)    (i29383[5] ≥ 0∧i29471[5] + [-1] ≥ 0∧i6[5] + [-1] + [-1]i29383[5] ≥ 0∧[-1]i31241[5] ≥ 0∧i29383[5] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD58473ARR2(&&(&&(&&(&&(<=(i31241[5], 0), >(i29383[5], 0)), <(i29383[5], i6[5])), >(i29471[5], 0)), >(+(i29383[5], 1), 0)), java.lang.Object(ARRAY(i6[5], a205976data[5])), i29383[5], i29471[5], java.lang.Object(java.lang.String(i31241[5])))), ≥)∧[(-2)bni_42 + (-1)Bound*bni_42] + [bni_42]i29471[5] ≥ 0∧[(-1)bso_43] ≥ 0)



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

    (35)    (i29383[5] ≥ 0∧i29471[5] + [-1] ≥ 0∧i6[5] + [-1] + [-1]i29383[5] ≥ 0∧[-1]i31241[5] ≥ 0∧i29383[5] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD58473ARR2(&&(&&(&&(&&(<=(i31241[5], 0), >(i29383[5], 0)), <(i29383[5], i6[5])), >(i29471[5], 0)), >(+(i29383[5], 1), 0)), java.lang.Object(ARRAY(i6[5], a205976data[5])), i29383[5], i29471[5], java.lang.Object(java.lang.String(i31241[5])))), ≥)∧[(-2)bni_42 + (-1)Bound*bni_42] + [bni_42]i29471[5] ≥ 0∧[(-1)bso_43] ≥ 0)



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

    (36)    (i29383[5] ≥ 0∧i29471[5] + [-1] ≥ 0∧i6[5] + [-1] + [-1]i29383[5] ≥ 0∧[-1]i31241[5] ≥ 0∧i29383[5] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD58473ARR2(&&(&&(&&(&&(<=(i31241[5], 0), >(i29383[5], 0)), <(i29383[5], i6[5])), >(i29471[5], 0)), >(+(i29383[5], 1), 0)), java.lang.Object(ARRAY(i6[5], a205976data[5])), i29383[5], i29471[5], java.lang.Object(java.lang.String(i31241[5])))), ≥)∧0 = 0∧[(-2)bni_42 + (-1)Bound*bni_42] + [bni_42]i29471[5] ≥ 0∧0 = 0∧[(-1)bso_43] ≥ 0)



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

    (37)    ([1] + i29383[5] ≥ 0∧i29471[5] + [-1] ≥ 0∧i6[5] + [-2] + [-1]i29383[5] ≥ 0∧[-1]i31241[5] ≥ 0∧i29383[5] ≥ 0 ⇒ (UIncreasing(COND_LOAD58473ARR2(&&(&&(&&(&&(<=(i31241[5], 0), >(i29383[5], 0)), <(i29383[5], i6[5])), >(i29471[5], 0)), >(+(i29383[5], 1), 0)), java.lang.Object(ARRAY(i6[5], a205976data[5])), i29383[5], i29471[5], java.lang.Object(java.lang.String(i31241[5])))), ≥)∧0 = 0∧[(-2)bni_42 + (-1)Bound*bni_42] + [bni_42]i29471[5] ≥ 0∧0 = 0∧[(-1)bso_43] ≥ 0)



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

    (38)    ([1] + i29383[5] ≥ 0∧i29471[5] ≥ 0∧i6[5] + [-2] + [-1]i29383[5] ≥ 0∧[-1]i31241[5] ≥ 0∧i29383[5] ≥ 0 ⇒ (UIncreasing(COND_LOAD58473ARR2(&&(&&(&&(&&(<=(i31241[5], 0), >(i29383[5], 0)), <(i29383[5], i6[5])), >(i29471[5], 0)), >(+(i29383[5], 1), 0)), java.lang.Object(ARRAY(i6[5], a205976data[5])), i29383[5], i29471[5], java.lang.Object(java.lang.String(i31241[5])))), ≥)∧0 = 0∧[(-1)bni_42 + (-1)Bound*bni_42] + [bni_42]i29471[5] ≥ 0∧0 = 0∧[(-1)bso_43] ≥ 0)



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

    (39)    ([1] + i29383[5] ≥ 0∧i29471[5] ≥ 0∧i6[5] ≥ 0∧[-1]i31241[5] ≥ 0∧i29383[5] ≥ 0 ⇒ (UIncreasing(COND_LOAD58473ARR2(&&(&&(&&(&&(<=(i31241[5], 0), >(i29383[5], 0)), <(i29383[5], i6[5])), >(i29471[5], 0)), >(+(i29383[5], 1), 0)), java.lang.Object(ARRAY(i6[5], a205976data[5])), i29383[5], i29471[5], java.lang.Object(java.lang.String(i31241[5])))), ≥)∧0 = 0∧[(-1)bni_42 + (-1)Bound*bni_42] + [bni_42]i29471[5] ≥ 0∧0 = 0∧[(-1)bso_43] ≥ 0)



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

    (40)    ([1] + i29383[5] ≥ 0∧i29471[5] ≥ 0∧i6[5] ≥ 0∧i31241[5] ≥ 0∧i29383[5] ≥ 0 ⇒ (UIncreasing(COND_LOAD58473ARR2(&&(&&(&&(&&(<=(i31241[5], 0), >(i29383[5], 0)), <(i29383[5], i6[5])), >(i29471[5], 0)), >(+(i29383[5], 1), 0)), java.lang.Object(ARRAY(i6[5], a205976data[5])), i29383[5], i29471[5], java.lang.Object(java.lang.String(i31241[5])))), ≥)∧0 = 0∧[(-1)bni_42 + (-1)Bound*bni_42] + [bni_42]i29471[5] ≥ 0∧0 = 0∧[(-1)bso_43] ≥ 0)







For Pair COND_LOAD58473ARR2(TRUE, java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(java.lang.String(i31241))) → LOAD58473(java.lang.Object(ARRAY(i6, a205976data)), +(i29383, 1), +(i29471, -1)) the following chains were created:
  • We consider the chain COND_LOAD58473ARR2(TRUE, java.lang.Object(ARRAY(i6[6], a205976data[6])), i29383[6], i29471[6], java.lang.Object(java.lang.String(i31241[6]))) → LOAD58473(java.lang.Object(ARRAY(i6[6], a205976data[6])), +(i29383[6], 1), +(i29471[6], -1)) which results in the following constraint:

    (41)    (COND_LOAD58473ARR2(TRUE, java.lang.Object(ARRAY(i6[6], a205976data[6])), i29383[6], i29471[6], java.lang.Object(java.lang.String(i31241[6])))≥NonInfC∧COND_LOAD58473ARR2(TRUE, java.lang.Object(ARRAY(i6[6], a205976data[6])), i29383[6], i29471[6], java.lang.Object(java.lang.String(i31241[6])))≥LOAD58473(java.lang.Object(ARRAY(i6[6], a205976data[6])), +(i29383[6], 1), +(i29471[6], -1))∧(UIncreasing(LOAD58473(java.lang.Object(ARRAY(i6[6], a205976data[6])), +(i29383[6], 1), +(i29471[6], -1))), ≥))



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

    (42)    ((UIncreasing(LOAD58473(java.lang.Object(ARRAY(i6[6], a205976data[6])), +(i29383[6], 1), +(i29471[6], -1))), ≥)∧[(-1)bso_45] ≥ 0)



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

    (43)    ((UIncreasing(LOAD58473(java.lang.Object(ARRAY(i6[6], a205976data[6])), +(i29383[6], 1), +(i29471[6], -1))), ≥)∧[(-1)bso_45] ≥ 0)



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

    (44)    ((UIncreasing(LOAD58473(java.lang.Object(ARRAY(i6[6], a205976data[6])), +(i29383[6], 1), +(i29471[6], -1))), ≥)∧[(-1)bso_45] ≥ 0)



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

    (45)    ((UIncreasing(LOAD58473(java.lang.Object(ARRAY(i6[6], a205976data[6])), +(i29383[6], 1), +(i29471[6], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_45] ≥ 0)







For Pair LOAD58473(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471) → LOAD58473ARR3(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(java.lang.String(i31240))) the following chains were created:
  • We consider the chain LOAD58473(java.lang.Object(ARRAY(i6[7], a205976data[7])), i29383[7], i29471[7]) → LOAD58473ARR3(java.lang.Object(ARRAY(i6[7], a205976data[7])), i29383[7], i29471[7], java.lang.Object(java.lang.String(i31240[7]))) which results in the following constraint:

    (46)    (LOAD58473(java.lang.Object(ARRAY(i6[7], a205976data[7])), i29383[7], i29471[7])≥NonInfC∧LOAD58473(java.lang.Object(ARRAY(i6[7], a205976data[7])), i29383[7], i29471[7])≥LOAD58473ARR3(java.lang.Object(ARRAY(i6[7], a205976data[7])), i29383[7], i29471[7], java.lang.Object(java.lang.String(i31240[7])))∧(UIncreasing(LOAD58473ARR3(java.lang.Object(ARRAY(i6[7], a205976data[7])), i29383[7], i29471[7], java.lang.Object(java.lang.String(i31240[7])))), ≥))



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

    (47)    ((UIncreasing(LOAD58473ARR3(java.lang.Object(ARRAY(i6[7], a205976data[7])), i29383[7], i29471[7], java.lang.Object(java.lang.String(i31240[7])))), ≥)∧[1 + (-1)bso_47] ≥ 0)



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

    (48)    ((UIncreasing(LOAD58473ARR3(java.lang.Object(ARRAY(i6[7], a205976data[7])), i29383[7], i29471[7], java.lang.Object(java.lang.String(i31240[7])))), ≥)∧[1 + (-1)bso_47] ≥ 0)



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

    (49)    ((UIncreasing(LOAD58473ARR3(java.lang.Object(ARRAY(i6[7], a205976data[7])), i29383[7], i29471[7], java.lang.Object(java.lang.String(i31240[7])))), ≥)∧[1 + (-1)bso_47] ≥ 0)



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

    (50)    ((UIncreasing(LOAD58473ARR3(java.lang.Object(ARRAY(i6[7], a205976data[7])), i29383[7], i29471[7], java.lang.Object(java.lang.String(i31240[7])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_47] ≥ 0)







For Pair LOAD58473ARR3(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(java.lang.String(i31240))) → COND_LOAD58473ARR3(&&(&&(&&(&&(>(i31240, 0), >(i29383, 0)), <(i29383, i6)), >(i29471, 0)), >(+(i29383, 1), 0)), java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(java.lang.String(i31240))) the following chains were created:
  • We consider the chain LOAD58473ARR3(java.lang.Object(ARRAY(i6[8], a205976data[8])), i29383[8], i29471[8], java.lang.Object(java.lang.String(i31240[8]))) → COND_LOAD58473ARR3(&&(&&(&&(&&(>(i31240[8], 0), >(i29383[8], 0)), <(i29383[8], i6[8])), >(i29471[8], 0)), >(+(i29383[8], 1), 0)), java.lang.Object(ARRAY(i6[8], a205976data[8])), i29383[8], i29471[8], java.lang.Object(java.lang.String(i31240[8]))), COND_LOAD58473ARR3(TRUE, java.lang.Object(ARRAY(i6[9], a205976data[9])), i29383[9], i29471[9], java.lang.Object(java.lang.String(i31240[9]))) → LOAD58473(java.lang.Object(ARRAY(i6[9], a205976data[9])), +(i29383[9], 1), +(i29471[9], -1)) which results in the following constraint:

    (51)    (&&(&&(&&(&&(>(i31240[8], 0), >(i29383[8], 0)), <(i29383[8], i6[8])), >(i29471[8], 0)), >(+(i29383[8], 1), 0))=TRUEi29383[8]=i29383[9]i6[8]=i6[9]a205976data[8]=a205976data[9]i29471[8]=i29471[9]i31240[8]=i31240[9]LOAD58473ARR3(java.lang.Object(ARRAY(i6[8], a205976data[8])), i29383[8], i29471[8], java.lang.Object(java.lang.String(i31240[8])))≥NonInfC∧LOAD58473ARR3(java.lang.Object(ARRAY(i6[8], a205976data[8])), i29383[8], i29471[8], java.lang.Object(java.lang.String(i31240[8])))≥COND_LOAD58473ARR3(&&(&&(&&(&&(>(i31240[8], 0), >(i29383[8], 0)), <(i29383[8], i6[8])), >(i29471[8], 0)), >(+(i29383[8], 1), 0)), java.lang.Object(ARRAY(i6[8], a205976data[8])), i29383[8], i29471[8], java.lang.Object(java.lang.String(i31240[8])))∧(UIncreasing(COND_LOAD58473ARR3(&&(&&(&&(&&(>(i31240[8], 0), >(i29383[8], 0)), <(i29383[8], i6[8])), >(i29471[8], 0)), >(+(i29383[8], 1), 0)), java.lang.Object(ARRAY(i6[8], a205976data[8])), i29383[8], i29471[8], java.lang.Object(java.lang.String(i31240[8])))), ≥))



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

    (52)    (>(+(i29383[8], 1), 0)=TRUE>(i29471[8], 0)=TRUE<(i29383[8], i6[8])=TRUE>(i31240[8], 0)=TRUE>(i29383[8], 0)=TRUELOAD58473ARR3(java.lang.Object(ARRAY(i6[8], a205976data[8])), i29383[8], i29471[8], java.lang.Object(java.lang.String(i31240[8])))≥NonInfC∧LOAD58473ARR3(java.lang.Object(ARRAY(i6[8], a205976data[8])), i29383[8], i29471[8], java.lang.Object(java.lang.String(i31240[8])))≥COND_LOAD58473ARR3(&&(&&(&&(&&(>(i31240[8], 0), >(i29383[8], 0)), <(i29383[8], i6[8])), >(i29471[8], 0)), >(+(i29383[8], 1), 0)), java.lang.Object(ARRAY(i6[8], a205976data[8])), i29383[8], i29471[8], java.lang.Object(java.lang.String(i31240[8])))∧(UIncreasing(COND_LOAD58473ARR3(&&(&&(&&(&&(>(i31240[8], 0), >(i29383[8], 0)), <(i29383[8], i6[8])), >(i29471[8], 0)), >(+(i29383[8], 1), 0)), java.lang.Object(ARRAY(i6[8], a205976data[8])), i29383[8], i29471[8], java.lang.Object(java.lang.String(i31240[8])))), ≥))



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

    (53)    (i29383[8] ≥ 0∧i29471[8] + [-1] ≥ 0∧i6[8] + [-1] + [-1]i29383[8] ≥ 0∧i31240[8] + [-1] ≥ 0∧i29383[8] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD58473ARR3(&&(&&(&&(&&(>(i31240[8], 0), >(i29383[8], 0)), <(i29383[8], i6[8])), >(i29471[8], 0)), >(+(i29383[8], 1), 0)), java.lang.Object(ARRAY(i6[8], a205976data[8])), i29383[8], i29471[8], java.lang.Object(java.lang.String(i31240[8])))), ≥)∧[(-2)bni_48 + (-1)Bound*bni_48] + [bni_48]i29471[8] ≥ 0∧[(-1)bso_49] ≥ 0)



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

    (54)    (i29383[8] ≥ 0∧i29471[8] + [-1] ≥ 0∧i6[8] + [-1] + [-1]i29383[8] ≥ 0∧i31240[8] + [-1] ≥ 0∧i29383[8] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD58473ARR3(&&(&&(&&(&&(>(i31240[8], 0), >(i29383[8], 0)), <(i29383[8], i6[8])), >(i29471[8], 0)), >(+(i29383[8], 1), 0)), java.lang.Object(ARRAY(i6[8], a205976data[8])), i29383[8], i29471[8], java.lang.Object(java.lang.String(i31240[8])))), ≥)∧[(-2)bni_48 + (-1)Bound*bni_48] + [bni_48]i29471[8] ≥ 0∧[(-1)bso_49] ≥ 0)



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

    (55)    (i29383[8] ≥ 0∧i29471[8] + [-1] ≥ 0∧i6[8] + [-1] + [-1]i29383[8] ≥ 0∧i31240[8] + [-1] ≥ 0∧i29383[8] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD58473ARR3(&&(&&(&&(&&(>(i31240[8], 0), >(i29383[8], 0)), <(i29383[8], i6[8])), >(i29471[8], 0)), >(+(i29383[8], 1), 0)), java.lang.Object(ARRAY(i6[8], a205976data[8])), i29383[8], i29471[8], java.lang.Object(java.lang.String(i31240[8])))), ≥)∧[(-2)bni_48 + (-1)Bound*bni_48] + [bni_48]i29471[8] ≥ 0∧[(-1)bso_49] ≥ 0)



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

    (56)    (i29383[8] ≥ 0∧i29471[8] + [-1] ≥ 0∧i6[8] + [-1] + [-1]i29383[8] ≥ 0∧i31240[8] + [-1] ≥ 0∧i29383[8] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD58473ARR3(&&(&&(&&(&&(>(i31240[8], 0), >(i29383[8], 0)), <(i29383[8], i6[8])), >(i29471[8], 0)), >(+(i29383[8], 1), 0)), java.lang.Object(ARRAY(i6[8], a205976data[8])), i29383[8], i29471[8], java.lang.Object(java.lang.String(i31240[8])))), ≥)∧0 = 0∧[(-2)bni_48 + (-1)Bound*bni_48] + [bni_48]i29471[8] ≥ 0∧0 = 0∧[(-1)bso_49] ≥ 0)



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

    (57)    ([1] + i29383[8] ≥ 0∧i29471[8] + [-1] ≥ 0∧i6[8] + [-2] + [-1]i29383[8] ≥ 0∧i31240[8] + [-1] ≥ 0∧i29383[8] ≥ 0 ⇒ (UIncreasing(COND_LOAD58473ARR3(&&(&&(&&(&&(>(i31240[8], 0), >(i29383[8], 0)), <(i29383[8], i6[8])), >(i29471[8], 0)), >(+(i29383[8], 1), 0)), java.lang.Object(ARRAY(i6[8], a205976data[8])), i29383[8], i29471[8], java.lang.Object(java.lang.String(i31240[8])))), ≥)∧0 = 0∧[(-2)bni_48 + (-1)Bound*bni_48] + [bni_48]i29471[8] ≥ 0∧0 = 0∧[(-1)bso_49] ≥ 0)



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

    (58)    ([1] + i29383[8] ≥ 0∧i29471[8] ≥ 0∧i6[8] + [-2] + [-1]i29383[8] ≥ 0∧i31240[8] + [-1] ≥ 0∧i29383[8] ≥ 0 ⇒ (UIncreasing(COND_LOAD58473ARR3(&&(&&(&&(&&(>(i31240[8], 0), >(i29383[8], 0)), <(i29383[8], i6[8])), >(i29471[8], 0)), >(+(i29383[8], 1), 0)), java.lang.Object(ARRAY(i6[8], a205976data[8])), i29383[8], i29471[8], java.lang.Object(java.lang.String(i31240[8])))), ≥)∧0 = 0∧[(-1)bni_48 + (-1)Bound*bni_48] + [bni_48]i29471[8] ≥ 0∧0 = 0∧[(-1)bso_49] ≥ 0)



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

    (59)    ([1] + i29383[8] ≥ 0∧i29471[8] ≥ 0∧i6[8] ≥ 0∧i31240[8] + [-1] ≥ 0∧i29383[8] ≥ 0 ⇒ (UIncreasing(COND_LOAD58473ARR3(&&(&&(&&(&&(>(i31240[8], 0), >(i29383[8], 0)), <(i29383[8], i6[8])), >(i29471[8], 0)), >(+(i29383[8], 1), 0)), java.lang.Object(ARRAY(i6[8], a205976data[8])), i29383[8], i29471[8], java.lang.Object(java.lang.String(i31240[8])))), ≥)∧0 = 0∧[(-1)bni_48 + (-1)Bound*bni_48] + [bni_48]i29471[8] ≥ 0∧0 = 0∧[(-1)bso_49] ≥ 0)



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

    (60)    ([1] + i29383[8] ≥ 0∧i29471[8] ≥ 0∧i6[8] ≥ 0∧i31240[8] ≥ 0∧i29383[8] ≥ 0 ⇒ (UIncreasing(COND_LOAD58473ARR3(&&(&&(&&(&&(>(i31240[8], 0), >(i29383[8], 0)), <(i29383[8], i6[8])), >(i29471[8], 0)), >(+(i29383[8], 1), 0)), java.lang.Object(ARRAY(i6[8], a205976data[8])), i29383[8], i29471[8], java.lang.Object(java.lang.String(i31240[8])))), ≥)∧0 = 0∧[(-1)bni_48 + (-1)Bound*bni_48] + [bni_48]i29471[8] ≥ 0∧0 = 0∧[(-1)bso_49] ≥ 0)







For Pair COND_LOAD58473ARR3(TRUE, java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(java.lang.String(i31240))) → LOAD58473(java.lang.Object(ARRAY(i6, a205976data)), +(i29383, 1), +(i29471, -1)) the following chains were created:
  • We consider the chain COND_LOAD58473ARR3(TRUE, java.lang.Object(ARRAY(i6[9], a205976data[9])), i29383[9], i29471[9], java.lang.Object(java.lang.String(i31240[9]))) → LOAD58473(java.lang.Object(ARRAY(i6[9], a205976data[9])), +(i29383[9], 1), +(i29471[9], -1)) which results in the following constraint:

    (61)    (COND_LOAD58473ARR3(TRUE, java.lang.Object(ARRAY(i6[9], a205976data[9])), i29383[9], i29471[9], java.lang.Object(java.lang.String(i31240[9])))≥NonInfC∧COND_LOAD58473ARR3(TRUE, java.lang.Object(ARRAY(i6[9], a205976data[9])), i29383[9], i29471[9], java.lang.Object(java.lang.String(i31240[9])))≥LOAD58473(java.lang.Object(ARRAY(i6[9], a205976data[9])), +(i29383[9], 1), +(i29471[9], -1))∧(UIncreasing(LOAD58473(java.lang.Object(ARRAY(i6[9], a205976data[9])), +(i29383[9], 1), +(i29471[9], -1))), ≥))



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

    (62)    ((UIncreasing(LOAD58473(java.lang.Object(ARRAY(i6[9], a205976data[9])), +(i29383[9], 1), +(i29471[9], -1))), ≥)∧[(-1)bso_51] ≥ 0)



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

    (63)    ((UIncreasing(LOAD58473(java.lang.Object(ARRAY(i6[9], a205976data[9])), +(i29383[9], 1), +(i29471[9], -1))), ≥)∧[(-1)bso_51] ≥ 0)



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

    (64)    ((UIncreasing(LOAD58473(java.lang.Object(ARRAY(i6[9], a205976data[9])), +(i29383[9], 1), +(i29471[9], -1))), ≥)∧[(-1)bso_51] ≥ 0)



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

    (65)    ((UIncreasing(LOAD58473(java.lang.Object(ARRAY(i6[9], a205976data[9])), +(i29383[9], 1), +(i29471[9], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_51] ≥ 0)







For Pair JMP61974'(java.lang.Object(ARRAY(i6, a205976data)), i30292, i29471) → INC62040(java.lang.Object(ARRAY(i6, a205976data)), i30292, i29471) the following chains were created:
  • We consider the chain JMP61974'(java.lang.Object(ARRAY(i6[10], a205976data[10])), i30292[10], i29471[10]) → INC62040(java.lang.Object(ARRAY(i6[10], a205976data[10])), i30292[10], i29471[10]), INC62040(java.lang.Object(ARRAY(i6[3], a205976data[3])), i30292[3], i29471[3]) → LOAD58473(java.lang.Object(ARRAY(i6[3], a205976data[3])), i30292[3], +(i29471[3], -1)) which results in the following constraint:

    (66)    (i30292[10]=i30292[3]i29471[10]=i29471[3]i6[10]=i6[3]a205976data[10]=a205976data[3]JMP61974'(java.lang.Object(ARRAY(i6[10], a205976data[10])), i30292[10], i29471[10])≥NonInfC∧JMP61974'(java.lang.Object(ARRAY(i6[10], a205976data[10])), i30292[10], i29471[10])≥INC62040(java.lang.Object(ARRAY(i6[10], a205976data[10])), i30292[10], i29471[10])∧(UIncreasing(INC62040(java.lang.Object(ARRAY(i6[10], a205976data[10])), i30292[10], i29471[10])), ≥))



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

    (67)    (JMP61974'(java.lang.Object(ARRAY(i6[10], a205976data[10])), i30292[10], i29471[10])≥NonInfC∧JMP61974'(java.lang.Object(ARRAY(i6[10], a205976data[10])), i30292[10], i29471[10])≥INC62040(java.lang.Object(ARRAY(i6[10], a205976data[10])), i30292[10], i29471[10])∧(UIncreasing(INC62040(java.lang.Object(ARRAY(i6[10], a205976data[10])), i30292[10], i29471[10])), ≥))



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

    (68)    ((UIncreasing(INC62040(java.lang.Object(ARRAY(i6[10], a205976data[10])), i30292[10], i29471[10])), ≥)∧[(-1)bso_53] ≥ 0)



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

    (69)    ((UIncreasing(INC62040(java.lang.Object(ARRAY(i6[10], a205976data[10])), i30292[10], i29471[10])), ≥)∧[(-1)bso_53] ≥ 0)



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

    (70)    ((UIncreasing(INC62040(java.lang.Object(ARRAY(i6[10], a205976data[10])), i30292[10], i29471[10])), ≥)∧[(-1)bso_53] ≥ 0)



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

    (71)    ((UIncreasing(INC62040(java.lang.Object(ARRAY(i6[10], a205976data[10])), i30292[10], i29471[10])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_53] ≥ 0)







For Pair LOAD58473(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471) → LOAD58473ARR4(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(java.lang.String(i31240))) the following chains were created:
  • We consider the chain LOAD58473(java.lang.Object(ARRAY(i6[11], a205976data[11])), i29383[11], i29471[11]) → LOAD58473ARR4(java.lang.Object(ARRAY(i6[11], a205976data[11])), i29383[11], i29471[11], java.lang.Object(java.lang.String(i31240[11]))) which results in the following constraint:

    (72)    (LOAD58473(java.lang.Object(ARRAY(i6[11], a205976data[11])), i29383[11], i29471[11])≥NonInfC∧LOAD58473(java.lang.Object(ARRAY(i6[11], a205976data[11])), i29383[11], i29471[11])≥LOAD58473ARR4(java.lang.Object(ARRAY(i6[11], a205976data[11])), i29383[11], i29471[11], java.lang.Object(java.lang.String(i31240[11])))∧(UIncreasing(LOAD58473ARR4(java.lang.Object(ARRAY(i6[11], a205976data[11])), i29383[11], i29471[11], java.lang.Object(java.lang.String(i31240[11])))), ≥))



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

    (73)    ((UIncreasing(LOAD58473ARR4(java.lang.Object(ARRAY(i6[11], a205976data[11])), i29383[11], i29471[11], java.lang.Object(java.lang.String(i31240[11])))), ≥)∧[(-1)bso_55] ≥ 0)



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

    (74)    ((UIncreasing(LOAD58473ARR4(java.lang.Object(ARRAY(i6[11], a205976data[11])), i29383[11], i29471[11], java.lang.Object(java.lang.String(i31240[11])))), ≥)∧[(-1)bso_55] ≥ 0)



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

    (75)    ((UIncreasing(LOAD58473ARR4(java.lang.Object(ARRAY(i6[11], a205976data[11])), i29383[11], i29471[11], java.lang.Object(java.lang.String(i31240[11])))), ≥)∧[(-1)bso_55] ≥ 0)



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

    (76)    ((UIncreasing(LOAD58473ARR4(java.lang.Object(ARRAY(i6[11], a205976data[11])), i29383[11], i29471[11], java.lang.Object(java.lang.String(i31240[11])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_55] ≥ 0)







For Pair LOAD58473ARR4(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(java.lang.String(i31240))) → COND_LOAD58473ARR4(&&(&&(&&(&&(>(i31240, 0), >(i29383, 0)), <(i29383, i6)), >(i29471, 0)), >(+(i29383, 1), 0)), java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(java.lang.String(i31240))) the following chains were created:
  • We consider the chain LOAD58473ARR4(java.lang.Object(ARRAY(i6[12], a205976data[12])), i29383[12], i29471[12], java.lang.Object(java.lang.String(i31240[12]))) → COND_LOAD58473ARR4(&&(&&(&&(&&(>(i31240[12], 0), >(i29383[12], 0)), <(i29383[12], i6[12])), >(i29471[12], 0)), >(+(i29383[12], 1), 0)), java.lang.Object(ARRAY(i6[12], a205976data[12])), i29383[12], i29471[12], java.lang.Object(java.lang.String(i31240[12]))), COND_LOAD58473ARR4(TRUE, java.lang.Object(ARRAY(i6[13], a205976data[13])), i29383[13], i29471[13], java.lang.Object(java.lang.String(i31240[13]))) → INC62040(java.lang.Object(ARRAY(i6[13], a205976data[13])), +(i29383[13], 1), i29471[13]) which results in the following constraint:

    (77)    (i29383[12]=i29383[13]i6[12]=i6[13]a205976data[12]=a205976data[13]i29471[12]=i29471[13]&&(&&(&&(&&(>(i31240[12], 0), >(i29383[12], 0)), <(i29383[12], i6[12])), >(i29471[12], 0)), >(+(i29383[12], 1), 0))=TRUEi31240[12]=i31240[13]LOAD58473ARR4(java.lang.Object(ARRAY(i6[12], a205976data[12])), i29383[12], i29471[12], java.lang.Object(java.lang.String(i31240[12])))≥NonInfC∧LOAD58473ARR4(java.lang.Object(ARRAY(i6[12], a205976data[12])), i29383[12], i29471[12], java.lang.Object(java.lang.String(i31240[12])))≥COND_LOAD58473ARR4(&&(&&(&&(&&(>(i31240[12], 0), >(i29383[12], 0)), <(i29383[12], i6[12])), >(i29471[12], 0)), >(+(i29383[12], 1), 0)), java.lang.Object(ARRAY(i6[12], a205976data[12])), i29383[12], i29471[12], java.lang.Object(java.lang.String(i31240[12])))∧(UIncreasing(COND_LOAD58473ARR4(&&(&&(&&(&&(>(i31240[12], 0), >(i29383[12], 0)), <(i29383[12], i6[12])), >(i29471[12], 0)), >(+(i29383[12], 1), 0)), java.lang.Object(ARRAY(i6[12], a205976data[12])), i29383[12], i29471[12], java.lang.Object(java.lang.String(i31240[12])))), ≥))



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

    (78)    (>(+(i29383[12], 1), 0)=TRUE>(i29471[12], 0)=TRUE<(i29383[12], i6[12])=TRUE>(i31240[12], 0)=TRUE>(i29383[12], 0)=TRUELOAD58473ARR4(java.lang.Object(ARRAY(i6[12], a205976data[12])), i29383[12], i29471[12], java.lang.Object(java.lang.String(i31240[12])))≥NonInfC∧LOAD58473ARR4(java.lang.Object(ARRAY(i6[12], a205976data[12])), i29383[12], i29471[12], java.lang.Object(java.lang.String(i31240[12])))≥COND_LOAD58473ARR4(&&(&&(&&(&&(>(i31240[12], 0), >(i29383[12], 0)), <(i29383[12], i6[12])), >(i29471[12], 0)), >(+(i29383[12], 1), 0)), java.lang.Object(ARRAY(i6[12], a205976data[12])), i29383[12], i29471[12], java.lang.Object(java.lang.String(i31240[12])))∧(UIncreasing(COND_LOAD58473ARR4(&&(&&(&&(&&(>(i31240[12], 0), >(i29383[12], 0)), <(i29383[12], i6[12])), >(i29471[12], 0)), >(+(i29383[12], 1), 0)), java.lang.Object(ARRAY(i6[12], a205976data[12])), i29383[12], i29471[12], java.lang.Object(java.lang.String(i31240[12])))), ≥))



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

    (79)    (i29383[12] ≥ 0∧i29471[12] + [-1] ≥ 0∧i6[12] + [-1] + [-1]i29383[12] ≥ 0∧i31240[12] + [-1] ≥ 0∧i29383[12] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD58473ARR4(&&(&&(&&(&&(>(i31240[12], 0), >(i29383[12], 0)), <(i29383[12], i6[12])), >(i29471[12], 0)), >(+(i29383[12], 1), 0)), java.lang.Object(ARRAY(i6[12], a205976data[12])), i29383[12], i29471[12], java.lang.Object(java.lang.String(i31240[12])))), ≥)∧[(-1)bni_56 + (-1)Bound*bni_56] + [bni_56]i29471[12] ≥ 0∧[1 + (-1)bso_57] ≥ 0)



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

    (80)    (i29383[12] ≥ 0∧i29471[12] + [-1] ≥ 0∧i6[12] + [-1] + [-1]i29383[12] ≥ 0∧i31240[12] + [-1] ≥ 0∧i29383[12] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD58473ARR4(&&(&&(&&(&&(>(i31240[12], 0), >(i29383[12], 0)), <(i29383[12], i6[12])), >(i29471[12], 0)), >(+(i29383[12], 1), 0)), java.lang.Object(ARRAY(i6[12], a205976data[12])), i29383[12], i29471[12], java.lang.Object(java.lang.String(i31240[12])))), ≥)∧[(-1)bni_56 + (-1)Bound*bni_56] + [bni_56]i29471[12] ≥ 0∧[1 + (-1)bso_57] ≥ 0)



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

    (81)    (i29383[12] ≥ 0∧i29471[12] + [-1] ≥ 0∧i6[12] + [-1] + [-1]i29383[12] ≥ 0∧i31240[12] + [-1] ≥ 0∧i29383[12] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD58473ARR4(&&(&&(&&(&&(>(i31240[12], 0), >(i29383[12], 0)), <(i29383[12], i6[12])), >(i29471[12], 0)), >(+(i29383[12], 1), 0)), java.lang.Object(ARRAY(i6[12], a205976data[12])), i29383[12], i29471[12], java.lang.Object(java.lang.String(i31240[12])))), ≥)∧[(-1)bni_56 + (-1)Bound*bni_56] + [bni_56]i29471[12] ≥ 0∧[1 + (-1)bso_57] ≥ 0)



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

    (82)    (i29383[12] ≥ 0∧i29471[12] + [-1] ≥ 0∧i6[12] + [-1] + [-1]i29383[12] ≥ 0∧i31240[12] + [-1] ≥ 0∧i29383[12] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD58473ARR4(&&(&&(&&(&&(>(i31240[12], 0), >(i29383[12], 0)), <(i29383[12], i6[12])), >(i29471[12], 0)), >(+(i29383[12], 1), 0)), java.lang.Object(ARRAY(i6[12], a205976data[12])), i29383[12], i29471[12], java.lang.Object(java.lang.String(i31240[12])))), ≥)∧0 = 0∧[(-1)bni_56 + (-1)Bound*bni_56] + [bni_56]i29471[12] ≥ 0∧0 = 0∧[1 + (-1)bso_57] ≥ 0)



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

    (83)    ([1] + i29383[12] ≥ 0∧i29471[12] + [-1] ≥ 0∧i6[12] + [-2] + [-1]i29383[12] ≥ 0∧i31240[12] + [-1] ≥ 0∧i29383[12] ≥ 0 ⇒ (UIncreasing(COND_LOAD58473ARR4(&&(&&(&&(&&(>(i31240[12], 0), >(i29383[12], 0)), <(i29383[12], i6[12])), >(i29471[12], 0)), >(+(i29383[12], 1), 0)), java.lang.Object(ARRAY(i6[12], a205976data[12])), i29383[12], i29471[12], java.lang.Object(java.lang.String(i31240[12])))), ≥)∧0 = 0∧[(-1)bni_56 + (-1)Bound*bni_56] + [bni_56]i29471[12] ≥ 0∧0 = 0∧[1 + (-1)bso_57] ≥ 0)



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

    (84)    ([1] + i29383[12] ≥ 0∧i29471[12] ≥ 0∧i6[12] + [-2] + [-1]i29383[12] ≥ 0∧i31240[12] + [-1] ≥ 0∧i29383[12] ≥ 0 ⇒ (UIncreasing(COND_LOAD58473ARR4(&&(&&(&&(&&(>(i31240[12], 0), >(i29383[12], 0)), <(i29383[12], i6[12])), >(i29471[12], 0)), >(+(i29383[12], 1), 0)), java.lang.Object(ARRAY(i6[12], a205976data[12])), i29383[12], i29471[12], java.lang.Object(java.lang.String(i31240[12])))), ≥)∧0 = 0∧[(-1)Bound*bni_56] + [bni_56]i29471[12] ≥ 0∧0 = 0∧[1 + (-1)bso_57] ≥ 0)



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

    (85)    ([1] + i29383[12] ≥ 0∧i29471[12] ≥ 0∧i6[12] ≥ 0∧i31240[12] + [-1] ≥ 0∧i29383[12] ≥ 0 ⇒ (UIncreasing(COND_LOAD58473ARR4(&&(&&(&&(&&(>(i31240[12], 0), >(i29383[12], 0)), <(i29383[12], i6[12])), >(i29471[12], 0)), >(+(i29383[12], 1), 0)), java.lang.Object(ARRAY(i6[12], a205976data[12])), i29383[12], i29471[12], java.lang.Object(java.lang.String(i31240[12])))), ≥)∧0 = 0∧[(-1)Bound*bni_56] + [bni_56]i29471[12] ≥ 0∧0 = 0∧[1 + (-1)bso_57] ≥ 0)



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

    (86)    ([1] + i29383[12] ≥ 0∧i29471[12] ≥ 0∧i6[12] ≥ 0∧i31240[12] ≥ 0∧i29383[12] ≥ 0 ⇒ (UIncreasing(COND_LOAD58473ARR4(&&(&&(&&(&&(>(i31240[12], 0), >(i29383[12], 0)), <(i29383[12], i6[12])), >(i29471[12], 0)), >(+(i29383[12], 1), 0)), java.lang.Object(ARRAY(i6[12], a205976data[12])), i29383[12], i29471[12], java.lang.Object(java.lang.String(i31240[12])))), ≥)∧0 = 0∧[(-1)Bound*bni_56] + [bni_56]i29471[12] ≥ 0∧0 = 0∧[1 + (-1)bso_57] ≥ 0)







For Pair COND_LOAD58473ARR4(TRUE, java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(java.lang.String(i31240))) → INC62040(java.lang.Object(ARRAY(i6, a205976data)), +(i29383, 1), i29471) the following chains were created:
  • We consider the chain COND_LOAD58473ARR4(TRUE, java.lang.Object(ARRAY(i6[13], a205976data[13])), i29383[13], i29471[13], java.lang.Object(java.lang.String(i31240[13]))) → INC62040(java.lang.Object(ARRAY(i6[13], a205976data[13])), +(i29383[13], 1), i29471[13]) which results in the following constraint:

    (87)    (COND_LOAD58473ARR4(TRUE, java.lang.Object(ARRAY(i6[13], a205976data[13])), i29383[13], i29471[13], java.lang.Object(java.lang.String(i31240[13])))≥NonInfC∧COND_LOAD58473ARR4(TRUE, java.lang.Object(ARRAY(i6[13], a205976data[13])), i29383[13], i29471[13], java.lang.Object(java.lang.String(i31240[13])))≥INC62040(java.lang.Object(ARRAY(i6[13], a205976data[13])), +(i29383[13], 1), i29471[13])∧(UIncreasing(INC62040(java.lang.Object(ARRAY(i6[13], a205976data[13])), +(i29383[13], 1), i29471[13])), ≥))



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

    (88)    ((UIncreasing(INC62040(java.lang.Object(ARRAY(i6[13], a205976data[13])), +(i29383[13], 1), i29471[13])), ≥)∧[(-1)bso_59] ≥ 0)



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

    (89)    ((UIncreasing(INC62040(java.lang.Object(ARRAY(i6[13], a205976data[13])), +(i29383[13], 1), i29471[13])), ≥)∧[(-1)bso_59] ≥ 0)



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

    (90)    ((UIncreasing(INC62040(java.lang.Object(ARRAY(i6[13], a205976data[13])), +(i29383[13], 1), i29471[13])), ≥)∧[(-1)bso_59] ≥ 0)



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

    (91)    ((UIncreasing(INC62040(java.lang.Object(ARRAY(i6[13], a205976data[13])), +(i29383[13], 1), i29471[13])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_59] ≥ 0)







For Pair LOAD58473(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471) → LOAD58473ARR5(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(java.lang.String(i31241))) the following chains were created:
  • We consider the chain LOAD58473(java.lang.Object(ARRAY(i6[14], a205976data[14])), i29383[14], i29471[14]) → LOAD58473ARR5(java.lang.Object(ARRAY(i6[14], a205976data[14])), i29383[14], i29471[14], java.lang.Object(java.lang.String(i31241[14]))) which results in the following constraint:

    (92)    (LOAD58473(java.lang.Object(ARRAY(i6[14], a205976data[14])), i29383[14], i29471[14])≥NonInfC∧LOAD58473(java.lang.Object(ARRAY(i6[14], a205976data[14])), i29383[14], i29471[14])≥LOAD58473ARR5(java.lang.Object(ARRAY(i6[14], a205976data[14])), i29383[14], i29471[14], java.lang.Object(java.lang.String(i31241[14])))∧(UIncreasing(LOAD58473ARR5(java.lang.Object(ARRAY(i6[14], a205976data[14])), i29383[14], i29471[14], java.lang.Object(java.lang.String(i31241[14])))), ≥))



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

    (93)    ((UIncreasing(LOAD58473ARR5(java.lang.Object(ARRAY(i6[14], a205976data[14])), i29383[14], i29471[14], java.lang.Object(java.lang.String(i31241[14])))), ≥)∧[1 + (-1)bso_61] ≥ 0)



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

    (94)    ((UIncreasing(LOAD58473ARR5(java.lang.Object(ARRAY(i6[14], a205976data[14])), i29383[14], i29471[14], java.lang.Object(java.lang.String(i31241[14])))), ≥)∧[1 + (-1)bso_61] ≥ 0)



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

    (95)    ((UIncreasing(LOAD58473ARR5(java.lang.Object(ARRAY(i6[14], a205976data[14])), i29383[14], i29471[14], java.lang.Object(java.lang.String(i31241[14])))), ≥)∧[1 + (-1)bso_61] ≥ 0)



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

    (96)    ((UIncreasing(LOAD58473ARR5(java.lang.Object(ARRAY(i6[14], a205976data[14])), i29383[14], i29471[14], java.lang.Object(java.lang.String(i31241[14])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_61] ≥ 0)







For Pair LOAD58473ARR5(java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(java.lang.String(i31241))) → COND_LOAD58473ARR5(&&(&&(&&(&&(<=(i31241, 0), >(i29383, 0)), <(i29383, i6)), >(i29471, 0)), >(+(i29383, 1), 0)), java.lang.Object(ARRAY(i6, a205976data)), i29383, i29471, java.lang.Object(java.lang.String(i31241))) the following chains were created:
  • We consider the chain LOAD58473ARR5(java.lang.Object(ARRAY(i6[15], a205976data[15])), i29383[15], i29471[15], java.lang.Object(java.lang.String(i31241[15]))) → COND_LOAD58473ARR5(&&(&&(&&(&&(<=(i31241[15], 0), >(i29383[15], 0)), <(i29383[15], i6[15])), >(i29471[15], 0)), >(+(i29383[15], 1), 0)), java.lang.Object(ARRAY(i6[15], a205976data[15])), i29383[15], i29471[15], java.lang.Object(java.lang.String(i31241[15]))), COND_LOAD58473ARR5(TRUE, java.lang.Object(ARRAY(i6[16], a205976data[16])), i29383[16], i29471[16], java.lang.Object(java.lang.String(i31241[16]))) → INC62040(