(0) Obligation:

Clauses:

preorder(X, Y) :- pdl(X, -(Y, [])).
pdl(nil, Y) :- ','(!, eq(Y, -(X, X))).
pdl(T, -(.(X, Xs), Zs)) :- ','(value(T, X), ','(left(T, L), ','(right(T, R), ','(pdl(L, -(Xs, Ys)), pdl(R, -(Ys, Zs)))))).
left(nil, nil).
left(tree(L, X1, X2), L).
right(nil, nil).
right(tree(X3, X4, R), R).
value(nil, X5).
value(tree(X6, X, X7), X).
eq(X, X).

Query: preorder(g,a)

(1) PrologToCdtProblemTransformerProof (UPPER BOUND (ID) transformation)

Built complexity over-approximating cdt problems from derivation graph.

(2) Obligation:

Complexity Dependency Tuples Problem
Rules:

f1_in(z0) → U1(f7_in(z0), z0)
U1(f7_out1, z0) → f1_out1
f7_in(nil) → f7_out1
f7_in(tree(z0, z1, z2)) → U2(f42_in(z0, z2), tree(z0, z1, z2))
U2(f42_out1, tree(z0, z1, z2)) → f7_out1
f43_in(nil) → f43_out1
f43_in(tree(z0, z1, z2)) → U3(f74_in(z0, z2), tree(z0, z1, z2))
U3(f74_out1, tree(z0, z1, z2)) → f43_out1
f42_in(z0, z1) → U4(f43_in(z0), z0, z1)
U4(f43_out1, z0, z1) → U5(f7_in(z1), z0, z1)
U5(f7_out1, z0, z1) → f42_out1
f74_in(z0, z1) → U6(f43_in(z0), z0, z1)
U6(f43_out1, z0, z1) → U7(f43_in(z1), z0, z1)
U7(f43_out1, z0, z1) → f74_out1
Tuples:

