### (0) Obligation:

JBC Problem based on JBC Program:
Manifest-Version: 1.0 Created-By: 1.6.0_22 (Sun Microsystems Inc.) Main-Class: LessLeavesRec/LessLeavesRec
`package LessLeavesRec;public class LessLeavesRec {    public static Tree append(Tree x, Tree y) {                // adds y to the right bottom of x                if (x == null) return y;                else return new Tree(x.l, append(x.r,y));    }    // checks whether one tree has less leaves than the other    public static boolean lessleaves(Tree x, Tree y){                if (y == null) {                        return false;                } else {                        if (x == null) {                                return true;                        } else {                                return lessleaves(append(x.l,x.r), append(y.l,y.r));                        }            }        }        public static void main(String[] args) {                Random.args = args;                Tree x = Tree.createTree();                Tree y = Tree.createTree();                          boolean b = lessleaves(x,y);        }}package LessLeavesRec;public class Random {    static String[] args;    static int index = 0;    public static int random() {        if (args.length <= index) {            return 0;        }        final String string = args[index];        index++;        if (string == null) {            return 0;        }        return string.length();    }}package LessLeavesRec;public class Tree {    Tree l;    Tree r;    int value;    public Tree(final Tree l, final Tree r) {        this.l = l;        this.r = r;    }    public Tree() {    }    public static Tree createNode() {        final Tree result = new Tree();        result.value = Random.random();        return result;    }   public static Tree createTree() {        int counter = Random.random();        if (counter == 0) {            return null;        }        final Tree result = createNode();        Tree t = result;        while (counter > 0) {            final int branch = Random.random();            if (branch > 0) {                if (t.l == null) {                    t.l = createNode();                    t = result;                } else {                    t = t.l;                }            } else {                if (t.r == null) {                    t.r = createNode();                    t = result;                } else {                    t = t.r;                }            }            counter--;        }        return result;    }}`

### (1) JBC2FIG (SOUND transformation)

Constructed FIGraph.

### (2) Obligation:

FIGraph based on JBC Program:
LessLeavesRec.LessLeavesRec.main([Ljava/lang/String;)V: Graph of 212 nodes with 0 SCCs.

LessLeavesRec.Tree.createTree()LLessLeavesRec/Tree;: Graph of 396 nodes with 1 SCC.

LessLeavesRec.LessLeavesRec.lessleaves(LLessLeavesRec/Tree;LLessLeavesRec/Tree;)Z: Graph of 134 nodes with 0 SCCs.

LessLeavesRec.Tree.createNode()LLessLeavesRec/Tree;: Graph of 99 nodes with 0 SCCs.

LessLeavesRec.LessLeavesRec.append(LLessLeavesRec/Tree;LLessLeavesRec/Tree;)LLessLeavesRec/Tree;: Graph of 46 nodes with 0 SCCs.

### (3) FIGtoITRSProof (SOUND transformation)

Transformed FIGraph SCCs to IDPs. Logs:

Log for SCC 0:

Generated 15 rules for P and 30 rules for R.

Combined rules. Obtained 1 rules for P and 4 rules for R.

Filtered ground terms:

4490_1_append_InvokeMethod(x1, x2, x3, x4, x5, x6) → 4490_1_append_InvokeMethod(x1, x4, x5, x6)
LessLeavesRec.Tree(x1, x2, x3) → LessLeavesRec.Tree(x2, x3)
4159_0_append_NONNULL(x1, x2, x3, x4) → 4159_0_append_NONNULL(x2, x3, x4)
9986_0_append_Return(x1, x2) → 9986_0_append_Return(x2)
6162_0_append_Return(x1, x2) → 6162_0_append_Return(x2)
4219_0_append_Return(x1, x2, x3, x4) → 4219_0_append_Return(x3, x4)

Filtered duplicate args:

4159_0_append_NONNULL(x1, x2, x3) → 4159_0_append_NONNULL(x2, x3)
4219_0_append_Return(x1, x2) → 4219_0_append_Return(x2)

Filtered unneeded arguments:

4490_1_append_InvokeMethod(x1, x2, x3, x4) → 4490_1_append_InvokeMethod(x1, x3, x4)

Filtered all free variables:

6162_0_append_Return(x1) → 6162_0_append_Return
9986_0_append_Return(x1) → 9986_0_append_Return

Finished conversion. Obtained 1 rules for P and 4 rules for R. System has no predefined symbols.

Log for SCC 1:

Generated 61 rules for P and 152 rules for R.

Combined rules. Obtained 9 rules for P and 44 rules for R.

Filtered ground terms:

LessLeavesRec.Tree(x1, x2, x3) → LessLeavesRec.Tree(x2, x3)
9986_0_append_Return(x1, x2) → 9986_0_append_Return(x2)
6162_0_append_Return(x1, x2) → 6162_0_append_Return(x2)
4219_0_append_Return(x1, x2, x3, x4) → 4219_0_append_Return(x3, x4)
4490_1_append_InvokeMethod(x1, x2, x3, x4, x5, x6) → 4490_1_append_InvokeMethod(x1, x4, x5, x6)
4159_0_append_NONNULL(x1, x2, x3, x4) → 4159_0_append_NONNULL(x2, x3, x4)
11095_0_lessleaves_Return(x1) → 11095_0_lessleaves_Return
10213_0_lessleaves_Return(x1) → 10213_0_lessleaves_Return
10190_0_lessleaves_Return(x1) → 10190_0_lessleaves_Return
9516_0_lessleaves_Return(x1) → 9516_0_lessleaves_Return
8962_0_lessleaves_Return(x1) → 8962_0_lessleaves_Return
8507_0_lessleaves_Return(x1) → 8507_0_lessleaves_Return
4742_0_lessleaves_Return(x1) → 4742_0_lessleaves_Return
4737_0_lessleaves_Return(x1) → 4737_0_lessleaves_Return
3714_0_lessleaves_Return(x1, x2, x3) → 3714_0_lessleaves_Return(x2)
3835_0_lessleaves_Return(x1, x2, x3) → 3835_0_lessleaves_Return(x3)

Filtered duplicate args:

4219_0_append_Return(x1, x2) → 4219_0_append_Return(x2)
4159_0_append_NONNULL(x1, x2, x3) → 4159_0_append_NONNULL(x2, x3)

Finished conversion. Obtained 9 rules for P and 44 rules for R. System has no predefined symbols.

Log for SCC 2:

Generated 204 rules for P and 195 rules for R.

Combined rules. Obtained 37 rules for P and 34 rules for R.

Filtered ground terms:

17086_0_createTree_FieldAccess(x1, x2, x3, x4, x5) → 17086_0_createTree_FieldAccess(x2, x3, x4, x5)
LessLeavesRec.Tree(x1, x2, x3) → LessLeavesRec.Tree(x2, x3)
16786_0_random_GT(x1, x2, x3) → 16786_0_random_GT(x2, x3)
17161_0_random_IntArithmetic(x1, x2, x3, x4) → 17161_0_random_IntArithmetic(x2, x3)
16685_0_createTree_LE(x1, x2, x3, x4, x5) → 16685_0_createTree_LE(x2, x3, x4, x5)
Cond_19955_1_createTree_InvokeMethod1(x1, x2, x3, x4, x5) → Cond_19955_1_createTree_InvokeMethod1(x1, x3, x4, x5)
3247_0_createNode_Return(x1, x2) → 3247_0_createNode_Return
Cond_19955_1_createTree_InvokeMethod(x1, x2, x3, x4, x5) → Cond_19955_1_createTree_InvokeMethod(x1, x3, x4, x5)
2562_0_createNode_Return(x1, x2) → 2562_0_createNode_Return
19955_0_createNode_New(x1) → 19955_0_createNode_New
Cond_20061_1_createTree_InvokeMethod1(x1, x2, x3, x4, x5) → Cond_20061_1_createTree_InvokeMethod1(x1, x3, x4, x5)
Cond_20061_1_createTree_InvokeMethod(x1, x2, x3, x4, x5) → Cond_20061_1_createTree_InvokeMethod(x1, x3, x4, x5)
20061_0_createNode_New(x1) → 20061_0_createNode_New
Cond_19922_1_createTree_InvokeMethod1(x1, x2, x3, x4, x5) → Cond_19922_1_createTree_InvokeMethod1(x1, x3)
19922_1_createTree_InvokeMethod(x1, x2, x3, x4) → 19922_1_createTree_InvokeMethod(x1, x2)
Cond_19922_1_createTree_InvokeMethod(x1, x2, x3, x4, x5) → Cond_19922_1_createTree_InvokeMethod(x1, x3)
19922_0_createNode_New(x1) → 19922_0_createNode_New
Cond_17161_1_createTree_InvokeMethod3(x1, x2, x3, x4, x5) → Cond_17161_1_createTree_InvokeMethod3(x1, x2, x3)
Cond_20129_1_createTree_InvokeMethod1(x1, x2, x3, x4, x5) → Cond_20129_1_createTree_InvokeMethod1(x1, x3, x4, x5)
Cond_20129_1_createTree_InvokeMethod(x1, x2, x3, x4, x5) → Cond_20129_1_createTree_InvokeMethod(x1, x3, x4, x5)
20129_0_createNode_New(x1) → 20129_0_createNode_New
Cond_17727_1_createTree_InvokeMethod1(x1, x2, x3, x4, x5) → Cond_17727_1_createTree_InvokeMethod1(x1, x3, x4, x5)
Cond_17727_1_createTree_InvokeMethod(x1, x2, x3, x4, x5) → Cond_17727_1_createTree_InvokeMethod(x1, x3, x4, x5)
17727_0_createNode_New(x1) → 17727_0_createNode_New
Cond_17086_0_createTree_FieldAccess2(x1, x2, x3, x4, x5, x6) → Cond_17086_0_createTree_FieldAccess2(x1, x3, x4, x5, x6)
Cond_17930_1_createTree_InvokeMethod1(x1, x2, x3, x4, x5) → Cond_17930_1_createTree_InvokeMethod1(x1, x3, x4, x5)
Cond_17930_1_createTree_InvokeMethod(x1, x2, x3, x4, x5) → Cond_17930_1_createTree_InvokeMethod(x1, x3, x4, x5)
17930_0_createNode_New(x1) → 17930_0_createNode_New
Cond_17086_0_createTree_FieldAccess1(x1, x2, x3, x4, x5, x6) → Cond_17086_0_createTree_FieldAccess1(x1, x3, x4, x5, x6)
Cond_17698_1_createTree_InvokeMethod1(x1, x2, x3, x4, x5) → Cond_17698_1_createTree_InvokeMethod1(x1, x3)
17698_1_createTree_InvokeMethod(x1, x2, x3, x4) → 17698_1_createTree_InvokeMethod(x1, x2)
Cond_17698_1_createTree_InvokeMethod(x1, x2, x3, x4, x5) → Cond_17698_1_createTree_InvokeMethod(x1, x3)
17698_0_createNode_New(x1) → 17698_0_createNode_New
Cond_18104_1_createTree_InvokeMethod1(x1, x2, x3, x4, x5) → Cond_18104_1_createTree_InvokeMethod1(x1, x3, x4, x5)
Cond_18104_1_createTree_InvokeMethod(x1, x2, x3, x4, x5) → Cond_18104_1_createTree_InvokeMethod(x1, x3, x4, x5)
18104_0_createNode_New(x1) → 18104_0_createNode_New
Cond_17086_0_createTree_FieldAccess(x1, x2, x3, x4, x5, x6) → Cond_17086_0_createTree_FieldAccess(x1, x3, x4, x5, x6)
16950_0_random_ArrayAccess(x1, x2, x3) → 16950_0_random_ArrayAccess(x2, x3)
16781_0_random_GT(x1, x2, x3) → 16781_0_random_GT(x2, x3)
Cond_16685_0_createTree_LE1(x1, x2, x3, x4, x5, x6) → Cond_16685_0_createTree_LE1(x1, x3, x4, x5, x6)
Cond_16685_0_createTree_LE(x1, x2, x3, x4, x5, x6) → Cond_16685_0_createTree_LE(x1, x3, x4, x5, x6)
3580_0_createNode_InvokeMethod(x1, x2, x3, x4) → 3580_0_createNode_InvokeMethod
java.lang.ArrayIndexOutOfBoundsException(x1) → java.lang.ArrayIndexOutOfBoundsException
java.lang.IndexOutOfBoundsException(x1) → java.lang.IndexOutOfBoundsException
java.lang.RuntimeException(x1) → java.lang.RuntimeException
java.lang.Exception(x1) → java.lang.Exception
java.lang.Throwable(x1) → java.lang.Throwable
Cond_2507_1_createNode_InvokeMethod(x1, x2, x3, x4) → Cond_2507_1_createNode_InvokeMethod(x1, x2)
2507_0_random_ArrayAccess(x1, x2, x3) → 2507_0_random_ArrayAccess(x2, x3)
2507_1_createNode_InvokeMethod(x1, x2, x3) → 2507_1_createNode_InvokeMethod(x1)
Cond_2645_1_createNode_InvokeMethod1(x1, x2, x3, x4) → Cond_2645_1_createNode_InvokeMethod1(x1, x2)
2645_0_random_IntArithmetic(x1, x2, x3, x4) → 2645_0_random_IntArithmetic(x2, x3)
2645_1_createNode_InvokeMethod(x1, x2, x3) → 2645_1_createNode_InvokeMethod(x1)
Cond_2645_1_createNode_InvokeMethod(x1, x2, x3, x4) → Cond_2645_1_createNode_InvokeMethod(x1, x2)
Cond_2559_1_createNode_InvokeMethod(x1, x2, x3, x4) → Cond_2559_1_createNode_InvokeMethod(x1, x2)
2559_0_random_ArrayAccess(x1, x2, x3) → 2559_0_random_ArrayAccess(x2, x3)
2559_1_createNode_InvokeMethod(x1, x2, x3) → 2559_1_createNode_InvokeMethod(x1)
3636_0_createNode_InvokeMethod(x1, x2, x3, x4) → 3636_0_createNode_InvokeMethod
Cond_2560_1_createNode_InvokeMethod(x1, x2, x3, x4) → Cond_2560_1_createNode_InvokeMethod(x1, x2)
2560_0_random_ArrayAccess(x1, x2, x3) → 2560_0_random_ArrayAccess(x2, x3)
2560_1_createNode_InvokeMethod(x1, x2, x3) → 2560_1_createNode_InvokeMethod(x1)
Cond_2339_1_createNode_InvokeMethod3(x1, x2, x3, x4) → Cond_2339_1_createNode_InvokeMethod3(x1, x2)
2339_0_random_GT(x1, x2, x3) → 2339_0_random_GT(x2, x3)
2339_1_createNode_InvokeMethod(x1, x2, x3) → 2339_1_createNode_InvokeMethod(x1)
Cond_2339_1_createNode_InvokeMethod2(x1, x2, x3, x4) → Cond_2339_1_createNode_InvokeMethod2(x1, x2)
Cond_2339_1_createNode_InvokeMethod1(x1, x2, x3, x4) → Cond_2339_1_createNode_InvokeMethod1(x1, x2)
Cond_2339_1_createNode_InvokeMethod(x1, x2, x3, x4) → Cond_2339_1_createNode_InvokeMethod(x1, x2)
20098_0_createTree_InvokeMethod(x1, x2, x3, x4, x5) → 20098_0_createTree_InvokeMethod(x3, x4, x5)
20208_0_createTree_InvokeMethod(x1, x2, x3, x4, x5) → 20208_0_createTree_InvokeMethod(x3, x4, x5)
20055_0_createTree_InvokeMethod(x1, x2, x3, x4, x5) → 20055_0_createTree_InvokeMethod(x3)
20333_0_createTree_InvokeMethod(x1, x2, x3, x4, x5) → 20333_0_createTree_InvokeMethod(x3, x4, x5)
17975_0_createTree_InvokeMethod(x1, x2, x3, x4, x5) → 17975_0_createTree_InvokeMethod(x3, x4, x5)
18223_0_createTree_InvokeMethod(x1, x2, x3, x4, x5) → 18223_0_createTree_InvokeMethod(x3, x4, x5)
17926_0_createTree_InvokeMethod(x1, x2, x3, x4, x5) → 17926_0_createTree_InvokeMethod(x3)
18394_0_createTree_InvokeMethod(x1, x2, x3, x4, x5) → 18394_0_createTree_InvokeMethod(x3, x4, x5)
16708_0_createTree_Return(x1, x2) → 16708_0_createTree_Return(x2)
19972_0_createNode_InvokeMethod(x1, x2, x3, x4) → 19972_0_createNode_InvokeMethod
20077_0_createNode_InvokeMethod(x1, x2, x3, x4) → 20077_0_createNode_InvokeMethod
19939_0_createNode_InvokeMethod(x1, x2, x3, x4) → 19939_0_createNode_InvokeMethod
20161_0_createNode_InvokeMethod(x1, x2, x3, x4) → 20161_0_createNode_InvokeMethod

Filtered duplicate args:

17086_0_createTree_FieldAccess(x1, x2, x3, x4) → 17086_0_createTree_FieldAccess(x1, x2, x4)
16685_0_createTree_LE(x1, x2, x3, x4) → 16685_0_createTree_LE(x2, x3, x4)
Cond_17086_0_createTree_FieldAccess2(x1, x2, x3, x4, x5) → Cond_17086_0_createTree_FieldAccess2(x1, x2, x3, x5)
Cond_17086_0_createTree_FieldAccess1(x1, x2, x3, x4, x5) → Cond_17086_0_createTree_FieldAccess1(x1, x2, x3, x5)
Cond_17086_0_createTree_FieldAccess(x1, x2, x3, x4, x5) → Cond_17086_0_createTree_FieldAccess(x1, x2, x3, x5)
Cond_16685_0_createTree_LE1(x1, x2, x3, x4, x5) → Cond_16685_0_createTree_LE1(x1, x3, x4, x5)
Cond_16685_0_createTree_LE(x1, x2, x3, x4, x5) → Cond_16685_0_createTree_LE(x1, x3, x4, x5)

Filtered all non-integer terms:

16685_0_createTree_LE(x1, x2, x3) → 16685_0_createTree_LE(x3)
Cond_16685_0_createTree_LE(x1, x2, x3, x4) → Cond_16685_0_createTree_LE(x1, x4)
16781_1_createTree_InvokeMethod(x1, x2, x3, x4) → 16781_1_createTree_InvokeMethod(x1, x2)
Cond_16685_0_createTree_LE1(x1, x2, x3, x4) → Cond_16685_0_createTree_LE1(x1, x4)
16786_1_createTree_InvokeMethod(x1, x2, x3, x4) → 16786_1_createTree_InvokeMethod(x1, x2)
Cond_16781_1_createTree_InvokeMethod(x1, x2, x3, x4, x5) → Cond_16781_1_createTree_InvokeMethod(x1, x2, x3)
16950_1_createTree_InvokeMethod(x1, x2, x3, x4) → 16950_1_createTree_InvokeMethod(x1, x2)
Cond_16950_1_createTree_InvokeMethod(x1, x2, x3, x4, x5) → Cond_16950_1_createTree_InvokeMethod(x1, x2, x3)
17161_1_createTree_InvokeMethod(x1, x2, x3, x4) → 17161_1_createTree_InvokeMethod(x1, x2)
17161_0_random_IntArithmetic(x1, x2) → 17161_0_random_IntArithmetic(x2)
Cond_17161_1_createTree_InvokeMethod(x1, x2, x3, x4, x5) → Cond_17161_1_createTree_InvokeMethod(x1, x2, x3)
17086_0_createTree_FieldAccess(x1, x2, x3) → 17086_0_createTree_FieldAccess(x1)
LessLeavesRec.Tree(x1, x2) → LessLeavesRec.Tree
Cond_17086_0_createTree_FieldAccess(x1, x2, x3, x4) → Cond_17086_0_createTree_FieldAccess(x1, x2)
18104_1_createTree_InvokeMethod(x1, x2, x3, x4) → 18104_1_createTree_InvokeMethod(x1, x2)
Cond_18104_1_createTree_InvokeMethod(x1, x2, x3, x4) → Cond_18104_1_createTree_InvokeMethod(x1, x2)
Cond_18104_1_createTree_InvokeMethod1(x1, x2, x3, x4) → Cond_18104_1_createTree_InvokeMethod1(x1, x2)
Cond_17086_0_createTree_FieldAccess1(x1, x2, x3, x4) → Cond_17086_0_createTree_FieldAccess1(x1, x2)
17930_1_createTree_InvokeMethod(x1, x2, x3, x4) → 17930_1_createTree_InvokeMethod(x1, x2)
Cond_17930_1_createTree_InvokeMethod(x1, x2, x3, x4) → Cond_17930_1_createTree_InvokeMethod(x1, x2)
Cond_17930_1_createTree_InvokeMethod1(x1, x2, x3, x4) → Cond_17930_1_createTree_InvokeMethod1(x1, x2)
Cond_17086_0_createTree_FieldAccess2(x1, x2, x3, x4) → Cond_17086_0_createTree_FieldAccess2(x1, x2)
17727_1_createTree_InvokeMethod(x1, x2, x3, x4) → 17727_1_createTree_InvokeMethod(x1, x2)
Cond_17727_1_createTree_InvokeMethod(x1, x2, x3, x4) → Cond_17727_1_createTree_InvokeMethod(x1, x2)
Cond_17727_1_createTree_InvokeMethod1(x1, x2, x3, x4) → Cond_17727_1_createTree_InvokeMethod1(x1, x2)
Cond_17161_1_createTree_InvokeMethod1(x1, x2, x3, x4, x5) → Cond_17161_1_createTree_InvokeMethod1(x1, x2, x3)
Cond_17161_1_createTree_InvokeMethod2(x1, x2, x3, x4, x5) → Cond_17161_1_createTree_InvokeMethod2(x1, x2, x3)
20129_1_createTree_InvokeMethod(x1, x2, x3, x4) → 20129_1_createTree_InvokeMethod(x1, x2)
Cond_20129_1_createTree_InvokeMethod(x1, x2, x3, x4) → Cond_20129_1_createTree_InvokeMethod(x1, x2)
Cond_20129_1_createTree_InvokeMethod1(x1, x2, x3, x4) → Cond_20129_1_createTree_InvokeMethod1(x1, x2)
Cond_17161_1_createTree_InvokeMethod4(x1, x2, x3, x4, x5) → Cond_17161_1_createTree_InvokeMethod4(x1, x2, x3)
Cond_17161_1_createTree_InvokeMethod5(x1, x2, x3, x4, x5) → Cond_17161_1_createTree_InvokeMethod5(x1, x2, x3)
20061_1_createTree_InvokeMethod(x1, x2, x3, x4) → 20061_1_createTree_InvokeMethod(x1, x2)
Cond_20061_1_createTree_InvokeMethod(x1, x2, x3, x4) → Cond_20061_1_createTree_InvokeMethod(x1, x2)
Cond_20061_1_createTree_InvokeMethod1(x1, x2, x3, x4) → Cond_20061_1_createTree_InvokeMethod1(x1, x2)
Cond_17161_1_createTree_InvokeMethod6(x1, x2, x3, x4, x5) → Cond_17161_1_createTree_InvokeMethod6(x1, x2, x3)
Cond_17161_1_createTree_InvokeMethod7(x1, x2, x3, x4, x5) → Cond_17161_1_createTree_InvokeMethod7(x1, x2, x3)
19955_1_createTree_InvokeMethod(x1, x2, x3, x4) → 19955_1_createTree_InvokeMethod(x1, x2)
Cond_19955_1_createTree_InvokeMethod(x1, x2, x3, x4) → Cond_19955_1_createTree_InvokeMethod(x1, x2)
Cond_19955_1_createTree_InvokeMethod1(x1, x2, x3, x4) → Cond_19955_1_createTree_InvokeMethod1(x1, x2)
Cond_17161_1_createTree_InvokeMethod8(x1, x2, x3, x4, x5) → Cond_17161_1_createTree_InvokeMethod8(x1, x2, x3)
Cond_16786_1_createTree_InvokeMethod(x1, x2, x3, x4, x5) → Cond_16786_1_createTree_InvokeMethod(x1, x2, x3)
16708_0_createTree_Return(x1) → 16708_0_createTree_Return
18394_0_createTree_InvokeMethod(x1, x2, x3) → 18394_0_createTree_InvokeMethod(x1)
18223_0_createTree_InvokeMethod(x1, x2, x3) → 18223_0_createTree_InvokeMethod(x1)
17975_0_createTree_InvokeMethod(x1, x2, x3) → 17975_0_createTree_InvokeMethod(x1)
20333_0_createTree_InvokeMethod(x1, x2, x3) → 20333_0_createTree_InvokeMethod(x1)
20208_0_createTree_InvokeMethod(x1, x2, x3) → 20208_0_createTree_InvokeMethod(x1)
20098_0_createTree_InvokeMethod(x1, x2, x3) → 20098_0_createTree_InvokeMethod(x1)
2645_0_random_IntArithmetic(x1, x2) → 2645_0_random_IntArithmetic(x2)

Filtered all free variables:

16781_1_createTree_InvokeMethod(x1, x2) → 16781_1_createTree_InvokeMethod(x2)
16786_1_createTree_InvokeMethod(x1, x2) → 16786_1_createTree_InvokeMethod(x2)
Cond_16781_1_createTree_InvokeMethod(x1, x2, x3) → Cond_16781_1_createTree_InvokeMethod(x1, x3)
16950_1_createTree_InvokeMethod(x1, x2) → 16950_1_createTree_InvokeMethod(x2)
Cond_16950_1_createTree_InvokeMethod(x1, x2, x3) → Cond_16950_1_createTree_InvokeMethod(x1, x3)
17161_1_createTree_InvokeMethod(x1, x2) → 17161_1_createTree_InvokeMethod(x2)
Cond_17161_1_createTree_InvokeMethod(x1, x2, x3) → Cond_17161_1_createTree_InvokeMethod(x1, x3)
Cond_17161_1_createTree_InvokeMethod1(x1, x2, x3) → Cond_17161_1_createTree_InvokeMethod1(x1, x3)
Cond_17161_1_createTree_InvokeMethod2(x1, x2, x3) → Cond_17161_1_createTree_InvokeMethod2(x1, x3)
Cond_17161_1_createTree_InvokeMethod3(x1, x2, x3) → Cond_17161_1_createTree_InvokeMethod3(x1, x3)
Cond_17161_1_createTree_InvokeMethod4(x1, x2, x3) → Cond_17161_1_createTree_InvokeMethod4(x1, x3)
Cond_17161_1_createTree_InvokeMethod5(x1, x2, x3) → Cond_17161_1_createTree_InvokeMethod5(x1, x3)
Cond_17161_1_createTree_InvokeMethod6(x1, x2, x3) → Cond_17161_1_createTree_InvokeMethod6(x1, x3)
Cond_17161_1_createTree_InvokeMethod7(x1, x2, x3) → Cond_17161_1_createTree_InvokeMethod7(x1, x3)
Cond_17161_1_createTree_InvokeMethod8(x1, x2, x3) → Cond_17161_1_createTree_InvokeMethod8(x1, x3)
Cond_16786_1_createTree_InvokeMethod(x1, x2, x3) → Cond_16786_1_createTree_InvokeMethod(x1, x3)
2339_0_random_GT(x1, x2) → 2339_0_random_GT
2507_0_random_ArrayAccess(x1, x2) → 2507_0_random_ArrayAccess(x1)
ARRAY(x1, x2) → ARRAY(x1)
2559_0_random_ArrayAccess(x1, x2) → 2559_0_random_ArrayAccess(x1)
2560_0_random_ArrayAccess(x1, x2) → 2560_0_random_ArrayAccess(x1)
2645_0_random_IntArithmetic(x1) → 2645_0_random_IntArithmetic

Filtered ground terms:

Cond_2645_1_createNode_InvokeMethod1(x1, x2) → Cond_2645_1_createNode_InvokeMethod1(x1)
2645_1_createNode_InvokeMethod(x1) → 2645_1_createNode_InvokeMethod
Cond_2645_1_createNode_InvokeMethod(x1, x2) → Cond_2645_1_createNode_InvokeMethod(x1)
Cond_2339_1_createNode_InvokeMethod3(x1, x2) → Cond_2339_1_createNode_InvokeMethod3(x1)
2339_1_createNode_InvokeMethod(x1) → 2339_1_createNode_InvokeMethod
Cond_2339_1_createNode_InvokeMethod2(x1, x2) → Cond_2339_1_createNode_InvokeMethod2(x1)
Cond_2339_1_createNode_InvokeMethod1(x1, x2) → Cond_2339_1_createNode_InvokeMethod1(x1)
Cond_2339_1_createNode_InvokeMethod(x1, x2) → Cond_2339_1_createNode_InvokeMethod(x1)

Combined rules. Obtained 25 rules for P and 29 rules for R.

Finished conversion. Obtained 25 rules for P and 29 rules for R. System has predefined symbols.

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

The ITRS R consists of the following rules:
4159_0_append_NONNULL(x0, NULL) → 4219_0_append_Return(x0)
4490_1_append_InvokeMethod(4219_0_append_Return(x0), NULL, x0) → 6162_0_append_Return
4490_1_append_InvokeMethod(6162_0_append_Return, java.lang.Object(LessLeavesRec.Tree(x0, NULL)), x1) → 9986_0_append_Return
4490_1_append_InvokeMethod(9986_0_append_Return, java.lang.Object(LessLeavesRec.Tree(x0, java.lang.Object(LessLeavesRec.Tree(x1, x4)))), x5) → 9986_0_append_Return

The integer pair graph contains the following rules and edges:
(0): 4159_0_APPEND_NONNULL(x2[0], java.lang.Object(LessLeavesRec.Tree(x0[0], x1[0]))) → 4159_0_APPEND_NONNULL(x2[0], x1[0])

(0) -> (0), if ((x2[0]* x2[0]')∧(x1[0]* java.lang.Object(LessLeavesRec.Tree(x0[0]', x1[0]'))))

The set Q consists of the following terms:
4159_0_append_NONNULL(x0, NULL)
4490_1_append_InvokeMethod(4219_0_append_Return(x0), NULL, x0)
4490_1_append_InvokeMethod(6162_0_append_Return, java.lang.Object(LessLeavesRec.Tree(x0, NULL)), x1)
4490_1_append_InvokeMethod(9986_0_append_Return, java.lang.Object(LessLeavesRec.Tree(x0, java.lang.Object(LessLeavesRec.Tree(x1, x2)))), x3)

### (6) IDPtoQDPProof (SOUND transformation)

Represented integers and predefined function symbols by Terms

### (7) Obligation:

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

4159_0_APPEND_NONNULL(x2[0], java.lang.Object(LessLeavesRec.Tree(x0[0], x1[0]))) → 4159_0_APPEND_NONNULL(x2[0], x1[0])

The TRS R consists of the following rules:

4159_0_append_NONNULL(x0, NULL) → 4219_0_append_Return(x0)
4490_1_append_InvokeMethod(4219_0_append_Return(x0), NULL, x0) → 6162_0_append_Return
4490_1_append_InvokeMethod(6162_0_append_Return, java.lang.Object(LessLeavesRec.Tree(x0, NULL)), x1) → 9986_0_append_Return
4490_1_append_InvokeMethod(9986_0_append_Return, java.lang.Object(LessLeavesRec.Tree(x0, java.lang.Object(LessLeavesRec.Tree(x1, x4)))), x5) → 9986_0_append_Return

The set Q consists of the following terms:

4159_0_append_NONNULL(x0, NULL)
4490_1_append_InvokeMethod(4219_0_append_Return(x0), NULL, x0)
4490_1_append_InvokeMethod(6162_0_append_Return, java.lang.Object(LessLeavesRec.Tree(x0, NULL)), x1)
4490_1_append_InvokeMethod(9986_0_append_Return, java.lang.Object(LessLeavesRec.Tree(x0, java.lang.Object(LessLeavesRec.Tree(x1, x2)))), x3)

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

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

### (9) Obligation:

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

4159_0_APPEND_NONNULL(x2[0], java.lang.Object(LessLeavesRec.Tree(x0[0], x1[0]))) → 4159_0_APPEND_NONNULL(x2[0], x1[0])

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

4159_0_append_NONNULL(x0, NULL)
4490_1_append_InvokeMethod(4219_0_append_Return(x0), NULL, x0)
4490_1_append_InvokeMethod(6162_0_append_Return, java.lang.Object(LessLeavesRec.Tree(x0, NULL)), x1)
4490_1_append_InvokeMethod(9986_0_append_Return, java.lang.Object(LessLeavesRec.Tree(x0, java.lang.Object(LessLeavesRec.Tree(x1, x2)))), x3)

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

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

4159_0_append_NONNULL(x0, NULL)
4490_1_append_InvokeMethod(4219_0_append_Return(x0), NULL, x0)
4490_1_append_InvokeMethod(6162_0_append_Return, java.lang.Object(LessLeavesRec.Tree(x0, NULL)), x1)
4490_1_append_InvokeMethod(9986_0_append_Return, java.lang.Object(LessLeavesRec.Tree(x0, java.lang.Object(LessLeavesRec.Tree(x1, x2)))), x3)

### (11) Obligation:

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

4159_0_APPEND_NONNULL(x2[0], java.lang.Object(LessLeavesRec.Tree(x0[0], x1[0]))) → 4159_0_APPEND_NONNULL(x2[0], x1[0])

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

### (12) QDPSizeChangeProof (EQUIVALENT transformation)

By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:

• 4159_0_APPEND_NONNULL(x2[0], java.lang.Object(LessLeavesRec.Tree(x0[0], x1[0]))) → 4159_0_APPEND_NONNULL(x2[0], x1[0])
The graph contains the following edges 1 >= 1, 2 > 2

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

The ITRS R consists of the following rules:
4653_1_lessleaves_InvokeMethod(3714_0_lessleaves_Return(x0), x0, NULL) → 4737_0_lessleaves_Return
4653_1_lessleaves_InvokeMethod(3835_0_lessleaves_Return(java.lang.Object(x0)), NULL, java.lang.Object(x0)) → 4742_0_lessleaves_Return
4653_1_lessleaves_InvokeMethod(4737_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, x0)), java.lang.Object(LessLeavesRec.Tree(NULL, NULL))) → 8962_0_lessleaves_Return
4653_1_lessleaves_InvokeMethod(4742_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, NULL)), java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(x0)))) → 8962_0_lessleaves_Return
4653_1_lessleaves_InvokeMethod(8507_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, NULL)), java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x0, x1)), x2))) → 8962_0_lessleaves_Return
4653_1_lessleaves_InvokeMethod(8962_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(LessLeavesRec.Tree(x0, x1)))), java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(LessLeavesRec.Tree(x2, x3))))) → 8962_0_lessleaves_Return
4653_1_lessleaves_InvokeMethod(9516_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x0, x1)), x2)), java.lang.Object(LessLeavesRec.Tree(NULL, NULL))) → 8962_0_lessleaves_Return
4653_1_lessleaves_InvokeMethod(10190_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(LessLeavesRec.Tree(x0, x1)))), java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x2, x3)), x4))) → 8962_0_lessleaves_Return
4653_1_lessleaves_InvokeMethod(10213_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x0, x1)), x2)), java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(LessLeavesRec.Tree(x3, x4))))) → 8962_0_lessleaves_Return
4653_1_lessleaves_InvokeMethod(11095_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x0, x1)), x2)), java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x3, x4)), x5))) → 8962_0_lessleaves_Return
8384_1_lessleaves_InvokeMethod(3835_0_lessleaves_Return(java.lang.Object(LessLeavesRec.Tree(x0, x1))), NULL, java.lang.Object(LessLeavesRec.Tree(x0, x1))) → 8507_0_lessleaves_Return
8384_1_lessleaves_InvokeMethod(4737_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, x0)), java.lang.Object(LessLeavesRec.Tree(NULL, NULL))) → 10190_0_lessleaves_Return
8384_1_lessleaves_InvokeMethod(4742_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, NULL)), java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(x0)))) → 10190_0_lessleaves_Return
8384_1_lessleaves_InvokeMethod(8507_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, NULL)), java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x0, x1)), x2))) → 10190_0_lessleaves_Return
8384_1_lessleaves_InvokeMethod(8962_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(LessLeavesRec.Tree(x0, x1)))), java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(LessLeavesRec.Tree(x2, x3))))) → 10190_0_lessleaves_Return
8384_1_lessleaves_InvokeMethod(9516_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x0, x1)), x2)), java.lang.Object(LessLeavesRec.Tree(NULL, NULL))) → 10190_0_lessleaves_Return
8384_1_lessleaves_InvokeMethod(10190_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(LessLeavesRec.Tree(x0, x1)))), java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x2, x3)), x4))) → 10190_0_lessleaves_Return
8384_1_lessleaves_InvokeMethod(10213_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x0, x1)), x2)), java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(LessLeavesRec.Tree(x3, x4))))) → 10190_0_lessleaves_Return
8384_1_lessleaves_InvokeMethod(11095_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x0, x1)), x2)), java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x3, x4)), x5))) → 10190_0_lessleaves_Return
9206_1_lessleaves_InvokeMethod(3714_0_lessleaves_Return(java.lang.Object(LessLeavesRec.Tree(x0, x1))), java.lang.Object(LessLeavesRec.Tree(x0, x1)), NULL) → 9516_0_lessleaves_Return
9206_1_lessleaves_InvokeMethod(4737_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, x0)), java.lang.Object(LessLeavesRec.Tree(NULL, NULL))) → 10213_0_lessleaves_Return
9206_1_lessleaves_InvokeMethod(4742_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, NULL)), java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(x0)))) → 10213_0_lessleaves_Return
9206_1_lessleaves_InvokeMethod(8507_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, NULL)), java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x0, x1)), x2))) → 10213_0_lessleaves_Return
9206_1_lessleaves_InvokeMethod(8962_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(LessLeavesRec.Tree(x0, x1)))), java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(LessLeavesRec.Tree(x2, x3))))) → 10213_0_lessleaves_Return
9206_1_lessleaves_InvokeMethod(9516_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x0, x1)), x2)), java.lang.Object(LessLeavesRec.Tree(NULL, NULL))) → 10213_0_lessleaves_Return
9206_1_lessleaves_InvokeMethod(10190_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(LessLeavesRec.Tree(x0, x1)))), java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x2, x3)), x4))) → 10213_0_lessleaves_Return
9206_1_lessleaves_InvokeMethod(10213_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x0, x1)), x2)), java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(LessLeavesRec.Tree(x3, x4))))) → 10213_0_lessleaves_Return
9206_1_lessleaves_InvokeMethod(11095_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x0, x1)), x2)), java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x3, x4)), x5))) → 10213_0_lessleaves_Return
10776_1_lessleaves_InvokeMethod(4737_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, x0)), java.lang.Object(LessLeavesRec.Tree(NULL, NULL))) → 11095_0_lessleaves_Return
10776_1_lessleaves_InvokeMethod(4742_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, NULL)), java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(x0)))) → 11095_0_lessleaves_Return
10776_1_lessleaves_InvokeMethod(8507_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, NULL)), java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x0, x1)), x2))) → 11095_0_lessleaves_Return
10776_1_lessleaves_InvokeMethod(8962_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(LessLeavesRec.Tree(x0, x1)))), java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(LessLeavesRec.Tree(x2, x3))))) → 11095_0_lessleaves_Return
10776_1_lessleaves_InvokeMethod(9516_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x0, x1)), x2)), java.lang.Object(LessLeavesRec.Tree(NULL, NULL))) → 11095_0_lessleaves_Return
10776_1_lessleaves_InvokeMethod(10190_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(LessLeavesRec.Tree(x0, x1)))), java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x2, x3)), x4))) → 11095_0_lessleaves_Return
10776_1_lessleaves_InvokeMethod(10213_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x0, x1)), x2)), java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(LessLeavesRec.Tree(x3, x4))))) → 11095_0_lessleaves_Return
10776_1_lessleaves_InvokeMethod(11095_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x0, x1)), x2)), java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x3, x4)), x5))) → 11095_0_lessleaves_Return
4159_0_append_NONNULL(x0, NULL) → 4219_0_append_Return(x0)
4159_0_append_NONNULL(x2, java.lang.Object(LessLeavesRec.Tree(x0, x1))) → 4490_1_append_InvokeMethod(4159_0_append_NONNULL(x2, x1), x0, x1, x2)
4490_1_append_InvokeMethod(6162_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0, x1))), x2, java.lang.Object(LessLeavesRec.Tree(x0, NULL)), x1) → 9986_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x2, java.lang.Object(LessLeavesRec.Tree(x0, x1)))))
4490_1_append_InvokeMethod(9986_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0, java.lang.Object(LessLeavesRec.Tree(x1, x2))))), x3, java.lang.Object(LessLeavesRec.Tree(x0, java.lang.Object(LessLeavesRec.Tree(x1, x4)))), x5) → 9986_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x3, java.lang.Object(LessLeavesRec.Tree(x0, java.lang.Object(LessLeavesRec.Tree(x1, x2)))))))
4490_1_append_InvokeMethod(4219_0_append_Return(x0), x1, NULL, x0) → 6162_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x1, x0)))

