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

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

### (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.

### (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.

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

Tree(x1, x2) → Tree
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)
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)
Cond_Load58473ARR3(x1, x2, x3, x4, x5, x6, x7) → Cond_Load58473ARR3(x1, x2, x3, x4, x7)
Cond_Load58473ARR4(x1, x2, x3, x4, x5, x6, x7) → Cond_Load58473ARR4(x1, x2, x3, x4, x7)
Cond_Load58473ARR5(x1, x2, x3, x4, x5, x6) → Cond_Load58473ARR5(x1, x2, x3, x4, x6)
JMP64193(x1, x2, x3, x4) → JMP64193(x1, x2, x3)
Cond_Load58473ARR6(x1, x2, x3, x4, x5, x6, x7) → Cond_Load58473ARR6(x1, x2, x3, x4, x7)
Cond_Load58473ARR7(x1, x2, x3, x4, x5, x6) → Cond_Load58473ARR7(x1, x2, x3, x4, x6)
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:
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)
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)
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)
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)
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)
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)
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)
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:
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)
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)
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)
Cond_Load58473ARR4(TRUE, 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)
Cond_Load58473ARR6(TRUE, 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)))
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:

### (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:
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)
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)
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)
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)
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)
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:
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)
Cond_Load58473ARR2(TRUE, 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)
Cond_Load58473ARR4(TRUE, 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)))
Cond_Load58473ARR8(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4)))

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

(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:
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)
Cond_Load58473ARR2(TRUE, 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)
Cond_Load58473ARR4(TRUE, 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)))
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:
(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)
(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])
(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])
(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])

(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:
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)
Cond_Load58473ARR2(TRUE, 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)
Cond_Load58473ARR4(TRUE, 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)))
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:
(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)
(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])
(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])
(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])

(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:
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)
Cond_Load58473ARR2(TRUE, 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)
Cond_Load58473ARR4(TRUE, 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)))
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:

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:

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:

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:

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:

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(