F1_IN(z0) → c(U1'(f7_in(z0), z0), F7_IN(z0))
F7_IN(tree(z0, z1, z2)) → c3(U2'(f42_in(z0, z2), tree(z0, z1, z2)), F42_IN(z0, z2))
F43_IN(tree(z0, z1, z2)) → c6(U3'(f74_in(z0, z2), tree(z0, z1, z2)), F74_IN(z0, z2))
F42_IN(z0, z1) → c8(U4'(f43_in(z0), z0, z1), F43_IN(z0))
U4'(f43_out1, z0, z1) → c9(U5'(f7_in(z1), z0, z1), F7_IN(z1))
F74_IN(z0, z1) → c11(U6'(f43_in(z0), z0, z1), F43_IN(z0))
U6'(f43_out1, z0, z1) → c12(U7'(f43_in(z1), z0, z1), F43_IN(z1))
S tuples:

F1_IN(z0) → c(U1'(f7_in(z0), z0), F7_IN(z0))
F7_IN(tree(z0, z1, z2)) → c3(U2'(f42_in(z0, z2), tree(z0, z1, z2)), F42_IN(z0, z2))
F43_IN(tree(z0, z1, z2)) → c6(U3'(f74_in(z0, z2), tree(z0, z1, z2)), F74_IN(z0, z2))
F42_IN(z0, z1) → c8(U4'(f43_in(z0), z0, z1), F43_IN(z0))
U4'(f43_out1, z0, z1) → c9(U5'(f7_in(z1), z0, z1), F7_IN(z1))
F74_IN(z0, z1) → c11(U6'(f43_in(z0), z0, z1), F43_IN(z0))
U6'(f43_out1, z0, z1) → c12(U7'(f43_in(z1), z0, z1), F43_IN(z1))
K tuples:none
Defined Rule Symbols:

f1_in, U1, f7_in, U2, f43_in, U3, f42_in, U4, U5, f74_in, U6, U7

Defined Pair Symbols:

F1_IN, F7_IN, F43_IN, F42_IN, U4', F74_IN, U6'

Compound Symbols:

c, c3, c6, c8, c9, c11, c12

(3) CdtGraphSplitRhsProof (BOTH BOUNDS(ID, ID) transformation)

Split RHS of tuples not part of any SCC

(4) Obligation:

Complexity Dependency Tuples Problem
Rules:

f1_in(z0) → U1(f7_in(z0), z0)
U1(f7_out1, z0) → f1_out1
f7_in(nil) → f7_out1
f7_in(tree(z0, z1, z2)) → U2(f42_in(z0, z2), tree(z0, z1, z2))
U2(f42_out1, tree(z0, z1, z2)) → f7_out1
f43_in(nil) → f43_out1
f43_in(tree(z0, z1, z2)) → U3(f74_in(z0, z2), tree(z0, z1, z2))
U3(f74_out1, tree(z0, z1, z2)) → f43_out1
f42_in(z0, z1) → U4(f43_in(z0), z0, z1)
U4(f43_out1, z0, z1) → U5(f7_in(z1), z0, z1)
U5(f7_out1, z0, z1) → f42_out1
f74_in(z0, z1) → U6(f43_in(z0), z0, z1)
U6(f43_out1, z0, z1) → U7(f43_in(z1), z0, z1)
U7(f43_out1, z0, z1) → f74_out1
Tuples:

F7_IN(tree(z0, z1, z2)) → c3(U2'(f42_in(z0, z2), tree(z0, z1, z2)), F42_IN(z0, z2))
F43_IN(tree(z0, z1, z2)) → c6(U3'(f74_in(z0, z2), tree(z0, z1, z2)), F74_IN(z0, z2))
F42_IN(z0, z1) → c8(U4'(f43_in(z0), z0, z1), F43_IN(z0))
U4'(f43_out1, z0, z1) → c9(U5'(f7_in(z1), z0, z1), F7_IN(z1))
F74_IN(z0, z1) → c11(U6'(f43_in(z0), z0, z1), F43_IN(z0))
U6'(f43_out1, z0, z1) → c12(U7'(f43_in(z1), z0, z1), F43_IN(z1))
F1_IN(z0) → c1(U1'(f7_in(z0), z0))
F1_IN(z0) → c1(F7_IN(z0))
S tuples:

F7_IN(tree(z0, z1, z2)) → c3(U2'(f42_in(z0, z2), tree(z0, z1, z2)), F42_IN(z0, z2))
F43_IN(tree(z0, z1, z2)) → c6(U3'(f74_in(z0, z2), tree(z0, z1, z2)), F74_IN(z0, z2))
F42_IN(z0, z1) → c8(U4'(f43_in(z0), z0, z1), F43_IN(z0))
U4'(f43_out1, z0, z1) → c9(U5'(f7_in(z1), z0, z1), F7_IN(z1))
F74_IN(z0, z1) → c11(U6'(f43_in(z0), z0, z1), F43_IN(z0))
U6'(f43_out1, z0, z1) → c12(U7'(f43_in(z1), z0, z1), F43_IN(z1))
F1_IN(z0) → c1(U1'(f7_in(z0), z0))
F1_IN(z0) → c1(F7_IN(z0))
K tuples:none
Defined Rule Symbols:

f1_in, U1, f7_in, U2, f43_in, U3, f42_in, U4, U5, f74_in, U6, U7

Defined Pair Symbols:

F7_IN, F43_IN, F42_IN, U4', F74_IN, U6', F1_IN

Compound Symbols:

c3, c6, c8, c9, c11, c12, c1

(5) CdtGraphRemoveTrailingTuplepartsProof (BOTH BOUNDS(ID, ID) transformation)

Removed 5 trailing tuple parts

(6) Obligation:

Complexity Dependency Tuples Problem
Rules:

f1_in(z0) → U1(f7_in(z0), z0)
U1(f7_out1, z0) → f1_out1
f7_in(nil) → f7_out1
f7_in(tree(z0, z1, z2)) → U2(f42_in(z0, z2), tree(z0, z1, z2))
U2(f42_out1, tree(z0, z1, z2)) → f7_out1
f43_in(nil) → f43_out1
f43_in(tree(z0, z1, z2)) → U3(f74_in(z0, z2), tree(z0, z1, z2))
U3(f74_out1, tree(z0, z1, z2)) → f43_out1
f42_in(z0, z1) → U4(f43_in(z0), z0, z1)
U4(f43_out1, z0, z1) → U5(f7_in(z1), z0, z1)
U5(f7_out1, z0, z1) → f42_out1
f74_in(z0, z1) → U6(f43_in(z0), z0, z1)
U6(f43_out1, z0, z1) → U7(f43_in(z1), z0, z1)
U7(f43_out1, z0, z1) → f74_out1
Tuples:

F42_IN(z0, z1) → c8(U4'(f43_in(z0), z0, z1), F43_IN(z0))
F74_IN(z0, z1) → c11(U6'(f43_in(z0), z0, z1), F43_IN(z0))
F1_IN(z0) → c1(F7_IN(z0))
F7_IN(tree(z0, z1, z2)) → c3(F42_IN(z0, z2))
F43_IN(tree(z0, z1, z2)) → c6(F74_IN(z0, z2))
U4'(f43_out1, z0, z1) → c9(F7_IN(z1))
U6'(f43_out1, z0, z1) → c12(F43_IN(z1))
F1_IN(z0) → c1
S tuples:

F42_IN(z0, z1) → c8(U4'(f43_in(z0), z0, z1), F43_IN(z0))
F74_IN(z0, z1) → c11(U6'(f43_in(z0), z0, z1), F43_IN(z0))
F1_IN(z0) → c1(F7_IN(z0))
F7_IN(tree(z0, z1, z2)) → c3(F42_IN(z0, z2))
F43_IN(tree(z0, z1, z2)) → c6(F74_IN(z0, z2))
U4'(f43_out1, z0, z1) → c9(F7_IN(z1))
U6'(f43_out1, z0, z1) → c12(F43_IN(z1))
F1_IN(z0) → c1
K tuples:none
Defined Rule Symbols:

f1_in, U1, f7_in, U2, f43_in, U3, f42_in, U4, U5, f74_in, U6, U7

Defined Pair Symbols:

F42_IN, F74_IN, F1_IN, F7_IN, F43_IN, U4', U6'

Compound Symbols:

c8, c11, c1, c3, c6, c9, c12, c1

(7) CdtKnowledgeProof (EQUIVALENT transformation)

The following tuples could be moved from S to K by knowledge propagation:

F1_IN(z0) → c1(F7_IN(z0))
F1_IN(z0) → c1

(8) Obligation:

Complexity Dependency Tuples Problem
Rules:

f1_in(z0) → U1(f7_in(z0), z0)
U1(f7_out1, z0) → f1_out1
f7_in(nil) → f7_out1
f7_in(tree(z0, z1, z2)) → U2(f42_in(z0, z2), tree(z0, z1, z2))
U2(f42_out1, tree(z0, z1, z2)) → f7_out1
f43_in(nil) → f43_out1
f43_in(tree(z0, z1, z2)) → U3(f74_in(z0, z2), tree(z0, z1, z2))
U3(f74_out1, tree(z0, z1, z2)) → f43_out1
f42_in(z0, z1) → U4(f43_in(z0), z0, z1)
U4(f43_out1, z0, z1) → U5(f7_in(z1), z0, z1)
U5(f7_out1, z0, z1) → f42_out1
f74_in(z0, z1) → U6(f43_in(z0), z0, z1)
U6(f43_out1, z0, z1) → U7(f43_in(z1), z0, z1)
U7(f43_out1, z0, z1) → f74_out1
Tuples:

F42_IN(z0, z1) → c8(U4'(f43_in(z0), z0, z1), F43_IN(z0))
F74_IN(z0, z1) → c11(U6'(f43_in(z0), z0, z1), F43_IN(z0))
F1_IN(z0) → c1(F7_IN(z0))
F7_IN(tree(z0, z1, z2)) → c3(F42_IN(z0, z2))
F43_IN(tree(z0, z1, z2)) → c6(F74_IN(z0, z2))
U4'(f43_out1, z0, z1) → c9(F7_IN(z1))
U6'(f43_out1, z0, z1) → c12(F43_IN(z1))
F1_IN(z0) → c1
S tuples:

F42_IN(z0, z1) → c8(U4'(f43_in(z0), z0, z1), F43_IN(z0))
F74_IN(z0, z1) → c11(U6'(f43_in(z0), z0, z1), F43_IN(z0))
F7_IN(tree(z0, z1, z2)) → c3(F42_IN(z0, z2))
F43_IN(tree(z0, z1, z2)) → c6(F74_IN(z0, z2))
U4'(f43_out1, z0, z1) → c9(F7_IN(z1))
U6'(f43_out1, z0, z1) → c12(F43_IN(z1))
K tuples:

F1_IN(z0) → c1(F7_IN(z0))
F1_IN(z0) → c1
Defined Rule Symbols:

f1_in, U1, f7_in, U2, f43_in, U3, f42_in, U4, U5, f74_in, U6, U7

Defined Pair Symbols:

F42_IN, F74_IN, F1_IN, F7_IN, F43_IN, U4', U6'

Compound Symbols:

c8, c11, c1, c3, c6, c9, c12, c1

(9) CdtPolyRedPairProof (UPPER BOUND (ADD(O(n^1))) transformation)

Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S.

F7_IN(tree(z0, z1, z2)) → c3(F42_IN(z0, z2))
We considered the (Usable) Rules:

f43_in(nil) → f43_out1
f43_in(tree(z0, z1, z2)) → U3(f74_in(z0, z2), tree(z0, z1, z2))
f74_in(z0, z1) → U6(f43_in(z0), z0, z1)
U3(f74_out1, tree(z0, z1, z2)) → f43_out1
U6(f43_out1, z0, z1) → U7(f43_in(z1), z0, z1)
U7(f43_out1, z0, z1) → f74_out1
And the Tuples:

F42_IN(z0, z1) → c8(U4'(f43_in(z0), z0, z1), F43_IN(z0))
F74_IN(z0, z1) → c11(U6'(f43_in(z0), z0, z1), F43_IN(z0))
F1_IN(z0) → c1(F7_IN(z0))
F7_IN(tree(z0, z1, z2)) → c3(F42_IN(z0, z2))
F43_IN(tree(z0, z1, z2)) → c6(F74_IN(z0, z2))
U4'(f43_out1, z0, z1) → c9(F7_IN(z1))
U6'(f43_out1, z0, z1) → c12(F43_IN(z1))
F1_IN(z0) → c1
The order we found is given by the following interpretation:
Polynomial interpretation :

POL(F1_IN(x1)) = [1] + [2]x1   
POL(F42_IN(x1, x2)) = [2]x2   
POL(F43_IN(x1)) = 0   
POL(F74_IN(x1, x2)) = 0   
POL(F7_IN(x1)) = [2]x1   
POL(U3(x1, x2)) = 0   
POL(U4'(x1, x2, x3)) = [2]x3   
POL(U6(x1, x2, x3)) = [2]x3   
POL(U6'(x1, x2, x3)) = 0   
POL(U7(x1, x2, x3)) = x3   
POL(c1) = 0   
POL(c1(x1)) = x1   
POL(c11(x1, x2)) = x1 + x2   
POL(c12(x1)) = x1   
POL(c3(x1)) = x1   
POL(c6(x1)) = x1   
POL(c8(x1, x2)) = x1 + x2   
POL(c9(x1)) = x1   
POL(f43_in(x1)) = 0   
POL(f43_out1) = 0   
POL(f74_in(x1, x2)) = [2] + [2]x2   
POL(f74_out1) = 0   
POL(nil) = 0   
POL(tree(x1, x2, x3)) = [2] + x3   

(10) Obligation:

Complexity Dependency Tuples Problem
Rules:

f1_in(z0) → U1(f7_in(z0), z0)
U1(f7_out1, z0) → f1_out1
f7_in(nil) → f7_out1
f7_in(tree(z0, z1, z2)) → U2(f42_in(z0, z2), tree(z0, z1, z2))
U2(f42_out1, tree(z0, z1, z2)) → f7_out1
f43_in(nil) → f43_out1
f43_in(tree(z0, z1, z2)) → U3(f74_in(z0, z2), tree(z0, z1, z2))
U3(f74_out1, tree(z0, z1, z2)) → f43_out1
f42_in(z0, z1) → U4(f43_in(z0), z0, z1)
U4(f43_out1, z0, z1) → U5(f7_in(z1), z0, z1)
U5(f7_out1, z0, z1) → f42_out1
f74_in(z0, z1) → U6(f43_in(z0), z0, z1)
U6(f43_out1, z0, z1) → U7(f43_in(z1), z0, z1)
U7(f43_out1, z0, z1) → f74_out1
Tuples:

F42_IN(z0, z1) → c8(U4'(f43_in(z0), z0, z1), F43_IN(z0))
F74_IN(z0, z1) → c11(U6'(f43_in(z0), z0, z1), F43_IN(z0))
F1_IN(z0) → c1(F7_IN(z0))
F7_IN(tree(z0, z1, z2)) → c3(F42_IN(z0, z2))
F43_IN(tree(z0, z1, z2)) → c6(F74_IN(z0, z2))
U4'(f43_out1, z0, z1) → c9(F7_IN(z1))
U6'(f43_out1, z0, z1) → c12(F43_IN(z1))
F1_IN(z0) → c1
S tuples:

F42_IN(z0, z1) → c8(U4'(f43_in(z0), z0, z1), F43_IN(z0))
F74_IN(z0, z1) → c11(U6'(f43_in(z0), z0, z1), F43_IN(z0))
F43_IN(tree(z0, z1, z2)) → c6(F74_IN(z0, z2))
U4'(f43_out1, z0, z1) → c9(F7_IN(z1))
U6'(f43_out1, z0, z1) → c12(F43_IN(z1))
K tuples:

F1_IN(z0) → c1(F7_IN(z0))
F1_IN(z0) → c1
F7_IN(tree(z0, z1, z2)) → c3(F42_IN(z0, z2))
Defined Rule Symbols:

f1_in, U1, f7_in, U2, f43_in, U3, f42_in, U4, U5, f74_in, U6, U7

Defined Pair Symbols:

F42_IN, F74_IN, F1_IN, F7_IN, F43_IN, U4', U6'

Compound Symbols:

c8, c11, c1, c3, c6, c9, c12, c1

(11) CdtKnowledgeProof (EQUIVALENT transformation)

The following tuples could be moved from S to K by knowledge propagation:

F42_IN(z0, z1) → c8(U4'(f43_in(z0), z0, z1), F43_IN(z0))
U4'(f43_out1, z0, z1) → c9(F7_IN(z1))
U4'(f43_out1, z0, z1) → c9(F7_IN(z1))
F7_IN(tree(z0, z1, z2)) → c3(F42_IN(z0, z2))

(12) Obligation:

Complexity Dependency Tuples Problem
Rules:

f1_in(z0) → U1(f7_in(z0), z0)
U1(f7_out1, z0) → f1_out1
f7_in(nil) → f7_out1
f7_in(tree(z0, z1, z2)) → U2(f42_in(z0, z2), tree(z0, z1, z2))
U2(f42_out1, tree(z0, z1, z2)) → f7_out1
f43_in(nil) → f43_out1
f43_in(tree(z0, z1, z2)) → U3(f74_in(z0, z2), tree(z0, z1, z2))
U3(f74_out1, tree(z0, z1, z2)) → f43_out1
f42_in(z0, z1) → U4(f43_in(z0), z0, z1)
U4(f43_out1, z0, z1) → U5(f7_in(z1), z0, z1)
U5(f7_out1, z0, z1) → f42_out1
f74_in(z0, z1) → U6(f43_in(z0), z0, z1)
U6(f43_out1, z0, z1) → U7(f43_in(z1), z0, z1)
U7(f43_out1, z0, z1) → f74_out1
Tuples:

F42_IN(z0, z1) → c8(U4'(f43_in(z0), z0, z1), F43_IN(z0))
F74_IN(z0, z1) → c11(U6'(f43_in(z0), z0, z1), F43_IN(z0))
F1_IN(z0) → c1(F7_IN(z0))
F7_IN(tree(z0, z1, z2)) → c3(F42_IN(z0, z2))
F43_IN(tree(z0, z1, z2)) → c6(F74_IN(z0, z2))
U4'(f43_out1, z0, z1) → c9(F7_IN(z1))
U6'(f43_out1, z0, z1) → c12(F43_IN(z1))
F1_IN(z0) → c1
S tuples:

F74_IN(z0, z1) → c11(U6'(f43_in(z0), z0, z1), F43_IN(z0))
F43_IN(tree(z0, z1, z2)) → c6(F74_IN(z0, z2))
U6'(f43_out1, z0, z1) → c12(F43_IN(z1))
K tuples:

F1_IN(z0) → c1(F7_IN(z0))
F1_IN(z0) → c1
F7_IN(tree(z0, z1, z2)) → c3(F42_IN(z0, z2))
F42_IN(z0, z1) → c8(U4'(f43_in(z0), z0, z1), F43_IN(z0))
U4'(f43_out1, z0, z1) → c9(F7_IN(z1))
Defined Rule Symbols:

f1_in, U1, f7_in, U2, f43_in, U3, f42_in, U4, U5, f74_in, U6, U7

Defined Pair Symbols:

F42_IN, F74_IN, F1_IN, F7_IN, F43_IN, U4', U6'

Compound Symbols:

c8, c11, c1, c3, c6, c9, c12, c1

(13) CdtPolyRedPairProof (UPPER BOUND (ADD(O(n^1))) transformation)

Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S.

F43_IN(tree(z0, z1, z2)) → c6(F74_IN(z0, z2))
We considered the (Usable) Rules:

f43_in(nil) → f43_out1
f43_in(tree(z0, z1, z2)) → U3(f74_in(z0, z2), tree(z0, z1, z2))
f74_in(z0, z1) → U6(f43_in(z0), z0, z1)
U3(f74_out1, tree(z0, z1, z2)) → f43_out1
U6(f43_out1, z0, z1) → U7(f43_in(z1), z0, z1)
U7(f43_out1, z0, z1) → f74_out1
And the Tuples:

F42_IN(z0, z1) → c8(U4'(f43_in(z0), z0, z1), F43_IN(z0))
F74_IN(z0, z1) → c11(U6'(f43_in(z0), z0, z1), F43_IN(z0))
F1_IN(z0) → c1(F7_IN(z0))
F7_IN(tree(z0, z1, z2)) → c3(F42_IN(z0, z2))
F43_IN(tree(z0, z1, z2)) → c6(F74_IN(z0, z2))
U4'(f43_out1, z0, z1) → c9(F7_IN(z1))
U6'(f43_out1, z0, z1) → c12(F43_IN(z1))
F1_IN(z0) → c1
The order we found is given by the following interpretation:
Polynomial interpretation :

POL(F1_IN(x1)) = [3]x1   
POL(F42_IN(x1, x2)) = [2] + [3]x1 + [3]x2   
POL(F43_IN(x1)) = x1   
POL(F74_IN(x1, x2)) = x1 + x2   
POL(F7_IN(x1)) = [3]x1   
POL(U3(x1, x2)) = 0   
POL(U4'(x1, x2, x3)) = [3]x3   
POL(U6(x1, x2, x3)) = [2] + [2]x2   
POL(U6'(x1, x2, x3)) = x3   
POL(U7(x1, x2, x3)) = [2] + x2   
POL(c1) = 0   
POL(c1(x1)) = x1   
POL(c11(x1, x2)) = x1 + x2   
POL(c12(x1)) = x1   
POL(c3(x1)) = x1   
POL(c6(x1)) = x1   
POL(c8(x1, x2)) = x1 + x2   
POL(c9(x1)) = x1   
POL(f43_in(x1)) = 0   
POL(f43_out1) = 0   
POL(f74_in(x1, x2)) = [2] + [2]x1   
POL(f74_out1) = [2]   
POL(nil) = 0   
POL(tree(x1, x2, x3)) = [1] + x1 + x3   

(14) Obligation:

Complexity Dependency Tuples Problem
Rules:

f1_in(z0) → U1(f7_in(z0), z0)
U1(f7_out1, z0) → f1_out1
f7_in(nil) → f7_out1
f7_in(tree(z0, z1, z2)) → U2(f42_in(z0, z2), tree(z0, z1, z2))
U2(f42_out1, tree(z0, z1, z2)) → f7_out1
f43_in(nil) → f43_out1
f43_in(tree(z0, z1, z2)) → U3(f74_in(z0, z2), tree(z0, z1, z2))
U3(f74_out1, tree(z0, z1, z2)) → f43_out1
f42_in(z0, z1) → U4(f43_in(z0), z0, z1)
U4(f43_out1, z0, z1) → U5(f7_in(z1), z0, z1)
U5(f7_out1, z0, z1) → f42_out1
f74_in(z0, z1) → U6(f43_in(z0), z0, z1)
U6(f43_out1, z0, z1) → U7(f43_in(z1), z0, z1)
U7(f43_out1, z0, z1) → f74_out1
Tuples:

F42_IN(z0, z1) → c8(U4'(f43_in(z0), z0, z1), F43_IN(z0))
F74_IN(z0, z1) → c11(U6'(f43_in(z0), z0, z1), F43_IN(z0))
F1_IN(z0) → c1(F7_IN(z0))
F7_IN(tree(z0, z1, z2)) → c3(F42_IN(z0, z2))
F43_IN(tree(z0, z1, z2)) → c6(F74_IN(z0, z2))
U4'(f43_out1, z0, z1) → c9(F7_IN(z1))
U6'(f43_out1, z0, z1) → c12(F43_IN(z1))
F1_IN(z0) → c1
S tuples:

F74_IN(z0, z1) → c11(U6'(f43_in(z0), z0, z1), F43_IN(z0))
U6'(f43_out1, z0, z1) → c12(F43_IN(z1))
K tuples:

F1_IN(z0) → c1(F7_IN(z0))
F1_IN(z0) → c1
F7_IN(tree(z0, z1, z2)) → c3(F42_IN(z0, z2))
F42_IN(z0, z1) → c8(U4'(f43_in(z0), z0, z1), F43_IN(z0))
U4'(f43_out1, z0, z1) → c9(F7_IN(z1))
F43_IN(tree(z0, z1, z2)) → c6(F74_IN(z0, z2))
Defined Rule Symbols:

f1_in, U1, f7_in, U2, f43_in, U3, f42_in, U4, U5, f74_in, U6, U7

Defined Pair Symbols:

F42_IN, F74_IN, F1_IN, F7_IN, F43_IN, U4', U6'

Compound Symbols:

c8, c11, c1, c3, c6, c9, c12, c1

(15) PrologToCdtProblemTransformerProof (UPPER BOUND (ID) transformation)

Built complexity over-approximating cdt problems from derivation graph.

(16) Obligation:

Complexity Dependency Tuples Problem
Rules:

f2_in(z0) → U1(f5_in(z0), z0)
U1(f5_out1, z0) → f2_out1
f5_in(nil) → f5_out1
f5_in(tree(z0, z1, z2)) → U2(f57_in(z0, z2), tree(z0, z1, z2))
U2(f57_out1, tree(z0, z1, z2)) → f5_out1
f60_in(nil) → f60_out1
f60_in(tree(z0, z1, z2)) → U3(f90_in(z0, z2), tree(z0, z1, z2))
U3(f90_out1, tree(z0, z1, z2)) → f60_out1
f57_in(z0, z1) → U4(f60_in(z0), z0, z1)
U4(f60_out1, z0, z1) → U5(f5_in(z1), z0, z1)
U5(f5_out1, z0, z1) → f57_out1
f90_in(z0, z1) → U6(f60_in(z0), z0, z1)
U6(f60_out1, z0, z1) → U7(f60_in(z1), z0, z1)
U7(f60_out1, z0, z1) → f90_out1
Tuples:

F2_IN(z0) → c(U1'(f5_in(z0), z0), F5_IN(z0))
F5_IN(tree(z0, z1, z2)) → c3(U2'(f57_in(z0, z2), tree(z0, z1, z2)), F57_IN(z0, z2))
F60_IN(tree(z0, z1, z2)) → c6(U3'(f90_in(z0, z2), tree(z0, z1, z2)), F90_IN(z0, z2))
F57_IN(z0, z1) → c8(U4'(f60_in(z0), z0, z1), F60_IN(z0))
U4'(f60_out1, z0, z1) → c9(U5'(f5_in(z1), z0, z1), F5_IN(z1))
F90_IN(z0, z1) → c11(U6'(f60_in(z0), z0, z1), F60_IN(z0))
U6'(f60_out1, z0, z1) → c12(U7'(f60_in(z1), z0, z1), F60_IN(z1))
S tuples:

F2_IN(z0) → c(U1'(f5_in(z0), z0), F5_IN(z0))
F5_IN(tree(z0, z1, z2)) → c3(U2'(f57_in(z0, z2), tree(z0, z1, z2)), F57_IN(z0, z2))
F60_IN(tree(z0, z1, z2)) → c6(U3'(f90_in(z0, z2), tree(z0, z1, z2)), F90_IN(z0, z2))
F57_IN(z0, z1) → c8(U4'(f60_in(z0), z0, z1), F60_IN(z0))
U4'(f60_out1, z0, z1) → c9(U5'(f5_in(z1), z0, z1), F5_IN(z1))
F90_IN(z0, z1) → c11(U6'(f60_in(z0), z0, z1), F60_IN(z0))
U6'(f60_out1, z0, z1) → c12(U7'(f60_in(z1), z0, z1), F60_IN(z1))
K tuples:none
Defined Rule Symbols:

f2_in, U1, f5_in, U2, f60_in, U3, f57_in, U4, U5, f90_in, U6, U7

Defined Pair Symbols:

F2_IN, F5_IN, F60_IN, F57_IN, U4', F90_IN, U6'

Compound Symbols:

c, c3, c6, c8, c9, c11, c12

(17) CdtGraphSplitRhsProof (BOTH BOUNDS(ID, ID) transformation)

Split RHS of tuples not part of any SCC

(18) Obligation:

Complexity Dependency Tuples Problem
Rules:

f2_in(z0) → U1(f5_in(z0), z0)
U1(f5_out1, z0) → f2_out1
f5_in(nil) → f5_out1
f5_in(tree(z0, z1, z2)) → U2(f57_in(z0, z2), tree(z0, z1, z2))
U2(f57_out1, tree(z0, z1, z2)) → f5_out1
f60_in(nil) → f60_out1
f60_in(tree(z0, z1, z2)) → U3(f90_in(z0, z2), tree(z0, z1, z2))
U3(f90_out1, tree(z0, z1, z2)) → f60_out1
f57_in(z0, z1) → U4(f60_in(z0), z0, z1)
U4(f60_out1, z0, z1) → U5(f5_in(z1), z0, z1)
U5(f5_out1, z0, z1) → f57_out1
f90_in(z0, z1) → U6(f60_in(z0), z0, z1)
U6(f60_out1, z0, z1) → U7(f60_in(z1), z0, z1)
U7(f60_out1, z0, z1) → f90_out1
Tuples:

F5_IN(tree(z0, z1, z2)) → c3(U2'(f57_in(z0, z2), tree(z0, z1, z2)), F57_IN(z0, z2))
F60_IN(tree(z0, z1, z2)) → c6(U3'(f90_in(z0, z2), tree(z0, z1, z2)), F90_IN(z0, z2))
F57_IN(z0, z1) → c8(U4'(f60_in(z0), z0, z1), F60_IN(z0))
U4'(f60_out1, z0, z1) → c9(U5'(f5_in(z1), z0, z1), F5_IN(z1))
F90_IN(z0, z1) → c11(U6'(f60_in(z0), z0, z1), F60_IN(z0))
U6'(f60_out1, z0, z1) → c12(U7'(f60_in(z1), z0, z1), F60_IN(z1))
F2_IN(z0) → c1(U1'(f5_in(z0), z0))
F2_IN(z0) → c1(F5_IN(z0))
S tuples:

F5_IN(tree(z0, z1, z2)) → c3(U2'(f57_in(z0, z2), tree(z0, z1, z2)), F57_IN(z0, z2))
F60_IN(tree(z0, z1, z2)) → c6(U3'(f90_in(z0, z2), tree(z0, z1, z2)), F90_IN(z0, z2))
F57_IN(z0, z1) → c8(U4'(f60_in(z0), z0, z1), F60_IN(z0))
U4'(f60_out1, z0, z1) → c9(U5'(f5_in(z1), z0, z1), F5_IN(z1))
F90_IN(z0, z1) → c11(U6'(f60_in(z0), z0, z1), F60_IN(z0))
U6'(f60_out1, z0, z1) → c12(U7'(f60_in(z1), z0, z1), F60_IN(z1))
F2_IN(z0) → c1(U1'(f5_in(z0), z0))
F2_IN(z0) → c1(F5_IN(z0))
K tuples:none
Defined Rule Symbols:

f2_in, U1, f5_in, U2, f60_in, U3, f57_in, U4, U5, f90_in, U6, U7

Defined Pair Symbols:

F5_IN, F60_IN, F57_IN, U4', F90_IN, U6', F2_IN

Compound Symbols:

c3, c6, c8, c9, c11, c12, c1

(19) CdtGraphRemoveTrailingTuplepartsProof (BOTH BOUNDS(ID, ID) transformation)

Removed 5 trailing tuple parts

(20) Obligation:

Complexity Dependency Tuples Problem
Rules:

f2_in(z0) → U1(f5_in(z0), z0)
U1(f5_out1, z0) → f2_out1
f5_in(nil) → f5_out1
f5_in(tree(z0, z1, z2)) → U2(f57_in(z0, z2), tree(z0, z1, z2))
U2(f57_out1, tree(z0, z1, z2)) → f5_out1
f60_in(nil) → f60_out1
f60_in(tree(z0, z1, z2)) → U3(f90_in(z0, z2), tree(z0, z1, z2))
U3(f90_out1, tree(z0, z1, z2)) → f60_out1
f57_in(z0, z1) → U4(f60_in(z0), z0, z1)
U4(f60_out1, z0, z1) → U5(f5_in(z1), z0, z1)
U5(f5_out1, z0, z1) → f57_out1
f90_in(z0, z1) → U6(f60_in(z0), z0, z1)
U6(f60_out1, z0, z1) → U7(f60_in(z1), z0, z1)
U7(f60_out1, z0, z1) → f90_out1
Tuples:

F57_IN(z0, z1) → c8(U4'(f60_in(z0), z0, z1), F60_IN(z0))
F90_IN(z0, z1) → c11(U6'(f60_in(z0), z0, z1), F60_IN(z0))
F2_IN(z0) → c1(F5_IN(z0))
F5_IN(tree(z0, z1, z2)) → c3(F57_IN(z0, z2))
F60_IN(tree(z0, z1, z2)) → c6(F90_IN(z0, z2))
U4'(f60_out1, z0, z1) → c9(F5_IN(z1))
U6'(f60_out1, z0, z1) → c12(F60_IN(z1))
F2_IN(z0) → c1
S tuples:

F57_IN(z0, z1) → c8(U4'(f60_in(z0), z0, z1), F60_IN(z0))
F90_IN(z0, z1) → c11(U6'(f60_in(z0), z0, z1), F60_IN(z0))
F2_IN(z0) → c1(F5_IN(z0))
F5_IN(tree(z0, z1, z2)) → c3(F57_IN(z0, z2))
F60_IN(tree(z0, z1, z2)) → c6(F90_IN(z0, z2))
U4'(f60_out1, z0, z1) → c9(F5_IN(z1))
U6'(f60_out1, z0, z1) → c12(F60_IN(z1))
F2_IN(z0) → c1
K tuples:none
Defined Rule Symbols:

f2_in, U1, f5_in, U2, f60_in, U3, f57_in, U4, U5, f90_in, U6, U7

Defined Pair Symbols:

F57_IN, F90_IN, F2_IN, F5_IN, F60_IN, U4', U6'

Compound Symbols:

c8, c11, c1, c3, c6, c9, c12, c1

(21) CdtKnowledgeProof (EQUIVALENT transformation)

The following tuples could be moved from S to K by knowledge propagation:

F2_IN(z0) → c1(F5_IN(z0))
F2_IN(z0) → c1

(22) Obligation:

Complexity Dependency Tuples Problem
Rules:

f2_in(z0) → U1(f5_in(z0), z0)
U1(f5_out1, z0) → f2_out1
f5_in(nil) → f5_out1
f5_in(tree(z0, z1, z2)) → U2(f57_in(z0, z2), tree(z0, z1, z2))
U2(f57_out1, tree(z0, z1, z2)) → f5_out1
f60_in(nil) → f60_out1
f60_in(tree(z0, z1, z2)) → U3(f90_in(z0, z2), tree(z0, z1, z2))
U3(f90_out1, tree(z0, z1, z2)) → f60_out1
f57_in(z0, z1) → U4(f60_in(z0), z0, z1)
U4(f60_out1, z0, z1) → U5(f5_in(z1), z0, z1)
U5(f5_out1, z0, z1) → f57_out1
f90_in(z0, z1) → U6(f60_in(z0), z0, z1)
U6(f60_out1, z0, z1) → U7(f60_in(z1), z0, z1)
U7(f60_out1, z0, z1) → f90_out1
Tuples:

F57_IN(z0, z1) → c8(U4'(f60_in(z0), z0, z1), F60_IN(z0))
F90_IN(z0, z1) → c11(U6'(f60_in(z0), z0, z1), F60_IN(z0))
F2_IN(z0) → c1(F5_IN(z0))
F5_IN(tree(z0, z1, z2)) → c3(F57_IN(z0, z2))
F60_IN(tree(z0, z1, z2)) → c6(F90_IN(z0, z2))
U4'(f60_out1, z0, z1) → c9(F5_IN(z1))
U6'(f60_out1, z0, z1) → c12(F60_IN(z1))
F2_IN(z0) → c1
S tuples:

F57_IN(z0, z1) → c8(U4'(f60_in(z0), z0, z1), F60_IN(z0))
F90_IN(z0, z1) → c11(U6'(f60_in(z0), z0, z1), F60_IN(z0))
F5_IN(tree(z0, z1, z2)) → c3(F57_IN(z0, z2))
F60_IN(tree(z0, z1, z2)) → c6(F90_IN(z0, z2))
U4'(f60_out1, z0, z1) → c9(F5_IN(z1))
U6'(f60_out1, z0, z1) → c12(F60_IN(z1))
K tuples:

F2_IN(z0) → c1(F5_IN(z0))
F2_IN(z0) → c1
Defined Rule Symbols:

f2_in, U1, f5_in, U2, f60_in, U3, f57_in, U4, U5, f90_in, U6, U7

Defined Pair Symbols:

F57_IN, F90_IN, F2_IN, F5_IN, F60_IN, U4', U6'

Compound Symbols:

c8, c11, c1, c3, c6, c9, c12, c1

(23) CdtPolyRedPairProof (UPPER BOUND (ADD(O(n^1))) transformation)

Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S.

F5_IN(tree(z0, z1, z2)) → c3(F57_IN(z0, z2))
We considered the (Usable) Rules:

f60_in(nil) → f60_out1
f60_in(tree(z0, z1, z2)) → U3(f90_in(z0, z2), tree(z0, z1, z2))
f90_in(z0, z1) → U6(f60_in(z0), z0, z1)
U3(f90_out1, tree(z0, z1, z2)) → f60_out1
U6(f60_out1, z0, z1) → U7(f60_in(z1), z0, z1)
U7(f60_out1, z0, z1) → f90_out1
And the Tuples:

F57_IN(z0, z1) → c8(U4'(f60_in(z0), z0, z1), F60_IN(z0))
F90_IN(z0, z1) → c11(U6'(f60_in(z0), z0, z1), F60_IN(z0))
F2_IN(z0) → c1(F5_IN(z0))
F5_IN(tree(z0, z1, z2)) → c3(F57_IN(z0, z2))
F60_IN(tree(z0, z1, z2)) → c6(F90_IN(z0, z2))
U4'(f60_out1, z0, z1) → c9(F5_IN(z1))
U6'(f60_out1, z0, z1) → c12(F60_IN(z1))
F2_IN(z0) → c1
The order we found is given by the following interpretation:
Polynomial interpretation :

POL(F2_IN(x1)) = [1] + [2]x1   
POL(F57_IN(x1, x2)) = [2]x2   
POL(F5_IN(x1)) = [2]x1   
POL(F60_IN(x1)) = 0   
POL(F90_IN(x1, x2)) = 0   
POL(U3(x1, x2)) = 0   
POL(U4'(x1, x2, x3)) = [2]x3   
POL(U6(x1, x2, x3)) = [2]x3   
POL(U6'(x1, x2, x3)) = 0   
POL(U7(x1, x2, x3)) = x3   
POL(c1) = 0   
POL(c1(x1)) = x1   
POL(c11(x1, x2)) = x1 + x2   
POL(c12(x1)) = x1   
POL(c3(x1)) = x1   
POL(c6(x1)) = x1   
POL(c8(x1, x2)) = x1 + x2   
POL(c9(x1)) = x1   
POL(f60_in(x1)) = 0   
POL(f60_out1) = 0   
POL(f90_in(x1, x2)) = [2] + [2]x2   
POL(f90_out1) = 0   
POL(nil) = 0   
POL(tree(x1, x2, x3)) = [2] + x3   

(24) Obligation:

Complexity Dependency Tuples Problem
Rules:

f2_in(z0) → U1(f5_in(z0), z0)
U1(f5_out1, z0) → f2_out1
f5_in(nil) → f5_out1
f5_in(tree(z0, z1, z2)) → U2(f57_in(z0, z2), tree(z0, z1, z2))
U2(f57_out1, tree(z0, z1, z2)) → f5_out1
f60_in(nil) → f60_out1
f60_in(tree(z0, z1, z2)) → U3(f90_in(z0, z2), tree(z0, z1, z2))
U3(f90_out1, tree(z0, z1, z2)) → f60_out1
f57_in(z0, z1) → U4(f60_in(z0), z0, z1)
U4(f60_out1, z0, z1) → U5(f5_in(z1), z0, z1)
U5(f5_out1, z0, z1) → f57_out1
f90_in(z0, z1) → U6(f60_in(z0), z0, z1)
U6(f60_out1, z0, z1) → U7(f60_in(z1), z0, z1)
U7(f60_out1, z0, z1) → f90_out1
Tuples:

F57_IN(z0, z1) → c8(U4'(f60_in(z0), z0, z1), F60_IN(z0))
F90_IN(z0, z1) → c11(U6'(f60_in(z0), z0, z1), F60_IN(z0))
F2_IN(z0) → c1(F5_IN(z0))
F5_IN(tree(z0, z1, z2)) → c3(F57_IN(z0, z2))
F60_IN(tree(z0, z1, z2)) → c6(F90_IN(z0, z2))
U4'(f60_out1, z0, z1) → c9(F5_IN(z1))
U6'(f60_out1, z0, z1) → c12(F60_IN(z1))
F2_IN(z0) → c1
S tuples:

F57_IN(z0, z1) → c8(U4'(f60_in(z0), z0, z1), F60_IN(z0))
F90_IN(z0, z1) → c11(U6'(f60_in(z0), z0, z1), F60_IN(z0))
F60_IN(tree(z0, z1, z2)) → c6(F90_IN(z0, z2))
U4'(f60_out1, z0, z1) → c9(F5_IN(z1))
U6'(f60_out1, z0, z1) → c12(F60_IN(z1))
K tuples:

F2_IN(z0) → c1(F5_IN(z0))
F2_IN(z0) → c1
F5_IN(tree(z0, z1, z2)) → c3(F57_IN(z0, z2))
Defined Rule Symbols:

f2_in, U1, f5_in, U2, f60_in, U3, f57_in, U4, U5, f90_in, U6, U7

Defined Pair Symbols:

F57_IN, F90_IN, F2_IN, F5_IN, F60_IN, U4', U6'

Compound Symbols:

c8, c11, c1, c3, c6, c9, c12, c1

(25) CdtKnowledgeProof (EQUIVALENT transformation)

The following tuples could be moved from S to K by knowledge propagation:

F57_IN(z0, z1) → c8(U4'(f60_in(z0), z0, z1), F60_IN(z0))
U4'(f60_out1, z0, z1) → c9(F5_IN(z1))
U4'(f60_out1, z0, z1) → c9(F5_IN(z1))
F5_IN(tree(z0, z1, z2)) → c3(F57_IN(z0, z2))

(26) Obligation:

Complexity Dependency Tuples Problem
Rules:

f2_in(z0) → U1(f5_in(z0), z0)
U1(f5_out1, z0) → f2_out1
f5_in(nil) → f5_out1
f5_in(tree(z0, z1, z2)) → U2(f57_in(z0, z2), tree(z0, z1, z2))
U2(f57_out1, tree(z0, z1, z2)) → f5_out1
f60_in(nil) → f60_out1
f60_in(tree(z0, z1, z2)) → U3(f90_in(z0, z2), tree(z0, z1, z2))
U3(f90_out1, tree(z0, z1, z2)) → f60_out1
f57_in(z0, z1) → U4(f60_in(z0), z0, z1)
U4(f60_out1, z0, z1) → U5(f5_in(z1), z0, z1)
U5(f5_out1, z0, z1) → f57_out1
f90_in(z0, z1) → U6(f60_in(z0), z0, z1)
U6(f60_out1, z0, z1) → U7(f60_in(z1), z0, z1)
U7(f60_out1, z0, z1) → f90_out1
Tuples:

F57_IN(z0, z1) → c8(U4'(f60_in(z0), z0, z1), F60_IN(z0))
F90_IN(z0, z1) → c11(U6'(f60_in(z0), z0, z1), F60_IN(z0))
F2_IN(z0) → c1(F5_IN(z0))
F5_IN(tree(z0, z1, z2)) → c3(F57_IN(z0, z2))
F60_IN(tree(z0, z1, z2)) → c6(F90_IN(z0, z2))
U4'(f60_out1, z0, z1) → c9(F5_IN(z1))
U6'(f60_out1, z0, z1) → c12(F60_IN(z1))
F2_IN(z0) → c1
S tuples:

F90_IN(z0, z1) → c11(U6'(f60_in(z0), z0, z1), F60_IN(z0))
F60_IN(tree(z0, z1, z2)) → c6(F90_IN(z0, z2))
U6'(f60_out1, z0, z1) → c12(F60_IN(z1))
K tuples:

F2_IN(z0) → c1(F5_IN(z0))
F2_IN(z0) → c1
F5_IN(tree(z0, z1, z2)) → c3(F57_IN(z0, z2))
F57_IN(z0, z1) → c8(U4'(f60_in(z0), z0, z1), F60_IN(z0))
U4'(f60_out1, z0, z1) → c9(F5_IN(z1))
Defined Rule Symbols:

f2_in, U1, f5_in, U2, f60_in, U3, f57_in, U4, U5, f90_in, U6, U7

Defined Pair Symbols:

F57_IN, F90_IN, F2_IN, F5_IN, F60_IN, U4', U6'

Compound Symbols:

c8, c11, c1, c3, c6, c9, c12, c1

(27) CdtPolyRedPairProof (UPPER BOUND (ADD(O(n^1))) transformation)

Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S.

F60_IN(tree(z0, z1, z2)) → c6(F90_IN(z0, z2))
We considered the (Usable) Rules:

f60_in(nil) → f60_out1
f60_in(tree(z0, z1, z2)) → U3(f90_in(z0, z2), tree(z0, z1, z2))
f90_in(z0, z1) → U6(f60_in(z0), z0, z1)
U3(f90_out1, tree(z0, z1, z2)) → f60_out1
U6(f60_out1, z0, z1) → U7(f60_in(z1), z0, z1)
U7(f60_out1, z0, z1) → f90_out1
And the Tuples:

F57_IN(z0, z1) → c8(U4'(f60_in(z0), z0, z1), F60_IN(z0))
F90_IN(z0, z1) → c11(U6'(f60_in(z0), z0, z1), F60_IN(z0))
F2_IN(z0) → c1(F5_IN(z0))
F5_IN(tree(z0, z1, z2)) → c3(F57_IN(z0, z2))
F60_IN(tree(z0, z1, z2)) → c6(F90_IN(z0, z2))
U4'(f60_out1, z0, z1) → c9(F5_IN(z1))
U6'(f60_out1, z0, z1) → c12(F60_IN(z1))
F2_IN(z0) → c1
The order we found is given by the following interpretation:
Polynomial interpretation :

POL(F2_IN(x1)) = [3]x1   
POL(F57_IN(x1, x2)) = [2] + [3]x1 + [3]x2   
POL(F5_IN(x1)) = [3]x1   
POL(F60_IN(x1)) = x1   
POL(F90_IN(x1, x2)) = x1 + x2   
POL(U3(x1, x2)) = 0   
POL(U4'(x1, x2, x3)) = [3]x3   
POL(U6(x1, x2, x3)) = [2] + [2]x2   
POL(U6'(x1, x2, x3)) = x3   
POL(U7(x1, x2, x3)) = [2] + x2   
POL(c1) = 0   
POL(c1(x1)) = x1   
POL(c11(x1, x2)) = x1 + x2   
POL(c12(x1)) = x1   
POL(c3(x1)) = x1   
POL(c6(x1)) = x1   
POL(c8(x1, x2)) = x1 + x2   
POL(c9(x1)) = x1   
POL(f60_in(x1)) = 0   
POL(f60_out1) = 0   
POL(f90_in(x1, x2)) = [2] + [2]x1   
POL(f90_out1) = [2]   
POL(nil) = 0   
POL(tree(x1, x2, x3)) = [1] + x1 + x3   

(28) Obligation:

Complexity Dependency Tuples Problem
Rules:

f2_in(z0) → U1(f5_in(z0), z0)
U1(f5_out1, z0) → f2_out1
f5_in(nil) → f5_out1
f5_in(tree(z0, z1, z2)) → U2(f57_in(z0, z2), tree(z0, z1, z2))
U2(f57_out1, tree(z0, z1, z2)) → f5_out1
f60_in(nil) → f60_out1
f60_in(tree(z0, z1, z2)) → U3(f90_in(z0, z2), tree(z0, z1, z2))
U3(f90_out1, tree(z0, z1, z2)) → f60_out1
f57_in(z0, z1) → U4(f60_in(z0), z0, z1)
U4(f60_out1, z0, z1) → U5(f5_in(z1), z0, z1)
U5(f5_out1, z0, z1) → f57_out1
f90_in(z0, z1) → U6(f60_in(z0), z0, z1)
U6(f60_out1, z0, z1) → U7(f60_in(z1), z0, z1)
U7(f60_out1, z0, z1) → f90_out1
Tuples:

F57_IN(z0, z1) → c8(U4'(f60_in(z0), z0, z1), F60_IN(z0))
F90_IN(z0, z1) → c11(U6'(f60_in(z0), z0, z1), F60_IN(z0))
F2_IN(z0) → c1(F5_IN(z0))
F5_IN(tree(z0, z1, z2)) → c3(F57_IN(z0, z2))
F60_IN(tree(z0, z1, z2)) → c6(F90_IN(z0, z2))
U4'(f60_out1, z0, z1) → c9(F5_IN(z1))
U6'(f60_out1, z0, z1) → c12(F60_IN(z1))
F2_IN(z0) → c1
S tuples:

F90_IN(z0, z1) → c11(U6'(f60_in(z0), z0, z1), F60_IN(z0))
U6'(f60_out1, z0, z1) → c12(F60_IN(z1))
K tuples:

F2_IN(z0) → c1(F5_IN(z0))
F2_IN(z0) → c1
F5_IN(tree(z0, z1, z2)) → c3(F57_IN(z0, z2))
F57_IN(z0, z1) → c8(U4'(f60_in(z0), z0, z1), F60_IN(z0))
U4'(f60_out1, z0, z1) → c9(F5_IN(z1))
F60_IN(tree(z0, z1, z2)) → c6(F90_IN(z0, z2))
Defined Rule Symbols:

f2_in, U1, f5_in, U2, f60_in, U3, f57_in, U4, U5, f90_in, U6, U7

Defined Pair Symbols:

F57_IN, F90_IN, F2_IN, F5_IN, F60_IN, U4', U6'

Compound Symbols:

c8, c11, c1, c3, c6, c9, c12, c1

(29) CdtKnowledgeProof (EQUIVALENT transformation)

The following tuples could be moved from S to K by knowledge propagation:

F90_IN(z0, z1) → c11(U6'(f60_in(z0), z0, z1), F60_IN(z0))
U6'(f60_out1, z0, z1) → c12(F60_IN(z1))
F60_IN(tree(z0, z1, z2)) → c6(F90_IN(z0, z2))
U6'(f60_out1, z0, z1) → c12(F60_IN(z1))
F60_IN(tree(z0, z1, z2)) → c6(F90_IN(z0, z2))
Now S is empty

(30) BOUNDS(O(1), O(1))