The integer pair graph contains the following rules and edges:
(0): 4141_1_LESSLEAVES_INVOKEMETHOD(4219_0_append_Return(x0[0]), java.lang.Object(LessLeavesRec.Tree(x1[0], x2[0])), NULL, x0[0]) → 4505_1_LESSLEAVES_INVOKEMETHOD(4141_0_append_Load(x1[0], x2[0]), x0[0], x1[0], x2[0])
(1): 4505_1_LESSLEAVES_INVOKEMETHOD(4219_0_append_Return(java.lang.Object(x0[1])), java.lang.Object(LessLeavesRec.Tree(x1[1], x2[1])), NULL, java.lang.Object(x0[1])) → 4141_1_LESSLEAVES_INVOKEMETHOD(4141_0_append_Load(x1[1], x2[1]), java.lang.Object(x0[1]), x1[1], x2[1])
(2): 4505_1_LESSLEAVES_INVOKEMETHOD(6162_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0[2], x1[2]))), java.lang.Object(LessLeavesRec.Tree(x2[2], x3[2])), java.lang.Object(LessLeavesRec.Tree(x0[2], NULL)), x1[2]) → 4141_1_LESSLEAVES_INVOKEMETHOD(4141_0_append_Load(x2[2], x3[2]), java.lang.Object(LessLeavesRec.Tree(x0[2], x1[2])), x2[2], x3[2])
(3): 4505_1_LESSLEAVES_INVOKEMETHOD(9986_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0[3], java.lang.Object(LessLeavesRec.Tree(x1[3], x2[3]))))), java.lang.Object(LessLeavesRec.Tree(x3[3], x4[3])), java.lang.Object(LessLeavesRec.Tree(x0[3], java.lang.Object(LessLeavesRec.Tree(x1[3], x5[3])))), x6[3]) → 4141_1_LESSLEAVES_INVOKEMETHOD(4141_0_append_Load(x3[3], x4[3]), java.lang.Object(LessLeavesRec.Tree(x0[3], java.lang.Object(LessLeavesRec.Tree(x1[3], x2[3])))), x3[3], x4[3])
(4): 4141_1_LESSLEAVES_INVOKEMETHOD(6162_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0[4], x1[4]))), java.lang.Object(LessLeavesRec.Tree(x2[4], x3[4])), java.lang.Object(LessLeavesRec.Tree(x0[4], NULL)), x1[4]) → 4505_1_LESSLEAVES_INVOKEMETHOD(4141_0_append_Load(x2[4], x3[4]), java.lang.Object(LessLeavesRec.Tree(x0[4], x1[4])), x2[4], x3[4])
(5): 4141_1_LESSLEAVES_INVOKEMETHOD(9986_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0[5], java.lang.Object(LessLeavesRec.Tree(x1[5], x2[5]))))), java.lang.Object(LessLeavesRec.Tree(x3[5], x4[5])), java.lang.Object(LessLeavesRec.Tree(x0[5], java.lang.Object(LessLeavesRec.Tree(x1[5], x5[5])))), x6[5]) → 4505_1_LESSLEAVES_INVOKEMETHOD(4141_0_append_Load(x3[5], x4[5]), java.lang.Object(LessLeavesRec.Tree(x0[5], java.lang.Object(LessLeavesRec.Tree(x1[5], x2[5])))), x3[5], x4[5])

(0) -> (1), if ((4141_0_append_Load(x1[0], x2[0]) →* 4219_0_append_Return(java.lang.Object(x0[1])))∧(x0[0]* java.lang.Object(LessLeavesRec.Tree(x1[1], x2[1])))∧(x1[0]* NULL)∧(x2[0]* java.lang.Object(x0[1])))

(0) -> (2), if ((4141_0_append_Load(x1[0], x2[0]) →* 6162_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0[2], x1[2]))))∧(x0[0]* java.lang.Object(LessLeavesRec.Tree(x2[2], x3[2])))∧(x1[0]* java.lang.Object(LessLeavesRec.Tree(x0[2], NULL)))∧(x2[0]* x1[2]))

(0) -> (3), if ((4141_0_append_Load(x1[0], x2[0]) →* 9986_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0[3], java.lang.Object(LessLeavesRec.Tree(x1[3], x2[3]))))))∧(x0[0]* java.lang.Object(LessLeavesRec.Tree(x3[3], x4[3])))∧(x1[0]* java.lang.Object(LessLeavesRec.Tree(x0[3], java.lang.Object(LessLeavesRec.Tree(x1[3], x5[3])))))∧(x2[0]* x6[3]))

(1) -> (0), if ((4141_0_append_Load(x1[1], x2[1]) →* 4219_0_append_Return(x0[0]))∧(java.lang.Object(x0[1]) →* java.lang.Object(LessLeavesRec.Tree(x1[0], x2[0])))∧(x1[1]* NULL)∧(x2[1]* x0[0]))

(1) -> (4), if ((4141_0_append_Load(x1[1], x2[1]) →* 6162_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0[4], x1[4]))))∧(java.lang.Object(x0[1]) →* java.lang.Object(LessLeavesRec.Tree(x2[4], x3[4])))∧(x1[1]* java.lang.Object(LessLeavesRec.Tree(x0[4], NULL)))∧(x2[1]* x1[4]))

(1) -> (5), if ((4141_0_append_Load(x1[1], x2[1]) →* 9986_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0[5], java.lang.Object(LessLeavesRec.Tree(x1[5], x2[5]))))))∧(java.lang.Object(x0[1]) →* java.lang.Object(LessLeavesRec.Tree(x3[5], x4[5])))∧(x1[1]* java.lang.Object(LessLeavesRec.Tree(x0[5], java.lang.Object(LessLeavesRec.Tree(x1[5], x5[5])))))∧(x2[1]* x6[5]))

(2) -> (0), if ((4141_0_append_Load(x2[2], x3[2]) →* 4219_0_append_Return(x0[0]))∧(java.lang.Object(LessLeavesRec.Tree(x0[2], x1[2])) →* java.lang.Object(LessLeavesRec.Tree(x1[0], x2[0])))∧(x2[2]* NULL)∧(x3[2]* x0[0]))

(2) -> (4), if ((4141_0_append_Load(x2[2], x3[2]) →* 6162_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0[4], x1[4]))))∧(java.lang.Object(LessLeavesRec.Tree(x0[2], x1[2])) →* java.lang.Object(LessLeavesRec.Tree(x2[4], x3[4])))∧(x2[2]* java.lang.Object(LessLeavesRec.Tree(x0[4], NULL)))∧(x3[2]* x1[4]))

(2) -> (5), if ((4141_0_append_Load(x2[2], x3[2]) →* 9986_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0[5], java.lang.Object(LessLeavesRec.Tree(x1[5], x2[5]))))))∧(java.lang.Object(LessLeavesRec.Tree(x0[2], x1[2])) →* java.lang.Object(LessLeavesRec.Tree(x3[5], x4[5])))∧(x2[2]* java.lang.Object(LessLeavesRec.Tree(x0[5], java.lang.Object(LessLeavesRec.Tree(x1[5], x5[5])))))∧(x3[2]* x6[5]))

(3) -> (0), if ((4141_0_append_Load(x3[3], x4[3]) →* 4219_0_append_Return(x0[0]))∧(java.lang.Object(LessLeavesRec.Tree(x0[3], java.lang.Object(LessLeavesRec.Tree(x1[3], x2[3])))) →* java.lang.Object(LessLeavesRec.Tree(x1[0], x2[0])))∧(x3[3]* NULL)∧(x4[3]* x0[0]))

(3) -> (4), if ((4141_0_append_Load(x3[3], x4[3]) →* 6162_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0[4], x1[4]))))∧(java.lang.Object(LessLeavesRec.Tree(x0[3], java.lang.Object(LessLeavesRec.Tree(x1[3], x2[3])))) →* java.lang.Object(LessLeavesRec.Tree(x2[4], x3[4])))∧(x3[3]* java.lang.Object(LessLeavesRec.Tree(x0[4], NULL)))∧(x4[3]* x1[4]))

(3) -> (5), if ((4141_0_append_Load(x3[3], x4[3]) →* 9986_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0[5], java.lang.Object(LessLeavesRec.Tree(x1[5], x2[5]))))))∧(java.lang.Object(LessLeavesRec.Tree(x0[3], java.lang.Object(LessLeavesRec.Tree(x1[3], x2[3])))) →* java.lang.Object(LessLeavesRec.Tree(x3[5], x4[5])))∧(x3[3]* java.lang.Object(LessLeavesRec.Tree(x0[5], java.lang.Object(LessLeavesRec.Tree(x1[5], x5[5])))))∧(x4[3]* x6[5]))

(4) -> (1), if ((4141_0_append_Load(x2[4], x3[4]) →* 4219_0_append_Return(java.lang.Object(x0[1])))∧(java.lang.Object(LessLeavesRec.Tree(x0[4], x1[4])) →* java.lang.Object(LessLeavesRec.Tree(x1[1], x2[1])))∧(x2[4]* NULL)∧(x3[4]* java.lang.Object(x0[1])))

(4) -> (2), if ((4141_0_append_Load(x2[4], x3[4]) →* 6162_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0[2], x1[2]))))∧(java.lang.Object(LessLeavesRec.Tree(x0[4], x1[4])) →* java.lang.Object(LessLeavesRec.Tree(x2[2], x3[2])))∧(x2[4]* java.lang.Object(LessLeavesRec.Tree(x0[2], NULL)))∧(x3[4]* x1[2]))

(4) -> (3), if ((4141_0_append_Load(x2[4], x3[4]) →* 9986_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0[3], java.lang.Object(LessLeavesRec.Tree(x1[3], x2[3]))))))∧(java.lang.Object(LessLeavesRec.Tree(x0[4], x1[4])) →* java.lang.Object(LessLeavesRec.Tree(x3[3], x4[3])))∧(x2[4]* java.lang.Object(LessLeavesRec.Tree(x0[3], java.lang.Object(LessLeavesRec.Tree(x1[3], x5[3])))))∧(x3[4]* x6[3]))

(5) -> (1), if ((4141_0_append_Load(x3[5], x4[5]) →* 4219_0_append_Return(java.lang.Object(x0[1])))∧(java.lang.Object(LessLeavesRec.Tree(x0[5], java.lang.Object(LessLeavesRec.Tree(x1[5], x2[5])))) →* java.lang.Object(LessLeavesRec.Tree(x1[1], x2[1])))∧(x3[5]* NULL)∧(x4[5]* java.lang.Object(x0[1])))

(5) -> (2), if ((4141_0_append_Load(x3[5], x4[5]) →* 6162_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0[2], x1[2]))))∧(java.lang.Object(LessLeavesRec.Tree(x0[5], java.lang.Object(LessLeavesRec.Tree(x1[5], x2[5])))) →* java.lang.Object(LessLeavesRec.Tree(x2[2], x3[2])))∧(x3[5]* java.lang.Object(LessLeavesRec.Tree(x0[2], NULL)))∧(x4[5]* x1[2]))

(5) -> (3), if ((4141_0_append_Load(x3[5], x4[5]) →* 9986_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0[3], java.lang.Object(LessLeavesRec.Tree(x1[3], x2[3]))))))∧(java.lang.Object(LessLeavesRec.Tree(x0[5], java.lang.Object(LessLeavesRec.Tree(x1[5], x2[5])))) →* java.lang.Object(LessLeavesRec.Tree(x3[3], x4[3])))∧(x3[5]* java.lang.Object(LessLeavesRec.Tree(x0[3], java.lang.Object(LessLeavesRec.Tree(x1[3], x5[3])))))∧(x4[5]* x6[3]))

The set Q consists of the following terms:
4653_1_lessleaves_InvokeMethod(3714_0_lessleaves_Return(x0), x0, NULL)
4653_1_lessleaves_InvokeMethod(3835_0_lessleaves_Return(java.lang.Object(x0)), NULL, java.lang.Object(x0))
4653_1_lessleaves_InvokeMethod(4737_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, x0)), java.lang.Object(LessLeavesRec.Tree(NULL, NULL)))
4653_1_lessleaves_InvokeMethod(4742_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, NULL)), java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(x0))))
4653_1_lessleaves_InvokeMethod(8507_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, NULL)), java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x0, x1)), x2)))
4653_1_lessleaves_InvokeMethod(8962_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(LessLeavesRec.Tree(x0, x1)))), java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(LessLeavesRec.Tree(x2, x3)))))
4653_1_lessleaves_InvokeMethod(9516_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x0, x1)), x2)), java.lang.Object(LessLeavesRec.Tree(NULL, NULL)))
4653_1_lessleaves_InvokeMethod(10190_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(LessLeavesRec.Tree(x0, x1)))), java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x2, x3)), x4)))
4653_1_lessleaves_InvokeMethod(10213_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x0, x1)), x2)), java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(LessLeavesRec.Tree(x3, x4)))))
4653_1_lessleaves_InvokeMethod(11095_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x0, x1)), x2)), java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x3, x4)), x5)))
8384_1_lessleaves_InvokeMethod(3835_0_lessleaves_Return(java.lang.Object(LessLeavesRec.Tree(x0, x1))), NULL, java.lang.Object(LessLeavesRec.Tree(x0, x1)))
8384_1_lessleaves_InvokeMethod(4737_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, x0)), java.lang.Object(LessLeavesRec.Tree(NULL, NULL)))
8384_1_lessleaves_InvokeMethod(4742_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, NULL)), java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(x0))))
8384_1_lessleaves_InvokeMethod(8507_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, NULL)), java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x0, x1)), x2)))
8384_1_lessleaves_InvokeMethod(8962_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(LessLeavesRec.Tree(x0, x1)))), java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(LessLeavesRec.Tree(x2, x3)))))
8384_1_lessleaves_InvokeMethod(9516_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x0, x1)), x2)), java.lang.Object(LessLeavesRec.Tree(NULL, NULL)))
8384_1_lessleaves_InvokeMethod(10190_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(LessLeavesRec.Tree(x0, x1)))), java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x2, x3)), x4)))
8384_1_lessleaves_InvokeMethod(10213_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x0, x1)), x2)), java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(LessLeavesRec.Tree(x3, x4)))))
8384_1_lessleaves_InvokeMethod(11095_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x0, x1)), x2)), java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x3, x4)), x5)))
9206_1_lessleaves_InvokeMethod(3714_0_lessleaves_Return(java.lang.Object(LessLeavesRec.Tree(x0, x1))), java.lang.Object(LessLeavesRec.Tree(x0, x1)), NULL)
9206_1_lessleaves_InvokeMethod(4737_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, x0)), java.lang.Object(LessLeavesRec.Tree(NULL, NULL)))
9206_1_lessleaves_InvokeMethod(4742_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, NULL)), java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(x0))))
9206_1_lessleaves_InvokeMethod(8507_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, NULL)), java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x0, x1)), x2)))
9206_1_lessleaves_InvokeMethod(8962_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(LessLeavesRec.Tree(x0, x1)))), java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(LessLeavesRec.Tree(x2, x3)))))
9206_1_lessleaves_InvokeMethod(9516_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x0, x1)), x2)), java.lang.Object(LessLeavesRec.Tree(NULL, NULL)))
9206_1_lessleaves_InvokeMethod(10190_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(LessLeavesRec.Tree(x0, x1)))), java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x2, x3)), x4)))
9206_1_lessleaves_InvokeMethod(10213_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x0, x1)), x2)), java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(LessLeavesRec.Tree(x3, x4)))))
9206_1_lessleaves_InvokeMethod(11095_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x0, x1)), x2)), java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x3, x4)), x5)))
10776_1_lessleaves_InvokeMethod(4737_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, x0)), java.lang.Object(LessLeavesRec.Tree(NULL, NULL)))
10776_1_lessleaves_InvokeMethod(4742_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, NULL)), java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(x0))))
10776_1_lessleaves_InvokeMethod(8507_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, NULL)), java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x0, x1)), x2)))
10776_1_lessleaves_InvokeMethod(8962_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(LessLeavesRec.Tree(x0, x1)))), java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(LessLeavesRec.Tree(x2, x3)))))
10776_1_lessleaves_InvokeMethod(9516_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x0, x1)), x2)), java.lang.Object(LessLeavesRec.Tree(NULL, NULL)))
10776_1_lessleaves_InvokeMethod(10190_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(LessLeavesRec.Tree(x0, x1)))), java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x2, x3)), x4)))
10776_1_lessleaves_InvokeMethod(10213_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x0, x1)), x2)), java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(LessLeavesRec.Tree(x3, x4)))))
10776_1_lessleaves_InvokeMethod(11095_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x0, x1)), x2)), java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x3, x4)), x5)))
4159_0_append_NONNULL(x0, NULL)
4159_0_append_NONNULL(x0, java.lang.Object(LessLeavesRec.Tree(x1, x2)))
4490_1_append_InvokeMethod(6162_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0, x1))), x2, java.lang.Object(LessLeavesRec.Tree(x0, NULL)), x1)
4490_1_append_InvokeMethod(9986_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0, java.lang.Object(LessLeavesRec.Tree(x1, x2))))), x3, java.lang.Object(LessLeavesRec.Tree(x0, java.lang.Object(LessLeavesRec.Tree(x1, x4)))), x5)
4490_1_append_InvokeMethod(4219_0_append_Return(x0), x1, NULL, x0)

