(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(java.lang.Object(ARRAY(i6[16], a205976data[16])), +(i29383[16], 1), i29471[16]) which results in the following constraint:

    (97)    (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))=TRUEi29383[15]=i29383[16]LOAD58473ARR5(java.lang.Object(ARRAY(i6[15], a205976data[15])), i29383[15], i29471[15], java.lang.Object(java.lang.String(i31241[15])))≥NonInfC∧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])))∧(UIncreasing(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])))), ≥))



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

    (98)    (>(+(i29383[15], 1), 0)=TRUE>(i29471[15], 0)=TRUE<(i29383[15], i6[15])=TRUE<=(i31241[15], 0)=TRUE>(i29383[15], 0)=TRUELOAD58473ARR5(java.lang.Object(ARRAY(i6[15], a205976data[15])), i29383[15], i29471[15], java.lang.Object(java.lang.String(i31241[15])))≥NonInfC∧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])))∧(UIncreasing(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])))), ≥))



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

    (99)    (i29383[15] ≥ 0∧i29471[15] + [-1] ≥ 0∧i6[15] + [-1] + [-1]i29383[15] ≥ 0∧[-1]i31241[15] ≥ 0∧i29383[15] + [-1] ≥ 0 ⇒ (UIncreasing(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])))), ≥)∧[(-2)bni_62 + (-1)Bound*bni_62] + [bni_62]i29471[15] ≥ 0∧[(-1)bso_63] ≥ 0)



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

    (100)    (i29383[15] ≥ 0∧i29471[15] + [-1] ≥ 0∧i6[15] + [-1] + [-1]i29383[15] ≥ 0∧[-1]i31241[15] ≥ 0∧i29383[15] + [-1] ≥ 0 ⇒ (UIncreasing(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])))), ≥)∧[(-2)bni_62 + (-1)Bound*bni_62] + [bni_62]i29471[15] ≥ 0∧[(-1)bso_63] ≥ 0)



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

    (101)    (i29383[15] ≥ 0∧i29471[15] + [-1] ≥ 0∧i6[15] + [-1] + [-1]i29383[15] ≥ 0∧[-1]i31241[15] ≥ 0∧i29383[15] + [-1] ≥ 0 ⇒ (UIncreasing(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])))), ≥)∧[(-2)bni_62 + (-1)Bound*bni_62] + [bni_62]i29471[15] ≥ 0∧[(-1)bso_63] ≥ 0)



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

    (102)    (i29383[15] ≥ 0∧i29471[15] + [-1] ≥ 0∧i6[15] + [-1] + [-1]i29383[15] ≥ 0∧[-1]i31241[15] ≥ 0∧i29383[15] + [-1] ≥ 0 ⇒ (UIncreasing(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])))), ≥)∧0 = 0∧[(-2)bni_62 + (-1)Bound*bni_62] + [bni_62]i29471[15] ≥ 0∧0 = 0∧[(-1)bso_63] ≥ 0)



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

    (103)    ([1] + i29383[15] ≥ 0∧i29471[15] + [-1] ≥ 0∧i6[15] + [-2] + [-1]i29383[15] ≥ 0∧[-1]i31241[15] ≥ 0∧i29383[15] ≥ 0 ⇒ (UIncreasing(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])))), ≥)∧0 = 0∧[(-2)bni_62 + (-1)Bound*bni_62] + [bni_62]i29471[15] ≥ 0∧0 = 0∧[(-1)bso_63] ≥ 0)



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

    (104)    ([1] + i29383[15] ≥ 0∧i29471[15] ≥ 0∧i6[15] + [-2] + [-1]i29383[15] ≥ 0∧[-1]i31241[15] ≥ 0∧i29383[15] ≥ 0 ⇒ (UIncreasing(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])))), ≥)∧0 = 0∧[(-1)bni_62 + (-1)Bound*bni_62] + [bni_62]i29471[15] ≥ 0∧0 = 0∧[(-1)bso_63] ≥ 0)



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

    (105)    ([1] + i29383[15] ≥ 0∧i29471[15] ≥ 0∧i6[15] ≥ 0∧[-1]i31241[15] ≥ 0∧i29383[15] ≥ 0 ⇒ (UIncreasing(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])))), ≥)∧0 = 0∧[(-1)bni_62 + (-1)Bound*bni_62] + [bni_62]i29471[15] ≥ 0∧0 = 0∧[(-1)bso_63] ≥ 0)



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

    (106)    ([1] + i29383[15] ≥ 0∧i29471[15] ≥ 0∧i6[15] ≥ 0∧i31241[15] ≥ 0∧i29383[15] ≥ 0 ⇒ (UIncreasing(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])))), ≥)∧0 = 0∧[(-1)bni_62 + (-1)Bound*bni_62] + [bni_62]i29471[15] ≥ 0∧0 = 0∧[(-1)bso_63] ≥ 0)







For Pair 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) the following chains were created:
  • We consider the chain 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]) which results in the following constraint:

    (107)    (COND_LOAD58473ARR5(TRUE, java.lang.Object(ARRAY(i6[16], a205976data[16])), i29383[16], i29471[16], java.lang.Object(java.lang.String(i31241[16])))≥NonInfC∧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])∧(UIncreasing(INC62040(java.lang.Object(ARRAY(i6[16], a205976data[16])), +(i29383[16], 1), i29471[16])), ≥))



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

    (108)    ((UIncreasing(INC62040(java.lang.Object(ARRAY(i6[16], a205976data[16])), +(i29383[16], 1), i29471[16])), ≥)∧[(-1)bso_65] ≥ 0)



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

    (109)    ((UIncreasing(INC62040(java.lang.Object(ARRAY(i6[16], a205976data[16])), +(i29383[16], 1), i29471[16])), ≥)∧[(-1)bso_65] ≥ 0)



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

    (110)    ((UIncreasing(INC62040(java.lang.Object(ARRAY(i6[16], a205976data[16])), +(i29383[16], 1), i29471[16])), ≥)∧[(-1)bso_65] ≥ 0)



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

    (111)    ((UIncreasing(INC62040(java.lang.Object(ARRAY(i6[16], a205976data[16])), +(i29383[16], 1), i29471[16])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_65] ≥ 0)







For Pair 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))) the following chains were created:
  • We consider the chain 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]))) which results in the following constraint:

    (112)    (LOAD58473(java.lang.Object(ARRAY(i6[17], a205976data[17])), i29383[17], i29471[17])≥NonInfC∧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])))∧(UIncreasing(LOAD58473ARR8(java.lang.Object(ARRAY(i6[17], a205976data[17])), i29383[17], i29471[17], java.lang.Object(java.lang.String(i31241[17])))), ≥))



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

    (113)    ((UIncreasing(LOAD58473ARR8(java.lang.Object(ARRAY(i6[17], a205976data[17])), i29383[17], i29471[17], java.lang.Object(java.lang.String(i31241[17])))), ≥)∧[1 + (-1)bso_67] ≥ 0)



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

    (114)    ((UIncreasing(LOAD58473ARR8(java.lang.Object(ARRAY(i6[17], a205976data[17])), i29383[17], i29471[17], java.lang.Object(java.lang.String(i31241[17])))), ≥)∧[1 + (-1)bso_67] ≥ 0)



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

    (115)    ((UIncreasing(LOAD58473ARR8(java.lang.Object(ARRAY(i6[17], a205976data[17])), i29383[17], i29471[17], java.lang.Object(java.lang.String(i31241[17])))), ≥)∧[1 + (-1)bso_67] ≥ 0)



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

    (116)    ((UIncreasing(LOAD58473ARR8(java.lang.Object(ARRAY(i6[17], a205976data[17])), i29383[17], i29471[17], java.lang.Object(java.lang.String(i31241[17])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_67] ≥ 0)







For Pair 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))) the following chains were created:
  • We consider the chain 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]))), 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]) which results in the following constraint:

    (117)    (i31241[18]=i31241[19]&&(&&(&&(&&(<=(i31241[18], 0), >(i29383[18], 0)), <(i29383[18], i6[18])), >(i29471[18], 0)), >(+(i29383[18], 1), 0))=TRUEi29383[18]=i29383[19]i29471[18]=i29471[19]i6[18]=i6[19]a205976data[18]=a205976data[19]LOAD58473ARR8(java.lang.Object(ARRAY(i6[18], a205976data[18])), i29383[18], i29471[18], java.lang.Object(java.lang.String(i31241[18])))≥NonInfC∧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])))∧(UIncreasing(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])))), ≥))



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

    (118)    (>(+(i29383[18], 1), 0)=TRUE>(i29471[18], 0)=TRUE<(i29383[18], i6[18])=TRUE<=(i31241[18], 0)=TRUE>(i29383[18], 0)=TRUELOAD58473ARR8(java.lang.Object(ARRAY(i6[18], a205976data[18])), i29383[18], i29471[18], java.lang.Object(java.lang.String(i31241[18])))≥NonInfC∧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])))∧(UIncreasing(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])))), ≥))



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

    (119)    (i29383[18] ≥ 0∧i29471[18] + [-1] ≥ 0∧i6[18] + [-1] + [-1]i29383[18] ≥ 0∧[-1]i31241[18] ≥ 0∧i29383[18] + [-1] ≥ 0 ⇒ (UIncreasing(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])))), ≥)∧[(-2)bni_68 + (-1)Bound*bni_68] + [bni_68]i29471[18] ≥ 0∧[(-1)bso_69] ≥ 0)



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

    (120)    (i29383[18] ≥ 0∧i29471[18] + [-1] ≥ 0∧i6[18] + [-1] + [-1]i29383[18] ≥ 0∧[-1]i31241[18] ≥ 0∧i29383[18] + [-1] ≥ 0 ⇒ (UIncreasing(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])))), ≥)∧[(-2)bni_68 + (-1)Bound*bni_68] + [bni_68]i29471[18] ≥ 0∧[(-1)bso_69] ≥ 0)



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

    (121)    (i29383[18] ≥ 0∧i29471[18] + [-1] ≥ 0∧i6[18] + [-1] + [-1]i29383[18] ≥ 0∧[-1]i31241[18] ≥ 0∧i29383[18] + [-1] ≥ 0 ⇒ (UIncreasing(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])))), ≥)∧[(-2)bni_68 + (-1)Bound*bni_68] + [bni_68]i29471[18] ≥ 0∧[(-1)bso_69] ≥ 0)



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

    (122)    (i29383[18] ≥ 0∧i29471[18] + [-1] ≥ 0∧i6[18] + [-1] + [-1]i29383[18] ≥ 0∧[-1]i31241[18] ≥ 0∧i29383[18] + [-1] ≥ 0 ⇒ (UIncreasing(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])))), ≥)∧0 = 0∧[(-2)bni_68 + (-1)Bound*bni_68] + [bni_68]i29471[18] ≥ 0∧0 = 0∧[(-1)bso_69] ≥ 0)



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

    (123)    ([1] + i29383[18] ≥ 0∧i29471[18] + [-1] ≥ 0∧i6[18] + [-2] + [-1]i29383[18] ≥ 0∧[-1]i31241[18] ≥ 0∧i29383[18] ≥ 0 ⇒ (UIncreasing(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])))), ≥)∧0 = 0∧[(-2)bni_68 + (-1)Bound*bni_68] + [bni_68]i29471[18] ≥ 0∧0 = 0∧[(-1)bso_69] ≥ 0)



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

    (124)    ([1] + i29383[18] ≥ 0∧i29471[18] ≥ 0∧i6[18] + [-2] + [-1]i29383[18] ≥ 0∧[-1]i31241[18] ≥ 0∧i29383[18] ≥ 0 ⇒ (UIncreasing(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])))), ≥)∧0 = 0∧[(-1)bni_68 + (-1)Bound*bni_68] + [bni_68]i29471[18] ≥ 0∧0 = 0∧[(-1)bso_69] ≥ 0)



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

    (125)    ([1] + i29383[18] ≥ 0∧i29471[18] ≥ 0∧i6[18] ≥ 0∧[-1]i31241[18] ≥ 0∧i29383[18] ≥ 0 ⇒ (UIncreasing(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])))), ≥)∧0 = 0∧[(-1)bni_68 + (-1)Bound*bni_68] + [bni_68]i29471[18] ≥ 0∧0 = 0∧[(-1)bso_69] ≥ 0)



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

    (126)    ([1] + i29383[18] ≥ 0∧i29471[18] ≥ 0∧i6[18] ≥ 0∧i31241[18] ≥ 0∧i29383[18] ≥ 0 ⇒ (UIncreasing(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])))), ≥)∧0 = 0∧[(-1)bni_68 + (-1)Bound*bni_68] + [bni_68]i29471[18] ≥ 0∧0 = 0∧[(-1)bso_69] ≥ 0)







For Pair 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 following chains were created:
  • We consider the chain 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]) which results in the following constraint:

    (127)    (COND_LOAD58473ARR8(TRUE, java.lang.Object(ARRAY(i6[19], a205976data[19])), i29383[19], i29471[19], java.lang.Object(java.lang.String(i31241[19])))≥NonInfC∧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])∧(UIncreasing(JMP61974'(java.lang.Object(ARRAY(i6[19], a205976data[19])), +(i29383[19], 1), i29471[19])), ≥))



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

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



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

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



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

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



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

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







To summarize, we get the following constraints P for the following pairs.
  • 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)))
    • ((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)

  • 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)))
    • ([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)

  • 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)
    • ((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)

  • INC62040(java.lang.Object(ARRAY(i6, a205976data)), i30292, i29471) → LOAD58473(java.lang.Object(ARRAY(i6, a205976data)), i30292, +(i29471, -1))
    • ((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)

  • 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)))
    • ((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)

  • 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)))
    • ([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)

  • 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))
    • ((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)

  • 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)))
    • ((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)

  • 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)))
    • ([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)

  • 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))
    • ((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)

  • JMP61974'(java.lang.Object(ARRAY(i6, a205976data)), i30292, i29471) → INC62040(java.lang.Object(ARRAY(i6, a205976data)), i30292, i29471)
    • ((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)

  • 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)))
    • ((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)

  • 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)))
    • ([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)

  • 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)
    • ((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)

  • 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)))
    • ((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)

  • 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)))
    • ([1] + i29383[15] ≥ 0∧i29471[15] ≥ 0∧i6[15] ≥ 0∧i31241[15] ≥ 0∧i29383[15] ≥ 0 ⇒ (UIncreasing(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])))), ≥)∧0 = 0∧[(-1)bni_62 + (-1)Bound*bni_62] + [bni_62]i29471[15] ≥ 0∧0 = 0∧[(-1)bso_63] ≥ 0)

  • 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)
    • ((UIncreasing(INC62040(java.lang.Object(ARRAY(i6[16], a205976data[16])), +(i29383[16], 1), i29471[16])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_65] ≥ 0)

  • 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)))
    • ((UIncreasing(LOAD58473ARR8(java.lang.Object(ARRAY(i6[17], a205976data[17])), i29383[17], i29471[17], java.lang.Object(java.lang.String(i31241[17])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_67] ≥ 0)

  • 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)))
    • ([1] + i29383[18] ≥ 0∧i29471[18] ≥ 0∧i6[18] ≥ 0∧i31241[18] ≥ 0∧i29383[18] ≥ 0 ⇒ (UIncreasing(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])))), ≥)∧0 = 0∧[(-1)bni_68 + (-1)Bound*bni_68] + [bni_68]i29471[18] ≥ 0∧0 = 0∧[(-1)bso_69] ≥ 0)

  • 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)
    • ((UIncreasing(JMP61974'(java.lang.Object(ARRAY(i6[19], a205976data[19])), +(i29383[19], 1), i29471[19])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_71] ≥ 0)




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

POL(TRUE) = 0   
POL(FALSE) = 0   
POL(LOAD58473(x1, x2, x3)) = x3 + [-1]x1   
POL(java.lang.Object(x1)) = x1   
POL(ARRAY(x1, x2)) = [1]   
POL(LOAD58473ARR1(x1, x2, x3, x4)) = x3 + [-1]x1   
POL(java.lang.String(x1)) = x1   
POL(COND_LOAD58473ARR1(x1, x2, x3, x4, x5)) = [-1] + x4 + [-1]x2   
POL(&&(x1, x2)) = [-1]   
POL(>(x1, x2)) = [-1]   
POL(0) = 0   
POL(<(x1, x2)) = [-1]   
POL(+(x1, x2)) = x1 + x2   
POL(1) = [1]   
POL(JMP61974'(x1, x2, x3)) = [-1] + x3 + [-1]x1   
POL(INC62040(x1, x2, x3)) = [-1] + [-1]x1 + x3   
POL(-1) = [-1]   
POL(LOAD58473ARR2(x1, x2, x3, x4)) = [-1] + x3 + [-1]x1   
POL(COND_LOAD58473ARR2(x1, x2, x3, x4, x5)) = [-1] + x4 + [-1]x2   
POL(<=(x1, x2)) = [-1]   
POL(LOAD58473ARR3(x1, x2, x3, x4)) = [-1] + x3 + [-1]x1   
POL(COND_LOAD58473ARR3(x1, x2, x3, x4, x5)) = [-1] + x4 + [-1]x2   
POL(LOAD58473ARR4(x1, x2, x3, x4)) = x3 + [-1]x1   
POL(COND_LOAD58473ARR4(x1, x2, x3, x4, x5)) = [-1] + x4 + [-1]x2   
POL(LOAD58473ARR5(x1, x2, x3, x4)) = [-1] + x3 + [-1]x1   
POL(COND_LOAD58473ARR5(x1, x2, x3, x4, x5)) = [-1] + x4 + [-1]x2   
POL(LOAD58473ARR8(x1, x2, x3, x4)) = [-1] + x3 + [-1]x1   
POL(COND_LOAD58473ARR8(x1, x2, x3, x4, x5)) = [-1] + x4 + [-1]x2   

The following pairs are in P>:

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])))
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])))
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])))
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])))
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])))
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])))

The following pairs are in Pbound:

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])))
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])))
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])))
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])))
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])))
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])))

The following pairs are in P:

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])))
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])
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))
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))
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))
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])
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])))
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])
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(java.lang.Object(ARRAY(i6[16], a205976data[16])), +(i29383[16], 1), i29471[16])
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])))
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])

There are no usable rules.

(52) Complex Obligation (AND)

(53) Obligation:

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


The following domains are used:

Integer, Boolean


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

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


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


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


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


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


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


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


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


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


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


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


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


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


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


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



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)))

(54) IDependencyGraphProof (EQUIVALENT transformation)

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

(55) TRUE

(56) Obligation:

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


The following domains are used:

Integer


R is empty.

The integer pair graph contains the following rules and edges:
(0): 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])))
(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])))
(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])))
(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])))
(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])))
(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])))
(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])

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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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



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)))

(57) IDependencyGraphProof (EQUIVALENT transformation)

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

(58) TRUE

(59) 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:
Load29334(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(Tree(java.lang.Object(Tree(o68279Field0, o68279Field1)), o57222)), java.lang.Object(Tree(java.lang.Object(Tree(o68279Field0, o68279Field1)), o57222))) → Load29334ARR9(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(Tree(java.lang.Object(Tree(o68279Field0, o68279Field1)), o57222)), java.lang.Object(Tree(java.lang.Object(Tree(o68279Field0, o68279Field1)), o57222)), java.lang.Object(java.lang.String(i8938)))
Load29334ARR9(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(Tree(java.lang.Object(Tree(o68279Field0, o68279Field1)), o57222)), java.lang.Object(Tree(java.lang.Object(Tree(o68279Field0, o68279Field1)), o57222)), java.lang.Object(java.lang.String(i8938))) → Cond_Load29334ARR9(i8938 > 0 && i7809 > 0 && i7809 < i6 && i7869 > 0 && i7809 + 1 > 0, java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(Tree(java.lang.Object(Tree(o68279Field0, o68279Field1)), o57222)), java.lang.Object(Tree(java.lang.Object(Tree(o68279Field0, o68279Field1)), o57222)), java.lang.Object(java.lang.String(i8938)))
Cond_Load29334ARR9(TRUE, java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(Tree(java.lang.Object(Tree(o68279Field0, o68279Field1)), o57222)), java.lang.Object(Tree(java.lang.Object(Tree(o68279Field0, o68279Field1)), o57222)), java.lang.Object(java.lang.String(i8938))) → JMP34988(java.lang.Object(ARRAY(i6, a69930data)), i7809 + 1, i7869, java.lang.Object(Tree(java.lang.Object(Tree(o68279Field0, o68279Field1)), o57222)), java.lang.Object(Tree(o68279Field0, o68279Field1)))
Inc35073(java.lang.Object(ARRAY(i6, a69930data)), i8155, i7869, java.lang.Object(Tree(o57221, o57222)), java.lang.Object(Tree(o68925Field0, o68925Field1))) → Load29334(java.lang.Object(ARRAY(i6, a69930data)), i8155, i7869 + -1, java.lang.Object(Tree(o57221, o57222)), java.lang.Object(Tree(o68925Field0, o68925Field1)))
Load29334(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(Tree(o57221, o57222)), java.lang.Object(Tree(o67856, java.lang.Object(Tree(o68925Field0, o68925Field1))))) → Load29334ARR10(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(Tree(o57221, o57222)), java.lang.Object(Tree(o67856, java.lang.Object(Tree(o68925Field0, o68925Field1)))), java.lang.Object(java.lang.String(i8939)))
Load29334ARR10(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(Tree(o57221, o57222)), java.lang.Object(Tree(o67856, java.lang.Object(Tree(o68925Field0, o68925Field1)))), java.lang.Object(java.lang.String(i8939))) → Cond_Load29334ARR10(i8939 <= 0 && i7809 > 0 && i7809 < i6 && i7869 > 0 && i7809 + 1 > 0, java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(Tree(o57221, o57222)), java.lang.Object(Tree(o67856, java.lang.Object(Tree(o68925Field0, o68925Field1)))), java.lang.Object(java.lang.String(i8939)))
Cond_Load29334ARR10(TRUE, java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(Tree(o57221, o57222)), java.lang.Object(Tree(o67856, java.lang.Object(Tree(o68925Field0, o68925Field1)))), java.lang.Object(java.lang.String(i8939))) → Load29334(java.lang.Object(ARRAY(i6, a69930data)), i7809 + 1, i7869 + -1, java.lang.Object(Tree(o57221, o57222)), java.lang.Object(Tree(o68925Field0, o68925Field1)))
Inc38749(java.lang.Object(ARRAY(i6, a69930data)), i8155, i7869, java.lang.Object(Tree(o57221, o57222)), java.lang.Object(Tree(o57221, o57222))) → Load29334(java.lang.Object(ARRAY(i6, a69930data)), i8155, i7869 + -1, java.lang.Object(Tree(o57221, o57222)), java.lang.Object(Tree(o57221, o57222)))
JMP38514(java.lang.Object(ARRAY(i6, a69930data)), i8155, i7869, java.lang.Object(Tree(o57221, o57222)), java.lang.Object(Tree(o57221, o57222))) → Load29334(java.lang.Object(ARRAY(i6, a69930data)), i8155, i7869 + -1, java.lang.Object(Tree(o57221, o57222)), java.lang.Object(Tree(o57221, o57222)))
Load29334(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(Tree(o57221, o57222)), java.lang.Object(Tree(NULL, o67816))) → Load29334ARR11(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(Tree(o57221, o57222)), java.lang.Object(Tree(NULL, o67816)), java.lang.Object(java.lang.String(i8938)))
Load29334ARR11(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(Tree(o57221, o57222)), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL)), o67816)), java.lang.Object(java.lang.String(i8938))) → Cond_Load29334ARR11(i8938 > 0 && i7809 > 0 && i7809 < i6 && i7869 > 0 && i7809 + 1 > 0, java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(Tree(o57221, o57222)), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL)), o67816)), java.lang.Object(java.lang.String(i8938)))
Cond_Load29334ARR11(TRUE, java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(Tree(o57221, o57222)), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL)), o67816)), java.lang.Object(java.lang.String(i8938))) → Load29334(java.lang.Object(ARRAY(i6, a69930data)), i7809 + 1, i7869 + -1, o57220new, o57220new)
JMP34988(java.lang.Object(ARRAY(i6, a69930data)), i8155, i7869, java.lang.Object(Tree(o57221, o57222)), java.lang.Object(Tree(o68858Field0, o68858Field1))) → Inc35073(java.lang.Object(ARRAY(i6, a69930data)), i8155, i7869, java.lang.Object(Tree(o57221, o57222)), java.lang.Object(Tree(o68858Field0, o68858Field1)))
Load29334(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(Tree(o57221, o57222)), java.lang.Object(Tree(java.lang.Object(Tree(o68858Field0, o68858Field1)), o67816))) → Load29334ARR12(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(Tree(o57221, o57222)), java.lang.Object(Tree(java.lang.Object(Tree(o68858Field0, o68858Field1)), o67816)), java.lang.Object(java.lang.String(i8938)))
Load29334ARR12(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(Tree(o57221, o57222)), java.lang.Object(Tree(java.lang.Object(Tree(o68858Field0, o68858Field1)), o67816)), java.lang.Object(java.lang.String(i8938))) → Cond_Load29334ARR12(i8938 > 0 && i7809 > 0 && i7809 < i6 && i7869 > 0 && i7809 + 1 > 0, java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(Tree(o57221, o57222)), java.lang.Object(Tree(java.lang.Object(Tree(o68858Field0, o68858Field1)), o67816)), java.lang.Object(java.lang.String(i8938)))
Cond_Load29334ARR12(TRUE, java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(Tree(o57221, o57222)), java.lang.Object(Tree(java.lang.Object(Tree(o68858Field0, o68858Field1)), o67816)), java.lang.Object(java.lang.String(i8938))) → Inc35073(java.lang.Object(ARRAY(i6, a69930data)), i7809 + 1, i7869, java.lang.Object(Tree(o57221, o57222)), java.lang.Object(Tree(o68858Field0, o68858Field1)))
Load29334(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(Tree(o57221, java.lang.Object(Tree(o68440Field0, o68440Field1)))), java.lang.Object(Tree(o57221, java.lang.Object(Tree(o68440Field0, o68440Field1))))) → Load29334ARR13(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(Tree(o57221, java.lang.Object(Tree(o68440Field0, o68440Field1)))), java.lang.Object(Tree(o57221, java.lang.Object(Tree(o68440Field0, o68440Field1)))), java.lang.Object(java.lang.String(i8939)))
Load29334ARR13(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(Tree(o57221, java.lang.Object(Tree(o68440Field0, o68440Field1)))), java.lang.Object(Tree(o57221, java.lang.Object(Tree(o68440Field0, o68440Field1)))), java.lang.Object(java.lang.String(i8939))) → Cond_Load29334ARR13(i8939 <= 0 && i7809 > 0 && i7809 < i6 && i7869 > 0 && i7809 + 1 > 0, java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(Tree(o57221, java.lang.Object(Tree(o68440Field0, o68440Field1)))), java.lang.Object(Tree(o57221, java.lang.Object(Tree(o68440Field0, o68440Field1)))), java.lang.Object(java.lang.String(i8939)))
Cond_Load29334ARR13(TRUE, java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(Tree(o57221, java.lang.Object(Tree(o68440Field0, o68440Field1)))), java.lang.Object(Tree(o57221, java.lang.Object(Tree(o68440Field0, o68440Field1)))), java.lang.Object(java.lang.String(i8939))) → Inc35073(java.lang.Object(ARRAY(i6, a69930data)), i7809 + 1, i7869, java.lang.Object(Tree(o57221, java.lang.Object(Tree(o68440Field0, o68440Field1)))), java.lang.Object(Tree(o68440Field0, o68440Field1)))
JMP38560(java.lang.Object(ARRAY(i6, a69930data)), i8155, i7869, java.lang.Object(Tree(o57221, o57222)), java.lang.Object(Tree(o57221, o57222))) → Inc38749(java.lang.Object(ARRAY(i6, a69930data)), i8155, i7869, java.lang.Object(Tree(o57221, o57222)), java.lang.Object(Tree(o57221, o57222)))
Load29334(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(Tree(o57221, o57222)), java.lang.Object(Tree(o67856, NULL))) → Load29334ARR14(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(Tree(o57221, o57222)), java.lang.Object(Tree(o67856, NULL)), java.lang.Object(java.lang.String(i8939)))
Load29334ARR14(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(Tree(o57221, o57222)), java.lang.Object(Tree(o67856, java.lang.Object(Tree(NULL, NULL)))), java.lang.Object(java.lang.String(i8939))) → Cond_Load29334ARR14(i8939 <= 0 && i7809 > 0 && i7809 < i6 && i7869 > 0 && i7809 + 1 > 0, java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(Tree(o57221, o57222)), java.lang.Object(Tree(o67856, java.lang.Object(Tree(NULL, NULL)))), java.lang.Object(java.lang.String(i8939)))
Cond_Load29334ARR14(TRUE, java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(Tree(o57221, o57222)), java.lang.Object(Tree(o67856, java.lang.Object(Tree(NULL, NULL)))), java.lang.Object(java.lang.String(i8939))) → Inc38749(java.lang.Object(ARRAY(i6, a69930data)), i7809 + 1, i7869, o57220new, o57220new)
Load29334(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(Tree(NULL, o57222)), java.lang.Object(Tree(NULL, o57222))) → Load29334ARR15(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(Tree(NULL, o57222)), java.lang.Object(Tree(NULL, o57222)), java.lang.Object(java.lang.String(i8938)))
Load29334ARR15(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL)), o57222)), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL)), o57222)), java.lang.Object(java.lang.String(i8938))) → Cond_Load29334ARR15(i8938 > 0 && i7809 > 0 && i7809 < i6 && i7869 > 0 && i7809 + 1 > 0, java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL)), o57222)), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL)), o57222)), java.lang.Object(java.lang.String(i8938)))
Cond_Load29334ARR15(TRUE, java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL)), o57222)), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL)), o57222)), java.lang.Object(java.lang.String(i8938))) → JMP38514(java.lang.Object(ARRAY(i6, a69930data)), i7809 + 1, i7869, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL)), o57222)), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL)), o57222)))
Load29334(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(Tree(o57221, NULL)), java.lang.Object(Tree(o57221, NULL))) → Load29334ARR16(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(Tree(o57221, NULL)), java.lang.Object(Tree(o57221, NULL)), java.lang.Object(java.lang.String(i8939)))
Load29334ARR16(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(Tree(o57221, java.lang.Object(Tree(NULL, NULL)))), java.lang.Object(Tree(o57221, java.lang.Object(Tree(NULL, NULL)))), java.lang.Object(java.lang.String(i8939))) → Cond_Load29334ARR16(i8939 <= 0 && i7809 > 0 && i7809 < i6 && i7869 > 0 && i7809 + 1 > 0, java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(Tree(o57221, java.lang.Object(Tree(NULL, NULL)))), java.lang.Object(Tree(o57221, java.lang.Object(Tree(NULL, NULL)))), java.lang.Object(java.lang.String(i8939)))
Cond_Load29334ARR16(TRUE, java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(Tree(o57221, java.lang.Object(Tree(NULL, NULL)))), java.lang.Object(Tree(o57221, java.lang.Object(Tree(NULL, NULL)))), java.lang.Object(java.lang.String(i8939))) → JMP38560(java.lang.Object(ARRAY(i6, a69930data)), i7809 + 1, i7869, java.lang.Object(Tree(o57221, java.lang.Object(Tree(NULL, NULL)))), java.lang.Object(Tree(o57221, java.lang.Object(Tree(NULL, NULL)))))
The set Q consists of the following terms:
Load29334ARR9(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_Load29334ARR9(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)))
Inc35073(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5)), java.lang.Object(Tree(x6, x7)))
Load29334(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)))))
Load29334ARR10(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_Load29334ARR10(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)))
Inc38749(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5)), java.lang.Object(Tree(x4, x5)))
JMP38514(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5)), java.lang.Object(Tree(x4, x5)))
Load29334(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5)), java.lang.Object(Tree(NULL, x6)))
Load29334ARR11(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_Load29334ARR11(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)))
JMP34988(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5)), java.lang.Object(Tree(x6, x7)))
Load29334(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)))
Load29334ARR12(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_Load29334ARR12(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)))
Load29334ARR13(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_Load29334ARR13(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)))
JMP38560(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5)), java.lang.Object(Tree(x4, x5)))
Load29334(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5)), java.lang.Object(Tree(x6, NULL)))
Load29334ARR14(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_Load29334ARR14(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)))
Load29334ARR15(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_Load29334ARR15(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)))
Load29334ARR16(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_Load29334ARR16(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)))

(60) DuplicateArgsRemoverProof (EQUIVALENT transformation)

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

JMP38560(x1, x2, x3, x4, x5) → JMP38560(x1, x2, x3, x5)
Cond_Load29334ARR16(x1, x2, x3, x4, x5, x6, x7) → Cond_Load29334ARR16(x1, x2, x3, x4, x6, x7)
Load29334ARR16(x1, x2, x3, x4, x5, x6) → Load29334ARR16(x1, x2, x3, x5, x6)
JMP38514(x1, x2, x3, x4, x5) → JMP38514(x1, x2, x3, x5)
Cond_Load29334ARR15(x1, x2, x3, x4, x5, x6, x7) → Cond_Load29334ARR15(x1, x2, x3, x4, x6, x7)
Load29334ARR15(x1, x2, x3, x4, x5, x6) → Load29334ARR15(x1, x2, x3, x5, x6)
Inc38749(x1, x2, x3, x4, x5) → Inc38749(x1, x2, x3, x5)
Cond_Load29334ARR13(x1, x2, x3, x4, x5, x6, x7) → Cond_Load29334ARR13(x1, x2, x3, x4, x6, x7)
Load29334ARR13(x1, x2, x3, x4, x5, x6) → Load29334ARR13(x1, x2, x3, x5, x6)
Cond_Load29334ARR9(x1, x2, x3, x4, x5, x6, x7) → Cond_Load29334ARR9(x1, x2, x3, x4, x6, x7)
Load29334ARR9(x1, x2, x3, x4, x5, x6) → Load29334ARR9(x1, x2, x3, x5, x6)

(61) 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:
Load29334(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(Tree(java.lang.Object(Tree(o68279Field0, o68279Field1)), o57222)), java.lang.Object(Tree(java.lang.Object(Tree(o68279Field0, o68279Field1)), o57222))) → Load29334ARR9(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(Tree(java.lang.Object(Tree(o68279Field0, o68279Field1)), o57222)), java.lang.Object(java.lang.String(i8938)))
Load29334ARR9(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(Tree(java.lang.Object(Tree(o68279Field0, o68279Field1)), o57222)), java.lang.Object(java.lang.String(i8938))) → Cond_Load29334ARR9(i8938 > 0 && i7809 > 0 && i7809 < i6 && i7869 > 0 && i7809 + 1 > 0, java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(Tree(java.lang.Object(Tree(o68279Field0, o68279Field1)), o57222)), java.lang.Object(java.lang.String(i8938)))
Cond_Load29334ARR9(TRUE, java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(Tree(java.lang.Object(Tree(o68279Field0, o68279Field1)), o57222)), java.lang.Object(java.lang.String(i8938))) → JMP34988(java.lang.Object(ARRAY(i6, a69930data)), i7809 + 1, i7869, java.lang.Object(Tree(java.lang.Object(Tree(o68279Field0, o68279Field1)), o57222)), java.lang.Object(Tree(o68279Field0, o68279Field1)))
Inc35073(java.lang.Object(ARRAY(i6, a69930data)), i8155, i7869, java.lang.Object(Tree(o57221, o57222)), java.lang.Object(Tree(o68925Field0, o68925Field1))) → Load29334(java.lang.Object(ARRAY(i6, a69930data)), i8155, i7869 + -1, java.lang.Object(Tree(o57221, o57222)), java.lang.Object(Tree(o68925Field0, o68925Field1)))
Load29334(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(Tree(o57221, o57222)), java.lang.Object(Tree(o67856, java.lang.Object(Tree(o68925Field0, o68925Field1))))) → Load29334ARR10(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(Tree(o57221, o57222)), java.lang.Object(Tree(o67856, java.lang.Object(Tree(o68925Field0, o68925Field1)))), java.lang.Object(java.lang.String(i8939)))
Load29334ARR10(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(Tree(o57221, o57222)), java.lang.Object(Tree(o67856, java.lang.Object(Tree(o68925Field0, o68925Field1)))), java.lang.Object(java.lang.String(i8939))) → Cond_Load29334ARR10(i8939 <= 0 && i7809 > 0 && i7809 < i6 && i7869 > 0 && i7809 + 1 > 0, java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(Tree(o57221, o57222)), java.lang.Object(Tree(o67856, java.lang.Object(Tree(o68925Field0, o68925Field1)))), java.lang.Object(java.lang.String(i8939)))
Cond_Load29334ARR10(TRUE, java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(Tree(o57221, o57222)), java.lang.Object(Tree(o67856, java.lang.Object(Tree(o68925Field0, o68925Field1)))), java.lang.Object(java.lang.String(i8939))) → Load29334(java.lang.Object(ARRAY(i6, a69930data)), i7809 + 1, i7869 + -1, java.lang.Object(Tree(o57221, o57222)), java.lang.Object(Tree(o68925Field0, o68925Field1)))
Inc38749(java.lang.Object(ARRAY(i6, a69930data)), i8155, i7869, java.lang.Object(Tree(o57221, o57222))) → Load29334(java.lang.Object(ARRAY(i6, a69930data)), i8155, i7869 + -1, java.lang.Object(Tree(o57221, o57222)), java.lang.Object(Tree(o57221, o57222)))
JMP38514(java.lang.Object(ARRAY(i6, a69930data)), i8155, i7869, java.lang.Object(Tree(o57221, o57222))) → Load29334(java.lang.Object(ARRAY(i6, a69930data)), i8155, i7869 + -1, java.lang.Object(Tree(o57221, o57222)), java.lang.Object(Tree(o57221, o57222)))
Load29334(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(Tree(o57221, o57222)), java.lang.Object(Tree(NULL, o67816))) → Load29334ARR11(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(Tree(o57221, o57222)), java.lang.Object(Tree(NULL, o67816)), java.lang.Object(java.lang.String(i8938)))
Load29334ARR11(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(Tree(o57221, o57222)), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL)), o67816)), java.lang.Object(java.lang.String(i8938))) → Cond_Load29334ARR11(i8938 > 0 && i7809 > 0 && i7809 < i6 && i7869 > 0 && i7809 + 1 > 0, java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(Tree(o57221, o57222)), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL)), o67816)), java.lang.Object(java.lang.String(i8938)))
Cond_Load29334ARR11(TRUE, java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(Tree(o57221, o57222)), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL)), o67816)), java.lang.Object(java.lang.String(i8938))) → Load29334(java.lang.Object(ARRAY(i6, a69930data)), i7809 + 1, i7869 + -1, o57220new, o57220new)
JMP34988(java.lang.Object(ARRAY(i6, a69930data)), i8155, i7869, java.lang.Object(Tree(o57221, o57222)), java.lang.Object(Tree(o68858Field0, o68858Field1))) → Inc35073(java.lang.Object(ARRAY(i6, a69930data)), i8155, i7869, java.lang.Object(Tree(o57221, o57222)), java.lang.Object(Tree(o68858Field0, o68858Field1)))
Load29334(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(Tree(o57221, o57222)), java.lang.Object(Tree(java.lang.Object(Tree(o68858Field0, o68858Field1)), o67816))) → Load29334ARR12(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(Tree(o57221, o57222)), java.lang.Object(Tree(java.lang.Object(Tree(o68858Field0, o68858Field1)), o67816)), java.lang.Object(java.lang.String(i8938)))
Load29334ARR12(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(Tree(o57221, o57222)), java.lang.Object(Tree(java.lang.Object(Tree(o68858Field0, o68858Field1)), o67816)), java.lang.Object(java.lang.String(i8938))) → Cond_Load29334ARR12(i8938 > 0 && i7809 > 0 && i7809 < i6 && i7869 > 0 && i7809 + 1 > 0, java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(Tree(o57221, o57222)), java.lang.Object(Tree(java.lang.Object(Tree(o68858Field0, o68858Field1)), o67816)), java.lang.Object(java.lang.String(i8938)))
Cond_Load29334ARR12(TRUE, java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(Tree(o57221, o57222)), java.lang.Object(Tree(java.lang.Object(Tree(o68858Field0, o68858Field1)), o67816)), java.lang.Object(java.lang.String(i8938))) → Inc35073(java.lang.Object(ARRAY(i6, a69930data)), i7809 + 1, i7869, java.lang.Object(Tree(o57221, o57222)), java.lang.Object(Tree(o68858Field0, o68858Field1)))
Load29334(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(Tree(o57221, java.lang.Object(Tree(o68440Field0, o68440Field1)))), java.lang.Object(Tree(o57221, java.lang.Object(Tree(o68440Field0, o68440Field1))))) → Load29334ARR13(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(Tree(o57221, java.lang.Object(Tree(o68440Field0, o68440Field1)))), java.lang.Object(java.lang.String(i8939)))
Load29334ARR13(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(Tree(o57221, java.lang.Object(Tree(o68440Field0, o68440Field1)))), java.lang.Object(java.lang.String(i8939))) → Cond_Load29334ARR13(i8939 <= 0 && i7809 > 0 && i7809 < i6 && i7869 > 0 && i7809 + 1 > 0, java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(Tree(o57221, java.lang.Object(Tree(o68440Field0, o68440Field1)))), java.lang.Object(java.lang.String(i8939)))
Cond_Load29334ARR13(TRUE, java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(Tree(o57221, java.lang.Object(Tree(o68440Field0, o68440Field1)))), java.lang.Object(java.lang.String(i8939))) → Inc35073(java.lang.Object(ARRAY(i6, a69930data)), i7809 + 1, i7869, java.lang.Object(Tree(o57221, java.lang.Object(Tree(o68440Field0, o68440Field1)))), java.lang.Object(Tree(o68440Field0, o68440Field1)))
JMP38560(java.lang.Object(ARRAY(i6, a69930data)), i8155, i7869, java.lang.Object(Tree(o57221, o57222))) → Inc38749(java.lang.Object(ARRAY(i6, a69930data)), i8155, i7869, java.lang.Object(Tree(o57221, o57222)))
Load29334(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(Tree(o57221, o57222)), java.lang.Object(Tree(o67856, NULL))) → Load29334ARR14(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(Tree(o57221, o57222)), java.lang.Object(Tree(o67856, NULL)), java.lang.Object(java.lang.String(i8939)))
Load29334ARR14(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(Tree(o57221, o57222)), java.lang.Object(Tree(o67856, java.lang.Object(Tree(NULL, NULL)))), java.lang.Object(java.lang.String(i8939))) → Cond_Load29334ARR14(i8939 <= 0 && i7809 > 0 && i7809 < i6 && i7869 > 0 && i7809 + 1 > 0, java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(Tree(o57221, o57222)), java.lang.Object(Tree(o67856, java.lang.Object(Tree(NULL, NULL)))), java.lang.Object(java.lang.String(i8939)))
Cond_Load29334ARR14(TRUE, java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(Tree(o57221, o57222)), java.lang.Object(Tree(o67856, java.lang.Object(Tree(NULL, NULL)))), java.lang.Object(java.lang.String(i8939))) → Inc38749(java.lang.Object(ARRAY(i6, a69930data)), i7809 + 1, i7869, o57220new)
Load29334(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(Tree(NULL, o57222)), java.lang.Object(Tree(NULL, o57222))) → Load29334ARR15(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(Tree(NULL, o57222)), java.lang.Object(java.lang.String(i8938)))
Load29334ARR15(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL)), o57222)), java.lang.Object(java.lang.String(i8938))) → Cond_Load29334ARR15(i8938 > 0 && i7809 > 0 && i7809 < i6 && i7869 > 0 && i7809 + 1 > 0, java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL)), o57222)), java.lang.Object(java.lang.String(i8938)))
Cond_Load29334ARR15(TRUE, java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL)), o57222)), java.lang.Object(java.lang.String(i8938))) → JMP38514(java.lang.Object(ARRAY(i6, a69930data)), i7809 + 1, i7869, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL)), o57222)))
Load29334(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(Tree(o57221, NULL)), java.lang.Object(Tree(o57221, NULL))) → Load29334ARR16(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(Tree(o57221, NULL)), java.lang.Object(java.lang.String(i8939)))
Load29334ARR16(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(Tree(o57221, java.lang.Object(Tree(NULL, NULL)))), java.lang.Object(java.lang.String(i8939))) → Cond_Load29334ARR16(i8939 <= 0 && i7809 > 0 && i7809 < i6 && i7869 > 0 && i7809 + 1 > 0, java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(Tree(o57221, java.lang.Object(Tree(NULL, NULL)))), java.lang.Object(java.lang.String(i8939)))
Cond_Load29334ARR16(TRUE, java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(Tree(o57221, java.lang.Object(Tree(NULL, NULL)))), java.lang.Object(java.lang.String(i8939))) → JMP38560(java.lang.Object(ARRAY(i6, a69930data)), i7809 + 1, i7869, java.lang.Object(Tree(o57221, java.lang.Object(Tree(NULL, NULL)))))
The set Q consists of the following terms:
Load29334ARR9(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_Load29334ARR9(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)))
Inc35073(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5)), java.lang.Object(Tree(x6, x7)))
Load29334(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)))))
Load29334ARR10(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_Load29334ARR10(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)))
Inc38749(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5)))
JMP38514(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5)))
Load29334(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5)), java.lang.Object(Tree(NULL, x6)))
Load29334ARR11(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_Load29334ARR11(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)))
JMP34988(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5)), java.lang.Object(Tree(x6, x7)))
Load29334(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)))
Load29334ARR12(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_Load29334ARR12(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)))
Load29334ARR13(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_Load29334ARR13(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)))
JMP38560(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5)))
Load29334(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5)), java.lang.Object(Tree(x6, NULL)))
Load29334ARR14(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_Load29334ARR14(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)))
Load29334ARR15(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_Load29334ARR15(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)))
Load29334ARR16(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_Load29334ARR16(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)))

(62) ITRSFilterProcessorProof (SOUND transformation)

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

Load29334(x1, x2, x3, x4, x5) → Load29334(x1, x2, x3)
Tree(x1, x2) → Tree
Load29334ARR9(x1, x2, x3, x4, x5) → Load29334ARR9(x1, x2, x3, x5)
Cond_Load29334ARR9(x1, x2, x3, x4, x5, x6) → Cond_Load29334ARR9(x1, x2, x3, x4, x6)
JMP34988(x1, x2, x3, x4, x5) → JMP34988(x1, x2, x3)
Inc35073(x1, x2, x3, x4, x5) → Inc35073(x1, x2, x3)
Load29334ARR10(x1, x2, x3, x4, x5, x6) → Load29334ARR10(x1, x2, x3, x6)
Cond_Load29334ARR10(x1, x2, x3, x4, x5, x6, x7) → Cond_Load29334ARR10(x1, x2, x3, x4, x7)
Inc38749(x1, x2, x3, x4) → Inc38749(x1, x2, x3)
JMP38514(x1, x2, x3, x4) → JMP38514(x1, x2, x3)
Load29334ARR11(x1, x2, x3, x4, x5, x6) → Load29334ARR11(x1, x2, x3, x6)
Cond_Load29334ARR11(x1, x2, x3, x4, x5, x6, x7) → Cond_Load29334ARR11(x1, x2, x3, x4, x7)
Load29334ARR12(x1, x2, x3, x4, x5, x6) → Load29334ARR12(x1, x2, x3, x6)
Cond_Load29334ARR12(x1, x2, x3, x4, x5, x6, x7) → Cond_Load29334ARR12(x1, x2, x3, x4, x7)
Load29334ARR13(x1, x2, x3, x4, x5) → Load29334ARR13(x1, x2, x3, x5)
Cond_Load29334ARR13(x1, x2, x3, x4, x5, x6) → Cond_Load29334ARR13(x1, x2, x3, x4, x6)
JMP38560(x1, x2, x3, x4) → JMP38560(x1, x2, x3)
Load29334ARR14(x1, x2, x3, x4, x5, x6) → Load29334ARR14(x1, x2, x3, x6)
Cond_Load29334ARR14(x1, x2, x3, x4, x5, x6, x7) → Cond_Load29334ARR14(x1, x2, x3, x4, x7)
Load29334ARR15(x1, x2, x3, x4, x5) → Load29334ARR15(x1, x2, x3, x5)
Cond_Load29334ARR15(x1, x2, x3, x4, x5, x6) → Cond_Load29334ARR15(x1, x2, x3, x4, x6)
Load29334ARR16(x1, x2, x3, x4, x5) → Load29334ARR16(x1, x2, x3, x5)
Cond_Load29334ARR16(x1, x2, x3, x4, x5, x6) → Cond_Load29334ARR16(x1, x2, x3, x4, x6)

(63) 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:
Load29334(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869) → Load29334ARR9(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8938)))
Load29334ARR9(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8938))) → Cond_Load29334ARR9(i8938 > 0 && i7809 > 0 && i7809 < i6 && i7869 > 0 && i7809 + 1 > 0, java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8938)))
Cond_Load29334ARR9(TRUE, java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8938))) → JMP34988(java.lang.Object(ARRAY(i6, a69930data)), i7809 + 1, i7869)
Inc35073(java.lang.Object(ARRAY(i6, a69930data)), i8155, i7869) → Load29334(java.lang.Object(ARRAY(i6, a69930data)), i8155, i7869 + -1)
Load29334(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869) → Load29334ARR10(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8939)))
Load29334ARR10(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8939))) → Cond_Load29334ARR10(i8939 <= 0 && i7809 > 0 && i7809 < i6 && i7869 > 0 && i7809 + 1 > 0, java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8939)))
Cond_Load29334ARR10(TRUE, java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8939))) → Load29334(java.lang.Object(ARRAY(i6, a69930data)), i7809 + 1, i7869 + -1)
Inc38749(java.lang.Object(ARRAY(i6, a69930data)), i8155, i7869) → Load29334(java.lang.Object(ARRAY(i6, a69930data)), i8155, i7869 + -1)
JMP38514(java.lang.Object(ARRAY(i6, a69930data)), i8155, i7869) → Load29334(java.lang.Object(ARRAY(i6, a69930data)), i8155, i7869 + -1)
Load29334(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869) → Load29334ARR11(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8938)))
Load29334ARR11(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8938))) → Cond_Load29334ARR11(i8938 > 0 && i7809 > 0 && i7809 < i6 && i7869 > 0 && i7809 + 1 > 0, java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8938)))
Cond_Load29334ARR11(TRUE, java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8938))) → Load29334(java.lang.Object(ARRAY(i6, a69930data)), i7809 + 1, i7869 + -1)
JMP34988(java.lang.Object(ARRAY(i6, a69930data)), i8155, i7869) → Inc35073(java.lang.Object(ARRAY(i6, a69930data)), i8155, i7869)
Load29334(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869) → Load29334ARR12(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8938)))
Load29334ARR12(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8938))) → Cond_Load29334ARR12(i8938 > 0 && i7809 > 0 && i7809 < i6 && i7869 > 0 && i7809 + 1 > 0, java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8938)))
Cond_Load29334ARR12(TRUE, java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8938))) → Inc35073(java.lang.Object(ARRAY(i6, a69930data)), i7809 + 1, i7869)
Load29334(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869) → Load29334ARR13(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8939)))
Load29334ARR13(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8939))) → Cond_Load29334ARR13(i8939 <= 0 && i7809 > 0 && i7809 < i6 && i7869 > 0 && i7809 + 1 > 0, java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8939)))
Cond_Load29334ARR13(TRUE, java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8939))) → Inc35073(java.lang.Object(ARRAY(i6, a69930data)), i7809 + 1, i7869)
JMP38560(java.lang.Object(ARRAY(i6, a69930data)), i8155, i7869) → Inc38749(java.lang.Object(ARRAY(i6, a69930data)), i8155, i7869)
Load29334(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869) → Load29334ARR14(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8939)))
Load29334ARR14(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8939))) → Cond_Load29334ARR14(i8939 <= 0 && i7809 > 0 && i7809 < i6 && i7869 > 0 && i7809 + 1 > 0, java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8939)))
Cond_Load29334ARR14(TRUE, java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8939))) → Inc38749(java.lang.Object(ARRAY(i6, a69930data)), i7809 + 1, i7869)
Load29334(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869) → Load29334ARR15(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8938)))
Load29334ARR15(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8938))) → Cond_Load29334ARR15(i8938 > 0 && i7809 > 0 && i7809 < i6 && i7869 > 0 && i7809 + 1 > 0, java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8938)))
Cond_Load29334ARR15(TRUE, java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8938))) → JMP38514(java.lang.Object(ARRAY(i6, a69930data)), i7809 + 1, i7869)
Load29334(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869) → Load29334ARR16(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8939)))
Load29334ARR16(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8939))) → Cond_Load29334ARR16(i8939 <= 0 && i7809 > 0 && i7809 < i6 && i7869 > 0 && i7809 + 1 > 0, java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8939)))
Cond_Load29334ARR16(TRUE, java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8939))) → JMP38560(java.lang.Object(ARRAY(i6, a69930data)), i7809 + 1, i7869)
The set Q consists of the following terms:
Load29334(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load29334ARR9(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load29334ARR9(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Inc35073(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load29334ARR10(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load29334ARR10(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Inc38749(java.lang.Object(ARRAY(x0, x1)), x2, x3)
JMP38514(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load29334ARR11(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load29334ARR11(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
JMP34988(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load29334ARR12(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load29334ARR12(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load29334ARR13(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load29334ARR13(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
JMP38560(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load29334ARR14(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load29334ARR14(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load29334ARR15(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load29334ARR15(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load29334ARR16(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load29334ARR16(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))

(64) ITRSFSMergerProof (SOUND transformation)

The following function symbols have been merged:

Load29334ARR12, Load29334ARR15
> Load29334ARR12_4

Cond_Load29334ARR12, Cond_Load29334ARR15
> Cond_Load29334ARR12_5

Inc35073, Inc38749, JMP38514
> Inc35073_3

Load29334ARR13, Load29334ARR14
> Load29334ARR13_4

JMP34988, JMP38560
> JMP34988_3

Cond_Load29334ARR13, Cond_Load29334ARR14
> Cond_Load29334ARR13_5

(65) 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:
Load29334(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869) → Load29334ARR9(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8938)))
Load29334ARR9(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8938))) → Cond_Load29334ARR9(i8938 > 0 && i7809 > 0 && i7809 < i6 && i7869 > 0 && i7809 + 1 > 0, java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8938)))
Cond_Load29334ARR9(TRUE, java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8938))) → JMP34988(java.lang.Object(ARRAY(i6, a69930data)), i7809 + 1, i7869)
Inc35073(java.lang.Object(ARRAY(i6, a69930data)), i8155, i7869) → Load29334(java.lang.Object(ARRAY(i6, a69930data)), i8155, i7869 + -1)
Load29334(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869) → Load29334ARR10(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8939)))
Load29334ARR10(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8939))) → Cond_Load29334ARR10(i8939 <= 0 && i7809 > 0 && i7809 < i6 && i7869 > 0 && i7809 + 1 > 0, java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8939)))
Cond_Load29334ARR10(TRUE, java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8939))) → Load29334(java.lang.Object(ARRAY(i6, a69930data)), i7809 + 1, i7869 + -1)
Load29334(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869) → Load29334ARR11(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8938)))
Load29334ARR11(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8938))) → Cond_Load29334ARR11(i8938 > 0 && i7809 > 0 && i7809 < i6 && i7869 > 0 && i7809 + 1 > 0, java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8938)))
Cond_Load29334ARR11(TRUE, java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8938))) → Load29334(java.lang.Object(ARRAY(i6, a69930data)), i7809 + 1, i7869 + -1)
JMP34988(java.lang.Object(ARRAY(i6, a69930data)), i8155, i7869) → Inc35073(java.lang.Object(ARRAY(i6, a69930data)), i8155, i7869)
Load29334(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869) → Load29334ARR12(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8938)))
Load29334ARR12(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8938))) → Cond_Load29334ARR12(i8938 > 0 && i7809 > 0 && i7809 < i6 && i7869 > 0 && i7809 + 1 > 0, java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8938)))
Cond_Load29334ARR12(TRUE, java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8938))) → Inc35073(java.lang.Object(ARRAY(i6, a69930data)), i7809 + 1, i7869)
Load29334(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869) → Load29334ARR13(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8939)))
Load29334ARR13(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8939))) → Cond_Load29334ARR13(i8939 <= 0 && i7809 > 0 && i7809 < i6 && i7869 > 0 && i7809 + 1 > 0, java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8939)))
Cond_Load29334ARR13(TRUE, java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8939))) → Inc35073(java.lang.Object(ARRAY(i6, a69930data)), i7809 + 1, i7869)
Load29334(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869) → Load29334ARR16(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8939)))
Load29334ARR16(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8939))) → Cond_Load29334ARR16(i8939 <= 0 && i7809 > 0 && i7809 < i6 && i7869 > 0 && i7809 + 1 > 0, java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8939)))
Cond_Load29334ARR16(TRUE, java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8939))) → JMP34988(java.lang.Object(ARRAY(i6, a69930data)), i7809 + 1, i7869)
The set Q consists of the following terms:
Load29334(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load29334ARR9(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load29334ARR9(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Inc35073(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load29334ARR10(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load29334ARR10(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load29334ARR11(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load29334ARR11(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
JMP34988(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load29334ARR12(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load29334ARR12(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load29334ARR13(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load29334ARR13(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load29334ARR16(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load29334ARR16(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))

(66) ITRStoIDPProof (EQUIVALENT transformation)

Added dependency pairs

(67) 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:
Load29334(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869) → Load29334ARR9(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8938)))
Load29334ARR9(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8938))) → Cond_Load29334ARR9(i8938 > 0 && i7809 > 0 && i7809 < i6 && i7869 > 0 && i7809 + 1 > 0, java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8938)))
Cond_Load29334ARR9(TRUE, java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8938))) → JMP34988(java.lang.Object(ARRAY(i6, a69930data)), i7809 + 1, i7869)
Inc35073(java.lang.Object(ARRAY(i6, a69930data)), i8155, i7869) → Load29334(java.lang.Object(ARRAY(i6, a69930data)), i8155, i7869 + -1)
Load29334(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869) → Load29334ARR10(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8939)))
Load29334ARR10(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8939))) → Cond_Load29334ARR10(i8939 <= 0 && i7809 > 0 && i7809 < i6 && i7869 > 0 && i7809 + 1 > 0, java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8939)))
Cond_Load29334ARR10(TRUE, java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8939))) → Load29334(java.lang.Object(ARRAY(i6, a69930data)), i7809 + 1, i7869 + -1)
Load29334(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869) → Load29334ARR11(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8938)))
Load29334ARR11(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8938))) → Cond_Load29334ARR11(i8938 > 0 && i7809 > 0 && i7809 < i6 && i7869 > 0 && i7809 + 1 > 0, java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8938)))
Cond_Load29334ARR11(TRUE, java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8938))) → Load29334(java.lang.Object(ARRAY(i6, a69930data)), i7809 + 1, i7869 + -1)
JMP34988(java.lang.Object(ARRAY(i6, a69930data)), i8155, i7869) → Inc35073(java.lang.Object(ARRAY(i6, a69930data)), i8155, i7869)
Load29334(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869) → Load29334ARR12(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8938)))
Load29334ARR12(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8938))) → Cond_Load29334ARR12(i8938 > 0 && i7809 > 0 && i7809 < i6 && i7869 > 0 && i7809 + 1 > 0, java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8938)))
Cond_Load29334ARR12(TRUE, java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8938))) → Inc35073(java.lang.Object(ARRAY(i6, a69930data)), i7809 + 1, i7869)
Load29334(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869) → Load29334ARR13(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8939)))
Load29334ARR13(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8939))) → Cond_Load29334ARR13(i8939 <= 0 && i7809 > 0 && i7809 < i6 && i7869 > 0 && i7809 + 1 > 0, java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8939)))
Cond_Load29334ARR13(TRUE, java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8939))) → Inc35073(java.lang.Object(ARRAY(i6, a69930data)), i7809 + 1, i7869)
Load29334(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869) → Load29334ARR16(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8939)))
Load29334ARR16(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8939))) → Cond_Load29334ARR16(i8939 <= 0 && i7809 > 0 && i7809 < i6 && i7869 > 0 && i7809 + 1 > 0, java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8939)))
Cond_Load29334ARR16(TRUE, java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8939))) → JMP34988(java.lang.Object(ARRAY(i6, a69930data)), i7809 + 1, i7869)

The integer pair graph contains the following rules and edges:
(0): LOAD29334(java.lang.Object(ARRAY(i6[0], a69930data[0])), i7809[0], i7869[0]) → LOAD29334ARR9(java.lang.Object(ARRAY(i6[0], a69930data[0])), i7809[0], i7869[0], java.lang.Object(java.lang.String(i8938[0])))
(1): LOAD29334ARR9(java.lang.Object(ARRAY(i6[1], a69930data[1])), i7809[1], i7869[1], java.lang.Object(java.lang.String(i8938[1]))) → COND_LOAD29334ARR9(i8938[1] > 0 && i7809[1] > 0 && i7809[1] < i6[1] && i7869[1] > 0 && i7809[1] + 1 > 0, java.lang.Object(ARRAY(i6[1], a69930data[1])), i7809[1], i7869[1], java.lang.Object(java.lang.String(i8938[1])))
(2): COND_LOAD29334ARR9(TRUE, java.lang.Object(ARRAY(i6[2], a69930data[2])), i7809[2], i7869[2], java.lang.Object(java.lang.String(i8938[2]))) → JMP34988'(java.lang.Object(ARRAY(i6[2], a69930data[2])), i7809[2] + 1, i7869[2])
(3): INC35073(java.lang.Object(ARRAY(i6[3], a69930data[3])), i8155[3], i7869[3]) → LOAD29334(java.lang.Object(ARRAY(i6[3], a69930data[3])), i8155[3], i7869[3] + -1)
(4): LOAD29334(java.lang.Object(ARRAY(i6[4], a69930data[4])), i7809[4], i7869[4]) → LOAD29334ARR10(java.lang.Object(ARRAY(i6[4], a69930data[4])), i7809[4], i7869[4], java.lang.Object(java.lang.String(i8939[4])))
(5): LOAD29334ARR10(java.lang.Object(ARRAY(i6[5], a69930data[5])), i7809[5], i7869[5], java.lang.Object(java.lang.String(i8939[5]))) → COND_LOAD29334ARR10(i8939[5] <= 0 && i7809[5] > 0 && i7809[5] < i6[5] && i7869[5] > 0 && i7809[5] + 1 > 0, java.lang.Object(ARRAY(i6[5], a69930data[5])), i7809[5], i7869[5], java.lang.Object(java.lang.String(i8939[5])))
(6): COND_LOAD29334ARR10(TRUE, java.lang.Object(ARRAY(i6[6], a69930data[6])), i7809[6], i7869[6], java.lang.Object(java.lang.String(i8939[6]))) → LOAD29334(java.lang.Object(ARRAY(i6[6], a69930data[6])), i7809[6] + 1, i7869[6] + -1)
(7): LOAD29334(java.lang.Object(ARRAY(i6[7], a69930data[7])), i7809[7], i7869[7]) → LOAD29334ARR11(java.lang.Object(ARRAY(i6[7], a69930data[7])), i7809[7], i7869[7], java.lang.Object(java.lang.String(i8938[7])))
(8): LOAD29334ARR11(java.lang.Object(ARRAY(i6[8], a69930data[8])), i7809[8], i7869[8], java.lang.Object(java.lang.String(i8938[8]))) → COND_LOAD29334ARR11(i8938[8] > 0 && i7809[8] > 0 && i7809[8] < i6[8] && i7869[8] > 0 && i7809[8] + 1 > 0, java.lang.Object(ARRAY(i6[8], a69930data[8])), i7809[8], i7869[8], java.lang.Object(java.lang.String(i8938[8])))
(9): COND_LOAD29334ARR11(TRUE, java.lang.Object(ARRAY(i6[9], a69930data[9])), i7809[9], i7869[9], java.lang.Object(java.lang.String(i8938[9]))) → LOAD29334(java.lang.Object(ARRAY(i6[9], a69930data[9])), i7809[9] + 1, i7869[9] + -1)
(10): JMP34988'(java.lang.Object(ARRAY(i6[10], a69930data[10])), i8155[10], i7869[10]) → INC35073(java.lang.Object(ARRAY(i6[10], a69930data[10])), i8155[10], i7869[10])
(11): LOAD29334(java.lang.Object(ARRAY(i6[11], a69930data[11])), i7809[11], i7869[11]) → LOAD29334ARR12(java.lang.Object(ARRAY(i6[11], a69930data[11])), i7809[11], i7869[11], java.lang.Object(java.lang.String(i8938[11])))
(12): LOAD29334ARR12(java.lang.Object(ARRAY(i6[12], a69930data[12])), i7809[12], i7869[12], java.lang.Object(java.lang.String(i8938[12]))) → COND_LOAD29334ARR12(i8938[12] > 0 && i7809[12] > 0 && i7809[12] < i6[12] && i7869[12] > 0 && i7809[12] + 1 > 0, java.lang.Object(ARRAY(i6[12], a69930data[12])), i7809[12], i7869[12], java.lang.Object(java.lang.String(i8938[12])))
(13): COND_LOAD29334ARR12(TRUE, java.lang.Object(ARRAY(i6[13], a69930data[13])), i7809[13], i7869[13], java.lang.Object(java.lang.String(i8938[13]))) → INC35073(java.lang.Object(ARRAY(i6[13], a69930data[13])), i7809[13] + 1, i7869[13])
(14): LOAD29334(java.lang.Object(ARRAY(i6[14], a69930data[14])), i7809[14], i7869[14]) → LOAD29334ARR13(java.lang.Object(ARRAY(i6[14], a69930data[14])), i7809[14], i7869[14], java.lang.Object(java.lang.String(i8939[14])))
(15): LOAD29334ARR13(java.lang.Object(ARRAY(i6[15], a69930data[15])), i7809[15], i7869[15], java.lang.Object(java.lang.String(i8939[15]))) → COND_LOAD29334ARR13(i8939[15] <= 0 && i7809[15] > 0 && i7809[15] < i6[15] && i7869[15] > 0 && i7809[15] + 1 > 0, java.lang.Object(ARRAY(i6[15], a69930data[15])), i7809[15], i7869[15], java.lang.Object(java.lang.String(i8939[15])))
(16): COND_LOAD29334ARR13(TRUE, java.lang.Object(ARRAY(i6[16], a69930data[16])), i7809[16], i7869[16], java.lang.Object(java.lang.String(i8939[16]))) → INC35073(java.lang.Object(ARRAY(i6[16], a69930data[16])), i7809[16] + 1, i7869[16])
(17): LOAD29334(java.lang.Object(ARRAY(i6[17], a69930data[17])), i7809[17], i7869[17]) → LOAD29334ARR16(java.lang.Object(ARRAY(i6[17], a69930data[17])), i7809[17], i7869[17], java.lang.Object(java.lang.String(i8939[17])))
(18): LOAD29334ARR16(java.lang.Object(ARRAY(i6[18], a69930data[18])), i7809[18], i7869[18], java.lang.Object(java.lang.String(i8939[18]))) → COND_LOAD29334ARR16(i8939[18] <= 0 && i7809[18] > 0 && i7809[18] < i6[18] && i7869[18] > 0 && i7809[18] + 1 > 0, java.lang.Object(ARRAY(i6[18], a69930data[18])), i7809[18], i7869[18], java.lang.Object(java.lang.String(i8939[18])))
(19): COND_LOAD29334ARR16(TRUE, java.lang.Object(ARRAY(i6[19], a69930data[19])), i7809[19], i7869[19], java.lang.Object(java.lang.String(i8939[19]))) → JMP34988'(java.lang.Object(ARRAY(i6[19], a69930data[19])), i7809[19] + 1, i7869[19])

(0) -> (1), if ((java.lang.Object(java.lang.String(i8938[0])) →* java.lang.Object(java.lang.String(i8938[1])))∧(i7869[0]* i7869[1])∧(java.lang.Object(ARRAY(i6[0], a69930data[0])) →* java.lang.Object(ARRAY(i6[1], a69930data[1])))∧(i7809[0]* i7809[1]))


(1) -> (2), if ((i7809[1]* i7809[2])∧(java.lang.Object(java.lang.String(i8938[1])) →* java.lang.Object(java.lang.String(i8938[2])))∧(i7869[1]* i7869[2])∧(i8938[1] > 0 && i7809[1] > 0 && i7809[1] < i6[1] && i7869[1] > 0 && i7809[1] + 1 > 0* TRUE)∧(java.lang.Object(ARRAY(i6[1], a69930data[1])) →* java.lang.Object(ARRAY(i6[2], a69930data[2]))))


(2) -> (10), if ((i7809[2] + 1* i8155[10])∧(java.lang.Object(ARRAY(i6[2], a69930data[2])) →* java.lang.Object(ARRAY(i6[10], a69930data[10])))∧(i7869[2]* i7869[10]))


(3) -> (0), if ((java.lang.Object(ARRAY(i6[3], a69930data[3])) →* java.lang.Object(ARRAY(i6[0], a69930data[0])))∧(i8155[3]* i7809[0])∧(i7869[3] + -1* i7869[0]))


(3) -> (4), if ((i7869[3] + -1* i7869[4])∧(i8155[3]* i7809[4])∧(java.lang.Object(ARRAY(i6[3], a69930data[3])) →* java.lang.Object(ARRAY(i6[4], a69930data[4]))))


(3) -> (7), if ((java.lang.Object(ARRAY(i6[3], a69930data[3])) →* java.lang.Object(ARRAY(i6[7], a69930data[7])))∧(i7869[3] + -1* i7869[7])∧(i8155[3]* i7809[7]))


(3) -> (11), if ((i8155[3]* i7809[11])∧(i7869[3] + -1* i7869[11])∧(java.lang.Object(ARRAY(i6[3], a69930data[3])) →* java.lang.Object(ARRAY(i6[11], a69930data[11]))))


(3) -> (14), if ((i8155[3]* i7809[14])∧(i7869[3] + -1* i7869[14])∧(java.lang.Object(ARRAY(i6[3], a69930data[3])) →* java.lang.Object(ARRAY(i6[14], a69930data[14]))))


(3) -> (17), if ((java.lang.Object(ARRAY(i6[3], a69930data[3])) →* java.lang.Object(ARRAY(i6[17], a69930data[17])))∧(i8155[3]* i7809[17])∧(i7869[3] + -1* i7869[17]))


(4) -> (5), if ((i7869[4]* i7869[5])∧(java.lang.Object(ARRAY(i6[4], a69930data[4])) →* java.lang.Object(ARRAY(i6[5], a69930data[5])))∧(java.lang.Object(java.lang.String(i8939[4])) →* java.lang.Object(java.lang.String(i8939[5])))∧(i7809[4]* i7809[5]))


(5) -> (6), if ((i8939[5] <= 0 && i7809[5] > 0 && i7809[5] < i6[5] && i7869[5] > 0 && i7809[5] + 1 > 0* TRUE)∧(java.lang.Object(ARRAY(i6[5], a69930data[5])) →* java.lang.Object(ARRAY(i6[6], a69930data[6])))∧(i7809[5]* i7809[6])∧(i7869[5]* i7869[6])∧(java.lang.Object(java.lang.String(i8939[5])) →* java.lang.Object(java.lang.String(i8939[6]))))


(6) -> (0), if ((i7869[6] + -1* i7869[0])∧(java.lang.Object(ARRAY(i6[6], a69930data[6])) →* java.lang.Object(ARRAY(i6[0], a69930data[0])))∧(i7809[6] + 1* i7809[0]))


(6) -> (4), if ((i7809[6] + 1* i7809[4])∧(i7869[6] + -1* i7869[4])∧(java.lang.Object(ARRAY(i6[6], a69930data[6])) →* java.lang.Object(ARRAY(i6[4], a69930data[4]))))


(6) -> (7), if ((i7869[6] + -1* i7869[7])∧(java.lang.Object(ARRAY(i6[6], a69930data[6])) →* java.lang.Object(ARRAY(i6[7], a69930data[7])))∧(i7809[6] + 1* i7809[7]))


(6) -> (11), if ((java.lang.Object(ARRAY(i6[6], a69930data[6])) →* java.lang.Object(ARRAY(i6[11], a69930data[11])))∧(i7869[6] + -1* i7869[11])∧(i7809[6] + 1* i7809[11]))


(6) -> (14), if ((i7869[6] + -1* i7869[14])∧(i7809[6] + 1* i7809[14])∧(java.lang.Object(ARRAY(i6[6], a69930data[6])) →* java.lang.Object(ARRAY(i6[14], a69930data[14]))))


(6) -> (17), if ((i7809[6] + 1* i7809[17])∧(java.lang.Object(ARRAY(i6[6], a69930data[6])) →* java.lang.Object(ARRAY(i6[17], a69930data[17])))∧(i7869[6] + -1* i7869[17]))


(7) -> (8), if ((i7809[7]* i7809[8])∧(java.lang.Object(java.lang.String(i8938[7])) →* java.lang.Object(java.lang.String(i8938[8])))∧(i7869[7]* i7869[8])∧(java.lang.Object(ARRAY(i6[7], a69930data[7])) →* java.lang.Object(ARRAY(i6[8], a69930data[8]))))


(8) -> (9), if ((i8938[8] > 0 && i7809[8] > 0 && i7809[8] < i6[8] && i7869[8] > 0 && i7809[8] + 1 > 0* TRUE)∧(i7869[8]* i7869[9])∧(java.lang.Object(ARRAY(i6[8], a69930data[8])) →* java.lang.Object(ARRAY(i6[9], a69930data[9])))∧(java.lang.Object(java.lang.String(i8938[8])) →* java.lang.Object(java.lang.String(i8938[9])))∧(i7809[8]* i7809[9]))


(9) -> (0), if ((i7809[9] + 1* i7809[0])∧(i7869[9] + -1* i7869[0])∧(java.lang.Object(ARRAY(i6[9], a69930data[9])) →* java.lang.Object(ARRAY(i6[0], a69930data[0]))))


(9) -> (4), if ((java.lang.Object(ARRAY(i6[9], a69930data[9])) →* java.lang.Object(ARRAY(i6[4], a69930data[4])))∧(i7809[9] + 1* i7809[4])∧(i7869[9] + -1* i7869[4]))


(9) -> (7), if ((i7809[9] + 1* i7809[7])∧(java.lang.Object(ARRAY(i6[9], a69930data[9])) →* java.lang.Object(ARRAY(i6[7], a69930data[7])))∧(i7869[9] + -1* i7869[7]))


(9) -> (11), if ((java.lang.Object(ARRAY(i6[9], a69930data[9])) →* java.lang.Object(ARRAY(i6[11], a69930data[11])))∧(i7809[9] + 1* i7809[11])∧(i7869[9] + -1* i7869[11]))


(9) -> (14), if ((i7869[9] + -1* i7869[14])∧(java.lang.Object(ARRAY(i6[9], a69930data[9])) →* java.lang.Object(ARRAY(i6[14], a69930data[14])))∧(i7809[9] + 1* i7809[14]))


(9) -> (17), if ((java.lang.Object(ARRAY(i6[9], a69930data[9])) →* java.lang.Object(ARRAY(i6[17], a69930data[17])))∧(i7809[9] + 1* i7809[17])∧(i7869[9] + -1* i7869[17]))


(10) -> (3), if ((i7869[10]* i7869[3])∧(java.lang.Object(ARRAY(i6[10], a69930data[10])) →* java.lang.Object(ARRAY(i6[3], a69930data[3])))∧(i8155[10]* i8155[3]))


(11) -> (12), if ((i7809[11]* i7809[12])∧(java.lang.Object(ARRAY(i6[11], a69930data[11])) →* java.lang.Object(ARRAY(i6[12], a69930data[12])))∧(java.lang.Object(java.lang.String(i8938[11])) →* java.lang.Object(java.lang.String(i8938[12])))∧(i7869[11]* i7869[12]))


(12) -> (13), if ((i7809[12]* i7809[13])∧(java.lang.Object(java.lang.String(i8938[12])) →* java.lang.Object(java.lang.String(i8938[13])))∧(i7869[12]* i7869[13])∧(java.lang.Object(ARRAY(i6[12], a69930data[12])) →* java.lang.Object(ARRAY(i6[13], a69930data[13])))∧(i8938[12] > 0 && i7809[12] > 0 && i7809[12] < i6[12] && i7869[12] > 0 && i7809[12] + 1 > 0* TRUE))


(13) -> (3), if ((i7809[13] + 1* i8155[3])∧(java.lang.Object(ARRAY(i6[13], a69930data[13])) →* java.lang.Object(ARRAY(i6[3], a69930data[3])))∧(i7869[13]* i7869[3]))


(14) -> (15), if ((java.lang.Object(java.lang.String(i8939[14])) →* java.lang.Object(java.lang.String(i8939[15])))∧(i7809[14]* i7809[15])∧(i7869[14]* i7869[15])∧(java.lang.Object(ARRAY(i6[14], a69930data[14])) →* java.lang.Object(ARRAY(i6[15], a69930data[15]))))


(15) -> (16), if ((i8939[15] <= 0 && i7809[15] > 0 && i7809[15] < i6[15] && i7869[15] > 0 && i7809[15] + 1 > 0* TRUE)∧(i7869[15]* i7869[16])∧(java.lang.Object(java.lang.String(i8939[15])) →* java.lang.Object(java.lang.String(i8939[16])))∧(java.lang.Object(ARRAY(i6[15], a69930data[15])) →* java.lang.Object(ARRAY(i6[16], a69930data[16])))∧(i7809[15]* i7809[16]))


(16) -> (3), if ((i7809[16] + 1* i8155[3])∧(i7869[16]* i7869[3])∧(java.lang.Object(ARRAY(i6[16], a69930data[16])) →* java.lang.Object(ARRAY(i6[3], a69930data[3]))))


(17) -> (18), if ((java.lang.Object(ARRAY(i6[17], a69930data[17])) →* java.lang.Object(ARRAY(i6[18], a69930data[18])))∧(i7869[17]* i7869[18])∧(i7809[17]* i7809[18])∧(java.lang.Object(java.lang.String(i8939[17])) →* java.lang.Object(java.lang.String(i8939[18]))))


(18) -> (19), if ((i7809[18]* i7809[19])∧(java.lang.Object(ARRAY(i6[18], a69930data[18])) →* java.lang.Object(ARRAY(i6[19], a69930data[19])))∧(i8939[18] <= 0 && i7809[18] > 0 && i7809[18] < i6[18] && i7869[18] > 0 && i7809[18] + 1 > 0* TRUE)∧(i7869[18]* i7869[19])∧(java.lang.Object(java.lang.String(i8939[18])) →* java.lang.Object(java.lang.String(i8939[19]))))


(19) -> (10), if ((java.lang.Object(ARRAY(i6[19], a69930data[19])) →* java.lang.Object(ARRAY(i6[10], a69930data[10])))∧(i7809[19] + 1* i8155[10])∧(i7869[19]* i7869[10]))



The set Q consists of the following terms:
Load29334(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load29334ARR9(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load29334ARR9(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Inc35073(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load29334ARR10(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load29334ARR10(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load29334ARR11(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load29334ARR11(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
JMP34988(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load29334ARR12(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load29334ARR12(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load29334ARR13(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load29334ARR13(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load29334ARR16(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load29334ARR16(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))

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

(69) 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): LOAD29334(java.lang.Object(ARRAY(i6[0], a69930data[0])), i7809[0], i7869[0]) → LOAD29334ARR9(java.lang.Object(ARRAY(i6[0], a69930data[0])), i7809[0], i7869[0], java.lang.Object(java.lang.String(i8938[0])))
(1): LOAD29334ARR9(java.lang.Object(ARRAY(i6[1], a69930data[1])), i7809[1], i7869[1], java.lang.Object(java.lang.String(i8938[1]))) → COND_LOAD29334ARR9(i8938[1] > 0 && i7809[1] > 0 && i7809[1] < i6[1] && i7869[1] > 0 && i7809[1] + 1 > 0, java.lang.Object(ARRAY(i6[1], a69930data[1])), i7809[1], i7869[1], java.lang.Object(java.lang.String(i8938[1])))
(2): COND_LOAD29334ARR9(TRUE, java.lang.Object(ARRAY(i6[2], a69930data[2])), i7809[2], i7869[2], java.lang.Object(java.lang.String(i8938[2]))) → JMP34988'(java.lang.Object(ARRAY(i6[2], a69930data[2])), i7809[2] + 1, i7869[2])
(3): INC35073(java.lang.Object(ARRAY(i6[3], a69930data[3])), i8155[3], i7869[3]) → LOAD29334(java.lang.Object(ARRAY(i6[3], a69930data[3])), i8155[3], i7869[3] + -1)
(4): LOAD29334(java.lang.Object(ARRAY(i6[4], a69930data[4])), i7809[4], i7869[4]) → LOAD29334ARR10(java.lang.Object(ARRAY(i6[4], a69930data[4])), i7809[4], i7869[4], java.lang.Object(java.lang.String(i8939[4])))
(5): LOAD29334ARR10(java.lang.Object(ARRAY(i6[5], a69930data[5])), i7809[5], i7869[5], java.lang.Object(java.lang.String(i8939[5]))) → COND_LOAD29334ARR10(i8939[5] <= 0 && i7809[5] > 0 && i7809[5] < i6[5] && i7869[5] > 0 && i7809[5] + 1 > 0, java.lang.Object(ARRAY(i6[5], a69930data[5])), i7809[5], i7869[5], java.lang.Object(java.lang.String(i8939[5])))
(6): COND_LOAD29334ARR10(TRUE, java.lang.Object(ARRAY(i6[6], a69930data[6])), i7809[6], i7869[6], java.lang.Object(java.lang.String(i8939[6]))) → LOAD29334(java.lang.Object(ARRAY(i6[6], a69930data[6])), i7809[6] + 1, i7869[6] + -1)
(7): LOAD29334(java.lang.Object(ARRAY(i6[7], a69930data[7])), i7809[7], i7869[7]) → LOAD29334ARR11(java.lang.Object(ARRAY(i6[7], a69930data[7])), i7809[7], i7869[7], java.lang.Object(java.lang.String(i8938[7])))
(8): LOAD29334ARR11(java.lang.Object(ARRAY(i6[8], a69930data[8])), i7809[8], i7869[8], java.lang.Object(java.lang.String(i8938[8]))) → COND_LOAD29334ARR11(i8938[8] > 0 && i7809[8] > 0 && i7809[8] < i6[8] && i7869[8] > 0 && i7809[8] + 1 > 0, java.lang.Object(ARRAY(i6[8], a69930data[8])), i7809[8], i7869[8], java.lang.Object(java.lang.String(i8938[8])))
(9): COND_LOAD29334ARR11(TRUE, java.lang.Object(ARRAY(i6[9], a69930data[9])), i7809[9], i7869[9], java.lang.Object(java.lang.String(i8938[9]))) → LOAD29334(java.lang.Object(ARRAY(i6[9], a69930data[9])), i7809[9] + 1, i7869[9] + -1)
(10): JMP34988'(java.lang.Object(ARRAY(i6[10], a69930data[10])), i8155[10], i7869[10]) → INC35073(java.lang.Object(ARRAY(i6[10], a69930data[10])), i8155[10], i7869[10])
(11): LOAD29334(java.lang.Object(ARRAY(i6[11], a69930data[11])), i7809[11], i7869[11]) → LOAD29334ARR12(java.lang.Object(ARRAY(i6[11], a69930data[11])), i7809[11], i7869[11], java.lang.Object(java.lang.String(i8938[11])))
(12): LOAD29334ARR12(java.lang.Object(ARRAY(i6[12], a69930data[12])), i7809[12], i7869[12], java.lang.Object(java.lang.String(i8938[12]))) → COND_LOAD29334ARR12(i8938[12] > 0 && i7809[12] > 0 && i7809[12] < i6[12] && i7869[12] > 0 && i7809[12] + 1 > 0, java.lang.Object(ARRAY(i6[12], a69930data[12])), i7809[12], i7869[12], java.lang.Object(java.lang.String(i8938[12])))
(13): COND_LOAD29334ARR12(TRUE, java.lang.Object(ARRAY(i6[13], a69930data[13])), i7809[13], i7869[13], java.lang.Object(java.lang.String(i8938[13]))) → INC35073(java.lang.Object(ARRAY(i6[13], a69930data[13])), i7809[13] + 1, i7869[13])
(14): LOAD29334(java.lang.Object(ARRAY(i6[14], a69930data[14])), i7809[14], i7869[14]) → LOAD29334ARR13(java.lang.Object(ARRAY(i6[14], a69930data[14])), i7809[14], i7869[14], java.lang.Object(java.lang.String(i8939[14])))
(15): LOAD29334ARR13(java.lang.Object(ARRAY(i6[15], a69930data[15])), i7809[15], i7869[15], java.lang.Object(java.lang.String(i8939[15]))) → COND_LOAD29334ARR13(i8939[15] <= 0 && i7809[15] > 0 && i7809[15] < i6[15] && i7869[15] > 0 && i7809[15] + 1 > 0, java.lang.Object(ARRAY(i6[15], a69930data[15])), i7809[15], i7869[15], java.lang.Object(java.lang.String(i8939[15])))
(16): COND_LOAD29334ARR13(TRUE, java.lang.Object(ARRAY(i6[16], a69930data[16])), i7809[16], i7869[16], java.lang.Object(java.lang.String(i8939[16]))) → INC35073(java.lang.Object(ARRAY(i6[16], a69930data[16])), i7809[16] + 1, i7869[16])
(17): LOAD29334(java.lang.Object(ARRAY(i6[17], a69930data[17])), i7809[17], i7869[17]) → LOAD29334ARR16(java.lang.Object(ARRAY(i6[17], a69930data[17])), i7809[17], i7869[17], java.lang.Object(java.lang.String(i8939[17])))
(18): LOAD29334ARR16(java.lang.Object(ARRAY(i6[18], a69930data[18])), i7809[18], i7869[18], java.lang.Object(java.lang.String(i8939[18]))) → COND_LOAD29334ARR16(i8939[18] <= 0 && i7809[18] > 0 && i7809[18] < i6[18] && i7869[18] > 0 && i7809[18] + 1 > 0, java.lang.Object(ARRAY(i6[18], a69930data[18])), i7809[18], i7869[18], java.lang.Object(java.lang.String(i8939[18])))
(19): COND_LOAD29334ARR16(TRUE, java.lang.Object(ARRAY(i6[19], a69930data[19])), i7809[19], i7869[19], java.lang.Object(java.lang.String(i8939[19]))) → JMP34988'(java.lang.Object(ARRAY(i6[19], a69930data[19])), i7809[19] + 1, i7869[19])

(0) -> (1), if ((java.lang.Object(java.lang.String(i8938[0])) →* java.lang.Object(java.lang.String(i8938[1])))∧(i7869[0]* i7869[1])∧(java.lang.Object(ARRAY(i6[0], a69930data[0])) →* java.lang.Object(ARRAY(i6[1], a69930data[1])))∧(i7809[0]* i7809[1]))


(1) -> (2), if ((i7809[1]* i7809[2])∧(java.lang.Object(java.lang.String(i8938[1])) →* java.lang.Object(java.lang.String(i8938[2])))∧(i7869[1]* i7869[2])∧(i8938[1] > 0 && i7809[1] > 0 && i7809[1] < i6[1] && i7869[1] > 0 && i7809[1] + 1 > 0* TRUE)∧(java.lang.Object(ARRAY(i6[1], a69930data[1])) →* java.lang.Object(ARRAY(i6[2], a69930data[2]))))


(2) -> (10), if ((i7809[2] + 1* i8155[10])∧(java.lang.Object(ARRAY(i6[2], a69930data[2])) →* java.lang.Object(ARRAY(i6[10], a69930data[10])))∧(i7869[2]* i7869[10]))


(3) -> (0), if ((java.lang.Object(ARRAY(i6[3], a69930data[3])) →* java.lang.Object(ARRAY(i6[0], a69930data[0])))∧(i8155[3]* i7809[0])∧(i7869[3] + -1* i7869[0]))


(3) -> (4), if ((i7869[3] + -1* i7869[4])∧(i8155[3]* i7809[4])∧(java.lang.Object(ARRAY(i6[3], a69930data[3])) →* java.lang.Object(ARRAY(i6[4], a69930data[4]))))


(3) -> (7), if ((java.lang.Object(ARRAY(i6[3], a69930data[3])) →* java.lang.Object(ARRAY(i6[7], a69930data[7])))∧(i7869[3] + -1* i7869[7])∧(i8155[3]* i7809[7]))


(3) -> (11), if ((i8155[3]* i7809[11])∧(i7869[3] + -1* i7869[11])∧(java.lang.Object(ARRAY(i6[3], a69930data[3])) →* java.lang.Object(ARRAY(i6[11], a69930data[11]))))


(3) -> (14), if ((i8155[3]* i7809[14])∧(i7869[3] + -1* i7869[14])∧(java.lang.Object(ARRAY(i6[3], a69930data[3])) →* java.lang.Object(ARRAY(i6[14], a69930data[14]))))


(3) -> (17), if ((java.lang.Object(ARRAY(i6[3], a69930data[3])) →* java.lang.Object(ARRAY(i6[17], a69930data[17])))∧(i8155[3]* i7809[17])∧(i7869[3] + -1* i7869[17]))


(4) -> (5), if ((i7869[4]* i7869[5])∧(java.lang.Object(ARRAY(i6[4], a69930data[4])) →* java.lang.Object(ARRAY(i6[5], a69930data[5])))∧(java.lang.Object(java.lang.String(i8939[4])) →* java.lang.Object(java.lang.String(i8939[5])))∧(i7809[4]* i7809[5]))


(5) -> (6), if ((i8939[5] <= 0 && i7809[5] > 0 && i7809[5] < i6[5] && i7869[5] > 0 && i7809[5] + 1 > 0* TRUE)∧(java.lang.Object(ARRAY(i6[5], a69930data[5])) →* java.lang.Object(ARRAY(i6[6], a69930data[6])))∧(i7809[5]* i7809[6])∧(i7869[5]* i7869[6])∧(java.lang.Object(java.lang.String(i8939[5])) →* java.lang.Object(java.lang.String(i8939[6]))))


(6) -> (0), if ((i7869[6] + -1* i7869[0])∧(java.lang.Object(ARRAY(i6[6], a69930data[6])) →* java.lang.Object(ARRAY(i6[0], a69930data[0])))∧(i7809[6] + 1* i7809[0]))


(6) -> (4), if ((i7809[6] + 1* i7809[4])∧(i7869[6] + -1* i7869[4])∧(java.lang.Object(ARRAY(i6[6], a69930data[6])) →* java.lang.Object(ARRAY(i6[4], a69930data[4]))))


(6) -> (7), if ((i7869[6] + -1* i7869[7])∧(java.lang.Object(ARRAY(i6[6], a69930data[6])) →* java.lang.Object(ARRAY(i6[7], a69930data[7])))∧(i7809[6] + 1* i7809[7]))


(6) -> (11), if ((java.lang.Object(ARRAY(i6[6], a69930data[6])) →* java.lang.Object(ARRAY(i6[11], a69930data[11])))∧(i7869[6] + -1* i7869[11])∧(i7809[6] + 1* i7809[11]))


(6) -> (14), if ((i7869[6] + -1* i7869[14])∧(i7809[6] + 1* i7809[14])∧(java.lang.Object(ARRAY(i6[6], a69930data[6])) →* java.lang.Object(ARRAY(i6[14], a69930data[14]))))


(6) -> (17), if ((i7809[6] + 1* i7809[17])∧(java.lang.Object(ARRAY(i6[6], a69930data[6])) →* java.lang.Object(ARRAY(i6[17], a69930data[17])))∧(i7869[6] + -1* i7869[17]))


(7) -> (8), if ((i7809[7]* i7809[8])∧(java.lang.Object(java.lang.String(i8938[7])) →* java.lang.Object(java.lang.String(i8938[8])))∧(i7869[7]* i7869[8])∧(java.lang.Object(ARRAY(i6[7], a69930data[7])) →* java.lang.Object(ARRAY(i6[8], a69930data[8]))))


(8) -> (9), if ((i8938[8] > 0 && i7809[8] > 0 && i7809[8] < i6[8] && i7869[8] > 0 && i7809[8] + 1 > 0* TRUE)∧(i7869[8]* i7869[9])∧(java.lang.Object(ARRAY(i6[8], a69930data[8])) →* java.lang.Object(ARRAY(i6[9], a69930data[9])))∧(java.lang.Object(java.lang.String(i8938[8])) →* java.lang.Object(java.lang.String(i8938[9])))∧(i7809[8]* i7809[9]))


(9) -> (0), if ((i7809[9] + 1* i7809[0])∧(i7869[9] + -1* i7869[0])∧(java.lang.Object(ARRAY(i6[9], a69930data[9])) →* java.lang.Object(ARRAY(i6[0], a69930data[0]))))


(9) -> (4), if ((java.lang.Object(ARRAY(i6[9], a69930data[9])) →* java.lang.Object(ARRAY(i6[4], a69930data[4])))∧(i7809[9] + 1* i7809[4])∧(i7869[9] + -1* i7869[4]))


(9) -> (7), if ((i7809[9] + 1* i7809[7])∧(java.lang.Object(ARRAY(i6[9], a69930data[9])) →* java.lang.Object(ARRAY(i6[7], a69930data[7])))∧(i7869[9] + -1* i7869[7]))


(9) -> (11), if ((java.lang.Object(ARRAY(i6[9], a69930data[9])) →* java.lang.Object(ARRAY(i6[11], a69930data[11])))∧(i7809[9] + 1* i7809[11])∧(i7869[9] + -1* i7869[11]))


(9) -> (14), if ((i7869[9] + -1* i7869[14])∧(java.lang.Object(ARRAY(i6[9], a69930data[9])) →* java.lang.Object(ARRAY(i6[14], a69930data[14])))∧(i7809[9] + 1* i7809[14]))


(9) -> (17), if ((java.lang.Object(ARRAY(i6[9], a69930data[9])) →* java.lang.Object(ARRAY(i6[17], a69930data[17])))∧(i7809[9] + 1* i7809[17])∧(i7869[9] + -1* i7869[17]))


(10) -> (3), if ((i7869[10]* i7869[3])∧(java.lang.Object(ARRAY(i6[10], a69930data[10])) →* java.lang.Object(ARRAY(i6[3], a69930data[3])))∧(i8155[10]* i8155[3]))


(11) -> (12), if ((i7809[11]* i7809[12])∧(java.lang.Object(ARRAY(i6[11], a69930data[11])) →* java.lang.Object(ARRAY(i6[12], a69930data[12])))∧(java.lang.Object(java.lang.String(i8938[11])) →* java.lang.Object(java.lang.String(i8938[12])))∧(i7869[11]* i7869[12]))


(12) -> (13), if ((i7809[12]* i7809[13])∧(java.lang.Object(java.lang.String(i8938[12])) →* java.lang.Object(java.lang.String(i8938[13])))∧(i7869[12]* i7869[13])∧(java.lang.Object(ARRAY(i6[12], a69930data[12])) →* java.lang.Object(ARRAY(i6[13], a69930data[13])))∧(i8938[12] > 0 && i7809[12] > 0 && i7809[12] < i6[12] && i7869[12] > 0 && i7809[12] + 1 > 0* TRUE))


(13) -> (3), if ((i7809[13] + 1* i8155[3])∧(java.lang.Object(ARRAY(i6[13], a69930data[13])) →* java.lang.Object(ARRAY(i6[3], a69930data[3])))∧(i7869[13]* i7869[3]))


(14) -> (15), if ((java.lang.Object(java.lang.String(i8939[14])) →* java.lang.Object(java.lang.String(i8939[15])))∧(i7809[14]* i7809[15])∧(i7869[14]* i7869[15])∧(java.lang.Object(ARRAY(i6[14], a69930data[14])) →* java.lang.Object(ARRAY(i6[15], a69930data[15]))))


(15) -> (16), if ((i8939[15] <= 0 && i7809[15] > 0 && i7809[15] < i6[15] && i7869[15] > 0 && i7809[15] + 1 > 0* TRUE)∧(i7869[15]* i7869[16])∧(java.lang.Object(java.lang.String(i8939[15])) →* java.lang.Object(java.lang.String(i8939[16])))∧(java.lang.Object(ARRAY(i6[15], a69930data[15])) →* java.lang.Object(ARRAY(i6[16], a69930data[16])))∧(i7809[15]* i7809[16]))


(16) -> (3), if ((i7809[16] + 1* i8155[3])∧(i7869[16]* i7869[3])∧(java.lang.Object(ARRAY(i6[16], a69930data[16])) →* java.lang.Object(ARRAY(i6[3], a69930data[3]))))


(17) -> (18), if ((java.lang.Object(ARRAY(i6[17], a69930data[17])) →* java.lang.Object(ARRAY(i6[18], a69930data[18])))∧(i7869[17]* i7869[18])∧(i7809[17]* i7809[18])∧(java.lang.Object(java.lang.String(i8939[17])) →* java.lang.Object(java.lang.String(i8939[18]))))


(18) -> (19), if ((i7809[18]* i7809[19])∧(java.lang.Object(ARRAY(i6[18], a69930data[18])) →* java.lang.Object(ARRAY(i6[19], a69930data[19])))∧(i8939[18] <= 0 && i7809[18] > 0 && i7809[18] < i6[18] && i7869[18] > 0 && i7809[18] + 1 > 0* TRUE)∧(i7869[18]* i7869[19])∧(java.lang.Object(java.lang.String(i8939[18])) →* java.lang.Object(java.lang.String(i8939[19]))))


(19) -> (10), if ((java.lang.Object(ARRAY(i6[19], a69930data[19])) →* java.lang.Object(ARRAY(i6[10], a69930data[10])))∧(i7809[19] + 1* i8155[10])∧(i7869[19]* i7869[10]))



The set Q consists of the following terms:
Load29334(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load29334ARR9(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load29334ARR9(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Inc35073(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load29334ARR10(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load29334ARR10(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load29334ARR11(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load29334ARR11(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
JMP34988(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load29334ARR12(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load29334ARR12(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load29334ARR13(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load29334ARR13(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load29334ARR16(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load29334ARR16(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))

(70) ItpfGraphProof (EQUIVALENT transformation)

Applied rule ItpfICap [ICap]

(71) Obligation:

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


The following domains are used:

Boolean, Integer


R is empty.

The integer pair graph contains the following rules and edges:
(0): LOAD29334(java.lang.Object(ARRAY(i6[0], a69930data[0])), i7809[0], i7869[0]) → LOAD29334ARR9(java.lang.Object(ARRAY(i6[0], a69930data[0])), i7809[0], i7869[0], java.lang.Object(java.lang.String(i8938[0])))
(1): LOAD29334ARR9(java.lang.Object(ARRAY(i6[1], a69930data[1])), i7809[1], i7869[1], java.lang.Object(java.lang.String(i8938[1]))) → COND_LOAD29334ARR9(i8938[1] > 0 && i7809[1] > 0 && i7809[1] < i6[1] && i7869[1] > 0 && i7809[1] + 1 > 0, java.lang.Object(ARRAY(i6[1], a69930data[1])), i7809[1], i7869[1], java.lang.Object(java.lang.String(i8938[1])))
(2): COND_LOAD29334ARR9(TRUE, java.lang.Object(ARRAY(i6[2], a69930data[2])), i7809[2], i7869[2], java.lang.Object(java.lang.String(i8938[2]))) → JMP34988'(java.lang.Object(ARRAY(i6[2], a69930data[2])), i7809[2] + 1, i7869[2])
(3): INC35073(java.lang.Object(ARRAY(i6[3], a69930data[3])), i8155[3], i7869[3]) → LOAD29334(java.lang.Object(ARRAY(i6[3], a69930data[3])), i8155[3], i7869[3] + -1)
(4): LOAD29334(java.lang.Object(ARRAY(i6[4], a69930data[4])), i7809[4], i7869[4]) → LOAD29334ARR10(java.lang.Object(ARRAY(i6[4], a69930data[4])), i7809[4], i7869[4], java.lang.Object(java.lang.String(i8939[4])))
(5): LOAD29334ARR10(java.lang.Object(ARRAY(i6[5], a69930data[5])), i7809[5], i7869[5], java.lang.Object(java.lang.String(i8939[5]))) → COND_LOAD29334ARR10(i8939[5] <= 0 && i7809[5] > 0 && i7809[5] < i6[5] && i7869[5] > 0 && i7809[5] + 1 > 0, java.lang.Object(ARRAY(i6[5], a69930data[5])), i7809[5], i7869[5], java.lang.Object(java.lang.String(i8939[5])))
(6): COND_LOAD29334ARR10(TRUE, java.lang.Object(ARRAY(i6[6], a69930data[6])), i7809[6], i7869[6], java.lang.Object(java.lang.String(i8939[6]))) → LOAD29334(java.lang.Object(ARRAY(i6[6], a69930data[6])), i7809[6] + 1, i7869[6] + -1)
(7): LOAD29334(java.lang.Object(ARRAY(i6[7], a69930data[7])), i7809[7], i7869[7]) → LOAD29334ARR11(java.lang.Object(ARRAY(i6[7], a69930data[7])), i7809[7], i7869[7], java.lang.Object(java.lang.String(i8938[7])))
(8): LOAD29334ARR11(java.lang.Object(ARRAY(i6[8], a69930data[8])), i7809[8], i7869[8], java.lang.Object(java.lang.String(i8938[8]))) → COND_LOAD29334ARR11(i8938[8] > 0 && i7809[8] > 0 && i7809[8] < i6[8] && i7869[8] > 0 && i7809[8] + 1 > 0, java.lang.Object(ARRAY(i6[8], a69930data[8])), i7809[8], i7869[8], java.lang.Object(java.lang.String(i8938[8])))
(9): COND_LOAD29334ARR11(TRUE, java.lang.Object(ARRAY(i6[9], a69930data[9])), i7809[9], i7869[9], java.lang.Object(java.lang.String(i8938[9]))) → LOAD29334(java.lang.Object(ARRAY(i6[9], a69930data[9])), i7809[9] + 1, i7869[9] + -1)
(10): JMP34988'(java.lang.Object(ARRAY(i6[10], a69930data[10])), i8155[10], i7869[10]) → INC35073(java.lang.Object(ARRAY(i6[10], a69930data[10])), i8155[10], i7869[10])
(11): LOAD29334(java.lang.Object(ARRAY(i6[11], a69930data[11])), i7809[11], i7869[11]) → LOAD29334ARR12(java.lang.Object(ARRAY(i6[11], a69930data[11])), i7809[11], i7869[11], java.lang.Object(java.lang.String(i8938[11])))
(12): LOAD29334ARR12(java.lang.Object(ARRAY(i6[12], a69930data[12])), i7809[12], i7869[12], java.lang.Object(java.lang.String(i8938[12]))) → COND_LOAD29334ARR12(i8938[12] > 0 && i7809[12] > 0 && i7809[12] < i6[12] && i7869[12] > 0 && i7809[12] + 1 > 0, java.lang.Object(ARRAY(i6[12], a69930data[12])), i7809[12], i7869[12], java.lang.Object(java.lang.String(i8938[12])))
(13): COND_LOAD29334ARR12(TRUE, java.lang.Object(ARRAY(i6[13], a69930data[13])), i7809[13], i7869[13], java.lang.Object(java.lang.String(i8938[13]))) → INC35073(java.lang.Object(ARRAY(i6[13], a69930data[13])), i7809[13] + 1, i7869[13])
(14): LOAD29334(java.lang.Object(ARRAY(i6[14], a69930data[14])), i7809[14], i7869[14]) → LOAD29334ARR13(java.lang.Object(ARRAY(i6[14], a69930data[14])), i7809[14], i7869[14], java.lang.Object(java.lang.String(i8939[14])))
(15): LOAD29334ARR13(java.lang.Object(ARRAY(i6[15], a69930data[15])), i7809[15], i7869[15], java.lang.Object(java.lang.String(i8939[15]))) → COND_LOAD29334ARR13(i8939[15] <= 0 && i7809[15] > 0 && i7809[15] < i6[15] && i7869[15] > 0 && i7809[15] + 1 > 0, java.lang.Object(ARRAY(i6[15], a69930data[15])), i7809[15], i7869[15], java.lang.Object(java.lang.String(i8939[15])))
(16): COND_LOAD29334ARR13(TRUE, java.lang.Object(ARRAY(i6[16], a69930data[16])), i7809[16], i7869[16], java.lang.Object(java.lang.String(i8939[16]))) → INC35073(java.lang.Object(ARRAY(i6[16], a69930data[16])), i7809[16] + 1, i7869[16])
(17): LOAD29334(java.lang.Object(ARRAY(i6[17], a69930data[17])), i7809[17], i7869[17]) → LOAD29334ARR16(java.lang.Object(ARRAY(i6[17], a69930data[17])), i7809[17], i7869[17], java.lang.Object(java.lang.String(i8939[17])))
(18): LOAD29334ARR16(java.lang.Object(ARRAY(i6[18], a69930data[18])), i7809[18], i7869[18], java.lang.Object(java.lang.String(i8939[18]))) → COND_LOAD29334ARR16(i8939[18] <= 0 && i7809[18] > 0 && i7809[18] < i6[18] && i7869[18] > 0 && i7809[18] + 1 > 0, java.lang.Object(ARRAY(i6[18], a69930data[18])), i7809[18], i7869[18], java.lang.Object(java.lang.String(i8939[18])))
(19): COND_LOAD29334ARR16(TRUE, java.lang.Object(ARRAY(i6[19], a69930data[19])), i7809[19], i7869[19], java.lang.Object(java.lang.String(i8939[19]))) → JMP34988'(java.lang.Object(ARRAY(i6[19], a69930data[19])), i7809[19] + 1, i7869[19])

(0) -> (1), if (((i8938[0]* i8938[1]))∧(i7869[0]* i7869[1])∧((i6[0]* i6[1])∧(a69930data[0]* a69930data[1]))∧(i7809[0]* i7809[1]))


(1) -> (2), if ((i7809[1]* i7809[2])∧((i8938[1]* i8938[2]))∧(i7869[1]* i7869[2])∧(i8938[1] > 0 && i7809[1] > 0 && i7809[1] < i6[1] && i7869[1] > 0 && i7809[1] + 1 > 0* TRUE)∧((i6[1]* i6[2])∧(a69930data[1]* a69930data[2])))


(2) -> (10), if ((i7809[2] + 1* i8155[10])∧((i6[2]* i6[10])∧(a69930data[2]* a69930data[10]))∧(i7869[2]* i7869[10]))


(3) -> (0), if (((i6[3]* i6[0])∧(a69930data[3]* a69930data[0]))∧(i8155[3]* i7809[0])∧(i7869[3] + -1* i7869[0]))


(3) -> (4), if ((i7869[3] + -1* i7869[4])∧(i8155[3]* i7809[4])∧((i6[3]* i6[4])∧(a69930data[3]* a69930data[4])))


(3) -> (7), if (((i6[3]* i6[7])∧(a69930data[3]* a69930data[7]))∧(i7869[3] + -1* i7869[7])∧(i8155[3]* i7809[7]))


(3) -> (11), if ((i8155[3]* i7809[11])∧(i7869[3] + -1* i7869[11])∧((i6[3]* i6[11])∧(a69930data[3]* a69930data[11])))


(3) -> (14), if ((i8155[3]* i7809[14])∧(i7869[3] + -1* i7869[14])∧((i6[3]* i6[14])∧(a69930data[3]* a69930data[14])))


(3) -> (17), if (((i6[3]* i6[17])∧(a69930data[3]* a69930data[17]))∧(i8155[3]* i7809[17])∧(i7869[3] + -1* i7869[17]))


(4) -> (5), if ((i7869[4]* i7869[5])∧((i6[4]* i6[5])∧(a69930data[4]* a69930data[5]))∧((i8939[4]* i8939[5]))∧(i7809[4]* i7809[5]))


(5) -> (6), if ((i8939[5] <= 0 && i7809[5] > 0 && i7809[5] < i6[5] && i7869[5] > 0 && i7809[5] + 1 > 0* TRUE)∧((i6[5]* i6[6])∧(a69930data[5]* a69930data[6]))∧(i7809[5]* i7809[6])∧(i7869[5]* i7869[6])∧((i8939[5]* i8939[6])))


(6) -> (0), if ((i7869[6] + -1* i7869[0])∧((i6[6]* i6[0])∧(a69930data[6]* a69930data[0]))∧(i7809[6] + 1* i7809[0]))


(6) -> (4), if ((i7809[6] + 1* i7809[4])∧(i7869[6] + -1* i7869[4])∧((i6[6]* i6[4])∧(a69930data[6]* a69930data[4])))


(6) -> (7), if ((i7869[6] + -1* i7869[7])∧((i6[6]* i6[7])∧(a69930data[6]* a69930data[7]))∧(i7809[6] + 1* i7809[7]))


(6) -> (11), if (((i6[6]* i6[11])∧(a69930data[6]* a69930data[11]))∧(i7869[6] + -1* i7869[11])∧(i7809[6] + 1* i7809[11]))


(6) -> (14), if ((i7869[6] + -1* i7869[14])∧(i7809[6] + 1* i7809[14])∧((i6[6]* i6[14])∧(a69930data[6]* a69930data[14])))


(6) -> (17), if ((i7809[6] + 1* i7809[17])∧((i6[6]* i6[17])∧(a69930data[6]* a69930data[17]))∧(i7869[6] + -1* i7869[17]))


(7) -> (8), if ((i7809[7]* i7809[8])∧((i8938[7]* i8938[8]))∧(i7869[7]* i7869[8])∧((i6[7]* i6[8])∧(a69930data[7]* a69930data[8])))


(8) -> (9), if ((i8938[8] > 0 && i7809[8] > 0 && i7809[8] < i6[8] && i7869[8] > 0 && i7809[8] + 1 > 0* TRUE)∧(i7869[8]* i7869[9])∧((i6[8]* i6[9])∧(a69930data[8]* a69930data[9]))∧((i8938[8]* i8938[9]))∧(i7809[8]* i7809[9]))


(9) -> (0), if ((i7809[9] + 1* i7809[0])∧(i7869[9] + -1* i7869[0])∧((i6[9]* i6[0])∧(a69930data[9]* a69930data[0])))


(9) -> (4), if (((i6[9]* i6[4])∧(a69930data[9]* a69930data[4]))∧(i7809[9] + 1* i7809[4])∧(i7869[9] + -1* i7869[4]))


(9) -> (7), if ((i7809[9] + 1* i7809[7])∧((i6[9]* i6[7])∧(a69930data[9]* a69930data[7]))∧(i7869[9] + -1* i7869[7]))


(9) -> (11), if (((i6[9]* i6[11])∧(a69930data[9]* a69930data[11]))∧(i7809[9] + 1* i7809[11])∧(i7869[9] + -1* i7869[11]))


(9) -> (14), if ((i7869[9] + -1* i7869[14])∧((i6[9]* i6[14])∧(a69930data[9]* a69930data[14]))∧(i7809[9] + 1* i7809[14]))


(9) -> (17), if (((i6[9]* i6[17])∧(a69930data[9]* a69930data[17]))∧(i7809[9] + 1* i7809[17])∧(i7869[9] + -1* i7869[17]))


(10) -> (3), if ((i7869[10]* i7869[3])∧((i6[10]* i6[3])∧(a69930data[10]* a69930data[3]))∧(i8155[10]* i8155[3]))


(11) -> (12), if ((i7809[11]* i7809[12])∧((i6[11]* i6[12])∧(a69930data[11]* a69930data[12]))∧((i8938[11]* i8938[12]))∧(i7869[11]* i7869[12]))


(12) -> (13), if ((i7809[12]* i7809[13])∧((i8938[12]* i8938[13]))∧(i7869[12]* i7869[13])∧((i6[12]* i6[13])∧(a69930data[12]* a69930data[13]))∧(i8938[12] > 0 && i7809[12] > 0 && i7809[12] < i6[12] && i7869[12] > 0 && i7809[12] + 1 > 0* TRUE))


(13) -> (3), if ((i7809[13] + 1* i8155[3])∧((i6[13]* i6[3])∧(a69930data[13]* a69930data[3]))∧(i7869[13]* i7869[3]))


(14) -> (15), if (((i8939[14]* i8939[15]))∧(i7809[14]* i7809[15])∧(i7869[14]* i7869[15])∧((i6[14]* i6[15])∧(a69930data[14]* a69930data[15])))


(15) -> (16), if ((i8939[15] <= 0 && i7809[15] > 0 && i7809[15] < i6[15] && i7869[15] > 0 && i7809[15] + 1 > 0* TRUE)∧(i7869[15]* i7869[16])∧((i8939[15]* i8939[16]))∧((i6[15]* i6[16])∧(a69930data[15]* a69930data[16]))∧(i7809[15]* i7809[16]))


(16) -> (3), if ((i7809[16] + 1* i8155[3])∧(i7869[16]* i7869[3])∧((i6[16]* i6[3])∧(a69930data[16]* a69930data[3])))


(17) -> (18), if (((i6[17]* i6[18])∧(a69930data[17]* a69930data[18]))∧(i7869[17]* i7869[18])∧(i7809[17]* i7809[18])∧((i8939[17]* i8939[18])))


(18) -> (19), if ((i7809[18]* i7809[19])∧((i6[18]* i6[19])∧(a69930data[18]* a69930data[19]))∧(i8939[18] <= 0 && i7809[18] > 0 && i7809[18] < i6[18] && i7869[18] > 0 && i7809[18] + 1 > 0* TRUE)∧(i7869[18]* i7869[19])∧((i8939[18]* i8939[19])))


(19) -> (10), if (((i6[19]* i6[10])∧(a69930data[19]* a69930data[10]))∧(i7809[19] + 1* i8155[10])∧(i7869[19]* i7869[10]))



The set Q consists of the following terms:
Load29334(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load29334ARR9(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load29334ARR9(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Inc35073(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load29334ARR10(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load29334ARR10(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load29334ARR11(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load29334ARR11(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
JMP34988(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load29334ARR12(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load29334ARR12(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load29334ARR13(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load29334ARR13(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load29334ARR16(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load29334ARR16(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))

(72) 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 LOAD29334(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869) → LOAD29334ARR9(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8938))) the following chains were created:
  • We consider the chain LOAD29334(java.lang.Object(ARRAY(i6[0], a69930data[0])), i7809[0], i7869[0]) → LOAD29334ARR9(java.lang.Object(ARRAY(i6[0], a69930data[0])), i7809[0], i7869[0], java.lang.Object(java.lang.String(i8938[0]))) which results in the following constraint:

    (1)    (LOAD29334(java.lang.Object(ARRAY(i6[0], a69930data[0])), i7809[0], i7869[0])≥NonInfC∧LOAD29334(java.lang.Object(ARRAY(i6[0], a69930data[0])), i7809[0], i7869[0])≥LOAD29334ARR9(java.lang.Object(ARRAY(i6[0], a69930data[0])), i7809[0], i7869[0], java.lang.Object(java.lang.String(i8938[0])))∧(UIncreasing(LOAD29334ARR9(java.lang.Object(ARRAY(i6[0], a69930data[0])), i7809[0], i7869[0], java.lang.Object(java.lang.String(i8938[0])))), ≥))



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

    (2)    ((UIncreasing(LOAD29334ARR9(java.lang.Object(ARRAY(i6[0], a69930data[0])), i7809[0], i7869[0], java.lang.Object(java.lang.String(i8938[0])))), ≥)∧[(-1)bso_35] ≥ 0)



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

    (3)    ((UIncreasing(LOAD29334ARR9(java.lang.Object(ARRAY(i6[0], a69930data[0])), i7809[0], i7869[0], java.lang.Object(java.lang.String(i8938[0])))), ≥)∧[(-1)bso_35] ≥ 0)



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

    (4)    ((UIncreasing(LOAD29334ARR9(java.lang.Object(ARRAY(i6[0], a69930data[0])), i7809[0], i7869[0], java.lang.Object(java.lang.String(i8938[0])))), ≥)∧[(-1)bso_35] ≥ 0)



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

    (5)    ((UIncreasing(LOAD29334ARR9(java.lang.Object(ARRAY(i6[0], a69930data[0])), i7809[0], i7869[0], java.lang.Object(java.lang.String(i8938[0])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_35] ≥ 0)







For Pair LOAD29334ARR9(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8938))) → COND_LOAD29334ARR9(&&(&&(&&(&&(>(i8938, 0), >(i7809, 0)), <(i7809, i6)), >(i7869, 0)), >(+(i7809, 1), 0)), java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8938))) the following chains were created:
  • We consider the chain LOAD29334ARR9(java.lang.Object(ARRAY(i6[1], a69930data[1])), i7809[1], i7869[1], java.lang.Object(java.lang.String(i8938[1]))) → COND_LOAD29334ARR9(&&(&&(&&(&&(>(i8938[1], 0), >(i7809[1], 0)), <(i7809[1], i6[1])), >(i7869[1], 0)), >(+(i7809[1], 1), 0)), java.lang.Object(ARRAY(i6[1], a69930data[1])), i7809[1], i7869[1], java.lang.Object(java.lang.String(i8938[1]))), COND_LOAD29334ARR9(TRUE, java.lang.Object(ARRAY(i6[2], a69930data[2])), i7809[2], i7869[2], java.lang.Object(java.lang.String(i8938[2]))) → JMP34988'(java.lang.Object(ARRAY(i6[2], a69930data[2])), +(i7809[2], 1), i7869[2]) which results in the following constraint:

    (6)    (i7809[1]=i7809[2]i8938[1]=i8938[2]i7869[1]=i7869[2]&&(&&(&&(&&(>(i8938[1], 0), >(i7809[1], 0)), <(i7809[1], i6[1])), >(i7869[1], 0)), >(+(i7809[1], 1), 0))=TRUEi6[1]=i6[2]a69930data[1]=a69930data[2]LOAD29334ARR9(java.lang.Object(ARRAY(i6[1], a69930data[1])), i7809[1], i7869[1], java.lang.Object(java.lang.String(i8938[1])))≥NonInfC∧LOAD29334ARR9(java.lang.Object(ARRAY(i6[1], a69930data[1])), i7809[1], i7869[1], java.lang.Object(java.lang.String(i8938[1])))≥COND_LOAD29334ARR9(&&(&&(&&(&&(>(i8938[1], 0), >(i7809[1], 0)), <(i7809[1], i6[1])), >(i7869[1], 0)), >(+(i7809[1], 1), 0)), java.lang.Object(ARRAY(i6[1], a69930data[1])), i7809[1], i7869[1], java.lang.Object(java.lang.String(i8938[1])))∧(UIncreasing(COND_LOAD29334ARR9(&&(&&(&&(&&(>(i8938[1], 0), >(i7809[1], 0)), <(i7809[1], i6[1])), >(i7869[1], 0)), >(+(i7809[1], 1), 0)), java.lang.Object(ARRAY(i6[1], a69930data[1])), i7809[1], i7869[1], java.lang.Object(java.lang.String(i8938[1])))), ≥))



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

    (7)    (>(+(i7809[1], 1), 0)=TRUE>(i7869[1], 0)=TRUE<(i7809[1], i6[1])=TRUE>(i8938[1], 0)=TRUE>(i7809[1], 0)=TRUELOAD29334ARR9(java.lang.Object(ARRAY(i6[1], a69930data[1])), i7809[1], i7869[1], java.lang.Object(java.lang.String(i8938[1])))≥NonInfC∧LOAD29334ARR9(java.lang.Object(ARRAY(i6[1], a69930data[1])), i7809[1], i7869[1], java.lang.Object(java.lang.String(i8938[1])))≥COND_LOAD29334ARR9(&&(&&(&&(&&(>(i8938[1], 0), >(i7809[1], 0)), <(i7809[1], i6[1])), >(i7869[1], 0)), >(+(i7809[1], 1), 0)), java.lang.Object(ARRAY(i6[1], a69930data[1])), i7809[1], i7869[1], java.lang.Object(java.lang.String(i8938[1])))∧(UIncreasing(COND_LOAD29334ARR9(&&(&&(&&(&&(>(i8938[1], 0), >(i7809[1], 0)), <(i7809[1], i6[1])), >(i7869[1], 0)), >(+(i7809[1], 1), 0)), java.lang.Object(ARRAY(i6[1], a69930data[1])), i7809[1], i7869[1], java.lang.Object(java.lang.String(i8938[1])))), ≥))



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

    (8)    (i7809[1] ≥ 0∧i7869[1] + [-1] ≥ 0∧i6[1] + [-1] + [-1]i7809[1] ≥ 0∧i8938[1] + [-1] ≥ 0∧i7809[1] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD29334ARR9(&&(&&(&&(&&(>(i8938[1], 0), >(i7809[1], 0)), <(i7809[1], i6[1])), >(i7869[1], 0)), >(+(i7809[1], 1), 0)), java.lang.Object(ARRAY(i6[1], a69930data[1])), i7809[1], i7869[1], java.lang.Object(java.lang.String(i8938[1])))), ≥)∧[(-3)bni_36 + (-1)Bound*bni_36] + [bni_36]i7869[1] + [bni_36]i6[1] + [(-1)bni_36]i7809[1] ≥ 0∧[(-1)bso_37] ≥ 0)



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

    (9)    (i7809[1] ≥ 0∧i7869[1] + [-1] ≥ 0∧i6[1] + [-1] + [-1]i7809[1] ≥ 0∧i8938[1] + [-1] ≥ 0∧i7809[1] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD29334ARR9(&&(&&(&&(&&(>(i8938[1], 0), >(i7809[1], 0)), <(i7809[1], i6[1])), >(i7869[1], 0)), >(+(i7809[1], 1), 0)), java.lang.Object(ARRAY(i6[1], a69930data[1])), i7809[1], i7869[1], java.lang.Object(java.lang.String(i8938[1])))), ≥)∧[(-3)bni_36 + (-1)Bound*bni_36] + [bni_36]i7869[1] + [bni_36]i6[1] + [(-1)bni_36]i7809[1] ≥ 0∧[(-1)bso_37] ≥ 0)



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

    (10)    (i7809[1] ≥ 0∧i7869[1] + [-1] ≥ 0∧i6[1] + [-1] + [-1]i7809[1] ≥ 0∧i8938[1] + [-1] ≥ 0∧i7809[1] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD29334ARR9(&&(&&(&&(&&(>(i8938[1], 0), >(i7809[1], 0)), <(i7809[1], i6[1])), >(i7869[1], 0)), >(+(i7809[1], 1), 0)), java.lang.Object(ARRAY(i6[1], a69930data[1])), i7809[1], i7869[1], java.lang.Object(java.lang.String(i8938[1])))), ≥)∧[(-3)bni_36 + (-1)Bound*bni_36] + [bni_36]i7869[1] + [bni_36]i6[1] + [(-1)bni_36]i7809[1] ≥ 0∧[(-1)bso_37] ≥ 0)



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

    (11)    (i7809[1] ≥ 0∧i7869[1] + [-1] ≥ 0∧i6[1] + [-1] + [-1]i7809[1] ≥ 0∧i8938[1] + [-1] ≥ 0∧i7809[1] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD29334ARR9(&&(&&(&&(&&(>(i8938[1], 0), >(i7809[1], 0)), <(i7809[1], i6[1])), >(i7869[1], 0)), >(+(i7809[1], 1), 0)), java.lang.Object(ARRAY(i6[1], a69930data[1])), i7809[1], i7869[1], java.lang.Object(java.lang.String(i8938[1])))), ≥)∧0 = 0∧[(-3)bni_36 + (-1)Bound*bni_36] + [bni_36]i7869[1] + [bni_36]i6[1] + [(-1)bni_36]i7809[1] ≥ 0∧0 = 0∧[(-1)bso_37] ≥ 0)



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

    (12)    ([1] + i7809[1] ≥ 0∧i7869[1] + [-1] ≥ 0∧i6[1] + [-2] + [-1]i7809[1] ≥ 0∧i8938[1] + [-1] ≥ 0∧i7809[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD29334ARR9(&&(&&(&&(&&(>(i8938[1], 0), >(i7809[1], 0)), <(i7809[1], i6[1])), >(i7869[1], 0)), >(+(i7809[1], 1), 0)), java.lang.Object(ARRAY(i6[1], a69930data[1])), i7809[1], i7869[1], java.lang.Object(java.lang.String(i8938[1])))), ≥)∧0 = 0∧[(-4)bni_36 + (-1)Bound*bni_36] + [bni_36]i7869[1] + [bni_36]i6[1] + [(-1)bni_36]i7809[1] ≥ 0∧0 = 0∧[(-1)bso_37] ≥ 0)



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

    (13)    ([1] + i7809[1] ≥ 0∧i7869[1] ≥ 0∧i6[1] + [-2] + [-1]i7809[1] ≥ 0∧i8938[1] + [-1] ≥ 0∧i7809[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD29334ARR9(&&(&&(&&(&&(>(i8938[1], 0), >(i7809[1], 0)), <(i7809[1], i6[1])), >(i7869[1], 0)), >(+(i7809[1], 1), 0)), java.lang.Object(ARRAY(i6[1], a69930data[1])), i7809[1], i7869[1], java.lang.Object(java.lang.String(i8938[1])))), ≥)∧0 = 0∧[(-3)bni_36 + (-1)Bound*bni_36] + [bni_36]i7869[1] + [bni_36]i6[1] + [(-1)bni_36]i7809[1] ≥ 0∧0 = 0∧[(-1)bso_37] ≥ 0)



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

    (14)    ([1] + i7809[1] ≥ 0∧i7869[1] ≥ 0∧i6[1] ≥ 0∧i8938[1] + [-1] ≥ 0∧i7809[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD29334ARR9(&&(&&(&&(&&(>(i8938[1], 0), >(i7809[1], 0)), <(i7809[1], i6[1])), >(i7869[1], 0)), >(+(i7809[1], 1), 0)), java.lang.Object(ARRAY(i6[1], a69930data[1])), i7809[1], i7869[1], java.lang.Object(java.lang.String(i8938[1])))), ≥)∧0 = 0∧[(-1)Bound*bni_36 + (-1)bni_36] + [bni_36]i7869[1] + [bni_36]i6[1] ≥ 0∧0 = 0∧[(-1)bso_37] ≥ 0)



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

    (15)    ([1] + i7809[1] ≥ 0∧i7869[1] ≥ 0∧i6[1] ≥ 0∧i8938[1] ≥ 0∧i7809[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD29334ARR9(&&(&&(&&(&&(>(i8938[1], 0), >(i7809[1], 0)), <(i7809[1], i6[1])), >(i7869[1], 0)), >(+(i7809[1], 1), 0)), java.lang.Object(ARRAY(i6[1], a69930data[1])), i7809[1], i7869[1], java.lang.Object(java.lang.String(i8938[1])))), ≥)∧0 = 0∧[(-1)Bound*bni_36 + (-1)bni_36] + [bni_36]i7869[1] + [bni_36]i6[1] ≥ 0∧0 = 0∧[(-1)bso_37] ≥ 0)







For Pair COND_LOAD29334ARR9(TRUE, java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8938))) → JMP34988'(java.lang.Object(ARRAY(i6, a69930data)), +(i7809, 1), i7869) the following chains were created:
  • We consider the chain COND_LOAD29334ARR9(TRUE, java.lang.Object(ARRAY(i6[2], a69930data[2])), i7809[2], i7869[2], java.lang.Object(java.lang.String(i8938[2]))) → JMP34988'(java.lang.Object(ARRAY(i6[2], a69930data[2])), +(i7809[2], 1), i7869[2]) which results in the following constraint:

    (16)    (COND_LOAD29334ARR9(TRUE, java.lang.Object(ARRAY(i6[2], a69930data[2])), i7809[2], i7869[2], java.lang.Object(java.lang.String(i8938[2])))≥NonInfC∧COND_LOAD29334ARR9(TRUE, java.lang.Object(ARRAY(i6[2], a69930data[2])), i7809[2], i7869[2], java.lang.Object(java.lang.String(i8938[2])))≥JMP34988'(java.lang.Object(ARRAY(i6[2], a69930data[2])), +(i7809[2], 1), i7869[2])∧(UIncreasing(JMP34988'(java.lang.Object(ARRAY(i6[2], a69930data[2])), +(i7809[2], 1), i7869[2])), ≥))



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

    (17)    ((UIncreasing(JMP34988'(java.lang.Object(ARRAY(i6[2], a69930data[2])), +(i7809[2], 1), i7869[2])), ≥)∧[1 + (-1)bso_39] ≥ 0)



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

    (18)    ((UIncreasing(JMP34988'(java.lang.Object(ARRAY(i6[2], a69930data[2])), +(i7809[2], 1), i7869[2])), ≥)∧[1 + (-1)bso_39] ≥ 0)



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

    (19)    ((UIncreasing(JMP34988'(java.lang.Object(ARRAY(i6[2], a69930data[2])), +(i7809[2], 1), i7869[2])), ≥)∧[1 + (-1)bso_39] ≥ 0)



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

    (20)    ((UIncreasing(JMP34988'(java.lang.Object(ARRAY(i6[2], a69930data[2])), +(i7809[2], 1), i7869[2])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_39] ≥ 0)







For Pair INC35073(java.lang.Object(ARRAY(i6, a69930data)), i8155, i7869) → LOAD29334(java.lang.Object(ARRAY(i6, a69930data)), i8155, +(i7869, -1)) the following chains were created:
  • We consider the chain INC35073(java.lang.Object(ARRAY(i6[3], a69930data[3])), i8155[3], i7869[3]) → LOAD29334(java.lang.Object(ARRAY(i6[3], a69930data[3])), i8155[3], +(i7869[3], -1)) which results in the following constraint:

    (21)    (INC35073(java.lang.Object(ARRAY(i6[3], a69930data[3])), i8155[3], i7869[3])≥NonInfC∧INC35073(java.lang.Object(ARRAY(i6[3], a69930data[3])), i8155[3], i7869[3])≥LOAD29334(java.lang.Object(ARRAY(i6[3], a69930data[3])), i8155[3], +(i7869[3], -1))∧(UIncreasing(LOAD29334(java.lang.Object(ARRAY(i6[3], a69930data[3])), i8155[3], +(i7869[3], -1))), ≥))



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

    (22)    ((UIncreasing(LOAD29334(java.lang.Object(ARRAY(i6[3], a69930data[3])), i8155[3], +(i7869[3], -1))), ≥)∧[1 + (-1)bso_41] ≥ 0)



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

    (23)    ((UIncreasing(LOAD29334(java.lang.Object(ARRAY(i6[3], a69930data[3])), i8155[3], +(i7869[3], -1))), ≥)∧[1 + (-1)bso_41] ≥ 0)



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

    (24)    ((UIncreasing(LOAD29334(java.lang.Object(ARRAY(i6[3], a69930data[3])), i8155[3], +(i7869[3], -1))), ≥)∧[1 + (-1)bso_41] ≥ 0)



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

    (25)    ((UIncreasing(LOAD29334(java.lang.Object(ARRAY(i6[3], a69930data[3])), i8155[3], +(i7869[3], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_41] ≥ 0)







For Pair LOAD29334(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869) → LOAD29334ARR10(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8939))) the following chains were created:
  • We consider the chain LOAD29334(java.lang.Object(ARRAY(i6[4], a69930data[4])), i7809[4], i7869[4]) → LOAD29334ARR10(java.lang.Object(ARRAY(i6[4], a69930data[4])), i7809[4], i7869[4], java.lang.Object(java.lang.String(i8939[4]))) which results in the following constraint:

    (26)    (LOAD29334(java.lang.Object(ARRAY(i6[4], a69930data[4])), i7809[4], i7869[4])≥NonInfC∧LOAD29334(java.lang.Object(ARRAY(i6[4], a69930data[4])), i7809[4], i7869[4])≥LOAD29334ARR10(java.lang.Object(ARRAY(i6[4], a69930data[4])), i7809[4], i7869[4], java.lang.Object(java.lang.String(i8939[4])))∧(UIncreasing(LOAD29334ARR10(java.lang.Object(ARRAY(i6[4], a69930data[4])), i7809[4], i7869[4], java.lang.Object(java.lang.String(i8939[4])))), ≥))



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

    (27)    ((UIncreasing(LOAD29334ARR10(java.lang.Object(ARRAY(i6[4], a69930data[4])), i7809[4], i7869[4], java.lang.Object(java.lang.String(i8939[4])))), ≥)∧[(-1)bso_43] ≥ 0)



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

    (28)    ((UIncreasing(LOAD29334ARR10(java.lang.Object(ARRAY(i6[4], a69930data[4])), i7809[4], i7869[4], java.lang.Object(java.lang.String(i8939[4])))), ≥)∧[(-1)bso_43] ≥ 0)



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

    (29)    ((UIncreasing(LOAD29334ARR10(java.lang.Object(ARRAY(i6[4], a69930data[4])), i7809[4], i7869[4], java.lang.Object(java.lang.String(i8939[4])))), ≥)∧[(-1)bso_43] ≥ 0)



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

    (30)    ((UIncreasing(LOAD29334ARR10(java.lang.Object(ARRAY(i6[4], a69930data[4])), i7809[4], i7869[4], java.lang.Object(java.lang.String(i8939[4])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_43] ≥ 0)







For Pair LOAD29334ARR10(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8939))) → COND_LOAD29334ARR10(&&(&&(&&(&&(<=(i8939, 0), >(i7809, 0)), <(i7809, i6)), >(i7869, 0)), >(+(i7809, 1), 0)), java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8939))) the following chains were created:
  • We consider the chain LOAD29334ARR10(java.lang.Object(ARRAY(i6[5], a69930data[5])), i7809[5], i7869[5], java.lang.Object(java.lang.String(i8939[5]))) → COND_LOAD29334ARR10(&&(&&(&&(&&(<=(i8939[5], 0), >(i7809[5], 0)), <(i7809[5], i6[5])), >(i7869[5], 0)), >(+(i7809[5], 1), 0)), java.lang.Object(ARRAY(i6[5], a69930data[5])), i7809[5], i7869[5], java.lang.Object(java.lang.String(i8939[5]))), COND_LOAD29334ARR10(TRUE, java.lang.Object(ARRAY(i6[6], a69930data[6])), i7809[6], i7869[6], java.lang.Object(java.lang.String(i8939[6]))) → LOAD29334(java.lang.Object(ARRAY(i6[6], a69930data[6])), +(i7809[6], 1), +(i7869[6], -1)) which results in the following constraint:

    (31)    (&&(&&(&&(&&(<=(i8939[5], 0), >(i7809[5], 0)), <(i7809[5], i6[5])), >(i7869[5], 0)), >(+(i7809[5], 1), 0))=TRUEi6[5]=i6[6]a69930data[5]=a69930data[6]i7809[5]=i7809[6]i7869[5]=i7869[6]i8939[5]=i8939[6]LOAD29334ARR10(java.lang.Object(ARRAY(i6[5], a69930data[5])), i7809[5], i7869[5], java.lang.Object(java.lang.String(i8939[5])))≥NonInfC∧LOAD29334ARR10(java.lang.Object(ARRAY(i6[5], a69930data[5])), i7809[5], i7869[5], java.lang.Object(java.lang.String(i8939[5])))≥COND_LOAD29334ARR10(&&(&&(&&(&&(<=(i8939[5], 0), >(i7809[5], 0)), <(i7809[5], i6[5])), >(i7869[5], 0)), >(+(i7809[5], 1), 0)), java.lang.Object(ARRAY(i6[5], a69930data[5])), i7809[5], i7869[5], java.lang.Object(java.lang.String(i8939[5])))∧(UIncreasing(COND_LOAD29334ARR10(&&(&&(&&(&&(<=(i8939[5], 0), >(i7809[5], 0)), <(i7809[5], i6[5])), >(i7869[5], 0)), >(+(i7809[5], 1), 0)), java.lang.Object(ARRAY(i6[5], a69930data[5])), i7809[5], i7869[5], java.lang.Object(java.lang.String(i8939[5])))), ≥))



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

    (32)    (>(+(i7809[5], 1), 0)=TRUE>(i7869[5], 0)=TRUE<(i7809[5], i6[5])=TRUE<=(i8939[5], 0)=TRUE>(i7809[5], 0)=TRUELOAD29334ARR10(java.lang.Object(ARRAY(i6[5], a69930data[5])), i7809[5], i7869[5], java.lang.Object(java.lang.String(i8939[5])))≥NonInfC∧LOAD29334ARR10(java.lang.Object(ARRAY(i6[5], a69930data[5])), i7809[5], i7869[5], java.lang.Object(java.lang.String(i8939[5])))≥COND_LOAD29334ARR10(&&(&&(&&(&&(<=(i8939[5], 0), >(i7809[5], 0)), <(i7809[5], i6[5])), >(i7869[5], 0)), >(+(i7809[5], 1), 0)), java.lang.Object(ARRAY(i6[5], a69930data[5])), i7809[5], i7869[5], java.lang.Object(java.lang.String(i8939[5])))∧(UIncreasing(COND_LOAD29334ARR10(&&(&&(&&(&&(<=(i8939[5], 0), >(i7809[5], 0)), <(i7809[5], i6[5])), >(i7869[5], 0)), >(+(i7809[5], 1), 0)), java.lang.Object(ARRAY(i6[5], a69930data[5])), i7809[5], i7869[5], java.lang.Object(java.lang.String(i8939[5])))), ≥))



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

    (33)    (i7809[5] ≥ 0∧i7869[5] + [-1] ≥ 0∧i6[5] + [-1] + [-1]i7809[5] ≥ 0∧[-1]i8939[5] ≥ 0∧i7809[5] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD29334ARR10(&&(&&(&&(&&(<=(i8939[5], 0), >(i7809[5], 0)), <(i7809[5], i6[5])), >(i7869[5], 0)), >(+(i7809[5], 1), 0)), java.lang.Object(ARRAY(i6[5], a69930data[5])), i7809[5], i7869[5], java.lang.Object(java.lang.String(i8939[5])))), ≥)∧[(-3)bni_44 + (-1)Bound*bni_44] + [bni_44]i7869[5] + [bni_44]i6[5] + [(-1)bni_44]i7809[5] ≥ 0∧[(-1)bso_45] ≥ 0)



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

    (34)    (i7809[5] ≥ 0∧i7869[5] + [-1] ≥ 0∧i6[5] + [-1] + [-1]i7809[5] ≥ 0∧[-1]i8939[5] ≥ 0∧i7809[5] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD29334ARR10(&&(&&(&&(&&(<=(i8939[5], 0), >(i7809[5], 0)), <(i7809[5], i6[5])), >(i7869[5], 0)), >(+(i7809[5], 1), 0)), java.lang.Object(ARRAY(i6[5], a69930data[5])), i7809[5], i7869[5], java.lang.Object(java.lang.String(i8939[5])))), ≥)∧[(-3)bni_44 + (-1)Bound*bni_44] + [bni_44]i7869[5] + [bni_44]i6[5] + [(-1)bni_44]i7809[5] ≥ 0∧[(-1)bso_45] ≥ 0)



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

    (35)    (i7809[5] ≥ 0∧i7869[5] + [-1] ≥ 0∧i6[5] + [-1] + [-1]i7809[5] ≥ 0∧[-1]i8939[5] ≥ 0∧i7809[5] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD29334ARR10(&&(&&(&&(&&(<=(i8939[5], 0), >(i7809[5], 0)), <(i7809[5], i6[5])), >(i7869[5], 0)), >(+(i7809[5], 1), 0)), java.lang.Object(ARRAY(i6[5], a69930data[5])), i7809[5], i7869[5], java.lang.Object(java.lang.String(i8939[5])))), ≥)∧[(-3)bni_44 + (-1)Bound*bni_44] + [bni_44]i7869[5] + [bni_44]i6[5] + [(-1)bni_44]i7809[5] ≥ 0∧[(-1)bso_45] ≥ 0)



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

    (36)    (i7809[5] ≥ 0∧i7869[5] + [-1] ≥ 0∧i6[5] + [-1] + [-1]i7809[5] ≥ 0∧[-1]i8939[5] ≥ 0∧i7809[5] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD29334ARR10(&&(&&(&&(&&(<=(i8939[5], 0), >(i7809[5], 0)), <(i7809[5], i6[5])), >(i7869[5], 0)), >(+(i7809[5], 1), 0)), java.lang.Object(ARRAY(i6[5], a69930data[5])), i7809[5], i7869[5], java.lang.Object(java.lang.String(i8939[5])))), ≥)∧0 = 0∧[(-3)bni_44 + (-1)Bound*bni_44] + [bni_44]i7869[5] + [bni_44]i6[5] + [(-1)bni_44]i7809[5] ≥ 0∧0 = 0∧[(-1)bso_45] ≥ 0)



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

    (37)    ([1] + i7809[5] ≥ 0∧i7869[5] + [-1] ≥ 0∧i6[5] + [-2] + [-1]i7809[5] ≥ 0∧[-1]i8939[5] ≥ 0∧i7809[5] ≥ 0 ⇒ (UIncreasing(COND_LOAD29334ARR10(&&(&&(&&(&&(<=(i8939[5], 0), >(i7809[5], 0)), <(i7809[5], i6[5])), >(i7869[5], 0)), >(+(i7809[5], 1), 0)), java.lang.Object(ARRAY(i6[5], a69930data[5])), i7809[5], i7869[5], java.lang.Object(java.lang.String(i8939[5])))), ≥)∧0 = 0∧[(-4)bni_44 + (-1)Bound*bni_44] + [bni_44]i7869[5] + [bni_44]i6[5] + [(-1)bni_44]i7809[5] ≥ 0∧0 = 0∧[(-1)bso_45] ≥ 0)



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

    (38)    ([1] + i7809[5] ≥ 0∧i7869[5] ≥ 0∧i6[5] + [-2] + [-1]i7809[5] ≥ 0∧[-1]i8939[5] ≥ 0∧i7809[5] ≥ 0 ⇒ (UIncreasing(COND_LOAD29334ARR10(&&(&&(&&(&&(<=(i8939[5], 0), >(i7809[5], 0)), <(i7809[5], i6[5])), >(i7869[5], 0)), >(+(i7809[5], 1), 0)), java.lang.Object(ARRAY(i6[5], a69930data[5])), i7809[5], i7869[5], java.lang.Object(java.lang.String(i8939[5])))), ≥)∧0 = 0∧[(-3)bni_44 + (-1)Bound*bni_44] + [bni_44]i7869[5] + [bni_44]i6[5] + [(-1)bni_44]i7809[5] ≥ 0∧0 = 0∧[(-1)bso_45] ≥ 0)



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

    (39)    ([1] + i7809[5] ≥ 0∧i7869[5] ≥ 0∧i6[5] ≥ 0∧[-1]i8939[5] ≥ 0∧i7809[5] ≥ 0 ⇒ (UIncreasing(COND_LOAD29334ARR10(&&(&&(&&(&&(<=(i8939[5], 0), >(i7809[5], 0)), <(i7809[5], i6[5])), >(i7869[5], 0)), >(+(i7809[5], 1), 0)), java.lang.Object(ARRAY(i6[5], a69930data[5])), i7809[5], i7869[5], java.lang.Object(java.lang.String(i8939[5])))), ≥)∧0 = 0∧[(-1)Bound*bni_44 + (-1)bni_44] + [bni_44]i7869[5] + [bni_44]i6[5] ≥ 0∧0 = 0∧[(-1)bso_45] ≥ 0)



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

    (40)    ([1] + i7809[5] ≥ 0∧i7869[5] ≥ 0∧i6[5] ≥ 0∧i8939[5] ≥ 0∧i7809[5] ≥ 0 ⇒ (UIncreasing(COND_LOAD29334ARR10(&&(&&(&&(&&(<=(i8939[5], 0), >(i7809[5], 0)), <(i7809[5], i6[5])), >(i7869[5], 0)), >(+(i7809[5], 1), 0)), java.lang.Object(ARRAY(i6[5], a69930data[5])), i7809[5], i7869[5], java.lang.Object(java.lang.String(i8939[5])))), ≥)∧0 = 0∧[(-1)Bound*bni_44 + (-1)bni_44] + [bni_44]i7869[5] + [bni_44]i6[5] ≥ 0∧0 = 0∧[(-1)bso_45] ≥ 0)







For Pair COND_LOAD29334ARR10(TRUE, java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8939))) → LOAD29334(java.lang.Object(ARRAY(i6, a69930data)), +(i7809, 1), +(i7869, -1)) the following chains were created:
  • We consider the chain COND_LOAD29334ARR10(TRUE, java.lang.Object(ARRAY(i6[6], a69930data[6])), i7809[6], i7869[6], java.lang.Object(java.lang.String(i8939[6]))) → LOAD29334(java.lang.Object(ARRAY(i6[6], a69930data[6])), +(i7809[6], 1), +(i7869[6], -1)) which results in the following constraint:

    (41)    (COND_LOAD29334ARR10(TRUE, java.lang.Object(ARRAY(i6[6], a69930data[6])), i7809[6], i7869[6], java.lang.Object(java.lang.String(i8939[6])))≥NonInfC∧COND_LOAD29334ARR10(TRUE, java.lang.Object(ARRAY(i6[6], a69930data[6])), i7809[6], i7869[6], java.lang.Object(java.lang.String(i8939[6])))≥LOAD29334(java.lang.Object(ARRAY(i6[6], a69930data[6])), +(i7809[6], 1), +(i7869[6], -1))∧(UIncreasing(LOAD29334(java.lang.Object(ARRAY(i6[6], a69930data[6])), +(i7809[6], 1), +(i7869[6], -1))), ≥))



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

    (42)    ((UIncreasing(LOAD29334(java.lang.Object(ARRAY(i6[6], a69930data[6])), +(i7809[6], 1), +(i7869[6], -1))), ≥)∧[2 + (-1)bso_47] ≥ 0)



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

    (43)    ((UIncreasing(LOAD29334(java.lang.Object(ARRAY(i6[6], a69930data[6])), +(i7809[6], 1), +(i7869[6], -1))), ≥)∧[2 + (-1)bso_47] ≥ 0)



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

    (44)    ((UIncreasing(LOAD29334(java.lang.Object(ARRAY(i6[6], a69930data[6])), +(i7809[6], 1), +(i7869[6], -1))), ≥)∧[2 + (-1)bso_47] ≥ 0)



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

    (45)    ((UIncreasing(LOAD29334(java.lang.Object(ARRAY(i6[6], a69930data[6])), +(i7809[6], 1), +(i7869[6], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[2 + (-1)bso_47] ≥ 0)







For Pair LOAD29334(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869) → LOAD29334ARR11(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8938))) the following chains were created:
  • We consider the chain LOAD29334(java.lang.Object(ARRAY(i6[7], a69930data[7])), i7809[7], i7869[7]) → LOAD29334ARR11(java.lang.Object(ARRAY(i6[7], a69930data[7])), i7809[7], i7869[7], java.lang.Object(java.lang.String(i8938[7]))) which results in the following constraint:

    (46)    (LOAD29334(java.lang.Object(ARRAY(i6[7], a69930data[7])), i7809[7], i7869[7])≥NonInfC∧LOAD29334(java.lang.Object(ARRAY(i6[7], a69930data[7])), i7809[7], i7869[7])≥LOAD29334ARR11(java.lang.Object(ARRAY(i6[7], a69930data[7])), i7809[7], i7869[7], java.lang.Object(java.lang.String(i8938[7])))∧(UIncreasing(LOAD29334ARR11(java.lang.Object(ARRAY(i6[7], a69930data[7])), i7809[7], i7869[7], java.lang.Object(java.lang.String(i8938[7])))), ≥))



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

    (47)    ((UIncreasing(LOAD29334ARR11(java.lang.Object(ARRAY(i6[7], a69930data[7])), i7809[7], i7869[7], java.lang.Object(java.lang.String(i8938[7])))), ≥)∧[(-1)bso_49] ≥ 0)



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

    (48)    ((UIncreasing(LOAD29334ARR11(java.lang.Object(ARRAY(i6[7], a69930data[7])), i7809[7], i7869[7], java.lang.Object(java.lang.String(i8938[7])))), ≥)∧[(-1)bso_49] ≥ 0)



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

    (49)    ((UIncreasing(LOAD29334ARR11(java.lang.Object(ARRAY(i6[7], a69930data[7])), i7809[7], i7869[7], java.lang.Object(java.lang.String(i8938[7])))), ≥)∧[(-1)bso_49] ≥ 0)



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

    (50)    ((UIncreasing(LOAD29334ARR11(java.lang.Object(ARRAY(i6[7], a69930data[7])), i7809[7], i7869[7], java.lang.Object(java.lang.String(i8938[7])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_49] ≥ 0)







For Pair LOAD29334ARR11(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8938))) → COND_LOAD29334ARR11(&&(&&(&&(&&(>(i8938, 0), >(i7809, 0)), <(i7809, i6)), >(i7869, 0)), >(+(i7809, 1), 0)), java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8938))) the following chains were created:
  • We consider the chain LOAD29334ARR11(java.lang.Object(ARRAY(i6[8], a69930data[8])), i7809[8], i7869[8], java.lang.Object(java.lang.String(i8938[8]))) → COND_LOAD29334ARR11(&&(&&(&&(&&(>(i8938[8], 0), >(i7809[8], 0)), <(i7809[8], i6[8])), >(i7869[8], 0)), >(+(i7809[8], 1), 0)), java.lang.Object(ARRAY(i6[8], a69930data[8])), i7809[8], i7869[8], java.lang.Object(java.lang.String(i8938[8]))), COND_LOAD29334ARR11(TRUE, java.lang.Object(ARRAY(i6[9], a69930data[9])), i7809[9], i7869[9], java.lang.Object(java.lang.String(i8938[9]))) → LOAD29334(java.lang.Object(ARRAY(i6[9], a69930data[9])), +(i7809[9], 1), +(i7869[9], -1)) which results in the following constraint:

    (51)    (&&(&&(&&(&&(>(i8938[8], 0), >(i7809[8], 0)), <(i7809[8], i6[8])), >(i7869[8], 0)), >(+(i7809[8], 1), 0))=TRUEi7869[8]=i7869[9]i6[8]=i6[9]a69930data[8]=a69930data[9]i8938[8]=i8938[9]i7809[8]=i7809[9]LOAD29334ARR11(java.lang.Object(ARRAY(i6[8], a69930data[8])), i7809[8], i7869[8], java.lang.Object(java.lang.String(i8938[8])))≥NonInfC∧LOAD29334ARR11(java.lang.Object(ARRAY(i6[8], a69930data[8])), i7809[8], i7869[8], java.lang.Object(java.lang.String(i8938[8])))≥COND_LOAD29334ARR11(&&(&&(&&(&&(>(i8938[8], 0), >(i7809[8], 0)), <(i7809[8], i6[8])), >(i7869[8], 0)), >(+(i7809[8], 1), 0)), java.lang.Object(ARRAY(i6[8], a69930data[8])), i7809[8], i7869[8], java.lang.Object(java.lang.String(i8938[8])))∧(UIncreasing(COND_LOAD29334ARR11(&&(&&(&&(&&(>(i8938[8], 0), >(i7809[8], 0)), <(i7809[8], i6[8])), >(i7869[8], 0)), >(+(i7809[8], 1), 0)), java.lang.Object(ARRAY(i6[8], a69930data[8])), i7809[8], i7869[8], java.lang.Object(java.lang.String(i8938[8])))), ≥))



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

    (52)    (>(+(i7809[8], 1), 0)=TRUE>(i7869[8], 0)=TRUE<(i7809[8], i6[8])=TRUE>(i8938[8], 0)=TRUE>(i7809[8], 0)=TRUELOAD29334ARR11(java.lang.Object(ARRAY(i6[8], a69930data[8])), i7809[8], i7869[8], java.lang.Object(java.lang.String(i8938[8])))≥NonInfC∧LOAD29334ARR11(java.lang.Object(ARRAY(i6[8], a69930data[8])), i7809[8], i7869[8], java.lang.Object(java.lang.String(i8938[8])))≥COND_LOAD29334ARR11(&&(&&(&&(&&(>(i8938[8], 0), >(i7809[8], 0)), <(i7809[8], i6[8])), >(i7869[8], 0)), >(+(i7809[8], 1), 0)), java.lang.Object(ARRAY(i6[8], a69930data[8])), i7809[8], i7869[8], java.lang.Object(java.lang.String(i8938[8])))∧(UIncreasing(COND_LOAD29334ARR11(&&(&&(&&(&&(>(i8938[8], 0), >(i7809[8], 0)), <(i7809[8], i6[8])), >(i7869[8], 0)), >(+(i7809[8], 1), 0)), java.lang.Object(ARRAY(i6[8], a69930data[8])), i7809[8], i7869[8], java.lang.Object(java.lang.String(i8938[8])))), ≥))



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

    (53)    (i7809[8] ≥ 0∧i7869[8] + [-1] ≥ 0∧i6[8] + [-1] + [-1]i7809[8] ≥ 0∧i8938[8] + [-1] ≥ 0∧i7809[8] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD29334ARR11(&&(&&(&&(&&(>(i8938[8], 0), >(i7809[8], 0)), <(i7809[8], i6[8])), >(i7869[8], 0)), >(+(i7809[8], 1), 0)), java.lang.Object(ARRAY(i6[8], a69930data[8])), i7809[8], i7869[8], java.lang.Object(java.lang.String(i8938[8])))), ≥)∧[(-3)bni_50 + (-1)Bound*bni_50] + [bni_50]i7869[8] + [bni_50]i6[8] + [(-1)bni_50]i7809[8] ≥ 0∧[(-1)bso_51] ≥ 0)



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

    (54)    (i7809[8] ≥ 0∧i7869[8] + [-1] ≥ 0∧i6[8] + [-1] + [-1]i7809[8] ≥ 0∧i8938[8] + [-1] ≥ 0∧i7809[8] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD29334ARR11(&&(&&(&&(&&(>(i8938[8], 0), >(i7809[8], 0)), <(i7809[8], i6[8])), >(i7869[8], 0)), >(+(i7809[8], 1), 0)), java.lang.Object(ARRAY(i6[8], a69930data[8])), i7809[8], i7869[8], java.lang.Object(java.lang.String(i8938[8])))), ≥)∧[(-3)bni_50 + (-1)Bound*bni_50] + [bni_50]i7869[8] + [bni_50]i6[8] + [(-1)bni_50]i7809[8] ≥ 0∧[(-1)bso_51] ≥ 0)



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

    (55)    (i7809[8] ≥ 0∧i7869[8] + [-1] ≥ 0∧i6[8] + [-1] + [-1]i7809[8] ≥ 0∧i8938[8] + [-1] ≥ 0∧i7809[8] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD29334ARR11(&&(&&(&&(&&(>(i8938[8], 0), >(i7809[8], 0)), <(i7809[8], i6[8])), >(i7869[8], 0)), >(+(i7809[8], 1), 0)), java.lang.Object(ARRAY(i6[8], a69930data[8])), i7809[8], i7869[8], java.lang.Object(java.lang.String(i8938[8])))), ≥)∧[(-3)bni_50 + (-1)Bound*bni_50] + [bni_50]i7869[8] + [bni_50]i6[8] + [(-1)bni_50]i7809[8] ≥ 0∧[(-1)bso_51] ≥ 0)



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

    (56)    (i7809[8] ≥ 0∧i7869[8] + [-1] ≥ 0∧i6[8] + [-1] + [-1]i7809[8] ≥ 0∧i8938[8] + [-1] ≥ 0∧i7809[8] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD29334ARR11(&&(&&(&&(&&(>(i8938[8], 0), >(i7809[8], 0)), <(i7809[8], i6[8])), >(i7869[8], 0)), >(+(i7809[8], 1), 0)), java.lang.Object(ARRAY(i6[8], a69930data[8])), i7809[8], i7869[8], java.lang.Object(java.lang.String(i8938[8])))), ≥)∧0 = 0∧[(-3)bni_50 + (-1)Bound*bni_50] + [bni_50]i7869[8] + [bni_50]i6[8] + [(-1)bni_50]i7809[8] ≥ 0∧0 = 0∧[(-1)bso_51] ≥ 0)



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

    (57)    ([1] + i7809[8] ≥ 0∧i7869[8] + [-1] ≥ 0∧i6[8] + [-2] + [-1]i7809[8] ≥ 0∧i8938[8] + [-1] ≥ 0∧i7809[8] ≥ 0 ⇒ (UIncreasing(COND_LOAD29334ARR11(&&(&&(&&(&&(>(i8938[8], 0), >(i7809[8], 0)), <(i7809[8], i6[8])), >(i7869[8], 0)), >(+(i7809[8], 1), 0)), java.lang.Object(ARRAY(i6[8], a69930data[8])), i7809[8], i7869[8], java.lang.Object(java.lang.String(i8938[8])))), ≥)∧0 = 0∧[(-4)bni_50 + (-1)Bound*bni_50] + [bni_50]i7869[8] + [bni_50]i6[8] + [(-1)bni_50]i7809[8] ≥ 0∧0 = 0∧[(-1)bso_51] ≥ 0)



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

    (58)    ([1] + i7809[8] ≥ 0∧i7869[8] ≥ 0∧i6[8] + [-2] + [-1]i7809[8] ≥ 0∧i8938[8] + [-1] ≥ 0∧i7809[8] ≥ 0 ⇒ (UIncreasing(COND_LOAD29334ARR11(&&(&&(&&(&&(>(i8938[8], 0), >(i7809[8], 0)), <(i7809[8], i6[8])), >(i7869[8], 0)), >(+(i7809[8], 1), 0)), java.lang.Object(ARRAY(i6[8], a69930data[8])), i7809[8], i7869[8], java.lang.Object(java.lang.String(i8938[8])))), ≥)∧0 = 0∧[(-3)bni_50 + (-1)Bound*bni_50] + [bni_50]i7869[8] + [bni_50]i6[8] + [(-1)bni_50]i7809[8] ≥ 0∧0 = 0∧[(-1)bso_51] ≥ 0)



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

    (59)    ([1] + i7809[8] ≥ 0∧i7869[8] ≥ 0∧i6[8] ≥ 0∧i8938[8] + [-1] ≥ 0∧i7809[8] ≥ 0 ⇒ (UIncreasing(COND_LOAD29334ARR11(&&(&&(&&(&&(>(i8938[8], 0), >(i7809[8], 0)), <(i7809[8], i6[8])), >(i7869[8], 0)), >(+(i7809[8], 1), 0)), java.lang.Object(ARRAY(i6[8], a69930data[8])), i7809[8], i7869[8], java.lang.Object(java.lang.String(i8938[8])))), ≥)∧0 = 0∧[(-1)Bound*bni_50 + (-1)bni_50] + [bni_50]i7869[8] + [bni_50]i6[8] ≥ 0∧0 = 0∧[(-1)bso_51] ≥ 0)



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

    (60)    ([1] + i7809[8] ≥ 0∧i7869[8] ≥ 0∧i6[8] ≥ 0∧i8938[8] ≥ 0∧i7809[8] ≥ 0 ⇒ (UIncreasing(COND_LOAD29334ARR11(&&(&&(&&(&&(>(i8938[8], 0), >(i7809[8], 0)), <(i7809[8], i6[8])), >(i7869[8], 0)), >(+(i7809[8], 1), 0)), java.lang.Object(ARRAY(i6[8], a69930data[8])), i7809[8], i7869[8], java.lang.Object(java.lang.String(i8938[8])))), ≥)∧0 = 0∧[(-1)Bound*bni_50 + (-1)bni_50] + [bni_50]i7869[8] + [bni_50]i6[8] ≥ 0∧0 = 0∧[(-1)bso_51] ≥ 0)







For Pair COND_LOAD29334ARR11(TRUE, java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8938))) → LOAD29334(java.lang.Object(ARRAY(i6, a69930data)), +(i7809, 1), +(i7869, -1)) the following chains were created:
  • We consider the chain COND_LOAD29334ARR11(TRUE, java.lang.Object(ARRAY(i6[9], a69930data[9])), i7809[9], i7869[9], java.lang.Object(java.lang.String(i8938[9]))) → LOAD29334(java.lang.Object(ARRAY(i6[9], a69930data[9])), +(i7809[9], 1), +(i7869[9], -1)) which results in the following constraint:

    (61)    (COND_LOAD29334ARR11(TRUE, java.lang.Object(ARRAY(i6[9], a69930data[9])), i7809[9], i7869[9], java.lang.Object(java.lang.String(i8938[9])))≥NonInfC∧COND_LOAD29334ARR11(TRUE, java.lang.Object(ARRAY(i6[9], a69930data[9])), i7809[9], i7869[9], java.lang.Object(java.lang.String(i8938[9])))≥LOAD29334(java.lang.Object(ARRAY(i6[9], a69930data[9])), +(i7809[9], 1), +(i7869[9], -1))∧(UIncreasing(LOAD29334(java.lang.Object(ARRAY(i6[9], a69930data[9])), +(i7809[9], 1), +(i7869[9], -1))), ≥))



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

    (62)    ((UIncreasing(LOAD29334(java.lang.Object(ARRAY(i6[9], a69930data[9])), +(i7809[9], 1), +(i7869[9], -1))), ≥)∧[2 + (-1)bso_53] ≥ 0)



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

    (63)    ((UIncreasing(LOAD29334(java.lang.Object(ARRAY(i6[9], a69930data[9])), +(i7809[9], 1), +(i7869[9], -1))), ≥)∧[2 + (-1)bso_53] ≥ 0)



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

    (64)    ((UIncreasing(LOAD29334(java.lang.Object(ARRAY(i6[9], a69930data[9])), +(i7809[9], 1), +(i7869[9], -1))), ≥)∧[2 + (-1)bso_53] ≥ 0)



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

    (65)    ((UIncreasing(LOAD29334(java.lang.Object(ARRAY(i6[9], a69930data[9])), +(i7809[9], 1), +(i7869[9], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[2 + (-1)bso_53] ≥ 0)







For Pair JMP34988'(java.lang.Object(ARRAY(i6, a69930data)), i8155, i7869) → INC35073(java.lang.Object(ARRAY(i6, a69930data)), i8155, i7869) the following chains were created:
  • We consider the chain JMP34988'(java.lang.Object(ARRAY(i6[10], a69930data[10])), i8155[10], i7869[10]) → INC35073(java.lang.Object(ARRAY(i6[10], a69930data[10])), i8155[10], i7869[10]), INC35073(java.lang.Object(ARRAY(i6[3], a69930data[3])), i8155[3], i7869[3]) → LOAD29334(java.lang.Object(ARRAY(i6[3], a69930data[3])), i8155[3], +(i7869[3], -1)) which results in the following constraint:

    (66)    (i7869[10]=i7869[3]i6[10]=i6[3]a69930data[10]=a69930data[3]i8155[10]=i8155[3]JMP34988'(java.lang.Object(ARRAY(i6[10], a69930data[10])), i8155[10], i7869[10])≥NonInfC∧JMP34988'(java.lang.Object(ARRAY(i6[10], a69930data[10])), i8155[10], i7869[10])≥INC35073(java.lang.Object(ARRAY(i6[10], a69930data[10])), i8155[10], i7869[10])∧(UIncreasing(INC35073(java.lang.Object(ARRAY(i6[10], a69930data[10])), i8155[10], i7869[10])), ≥))



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

    (67)    (JMP34988'(java.lang.Object(ARRAY(i6[10], a69930data[10])), i8155[10], i7869[10])≥NonInfC∧JMP34988'(java.lang.Object(ARRAY(i6[10], a69930data[10])), i8155[10], i7869[10])≥INC35073(java.lang.Object(ARRAY(i6[10], a69930data[10])), i8155[10], i7869[10])∧(UIncreasing(INC35073(java.lang.Object(ARRAY(i6[10], a69930data[10])), i8155[10], i7869[10])), ≥))



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

    (68)    ((UIncreasing(INC35073(java.lang.Object(ARRAY(i6[10], a69930data[10])), i8155[10], i7869[10])), ≥)∧[(-1)bso_55] ≥ 0)



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

    (69)    ((UIncreasing(INC35073(java.lang.Object(ARRAY(i6[10], a69930data[10])), i8155[10], i7869[10])), ≥)∧[(-1)bso_55] ≥ 0)



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

    (70)    ((UIncreasing(INC35073(java.lang.Object(ARRAY(i6[10], a69930data[10])), i8155[10], i7869[10])), ≥)∧[(-1)bso_55] ≥ 0)



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

    (71)    ((UIncreasing(INC35073(java.lang.Object(ARRAY(i6[10], a69930data[10])), i8155[10], i7869[10])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_55] ≥ 0)







For Pair LOAD29334(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869) → LOAD29334ARR12(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8938))) the following chains were created:
  • We consider the chain LOAD29334(java.lang.Object(ARRAY(i6[11], a69930data[11])), i7809[11], i7869[11]) → LOAD29334ARR12(java.lang.Object(ARRAY(i6[11], a69930data[11])), i7809[11], i7869[11], java.lang.Object(java.lang.String(i8938[11]))) which results in the following constraint:

    (72)    (LOAD29334(java.lang.Object(ARRAY(i6[11], a69930data[11])), i7809[11], i7869[11])≥NonInfC∧LOAD29334(java.lang.Object(ARRAY(i6[11], a69930data[11])), i7809[11], i7869[11])≥LOAD29334ARR12(java.lang.Object(ARRAY(i6[11], a69930data[11])), i7809[11], i7869[11], java.lang.Object(java.lang.String(i8938[11])))∧(UIncreasing(LOAD29334ARR12(java.lang.Object(ARRAY(i6[11], a69930data[11])), i7809[11], i7869[11], java.lang.Object(java.lang.String(i8938[11])))), ≥))



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

    (73)    ((UIncreasing(LOAD29334ARR12(java.lang.Object(ARRAY(i6[11], a69930data[11])), i7809[11], i7869[11], java.lang.Object(java.lang.String(i8938[11])))), ≥)∧[(-1)bso_57] ≥ 0)



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

    (74)    ((UIncreasing(LOAD29334ARR12(java.lang.Object(ARRAY(i6[11], a69930data[11])), i7809[11], i7869[11], java.lang.Object(java.lang.String(i8938[11])))), ≥)∧[(-1)bso_57] ≥ 0)



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

    (75)    ((UIncreasing(LOAD29334ARR12(java.lang.Object(ARRAY(i6[11], a69930data[11])), i7809[11], i7869[11], java.lang.Object(java.lang.String(i8938[11])))), ≥)∧[(-1)bso_57] ≥ 0)



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

    (76)    ((UIncreasing(LOAD29334ARR12(java.lang.Object(ARRAY(i6[11], a69930data[11])), i7809[11], i7869[11], java.lang.Object(java.lang.String(i8938[11])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_57] ≥ 0)







For Pair LOAD29334ARR12(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8938))) → COND_LOAD29334ARR12(&&(&&(&&(&&(>(i8938, 0), >(i7809, 0)), <(i7809, i6)), >(i7869, 0)), >(+(i7809, 1), 0)), java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8938))) the following chains were created:
  • We consider the chain LOAD29334ARR12(java.lang.Object(ARRAY(i6[12], a69930data[12])), i7809[12], i7869[12], java.lang.Object(java.lang.String(i8938[12]))) → COND_LOAD29334ARR12(&&(&&(&&(&&(>(i8938[12], 0), >(i7809[12], 0)), <(i7809[12], i6[12])), >(i7869[12], 0)), >(+(i7809[12], 1), 0)), java.lang.Object(ARRAY(i6[12], a69930data[12])), i7809[12], i7869[12], java.lang.Object(java.lang.String(i8938[12]))), COND_LOAD29334ARR12(TRUE, java.lang.Object(ARRAY(i6[13], a69930data[13])), i7809[13], i7869[13], java.lang.Object(java.lang.String(i8938[13]))) → INC35073(java.lang.Object(ARRAY(i6[13], a69930data[13])), +(i7809[13], 1), i7869[13]) which results in the following constraint:

    (77)    (i7809[12]=i7809[13]i8938[12]=i8938[13]i7869[12]=i7869[13]i6[12]=i6[13]a69930data[12]=a69930data[13]&&(&&(&&(&&(>(i8938[12], 0), >(i7809[12], 0)), <(i7809[12], i6[12])), >(i7869[12], 0)), >(+(i7809[12], 1), 0))=TRUELOAD29334ARR12(java.lang.Object(ARRAY(i6[12], a69930data[12])), i7809[12], i7869[12], java.lang.Object(java.lang.String(i8938[12])))≥NonInfC∧LOAD29334ARR12(java.lang.Object(ARRAY(i6[12], a69930data[12])), i7809[12], i7869[12], java.lang.Object(java.lang.String(i8938[12])))≥COND_LOAD29334ARR12(&&(&&(&&(&&(>(i8938[12], 0), >(i7809[12], 0)), <(i7809[12], i6[12])), >(i7869[12], 0)), >(+(i7809[12], 1), 0)), java.lang.Object(ARRAY(i6[12], a69930data[12])), i7809[12], i7869[12], java.lang.Object(java.lang.String(i8938[12])))∧(UIncreasing(COND_LOAD29334ARR12(&&(&&(&&(&&(>(i8938[12], 0), >(i7809[12], 0)), <(i7809[12], i6[12])), >(i7869[12], 0)), >(+(i7809[12], 1), 0)), java.lang.Object(ARRAY(i6[12], a69930data[12])), i7809[12], i7869[12], java.lang.Object(java.lang.String(i8938[12])))), ≥))



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

    (78)    (>(+(i7809[12], 1), 0)=TRUE>(i7869[12], 0)=TRUE<(i7809[12], i6[12])=TRUE>(i8938[12], 0)=TRUE>(i7809[12], 0)=TRUELOAD29334ARR12(java.lang.Object(ARRAY(i6[12], a69930data[12])), i7809[12], i7869[12], java.lang.Object(java.lang.String(i8938[12])))≥NonInfC∧LOAD29334ARR12(java.lang.Object(ARRAY(i6[12], a69930data[12])), i7809[12], i7869[12], java.lang.Object(java.lang.String(i8938[12])))≥COND_LOAD29334ARR12(&&(&&(&&(&&(>(i8938[12], 0), >(i7809[12], 0)), <(i7809[12], i6[12])), >(i7869[12], 0)), >(+(i7809[12], 1), 0)), java.lang.Object(ARRAY(i6[12], a69930data[12])), i7809[12], i7869[12], java.lang.Object(java.lang.String(i8938[12])))∧(UIncreasing(COND_LOAD29334ARR12(&&(&&(&&(&&(>(i8938[12], 0), >(i7809[12], 0)), <(i7809[12], i6[12])), >(i7869[12], 0)), >(+(i7809[12], 1), 0)), java.lang.Object(ARRAY(i6[12], a69930data[12])), i7809[12], i7869[12], java.lang.Object(java.lang.String(i8938[12])))), ≥))



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

    (79)    (i7809[12] ≥ 0∧i7869[12] + [-1] ≥ 0∧i6[12] + [-1] + [-1]i7809[12] ≥ 0∧i8938[12] + [-1] ≥ 0∧i7809[12] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD29334ARR12(&&(&&(&&(&&(>(i8938[12], 0), >(i7809[12], 0)), <(i7809[12], i6[12])), >(i7869[12], 0)), >(+(i7809[12], 1), 0)), java.lang.Object(ARRAY(i6[12], a69930data[12])), i7809[12], i7869[12], java.lang.Object(java.lang.String(i8938[12])))), ≥)∧[(-3)bni_58 + (-1)Bound*bni_58] + [bni_58]i7869[12] + [(-1)bni_58]i7809[12] + [bni_58]i6[12] ≥ 0∧[(-1)bso_59] ≥ 0)



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

    (80)    (i7809[12] ≥ 0∧i7869[12] + [-1] ≥ 0∧i6[12] + [-1] + [-1]i7809[12] ≥ 0∧i8938[12] + [-1] ≥ 0∧i7809[12] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD29334ARR12(&&(&&(&&(&&(>(i8938[12], 0), >(i7809[12], 0)), <(i7809[12], i6[12])), >(i7869[12], 0)), >(+(i7809[12], 1), 0)), java.lang.Object(ARRAY(i6[12], a69930data[12])), i7809[12], i7869[12], java.lang.Object(java.lang.String(i8938[12])))), ≥)∧[(-3)bni_58 + (-1)Bound*bni_58] + [bni_58]i7869[12] + [(-1)bni_58]i7809[12] + [bni_58]i6[12] ≥ 0∧[(-1)bso_59] ≥ 0)



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

    (81)    (i7809[12] ≥ 0∧i7869[12] + [-1] ≥ 0∧i6[12] + [-1] + [-1]i7809[12] ≥ 0∧i8938[12] + [-1] ≥ 0∧i7809[12] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD29334ARR12(&&(&&(&&(&&(>(i8938[12], 0), >(i7809[12], 0)), <(i7809[12], i6[12])), >(i7869[12], 0)), >(+(i7809[12], 1), 0)), java.lang.Object(ARRAY(i6[12], a69930data[12])), i7809[12], i7869[12], java.lang.Object(java.lang.String(i8938[12])))), ≥)∧[(-3)bni_58 + (-1)Bound*bni_58] + [bni_58]i7869[12] + [(-1)bni_58]i7809[12] + [bni_58]i6[12] ≥ 0∧[(-1)bso_59] ≥ 0)



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

    (82)    (i7809[12] ≥ 0∧i7869[12] + [-1] ≥ 0∧i6[12] + [-1] + [-1]i7809[12] ≥ 0∧i8938[12] + [-1] ≥ 0∧i7809[12] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD29334ARR12(&&(&&(&&(&&(>(i8938[12], 0), >(i7809[12], 0)), <(i7809[12], i6[12])), >(i7869[12], 0)), >(+(i7809[12], 1), 0)), java.lang.Object(ARRAY(i6[12], a69930data[12])), i7809[12], i7869[12], java.lang.Object(java.lang.String(i8938[12])))), ≥)∧0 = 0∧[(-3)bni_58 + (-1)Bound*bni_58] + [bni_58]i7869[12] + [(-1)bni_58]i7809[12] + [bni_58]i6[12] ≥ 0∧0 = 0∧[(-1)bso_59] ≥ 0)



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

    (83)    ([1] + i7809[12] ≥ 0∧i7869[12] + [-1] ≥ 0∧i6[12] + [-2] + [-1]i7809[12] ≥ 0∧i8938[12] + [-1] ≥ 0∧i7809[12] ≥ 0 ⇒ (UIncreasing(COND_LOAD29334ARR12(&&(&&(&&(&&(>(i8938[12], 0), >(i7809[12], 0)), <(i7809[12], i6[12])), >(i7869[12], 0)), >(+(i7809[12], 1), 0)), java.lang.Object(ARRAY(i6[12], a69930data[12])), i7809[12], i7869[12], java.lang.Object(java.lang.String(i8938[12])))), ≥)∧0 = 0∧[(-4)bni_58 + (-1)Bound*bni_58] + [bni_58]i7869[12] + [(-1)bni_58]i7809[12] + [bni_58]i6[12] ≥ 0∧0 = 0∧[(-1)bso_59] ≥ 0)



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

    (84)    ([1] + i7809[12] ≥ 0∧i7869[12] ≥ 0∧i6[12] + [-2] + [-1]i7809[12] ≥ 0∧i8938[12] + [-1] ≥ 0∧i7809[12] ≥ 0 ⇒ (UIncreasing(COND_LOAD29334ARR12(&&(&&(&&(&&(>(i8938[12], 0), >(i7809[12], 0)), <(i7809[12], i6[12])), >(i7869[12], 0)), >(+(i7809[12], 1), 0)), java.lang.Object(ARRAY(i6[12], a69930data[12])), i7809[12], i7869[12], java.lang.Object(java.lang.String(i8938[12])))), ≥)∧0 = 0∧[(-3)bni_58 + (-1)Bound*bni_58] + [bni_58]i7869[12] + [(-1)bni_58]i7809[12] + [bni_58]i6[12] ≥ 0∧0 = 0∧[(-1)bso_59] ≥ 0)



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

    (85)    ([1] + i7809[12] ≥ 0∧i7869[12] ≥ 0∧i6[12] ≥ 0∧i8938[12] + [-1] ≥ 0∧i7809[12] ≥ 0 ⇒ (UIncreasing(COND_LOAD29334ARR12(&&(&&(&&(&&(>(i8938[12], 0), >(i7809[12], 0)), <(i7809[12], i6[12])), >(i7869[12], 0)), >(+(i7809[12], 1), 0)), java.lang.Object(ARRAY(i6[12], a69930data[12])), i7809[12], i7869[12], java.lang.Object(java.lang.String(i8938[12])))), ≥)∧0 = 0∧[(-1)bni_58 + (-1)Bound*bni_58] + [bni_58]i7869[12] + [bni_58]i6[12] ≥ 0∧0 = 0∧[(-1)bso_59] ≥ 0)



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

    (86)    ([1] + i7809[12] ≥ 0∧i7869[12] ≥ 0∧i6[12] ≥ 0∧i8938[12] ≥ 0∧i7809[12] ≥ 0 ⇒ (UIncreasing(COND_LOAD29334ARR12(&&(&&(&&(&&(>(i8938[12], 0), >(i7809[12], 0)), <(i7809[12], i6[12])), >(i7869[12], 0)), >(+(i7809[12], 1), 0)), java.lang.Object(ARRAY(i6[12], a69930data[12])), i7809[12], i7869[12], java.lang.Object(java.lang.String(i8938[12])))), ≥)∧0 = 0∧[(-1)bni_58 + (-1)Bound*bni_58] + [bni_58]i7869[12] + [bni_58]i6[12] ≥ 0∧0 = 0∧[(-1)bso_59] ≥ 0)







For Pair COND_LOAD29334ARR12(TRUE, java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8938))) → INC35073(java.lang.Object(ARRAY(i6, a69930data)), +(i7809, 1), i7869) the following chains were created:
  • We consider the chain COND_LOAD29334ARR12(TRUE, java.lang.Object(ARRAY(i6[13], a69930data[13])), i7809[13], i7869[13], java.lang.Object(java.lang.String(i8938[13]))) → INC35073(java.lang.Object(ARRAY(i6[13], a69930data[13])), +(i7809[13], 1), i7869[13]) which results in the following constraint:

    (87)    (COND_LOAD29334ARR12(TRUE, java.lang.Object(ARRAY(i6[13], a69930data[13])), i7809[13], i7869[13], java.lang.Object(java.lang.String(i8938[13])))≥NonInfC∧COND_LOAD29334ARR12(TRUE, java.lang.Object(ARRAY(i6[13], a69930data[13])), i7809[13], i7869[13], java.lang.Object(java.lang.String(i8938[13])))≥INC35073(java.lang.Object(ARRAY(i6[13], a69930data[13])), +(i7809[13], 1), i7869[13])∧(UIncreasing(INC35073(java.lang.Object(ARRAY(i6[13], a69930data[13])), +(i7809[13], 1), i7869[13])), ≥))



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

    (88)    ((UIncreasing(INC35073(java.lang.Object(ARRAY(i6[13], a69930data[13])), +(i7809[13], 1), i7869[13])), ≥)∧[1 + (-1)bso_61] ≥ 0)



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

    (89)    ((UIncreasing(INC35073(java.lang.Object(ARRAY(i6[13], a69930data[13])), +(i7809[13], 1), i7869[13])), ≥)∧[1 + (-1)bso_61] ≥ 0)



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

    (90)    ((UIncreasing(INC35073(java.lang.Object(ARRAY(i6[13], a69930data[13])), +(i7809[13], 1), i7869[13])), ≥)∧[1 + (-1)bso_61] ≥ 0)



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

    (91)    ((UIncreasing(INC35073(java.lang.Object(ARRAY(i6[13], a69930data[13])), +(i7809[13], 1), i7869[13])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_61] ≥ 0)







For Pair LOAD29334(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869) → LOAD29334ARR13(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8939))) the following chains were created:
  • We consider the chain LOAD29334(java.lang.Object(ARRAY(i6[14], a69930data[14])), i7809[14], i7869[14]) → LOAD29334ARR13(java.lang.Object(ARRAY(i6[14], a69930data[14])), i7809[14], i7869[14], java.lang.Object(java.lang.String(i8939[14]))) which results in the following constraint:

    (92)    (LOAD29334(java.lang.Object(ARRAY(i6[14], a69930data[14])), i7809[14], i7869[14])≥NonInfC∧LOAD29334(java.lang.Object(ARRAY(i6[14], a69930data[14])), i7809[14], i7869[14])≥LOAD29334ARR13(java.lang.Object(ARRAY(i6[14], a69930data[14])), i7809[14], i7869[14], java.lang.Object(java.lang.String(i8939[14])))∧(UIncreasing(LOAD29334ARR13(java.lang.Object(ARRAY(i6[14], a69930data[14])), i7809[14], i7869[14], java.lang.Object(java.lang.String(i8939[14])))), ≥))



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

    (93)    ((UIncreasing(LOAD29334ARR13(java.lang.Object(ARRAY(i6[14], a69930data[14])), i7809[14], i7869[14], java.lang.Object(java.lang.String(i8939[14])))), ≥)∧[(-1)bso_63] ≥ 0)



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

    (94)    ((UIncreasing(LOAD29334ARR13(java.lang.Object(ARRAY(i6[14], a69930data[14])), i7809[14], i7869[14], java.lang.Object(java.lang.String(i8939[14])))), ≥)∧[(-1)bso_63] ≥ 0)



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

    (95)    ((UIncreasing(LOAD29334ARR13(java.lang.Object(ARRAY(i6[14], a69930data[14])), i7809[14], i7869[14], java.lang.Object(java.lang.String(i8939[14])))), ≥)∧[(-1)bso_63] ≥ 0)



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

    (96)    ((UIncreasing(LOAD29334ARR13(java.lang.Object(ARRAY(i6[14], a69930data[14])), i7809[14], i7869[14], java.lang.Object(java.lang.String(i8939[14])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_63] ≥ 0)







For Pair LOAD29334ARR13(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8939))) → COND_LOAD29334ARR13(&&(&&(&&(&&(<=(i8939, 0), >(i7809, 0)), <(i7809, i6)), >(i7869, 0)), >(+(i7809, 1), 0)), java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8939))) the following chains were created:
  • We consider the chain LOAD29334ARR13(java.lang.Object(ARRAY(i6[15], a69930data[15])), i7809[15], i7869[15], java.lang.Object(java.lang.String(i8939[15]))) → COND_LOAD29334ARR13(&&(&&(&&(&&(<=(i8939[15], 0), >(i7809[15], 0)), <(i7809[15], i6[15])), >(i7869[15], 0)), >(+(i7809[15], 1), 0)), java.lang.Object(ARRAY(i6[15], a69930data[15])), i7809[15], i7869[15], java.lang.Object(java.lang.String(i8939[15]))), COND_LOAD29334ARR13(TRUE, java.lang.Object(ARRAY(i6[16], a69930data[16])), i7809[16], i7869[16], java.lang.Object(java.lang.String(i8939[16]))) → INC35073(java.lang.Object(ARRAY(i6[16], a69930data[16])), +(i7809[16], 1), i7869[16]) which results in the following constraint:

    (97)    (&&(&&(&&(&&(<=(i8939[15], 0), >(i7809[15], 0)), <(i7809[15], i6[15])), >(i7869[15], 0)), >(+(i7809[15], 1), 0))=TRUEi7869[15]=i7869[16]i8939[15]=i8939[16]i6[15]=i6[16]a69930data[15]=a69930data[16]i7809[15]=i7809[16]LOAD29334ARR13(java.lang.Object(ARRAY(i6[15], a69930data[15])), i7809[15], i7869[15], java.lang.Object(java.lang.String(i8939[15])))≥NonInfC∧LOAD29334ARR13(java.lang.Object(ARRAY(i6[15], a69930data[15])), i7809[15], i7869[15], java.lang.Object(java.lang.String(i8939[15])))≥COND_LOAD29334ARR13(&&(&&(&&(&&(<=(i8939[15], 0), >(i7809[15], 0)), <(i7809[15], i6[15])), >(i7869[15], 0)), >(+(i7809[15], 1), 0)), java.lang.Object(ARRAY(i6[15], a69930data[15])), i7809[15], i7869[15], java.lang.Object(java.lang.String(i8939[15])))∧(UIncreasing(COND_LOAD29334ARR13(&&(&&(&&(&&(<=(i8939[15], 0), >(i7809[15], 0)), <(i7809[15], i6[15])), >(i7869[15], 0)), >(+(i7809[15], 1), 0)), java.lang.Object(ARRAY(i6[15], a69930data[15])), i7809[15], i7869[15], java.lang.Object(java.lang.String(i8939[15])))), ≥))



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

    (98)    (>(+(i7809[15], 1), 0)=TRUE>(i7869[15], 0)=TRUE<(i7809[15], i6[15])=TRUE<=(i8939[15], 0)=TRUE>(i7809[15], 0)=TRUELOAD29334ARR13(java.lang.Object(ARRAY(i6[15], a69930data[15])), i7809[15], i7869[15], java.lang.Object(java.lang.String(i8939[15])))≥NonInfC∧LOAD29334ARR13(java.lang.Object(ARRAY(i6[15], a69930data[15])), i7809[15], i7869[15], java.lang.Object(java.lang.String(i8939[15])))≥COND_LOAD29334ARR13(&&(&&(&&(&&(<=(i8939[15], 0), >(i7809[15], 0)), <(i7809[15], i6[15])), >(i7869[15], 0)), >(+(i7809[15], 1), 0)), java.lang.Object(ARRAY(i6[15], a69930data[15])), i7809[15], i7869[15], java.lang.Object(java.lang.String(i8939[15])))∧(UIncreasing(COND_LOAD29334ARR13(&&(&&(&&(&&(<=(i8939[15], 0), >(i7809[15], 0)), <(i7809[15], i6[15])), >(i7869[15], 0)), >(+(i7809[15], 1), 0)), java.lang.Object(ARRAY(i6[15], a69930data[15])), i7809[15], i7869[15], java.lang.Object(java.lang.String(i8939[15])))), ≥))



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

    (99)    (i7809[15] ≥ 0∧i7869[15] + [-1] ≥ 0∧i6[15] + [-1] + [-1]i7809[15] ≥ 0∧[-1]i8939[15] ≥ 0∧i7809[15] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD29334ARR13(&&(&&(&&(&&(<=(i8939[15], 0), >(i7809[15], 0)), <(i7809[15], i6[15])), >(i7869[15], 0)), >(+(i7809[15], 1), 0)), java.lang.Object(ARRAY(i6[15], a69930data[15])), i7809[15], i7869[15], java.lang.Object(java.lang.String(i8939[15])))), ≥)∧[(-3)bni_64 + (-1)Bound*bni_64] + [bni_64]i7869[15] + [(-1)bni_64]i7809[15] + [bni_64]i6[15] ≥ 0∧[(-1)bso_65] ≥ 0)



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

    (100)    (i7809[15] ≥ 0∧i7869[15] + [-1] ≥ 0∧i6[15] + [-1] + [-1]i7809[15] ≥ 0∧[-1]i8939[15] ≥ 0∧i7809[15] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD29334ARR13(&&(&&(&&(&&(<=(i8939[15], 0), >(i7809[15], 0)), <(i7809[15], i6[15])), >(i7869[15], 0)), >(+(i7809[15], 1), 0)), java.lang.Object(ARRAY(i6[15], a69930data[15])), i7809[15], i7869[15], java.lang.Object(java.lang.String(i8939[15])))), ≥)∧[(-3)bni_64 + (-1)Bound*bni_64] + [bni_64]i7869[15] + [(-1)bni_64]i7809[15] + [bni_64]i6[15] ≥ 0∧[(-1)bso_65] ≥ 0)



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

    (101)    (i7809[15] ≥ 0∧i7869[15] + [-1] ≥ 0∧i6[15] + [-1] + [-1]i7809[15] ≥ 0∧[-1]i8939[15] ≥ 0∧i7809[15] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD29334ARR13(&&(&&(&&(&&(<=(i8939[15], 0), >(i7809[15], 0)), <(i7809[15], i6[15])), >(i7869[15], 0)), >(+(i7809[15], 1), 0)), java.lang.Object(ARRAY(i6[15], a69930data[15])), i7809[15], i7869[15], java.lang.Object(java.lang.String(i8939[15])))), ≥)∧[(-3)bni_64 + (-1)Bound*bni_64] + [bni_64]i7869[15] + [(-1)bni_64]i7809[15] + [bni_64]i6[15] ≥ 0∧[(-1)bso_65] ≥ 0)



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

    (102)    (i7809[15] ≥ 0∧i7869[15] + [-1] ≥ 0∧i6[15] + [-1] + [-1]i7809[15] ≥ 0∧[-1]i8939[15] ≥ 0∧i7809[15] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD29334ARR13(&&(&&(&&(&&(<=(i8939[15], 0), >(i7809[15], 0)), <(i7809[15], i6[15])), >(i7869[15], 0)), >(+(i7809[15], 1), 0)), java.lang.Object(ARRAY(i6[15], a69930data[15])), i7809[15], i7869[15], java.lang.Object(java.lang.String(i8939[15])))), ≥)∧0 = 0∧[(-3)bni_64 + (-1)Bound*bni_64] + [bni_64]i7869[15] + [(-1)bni_64]i7809[15] + [bni_64]i6[15] ≥ 0∧0 = 0∧[(-1)bso_65] ≥ 0)



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

    (103)    ([1] + i7809[15] ≥ 0∧i7869[15] + [-1] ≥ 0∧i6[15] + [-2] + [-1]i7809[15] ≥ 0∧[-1]i8939[15] ≥ 0∧i7809[15] ≥ 0 ⇒ (UIncreasing(COND_LOAD29334ARR13(&&(&&(&&(&&(<=(i8939[15], 0), >(i7809[15], 0)), <(i7809[15], i6[15])), >(i7869[15], 0)), >(+(i7809[15], 1), 0)), java.lang.Object(ARRAY(i6[15], a69930data[15])), i7809[15], i7869[15], java.lang.Object(java.lang.String(i8939[15])))), ≥)∧0 = 0∧[(-4)bni_64 + (-1)Bound*bni_64] + [bni_64]i7869[15] + [(-1)bni_64]i7809[15] + [bni_64]i6[15] ≥ 0∧0 = 0∧[(-1)bso_65] ≥ 0)



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

    (104)    ([1] + i7809[15] ≥ 0∧i7869[15] ≥ 0∧i6[15] + [-2] + [-1]i7809[15] ≥ 0∧[-1]i8939[15] ≥ 0∧i7809[15] ≥ 0 ⇒ (UIncreasing(COND_LOAD29334ARR13(&&(&&(&&(&&(<=(i8939[15], 0), >(i7809[15], 0)), <(i7809[15], i6[15])), >(i7869[15], 0)), >(+(i7809[15], 1), 0)), java.lang.Object(ARRAY(i6[15], a69930data[15])), i7809[15], i7869[15], java.lang.Object(java.lang.String(i8939[15])))), ≥)∧0 = 0∧[(-3)bni_64 + (-1)Bound*bni_64] + [bni_64]i7869[15] + [(-1)bni_64]i7809[15] + [bni_64]i6[15] ≥ 0∧0 = 0∧[(-1)bso_65] ≥ 0)



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

    (105)    ([1] + i7809[15] ≥ 0∧i7869[15] ≥ 0∧i6[15] ≥ 0∧[-1]i8939[15] ≥ 0∧i7809[15] ≥ 0 ⇒ (UIncreasing(COND_LOAD29334ARR13(&&(&&(&&(&&(<=(i8939[15], 0), >(i7809[15], 0)), <(i7809[15], i6[15])), >(i7869[15], 0)), >(+(i7809[15], 1), 0)), java.lang.Object(ARRAY(i6[15], a69930data[15])), i7809[15], i7869[15], java.lang.Object(java.lang.String(i8939[15])))), ≥)∧0 = 0∧[(-1)bni_64 + (-1)Bound*bni_64] + [bni_64]i7869[15] + [bni_64]i6[15] ≥ 0∧0 = 0∧[(-1)bso_65] ≥ 0)



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

    (106)    ([1] + i7809[15] ≥ 0∧i7869[15] ≥ 0∧i6[15] ≥ 0∧i8939[15] ≥ 0∧i7809[15] ≥ 0 ⇒ (UIncreasing(COND_LOAD29334ARR13(&&(&&(&&(&&(<=(i8939[15], 0), >(i7809[15], 0)), <(i7809[15], i6[15])), >(i7869[15], 0)), >(+(i7809[15], 1), 0)), java.lang.Object(ARRAY(i6[15], a69930data[15])), i7809[15], i7869[15], java.lang.Object(java.lang.String(i8939[15])))), ≥)∧0 = 0∧[(-1)bni_64 + (-1)Bound*bni_64] + [bni_64]i7869[15] + [bni_64]i6[15] ≥ 0∧0 = 0∧[(-1)bso_65] ≥ 0)







For Pair COND_LOAD29334ARR13(TRUE, java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8939))) → INC35073(java.lang.Object(ARRAY(i6, a69930data)), +(i7809, 1), i7869) the following chains were created:
  • We consider the chain COND_LOAD29334ARR13(TRUE, java.lang.Object(ARRAY(i6[16], a69930data[16])), i7809[16], i7869[16], java.lang.Object(java.lang.String(i8939[16]))) → INC35073(java.lang.Object(ARRAY(i6[16], a69930data[16])), +(i7809[16], 1), i7869[16]) which results in the following constraint:

    (107)    (COND_LOAD29334ARR13(TRUE, java.lang.Object(ARRAY(i6[16], a69930data[16])), i7809[16], i7869[16], java.lang.Object(java.lang.String(i8939[16])))≥NonInfC∧COND_LOAD29334ARR13(TRUE, java.lang.Object(ARRAY(i6[16], a69930data[16])), i7809[16], i7869[16], java.lang.Object(java.lang.String(i8939[16])))≥INC35073(java.lang.Object(ARRAY(i6[16], a69930data[16])), +(i7809[16], 1), i7869[16])∧(UIncreasing(INC35073(java.lang.Object(ARRAY(i6[16], a69930data[16])), +(i7809[16], 1), i7869[16])), ≥))



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

    (108)    ((UIncreasing(INC35073(java.lang.Object(ARRAY(i6[16], a69930data[16])), +(i7809[16], 1), i7869[16])), ≥)∧[1 + (-1)bso_67] ≥ 0)



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

    (109)    ((UIncreasing(INC35073(java.lang.Object(ARRAY(i6[16], a69930data[16])), +(i7809[16], 1), i7869[16])), ≥)∧[1 + (-1)bso_67] ≥ 0)



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

    (110)    ((UIncreasing(INC35073(java.lang.Object(ARRAY(i6[16], a69930data[16])), +(i7809[16], 1), i7869[16])), ≥)∧[1 + (-1)bso_67] ≥ 0)



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

    (111)    ((UIncreasing(INC35073(java.lang.Object(ARRAY(i6[16], a69930data[16])), +(i7809[16], 1), i7869[16])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_67] ≥ 0)







For Pair LOAD29334(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869) → LOAD29334ARR16(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8939))) the following chains were created:
  • We consider the chain LOAD29334(java.lang.Object(ARRAY(i6[17], a69930data[17])), i7809[17], i7869[17]) → LOAD29334ARR16(java.lang.Object(ARRAY(i6[17], a69930data[17])), i7809[17], i7869[17], java.lang.Object(java.lang.String(i8939[17]))) which results in the following constraint:

    (112)    (LOAD29334(java.lang.Object(ARRAY(i6[17], a69930data[17])), i7809[17], i7869[17])≥NonInfC∧LOAD29334(java.lang.Object(ARRAY(i6[17], a69930data[17])), i7809[17], i7869[17])≥LOAD29334ARR16(java.lang.Object(ARRAY(i6[17], a69930data[17])), i7809[17], i7869[17], java.lang.Object(java.lang.String(i8939[17])))∧(UIncreasing(LOAD29334ARR16(java.lang.Object(ARRAY(i6[17], a69930data[17])), i7809[17], i7869[17], java.lang.Object(java.lang.String(i8939[17])))), ≥))



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

    (113)    ((UIncreasing(LOAD29334ARR16(java.lang.Object(ARRAY(i6[17], a69930data[17])), i7809[17], i7869[17], java.lang.Object(java.lang.String(i8939[17])))), ≥)∧[(-1)bso_69] ≥ 0)



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

    (114)    ((UIncreasing(LOAD29334ARR16(java.lang.Object(ARRAY(i6[17], a69930data[17])), i7809[17], i7869[17], java.lang.Object(java.lang.String(i8939[17])))), ≥)∧[(-1)bso_69] ≥ 0)



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

    (115)    ((UIncreasing(LOAD29334ARR16(java.lang.Object(ARRAY(i6[17], a69930data[17])), i7809[17], i7869[17], java.lang.Object(java.lang.String(i8939[17])))), ≥)∧[(-1)bso_69] ≥ 0)



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

    (116)    ((UIncreasing(LOAD29334ARR16(java.lang.Object(ARRAY(i6[17], a69930data[17])), i7809[17], i7869[17], java.lang.Object(java.lang.String(i8939[17])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_69] ≥ 0)







For Pair LOAD29334ARR16(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8939))) → COND_LOAD29334ARR16(&&(&&(&&(&&(<=(i8939, 0), >(i7809, 0)), <(i7809, i6)), >(i7869, 0)), >(+(i7809, 1), 0)), java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8939))) the following chains were created:
  • We consider the chain LOAD29334ARR16(java.lang.Object(ARRAY(i6[18], a69930data[18])), i7809[18], i7869[18], java.lang.Object(java.lang.String(i8939[18]))) → COND_LOAD29334ARR16(&&(&&(&&(&&(<=(i8939[18], 0), >(i7809[18], 0)), <(i7809[18], i6[18])), >(i7869[18], 0)), >(+(i7809[18], 1), 0)), java.lang.Object(ARRAY(i6[18], a69930data[18])), i7809[18], i7869[18], java.lang.Object(java.lang.String(i8939[18]))), COND_LOAD29334ARR16(TRUE, java.lang.Object(ARRAY(i6[19], a69930data[19])), i7809[19], i7869[19], java.lang.Object(java.lang.String(i8939[19]))) → JMP34988'(java.lang.Object(ARRAY(i6[19], a69930data[19])), +(i7809[19], 1), i7869[19]) which results in the following constraint:

    (117)    (i7809[18]=i7809[19]i6[18]=i6[19]a69930data[18]=a69930data[19]&&(&&(&&(&&(<=(i8939[18], 0), >(i7809[18], 0)), <(i7809[18], i6[18])), >(i7869[18], 0)), >(+(i7809[18], 1), 0))=TRUEi7869[18]=i7869[19]i8939[18]=i8939[19]LOAD29334ARR16(java.lang.Object(ARRAY(i6[18], a69930data[18])), i7809[18], i7869[18], java.lang.Object(java.lang.String(i8939[18])))≥NonInfC∧LOAD29334ARR16(java.lang.Object(ARRAY(i6[18], a69930data[18])), i7809[18], i7869[18], java.lang.Object(java.lang.String(i8939[18])))≥COND_LOAD29334ARR16(&&(&&(&&(&&(<=(i8939[18], 0), >(i7809[18], 0)), <(i7809[18], i6[18])), >(i7869[18], 0)), >(+(i7809[18], 1), 0)), java.lang.Object(ARRAY(i6[18], a69930data[18])), i7809[18], i7869[18], java.lang.Object(java.lang.String(i8939[18])))∧(UIncreasing(COND_LOAD29334ARR16(&&(&&(&&(&&(<=(i8939[18], 0), >(i7809[18], 0)), <(i7809[18], i6[18])), >(i7869[18], 0)), >(+(i7809[18], 1), 0)), java.lang.Object(ARRAY(i6[18], a69930data[18])), i7809[18], i7869[18], java.lang.Object(java.lang.String(i8939[18])))), ≥))



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

    (118)    (>(+(i7809[18], 1), 0)=TRUE>(i7869[18], 0)=TRUE<(i7809[18], i6[18])=TRUE<=(i8939[18], 0)=TRUE>(i7809[18], 0)=TRUELOAD29334ARR16(java.lang.Object(ARRAY(i6[18], a69930data[18])), i7809[18], i7869[18], java.lang.Object(java.lang.String(i8939[18])))≥NonInfC∧LOAD29334ARR16(java.lang.Object(ARRAY(i6[18], a69930data[18])), i7809[18], i7869[18], java.lang.Object(java.lang.String(i8939[18])))≥COND_LOAD29334ARR16(&&(&&(&&(&&(<=(i8939[18], 0), >(i7809[18], 0)), <(i7809[18], i6[18])), >(i7869[18], 0)), >(+(i7809[18], 1), 0)), java.lang.Object(ARRAY(i6[18], a69930data[18])), i7809[18], i7869[18], java.lang.Object(java.lang.String(i8939[18])))∧(UIncreasing(COND_LOAD29334ARR16(&&(&&(&&(&&(<=(i8939[18], 0), >(i7809[18], 0)), <(i7809[18], i6[18])), >(i7869[18], 0)), >(+(i7809[18], 1), 0)), java.lang.Object(ARRAY(i6[18], a69930data[18])), i7809[18], i7869[18], java.lang.Object(java.lang.String(i8939[18])))), ≥))



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

    (119)    (i7809[18] ≥ 0∧i7869[18] + [-1] ≥ 0∧i6[18] + [-1] + [-1]i7809[18] ≥ 0∧[-1]i8939[18] ≥ 0∧i7809[18] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD29334ARR16(&&(&&(&&(&&(<=(i8939[18], 0), >(i7809[18], 0)), <(i7809[18], i6[18])), >(i7869[18], 0)), >(+(i7809[18], 1), 0)), java.lang.Object(ARRAY(i6[18], a69930data[18])), i7809[18], i7869[18], java.lang.Object(java.lang.String(i8939[18])))), ≥)∧[(-3)bni_70 + (-1)Bound*bni_70] + [bni_70]i7869[18] + [(-1)bni_70]i7809[18] + [bni_70]i6[18] ≥ 0∧[(-1)bso_71] ≥ 0)



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

    (120)    (i7809[18] ≥ 0∧i7869[18] + [-1] ≥ 0∧i6[18] + [-1] + [-1]i7809[18] ≥ 0∧[-1]i8939[18] ≥ 0∧i7809[18] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD29334ARR16(&&(&&(&&(&&(<=(i8939[18], 0), >(i7809[18], 0)), <(i7809[18], i6[18])), >(i7869[18], 0)), >(+(i7809[18], 1), 0)), java.lang.Object(ARRAY(i6[18], a69930data[18])), i7809[18], i7869[18], java.lang.Object(java.lang.String(i8939[18])))), ≥)∧[(-3)bni_70 + (-1)Bound*bni_70] + [bni_70]i7869[18] + [(-1)bni_70]i7809[18] + [bni_70]i6[18] ≥ 0∧[(-1)bso_71] ≥ 0)



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

    (121)    (i7809[18] ≥ 0∧i7869[18] + [-1] ≥ 0∧i6[18] + [-1] + [-1]i7809[18] ≥ 0∧[-1]i8939[18] ≥ 0∧i7809[18] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD29334ARR16(&&(&&(&&(&&(<=(i8939[18], 0), >(i7809[18], 0)), <(i7809[18], i6[18])), >(i7869[18], 0)), >(+(i7809[18], 1), 0)), java.lang.Object(ARRAY(i6[18], a69930data[18])), i7809[18], i7869[18], java.lang.Object(java.lang.String(i8939[18])))), ≥)∧[(-3)bni_70 + (-1)Bound*bni_70] + [bni_70]i7869[18] + [(-1)bni_70]i7809[18] + [bni_70]i6[18] ≥ 0∧[(-1)bso_71] ≥ 0)



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

    (122)    (i7809[18] ≥ 0∧i7869[18] + [-1] ≥ 0∧i6[18] + [-1] + [-1]i7809[18] ≥ 0∧[-1]i8939[18] ≥ 0∧i7809[18] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD29334ARR16(&&(&&(&&(&&(<=(i8939[18], 0), >(i7809[18], 0)), <(i7809[18], i6[18])), >(i7869[18], 0)), >(+(i7809[18], 1), 0)), java.lang.Object(ARRAY(i6[18], a69930data[18])), i7809[18], i7869[18], java.lang.Object(java.lang.String(i8939[18])))), ≥)∧0 = 0∧[(-3)bni_70 + (-1)Bound*bni_70] + [bni_70]i7869[18] + [(-1)bni_70]i7809[18] + [bni_70]i6[18] ≥ 0∧0 = 0∧[(-1)bso_71] ≥ 0)



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

    (123)    ([1] + i7809[18] ≥ 0∧i7869[18] + [-1] ≥ 0∧i6[18] + [-2] + [-1]i7809[18] ≥ 0∧[-1]i8939[18] ≥ 0∧i7809[18] ≥ 0 ⇒ (UIncreasing(COND_LOAD29334ARR16(&&(&&(&&(&&(<=(i8939[18], 0), >(i7809[18], 0)), <(i7809[18], i6[18])), >(i7869[18], 0)), >(+(i7809[18], 1), 0)), java.lang.Object(ARRAY(i6[18], a69930data[18])), i7809[18], i7869[18], java.lang.Object(java.lang.String(i8939[18])))), ≥)∧0 = 0∧[(-4)bni_70 + (-1)Bound*bni_70] + [bni_70]i7869[18] + [(-1)bni_70]i7809[18] + [bni_70]i6[18] ≥ 0∧0 = 0∧[(-1)bso_71] ≥ 0)



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

    (124)    ([1] + i7809[18] ≥ 0∧i7869[18] ≥ 0∧i6[18] + [-2] + [-1]i7809[18] ≥ 0∧[-1]i8939[18] ≥ 0∧i7809[18] ≥ 0 ⇒ (UIncreasing(COND_LOAD29334ARR16(&&(&&(&&(&&(<=(i8939[18], 0), >(i7809[18], 0)), <(i7809[18], i6[18])), >(i7869[18], 0)), >(+(i7809[18], 1), 0)), java.lang.Object(ARRAY(i6[18], a69930data[18])), i7809[18], i7869[18], java.lang.Object(java.lang.String(i8939[18])))), ≥)∧0 = 0∧[(-3)bni_70 + (-1)Bound*bni_70] + [bni_70]i7869[18] + [(-1)bni_70]i7809[18] + [bni_70]i6[18] ≥ 0∧0 = 0∧[(-1)bso_71] ≥ 0)



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

    (125)    ([1] + i7809[18] ≥ 0∧i7869[18] ≥ 0∧i6[18] ≥ 0∧[-1]i8939[18] ≥ 0∧i7809[18] ≥ 0 ⇒ (UIncreasing(COND_LOAD29334ARR16(&&(&&(&&(&&(<=(i8939[18], 0), >(i7809[18], 0)), <(i7809[18], i6[18])), >(i7869[18], 0)), >(+(i7809[18], 1), 0)), java.lang.Object(ARRAY(i6[18], a69930data[18])), i7809[18], i7869[18], java.lang.Object(java.lang.String(i8939[18])))), ≥)∧0 = 0∧[(-1)bni_70 + (-1)Bound*bni_70] + [bni_70]i7869[18] + [bni_70]i6[18] ≥ 0∧0 = 0∧[(-1)bso_71] ≥ 0)



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

    (126)    ([1] + i7809[18] ≥ 0∧i7869[18] ≥ 0∧i6[18] ≥ 0∧i8939[18] ≥ 0∧i7809[18] ≥ 0 ⇒ (UIncreasing(COND_LOAD29334ARR16(&&(&&(&&(&&(<=(i8939[18], 0), >(i7809[18], 0)), <(i7809[18], i6[18])), >(i7869[18], 0)), >(+(i7809[18], 1), 0)), java.lang.Object(ARRAY(i6[18], a69930data[18])), i7809[18], i7869[18], java.lang.Object(java.lang.String(i8939[18])))), ≥)∧0 = 0∧[(-1)bni_70 + (-1)Bound*bni_70] + [bni_70]i7869[18] + [bni_70]i6[18] ≥ 0∧0 = 0∧[(-1)bso_71] ≥ 0)







For Pair COND_LOAD29334ARR16(TRUE, java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8939))) → JMP34988'(java.lang.Object(ARRAY(i6, a69930data)), +(i7809, 1), i7869) the following chains were created:
  • We consider the chain COND_LOAD29334ARR16(TRUE, java.lang.Object(ARRAY(i6[19], a69930data[19])), i7809[19], i7869[19], java.lang.Object(java.lang.String(i8939[19]))) → JMP34988'(java.lang.Object(ARRAY(i6[19], a69930data[19])), +(i7809[19], 1), i7869[19]) which results in the following constraint:

    (127)    (COND_LOAD29334ARR16(TRUE, java.lang.Object(ARRAY(i6[19], a69930data[19])), i7809[19], i7869[19], java.lang.Object(java.lang.String(i8939[19])))≥NonInfC∧COND_LOAD29334ARR16(TRUE, java.lang.Object(ARRAY(i6[19], a69930data[19])), i7809[19], i7869[19], java.lang.Object(java.lang.String(i8939[19])))≥JMP34988'(java.lang.Object(ARRAY(i6[19], a69930data[19])), +(i7809[19], 1), i7869[19])∧(UIncreasing(JMP34988'(java.lang.Object(ARRAY(i6[19], a69930data[19])), +(i7809[19], 1), i7869[19])), ≥))



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

    (128)    ((UIncreasing(JMP34988'(java.lang.Object(ARRAY(i6[19], a69930data[19])), +(i7809[19], 1), i7869[19])), ≥)∧[1 + (-1)bso_73] ≥ 0)



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

    (129)    ((UIncreasing(JMP34988'(java.lang.Object(ARRAY(i6[19], a69930data[19])), +(i7809[19], 1), i7869[19])), ≥)∧[1 + (-1)bso_73] ≥ 0)



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

    (130)    ((UIncreasing(JMP34988'(java.lang.Object(ARRAY(i6[19], a69930data[19])), +(i7809[19], 1), i7869[19])), ≥)∧[1 + (-1)bso_73] ≥ 0)



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

    (131)    ((UIncreasing(JMP34988'(java.lang.Object(ARRAY(i6[19], a69930data[19])), +(i7809[19], 1), i7869[19])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_73] ≥ 0)







To summarize, we get the following constraints P for the following pairs.
  • LOAD29334(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869) → LOAD29334ARR9(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8938)))
    • ((UIncreasing(LOAD29334ARR9(java.lang.Object(ARRAY(i6[0], a69930data[0])), i7809[0], i7869[0], java.lang.Object(java.lang.String(i8938[0])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_35] ≥ 0)

  • LOAD29334ARR9(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8938))) → COND_LOAD29334ARR9(&&(&&(&&(&&(>(i8938, 0), >(i7809, 0)), <(i7809, i6)), >(i7869, 0)), >(+(i7809, 1), 0)), java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8938)))
    • ([1] + i7809[1] ≥ 0∧i7869[1] ≥ 0∧i6[1] ≥ 0∧i8938[1] ≥ 0∧i7809[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD29334ARR9(&&(&&(&&(&&(>(i8938[1], 0), >(i7809[1], 0)), <(i7809[1], i6[1])), >(i7869[1], 0)), >(+(i7809[1], 1), 0)), java.lang.Object(ARRAY(i6[1], a69930data[1])), i7809[1], i7869[1], java.lang.Object(java.lang.String(i8938[1])))), ≥)∧0 = 0∧[(-1)Bound*bni_36 + (-1)bni_36] + [bni_36]i7869[1] + [bni_36]i6[1] ≥ 0∧0 = 0∧[(-1)bso_37] ≥ 0)

  • COND_LOAD29334ARR9(TRUE, java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8938))) → JMP34988'(java.lang.Object(ARRAY(i6, a69930data)), +(i7809, 1), i7869)
    • ((UIncreasing(JMP34988'(java.lang.Object(ARRAY(i6[2], a69930data[2])), +(i7809[2], 1), i7869[2])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_39] ≥ 0)

  • INC35073(java.lang.Object(ARRAY(i6, a69930data)), i8155, i7869) → LOAD29334(java.lang.Object(ARRAY(i6, a69930data)), i8155, +(i7869, -1))
    • ((UIncreasing(LOAD29334(java.lang.Object(ARRAY(i6[3], a69930data[3])), i8155[3], +(i7869[3], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_41] ≥ 0)

  • LOAD29334(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869) → LOAD29334ARR10(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8939)))
    • ((UIncreasing(LOAD29334ARR10(java.lang.Object(ARRAY(i6[4], a69930data[4])), i7809[4], i7869[4], java.lang.Object(java.lang.String(i8939[4])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_43] ≥ 0)

  • LOAD29334ARR10(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8939))) → COND_LOAD29334ARR10(&&(&&(&&(&&(<=(i8939, 0), >(i7809, 0)), <(i7809, i6)), >(i7869, 0)), >(+(i7809, 1), 0)), java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8939)))
    • ([1] + i7809[5] ≥ 0∧i7869[5] ≥ 0∧i6[5] ≥ 0∧i8939[5] ≥ 0∧i7809[5] ≥ 0 ⇒ (UIncreasing(COND_LOAD29334ARR10(&&(&&(&&(&&(<=(i8939[5], 0), >(i7809[5], 0)), <(i7809[5], i6[5])), >(i7869[5], 0)), >(+(i7809[5], 1), 0)), java.lang.Object(ARRAY(i6[5], a69930data[5])), i7809[5], i7869[5], java.lang.Object(java.lang.String(i8939[5])))), ≥)∧0 = 0∧[(-1)Bound*bni_44 + (-1)bni_44] + [bni_44]i7869[5] + [bni_44]i6[5] ≥ 0∧0 = 0∧[(-1)bso_45] ≥ 0)

  • COND_LOAD29334ARR10(TRUE, java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8939))) → LOAD29334(java.lang.Object(ARRAY(i6, a69930data)), +(i7809, 1), +(i7869, -1))
    • ((UIncreasing(LOAD29334(java.lang.Object(ARRAY(i6[6], a69930data[6])), +(i7809[6], 1), +(i7869[6], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[2 + (-1)bso_47] ≥ 0)

  • LOAD29334(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869) → LOAD29334ARR11(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8938)))
    • ((UIncreasing(LOAD29334ARR11(java.lang.Object(ARRAY(i6[7], a69930data[7])), i7809[7], i7869[7], java.lang.Object(java.lang.String(i8938[7])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_49] ≥ 0)

  • LOAD29334ARR11(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8938))) → COND_LOAD29334ARR11(&&(&&(&&(&&(>(i8938, 0), >(i7809, 0)), <(i7809, i6)), >(i7869, 0)), >(+(i7809, 1), 0)), java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8938)))
    • ([1] + i7809[8] ≥ 0∧i7869[8] ≥ 0∧i6[8] ≥ 0∧i8938[8] ≥ 0∧i7809[8] ≥ 0 ⇒ (UIncreasing(COND_LOAD29334ARR11(&&(&&(&&(&&(>(i8938[8], 0), >(i7809[8], 0)), <(i7809[8], i6[8])), >(i7869[8], 0)), >(+(i7809[8], 1), 0)), java.lang.Object(ARRAY(i6[8], a69930data[8])), i7809[8], i7869[8], java.lang.Object(java.lang.String(i8938[8])))), ≥)∧0 = 0∧[(-1)Bound*bni_50 + (-1)bni_50] + [bni_50]i7869[8] + [bni_50]i6[8] ≥ 0∧0 = 0∧[(-1)bso_51] ≥ 0)

  • COND_LOAD29334ARR11(TRUE, java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8938))) → LOAD29334(java.lang.Object(ARRAY(i6, a69930data)), +(i7809, 1), +(i7869, -1))
    • ((UIncreasing(LOAD29334(java.lang.Object(ARRAY(i6[9], a69930data[9])), +(i7809[9], 1), +(i7869[9], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[2 + (-1)bso_53] ≥ 0)

  • JMP34988'(java.lang.Object(ARRAY(i6, a69930data)), i8155, i7869) → INC35073(java.lang.Object(ARRAY(i6, a69930data)), i8155, i7869)
    • ((UIncreasing(INC35073(java.lang.Object(ARRAY(i6[10], a69930data[10])), i8155[10], i7869[10])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_55] ≥ 0)

  • LOAD29334(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869) → LOAD29334ARR12(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8938)))
    • ((UIncreasing(LOAD29334ARR12(java.lang.Object(ARRAY(i6[11], a69930data[11])), i7809[11], i7869[11], java.lang.Object(java.lang.String(i8938[11])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_57] ≥ 0)

  • LOAD29334ARR12(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8938))) → COND_LOAD29334ARR12(&&(&&(&&(&&(>(i8938, 0), >(i7809, 0)), <(i7809, i6)), >(i7869, 0)), >(+(i7809, 1), 0)), java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8938)))
    • ([1] + i7809[12] ≥ 0∧i7869[12] ≥ 0∧i6[12] ≥ 0∧i8938[12] ≥ 0∧i7809[12] ≥ 0 ⇒ (UIncreasing(COND_LOAD29334ARR12(&&(&&(&&(&&(>(i8938[12], 0), >(i7809[12], 0)), <(i7809[12], i6[12])), >(i7869[12], 0)), >(+(i7809[12], 1), 0)), java.lang.Object(ARRAY(i6[12], a69930data[12])), i7809[12], i7869[12], java.lang.Object(java.lang.String(i8938[12])))), ≥)∧0 = 0∧[(-1)bni_58 + (-1)Bound*bni_58] + [bni_58]i7869[12] + [bni_58]i6[12] ≥ 0∧0 = 0∧[(-1)bso_59] ≥ 0)

  • COND_LOAD29334ARR12(TRUE, java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8938))) → INC35073(java.lang.Object(ARRAY(i6, a69930data)), +(i7809, 1), i7869)
    • ((UIncreasing(INC35073(java.lang.Object(ARRAY(i6[13], a69930data[13])), +(i7809[13], 1), i7869[13])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_61] ≥ 0)

  • LOAD29334(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869) → LOAD29334ARR13(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8939)))
    • ((UIncreasing(LOAD29334ARR13(java.lang.Object(ARRAY(i6[14], a69930data[14])), i7809[14], i7869[14], java.lang.Object(java.lang.String(i8939[14])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_63] ≥ 0)

  • LOAD29334ARR13(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8939))) → COND_LOAD29334ARR13(&&(&&(&&(&&(<=(i8939, 0), >(i7809, 0)), <(i7809, i6)), >(i7869, 0)), >(+(i7809, 1), 0)), java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8939)))
    • ([1] + i7809[15] ≥ 0∧i7869[15] ≥ 0∧i6[15] ≥ 0∧i8939[15] ≥ 0∧i7809[15] ≥ 0 ⇒ (UIncreasing(COND_LOAD29334ARR13(&&(&&(&&(&&(<=(i8939[15], 0), >(i7809[15], 0)), <(i7809[15], i6[15])), >(i7869[15], 0)), >(+(i7809[15], 1), 0)), java.lang.Object(ARRAY(i6[15], a69930data[15])), i7809[15], i7869[15], java.lang.Object(java.lang.String(i8939[15])))), ≥)∧0 = 0∧[(-1)bni_64 + (-1)Bound*bni_64] + [bni_64]i7869[15] + [bni_64]i6[15] ≥ 0∧0 = 0∧[(-1)bso_65] ≥ 0)

  • COND_LOAD29334ARR13(TRUE, java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8939))) → INC35073(java.lang.Object(ARRAY(i6, a69930data)), +(i7809, 1), i7869)
    • ((UIncreasing(INC35073(java.lang.Object(ARRAY(i6[16], a69930data[16])), +(i7809[16], 1), i7869[16])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_67] ≥ 0)

  • LOAD29334(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869) → LOAD29334ARR16(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8939)))
    • ((UIncreasing(LOAD29334ARR16(java.lang.Object(ARRAY(i6[17], a69930data[17])), i7809[17], i7869[17], java.lang.Object(java.lang.String(i8939[17])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_69] ≥ 0)

  • LOAD29334ARR16(java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8939))) → COND_LOAD29334ARR16(&&(&&(&&(&&(<=(i8939, 0), >(i7809, 0)), <(i7809, i6)), >(i7869, 0)), >(+(i7809, 1), 0)), java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8939)))
    • ([1] + i7809[18] ≥ 0∧i7869[18] ≥ 0∧i6[18] ≥ 0∧i8939[18] ≥ 0∧i7809[18] ≥ 0 ⇒ (UIncreasing(COND_LOAD29334ARR16(&&(&&(&&(&&(<=(i8939[18], 0), >(i7809[18], 0)), <(i7809[18], i6[18])), >(i7869[18], 0)), >(+(i7809[18], 1), 0)), java.lang.Object(ARRAY(i6[18], a69930data[18])), i7809[18], i7869[18], java.lang.Object(java.lang.String(i8939[18])))), ≥)∧0 = 0∧[(-1)bni_70 + (-1)Bound*bni_70] + [bni_70]i7869[18] + [bni_70]i6[18] ≥ 0∧0 = 0∧[(-1)bso_71] ≥ 0)

  • COND_LOAD29334ARR16(TRUE, java.lang.Object(ARRAY(i6, a69930data)), i7809, i7869, java.lang.Object(java.lang.String(i8939))) → JMP34988'(java.lang.Object(ARRAY(i6, a69930data)), +(i7809, 1), i7869)
    • ((UIncreasing(JMP34988'(java.lang.Object(ARRAY(i6[19], a69930data[19])), +(i7809[19], 1), i7869[19])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_73] ≥ 0)




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

POL(TRUE) = 0   
POL(FALSE) = 0   
POL(LOAD29334(x1, x2, x3)) = [-1] + x3 + [-1]x1 + [-1]x2   
POL(java.lang.Object(x1)) = x1   
POL(ARRAY(x1, x2)) = [2] + [-1]x1   
POL(LOAD29334ARR9(x1, x2, x3, x4)) = [-1] + x3 + [-1]x1 + [-1]x2   
POL(java.lang.String(x1)) = x1   
POL(COND_LOAD29334ARR9(x1, x2, x3, x4, x5)) = [-1] + x4 + [-1]x2 + [-1]x3   
POL(&&(x1, x2)) = [-1]   
POL(>(x1, x2)) = [-1]   
POL(0) = 0   
POL(<(x1, x2)) = [-1]   
POL(+(x1, x2)) = x1 + x2   
POL(1) = [1]   
POL(JMP34988'(x1, x2, x3)) = [-1] + [-1]x2 + x3 + [-1]x1   
POL(INC35073(x1, x2, x3)) = [-1] + [-1]x1 + x3 + [-1]x2   
POL(-1) = [-1]   
POL(LOAD29334ARR10(x1, x2, x3, x4)) = [-1] + x3 + [-1]x1 + [-1]x2   
POL(COND_LOAD29334ARR10(x1, x2, x3, x4, x5)) = [-1] + x4 + [-1]x2 + [-1]x3   
POL(<=(x1, x2)) = [-1]   
POL(LOAD29334ARR11(x1, x2, x3, x4)) = [-1] + x3 + [-1]x1 + [-1]x2   
POL(COND_LOAD29334ARR11(x1, x2, x3, x4, x5)) = [-1] + x4 + [-1]x2 + [-1]x3   
POL(LOAD29334ARR12(x1, x2, x3, x4)) = [-1] + x3 + [-1]x2 + [-1]x1   
POL(COND_LOAD29334ARR12(x1, x2, x3, x4, x5)) = [-1] + x4 + [-1]x3 + [-1]x2   
POL(LOAD29334ARR13(x1, x2, x3, x4)) = [-1] + x3 + [-1]x2 + [-1]x1   
POL(COND_LOAD29334ARR13(x1, x2, x3, x4, x5)) = [-1] + x4 + [-1]x3 + [-1]x2   
POL(LOAD29334ARR16(x1, x2, x3, x4)) = [-1] + x3 + [-1]x2 + [-1]x1   
POL(COND_LOAD29334ARR16(x1, x2, x3, x4, x5)) = [-1] + x4 + [-1]x3 + [-1]x2   

The following pairs are in P>:

COND_LOAD29334ARR9(TRUE, java.lang.Object(ARRAY(i6[2], a69930data[2])), i7809[2], i7869[2], java.lang.Object(java.lang.String(i8938[2]))) → JMP34988'(java.lang.Object(ARRAY(i6[2], a69930data[2])), +(i7809[2], 1), i7869[2])
INC35073(java.lang.Object(ARRAY(i6[3], a69930data[3])), i8155[3], i7869[3]) → LOAD29334(java.lang.Object(ARRAY(i6[3], a69930data[3])), i8155[3], +(i7869[3], -1))
COND_LOAD29334ARR10(TRUE, java.lang.Object(ARRAY(i6[6], a69930data[6])), i7809[6], i7869[6], java.lang.Object(java.lang.String(i8939[6]))) → LOAD29334(java.lang.Object(ARRAY(i6[6], a69930data[6])), +(i7809[6], 1), +(i7869[6], -1))
COND_LOAD29334ARR11(TRUE, java.lang.Object(ARRAY(i6[9], a69930data[9])), i7809[9], i7869[9], java.lang.Object(java.lang.String(i8938[9]))) → LOAD29334(java.lang.Object(ARRAY(i6[9], a69930data[9])), +(i7809[9], 1), +(i7869[9], -1))
COND_LOAD29334ARR12(TRUE, java.lang.Object(ARRAY(i6[13], a69930data[13])), i7809[13], i7869[13], java.lang.Object(java.lang.String(i8938[13]))) → INC35073(java.lang.Object(ARRAY(i6[13], a69930data[13])), +(i7809[13], 1), i7869[13])
COND_LOAD29334ARR13(TRUE, java.lang.Object(ARRAY(i6[16], a69930data[16])), i7809[16], i7869[16], java.lang.Object(java.lang.String(i8939[16]))) → INC35073(java.lang.Object(ARRAY(i6[16], a69930data[16])), +(i7809[16], 1), i7869[16])
COND_LOAD29334ARR16(TRUE, java.lang.Object(ARRAY(i6[19], a69930data[19])), i7809[19], i7869[19], java.lang.Object(java.lang.String(i8939[19]))) → JMP34988'(java.lang.Object(ARRAY(i6[19], a69930data[19])), +(i7809[19], 1), i7869[19])

The following pairs are in Pbound:

LOAD29334ARR9(java.lang.Object(ARRAY(i6[1], a69930data[1])), i7809[1], i7869[1], java.lang.Object(java.lang.String(i8938[1]))) → COND_LOAD29334ARR9(&&(&&(&&(&&(>(i8938[1], 0), >(i7809[1], 0)), <(i7809[1], i6[1])), >(i7869[1], 0)), >(+(i7809[1], 1), 0)), java.lang.Object(ARRAY(i6[1], a69930data[1])), i7809[1], i7869[1], java.lang.Object(java.lang.String(i8938[1])))
LOAD29334ARR10(java.lang.Object(ARRAY(i6[5], a69930data[5])), i7809[5], i7869[5], java.lang.Object(java.lang.String(i8939[5]))) → COND_LOAD29334ARR10(&&(&&(&&(&&(<=(i8939[5], 0), >(i7809[5], 0)), <(i7809[5], i6[5])), >(i7869[5], 0)), >(+(i7809[5], 1), 0)), java.lang.Object(ARRAY(i6[5], a69930data[5])), i7809[5], i7869[5], java.lang.Object(java.lang.String(i8939[5])))
LOAD29334ARR11(java.lang.Object(ARRAY(i6[8], a69930data[8])), i7809[8], i7869[8], java.lang.Object(java.lang.String(i8938[8]))) → COND_LOAD29334ARR11(&&(&&(&&(&&(>(i8938[8], 0), >(i7809[8], 0)), <(i7809[8], i6[8])), >(i7869[8], 0)), >(+(i7809[8], 1), 0)), java.lang.Object(ARRAY(i6[8], a69930data[8])), i7809[8], i7869[8], java.lang.Object(java.lang.String(i8938[8])))
LOAD29334ARR12(java.lang.Object(ARRAY(i6[12], a69930data[12])), i7809[12], i7869[12], java.lang.Object(java.lang.String(i8938[12]))) → COND_LOAD29334ARR12(&&(&&(&&(&&(>(i8938[12], 0), >(i7809[12], 0)), <(i7809[12], i6[12])), >(i7869[12], 0)), >(+(i7809[12], 1), 0)), java.lang.Object(ARRAY(i6[12], a69930data[12])), i7809[12], i7869[12], java.lang.Object(java.lang.String(i8938[12])))
LOAD29334ARR13(java.lang.Object(ARRAY(i6[15], a69930data[15])), i7809[15], i7869[15], java.lang.Object(java.lang.String(i8939[15]))) → COND_LOAD29334ARR13(&&(&&(&&(&&(<=(i8939[15], 0), >(i7809[15], 0)), <(i7809[15], i6[15])), >(i7869[15], 0)), >(+(i7809[15], 1), 0)), java.lang.Object(ARRAY(i6[15], a69930data[15])), i7809[15], i7869[15], java.lang.Object(java.lang.String(i8939[15])))
LOAD29334ARR16(java.lang.Object(ARRAY(i6[18], a69930data[18])), i7809[18], i7869[18], java.lang.Object(java.lang.String(i8939[18]))) → COND_LOAD29334ARR16(&&(&&(&&(&&(<=(i8939[18], 0), >(i7809[18], 0)), <(i7809[18], i6[18])), >(i7869[18], 0)), >(+(i7809[18], 1), 0)), java.lang.Object(ARRAY(i6[18], a69930data[18])), i7809[18], i7869[18], java.lang.Object(java.lang.String(i8939[18])))

The following pairs are in P:

LOAD29334(java.lang.Object(ARRAY(i6[0], a69930data[0])), i7809[0], i7869[0]) → LOAD29334ARR9(java.lang.Object(ARRAY(i6[0], a69930data[0])), i7809[0], i7869[0], java.lang.Object(java.lang.String(i8938[0])))
LOAD29334ARR9(java.lang.Object(ARRAY(i6[1], a69930data[1])), i7809[1], i7869[1], java.lang.Object(java.lang.String(i8938[1]))) → COND_LOAD29334ARR9(&&(&&(&&(&&(>(i8938[1], 0), >(i7809[1], 0)), <(i7809[1], i6[1])), >(i7869[1], 0)), >(+(i7809[1], 1), 0)), java.lang.Object(ARRAY(i6[1], a69930data[1])), i7809[1], i7869[1], java.lang.Object(java.lang.String(i8938[1])))
LOAD29334(java.lang.Object(ARRAY(i6[4], a69930data[4])), i7809[4], i7869[4]) → LOAD29334ARR10(java.lang.Object(ARRAY(i6[4], a69930data[4])), i7809[4], i7869[4], java.lang.Object(java.lang.String(i8939[4])))
LOAD29334ARR10(java.lang.Object(ARRAY(i6[5], a69930data[5])), i7809[5], i7869[5], java.lang.Object(java.lang.String(i8939[5]))) → COND_LOAD29334ARR10(&&(&&(&&(&&(<=(i8939[5], 0), >(i7809[5], 0)), <(i7809[5], i6[5])), >(i7869[5], 0)), >(+(i7809[5], 1), 0)), java.lang.Object(ARRAY(i6[5], a69930data[5])), i7809[5], i7869[5], java.lang.Object(java.lang.String(i8939[5])))
LOAD29334(java.lang.Object(ARRAY(i6[7], a69930data[7])), i7809[7], i7869[7]) → LOAD29334ARR11(java.lang.Object(ARRAY(i6[7], a69930data[7])), i7809[7], i7869[7], java.lang.Object(java.lang.String(i8938[7])))
LOAD29334ARR11(java.lang.Object(ARRAY(i6[8], a69930data[8])), i7809[8], i7869[8], java.lang.Object(java.lang.String(i8938[8]))) → COND_LOAD29334ARR11(&&(&&(&&(&&(>(i8938[8], 0), >(i7809[8], 0)), <(i7809[8], i6[8])), >(i7869[8], 0)), >(+(i7809[8], 1), 0)), java.lang.Object(ARRAY(i6[8], a69930data[8])), i7809[8], i7869[8], java.lang.Object(java.lang.String(i8938[8])))
JMP34988'(java.lang.Object(ARRAY(i6[10], a69930data[10])), i8155[10], i7869[10]) → INC35073(java.lang.Object(ARRAY(i6[10], a69930data[10])), i8155[10], i7869[10])
LOAD29334(java.lang.Object(ARRAY(i6[11], a69930data[11])), i7809[11], i7869[11]) → LOAD29334ARR12(java.lang.Object(ARRAY(i6[11], a69930data[11])), i7809[11], i7869[11], java.lang.Object(java.lang.String(i8938[11])))
LOAD29334ARR12(java.lang.Object(ARRAY(i6[12], a69930data[12])), i7809[12], i7869[12], java.lang.Object(java.lang.String(i8938[12]))) → COND_LOAD29334ARR12(&&(&&(&&(&&(>(i8938[12], 0), >(i7809[12], 0)), <(i7809[12], i6[12])), >(i7869[12], 0)), >(+(i7809[12], 1), 0)), java.lang.Object(ARRAY(i6[12], a69930data[12])), i7809[12], i7869[12], java.lang.Object(java.lang.String(i8938[12])))
LOAD29334(java.lang.Object(ARRAY(i6[14], a69930data[14])), i7809[14], i7869[14]) → LOAD29334ARR13(java.lang.Object(ARRAY(i6[14], a69930data[14])), i7809[14], i7869[14], java.lang.Object(java.lang.String(i8939[14])))
LOAD29334ARR13(java.lang.Object(ARRAY(i6[15], a69930data[15])), i7809[15], i7869[15], java.lang.Object(java.lang.String(i8939[15]))) → COND_LOAD29334ARR13(&&(&&(&&(&&(<=(i8939[15], 0), >(i7809[15], 0)), <(i7809[15], i6[15])), >(i7869[15], 0)), >(+(i7809[15], 1), 0)), java.lang.Object(ARRAY(i6[15], a69930data[15])), i7809[15], i7869[15], java.lang.Object(java.lang.String(i8939[15])))
LOAD29334(java.lang.Object(ARRAY(i6[17], a69930data[17])), i7809[17], i7869[17]) → LOAD29334ARR16(java.lang.Object(ARRAY(i6[17], a69930data[17])), i7809[17], i7869[17], java.lang.Object(java.lang.String(i8939[17])))
LOAD29334ARR16(java.lang.Object(ARRAY(i6[18], a69930data[18])), i7809[18], i7869[18], java.lang.Object(java.lang.String(i8939[18]))) → COND_LOAD29334ARR16(&&(&&(&&(&&(<=(i8939[18], 0), >(i7809[18], 0)), <(i7809[18], i6[18])), >(i7869[18], 0)), >(+(i7809[18], 1), 0)), java.lang.Object(ARRAY(i6[18], a69930data[18])), i7809[18], i7869[18], java.lang.Object(java.lang.String(i8939[18])))

There are no usable rules.

(73) Complex Obligation (AND)

(74) Obligation:

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


The following domains are used:

Boolean, Integer


R is empty.

The integer pair graph contains the following rules and edges:
(0): LOAD29334(java.lang.Object(ARRAY(i6[0], a69930data[0])), i7809[0], i7869[0]) → LOAD29334ARR9(java.lang.Object(ARRAY(i6[0], a69930data[0])), i7809[0], i7869[0], java.lang.Object(java.lang.String(i8938[0])))
(1): LOAD29334ARR9(java.lang.Object(ARRAY(i6[1], a69930data[1])), i7809[1], i7869[1], java.lang.Object(java.lang.String(i8938[1]))) → COND_LOAD29334ARR9(i8938[1] > 0 && i7809[1] > 0 && i7809[1] < i6[1] && i7869[1] > 0 && i7809[1] + 1 > 0, java.lang.Object(ARRAY(i6[1], a69930data[1])), i7809[1], i7869[1], java.lang.Object(java.lang.String(i8938[1])))
(4): LOAD29334(java.lang.Object(ARRAY(i6[4], a69930data[4])), i7809[4], i7869[4]) → LOAD29334ARR10(java.lang.Object(ARRAY(i6[4], a69930data[4])), i7809[4], i7869[4], java.lang.Object(java.lang.String(i8939[4])))
(5): LOAD29334ARR10(java.lang.Object(ARRAY(i6[5], a69930data[5])), i7809[5], i7869[5], java.lang.Object(java.lang.String(i8939[5]))) → COND_LOAD29334ARR10(i8939[5] <= 0 && i7809[5] > 0 && i7809[5] < i6[5] && i7869[5] > 0 && i7809[5] + 1 > 0, java.lang.Object(ARRAY(i6[5], a69930data[5])), i7809[5], i7869[5], java.lang.Object(java.lang.String(i8939[5])))
(7): LOAD29334(java.lang.Object(ARRAY(i6[7], a69930data[7])), i7809[7], i7869[7]) → LOAD29334ARR11(java.lang.Object(ARRAY(i6[7], a69930data[7])), i7809[7], i7869[7], java.lang.Object(java.lang.String(i8938[7])))
(8): LOAD29334ARR11(java.lang.Object(ARRAY(i6[8], a69930data[8])), i7809[8], i7869[8], java.lang.Object(java.lang.String(i8938[8]))) → COND_LOAD29334ARR11(i8938[8] > 0 && i7809[8] > 0 && i7809[8] < i6[8] && i7869[8] > 0 && i7809[8] + 1 > 0, java.lang.Object(ARRAY(i6[8], a69930data[8])), i7809[8], i7869[8], java.lang.Object(java.lang.String(i8938[8])))
(10): JMP34988'(java.lang.Object(ARRAY(i6[10], a69930data[10])), i8155[10], i7869[10]) → INC35073(java.lang.Object(ARRAY(i6[10], a69930data[10])), i8155[10], i7869[10])
(11): LOAD29334(java.lang.Object(ARRAY(i6[11], a69930data[11])), i7809[11], i7869[11]) → LOAD29334ARR12(java.lang.Object(ARRAY(i6[11], a69930data[11])), i7809[11], i7869[11], java.lang.Object(java.lang.String(i8938[11])))
(12): LOAD29334ARR12(java.lang.Object(ARRAY(i6[12], a69930data[12])), i7809[12], i7869[12], java.lang.Object(java.lang.String(i8938[12]))) → COND_LOAD29334ARR12(i8938[12] > 0 && i7809[12] > 0 && i7809[12] < i6[12] && i7869[12] > 0 && i7809[12] + 1 > 0, java.lang.Object(ARRAY(i6[12], a69930data[12])), i7809[12], i7869[12], java.lang.Object(java.lang.String(i8938[12])))
(14): LOAD29334(java.lang.Object(ARRAY(i6[14], a69930data[14])), i7809[14], i7869[14]) → LOAD29334ARR13(java.lang.Object(ARRAY(i6[14], a69930data[14])), i7809[14], i7869[14], java.lang.Object(java.lang.String(i8939[14])))
(15): LOAD29334ARR13(java.lang.Object(ARRAY(i6[15], a69930data[15])), i7809[15], i7869[15], java.lang.Object(java.lang.String(i8939[15]))) → COND_LOAD29334ARR13(i8939[15] <= 0 && i7809[15] > 0 && i7809[15] < i6[15] && i7869[15] > 0 && i7809[15] + 1 > 0, java.lang.Object(ARRAY(i6[15], a69930data[15])), i7809[15], i7869[15], java.lang.Object(java.lang.String(i8939[15])))
(17): LOAD29334(java.lang.Object(ARRAY(i6[17], a69930data[17])), i7809[17], i7869[17]) → LOAD29334ARR16(java.lang.Object(ARRAY(i6[17], a69930data[17])), i7809[17], i7869[17], java.lang.Object(java.lang.String(i8939[17])))
(18): LOAD29334ARR16(java.lang.Object(ARRAY(i6[18], a69930data[18])), i7809[18], i7869[18], java.lang.Object(java.lang.String(i8939[18]))) → COND_LOAD29334ARR16(i8939[18] <= 0 && i7809[18] > 0 && i7809[18] < i6[18] && i7869[18] > 0 && i7809[18] + 1 > 0, java.lang.Object(ARRAY(i6[18], a69930data[18])), i7809[18], i7869[18], java.lang.Object(java.lang.String(i8939[18])))

(0) -> (1), if (((i8938[0]* i8938[1]))∧(i7869[0]* i7869[1])∧((i6[0]* i6[1])∧(a69930data[0]* a69930data[1]))∧(i7809[0]* i7809[1]))


(4) -> (5), if ((i7869[4]* i7869[5])∧((i6[4]* i6[5])∧(a69930data[4]* a69930data[5]))∧((i8939[4]* i8939[5]))∧(i7809[4]* i7809[5]))


(7) -> (8), if ((i7809[7]* i7809[8])∧((i8938[7]* i8938[8]))∧(i7869[7]* i7869[8])∧((i6[7]* i6[8])∧(a69930data[7]* a69930data[8])))


(11) -> (12), if ((i7809[11]* i7809[12])∧((i6[11]* i6[12])∧(a69930data[11]* a69930data[12]))∧((i8938[11]* i8938[12]))∧(i7869[11]* i7869[12]))


(14) -> (15), if (((i8939[14]* i8939[15]))∧(i7809[14]* i7809[15])∧(i7869[14]* i7869[15])∧((i6[14]* i6[15])∧(a69930data[14]* a69930data[15])))


(17) -> (18), if (((i6[17]* i6[18])∧(a69930data[17]* a69930data[18]))∧(i7869[17]* i7869[18])∧(i7809[17]* i7809[18])∧((i8939[17]* i8939[18])))



The set Q consists of the following terms:
Load29334(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load29334ARR9(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load29334ARR9(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Inc35073(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load29334ARR10(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load29334ARR10(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load29334ARR11(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load29334ARR11(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
JMP34988(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load29334ARR12(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load29334ARR12(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load29334ARR13(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load29334ARR13(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load29334ARR16(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load29334ARR16(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))

(75) IDependencyGraphProof (EQUIVALENT transformation)

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

(76) TRUE

(77) Obligation:

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


The following domains are used:

Integer


R is empty.

The integer pair graph contains the following rules and edges:
(0): LOAD29334(java.lang.Object(ARRAY(i6[0], a69930data[0])), i7809[0], i7869[0]) → LOAD29334ARR9(java.lang.Object(ARRAY(i6[0], a69930data[0])), i7809[0], i7869[0], java.lang.Object(java.lang.String(i8938[0])))
(2): COND_LOAD29334ARR9(TRUE, java.lang.Object(ARRAY(i6[2], a69930data[2])), i7809[2], i7869[2], java.lang.Object(java.lang.String(i8938[2]))) → JMP34988'(java.lang.Object(ARRAY(i6[2], a69930data[2])), i7809[2] + 1, i7869[2])
(3): INC35073(java.lang.Object(ARRAY(i6[3], a69930data[3])), i8155[3], i7869[3]) → LOAD29334(java.lang.Object(ARRAY(i6[3], a69930data[3])), i8155[3], i7869[3] + -1)
(4): LOAD29334(java.lang.Object(ARRAY(i6[4], a69930data[4])), i7809[4], i7869[4]) → LOAD29334ARR10(java.lang.Object(ARRAY(i6[4], a69930data[4])), i7809[4], i7869[4], java.lang.Object(java.lang.String(i8939[4])))
(6): COND_LOAD29334ARR10(TRUE, java.lang.Object(ARRAY(i6[6], a69930data[6])), i7809[6], i7869[6], java.lang.Object(java.lang.String(i8939[6]))) → LOAD29334(java.lang.Object(ARRAY(i6[6], a69930data[6])), i7809[6] + 1, i7869[6] + -1)
(7): LOAD29334(java.lang.Object(ARRAY(i6[7], a69930data[7])), i7809[7], i7869[7]) → LOAD29334ARR11(java.lang.Object(ARRAY(i6[7], a69930data[7])), i7809[7], i7869[7], java.lang.Object(java.lang.String(i8938[7])))
(9): COND_LOAD29334ARR11(TRUE, java.lang.Object(ARRAY(i6[9], a69930data[9])), i7809[9], i7869[9], java.lang.Object(java.lang.String(i8938[9]))) → LOAD29334(java.lang.Object(ARRAY(i6[9], a69930data[9])), i7809[9] + 1, i7869[9] + -1)
(10): JMP34988'(java.lang.Object(ARRAY(i6[10], a69930data[10])), i8155[10], i7869[10]) → INC35073(java.lang.Object(ARRAY(i6[10], a69930data[10])), i8155[10], i7869[10])
(11): LOAD29334(java.lang.Object(ARRAY(i6[11], a69930data[11])), i7809[11], i7869[11]) → LOAD29334ARR12(java.lang.Object(ARRAY(i6[11], a69930data[11])), i7809[11], i7869[11], java.lang.Object(java.lang.String(i8938[11])))
(13): COND_LOAD29334ARR12(TRUE, java.lang.Object(ARRAY(i6[13], a69930data[13])), i7809[13], i7869[13], java.lang.Object(java.lang.String(i8938[13]))) → INC35073(java.lang.Object(ARRAY(i6[13], a69930data[13])), i7809[13] + 1, i7869[13])
(14): LOAD29334(java.lang.Object(ARRAY(i6[14], a69930data[14])), i7809[14], i7869[14]) → LOAD29334ARR13(java.lang.Object(ARRAY(i6[14], a69930data[14])), i7809[14], i7869[14], java.lang.Object(java.lang.String(i8939[14])))
(16): COND_LOAD29334ARR13(TRUE, java.lang.Object(ARRAY(i6[16], a69930data[16])), i7809[16], i7869[16], java.lang.Object(java.lang.String(i8939[16]))) → INC35073(java.lang.Object(ARRAY(i6[16], a69930data[16])), i7809[16] + 1, i7869[16])
(17): LOAD29334(java.lang.Object(ARRAY(i6[17], a69930data[17])), i7809[17], i7869[17]) → LOAD29334ARR16(java.lang.Object(ARRAY(i6[17], a69930data[17])), i7809[17], i7869[17], java.lang.Object(java.lang.String(i8939[17])))
(19): COND_LOAD29334ARR16(TRUE, java.lang.Object(ARRAY(i6[19], a69930data[19])), i7809[19], i7869[19], java.lang.Object(java.lang.String(i8939[19]))) → JMP34988'(java.lang.Object(ARRAY(i6[19], a69930data[19])), i7809[19] + 1, i7869[19])

(3) -> (0), if (((i6[3]* i6[0])∧(a69930data[3]* a69930data[0]))∧(i8155[3]* i7809[0])∧(i7869[3] + -1* i7869[0]))


(6) -> (0), if ((i7869[6] + -1* i7869[0])∧((i6[6]* i6[0])∧(a69930data[6]* a69930data[0]))∧(i7809[6] + 1* i7809[0]))


(9) -> (0), if ((i7809[9] + 1* i7809[0])∧(i7869[9] + -1* i7869[0])∧((i6[9]* i6[0])∧(a69930data[9]* a69930data[0])))


(10) -> (3), if ((i7869[10]* i7869[3])∧((i6[10]* i6[3])∧(a69930data[10]* a69930data[3]))∧(i8155[10]* i8155[3]))


(13) -> (3), if ((i7809[13] + 1* i8155[3])∧((i6[13]* i6[3])∧(a69930data[13]* a69930data[3]))∧(i7869[13]* i7869[3]))


(16) -> (3), if ((i7809[16] + 1* i8155[3])∧(i7869[16]* i7869[3])∧((i6[16]* i6[3])∧(a69930data[16]* a69930data[3])))


(3) -> (4), if ((i7869[3] + -1* i7869[4])∧(i8155[3]* i7809[4])∧((i6[3]* i6[4])∧(a69930data[3]* a69930data[4])))


(6) -> (4), if ((i7809[6] + 1* i7809[4])∧(i7869[6] + -1* i7869[4])∧((i6[6]* i6[4])∧(a69930data[6]* a69930data[4])))


(9) -> (4), if (((i6[9]* i6[4])∧(a69930data[9]* a69930data[4]))∧(i7809[9] + 1* i7809[4])∧(i7869[9] + -1* i7869[4]))


(3) -> (7), if (((i6[3]* i6[7])∧(a69930data[3]* a69930data[7]))∧(i7869[3] + -1* i7869[7])∧(i8155[3]* i7809[7]))


(6) -> (7), if ((i7869[6] + -1* i7869[7])∧((i6[6]* i6[7])∧(a69930data[6]* a69930data[7]))∧(i7809[6] + 1* i7809[7]))


(9) -> (7), if ((i7809[9] + 1* i7809[7])∧((i6[9]* i6[7])∧(a69930data[9]* a69930data[7]))∧(i7869[9] + -1* i7869[7]))


(2) -> (10), if ((i7809[2] + 1* i8155[10])∧((i6[2]* i6[10])∧(a69930data[2]* a69930data[10]))∧(i7869[2]* i7869[10]))


(19) -> (10), if (((i6[19]* i6[10])∧(a69930data[19]* a69930data[10]))∧(i7809[19] + 1* i8155[10])∧(i7869[19]* i7869[10]))


(3) -> (11), if ((i8155[3]* i7809[11])∧(i7869[3] + -1* i7869[11])∧((i6[3]* i6[11])∧(a69930data[3]* a69930data[11])))


(6) -> (11), if (((i6[6]* i6[11])∧(a69930data[6]* a69930data[11]))∧(i7869[6] + -1* i7869[11])∧(i7809[6] + 1* i7809[11]))


(9) -> (11), if (((i6[9]* i6[11])∧(a69930data[9]* a69930data[11]))∧(i7809[9] + 1* i7809[11])∧(i7869[9] + -1* i7869[11]))


(3) -> (14), if ((i8155[3]* i7809[14])∧(i7869[3] + -1* i7869[14])∧((i6[3]* i6[14])∧(a69930data[3]* a69930data[14])))


(6) -> (14), if ((i7869[6] + -1* i7869[14])∧(i7809[6] + 1* i7809[14])∧((i6[6]* i6[14])∧(a69930data[6]* a69930data[14])))


(9) -> (14), if ((i7869[9] + -1* i7869[14])∧((i6[9]* i6[14])∧(a69930data[9]* a69930data[14]))∧(i7809[9] + 1* i7809[14]))


(3) -> (17), if (((i6[3]* i6[17])∧(a69930data[3]* a69930data[17]))∧(i8155[3]* i7809[17])∧(i7869[3] + -1* i7869[17]))


(6) -> (17), if ((i7809[6] + 1* i7809[17])∧((i6[6]* i6[17])∧(a69930data[6]* a69930data[17]))∧(i7869[6] + -1* i7869[17]))


(9) -> (17), if (((i6[9]* i6[17])∧(a69930data[9]* a69930data[17]))∧(i7809[9] + 1* i7809[17])∧(i7869[9] + -1* i7869[17]))



The set Q consists of the following terms:
Load29334(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load29334ARR9(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load29334ARR9(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Inc35073(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load29334ARR10(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load29334ARR10(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load29334ARR11(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load29334ARR11(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
JMP34988(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load29334ARR12(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load29334ARR12(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load29334ARR13(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load29334ARR13(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load29334ARR16(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load29334ARR16(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))

(78) IDependencyGraphProof (EQUIVALENT transformation)

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

(79) TRUE

(80) 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:
Load33388(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(Tree(java.lang.Object(Tree(o84643Field0, o84643Field1)), o66232)), java.lang.Object(Tree(java.lang.Object(Tree(o84643Field0, o84643Field1)), o66232))) → Load33388ARR17(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(Tree(java.lang.Object(Tree(o84643Field0, o84643Field1)), o66232)), java.lang.Object(Tree(java.lang.Object(Tree(o84643Field0, o84643Field1)), o66232)), java.lang.Object(java.lang.String(i11284)))
Load33388ARR17(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(Tree(java.lang.Object(Tree(o84643Field0, o84643Field1)), o66232)), java.lang.Object(Tree(java.lang.Object(Tree(o84643Field0, o84643Field1)), o66232)), java.lang.Object(java.lang.String(i11284))) → Cond_Load33388ARR17(i11284 > 0 && i9158 > 0 && i9158 < i6 && i9298 > 0 && i9158 + 1 > 0, java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(Tree(java.lang.Object(Tree(o84643Field0, o84643Field1)), o66232)), java.lang.Object(Tree(java.lang.Object(Tree(o84643Field0, o84643Field1)), o66232)), java.lang.Object(java.lang.String(i11284)))
Cond_Load33388ARR17(TRUE, java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(Tree(java.lang.Object(Tree(o84643Field0, o84643Field1)), o66232)), java.lang.Object(Tree(java.lang.Object(Tree(o84643Field0, o84643Field1)), o66232)), java.lang.Object(java.lang.String(i11284))) → JMP40068(java.lang.Object(ARRAY(i6, a80767data)), i9158 + 1, i9298, java.lang.Object(Tree(java.lang.Object(Tree(o84643Field0, o84643Field1)), o66232)), java.lang.Object(Tree(o84643Field0, o84643Field1)))
Inc40187(java.lang.Object(ARRAY(i6, a80767data)), i10058, i9298, java.lang.Object(Tree(o66230, o66232)), java.lang.Object(Tree(o85744Field0, o85744Field1))) → Load33388(java.lang.Object(ARRAY(i6, a80767data)), i10058, i9298 + -1, java.lang.Object(Tree(o66230, o66232)), java.lang.Object(Tree(o85744Field0, o85744Field1)))
Load33388(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(Tree(o66230, o66232)), java.lang.Object(Tree(o84084, java.lang.Object(Tree(o85744Field0, o85744Field1))))) → Load33388ARR18(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(Tree(o66230, o66232)), java.lang.Object(Tree(o84084, java.lang.Object(Tree(o85744Field0, o85744Field1)))), java.lang.Object(java.lang.String(i11286)))
Load33388ARR18(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(Tree(o66230, o66232)), java.lang.Object(Tree(o84084, java.lang.Object(Tree(o85744Field0, o85744Field1)))), java.lang.Object(java.lang.String(i11286))) → Cond_Load33388ARR18(i11286 <= 0 && i9158 > 0 && i9158 < i6 && i9298 > 0 && i9158 + 1 > 0, java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(Tree(o66230, o66232)), java.lang.Object(Tree(o84084, java.lang.Object(Tree(o85744Field0, o85744Field1)))), java.lang.Object(java.lang.String(i11286)))
Cond_Load33388ARR18(TRUE, java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(Tree(o66230, o66232)), java.lang.Object(Tree(o84084, java.lang.Object(Tree(o85744Field0, o85744Field1)))), java.lang.Object(java.lang.String(i11286))) → Load33388(java.lang.Object(ARRAY(i6, a80767data)), i9158 + 1, i9298 + -1, java.lang.Object(Tree(o66230, o66232)), java.lang.Object(Tree(o85744Field0, o85744Field1)))
Inc43625(java.lang.Object(ARRAY(i6, a80767data)), i10058, i9298, java.lang.Object(Tree(o66230, o66232)), java.lang.Object(Tree(o66230, o66232))) → Load33388(java.lang.Object(ARRAY(i6, a80767data)), i10058, i9298 + -1, java.lang.Object(Tree(o66230, o66232)), java.lang.Object(Tree(o66230, o66232)))
JMP43481(java.lang.Object(ARRAY(i6, a80767data)), i10058, i9298, java.lang.Object(Tree(o66230, o66232)), java.lang.Object(Tree(o66230, o66232))) → Load33388(java.lang.Object(ARRAY(i6, a80767data)), i10058, i9298 + -1, java.lang.Object(Tree(o66230, o66232)), java.lang.Object(Tree(o66230, o66232)))
Load33388(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(Tree(o66230, o66232)), java.lang.Object(Tree(NULL, o83975))) → Load33388ARR19(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(Tree(o66230, o66232)), java.lang.Object(Tree(NULL, o83975)), java.lang.Object(java.lang.String(i11284)))
Load33388ARR19(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(Tree(o66230, o66232)), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL)), o83975)), java.lang.Object(java.lang.String(i11284))) → Cond_Load33388ARR19(i11284 > 0 && i9158 > 0 && i9158 < i6 && i9298 > 0 && i9158 + 1 > 0, java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(Tree(o66230, o66232)), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL)), o83975)), java.lang.Object(java.lang.String(i11284)))
Cond_Load33388ARR19(TRUE, java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(Tree(o66230, o66232)), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL)), o83975)), java.lang.Object(java.lang.String(i11284))) → Load33388(java.lang.Object(ARRAY(i6, a80767data)), i9158 + 1, i9298 + -1, o66229new, o66229new)
JMP40068(java.lang.Object(ARRAY(i6, a80767data)), i10058, i9298, java.lang.Object(Tree(o66230, o66232)), java.lang.Object(Tree(o85527Field0, o85527Field1))) → Inc40187(java.lang.Object(ARRAY(i6, a80767data)), i10058, i9298, java.lang.Object(Tree(o66230, o66232)), java.lang.Object(Tree(o85527Field0, o85527Field1)))
Load33388(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(Tree(o66230, o66232)), java.lang.Object(Tree(java.lang.Object(Tree(o85527Field0, o85527Field1)), o83975))) → Load33388ARR20(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(Tree(o66230, o66232)), java.lang.Object(Tree(java.lang.Object(Tree(o85527Field0, o85527Field1)), o83975)), java.lang.Object(java.lang.String(i11284)))
Load33388ARR20(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(Tree(o66230, o66232)), java.lang.Object(Tree(java.lang.Object(Tree(o85527Field0, o85527Field1)), o83975)), java.lang.Object(java.lang.String(i11284))) → Cond_Load33388ARR20(i11284 > 0 && i9158 > 0 && i9158 < i6 && i9298 > 0 && i9158 + 1 > 0, java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(Tree(o66230, o66232)), java.lang.Object(Tree(java.lang.Object(Tree(o85527Field0, o85527Field1)), o83975)), java.lang.Object(java.lang.String(i11284)))
Cond_Load33388ARR20(TRUE, java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(Tree(o66230, o66232)), java.lang.Object(Tree(java.lang.Object(Tree(o85527Field0, o85527Field1)), o83975)), java.lang.Object(java.lang.String(i11284))) → Inc40187(java.lang.Object(ARRAY(i6, a80767data)), i9158 + 1, i9298, java.lang.Object(Tree(o66230, o66232)), java.lang.Object(Tree(o85527Field0, o85527Field1)))
Load33388(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(Tree(o66230, java.lang.Object(Tree(o84984Field0, o84984Field1)))), java.lang.Object(Tree(o66230, java.lang.Object(Tree(o84984Field0, o84984Field1))))) → Load33388ARR21(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(Tree(o66230, java.lang.Object(Tree(o84984Field0, o84984Field1)))), java.lang.Object(Tree(o66230, java.lang.Object(Tree(o84984Field0, o84984Field1)))), java.lang.Object(java.lang.String(i11286)))
Load33388ARR21(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(Tree(o66230, java.lang.Object(Tree(o84984Field0, o84984Field1)))), java.lang.Object(Tree(o66230, java.lang.Object(Tree(o84984Field0, o84984Field1)))), java.lang.Object(java.lang.String(i11286))) → Cond_Load33388ARR21(i11286 <= 0 && i9158 > 0 && i9158 < i6 && i9298 > 0 && i9158 + 1 > 0, java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(Tree(o66230, java.lang.Object(Tree(o84984Field0, o84984Field1)))), java.lang.Object(Tree(o66230, java.lang.Object(Tree(o84984Field0, o84984Field1)))), java.lang.Object(java.lang.String(i11286)))
Cond_Load33388ARR21(TRUE, java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(Tree(o66230, java.lang.Object(Tree(o84984Field0, o84984Field1)))), java.lang.Object(Tree(o66230, java.lang.Object(Tree(o84984Field0, o84984Field1)))), java.lang.Object(java.lang.String(i11286))) → Inc40187(java.lang.Object(ARRAY(i6, a80767data)), i9158 + 1, i9298, java.lang.Object(Tree(o66230, java.lang.Object(Tree(o84984Field0, o84984Field1)))), java.lang.Object(Tree(o84984Field0, o84984Field1)))
JMP43542(java.lang.Object(ARRAY(i6, a80767data)), i10058, i9298, java.lang.Object(Tree(o66230, o66232)), java.lang.Object(Tree(o66230, o66232))) → Inc43625(java.lang.Object(ARRAY(i6, a80767data)), i10058, i9298, java.lang.Object(Tree(o66230, o66232)), java.lang.Object(Tree(o66230, o66232)))
Load33388(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(Tree(o66230, o66232)), java.lang.Object(Tree(o84084, NULL))) → Load33388ARR22(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(Tree(o66230, o66232)), java.lang.Object(Tree(o84084, NULL)), java.lang.Object(java.lang.String(i11286)))
Load33388ARR22(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(Tree(o66230, o66232)), java.lang.Object(Tree(o84084, java.lang.Object(Tree(NULL, NULL)))), java.lang.Object(java.lang.String(i11286))) → Cond_Load33388ARR22(i11286 <= 0 && i9158 > 0 && i9158 < i6 && i9298 > 0 && i9158 + 1 > 0, java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(Tree(o66230, o66232)), java.lang.Object(Tree(o84084, java.lang.Object(Tree(NULL, NULL)))), java.lang.Object(java.lang.String(i11286)))
Cond_Load33388ARR22(TRUE, java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(Tree(o66230, o66232)), java.lang.Object(Tree(o84084, java.lang.Object(Tree(NULL, NULL)))), java.lang.Object(java.lang.String(i11286))) → Inc43625(java.lang.Object(ARRAY(i6, a80767data)), i9158 + 1, i9298, o66229new, o66229new)
Load33388(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(Tree(NULL, o66232)), java.lang.Object(Tree(NULL, o66232))) → Load33388ARR23(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(Tree(NULL, o66232)), java.lang.Object(Tree(NULL, o66232)), java.lang.Object(java.lang.String(i11284)))
Load33388ARR23(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL)), o66232)), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL)), o66232)), java.lang.Object(java.lang.String(i11284))) → Cond_Load33388ARR23(i11284 > 0 && i9158 > 0 && i9158 < i6 && i9298 > 0 && i9158 + 1 > 0, java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL)), o66232)), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL)), o66232)), java.lang.Object(java.lang.String(i11284)))
Cond_Load33388ARR23(TRUE, java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL)), o66232)), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL)), o66232)), java.lang.Object(java.lang.String(i11284))) → JMP43481(java.lang.Object(ARRAY(i6, a80767data)), i9158 + 1, i9298, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL)), o66232)), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL)), o66232)))
Load33388(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(Tree(o66230, NULL)), java.lang.Object(Tree(o66230, NULL))) → Load33388ARR24(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(Tree(o66230, NULL)), java.lang.Object(Tree(o66230, NULL)), java.lang.Object(java.lang.String(i11286)))
Load33388ARR24(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(Tree(o66230, java.lang.Object(Tree(NULL, NULL)))), java.lang.Object(Tree(o66230, java.lang.Object(Tree(NULL, NULL)))), java.lang.Object(java.lang.String(i11286))) → Cond_Load33388ARR24(i11286 <= 0 && i9158 > 0 && i9158 < i6 && i9298 > 0 && i9158 + 1 > 0, java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(Tree(o66230, java.lang.Object(Tree(NULL, NULL)))), java.lang.Object(Tree(o66230, java.lang.Object(Tree(NULL, NULL)))), java.lang.Object(java.lang.String(i11286)))
Cond_Load33388ARR24(TRUE, java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(Tree(o66230, java.lang.Object(Tree(NULL, NULL)))), java.lang.Object(Tree(o66230, java.lang.Object(Tree(NULL, NULL)))), java.lang.Object(java.lang.String(i11286))) → JMP43542(java.lang.Object(ARRAY(i6, a80767data)), i9158 + 1, i9298, java.lang.Object(Tree(o66230, java.lang.Object(Tree(NULL, NULL)))), java.lang.Object(Tree(o66230, java.lang.Object(Tree(NULL, NULL)))))
The set Q consists of the following terms:
Load33388ARR17(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_Load33388ARR17(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)))
Inc40187(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5)), java.lang.Object(Tree(x6, x7)))
Load33388(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)))))
Load33388ARR18(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_Load33388ARR18(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)))
Inc43625(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5)), java.lang.Object(Tree(x4, x5)))
JMP43481(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5)), java.lang.Object(Tree(x4, x5)))
Load33388(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5)), java.lang.Object(Tree(NULL, x6)))
Load33388ARR19(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_Load33388ARR19(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)))
JMP40068(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5)), java.lang.Object(Tree(x6, x7)))
Load33388(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)))
Load33388ARR20(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_Load33388ARR20(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)))
Load33388ARR21(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_Load33388ARR21(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)))
JMP43542(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5)), java.lang.Object(Tree(x4, x5)))
Load33388(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5)), java.lang.Object(Tree(x6, NULL)))
Load33388ARR22(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_Load33388ARR22(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)))
Load33388ARR23(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_Load33388ARR23(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)))
Load33388ARR24(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_Load33388ARR24(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)))

(81) DuplicateArgsRemoverProof (EQUIVALENT transformation)

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

JMP43542(x1, x2, x3, x4, x5) → JMP43542(x1, x2, x3, x5)
Cond_Load33388ARR24(x1, x2, x3, x4, x5, x6, x7) → Cond_Load33388ARR24(x1, x2, x3, x4, x6, x7)
Load33388ARR24(x1, x2, x3, x4, x5, x6) → Load33388ARR24(x1, x2, x3, x5, x6)
JMP43481(x1, x2, x3, x4, x5) → JMP43481(x1, x2, x3, x5)
Cond_Load33388ARR23(x1, x2, x3, x4, x5, x6, x7) → Cond_Load33388ARR23(x1, x2, x3, x4, x6, x7)
Load33388ARR23(x1, x2, x3, x4, x5, x6) → Load33388ARR23(x1, x2, x3, x5, x6)
Inc43625(x1, x2, x3, x4, x5) → Inc43625(x1, x2, x3, x5)
Cond_Load33388ARR21(x1, x2, x3, x4, x5, x6, x7) → Cond_Load33388ARR21(x1, x2, x3, x4, x6, x7)
Load33388ARR21(x1, x2, x3, x4, x5, x6) → Load33388ARR21(x1, x2, x3, x5, x6)
Cond_Load33388ARR17(x1, x2, x3, x4, x5, x6, x7) → Cond_Load33388ARR17(x1, x2, x3, x4, x6, x7)
Load33388ARR17(x1, x2, x3, x4, x5, x6) → Load33388ARR17(x1, x2, x3, x5, x6)

(82) 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:
Load33388(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(Tree(java.lang.Object(Tree(o84643Field0, o84643Field1)), o66232)), java.lang.Object(Tree(java.lang.Object(Tree(o84643Field0, o84643Field1)), o66232))) → Load33388ARR17(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(Tree(java.lang.Object(Tree(o84643Field0, o84643Field1)), o66232)), java.lang.Object(java.lang.String(i11284)))
Load33388ARR17(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(Tree(java.lang.Object(Tree(o84643Field0, o84643Field1)), o66232)), java.lang.Object(java.lang.String(i11284))) → Cond_Load33388ARR17(i11284 > 0 && i9158 > 0 && i9158 < i6 && i9298 > 0 && i9158 + 1 > 0, java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(Tree(java.lang.Object(Tree(o84643Field0, o84643Field1)), o66232)), java.lang.Object(java.lang.String(i11284)))
Cond_Load33388ARR17(TRUE, java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(Tree(java.lang.Object(Tree(o84643Field0, o84643Field1)), o66232)), java.lang.Object(java.lang.String(i11284))) → JMP40068(java.lang.Object(ARRAY(i6, a80767data)), i9158 + 1, i9298, java.lang.Object(Tree(java.lang.Object(Tree(o84643Field0, o84643Field1)), o66232)), java.lang.Object(Tree(o84643Field0, o84643Field1)))
Inc40187(java.lang.Object(ARRAY(i6, a80767data)), i10058, i9298, java.lang.Object(Tree(o66230, o66232)), java.lang.Object(Tree(o85744Field0, o85744Field1))) → Load33388(java.lang.Object(ARRAY(i6, a80767data)), i10058, i9298 + -1, java.lang.Object(Tree(o66230, o66232)), java.lang.Object(Tree(o85744Field0, o85744Field1)))
Load33388(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(Tree(o66230, o66232)), java.lang.Object(Tree(o84084, java.lang.Object(Tree(o85744Field0, o85744Field1))))) → Load33388ARR18(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(Tree(o66230, o66232)), java.lang.Object(Tree(o84084, java.lang.Object(Tree(o85744Field0, o85744Field1)))), java.lang.Object(java.lang.String(i11286)))
Load33388ARR18(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(Tree(o66230, o66232)), java.lang.Object(Tree(o84084, java.lang.Object(Tree(o85744Field0, o85744Field1)))), java.lang.Object(java.lang.String(i11286))) → Cond_Load33388ARR18(i11286 <= 0 && i9158 > 0 && i9158 < i6 && i9298 > 0 && i9158 + 1 > 0, java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(Tree(o66230, o66232)), java.lang.Object(Tree(o84084, java.lang.Object(Tree(o85744Field0, o85744Field1)))), java.lang.Object(java.lang.String(i11286)))
Cond_Load33388ARR18(TRUE, java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(Tree(o66230, o66232)), java.lang.Object(Tree(o84084, java.lang.Object(Tree(o85744Field0, o85744Field1)))), java.lang.Object(java.lang.String(i11286))) → Load33388(java.lang.Object(ARRAY(i6, a80767data)), i9158 + 1, i9298 + -1, java.lang.Object(Tree(o66230, o66232)), java.lang.Object(Tree(o85744Field0, o85744Field1)))
Inc43625(java.lang.Object(ARRAY(i6, a80767data)), i10058, i9298, java.lang.Object(Tree(o66230, o66232))) → Load33388(java.lang.Object(ARRAY(i6, a80767data)), i10058, i9298 + -1, java.lang.Object(Tree(o66230, o66232)), java.lang.Object(Tree(o66230, o66232)))
JMP43481(java.lang.Object(ARRAY(i6, a80767data)), i10058, i9298, java.lang.Object(Tree(o66230, o66232))) → Load33388(java.lang.Object(ARRAY(i6, a80767data)), i10058, i9298 + -1, java.lang.Object(Tree(o66230, o66232)), java.lang.Object(Tree(o66230, o66232)))
Load33388(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(Tree(o66230, o66232)), java.lang.Object(Tree(NULL, o83975))) → Load33388ARR19(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(Tree(o66230, o66232)), java.lang.Object(Tree(NULL, o83975)), java.lang.Object(java.lang.String(i11284)))
Load33388ARR19(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(Tree(o66230, o66232)), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL)), o83975)), java.lang.Object(java.lang.String(i11284))) → Cond_Load33388ARR19(i11284 > 0 && i9158 > 0 && i9158 < i6 && i9298 > 0 && i9158 + 1 > 0, java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(Tree(o66230, o66232)), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL)), o83975)), java.lang.Object(java.lang.String(i11284)))
Cond_Load33388ARR19(TRUE, java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(Tree(o66230, o66232)), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL)), o83975)), java.lang.Object(java.lang.String(i11284))) → Load33388(java.lang.Object(ARRAY(i6, a80767data)), i9158 + 1, i9298 + -1, o66229new, o66229new)
JMP40068(java.lang.Object(ARRAY(i6, a80767data)), i10058, i9298, java.lang.Object(Tree(o66230, o66232)), java.lang.Object(Tree(o85527Field0, o85527Field1))) → Inc40187(java.lang.Object(ARRAY(i6, a80767data)), i10058, i9298, java.lang.Object(Tree(o66230, o66232)), java.lang.Object(Tree(o85527Field0, o85527Field1)))
Load33388(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(Tree(o66230, o66232)), java.lang.Object(Tree(java.lang.Object(Tree(o85527Field0, o85527Field1)), o83975))) → Load33388ARR20(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(Tree(o66230, o66232)), java.lang.Object(Tree(java.lang.Object(Tree(o85527Field0, o85527Field1)), o83975)), java.lang.Object(java.lang.String(i11284)))
Load33388ARR20(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(Tree(o66230, o66232)), java.lang.Object(Tree(java.lang.Object(Tree(o85527Field0, o85527Field1)), o83975)), java.lang.Object(java.lang.String(i11284))) → Cond_Load33388ARR20(i11284 > 0 && i9158 > 0 && i9158 < i6 && i9298 > 0 && i9158 + 1 > 0, java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(Tree(o66230, o66232)), java.lang.Object(Tree(java.lang.Object(Tree(o85527Field0, o85527Field1)), o83975)), java.lang.Object(java.lang.String(i11284)))
Cond_Load33388ARR20(TRUE, java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(Tree(o66230, o66232)), java.lang.Object(Tree(java.lang.Object(Tree(o85527Field0, o85527Field1)), o83975)), java.lang.Object(java.lang.String(i11284))) → Inc40187(java.lang.Object(ARRAY(i6, a80767data)), i9158 + 1, i9298, java.lang.Object(Tree(o66230, o66232)), java.lang.Object(Tree(o85527Field0, o85527Field1)))
Load33388(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(Tree(o66230, java.lang.Object(Tree(o84984Field0, o84984Field1)))), java.lang.Object(Tree(o66230, java.lang.Object(Tree(o84984Field0, o84984Field1))))) → Load33388ARR21(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(Tree(o66230, java.lang.Object(Tree(o84984Field0, o84984Field1)))), java.lang.Object(java.lang.String(i11286)))
Load33388ARR21(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(Tree(o66230, java.lang.Object(Tree(o84984Field0, o84984Field1)))), java.lang.Object(java.lang.String(i11286))) → Cond_Load33388ARR21(i11286 <= 0 && i9158 > 0 && i9158 < i6 && i9298 > 0 && i9158 + 1 > 0, java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(Tree(o66230, java.lang.Object(Tree(o84984Field0, o84984Field1)))), java.lang.Object(java.lang.String(i11286)))
Cond_Load33388ARR21(TRUE, java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(Tree(o66230, java.lang.Object(Tree(o84984Field0, o84984Field1)))), java.lang.Object(java.lang.String(i11286))) → Inc40187(java.lang.Object(ARRAY(i6, a80767data)), i9158 + 1, i9298, java.lang.Object(Tree(o66230, java.lang.Object(Tree(o84984Field0, o84984Field1)))), java.lang.Object(Tree(o84984Field0, o84984Field1)))
JMP43542(java.lang.Object(ARRAY(i6, a80767data)), i10058, i9298, java.lang.Object(Tree(o66230, o66232))) → Inc43625(java.lang.Object(ARRAY(i6, a80767data)), i10058, i9298, java.lang.Object(Tree(o66230, o66232)))
Load33388(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(Tree(o66230, o66232)), java.lang.Object(Tree(o84084, NULL))) → Load33388ARR22(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(Tree(o66230, o66232)), java.lang.Object(Tree(o84084, NULL)), java.lang.Object(java.lang.String(i11286)))
Load33388ARR22(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(Tree(o66230, o66232)), java.lang.Object(Tree(o84084, java.lang.Object(Tree(NULL, NULL)))), java.lang.Object(java.lang.String(i11286))) → Cond_Load33388ARR22(i11286 <= 0 && i9158 > 0 && i9158 < i6 && i9298 > 0 && i9158 + 1 > 0, java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(Tree(o66230, o66232)), java.lang.Object(Tree(o84084, java.lang.Object(Tree(NULL, NULL)))), java.lang.Object(java.lang.String(i11286)))
Cond_Load33388ARR22(TRUE, java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(Tree(o66230, o66232)), java.lang.Object(Tree(o84084, java.lang.Object(Tree(NULL, NULL)))), java.lang.Object(java.lang.String(i11286))) → Inc43625(java.lang.Object(ARRAY(i6, a80767data)), i9158 + 1, i9298, o66229new)
Load33388(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(Tree(NULL, o66232)), java.lang.Object(Tree(NULL, o66232))) → Load33388ARR23(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(Tree(NULL, o66232)), java.lang.Object(java.lang.String(i11284)))
Load33388ARR23(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL)), o66232)), java.lang.Object(java.lang.String(i11284))) → Cond_Load33388ARR23(i11284 > 0 && i9158 > 0 && i9158 < i6 && i9298 > 0 && i9158 + 1 > 0, java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL)), o66232)), java.lang.Object(java.lang.String(i11284)))
Cond_Load33388ARR23(TRUE, java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL)), o66232)), java.lang.Object(java.lang.String(i11284))) → JMP43481(java.lang.Object(ARRAY(i6, a80767data)), i9158 + 1, i9298, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL)), o66232)))
Load33388(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(Tree(o66230, NULL)), java.lang.Object(Tree(o66230, NULL))) → Load33388ARR24(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(Tree(o66230, NULL)), java.lang.Object(java.lang.String(i11286)))
Load33388ARR24(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(Tree(o66230, java.lang.Object(Tree(NULL, NULL)))), java.lang.Object(java.lang.String(i11286))) → Cond_Load33388ARR24(i11286 <= 0 && i9158 > 0 && i9158 < i6 && i9298 > 0 && i9158 + 1 > 0, java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(Tree(o66230, java.lang.Object(Tree(NULL, NULL)))), java.lang.Object(java.lang.String(i11286)))
Cond_Load33388ARR24(TRUE, java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(Tree(o66230, java.lang.Object(Tree(NULL, NULL)))), java.lang.Object(java.lang.String(i11286))) → JMP43542(java.lang.Object(ARRAY(i6, a80767data)), i9158 + 1, i9298, java.lang.Object(Tree(o66230, java.lang.Object(Tree(NULL, NULL)))))
The set Q consists of the following terms:
Load33388ARR17(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_Load33388ARR17(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)))
Inc40187(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5)), java.lang.Object(Tree(x6, x7)))
Load33388(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)))))
Load33388ARR18(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_Load33388ARR18(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)))
Inc43625(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5)))
JMP43481(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5)))
Load33388(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5)), java.lang.Object(Tree(NULL, x6)))
Load33388ARR19(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_Load33388ARR19(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)))
JMP40068(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5)), java.lang.Object(Tree(x6, x7)))
Load33388(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)))
Load33388ARR20(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_Load33388ARR20(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)))
Load33388ARR21(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_Load33388ARR21(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)))
JMP43542(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5)))
Load33388(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5)), java.lang.Object(Tree(x6, NULL)))
Load33388ARR22(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_Load33388ARR22(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)))
Load33388ARR23(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_Load33388ARR23(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)))
Load33388ARR24(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_Load33388ARR24(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)))

(83) ITRSFilterProcessorProof (SOUND transformation)

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

Load33388(x1, x2, x3, x4, x5) → Load33388(x1, x2, x3)
Tree(x1, x2) → Tree
Load33388ARR17(x1, x2, x3, x4, x5) → Load33388ARR17(x1, x2, x3, x5)
Cond_Load33388ARR17(x1, x2, x3, x4, x5, x6) → Cond_Load33388ARR17(x1, x2, x3, x4, x6)
JMP40068(x1, x2, x3, x4, x5) → JMP40068(x1, x2, x3)
Inc40187(x1, x2, x3, x4, x5) → Inc40187(x1, x2, x3)
Load33388ARR18(x1, x2, x3, x4, x5, x6) → Load33388ARR18(x1, x2, x3, x6)
Cond_Load33388ARR18(x1, x2, x3, x4, x5, x6, x7) → Cond_Load33388ARR18(x1, x2, x3, x4, x7)
Inc43625(x1, x2, x3, x4) → Inc43625(x1, x2, x3)
JMP43481(x1, x2, x3, x4) → JMP43481(x1, x2, x3)
Load33388ARR19(x1, x2, x3, x4, x5, x6) → Load33388ARR19(x1, x2, x3, x6)
Cond_Load33388ARR19(x1, x2, x3, x4, x5, x6, x7) → Cond_Load33388ARR19(x1, x2, x3, x4, x7)
Load33388ARR20(x1, x2, x3, x4, x5, x6) → Load33388ARR20(x1, x2, x3, x6)
Cond_Load33388ARR20(x1, x2, x3, x4, x5, x6, x7) → Cond_Load33388ARR20(x1, x2, x3, x4, x7)
Load33388ARR21(x1, x2, x3, x4, x5) → Load33388ARR21(x1, x2, x3, x5)
Cond_Load33388ARR21(x1, x2, x3, x4, x5, x6) → Cond_Load33388ARR21(x1, x2, x3, x4, x6)
JMP43542(x1, x2, x3, x4) → JMP43542(x1, x2, x3)
Load33388ARR22(x1, x2, x3, x4, x5, x6) → Load33388ARR22(x1, x2, x3, x6)
Cond_Load33388ARR22(x1, x2, x3, x4, x5, x6, x7) → Cond_Load33388ARR22(x1, x2, x3, x4, x7)
Load33388ARR23(x1, x2, x3, x4, x5) → Load33388ARR23(x1, x2, x3, x5)
Cond_Load33388ARR23(x1, x2, x3, x4, x5, x6) → Cond_Load33388ARR23(x1, x2, x3, x4, x6)
Load33388ARR24(x1, x2, x3, x4, x5) → Load33388ARR24(x1, x2, x3, x5)
Cond_Load33388ARR24(x1, x2, x3, x4, x5, x6) → Cond_Load33388ARR24(x1, x2, x3, x4, x6)

(84) 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:
Load33388(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298) → Load33388ARR17(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11284)))
Load33388ARR17(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11284))) → Cond_Load33388ARR17(i11284 > 0 && i9158 > 0 && i9158 < i6 && i9298 > 0 && i9158 + 1 > 0, java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11284)))
Cond_Load33388ARR17(TRUE, java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11284))) → JMP40068(java.lang.Object(ARRAY(i6, a80767data)), i9158 + 1, i9298)
Inc40187(java.lang.Object(ARRAY(i6, a80767data)), i10058, i9298) → Load33388(java.lang.Object(ARRAY(i6, a80767data)), i10058, i9298 + -1)
Load33388(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298) → Load33388ARR18(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11286)))
Load33388ARR18(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11286))) → Cond_Load33388ARR18(i11286 <= 0 && i9158 > 0 && i9158 < i6 && i9298 > 0 && i9158 + 1 > 0, java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11286)))
Cond_Load33388ARR18(TRUE, java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11286))) → Load33388(java.lang.Object(ARRAY(i6, a80767data)), i9158 + 1, i9298 + -1)
Inc43625(java.lang.Object(ARRAY(i6, a80767data)), i10058, i9298) → Load33388(java.lang.Object(ARRAY(i6, a80767data)), i10058, i9298 + -1)
JMP43481(java.lang.Object(ARRAY(i6, a80767data)), i10058, i9298) → Load33388(java.lang.Object(ARRAY(i6, a80767data)), i10058, i9298 + -1)
Load33388(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298) → Load33388ARR19(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11284)))
Load33388ARR19(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11284))) → Cond_Load33388ARR19(i11284 > 0 && i9158 > 0 && i9158 < i6 && i9298 > 0 && i9158 + 1 > 0, java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11284)))
Cond_Load33388ARR19(TRUE, java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11284))) → Load33388(java.lang.Object(ARRAY(i6, a80767data)), i9158 + 1, i9298 + -1)
JMP40068(java.lang.Object(ARRAY(i6, a80767data)), i10058, i9298) → Inc40187(java.lang.Object(ARRAY(i6, a80767data)), i10058, i9298)
Load33388(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298) → Load33388ARR20(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11284)))
Load33388ARR20(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11284))) → Cond_Load33388ARR20(i11284 > 0 && i9158 > 0 && i9158 < i6 && i9298 > 0 && i9158 + 1 > 0, java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11284)))
Cond_Load33388ARR20(TRUE, java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11284))) → Inc40187(java.lang.Object(ARRAY(i6, a80767data)), i9158 + 1, i9298)
Load33388(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298) → Load33388ARR21(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11286)))
Load33388ARR21(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11286))) → Cond_Load33388ARR21(i11286 <= 0 && i9158 > 0 && i9158 < i6 && i9298 > 0 && i9158 + 1 > 0, java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11286)))
Cond_Load33388ARR21(TRUE, java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11286))) → Inc40187(java.lang.Object(ARRAY(i6, a80767data)), i9158 + 1, i9298)
JMP43542(java.lang.Object(ARRAY(i6, a80767data)), i10058, i9298) → Inc43625(java.lang.Object(ARRAY(i6, a80767data)), i10058, i9298)
Load33388(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298) → Load33388ARR22(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11286)))
Load33388ARR22(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11286))) → Cond_Load33388ARR22(i11286 <= 0 && i9158 > 0 && i9158 < i6 && i9298 > 0 && i9158 + 1 > 0, java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11286)))
Cond_Load33388ARR22(TRUE, java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11286))) → Inc43625(java.lang.Object(ARRAY(i6, a80767data)), i9158 + 1, i9298)
Load33388(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298) → Load33388ARR23(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11284)))
Load33388ARR23(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11284))) → Cond_Load33388ARR23(i11284 > 0 && i9158 > 0 && i9158 < i6 && i9298 > 0 && i9158 + 1 > 0, java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11284)))
Cond_Load33388ARR23(TRUE, java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11284))) → JMP43481(java.lang.Object(ARRAY(i6, a80767data)), i9158 + 1, i9298)
Load33388(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298) → Load33388ARR24(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11286)))
Load33388ARR24(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11286))) → Cond_Load33388ARR24(i11286 <= 0 && i9158 > 0 && i9158 < i6 && i9298 > 0 && i9158 + 1 > 0, java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11286)))
Cond_Load33388ARR24(TRUE, java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11286))) → JMP43542(java.lang.Object(ARRAY(i6, a80767data)), i9158 + 1, i9298)
The set Q consists of the following terms:
Load33388(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load33388ARR17(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load33388ARR17(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Inc40187(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load33388ARR18(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load33388ARR18(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Inc43625(java.lang.Object(ARRAY(x0, x1)), x2, x3)
JMP43481(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load33388ARR19(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load33388ARR19(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
JMP40068(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load33388ARR20(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load33388ARR20(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load33388ARR21(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load33388ARR21(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
JMP43542(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load33388ARR22(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load33388ARR22(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load33388ARR23(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load33388ARR23(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load33388ARR24(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load33388ARR24(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))

(85) ITRSFSMergerProof (SOUND transformation)

The following function symbols have been merged:

Load33388ARR20, Load33388ARR23
> Load33388ARR20_4

Cond_Load33388ARR20, Cond_Load33388ARR23
> Cond_Load33388ARR20_5

Inc40187, Inc43625, JMP43481
> Inc40187_3

Load33388ARR21, Load33388ARR22
> Load33388ARR21_4

JMP40068, JMP43542
> JMP40068_3

Cond_Load33388ARR21, Cond_Load33388ARR22
> Cond_Load33388ARR21_5

(86) 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:
Load33388(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298) → Load33388ARR17(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11284)))
Load33388ARR17(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11284))) → Cond_Load33388ARR17(i11284 > 0 && i9158 > 0 && i9158 < i6 && i9298 > 0 && i9158 + 1 > 0, java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11284)))
Cond_Load33388ARR17(TRUE, java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11284))) → JMP40068(java.lang.Object(ARRAY(i6, a80767data)), i9158 + 1, i9298)
Inc40187(java.lang.Object(ARRAY(i6, a80767data)), i10058, i9298) → Load33388(java.lang.Object(ARRAY(i6, a80767data)), i10058, i9298 + -1)
Load33388(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298) → Load33388ARR18(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11286)))
Load33388ARR18(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11286))) → Cond_Load33388ARR18(i11286 <= 0 && i9158 > 0 && i9158 < i6 && i9298 > 0 && i9158 + 1 > 0, java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11286)))
Cond_Load33388ARR18(TRUE, java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11286))) → Load33388(java.lang.Object(ARRAY(i6, a80767data)), i9158 + 1, i9298 + -1)
Load33388(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298) → Load33388ARR19(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11284)))
Load33388ARR19(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11284))) → Cond_Load33388ARR19(i11284 > 0 && i9158 > 0 && i9158 < i6 && i9298 > 0 && i9158 + 1 > 0, java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11284)))
Cond_Load33388ARR19(TRUE, java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11284))) → Load33388(java.lang.Object(ARRAY(i6, a80767data)), i9158 + 1, i9298 + -1)
JMP40068(java.lang.Object(ARRAY(i6, a80767data)), i10058, i9298) → Inc40187(java.lang.Object(ARRAY(i6, a80767data)), i10058, i9298)
Load33388(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298) → Load33388ARR20(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11284)))
Load33388ARR20(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11284))) → Cond_Load33388ARR20(i11284 > 0 && i9158 > 0 && i9158 < i6 && i9298 > 0 && i9158 + 1 > 0, java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11284)))
Cond_Load33388ARR20(TRUE, java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11284))) → Inc40187(java.lang.Object(ARRAY(i6, a80767data)), i9158 + 1, i9298)
Load33388(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298) → Load33388ARR21(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11286)))
Load33388ARR21(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11286))) → Cond_Load33388ARR21(i11286 <= 0 && i9158 > 0 && i9158 < i6 && i9298 > 0 && i9158 + 1 > 0, java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11286)))
Cond_Load33388ARR21(TRUE, java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11286))) → Inc40187(java.lang.Object(ARRAY(i6, a80767data)), i9158 + 1, i9298)
Load33388(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298) → Load33388ARR24(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11286)))
Load33388ARR24(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11286))) → Cond_Load33388ARR24(i11286 <= 0 && i9158 > 0 && i9158 < i6 && i9298 > 0 && i9158 + 1 > 0, java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11286)))
Cond_Load33388ARR24(TRUE, java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11286))) → JMP40068(java.lang.Object(ARRAY(i6, a80767data)), i9158 + 1, i9298)
The set Q consists of the following terms:
Load33388(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load33388ARR17(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load33388ARR17(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Inc40187(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load33388ARR18(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load33388ARR18(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load33388ARR19(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load33388ARR19(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
JMP40068(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load33388ARR20(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load33388ARR20(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load33388ARR21(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load33388ARR21(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load33388ARR24(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load33388ARR24(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))

(87) ITRStoIDPProof (EQUIVALENT transformation)

Added dependency pairs

(88) 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:
Load33388(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298) → Load33388ARR17(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11284)))
Load33388ARR17(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11284))) → Cond_Load33388ARR17(i11284 > 0 && i9158 > 0 && i9158 < i6 && i9298 > 0 && i9158 + 1 > 0, java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11284)))
Cond_Load33388ARR17(TRUE, java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11284))) → JMP40068(java.lang.Object(ARRAY(i6, a80767data)), i9158 + 1, i9298)
Inc40187(java.lang.Object(ARRAY(i6, a80767data)), i10058, i9298) → Load33388(java.lang.Object(ARRAY(i6, a80767data)), i10058, i9298 + -1)
Load33388(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298) → Load33388ARR18(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11286)))
Load33388ARR18(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11286))) → Cond_Load33388ARR18(i11286 <= 0 && i9158 > 0 && i9158 < i6 && i9298 > 0 && i9158 + 1 > 0, java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11286)))
Cond_Load33388ARR18(TRUE, java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11286))) → Load33388(java.lang.Object(ARRAY(i6, a80767data)), i9158 + 1, i9298 + -1)
Load33388(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298) → Load33388ARR19(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11284)))
Load33388ARR19(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11284))) → Cond_Load33388ARR19(i11284 > 0 && i9158 > 0 && i9158 < i6 && i9298 > 0 && i9158 + 1 > 0, java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11284)))
Cond_Load33388ARR19(TRUE, java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11284))) → Load33388(java.lang.Object(ARRAY(i6, a80767data)), i9158 + 1, i9298 + -1)
JMP40068(java.lang.Object(ARRAY(i6, a80767data)), i10058, i9298) → Inc40187(java.lang.Object(ARRAY(i6, a80767data)), i10058, i9298)
Load33388(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298) → Load33388ARR20(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11284)))
Load33388ARR20(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11284))) → Cond_Load33388ARR20(i11284 > 0 && i9158 > 0 && i9158 < i6 && i9298 > 0 && i9158 + 1 > 0, java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11284)))
Cond_Load33388ARR20(TRUE, java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11284))) → Inc40187(java.lang.Object(ARRAY(i6, a80767data)), i9158 + 1, i9298)
Load33388(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298) → Load33388ARR21(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11286)))
Load33388ARR21(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11286))) → Cond_Load33388ARR21(i11286 <= 0 && i9158 > 0 && i9158 < i6 && i9298 > 0 && i9158 + 1 > 0, java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11286)))
Cond_Load33388ARR21(TRUE, java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11286))) → Inc40187(java.lang.Object(ARRAY(i6, a80767data)), i9158 + 1, i9298)
Load33388(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298) → Load33388ARR24(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11286)))
Load33388ARR24(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11286))) → Cond_Load33388ARR24(i11286 <= 0 && i9158 > 0 && i9158 < i6 && i9298 > 0 && i9158 + 1 > 0, java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11286)))
Cond_Load33388ARR24(TRUE, java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11286))) → JMP40068(java.lang.Object(ARRAY(i6, a80767data)), i9158 + 1, i9298)

The integer pair graph contains the following rules and edges:
(0): LOAD33388(java.lang.Object(ARRAY(i6[0], a80767data[0])), i9158[0], i9298[0]) → LOAD33388ARR17(java.lang.Object(ARRAY(i6[0], a80767data[0])), i9158[0], i9298[0], java.lang.Object(java.lang.String(i11284[0])))
(1): LOAD33388ARR17(java.lang.Object(ARRAY(i6[1], a80767data[1])), i9158[1], i9298[1], java.lang.Object(java.lang.String(i11284[1]))) → COND_LOAD33388ARR17(i11284[1] > 0 && i9158[1] > 0 && i9158[1] < i6[1] && i9298[1] > 0 && i9158[1] + 1 > 0, java.lang.Object(ARRAY(i6[1], a80767data[1])), i9158[1], i9298[1], java.lang.Object(java.lang.String(i11284[1])))
(2): COND_LOAD33388ARR17(TRUE, java.lang.Object(ARRAY(i6[2], a80767data[2])), i9158[2], i9298[2], java.lang.Object(java.lang.String(i11284[2]))) → JMP40068'(java.lang.Object(ARRAY(i6[2], a80767data[2])), i9158[2] + 1, i9298[2])
(3): INC40187(java.lang.Object(ARRAY(i6[3], a80767data[3])), i10058[3], i9298[3]) → LOAD33388(java.lang.Object(ARRAY(i6[3], a80767data[3])), i10058[3], i9298[3] + -1)
(4): LOAD33388(java.lang.Object(ARRAY(i6[4], a80767data[4])), i9158[4], i9298[4]) → LOAD33388ARR18(java.lang.Object(ARRAY(i6[4], a80767data[4])), i9158[4], i9298[4], java.lang.Object(java.lang.String(i11286[4])))
(5): LOAD33388ARR18(java.lang.Object(ARRAY(i6[5], a80767data[5])), i9158[5], i9298[5], java.lang.Object(java.lang.String(i11286[5]))) → COND_LOAD33388ARR18(i11286[5] <= 0 && i9158[5] > 0 && i9158[5] < i6[5] && i9298[5] > 0 && i9158[5] + 1 > 0, java.lang.Object(ARRAY(i6[5], a80767data[5])), i9158[5], i9298[5], java.lang.Object(java.lang.String(i11286[5])))
(6): COND_LOAD33388ARR18(TRUE, java.lang.Object(ARRAY(i6[6], a80767data[6])), i9158[6], i9298[6], java.lang.Object(java.lang.String(i11286[6]))) → LOAD33388(java.lang.Object(ARRAY(i6[6], a80767data[6])), i9158[6] + 1, i9298[6] + -1)
(7): LOAD33388(java.lang.Object(ARRAY(i6[7], a80767data[7])), i9158[7], i9298[7]) → LOAD33388ARR19(java.lang.Object(ARRAY(i6[7], a80767data[7])), i9158[7], i9298[7], java.lang.Object(java.lang.String(i11284[7])))
(8): LOAD33388ARR19(java.lang.Object(ARRAY(i6[8], a80767data[8])), i9158[8], i9298[8], java.lang.Object(java.lang.String(i11284[8]))) → COND_LOAD33388ARR19(i11284[8] > 0 && i9158[8] > 0 && i9158[8] < i6[8] && i9298[8] > 0 && i9158[8] + 1 > 0, java.lang.Object(ARRAY(i6[8], a80767data[8])), i9158[8], i9298[8], java.lang.Object(java.lang.String(i11284[8])))
(9): COND_LOAD33388ARR19(TRUE, java.lang.Object(ARRAY(i6[9], a80767data[9])), i9158[9], i9298[9], java.lang.Object(java.lang.String(i11284[9]))) → LOAD33388(java.lang.Object(ARRAY(i6[9], a80767data[9])), i9158[9] + 1, i9298[9] + -1)
(10): JMP40068'(java.lang.Object(ARRAY(i6[10], a80767data[10])), i10058[10], i9298[10]) → INC40187(java.lang.Object(ARRAY(i6[10], a80767data[10])), i10058[10], i9298[10])
(11): LOAD33388(java.lang.Object(ARRAY(i6[11], a80767data[11])), i9158[11], i9298[11]) → LOAD33388ARR20(java.lang.Object(ARRAY(i6[11], a80767data[11])), i9158[11], i9298[11], java.lang.Object(java.lang.String(i11284[11])))
(12): LOAD33388ARR20(java.lang.Object(ARRAY(i6[12], a80767data[12])), i9158[12], i9298[12], java.lang.Object(java.lang.String(i11284[12]))) → COND_LOAD33388ARR20(i11284[12] > 0 && i9158[12] > 0 && i9158[12] < i6[12] && i9298[12] > 0 && i9158[12] + 1 > 0, java.lang.Object(ARRAY(i6[12], a80767data[12])), i9158[12], i9298[12], java.lang.Object(java.lang.String(i11284[12])))
(13): COND_LOAD33388ARR20(TRUE, java.lang.Object(ARRAY(i6[13], a80767data[13])), i9158[13], i9298[13], java.lang.Object(java.lang.String(i11284[13]))) → INC40187(java.lang.Object(ARRAY(i6[13], a80767data[13])), i9158[13] + 1, i9298[13])
(14): LOAD33388(java.lang.Object(ARRAY(i6[14], a80767data[14])), i9158[14], i9298[14]) → LOAD33388ARR21(java.lang.Object(ARRAY(i6[14], a80767data[14])), i9158[14], i9298[14], java.lang.Object(java.lang.String(i11286[14])))
(15): LOAD33388ARR21(java.lang.Object(ARRAY(i6[15], a80767data[15])), i9158[15], i9298[15], java.lang.Object(java.lang.String(i11286[15]))) → COND_LOAD33388ARR21(i11286[15] <= 0 && i9158[15] > 0 && i9158[15] < i6[15] && i9298[15] > 0 && i9158[15] + 1 > 0, java.lang.Object(ARRAY(i6[15], a80767data[15])), i9158[15], i9298[15], java.lang.Object(java.lang.String(i11286[15])))
(16): COND_LOAD33388ARR21(TRUE, java.lang.Object(ARRAY(i6[16], a80767data[16])), i9158[16], i9298[16], java.lang.Object(java.lang.String(i11286[16]))) → INC40187(java.lang.Object(ARRAY(i6[16], a80767data[16])), i9158[16] + 1, i9298[16])
(17): LOAD33388(java.lang.Object(ARRAY(i6[17], a80767data[17])), i9158[17], i9298[17]) → LOAD33388ARR24(java.lang.Object(ARRAY(i6[17], a80767data[17])), i9158[17], i9298[17], java.lang.Object(java.lang.String(i11286[17])))
(18): LOAD33388ARR24(java.lang.Object(ARRAY(i6[18], a80767data[18])), i9158[18], i9298[18], java.lang.Object(java.lang.String(i11286[18]))) → COND_LOAD33388ARR24(i11286[18] <= 0 && i9158[18] > 0 && i9158[18] < i6[18] && i9298[18] > 0 && i9158[18] + 1 > 0, java.lang.Object(ARRAY(i6[18], a80767data[18])), i9158[18], i9298[18], java.lang.Object(java.lang.String(i11286[18])))
(19): COND_LOAD33388ARR24(TRUE, java.lang.Object(ARRAY(i6[19], a80767data[19])), i9158[19], i9298[19], java.lang.Object(java.lang.String(i11286[19]))) → JMP40068'(java.lang.Object(ARRAY(i6[19], a80767data[19])), i9158[19] + 1, i9298[19])

(0) -> (1), if ((java.lang.Object(ARRAY(i6[0], a80767data[0])) →* java.lang.Object(ARRAY(i6[1], a80767data[1])))∧(java.lang.Object(java.lang.String(i11284[0])) →* java.lang.Object(java.lang.String(i11284[1])))∧(i9298[0]* i9298[1])∧(i9158[0]* i9158[1]))


(1) -> (2), if ((i9158[1]* i9158[2])∧(i9298[1]* i9298[2])∧(java.lang.Object(java.lang.String(i11284[1])) →* java.lang.Object(java.lang.String(i11284[2])))∧(i11284[1] > 0 && i9158[1] > 0 && i9158[1] < i6[1] && i9298[1] > 0 && i9158[1] + 1 > 0* TRUE)∧(java.lang.Object(ARRAY(i6[1], a80767data[1])) →* java.lang.Object(ARRAY(i6[2], a80767data[2]))))


(2) -> (10), if ((i9298[2]* i9298[10])∧(java.lang.Object(ARRAY(i6[2], a80767data[2])) →* java.lang.Object(ARRAY(i6[10], a80767data[10])))∧(i9158[2] + 1* i10058[10]))


(3) -> (0), if ((java.lang.Object(ARRAY(i6[3], a80767data[3])) →* java.lang.Object(ARRAY(i6[0], a80767data[0])))∧(i9298[3] + -1* i9298[0])∧(i10058[3]* i9158[0]))


(3) -> (4), if ((java.lang.Object(ARRAY(i6[3], a80767data[3])) →* java.lang.Object(ARRAY(i6[4], a80767data[4])))∧(i10058[3]* i9158[4])∧(i9298[3] + -1* i9298[4]))


(3) -> (7), if ((i9298[3] + -1* i9298[7])∧(i10058[3]* i9158[7])∧(java.lang.Object(ARRAY(i6[3], a80767data[3])) →* java.lang.Object(ARRAY(i6[7], a80767data[7]))))


(3) -> (11), if ((i9298[3] + -1* i9298[11])∧(i10058[3]* i9158[11])∧(java.lang.Object(ARRAY(i6[3], a80767data[3])) →* java.lang.Object(ARRAY(i6[11], a80767data[11]))))


(3) -> (14), if ((i9298[3] + -1* i9298[14])∧(i10058[3]* i9158[14])∧(java.lang.Object(ARRAY(i6[3], a80767data[3])) →* java.lang.Object(ARRAY(i6[14], a80767data[14]))))


(3) -> (17), if ((i9298[3] + -1* i9298[17])∧(java.lang.Object(ARRAY(i6[3], a80767data[3])) →* java.lang.Object(ARRAY(i6[17], a80767data[17])))∧(i10058[3]* i9158[17]))


(4) -> (5), if ((java.lang.Object(java.lang.String(i11286[4])) →* java.lang.Object(java.lang.String(i11286[5])))∧(i9298[4]* i9298[5])∧(i9158[4]* i9158[5])∧(java.lang.Object(ARRAY(i6[4], a80767data[4])) →* java.lang.Object(ARRAY(i6[5], a80767data[5]))))


(5) -> (6), if ((i11286[5] <= 0 && i9158[5] > 0 && i9158[5] < i6[5] && i9298[5] > 0 && i9158[5] + 1 > 0* TRUE)∧(java.lang.Object(java.lang.String(i11286[5])) →* java.lang.Object(java.lang.String(i11286[6])))∧(java.lang.Object(ARRAY(i6[5], a80767data[5])) →* java.lang.Object(ARRAY(i6[6], a80767data[6])))∧(i9158[5]* i9158[6])∧(i9298[5]* i9298[6]))


(6) -> (0), if ((i9298[6] + -1* i9298[0])∧(java.lang.Object(ARRAY(i6[6], a80767data[6])) →* java.lang.Object(ARRAY(i6[0], a80767data[0])))∧(i9158[6] + 1* i9158[0]))


(6) -> (4), if ((i9158[6] + 1* i9158[4])∧(i9298[6] + -1* i9298[4])∧(java.lang.Object(ARRAY(i6[6], a80767data[6])) →* java.lang.Object(ARRAY(i6[4], a80767data[4]))))


(6) -> (7), if ((i9158[6] + 1* i9158[7])∧(java.lang.Object(ARRAY(i6[6], a80767data[6])) →* java.lang.Object(ARRAY(i6[7], a80767data[7])))∧(i9298[6] + -1* i9298[7]))


(6) -> (11), if ((i9158[6] + 1* i9158[11])∧(java.lang.Object(ARRAY(i6[6], a80767data[6])) →* java.lang.Object(ARRAY(i6[11], a80767data[11])))∧(i9298[6] + -1* i9298[11]))


(6) -> (14), if ((i9298[6] + -1* i9298[14])∧(java.lang.Object(ARRAY(i6[6], a80767data[6])) →* java.lang.Object(ARRAY(i6[14], a80767data[14])))∧(i9158[6] + 1* i9158[14]))


(6) -> (17), if ((java.lang.Object(ARRAY(i6[6], a80767data[6])) →* java.lang.Object(ARRAY(i6[17], a80767data[17])))∧(i9158[6] + 1* i9158[17])∧(i9298[6] + -1* i9298[17]))


(7) -> (8), if ((java.lang.Object(ARRAY(i6[7], a80767data[7])) →* java.lang.Object(ARRAY(i6[8], a80767data[8])))∧(i9158[7]* i9158[8])∧(java.lang.Object(java.lang.String(i11284[7])) →* java.lang.Object(java.lang.String(i11284[8])))∧(i9298[7]* i9298[8]))


(8) -> (9), if ((java.lang.Object(java.lang.String(i11284[8])) →* java.lang.Object(java.lang.String(i11284[9])))∧(i9158[8]* i9158[9])∧(java.lang.Object(ARRAY(i6[8], a80767data[8])) →* java.lang.Object(ARRAY(i6[9], a80767data[9])))∧(i9298[8]* i9298[9])∧(i11284[8] > 0 && i9158[8] > 0 && i9158[8] < i6[8] && i9298[8] > 0 && i9158[8] + 1 > 0* TRUE))


(9) -> (0), if ((i9298[9] + -1* i9298[0])∧(i9158[9] + 1* i9158[0])∧(java.lang.Object(ARRAY(i6[9], a80767data[9])) →* java.lang.Object(ARRAY(i6[0], a80767data[0]))))


(9) -> (4), if ((java.lang.Object(ARRAY(i6[9], a80767data[9])) →* java.lang.Object(ARRAY(i6[4], a80767data[4])))∧(i9158[9] + 1* i9158[4])∧(i9298[9] + -1* i9298[4]))


(9) -> (7), if ((java.lang.Object(ARRAY(i6[9], a80767data[9])) →* java.lang.Object(ARRAY(i6[7], a80767data[7])))∧(i9298[9] + -1* i9298[7])∧(i9158[9] + 1* i9158[7]))


(9) -> (11), if ((i9158[9] + 1* i9158[11])∧(java.lang.Object(ARRAY(i6[9], a80767data[9])) →* java.lang.Object(ARRAY(i6[11], a80767data[11])))∧(i9298[9] + -1* i9298[11]))


(9) -> (14), if ((i9298[9] + -1* i9298[14])∧(i9158[9] + 1* i9158[14])∧(java.lang.Object(ARRAY(i6[9], a80767data[9])) →* java.lang.Object(ARRAY(i6[14], a80767data[14]))))


(9) -> (17), if ((java.lang.Object(ARRAY(i6[9], a80767data[9])) →* java.lang.Object(ARRAY(i6[17], a80767data[17])))∧(i9298[9] + -1* i9298[17])∧(i9158[9] + 1* i9158[17]))


(10) -> (3), if ((i9298[10]* i9298[3])∧(i10058[10]* i10058[3])∧(java.lang.Object(ARRAY(i6[10], a80767data[10])) →* java.lang.Object(ARRAY(i6[3], a80767data[3]))))


(11) -> (12), if ((java.lang.Object(ARRAY(i6[11], a80767data[11])) →* java.lang.Object(ARRAY(i6[12], a80767data[12])))∧(java.lang.Object(java.lang.String(i11284[11])) →* java.lang.Object(java.lang.String(i11284[12])))∧(i9298[11]* i9298[12])∧(i9158[11]* i9158[12]))


(12) -> (13), if ((i9298[12]* i9298[13])∧(i11284[12] > 0 && i9158[12] > 0 && i9158[12] < i6[12] && i9298[12] > 0 && i9158[12] + 1 > 0* TRUE)∧(i9158[12]* i9158[13])∧(java.lang.Object(java.lang.String(i11284[12])) →* java.lang.Object(java.lang.String(i11284[13])))∧(java.lang.Object(ARRAY(i6[12], a80767data[12])) →* java.lang.Object(ARRAY(i6[13], a80767data[13]))))


(13) -> (3), if ((i9298[13]* i9298[3])∧(java.lang.Object(ARRAY(i6[13], a80767data[13])) →* java.lang.Object(ARRAY(i6[3], a80767data[3])))∧(i9158[13] + 1* i10058[3]))


(14) -> (15), if ((java.lang.Object(java.lang.String(i11286[14])) →* java.lang.Object(java.lang.String(i11286[15])))∧(i9298[14]* i9298[15])∧(i9158[14]* i9158[15])∧(java.lang.Object(ARRAY(i6[14], a80767data[14])) →* java.lang.Object(ARRAY(i6[15], a80767data[15]))))


(15) -> (16), if ((java.lang.Object(ARRAY(i6[15], a80767data[15])) →* java.lang.Object(ARRAY(i6[16], a80767data[16])))∧(java.lang.Object(java.lang.String(i11286[15])) →* java.lang.Object(java.lang.String(i11286[16])))∧(i11286[15] <= 0 && i9158[15] > 0 && i9158[15] < i6[15] && i9298[15] > 0 && i9158[15] + 1 > 0* TRUE)∧(i9298[15]* i9298[16])∧(i9158[15]* i9158[16]))


(16) -> (3), if ((i9298[16]* i9298[3])∧(i9158[16] + 1* i10058[3])∧(java.lang.Object(ARRAY(i6[16], a80767data[16])) →* java.lang.Object(ARRAY(i6[3], a80767data[3]))))


(17) -> (18), if ((java.lang.Object(java.lang.String(i11286[17])) →* java.lang.Object(java.lang.String(i11286[18])))∧(java.lang.Object(ARRAY(i6[17], a80767data[17])) →* java.lang.Object(ARRAY(i6[18], a80767data[18])))∧(i9298[17]* i9298[18])∧(i9158[17]* i9158[18]))


(18) -> (19), if ((i9298[18]* i9298[19])∧(java.lang.Object(java.lang.String(i11286[18])) →* java.lang.Object(java.lang.String(i11286[19])))∧(i9158[18]* i9158[19])∧(i11286[18] <= 0 && i9158[18] > 0 && i9158[18] < i6[18] && i9298[18] > 0 && i9158[18] + 1 > 0* TRUE)∧(java.lang.Object(ARRAY(i6[18], a80767data[18])) →* java.lang.Object(ARRAY(i6[19], a80767data[19]))))


(19) -> (10), if ((i9158[19] + 1* i10058[10])∧(java.lang.Object(ARRAY(i6[19], a80767data[19])) →* java.lang.Object(ARRAY(i6[10], a80767data[10])))∧(i9298[19]* i9298[10]))



The set Q consists of the following terms:
Load33388(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load33388ARR17(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load33388ARR17(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Inc40187(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load33388ARR18(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load33388ARR18(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load33388ARR19(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load33388ARR19(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
JMP40068(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load33388ARR20(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load33388ARR20(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load33388ARR21(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load33388ARR21(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load33388ARR24(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load33388ARR24(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))

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

(90) 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): LOAD33388(java.lang.Object(ARRAY(i6[0], a80767data[0])), i9158[0], i9298[0]) → LOAD33388ARR17(java.lang.Object(ARRAY(i6[0], a80767data[0])), i9158[0], i9298[0], java.lang.Object(java.lang.String(i11284[0])))
(1): LOAD33388ARR17(java.lang.Object(ARRAY(i6[1], a80767data[1])), i9158[1], i9298[1], java.lang.Object(java.lang.String(i11284[1]))) → COND_LOAD33388ARR17(i11284[1] > 0 && i9158[1] > 0 && i9158[1] < i6[1] && i9298[1] > 0 && i9158[1] + 1 > 0, java.lang.Object(ARRAY(i6[1], a80767data[1])), i9158[1], i9298[1], java.lang.Object(java.lang.String(i11284[1])))
(2): COND_LOAD33388ARR17(TRUE, java.lang.Object(ARRAY(i6[2], a80767data[2])), i9158[2], i9298[2], java.lang.Object(java.lang.String(i11284[2]))) → JMP40068'(java.lang.Object(ARRAY(i6[2], a80767data[2])), i9158[2] + 1, i9298[2])
(3): INC40187(java.lang.Object(ARRAY(i6[3], a80767data[3])), i10058[3], i9298[3]) → LOAD33388(java.lang.Object(ARRAY(i6[3], a80767data[3])), i10058[3], i9298[3] + -1)
(4): LOAD33388(java.lang.Object(ARRAY(i6[4], a80767data[4])), i9158[4], i9298[4]) → LOAD33388ARR18(java.lang.Object(ARRAY(i6[4], a80767data[4])), i9158[4], i9298[4], java.lang.Object(java.lang.String(i11286[4])))
(5): LOAD33388ARR18(java.lang.Object(ARRAY(i6[5], a80767data[5])), i9158[5], i9298[5], java.lang.Object(java.lang.String(i11286[5]))) → COND_LOAD33388ARR18(i11286[5] <= 0 && i9158[5] > 0 && i9158[5] < i6[5] && i9298[5] > 0 && i9158[5] + 1 > 0, java.lang.Object(ARRAY(i6[5], a80767data[5])), i9158[5], i9298[5], java.lang.Object(java.lang.String(i11286[5])))
(6): COND_LOAD33388ARR18(TRUE, java.lang.Object(ARRAY(i6[6], a80767data[6])), i9158[6], i9298[6], java.lang.Object(java.lang.String(i11286[6]))) → LOAD33388(java.lang.Object(ARRAY(i6[6], a80767data[6])), i9158[6] + 1, i9298[6] + -1)
(7): LOAD33388(java.lang.Object(ARRAY(i6[7], a80767data[7])), i9158[7], i9298[7]) → LOAD33388ARR19(java.lang.Object(ARRAY(i6[7], a80767data[7])), i9158[7], i9298[7], java.lang.Object(java.lang.String(i11284[7])))
(8): LOAD33388ARR19(java.lang.Object(ARRAY(i6[8], a80767data[8])), i9158[8], i9298[8], java.lang.Object(java.lang.String(i11284[8]))) → COND_LOAD33388ARR19(i11284[8] > 0 && i9158[8] > 0 && i9158[8] < i6[8] && i9298[8] > 0 && i9158[8] + 1 > 0, java.lang.Object(ARRAY(i6[8], a80767data[8])), i9158[8], i9298[8], java.lang.Object(java.lang.String(i11284[8])))
(9): COND_LOAD33388ARR19(TRUE, java.lang.Object(ARRAY(i6[9], a80767data[9])), i9158[9], i9298[9], java.lang.Object(java.lang.String(i11284[9]))) → LOAD33388(java.lang.Object(ARRAY(i6[9], a80767data[9])), i9158[9] + 1, i9298[9] + -1)
(10): JMP40068'(java.lang.Object(ARRAY(i6[10], a80767data[10])), i10058[10], i9298[10]) → INC40187(java.lang.Object(ARRAY(i6[10], a80767data[10])), i10058[10], i9298[10])
(11): LOAD33388(java.lang.Object(ARRAY(i6[11], a80767data[11])), i9158[11], i9298[11]) → LOAD33388ARR20(java.lang.Object(ARRAY(i6[11], a80767data[11])), i9158[11], i9298[11], java.lang.Object(java.lang.String(i11284[11])))
(12): LOAD33388ARR20(java.lang.Object(ARRAY(i6[12], a80767data[12])), i9158[12], i9298[12], java.lang.Object(java.lang.String(i11284[12]))) → COND_LOAD33388ARR20(i11284[12] > 0 && i9158[12] > 0 && i9158[12] < i6[12] && i9298[12] > 0 && i9158[12] + 1 > 0, java.lang.Object(ARRAY(i6[12], a80767data[12])), i9158[12], i9298[12], java.lang.Object(java.lang.String(i11284[12])))
(13): COND_LOAD33388ARR20(TRUE, java.lang.Object(ARRAY(i6[13], a80767data[13])), i9158[13], i9298[13], java.lang.Object(java.lang.String(i11284[13]))) → INC40187(java.lang.Object(ARRAY(i6[13], a80767data[13])), i9158[13] + 1, i9298[13])
(14): LOAD33388(java.lang.Object(ARRAY(i6[14], a80767data[14])), i9158[14], i9298[14]) → LOAD33388ARR21(java.lang.Object(ARRAY(i6[14], a80767data[14])), i9158[14], i9298[14], java.lang.Object(java.lang.String(i11286[14])))
(15): LOAD33388ARR21(java.lang.Object(ARRAY(i6[15], a80767data[15])), i9158[15], i9298[15], java.lang.Object(java.lang.String(i11286[15]))) → COND_LOAD33388ARR21(i11286[15] <= 0 && i9158[15] > 0 && i9158[15] < i6[15] && i9298[15] > 0 && i9158[15] + 1 > 0, java.lang.Object(ARRAY(i6[15], a80767data[15])), i9158[15], i9298[15], java.lang.Object(java.lang.String(i11286[15])))
(16): COND_LOAD33388ARR21(TRUE, java.lang.Object(ARRAY(i6[16], a80767data[16])), i9158[16], i9298[16], java.lang.Object(java.lang.String(i11286[16]))) → INC40187(java.lang.Object(ARRAY(i6[16], a80767data[16])), i9158[16] + 1, i9298[16])
(17): LOAD33388(java.lang.Object(ARRAY(i6[17], a80767data[17])), i9158[17], i9298[17]) → LOAD33388ARR24(java.lang.Object(ARRAY(i6[17], a80767data[17])), i9158[17], i9298[17], java.lang.Object(java.lang.String(i11286[17])))
(18): LOAD33388ARR24(java.lang.Object(ARRAY(i6[18], a80767data[18])), i9158[18], i9298[18], java.lang.Object(java.lang.String(i11286[18]))) → COND_LOAD33388ARR24(i11286[18] <= 0 && i9158[18] > 0 && i9158[18] < i6[18] && i9298[18] > 0 && i9158[18] + 1 > 0, java.lang.Object(ARRAY(i6[18], a80767data[18])), i9158[18], i9298[18], java.lang.Object(java.lang.String(i11286[18])))
(19): COND_LOAD33388ARR24(TRUE, java.lang.Object(ARRAY(i6[19], a80767data[19])), i9158[19], i9298[19], java.lang.Object(java.lang.String(i11286[19]))) → JMP40068'(java.lang.Object(ARRAY(i6[19], a80767data[19])), i9158[19] + 1, i9298[19])

(0) -> (1), if ((java.lang.Object(ARRAY(i6[0], a80767data[0])) →* java.lang.Object(ARRAY(i6[1], a80767data[1])))∧(java.lang.Object(java.lang.String(i11284[0])) →* java.lang.Object(java.lang.String(i11284[1])))∧(i9298[0]* i9298[1])∧(i9158[0]* i9158[1]))


(1) -> (2), if ((i9158[1]* i9158[2])∧(i9298[1]* i9298[2])∧(java.lang.Object(java.lang.String(i11284[1])) →* java.lang.Object(java.lang.String(i11284[2])))∧(i11284[1] > 0 && i9158[1] > 0 && i9158[1] < i6[1] && i9298[1] > 0 && i9158[1] + 1 > 0* TRUE)∧(java.lang.Object(ARRAY(i6[1], a80767data[1])) →* java.lang.Object(ARRAY(i6[2], a80767data[2]))))


(2) -> (10), if ((i9298[2]* i9298[10])∧(java.lang.Object(ARRAY(i6[2], a80767data[2])) →* java.lang.Object(ARRAY(i6[10], a80767data[10])))∧(i9158[2] + 1* i10058[10]))


(3) -> (0), if ((java.lang.Object(ARRAY(i6[3], a80767data[3])) →* java.lang.Object(ARRAY(i6[0], a80767data[0])))∧(i9298[3] + -1* i9298[0])∧(i10058[3]* i9158[0]))


(3) -> (4), if ((java.lang.Object(ARRAY(i6[3], a80767data[3])) →* java.lang.Object(ARRAY(i6[4], a80767data[4])))∧(i10058[3]* i9158[4])∧(i9298[3] + -1* i9298[4]))


(3) -> (7), if ((i9298[3] + -1* i9298[7])∧(i10058[3]* i9158[7])∧(java.lang.Object(ARRAY(i6[3], a80767data[3])) →* java.lang.Object(ARRAY(i6[7], a80767data[7]))))


(3) -> (11), if ((i9298[3] + -1* i9298[11])∧(i10058[3]* i9158[11])∧(java.lang.Object(ARRAY(i6[3], a80767data[3])) →* java.lang.Object(ARRAY(i6[11], a80767data[11]))))


(3) -> (14), if ((i9298[3] + -1* i9298[14])∧(i10058[3]* i9158[14])∧(java.lang.Object(ARRAY(i6[3], a80767data[3])) →* java.lang.Object(ARRAY(i6[14], a80767data[14]))))


(3) -> (17), if ((i9298[3] + -1* i9298[17])∧(java.lang.Object(ARRAY(i6[3], a80767data[3])) →* java.lang.Object(ARRAY(i6[17], a80767data[17])))∧(i10058[3]* i9158[17]))


(4) -> (5), if ((java.lang.Object(java.lang.String(i11286[4])) →* java.lang.Object(java.lang.String(i11286[5])))∧(i9298[4]* i9298[5])∧(i9158[4]* i9158[5])∧(java.lang.Object(ARRAY(i6[4], a80767data[4])) →* java.lang.Object(ARRAY(i6[5], a80767data[5]))))


(5) -> (6), if ((i11286[5] <= 0 && i9158[5] > 0 && i9158[5] < i6[5] && i9298[5] > 0 && i9158[5] + 1 > 0* TRUE)∧(java.lang.Object(java.lang.String(i11286[5])) →* java.lang.Object(java.lang.String(i11286[6])))∧(java.lang.Object(ARRAY(i6[5], a80767data[5])) →* java.lang.Object(ARRAY(i6[6], a80767data[6])))∧(i9158[5]* i9158[6])∧(i9298[5]* i9298[6]))


(6) -> (0), if ((i9298[6] + -1* i9298[0])∧(java.lang.Object(ARRAY(i6[6], a80767data[6])) →* java.lang.Object(ARRAY(i6[0], a80767data[0])))∧(i9158[6] + 1* i9158[0]))


(6) -> (4), if ((i9158[6] + 1* i9158[4])∧(i9298[6] + -1* i9298[4])∧(java.lang.Object(ARRAY(i6[6], a80767data[6])) →* java.lang.Object(ARRAY(i6[4], a80767data[4]))))


(6) -> (7), if ((i9158[6] + 1* i9158[7])∧(java.lang.Object(ARRAY(i6[6], a80767data[6])) →* java.lang.Object(ARRAY(i6[7], a80767data[7])))∧(i9298[6] + -1* i9298[7]))


(6) -> (11), if ((i9158[6] + 1* i9158[11])∧(java.lang.Object(ARRAY(i6[6], a80767data[6])) →* java.lang.Object(ARRAY(i6[11], a80767data[11])))∧(i9298[6] + -1* i9298[11]))


(6) -> (14), if ((i9298[6] + -1* i9298[14])∧(java.lang.Object(ARRAY(i6[6], a80767data[6])) →* java.lang.Object(ARRAY(i6[14], a80767data[14])))∧(i9158[6] + 1* i9158[14]))


(6) -> (17), if ((java.lang.Object(ARRAY(i6[6], a80767data[6])) →* java.lang.Object(ARRAY(i6[17], a80767data[17])))∧(i9158[6] + 1* i9158[17])∧(i9298[6] + -1* i9298[17]))


(7) -> (8), if ((java.lang.Object(ARRAY(i6[7], a80767data[7])) →* java.lang.Object(ARRAY(i6[8], a80767data[8])))∧(i9158[7]* i9158[8])∧(java.lang.Object(java.lang.String(i11284[7])) →* java.lang.Object(java.lang.String(i11284[8])))∧(i9298[7]* i9298[8]))


(8) -> (9), if ((java.lang.Object(java.lang.String(i11284[8])) →* java.lang.Object(java.lang.String(i11284[9])))∧(i9158[8]* i9158[9])∧(java.lang.Object(ARRAY(i6[8], a80767data[8])) →* java.lang.Object(ARRAY(i6[9], a80767data[9])))∧(i9298[8]* i9298[9])∧(i11284[8] > 0 && i9158[8] > 0 && i9158[8] < i6[8] && i9298[8] > 0 && i9158[8] + 1 > 0* TRUE))


(9) -> (0), if ((i9298[9] + -1* i9298[0])∧(i9158[9] + 1* i9158[0])∧(java.lang.Object(ARRAY(i6[9], a80767data[9])) →* java.lang.Object(ARRAY(i6[0], a80767data[0]))))


(9) -> (4), if ((java.lang.Object(ARRAY(i6[9], a80767data[9])) →* java.lang.Object(ARRAY(i6[4], a80767data[4])))∧(i9158[9] + 1* i9158[4])∧(i9298[9] + -1* i9298[4]))


(9) -> (7), if ((java.lang.Object(ARRAY(i6[9], a80767data[9])) →* java.lang.Object(ARRAY(i6[7], a80767data[7])))∧(i9298[9] + -1* i9298[7])∧(i9158[9] + 1* i9158[7]))


(9) -> (11), if ((i9158[9] + 1* i9158[11])∧(java.lang.Object(ARRAY(i6[9], a80767data[9])) →* java.lang.Object(ARRAY(i6[11], a80767data[11])))∧(i9298[9] + -1* i9298[11]))


(9) -> (14), if ((i9298[9] + -1* i9298[14])∧(i9158[9] + 1* i9158[14])∧(java.lang.Object(ARRAY(i6[9], a80767data[9])) →* java.lang.Object(ARRAY(i6[14], a80767data[14]))))


(9) -> (17), if ((java.lang.Object(ARRAY(i6[9], a80767data[9])) →* java.lang.Object(ARRAY(i6[17], a80767data[17])))∧(i9298[9] + -1* i9298[17])∧(i9158[9] + 1* i9158[17]))


(10) -> (3), if ((i9298[10]* i9298[3])∧(i10058[10]* i10058[3])∧(java.lang.Object(ARRAY(i6[10], a80767data[10])) →* java.lang.Object(ARRAY(i6[3], a80767data[3]))))


(11) -> (12), if ((java.lang.Object(ARRAY(i6[11], a80767data[11])) →* java.lang.Object(ARRAY(i6[12], a80767data[12])))∧(java.lang.Object(java.lang.String(i11284[11])) →* java.lang.Object(java.lang.String(i11284[12])))∧(i9298[11]* i9298[12])∧(i9158[11]* i9158[12]))


(12) -> (13), if ((i9298[12]* i9298[13])∧(i11284[12] > 0 && i9158[12] > 0 && i9158[12] < i6[12] && i9298[12] > 0 && i9158[12] + 1 > 0* TRUE)∧(i9158[12]* i9158[13])∧(java.lang.Object(java.lang.String(i11284[12])) →* java.lang.Object(java.lang.String(i11284[13])))∧(java.lang.Object(ARRAY(i6[12], a80767data[12])) →* java.lang.Object(ARRAY(i6[13], a80767data[13]))))


(13) -> (3), if ((i9298[13]* i9298[3])∧(java.lang.Object(ARRAY(i6[13], a80767data[13])) →* java.lang.Object(ARRAY(i6[3], a80767data[3])))∧(i9158[13] + 1* i10058[3]))


(14) -> (15), if ((java.lang.Object(java.lang.String(i11286[14])) →* java.lang.Object(java.lang.String(i11286[15])))∧(i9298[14]* i9298[15])∧(i9158[14]* i9158[15])∧(java.lang.Object(ARRAY(i6[14], a80767data[14])) →* java.lang.Object(ARRAY(i6[15], a80767data[15]))))


(15) -> (16), if ((java.lang.Object(ARRAY(i6[15], a80767data[15])) →* java.lang.Object(ARRAY(i6[16], a80767data[16])))∧(java.lang.Object(java.lang.String(i11286[15])) →* java.lang.Object(java.lang.String(i11286[16])))∧(i11286[15] <= 0 && i9158[15] > 0 && i9158[15] < i6[15] && i9298[15] > 0 && i9158[15] + 1 > 0* TRUE)∧(i9298[15]* i9298[16])∧(i9158[15]* i9158[16]))


(16) -> (3), if ((i9298[16]* i9298[3])∧(i9158[16] + 1* i10058[3])∧(java.lang.Object(ARRAY(i6[16], a80767data[16])) →* java.lang.Object(ARRAY(i6[3], a80767data[3]))))


(17) -> (18), if ((java.lang.Object(java.lang.String(i11286[17])) →* java.lang.Object(java.lang.String(i11286[18])))∧(java.lang.Object(ARRAY(i6[17], a80767data[17])) →* java.lang.Object(ARRAY(i6[18], a80767data[18])))∧(i9298[17]* i9298[18])∧(i9158[17]* i9158[18]))


(18) -> (19), if ((i9298[18]* i9298[19])∧(java.lang.Object(java.lang.String(i11286[18])) →* java.lang.Object(java.lang.String(i11286[19])))∧(i9158[18]* i9158[19])∧(i11286[18] <= 0 && i9158[18] > 0 && i9158[18] < i6[18] && i9298[18] > 0 && i9158[18] + 1 > 0* TRUE)∧(java.lang.Object(ARRAY(i6[18], a80767data[18])) →* java.lang.Object(ARRAY(i6[19], a80767data[19]))))


(19) -> (10), if ((i9158[19] + 1* i10058[10])∧(java.lang.Object(ARRAY(i6[19], a80767data[19])) →* java.lang.Object(ARRAY(i6[10], a80767data[10])))∧(i9298[19]* i9298[10]))



The set Q consists of the following terms:
Load33388(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load33388ARR17(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load33388ARR17(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Inc40187(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load33388ARR18(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load33388ARR18(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load33388ARR19(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load33388ARR19(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
JMP40068(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load33388ARR20(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load33388ARR20(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load33388ARR21(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load33388ARR21(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load33388ARR24(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load33388ARR24(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))

(91) ItpfGraphProof (EQUIVALENT transformation)

Applied rule ItpfICap [ICap]

(92) 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): LOAD33388(java.lang.Object(ARRAY(i6[0], a80767data[0])), i9158[0], i9298[0]) → LOAD33388ARR17(java.lang.Object(ARRAY(i6[0], a80767data[0])), i9158[0], i9298[0], java.lang.Object(java.lang.String(i11284[0])))
(1): LOAD33388ARR17(java.lang.Object(ARRAY(i6[1], a80767data[1])), i9158[1], i9298[1], java.lang.Object(java.lang.String(i11284[1]))) → COND_LOAD33388ARR17(i11284[1] > 0 && i9158[1] > 0 && i9158[1] < i6[1] && i9298[1] > 0 && i9158[1] + 1 > 0, java.lang.Object(ARRAY(i6[1], a80767data[1])), i9158[1], i9298[1], java.lang.Object(java.lang.String(i11284[1])))
(2): COND_LOAD33388ARR17(TRUE, java.lang.Object(ARRAY(i6[2], a80767data[2])), i9158[2], i9298[2], java.lang.Object(java.lang.String(i11284[2]))) → JMP40068'(java.lang.Object(ARRAY(i6[2], a80767data[2])), i9158[2] + 1, i9298[2])
(3): INC40187(java.lang.Object(ARRAY(i6[3], a80767data[3])), i10058[3], i9298[3]) → LOAD33388(java.lang.Object(ARRAY(i6[3], a80767data[3])), i10058[3], i9298[3] + -1)
(4): LOAD33388(java.lang.Object(ARRAY(i6[4], a80767data[4])), i9158[4], i9298[4]) → LOAD33388ARR18(java.lang.Object(ARRAY(i6[4], a80767data[4])), i9158[4], i9298[4], java.lang.Object(java.lang.String(i11286[4])))
(5): LOAD33388ARR18(java.lang.Object(ARRAY(i6[5], a80767data[5])), i9158[5], i9298[5], java.lang.Object(java.lang.String(i11286[5]))) → COND_LOAD33388ARR18(i11286[5] <= 0 && i9158[5] > 0 && i9158[5] < i6[5] && i9298[5] > 0 && i9158[5] + 1 > 0, java.lang.Object(ARRAY(i6[5], a80767data[5])), i9158[5], i9298[5], java.lang.Object(java.lang.String(i11286[5])))
(6): COND_LOAD33388ARR18(TRUE, java.lang.Object(ARRAY(i6[6], a80767data[6])), i9158[6], i9298[6], java.lang.Object(java.lang.String(i11286[6]))) → LOAD33388(java.lang.Object(ARRAY(i6[6], a80767data[6])), i9158[6] + 1, i9298[6] + -1)
(7): LOAD33388(java.lang.Object(ARRAY(i6[7], a80767data[7])), i9158[7], i9298[7]) → LOAD33388ARR19(java.lang.Object(ARRAY(i6[7], a80767data[7])), i9158[7], i9298[7], java.lang.Object(java.lang.String(i11284[7])))
(8): LOAD33388ARR19(java.lang.Object(ARRAY(i6[8], a80767data[8])), i9158[8], i9298[8], java.lang.Object(java.lang.String(i11284[8]))) → COND_LOAD33388ARR19(i11284[8] > 0 && i9158[8] > 0 && i9158[8] < i6[8] && i9298[8] > 0 && i9158[8] + 1 > 0, java.lang.Object(ARRAY(i6[8], a80767data[8])), i9158[8], i9298[8], java.lang.Object(java.lang.String(i11284[8])))
(9): COND_LOAD33388ARR19(TRUE, java.lang.Object(ARRAY(i6[9], a80767data[9])), i9158[9], i9298[9], java.lang.Object(java.lang.String(i11284[9]))) → LOAD33388(java.lang.Object(ARRAY(i6[9], a80767data[9])), i9158[9] + 1, i9298[9] + -1)
(10): JMP40068'(java.lang.Object(ARRAY(i6[10], a80767data[10])), i10058[10], i9298[10]) → INC40187(java.lang.Object(ARRAY(i6[10], a80767data[10])), i10058[10], i9298[10])
(11): LOAD33388(java.lang.Object(ARRAY(i6[11], a80767data[11])), i9158[11], i9298[11]) → LOAD33388ARR20(java.lang.Object(ARRAY(i6[11], a80767data[11])), i9158[11], i9298[11], java.lang.Object(java.lang.String(i11284[11])))
(12): LOAD33388ARR20(java.lang.Object(ARRAY(i6[12], a80767data[12])), i9158[12], i9298[12], java.lang.Object(java.lang.String(i11284[12]))) → COND_LOAD33388ARR20(i11284[12] > 0 && i9158[12] > 0 && i9158[12] < i6[12] && i9298[12] > 0 && i9158[12] + 1 > 0, java.lang.Object(ARRAY(i6[12], a80767data[12])), i9158[12], i9298[12], java.lang.Object(java.lang.String(i11284[12])))
(13): COND_LOAD33388ARR20(TRUE, java.lang.Object(ARRAY(i6[13], a80767data[13])), i9158[13], i9298[13], java.lang.Object(java.lang.String(i11284[13]))) → INC40187(java.lang.Object(ARRAY(i6[13], a80767data[13])), i9158[13] + 1, i9298[13])
(14): LOAD33388(java.lang.Object(ARRAY(i6[14], a80767data[14])), i9158[14], i9298[14]) → LOAD33388ARR21(java.lang.Object(ARRAY(i6[14], a80767data[14])), i9158[14], i9298[14], java.lang.Object(java.lang.String(i11286[14])))
(15): LOAD33388ARR21(java.lang.Object(ARRAY(i6[15], a80767data[15])), i9158[15], i9298[15], java.lang.Object(java.lang.String(i11286[15]))) → COND_LOAD33388ARR21(i11286[15] <= 0 && i9158[15] > 0 && i9158[15] < i6[15] && i9298[15] > 0 && i9158[15] + 1 > 0, java.lang.Object(ARRAY(i6[15], a80767data[15])), i9158[15], i9298[15], java.lang.Object(java.lang.String(i11286[15])))
(16): COND_LOAD33388ARR21(TRUE, java.lang.Object(ARRAY(i6[16], a80767data[16])), i9158[16], i9298[16], java.lang.Object(java.lang.String(i11286[16]))) → INC40187(java.lang.Object(ARRAY(i6[16], a80767data[16])), i9158[16] + 1, i9298[16])
(17): LOAD33388(java.lang.Object(ARRAY(i6[17], a80767data[17])), i9158[17], i9298[17]) → LOAD33388ARR24(java.lang.Object(ARRAY(i6[17], a80767data[17])), i9158[17], i9298[17], java.lang.Object(java.lang.String(i11286[17])))
(18): LOAD33388ARR24(java.lang.Object(ARRAY(i6[18], a80767data[18])), i9158[18], i9298[18], java.lang.Object(java.lang.String(i11286[18]))) → COND_LOAD33388ARR24(i11286[18] <= 0 && i9158[18] > 0 && i9158[18] < i6[18] && i9298[18] > 0 && i9158[18] + 1 > 0, java.lang.Object(ARRAY(i6[18], a80767data[18])), i9158[18], i9298[18], java.lang.Object(java.lang.String(i11286[18])))
(19): COND_LOAD33388ARR24(TRUE, java.lang.Object(ARRAY(i6[19], a80767data[19])), i9158[19], i9298[19], java.lang.Object(java.lang.String(i11286[19]))) → JMP40068'(java.lang.Object(ARRAY(i6[19], a80767data[19])), i9158[19] + 1, i9298[19])

(0) -> (1), if (((i6[0]* i6[1])∧(a80767data[0]* a80767data[1]))∧((i11284[0]* i11284[1]))∧(i9298[0]* i9298[1])∧(i9158[0]* i9158[1]))


(1) -> (2), if ((i9158[1]* i9158[2])∧(i9298[1]* i9298[2])∧((i11284[1]* i11284[2]))∧(i11284[1] > 0 && i9158[1] > 0 && i9158[1] < i6[1] && i9298[1] > 0 && i9158[1] + 1 > 0* TRUE)∧((i6[1]* i6[2])∧(a80767data[1]* a80767data[2])))


(2) -> (10), if ((i9298[2]* i9298[10])∧((i6[2]* i6[10])∧(a80767data[2]* a80767data[10]))∧(i9158[2] + 1* i10058[10]))


(3) -> (0), if (((i6[3]* i6[0])∧(a80767data[3]* a80767data[0]))∧(i9298[3] + -1* i9298[0])∧(i10058[3]* i9158[0]))


(3) -> (4), if (((i6[3]* i6[4])∧(a80767data[3]* a80767data[4]))∧(i10058[3]* i9158[4])∧(i9298[3] + -1* i9298[4]))


(3) -> (7), if ((i9298[3] + -1* i9298[7])∧(i10058[3]* i9158[7])∧((i6[3]* i6[7])∧(a80767data[3]* a80767data[7])))


(3) -> (11), if ((i9298[3] + -1* i9298[11])∧(i10058[3]* i9158[11])∧((i6[3]* i6[11])∧(a80767data[3]* a80767data[11])))


(3) -> (14), if ((i9298[3] + -1* i9298[14])∧(i10058[3]* i9158[14])∧((i6[3]* i6[14])∧(a80767data[3]* a80767data[14])))


(3) -> (17), if ((i9298[3] + -1* i9298[17])∧((i6[3]* i6[17])∧(a80767data[3]* a80767data[17]))∧(i10058[3]* i9158[17]))


(4) -> (5), if (((i11286[4]* i11286[5]))∧(i9298[4]* i9298[5])∧(i9158[4]* i9158[5])∧((i6[4]* i6[5])∧(a80767data[4]* a80767data[5])))


(5) -> (6), if ((i11286[5] <= 0 && i9158[5] > 0 && i9158[5] < i6[5] && i9298[5] > 0 && i9158[5] + 1 > 0* TRUE)∧((i11286[5]* i11286[6]))∧((i6[5]* i6[6])∧(a80767data[5]* a80767data[6]))∧(i9158[5]* i9158[6])∧(i9298[5]* i9298[6]))


(6) -> (0), if ((i9298[6] + -1* i9298[0])∧((i6[6]* i6[0])∧(a80767data[6]* a80767data[0]))∧(i9158[6] + 1* i9158[0]))


(6) -> (4), if ((i9158[6] + 1* i9158[4])∧(i9298[6] + -1* i9298[4])∧((i6[6]* i6[4])∧(a80767data[6]* a80767data[4])))


(6) -> (7), if ((i9158[6] + 1* i9158[7])∧((i6[6]* i6[7])∧(a80767data[6]* a80767data[7]))∧(i9298[6] + -1* i9298[7]))


(6) -> (11), if ((i9158[6] + 1* i9158[11])∧((i6[6]* i6[11])∧(a80767data[6]* a80767data[11]))∧(i9298[6] + -1* i9298[11]))


(6) -> (14), if ((i9298[6] + -1* i9298[14])∧((i6[6]* i6[14])∧(a80767data[6]* a80767data[14]))∧(i9158[6] + 1* i9158[14]))


(6) -> (17), if (((i6[6]* i6[17])∧(a80767data[6]* a80767data[17]))∧(i9158[6] + 1* i9158[17])∧(i9298[6] + -1* i9298[17]))


(7) -> (8), if (((i6[7]* i6[8])∧(a80767data[7]* a80767data[8]))∧(i9158[7]* i9158[8])∧((i11284[7]* i11284[8]))∧(i9298[7]* i9298[8]))


(8) -> (9), if (((i11284[8]* i11284[9]))∧(i9158[8]* i9158[9])∧((i6[8]* i6[9])∧(a80767data[8]* a80767data[9]))∧(i9298[8]* i9298[9])∧(i11284[8] > 0 && i9158[8] > 0 && i9158[8] < i6[8] && i9298[8] > 0 && i9158[8] + 1 > 0* TRUE))


(9) -> (0), if ((i9298[9] + -1* i9298[0])∧(i9158[9] + 1* i9158[0])∧((i6[9]* i6[0])∧(a80767data[9]* a80767data[0])))


(9) -> (4), if (((i6[9]* i6[4])∧(a80767data[9]* a80767data[4]))∧(i9158[9] + 1* i9158[4])∧(i9298[9] + -1* i9298[4]))


(9) -> (7), if (((i6[9]* i6[7])∧(a80767data[9]* a80767data[7]))∧(i9298[9] + -1* i9298[7])∧(i9158[9] + 1* i9158[7]))


(9) -> (11), if ((i9158[9] + 1* i9158[11])∧((i6[9]* i6[11])∧(a80767data[9]* a80767data[11]))∧(i9298[9] + -1* i9298[11]))


(9) -> (14), if ((i9298[9] + -1* i9298[14])∧(i9158[9] + 1* i9158[14])∧((i6[9]* i6[14])∧(a80767data[9]* a80767data[14])))


(9) -> (17), if (((i6[9]* i6[17])∧(a80767data[9]* a80767data[17]))∧(i9298[9] + -1* i9298[17])∧(i9158[9] + 1* i9158[17]))


(10) -> (3), if ((i9298[10]* i9298[3])∧(i10058[10]* i10058[3])∧((i6[10]* i6[3])∧(a80767data[10]* a80767data[3])))


(11) -> (12), if (((i6[11]* i6[12])∧(a80767data[11]* a80767data[12]))∧((i11284[11]* i11284[12]))∧(i9298[11]* i9298[12])∧(i9158[11]* i9158[12]))


(12) -> (13), if ((i9298[12]* i9298[13])∧(i11284[12] > 0 && i9158[12] > 0 && i9158[12] < i6[12] && i9298[12] > 0 && i9158[12] + 1 > 0* TRUE)∧(i9158[12]* i9158[13])∧((i11284[12]* i11284[13]))∧((i6[12]* i6[13])∧(a80767data[12]* a80767data[13])))


(13) -> (3), if ((i9298[13]* i9298[3])∧((i6[13]* i6[3])∧(a80767data[13]* a80767data[3]))∧(i9158[13] + 1* i10058[3]))


(14) -> (15), if (((i11286[14]* i11286[15]))∧(i9298[14]* i9298[15])∧(i9158[14]* i9158[15])∧((i6[14]* i6[15])∧(a80767data[14]* a80767data[15])))


(15) -> (16), if (((i6[15]* i6[16])∧(a80767data[15]* a80767data[16]))∧((i11286[15]* i11286[16]))∧(i11286[15] <= 0 && i9158[15] > 0 && i9158[15] < i6[15] && i9298[15] > 0 && i9158[15] + 1 > 0* TRUE)∧(i9298[15]* i9298[16])∧(i9158[15]* i9158[16]))


(16) -> (3), if ((i9298[16]* i9298[3])∧(i9158[16] + 1* i10058[3])∧((i6[16]* i6[3])∧(a80767data[16]* a80767data[3])))


(17) -> (18), if (((i11286[17]* i11286[18]))∧((i6[17]* i6[18])∧(a80767data[17]* a80767data[18]))∧(i9298[17]* i9298[18])∧(i9158[17]* i9158[18]))


(18) -> (19), if ((i9298[18]* i9298[19])∧((i11286[18]* i11286[19]))∧(i9158[18]* i9158[19])∧(i11286[18] <= 0 && i9158[18] > 0 && i9158[18] < i6[18] && i9298[18] > 0 && i9158[18] + 1 > 0* TRUE)∧((i6[18]* i6[19])∧(a80767data[18]* a80767data[19])))


(19) -> (10), if ((i9158[19] + 1* i10058[10])∧((i6[19]* i6[10])∧(a80767data[19]* a80767data[10]))∧(i9298[19]* i9298[10]))



The set Q consists of the following terms:
Load33388(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load33388ARR17(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load33388ARR17(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Inc40187(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load33388ARR18(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load33388ARR18(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load33388ARR19(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load33388ARR19(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
JMP40068(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load33388ARR20(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load33388ARR20(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load33388ARR21(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load33388ARR21(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load33388ARR24(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load33388ARR24(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))

(93) 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 LOAD33388(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298) → LOAD33388ARR17(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11284))) the following chains were created:
  • We consider the chain LOAD33388(java.lang.Object(ARRAY(i6[0], a80767data[0])), i9158[0], i9298[0]) → LOAD33388ARR17(java.lang.Object(ARRAY(i6[0], a80767data[0])), i9158[0], i9298[0], java.lang.Object(java.lang.String(i11284[0]))) which results in the following constraint:

    (1)    (LOAD33388(java.lang.Object(ARRAY(i6[0], a80767data[0])), i9158[0], i9298[0])≥NonInfC∧LOAD33388(java.lang.Object(ARRAY(i6[0], a80767data[0])), i9158[0], i9298[0])≥LOAD33388ARR17(java.lang.Object(ARRAY(i6[0], a80767data[0])), i9158[0], i9298[0], java.lang.Object(java.lang.String(i11284[0])))∧(UIncreasing(LOAD33388ARR17(java.lang.Object(ARRAY(i6[0], a80767data[0])), i9158[0], i9298[0], java.lang.Object(java.lang.String(i11284[0])))), ≥))



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

    (2)    ((UIncreasing(LOAD33388ARR17(java.lang.Object(ARRAY(i6[0], a80767data[0])), i9158[0], i9298[0], java.lang.Object(java.lang.String(i11284[0])))), ≥)∧[(-1)bso_33] ≥ 0)



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

    (3)    ((UIncreasing(LOAD33388ARR17(java.lang.Object(ARRAY(i6[0], a80767data[0])), i9158[0], i9298[0], java.lang.Object(java.lang.String(i11284[0])))), ≥)∧[(-1)bso_33] ≥ 0)



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

    (4)    ((UIncreasing(LOAD33388ARR17(java.lang.Object(ARRAY(i6[0], a80767data[0])), i9158[0], i9298[0], java.lang.Object(java.lang.String(i11284[0])))), ≥)∧[(-1)bso_33] ≥ 0)



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

    (5)    ((UIncreasing(LOAD33388ARR17(java.lang.Object(ARRAY(i6[0], a80767data[0])), i9158[0], i9298[0], java.lang.Object(java.lang.String(i11284[0])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_33] ≥ 0)







For Pair LOAD33388ARR17(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11284))) → COND_LOAD33388ARR17(&&(&&(&&(&&(>(i11284, 0), >(i9158, 0)), <(i9158, i6)), >(i9298, 0)), >(+(i9158, 1), 0)), java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11284))) the following chains were created:
  • We consider the chain LOAD33388ARR17(java.lang.Object(ARRAY(i6[1], a80767data[1])), i9158[1], i9298[1], java.lang.Object(java.lang.String(i11284[1]))) → COND_LOAD33388ARR17(&&(&&(&&(&&(>(i11284[1], 0), >(i9158[1], 0)), <(i9158[1], i6[1])), >(i9298[1], 0)), >(+(i9158[1], 1), 0)), java.lang.Object(ARRAY(i6[1], a80767data[1])), i9158[1], i9298[1], java.lang.Object(java.lang.String(i11284[1]))), COND_LOAD33388ARR17(TRUE, java.lang.Object(ARRAY(i6[2], a80767data[2])), i9158[2], i9298[2], java.lang.Object(java.lang.String(i11284[2]))) → JMP40068'(java.lang.Object(ARRAY(i6[2], a80767data[2])), +(i9158[2], 1), i9298[2]) which results in the following constraint:

    (6)    (i9158[1]=i9158[2]i9298[1]=i9298[2]i11284[1]=i11284[2]&&(&&(&&(&&(>(i11284[1], 0), >(i9158[1], 0)), <(i9158[1], i6[1])), >(i9298[1], 0)), >(+(i9158[1], 1), 0))=TRUEi6[1]=i6[2]a80767data[1]=a80767data[2]LOAD33388ARR17(java.lang.Object(ARRAY(i6[1], a80767data[1])), i9158[1], i9298[1], java.lang.Object(java.lang.String(i11284[1])))≥NonInfC∧LOAD33388ARR17(java.lang.Object(ARRAY(i6[1], a80767data[1])), i9158[1], i9298[1], java.lang.Object(java.lang.String(i11284[1])))≥COND_LOAD33388ARR17(&&(&&(&&(&&(>(i11284[1], 0), >(i9158[1], 0)), <(i9158[1], i6[1])), >(i9298[1], 0)), >(+(i9158[1], 1), 0)), java.lang.Object(ARRAY(i6[1], a80767data[1])), i9158[1], i9298[1], java.lang.Object(java.lang.String(i11284[1])))∧(UIncreasing(COND_LOAD33388ARR17(&&(&&(&&(&&(>(i11284[1], 0), >(i9158[1], 0)), <(i9158[1], i6[1])), >(i9298[1], 0)), >(+(i9158[1], 1), 0)), java.lang.Object(ARRAY(i6[1], a80767data[1])), i9158[1], i9298[1], java.lang.Object(java.lang.String(i11284[1])))), ≥))



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

    (7)    (>(+(i9158[1], 1), 0)=TRUE>(i9298[1], 0)=TRUE<(i9158[1], i6[1])=TRUE>(i11284[1], 0)=TRUE>(i9158[1], 0)=TRUELOAD33388ARR17(java.lang.Object(ARRAY(i6[1], a80767data[1])), i9158[1], i9298[1], java.lang.Object(java.lang.String(i11284[1])))≥NonInfC∧LOAD33388ARR17(java.lang.Object(ARRAY(i6[1], a80767data[1])), i9158[1], i9298[1], java.lang.Object(java.lang.String(i11284[1])))≥COND_LOAD33388ARR17(&&(&&(&&(&&(>(i11284[1], 0), >(i9158[1], 0)), <(i9158[1], i6[1])), >(i9298[1], 0)), >(+(i9158[1], 1), 0)), java.lang.Object(ARRAY(i6[1], a80767data[1])), i9158[1], i9298[1], java.lang.Object(java.lang.String(i11284[1])))∧(UIncreasing(COND_LOAD33388ARR17(&&(&&(&&(&&(>(i11284[1], 0), >(i9158[1], 0)), <(i9158[1], i6[1])), >(i9298[1], 0)), >(+(i9158[1], 1), 0)), java.lang.Object(ARRAY(i6[1], a80767data[1])), i9158[1], i9298[1], java.lang.Object(java.lang.String(i11284[1])))), ≥))



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

    (8)    (i9158[1] ≥ 0∧i9298[1] + [-1] ≥ 0∧i6[1] + [-1] + [-1]i9158[1] ≥ 0∧i11284[1] + [-1] ≥ 0∧i9158[1] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD33388ARR17(&&(&&(&&(&&(>(i11284[1], 0), >(i9158[1], 0)), <(i9158[1], i6[1])), >(i9298[1], 0)), >(+(i9158[1], 1), 0)), java.lang.Object(ARRAY(i6[1], a80767data[1])), i9158[1], i9298[1], java.lang.Object(java.lang.String(i11284[1])))), ≥)∧[(-1)bni_34 + (-1)Bound*bni_34] + [bni_34]i9298[1] ≥ 0∧[1 + (-1)bso_35] ≥ 0)



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

    (9)    (i9158[1] ≥ 0∧i9298[1] + [-1] ≥ 0∧i6[1] + [-1] + [-1]i9158[1] ≥ 0∧i11284[1] + [-1] ≥ 0∧i9158[1] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD33388ARR17(&&(&&(&&(&&(>(i11284[1], 0), >(i9158[1], 0)), <(i9158[1], i6[1])), >(i9298[1], 0)), >(+(i9158[1], 1), 0)), java.lang.Object(ARRAY(i6[1], a80767data[1])), i9158[1], i9298[1], java.lang.Object(java.lang.String(i11284[1])))), ≥)∧[(-1)bni_34 + (-1)Bound*bni_34] + [bni_34]i9298[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)    (i9158[1] ≥ 0∧i9298[1] + [-1] ≥ 0∧i6[1] + [-1] + [-1]i9158[1] ≥ 0∧i11284[1] + [-1] ≥ 0∧i9158[1] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD33388ARR17(&&(&&(&&(&&(>(i11284[1], 0), >(i9158[1], 0)), <(i9158[1], i6[1])), >(i9298[1], 0)), >(+(i9158[1], 1), 0)), java.lang.Object(ARRAY(i6[1], a80767data[1])), i9158[1], i9298[1], java.lang.Object(java.lang.String(i11284[1])))), ≥)∧[(-1)bni_34 + (-1)Bound*bni_34] + [bni_34]i9298[1] ≥ 0∧[1 + (-1)bso_35] ≥ 0)



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

    (11)    (i9158[1] ≥ 0∧i9298[1] + [-1] ≥ 0∧i6[1] + [-1] + [-1]i9158[1] ≥ 0∧i11284[1] + [-1] ≥ 0∧i9158[1] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD33388ARR17(&&(&&(&&(&&(>(i11284[1], 0), >(i9158[1], 0)), <(i9158[1], i6[1])), >(i9298[1], 0)), >(+(i9158[1], 1), 0)), java.lang.Object(ARRAY(i6[1], a80767data[1])), i9158[1], i9298[1], java.lang.Object(java.lang.String(i11284[1])))), ≥)∧0 = 0∧[(-1)bni_34 + (-1)Bound*bni_34] + [bni_34]i9298[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] + i9158[1] ≥ 0∧i9298[1] + [-1] ≥ 0∧i6[1] + [-2] + [-1]i9158[1] ≥ 0∧i11284[1] + [-1] ≥ 0∧i9158[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD33388ARR17(&&(&&(&&(&&(>(i11284[1], 0), >(i9158[1], 0)), <(i9158[1], i6[1])), >(i9298[1], 0)), >(+(i9158[1], 1), 0)), java.lang.Object(ARRAY(i6[1], a80767data[1])), i9158[1], i9298[1], java.lang.Object(java.lang.String(i11284[1])))), ≥)∧0 = 0∧[(-1)bni_34 + (-1)Bound*bni_34] + [bni_34]i9298[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] + i9158[1] ≥ 0∧i9298[1] ≥ 0∧i6[1] + [-2] + [-1]i9158[1] ≥ 0∧i11284[1] + [-1] ≥ 0∧i9158[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD33388ARR17(&&(&&(&&(&&(>(i11284[1], 0), >(i9158[1], 0)), <(i9158[1], i6[1])), >(i9298[1], 0)), >(+(i9158[1], 1), 0)), java.lang.Object(ARRAY(i6[1], a80767data[1])), i9158[1], i9298[1], java.lang.Object(java.lang.String(i11284[1])))), ≥)∧0 = 0∧[(-1)Bound*bni_34] + [bni_34]i9298[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] + i9158[1] ≥ 0∧i9298[1] ≥ 0∧i6[1] ≥ 0∧i11284[1] + [-1] ≥ 0∧i9158[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD33388ARR17(&&(&&(&&(&&(>(i11284[1], 0), >(i9158[1], 0)), <(i9158[1], i6[1])), >(i9298[1], 0)), >(+(i9158[1], 1), 0)), java.lang.Object(ARRAY(i6[1], a80767data[1])), i9158[1], i9298[1], java.lang.Object(java.lang.String(i11284[1])))), ≥)∧0 = 0∧[(-1)Bound*bni_34] + [bni_34]i9298[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] + i9158[1] ≥ 0∧i9298[1] ≥ 0∧i6[1] ≥ 0∧i11284[1] ≥ 0∧i9158[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD33388ARR17(&&(&&(&&(&&(>(i11284[1], 0), >(i9158[1], 0)), <(i9158[1], i6[1])), >(i9298[1], 0)), >(+(i9158[1], 1), 0)), java.lang.Object(ARRAY(i6[1], a80767data[1])), i9158[1], i9298[1], java.lang.Object(java.lang.String(i11284[1])))), ≥)∧0 = 0∧[(-1)Bound*bni_34] + [bni_34]i9298[1] ≥ 0∧0 = 0∧[1 + (-1)bso_35] ≥ 0)







For Pair COND_LOAD33388ARR17(TRUE, java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11284))) → JMP40068'(java.lang.Object(ARRAY(i6, a80767data)), +(i9158, 1), i9298) the following chains were created:
  • We consider the chain COND_LOAD33388ARR17(TRUE, java.lang.Object(ARRAY(i6[2], a80767data[2])), i9158[2], i9298[2], java.lang.Object(java.lang.String(i11284[2]))) → JMP40068'(java.lang.Object(ARRAY(i6[2], a80767data[2])), +(i9158[2], 1), i9298[2]) which results in the following constraint:

    (16)    (COND_LOAD33388ARR17(TRUE, java.lang.Object(ARRAY(i6[2], a80767data[2])), i9158[2], i9298[2], java.lang.Object(java.lang.String(i11284[2])))≥NonInfC∧COND_LOAD33388ARR17(TRUE, java.lang.Object(ARRAY(i6[2], a80767data[2])), i9158[2], i9298[2], java.lang.Object(java.lang.String(i11284[2])))≥JMP40068'(java.lang.Object(ARRAY(i6[2], a80767data[2])), +(i9158[2], 1), i9298[2])∧(UIncreasing(JMP40068'(java.lang.Object(ARRAY(i6[2], a80767data[2])), +(i9158[2], 1), i9298[2])), ≥))



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

    (17)    ((UIncreasing(JMP40068'(java.lang.Object(ARRAY(i6[2], a80767data[2])), +(i9158[2], 1), i9298[2])), ≥)∧[(-1)bso_37] ≥ 0)



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

    (18)    ((UIncreasing(JMP40068'(java.lang.Object(ARRAY(i6[2], a80767data[2])), +(i9158[2], 1), i9298[2])), ≥)∧[(-1)bso_37] ≥ 0)



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

    (19)    ((UIncreasing(JMP40068'(java.lang.Object(ARRAY(i6[2], a80767data[2])), +(i9158[2], 1), i9298[2])), ≥)∧[(-1)bso_37] ≥ 0)



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

    (20)    ((UIncreasing(JMP40068'(java.lang.Object(ARRAY(i6[2], a80767data[2])), +(i9158[2], 1), i9298[2])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_37] ≥ 0)







For Pair INC40187(java.lang.Object(ARRAY(i6, a80767data)), i10058, i9298) → LOAD33388(java.lang.Object(ARRAY(i6, a80767data)), i10058, +(i9298, -1)) the following chains were created:
  • We consider the chain INC40187(java.lang.Object(ARRAY(i6[3], a80767data[3])), i10058[3], i9298[3]) → LOAD33388(java.lang.Object(ARRAY(i6[3], a80767data[3])), i10058[3], +(i9298[3], -1)) which results in the following constraint:

    (21)    (INC40187(java.lang.Object(ARRAY(i6[3], a80767data[3])), i10058[3], i9298[3])≥NonInfC∧INC40187(java.lang.Object(ARRAY(i6[3], a80767data[3])), i10058[3], i9298[3])≥LOAD33388(java.lang.Object(ARRAY(i6[3], a80767data[3])), i10058[3], +(i9298[3], -1))∧(UIncreasing(LOAD33388(java.lang.Object(ARRAY(i6[3], a80767data[3])), i10058[3], +(i9298[3], -1))), ≥))



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

    (22)    ((UIncreasing(LOAD33388(java.lang.Object(ARRAY(i6[3], a80767data[3])), i10058[3], +(i9298[3], -1))), ≥)∧[(-1)bso_39] ≥ 0)



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

    (23)    ((UIncreasing(LOAD33388(java.lang.Object(ARRAY(i6[3], a80767data[3])), i10058[3], +(i9298[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(LOAD33388(java.lang.Object(ARRAY(i6[3], a80767data[3])), i10058[3], +(i9298[3], -1))), ≥)∧[(-1)bso_39] ≥ 0)



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

    (25)    ((UIncreasing(LOAD33388(java.lang.Object(ARRAY(i6[3], a80767data[3])), i10058[3], +(i9298[3], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_39] ≥ 0)







For Pair LOAD33388(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298) → LOAD33388ARR18(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11286))) the following chains were created:
  • We consider the chain LOAD33388(java.lang.Object(ARRAY(i6[4], a80767data[4])), i9158[4], i9298[4]) → LOAD33388ARR18(java.lang.Object(ARRAY(i6[4], a80767data[4])), i9158[4], i9298[4], java.lang.Object(java.lang.String(i11286[4]))) which results in the following constraint:

    (26)    (LOAD33388(java.lang.Object(ARRAY(i6[4], a80767data[4])), i9158[4], i9298[4])≥NonInfC∧LOAD33388(java.lang.Object(ARRAY(i6[4], a80767data[4])), i9158[4], i9298[4])≥LOAD33388ARR18(java.lang.Object(ARRAY(i6[4], a80767data[4])), i9158[4], i9298[4], java.lang.Object(java.lang.String(i11286[4])))∧(UIncreasing(LOAD33388ARR18(java.lang.Object(ARRAY(i6[4], a80767data[4])), i9158[4], i9298[4], java.lang.Object(java.lang.String(i11286[4])))), ≥))



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

    (27)    ((UIncreasing(LOAD33388ARR18(java.lang.Object(ARRAY(i6[4], a80767data[4])), i9158[4], i9298[4], java.lang.Object(java.lang.String(i11286[4])))), ≥)∧[1 + (-1)bso_41] ≥ 0)



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

    (28)    ((UIncreasing(LOAD33388ARR18(java.lang.Object(ARRAY(i6[4], a80767data[4])), i9158[4], i9298[4], java.lang.Object(java.lang.String(i11286[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(LOAD33388ARR18(java.lang.Object(ARRAY(i6[4], a80767data[4])), i9158[4], i9298[4], java.lang.Object(java.lang.String(i11286[4])))), ≥)∧[1 + (-1)bso_41] ≥ 0)



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

    (30)    ((UIncreasing(LOAD33388ARR18(java.lang.Object(ARRAY(i6[4], a80767data[4])), i9158[4], i9298[4], java.lang.Object(java.lang.String(i11286[4])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_41] ≥ 0)







For Pair LOAD33388ARR18(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11286))) → COND_LOAD33388ARR18(&&(&&(&&(&&(<=(i11286, 0), >(i9158, 0)), <(i9158, i6)), >(i9298, 0)), >(+(i9158, 1), 0)), java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11286))) the following chains were created:
  • We consider the chain LOAD33388ARR18(java.lang.Object(ARRAY(i6[5], a80767data[5])), i9158[5], i9298[5], java.lang.Object(java.lang.String(i11286[5]))) → COND_LOAD33388ARR18(&&(&&(&&(&&(<=(i11286[5], 0), >(i9158[5], 0)), <(i9158[5], i6[5])), >(i9298[5], 0)), >(+(i9158[5], 1), 0)), java.lang.Object(ARRAY(i6[5], a80767data[5])), i9158[5], i9298[5], java.lang.Object(java.lang.String(i11286[5]))), COND_LOAD33388ARR18(TRUE, java.lang.Object(ARRAY(i6[6], a80767data[6])), i9158[6], i9298[6], java.lang.Object(java.lang.String(i11286[6]))) → LOAD33388(java.lang.Object(ARRAY(i6[6], a80767data[6])), +(i9158[6], 1), +(i9298[6], -1)) which results in the following constraint:

    (31)    (&&(&&(&&(&&(<=(i11286[5], 0), >(i9158[5], 0)), <(i9158[5], i6[5])), >(i9298[5], 0)), >(+(i9158[5], 1), 0))=TRUEi11286[5]=i11286[6]i6[5]=i6[6]a80767data[5]=a80767data[6]i9158[5]=i9158[6]i9298[5]=i9298[6]LOAD33388ARR18(java.lang.Object(ARRAY(i6[5], a80767data[5])), i9158[5], i9298[5], java.lang.Object(java.lang.String(i11286[5])))≥NonInfC∧LOAD33388ARR18(java.lang.Object(ARRAY(i6[5], a80767data[5])), i9158[5], i9298[5], java.lang.Object(java.lang.String(i11286[5])))≥COND_LOAD33388ARR18(&&(&&(&&(&&(<=(i11286[5], 0), >(i9158[5], 0)), <(i9158[5], i6[5])), >(i9298[5], 0)), >(+(i9158[5], 1), 0)), java.lang.Object(ARRAY(i6[5], a80767data[5])), i9158[5], i9298[5], java.lang.Object(java.lang.String(i11286[5])))∧(UIncreasing(COND_LOAD33388ARR18(&&(&&(&&(&&(<=(i11286[5], 0), >(i9158[5], 0)), <(i9158[5], i6[5])), >(i9298[5], 0)), >(+(i9158[5], 1), 0)), java.lang.Object(ARRAY(i6[5], a80767data[5])), i9158[5], i9298[5], java.lang.Object(java.lang.String(i11286[5])))), ≥))



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

    (32)    (>(+(i9158[5], 1), 0)=TRUE>(i9298[5], 0)=TRUE<(i9158[5], i6[5])=TRUE<=(i11286[5], 0)=TRUE>(i9158[5], 0)=TRUELOAD33388ARR18(java.lang.Object(ARRAY(i6[5], a80767data[5])), i9158[5], i9298[5], java.lang.Object(java.lang.String(i11286[5])))≥NonInfC∧LOAD33388ARR18(java.lang.Object(ARRAY(i6[5], a80767data[5])), i9158[5], i9298[5], java.lang.Object(java.lang.String(i11286[5])))≥COND_LOAD33388ARR18(&&(&&(&&(&&(<=(i11286[5], 0), >(i9158[5], 0)), <(i9158[5], i6[5])), >(i9298[5], 0)), >(+(i9158[5], 1), 0)), java.lang.Object(ARRAY(i6[5], a80767data[5])), i9158[5], i9298[5], java.lang.Object(java.lang.String(i11286[5])))∧(UIncreasing(COND_LOAD33388ARR18(&&(&&(&&(&&(<=(i11286[5], 0), >(i9158[5], 0)), <(i9158[5], i6[5])), >(i9298[5], 0)), >(+(i9158[5], 1), 0)), java.lang.Object(ARRAY(i6[5], a80767data[5])), i9158[5], i9298[5], java.lang.Object(java.lang.String(i11286[5])))), ≥))



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

    (33)    (i9158[5] ≥ 0∧i9298[5] + [-1] ≥ 0∧i6[5] + [-1] + [-1]i9158[5] ≥ 0∧[-1]i11286[5] ≥ 0∧i9158[5] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD33388ARR18(&&(&&(&&(&&(<=(i11286[5], 0), >(i9158[5], 0)), <(i9158[5], i6[5])), >(i9298[5], 0)), >(+(i9158[5], 1), 0)), java.lang.Object(ARRAY(i6[5], a80767data[5])), i9158[5], i9298[5], java.lang.Object(java.lang.String(i11286[5])))), ≥)∧[(-2)bni_42 + (-1)Bound*bni_42] + [bni_42]i9298[5] ≥ 0∧[(-1)bso_43] ≥ 0)



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

    (34)    (i9158[5] ≥ 0∧i9298[5] + [-1] ≥ 0∧i6[5] + [-1] + [-1]i9158[5] ≥ 0∧[-1]i11286[5] ≥ 0∧i9158[5] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD33388ARR18(&&(&&(&&(&&(<=(i11286[5], 0), >(i9158[5], 0)), <(i9158[5], i6[5])), >(i9298[5], 0)), >(+(i9158[5], 1), 0)), java.lang.Object(ARRAY(i6[5], a80767data[5])), i9158[5], i9298[5], java.lang.Object(java.lang.String(i11286[5])))), ≥)∧[(-2)bni_42 + (-1)Bound*bni_42] + [bni_42]i9298[5] ≥ 0∧[(-1)bso_43] ≥ 0)



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

    (35)    (i9158[5] ≥ 0∧i9298[5] + [-1] ≥ 0∧i6[5] + [-1] + [-1]i9158[5] ≥ 0∧[-1]i11286[5] ≥ 0∧i9158[5] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD33388ARR18(&&(&&(&&(&&(<=(i11286[5], 0), >(i9158[5], 0)), <(i9158[5], i6[5])), >(i9298[5], 0)), >(+(i9158[5], 1), 0)), java.lang.Object(ARRAY(i6[5], a80767data[5])), i9158[5], i9298[5], java.lang.Object(java.lang.String(i11286[5])))), ≥)∧[(-2)bni_42 + (-1)Bound*bni_42] + [bni_42]i9298[5] ≥ 0∧[(-1)bso_43] ≥ 0)



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

    (36)    (i9158[5] ≥ 0∧i9298[5] + [-1] ≥ 0∧i6[5] + [-1] + [-1]i9158[5] ≥ 0∧[-1]i11286[5] ≥ 0∧i9158[5] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD33388ARR18(&&(&&(&&(&&(<=(i11286[5], 0), >(i9158[5], 0)), <(i9158[5], i6[5])), >(i9298[5], 0)), >(+(i9158[5], 1), 0)), java.lang.Object(ARRAY(i6[5], a80767data[5])), i9158[5], i9298[5], java.lang.Object(java.lang.String(i11286[5])))), ≥)∧0 = 0∧[(-2)bni_42 + (-1)Bound*bni_42] + [bni_42]i9298[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] + i9158[5] ≥ 0∧i9298[5] + [-1] ≥ 0∧i6[5] + [-2] + [-1]i9158[5] ≥ 0∧[-1]i11286[5] ≥ 0∧i9158[5] ≥ 0 ⇒ (UIncreasing(COND_LOAD33388ARR18(&&(&&(&&(&&(<=(i11286[5], 0), >(i9158[5], 0)), <(i9158[5], i6[5])), >(i9298[5], 0)), >(+(i9158[5], 1), 0)), java.lang.Object(ARRAY(i6[5], a80767data[5])), i9158[5], i9298[5], java.lang.Object(java.lang.String(i11286[5])))), ≥)∧0 = 0∧[(-2)bni_42 + (-1)Bound*bni_42] + [bni_42]i9298[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] + i9158[5] ≥ 0∧i9298[5] ≥ 0∧i6[5] + [-2] + [-1]i9158[5] ≥ 0∧[-1]i11286[5] ≥ 0∧i9158[5] ≥ 0 ⇒ (UIncreasing(COND_LOAD33388ARR18(&&(&&(&&(&&(<=(i11286[5], 0), >(i9158[5], 0)), <(i9158[5], i6[5])), >(i9298[5], 0)), >(+(i9158[5], 1), 0)), java.lang.Object(ARRAY(i6[5], a80767data[5])), i9158[5], i9298[5], java.lang.Object(java.lang.String(i11286[5])))), ≥)∧0 = 0∧[(-1)bni_42 + (-1)Bound*bni_42] + [bni_42]i9298[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] + i9158[5] ≥ 0∧i9298[5] ≥ 0∧i6[5] ≥ 0∧[-1]i11286[5] ≥ 0∧i9158[5] ≥ 0 ⇒ (UIncreasing(COND_LOAD33388ARR18(&&(&&(&&(&&(<=(i11286[5], 0), >(i9158[5], 0)), <(i9158[5], i6[5])), >(i9298[5], 0)), >(+(i9158[5], 1), 0)), java.lang.Object(ARRAY(i6[5], a80767data[5])), i9158[5], i9298[5], java.lang.Object(java.lang.String(i11286[5])))), ≥)∧0 = 0∧[(-1)bni_42 + (-1)Bound*bni_42] + [bni_42]i9298[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] + i9158[5] ≥ 0∧i9298[5] ≥ 0∧i6[5] ≥ 0∧i11286[5] ≥ 0∧i9158[5] ≥ 0 ⇒ (UIncreasing(COND_LOAD33388ARR18(&&(&&(&&(&&(<=(i11286[5], 0), >(i9158[5], 0)), <(i9158[5], i6[5])), >(i9298[5], 0)), >(+(i9158[5], 1), 0)), java.lang.Object(ARRAY(i6[5], a80767data[5])), i9158[5], i9298[5], java.lang.Object(java.lang.String(i11286[5])))), ≥)∧0 = 0∧[(-1)bni_42 + (-1)Bound*bni_42] + [bni_42]i9298[5] ≥ 0∧0 = 0∧[(-1)bso_43] ≥ 0)







For Pair COND_LOAD33388ARR18(TRUE, java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11286))) → LOAD33388(java.lang.Object(ARRAY(i6, a80767data)), +(i9158, 1), +(i9298, -1)) the following chains were created:
  • We consider the chain COND_LOAD33388ARR18(TRUE, java.lang.Object(ARRAY(i6[6], a80767data[6])), i9158[6], i9298[6], java.lang.Object(java.lang.String(i11286[6]))) → LOAD33388(java.lang.Object(ARRAY(i6[6], a80767data[6])), +(i9158[6], 1), +(i9298[6], -1)) which results in the following constraint:

    (41)    (COND_LOAD33388ARR18(TRUE, java.lang.Object(ARRAY(i6[6], a80767data[6])), i9158[6], i9298[6], java.lang.Object(java.lang.String(i11286[6])))≥NonInfC∧COND_LOAD33388ARR18(TRUE, java.lang.Object(ARRAY(i6[6], a80767data[6])), i9158[6], i9298[6], java.lang.Object(java.lang.String(i11286[6])))≥LOAD33388(java.lang.Object(ARRAY(i6[6], a80767data[6])), +(i9158[6], 1), +(i9298[6], -1))∧(UIncreasing(LOAD33388(java.lang.Object(ARRAY(i6[6], a80767data[6])), +(i9158[6], 1), +(i9298[6], -1))), ≥))



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

    (42)    ((UIncreasing(LOAD33388(java.lang.Object(ARRAY(i6[6], a80767data[6])), +(i9158[6], 1), +(i9298[6], -1))), ≥)∧[(-1)bso_45] ≥ 0)



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

    (43)    ((UIncreasing(LOAD33388(java.lang.Object(ARRAY(i6[6], a80767data[6])), +(i9158[6], 1), +(i9298[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(LOAD33388(java.lang.Object(ARRAY(i6[6], a80767data[6])), +(i9158[6], 1), +(i9298[6], -1))), ≥)∧[(-1)bso_45] ≥ 0)



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

    (45)    ((UIncreasing(LOAD33388(java.lang.Object(ARRAY(i6[6], a80767data[6])), +(i9158[6], 1), +(i9298[6], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_45] ≥ 0)







For Pair LOAD33388(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298) → LOAD33388ARR19(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11284))) the following chains were created:
  • We consider the chain LOAD33388(java.lang.Object(ARRAY(i6[7], a80767data[7])), i9158[7], i9298[7]) → LOAD33388ARR19(java.lang.Object(ARRAY(i6[7], a80767data[7])), i9158[7], i9298[7], java.lang.Object(java.lang.String(i11284[7]))) which results in the following constraint:

    (46)    (LOAD33388(java.lang.Object(ARRAY(i6[7], a80767data[7])), i9158[7], i9298[7])≥NonInfC∧LOAD33388(java.lang.Object(ARRAY(i6[7], a80767data[7])), i9158[7], i9298[7])≥LOAD33388ARR19(java.lang.Object(ARRAY(i6[7], a80767data[7])), i9158[7], i9298[7], java.lang.Object(java.lang.String(i11284[7])))∧(UIncreasing(LOAD33388ARR19(java.lang.Object(ARRAY(i6[7], a80767data[7])), i9158[7], i9298[7], java.lang.Object(java.lang.String(i11284[7])))), ≥))



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

    (47)    ((UIncreasing(LOAD33388ARR19(java.lang.Object(ARRAY(i6[7], a80767data[7])), i9158[7], i9298[7], java.lang.Object(java.lang.String(i11284[7])))), ≥)∧[1 + (-1)bso_47] ≥ 0)



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

    (48)    ((UIncreasing(LOAD33388ARR19(java.lang.Object(ARRAY(i6[7], a80767data[7])), i9158[7], i9298[7], java.lang.Object(java.lang.String(i11284[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(LOAD33388ARR19(java.lang.Object(ARRAY(i6[7], a80767data[7])), i9158[7], i9298[7], java.lang.Object(java.lang.String(i11284[7])))), ≥)∧[1 + (-1)bso_47] ≥ 0)



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

    (50)    ((UIncreasing(LOAD33388ARR19(java.lang.Object(ARRAY(i6[7], a80767data[7])), i9158[7], i9298[7], java.lang.Object(java.lang.String(i11284[7])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_47] ≥ 0)







For Pair LOAD33388ARR19(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11284))) → COND_LOAD33388ARR19(&&(&&(&&(&&(>(i11284, 0), >(i9158, 0)), <(i9158, i6)), >(i9298, 0)), >(+(i9158, 1), 0)), java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11284))) the following chains were created:
  • We consider the chain LOAD33388ARR19(java.lang.Object(ARRAY(i6[8], a80767data[8])), i9158[8], i9298[8], java.lang.Object(java.lang.String(i11284[8]))) → COND_LOAD33388ARR19(&&(&&(&&(&&(>(i11284[8], 0), >(i9158[8], 0)), <(i9158[8], i6[8])), >(i9298[8], 0)), >(+(i9158[8], 1), 0)), java.lang.Object(ARRAY(i6[8], a80767data[8])), i9158[8], i9298[8], java.lang.Object(java.lang.String(i11284[8]))), COND_LOAD33388ARR19(TRUE, java.lang.Object(ARRAY(i6[9], a80767data[9])), i9158[9], i9298[9], java.lang.Object(java.lang.String(i11284[9]))) → LOAD33388(java.lang.Object(ARRAY(i6[9], a80767data[9])), +(i9158[9], 1), +(i9298[9], -1)) which results in the following constraint:

    (51)    (i11284[8]=i11284[9]i9158[8]=i9158[9]i6[8]=i6[9]a80767data[8]=a80767data[9]i9298[8]=i9298[9]&&(&&(&&(&&(>(i11284[8], 0), >(i9158[8], 0)), <(i9158[8], i6[8])), >(i9298[8], 0)), >(+(i9158[8], 1), 0))=TRUELOAD33388ARR19(java.lang.Object(ARRAY(i6[8], a80767data[8])), i9158[8], i9298[8], java.lang.Object(java.lang.String(i11284[8])))≥NonInfC∧LOAD33388ARR19(java.lang.Object(ARRAY(i6[8], a80767data[8])), i9158[8], i9298[8], java.lang.Object(java.lang.String(i11284[8])))≥COND_LOAD33388ARR19(&&(&&(&&(&&(>(i11284[8], 0), >(i9158[8], 0)), <(i9158[8], i6[8])), >(i9298[8], 0)), >(+(i9158[8], 1), 0)), java.lang.Object(ARRAY(i6[8], a80767data[8])), i9158[8], i9298[8], java.lang.Object(java.lang.String(i11284[8])))∧(UIncreasing(COND_LOAD33388ARR19(&&(&&(&&(&&(>(i11284[8], 0), >(i9158[8], 0)), <(i9158[8], i6[8])), >(i9298[8], 0)), >(+(i9158[8], 1), 0)), java.lang.Object(ARRAY(i6[8], a80767data[8])), i9158[8], i9298[8], java.lang.Object(java.lang.String(i11284[8])))), ≥))



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

    (52)    (>(+(i9158[8], 1), 0)=TRUE>(i9298[8], 0)=TRUE<(i9158[8], i6[8])=TRUE>(i11284[8], 0)=TRUE>(i9158[8], 0)=TRUELOAD33388ARR19(java.lang.Object(ARRAY(i6[8], a80767data[8])), i9158[8], i9298[8], java.lang.Object(java.lang.String(i11284[8])))≥NonInfC∧LOAD33388ARR19(java.lang.Object(ARRAY(i6[8], a80767data[8])), i9158[8], i9298[8], java.lang.Object(java.lang.String(i11284[8])))≥COND_LOAD33388ARR19(&&(&&(&&(&&(>(i11284[8], 0), >(i9158[8], 0)), <(i9158[8], i6[8])), >(i9298[8], 0)), >(+(i9158[8], 1), 0)), java.lang.Object(ARRAY(i6[8], a80767data[8])), i9158[8], i9298[8], java.lang.Object(java.lang.String(i11284[8])))∧(UIncreasing(COND_LOAD33388ARR19(&&(&&(&&(&&(>(i11284[8], 0), >(i9158[8], 0)), <(i9158[8], i6[8])), >(i9298[8], 0)), >(+(i9158[8], 1), 0)), java.lang.Object(ARRAY(i6[8], a80767data[8])), i9158[8], i9298[8], java.lang.Object(java.lang.String(i11284[8])))), ≥))



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

    (53)    (i9158[8] ≥ 0∧i9298[8] + [-1] ≥ 0∧i6[8] + [-1] + [-1]i9158[8] ≥ 0∧i11284[8] + [-1] ≥ 0∧i9158[8] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD33388ARR19(&&(&&(&&(&&(>(i11284[8], 0), >(i9158[8], 0)), <(i9158[8], i6[8])), >(i9298[8], 0)), >(+(i9158[8], 1), 0)), java.lang.Object(ARRAY(i6[8], a80767data[8])), i9158[8], i9298[8], java.lang.Object(java.lang.String(i11284[8])))), ≥)∧[(-2)bni_48 + (-1)Bound*bni_48] + [bni_48]i9298[8] ≥ 0∧[(-1)bso_49] ≥ 0)



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

    (54)    (i9158[8] ≥ 0∧i9298[8] + [-1] ≥ 0∧i6[8] + [-1] + [-1]i9158[8] ≥ 0∧i11284[8] + [-1] ≥ 0∧i9158[8] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD33388ARR19(&&(&&(&&(&&(>(i11284[8], 0), >(i9158[8], 0)), <(i9158[8], i6[8])), >(i9298[8], 0)), >(+(i9158[8], 1), 0)), java.lang.Object(ARRAY(i6[8], a80767data[8])), i9158[8], i9298[8], java.lang.Object(java.lang.String(i11284[8])))), ≥)∧[(-2)bni_48 + (-1)Bound*bni_48] + [bni_48]i9298[8] ≥ 0∧[(-1)bso_49] ≥ 0)



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

    (55)    (i9158[8] ≥ 0∧i9298[8] + [-1] ≥ 0∧i6[8] + [-1] + [-1]i9158[8] ≥ 0∧i11284[8] + [-1] ≥ 0∧i9158[8] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD33388ARR19(&&(&&(&&(&&(>(i11284[8], 0), >(i9158[8], 0)), <(i9158[8], i6[8])), >(i9298[8], 0)), >(+(i9158[8], 1), 0)), java.lang.Object(ARRAY(i6[8], a80767data[8])), i9158[8], i9298[8], java.lang.Object(java.lang.String(i11284[8])))), ≥)∧[(-2)bni_48 + (-1)Bound*bni_48] + [bni_48]i9298[8] ≥ 0∧[(-1)bso_49] ≥ 0)



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

    (56)    (i9158[8] ≥ 0∧i9298[8] + [-1] ≥ 0∧i6[8] + [-1] + [-1]i9158[8] ≥ 0∧i11284[8] + [-1] ≥ 0∧i9158[8] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD33388ARR19(&&(&&(&&(&&(>(i11284[8], 0), >(i9158[8], 0)), <(i9158[8], i6[8])), >(i9298[8], 0)), >(+(i9158[8], 1), 0)), java.lang.Object(ARRAY(i6[8], a80767data[8])), i9158[8], i9298[8], java.lang.Object(java.lang.String(i11284[8])))), ≥)∧0 = 0∧[(-2)bni_48 + (-1)Bound*bni_48] + [bni_48]i9298[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] + i9158[8] ≥ 0∧i9298[8] + [-1] ≥ 0∧i6[8] + [-2] + [-1]i9158[8] ≥ 0∧i11284[8] + [-1] ≥ 0∧i9158[8] ≥ 0 ⇒ (UIncreasing(COND_LOAD33388ARR19(&&(&&(&&(&&(>(i11284[8], 0), >(i9158[8], 0)), <(i9158[8], i6[8])), >(i9298[8], 0)), >(+(i9158[8], 1), 0)), java.lang.Object(ARRAY(i6[8], a80767data[8])), i9158[8], i9298[8], java.lang.Object(java.lang.String(i11284[8])))), ≥)∧0 = 0∧[(-2)bni_48 + (-1)Bound*bni_48] + [bni_48]i9298[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] + i9158[8] ≥ 0∧i9298[8] ≥ 0∧i6[8] + [-2] + [-1]i9158[8] ≥ 0∧i11284[8] + [-1] ≥ 0∧i9158[8] ≥ 0 ⇒ (UIncreasing(COND_LOAD33388ARR19(&&(&&(&&(&&(>(i11284[8], 0), >(i9158[8], 0)), <(i9158[8], i6[8])), >(i9298[8], 0)), >(+(i9158[8], 1), 0)), java.lang.Object(ARRAY(i6[8], a80767data[8])), i9158[8], i9298[8], java.lang.Object(java.lang.String(i11284[8])))), ≥)∧0 = 0∧[(-1)bni_48 + (-1)Bound*bni_48] + [bni_48]i9298[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] + i9158[8] ≥ 0∧i9298[8] ≥ 0∧i6[8] ≥ 0∧i11284[8] + [-1] ≥ 0∧i9158[8] ≥ 0 ⇒ (UIncreasing(COND_LOAD33388ARR19(&&(&&(&&(&&(>(i11284[8], 0), >(i9158[8], 0)), <(i9158[8], i6[8])), >(i9298[8], 0)), >(+(i9158[8], 1), 0)), java.lang.Object(ARRAY(i6[8], a80767data[8])), i9158[8], i9298[8], java.lang.Object(java.lang.String(i11284[8])))), ≥)∧0 = 0∧[(-1)bni_48 + (-1)Bound*bni_48] + [bni_48]i9298[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] + i9158[8] ≥ 0∧i9298[8] ≥ 0∧i6[8] ≥ 0∧i11284[8] ≥ 0∧i9158[8] ≥ 0 ⇒ (UIncreasing(COND_LOAD33388ARR19(&&(&&(&&(&&(>(i11284[8], 0), >(i9158[8], 0)), <(i9158[8], i6[8])), >(i9298[8], 0)), >(+(i9158[8], 1), 0)), java.lang.Object(ARRAY(i6[8], a80767data[8])), i9158[8], i9298[8], java.lang.Object(java.lang.String(i11284[8])))), ≥)∧0 = 0∧[(-1)bni_48 + (-1)Bound*bni_48] + [bni_48]i9298[8] ≥ 0∧0 = 0∧[(-1)bso_49] ≥ 0)







For Pair COND_LOAD33388ARR19(TRUE, java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11284))) → LOAD33388(java.lang.Object(ARRAY(i6, a80767data)), +(i9158, 1), +(i9298, -1)) the following chains were created:
  • We consider the chain COND_LOAD33388ARR19(TRUE, java.lang.Object(ARRAY(i6[9], a80767data[9])), i9158[9], i9298[9], java.lang.Object(java.lang.String(i11284[9]))) → LOAD33388(java.lang.Object(ARRAY(i6[9], a80767data[9])), +(i9158[9], 1), +(i9298[9], -1)) which results in the following constraint:

    (61)    (COND_LOAD33388ARR19(TRUE, java.lang.Object(ARRAY(i6[9], a80767data[9])), i9158[9], i9298[9], java.lang.Object(java.lang.String(i11284[9])))≥NonInfC∧COND_LOAD33388ARR19(TRUE, java.lang.Object(ARRAY(i6[9], a80767data[9])), i9158[9], i9298[9], java.lang.Object(java.lang.String(i11284[9])))≥LOAD33388(java.lang.Object(ARRAY(i6[9], a80767data[9])), +(i9158[9], 1), +(i9298[9], -1))∧(UIncreasing(LOAD33388(java.lang.Object(ARRAY(i6[9], a80767data[9])), +(i9158[9], 1), +(i9298[9], -1))), ≥))



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

    (62)    ((UIncreasing(LOAD33388(java.lang.Object(ARRAY(i6[9], a80767data[9])), +(i9158[9], 1), +(i9298[9], -1))), ≥)∧[(-1)bso_51] ≥ 0)



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

    (63)    ((UIncreasing(LOAD33388(java.lang.Object(ARRAY(i6[9], a80767data[9])), +(i9158[9], 1), +(i9298[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(LOAD33388(java.lang.Object(ARRAY(i6[9], a80767data[9])), +(i9158[9], 1), +(i9298[9], -1))), ≥)∧[(-1)bso_51] ≥ 0)



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

    (65)    ((UIncreasing(LOAD33388(java.lang.Object(ARRAY(i6[9], a80767data[9])), +(i9158[9], 1), +(i9298[9], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_51] ≥ 0)







For Pair JMP40068'(java.lang.Object(ARRAY(i6, a80767data)), i10058, i9298) → INC40187(java.lang.Object(ARRAY(i6, a80767data)), i10058, i9298) the following chains were created:
  • We consider the chain JMP40068'(java.lang.Object(ARRAY(i6[10], a80767data[10])), i10058[10], i9298[10]) → INC40187(java.lang.Object(ARRAY(i6[10], a80767data[10])), i10058[10], i9298[10]), INC40187(java.lang.Object(ARRAY(i6[3], a80767data[3])), i10058[3], i9298[3]) → LOAD33388(java.lang.Object(ARRAY(i6[3], a80767data[3])), i10058[3], +(i9298[3], -1)) which results in the following constraint:

    (66)    (i9298[10]=i9298[3]i10058[10]=i10058[3]i6[10]=i6[3]a80767data[10]=a80767data[3]JMP40068'(java.lang.Object(ARRAY(i6[10], a80767data[10])), i10058[10], i9298[10])≥NonInfC∧JMP40068'(java.lang.Object(ARRAY(i6[10], a80767data[10])), i10058[10], i9298[10])≥INC40187(java.lang.Object(ARRAY(i6[10], a80767data[10])), i10058[10], i9298[10])∧(UIncreasing(INC40187(java.lang.Object(ARRAY(i6[10], a80767data[10])), i10058[10], i9298[10])), ≥))



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

    (67)    (JMP40068'(java.lang.Object(ARRAY(i6[10], a80767data[10])), i10058[10], i9298[10])≥NonInfC∧JMP40068'(java.lang.Object(ARRAY(i6[10], a80767data[10])), i10058[10], i9298[10])≥INC40187(java.lang.Object(ARRAY(i6[10], a80767data[10])), i10058[10], i9298[10])∧(UIncreasing(INC40187(java.lang.Object(ARRAY(i6[10], a80767data[10])), i10058[10], i9298[10])), ≥))



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

    (68)    ((UIncreasing(INC40187(java.lang.Object(ARRAY(i6[10], a80767data[10])), i10058[10], i9298[10])), ≥)∧[(-1)bso_53] ≥ 0)



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

    (69)    ((UIncreasing(INC40187(java.lang.Object(ARRAY(i6[10], a80767data[10])), i10058[10], i9298[10])), ≥)∧[(-1)bso_53] ≥ 0)



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

    (70)    ((UIncreasing(INC40187(java.lang.Object(ARRAY(i6[10], a80767data[10])), i10058[10], i9298[10])), ≥)∧[(-1)bso_53] ≥ 0)



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

    (71)    ((UIncreasing(INC40187(java.lang.Object(ARRAY(i6[10], a80767data[10])), i10058[10], i9298[10])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_53] ≥ 0)







For Pair LOAD33388(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298) → LOAD33388ARR20(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11284))) the following chains were created:
  • We consider the chain LOAD33388(java.lang.Object(ARRAY(i6[11], a80767data[11])), i9158[11], i9298[11]) → LOAD33388ARR20(java.lang.Object(ARRAY(i6[11], a80767data[11])), i9158[11], i9298[11], java.lang.Object(java.lang.String(i11284[11]))) which results in the following constraint:

    (72)    (LOAD33388(java.lang.Object(ARRAY(i6[11], a80767data[11])), i9158[11], i9298[11])≥NonInfC∧LOAD33388(java.lang.Object(ARRAY(i6[11], a80767data[11])), i9158[11], i9298[11])≥LOAD33388ARR20(java.lang.Object(ARRAY(i6[11], a80767data[11])), i9158[11], i9298[11], java.lang.Object(java.lang.String(i11284[11])))∧(UIncreasing(LOAD33388ARR20(java.lang.Object(ARRAY(i6[11], a80767data[11])), i9158[11], i9298[11], java.lang.Object(java.lang.String(i11284[11])))), ≥))



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

    (73)    ((UIncreasing(LOAD33388ARR20(java.lang.Object(ARRAY(i6[11], a80767data[11])), i9158[11], i9298[11], java.lang.Object(java.lang.String(i11284[11])))), ≥)∧[(-1)bso_55] ≥ 0)



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

    (74)    ((UIncreasing(LOAD33388ARR20(java.lang.Object(ARRAY(i6[11], a80767data[11])), i9158[11], i9298[11], java.lang.Object(java.lang.String(i11284[11])))), ≥)∧[(-1)bso_55] ≥ 0)



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

    (75)    ((UIncreasing(LOAD33388ARR20(java.lang.Object(ARRAY(i6[11], a80767data[11])), i9158[11], i9298[11], java.lang.Object(java.lang.String(i11284[11])))), ≥)∧[(-1)bso_55] ≥ 0)



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

    (76)    ((UIncreasing(LOAD33388ARR20(java.lang.Object(ARRAY(i6[11], a80767data[11])), i9158[11], i9298[11], java.lang.Object(java.lang.String(i11284[11])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_55] ≥ 0)







For Pair LOAD33388ARR20(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11284))) → COND_LOAD33388ARR20(&&(&&(&&(&&(>(i11284, 0), >(i9158, 0)), <(i9158, i6)), >(i9298, 0)), >(+(i9158, 1), 0)), java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11284))) the following chains were created:
  • We consider the chain LOAD33388ARR20(java.lang.Object(ARRAY(i6[12], a80767data[12])), i9158[12], i9298[12], java.lang.Object(java.lang.String(i11284[12]))) → COND_LOAD33388ARR20(&&(&&(&&(&&(>(i11284[12], 0), >(i9158[12], 0)), <(i9158[12], i6[12])), >(i9298[12], 0)), >(+(i9158[12], 1), 0)), java.lang.Object(ARRAY(i6[12], a80767data[12])), i9158[12], i9298[12], java.lang.Object(java.lang.String(i11284[12]))), COND_LOAD33388ARR20(TRUE, java.lang.Object(ARRAY(i6[13], a80767data[13])), i9158[13], i9298[13], java.lang.Object(java.lang.String(i11284[13]))) → INC40187(java.lang.Object(ARRAY(i6[13], a80767data[13])), +(i9158[13], 1), i9298[13]) which results in the following constraint:

    (77)    (i9298[12]=i9298[13]&&(&&(&&(&&(>(i11284[12], 0), >(i9158[12], 0)), <(i9158[12], i6[12])), >(i9298[12], 0)), >(+(i9158[12], 1), 0))=TRUEi9158[12]=i9158[13]i11284[12]=i11284[13]i6[12]=i6[13]a80767data[12]=a80767data[13]LOAD33388ARR20(java.lang.Object(ARRAY(i6[12], a80767data[12])), i9158[12], i9298[12], java.lang.Object(java.lang.String(i11284[12])))≥NonInfC∧LOAD33388ARR20(java.lang.Object(ARRAY(i6[12], a80767data[12])), i9158[12], i9298[12], java.lang.Object(java.lang.String(i11284[12])))≥COND_LOAD33388ARR20(&&(&&(&&(&&(>(i11284[12], 0), >(i9158[12], 0)), <(i9158[12], i6[12])), >(i9298[12], 0)), >(+(i9158[12], 1), 0)), java.lang.Object(ARRAY(i6[12], a80767data[12])), i9158[12], i9298[12], java.lang.Object(java.lang.String(i11284[12])))∧(UIncreasing(COND_LOAD33388ARR20(&&(&&(&&(&&(>(i11284[12], 0), >(i9158[12], 0)), <(i9158[12], i6[12])), >(i9298[12], 0)), >(+(i9158[12], 1), 0)), java.lang.Object(ARRAY(i6[12], a80767data[12])), i9158[12], i9298[12], java.lang.Object(java.lang.String(i11284[12])))), ≥))



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

    (78)    (>(+(i9158[12], 1), 0)=TRUE>(i9298[12], 0)=TRUE<(i9158[12], i6[12])=TRUE>(i11284[12], 0)=TRUE>(i9158[12], 0)=TRUELOAD33388ARR20(java.lang.Object(ARRAY(i6[12], a80767data[12])), i9158[12], i9298[12], java.lang.Object(java.lang.String(i11284[12])))≥NonInfC∧LOAD33388ARR20(java.lang.Object(ARRAY(i6[12], a80767data[12])), i9158[12], i9298[12], java.lang.Object(java.lang.String(i11284[12])))≥COND_LOAD33388ARR20(&&(&&(&&(&&(>(i11284[12], 0), >(i9158[12], 0)), <(i9158[12], i6[12])), >(i9298[12], 0)), >(+(i9158[12], 1), 0)), java.lang.Object(ARRAY(i6[12], a80767data[12])), i9158[12], i9298[12], java.lang.Object(java.lang.String(i11284[12])))∧(UIncreasing(COND_LOAD33388ARR20(&&(&&(&&(&&(>(i11284[12], 0), >(i9158[12], 0)), <(i9158[12], i6[12])), >(i9298[12], 0)), >(+(i9158[12], 1), 0)), java.lang.Object(ARRAY(i6[12], a80767data[12])), i9158[12], i9298[12], java.lang.Object(java.lang.String(i11284[12])))), ≥))



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

    (79)    (i9158[12] ≥ 0∧i9298[12] + [-1] ≥ 0∧i6[12] + [-1] + [-1]i9158[12] ≥ 0∧i11284[12] + [-1] ≥ 0∧i9158[12] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD33388ARR20(&&(&&(&&(&&(>(i11284[12], 0), >(i9158[12], 0)), <(i9158[12], i6[12])), >(i9298[12], 0)), >(+(i9158[12], 1), 0)), java.lang.Object(ARRAY(i6[12], a80767data[12])), i9158[12], i9298[12], java.lang.Object(java.lang.String(i11284[12])))), ≥)∧[(-1)bni_56 + (-1)Bound*bni_56] + [bni_56]i9298[12] ≥ 0∧[1 + (-1)bso_57] ≥ 0)



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

    (80)    (i9158[12] ≥ 0∧i9298[12] + [-1] ≥ 0∧i6[12] + [-1] + [-1]i9158[12] ≥ 0∧i11284[12] + [-1] ≥ 0∧i9158[12] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD33388ARR20(&&(&&(&&(&&(>(i11284[12], 0), >(i9158[12], 0)), <(i9158[12], i6[12])), >(i9298[12], 0)), >(+(i9158[12], 1), 0)), java.lang.Object(ARRAY(i6[12], a80767data[12])), i9158[12], i9298[12], java.lang.Object(java.lang.String(i11284[12])))), ≥)∧[(-1)bni_56 + (-1)Bound*bni_56] + [bni_56]i9298[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)    (i9158[12] ≥ 0∧i9298[12] + [-1] ≥ 0∧i6[12] + [-1] + [-1]i9158[12] ≥ 0∧i11284[12] + [-1] ≥ 0∧i9158[12] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD33388ARR20(&&(&&(&&(&&(>(i11284[12], 0), >(i9158[12], 0)), <(i9158[12], i6[12])), >(i9298[12], 0)), >(+(i9158[12], 1), 0)), java.lang.Object(ARRAY(i6[12], a80767data[12])), i9158[12], i9298[12], java.lang.Object(java.lang.String(i11284[12])))), ≥)∧[(-1)bni_56 + (-1)Bound*bni_56] + [bni_56]i9298[12] ≥ 0∧[1 + (-1)bso_57] ≥ 0)



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

    (82)    (i9158[12] ≥ 0∧i9298[12] + [-1] ≥ 0∧i6[12] + [-1] + [-1]i9158[12] ≥ 0∧i11284[12] + [-1] ≥ 0∧i9158[12] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD33388ARR20(&&(&&(&&(&&(>(i11284[12], 0), >(i9158[12], 0)), <(i9158[12], i6[12])), >(i9298[12], 0)), >(+(i9158[12], 1), 0)), java.lang.Object(ARRAY(i6[12], a80767data[12])), i9158[12], i9298[12], java.lang.Object(java.lang.String(i11284[12])))), ≥)∧0 = 0∧[(-1)bni_56 + (-1)Bound*bni_56] + [bni_56]i9298[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] + i9158[12] ≥ 0∧i9298[12] + [-1] ≥ 0∧i6[12] + [-2] + [-1]i9158[12] ≥ 0∧i11284[12] + [-1] ≥ 0∧i9158[12] ≥ 0 ⇒ (UIncreasing(COND_LOAD33388ARR20(&&(&&(&&(&&(>(i11284[12], 0), >(i9158[12], 0)), <(i9158[12], i6[12])), >(i9298[12], 0)), >(+(i9158[12], 1), 0)), java.lang.Object(ARRAY(i6[12], a80767data[12])), i9158[12], i9298[12], java.lang.Object(java.lang.String(i11284[12])))), ≥)∧0 = 0∧[(-1)bni_56 + (-1)Bound*bni_56] + [bni_56]i9298[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] + i9158[12] ≥ 0∧i9298[12] ≥ 0∧i6[12] + [-2] + [-1]i9158[12] ≥ 0∧i11284[12] + [-1] ≥ 0∧i9158[12] ≥ 0 ⇒ (UIncreasing(COND_LOAD33388ARR20(&&(&&(&&(&&(>(i11284[12], 0), >(i9158[12], 0)), <(i9158[12], i6[12])), >(i9298[12], 0)), >(+(i9158[12], 1), 0)), java.lang.Object(ARRAY(i6[12], a80767data[12])), i9158[12], i9298[12], java.lang.Object(java.lang.String(i11284[12])))), ≥)∧0 = 0∧[(-1)Bound*bni_56] + [bni_56]i9298[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] + i9158[12] ≥ 0∧i9298[12] ≥ 0∧i6[12] ≥ 0∧i11284[12] + [-1] ≥ 0∧i9158[12] ≥ 0 ⇒ (UIncreasing(COND_LOAD33388ARR20(&&(&&(&&(&&(>(i11284[12], 0), >(i9158[12], 0)), <(i9158[12], i6[12])), >(i9298[12], 0)), >(+(i9158[12], 1), 0)), java.lang.Object(ARRAY(i6[12], a80767data[12])), i9158[12], i9298[12], java.lang.Object(java.lang.String(i11284[12])))), ≥)∧0 = 0∧[(-1)Bound*bni_56] + [bni_56]i9298[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] + i9158[12] ≥ 0∧i9298[12] ≥ 0∧i6[12] ≥ 0∧i11284[12] ≥ 0∧i9158[12] ≥ 0 ⇒ (UIncreasing(COND_LOAD33388ARR20(&&(&&(&&(&&(>(i11284[12], 0), >(i9158[12], 0)), <(i9158[12], i6[12])), >(i9298[12], 0)), >(+(i9158[12], 1), 0)), java.lang.Object(ARRAY(i6[12], a80767data[12])), i9158[12], i9298[12], java.lang.Object(java.lang.String(i11284[12])))), ≥)∧0 = 0∧[(-1)Bound*bni_56] + [bni_56]i9298[12] ≥ 0∧0 = 0∧[1 + (-1)bso_57] ≥ 0)







For Pair COND_LOAD33388ARR20(TRUE, java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11284))) → INC40187(java.lang.Object(ARRAY(i6, a80767data)), +(i9158, 1), i9298) the following chains were created:
  • We consider the chain COND_LOAD33388ARR20(TRUE, java.lang.Object(ARRAY(i6[13], a80767data[13])), i9158[13], i9298[13], java.lang.Object(java.lang.String(i11284[13]))) → INC40187(java.lang.Object(ARRAY(i6[13], a80767data[13])), +(i9158[13], 1), i9298[13]) which results in the following constraint:

    (87)    (COND_LOAD33388ARR20(TRUE, java.lang.Object(ARRAY(i6[13], a80767data[13])), i9158[13], i9298[13], java.lang.Object(java.lang.String(i11284[13])))≥NonInfC∧COND_LOAD33388ARR20(TRUE, java.lang.Object(ARRAY(i6[13], a80767data[13])), i9158[13], i9298[13], java.lang.Object(java.lang.String(i11284[13])))≥INC40187(java.lang.Object(ARRAY(i6[13], a80767data[13])), +(i9158[13], 1), i9298[13])∧(UIncreasing(INC40187(java.lang.Object(ARRAY(i6[13], a80767data[13])), +(i9158[13], 1), i9298[13])), ≥))



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

    (88)    ((UIncreasing(INC40187(java.lang.Object(ARRAY(i6[13], a80767data[13])), +(i9158[13], 1), i9298[13])), ≥)∧[(-1)bso_59] ≥ 0)



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

    (89)    ((UIncreasing(INC40187(java.lang.Object(ARRAY(i6[13], a80767data[13])), +(i9158[13], 1), i9298[13])), ≥)∧[(-1)bso_59] ≥ 0)



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

    (90)    ((UIncreasing(INC40187(java.lang.Object(ARRAY(i6[13], a80767data[13])), +(i9158[13], 1), i9298[13])), ≥)∧[(-1)bso_59] ≥ 0)



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

    (91)    ((UIncreasing(INC40187(java.lang.Object(ARRAY(i6[13], a80767data[13])), +(i9158[13], 1), i9298[13])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_59] ≥ 0)







For Pair LOAD33388(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298) → LOAD33388ARR21(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11286))) the following chains were created:
  • We consider the chain LOAD33388(java.lang.Object(ARRAY(i6[14], a80767data[14])), i9158[14], i9298[14]) → LOAD33388ARR21(java.lang.Object(ARRAY(i6[14], a80767data[14])), i9158[14], i9298[14], java.lang.Object(java.lang.String(i11286[14]))) which results in the following constraint:

    (92)    (LOAD33388(java.lang.Object(ARRAY(i6[14], a80767data[14])), i9158[14], i9298[14])≥NonInfC∧LOAD33388(java.lang.Object(ARRAY(i6[14], a80767data[14])), i9158[14], i9298[14])≥LOAD33388ARR21(java.lang.Object(ARRAY(i6[14], a80767data[14])), i9158[14], i9298[14], java.lang.Object(java.lang.String(i11286[14])))∧(UIncreasing(LOAD33388ARR21(java.lang.Object(ARRAY(i6[14], a80767data[14])), i9158[14], i9298[14], java.lang.Object(java.lang.String(i11286[14])))), ≥))



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

    (93)    ((UIncreasing(LOAD33388ARR21(java.lang.Object(ARRAY(i6[14], a80767data[14])), i9158[14], i9298[14], java.lang.Object(java.lang.String(i11286[14])))), ≥)∧[1 + (-1)bso_61] ≥ 0)



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

    (94)    ((UIncreasing(LOAD33388ARR21(java.lang.Object(ARRAY(i6[14], a80767data[14])), i9158[14], i9298[14], java.lang.Object(java.lang.String(i11286[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(LOAD33388ARR21(java.lang.Object(ARRAY(i6[14], a80767data[14])), i9158[14], i9298[14], java.lang.Object(java.lang.String(i11286[14])))), ≥)∧[1 + (-1)bso_61] ≥ 0)



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

    (96)    ((UIncreasing(LOAD33388ARR21(java.lang.Object(ARRAY(i6[14], a80767data[14])), i9158[14], i9298[14], java.lang.Object(java.lang.String(i11286[14])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_61] ≥ 0)







For Pair LOAD33388ARR21(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11286))) → COND_LOAD33388ARR21(&&(&&(&&(&&(<=(i11286, 0), >(i9158, 0)), <(i9158, i6)), >(i9298, 0)), >(+(i9158, 1), 0)), java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11286))) the following chains were created:
  • We consider the chain LOAD33388ARR21(java.lang.Object(ARRAY(i6[15], a80767data[15])), i9158[15], i9298[15], java.lang.Object(java.lang.String(i11286[15]))) → COND_LOAD33388ARR21(&&(&&(&&(&&(<=(i11286[15], 0), >(i9158[15], 0)), <(i9158[15], i6[15])), >(i9298[15], 0)), >(+(i9158[15], 1), 0)), java.lang.Object(ARRAY(i6[15], a80767data[15])), i9158[15], i9298[15], java.lang.Object(java.lang.String(i11286[15]))), COND_LOAD33388ARR21(TRUE, java.lang.Object(ARRAY(i6[16], a80767data[16])), i9158[16], i9298[16], java.lang.Object(java.lang.String(i11286[16]))) → INC40187(java.lang.Object(ARRAY(i6[16], a80767data[16])), +(i9158[16], 1), i9298[16]) which results in the following constraint:

    (97)    (i6[15]=i6[16]a80767data[15]=a80767data[16]i11286[15]=i11286[16]&&(&&(&&(&&(<=(i11286[15], 0), >(i9158[15], 0)), <(i9158[15], i6[15])), >(i9298[15], 0)), >(+(i9158[15], 1), 0))=TRUEi9298[15]=i9298[16]i9158[15]=i9158[16]LOAD33388ARR21(java.lang.Object(ARRAY(i6[15], a80767data[15])), i9158[15], i9298[15], java.lang.Object(java.lang.String(i11286[15])))≥NonInfC∧LOAD33388ARR21(java.lang.Object(ARRAY(i6[15], a80767data[15])), i9158[15], i9298[15], java.lang.Object(java.lang.String(i11286[15])))≥COND_LOAD33388ARR21(&&(&&(&&(&&(<=(i11286[15], 0), >(i9158[15], 0)), <(i9158[15], i6[15])), >(i9298[15], 0)), >(+(i9158[15], 1), 0)), java.lang.Object(ARRAY(i6[15], a80767data[15])), i9158[15], i9298[15], java.lang.Object(java.lang.String(i11286[15])))∧(UIncreasing(COND_LOAD33388ARR21(&&(&&(&&(&&(<=(i11286[15], 0), >(i9158[15], 0)), <(i9158[15], i6[15])), >(i9298[15], 0)), >(+(i9158[15], 1), 0)), java.lang.Object(ARRAY(i6[15], a80767data[15])), i9158[15], i9298[15], java.lang.Object(java.lang.String(i11286[15])))), ≥))



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

    (98)    (>(+(i9158[15], 1), 0)=TRUE>(i9298[15], 0)=TRUE<(i9158[15], i6[15])=TRUE<=(i11286[15], 0)=TRUE>(i9158[15], 0)=TRUELOAD33388ARR21(java.lang.Object(ARRAY(i6[15], a80767data[15])), i9158[15], i9298[15], java.lang.Object(java.lang.String(i11286[15])))≥NonInfC∧LOAD33388ARR21(java.lang.Object(ARRAY(i6[15], a80767data[15])), i9158[15], i9298[15], java.lang.Object(java.lang.String(i11286[15])))≥COND_LOAD33388ARR21(&&(&&(&&(&&(<=(i11286[15], 0), >(i9158[15], 0)), <(i9158[15], i6[15])), >(i9298[15], 0)), >(+(i9158[15], 1), 0)), java.lang.Object(ARRAY(i6[15], a80767data[15])), i9158[15], i9298[15], java.lang.Object(java.lang.String(i11286[15])))∧(UIncreasing(COND_LOAD33388ARR21(&&(&&(&&(&&(<=(i11286[15], 0), >(i9158[15], 0)), <(i9158[15], i6[15])), >(i9298[15], 0)), >(+(i9158[15], 1), 0)), java.lang.Object(ARRAY(i6[15], a80767data[15])), i9158[15], i9298[15], java.lang.Object(java.lang.String(i11286[15])))), ≥))



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

    (99)    (i9158[15] ≥ 0∧i9298[15] + [-1] ≥ 0∧i6[15] + [-1] + [-1]i9158[15] ≥ 0∧[-1]i11286[15] ≥ 0∧i9158[15] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD33388ARR21(&&(&&(&&(&&(<=(i11286[15], 0), >(i9158[15], 0)), <(i9158[15], i6[15])), >(i9298[15], 0)), >(+(i9158[15], 1), 0)), java.lang.Object(ARRAY(i6[15], a80767data[15])), i9158[15], i9298[15], java.lang.Object(java.lang.String(i11286[15])))), ≥)∧[(-2)bni_62 + (-1)Bound*bni_62] + [bni_62]i9298[15] ≥ 0∧[(-1)bso_63] ≥ 0)



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

    (100)    (i9158[15] ≥ 0∧i9298[15] + [-1] ≥ 0∧i6[15] + [-1] + [-1]i9158[15] ≥ 0∧[-1]i11286[15] ≥ 0∧i9158[15] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD33388ARR21(&&(&&(&&(&&(<=(i11286[15], 0), >(i9158[15], 0)), <(i9158[15], i6[15])), >(i9298[15], 0)), >(+(i9158[15], 1), 0)), java.lang.Object(ARRAY(i6[15], a80767data[15])), i9158[15], i9298[15], java.lang.Object(java.lang.String(i11286[15])))), ≥)∧[(-2)bni_62 + (-1)Bound*bni_62] + [bni_62]i9298[15] ≥ 0∧[(-1)bso_63] ≥ 0)



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

    (101)    (i9158[15] ≥ 0∧i9298[15] + [-1] ≥ 0∧i6[15] + [-1] + [-1]i9158[15] ≥ 0∧[-1]i11286[15] ≥ 0∧i9158[15] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD33388ARR21(&&(&&(&&(&&(<=(i11286[15], 0), >(i9158[15], 0)), <(i9158[15], i6[15])), >(i9298[15], 0)), >(+(i9158[15], 1), 0)), java.lang.Object(ARRAY(i6[15], a80767data[15])), i9158[15], i9298[15], java.lang.Object(java.lang.String(i11286[15])))), ≥)∧[(-2)bni_62 + (-1)Bound*bni_62] + [bni_62]i9298[15] ≥ 0∧[(-1)bso_63] ≥ 0)



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

    (102)    (i9158[15] ≥ 0∧i9298[15] + [-1] ≥ 0∧i6[15] + [-1] + [-1]i9158[15] ≥ 0∧[-1]i11286[15] ≥ 0∧i9158[15] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD33388ARR21(&&(&&(&&(&&(<=(i11286[15], 0), >(i9158[15], 0)), <(i9158[15], i6[15])), >(i9298[15], 0)), >(+(i9158[15], 1), 0)), java.lang.Object(ARRAY(i6[15], a80767data[15])), i9158[15], i9298[15], java.lang.Object(java.lang.String(i11286[15])))), ≥)∧0 = 0∧[(-2)bni_62 + (-1)Bound*bni_62] + [bni_62]i9298[15] ≥ 0∧0 = 0∧[(-1)bso_63] ≥ 0)



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

    (103)    ([1] + i9158[15] ≥ 0∧i9298[15] + [-1] ≥ 0∧i6[15] + [-2] + [-1]i9158[15] ≥ 0∧[-1]i11286[15] ≥ 0∧i9158[15] ≥ 0 ⇒ (UIncreasing(COND_LOAD33388ARR21(&&(&&(&&(&&(<=(i11286[15], 0), >(i9158[15], 0)), <(i9158[15], i6[15])), >(i9298[15], 0)), >(+(i9158[15], 1), 0)), java.lang.Object(ARRAY(i6[15], a80767data[15])), i9158[15], i9298[15], java.lang.Object(java.lang.String(i11286[15])))), ≥)∧0 = 0∧[(-2)bni_62 + (-1)Bound*bni_62] + [bni_62]i9298[15] ≥ 0∧0 = 0∧[(-1)bso_63] ≥ 0)



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

    (104)    ([1] + i9158[15] ≥ 0∧i9298[15] ≥ 0∧i6[15] + [-2] + [-1]i9158[15] ≥ 0∧[-1]i11286[15] ≥ 0∧i9158[15] ≥ 0 ⇒ (UIncreasing(COND_LOAD33388ARR21(&&(&&(&&(&&(<=(i11286[15], 0), >(i9158[15], 0)), <(i9158[15], i6[15])), >(i9298[15], 0)), >(+(i9158[15], 1), 0)), java.lang.Object(ARRAY(i6[15], a80767data[15])), i9158[15], i9298[15], java.lang.Object(java.lang.String(i11286[15])))), ≥)∧0 = 0∧[(-1)bni_62 + (-1)Bound*bni_62] + [bni_62]i9298[15] ≥ 0∧0 = 0∧[(-1)bso_63] ≥ 0)



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

    (105)    ([1] + i9158[15] ≥ 0∧i9298[15] ≥ 0∧i6[15] ≥ 0∧[-1]i11286[15] ≥ 0∧i9158[15] ≥ 0 ⇒ (UIncreasing(COND_LOAD33388ARR21(&&(&&(&&(&&(<=(i11286[15], 0), >(i9158[15], 0)), <(i9158[15], i6[15])), >(i9298[15], 0)), >(+(i9158[15], 1), 0)), java.lang.Object(ARRAY(i6[15], a80767data[15])), i9158[15], i9298[15], java.lang.Object(java.lang.String(i11286[15])))), ≥)∧0 = 0∧[(-1)bni_62 + (-1)Bound*bni_62] + [bni_62]i9298[15] ≥ 0∧0 = 0∧[(-1)bso_63] ≥ 0)



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

    (106)    ([1] + i9158[15] ≥ 0∧i9298[15] ≥ 0∧i6[15] ≥ 0∧i11286[15] ≥ 0∧i9158[15] ≥ 0 ⇒ (UIncreasing(COND_LOAD33388ARR21(&&(&&(&&(&&(<=(i11286[15], 0), >(i9158[15], 0)), <(i9158[15], i6[15])), >(i9298[15], 0)), >(+(i9158[15], 1), 0)), java.lang.Object(ARRAY(i6[15], a80767data[15])), i9158[15], i9298[15], java.lang.Object(java.lang.String(i11286[15])))), ≥)∧0 = 0∧[(-1)bni_62 + (-1)Bound*bni_62] + [bni_62]i9298[15] ≥ 0∧0 = 0∧[(-1)bso_63] ≥ 0)







For Pair COND_LOAD33388ARR21(TRUE, java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11286))) → INC40187(java.lang.Object(ARRAY(i6, a80767data)), +(i9158, 1), i9298) the following chains were created:
  • We consider the chain COND_LOAD33388ARR21(TRUE, java.lang.Object(ARRAY(i6[16], a80767data[16])), i9158[16], i9298[16], java.lang.Object(java.lang.String(i11286[16]))) → INC40187(java.lang.Object(ARRAY(i6[16], a80767data[16])), +(i9158[16], 1), i9298[16]) which results in the following constraint:

    (107)    (COND_LOAD33388ARR21(TRUE, java.lang.Object(ARRAY(i6[16], a80767data[16])), i9158[16], i9298[16], java.lang.Object(java.lang.String(i11286[16])))≥NonInfC∧COND_LOAD33388ARR21(TRUE, java.lang.Object(ARRAY(i6[16], a80767data[16])), i9158[16], i9298[16], java.lang.Object(java.lang.String(i11286[16])))≥INC40187(java.lang.Object(ARRAY(i6[16], a80767data[16])), +(i9158[16], 1), i9298[16])∧(UIncreasing(INC40187(java.lang.Object(ARRAY(i6[16], a80767data[16])), +(i9158[16], 1), i9298[16])), ≥))



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

    (108)    ((UIncreasing(INC40187(java.lang.Object(ARRAY(i6[16], a80767data[16])), +(i9158[16], 1), i9298[16])), ≥)∧[(-1)bso_65] ≥ 0)



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

    (109)    ((UIncreasing(INC40187(java.lang.Object(ARRAY(i6[16], a80767data[16])), +(i9158[16], 1), i9298[16])), ≥)∧[(-1)bso_65] ≥ 0)



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

    (110)    ((UIncreasing(INC40187(java.lang.Object(ARRAY(i6[16], a80767data[16])), +(i9158[16], 1), i9298[16])), ≥)∧[(-1)bso_65] ≥ 0)



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

    (111)    ((UIncreasing(INC40187(java.lang.Object(ARRAY(i6[16], a80767data[16])), +(i9158[16], 1), i9298[16])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_65] ≥ 0)







For Pair LOAD33388(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298) → LOAD33388ARR24(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11286))) the following chains were created:
  • We consider the chain LOAD33388(java.lang.Object(ARRAY(i6[17], a80767data[17])), i9158[17], i9298[17]) → LOAD33388ARR24(java.lang.Object(ARRAY(i6[17], a80767data[17])), i9158[17], i9298[17], java.lang.Object(java.lang.String(i11286[17]))) which results in the following constraint:

    (112)    (LOAD33388(java.lang.Object(ARRAY(i6[17], a80767data[17])), i9158[17], i9298[17])≥NonInfC∧LOAD33388(java.lang.Object(ARRAY(i6[17], a80767data[17])), i9158[17], i9298[17])≥LOAD33388ARR24(java.lang.Object(ARRAY(i6[17], a80767data[17])), i9158[17], i9298[17], java.lang.Object(java.lang.String(i11286[17])))∧(UIncreasing(LOAD33388ARR24(java.lang.Object(ARRAY(i6[17], a80767data[17])), i9158[17], i9298[17], java.lang.Object(java.lang.String(i11286[17])))), ≥))



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

    (113)    ((UIncreasing(LOAD33388ARR24(java.lang.Object(ARRAY(i6[17], a80767data[17])), i9158[17], i9298[17], java.lang.Object(java.lang.String(i11286[17])))), ≥)∧[1 + (-1)bso_67] ≥ 0)



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

    (114)    ((UIncreasing(LOAD33388ARR24(java.lang.Object(ARRAY(i6[17], a80767data[17])), i9158[17], i9298[17], java.lang.Object(java.lang.String(i11286[17])))), ≥)∧[1 + (-1)bso_67] ≥ 0)



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

    (115)    ((UIncreasing(LOAD33388ARR24(java.lang.Object(ARRAY(i6[17], a80767data[17])), i9158[17], i9298[17], java.lang.Object(java.lang.String(i11286[17])))), ≥)∧[1 + (-1)bso_67] ≥ 0)



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

    (116)    ((UIncreasing(LOAD33388ARR24(java.lang.Object(ARRAY(i6[17], a80767data[17])), i9158[17], i9298[17], java.lang.Object(java.lang.String(i11286[17])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_67] ≥ 0)







For Pair LOAD33388ARR24(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11286))) → COND_LOAD33388ARR24(&&(&&(&&(&&(<=(i11286, 0), >(i9158, 0)), <(i9158, i6)), >(i9298, 0)), >(+(i9158, 1), 0)), java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11286))) the following chains were created:
  • We consider the chain LOAD33388ARR24(java.lang.Object(ARRAY(i6[18], a80767data[18])), i9158[18], i9298[18], java.lang.Object(java.lang.String(i11286[18]))) → COND_LOAD33388ARR24(&&(&&(&&(&&(<=(i11286[18], 0), >(i9158[18], 0)), <(i9158[18], i6[18])), >(i9298[18], 0)), >(+(i9158[18], 1), 0)), java.lang.Object(ARRAY(i6[18], a80767data[18])), i9158[18], i9298[18], java.lang.Object(java.lang.String(i11286[18]))), COND_LOAD33388ARR24(TRUE, java.lang.Object(ARRAY(i6[19], a80767data[19])), i9158[19], i9298[19], java.lang.Object(java.lang.String(i11286[19]))) → JMP40068'(java.lang.Object(ARRAY(i6[19], a80767data[19])), +(i9158[19], 1), i9298[19]) which results in the following constraint:

    (117)    (i9298[18]=i9298[19]i11286[18]=i11286[19]i9158[18]=i9158[19]&&(&&(&&(&&(<=(i11286[18], 0), >(i9158[18], 0)), <(i9158[18], i6[18])), >(i9298[18], 0)), >(+(i9158[18], 1), 0))=TRUEi6[18]=i6[19]a80767data[18]=a80767data[19]LOAD33388ARR24(java.lang.Object(ARRAY(i6[18], a80767data[18])), i9158[18], i9298[18], java.lang.Object(java.lang.String(i11286[18])))≥NonInfC∧LOAD33388ARR24(java.lang.Object(ARRAY(i6[18], a80767data[18])), i9158[18], i9298[18], java.lang.Object(java.lang.String(i11286[18])))≥COND_LOAD33388ARR24(&&(&&(&&(&&(<=(i11286[18], 0), >(i9158[18], 0)), <(i9158[18], i6[18])), >(i9298[18], 0)), >(+(i9158[18], 1), 0)), java.lang.Object(ARRAY(i6[18], a80767data[18])), i9158[18], i9298[18], java.lang.Object(java.lang.String(i11286[18])))∧(UIncreasing(COND_LOAD33388ARR24(&&(&&(&&(&&(<=(i11286[18], 0), >(i9158[18], 0)), <(i9158[18], i6[18])), >(i9298[18], 0)), >(+(i9158[18], 1), 0)), java.lang.Object(ARRAY(i6[18], a80767data[18])), i9158[18], i9298[18], java.lang.Object(java.lang.String(i11286[18])))), ≥))



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

    (118)    (>(+(i9158[18], 1), 0)=TRUE>(i9298[18], 0)=TRUE<(i9158[18], i6[18])=TRUE<=(i11286[18], 0)=TRUE>(i9158[18], 0)=TRUELOAD33388ARR24(java.lang.Object(ARRAY(i6[18], a80767data[18])), i9158[18], i9298[18], java.lang.Object(java.lang.String(i11286[18])))≥NonInfC∧LOAD33388ARR24(java.lang.Object(ARRAY(i6[18], a80767data[18])), i9158[18], i9298[18], java.lang.Object(java.lang.String(i11286[18])))≥COND_LOAD33388ARR24(&&(&&(&&(&&(<=(i11286[18], 0), >(i9158[18], 0)), <(i9158[18], i6[18])), >(i9298[18], 0)), >(+(i9158[18], 1), 0)), java.lang.Object(ARRAY(i6[18], a80767data[18])), i9158[18], i9298[18], java.lang.Object(java.lang.String(i11286[18])))∧(UIncreasing(COND_LOAD33388ARR24(&&(&&(&&(&&(<=(i11286[18], 0), >(i9158[18], 0)), <(i9158[18], i6[18])), >(i9298[18], 0)), >(+(i9158[18], 1), 0)), java.lang.Object(ARRAY(i6[18], a80767data[18])), i9158[18], i9298[18], java.lang.Object(java.lang.String(i11286[18])))), ≥))



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

    (119)    (i9158[18] ≥ 0∧i9298[18] + [-1] ≥ 0∧i6[18] + [-1] + [-1]i9158[18] ≥ 0∧[-1]i11286[18] ≥ 0∧i9158[18] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD33388ARR24(&&(&&(&&(&&(<=(i11286[18], 0), >(i9158[18], 0)), <(i9158[18], i6[18])), >(i9298[18], 0)), >(+(i9158[18], 1), 0)), java.lang.Object(ARRAY(i6[18], a80767data[18])), i9158[18], i9298[18], java.lang.Object(java.lang.String(i11286[18])))), ≥)∧[(-2)bni_68 + (-1)Bound*bni_68] + [bni_68]i9298[18] ≥ 0∧[(-1)bso_69] ≥ 0)



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

    (120)    (i9158[18] ≥ 0∧i9298[18] + [-1] ≥ 0∧i6[18] + [-1] + [-1]i9158[18] ≥ 0∧[-1]i11286[18] ≥ 0∧i9158[18] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD33388ARR24(&&(&&(&&(&&(<=(i11286[18], 0), >(i9158[18], 0)), <(i9158[18], i6[18])), >(i9298[18], 0)), >(+(i9158[18], 1), 0)), java.lang.Object(ARRAY(i6[18], a80767data[18])), i9158[18], i9298[18], java.lang.Object(java.lang.String(i11286[18])))), ≥)∧[(-2)bni_68 + (-1)Bound*bni_68] + [bni_68]i9298[18] ≥ 0∧[(-1)bso_69] ≥ 0)



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

    (121)    (i9158[18] ≥ 0∧i9298[18] + [-1] ≥ 0∧i6[18] + [-1] + [-1]i9158[18] ≥ 0∧[-1]i11286[18] ≥ 0∧i9158[18] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD33388ARR24(&&(&&(&&(&&(<=(i11286[18], 0), >(i9158[18], 0)), <(i9158[18], i6[18])), >(i9298[18], 0)), >(+(i9158[18], 1), 0)), java.lang.Object(ARRAY(i6[18], a80767data[18])), i9158[18], i9298[18], java.lang.Object(java.lang.String(i11286[18])))), ≥)∧[(-2)bni_68 + (-1)Bound*bni_68] + [bni_68]i9298[18] ≥ 0∧[(-1)bso_69] ≥ 0)



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

    (122)    (i9158[18] ≥ 0∧i9298[18] + [-1] ≥ 0∧i6[18] + [-1] + [-1]i9158[18] ≥ 0∧[-1]i11286[18] ≥ 0∧i9158[18] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD33388ARR24(&&(&&(&&(&&(<=(i11286[18], 0), >(i9158[18], 0)), <(i9158[18], i6[18])), >(i9298[18], 0)), >(+(i9158[18], 1), 0)), java.lang.Object(ARRAY(i6[18], a80767data[18])), i9158[18], i9298[18], java.lang.Object(java.lang.String(i11286[18])))), ≥)∧0 = 0∧[(-2)bni_68 + (-1)Bound*bni_68] + [bni_68]i9298[18] ≥ 0∧0 = 0∧[(-1)bso_69] ≥ 0)



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

    (123)    ([1] + i9158[18] ≥ 0∧i9298[18] + [-1] ≥ 0∧i6[18] + [-2] + [-1]i9158[18] ≥ 0∧[-1]i11286[18] ≥ 0∧i9158[18] ≥ 0 ⇒ (UIncreasing(COND_LOAD33388ARR24(&&(&&(&&(&&(<=(i11286[18], 0), >(i9158[18], 0)), <(i9158[18], i6[18])), >(i9298[18], 0)), >(+(i9158[18], 1), 0)), java.lang.Object(ARRAY(i6[18], a80767data[18])), i9158[18], i9298[18], java.lang.Object(java.lang.String(i11286[18])))), ≥)∧0 = 0∧[(-2)bni_68 + (-1)Bound*bni_68] + [bni_68]i9298[18] ≥ 0∧0 = 0∧[(-1)bso_69] ≥ 0)



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

    (124)    ([1] + i9158[18] ≥ 0∧i9298[18] ≥ 0∧i6[18] + [-2] + [-1]i9158[18] ≥ 0∧[-1]i11286[18] ≥ 0∧i9158[18] ≥ 0 ⇒ (UIncreasing(COND_LOAD33388ARR24(&&(&&(&&(&&(<=(i11286[18], 0), >(i9158[18], 0)), <(i9158[18], i6[18])), >(i9298[18], 0)), >(+(i9158[18], 1), 0)), java.lang.Object(ARRAY(i6[18], a80767data[18])), i9158[18], i9298[18], java.lang.Object(java.lang.String(i11286[18])))), ≥)∧0 = 0∧[(-1)bni_68 + (-1)Bound*bni_68] + [bni_68]i9298[18] ≥ 0∧0 = 0∧[(-1)bso_69] ≥ 0)



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

    (125)    ([1] + i9158[18] ≥ 0∧i9298[18] ≥ 0∧i6[18] ≥ 0∧[-1]i11286[18] ≥ 0∧i9158[18] ≥ 0 ⇒ (UIncreasing(COND_LOAD33388ARR24(&&(&&(&&(&&(<=(i11286[18], 0), >(i9158[18], 0)), <(i9158[18], i6[18])), >(i9298[18], 0)), >(+(i9158[18], 1), 0)), java.lang.Object(ARRAY(i6[18], a80767data[18])), i9158[18], i9298[18], java.lang.Object(java.lang.String(i11286[18])))), ≥)∧0 = 0∧[(-1)bni_68 + (-1)Bound*bni_68] + [bni_68]i9298[18] ≥ 0∧0 = 0∧[(-1)bso_69] ≥ 0)



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

    (126)    ([1] + i9158[18] ≥ 0∧i9298[18] ≥ 0∧i6[18] ≥ 0∧i11286[18] ≥ 0∧i9158[18] ≥ 0 ⇒ (UIncreasing(COND_LOAD33388ARR24(&&(&&(&&(&&(<=(i11286[18], 0), >(i9158[18], 0)), <(i9158[18], i6[18])), >(i9298[18], 0)), >(+(i9158[18], 1), 0)), java.lang.Object(ARRAY(i6[18], a80767data[18])), i9158[18], i9298[18], java.lang.Object(java.lang.String(i11286[18])))), ≥)∧0 = 0∧[(-1)bni_68 + (-1)Bound*bni_68] + [bni_68]i9298[18] ≥ 0∧0 = 0∧[(-1)bso_69] ≥ 0)







For Pair COND_LOAD33388ARR24(TRUE, java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11286))) → JMP40068'(java.lang.Object(ARRAY(i6, a80767data)), +(i9158, 1), i9298) the following chains were created:
  • We consider the chain COND_LOAD33388ARR24(TRUE, java.lang.Object(ARRAY(i6[19], a80767data[19])), i9158[19], i9298[19], java.lang.Object(java.lang.String(i11286[19]))) → JMP40068'(java.lang.Object(ARRAY(i6[19], a80767data[19])), +(i9158[19], 1), i9298[19]) which results in the following constraint:

    (127)    (COND_LOAD33388ARR24(TRUE, java.lang.Object(ARRAY(i6[19], a80767data[19])), i9158[19], i9298[19], java.lang.Object(java.lang.String(i11286[19])))≥NonInfC∧COND_LOAD33388ARR24(TRUE, java.lang.Object(ARRAY(i6[19], a80767data[19])), i9158[19], i9298[19], java.lang.Object(java.lang.String(i11286[19])))≥JMP40068'(java.lang.Object(ARRAY(i6[19], a80767data[19])), +(i9158[19], 1), i9298[19])∧(UIncreasing(JMP40068'(java.lang.Object(ARRAY(i6[19], a80767data[19])), +(i9158[19], 1), i9298[19])), ≥))



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

    (128)    ((UIncreasing(JMP40068'(java.lang.Object(ARRAY(i6[19], a80767data[19])), +(i9158[19], 1), i9298[19])), ≥)∧[(-1)bso_71] ≥ 0)



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

    (129)    ((UIncreasing(JMP40068'(java.lang.Object(ARRAY(i6[19], a80767data[19])), +(i9158[19], 1), i9298[19])), ≥)∧[(-1)bso_71] ≥ 0)



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

    (130)    ((UIncreasing(JMP40068'(java.lang.Object(ARRAY(i6[19], a80767data[19])), +(i9158[19], 1), i9298[19])), ≥)∧[(-1)bso_71] ≥ 0)



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

    (131)    ((UIncreasing(JMP40068'(java.lang.Object(ARRAY(i6[19], a80767data[19])), +(i9158[19], 1), i9298[19])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_71] ≥ 0)







To summarize, we get the following constraints P for the following pairs.
  • LOAD33388(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298) → LOAD33388ARR17(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11284)))
    • ((UIncreasing(LOAD33388ARR17(java.lang.Object(ARRAY(i6[0], a80767data[0])), i9158[0], i9298[0], java.lang.Object(java.lang.String(i11284[0])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_33] ≥ 0)

  • LOAD33388ARR17(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11284))) → COND_LOAD33388ARR17(&&(&&(&&(&&(>(i11284, 0), >(i9158, 0)), <(i9158, i6)), >(i9298, 0)), >(+(i9158, 1), 0)), java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11284)))
    • ([1] + i9158[1] ≥ 0∧i9298[1] ≥ 0∧i6[1] ≥ 0∧i11284[1] ≥ 0∧i9158[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD33388ARR17(&&(&&(&&(&&(>(i11284[1], 0), >(i9158[1], 0)), <(i9158[1], i6[1])), >(i9298[1], 0)), >(+(i9158[1], 1), 0)), java.lang.Object(ARRAY(i6[1], a80767data[1])), i9158[1], i9298[1], java.lang.Object(java.lang.String(i11284[1])))), ≥)∧0 = 0∧[(-1)Bound*bni_34] + [bni_34]i9298[1] ≥ 0∧0 = 0∧[1 + (-1)bso_35] ≥ 0)

  • COND_LOAD33388ARR17(TRUE, java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11284))) → JMP40068'(java.lang.Object(ARRAY(i6, a80767data)), +(i9158, 1), i9298)
    • ((UIncreasing(JMP40068'(java.lang.Object(ARRAY(i6[2], a80767data[2])), +(i9158[2], 1), i9298[2])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_37] ≥ 0)

  • INC40187(java.lang.Object(ARRAY(i6, a80767data)), i10058, i9298) → LOAD33388(java.lang.Object(ARRAY(i6, a80767data)), i10058, +(i9298, -1))
    • ((UIncreasing(LOAD33388(java.lang.Object(ARRAY(i6[3], a80767data[3])), i10058[3], +(i9298[3], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_39] ≥ 0)

  • LOAD33388(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298) → LOAD33388ARR18(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11286)))
    • ((UIncreasing(LOAD33388ARR18(java.lang.Object(ARRAY(i6[4], a80767data[4])), i9158[4], i9298[4], java.lang.Object(java.lang.String(i11286[4])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_41] ≥ 0)

  • LOAD33388ARR18(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11286))) → COND_LOAD33388ARR18(&&(&&(&&(&&(<=(i11286, 0), >(i9158, 0)), <(i9158, i6)), >(i9298, 0)), >(+(i9158, 1), 0)), java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11286)))
    • ([1] + i9158[5] ≥ 0∧i9298[5] ≥ 0∧i6[5] ≥ 0∧i11286[5] ≥ 0∧i9158[5] ≥ 0 ⇒ (UIncreasing(COND_LOAD33388ARR18(&&(&&(&&(&&(<=(i11286[5], 0), >(i9158[5], 0)), <(i9158[5], i6[5])), >(i9298[5], 0)), >(+(i9158[5], 1), 0)), java.lang.Object(ARRAY(i6[5], a80767data[5])), i9158[5], i9298[5], java.lang.Object(java.lang.String(i11286[5])))), ≥)∧0 = 0∧[(-1)bni_42 + (-1)Bound*bni_42] + [bni_42]i9298[5] ≥ 0∧0 = 0∧[(-1)bso_43] ≥ 0)

  • COND_LOAD33388ARR18(TRUE, java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11286))) → LOAD33388(java.lang.Object(ARRAY(i6, a80767data)), +(i9158, 1), +(i9298, -1))
    • ((UIncreasing(LOAD33388(java.lang.Object(ARRAY(i6[6], a80767data[6])), +(i9158[6], 1), +(i9298[6], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_45] ≥ 0)

  • LOAD33388(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298) → LOAD33388ARR19(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11284)))
    • ((UIncreasing(LOAD33388ARR19(java.lang.Object(ARRAY(i6[7], a80767data[7])), i9158[7], i9298[7], java.lang.Object(java.lang.String(i11284[7])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_47] ≥ 0)

  • LOAD33388ARR19(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11284))) → COND_LOAD33388ARR19(&&(&&(&&(&&(>(i11284, 0), >(i9158, 0)), <(i9158, i6)), >(i9298, 0)), >(+(i9158, 1), 0)), java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11284)))
    • ([1] + i9158[8] ≥ 0∧i9298[8] ≥ 0∧i6[8] ≥ 0∧i11284[8] ≥ 0∧i9158[8] ≥ 0 ⇒ (UIncreasing(COND_LOAD33388ARR19(&&(&&(&&(&&(>(i11284[8], 0), >(i9158[8], 0)), <(i9158[8], i6[8])), >(i9298[8], 0)), >(+(i9158[8], 1), 0)), java.lang.Object(ARRAY(i6[8], a80767data[8])), i9158[8], i9298[8], java.lang.Object(java.lang.String(i11284[8])))), ≥)∧0 = 0∧[(-1)bni_48 + (-1)Bound*bni_48] + [bni_48]i9298[8] ≥ 0∧0 = 0∧[(-1)bso_49] ≥ 0)

  • COND_LOAD33388ARR19(TRUE, java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11284))) → LOAD33388(java.lang.Object(ARRAY(i6, a80767data)), +(i9158, 1), +(i9298, -1))
    • ((UIncreasing(LOAD33388(java.lang.Object(ARRAY(i6[9], a80767data[9])), +(i9158[9], 1), +(i9298[9], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_51] ≥ 0)

  • JMP40068'(java.lang.Object(ARRAY(i6, a80767data)), i10058, i9298) → INC40187(java.lang.Object(ARRAY(i6, a80767data)), i10058, i9298)
    • ((UIncreasing(INC40187(java.lang.Object(ARRAY(i6[10], a80767data[10])), i10058[10], i9298[10])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_53] ≥ 0)

  • LOAD33388(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298) → LOAD33388ARR20(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11284)))
    • ((UIncreasing(LOAD33388ARR20(java.lang.Object(ARRAY(i6[11], a80767data[11])), i9158[11], i9298[11], java.lang.Object(java.lang.String(i11284[11])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_55] ≥ 0)

  • LOAD33388ARR20(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11284))) → COND_LOAD33388ARR20(&&(&&(&&(&&(>(i11284, 0), >(i9158, 0)), <(i9158, i6)), >(i9298, 0)), >(+(i9158, 1), 0)), java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11284)))
    • ([1] + i9158[12] ≥ 0∧i9298[12] ≥ 0∧i6[12] ≥ 0∧i11284[12] ≥ 0∧i9158[12] ≥ 0 ⇒ (UIncreasing(COND_LOAD33388ARR20(&&(&&(&&(&&(>(i11284[12], 0), >(i9158[12], 0)), <(i9158[12], i6[12])), >(i9298[12], 0)), >(+(i9158[12], 1), 0)), java.lang.Object(ARRAY(i6[12], a80767data[12])), i9158[12], i9298[12], java.lang.Object(java.lang.String(i11284[12])))), ≥)∧0 = 0∧[(-1)Bound*bni_56] + [bni_56]i9298[12] ≥ 0∧0 = 0∧[1 + (-1)bso_57] ≥ 0)

  • COND_LOAD33388ARR20(TRUE, java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11284))) → INC40187(java.lang.Object(ARRAY(i6, a80767data)), +(i9158, 1), i9298)
    • ((UIncreasing(INC40187(java.lang.Object(ARRAY(i6[13], a80767data[13])), +(i9158[13], 1), i9298[13])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_59] ≥ 0)

  • LOAD33388(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298) → LOAD33388ARR21(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11286)))
    • ((UIncreasing(LOAD33388ARR21(java.lang.Object(ARRAY(i6[14], a80767data[14])), i9158[14], i9298[14], java.lang.Object(java.lang.String(i11286[14])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_61] ≥ 0)

  • LOAD33388ARR21(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11286))) → COND_LOAD33388ARR21(&&(&&(&&(&&(<=(i11286, 0), >(i9158, 0)), <(i9158, i6)), >(i9298, 0)), >(+(i9158, 1), 0)), java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11286)))
    • ([1] + i9158[15] ≥ 0∧i9298[15] ≥ 0∧i6[15] ≥ 0∧i11286[15] ≥ 0∧i9158[15] ≥ 0 ⇒ (UIncreasing(COND_LOAD33388ARR21(&&(&&(&&(&&(<=(i11286[15], 0), >(i9158[15], 0)), <(i9158[15], i6[15])), >(i9298[15], 0)), >(+(i9158[15], 1), 0)), java.lang.Object(ARRAY(i6[15], a80767data[15])), i9158[15], i9298[15], java.lang.Object(java.lang.String(i11286[15])))), ≥)∧0 = 0∧[(-1)bni_62 + (-1)Bound*bni_62] + [bni_62]i9298[15] ≥ 0∧0 = 0∧[(-1)bso_63] ≥ 0)

  • COND_LOAD33388ARR21(TRUE, java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11286))) → INC40187(java.lang.Object(ARRAY(i6, a80767data)), +(i9158, 1), i9298)
    • ((UIncreasing(INC40187(java.lang.Object(ARRAY(i6[16], a80767data[16])), +(i9158[16], 1), i9298[16])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_65] ≥ 0)

  • LOAD33388(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298) → LOAD33388ARR24(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11286)))
    • ((UIncreasing(LOAD33388ARR24(java.lang.Object(ARRAY(i6[17], a80767data[17])), i9158[17], i9298[17], java.lang.Object(java.lang.String(i11286[17])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_67] ≥ 0)

  • LOAD33388ARR24(java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11286))) → COND_LOAD33388ARR24(&&(&&(&&(&&(<=(i11286, 0), >(i9158, 0)), <(i9158, i6)), >(i9298, 0)), >(+(i9158, 1), 0)), java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11286)))
    • ([1] + i9158[18] ≥ 0∧i9298[18] ≥ 0∧i6[18] ≥ 0∧i11286[18] ≥ 0∧i9158[18] ≥ 0 ⇒ (UIncreasing(COND_LOAD33388ARR24(&&(&&(&&(&&(<=(i11286[18], 0), >(i9158[18], 0)), <(i9158[18], i6[18])), >(i9298[18], 0)), >(+(i9158[18], 1), 0)), java.lang.Object(ARRAY(i6[18], a80767data[18])), i9158[18], i9298[18], java.lang.Object(java.lang.String(i11286[18])))), ≥)∧0 = 0∧[(-1)bni_68 + (-1)Bound*bni_68] + [bni_68]i9298[18] ≥ 0∧0 = 0∧[(-1)bso_69] ≥ 0)

  • COND_LOAD33388ARR24(TRUE, java.lang.Object(ARRAY(i6, a80767data)), i9158, i9298, java.lang.Object(java.lang.String(i11286))) → JMP40068'(java.lang.Object(ARRAY(i6, a80767data)), +(i9158, 1), i9298)
    • ((UIncreasing(JMP40068'(java.lang.Object(ARRAY(i6[19], a80767data[19])), +(i9158[19], 1), i9298[19])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_71] ≥ 0)




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

POL(TRUE) = 0   
POL(FALSE) = 0   
POL(LOAD33388(x1, x2, x3)) = x3 + [-1]x1   
POL(java.lang.Object(x1)) = x1   
POL(ARRAY(x1, x2)) = [1]   
POL(LOAD33388ARR17(x1, x2, x3, x4)) = x3 + [-1]x1   
POL(java.lang.String(x1)) = x1   
POL(COND_LOAD33388ARR17(x1, x2, x3, x4, x5)) = [-1] + x4 + [-1]x2   
POL(&&(x1, x2)) = [-1]   
POL(>(x1, x2)) = [-1]   
POL(0) = 0   
POL(<(x1, x2)) = [-1]   
POL(+(x1, x2)) = x1 + x2   
POL(1) = [1]   
POL(JMP40068'(x1, x2, x3)) = [-1] + x3 + [-1]x1   
POL(INC40187(x1, x2, x3)) = [-1] + [-1]x1 + x3   
POL(-1) = [-1]   
POL(LOAD33388ARR18(x1, x2, x3, x4)) = [-1] + x3 + [-1]x1   
POL(COND_LOAD33388ARR18(x1, x2, x3, x4, x5)) = [-1] + x4 + [-1]x2   
POL(<=(x1, x2)) = [-1]   
POL(LOAD33388ARR19(x1, x2, x3, x4)) = [-1] + x3 + [-1]x1   
POL(COND_LOAD33388ARR19(x1, x2, x3, x4, x5)) = [-1] + x4 + [-1]x2   
POL(LOAD33388ARR20(x1, x2, x3, x4)) = x3 + [-1]x1   
POL(COND_LOAD33388ARR20(x1, x2, x3, x4, x5)) = [-1] + x4 + [-1]x2   
POL(LOAD33388ARR21(x1, x2, x3, x4)) = [-1] + x3 + [-1]x1   
POL(COND_LOAD33388ARR21(x1, x2, x3, x4, x5)) = [-1] + x4 + [-1]x2   
POL(LOAD33388ARR24(x1, x2, x3, x4)) = [-1] + x3 + [-1]x1   
POL(COND_LOAD33388ARR24(x1, x2, x3, x4, x5)) = [-1] + x4 + [-1]x2   

The following pairs are in P>:

LOAD33388ARR17(java.lang.Object(ARRAY(i6[1], a80767data[1])), i9158[1], i9298[1], java.lang.Object(java.lang.String(i11284[1]))) → COND_LOAD33388ARR17(&&(&&(&&(&&(>(i11284[1], 0), >(i9158[1], 0)), <(i9158[1], i6[1])), >(i9298[1], 0)), >(+(i9158[1], 1), 0)), java.lang.Object(ARRAY(i6[1], a80767data[1])), i9158[1], i9298[1], java.lang.Object(java.lang.String(i11284[1])))
LOAD33388(java.lang.Object(ARRAY(i6[4], a80767data[4])), i9158[4], i9298[4]) → LOAD33388ARR18(java.lang.Object(ARRAY(i6[4], a80767data[4])), i9158[4], i9298[4], java.lang.Object(java.lang.String(i11286[4])))
LOAD33388(java.lang.Object(ARRAY(i6[7], a80767data[7])), i9158[7], i9298[7]) → LOAD33388ARR19(java.lang.Object(ARRAY(i6[7], a80767data[7])), i9158[7], i9298[7], java.lang.Object(java.lang.String(i11284[7])))
LOAD33388ARR20(java.lang.Object(ARRAY(i6[12], a80767data[12])), i9158[12], i9298[12], java.lang.Object(java.lang.String(i11284[12]))) → COND_LOAD33388ARR20(&&(&&(&&(&&(>(i11284[12], 0), >(i9158[12], 0)), <(i9158[12], i6[12])), >(i9298[12], 0)), >(+(i9158[12], 1), 0)), java.lang.Object(ARRAY(i6[12], a80767data[12])), i9158[12], i9298[12], java.lang.Object(java.lang.String(i11284[12])))
LOAD33388(java.lang.Object(ARRAY(i6[14], a80767data[14])), i9158[14], i9298[14]) → LOAD33388ARR21(java.lang.Object(ARRAY(i6[14], a80767data[14])), i9158[14], i9298[14], java.lang.Object(java.lang.String(i11286[14])))
LOAD33388(java.lang.Object(ARRAY(i6[17], a80767data[17])), i9158[17], i9298[17]) → LOAD33388ARR24(java.lang.Object(ARRAY(i6[17], a80767data[17])), i9158[17], i9298[17], java.lang.Object(java.lang.String(i11286[17])))

The following pairs are in Pbound:

LOAD33388ARR17(java.lang.Object(ARRAY(i6[1], a80767data[1])), i9158[1], i9298[1], java.lang.Object(java.lang.String(i11284[1]))) → COND_LOAD33388ARR17(&&(&&(&&(&&(>(i11284[1], 0), >(i9158[1], 0)), <(i9158[1], i6[1])), >(i9298[1], 0)), >(+(i9158[1], 1), 0)), java.lang.Object(ARRAY(i6[1], a80767data[1])), i9158[1], i9298[1], java.lang.Object(java.lang.String(i11284[1])))
LOAD33388ARR18(java.lang.Object(ARRAY(i6[5], a80767data[5])), i9158[5], i9298[5], java.lang.Object(java.lang.String(i11286[5]))) → COND_LOAD33388ARR18(&&(&&(&&(&&(<=(i11286[5], 0), >(i9158[5], 0)), <(i9158[5], i6[5])), >(i9298[5], 0)), >(+(i9158[5], 1), 0)), java.lang.Object(ARRAY(i6[5], a80767data[5])), i9158[5], i9298[5], java.lang.Object(java.lang.String(i11286[5])))
LOAD33388ARR19(java.lang.Object(ARRAY(i6[8], a80767data[8])), i9158[8], i9298[8], java.lang.Object(java.lang.String(i11284[8]))) → COND_LOAD33388ARR19(&&(&&(&&(&&(>(i11284[8], 0), >(i9158[8], 0)), <(i9158[8], i6[8])), >(i9298[8], 0)), >(+(i9158[8], 1), 0)), java.lang.Object(ARRAY(i6[8], a80767data[8])), i9158[8], i9298[8], java.lang.Object(java.lang.String(i11284[8])))
LOAD33388ARR20(java.lang.Object(ARRAY(i6[12], a80767data[12])), i9158[12], i9298[12], java.lang.Object(java.lang.String(i11284[12]))) → COND_LOAD33388ARR20(&&(&&(&&(&&(>(i11284[12], 0), >(i9158[12], 0)), <(i9158[12], i6[12])), >(i9298[12], 0)), >(+(i9158[12], 1), 0)), java.lang.Object(ARRAY(i6[12], a80767data[12])), i9158[12], i9298[12], java.lang.Object(java.lang.String(i11284[12])))
LOAD33388ARR21(java.lang.Object(ARRAY(i6[15], a80767data[15])), i9158[15], i9298[15], java.lang.Object(java.lang.String(i11286[15]))) → COND_LOAD33388ARR21(&&(&&(&&(&&(<=(i11286[15], 0), >(i9158[15], 0)), <(i9158[15], i6[15])), >(i9298[15], 0)), >(+(i9158[15], 1), 0)), java.lang.Object(ARRAY(i6[15], a80767data[15])), i9158[15], i9298[15], java.lang.Object(java.lang.String(i11286[15])))
LOAD33388ARR24(java.lang.Object(ARRAY(i6[18], a80767data[18])), i9158[18], i9298[18], java.lang.Object(java.lang.String(i11286[18]))) → COND_LOAD33388ARR24(&&(&&(&&(&&(<=(i11286[18], 0), >(i9158[18], 0)), <(i9158[18], i6[18])), >(i9298[18], 0)), >(+(i9158[18], 1), 0)), java.lang.Object(ARRAY(i6[18], a80767data[18])), i9158[18], i9298[18], java.lang.Object(java.lang.String(i11286[18])))

The following pairs are in P:

LOAD33388(java.lang.Object(ARRAY(i6[0], a80767data[0])), i9158[0], i9298[0]) → LOAD33388ARR17(java.lang.Object(ARRAY(i6[0], a80767data[0])), i9158[0], i9298[0], java.lang.Object(java.lang.String(i11284[0])))
COND_LOAD33388ARR17(TRUE, java.lang.Object(ARRAY(i6[2], a80767data[2])), i9158[2], i9298[2], java.lang.Object(java.lang.String(i11284[2]))) → JMP40068'(java.lang.Object(ARRAY(i6[2], a80767data[2])), +(i9158[2], 1), i9298[2])
INC40187(java.lang.Object(ARRAY(i6[3], a80767data[3])), i10058[3], i9298[3]) → LOAD33388(java.lang.Object(ARRAY(i6[3], a80767data[3])), i10058[3], +(i9298[3], -1))
LOAD33388ARR18(java.lang.Object(ARRAY(i6[5], a80767data[5])), i9158[5], i9298[5], java.lang.Object(java.lang.String(i11286[5]))) → COND_LOAD33388ARR18(&&(&&(&&(&&(<=(i11286[5], 0), >(i9158[5], 0)), <(i9158[5], i6[5])), >(i9298[5], 0)), >(+(i9158[5], 1), 0)), java.lang.Object(ARRAY(i6[5], a80767data[5])), i9158[5], i9298[5], java.lang.Object(java.lang.String(i11286[5])))
COND_LOAD33388ARR18(TRUE, java.lang.Object(ARRAY(i6[6], a80767data[6])), i9158[6], i9298[6], java.lang.Object(java.lang.String(i11286[6]))) → LOAD33388(java.lang.Object(ARRAY(i6[6], a80767data[6])), +(i9158[6], 1), +(i9298[6], -1))
LOAD33388ARR19(java.lang.Object(ARRAY(i6[8], a80767data[8])), i9158[8], i9298[8], java.lang.Object(java.lang.String(i11284[8]))) → COND_LOAD33388ARR19(&&(&&(&&(&&(>(i11284[8], 0), >(i9158[8], 0)), <(i9158[8], i6[8])), >(i9298[8], 0)), >(+(i9158[8], 1), 0)), java.lang.Object(ARRAY(i6[8], a80767data[8])), i9158[8], i9298[8], java.lang.Object(java.lang.String(i11284[8])))
COND_LOAD33388ARR19(TRUE, java.lang.Object(ARRAY(i6[9], a80767data[9])), i9158[9], i9298[9], java.lang.Object(java.lang.String(i11284[9]))) → LOAD33388(java.lang.Object(ARRAY(i6[9], a80767data[9])), +(i9158[9], 1), +(i9298[9], -1))
JMP40068'(java.lang.Object(ARRAY(i6[10], a80767data[10])), i10058[10], i9298[10]) → INC40187(java.lang.Object(ARRAY(i6[10], a80767data[10])), i10058[10], i9298[10])
LOAD33388(java.lang.Object(ARRAY(i6[11], a80767data[11])), i9158[11], i9298[11]) → LOAD33388ARR20(java.lang.Object(ARRAY(i6[11], a80767data[11])), i9158[11], i9298[11], java.lang.Object(java.lang.String(i11284[11])))
COND_LOAD33388ARR20(TRUE, java.lang.Object(ARRAY(i6[13], a80767data[13])), i9158[13], i9298[13], java.lang.Object(java.lang.String(i11284[13]))) → INC40187(java.lang.Object(ARRAY(i6[13], a80767data[13])), +(i9158[13], 1), i9298[13])
LOAD33388ARR21(java.lang.Object(ARRAY(i6[15], a80767data[15])), i9158[15], i9298[15], java.lang.Object(java.lang.String(i11286[15]))) → COND_LOAD33388ARR21(&&(&&(&&(&&(<=(i11286[15], 0), >(i9158[15], 0)), <(i9158[15], i6[15])), >(i9298[15], 0)), >(+(i9158[15], 1), 0)), java.lang.Object(ARRAY(i6[15], a80767data[15])), i9158[15], i9298[15], java.lang.Object(java.lang.String(i11286[15])))
COND_LOAD33388ARR21(TRUE, java.lang.Object(ARRAY(i6[16], a80767data[16])), i9158[16], i9298[16], java.lang.Object(java.lang.String(i11286[16]))) → INC40187(java.lang.Object(ARRAY(i6[16], a80767data[16])), +(i9158[16], 1), i9298[16])
LOAD33388ARR24(java.lang.Object(ARRAY(i6[18], a80767data[18])), i9158[18], i9298[18], java.lang.Object(java.lang.String(i11286[18]))) → COND_LOAD33388ARR24(&&(&&(&&(&&(<=(i11286[18], 0), >(i9158[18], 0)), <(i9158[18], i6[18])), >(i9298[18], 0)), >(+(i9158[18], 1), 0)), java.lang.Object(ARRAY(i6[18], a80767data[18])), i9158[18], i9298[18], java.lang.Object(java.lang.String(i11286[18])))
COND_LOAD33388ARR24(TRUE, java.lang.Object(ARRAY(i6[19], a80767data[19])), i9158[19], i9298[19], java.lang.Object(java.lang.String(i11286[19]))) → JMP40068'(java.lang.Object(ARRAY(i6[19], a80767data[19])), +(i9158[19], 1), i9298[19])

There are no usable rules.

(94) Complex Obligation (AND)

(95) Obligation:

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


The following domains are used:

Integer, Boolean


R is empty.

The integer pair graph contains the following rules and edges:
(0): LOAD33388(java.lang.Object(ARRAY(i6[0], a80767data[0])), i9158[0], i9298[0]) → LOAD33388ARR17(java.lang.Object(ARRAY(i6[0], a80767data[0])), i9158[0], i9298[0], java.lang.Object(java.lang.String(i11284[0])))
(2): COND_LOAD33388ARR17(TRUE, java.lang.Object(ARRAY(i6[2], a80767data[2])), i9158[2], i9298[2], java.lang.Object(java.lang.String(i11284[2]))) → JMP40068'(java.lang.Object(ARRAY(i6[2], a80767data[2])), i9158[2] + 1, i9298[2])
(3): INC40187(java.lang.Object(ARRAY(i6[3], a80767data[3])), i10058[3], i9298[3]) → LOAD33388(java.lang.Object(ARRAY(i6[3], a80767data[3])), i10058[3], i9298[3] + -1)
(5): LOAD33388ARR18(java.lang.Object(ARRAY(i6[5], a80767data[5])), i9158[5], i9298[5], java.lang.Object(java.lang.String(i11286[5]))) → COND_LOAD33388ARR18(i11286[5] <= 0 && i9158[5] > 0 && i9158[5] < i6[5] && i9298[5] > 0 && i9158[5] + 1 > 0, java.lang.Object(ARRAY(i6[5], a80767data[5])), i9158[5], i9298[5], java.lang.Object(java.lang.String(i11286[5])))
(6): COND_LOAD33388ARR18(TRUE, java.lang.Object(ARRAY(i6[6], a80767data[6])), i9158[6], i9298[6], java.lang.Object(java.lang.String(i11286[6]))) → LOAD33388(java.lang.Object(ARRAY(i6[6], a80767data[6])), i9158[6] + 1, i9298[6] + -1)
(8): LOAD33388ARR19(java.lang.Object(ARRAY(i6[8], a80767data[8])), i9158[8], i9298[8], java.lang.Object(java.lang.String(i11284[8]))) → COND_LOAD33388ARR19(i11284[8] > 0 && i9158[8] > 0 && i9158[8] < i6[8] && i9298[8] > 0 && i9158[8] + 1 > 0, java.lang.Object(ARRAY(i6[8], a80767data[8])), i9158[8], i9298[8], java.lang.Object(java.lang.String(i11284[8])))
(9): COND_LOAD33388ARR19(TRUE, java.lang.Object(ARRAY(i6[9], a80767data[9])), i9158[9], i9298[9], java.lang.Object(java.lang.String(i11284[9]))) → LOAD33388(java.lang.Object(ARRAY(i6[9], a80767data[9])), i9158[9] + 1, i9298[9] + -1)
(10): JMP40068'(java.lang.Object(ARRAY(i6[10], a80767data[10])), i10058[10], i9298[10]) → INC40187(java.lang.Object(ARRAY(i6[10], a80767data[10])), i10058[10], i9298[10])
(11): LOAD33388(java.lang.Object(ARRAY(i6[11], a80767data[11])), i9158[11], i9298[11]) → LOAD33388ARR20(java.lang.Object(ARRAY(i6[11], a80767data[11])), i9158[11], i9298[11], java.lang.Object(java.lang.String(i11284[11])))
(13): COND_LOAD33388ARR20(TRUE, java.lang.Object(ARRAY(i6[13], a80767data[13])), i9158[13], i9298[13], java.lang.Object(java.lang.String(i11284[13]))) → INC40187(java.lang.Object(ARRAY(i6[13], a80767data[13])), i9158[13] + 1, i9298[13])
(15): LOAD33388ARR21(java.lang.Object(ARRAY(i6[15], a80767data[15])), i9158[15], i9298[15], java.lang.Object(java.lang.String(i11286[15]))) → COND_LOAD33388ARR21(i11286[15] <= 0 && i9158[15] > 0 && i9158[15] < i6[15] && i9298[15] > 0 && i9158[15] + 1 > 0, java.lang.Object(ARRAY(i6[15], a80767data[15])), i9158[15], i9298[15], java.lang.Object(java.lang.String(i11286[15])))
(16): COND_LOAD33388ARR21(TRUE, java.lang.Object(ARRAY(i6[16], a80767data[16])), i9158[16], i9298[16], java.lang.Object(java.lang.String(i11286[16]))) → INC40187(java.lang.Object(ARRAY(i6[16], a80767data[16])), i9158[16] + 1, i9298[16])
(18): LOAD33388ARR24(java.lang.Object(ARRAY(i6[18], a80767data[18])), i9158[18], i9298[18], java.lang.Object(java.lang.String(i11286[18]))) → COND_LOAD33388ARR24(i11286[18] <= 0 && i9158[18] > 0 && i9158[18] < i6[18] && i9298[18] > 0 && i9158[18] + 1 > 0, java.lang.Object(ARRAY(i6[18], a80767data[18])), i9158[18], i9298[18], java.lang.Object(java.lang.String(i11286[18])))
(19): COND_LOAD33388ARR24(TRUE, java.lang.Object(ARRAY(i6[19], a80767data[19])), i9158[19], i9298[19], java.lang.Object(java.lang.String(i11286[19]))) → JMP40068'(java.lang.Object(ARRAY(i6[19], a80767data[19])), i9158[19] + 1, i9298[19])

(3) -> (0), if (((i6[3]* i6[0])∧(a80767data[3]* a80767data[0]))∧(i9298[3] + -1* i9298[0])∧(i10058[3]* i9158[0]))


(6) -> (0), if ((i9298[6] + -1* i9298[0])∧((i6[6]* i6[0])∧(a80767data[6]* a80767data[0]))∧(i9158[6] + 1* i9158[0]))


(9) -> (0), if ((i9298[9] + -1* i9298[0])∧(i9158[9] + 1* i9158[0])∧((i6[9]* i6[0])∧(a80767data[9]* a80767data[0])))


(10) -> (3), if ((i9298[10]* i9298[3])∧(i10058[10]* i10058[3])∧((i6[10]* i6[3])∧(a80767data[10]* a80767data[3])))


(13) -> (3), if ((i9298[13]* i9298[3])∧((i6[13]* i6[3])∧(a80767data[13]* a80767data[3]))∧(i9158[13] + 1* i10058[3]))


(16) -> (3), if ((i9298[16]* i9298[3])∧(i9158[16] + 1* i10058[3])∧((i6[16]* i6[3])∧(a80767data[16]* a80767data[3])))


(5) -> (6), if ((i11286[5] <= 0 && i9158[5] > 0 && i9158[5] < i6[5] && i9298[5] > 0 && i9158[5] + 1 > 0* TRUE)∧((i11286[5]* i11286[6]))∧((i6[5]* i6[6])∧(a80767data[5]* a80767data[6]))∧(i9158[5]* i9158[6])∧(i9298[5]* i9298[6]))


(8) -> (9), if (((i11284[8]* i11284[9]))∧(i9158[8]* i9158[9])∧((i6[8]* i6[9])∧(a80767data[8]* a80767data[9]))∧(i9298[8]* i9298[9])∧(i11284[8] > 0 && i9158[8] > 0 && i9158[8] < i6[8] && i9298[8] > 0 && i9158[8] + 1 > 0* TRUE))


(2) -> (10), if ((i9298[2]* i9298[10])∧((i6[2]* i6[10])∧(a80767data[2]* a80767data[10]))∧(i9158[2] + 1* i10058[10]))


(19) -> (10), if ((i9158[19] + 1* i10058[10])∧((i6[19]* i6[10])∧(a80767data[19]* a80767data[10]))∧(i9298[19]* i9298[10]))


(3) -> (11), if ((i9298[3] + -1* i9298[11])∧(i10058[3]* i9158[11])∧((i6[3]* i6[11])∧(a80767data[3]* a80767data[11])))


(6) -> (11), if ((i9158[6] + 1* i9158[11])∧((i6[6]* i6[11])∧(a80767data[6]* a80767data[11]))∧(i9298[6] + -1* i9298[11]))


(9) -> (11), if ((i9158[9] + 1* i9158[11])∧((i6[9]* i6[11])∧(a80767data[9]* a80767data[11]))∧(i9298[9] + -1* i9298[11]))


(15) -> (16), if (((i6[15]* i6[16])∧(a80767data[15]* a80767data[16]))∧((i11286[15]* i11286[16]))∧(i11286[15] <= 0 && i9158[15] > 0 && i9158[15] < i6[15] && i9298[15] > 0 && i9158[15] + 1 > 0* TRUE)∧(i9298[15]* i9298[16])∧(i9158[15]* i9158[16]))


(18) -> (19), if ((i9298[18]* i9298[19])∧((i11286[18]* i11286[19]))∧(i9158[18]* i9158[19])∧(i11286[18] <= 0 && i9158[18] > 0 && i9158[18] < i6[18] && i9298[18] > 0 && i9158[18] + 1 > 0* TRUE)∧((i6[18]* i6[19])∧(a80767data[18]* a80767data[19])))



The set Q consists of the following terms:
Load33388(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load33388ARR17(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load33388ARR17(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Inc40187(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load33388ARR18(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load33388ARR18(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load33388ARR19(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load33388ARR19(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
JMP40068(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load33388ARR20(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load33388ARR20(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load33388ARR21(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load33388ARR21(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load33388ARR24(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load33388ARR24(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))

(96) IDependencyGraphProof (EQUIVALENT transformation)

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

(97) TRUE

(98) Obligation:

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


The following domains are used:

Integer


R is empty.

The integer pair graph contains the following rules and edges:
(0): LOAD33388(java.lang.Object(ARRAY(i6[0], a80767data[0])), i9158[0], i9298[0]) → LOAD33388ARR17(java.lang.Object(ARRAY(i6[0], a80767data[0])), i9158[0], i9298[0], java.lang.Object(java.lang.String(i11284[0])))
(2): COND_LOAD33388ARR17(TRUE, java.lang.Object(ARRAY(i6[2], a80767data[2])), i9158[2], i9298[2], java.lang.Object(java.lang.String(i11284[2]))) → JMP40068'(java.lang.Object(ARRAY(i6[2], a80767data[2])), i9158[2] + 1, i9298[2])
(3): INC40187(java.lang.Object(ARRAY(i6[3], a80767data[3])), i10058[3], i9298[3]) → LOAD33388(java.lang.Object(ARRAY(i6[3], a80767data[3])), i10058[3], i9298[3] + -1)
(4): LOAD33388(java.lang.Object(ARRAY(i6[4], a80767data[4])), i9158[4], i9298[4]) → LOAD33388ARR18(java.lang.Object(ARRAY(i6[4], a80767data[4])), i9158[4], i9298[4], java.lang.Object(java.lang.String(i11286[4])))
(6): COND_LOAD33388ARR18(TRUE, java.lang.Object(ARRAY(i6[6], a80767data[6])), i9158[6], i9298[6], java.lang.Object(java.lang.String(i11286[6]))) → LOAD33388(java.lang.Object(ARRAY(i6[6], a80767data[6])), i9158[6] + 1, i9298[6] + -1)
(7): LOAD33388(java.lang.Object(ARRAY(i6[7], a80767data[7])), i9158[7], i9298[7]) → LOAD33388ARR19(java.lang.Object(ARRAY(i6[7], a80767data[7])), i9158[7], i9298[7], java.lang.Object(java.lang.String(i11284[7])))
(9): COND_LOAD33388ARR19(TRUE, java.lang.Object(ARRAY(i6[9], a80767data[9])), i9158[9], i9298[9], java.lang.Object(java.lang.String(i11284[9]))) → LOAD33388(java.lang.Object(ARRAY(i6[9], a80767data[9])), i9158[9] + 1, i9298[9] + -1)
(10): JMP40068'(java.lang.Object(ARRAY(i6[10], a80767data[10])), i10058[10], i9298[10]) → INC40187(java.lang.Object(ARRAY(i6[10], a80767data[10])), i10058[10], i9298[10])
(11): LOAD33388(java.lang.Object(ARRAY(i6[11], a80767data[11])), i9158[11], i9298[11]) → LOAD33388ARR20(java.lang.Object(ARRAY(i6[11], a80767data[11])), i9158[11], i9298[11], java.lang.Object(java.lang.String(i11284[11])))
(13): COND_LOAD33388ARR20(TRUE, java.lang.Object(ARRAY(i6[13], a80767data[13])), i9158[13], i9298[13], java.lang.Object(java.lang.String(i11284[13]))) → INC40187(java.lang.Object(ARRAY(i6[13], a80767data[13])), i9158[13] + 1, i9298[13])
(14): LOAD33388(java.lang.Object(ARRAY(i6[14], a80767data[14])), i9158[14], i9298[14]) → LOAD33388ARR21(java.lang.Object(ARRAY(i6[14], a80767data[14])), i9158[14], i9298[14], java.lang.Object(java.lang.String(i11286[14])))
(16): COND_LOAD33388ARR21(TRUE, java.lang.Object(ARRAY(i6[16], a80767data[16])), i9158[16], i9298[16], java.lang.Object(java.lang.String(i11286[16]))) → INC40187(java.lang.Object(ARRAY(i6[16], a80767data[16])), i9158[16] + 1, i9298[16])
(17): LOAD33388(java.lang.Object(ARRAY(i6[17], a80767data[17])), i9158[17], i9298[17]) → LOAD33388ARR24(java.lang.Object(ARRAY(i6[17], a80767data[17])), i9158[17], i9298[17], java.lang.Object(java.lang.String(i11286[17])))
(19): COND_LOAD33388ARR24(TRUE, java.lang.Object(ARRAY(i6[19], a80767data[19])), i9158[19], i9298[19], java.lang.Object(java.lang.String(i11286[19]))) → JMP40068'(java.lang.Object(ARRAY(i6[19], a80767data[19])), i9158[19] + 1, i9298[19])

(3) -> (0), if (((i6[3]* i6[0])∧(a80767data[3]* a80767data[0]))∧(i9298[3] + -1* i9298[0])∧(i10058[3]* i9158[0]))


(6) -> (0), if ((i9298[6] + -1* i9298[0])∧((i6[6]* i6[0])∧(a80767data[6]* a80767data[0]))∧(i9158[6] + 1* i9158[0]))


(9) -> (0), if ((i9298[9] + -1* i9298[0])∧(i9158[9] + 1* i9158[0])∧((i6[9]* i6[0])∧(a80767data[9]* a80767data[0])))


(10) -> (3), if ((i9298[10]* i9298[3])∧(i10058[10]* i10058[3])∧((i6[10]* i6[3])∧(a80767data[10]* a80767data[3])))


(13) -> (3), if ((i9298[13]* i9298[3])∧((i6[13]* i6[3])∧(a80767data[13]* a80767data[3]))∧(i9158[13] + 1* i10058[3]))


(16) -> (3), if ((i9298[16]* i9298[3])∧(i9158[16] + 1* i10058[3])∧((i6[16]* i6[3])∧(a80767data[16]* a80767data[3])))


(3) -> (4), if (((i6[3]* i6[4])∧(a80767data[3]* a80767data[4]))∧(i10058[3]* i9158[4])∧(i9298[3] + -1* i9298[4]))


(6) -> (4), if ((i9158[6] + 1* i9158[4])∧(i9298[6] + -1* i9298[4])∧((i6[6]* i6[4])∧(a80767data[6]* a80767data[4])))


(9) -> (4), if (((i6[9]* i6[4])∧(a80767data[9]* a80767data[4]))∧(i9158[9] + 1* i9158[4])∧(i9298[9] + -1* i9298[4]))


(3) -> (7), if ((i9298[3] + -1* i9298[7])∧(i10058[3]* i9158[7])∧((i6[3]* i6[7])∧(a80767data[3]* a80767data[7])))


(6) -> (7), if ((i9158[6] + 1* i9158[7])∧((i6[6]* i6[7])∧(a80767data[6]* a80767data[7]))∧(i9298[6] + -1* i9298[7]))


(9) -> (7), if (((i6[9]* i6[7])∧(a80767data[9]* a80767data[7]))∧(i9298[9] + -1* i9298[7])∧(i9158[9] + 1* i9158[7]))


(2) -> (10), if ((i9298[2]* i9298[10])∧((i6[2]* i6[10])∧(a80767data[2]* a80767data[10]))∧(i9158[2] + 1* i10058[10]))


(19) -> (10), if ((i9158[19] + 1* i10058[10])∧((i6[19]* i6[10])∧(a80767data[19]* a80767data[10]))∧(i9298[19]* i9298[10]))


(3) -> (11), if ((i9298[3] + -1* i9298[11])∧(i10058[3]* i9158[11])∧((i6[3]* i6[11])∧(a80767data[3]* a80767data[11])))


(6) -> (11), if ((i9158[6] + 1* i9158[11])∧((i6[6]* i6[11])∧(a80767data[6]* a80767data[11]))∧(i9298[6] + -1* i9298[11]))


(9) -> (11), if ((i9158[9] + 1* i9158[11])∧((i6[9]* i6[11])∧(a80767data[9]* a80767data[11]))∧(i9298[9] + -1* i9298[11]))


(3) -> (14), if ((i9298[3] + -1* i9298[14])∧(i10058[3]* i9158[14])∧((i6[3]* i6[14])∧(a80767data[3]* a80767data[14])))


(6) -> (14), if ((i9298[6] + -1* i9298[14])∧((i6[6]* i6[14])∧(a80767data[6]* a80767data[14]))∧(i9158[6] + 1* i9158[14]))


(9) -> (14), if ((i9298[9] + -1* i9298[14])∧(i9158[9] + 1* i9158[14])∧((i6[9]* i6[14])∧(a80767data[9]* a80767data[14])))


(3) -> (17), if ((i9298[3] + -1* i9298[17])∧((i6[3]* i6[17])∧(a80767data[3]* a80767data[17]))∧(i10058[3]* i9158[17]))


(6) -> (17), if (((i6[6]* i6[17])∧(a80767data[6]* a80767data[17]))∧(i9158[6] + 1* i9158[17])∧(i9298[6] + -1* i9298[17]))


(9) -> (17), if (((i6[9]* i6[17])∧(a80767data[9]* a80767data[17]))∧(i9298[9] + -1* i9298[17])∧(i9158[9] + 1* i9158[17]))



The set Q consists of the following terms:
Load33388(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load33388ARR17(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load33388ARR17(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Inc40187(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load33388ARR18(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load33388ARR18(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load33388ARR19(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load33388ARR19(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
JMP40068(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load33388ARR20(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load33388ARR20(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load33388ARR21(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load33388ARR21(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Load33388ARR24(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))
Cond_Load33388ARR24(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))

(99) IDependencyGraphProof (EQUIVALENT transformation)

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

(100) TRUE