### (15) IDPtoQDPProof (SOUND transformation)

Represented integers and predefined function symbols by Terms

### (16) Obligation:

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

4141_1_LESSLEAVES_INVOKEMETHOD(4219_0_append_Return(x0[0]), java.lang.Object(LessLeavesRec.Tree(x1[0], x2[0])), NULL, x0[0]) → 4505_1_LESSLEAVES_INVOKEMETHOD(4141_0_append_Load(x1[0], x2[0]), x0[0], x1[0], x2[0])
4505_1_LESSLEAVES_INVOKEMETHOD(4219_0_append_Return(java.lang.Object(x0[1])), java.lang.Object(LessLeavesRec.Tree(x1[1], x2[1])), NULL, java.lang.Object(x0[1])) → 4141_1_LESSLEAVES_INVOKEMETHOD(4141_0_append_Load(x1[1], x2[1]), java.lang.Object(x0[1]), x1[1], x2[1])
4505_1_LESSLEAVES_INVOKEMETHOD(6162_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0[2], x1[2]))), java.lang.Object(LessLeavesRec.Tree(x2[2], x3[2])), java.lang.Object(LessLeavesRec.Tree(x0[2], NULL)), x1[2]) → 4141_1_LESSLEAVES_INVOKEMETHOD(4141_0_append_Load(x2[2], x3[2]), java.lang.Object(LessLeavesRec.Tree(x0[2], x1[2])), x2[2], x3[2])
4505_1_LESSLEAVES_INVOKEMETHOD(9986_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0[3], java.lang.Object(LessLeavesRec.Tree(x1[3], x2[3]))))), java.lang.Object(LessLeavesRec.Tree(x3[3], x4[3])), java.lang.Object(LessLeavesRec.Tree(x0[3], java.lang.Object(LessLeavesRec.Tree(x1[3], x5[3])))), x6[3]) → 4141_1_LESSLEAVES_INVOKEMETHOD(4141_0_append_Load(x3[3], x4[3]), java.lang.Object(LessLeavesRec.Tree(x0[3], java.lang.Object(LessLeavesRec.Tree(x1[3], x2[3])))), x3[3], x4[3])
4141_1_LESSLEAVES_INVOKEMETHOD(6162_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0[4], x1[4]))), java.lang.Object(LessLeavesRec.Tree(x2[4], x3[4])), java.lang.Object(LessLeavesRec.Tree(x0[4], NULL)), x1[4]) → 4505_1_LESSLEAVES_INVOKEMETHOD(4141_0_append_Load(x2[4], x3[4]), java.lang.Object(LessLeavesRec.Tree(x0[4], x1[4])), x2[4], x3[4])
4141_1_LESSLEAVES_INVOKEMETHOD(9986_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0[5], java.lang.Object(LessLeavesRec.Tree(x1[5], x2[5]))))), java.lang.Object(LessLeavesRec.Tree(x3[5], x4[5])), java.lang.Object(LessLeavesRec.Tree(x0[5], java.lang.Object(LessLeavesRec.Tree(x1[5], x5[5])))), x6[5]) → 4505_1_LESSLEAVES_INVOKEMETHOD(4141_0_append_Load(x3[5], x4[5]), java.lang.Object(LessLeavesRec.Tree(x0[5], java.lang.Object(LessLeavesRec.Tree(x1[5], x2[5])))), x3[5], x4[5])

The TRS R consists of the following rules:

4653_1_lessleaves_InvokeMethod(3714_0_lessleaves_Return(x0), x0, NULL) → 4737_0_lessleaves_Return
4653_1_lessleaves_InvokeMethod(3835_0_lessleaves_Return(java.lang.Object(x0)), NULL, java.lang.Object(x0)) → 4742_0_lessleaves_Return
4653_1_lessleaves_InvokeMethod(4737_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, x0)), java.lang.Object(LessLeavesRec.Tree(NULL, NULL))) → 8962_0_lessleaves_Return
4653_1_lessleaves_InvokeMethod(4742_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, NULL)), java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(x0)))) → 8962_0_lessleaves_Return
4653_1_lessleaves_InvokeMethod(8507_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, NULL)), java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x0, x1)), x2))) → 8962_0_lessleaves_Return
4653_1_lessleaves_InvokeMethod(8962_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(LessLeavesRec.Tree(x0, x1)))), java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(LessLeavesRec.Tree(x2, x3))))) → 8962_0_lessleaves_Return
4653_1_lessleaves_InvokeMethod(9516_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x0, x1)), x2)), java.lang.Object(LessLeavesRec.Tree(NULL, NULL))) → 8962_0_lessleaves_Return
4653_1_lessleaves_InvokeMethod(10190_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(LessLeavesRec.Tree(x0, x1)))), java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x2, x3)), x4))) → 8962_0_lessleaves_Return
4653_1_lessleaves_InvokeMethod(10213_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x0, x1)), x2)), java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(LessLeavesRec.Tree(x3, x4))))) → 8962_0_lessleaves_Return
4653_1_lessleaves_InvokeMethod(11095_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x0, x1)), x2)), java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x3, x4)), x5))) → 8962_0_lessleaves_Return
8384_1_lessleaves_InvokeMethod(3835_0_lessleaves_Return(java.lang.Object(LessLeavesRec.Tree(x0, x1))), NULL, java.lang.Object(LessLeavesRec.Tree(x0, x1))) → 8507_0_lessleaves_Return
8384_1_lessleaves_InvokeMethod(4737_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, x0)), java.lang.Object(LessLeavesRec.Tree(NULL, NULL))) → 10190_0_lessleaves_Return
8384_1_lessleaves_InvokeMethod(4742_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, NULL)), java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(x0)))) → 10190_0_lessleaves_Return
8384_1_lessleaves_InvokeMethod(8507_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, NULL)), java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x0, x1)), x2))) → 10190_0_lessleaves_Return
8384_1_lessleaves_InvokeMethod(8962_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(LessLeavesRec.Tree(x0, x1)))), java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(LessLeavesRec.Tree(x2, x3))))) → 10190_0_lessleaves_Return
8384_1_lessleaves_InvokeMethod(9516_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x0, x1)), x2)), java.lang.Object(LessLeavesRec.Tree(NULL, NULL))) → 10190_0_lessleaves_Return
8384_1_lessleaves_InvokeMethod(10190_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(LessLeavesRec.Tree(x0, x1)))), java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x2, x3)), x4))) → 10190_0_lessleaves_Return
8384_1_lessleaves_InvokeMethod(10213_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x0, x1)), x2)), java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(LessLeavesRec.Tree(x3, x4))))) → 10190_0_lessleaves_Return
8384_1_lessleaves_InvokeMethod(11095_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x0, x1)), x2)), java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x3, x4)), x5))) → 10190_0_lessleaves_Return
9206_1_lessleaves_InvokeMethod(3714_0_lessleaves_Return(java.lang.Object(LessLeavesRec.Tree(x0, x1))), java.lang.Object(LessLeavesRec.Tree(x0, x1)), NULL) → 9516_0_lessleaves_Return
9206_1_lessleaves_InvokeMethod(4737_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, x0)), java.lang.Object(LessLeavesRec.Tree(NULL, NULL))) → 10213_0_lessleaves_Return
9206_1_lessleaves_InvokeMethod(4742_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, NULL)), java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(x0)))) → 10213_0_lessleaves_Return
9206_1_lessleaves_InvokeMethod(8507_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, NULL)), java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x0, x1)), x2))) → 10213_0_lessleaves_Return
9206_1_lessleaves_InvokeMethod(8962_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(LessLeavesRec.Tree(x0, x1)))), java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(LessLeavesRec.Tree(x2, x3))))) → 10213_0_lessleaves_Return
9206_1_lessleaves_InvokeMethod(9516_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x0, x1)), x2)), java.lang.Object(LessLeavesRec.Tree(NULL, NULL))) → 10213_0_lessleaves_Return
9206_1_lessleaves_InvokeMethod(10190_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(LessLeavesRec.Tree(x0, x1)))), java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x2, x3)), x4))) → 10213_0_lessleaves_Return
9206_1_lessleaves_InvokeMethod(10213_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x0, x1)), x2)), java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(LessLeavesRec.Tree(x3, x4))))) → 10213_0_lessleaves_Return
9206_1_lessleaves_InvokeMethod(11095_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x0, x1)), x2)), java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x3, x4)), x5))) → 10213_0_lessleaves_Return
10776_1_lessleaves_InvokeMethod(4737_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, x0)), java.lang.Object(LessLeavesRec.Tree(NULL, NULL))) → 11095_0_lessleaves_Return
10776_1_lessleaves_InvokeMethod(4742_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, NULL)), java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(x0)))) → 11095_0_lessleaves_Return
10776_1_lessleaves_InvokeMethod(8507_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, NULL)), java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x0, x1)), x2))) → 11095_0_lessleaves_Return
10776_1_lessleaves_InvokeMethod(8962_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(LessLeavesRec.Tree(x0, x1)))), java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(LessLeavesRec.Tree(x2, x3))))) → 11095_0_lessleaves_Return
10776_1_lessleaves_InvokeMethod(9516_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x0, x1)), x2)), java.lang.Object(LessLeavesRec.Tree(NULL, NULL))) → 11095_0_lessleaves_Return
10776_1_lessleaves_InvokeMethod(10190_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(LessLeavesRec.Tree(x0, x1)))), java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x2, x3)), x4))) → 11095_0_lessleaves_Return
10776_1_lessleaves_InvokeMethod(10213_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x0, x1)), x2)), java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(LessLeavesRec.Tree(x3, x4))))) → 11095_0_lessleaves_Return
10776_1_lessleaves_InvokeMethod(11095_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x0, x1)), x2)), java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x3, x4)), x5))) → 11095_0_lessleaves_Return
4159_0_append_NONNULL(x0, NULL) → 4219_0_append_Return(x0)
4159_0_append_NONNULL(x2, java.lang.Object(LessLeavesRec.Tree(x0, x1))) → 4490_1_append_InvokeMethod(4159_0_append_NONNULL(x2, x1), x0, x1, x2)
4490_1_append_InvokeMethod(6162_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0, x1))), x2, java.lang.Object(LessLeavesRec.Tree(x0, NULL)), x1) → 9986_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x2, java.lang.Object(LessLeavesRec.Tree(x0, x1)))))
4490_1_append_InvokeMethod(9986_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0, java.lang.Object(LessLeavesRec.Tree(x1, x2))))), x3, java.lang.Object(LessLeavesRec.Tree(x0, java.lang.Object(LessLeavesRec.Tree(x1, x4)))), x5) → 9986_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x3, java.lang.Object(LessLeavesRec.Tree(x0, java.lang.Object(LessLeavesRec.Tree(x1, x2)))))))
4490_1_append_InvokeMethod(4219_0_append_Return(x0), x1, NULL, x0) → 6162_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x1, x0)))

The set Q consists of the following terms:

4653_1_lessleaves_InvokeMethod(3714_0_lessleaves_Return(x0), x0, NULL)
4653_1_lessleaves_InvokeMethod(3835_0_lessleaves_Return(java.lang.Object(x0)), NULL, java.lang.Object(x0))
4653_1_lessleaves_InvokeMethod(4737_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, x0)), java.lang.Object(LessLeavesRec.Tree(NULL, NULL)))
4653_1_lessleaves_InvokeMethod(4742_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, NULL)), java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(x0))))
4653_1_lessleaves_InvokeMethod(8507_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, NULL)), java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x0, x1)), x2)))
4653_1_lessleaves_InvokeMethod(8962_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(LessLeavesRec.Tree(x0, x1)))), java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(LessLeavesRec.Tree(x2, x3)))))
4653_1_lessleaves_InvokeMethod(9516_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x0, x1)), x2)), java.lang.Object(LessLeavesRec.Tree(NULL, NULL)))
4653_1_lessleaves_InvokeMethod(10190_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(LessLeavesRec.Tree(x0, x1)))), java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x2, x3)), x4)))
4653_1_lessleaves_InvokeMethod(10213_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x0, x1)), x2)), java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(LessLeavesRec.Tree(x3, x4)))))
4653_1_lessleaves_InvokeMethod(11095_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x0, x1)), x2)), java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x3, x4)), x5)))
8384_1_lessleaves_InvokeMethod(3835_0_lessleaves_Return(java.lang.Object(LessLeavesRec.Tree(x0, x1))), NULL, java.lang.Object(LessLeavesRec.Tree(x0, x1)))
8384_1_lessleaves_InvokeMethod(4737_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, x0)), java.lang.Object(LessLeavesRec.Tree(NULL, NULL)))
8384_1_lessleaves_InvokeMethod(4742_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, NULL)), java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(x0))))
8384_1_lessleaves_InvokeMethod(8507_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, NULL)), java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x0, x1)), x2)))
8384_1_lessleaves_InvokeMethod(8962_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(LessLeavesRec.Tree(x0, x1)))), java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(LessLeavesRec.Tree(x2, x3)))))
8384_1_lessleaves_InvokeMethod(9516_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x0, x1)), x2)), java.lang.Object(LessLeavesRec.Tree(NULL, NULL)))
8384_1_lessleaves_InvokeMethod(10190_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(LessLeavesRec.Tree(x0, x1)))), java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x2, x3)), x4)))
8384_1_lessleaves_InvokeMethod(10213_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x0, x1)), x2)), java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(LessLeavesRec.Tree(x3, x4)))))
8384_1_lessleaves_InvokeMethod(11095_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x0, x1)), x2)), java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x3, x4)), x5)))
9206_1_lessleaves_InvokeMethod(3714_0_lessleaves_Return(java.lang.Object(LessLeavesRec.Tree(x0, x1))), java.lang.Object(LessLeavesRec.Tree(x0, x1)), NULL)
9206_1_lessleaves_InvokeMethod(4737_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, x0)), java.lang.Object(LessLeavesRec.Tree(NULL, NULL)))
9206_1_lessleaves_InvokeMethod(4742_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, NULL)), java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(x0))))
9206_1_lessleaves_InvokeMethod(8507_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, NULL)), java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x0, x1)), x2)))
9206_1_lessleaves_InvokeMethod(8962_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(LessLeavesRec.Tree(x0, x1)))), java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(LessLeavesRec.Tree(x2, x3)))))
9206_1_lessleaves_InvokeMethod(9516_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x0, x1)), x2)), java.lang.Object(LessLeavesRec.Tree(NULL, NULL)))
9206_1_lessleaves_InvokeMethod(10190_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(LessLeavesRec.Tree(x0, x1)))), java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x2, x3)), x4)))
9206_1_lessleaves_InvokeMethod(10213_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x0, x1)), x2)), java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(LessLeavesRec.Tree(x3, x4)))))
9206_1_lessleaves_InvokeMethod(11095_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x0, x1)), x2)), java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x3, x4)), x5)))
10776_1_lessleaves_InvokeMethod(4737_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, x0)), java.lang.Object(LessLeavesRec.Tree(NULL, NULL)))
10776_1_lessleaves_InvokeMethod(4742_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, NULL)), java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(x0))))
10776_1_lessleaves_InvokeMethod(8507_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, NULL)), java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x0, x1)), x2)))
10776_1_lessleaves_InvokeMethod(8962_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(LessLeavesRec.Tree(x0, x1)))), java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(LessLeavesRec.Tree(x2, x3)))))
10776_1_lessleaves_InvokeMethod(9516_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x0, x1)), x2)), java.lang.Object(LessLeavesRec.Tree(NULL, NULL)))
10776_1_lessleaves_InvokeMethod(10190_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(LessLeavesRec.Tree(x0, x1)))), java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x2, x3)), x4)))
10776_1_lessleaves_InvokeMethod(10213_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x0, x1)), x2)), java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(LessLeavesRec.Tree(x3, x4)))))
10776_1_lessleaves_InvokeMethod(11095_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x0, x1)), x2)), java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x3, x4)), x5)))
4159_0_append_NONNULL(x0, NULL)
4159_0_append_NONNULL(x0, java.lang.Object(LessLeavesRec.Tree(x1, x2)))
4490_1_append_InvokeMethod(6162_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0, x1))), x2, java.lang.Object(LessLeavesRec.Tree(x0, NULL)), x1)
4490_1_append_InvokeMethod(9986_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0, java.lang.Object(LessLeavesRec.Tree(x1, x2))))), x3, java.lang.Object(LessLeavesRec.Tree(x0, java.lang.Object(LessLeavesRec.Tree(x1, x4)))), x5)
4490_1_append_InvokeMethod(4219_0_append_Return(x0), x1, NULL, x0)

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

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

### (18) Obligation:

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

4141_1_LESSLEAVES_INVOKEMETHOD(4219_0_append_Return(x0[0]), java.lang.Object(LessLeavesRec.Tree(x1[0], x2[0])), NULL, x0[0]) → 4505_1_LESSLEAVES_INVOKEMETHOD(4141_0_append_Load(x1[0], x2[0]), x0[0], x1[0], x2[0])
4505_1_LESSLEAVES_INVOKEMETHOD(4219_0_append_Return(java.lang.Object(x0[1])), java.lang.Object(LessLeavesRec.Tree(x1[1], x2[1])), NULL, java.lang.Object(x0[1])) → 4141_1_LESSLEAVES_INVOKEMETHOD(4141_0_append_Load(x1[1], x2[1]), java.lang.Object(x0[1]), x1[1], x2[1])
4505_1_LESSLEAVES_INVOKEMETHOD(6162_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0[2], x1[2]))), java.lang.Object(LessLeavesRec.Tree(x2[2], x3[2])), java.lang.Object(LessLeavesRec.Tree(x0[2], NULL)), x1[2]) → 4141_1_LESSLEAVES_INVOKEMETHOD(4141_0_append_Load(x2[2], x3[2]), java.lang.Object(LessLeavesRec.Tree(x0[2], x1[2])), x2[2], x3[2])
4505_1_LESSLEAVES_INVOKEMETHOD(9986_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0[3], java.lang.Object(LessLeavesRec.Tree(x1[3], x2[3]))))), java.lang.Object(LessLeavesRec.Tree(x3[3], x4[3])), java.lang.Object(LessLeavesRec.Tree(x0[3], java.lang.Object(LessLeavesRec.Tree(x1[3], x5[3])))), x6[3]) → 4141_1_LESSLEAVES_INVOKEMETHOD(4141_0_append_Load(x3[3], x4[3]), java.lang.Object(LessLeavesRec.Tree(x0[3], java.lang.Object(LessLeavesRec.Tree(x1[3], x2[3])))), x3[3], x4[3])
4141_1_LESSLEAVES_INVOKEMETHOD(6162_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0[4], x1[4]))), java.lang.Object(LessLeavesRec.Tree(x2[4], x3[4])), java.lang.Object(LessLeavesRec.Tree(x0[4], NULL)), x1[4]) → 4505_1_LESSLEAVES_INVOKEMETHOD(4141_0_append_Load(x2[4], x3[4]), java.lang.Object(LessLeavesRec.Tree(x0[4], x1[4])), x2[4], x3[4])
4141_1_LESSLEAVES_INVOKEMETHOD(9986_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0[5], java.lang.Object(LessLeavesRec.Tree(x1[5], x2[5]))))), java.lang.Object(LessLeavesRec.Tree(x3[5], x4[5])), java.lang.Object(LessLeavesRec.Tree(x0[5], java.lang.Object(LessLeavesRec.Tree(x1[5], x5[5])))), x6[5]) → 4505_1_LESSLEAVES_INVOKEMETHOD(4141_0_append_Load(x3[5], x4[5]), java.lang.Object(LessLeavesRec.Tree(x0[5], java.lang.Object(LessLeavesRec.Tree(x1[5], x2[5])))), x3[5], x4[5])

The TRS R consists of the following rules:

4159_0_append_NONNULL(x0, NULL) → 4219_0_append_Return(x0)
4159_0_append_NONNULL(x2, java.lang.Object(LessLeavesRec.Tree(x0, x1))) → 4490_1_append_InvokeMethod(4159_0_append_NONNULL(x2, x1), x0, x1, x2)
4490_1_append_InvokeMethod(6162_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0, x1))), x2, java.lang.Object(LessLeavesRec.Tree(x0, NULL)), x1) → 9986_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x2, java.lang.Object(LessLeavesRec.Tree(x0, x1)))))
4490_1_append_InvokeMethod(9986_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0, java.lang.Object(LessLeavesRec.Tree(x1, x2))))), x3, java.lang.Object(LessLeavesRec.Tree(x0, java.lang.Object(LessLeavesRec.Tree(x1, x4)))), x5) → 9986_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x3, java.lang.Object(LessLeavesRec.Tree(x0, java.lang.Object(LessLeavesRec.Tree(x1, x2)))))))
4490_1_append_InvokeMethod(4219_0_append_Return(x0), x1, NULL, x0) → 6162_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x1, x0)))

The set Q consists of the following terms:

4653_1_lessleaves_InvokeMethod(3714_0_lessleaves_Return(x0), x0, NULL)
4653_1_lessleaves_InvokeMethod(3835_0_lessleaves_Return(java.lang.Object(x0)), NULL, java.lang.Object(x0))
4653_1_lessleaves_InvokeMethod(4737_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, x0)), java.lang.Object(LessLeavesRec.Tree(NULL, NULL)))
4653_1_lessleaves_InvokeMethod(4742_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, NULL)), java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(x0))))
4653_1_lessleaves_InvokeMethod(8507_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, NULL)), java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x0, x1)), x2)))
4653_1_lessleaves_InvokeMethod(8962_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(LessLeavesRec.Tree(x0, x1)))), java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(LessLeavesRec.Tree(x2, x3)))))
4653_1_lessleaves_InvokeMethod(9516_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x0, x1)), x2)), java.lang.Object(LessLeavesRec.Tree(NULL, NULL)))
4653_1_lessleaves_InvokeMethod(10190_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(LessLeavesRec.Tree(x0, x1)))), java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x2, x3)), x4)))
4653_1_lessleaves_InvokeMethod(10213_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x0, x1)), x2)), java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(LessLeavesRec.Tree(x3, x4)))))
4653_1_lessleaves_InvokeMethod(11095_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x0, x1)), x2)), java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x3, x4)), x5)))
8384_1_lessleaves_InvokeMethod(3835_0_lessleaves_Return(java.lang.Object(LessLeavesRec.Tree(x0, x1))), NULL, java.lang.Object(LessLeavesRec.Tree(x0, x1)))
8384_1_lessleaves_InvokeMethod(4737_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, x0)), java.lang.Object(LessLeavesRec.Tree(NULL, NULL)))
8384_1_lessleaves_InvokeMethod(4742_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, NULL)), java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(x0))))
8384_1_lessleaves_InvokeMethod(8507_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, NULL)), java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x0, x1)), x2)))
8384_1_lessleaves_InvokeMethod(8962_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(LessLeavesRec.Tree(x0, x1)))), java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(LessLeavesRec.Tree(x2, x3)))))
8384_1_lessleaves_InvokeMethod(9516_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x0, x1)), x2)), java.lang.Object(LessLeavesRec.Tree(NULL, NULL)))
8384_1_lessleaves_InvokeMethod(10190_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(LessLeavesRec.Tree(x0, x1)))), java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x2, x3)), x4)))
8384_1_lessleaves_InvokeMethod(10213_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x0, x1)), x2)), java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(LessLeavesRec.Tree(x3, x4)))))
8384_1_lessleaves_InvokeMethod(11095_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x0, x1)), x2)), java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x3, x4)), x5)))
9206_1_lessleaves_InvokeMethod(3714_0_lessleaves_Return(java.lang.Object(LessLeavesRec.Tree(x0, x1))), java.lang.Object(LessLeavesRec.Tree(x0, x1)), NULL)
9206_1_lessleaves_InvokeMethod(4737_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, x0)), java.lang.Object(LessLeavesRec.Tree(NULL, NULL)))
9206_1_lessleaves_InvokeMethod(4742_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, NULL)), java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(x0))))
9206_1_lessleaves_InvokeMethod(8507_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, NULL)), java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x0, x1)), x2)))
9206_1_lessleaves_InvokeMethod(8962_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(LessLeavesRec.Tree(x0, x1)))), java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(LessLeavesRec.Tree(x2, x3)))))
9206_1_lessleaves_InvokeMethod(9516_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x0, x1)), x2)), java.lang.Object(LessLeavesRec.Tree(NULL, NULL)))
9206_1_lessleaves_InvokeMethod(10190_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(LessLeavesRec.Tree(x0, x1)))), java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x2, x3)), x4)))
9206_1_lessleaves_InvokeMethod(10213_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x0, x1)), x2)), java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(LessLeavesRec.Tree(x3, x4)))))
9206_1_lessleaves_InvokeMethod(11095_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x0, x1)), x2)), java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x3, x4)), x5)))
10776_1_lessleaves_InvokeMethod(4737_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, x0)), java.lang.Object(LessLeavesRec.Tree(NULL, NULL)))
10776_1_lessleaves_InvokeMethod(4742_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, NULL)), java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(x0))))
10776_1_lessleaves_InvokeMethod(8507_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, NULL)), java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x0, x1)), x2)))
10776_1_lessleaves_InvokeMethod(8962_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(LessLeavesRec.Tree(x0, x1)))), java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(LessLeavesRec.Tree(x2, x3)))))
10776_1_lessleaves_InvokeMethod(9516_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x0, x1)), x2)), java.lang.Object(LessLeavesRec.Tree(NULL, NULL)))
10776_1_lessleaves_InvokeMethod(10190_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(LessLeavesRec.Tree(x0, x1)))), java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x2, x3)), x4)))
10776_1_lessleaves_InvokeMethod(10213_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x0, x1)), x2)), java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(LessLeavesRec.Tree(x3, x4)))))
10776_1_lessleaves_InvokeMethod(11095_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x0, x1)), x2)), java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x3, x4)), x5)))
4159_0_append_NONNULL(x0, NULL)
4159_0_append_NONNULL(x0, java.lang.Object(LessLeavesRec.Tree(x1, x2)))
4490_1_append_InvokeMethod(6162_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0, x1))), x2, java.lang.Object(LessLeavesRec.Tree(x0, NULL)), x1)
4490_1_append_InvokeMethod(9986_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0, java.lang.Object(LessLeavesRec.Tree(x1, x2))))), x3, java.lang.Object(LessLeavesRec.Tree(x0, java.lang.Object(LessLeavesRec.Tree(x1, x4)))), x5)
4490_1_append_InvokeMethod(4219_0_append_Return(x0), x1, NULL, x0)

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

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

4653_1_lessleaves_InvokeMethod(3714_0_lessleaves_Return(x0), x0, NULL)
4653_1_lessleaves_InvokeMethod(3835_0_lessleaves_Return(java.lang.Object(x0)), NULL, java.lang.Object(x0))
4653_1_lessleaves_InvokeMethod(4737_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, x0)), java.lang.Object(LessLeavesRec.Tree(NULL, NULL)))
4653_1_lessleaves_InvokeMethod(4742_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, NULL)), java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(x0))))
4653_1_lessleaves_InvokeMethod(8507_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, NULL)), java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x0, x1)), x2)))
4653_1_lessleaves_InvokeMethod(8962_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(LessLeavesRec.Tree(x0, x1)))), java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(LessLeavesRec.Tree(x2, x3)))))
4653_1_lessleaves_InvokeMethod(9516_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x0, x1)), x2)), java.lang.Object(LessLeavesRec.Tree(NULL, NULL)))
4653_1_lessleaves_InvokeMethod(10190_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(LessLeavesRec.Tree(x0, x1)))), java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x2, x3)), x4)))
4653_1_lessleaves_InvokeMethod(10213_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x0, x1)), x2)), java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(LessLeavesRec.Tree(x3, x4)))))
4653_1_lessleaves_InvokeMethod(11095_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x0, x1)), x2)), java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x3, x4)), x5)))
8384_1_lessleaves_InvokeMethod(3835_0_lessleaves_Return(java.lang.Object(LessLeavesRec.Tree(x0, x1))), NULL, java.lang.Object(LessLeavesRec.Tree(x0, x1)))
8384_1_lessleaves_InvokeMethod(4737_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, x0)), java.lang.Object(LessLeavesRec.Tree(NULL, NULL)))
8384_1_lessleaves_InvokeMethod(4742_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, NULL)), java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(x0))))
8384_1_lessleaves_InvokeMethod(8507_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, NULL)), java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x0, x1)), x2)))
8384_1_lessleaves_InvokeMethod(8962_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(LessLeavesRec.Tree(x0, x1)))), java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(LessLeavesRec.Tree(x2, x3)))))
8384_1_lessleaves_InvokeMethod(9516_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x0, x1)), x2)), java.lang.Object(LessLeavesRec.Tree(NULL, NULL)))
8384_1_lessleaves_InvokeMethod(10190_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(LessLeavesRec.Tree(x0, x1)))), java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x2, x3)), x4)))
8384_1_lessleaves_InvokeMethod(10213_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x0, x1)), x2)), java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(LessLeavesRec.Tree(x3, x4)))))
8384_1_lessleaves_InvokeMethod(11095_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x0, x1)), x2)), java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x3, x4)), x5)))
9206_1_lessleaves_InvokeMethod(3714_0_lessleaves_Return(java.lang.Object(LessLeavesRec.Tree(x0, x1))), java.lang.Object(LessLeavesRec.Tree(x0, x1)), NULL)
9206_1_lessleaves_InvokeMethod(4737_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, x0)), java.lang.Object(LessLeavesRec.Tree(NULL, NULL)))
9206_1_lessleaves_InvokeMethod(4742_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, NULL)), java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(x0))))
9206_1_lessleaves_InvokeMethod(8507_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, NULL)), java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x0, x1)), x2)))
9206_1_lessleaves_InvokeMethod(8962_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(LessLeavesRec.Tree(x0, x1)))), java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(LessLeavesRec.Tree(x2, x3)))))
9206_1_lessleaves_InvokeMethod(9516_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x0, x1)), x2)), java.lang.Object(LessLeavesRec.Tree(NULL, NULL)))
9206_1_lessleaves_InvokeMethod(10190_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(LessLeavesRec.Tree(x0, x1)))), java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x2, x3)), x4)))
9206_1_lessleaves_InvokeMethod(10213_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x0, x1)), x2)), java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(LessLeavesRec.Tree(x3, x4)))))
9206_1_lessleaves_InvokeMethod(11095_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x0, x1)), x2)), java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x3, x4)), x5)))
10776_1_lessleaves_InvokeMethod(4737_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, x0)), java.lang.Object(LessLeavesRec.Tree(NULL, NULL)))
10776_1_lessleaves_InvokeMethod(4742_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, NULL)), java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(x0))))
10776_1_lessleaves_InvokeMethod(8507_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, NULL)), java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x0, x1)), x2)))
10776_1_lessleaves_InvokeMethod(8962_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(LessLeavesRec.Tree(x0, x1)))), java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(LessLeavesRec.Tree(x2, x3)))))
10776_1_lessleaves_InvokeMethod(9516_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x0, x1)), x2)), java.lang.Object(LessLeavesRec.Tree(NULL, NULL)))
10776_1_lessleaves_InvokeMethod(10190_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(LessLeavesRec.Tree(x0, x1)))), java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x2, x3)), x4)))
10776_1_lessleaves_InvokeMethod(10213_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x0, x1)), x2)), java.lang.Object(LessLeavesRec.Tree(NULL, java.lang.Object(LessLeavesRec.Tree(x3, x4)))))
10776_1_lessleaves_InvokeMethod(11095_0_lessleaves_Return, java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x0, x1)), x2)), java.lang.Object(LessLeavesRec.Tree(java.lang.Object(LessLeavesRec.Tree(x3, x4)), x5)))

### (20) Obligation:

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

4141_1_LESSLEAVES_INVOKEMETHOD(4219_0_append_Return(x0[0]), java.lang.Object(LessLeavesRec.Tree(x1[0], x2[0])), NULL, x0[0]) → 4505_1_LESSLEAVES_INVOKEMETHOD(4141_0_append_Load(x1[0], x2[0]), x0[0], x1[0], x2[0])
4505_1_LESSLEAVES_INVOKEMETHOD(4219_0_append_Return(java.lang.Object(x0[1])), java.lang.Object(LessLeavesRec.Tree(x1[1], x2[1])), NULL, java.lang.Object(x0[1])) → 4141_1_LESSLEAVES_INVOKEMETHOD(4141_0_append_Load(x1[1], x2[1]), java.lang.Object(x0[1]), x1[1], x2[1])
4505_1_LESSLEAVES_INVOKEMETHOD(6162_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0[2], x1[2]))), java.lang.Object(LessLeavesRec.Tree(x2[2], x3[2])), java.lang.Object(LessLeavesRec.Tree(x0[2], NULL)), x1[2]) → 4141_1_LESSLEAVES_INVOKEMETHOD(4141_0_append_Load(x2[2], x3[2]), java.lang.Object(LessLeavesRec.Tree(x0[2], x1[2])), x2[2], x3[2])
4505_1_LESSLEAVES_INVOKEMETHOD(9986_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0[3], java.lang.Object(LessLeavesRec.Tree(x1[3], x2[3]))))), java.lang.Object(LessLeavesRec.Tree(x3[3], x4[3])), java.lang.Object(LessLeavesRec.Tree(x0[3], java.lang.Object(LessLeavesRec.Tree(x1[3], x5[3])))), x6[3]) → 4141_1_LESSLEAVES_INVOKEMETHOD(4141_0_append_Load(x3[3], x4[3]), java.lang.Object(LessLeavesRec.Tree(x0[3], java.lang.Object(LessLeavesRec.Tree(x1[3], x2[3])))), x3[3], x4[3])
4141_1_LESSLEAVES_INVOKEMETHOD(6162_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0[4], x1[4]))), java.lang.Object(LessLeavesRec.Tree(x2[4], x3[4])), java.lang.Object(LessLeavesRec.Tree(x0[4], NULL)), x1[4]) → 4505_1_LESSLEAVES_INVOKEMETHOD(4141_0_append_Load(x2[4], x3[4]), java.lang.Object(LessLeavesRec.Tree(x0[4], x1[4])), x2[4], x3[4])
4141_1_LESSLEAVES_INVOKEMETHOD(9986_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0[5], java.lang.Object(LessLeavesRec.Tree(x1[5], x2[5]))))), java.lang.Object(LessLeavesRec.Tree(x3[5], x4[5])), java.lang.Object(LessLeavesRec.Tree(x0[5], java.lang.Object(LessLeavesRec.Tree(x1[5], x5[5])))), x6[5]) → 4505_1_LESSLEAVES_INVOKEMETHOD(4141_0_append_Load(x3[5], x4[5]), java.lang.Object(LessLeavesRec.Tree(x0[5], java.lang.Object(LessLeavesRec.Tree(x1[5], x2[5])))), x3[5], x4[5])

The TRS R consists of the following rules:

4159_0_append_NONNULL(x0, NULL) → 4219_0_append_Return(x0)
4159_0_append_NONNULL(x2, java.lang.Object(LessLeavesRec.Tree(x0, x1))) → 4490_1_append_InvokeMethod(4159_0_append_NONNULL(x2, x1), x0, x1, x2)
4490_1_append_InvokeMethod(6162_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0, x1))), x2, java.lang.Object(LessLeavesRec.Tree(x0, NULL)), x1) → 9986_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x2, java.lang.Object(LessLeavesRec.Tree(x0, x1)))))
4490_1_append_InvokeMethod(9986_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0, java.lang.Object(LessLeavesRec.Tree(x1, x2))))), x3, java.lang.Object(LessLeavesRec.Tree(x0, java.lang.Object(LessLeavesRec.Tree(x1, x4)))), x5) → 9986_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x3, java.lang.Object(LessLeavesRec.Tree(x0, java.lang.Object(LessLeavesRec.Tree(x1, x2)))))))
4490_1_append_InvokeMethod(4219_0_append_Return(x0), x1, NULL, x0) → 6162_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x1, x0)))

The set Q consists of the following terms:

4159_0_append_NONNULL(x0, NULL)
4159_0_append_NONNULL(x0, java.lang.Object(LessLeavesRec.Tree(x1, x2)))
4490_1_append_InvokeMethod(6162_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0, x1))), x2, java.lang.Object(LessLeavesRec.Tree(x0, NULL)), x1)
4490_1_append_InvokeMethod(9986_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0, java.lang.Object(LessLeavesRec.Tree(x1, x2))))), x3, java.lang.Object(LessLeavesRec.Tree(x0, java.lang.Object(LessLeavesRec.Tree(x1, x4)))), x5)
4490_1_append_InvokeMethod(4219_0_append_Return(x0), x1, NULL, x0)

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

### (21) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule 4141_1_LESSLEAVES_INVOKEMETHOD(4219_0_append_Return(x0[0]), java.lang.Object(LessLeavesRec.Tree(x1[0], x2[0])), NULL, x0[0]) → 4505_1_LESSLEAVES_INVOKEMETHOD(4141_0_append_Load(x1[0], x2[0]), x0[0], x1[0], x2[0]) at position [0] we obtained the following new rules [LPAR04]:

4141_1_LESSLEAVES_INVOKEMETHOD(4219_0_append_Return(x0[0]), java.lang.Object(LessLeavesRec.Tree(x1[0], x2[0])), NULL, x0[0]) → 4505_1_LESSLEAVES_INVOKEMETHOD(4159_0_append_NONNULL(x2[0], x1[0]), x0[0], x1[0], x2[0])

### (22) Obligation:

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

4505_1_LESSLEAVES_INVOKEMETHOD(4219_0_append_Return(java.lang.Object(x0[1])), java.lang.Object(LessLeavesRec.Tree(x1[1], x2[1])), NULL, java.lang.Object(x0[1])) → 4141_1_LESSLEAVES_INVOKEMETHOD(4141_0_append_Load(x1[1], x2[1]), java.lang.Object(x0[1]), x1[1], x2[1])
4505_1_LESSLEAVES_INVOKEMETHOD(6162_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0[2], x1[2]))), java.lang.Object(LessLeavesRec.Tree(x2[2], x3[2])), java.lang.Object(LessLeavesRec.Tree(x0[2], NULL)), x1[2]) → 4141_1_LESSLEAVES_INVOKEMETHOD(4141_0_append_Load(x2[2], x3[2]), java.lang.Object(LessLeavesRec.Tree(x0[2], x1[2])), x2[2], x3[2])
4505_1_LESSLEAVES_INVOKEMETHOD(9986_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0[3], java.lang.Object(LessLeavesRec.Tree(x1[3], x2[3]))))), java.lang.Object(LessLeavesRec.Tree(x3[3], x4[3])), java.lang.Object(LessLeavesRec.Tree(x0[3], java.lang.Object(LessLeavesRec.Tree(x1[3], x5[3])))), x6[3]) → 4141_1_LESSLEAVES_INVOKEMETHOD(4141_0_append_Load(x3[3], x4[3]), java.lang.Object(LessLeavesRec.Tree(x0[3], java.lang.Object(LessLeavesRec.Tree(x1[3], x2[3])))), x3[3], x4[3])
4141_1_LESSLEAVES_INVOKEMETHOD(6162_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0[4], x1[4]))), java.lang.Object(LessLeavesRec.Tree(x2[4], x3[4])), java.lang.Object(LessLeavesRec.Tree(x0[4], NULL)), x1[4]) → 4505_1_LESSLEAVES_INVOKEMETHOD(4141_0_append_Load(x2[4], x3[4]), java.lang.Object(LessLeavesRec.Tree(x0[4], x1[4])), x2[4], x3[4])
4141_1_LESSLEAVES_INVOKEMETHOD(9986_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0[5], java.lang.Object(LessLeavesRec.Tree(x1[5], x2[5]))))), java.lang.Object(LessLeavesRec.Tree(x3[5], x4[5])), java.lang.Object(LessLeavesRec.Tree(x0[5], java.lang.Object(LessLeavesRec.Tree(x1[5], x5[5])))), x6[5]) → 4505_1_LESSLEAVES_INVOKEMETHOD(4141_0_append_Load(x3[5], x4[5]), java.lang.Object(LessLeavesRec.Tree(x0[5], java.lang.Object(LessLeavesRec.Tree(x1[5], x2[5])))), x3[5], x4[5])
4141_1_LESSLEAVES_INVOKEMETHOD(4219_0_append_Return(x0[0]), java.lang.Object(LessLeavesRec.Tree(x1[0], x2[0])), NULL, x0[0]) → 4505_1_LESSLEAVES_INVOKEMETHOD(4159_0_append_NONNULL(x2[0], x1[0]), x0[0], x1[0], x2[0])

The TRS R consists of the following rules:

4159_0_append_NONNULL(x0, NULL) → 4219_0_append_Return(x0)
4159_0_append_NONNULL(x2, java.lang.Object(LessLeavesRec.Tree(x0, x1))) → 4490_1_append_InvokeMethod(4159_0_append_NONNULL(x2, x1), x0, x1, x2)
4490_1_append_InvokeMethod(6162_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0, x1))), x2, java.lang.Object(LessLeavesRec.Tree(x0, NULL)), x1) → 9986_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x2, java.lang.Object(LessLeavesRec.Tree(x0, x1)))))
4490_1_append_InvokeMethod(9986_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0, java.lang.Object(LessLeavesRec.Tree(x1, x2))))), x3, java.lang.Object(LessLeavesRec.Tree(x0, java.lang.Object(LessLeavesRec.Tree(x1, x4)))), x5) → 9986_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x3, java.lang.Object(LessLeavesRec.Tree(x0, java.lang.Object(LessLeavesRec.Tree(x1, x2)))))))
4490_1_append_InvokeMethod(4219_0_append_Return(x0), x1, NULL, x0) → 6162_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x1, x0)))

The set Q consists of the following terms:

4159_0_append_NONNULL(x0, NULL)
4159_0_append_NONNULL(x0, java.lang.Object(LessLeavesRec.Tree(x1, x2)))
4490_1_append_InvokeMethod(6162_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0, x1))), x2, java.lang.Object(LessLeavesRec.Tree(x0, NULL)), x1)
4490_1_append_InvokeMethod(9986_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0, java.lang.Object(LessLeavesRec.Tree(x1, x2))))), x3, java.lang.Object(LessLeavesRec.Tree(x0, java.lang.Object(LessLeavesRec.Tree(x1, x4)))), x5)
4490_1_append_InvokeMethod(4219_0_append_Return(x0), x1, NULL, x0)

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

### (23) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule 4505_1_LESSLEAVES_INVOKEMETHOD(4219_0_append_Return(java.lang.Object(x0[1])), java.lang.Object(LessLeavesRec.Tree(x1[1], x2[1])), NULL, java.lang.Object(x0[1])) → 4141_1_LESSLEAVES_INVOKEMETHOD(4141_0_append_Load(x1[1], x2[1]), java.lang.Object(x0[1]), x1[1], x2[1]) at position [0] we obtained the following new rules [LPAR04]:

4505_1_LESSLEAVES_INVOKEMETHOD(4219_0_append_Return(java.lang.Object(x0[1])), java.lang.Object(LessLeavesRec.Tree(x1[1], x2[1])), NULL, java.lang.Object(x0[1])) → 4141_1_LESSLEAVES_INVOKEMETHOD(4159_0_append_NONNULL(x2[1], x1[1]), java.lang.Object(x0[1]), x1[1], x2[1])

### (24) Obligation:

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

4505_1_LESSLEAVES_INVOKEMETHOD(6162_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0[2], x1[2]))), java.lang.Object(LessLeavesRec.Tree(x2[2], x3[2])), java.lang.Object(LessLeavesRec.Tree(x0[2], NULL)), x1[2]) → 4141_1_LESSLEAVES_INVOKEMETHOD(4141_0_append_Load(x2[2], x3[2]), java.lang.Object(LessLeavesRec.Tree(x0[2], x1[2])), x2[2], x3[2])
4505_1_LESSLEAVES_INVOKEMETHOD(9986_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0[3], java.lang.Object(LessLeavesRec.Tree(x1[3], x2[3]))))), java.lang.Object(LessLeavesRec.Tree(x3[3], x4[3])), java.lang.Object(LessLeavesRec.Tree(x0[3], java.lang.Object(LessLeavesRec.Tree(x1[3], x5[3])))), x6[3]) → 4141_1_LESSLEAVES_INVOKEMETHOD(4141_0_append_Load(x3[3], x4[3]), java.lang.Object(LessLeavesRec.Tree(x0[3], java.lang.Object(LessLeavesRec.Tree(x1[3], x2[3])))), x3[3], x4[3])
4141_1_LESSLEAVES_INVOKEMETHOD(6162_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0[4], x1[4]))), java.lang.Object(LessLeavesRec.Tree(x2[4], x3[4])), java.lang.Object(LessLeavesRec.Tree(x0[4], NULL)), x1[4]) → 4505_1_LESSLEAVES_INVOKEMETHOD(4141_0_append_Load(x2[4], x3[4]), java.lang.Object(LessLeavesRec.Tree(x0[4], x1[4])), x2[4], x3[4])
4141_1_LESSLEAVES_INVOKEMETHOD(9986_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0[5], java.lang.Object(LessLeavesRec.Tree(x1[5], x2[5]))))), java.lang.Object(LessLeavesRec.Tree(x3[5], x4[5])), java.lang.Object(LessLeavesRec.Tree(x0[5], java.lang.Object(LessLeavesRec.Tree(x1[5], x5[5])))), x6[5]) → 4505_1_LESSLEAVES_INVOKEMETHOD(4141_0_append_Load(x3[5], x4[5]), java.lang.Object(LessLeavesRec.Tree(x0[5], java.lang.Object(LessLeavesRec.Tree(x1[5], x2[5])))), x3[5], x4[5])
4141_1_LESSLEAVES_INVOKEMETHOD(4219_0_append_Return(x0[0]), java.lang.Object(LessLeavesRec.Tree(x1[0], x2[0])), NULL, x0[0]) → 4505_1_LESSLEAVES_INVOKEMETHOD(4159_0_append_NONNULL(x2[0], x1[0]), x0[0], x1[0], x2[0])
4505_1_LESSLEAVES_INVOKEMETHOD(4219_0_append_Return(java.lang.Object(x0[1])), java.lang.Object(LessLeavesRec.Tree(x1[1], x2[1])), NULL, java.lang.Object(x0[1])) → 4141_1_LESSLEAVES_INVOKEMETHOD(4159_0_append_NONNULL(x2[1], x1[1]), java.lang.Object(x0[1]), x1[1], x2[1])

The TRS R consists of the following rules:

4159_0_append_NONNULL(x0, NULL) → 4219_0_append_Return(x0)
4159_0_append_NONNULL(x2, java.lang.Object(LessLeavesRec.Tree(x0, x1))) → 4490_1_append_InvokeMethod(4159_0_append_NONNULL(x2, x1), x0, x1, x2)
4490_1_append_InvokeMethod(6162_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0, x1))), x2, java.lang.Object(LessLeavesRec.Tree(x0, NULL)), x1) → 9986_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x2, java.lang.Object(LessLeavesRec.Tree(x0, x1)))))
4490_1_append_InvokeMethod(9986_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0, java.lang.Object(LessLeavesRec.Tree(x1, x2))))), x3, java.lang.Object(LessLeavesRec.Tree(x0, java.lang.Object(LessLeavesRec.Tree(x1, x4)))), x5) → 9986_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x3, java.lang.Object(LessLeavesRec.Tree(x0, java.lang.Object(LessLeavesRec.Tree(x1, x2)))))))
4490_1_append_InvokeMethod(4219_0_append_Return(x0), x1, NULL, x0) → 6162_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x1, x0)))

The set Q consists of the following terms:

4159_0_append_NONNULL(x0, NULL)
4159_0_append_NONNULL(x0, java.lang.Object(LessLeavesRec.Tree(x1, x2)))
4490_1_append_InvokeMethod(6162_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0, x1))), x2, java.lang.Object(LessLeavesRec.Tree(x0, NULL)), x1)
4490_1_append_InvokeMethod(9986_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0, java.lang.Object(LessLeavesRec.Tree(x1, x2))))), x3, java.lang.Object(LessLeavesRec.Tree(x0, java.lang.Object(LessLeavesRec.Tree(x1, x4)))), x5)
4490_1_append_InvokeMethod(4219_0_append_Return(x0), x1, NULL, x0)

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

### (25) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule 4505_1_LESSLEAVES_INVOKEMETHOD(6162_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0[2], x1[2]))), java.lang.Object(LessLeavesRec.Tree(x2[2], x3[2])), java.lang.Object(LessLeavesRec.Tree(x0[2], NULL)), x1[2]) → 4141_1_LESSLEAVES_INVOKEMETHOD(4141_0_append_Load(x2[2], x3[2]), java.lang.Object(LessLeavesRec.Tree(x0[2], x1[2])), x2[2], x3[2]) at position [0] we obtained the following new rules [LPAR04]:

4505_1_LESSLEAVES_INVOKEMETHOD(6162_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0[2], x1[2]))), java.lang.Object(LessLeavesRec.Tree(x2[2], x3[2])), java.lang.Object(LessLeavesRec.Tree(x0[2], NULL)), x1[2]) → 4141_1_LESSLEAVES_INVOKEMETHOD(4159_0_append_NONNULL(x3[2], x2[2]), java.lang.Object(LessLeavesRec.Tree(x0[2], x1[2])), x2[2], x3[2])

### (26) Obligation:

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

4505_1_LESSLEAVES_INVOKEMETHOD(9986_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0[3], java.lang.Object(LessLeavesRec.Tree(x1[3], x2[3]))))), java.lang.Object(LessLeavesRec.Tree(x3[3], x4[3])), java.lang.Object(LessLeavesRec.Tree(x0[3], java.lang.Object(LessLeavesRec.Tree(x1[3], x5[3])))), x6[3]) → 4141_1_LESSLEAVES_INVOKEMETHOD(4141_0_append_Load(x3[3], x4[3]), java.lang.Object(LessLeavesRec.Tree(x0[3], java.lang.Object(LessLeavesRec.Tree(x1[3], x2[3])))), x3[3], x4[3])
4141_1_LESSLEAVES_INVOKEMETHOD(6162_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0[4], x1[4]))), java.lang.Object(LessLeavesRec.Tree(x2[4], x3[4])), java.lang.Object(LessLeavesRec.Tree(x0[4], NULL)), x1[4]) → 4505_1_LESSLEAVES_INVOKEMETHOD(4141_0_append_Load(x2[4], x3[4]), java.lang.Object(LessLeavesRec.Tree(x0[4], x1[4])), x2[4], x3[4])
4141_1_LESSLEAVES_INVOKEMETHOD(9986_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0[5], java.lang.Object(LessLeavesRec.Tree(x1[5], x2[5]))))), java.lang.Object(LessLeavesRec.Tree(x3[5], x4[5])), java.lang.Object(LessLeavesRec.Tree(x0[5], java.lang.Object(LessLeavesRec.Tree(x1[5], x5[5])))), x6[5]) → 4505_1_LESSLEAVES_INVOKEMETHOD(4141_0_append_Load(x3[5], x4[5]), java.lang.Object(LessLeavesRec.Tree(x0[5], java.lang.Object(LessLeavesRec.Tree(x1[5], x2[5])))), x3[5], x4[5])
4141_1_LESSLEAVES_INVOKEMETHOD(4219_0_append_Return(x0[0]), java.lang.Object(LessLeavesRec.Tree(x1[0], x2[0])), NULL, x0[0]) → 4505_1_LESSLEAVES_INVOKEMETHOD(4159_0_append_NONNULL(x2[0], x1[0]), x0[0], x1[0], x2[0])
4505_1_LESSLEAVES_INVOKEMETHOD(4219_0_append_Return(java.lang.Object(x0[1])), java.lang.Object(LessLeavesRec.Tree(x1[1], x2[1])), NULL, java.lang.Object(x0[1])) → 4141_1_LESSLEAVES_INVOKEMETHOD(4159_0_append_NONNULL(x2[1], x1[1]), java.lang.Object(x0[1]), x1[1], x2[1])
4505_1_LESSLEAVES_INVOKEMETHOD(6162_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0[2], x1[2]))), java.lang.Object(LessLeavesRec.Tree(x2[2], x3[2])), java.lang.Object(LessLeavesRec.Tree(x0[2], NULL)), x1[2]) → 4141_1_LESSLEAVES_INVOKEMETHOD(4159_0_append_NONNULL(x3[2], x2[2]), java.lang.Object(LessLeavesRec.Tree(x0[2], x1[2])), x2[2], x3[2])

The TRS R consists of the following rules:

4159_0_append_NONNULL(x0, NULL) → 4219_0_append_Return(x0)
4159_0_append_NONNULL(x2, java.lang.Object(LessLeavesRec.Tree(x0, x1))) → 4490_1_append_InvokeMethod(4159_0_append_NONNULL(x2, x1), x0, x1, x2)
4490_1_append_InvokeMethod(6162_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0, x1))), x2, java.lang.Object(LessLeavesRec.Tree(x0, NULL)), x1) → 9986_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x2, java.lang.Object(LessLeavesRec.Tree(x0, x1)))))
4490_1_append_InvokeMethod(9986_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0, java.lang.Object(LessLeavesRec.Tree(x1, x2))))), x3, java.lang.Object(LessLeavesRec.Tree(x0, java.lang.Object(LessLeavesRec.Tree(x1, x4)))), x5) → 9986_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x3, java.lang.Object(LessLeavesRec.Tree(x0, java.lang.Object(LessLeavesRec.Tree(x1, x2)))))))
4490_1_append_InvokeMethod(4219_0_append_Return(x0), x1, NULL, x0) → 6162_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x1, x0)))

The set Q consists of the following terms:

4159_0_append_NONNULL(x0, NULL)
4159_0_append_NONNULL(x0, java.lang.Object(LessLeavesRec.Tree(x1, x2)))
4490_1_append_InvokeMethod(6162_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0, x1))), x2, java.lang.Object(LessLeavesRec.Tree(x0, NULL)), x1)
4490_1_append_InvokeMethod(9986_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0, java.lang.Object(LessLeavesRec.Tree(x1, x2))))), x3, java.lang.Object(LessLeavesRec.Tree(x0, java.lang.Object(LessLeavesRec.Tree(x1, x4)))), x5)
4490_1_append_InvokeMethod(4219_0_append_Return(x0), x1, NULL, x0)

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

### (27) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule 4505_1_LESSLEAVES_INVOKEMETHOD(9986_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0[3], java.lang.Object(LessLeavesRec.Tree(x1[3], x2[3]))))), java.lang.Object(LessLeavesRec.Tree(x3[3], x4[3])), java.lang.Object(LessLeavesRec.Tree(x0[3], java.lang.Object(LessLeavesRec.Tree(x1[3], x5[3])))), x6[3]) → 4141_1_LESSLEAVES_INVOKEMETHOD(4141_0_append_Load(x3[3], x4[3]), java.lang.Object(LessLeavesRec.Tree(x0[3], java.lang.Object(LessLeavesRec.Tree(x1[3], x2[3])))), x3[3], x4[3]) at position [0] we obtained the following new rules [LPAR04]:

4505_1_LESSLEAVES_INVOKEMETHOD(9986_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0[3], java.lang.Object(LessLeavesRec.Tree(x1[3], x2[3]))))), java.lang.Object(LessLeavesRec.Tree(x3[3], x4[3])), java.lang.Object(LessLeavesRec.Tree(x0[3], java.lang.Object(LessLeavesRec.Tree(x1[3], x5[3])))), x6[3]) → 4141_1_LESSLEAVES_INVOKEMETHOD(4159_0_append_NONNULL(x4[3], x3[3]), java.lang.Object(LessLeavesRec.Tree(x0[3], java.lang.Object(LessLeavesRec.Tree(x1[3], x2[3])))), x3[3], x4[3])

### (28) Obligation:

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

4141_1_LESSLEAVES_INVOKEMETHOD(6162_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0[4], x1[4]))), java.lang.Object(LessLeavesRec.Tree(x2[4], x3[4])), java.lang.Object(LessLeavesRec.Tree(x0[4], NULL)), x1[4]) → 4505_1_LESSLEAVES_INVOKEMETHOD(4141_0_append_Load(x2[4], x3[4]), java.lang.Object(LessLeavesRec.Tree(x0[4], x1[4])), x2[4], x3[4])
4141_1_LESSLEAVES_INVOKEMETHOD(9986_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0[5], java.lang.Object(LessLeavesRec.Tree(x1[5], x2[5]))))), java.lang.Object(LessLeavesRec.Tree(x3[5], x4[5])), java.lang.Object(LessLeavesRec.Tree(x0[5], java.lang.Object(LessLeavesRec.Tree(x1[5], x5[5])))), x6[5]) → 4505_1_LESSLEAVES_INVOKEMETHOD(4141_0_append_Load(x3[5], x4[5]), java.lang.Object(LessLeavesRec.Tree(x0[5], java.lang.Object(LessLeavesRec.Tree(x1[5], x2[5])))), x3[5], x4[5])
4141_1_LESSLEAVES_INVOKEMETHOD(4219_0_append_Return(x0[0]), java.lang.Object(LessLeavesRec.Tree(x1[0], x2[0])), NULL, x0[0]) → 4505_1_LESSLEAVES_INVOKEMETHOD(4159_0_append_NONNULL(x2[0], x1[0]), x0[0], x1[0], x2[0])
4505_1_LESSLEAVES_INVOKEMETHOD(4219_0_append_Return(java.lang.Object(x0[1])), java.lang.Object(LessLeavesRec.Tree(x1[1], x2[1])), NULL, java.lang.Object(x0[1])) → 4141_1_LESSLEAVES_INVOKEMETHOD(4159_0_append_NONNULL(x2[1], x1[1]), java.lang.Object(x0[1]), x1[1], x2[1])
4505_1_LESSLEAVES_INVOKEMETHOD(6162_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0[2], x1[2]))), java.lang.Object(LessLeavesRec.Tree(x2[2], x3[2])), java.lang.Object(LessLeavesRec.Tree(x0[2], NULL)), x1[2]) → 4141_1_LESSLEAVES_INVOKEMETHOD(4159_0_append_NONNULL(x3[2], x2[2]), java.lang.Object(LessLeavesRec.Tree(x0[2], x1[2])), x2[2], x3[2])
4505_1_LESSLEAVES_INVOKEMETHOD(9986_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0[3], java.lang.Object(LessLeavesRec.Tree(x1[3], x2[3]))))), java.lang.Object(LessLeavesRec.Tree(x3[3], x4[3])), java.lang.Object(LessLeavesRec.Tree(x0[3], java.lang.Object(LessLeavesRec.Tree(x1[3], x5[3])))), x6[3]) → 4141_1_LESSLEAVES_INVOKEMETHOD(4159_0_append_NONNULL(x4[3], x3[3]), java.lang.Object(LessLeavesRec.Tree(x0[3], java.lang.Object(LessLeavesRec.Tree(x1[3], x2[3])))), x3[3], x4[3])

The TRS R consists of the following rules:

4159_0_append_NONNULL(x0, NULL) → 4219_0_append_Return(x0)
4159_0_append_NONNULL(x2, java.lang.Object(LessLeavesRec.Tree(x0, x1))) → 4490_1_append_InvokeMethod(4159_0_append_NONNULL(x2, x1), x0, x1, x2)
4490_1_append_InvokeMethod(6162_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0, x1))), x2, java.lang.Object(LessLeavesRec.Tree(x0, NULL)), x1) → 9986_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x2, java.lang.Object(LessLeavesRec.Tree(x0, x1)))))
4490_1_append_InvokeMethod(9986_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0, java.lang.Object(LessLeavesRec.Tree(x1, x2))))), x3, java.lang.Object(LessLeavesRec.Tree(x0, java.lang.Object(LessLeavesRec.Tree(x1, x4)))), x5) → 9986_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x3, java.lang.Object(LessLeavesRec.Tree(x0, java.lang.Object(LessLeavesRec.Tree(x1, x2)))))))
4490_1_append_InvokeMethod(4219_0_append_Return(x0), x1, NULL, x0) → 6162_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x1, x0)))

The set Q consists of the following terms:

4159_0_append_NONNULL(x0, NULL)
4159_0_append_NONNULL(x0, java.lang.Object(LessLeavesRec.Tree(x1, x2)))
4490_1_append_InvokeMethod(6162_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0, x1))), x2, java.lang.Object(LessLeavesRec.Tree(x0, NULL)), x1)
4490_1_append_InvokeMethod(9986_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0, java.lang.Object(LessLeavesRec.Tree(x1, x2))))), x3, java.lang.Object(LessLeavesRec.Tree(x0, java.lang.Object(LessLeavesRec.Tree(x1, x4)))), x5)
4490_1_append_InvokeMethod(4219_0_append_Return(x0), x1, NULL, x0)

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

### (29) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule 4141_1_LESSLEAVES_INVOKEMETHOD(6162_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0[4], x1[4]))), java.lang.Object(LessLeavesRec.Tree(x2[4], x3[4])), java.lang.Object(LessLeavesRec.Tree(x0[4], NULL)), x1[4]) → 4505_1_LESSLEAVES_INVOKEMETHOD(4141_0_append_Load(x2[4], x3[4]), java.lang.Object(LessLeavesRec.Tree(x0[4], x1[4])), x2[4], x3[4]) at position [0] we obtained the following new rules [LPAR04]:

4141_1_LESSLEAVES_INVOKEMETHOD(6162_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0[4], x1[4]))), java.lang.Object(LessLeavesRec.Tree(x2[4], x3[4])), java.lang.Object(LessLeavesRec.Tree(x0[4], NULL)), x1[4]) → 4505_1_LESSLEAVES_INVOKEMETHOD(4159_0_append_NONNULL(x3[4], x2[4]), java.lang.Object(LessLeavesRec.Tree(x0[4], x1[4])), x2[4], x3[4])

### (30) Obligation:

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

4141_1_LESSLEAVES_INVOKEMETHOD(9986_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0[5], java.lang.Object(LessLeavesRec.Tree(x1[5], x2[5]))))), java.lang.Object(LessLeavesRec.Tree(x3[5], x4[5])), java.lang.Object(LessLeavesRec.Tree(x0[5], java.lang.Object(LessLeavesRec.Tree(x1[5], x5[5])))), x6[5]) → 4505_1_LESSLEAVES_INVOKEMETHOD(4141_0_append_Load(x3[5], x4[5]), java.lang.Object(LessLeavesRec.Tree(x0[5], java.lang.Object(LessLeavesRec.Tree(x1[5], x2[5])))), x3[5], x4[5])
4141_1_LESSLEAVES_INVOKEMETHOD(4219_0_append_Return(x0[0]), java.lang.Object(LessLeavesRec.Tree(x1[0], x2[0])), NULL, x0[0]) → 4505_1_LESSLEAVES_INVOKEMETHOD(4159_0_append_NONNULL(x2[0], x1[0]), x0[0], x1[0], x2[0])
4505_1_LESSLEAVES_INVOKEMETHOD(4219_0_append_Return(java.lang.Object(x0[1])), java.lang.Object(LessLeavesRec.Tree(x1[1], x2[1])), NULL, java.lang.Object(x0[1])) → 4141_1_LESSLEAVES_INVOKEMETHOD(4159_0_append_NONNULL(x2[1], x1[1]), java.lang.Object(x0[1]), x1[1], x2[1])
4505_1_LESSLEAVES_INVOKEMETHOD(6162_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0[2], x1[2]))), java.lang.Object(LessLeavesRec.Tree(x2[2], x3[2])), java.lang.Object(LessLeavesRec.Tree(x0[2], NULL)), x1[2]) → 4141_1_LESSLEAVES_INVOKEMETHOD(4159_0_append_NONNULL(x3[2], x2[2]), java.lang.Object(LessLeavesRec.Tree(x0[2], x1[2])), x2[2], x3[2])
4505_1_LESSLEAVES_INVOKEMETHOD(9986_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0[3], java.lang.Object(LessLeavesRec.Tree(x1[3], x2[3]))))), java.lang.Object(LessLeavesRec.Tree(x3[3], x4[3])), java.lang.Object(LessLeavesRec.Tree(x0[3], java.lang.Object(LessLeavesRec.Tree(x1[3], x5[3])))), x6[3]) → 4141_1_LESSLEAVES_INVOKEMETHOD(4159_0_append_NONNULL(x4[3], x3[3]), java.lang.Object(LessLeavesRec.Tree(x0[3], java.lang.Object(LessLeavesRec.Tree(x1[3], x2[3])))), x3[3], x4[3])
4141_1_LESSLEAVES_INVOKEMETHOD(6162_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0[4], x1[4]))), java.lang.Object(LessLeavesRec.Tree(x2[4], x3[4])), java.lang.Object(LessLeavesRec.Tree(x0[4], NULL)), x1[4]) → 4505_1_LESSLEAVES_INVOKEMETHOD(4159_0_append_NONNULL(x3[4], x2[4]), java.lang.Object(LessLeavesRec.Tree(x0[4], x1[4])), x2[4], x3[4])

The TRS R consists of the following rules:

4159_0_append_NONNULL(x0, NULL) → 4219_0_append_Return(x0)
4159_0_append_NONNULL(x2, java.lang.Object(LessLeavesRec.Tree(x0, x1))) → 4490_1_append_InvokeMethod(4159_0_append_NONNULL(x2, x1), x0, x1, x2)
4490_1_append_InvokeMethod(6162_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0, x1))), x2, java.lang.Object(LessLeavesRec.Tree(x0, NULL)), x1) → 9986_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x2, java.lang.Object(LessLeavesRec.Tree(x0, x1)))))
4490_1_append_InvokeMethod(9986_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0, java.lang.Object(LessLeavesRec.Tree(x1, x2))))), x3, java.lang.Object(LessLeavesRec.Tree(x0, java.lang.Object(LessLeavesRec.Tree(x1, x4)))), x5) → 9986_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x3, java.lang.Object(LessLeavesRec.Tree(x0, java.lang.Object(LessLeavesRec.Tree(x1, x2)))))))
4490_1_append_InvokeMethod(4219_0_append_Return(x0), x1, NULL, x0) → 6162_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x1, x0)))

The set Q consists of the following terms:

4159_0_append_NONNULL(x0, NULL)
4159_0_append_NONNULL(x0, java.lang.Object(LessLeavesRec.Tree(x1, x2)))
4490_1_append_InvokeMethod(6162_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0, x1))), x2, java.lang.Object(LessLeavesRec.Tree(x0, NULL)), x1)
4490_1_append_InvokeMethod(9986_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0, java.lang.Object(LessLeavesRec.Tree(x1, x2))))), x3, java.lang.Object(LessLeavesRec.Tree(x0, java.lang.Object(LessLeavesRec.Tree(x1, x4)))), x5)
4490_1_append_InvokeMethod(4219_0_append_Return(x0), x1, NULL, x0)

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

### (31) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule 4141_1_LESSLEAVES_INVOKEMETHOD(9986_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0[5], java.lang.Object(LessLeavesRec.Tree(x1[5], x2[5]))))), java.lang.Object(LessLeavesRec.Tree(x3[5], x4[5])), java.lang.Object(LessLeavesRec.Tree(x0[5], java.lang.Object(LessLeavesRec.Tree(x1[5], x5[5])))), x6[5]) → 4505_1_LESSLEAVES_INVOKEMETHOD(4141_0_append_Load(x3[5], x4[5]), java.lang.Object(LessLeavesRec.Tree(x0[5], java.lang.Object(LessLeavesRec.Tree(x1[5], x2[5])))), x3[5], x4[5]) at position [0] we obtained the following new rules [LPAR04]:

4141_1_LESSLEAVES_INVOKEMETHOD(9986_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0[5], java.lang.Object(LessLeavesRec.Tree(x1[5], x2[5]))))), java.lang.Object(LessLeavesRec.Tree(x3[5], x4[5])), java.lang.Object(LessLeavesRec.Tree(x0[5], java.lang.Object(LessLeavesRec.Tree(x1[5], x5[5])))), x6[5]) → 4505_1_LESSLEAVES_INVOKEMETHOD(4159_0_append_NONNULL(x4[5], x3[5]), java.lang.Object(LessLeavesRec.Tree(x0[5], java.lang.Object(LessLeavesRec.Tree(x1[5], x2[5])))), x3[5], x4[5])

### (32) Obligation:

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

4141_1_LESSLEAVES_INVOKEMETHOD(4219_0_append_Return(x0[0]), java.lang.Object(LessLeavesRec.Tree(x1[0], x2[0])), NULL, x0[0]) → 4505_1_LESSLEAVES_INVOKEMETHOD(4159_0_append_NONNULL(x2[0], x1[0]), x0[0], x1[0], x2[0])
4505_1_LESSLEAVES_INVOKEMETHOD(4219_0_append_Return(java.lang.Object(x0[1])), java.lang.Object(LessLeavesRec.Tree(x1[1], x2[1])), NULL, java.lang.Object(x0[1])) → 4141_1_LESSLEAVES_INVOKEMETHOD(4159_0_append_NONNULL(x2[1], x1[1]), java.lang.Object(x0[1]), x1[1], x2[1])
4505_1_LESSLEAVES_INVOKEMETHOD(6162_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0[2], x1[2]))), java.lang.Object(LessLeavesRec.Tree(x2[2], x3[2])), java.lang.Object(LessLeavesRec.Tree(x0[2], NULL)), x1[2]) → 4141_1_LESSLEAVES_INVOKEMETHOD(4159_0_append_NONNULL(x3[2], x2[2]), java.lang.Object(LessLeavesRec.Tree(x0[2], x1[2])), x2[2], x3[2])
4505_1_LESSLEAVES_INVOKEMETHOD(9986_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0[3], java.lang.Object(LessLeavesRec.Tree(x1[3], x2[3]))))), java.lang.Object(LessLeavesRec.Tree(x3[3], x4[3])), java.lang.Object(LessLeavesRec.Tree(x0[3], java.lang.Object(LessLeavesRec.Tree(x1[3], x5[3])))), x6[3]) → 4141_1_LESSLEAVES_INVOKEMETHOD(4159_0_append_NONNULL(x4[3], x3[3]), java.lang.Object(LessLeavesRec.Tree(x0[3], java.lang.Object(LessLeavesRec.Tree(x1[3], x2[3])))), x3[3], x4[3])
4141_1_LESSLEAVES_INVOKEMETHOD(6162_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0[4], x1[4]))), java.lang.Object(LessLeavesRec.Tree(x2[4], x3[4])), java.lang.Object(LessLeavesRec.Tree(x0[4], NULL)), x1[4]) → 4505_1_LESSLEAVES_INVOKEMETHOD(4159_0_append_NONNULL(x3[4], x2[4]), java.lang.Object(LessLeavesRec.Tree(x0[4], x1[4])), x2[4], x3[4])
4141_1_LESSLEAVES_INVOKEMETHOD(9986_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0[5], java.lang.Object(LessLeavesRec.Tree(x1[5], x2[5]))))), java.lang.Object(LessLeavesRec.Tree(x3[5], x4[5])), java.lang.Object(LessLeavesRec.Tree(x0[5], java.lang.Object(LessLeavesRec.Tree(x1[5], x5[5])))), x6[5]) → 4505_1_LESSLEAVES_INVOKEMETHOD(4159_0_append_NONNULL(x4[5], x3[5]), java.lang.Object(LessLeavesRec.Tree(x0[5], java.lang.Object(LessLeavesRec.Tree(x1[5], x2[5])))), x3[5], x4[5])

The TRS R consists of the following rules:

4159_0_append_NONNULL(x0, NULL) → 4219_0_append_Return(x0)
4159_0_append_NONNULL(x2, java.lang.Object(LessLeavesRec.Tree(x0, x1))) → 4490_1_append_InvokeMethod(4159_0_append_NONNULL(x2, x1), x0, x1, x2)
4490_1_append_InvokeMethod(6162_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0, x1))), x2, java.lang.Object(LessLeavesRec.Tree(x0, NULL)), x1) → 9986_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x2, java.lang.Object(LessLeavesRec.Tree(x0, x1)))))
4490_1_append_InvokeMethod(9986_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0, java.lang.Object(LessLeavesRec.Tree(x1, x2))))), x3, java.lang.Object(LessLeavesRec.Tree(x0, java.lang.Object(LessLeavesRec.Tree(x1, x4)))), x5) → 9986_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x3, java.lang.Object(LessLeavesRec.Tree(x0, java.lang.Object(LessLeavesRec.Tree(x1, x2)))))))
4490_1_append_InvokeMethod(4219_0_append_Return(x0), x1, NULL, x0) → 6162_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x1, x0)))

The set Q consists of the following terms:

4159_0_append_NONNULL(x0, NULL)
4159_0_append_NONNULL(x0, java.lang.Object(LessLeavesRec.Tree(x1, x2)))
4490_1_append_InvokeMethod(6162_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0, x1))), x2, java.lang.Object(LessLeavesRec.Tree(x0, NULL)), x1)
4490_1_append_InvokeMethod(9986_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0, java.lang.Object(LessLeavesRec.Tree(x1, x2))))), x3, java.lang.Object(LessLeavesRec.Tree(x0, java.lang.Object(LessLeavesRec.Tree(x1, x4)))), x5)
4490_1_append_InvokeMethod(4219_0_append_Return(x0), x1, NULL, x0)

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

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

### (34) Obligation:

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

4141_1_LESSLEAVES_INVOKEMETHOD(4219_0_append_Return(x0[0]), java.lang.Object(LessLeavesRec.Tree(x1[0], x2[0])), NULL, x0[0]) → 4505_1_LESSLEAVES_INVOKEMETHOD(4159_0_append_NONNULL(x2[0], x1[0]), x0[0], x1[0], x2[0])
4505_1_LESSLEAVES_INVOKEMETHOD(4219_0_append_Return(java.lang.Object(x0[1])), java.lang.Object(LessLeavesRec.Tree(x1[1], x2[1])), NULL, java.lang.Object(x0[1])) → 4141_1_LESSLEAVES_INVOKEMETHOD(4159_0_append_NONNULL(x2[1], x1[1]), java.lang.Object(x0[1]), x1[1], x2[1])
4505_1_LESSLEAVES_INVOKEMETHOD(6162_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0[2], x1[2]))), java.lang.Object(LessLeavesRec.Tree(x2[2], x3[2])), java.lang.Object(LessLeavesRec.Tree(x0[2], NULL)), x1[2]) → 4141_1_LESSLEAVES_INVOKEMETHOD(4159_0_append_NONNULL(x3[2], x2[2]), java.lang.Object(LessLeavesRec.Tree(x0[2], x1[2])), x2[2], x3[2])
4505_1_LESSLEAVES_INVOKEMETHOD(9986_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0[3], java.lang.Object(LessLeavesRec.Tree(x1[3], x2[3]))))), java.lang.Object(LessLeavesRec.Tree(x3[3], x4[3])), java.lang.Object(LessLeavesRec.Tree(x0[3], java.lang.Object(LessLeavesRec.Tree(x1[3], x5[3])))), x6[3]) → 4141_1_LESSLEAVES_INVOKEMETHOD(4159_0_append_NONNULL(x4[3], x3[3]), java.lang.Object(LessLeavesRec.Tree(x0[3], java.lang.Object(LessLeavesRec.Tree(x1[3], x2[3])))), x3[3], x4[3])
4141_1_LESSLEAVES_INVOKEMETHOD(6162_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0[4], x1[4]))), java.lang.Object(LessLeavesRec.Tree(x2[4], x3[4])), java.lang.Object(LessLeavesRec.Tree(x0[4], NULL)), x1[4]) → 4505_1_LESSLEAVES_INVOKEMETHOD(4159_0_append_NONNULL(x3[4], x2[4]), java.lang.Object(LessLeavesRec.Tree(x0[4], x1[4])), x2[4], x3[4])
4141_1_LESSLEAVES_INVOKEMETHOD(9986_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0[5], java.lang.Object(LessLeavesRec.Tree(x1[5], x2[5]))))), java.lang.Object(LessLeavesRec.Tree(x3[5], x4[5])), java.lang.Object(LessLeavesRec.Tree(x0[5], java.lang.Object(LessLeavesRec.Tree(x1[5], x5[5])))), x6[5]) → 4505_1_LESSLEAVES_INVOKEMETHOD(4159_0_append_NONNULL(x4[5], x3[5]), java.lang.Object(LessLeavesRec.Tree(x0[5], java.lang.Object(LessLeavesRec.Tree(x1[5], x2[5])))), x3[5], x4[5])

The TRS R consists of the following rules:

4159_0_append_NONNULL(x0, NULL) → 4219_0_append_Return(x0)
4159_0_append_NONNULL(x2, java.lang.Object(LessLeavesRec.Tree(x0, x1))) → 4490_1_append_InvokeMethod(4159_0_append_NONNULL(x2, x1), x0, x1, x2)
4490_1_append_InvokeMethod(6162_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0, x1))), x2, java.lang.Object(LessLeavesRec.Tree(x0, NULL)), x1) → 9986_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x2, java.lang.Object(LessLeavesRec.Tree(x0, x1)))))
4490_1_append_InvokeMethod(9986_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0, java.lang.Object(LessLeavesRec.Tree(x1, x2))))), x3, java.lang.Object(LessLeavesRec.Tree(x0, java.lang.Object(LessLeavesRec.Tree(x1, x4)))), x5) → 9986_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x3, java.lang.Object(LessLeavesRec.Tree(x0, java.lang.Object(LessLeavesRec.Tree(x1, x2)))))))
4490_1_append_InvokeMethod(4219_0_append_Return(x0), x1, NULL, x0) → 6162_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x1, x0)))

The set Q consists of the following terms:

4159_0_append_NONNULL(x0, NULL)
4159_0_append_NONNULL(x0, java.lang.Object(LessLeavesRec.Tree(x1, x2)))
4490_1_append_InvokeMethod(6162_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0, x1))), x2, java.lang.Object(LessLeavesRec.Tree(x0, NULL)), x1)
4490_1_append_InvokeMethod(9986_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0, java.lang.Object(LessLeavesRec.Tree(x1, x2))))), x3, java.lang.Object(LessLeavesRec.Tree(x0, java.lang.Object(LessLeavesRec.Tree(x1, x4)))), x5)
4490_1_append_InvokeMethod(4219_0_append_Return(x0), x1, NULL, x0)

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

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

### (36) Obligation:

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

4141_1_LESSLEAVES_INVOKEMETHOD(4219_0_append_Return(x0[0]), java.lang.Object(LessLeavesRec.Tree(x1[0], x2[0])), NULL, x0[0]) → 4505_1_LESSLEAVES_INVOKEMETHOD(4159_0_append_NONNULL(x2[0], x1[0]), x0[0], x1[0], x2[0])
4505_1_LESSLEAVES_INVOKEMETHOD(4219_0_append_Return(java.lang.Object(x0[1])), java.lang.Object(LessLeavesRec.Tree(x1[1], x2[1])), NULL, java.lang.Object(x0[1])) → 4141_1_LESSLEAVES_INVOKEMETHOD(4159_0_append_NONNULL(x2[1], x1[1]), java.lang.Object(x0[1]), x1[1], x2[1])
4505_1_LESSLEAVES_INVOKEMETHOD(6162_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0[2], x1[2]))), java.lang.Object(LessLeavesRec.Tree(x2[2], x3[2])), java.lang.Object(LessLeavesRec.Tree(x0[2], NULL)), x1[2]) → 4141_1_LESSLEAVES_INVOKEMETHOD(4159_0_append_NONNULL(x3[2], x2[2]), java.lang.Object(LessLeavesRec.Tree(x0[2], x1[2])), x2[2], x3[2])
4505_1_LESSLEAVES_INVOKEMETHOD(9986_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0[3], java.lang.Object(LessLeavesRec.Tree(x1[3], x2[3]))))), java.lang.Object(LessLeavesRec.Tree(x3[3], x4[3])), java.lang.Object(LessLeavesRec.Tree(x0[3], java.lang.Object(LessLeavesRec.Tree(x1[3], x5[3])))), x6[3]) → 4141_1_LESSLEAVES_INVOKEMETHOD(4159_0_append_NONNULL(x4[3], x3[3]), java.lang.Object(LessLeavesRec.Tree(x0[3], java.lang.Object(LessLeavesRec.Tree(x1[3], x2[3])))), x3[3], x4[3])
4141_1_LESSLEAVES_INVOKEMETHOD(6162_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0[4], x1[4]))), java.lang.Object(LessLeavesRec.Tree(x2[4], x3[4])), java.lang.Object(LessLeavesRec.Tree(x0[4], NULL)), x1[4]) → 4505_1_LESSLEAVES_INVOKEMETHOD(4159_0_append_NONNULL(x3[4], x2[4]), java.lang.Object(LessLeavesRec.Tree(x0[4], x1[4])), x2[4], x3[4])
4141_1_LESSLEAVES_INVOKEMETHOD(9986_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0[5], java.lang.Object(LessLeavesRec.Tree(x1[5], x2[5]))))), java.lang.Object(LessLeavesRec.Tree(x3[5], x4[5])), java.lang.Object(LessLeavesRec.Tree(x0[5], java.lang.Object(LessLeavesRec.Tree(x1[5], x5[5])))), x6[5]) → 4505_1_LESSLEAVES_INVOKEMETHOD(4159_0_append_NONNULL(x4[5], x3[5]), java.lang.Object(LessLeavesRec.Tree(x0[5], java.lang.Object(LessLeavesRec.Tree(x1[5], x2[5])))), x3[5], x4[5])

The TRS R consists of the following rules:

4159_0_append_NONNULL(x0, NULL) → 4219_0_append_Return(x0)
4159_0_append_NONNULL(x2, java.lang.Object(LessLeavesRec.Tree(x0, x1))) → 4490_1_append_InvokeMethod(4159_0_append_NONNULL(x2, x1), x0, x1, x2)
4490_1_append_InvokeMethod(6162_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0, x1))), x2, java.lang.Object(LessLeavesRec.Tree(x0, NULL)), x1) → 9986_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x2, java.lang.Object(LessLeavesRec.Tree(x0, x1)))))
4490_1_append_InvokeMethod(9986_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0, java.lang.Object(LessLeavesRec.Tree(x1, x2))))), x3, java.lang.Object(LessLeavesRec.Tree(x0, java.lang.Object(LessLeavesRec.Tree(x1, x4)))), x5) → 9986_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x3, java.lang.Object(LessLeavesRec.Tree(x0, java.lang.Object(LessLeavesRec.Tree(x1, x2)))))))
4490_1_append_InvokeMethod(4219_0_append_Return(x0), x1, NULL, x0) → 6162_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x1, x0)))

The set Q consists of the following terms:

4159_0_append_NONNULL(x0, NULL)
4159_0_append_NONNULL(x0, java.lang.Object(LessLeavesRec.Tree(x1, x2)))
4490_1_append_InvokeMethod(6162_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0, x1))), x2, java.lang.Object(LessLeavesRec.Tree(x0, NULL)), x1)
4490_1_append_InvokeMethod(9986_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0, java.lang.Object(LessLeavesRec.Tree(x1, x2))))), x3, java.lang.Object(LessLeavesRec.Tree(x0, java.lang.Object(LessLeavesRec.Tree(x1, x4)))), x5)
4490_1_append_InvokeMethod(4219_0_append_Return(x0), x1, NULL, x0)

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

### (37) QDPOrderProof (EQUIVALENT transformation)

We use the reduction pair processor [LPAR04].

The following pairs can be oriented strictly and are deleted.

4505_1_LESSLEAVES_INVOKEMETHOD(4219_0_append_Return(java.lang.Object(x0[1])), java.lang.Object(LessLeavesRec.Tree(x1[1], x2[1])), NULL, java.lang.Object(x0[1])) → 4141_1_LESSLEAVES_INVOKEMETHOD(4159_0_append_NONNULL(x2[1], x1[1]), java.lang.Object(x0[1]), x1[1], x2[1])
The remaining pairs can at least be oriented weakly.
Used ordering: Polynomial interpretation [POLO]:

POL(4141_1_LESSLEAVES_INVOKEMETHOD(x1, x2, x3, x4)) = x2
POL(4159_0_append_NONNULL(x1, x2)) = x1 + x2
POL(4219_0_append_Return(x1)) = 1 + x1
POL(4490_1_append_InvokeMethod(x1, x2, x3, x4)) = x1 + x2
POL(4505_1_LESSLEAVES_INVOKEMETHOD(x1, x2, x3, x4)) = x1
POL(6162_0_append_Return(x1)) = x1
POL(9986_0_append_Return(x1)) = x1
POL(LessLeavesRec.Tree(x1, x2)) = x1 + x2
POL(NULL) = 1
POL(java.lang.Object(x1)) = x1

The following usable rules [FROCOS05] were oriented:

4159_0_append_NONNULL(x0, NULL) → 4219_0_append_Return(x0)
4159_0_append_NONNULL(x2, java.lang.Object(LessLeavesRec.Tree(x0, x1))) → 4490_1_append_InvokeMethod(4159_0_append_NONNULL(x2, x1), x0, x1, x2)
4490_1_append_InvokeMethod(6162_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0, x1))), x2, java.lang.Object(LessLeavesRec.Tree(x0, NULL)), x1) → 9986_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x2, java.lang.Object(LessLeavesRec.Tree(x0, x1)))))
4490_1_append_InvokeMethod(9986_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0, java.lang.Object(LessLeavesRec.Tree(x1, x2))))), x3, java.lang.Object(LessLeavesRec.Tree(x0, java.lang.Object(LessLeavesRec.Tree(x1, x4)))), x5) → 9986_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x3, java.lang.Object(LessLeavesRec.Tree(x0, java.lang.Object(LessLeavesRec.Tree(x1, x2)))))))
4490_1_append_InvokeMethod(4219_0_append_Return(x0), x1, NULL, x0) → 6162_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x1, x0)))

### (38) Obligation:

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

4141_1_LESSLEAVES_INVOKEMETHOD(4219_0_append_Return(x0[0]), java.lang.Object(LessLeavesRec.Tree(x1[0], x2[0])), NULL, x0[0]) → 4505_1_LESSLEAVES_INVOKEMETHOD(4159_0_append_NONNULL(x2[0], x1[0]), x0[0], x1[0], x2[0])
4505_1_LESSLEAVES_INVOKEMETHOD(6162_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0[2], x1[2]))), java.lang.Object(LessLeavesRec.Tree(x2[2], x3[2])), java.lang.Object(LessLeavesRec.Tree(x0[2], NULL)), x1[2]) → 4141_1_LESSLEAVES_INVOKEMETHOD(4159_0_append_NONNULL(x3[2], x2[2]), java.lang.Object(LessLeavesRec.Tree(x0[2], x1[2])), x2[2], x3[2])
4505_1_LESSLEAVES_INVOKEMETHOD(9986_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0[3], java.lang.Object(LessLeavesRec.Tree(x1[3], x2[3]))))), java.lang.Object(LessLeavesRec.Tree(x3[3], x4[3])), java.lang.Object(LessLeavesRec.Tree(x0[3], java.lang.Object(LessLeavesRec.Tree(x1[3], x5[3])))), x6[3]) → 4141_1_LESSLEAVES_INVOKEMETHOD(4159_0_append_NONNULL(x4[3], x3[3]), java.lang.Object(LessLeavesRec.Tree(x0[3], java.lang.Object(LessLeavesRec.Tree(x1[3], x2[3])))), x3[3], x4[3])
4141_1_LESSLEAVES_INVOKEMETHOD(6162_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0[4], x1[4]))), java.lang.Object(LessLeavesRec.Tree(x2[4], x3[4])), java.lang.Object(LessLeavesRec.Tree(x0[4], NULL)), x1[4]) → 4505_1_LESSLEAVES_INVOKEMETHOD(4159_0_append_NONNULL(x3[4], x2[4]), java.lang.Object(LessLeavesRec.Tree(x0[4], x1[4])), x2[4], x3[4])
4141_1_LESSLEAVES_INVOKEMETHOD(9986_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0[5], java.lang.Object(LessLeavesRec.Tree(x1[5], x2[5]))))), java.lang.Object(LessLeavesRec.Tree(x3[5], x4[5])), java.lang.Object(LessLeavesRec.Tree(x0[5], java.lang.Object(LessLeavesRec.Tree(x1[5], x5[5])))), x6[5]) → 4505_1_LESSLEAVES_INVOKEMETHOD(4159_0_append_NONNULL(x4[5], x3[5]), java.lang.Object(LessLeavesRec.Tree(x0[5], java.lang.Object(LessLeavesRec.Tree(x1[5], x2[5])))), x3[5], x4[5])

The TRS R consists of the following rules:

4159_0_append_NONNULL(x0, NULL) → 4219_0_append_Return(x0)
4159_0_append_NONNULL(x2, java.lang.Object(LessLeavesRec.Tree(x0, x1))) → 4490_1_append_InvokeMethod(4159_0_append_NONNULL(x2, x1), x0, x1, x2)
4490_1_append_InvokeMethod(6162_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0, x1))), x2, java.lang.Object(LessLeavesRec.Tree(x0, NULL)), x1) → 9986_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x2, java.lang.Object(LessLeavesRec.Tree(x0, x1)))))
4490_1_append_InvokeMethod(9986_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0, java.lang.Object(LessLeavesRec.Tree(x1, x2))))), x3, java.lang.Object(LessLeavesRec.Tree(x0, java.lang.Object(LessLeavesRec.Tree(x1, x4)))), x5) → 9986_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x3, java.lang.Object(LessLeavesRec.Tree(x0, java.lang.Object(LessLeavesRec.Tree(x1, x2)))))))
4490_1_append_InvokeMethod(4219_0_append_Return(x0), x1, NULL, x0) → 6162_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x1, x0)))

The set Q consists of the following terms:

4159_0_append_NONNULL(x0, NULL)
4159_0_append_NONNULL(x0, java.lang.Object(LessLeavesRec.Tree(x1, x2)))
4490_1_append_InvokeMethod(6162_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0, x1))), x2, java.lang.Object(LessLeavesRec.Tree(x0, NULL)), x1)
4490_1_append_InvokeMethod(9986_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0, java.lang.Object(LessLeavesRec.Tree(x1, x2))))), x3, java.lang.Object(LessLeavesRec.Tree(x0, java.lang.Object(LessLeavesRec.Tree(x1, x4)))), x5)
4490_1_append_InvokeMethod(4219_0_append_Return(x0), x1, NULL, x0)

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

### (39) QDPOrderProof (EQUIVALENT transformation)

We use the reduction pair processor [LPAR04].

The following pairs can be oriented strictly and are deleted.

4141_1_LESSLEAVES_INVOKEMETHOD(4219_0_append_Return(x0[0]), java.lang.Object(LessLeavesRec.Tree(x1[0], x2[0])), NULL, x0[0]) → 4505_1_LESSLEAVES_INVOKEMETHOD(4159_0_append_NONNULL(x2[0], x1[0]), x0[0], x1[0], x2[0])
4141_1_LESSLEAVES_INVOKEMETHOD(6162_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0[4], x1[4]))), java.lang.Object(LessLeavesRec.Tree(x2[4], x3[4])), java.lang.Object(LessLeavesRec.Tree(x0[4], NULL)), x1[4]) → 4505_1_LESSLEAVES_INVOKEMETHOD(4159_0_append_NONNULL(x3[4], x2[4]), java.lang.Object(LessLeavesRec.Tree(x0[4], x1[4])), x2[4], x3[4])
4141_1_LESSLEAVES_INVOKEMETHOD(9986_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0[5], java.lang.Object(LessLeavesRec.Tree(x1[5], x2[5]))))), java.lang.Object(LessLeavesRec.Tree(x3[5], x4[5])), java.lang.Object(LessLeavesRec.Tree(x0[5], java.lang.Object(LessLeavesRec.Tree(x1[5], x5[5])))), x6[5]) → 4505_1_LESSLEAVES_INVOKEMETHOD(4159_0_append_NONNULL(x4[5], x3[5]), java.lang.Object(LessLeavesRec.Tree(x0[5], java.lang.Object(LessLeavesRec.Tree(x1[5], x2[5])))), x3[5], x4[5])
The remaining pairs can at least be oriented weakly.
Used ordering: Polynomial interpretation [POLO]:

POL(4141_1_LESSLEAVES_INVOKEMETHOD(x1, x2, x3, x4)) = x2
POL(4159_0_append_NONNULL(x1, x2)) = 0
POL(4219_0_append_Return(x1)) = 0
POL(4490_1_append_InvokeMethod(x1, x2, x3, x4)) = 0
POL(4505_1_LESSLEAVES_INVOKEMETHOD(x1, x2, x3, x4)) = x3
POL(6162_0_append_Return(x1)) = 0
POL(9986_0_append_Return(x1)) = 0
POL(LessLeavesRec.Tree(x1, x2)) = x1
POL(NULL) = 0
POL(java.lang.Object(x1)) = 1 + x1

The following usable rules [FROCOS05] were oriented: none

### (40) Obligation:

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

4505_1_LESSLEAVES_INVOKEMETHOD(6162_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0[2], x1[2]))), java.lang.Object(LessLeavesRec.Tree(x2[2], x3[2])), java.lang.Object(LessLeavesRec.Tree(x0[2], NULL)), x1[2]) → 4141_1_LESSLEAVES_INVOKEMETHOD(4159_0_append_NONNULL(x3[2], x2[2]), java.lang.Object(LessLeavesRec.Tree(x0[2], x1[2])), x2[2], x3[2])
4505_1_LESSLEAVES_INVOKEMETHOD(9986_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0[3], java.lang.Object(LessLeavesRec.Tree(x1[3], x2[3]))))), java.lang.Object(LessLeavesRec.Tree(x3[3], x4[3])), java.lang.Object(LessLeavesRec.Tree(x0[3], java.lang.Object(LessLeavesRec.Tree(x1[3], x5[3])))), x6[3]) → 4141_1_LESSLEAVES_INVOKEMETHOD(4159_0_append_NONNULL(x4[3], x3[3]), java.lang.Object(LessLeavesRec.Tree(x0[3], java.lang.Object(LessLeavesRec.Tree(x1[3], x2[3])))), x3[3], x4[3])

The TRS R consists of the following rules:

4159_0_append_NONNULL(x0, NULL) → 4219_0_append_Return(x0)
4159_0_append_NONNULL(x2, java.lang.Object(LessLeavesRec.Tree(x0, x1))) → 4490_1_append_InvokeMethod(4159_0_append_NONNULL(x2, x1), x0, x1, x2)
4490_1_append_InvokeMethod(6162_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0, x1))), x2, java.lang.Object(LessLeavesRec.Tree(x0, NULL)), x1) → 9986_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x2, java.lang.Object(LessLeavesRec.Tree(x0, x1)))))
4490_1_append_InvokeMethod(9986_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0, java.lang.Object(LessLeavesRec.Tree(x1, x2))))), x3, java.lang.Object(LessLeavesRec.Tree(x0, java.lang.Object(LessLeavesRec.Tree(x1, x4)))), x5) → 9986_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x3, java.lang.Object(LessLeavesRec.Tree(x0, java.lang.Object(LessLeavesRec.Tree(x1, x2)))))))
4490_1_append_InvokeMethod(4219_0_append_Return(x0), x1, NULL, x0) → 6162_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x1, x0)))

The set Q consists of the following terms:

4159_0_append_NONNULL(x0, NULL)
4159_0_append_NONNULL(x0, java.lang.Object(LessLeavesRec.Tree(x1, x2)))
4490_1_append_InvokeMethod(6162_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0, x1))), x2, java.lang.Object(LessLeavesRec.Tree(x0, NULL)), x1)
4490_1_append_InvokeMethod(9986_0_append_Return(java.lang.Object(LessLeavesRec.Tree(x0, java.lang.Object(LessLeavesRec.Tree(x1, x2))))), x3, java.lang.Object(LessLeavesRec.Tree(x0, java.lang.Object(LessLeavesRec.Tree(x1, x4)))), x5)
4490_1_append_InvokeMethod(4219_0_append_Return(x0), x1, NULL, x0)

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

### (41) DependencyGraphProof (EQUIVALENT transformation)

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

### (43) Obligation:

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

The following domains are used:

Integer

The ITRS R consists of the following rules:
18104_0_createNode_New20161_0_createNode_InvokeMethod
18104_0_createNode_New19939_0_createNode_InvokeMethod
18104_0_createNode_New20077_0_createNode_InvokeMethod
18104_0_createNode_New19972_0_createNode_InvokeMethod
16685_0_createTree_LE(0) → 16708_0_createTree_Return
18104_0_createNode_New2339_1_createNode_InvokeMethod
18104_1_createTree_InvokeMethod(3580_0_createNode_InvokeMethod, x0) → 18394_0_createTree_InvokeMethod(x0)
18104_1_createTree_InvokeMethod(3636_0_createNode_InvokeMethod, x0) → 18394_0_createTree_InvokeMethod(x0)
18104_1_createTree_InvokeMethod(3580_0_createNode_InvokeMethod, x0) → 17926_0_createTree_InvokeMethod(x0)
18104_1_createTree_InvokeMethod(3636_0_createNode_InvokeMethod, x0) → 17926_0_createTree_InvokeMethod(x0)
18104_1_createTree_InvokeMethod(3580_0_createNode_InvokeMethod, x0) → 18223_0_createTree_InvokeMethod(x0)
18104_1_createTree_InvokeMethod(3636_0_createNode_InvokeMethod, x0) → 18223_0_createTree_InvokeMethod(x0)
18104_1_createTree_InvokeMethod(3580_0_createNode_InvokeMethod, x0) → 17975_0_createTree_InvokeMethod(x0)
18104_1_createTree_InvokeMethod(3636_0_createNode_InvokeMethod, x0) → 17975_0_createTree_InvokeMethod(x0)
18104_1_createTree_InvokeMethod(3636_0_createNode_InvokeMethod, x0) → 20333_0_createTree_InvokeMethod(x0)
18104_1_createTree_InvokeMethod(3636_0_createNode_InvokeMethod, x0) → 20055_0_createTree_InvokeMethod(x0)
18104_1_createTree_InvokeMethod(3636_0_createNode_InvokeMethod, x0) → 20208_0_createTree_InvokeMethod(x0)
18104_1_createTree_InvokeMethod(3636_0_createNode_InvokeMethod, x0) → 20098_0_createTree_InvokeMethod(x0)
2339_1_createNode_InvokeMethod2562_0_createNode_Return
2339_1_createNode_InvokeMethod3580_0_createNode_InvokeMethod
2339_1_createNode_InvokeMethod3636_0_createNode_InvokeMethod
2339_1_createNode_InvokeMethod3247_0_createNode_Return

The integer pair graph contains the following rules and edges:
(0): 18104_1_CREATETREE_INVOKEMETHOD(2562_0_createNode_Return, x0[0]) → COND_18104_1_CREATETREE_INVOKEMETHOD(x0[0] > 0, 2562_0_createNode_Return, x0[0])
(1): COND_18104_1_CREATETREE_INVOKEMETHOD(TRUE, 2562_0_createNode_Return, x0[1]) → 16685_0_CREATETREE_LE(x0[1] + -1)
(2): 18104_1_CREATETREE_INVOKEMETHOD(3247_0_createNode_Return, x0[2]) → COND_18104_1_CREATETREE_INVOKEMETHOD1(x0[2] > 0, 3247_0_createNode_Return, x0[2])
(3): COND_18104_1_CREATETREE_INVOKEMETHOD1(TRUE, 3247_0_createNode_Return, x0[3]) → 16685_0_CREATETREE_LE(x0[3] + -1)
(4): 16685_0_CREATETREE_LE(x0[4]) → COND_16685_0_CREATETREE_LE(x0[4] > 0, x0[4])
(5): COND_16685_0_CREATETREE_LE(TRUE, x0[5]) → 16685_0_CREATETREE_LE(x0[5] + -1)
(6): 16685_0_CREATETREE_LE(x0[6]) → COND_16685_0_CREATETREE_LE1(x0[6] > 0, x0[6])
(7): COND_16685_0_CREATETREE_LE1(TRUE, x0[7]) → 18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0[7])
(8): 16685_0_CREATETREE_LE(x0[8]) → COND_16685_0_CREATETREE_LE2(x0[8] > 0, x0[8])
(9): COND_16685_0_CREATETREE_LE2(TRUE, x0[9]) → 18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0[9])
(10): 16685_0_CREATETREE_LE(x0[10]) → COND_16685_0_CREATETREE_LE3(x0[10] > 0, x0[10])
(11): COND_16685_0_CREATETREE_LE3(TRUE, x0[11]) → 18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0[11])
(12): 16685_0_CREATETREE_LE(x0[12]) → COND_16685_0_CREATETREE_LE4(x0[12] > 0, x0[12])
(13): COND_16685_0_CREATETREE_LE4(TRUE, x0[13]) → 18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0[13])
(14): 16685_0_CREATETREE_LE(x0[14]) → COND_16685_0_CREATETREE_LE5(x0[14] > 0, x0[14])
(15): COND_16685_0_CREATETREE_LE5(TRUE, x0[15]) → 18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0[15])
(16): 16685_0_CREATETREE_LE(x0[16]) → COND_16685_0_CREATETREE_LE6(x0[16] > 0, x0[16])
(17): COND_16685_0_CREATETREE_LE6(TRUE, x0[17]) → 18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0[17])
(18): 16685_0_CREATETREE_LE(x0[18]) → COND_16685_0_CREATETREE_LE7(x0[18] > 0, x0[18])
(19): COND_16685_0_CREATETREE_LE7(TRUE, x0[19]) → 18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0[19])
(20): 16685_0_CREATETREE_LE(x0[20]) → COND_16685_0_CREATETREE_LE8(x0[20] > 0, x0[20])
(21): COND_16685_0_CREATETREE_LE8(TRUE, x0[21]) → 18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0[21])

(0) -> (1), if ((x0[0] > 0* TRUE)∧(x0[0]* x0[1]))

(1) -> (4), if ((x0[1] + -1* x0[4]))

(1) -> (6), if ((x0[1] + -1* x0[6]))

(1) -> (8), if ((x0[1] + -1* x0[8]))

(1) -> (10), if ((x0[1] + -1* x0[10]))

(1) -> (12), if ((x0[1] + -1* x0[12]))

(1) -> (14), if ((x0[1] + -1* x0[14]))

(1) -> (16), if ((x0[1] + -1* x0[16]))

(1) -> (18), if ((x0[1] + -1* x0[18]))

(1) -> (20), if ((x0[1] + -1* x0[20]))

(2) -> (3), if ((x0[2] > 0* TRUE)∧(x0[2]* x0[3]))

(3) -> (4), if ((x0[3] + -1* x0[4]))

(3) -> (6), if ((x0[3] + -1* x0[6]))

(3) -> (8), if ((x0[3] + -1* x0[8]))

(3) -> (10), if ((x0[3] + -1* x0[10]))

(3) -> (12), if ((x0[3] + -1* x0[12]))

(3) -> (14), if ((x0[3] + -1* x0[14]))

(3) -> (16), if ((x0[3] + -1* x0[16]))

(3) -> (18), if ((x0[3] + -1* x0[18]))

(3) -> (20), if ((x0[3] + -1* x0[20]))

(4) -> (5), if ((x0[4] > 0* TRUE)∧(x0[4]* x0[5]))

(5) -> (4), if ((x0[5] + -1* x0[4]))

(5) -> (6), if ((x0[5] + -1* x0[6]))

(5) -> (8), if ((x0[5] + -1* x0[8]))

(5) -> (10), if ((x0[5] + -1* x0[10]))

(5) -> (12), if ((x0[5] + -1* x0[12]))

(5) -> (14), if ((x0[5] + -1* x0[14]))

(5) -> (16), if ((x0[5] + -1* x0[16]))

(5) -> (18), if ((x0[5] + -1* x0[18]))

(5) -> (20), if ((x0[5] + -1* x0[20]))

(6) -> (7), if ((x0[6] > 0* TRUE)∧(x0[6]* x0[7]))

(7) -> (0), if ((18104_0_createNode_New* 2562_0_createNode_Return)∧(x0[7]* x0[0]))

(7) -> (2), if ((18104_0_createNode_New* 3247_0_createNode_Return)∧(x0[7]* x0[2]))

(8) -> (9), if ((x0[8] > 0* TRUE)∧(x0[8]* x0[9]))

(9) -> (0), if ((18104_0_createNode_New* 2562_0_createNode_Return)∧(x0[9]* x0[0]))

(9) -> (2), if ((18104_0_createNode_New* 3247_0_createNode_Return)∧(x0[9]* x0[2]))

(10) -> (11), if ((x0[10] > 0* TRUE)∧(x0[10]* x0[11]))

(11) -> (0), if ((18104_0_createNode_New* 2562_0_createNode_Return)∧(x0[11]* x0[0]))

(11) -> (2), if ((18104_0_createNode_New* 3247_0_createNode_Return)∧(x0[11]* x0[2]))

(12) -> (13), if ((x0[12] > 0* TRUE)∧(x0[12]* x0[13]))

(13) -> (0), if ((18104_0_createNode_New* 2562_0_createNode_Return)∧(x0[13]* x0[0]))

(13) -> (2), if ((18104_0_createNode_New* 3247_0_createNode_Return)∧(x0[13]* x0[2]))

(14) -> (15), if ((x0[14] > 0* TRUE)∧(x0[14]* x0[15]))

(15) -> (0), if ((18104_0_createNode_New* 2562_0_createNode_Return)∧(x0[15]* x0[0]))

(15) -> (2), if ((18104_0_createNode_New* 3247_0_createNode_Return)∧(x0[15]* x0[2]))

(16) -> (17), if ((x0[16] > 0* TRUE)∧(x0[16]* x0[17]))

(17) -> (0), if ((18104_0_createNode_New* 2562_0_createNode_Return)∧(x0[17]* x0[0]))

(17) -> (2), if ((18104_0_createNode_New* 3247_0_createNode_Return)∧(x0[17]* x0[2]))

(18) -> (19), if ((x0[18] > 0* TRUE)∧(x0[18]* x0[19]))

(19) -> (0), if ((18104_0_createNode_New* 2562_0_createNode_Return)∧(x0[19]* x0[0]))

(19) -> (2), if ((18104_0_createNode_New* 3247_0_createNode_Return)∧(x0[19]* x0[2]))

(20) -> (21), if ((x0[20] > 0* TRUE)∧(x0[20]* x0[21]))

(21) -> (0), if ((18104_0_createNode_New* 2562_0_createNode_Return)∧(x0[21]* x0[0]))

(21) -> (2), if ((18104_0_createNode_New* 3247_0_createNode_Return)∧(x0[21]* x0[2]))

The set Q consists of the following terms:
18104_0_createNode_New
16685_0_createTree_LE(0)
18104_1_createTree_InvokeMethod(3580_0_createNode_InvokeMethod, x0)
18104_1_createTree_InvokeMethod(3636_0_createNode_InvokeMethod, x0)
2339_1_createNode_InvokeMethod

### (44) 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 18104_1_CREATETREE_INVOKEMETHOD(2562_0_createNode_Return, x0) → COND_18104_1_CREATETREE_INVOKEMETHOD(>(x0, 0), 2562_0_createNode_Return, x0) the following chains were created:
• We consider the chain 18104_1_CREATETREE_INVOKEMETHOD(2562_0_createNode_Return, x0[0]) → COND_18104_1_CREATETREE_INVOKEMETHOD(>(x0[0], 0), 2562_0_createNode_Return, x0[0]), COND_18104_1_CREATETREE_INVOKEMETHOD(TRUE, 2562_0_createNode_Return, x0[1]) → 16685_0_CREATETREE_LE(+(x0[1], -1)) which results in the following constraint:

(1)    (>(x0[0], 0)=TRUEx0[0]=x0[1]18104_1_CREATETREE_INVOKEMETHOD(2562_0_createNode_Return, x0[0])≥NonInfC∧18104_1_CREATETREE_INVOKEMETHOD(2562_0_createNode_Return, x0[0])≥COND_18104_1_CREATETREE_INVOKEMETHOD(>(x0[0], 0), 2562_0_createNode_Return, x0[0])∧(UIncreasing(COND_18104_1_CREATETREE_INVOKEMETHOD(>(x0[0], 0), 2562_0_createNode_Return, x0[0])), ≥))

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

(2)    (>(x0[0], 0)=TRUE18104_1_CREATETREE_INVOKEMETHOD(2562_0_createNode_Return, x0[0])≥NonInfC∧18104_1_CREATETREE_INVOKEMETHOD(2562_0_createNode_Return, x0[0])≥COND_18104_1_CREATETREE_INVOKEMETHOD(>(x0[0], 0), 2562_0_createNode_Return, x0[0])∧(UIncreasing(COND_18104_1_CREATETREE_INVOKEMETHOD(>(x0[0], 0), 2562_0_createNode_Return, x0[0])), ≥))

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

(3)    (x0[0] + [-1] ≥ 0 ⇒ (UIncreasing(COND_18104_1_CREATETREE_INVOKEMETHOD(>(x0[0], 0), 2562_0_createNode_Return, x0[0])), ≥)∧[(-1)bni_51 + (-1)Bound*bni_51] + [(2)bni_51]x0[0] ≥ 0∧[(-1)bso_52] ≥ 0)

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

(4)    (x0[0] + [-1] ≥ 0 ⇒ (UIncreasing(COND_18104_1_CREATETREE_INVOKEMETHOD(>(x0[0], 0), 2562_0_createNode_Return, x0[0])), ≥)∧[(-1)bni_51 + (-1)Bound*bni_51] + [(2)bni_51]x0[0] ≥ 0∧[(-1)bso_52] ≥ 0)

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

(5)    (x0[0] + [-1] ≥ 0 ⇒ (UIncreasing(COND_18104_1_CREATETREE_INVOKEMETHOD(>(x0[0], 0), 2562_0_createNode_Return, x0[0])), ≥)∧[(-1)bni_51 + (-1)Bound*bni_51] + [(2)bni_51]x0[0] ≥ 0∧[(-1)bso_52] ≥ 0)

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

(6)    (x0[0] ≥ 0 ⇒ (UIncreasing(COND_18104_1_CREATETREE_INVOKEMETHOD(>(x0[0], 0), 2562_0_createNode_Return, x0[0])), ≥)∧[bni_51 + (-1)Bound*bni_51] + [(2)bni_51]x0[0] ≥ 0∧[(-1)bso_52] ≥ 0)

For Pair COND_18104_1_CREATETREE_INVOKEMETHOD(TRUE, 2562_0_createNode_Return, x0) → 16685_0_CREATETREE_LE(+(x0, -1)) the following chains were created:
• We consider the chain COND_18104_1_CREATETREE_INVOKEMETHOD(TRUE, 2562_0_createNode_Return, x0[1]) → 16685_0_CREATETREE_LE(+(x0[1], -1)) which results in the following constraint:

(7)    (COND_18104_1_CREATETREE_INVOKEMETHOD(TRUE, 2562_0_createNode_Return, x0[1])≥NonInfC∧COND_18104_1_CREATETREE_INVOKEMETHOD(TRUE, 2562_0_createNode_Return, x0[1])≥16685_0_CREATETREE_LE(+(x0[1], -1))∧(UIncreasing(16685_0_CREATETREE_LE(+(x0[1], -1))), ≥))

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

(8)    ((UIncreasing(16685_0_CREATETREE_LE(+(x0[1], -1))), ≥)∧[1 + (-1)bso_54] ≥ 0)

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

(9)    ((UIncreasing(16685_0_CREATETREE_LE(+(x0[1], -1))), ≥)∧[1 + (-1)bso_54] ≥ 0)

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

(10)    ((UIncreasing(16685_0_CREATETREE_LE(+(x0[1], -1))), ≥)∧[1 + (-1)bso_54] ≥ 0)

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

(11)    ((UIncreasing(16685_0_CREATETREE_LE(+(x0[1], -1))), ≥)∧0 = 0∧[1 + (-1)bso_54] ≥ 0)

For Pair 18104_1_CREATETREE_INVOKEMETHOD(3247_0_createNode_Return, x0) → COND_18104_1_CREATETREE_INVOKEMETHOD1(>(x0, 0), 3247_0_createNode_Return, x0) the following chains were created:
• We consider the chain 18104_1_CREATETREE_INVOKEMETHOD(3247_0_createNode_Return, x0[2]) → COND_18104_1_CREATETREE_INVOKEMETHOD1(>(x0[2], 0), 3247_0_createNode_Return, x0[2]), COND_18104_1_CREATETREE_INVOKEMETHOD1(TRUE, 3247_0_createNode_Return, x0[3]) → 16685_0_CREATETREE_LE(+(x0[3], -1)) which results in the following constraint:

(12)    (>(x0[2], 0)=TRUEx0[2]=x0[3]18104_1_CREATETREE_INVOKEMETHOD(3247_0_createNode_Return, x0[2])≥NonInfC∧18104_1_CREATETREE_INVOKEMETHOD(3247_0_createNode_Return, x0[2])≥COND_18104_1_CREATETREE_INVOKEMETHOD1(>(x0[2], 0), 3247_0_createNode_Return, x0[2])∧(UIncreasing(COND_18104_1_CREATETREE_INVOKEMETHOD1(>(x0[2], 0), 3247_0_createNode_Return, x0[2])), ≥))

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

(13)    (>(x0[2], 0)=TRUE18104_1_CREATETREE_INVOKEMETHOD(3247_0_createNode_Return, x0[2])≥NonInfC∧18104_1_CREATETREE_INVOKEMETHOD(3247_0_createNode_Return, x0[2])≥COND_18104_1_CREATETREE_INVOKEMETHOD1(>(x0[2], 0), 3247_0_createNode_Return, x0[2])∧(UIncreasing(COND_18104_1_CREATETREE_INVOKEMETHOD1(>(x0[2], 0), 3247_0_createNode_Return, x0[2])), ≥))

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

(14)    (x0[2] + [-1] ≥ 0 ⇒ (UIncreasing(COND_18104_1_CREATETREE_INVOKEMETHOD1(>(x0[2], 0), 3247_0_createNode_Return, x0[2])), ≥)∧[(-1)bni_55 + (-1)Bound*bni_55] + [(2)bni_55]x0[2] ≥ 0∧[(-1)bso_56] ≥ 0)

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

(15)    (x0[2] + [-1] ≥ 0 ⇒ (UIncreasing(COND_18104_1_CREATETREE_INVOKEMETHOD1(>(x0[2], 0), 3247_0_createNode_Return, x0[2])), ≥)∧[(-1)bni_55 + (-1)Bound*bni_55] + [(2)bni_55]x0[2] ≥ 0∧[(-1)bso_56] ≥ 0)

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

(16)    (x0[2] + [-1] ≥ 0 ⇒ (UIncreasing(COND_18104_1_CREATETREE_INVOKEMETHOD1(>(x0[2], 0), 3247_0_createNode_Return, x0[2])), ≥)∧[(-1)bni_55 + (-1)Bound*bni_55] + [(2)bni_55]x0[2] ≥ 0∧[(-1)bso_56] ≥ 0)

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

(17)    (x0[2] ≥ 0 ⇒ (UIncreasing(COND_18104_1_CREATETREE_INVOKEMETHOD1(>(x0[2], 0), 3247_0_createNode_Return, x0[2])), ≥)∧[bni_55 + (-1)Bound*bni_55] + [(2)bni_55]x0[2] ≥ 0∧[(-1)bso_56] ≥ 0)

For Pair COND_18104_1_CREATETREE_INVOKEMETHOD1(TRUE, 3247_0_createNode_Return, x0) → 16685_0_CREATETREE_LE(+(x0, -1)) the following chains were created:
• We consider the chain COND_18104_1_CREATETREE_INVOKEMETHOD1(TRUE, 3247_0_createNode_Return, x0[3]) → 16685_0_CREATETREE_LE(+(x0[3], -1)) which results in the following constraint:

(18)    (COND_18104_1_CREATETREE_INVOKEMETHOD1(TRUE, 3247_0_createNode_Return, x0[3])≥NonInfC∧COND_18104_1_CREATETREE_INVOKEMETHOD1(TRUE, 3247_0_createNode_Return, x0[3])≥16685_0_CREATETREE_LE(+(x0[3], -1))∧(UIncreasing(16685_0_CREATETREE_LE(+(x0[3], -1))), ≥))

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

(19)    ((UIncreasing(16685_0_CREATETREE_LE(+(x0[3], -1))), ≥)∧[1 + (-1)bso_58] ≥ 0)

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

(20)    ((UIncreasing(16685_0_CREATETREE_LE(+(x0[3], -1))), ≥)∧[1 + (-1)bso_58] ≥ 0)

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

(21)    ((UIncreasing(16685_0_CREATETREE_LE(+(x0[3], -1))), ≥)∧[1 + (-1)bso_58] ≥ 0)

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

(22)    ((UIncreasing(16685_0_CREATETREE_LE(+(x0[3], -1))), ≥)∧0 = 0∧[1 + (-1)bso_58] ≥ 0)

For Pair 16685_0_CREATETREE_LE(x0) → COND_16685_0_CREATETREE_LE(>(x0, 0), x0) the following chains were created:
• We consider the chain 16685_0_CREATETREE_LE(x0[4]) → COND_16685_0_CREATETREE_LE(>(x0[4], 0), x0[4]), COND_16685_0_CREATETREE_LE(TRUE, x0[5]) → 16685_0_CREATETREE_LE(+(x0[5], -1)) which results in the following constraint:

(23)    (>(x0[4], 0)=TRUEx0[4]=x0[5]16685_0_CREATETREE_LE(x0[4])≥NonInfC∧16685_0_CREATETREE_LE(x0[4])≥COND_16685_0_CREATETREE_LE(>(x0[4], 0), x0[4])∧(UIncreasing(COND_16685_0_CREATETREE_LE(>(x0[4], 0), x0[4])), ≥))

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

(24)    (>(x0[4], 0)=TRUE16685_0_CREATETREE_LE(x0[4])≥NonInfC∧16685_0_CREATETREE_LE(x0[4])≥COND_16685_0_CREATETREE_LE(>(x0[4], 0), x0[4])∧(UIncreasing(COND_16685_0_CREATETREE_LE(>(x0[4], 0), x0[4])), ≥))

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

(25)    (x0[4] + [-1] ≥ 0 ⇒ (UIncreasing(COND_16685_0_CREATETREE_LE(>(x0[4], 0), x0[4])), ≥)∧[(-1)Bound*bni_59] + [(2)bni_59]x0[4] ≥ 0∧[1 + (-1)bso_60] ≥ 0)

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

(26)    (x0[4] + [-1] ≥ 0 ⇒ (UIncreasing(COND_16685_0_CREATETREE_LE(>(x0[4], 0), x0[4])), ≥)∧[(-1)Bound*bni_59] + [(2)bni_59]x0[4] ≥ 0∧[1 + (-1)bso_60] ≥ 0)

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

(27)    (x0[4] + [-1] ≥ 0 ⇒ (UIncreasing(COND_16685_0_CREATETREE_LE(>(x0[4], 0), x0[4])), ≥)∧[(-1)Bound*bni_59] + [(2)bni_59]x0[4] ≥ 0∧[1 + (-1)bso_60] ≥ 0)

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

(28)    (x0[4] ≥ 0 ⇒ (UIncreasing(COND_16685_0_CREATETREE_LE(>(x0[4], 0), x0[4])), ≥)∧[(-1)Bound*bni_59 + (2)bni_59] + [(2)bni_59]x0[4] ≥ 0∧[1 + (-1)bso_60] ≥ 0)

For Pair COND_16685_0_CREATETREE_LE(TRUE, x0) → 16685_0_CREATETREE_LE(+(x0, -1)) the following chains were created:
• We consider the chain COND_16685_0_CREATETREE_LE(TRUE, x0[5]) → 16685_0_CREATETREE_LE(+(x0[5], -1)) which results in the following constraint:

(29)    (COND_16685_0_CREATETREE_LE(TRUE, x0[5])≥NonInfC∧COND_16685_0_CREATETREE_LE(TRUE, x0[5])≥16685_0_CREATETREE_LE(+(x0[5], -1))∧(UIncreasing(16685_0_CREATETREE_LE(+(x0[5], -1))), ≥))

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

(30)    ((UIncreasing(16685_0_CREATETREE_LE(+(x0[5], -1))), ≥)∧[1 + (-1)bso_62] ≥ 0)

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

(31)    ((UIncreasing(16685_0_CREATETREE_LE(+(x0[5], -1))), ≥)∧[1 + (-1)bso_62] ≥ 0)

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

(32)    ((UIncreasing(16685_0_CREATETREE_LE(+(x0[5], -1))), ≥)∧[1 + (-1)bso_62] ≥ 0)

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

(33)    ((UIncreasing(16685_0_CREATETREE_LE(+(x0[5], -1))), ≥)∧0 = 0∧[1 + (-1)bso_62] ≥ 0)

For Pair 16685_0_CREATETREE_LE(x0) → COND_16685_0_CREATETREE_LE1(>(x0, 0), x0) the following chains were created:
• We consider the chain 16685_0_CREATETREE_LE(x0[6]) → COND_16685_0_CREATETREE_LE1(>(x0[6], 0), x0[6]), COND_16685_0_CREATETREE_LE1(TRUE, x0[7]) → 18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0[7]) which results in the following constraint:

(34)    (>(x0[6], 0)=TRUEx0[6]=x0[7]16685_0_CREATETREE_LE(x0[6])≥NonInfC∧16685_0_CREATETREE_LE(x0[6])≥COND_16685_0_CREATETREE_LE1(>(x0[6], 0), x0[6])∧(UIncreasing(COND_16685_0_CREATETREE_LE1(>(x0[6], 0), x0[6])), ≥))

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

(35)    (>(x0[6], 0)=TRUE16685_0_CREATETREE_LE(x0[6])≥NonInfC∧16685_0_CREATETREE_LE(x0[6])≥COND_16685_0_CREATETREE_LE1(>(x0[6], 0), x0[6])∧(UIncreasing(COND_16685_0_CREATETREE_LE1(>(x0[6], 0), x0[6])), ≥))

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

(36)    (x0[6] + [-1] ≥ 0 ⇒ (UIncreasing(COND_16685_0_CREATETREE_LE1(>(x0[6], 0), x0[6])), ≥)∧[(-1)Bound*bni_63] + [(2)bni_63]x0[6] ≥ 0∧[1 + (-1)bso_64] ≥ 0)

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

(37)    (x0[6] + [-1] ≥ 0 ⇒ (UIncreasing(COND_16685_0_CREATETREE_LE1(>(x0[6], 0), x0[6])), ≥)∧[(-1)Bound*bni_63] + [(2)bni_63]x0[6] ≥ 0∧[1 + (-1)bso_64] ≥ 0)

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

(38)    (x0[6] + [-1] ≥ 0 ⇒ (UIncreasing(COND_16685_0_CREATETREE_LE1(>(x0[6], 0), x0[6])), ≥)∧[(-1)Bound*bni_63] + [(2)bni_63]x0[6] ≥ 0∧[1 + (-1)bso_64] ≥ 0)

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

(39)    (x0[6] ≥ 0 ⇒ (UIncreasing(COND_16685_0_CREATETREE_LE1(>(x0[6], 0), x0[6])), ≥)∧[(-1)Bound*bni_63 + (2)bni_63] + [(2)bni_63]x0[6] ≥ 0∧[1 + (-1)bso_64] ≥ 0)

For Pair COND_16685_0_CREATETREE_LE1(TRUE, x0) → 18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0) the following chains were created:
• We consider the chain COND_16685_0_CREATETREE_LE1(TRUE, x0[7]) → 18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0[7]) which results in the following constraint:

(40)    (COND_16685_0_CREATETREE_LE1(TRUE, x0[7])≥NonInfC∧COND_16685_0_CREATETREE_LE1(TRUE, x0[7])≥18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0[7])∧(UIncreasing(18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0[7])), ≥))

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

(41)    ((UIncreasing(18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0[7])), ≥)∧[(-1)bso_66] ≥ 0)

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

(42)    ((UIncreasing(18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0[7])), ≥)∧[(-1)bso_66] ≥ 0)

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

(43)    ((UIncreasing(18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0[7])), ≥)∧[(-1)bso_66] ≥ 0)

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

(44)    ((UIncreasing(18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0[7])), ≥)∧0 = 0∧[(-1)bso_66] ≥ 0)

For Pair 16685_0_CREATETREE_LE(x0) → COND_16685_0_CREATETREE_LE2(>(x0, 0), x0) the following chains were created:
• We consider the chain 16685_0_CREATETREE_LE(x0[8]) → COND_16685_0_CREATETREE_LE2(>(x0[8], 0), x0[8]), COND_16685_0_CREATETREE_LE2(TRUE, x0[9]) → 18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0[9]) which results in the following constraint:

(45)    (>(x0[8], 0)=TRUEx0[8]=x0[9]16685_0_CREATETREE_LE(x0[8])≥NonInfC∧16685_0_CREATETREE_LE(x0[8])≥COND_16685_0_CREATETREE_LE2(>(x0[8], 0), x0[8])∧(UIncreasing(COND_16685_0_CREATETREE_LE2(>(x0[8], 0), x0[8])), ≥))

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

(46)    (>(x0[8], 0)=TRUE16685_0_CREATETREE_LE(x0[8])≥NonInfC∧16685_0_CREATETREE_LE(x0[8])≥COND_16685_0_CREATETREE_LE2(>(x0[8], 0), x0[8])∧(UIncreasing(COND_16685_0_CREATETREE_LE2(>(x0[8], 0), x0[8])), ≥))

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

(47)    (x0[8] + [-1] ≥ 0 ⇒ (UIncreasing(COND_16685_0_CREATETREE_LE2(>(x0[8], 0), x0[8])), ≥)∧[(-1)Bound*bni_67] + [(2)bni_67]x0[8] ≥ 0∧[(-1)bso_68] ≥ 0)

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

(48)    (x0[8] + [-1] ≥ 0 ⇒ (UIncreasing(COND_16685_0_CREATETREE_LE2(>(x0[8], 0), x0[8])), ≥)∧[(-1)Bound*bni_67] + [(2)bni_67]x0[8] ≥ 0∧[(-1)bso_68] ≥ 0)

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

(49)    (x0[8] + [-1] ≥ 0 ⇒ (UIncreasing(COND_16685_0_CREATETREE_LE2(>(x0[8], 0), x0[8])), ≥)∧[(-1)Bound*bni_67] + [(2)bni_67]x0[8] ≥ 0∧[(-1)bso_68] ≥ 0)

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

(50)    (x0[8] ≥ 0 ⇒ (UIncreasing(COND_16685_0_CREATETREE_LE2(>(x0[8], 0), x0[8])), ≥)∧[(-1)Bound*bni_67 + (2)bni_67] + [(2)bni_67]x0[8] ≥ 0∧[(-1)bso_68] ≥ 0)

For Pair COND_16685_0_CREATETREE_LE2(TRUE, x0) → 18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0) the following chains were created:
• We consider the chain COND_16685_0_CREATETREE_LE2(TRUE, x0[9]) → 18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0[9]) which results in the following constraint:

(51)    (COND_16685_0_CREATETREE_LE2(TRUE, x0[9])≥NonInfC∧COND_16685_0_CREATETREE_LE2(TRUE, x0[9])≥18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0[9])∧(UIncreasing(18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0[9])), ≥))

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

(52)    ((UIncreasing(18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0[9])), ≥)∧[1 + (-1)bso_70] ≥ 0)

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

(53)    ((UIncreasing(18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0[9])), ≥)∧[1 + (-1)bso_70] ≥ 0)

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

(54)    ((UIncreasing(18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0[9])), ≥)∧[1 + (-1)bso_70] ≥ 0)

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

(55)    ((UIncreasing(18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0[9])), ≥)∧0 = 0∧[1 + (-1)bso_70] ≥ 0)

For Pair 16685_0_CREATETREE_LE(x0) → COND_16685_0_CREATETREE_LE3(>(x0, 0), x0) the following chains were created:
• We consider the chain 16685_0_CREATETREE_LE(x0[10]) → COND_16685_0_CREATETREE_LE3(>(x0[10], 0), x0[10]), COND_16685_0_CREATETREE_LE3(TRUE, x0[11]) → 18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0[11]) which results in the following constraint:

(56)    (>(x0[10], 0)=TRUEx0[10]=x0[11]16685_0_CREATETREE_LE(x0[10])≥NonInfC∧16685_0_CREATETREE_LE(x0[10])≥COND_16685_0_CREATETREE_LE3(>(x0[10], 0), x0[10])∧(UIncreasing(COND_16685_0_CREATETREE_LE3(>(x0[10], 0), x0[10])), ≥))

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

(57)    (>(x0[10], 0)=TRUE16685_0_CREATETREE_LE(x0[10])≥NonInfC∧16685_0_CREATETREE_LE(x0[10])≥COND_16685_0_CREATETREE_LE3(>(x0[10], 0), x0[10])∧(UIncreasing(COND_16685_0_CREATETREE_LE3(>(x0[10], 0), x0[10])), ≥))

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

(58)    (x0[10] + [-1] ≥ 0 ⇒ (UIncreasing(COND_16685_0_CREATETREE_LE3(>(x0[10], 0), x0[10])), ≥)∧[(-1)Bound*bni_71] + [(2)bni_71]x0[10] ≥ 0∧[1 + (-1)bso_72] ≥ 0)

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

(59)    (x0[10] + [-1] ≥ 0 ⇒ (UIncreasing(COND_16685_0_CREATETREE_LE3(>(x0[10], 0), x0[10])), ≥)∧[(-1)Bound*bni_71] + [(2)bni_71]x0[10] ≥ 0∧[1 + (-1)bso_72] ≥ 0)

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

(60)    (x0[10] + [-1] ≥ 0 ⇒ (UIncreasing(COND_16685_0_CREATETREE_LE3(>(x0[10], 0), x0[10])), ≥)∧[(-1)Bound*bni_71] + [(2)bni_71]x0[10] ≥ 0∧[1 + (-1)bso_72] ≥ 0)

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

(61)    (x0[10] ≥ 0 ⇒ (UIncreasing(COND_16685_0_CREATETREE_LE3(>(x0[10], 0), x0[10])), ≥)∧[(-1)Bound*bni_71 + (2)bni_71] + [(2)bni_71]x0[10] ≥ 0∧[1 + (-1)bso_72] ≥ 0)

For Pair COND_16685_0_CREATETREE_LE3(TRUE, x0) → 18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0) the following chains were created:
• We consider the chain COND_16685_0_CREATETREE_LE3(TRUE, x0[11]) → 18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0[11]) which results in the following constraint:

(62)    (COND_16685_0_CREATETREE_LE3(TRUE, x0[11])≥NonInfC∧COND_16685_0_CREATETREE_LE3(TRUE, x0[11])≥18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0[11])∧(UIncreasing(18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0[11])), ≥))

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

(63)    ((UIncreasing(18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0[11])), ≥)∧[(-1)bso_74] ≥ 0)

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

(64)    ((UIncreasing(18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0[11])), ≥)∧[(-1)bso_74] ≥ 0)

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

(65)    ((UIncreasing(18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0[11])), ≥)∧[(-1)bso_74] ≥ 0)

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

(66)    ((UIncreasing(18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0[11])), ≥)∧0 = 0∧[(-1)bso_74] ≥ 0)

For Pair 16685_0_CREATETREE_LE(x0) → COND_16685_0_CREATETREE_LE4(>(x0, 0), x0) the following chains were created:
• We consider the chain 16685_0_CREATETREE_LE(x0[12]) → COND_16685_0_CREATETREE_LE4(>(x0[12], 0), x0[12]), COND_16685_0_CREATETREE_LE4(TRUE, x0[13]) → 18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0[13]) which results in the following constraint:

(67)    (>(x0[12], 0)=TRUEx0[12]=x0[13]16685_0_CREATETREE_LE(x0[12])≥NonInfC∧16685_0_CREATETREE_LE(x0[12])≥COND_16685_0_CREATETREE_LE4(>(x0[12], 0), x0[12])∧(UIncreasing(COND_16685_0_CREATETREE_LE4(>(x0[12], 0), x0[12])), ≥))

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

(68)    (>(x0[12], 0)=TRUE16685_0_CREATETREE_LE(x0[12])≥NonInfC∧16685_0_CREATETREE_LE(x0[12])≥COND_16685_0_CREATETREE_LE4(>(x0[12], 0), x0[12])∧(UIncreasing(COND_16685_0_CREATETREE_LE4(>(x0[12], 0), x0[12])), ≥))

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

(69)    (x0[12] + [-1] ≥ 0 ⇒ (UIncreasing(COND_16685_0_CREATETREE_LE4(>(x0[12], 0), x0[12])), ≥)∧[(-1)Bound*bni_75] + [(2)bni_75]x0[12] ≥ 0∧[1 + (-1)bso_76] ≥ 0)

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

(70)    (x0[12] + [-1] ≥ 0 ⇒ (UIncreasing(COND_16685_0_CREATETREE_LE4(>(x0[12], 0), x0[12])), ≥)∧[(-1)Bound*bni_75] + [(2)bni_75]x0[12] ≥ 0∧[1 + (-1)bso_76] ≥ 0)

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

(71)    (x0[12] + [-1] ≥ 0 ⇒ (UIncreasing(COND_16685_0_CREATETREE_LE4(>(x0[12], 0), x0[12])), ≥)∧[(-1)Bound*bni_75] + [(2)bni_75]x0[12] ≥ 0∧[1 + (-1)bso_76] ≥ 0)

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

(72)    (x0[12] ≥ 0 ⇒ (UIncreasing(COND_16685_0_CREATETREE_LE4(>(x0[12], 0), x0[12])), ≥)∧[(-1)Bound*bni_75 + (2)bni_75] + [(2)bni_75]x0[12] ≥ 0∧[1 + (-1)bso_76] ≥ 0)

For Pair COND_16685_0_CREATETREE_LE4(TRUE, x0) → 18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0) the following chains were created:
• We consider the chain COND_16685_0_CREATETREE_LE4(TRUE, x0[13]) → 18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0[13]) which results in the following constraint:

(73)    (COND_16685_0_CREATETREE_LE4(TRUE, x0[13])≥NonInfC∧COND_16685_0_CREATETREE_LE4(TRUE, x0[13])≥18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0[13])∧(UIncreasing(18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0[13])), ≥))

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

(74)    ((UIncreasing(18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0[13])), ≥)∧[(-1)bso_78] ≥ 0)

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

(75)    ((UIncreasing(18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0[13])), ≥)∧[(-1)bso_78] ≥ 0)

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

(76)    ((UIncreasing(18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0[13])), ≥)∧[(-1)bso_78] ≥ 0)

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

(77)    ((UIncreasing(18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0[13])), ≥)∧0 = 0∧[(-1)bso_78] ≥ 0)

For Pair 16685_0_CREATETREE_LE(x0) → COND_16685_0_CREATETREE_LE5(>(x0, 0), x0) the following chains were created:
• We consider the chain 16685_0_CREATETREE_LE(x0[14]) → COND_16685_0_CREATETREE_LE5(>(x0[14], 0), x0[14]), COND_16685_0_CREATETREE_LE5(TRUE, x0[15]) → 18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0[15]) which results in the following constraint:

(78)    (>(x0[14], 0)=TRUEx0[14]=x0[15]16685_0_CREATETREE_LE(x0[14])≥NonInfC∧16685_0_CREATETREE_LE(x0[14])≥COND_16685_0_CREATETREE_LE5(>(x0[14], 0), x0[14])∧(UIncreasing(COND_16685_0_CREATETREE_LE5(>(x0[14], 0), x0[14])), ≥))

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

(79)    (>(x0[14], 0)=TRUE16685_0_CREATETREE_LE(x0[14])≥NonInfC∧16685_0_CREATETREE_LE(x0[14])≥COND_16685_0_CREATETREE_LE5(>(x0[14], 0), x0[14])∧(UIncreasing(COND_16685_0_CREATETREE_LE5(>(x0[14], 0), x0[14])), ≥))

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

(80)    (x0[14] + [-1] ≥ 0 ⇒ (UIncreasing(COND_16685_0_CREATETREE_LE5(>(x0[14], 0), x0[14])), ≥)∧[(-1)Bound*bni_79] + [(2)bni_79]x0[14] ≥ 0∧[1 + (-1)bso_80] ≥ 0)

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

(81)    (x0[14] + [-1] ≥ 0 ⇒ (UIncreasing(COND_16685_0_CREATETREE_LE5(>(x0[14], 0), x0[14])), ≥)∧[(-1)Bound*bni_79] + [(2)bni_79]x0[14] ≥ 0∧[1 + (-1)bso_80] ≥ 0)

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

(82)    (x0[14] + [-1] ≥ 0 ⇒ (UIncreasing(COND_16685_0_CREATETREE_LE5(>(x0[14], 0), x0[14])), ≥)∧[(-1)Bound*bni_79] + [(2)bni_79]x0[14] ≥ 0∧[1 + (-1)bso_80] ≥ 0)

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

(83)    (x0[14] ≥ 0 ⇒ (UIncreasing(COND_16685_0_CREATETREE_LE5(>(x0[14], 0), x0[14])), ≥)∧[(-1)Bound*bni_79 + (2)bni_79] + [(2)bni_79]x0[14] ≥ 0∧[1 + (-1)bso_80] ≥ 0)

For Pair COND_16685_0_CREATETREE_LE5(TRUE, x0) → 18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0) the following chains were created:
• We consider the chain COND_16685_0_CREATETREE_LE5(TRUE, x0[15]) → 18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0[15]) which results in the following constraint:

(84)    (COND_16685_0_CREATETREE_LE5(TRUE, x0[15])≥NonInfC∧COND_16685_0_CREATETREE_LE5(TRUE, x0[15])≥18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0[15])∧(UIncreasing(18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0[15])), ≥))

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

(85)    ((UIncreasing(18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0[15])), ≥)∧[(-1)bso_82] ≥ 0)

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

(86)    ((UIncreasing(18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0[15])), ≥)∧[(-1)bso_82] ≥ 0)

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

(87)    ((UIncreasing(18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0[15])), ≥)∧[(-1)bso_82] ≥ 0)

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

(88)    ((UIncreasing(18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0[15])), ≥)∧0 = 0∧[(-1)bso_82] ≥ 0)

For Pair 16685_0_CREATETREE_LE(x0) → COND_16685_0_CREATETREE_LE6(>(x0, 0), x0) the following chains were created:
• We consider the chain 16685_0_CREATETREE_LE(x0[16]) → COND_16685_0_CREATETREE_LE6(>(x0[16], 0), x0[16]), COND_16685_0_CREATETREE_LE6(TRUE, x0[17]) → 18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0[17]) which results in the following constraint:

(89)    (>(x0[16], 0)=TRUEx0[16]=x0[17]16685_0_CREATETREE_LE(x0[16])≥NonInfC∧16685_0_CREATETREE_LE(x0[16])≥COND_16685_0_CREATETREE_LE6(>(x0[16], 0), x0[16])∧(UIncreasing(COND_16685_0_CREATETREE_LE6(>(x0[16], 0), x0[16])), ≥))

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

(90)    (>(x0[16], 0)=TRUE16685_0_CREATETREE_LE(x0[16])≥NonInfC∧16685_0_CREATETREE_LE(x0[16])≥COND_16685_0_CREATETREE_LE6(>(x0[16], 0), x0[16])∧(UIncreasing(COND_16685_0_CREATETREE_LE6(>(x0[16], 0), x0[16])), ≥))

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

(91)    (x0[16] + [-1] ≥ 0 ⇒ (UIncreasing(COND_16685_0_CREATETREE_LE6(>(x0[16], 0), x0[16])), ≥)∧[(-1)Bound*bni_83] + [(2)bni_83]x0[16] ≥ 0∧[1 + (-1)bso_84] ≥ 0)

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

(92)    (x0[16] + [-1] ≥ 0 ⇒ (UIncreasing(COND_16685_0_CREATETREE_LE6(>(x0[16], 0), x0[16])), ≥)∧[(-1)Bound*bni_83] + [(2)bni_83]x0[16] ≥ 0∧[1 + (-1)bso_84] ≥ 0)

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

(93)    (x0[16] + [-1] ≥ 0 ⇒ (UIncreasing(COND_16685_0_CREATETREE_LE6(>(x0[16], 0), x0[16])), ≥)∧[(-1)Bound*bni_83] + [(2)bni_83]x0[16] ≥ 0∧[1 + (-1)bso_84] ≥ 0)

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

(94)    (x0[16] ≥ 0 ⇒ (UIncreasing(COND_16685_0_CREATETREE_LE6(>(x0[16], 0), x0[16])), ≥)∧[(-1)Bound*bni_83 + (2)bni_83] + [(2)bni_83]x0[16] ≥ 0∧[1 + (-1)bso_84] ≥ 0)

For Pair COND_16685_0_CREATETREE_LE6(TRUE, x0) → 18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0) the following chains were created:
• We consider the chain COND_16685_0_CREATETREE_LE6(TRUE, x0[17]) → 18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0[17]) which results in the following constraint:

(95)    (COND_16685_0_CREATETREE_LE6(TRUE, x0[17])≥NonInfC∧COND_16685_0_CREATETREE_LE6(TRUE, x0[17])≥18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0[17])∧(UIncreasing(18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0[17])), ≥))

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

(96)    ((UIncreasing(18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0[17])), ≥)∧[(-1)bso_86] ≥ 0)

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

(97)    ((UIncreasing(18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0[17])), ≥)∧[(-1)bso_86] ≥ 0)

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

(98)    ((UIncreasing(18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0[17])), ≥)∧[(-1)bso_86] ≥ 0)

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

(99)    ((UIncreasing(18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0[17])), ≥)∧0 = 0∧[(-1)bso_86] ≥ 0)

For Pair 16685_0_CREATETREE_LE(x0) → COND_16685_0_CREATETREE_LE7(>(x0, 0), x0) the following chains were created:
• We consider the chain 16685_0_CREATETREE_LE(x0[18]) → COND_16685_0_CREATETREE_LE7(>(x0[18], 0), x0[18]), COND_16685_0_CREATETREE_LE7(TRUE, x0[19]) → 18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0[19]) which results in the following constraint:

(100)    (>(x0[18], 0)=TRUEx0[18]=x0[19]16685_0_CREATETREE_LE(x0[18])≥NonInfC∧16685_0_CREATETREE_LE(x0[18])≥COND_16685_0_CREATETREE_LE7(>(x0[18], 0), x0[18])∧(UIncreasing(COND_16685_0_CREATETREE_LE7(>(x0[18], 0), x0[18])), ≥))

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

(101)    (>(x0[18], 0)=TRUE16685_0_CREATETREE_LE(x0[18])≥NonInfC∧16685_0_CREATETREE_LE(x0[18])≥COND_16685_0_CREATETREE_LE7(>(x0[18], 0), x0[18])∧(UIncreasing(COND_16685_0_CREATETREE_LE7(>(x0[18], 0), x0[18])), ≥))

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

(102)    (x0[18] + [-1] ≥ 0 ⇒ (UIncreasing(COND_16685_0_CREATETREE_LE7(>(x0[18], 0), x0[18])), ≥)∧[(-1)Bound*bni_87] + [(2)bni_87]x0[18] ≥ 0∧[(-1)bso_88] ≥ 0)

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

(103)    (x0[18] + [-1] ≥ 0 ⇒ (UIncreasing(COND_16685_0_CREATETREE_LE7(>(x0[18], 0), x0[18])), ≥)∧[(-1)Bound*bni_87] + [(2)bni_87]x0[18] ≥ 0∧[(-1)bso_88] ≥ 0)

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

(104)    (x0[18] + [-1] ≥ 0 ⇒ (UIncreasing(COND_16685_0_CREATETREE_LE7(>(x0[18], 0), x0[18])), ≥)∧[(-1)Bound*bni_87] + [(2)bni_87]x0[18] ≥ 0∧[(-1)bso_88] ≥ 0)

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

(105)    (x0[18] ≥ 0 ⇒ (UIncreasing(COND_16685_0_CREATETREE_LE7(>(x0[18], 0), x0[18])), ≥)∧[(-1)Bound*bni_87 + (2)bni_87] + [(2)bni_87]x0[18] ≥ 0∧[(-1)bso_88] ≥ 0)

For Pair COND_16685_0_CREATETREE_LE7(TRUE, x0) → 18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0) the following chains were created:
• We consider the chain COND_16685_0_CREATETREE_LE7(TRUE, x0[19]) → 18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0[19]) which results in the following constraint:

(106)    (COND_16685_0_CREATETREE_LE7(TRUE, x0[19])≥NonInfC∧COND_16685_0_CREATETREE_LE7(TRUE, x0[19])≥18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0[19])∧(UIncreasing(18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0[19])), ≥))

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

(107)    ((UIncreasing(18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0[19])), ≥)∧[1 + (-1)bso_90] ≥ 0)

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

(108)    ((UIncreasing(18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0[19])), ≥)∧[1 + (-1)bso_90] ≥ 0)

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

(109)    ((UIncreasing(18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0[19])), ≥)∧[1 + (-1)bso_90] ≥ 0)

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

(110)    ((UIncreasing(18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0[19])), ≥)∧0 = 0∧[1 + (-1)bso_90] ≥ 0)

For Pair 16685_0_CREATETREE_LE(x0) → COND_16685_0_CREATETREE_LE8(>(x0, 0), x0) the following chains were created:
• We consider the chain 16685_0_CREATETREE_LE(x0[20]) → COND_16685_0_CREATETREE_LE8(>(x0[20], 0), x0[20]), COND_16685_0_CREATETREE_LE8(TRUE, x0[21]) → 18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0[21]) which results in the following constraint:

(111)    (>(x0[20], 0)=TRUEx0[20]=x0[21]16685_0_CREATETREE_LE(x0[20])≥NonInfC∧16685_0_CREATETREE_LE(x0[20])≥COND_16685_0_CREATETREE_LE8(>(x0[20], 0), x0[20])∧(UIncreasing(COND_16685_0_CREATETREE_LE8(>(x0[20], 0), x0[20])), ≥))

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

(112)    (>(x0[20], 0)=TRUE16685_0_CREATETREE_LE(x0[20])≥NonInfC∧16685_0_CREATETREE_LE(x0[20])≥COND_16685_0_CREATETREE_LE8(>(x0[20], 0), x0[20])∧(UIncreasing(COND_16685_0_CREATETREE_LE8(>(x0[20], 0), x0[20])), ≥))

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

(113)    (x0[20] + [-1] ≥ 0 ⇒ (UIncreasing(COND_16685_0_CREATETREE_LE8(>(x0[20], 0), x0[20])), ≥)∧[(-1)Bound*bni_91] + [(2)bni_91]x0[20] ≥ 0∧[1 + (-1)bso_92] ≥ 0)

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

(114)    (x0[20] + [-1] ≥ 0 ⇒ (UIncreasing(COND_16685_0_CREATETREE_LE8(>(x0[20], 0), x0[20])), ≥)∧[(-1)Bound*bni_91] + [(2)bni_91]x0[20] ≥ 0∧[1 + (-1)bso_92] ≥ 0)

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

(115)    (x0[20] + [-1] ≥ 0 ⇒ (UIncreasing(COND_16685_0_CREATETREE_LE8(>(x0[20], 0), x0[20])), ≥)∧[(-1)Bound*bni_91] + [(2)bni_91]x0[20] ≥ 0∧[1 + (-1)bso_92] ≥ 0)

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

(116)    (x0[20] ≥ 0 ⇒ (UIncreasing(COND_16685_0_CREATETREE_LE8(>(x0[20], 0), x0[20])), ≥)∧[(-1)Bound*bni_91 + (2)bni_91] + [(2)bni_91]x0[20] ≥ 0∧[1 + (-1)bso_92] ≥ 0)

For Pair COND_16685_0_CREATETREE_LE8(TRUE, x0) → 18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0) the following chains were created:
• We consider the chain COND_16685_0_CREATETREE_LE8(TRUE, x0[21]) → 18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0[21]) which results in the following constraint:

(117)    (COND_16685_0_CREATETREE_LE8(TRUE, x0[21])≥NonInfC∧COND_16685_0_CREATETREE_LE8(TRUE, x0[21])≥18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0[21])∧(UIncreasing(18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0[21])), ≥))

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

(118)    ((UIncreasing(18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0[21])), ≥)∧[(-1)bso_94] ≥ 0)

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

(119)    ((UIncreasing(18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0[21])), ≥)∧[(-1)bso_94] ≥ 0)

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

(120)    ((UIncreasing(18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0[21])), ≥)∧[(-1)bso_94] ≥ 0)

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

(121)    ((UIncreasing(18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0[21])), ≥)∧0 = 0∧[(-1)bso_94] ≥ 0)

To summarize, we get the following constraints P for the following pairs.
• 18104_1_CREATETREE_INVOKEMETHOD(2562_0_createNode_Return, x0) → COND_18104_1_CREATETREE_INVOKEMETHOD(>(x0, 0), 2562_0_createNode_Return, x0)
• (x0[0] ≥ 0 ⇒ (UIncreasing(COND_18104_1_CREATETREE_INVOKEMETHOD(>(x0[0], 0), 2562_0_createNode_Return, x0[0])), ≥)∧[bni_51 + (-1)Bound*bni_51] + [(2)bni_51]x0[0] ≥ 0∧[(-1)bso_52] ≥ 0)

• COND_18104_1_CREATETREE_INVOKEMETHOD(TRUE, 2562_0_createNode_Return, x0) → 16685_0_CREATETREE_LE(+(x0, -1))
• ((UIncreasing(16685_0_CREATETREE_LE(+(x0[1], -1))), ≥)∧0 = 0∧[1 + (-1)bso_54] ≥ 0)

• 18104_1_CREATETREE_INVOKEMETHOD(3247_0_createNode_Return, x0) → COND_18104_1_CREATETREE_INVOKEMETHOD1(>(x0, 0), 3247_0_createNode_Return, x0)
• (x0[2] ≥ 0 ⇒ (UIncreasing(COND_18104_1_CREATETREE_INVOKEMETHOD1(>(x0[2], 0), 3247_0_createNode_Return, x0[2])), ≥)∧[bni_55 + (-1)Bound*bni_55] + [(2)bni_55]x0[2] ≥ 0∧[(-1)bso_56] ≥ 0)

• COND_18104_1_CREATETREE_INVOKEMETHOD1(TRUE, 3247_0_createNode_Return, x0) → 16685_0_CREATETREE_LE(+(x0, -1))
• ((UIncreasing(16685_0_CREATETREE_LE(+(x0[3], -1))), ≥)∧0 = 0∧[1 + (-1)bso_58] ≥ 0)

• 16685_0_CREATETREE_LE(x0) → COND_16685_0_CREATETREE_LE(>(x0, 0), x0)
• (x0[4] ≥ 0 ⇒ (UIncreasing(COND_16685_0_CREATETREE_LE(>(x0[4], 0), x0[4])), ≥)∧[(-1)Bound*bni_59 + (2)bni_59] + [(2)bni_59]x0[4] ≥ 0∧[1 + (-1)bso_60] ≥ 0)

• COND_16685_0_CREATETREE_LE(TRUE, x0) → 16685_0_CREATETREE_LE(+(x0, -1))
• ((UIncreasing(16685_0_CREATETREE_LE(+(x0[5], -1))), ≥)∧0 = 0∧[1 + (-1)bso_62] ≥ 0)

• 16685_0_CREATETREE_LE(x0) → COND_16685_0_CREATETREE_LE1(>(x0, 0), x0)
• (x0[6] ≥ 0 ⇒ (UIncreasing(COND_16685_0_CREATETREE_LE1(>(x0[6], 0), x0[6])), ≥)∧[(-1)Bound*bni_63 + (2)bni_63] + [(2)bni_63]x0[6] ≥ 0∧[1 + (-1)bso_64] ≥ 0)

• COND_16685_0_CREATETREE_LE1(TRUE, x0) → 18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0)
• ((UIncreasing(18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0[7])), ≥)∧0 = 0∧[(-1)bso_66] ≥ 0)

• 16685_0_CREATETREE_LE(x0) → COND_16685_0_CREATETREE_LE2(>(x0, 0), x0)
• (x0[8] ≥ 0 ⇒ (UIncreasing(COND_16685_0_CREATETREE_LE2(>(x0[8], 0), x0[8])), ≥)∧[(-1)Bound*bni_67 + (2)bni_67] + [(2)bni_67]x0[8] ≥ 0∧[(-1)bso_68] ≥ 0)

• COND_16685_0_CREATETREE_LE2(TRUE, x0) → 18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0)
• ((UIncreasing(18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0[9])), ≥)∧0 = 0∧[1 + (-1)bso_70] ≥ 0)

• 16685_0_CREATETREE_LE(x0) → COND_16685_0_CREATETREE_LE3(>(x0, 0), x0)
• (x0[10] ≥ 0 ⇒ (UIncreasing(COND_16685_0_CREATETREE_LE3(>(x0[10], 0), x0[10])), ≥)∧[(-1)Bound*bni_71 + (2)bni_71] + [(2)bni_71]x0[10] ≥ 0∧[1 + (-1)bso_72] ≥ 0)

• COND_16685_0_CREATETREE_LE3(TRUE, x0) → 18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0)
• ((UIncreasing(18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0[11])), ≥)∧0 = 0∧[(-1)bso_74] ≥ 0)

• 16685_0_CREATETREE_LE(x0) → COND_16685_0_CREATETREE_LE4(>(x0, 0), x0)
• (x0[12] ≥ 0 ⇒ (UIncreasing(COND_16685_0_CREATETREE_LE4(>(x0[12], 0), x0[12])), ≥)∧[(-1)Bound*bni_75 + (2)bni_75] + [(2)bni_75]x0[12] ≥ 0∧[1 + (-1)bso_76] ≥ 0)

• COND_16685_0_CREATETREE_LE4(TRUE, x0) → 18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0)
• ((UIncreasing(18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0[13])), ≥)∧0 = 0∧[(-1)bso_78] ≥ 0)

• 16685_0_CREATETREE_LE(x0) → COND_16685_0_CREATETREE_LE5(>(x0, 0), x0)
• (x0[14] ≥ 0 ⇒ (UIncreasing(COND_16685_0_CREATETREE_LE5(>(x0[14], 0), x0[14])), ≥)∧[(-1)Bound*bni_79 + (2)bni_79] + [(2)bni_79]x0[14] ≥ 0∧[1 + (-1)bso_80] ≥ 0)

• COND_16685_0_CREATETREE_LE5(TRUE, x0) → 18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0)
• ((UIncreasing(18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0[15])), ≥)∧0 = 0∧[(-1)bso_82] ≥ 0)

• 16685_0_CREATETREE_LE(x0) → COND_16685_0_CREATETREE_LE6(>(x0, 0), x0)
• (x0[16] ≥ 0 ⇒ (UIncreasing(COND_16685_0_CREATETREE_LE6(>(x0[16], 0), x0[16])), ≥)∧[(-1)Bound*bni_83 + (2)bni_83] + [(2)bni_83]x0[16] ≥ 0∧[1 + (-1)bso_84] ≥ 0)

• COND_16685_0_CREATETREE_LE6(TRUE, x0) → 18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0)
• ((UIncreasing(18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0[17])), ≥)∧0 = 0∧[(-1)bso_86] ≥ 0)

• 16685_0_CREATETREE_LE(x0) → COND_16685_0_CREATETREE_LE7(>(x0, 0), x0)
• (x0[18] ≥ 0 ⇒ (UIncreasing(COND_16685_0_CREATETREE_LE7(>(x0[18], 0), x0[18])), ≥)∧[(-1)Bound*bni_87 + (2)bni_87] + [(2)bni_87]x0[18] ≥ 0∧[(-1)bso_88] ≥ 0)

• COND_16685_0_CREATETREE_LE7(TRUE, x0) → 18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0)
• ((UIncreasing(18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0[19])), ≥)∧0 = 0∧[1 + (-1)bso_90] ≥ 0)

• 16685_0_CREATETREE_LE(x0) → COND_16685_0_CREATETREE_LE8(>(x0, 0), x0)
• (x0[20] ≥ 0 ⇒ (UIncreasing(COND_16685_0_CREATETREE_LE8(>(x0[20], 0), x0[20])), ≥)∧[(-1)Bound*bni_91 + (2)bni_91] + [(2)bni_91]x0[20] ≥ 0∧[1 + (-1)bso_92] ≥ 0)

• COND_16685_0_CREATETREE_LE8(TRUE, x0) → 18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0)
• ((UIncreasing(18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0[21])), ≥)∧0 = 0∧[(-1)bso_94] ≥ 0)

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

POL(TRUE) = 0
POL(FALSE) = 0
POL(18104_0_createNode_New) = [-1]
POL(20161_0_createNode_InvokeMethod) = [-1]
POL(19939_0_createNode_InvokeMethod) = [-1]
POL(20077_0_createNode_InvokeMethod) = [-1]
POL(19972_0_createNode_InvokeMethod) = [-1]
POL(16685_0_createTree_LE(x1)) = [-1]
POL(0) = 0
POL(16708_0_createTree_Return) = [-1]
POL(2339_1_createNode_InvokeMethod) = [-1]
POL(18104_1_createTree_InvokeMethod(x1, x2)) = [-1]
POL(3580_0_createNode_InvokeMethod) = [-1]
POL(18394_0_createTree_InvokeMethod(x1)) = [-1]
POL(3636_0_createNode_InvokeMethod) = [-1]
POL(17926_0_createTree_InvokeMethod(x1)) = [-1]
POL(18223_0_createTree_InvokeMethod(x1)) = [-1]
POL(17975_0_createTree_InvokeMethod(x1)) = [-1]
POL(20333_0_createTree_InvokeMethod(x1)) = [-1]
POL(20055_0_createTree_InvokeMethod(x1)) = [-1]
POL(20208_0_createTree_InvokeMethod(x1)) = [-1]
POL(20098_0_createTree_InvokeMethod(x1)) = [-1]
POL(2562_0_createNode_Return) = [-1]
POL(3247_0_createNode_Return) = [-1]
POL(18104_1_CREATETREE_INVOKEMETHOD(x1, x2)) = [-1] + [2]x2
POL(COND_18104_1_CREATETREE_INVOKEMETHOD(x1, x2, x3)) = [-1] + [2]x3
POL(>(x1, x2)) = [-1]
POL(16685_0_CREATETREE_LE(x1)) = [2]x1
POL(+(x1, x2)) = x1 + x2
POL(-1) = [-1]
POL(COND_18104_1_CREATETREE_INVOKEMETHOD1(x1, x2, x3)) = [-1] + [2]x3
POL(COND_16685_0_CREATETREE_LE(x1, x2)) = [-1] + [2]x2
POL(COND_16685_0_CREATETREE_LE1(x1, x2)) = [-1] + [2]x2
POL(COND_16685_0_CREATETREE_LE2(x1, x2)) = [2]x2
POL(COND_16685_0_CREATETREE_LE3(x1, x2)) = [-1] + [2]x2
POL(COND_16685_0_CREATETREE_LE4(x1, x2)) = [-1] + [2]x2
POL(COND_16685_0_CREATETREE_LE5(x1, x2)) = [-1] + [2]x2
POL(COND_16685_0_CREATETREE_LE6(x1, x2)) = [-1] + [2]x2
POL(COND_16685_0_CREATETREE_LE7(x1, x2)) = [2]x2
POL(COND_16685_0_CREATETREE_LE8(x1, x2)) = [-1] + [2]x2

The following pairs are in P>:

COND_18104_1_CREATETREE_INVOKEMETHOD(TRUE, 2562_0_createNode_Return, x0[1]) → 16685_0_CREATETREE_LE(+(x0[1], -1))
COND_18104_1_CREATETREE_INVOKEMETHOD1(TRUE, 3247_0_createNode_Return, x0[3]) → 16685_0_CREATETREE_LE(+(x0[3], -1))
16685_0_CREATETREE_LE(x0[4]) → COND_16685_0_CREATETREE_LE(>(x0[4], 0), x0[4])
COND_16685_0_CREATETREE_LE(TRUE, x0[5]) → 16685_0_CREATETREE_LE(+(x0[5], -1))
16685_0_CREATETREE_LE(x0[6]) → COND_16685_0_CREATETREE_LE1(>(x0[6], 0), x0[6])
COND_16685_0_CREATETREE_LE2(TRUE, x0[9]) → 18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0[9])
16685_0_CREATETREE_LE(x0[10]) → COND_16685_0_CREATETREE_LE3(>(x0[10], 0), x0[10])
16685_0_CREATETREE_LE(x0[12]) → COND_16685_0_CREATETREE_LE4(>(x0[12], 0), x0[12])
16685_0_CREATETREE_LE(x0[14]) → COND_16685_0_CREATETREE_LE5(>(x0[14], 0), x0[14])
16685_0_CREATETREE_LE(x0[16]) → COND_16685_0_CREATETREE_LE6(>(x0[16], 0), x0[16])
COND_16685_0_CREATETREE_LE7(TRUE, x0[19]) → 18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0[19])
16685_0_CREATETREE_LE(x0[20]) → COND_16685_0_CREATETREE_LE8(>(x0[20], 0), x0[20])

The following pairs are in Pbound:

18104_1_CREATETREE_INVOKEMETHOD(2562_0_createNode_Return, x0[0]) → COND_18104_1_CREATETREE_INVOKEMETHOD(>(x0[0], 0), 2562_0_createNode_Return, x0[0])
18104_1_CREATETREE_INVOKEMETHOD(3247_0_createNode_Return, x0[2]) → COND_18104_1_CREATETREE_INVOKEMETHOD1(>(x0[2], 0), 3247_0_createNode_Return, x0[2])
16685_0_CREATETREE_LE(x0[4]) → COND_16685_0_CREATETREE_LE(>(x0[4], 0), x0[4])
16685_0_CREATETREE_LE(x0[6]) → COND_16685_0_CREATETREE_LE1(>(x0[6], 0), x0[6])
16685_0_CREATETREE_LE(x0[8]) → COND_16685_0_CREATETREE_LE2(>(x0[8], 0), x0[8])
16685_0_CREATETREE_LE(x0[10]) → COND_16685_0_CREATETREE_LE3(>(x0[10], 0), x0[10])
16685_0_CREATETREE_LE(x0[12]) → COND_16685_0_CREATETREE_LE4(>(x0[12], 0), x0[12])
16685_0_CREATETREE_LE(x0[14]) → COND_16685_0_CREATETREE_LE5(>(x0[14], 0), x0[14])
16685_0_CREATETREE_LE(x0[16]) → COND_16685_0_CREATETREE_LE6(>(x0[16], 0), x0[16])
16685_0_CREATETREE_LE(x0[18]) → COND_16685_0_CREATETREE_LE7(>(x0[18], 0), x0[18])
16685_0_CREATETREE_LE(x0[20]) → COND_16685_0_CREATETREE_LE8(>(x0[20], 0), x0[20])

The following pairs are in P:

18104_1_CREATETREE_INVOKEMETHOD(2562_0_createNode_Return, x0[0]) → COND_18104_1_CREATETREE_INVOKEMETHOD(>(x0[0], 0), 2562_0_createNode_Return, x0[0])
18104_1_CREATETREE_INVOKEMETHOD(3247_0_createNode_Return, x0[2]) → COND_18104_1_CREATETREE_INVOKEMETHOD1(>(x0[2], 0), 3247_0_createNode_Return, x0[2])
COND_16685_0_CREATETREE_LE1(TRUE, x0[7]) → 18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0[7])
16685_0_CREATETREE_LE(x0[8]) → COND_16685_0_CREATETREE_LE2(>(x0[8], 0), x0[8])
COND_16685_0_CREATETREE_LE3(TRUE, x0[11]) → 18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0[11])
COND_16685_0_CREATETREE_LE4(TRUE, x0[13]) → 18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0[13])
COND_16685_0_CREATETREE_LE5(TRUE, x0[15]) → 18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0[15])
COND_16685_0_CREATETREE_LE6(TRUE, x0[17]) → 18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0[17])
16685_0_CREATETREE_LE(x0[18]) → COND_16685_0_CREATETREE_LE7(>(x0[18], 0), x0[18])
COND_16685_0_CREATETREE_LE8(TRUE, x0[21]) → 18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0[21])

There are no usable rules.

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

Integer

The ITRS R consists of the following rules:
18104_0_createNode_New20161_0_createNode_InvokeMethod
18104_0_createNode_New19939_0_createNode_InvokeMethod
18104_0_createNode_New20077_0_createNode_InvokeMethod
18104_0_createNode_New19972_0_createNode_InvokeMethod
16685_0_createTree_LE(0) → 16708_0_createTree_Return
18104_0_createNode_New2339_1_createNode_InvokeMethod
18104_1_createTree_InvokeMethod(3580_0_createNode_InvokeMethod, x0) → 18394_0_createTree_InvokeMethod(x0)
18104_1_createTree_InvokeMethod(3636_0_createNode_InvokeMethod, x0) → 18394_0_createTree_InvokeMethod(x0)
18104_1_createTree_InvokeMethod(3580_0_createNode_InvokeMethod, x0) → 17926_0_createTree_InvokeMethod(x0)
18104_1_createTree_InvokeMethod(3636_0_createNode_InvokeMethod, x0) → 17926_0_createTree_InvokeMethod(x0)
18104_1_createTree_InvokeMethod(3580_0_createNode_InvokeMethod, x0) → 18223_0_createTree_InvokeMethod(x0)
18104_1_createTree_InvokeMethod(3636_0_createNode_InvokeMethod, x0) → 18223_0_createTree_InvokeMethod(x0)
18104_1_createTree_InvokeMethod(3580_0_createNode_InvokeMethod, x0) → 17975_0_createTree_InvokeMethod(x0)
18104_1_createTree_InvokeMethod(3636_0_createNode_InvokeMethod, x0) → 17975_0_createTree_InvokeMethod(x0)
18104_1_createTree_InvokeMethod(3636_0_createNode_InvokeMethod, x0) → 20333_0_createTree_InvokeMethod(x0)
18104_1_createTree_InvokeMethod(3636_0_createNode_InvokeMethod, x0) → 20055_0_createTree_InvokeMethod(x0)
18104_1_createTree_InvokeMethod(3636_0_createNode_InvokeMethod, x0) → 20208_0_createTree_InvokeMethod(x0)
18104_1_createTree_InvokeMethod(3636_0_createNode_InvokeMethod, x0) → 20098_0_createTree_InvokeMethod(x0)
2339_1_createNode_InvokeMethod2562_0_createNode_Return
2339_1_createNode_InvokeMethod3580_0_createNode_InvokeMethod
2339_1_createNode_InvokeMethod3636_0_createNode_InvokeMethod
2339_1_createNode_InvokeMethod3247_0_createNode_Return

The integer pair graph contains the following rules and edges:
(0): 18104_1_CREATETREE_INVOKEMETHOD(2562_0_createNode_Return, x0[0]) → COND_18104_1_CREATETREE_INVOKEMETHOD(x0[0] > 0, 2562_0_createNode_Return, x0[0])
(2): 18104_1_CREATETREE_INVOKEMETHOD(3247_0_createNode_Return, x0[2]) → COND_18104_1_CREATETREE_INVOKEMETHOD1(x0[2] > 0, 3247_0_createNode_Return, x0[2])
(7): COND_16685_0_CREATETREE_LE1(TRUE, x0[7]) → 18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0[7])
(8): 16685_0_CREATETREE_LE(x0[8]) → COND_16685_0_CREATETREE_LE2(x0[8] > 0, x0[8])
(11): COND_16685_0_CREATETREE_LE3(TRUE, x0[11]) → 18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0[11])
(13): COND_16685_0_CREATETREE_LE4(TRUE, x0[13]) → 18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0[13])
(15): COND_16685_0_CREATETREE_LE5(TRUE, x0[15]) → 18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0[15])
(17): COND_16685_0_CREATETREE_LE6(TRUE, x0[17]) → 18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0[17])
(18): 16685_0_CREATETREE_LE(x0[18]) → COND_16685_0_CREATETREE_LE7(x0[18] > 0, x0[18])
(21): COND_16685_0_CREATETREE_LE8(TRUE, x0[21]) → 18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0[21])

(7) -> (0), if ((18104_0_createNode_New* 2562_0_createNode_Return)∧(x0[7]* x0[0]))

(11) -> (0), if ((18104_0_createNode_New* 2562_0_createNode_Return)∧(x0[11]* x0[0]))

(13) -> (0), if ((18104_0_createNode_New* 2562_0_createNode_Return)∧(x0[13]* x0[0]))

(15) -> (0), if ((18104_0_createNode_New* 2562_0_createNode_Return)∧(x0[15]* x0[0]))

(17) -> (0), if ((18104_0_createNode_New* 2562_0_createNode_Return)∧(x0[17]* x0[0]))

(21) -> (0), if ((18104_0_createNode_New* 2562_0_createNode_Return)∧(x0[21]* x0[0]))

(7) -> (2), if ((18104_0_createNode_New* 3247_0_createNode_Return)∧(x0[7]* x0[2]))

(11) -> (2), if ((18104_0_createNode_New* 3247_0_createNode_Return)∧(x0[11]* x0[2]))

(13) -> (2), if ((18104_0_createNode_New* 3247_0_createNode_Return)∧(x0[13]* x0[2]))

(15) -> (2), if ((18104_0_createNode_New* 3247_0_createNode_Return)∧(x0[15]* x0[2]))

(17) -> (2), if ((18104_0_createNode_New* 3247_0_createNode_Return)∧(x0[17]* x0[2]))

(21) -> (2), if ((18104_0_createNode_New* 3247_0_createNode_Return)∧(x0[21]* x0[2]))

The set Q consists of the following terms:
18104_0_createNode_New
16685_0_createTree_LE(0)
18104_1_createTree_InvokeMethod(3580_0_createNode_InvokeMethod, x0)
18104_1_createTree_InvokeMethod(3636_0_createNode_InvokeMethod, x0)
2339_1_createNode_InvokeMethod

### (47) IDependencyGraphProof (EQUIVALENT transformation)

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

### (49) Obligation:

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

The following domains are used:

Integer

The ITRS R consists of the following rules:
18104_0_createNode_New20161_0_createNode_InvokeMethod
18104_0_createNode_New19939_0_createNode_InvokeMethod
18104_0_createNode_New20077_0_createNode_InvokeMethod
18104_0_createNode_New19972_0_createNode_InvokeMethod
16685_0_createTree_LE(0) → 16708_0_createTree_Return
18104_0_createNode_New2339_1_createNode_InvokeMethod
18104_1_createTree_InvokeMethod(3580_0_createNode_InvokeMethod, x0) → 18394_0_createTree_InvokeMethod(x0)
18104_1_createTree_InvokeMethod(3636_0_createNode_InvokeMethod, x0) → 18394_0_createTree_InvokeMethod(x0)
18104_1_createTree_InvokeMethod(3580_0_createNode_InvokeMethod, x0) → 17926_0_createTree_InvokeMethod(x0)
18104_1_createTree_InvokeMethod(3636_0_createNode_InvokeMethod, x0) → 17926_0_createTree_InvokeMethod(x0)
18104_1_createTree_InvokeMethod(3580_0_createNode_InvokeMethod, x0) → 18223_0_createTree_InvokeMethod(x0)
18104_1_createTree_InvokeMethod(3636_0_createNode_InvokeMethod, x0) → 18223_0_createTree_InvokeMethod(x0)
18104_1_createTree_InvokeMethod(3580_0_createNode_InvokeMethod, x0) → 17975_0_createTree_InvokeMethod(x0)
18104_1_createTree_InvokeMethod(3636_0_createNode_InvokeMethod, x0) → 17975_0_createTree_InvokeMethod(x0)
18104_1_createTree_InvokeMethod(3636_0_createNode_InvokeMethod, x0) → 20333_0_createTree_InvokeMethod(x0)
18104_1_createTree_InvokeMethod(3636_0_createNode_InvokeMethod, x0) → 20055_0_createTree_InvokeMethod(x0)
18104_1_createTree_InvokeMethod(3636_0_createNode_InvokeMethod, x0) → 20208_0_createTree_InvokeMethod(x0)
18104_1_createTree_InvokeMethod(3636_0_createNode_InvokeMethod, x0) → 20098_0_createTree_InvokeMethod(x0)
2339_1_createNode_InvokeMethod2562_0_createNode_Return
2339_1_createNode_InvokeMethod3580_0_createNode_InvokeMethod
2339_1_createNode_InvokeMethod3636_0_createNode_InvokeMethod
2339_1_createNode_InvokeMethod3247_0_createNode_Return

The integer pair graph contains the following rules and edges:
(1): COND_18104_1_CREATETREE_INVOKEMETHOD(TRUE, 2562_0_createNode_Return, x0[1]) → 16685_0_CREATETREE_LE(x0[1] + -1)
(3): COND_18104_1_CREATETREE_INVOKEMETHOD1(TRUE, 3247_0_createNode_Return, x0[3]) → 16685_0_CREATETREE_LE(x0[3] + -1)
(5): COND_16685_0_CREATETREE_LE(TRUE, x0[5]) → 16685_0_CREATETREE_LE(x0[5] + -1)
(7): COND_16685_0_CREATETREE_LE1(TRUE, x0[7]) → 18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0[7])
(9): COND_16685_0_CREATETREE_LE2(TRUE, x0[9]) → 18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0[9])
(11): COND_16685_0_CREATETREE_LE3(TRUE, x0[11]) → 18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0[11])
(13): COND_16685_0_CREATETREE_LE4(TRUE, x0[13]) → 18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0[13])
(15): COND_16685_0_CREATETREE_LE5(TRUE, x0[15]) → 18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0[15])
(17): COND_16685_0_CREATETREE_LE6(TRUE, x0[17]) → 18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0[17])
(19): COND_16685_0_CREATETREE_LE7(TRUE, x0[19]) → 18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0[19])
(21): COND_16685_0_CREATETREE_LE8(TRUE, x0[21]) → 18104_1_CREATETREE_INVOKEMETHOD(18104_0_createNode_New, x0[21])

The set Q consists of the following terms:
18104_0_createNode_New
16685_0_createTree_LE(0)
18104_1_createTree_InvokeMethod(3580_0_createNode_InvokeMethod, x0)
18104_1_createTree_InvokeMethod(3636_0_createNode_InvokeMethod, x0)
2339_1_createNode_InvokeMethod

### (50) IDependencyGraphProof (EQUIVALENT transformation)

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