(0) Obligation:

Clauses:

transpose(A, B) :- transpose_aux(A, [], B).
transpose_aux(.(R, Rs), X1, .(C, Cs)) :- ','(row2col(R, .(C, Cs), Cols1, Accm), transpose_aux(Rs, Accm, Cols1)).
transpose_aux([], X, X).
row2col(.(X, Xs), .(.(X, Ys), Cols), .(Ys, Cols1), .([], As)) :- row2col(Xs, Cols, Cols1, As).
row2col([], [], [], []).

Query: transpose(g,g)

(1) LPReorderTransformerProof (EQUIVALENT transformation)

Reordered facts before rules in definite LP [PROLOG].

(2) Obligation:

Clauses:

transpose_aux([], X, X).
row2col([], [], [], []).
transpose(A, B) :- transpose_aux(A, [], B).
transpose_aux(.(R, Rs), X1, .(C, Cs)) :- ','(row2col(R, .(C, Cs), Cols1, Accm), transpose_aux(Rs, Accm, Cols1)).
row2col(.(X, Xs), .(.(X, Ys), Cols), .(Ys, Cols1), .([], As)) :- row2col(Xs, Cols, Cols1, As).

Query: transpose(g,g)

(3) PrologToCdtProblemTransformerProof (UPPER BOUND (ID) transformation)

Built complexity over-approximating cdt problems from derivation graph.

(4) Obligation:

Complexity Dependency Tuples Problem
Rules:

f1_in([], []) → f1_out1
f1_in(.(z0, z1), .(z2, z3)) → U1(f21_in(z0, z2, z3, z1), .(z0, z1), .(z2, z3))
U1(f21_out1(z0, z1), .(z2, z3), .(z4, z5)) → f1_out1
f32_in([], []) → f32_out1([], [])
f32_in(.(z0, z1), .(.(z0, z2), z3)) → U2(f32_in(z1, z3), .(z0, z1), .(.(z0, z2), z3))
U2(f32_out1(z0, z1), .(z2, z3), .(.(z2, z4), z5)) → f32_out1(.(z4, z0), .([], z1))
f25_in(.(z0, z1), .(z0, z2), z3) → U3(f32_in(z1, z3), .(z0, z1), .(z0, z2), z3)
U3(f32_out1(z0, z1), .(z2, z3), .(z2, z4), z5) → f25_out1(.(z4, z0), .([], z1))
f26_in([], z0, z0) → f26_out1
f26_in(.(z0, z1), z2, .(z3, z4)) → U4(f21_in(z0, z3, z4, z1), .(z0, z1), z2, .(z3, z4))
U4(f21_out1(z0, z1), .(z2, z3), z4, .(z5, z6)) → f26_out1
f21_in(z0, z1, z2, z3) → U5(f25_in(z0, z1, z2), z0, z1, z2, z3)
U5(f25_out1(z0, z1), z2, z3, z4, z5) → U6(f26_in(z5, z1, z0), z2, z3, z4, z5, z0, z1)
U6(f26_out1, z0, z1, z2, z3, z4, z5) → f21_out1(z4, z5)
Tuples:

F1_IN(.(z0, z1), .(z2, z3)) → c1(U1'(f21_in(z0, z2, z3, z1), .(z0, z1), .(z2, z3)), F21_IN(z0, z2, z3, z1))
F32_IN(.(z0, z1), .(.(z0, z2), z3)) → c4(U2'(f32_in(z1, z3), .(z0, z1), .(.(z0, z2), z3)), F32_IN(z1, z3))
F25_IN(.(z0, z1), .(z0, z2), z3) → c6(U3'(f32_in(z1, z3), .(z0, z1), .(z0, z2), z3), F32_IN(z1, z3))
F26_IN(.(z0, z1), z2, .(z3, z4)) → c9(U4'(f21_in(z0, z3, z4, z1), .(z0, z1), z2, .(z3, z4)), F21_IN(z0, z3, z4, z1))
F21_IN(z0, z1, z2, z3) → c11(U5'(f25_in(z0, z1, z2), z0, z1, z2, z3), F25_IN(z0, z1, z2))
U5'(f25_out1(z0, z1), z2, z3, z4, z5) → c12(U6'(f26_in(z5, z1, z0), z2, z3, z4, z5, z0, z1), F26_IN(z5, z1, z0))
S tuples:

F1_IN(.(z0, z1), .(z2, z3)) → c1(U1'(f21_in(z0, z2, z3, z1), .(z0, z1), .(z2, z3)), F21_IN(z0, z2, z3, z1))
F32_IN(.(z0, z1), .(.(z0, z2), z3)) → c4(U2'(f32_in(z1, z3), .(z0, z1), .(.(z0, z2), z3)), F32_IN(z1, z3))
F25_IN(.(z0, z1), .(z0, z2), z3) → c6(U3'(f32_in(z1, z3), .(z0, z1), .(z0, z2), z3), F32_IN(z1, z3))
F26_IN(.(z0, z1), z2, .(z3, z4)) → c9(U4'(f21_in(z0, z3, z4, z1), .(z0, z1), z2, .(z3, z4)), F21_IN(z0, z3, z4, z1))
F21_IN(z0, z1, z2, z3) → c11(U5'(f25_in(z0, z1, z2), z0, z1, z2, z3), F25_IN(z0, z1, z2))
U5'(f25_out1(z0, z1), z2, z3, z4, z5) → c12(U6'(f26_in(z5, z1, z0), z2, z3, z4, z5, z0, z1), F26_IN(z5, z1, z0))
K tuples:none
Defined Rule Symbols:

f1_in, U1, f32_in, U2, f25_in, U3, f26_in, U4, f21_in, U5, U6

Defined Pair Symbols:

F1_IN, F32_IN, F25_IN, F26_IN, F21_IN, U5'

Compound Symbols:

c1, c4, c6, c9, c11, c12

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

Split RHS of tuples not part of any SCC

(6) Obligation:

Complexity Dependency Tuples Problem
Rules:

f1_in([], []) → f1_out1
f1_in(.(z0, z1), .(z2, z3)) → U1(f21_in(z0, z2, z3, z1), .(z0, z1), .(z2, z3))
U1(f21_out1(z0, z1), .(z2, z3), .(z4, z5)) → f1_out1
f32_in([], []) → f32_out1([], [])
f32_in(.(z0, z1), .(.(z0, z2), z3)) → U2(f32_in(z1, z3), .(z0, z1), .(.(z0, z2), z3))
U2(f32_out1(z0, z1), .(z2, z3), .(.(z2, z4), z5)) → f32_out1(.(z4, z0), .([], z1))
f25_in(.(z0, z1), .(z0, z2), z3) → U3(f32_in(z1, z3), .(z0, z1), .(z0, z2), z3)
U3(f32_out1(z0, z1), .(z2, z3), .(z2, z4), z5) → f25_out1(.(z4, z0), .([], z1))
f26_in([], z0, z0) → f26_out1
f26_in(.(z0, z1), z2, .(z3, z4)) → U4(f21_in(z0, z3, z4, z1), .(z0, z1), z2, .(z3, z4))
U4(f21_out1(z0, z1), .(z2, z3), z4, .(z5, z6)) → f26_out1
f21_in(z0, z1, z2, z3) → U5(f25_in(z0, z1, z2), z0, z1, z2, z3)
U5(f25_out1(z0, z1), z2, z3, z4, z5) → U6(f26_in(z5, z1, z0), z2, z3, z4, z5, z0, z1)
U6(f26_out1, z0, z1, z2, z3, z4, z5) → f21_out1(z4, z5)
Tuples:

F32_IN(.(z0, z1), .(.(z0, z2), z3)) → c4(U2'(f32_in(z1, z3), .(z0, z1), .(.(z0, z2), z3)), F32_IN(z1, z3))
F26_IN(.(z0, z1), z2, .(z3, z4)) → c9(U4'(f21_in(z0, z3, z4, z1), .(z0, z1), z2, .(z3, z4)), F21_IN(z0, z3, z4, z1))
F21_IN(z0, z1, z2, z3) → c11(U5'(f25_in(z0, z1, z2), z0, z1, z2, z3), F25_IN(z0, z1, z2))
U5'(f25_out1(z0, z1), z2, z3, z4, z5) → c12(U6'(f26_in(z5, z1, z0), z2, z3, z4, z5, z0, z1), F26_IN(z5, z1, z0))
F1_IN(.(z0, z1), .(z2, z3)) → c(U1'(f21_in(z0, z2, z3, z1), .(z0, z1), .(z2, z3)))
F1_IN(.(z0, z1), .(z2, z3)) → c(F21_IN(z0, z2, z3, z1))
F25_IN(.(z0, z1), .(z0, z2), z3) → c(U3'(f32_in(z1, z3), .(z0, z1), .(z0, z2), z3))
F25_IN(.(z0, z1), .(z0, z2), z3) → c(F32_IN(z1, z3))
S tuples:

F32_IN(.(z0, z1), .(.(z0, z2), z3)) → c4(U2'(f32_in(z1, z3), .(z0, z1), .(.(z0, z2), z3)), F32_IN(z1, z3))
F26_IN(.(z0, z1), z2, .(z3, z4)) → c9(U4'(f21_in(z0, z3, z4, z1), .(z0, z1), z2, .(z3, z4)), F21_IN(z0, z3, z4, z1))
F21_IN(z0, z1, z2, z3) → c11(U5'(f25_in(z0, z1, z2), z0, z1, z2, z3), F25_IN(z0, z1, z2))
U5'(f25_out1(z0, z1), z2, z3, z4, z5) → c12(U6'(f26_in(z5, z1, z0), z2, z3, z4, z5, z0, z1), F26_IN(z5, z1, z0))
F1_IN(.(z0, z1), .(z2, z3)) → c(U1'(f21_in(z0, z2, z3, z1), .(z0, z1), .(z2, z3)))
F1_IN(.(z0, z1), .(z2, z3)) → c(F21_IN(z0, z2, z3, z1))
F25_IN(.(z0, z1), .(z0, z2), z3) → c(U3'(f32_in(z1, z3), .(z0, z1), .(z0, z2), z3))
F25_IN(.(z0, z1), .(z0, z2), z3) → c(F32_IN(z1, z3))
K tuples:none
Defined Rule Symbols:

f1_in, U1, f32_in, U2, f25_in, U3, f26_in, U4, f21_in, U5, U6

Defined Pair Symbols:

F32_IN, F26_IN, F21_IN, U5', F1_IN, F25_IN

Compound Symbols:

c4, c9, c11, c12, c

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

Removed 5 trailing tuple parts

(8) Obligation:

Complexity Dependency Tuples Problem
Rules:

f1_in([], []) → f1_out1
f1_in(.(z0, z1), .(z2, z3)) → U1(f21_in(z0, z2, z3, z1), .(z0, z1), .(z2, z3))
U1(f21_out1(z0, z1), .(z2, z3), .(z4, z5)) → f1_out1
f32_in([], []) → f32_out1([], [])
f32_in(.(z0, z1), .(.(z0, z2), z3)) → U2(f32_in(z1, z3), .(z0, z1), .(.(z0, z2), z3))
U2(f32_out1(z0, z1), .(z2, z3), .(.(z2, z4), z5)) → f32_out1(.(z4, z0), .([], z1))
f25_in(.(z0, z1), .(z0, z2), z3) → U3(f32_in(z1, z3), .(z0, z1), .(z0, z2), z3)
U3(f32_out1(z0, z1), .(z2, z3), .(z2, z4), z5) → f25_out1(.(z4, z0), .([], z1))
f26_in([], z0, z0) → f26_out1
f26_in(.(z0, z1), z2, .(z3, z4)) → U4(f21_in(z0, z3, z4, z1), .(z0, z1), z2, .(z3, z4))
U4(f21_out1(z0, z1), .(z2, z3), z4, .(z5, z6)) → f26_out1
f21_in(z0, z1, z2, z3) → U5(f25_in(z0, z1, z2), z0, z1, z2, z3)
U5(f25_out1(z0, z1), z2, z3, z4, z5) → U6(f26_in(z5, z1, z0), z2, z3, z4, z5, z0, z1)
U6(f26_out1, z0, z1, z2, z3, z4, z5) → f21_out1(z4, z5)
Tuples:

F21_IN(z0, z1, z2, z3) → c11(U5'(f25_in(z0, z1, z2), z0, z1, z2, z3), F25_IN(z0, z1, z2))
F1_IN(.(z0, z1), .(z2, z3)) → c(F21_IN(z0, z2, z3, z1))
F25_IN(.(z0, z1), .(z0, z2), z3) → c(F32_IN(z1, z3))
F32_IN(.(z0, z1), .(.(z0, z2), z3)) → c4(F32_IN(z1, z3))
F26_IN(.(z0, z1), z2, .(z3, z4)) → c9(F21_IN(z0, z3, z4, z1))
U5'(f25_out1(z0, z1), z2, z3, z4, z5) → c12(F26_IN(z5, z1, z0))
F1_IN(.(z0, z1), .(z2, z3)) → c
F25_IN(.(z0, z1), .(z0, z2), z3) → c
S tuples:

F21_IN(z0, z1, z2, z3) → c11(U5'(f25_in(z0, z1, z2), z0, z1, z2, z3), F25_IN(z0, z1, z2))
F1_IN(.(z0, z1), .(z2, z3)) → c(F21_IN(z0, z2, z3, z1))
F25_IN(.(z0, z1), .(z0, z2), z3) → c(F32_IN(z1, z3))
F32_IN(.(z0, z1), .(.(z0, z2), z3)) → c4(F32_IN(z1, z3))
F26_IN(.(z0, z1), z2, .(z3, z4)) → c9(F21_IN(z0, z3, z4, z1))
U5'(f25_out1(z0, z1), z2, z3, z4, z5) → c12(F26_IN(z5, z1, z0))
F1_IN(.(z0, z1), .(z2, z3)) → c
F25_IN(.(z0, z1), .(z0, z2), z3) → c
K tuples:none
Defined Rule Symbols:

f1_in, U1, f32_in, U2, f25_in, U3, f26_in, U4, f21_in, U5, U6

Defined Pair Symbols:

F21_IN, F1_IN, F25_IN, F32_IN, F26_IN, U5'

Compound Symbols:

c11, c, c4, c9, c12, c

(9) CdtKnowledgeProof (EQUIVALENT transformation)

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

F1_IN(.(z0, z1), .(z2, z3)) → c(F21_IN(z0, z2, z3, z1))
F1_IN(.(z0, z1), .(z2, z3)) → c

(10) Obligation:

Complexity Dependency Tuples Problem
Rules:

f1_in([], []) → f1_out1
f1_in(.(z0, z1), .(z2, z3)) → U1(f21_in(z0, z2, z3, z1), .(z0, z1), .(z2, z3))
U1(f21_out1(z0, z1), .(z2, z3), .(z4, z5)) → f1_out1
f32_in([], []) → f32_out1([], [])
f32_in(.(z0, z1), .(.(z0, z2), z3)) → U2(f32_in(z1, z3), .(z0, z1), .(.(z0, z2), z3))
U2(f32_out1(z0, z1), .(z2, z3), .(.(z2, z4), z5)) → f32_out1(.(z4, z0), .([], z1))
f25_in(.(z0, z1), .(z0, z2), z3) → U3(f32_in(z1, z3), .(z0, z1), .(z0, z2), z3)
U3(f32_out1(z0, z1), .(z2, z3), .(z2, z4), z5) → f25_out1(.(z4, z0), .([], z1))
f26_in([], z0, z0) → f26_out1
f26_in(.(z0, z1), z2, .(z3, z4)) → U4(f21_in(z0, z3, z4, z1), .(z0, z1), z2, .(z3, z4))
U4(f21_out1(z0, z1), .(z2, z3), z4, .(z5, z6)) → f26_out1
f21_in(z0, z1, z2, z3) → U5(f25_in(z0, z1, z2), z0, z1, z2, z3)
U5(f25_out1(z0, z1), z2, z3, z4, z5) → U6(f26_in(z5, z1, z0), z2, z3, z4, z5, z0, z1)
U6(f26_out1, z0, z1, z2, z3, z4, z5) → f21_out1(z4, z5)
Tuples:

F21_IN(z0, z1, z2, z3) → c11(U5'(f25_in(z0, z1, z2), z0, z1, z2, z3), F25_IN(z0, z1, z2))
F1_IN(.(z0, z1), .(z2, z3)) → c(F21_IN(z0, z2, z3, z1))
F25_IN(.(z0, z1), .(z0, z2), z3) → c(F32_IN(z1, z3))
F32_IN(.(z0, z1), .(.(z0, z2), z3)) → c4(F32_IN(z1, z3))
F26_IN(.(z0, z1), z2, .(z3, z4)) → c9(F21_IN(z0, z3, z4, z1))
U5'(f25_out1(z0, z1), z2, z3, z4, z5) → c12(F26_IN(z5, z1, z0))
F1_IN(.(z0, z1), .(z2, z3)) → c
F25_IN(.(z0, z1), .(z0, z2), z3) → c
S tuples:

F21_IN(z0, z1, z2, z3) → c11(U5'(f25_in(z0, z1, z2), z0, z1, z2, z3), F25_IN(z0, z1, z2))
F25_IN(.(z0, z1), .(z0, z2), z3) → c(F32_IN(z1, z3))
F32_IN(.(z0, z1), .(.(z0, z2), z3)) → c4(F32_IN(z1, z3))
F26_IN(.(z0, z1), z2, .(z3, z4)) → c9(F21_IN(z0, z3, z4, z1))
U5'(f25_out1(z0, z1), z2, z3, z4, z5) → c12(F26_IN(z5, z1, z0))
F25_IN(.(z0, z1), .(z0, z2), z3) → c
K tuples:

F1_IN(.(z0, z1), .(z2, z3)) → c(F21_IN(z0, z2, z3, z1))
F1_IN(.(z0, z1), .(z2, z3)) → c
Defined Rule Symbols:

f1_in, U1, f32_in, U2, f25_in, U3, f26_in, U4, f21_in, U5, U6

Defined Pair Symbols:

F21_IN, F1_IN, F25_IN, F32_IN, F26_IN, U5'

Compound Symbols:

c11, c, c4, c9, c12, c

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

F21_IN(z0, z1, z2, z3) → c11(U5'(f25_in(z0, z1, z2), z0, z1, z2, z3), F25_IN(z0, z1, z2))
F25_IN(.(z0, z1), .(z0, z2), z3) → c(F32_IN(z1, z3))
F26_IN(.(z0, z1), z2, .(z3, z4)) → c9(F21_IN(z0, z3, z4, z1))
F25_IN(.(z0, z1), .(z0, z2), z3) → c
We considered the (Usable) Rules:

f25_in(.(z0, z1), .(z0, z2), z3) → U3(f32_in(z1, z3), .(z0, z1), .(z0, z2), z3)
f32_in([], []) → f32_out1([], [])
f32_in(.(z0, z1), .(.(z0, z2), z3)) → U2(f32_in(z1, z3), .(z0, z1), .(.(z0, z2), z3))
U3(f32_out1(z0, z1), .(z2, z3), .(z2, z4), z5) → f25_out1(.(z4, z0), .([], z1))
U2(f32_out1(z0, z1), .(z2, z3), .(.(z2, z4), z5)) → f32_out1(.(z4, z0), .([], z1))
And the Tuples:

F21_IN(z0, z1, z2, z3) → c11(U5'(f25_in(z0, z1, z2), z0, z1, z2, z3), F25_IN(z0, z1, z2))
F1_IN(.(z0, z1), .(z2, z3)) → c(F21_IN(z0, z2, z3, z1))
F25_IN(.(z0, z1), .(z0, z2), z3) → c(F32_IN(z1, z3))
F32_IN(.(z0, z1), .(.(z0, z2), z3)) → c4(F32_IN(z1, z3))
F26_IN(.(z0, z1), z2, .(z3, z4)) → c9(F21_IN(z0, z3, z4, z1))
U5'(f25_out1(z0, z1), z2, z3, z4, z5) → c12(F26_IN(z5, z1, z0))
F1_IN(.(z0, z1), .(z2, z3)) → c
F25_IN(.(z0, z1), .(z0, z2), z3) → c
The order we found is given by the following interpretation:
Polynomial interpretation :

POL(.(x1, x2)) = [2] + x1 + x2   
POL(F1_IN(x1, x2)) = [2]x1 + [2]x2   
POL(F21_IN(x1, x2, x3, x4)) = [2] + [2]x1 + [2]x4   
POL(F25_IN(x1, x2, x3)) = [2]x1   
POL(F26_IN(x1, x2, x3)) = [1] + [2]x1   
POL(F32_IN(x1, x2)) = 0   
POL(U2(x1, x2, x3)) = 0   
POL(U3(x1, x2, x3, x4)) = 0   
POL(U5'(x1, x2, x3, x4, x5)) = [1] + [2]x5   
POL([]) = 0   
POL(c) = 0   
POL(c(x1)) = x1   
POL(c11(x1, x2)) = x1 + x2   
POL(c12(x1)) = x1   
POL(c4(x1)) = x1   
POL(c9(x1)) = x1   
POL(f25_in(x1, x2, x3)) = 0   
POL(f25_out1(x1, x2)) = 0   
POL(f32_in(x1, x2)) = 0   
POL(f32_out1(x1, x2)) = 0   

(12) Obligation:

Complexity Dependency Tuples Problem
Rules:

f1_in([], []) → f1_out1
f1_in(.(z0, z1), .(z2, z3)) → U1(f21_in(z0, z2, z3, z1), .(z0, z1), .(z2, z3))
U1(f21_out1(z0, z1), .(z2, z3), .(z4, z5)) → f1_out1
f32_in([], []) → f32_out1([], [])
f32_in(.(z0, z1), .(.(z0, z2), z3)) → U2(f32_in(z1, z3), .(z0, z1), .(.(z0, z2), z3))
U2(f32_out1(z0, z1), .(z2, z3), .(.(z2, z4), z5)) → f32_out1(.(z4, z0), .([], z1))
f25_in(.(z0, z1), .(z0, z2), z3) → U3(f32_in(z1, z3), .(z0, z1), .(z0, z2), z3)
U3(f32_out1(z0, z1), .(z2, z3), .(z2, z4), z5) → f25_out1(.(z4, z0), .([], z1))
f26_in([], z0, z0) → f26_out1
f26_in(.(z0, z1), z2, .(z3, z4)) → U4(f21_in(z0, z3, z4, z1), .(z0, z1), z2, .(z3, z4))
U4(f21_out1(z0, z1), .(z2, z3), z4, .(z5, z6)) → f26_out1
f21_in(z0, z1, z2, z3) → U5(f25_in(z0, z1, z2), z0, z1, z2, z3)
U5(f25_out1(z0, z1), z2, z3, z4, z5) → U6(f26_in(z5, z1, z0), z2, z3, z4, z5, z0, z1)
U6(f26_out1, z0, z1, z2, z3, z4, z5) → f21_out1(z4, z5)
Tuples:

F21_IN(z0, z1, z2, z3) → c11(U5'(f25_in(z0, z1, z2), z0, z1, z2, z3), F25_IN(z0, z1, z2))
F1_IN(.(z0, z1), .(z2, z3)) → c(F21_IN(z0, z2, z3, z1))
F25_IN(.(z0, z1), .(z0, z2), z3) → c(F32_IN(z1, z3))
F32_IN(.(z0, z1), .(.(z0, z2), z3)) → c4(F32_IN(z1, z3))
F26_IN(.(z0, z1), z2, .(z3, z4)) → c9(F21_IN(z0, z3, z4, z1))
U5'(f25_out1(z0, z1), z2, z3, z4, z5) → c12(F26_IN(z5, z1, z0))
F1_IN(.(z0, z1), .(z2, z3)) → c
F25_IN(.(z0, z1), .(z0, z2), z3) → c
S tuples:

F32_IN(.(z0, z1), .(.(z0, z2), z3)) → c4(F32_IN(z1, z3))
U5'(f25_out1(z0, z1), z2, z3, z4, z5) → c12(F26_IN(z5, z1, z0))
K tuples:

F1_IN(.(z0, z1), .(z2, z3)) → c(F21_IN(z0, z2, z3, z1))
F1_IN(.(z0, z1), .(z2, z3)) → c
F21_IN(z0, z1, z2, z3) → c11(U5'(f25_in(z0, z1, z2), z0, z1, z2, z3), F25_IN(z0, z1, z2))
F25_IN(.(z0, z1), .(z0, z2), z3) → c(F32_IN(z1, z3))
F26_IN(.(z0, z1), z2, .(z3, z4)) → c9(F21_IN(z0, z3, z4, z1))
F25_IN(.(z0, z1), .(z0, z2), z3) → c
Defined Rule Symbols:

f1_in, U1, f32_in, U2, f25_in, U3, f26_in, U4, f21_in, U5, U6

Defined Pair Symbols:

F21_IN, F1_IN, F25_IN, F32_IN, F26_IN, U5'

Compound Symbols:

c11, c, c4, c9, c12, c

(13) CdtKnowledgeProof (EQUIVALENT transformation)

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

U5'(f25_out1(z0, z1), z2, z3, z4, z5) → c12(F26_IN(z5, z1, z0))
F26_IN(.(z0, z1), z2, .(z3, z4)) → c9(F21_IN(z0, z3, z4, z1))

(14) Obligation:

Complexity Dependency Tuples Problem
Rules:

f1_in([], []) → f1_out1
f1_in(.(z0, z1), .(z2, z3)) → U1(f21_in(z0, z2, z3, z1), .(z0, z1), .(z2, z3))
U1(f21_out1(z0, z1), .(z2, z3), .(z4, z5)) → f1_out1
f32_in([], []) → f32_out1([], [])
f32_in(.(z0, z1), .(.(z0, z2), z3)) → U2(f32_in(z1, z3), .(z0, z1), .(.(z0, z2), z3))
U2(f32_out1(z0, z1), .(z2, z3), .(.(z2, z4), z5)) → f32_out1(.(z4, z0), .([], z1))
f25_in(.(z0, z1), .(z0, z2), z3) → U3(f32_in(z1, z3), .(z0, z1), .(z0, z2), z3)
U3(f32_out1(z0, z1), .(z2, z3), .(z2, z4), z5) → f25_out1(.(z4, z0), .([], z1))
f26_in([], z0, z0) → f26_out1
f26_in(.(z0, z1), z2, .(z3, z4)) → U4(f21_in(z0, z3, z4, z1), .(z0, z1), z2, .(z3, z4))
U4(f21_out1(z0, z1), .(z2, z3), z4, .(z5, z6)) → f26_out1
f21_in(z0, z1, z2, z3) → U5(f25_in(z0, z1, z2), z0, z1, z2, z3)
U5(f25_out1(z0, z1), z2, z3, z4, z5) → U6(f26_in(z5, z1, z0), z2, z3, z4, z5, z0, z1)
U6(f26_out1, z0, z1, z2, z3, z4, z5) → f21_out1(z4, z5)
Tuples:

F21_IN(z0, z1, z2, z3) → c11(U5'(f25_in(z0, z1, z2), z0, z1, z2, z3), F25_IN(z0, z1, z2))
F1_IN(.(z0, z1), .(z2, z3)) → c(F21_IN(z0, z2, z3, z1))
F25_IN(.(z0, z1), .(z0, z2), z3) → c(F32_IN(z1, z3))
F32_IN(.(z0, z1), .(.(z0, z2), z3)) → c4(F32_IN(z1, z3))
F26_IN(.(z0, z1), z2, .(z3, z4)) → c9(F21_IN(z0, z3, z4, z1))
U5'(f25_out1(z0, z1), z2, z3, z4, z5) → c12(F26_IN(z5, z1, z0))
F1_IN(.(z0, z1), .(z2, z3)) → c
F25_IN(.(z0, z1), .(z0, z2), z3) → c
S tuples:

F32_IN(.(z0, z1), .(.(z0, z2), z3)) → c4(F32_IN(z1, z3))
K tuples:

F1_IN(.(z0, z1), .(z2, z3)) → c(F21_IN(z0, z2, z3, z1))
F1_IN(.(z0, z1), .(z2, z3)) → c
F21_IN(z0, z1, z2, z3) → c11(U5'(f25_in(z0, z1, z2), z0, z1, z2, z3), F25_IN(z0, z1, z2))
F25_IN(.(z0, z1), .(z0, z2), z3) → c(F32_IN(z1, z3))
F26_IN(.(z0, z1), z2, .(z3, z4)) → c9(F21_IN(z0, z3, z4, z1))
F25_IN(.(z0, z1), .(z0, z2), z3) → c
U5'(f25_out1(z0, z1), z2, z3, z4, z5) → c12(F26_IN(z5, z1, z0))
Defined Rule Symbols:

f1_in, U1, f32_in, U2, f25_in, U3, f26_in, U4, f21_in, U5, U6

Defined Pair Symbols:

F21_IN, F1_IN, F25_IN, F32_IN, F26_IN, U5'

Compound Symbols:

c11, c, c4, c9, c12, c

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

F32_IN(.(z0, z1), .(.(z0, z2), z3)) → c4(F32_IN(z1, z3))
We considered the (Usable) Rules:

f25_in(.(z0, z1), .(z0, z2), z3) → U3(f32_in(z1, z3), .(z0, z1), .(z0, z2), z3)
f32_in([], []) → f32_out1([], [])
f32_in(.(z0, z1), .(.(z0, z2), z3)) → U2(f32_in(z1, z3), .(z0, z1), .(.(z0, z2), z3))
U3(f32_out1(z0, z1), .(z2, z3), .(z2, z4), z5) → f25_out1(.(z4, z0), .([], z1))
U2(f32_out1(z0, z1), .(z2, z3), .(.(z2, z4), z5)) → f32_out1(.(z4, z0), .([], z1))
And the Tuples:

F21_IN(z0, z1, z2, z3) → c11(U5'(f25_in(z0, z1, z2), z0, z1, z2, z3), F25_IN(z0, z1, z2))
F1_IN(.(z0, z1), .(z2, z3)) → c(F21_IN(z0, z2, z3, z1))
F25_IN(.(z0, z1), .(z0, z2), z3) → c(F32_IN(z1, z3))
F32_IN(.(z0, z1), .(.(z0, z2), z3)) → c4(F32_IN(z1, z3))
F26_IN(.(z0, z1), z2, .(z3, z4)) → c9(F21_IN(z0, z3, z4, z1))
U5'(f25_out1(z0, z1), z2, z3, z4, z5) → c12(F26_IN(z5, z1, z0))
F1_IN(.(z0, z1), .(z2, z3)) → c
F25_IN(.(z0, z1), .(z0, z2), z3) → c
The order we found is given by the following interpretation:
Polynomial interpretation :

POL(.(x1, x2)) = [1] + x1 + x2   
POL(F1_IN(x1, x2)) = x1   
POL(F21_IN(x1, x2, x3, x4)) = [1] + x1 + x4   
POL(F25_IN(x1, x2, x3)) = x1   
POL(F26_IN(x1, x2, x3)) = x1   
POL(F32_IN(x1, x2)) = [1] + x1   
POL(U2(x1, x2, x3)) = 0   
POL(U3(x1, x2, x3, x4)) = 0   
POL(U5'(x1, x2, x3, x4, x5)) = x5   
POL([]) = 0   
POL(c) = 0   
POL(c(x1)) = x1   
POL(c11(x1, x2)) = x1 + x2   
POL(c12(x1)) = x1   
POL(c4(x1)) = x1   
POL(c9(x1)) = x1   
POL(f25_in(x1, x2, x3)) = 0   
POL(f25_out1(x1, x2)) = 0   
POL(f32_in(x1, x2)) = 0   
POL(f32_out1(x1, x2)) = 0   

(16) Obligation:

Complexity Dependency Tuples Problem
Rules:

f1_in([], []) → f1_out1
f1_in(.(z0, z1), .(z2, z3)) → U1(f21_in(z0, z2, z3, z1), .(z0, z1), .(z2, z3))
U1(f21_out1(z0, z1), .(z2, z3), .(z4, z5)) → f1_out1
f32_in([], []) → f32_out1([], [])
f32_in(.(z0, z1), .(.(z0, z2), z3)) → U2(f32_in(z1, z3), .(z0, z1), .(.(z0, z2), z3))
U2(f32_out1(z0, z1), .(z2, z3), .(.(z2, z4), z5)) → f32_out1(.(z4, z0), .([], z1))
f25_in(.(z0, z1), .(z0, z2), z3) → U3(f32_in(z1, z3), .(z0, z1), .(z0, z2), z3)
U3(f32_out1(z0, z1), .(z2, z3), .(z2, z4), z5) → f25_out1(.(z4, z0), .([], z1))
f26_in([], z0, z0) → f26_out1
f26_in(.(z0, z1), z2, .(z3, z4)) → U4(f21_in(z0, z3, z4, z1), .(z0, z1), z2, .(z3, z4))
U4(f21_out1(z0, z1), .(z2, z3), z4, .(z5, z6)) → f26_out1
f21_in(z0, z1, z2, z3) → U5(f25_in(z0, z1, z2), z0, z1, z2, z3)
U5(f25_out1(z0, z1), z2, z3, z4, z5) → U6(f26_in(z5, z1, z0), z2, z3, z4, z5, z0, z1)
U6(f26_out1, z0, z1, z2, z3, z4, z5) → f21_out1(z4, z5)
Tuples:

F21_IN(z0, z1, z2, z3) → c11(U5'(f25_in(z0, z1, z2), z0, z1, z2, z3), F25_IN(z0, z1, z2))
F1_IN(.(z0, z1), .(z2, z3)) → c(F21_IN(z0, z2, z3, z1))
F25_IN(.(z0, z1), .(z0, z2), z3) → c(F32_IN(z1, z3))
F32_IN(.(z0, z1), .(.(z0, z2), z3)) → c4(F32_IN(z1, z3))
F26_IN(.(z0, z1), z2, .(z3, z4)) → c9(F21_IN(z0, z3, z4, z1))
U5'(f25_out1(z0, z1), z2, z3, z4, z5) → c12(F26_IN(z5, z1, z0))
F1_IN(.(z0, z1), .(z2, z3)) → c
F25_IN(.(z0, z1), .(z0, z2), z3) → c
S tuples:none
K tuples:

F1_IN(.(z0, z1), .(z2, z3)) → c(F21_IN(z0, z2, z3, z1))
F1_IN(.(z0, z1), .(z2, z3)) → c
F21_IN(z0, z1, z2, z3) → c11(U5'(f25_in(z0, z1, z2), z0, z1, z2, z3), F25_IN(z0, z1, z2))
F25_IN(.(z0, z1), .(z0, z2), z3) → c(F32_IN(z1, z3))
F26_IN(.(z0, z1), z2, .(z3, z4)) → c9(F21_IN(z0, z3, z4, z1))
F25_IN(.(z0, z1), .(z0, z2), z3) → c
U5'(f25_out1(z0, z1), z2, z3, z4, z5) → c12(F26_IN(z5, z1, z0))
F32_IN(.(z0, z1), .(.(z0, z2), z3)) → c4(F32_IN(z1, z3))
Defined Rule Symbols:

f1_in, U1, f32_in, U2, f25_in, U3, f26_in, U4, f21_in, U5, U6

Defined Pair Symbols:

F21_IN, F1_IN, F25_IN, F32_IN, F26_IN, U5'

Compound Symbols:

c11, c, c4, c9, c12, c

(17) SIsEmptyProof (EQUIVALENT transformation)

The set S is empty

(18) BOUNDS(O(1), O(1))

(19) PrologToCdtProblemTransformerProof (UPPER BOUND (ID) transformation)

Built complexity over-approximating cdt problems from derivation graph.

(20) Obligation:

Complexity Dependency Tuples Problem
Rules:

f2_in([], []) → f2_out1
f2_in(.(z0, z1), .(z2, z3)) → U1(f17_in(z0, z2, z3, z1), .(z0, z1), .(z2, z3))
U1(f17_out1(z0, z1), .(z2, z3), .(z4, z5)) → f2_out1
f29_in([], []) → f29_out1([], [])
f29_in(.(z0, z1), .(.(z0, z2), z3)) → U2(f29_in(z1, z3), .(z0, z1), .(.(z0, z2), z3))
U2(f29_out1(z0, z1), .(z2, z3), .(.(z2, z4), z5)) → f29_out1(.(z4, z0), .([], z1))
f19_in(.(z0, z1), .(z0, z2), z3) → U3(f29_in(z1, z3), .(z0, z1), .(z0, z2), z3)
U3(f29_out1(z0, z1), .(z2, z3), .(z2, z4), z5) → f19_out1(.(z4, z0), .([], z1))
f20_in([], z0, z0) → f20_out1
f20_in(.(z0, z1), z2, .(z3, z4)) → U4(f17_in(z0, z3, z4, z1), .(z0, z1), z2, .(z3, z4))
U4(f17_out1(z0, z1), .(z2, z3), z4, .(z5, z6)) → f20_out1
f17_in(z0, z1, z2, z3) → U5(f19_in(z0, z1, z2), z0, z1, z2, z3)
U5(f19_out1(z0, z1), z2, z3, z4, z5) → U6(f20_in(z5, z1, z0), z2, z3, z4, z5, z0, z1)
U6(f20_out1, z0, z1, z2, z3, z4, z5) → f17_out1(z4, z5)
Tuples:

F2_IN(.(z0, z1), .(z2, z3)) → c1(U1'(f17_in(z0, z2, z3, z1), .(z0, z1), .(z2, z3)), F17_IN(z0, z2, z3, z1))
F29_IN(.(z0, z1), .(.(z0, z2), z3)) → c4(U2'(f29_in(z1, z3), .(z0, z1), .(.(z0, z2), z3)), F29_IN(z1, z3))
F19_IN(.(z0, z1), .(z0, z2), z3) → c6(U3'(f29_in(z1, z3), .(z0, z1), .(z0, z2), z3), F29_IN(z1, z3))
F20_IN(.(z0, z1), z2, .(z3, z4)) → c9(U4'(f17_in(z0, z3, z4, z1), .(z0, z1), z2, .(z3, z4)), F17_IN(z0, z3, z4, z1))
F17_IN(z0, z1, z2, z3) → c11(U5'(f19_in(z0, z1, z2), z0, z1, z2, z3), F19_IN(z0, z1, z2))
U5'(f19_out1(z0, z1), z2, z3, z4, z5) → c12(U6'(f20_in(z5, z1, z0), z2, z3, z4, z5, z0, z1), F20_IN(z5, z1, z0))
S tuples:

F2_IN(.(z0, z1), .(z2, z3)) → c1(U1'(f17_in(z0, z2, z3, z1), .(z0, z1), .(z2, z3)), F17_IN(z0, z2, z3, z1))
F29_IN(.(z0, z1), .(.(z0, z2), z3)) → c4(U2'(f29_in(z1, z3), .(z0, z1), .(.(z0, z2), z3)), F29_IN(z1, z3))
F19_IN(.(z0, z1), .(z0, z2), z3) → c6(U3'(f29_in(z1, z3), .(z0, z1), .(z0, z2), z3), F29_IN(z1, z3))
F20_IN(.(z0, z1), z2, .(z3, z4)) → c9(U4'(f17_in(z0, z3, z4, z1), .(z0, z1), z2, .(z3, z4)), F17_IN(z0, z3, z4, z1))
F17_IN(z0, z1, z2, z3) → c11(U5'(f19_in(z0, z1, z2), z0, z1, z2, z3), F19_IN(z0, z1, z2))
U5'(f19_out1(z0, z1), z2, z3, z4, z5) → c12(U6'(f20_in(z5, z1, z0), z2, z3, z4, z5, z0, z1), F20_IN(z5, z1, z0))
K tuples:none
Defined Rule Symbols:

f2_in, U1, f29_in, U2, f19_in, U3, f20_in, U4, f17_in, U5, U6

Defined Pair Symbols:

F2_IN, F29_IN, F19_IN, F20_IN, F17_IN, U5'

Compound Symbols:

c1, c4, c6, c9, c11, c12

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

Split RHS of tuples not part of any SCC

(22) Obligation:

Complexity Dependency Tuples Problem
Rules:

f2_in([], []) → f2_out1
f2_in(.(z0, z1), .(z2, z3)) → U1(f17_in(z0, z2, z3, z1), .(z0, z1), .(z2, z3))
U1(f17_out1(z0, z1), .(z2, z3), .(z4, z5)) → f2_out1
f29_in([], []) → f29_out1([], [])
f29_in(.(z0, z1), .(.(z0, z2), z3)) → U2(f29_in(z1, z3), .(z0, z1), .(.(z0, z2), z3))
U2(f29_out1(z0, z1), .(z2, z3), .(.(z2, z4), z5)) → f29_out1(.(z4, z0), .([], z1))
f19_in(.(z0, z1), .(z0, z2), z3) → U3(f29_in(z1, z3), .(z0, z1), .(z0, z2), z3)
U3(f29_out1(z0, z1), .(z2, z3), .(z2, z4), z5) → f19_out1(.(z4, z0), .([], z1))
f20_in([], z0, z0) → f20_out1
f20_in(.(z0, z1), z2, .(z3, z4)) → U4(f17_in(z0, z3, z4, z1), .(z0, z1), z2, .(z3, z4))
U4(f17_out1(z0, z1), .(z2, z3), z4, .(z5, z6)) → f20_out1
f17_in(z0, z1, z2, z3) → U5(f19_in(z0, z1, z2), z0, z1, z2, z3)
U5(f19_out1(z0, z1), z2, z3, z4, z5) → U6(f20_in(z5, z1, z0), z2, z3, z4, z5, z0, z1)
U6(f20_out1, z0, z1, z2, z3, z4, z5) → f17_out1(z4, z5)
Tuples:

F29_IN(.(z0, z1), .(.(z0, z2), z3)) → c4(U2'(f29_in(z1, z3), .(z0, z1), .(.(z0, z2), z3)), F29_IN(z1, z3))
F20_IN(.(z0, z1), z2, .(z3, z4)) → c9(U4'(f17_in(z0, z3, z4, z1), .(z0, z1), z2, .(z3, z4)), F17_IN(z0, z3, z4, z1))
F17_IN(z0, z1, z2, z3) → c11(U5'(f19_in(z0, z1, z2), z0, z1, z2, z3), F19_IN(z0, z1, z2))
U5'(f19_out1(z0, z1), z2, z3, z4, z5) → c12(U6'(f20_in(z5, z1, z0), z2, z3, z4, z5, z0, z1), F20_IN(z5, z1, z0))
F2_IN(.(z0, z1), .(z2, z3)) → c(U1'(f17_in(z0, z2, z3, z1), .(z0, z1), .(z2, z3)))
F2_IN(.(z0, z1), .(z2, z3)) → c(F17_IN(z0, z2, z3, z1))
F19_IN(.(z0, z1), .(z0, z2), z3) → c(U3'(f29_in(z1, z3), .(z0, z1), .(z0, z2), z3))
F19_IN(.(z0, z1), .(z0, z2), z3) → c(F29_IN(z1, z3))
S tuples:

F29_IN(.(z0, z1), .(.(z0, z2), z3)) → c4(U2'(f29_in(z1, z3), .(z0, z1), .(.(z0, z2), z3)), F29_IN(z1, z3))
F20_IN(.(z0, z1), z2, .(z3, z4)) → c9(U4'(f17_in(z0, z3, z4, z1), .(z0, z1), z2, .(z3, z4)), F17_IN(z0, z3, z4, z1))
F17_IN(z0, z1, z2, z3) → c11(U5'(f19_in(z0, z1, z2), z0, z1, z2, z3), F19_IN(z0, z1, z2))
U5'(f19_out1(z0, z1), z2, z3, z4, z5) → c12(U6'(f20_in(z5, z1, z0), z2, z3, z4, z5, z0, z1), F20_IN(z5, z1, z0))
F2_IN(.(z0, z1), .(z2, z3)) → c(U1'(f17_in(z0, z2, z3, z1), .(z0, z1), .(z2, z3)))
F2_IN(.(z0, z1), .(z2, z3)) → c(F17_IN(z0, z2, z3, z1))
F19_IN(.(z0, z1), .(z0, z2), z3) → c(U3'(f29_in(z1, z3), .(z0, z1), .(z0, z2), z3))
F19_IN(.(z0, z1), .(z0, z2), z3) → c(F29_IN(z1, z3))
K tuples:none
Defined Rule Symbols:

f2_in, U1, f29_in, U2, f19_in, U3, f20_in, U4, f17_in, U5, U6

Defined Pair Symbols:

F29_IN, F20_IN, F17_IN, U5', F2_IN, F19_IN

Compound Symbols:

c4, c9, c11, c12, c

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

Removed 5 trailing tuple parts

(24) Obligation:

Complexity Dependency Tuples Problem
Rules:

f2_in([], []) → f2_out1
f2_in(.(z0, z1), .(z2, z3)) → U1(f17_in(z0, z2, z3, z1), .(z0, z1), .(z2, z3))
U1(f17_out1(z0, z1), .(z2, z3), .(z4, z5)) → f2_out1
f29_in([], []) → f29_out1([], [])
f29_in(.(z0, z1), .(.(z0, z2), z3)) → U2(f29_in(z1, z3), .(z0, z1), .(.(z0, z2), z3))
U2(f29_out1(z0, z1), .(z2, z3), .(.(z2, z4), z5)) → f29_out1(.(z4, z0), .([], z1))
f19_in(.(z0, z1), .(z0, z2), z3) → U3(f29_in(z1, z3), .(z0, z1), .(z0, z2), z3)
U3(f29_out1(z0, z1), .(z2, z3), .(z2, z4), z5) → f19_out1(.(z4, z0), .([], z1))
f20_in([], z0, z0) → f20_out1
f20_in(.(z0, z1), z2, .(z3, z4)) → U4(f17_in(z0, z3, z4, z1), .(z0, z1), z2, .(z3, z4))
U4(f17_out1(z0, z1), .(z2, z3), z4, .(z5, z6)) → f20_out1
f17_in(z0, z1, z2, z3) → U5(f19_in(z0, z1, z2), z0, z1, z2, z3)
U5(f19_out1(z0, z1), z2, z3, z4, z5) → U6(f20_in(z5, z1, z0), z2, z3, z4, z5, z0, z1)
U6(f20_out1, z0, z1, z2, z3, z4, z5) → f17_out1(z4, z5)
Tuples:

F17_IN(z0, z1, z2, z3) → c11(U5'(f19_in(z0, z1, z2), z0, z1, z2, z3), F19_IN(z0, z1, z2))
F2_IN(.(z0, z1), .(z2, z3)) → c(F17_IN(z0, z2, z3, z1))
F19_IN(.(z0, z1), .(z0, z2), z3) → c(F29_IN(z1, z3))
F29_IN(.(z0, z1), .(.(z0, z2), z3)) → c4(F29_IN(z1, z3))
F20_IN(.(z0, z1), z2, .(z3, z4)) → c9(F17_IN(z0, z3, z4, z1))
U5'(f19_out1(z0, z1), z2, z3, z4, z5) → c12(F20_IN(z5, z1, z0))
F2_IN(.(z0, z1), .(z2, z3)) → c
F19_IN(.(z0, z1), .(z0, z2), z3) → c
S tuples:

F17_IN(z0, z1, z2, z3) → c11(U5'(f19_in(z0, z1, z2), z0, z1, z2, z3), F19_IN(z0, z1, z2))
F2_IN(.(z0, z1), .(z2, z3)) → c(F17_IN(z0, z2, z3, z1))
F19_IN(.(z0, z1), .(z0, z2), z3) → c(F29_IN(z1, z3))
F29_IN(.(z0, z1), .(.(z0, z2), z3)) → c4(F29_IN(z1, z3))
F20_IN(.(z0, z1), z2, .(z3, z4)) → c9(F17_IN(z0, z3, z4, z1))
U5'(f19_out1(z0, z1), z2, z3, z4, z5) → c12(F20_IN(z5, z1, z0))
F2_IN(.(z0, z1), .(z2, z3)) → c
F19_IN(.(z0, z1), .(z0, z2), z3) → c
K tuples:none
Defined Rule Symbols:

f2_in, U1, f29_in, U2, f19_in, U3, f20_in, U4, f17_in, U5, U6

Defined Pair Symbols:

F17_IN, F2_IN, F19_IN, F29_IN, F20_IN, U5'

Compound Symbols:

c11, c, c4, c9, c12, c

(25) CdtKnowledgeProof (EQUIVALENT transformation)

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

F2_IN(.(z0, z1), .(z2, z3)) → c(F17_IN(z0, z2, z3, z1))
F2_IN(.(z0, z1), .(z2, z3)) → c

(26) Obligation:

Complexity Dependency Tuples Problem
Rules:

f2_in([], []) → f2_out1
f2_in(.(z0, z1), .(z2, z3)) → U1(f17_in(z0, z2, z3, z1), .(z0, z1), .(z2, z3))
U1(f17_out1(z0, z1), .(z2, z3), .(z4, z5)) → f2_out1
f29_in([], []) → f29_out1([], [])
f29_in(.(z0, z1), .(.(z0, z2), z3)) → U2(f29_in(z1, z3), .(z0, z1), .(.(z0, z2), z3))
U2(f29_out1(z0, z1), .(z2, z3), .(.(z2, z4), z5)) → f29_out1(.(z4, z0), .([], z1))
f19_in(.(z0, z1), .(z0, z2), z3) → U3(f29_in(z1, z3), .(z0, z1), .(z0, z2), z3)
U3(f29_out1(z0, z1), .(z2, z3), .(z2, z4), z5) → f19_out1(.(z4, z0), .([], z1))
f20_in([], z0, z0) → f20_out1
f20_in(.(z0, z1), z2, .(z3, z4)) → U4(f17_in(z0, z3, z4, z1), .(z0, z1), z2, .(z3, z4))
U4(f17_out1(z0, z1), .(z2, z3), z4, .(z5, z6)) → f20_out1
f17_in(z0, z1, z2, z3) → U5(f19_in(z0, z1, z2), z0, z1, z2, z3)
U5(f19_out1(z0, z1), z2, z3, z4, z5) → U6(f20_in(z5, z1, z0), z2, z3, z4, z5, z0, z1)
U6(f20_out1, z0, z1, z2, z3, z4, z5) → f17_out1(z4, z5)
Tuples:

F17_IN(z0, z1, z2, z3) → c11(U5'(f19_in(z0, z1, z2), z0, z1, z2, z3), F19_IN(z0, z1, z2))
F2_IN(.(z0, z1), .(z2, z3)) → c(F17_IN(z0, z2, z3, z1))
F19_IN(.(z0, z1), .(z0, z2), z3) → c(F29_IN(z1, z3))
F29_IN(.(z0, z1), .(.(z0, z2), z3)) → c4(F29_IN(z1, z3))
F20_IN(.(z0, z1), z2, .(z3, z4)) → c9(F17_IN(z0, z3, z4, z1))
U5'(f19_out1(z0, z1), z2, z3, z4, z5) → c12(F20_IN(z5, z1, z0))
F2_IN(.(z0, z1), .(z2, z3)) → c
F19_IN(.(z0, z1), .(z0, z2), z3) → c
S tuples:

F17_IN(z0, z1, z2, z3) → c11(U5'(f19_in(z0, z1, z2), z0, z1, z2, z3), F19_IN(z0, z1, z2))
F19_IN(.(z0, z1), .(z0, z2), z3) → c(F29_IN(z1, z3))
F29_IN(.(z0, z1), .(.(z0, z2), z3)) → c4(F29_IN(z1, z3))
F20_IN(.(z0, z1), z2, .(z3, z4)) → c9(F17_IN(z0, z3, z4, z1))
U5'(f19_out1(z0, z1), z2, z3, z4, z5) → c12(F20_IN(z5, z1, z0))
F19_IN(.(z0, z1), .(z0, z2), z3) → c
K tuples:

F2_IN(.(z0, z1), .(z2, z3)) → c(F17_IN(z0, z2, z3, z1))
F2_IN(.(z0, z1), .(z2, z3)) → c
Defined Rule Symbols:

f2_in, U1, f29_in, U2, f19_in, U3, f20_in, U4, f17_in, U5, U6

Defined Pair Symbols:

F17_IN, F2_IN, F19_IN, F29_IN, F20_IN, U5'

Compound Symbols:

c11, c, c4, c9, c12, c

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

F17_IN(z0, z1, z2, z3) → c11(U5'(f19_in(z0, z1, z2), z0, z1, z2, z3), F19_IN(z0, z1, z2))
F19_IN(.(z0, z1), .(z0, z2), z3) → c(F29_IN(z1, z3))
F20_IN(.(z0, z1), z2, .(z3, z4)) → c9(F17_IN(z0, z3, z4, z1))
F19_IN(.(z0, z1), .(z0, z2), z3) → c
We considered the (Usable) Rules:

f19_in(.(z0, z1), .(z0, z2), z3) → U3(f29_in(z1, z3), .(z0, z1), .(z0, z2), z3)
f29_in([], []) → f29_out1([], [])
f29_in(.(z0, z1), .(.(z0, z2), z3)) → U2(f29_in(z1, z3), .(z0, z1), .(.(z0, z2), z3))
U3(f29_out1(z0, z1), .(z2, z3), .(z2, z4), z5) → f19_out1(.(z4, z0), .([], z1))
U2(f29_out1(z0, z1), .(z2, z3), .(.(z2, z4), z5)) → f29_out1(.(z4, z0), .([], z1))
And the Tuples:

F17_IN(z0, z1, z2, z3) → c11(U5'(f19_in(z0, z1, z2), z0, z1, z2, z3), F19_IN(z0, z1, z2))
F2_IN(.(z0, z1), .(z2, z3)) → c(F17_IN(z0, z2, z3, z1))
F19_IN(.(z0, z1), .(z0, z2), z3) → c(F29_IN(z1, z3))
F29_IN(.(z0, z1), .(.(z0, z2), z3)) → c4(F29_IN(z1, z3))
F20_IN(.(z0, z1), z2, .(z3, z4)) → c9(F17_IN(z0, z3, z4, z1))
U5'(f19_out1(z0, z1), z2, z3, z4, z5) → c12(F20_IN(z5, z1, z0))
F2_IN(.(z0, z1), .(z2, z3)) → c
F19_IN(.(z0, z1), .(z0, z2), z3) → c
The order we found is given by the following interpretation:
Polynomial interpretation :

POL(.(x1, x2)) = [2] + x1 + x2   
POL(F17_IN(x1, x2, x3, x4)) = [2] + [2]x1 + [2]x4   
POL(F19_IN(x1, x2, x3)) = [2]x1   
POL(F20_IN(x1, x2, x3)) = [1] + [2]x1   
POL(F29_IN(x1, x2)) = 0   
POL(F2_IN(x1, x2)) = [2]x1 + [2]x2   
POL(U2(x1, x2, x3)) = 0   
POL(U3(x1, x2, x3, x4)) = 0   
POL(U5'(x1, x2, x3, x4, x5)) = [1] + [2]x5   
POL([]) = 0   
POL(c) = 0   
POL(c(x1)) = x1   
POL(c11(x1, x2)) = x1 + x2   
POL(c12(x1)) = x1   
POL(c4(x1)) = x1   
POL(c9(x1)) = x1   
POL(f19_in(x1, x2, x3)) = 0   
POL(f19_out1(x1, x2)) = 0   
POL(f29_in(x1, x2)) = 0   
POL(f29_out1(x1, x2)) = 0   

(28) Obligation:

Complexity Dependency Tuples Problem
Rules:

f2_in([], []) → f2_out1
f2_in(.(z0, z1), .(z2, z3)) → U1(f17_in(z0, z2, z3, z1), .(z0, z1), .(z2, z3))
U1(f17_out1(z0, z1), .(z2, z3), .(z4, z5)) → f2_out1
f29_in([], []) → f29_out1([], [])
f29_in(.(z0, z1), .(.(z0, z2), z3)) → U2(f29_in(z1, z3), .(z0, z1), .(.(z0, z2), z3))
U2(f29_out1(z0, z1), .(z2, z3), .(.(z2, z4), z5)) → f29_out1(.(z4, z0), .([], z1))
f19_in(.(z0, z1), .(z0, z2), z3) → U3(f29_in(z1, z3), .(z0, z1), .(z0, z2), z3)
U3(f29_out1(z0, z1), .(z2, z3), .(z2, z4), z5) → f19_out1(.(z4, z0), .([], z1))
f20_in([], z0, z0) → f20_out1
f20_in(.(z0, z1), z2, .(z3, z4)) → U4(f17_in(z0, z3, z4, z1), .(z0, z1), z2, .(z3, z4))
U4(f17_out1(z0, z1), .(z2, z3), z4, .(z5, z6)) → f20_out1
f17_in(z0, z1, z2, z3) → U5(f19_in(z0, z1, z2), z0, z1, z2, z3)
U5(f19_out1(z0, z1), z2, z3, z4, z5) → U6(f20_in(z5, z1, z0), z2, z3, z4, z5, z0, z1)
U6(f20_out1, z0, z1, z2, z3, z4, z5) → f17_out1(z4, z5)
Tuples:

F17_IN(z0, z1, z2, z3) → c11(U5'(f19_in(z0, z1, z2), z0, z1, z2, z3), F19_IN(z0, z1, z2))
F2_IN(.(z0, z1), .(z2, z3)) → c(F17_IN(z0, z2, z3, z1))
F19_IN(.(z0, z1), .(z0, z2), z3) → c(F29_IN(z1, z3))
F29_IN(.(z0, z1), .(.(z0, z2), z3)) → c4(F29_IN(z1, z3))
F20_IN(.(z0, z1), z2, .(z3, z4)) → c9(F17_IN(z0, z3, z4, z1))
U5'(f19_out1(z0, z1), z2, z3, z4, z5) → c12(F20_IN(z5, z1, z0))
F2_IN(.(z0, z1), .(z2, z3)) → c
F19_IN(.(z0, z1), .(z0, z2), z3) → c
S tuples:

F29_IN(.(z0, z1), .(.(z0, z2), z3)) → c4(F29_IN(z1, z3))
U5'(f19_out1(z0, z1), z2, z3, z4, z5) → c12(F20_IN(z5, z1, z0))
K tuples:

F2_IN(.(z0, z1), .(z2, z3)) → c(F17_IN(z0, z2, z3, z1))
F2_IN(.(z0, z1), .(z2, z3)) → c
F17_IN(z0, z1, z2, z3) → c11(U5'(f19_in(z0, z1, z2), z0, z1, z2, z3), F19_IN(z0, z1, z2))
F19_IN(.(z0, z1), .(z0, z2), z3) → c(F29_IN(z1, z3))
F20_IN(.(z0, z1), z2, .(z3, z4)) → c9(F17_IN(z0, z3, z4, z1))
F19_IN(.(z0, z1), .(z0, z2), z3) → c
Defined Rule Symbols:

f2_in, U1, f29_in, U2, f19_in, U3, f20_in, U4, f17_in, U5, U6

Defined Pair Symbols:

F17_IN, F2_IN, F19_IN, F29_IN, F20_IN, U5'

Compound Symbols:

c11, c, c4, c9, c12, c

(29) CdtKnowledgeProof (EQUIVALENT transformation)

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

U5'(f19_out1(z0, z1), z2, z3, z4, z5) → c12(F20_IN(z5, z1, z0))
F20_IN(.(z0, z1), z2, .(z3, z4)) → c9(F17_IN(z0, z3, z4, z1))

(30) Obligation:

Complexity Dependency Tuples Problem
Rules:

f2_in([], []) → f2_out1
f2_in(.(z0, z1), .(z2, z3)) → U1(f17_in(z0, z2, z3, z1), .(z0, z1), .(z2, z3))
U1(f17_out1(z0, z1), .(z2, z3), .(z4, z5)) → f2_out1
f29_in([], []) → f29_out1([], [])
f29_in(.(z0, z1), .(.(z0, z2), z3)) → U2(f29_in(z1, z3), .(z0, z1), .(.(z0, z2), z3))
U2(f29_out1(z0, z1), .(z2, z3), .(.(z2, z4), z5)) → f29_out1(.(z4, z0), .([], z1))
f19_in(.(z0, z1), .(z0, z2), z3) → U3(f29_in(z1, z3), .(z0, z1), .(z0, z2), z3)
U3(f29_out1(z0, z1), .(z2, z3), .(z2, z4), z5) → f19_out1(.(z4, z0), .([], z1))
f20_in([], z0, z0) → f20_out1
f20_in(.(z0, z1), z2, .(z3, z4)) → U4(f17_in(z0, z3, z4, z1), .(z0, z1), z2, .(z3, z4))
U4(f17_out1(z0, z1), .(z2, z3), z4, .(z5, z6)) → f20_out1
f17_in(z0, z1, z2, z3) → U5(f19_in(z0, z1, z2), z0, z1, z2, z3)
U5(f19_out1(z0, z1), z2, z3, z4, z5) → U6(f20_in(z5, z1, z0), z2, z3, z4, z5, z0, z1)
U6(f20_out1, z0, z1, z2, z3, z4, z5) → f17_out1(z4, z5)
Tuples:

F17_IN(z0, z1, z2, z3) → c11(U5'(f19_in(z0, z1, z2), z0, z1, z2, z3), F19_IN(z0, z1, z2))
F2_IN(.(z0, z1), .(z2, z3)) → c(F17_IN(z0, z2, z3, z1))
F19_IN(.(z0, z1), .(z0, z2), z3) → c(F29_IN(z1, z3))
F29_IN(.(z0, z1), .(.(z0, z2), z3)) → c4(F29_IN(z1, z3))
F20_IN(.(z0, z1), z2, .(z3, z4)) → c9(F17_IN(z0, z3, z4, z1))
U5'(f19_out1(z0, z1), z2, z3, z4, z5) → c12(F20_IN(z5, z1, z0))
F2_IN(.(z0, z1), .(z2, z3)) → c
F19_IN(.(z0, z1), .(z0, z2), z3) → c
S tuples:

F29_IN(.(z0, z1), .(.(z0, z2), z3)) → c4(F29_IN(z1, z3))
K tuples:

F2_IN(.(z0, z1), .(z2, z3)) → c(F17_IN(z0, z2, z3, z1))
F2_IN(.(z0, z1), .(z2, z3)) → c
F17_IN(z0, z1, z2, z3) → c11(U5'(f19_in(z0, z1, z2), z0, z1, z2, z3), F19_IN(z0, z1, z2))
F19_IN(.(z0, z1), .(z0, z2), z3) → c(F29_IN(z1, z3))
F20_IN(.(z0, z1), z2, .(z3, z4)) → c9(F17_IN(z0, z3, z4, z1))
F19_IN(.(z0, z1), .(z0, z2), z3) → c
U5'(f19_out1(z0, z1), z2, z3, z4, z5) → c12(F20_IN(z5, z1, z0))
Defined Rule Symbols:

f2_in, U1, f29_in, U2, f19_in, U3, f20_in, U4, f17_in, U5, U6

Defined Pair Symbols:

F17_IN, F2_IN, F19_IN, F29_IN, F20_IN, U5'

Compound Symbols:

c11, c, c4, c9, c12, c

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

F29_IN(.(z0, z1), .(.(z0, z2), z3)) → c4(F29_IN(z1, z3))
We considered the (Usable) Rules:

f19_in(.(z0, z1), .(z0, z2), z3) → U3(f29_in(z1, z3), .(z0, z1), .(z0, z2), z3)
f29_in([], []) → f29_out1([], [])
f29_in(.(z0, z1), .(.(z0, z2), z3)) → U2(f29_in(z1, z3), .(z0, z1), .(.(z0, z2), z3))
U3(f29_out1(z0, z1), .(z2, z3), .(z2, z4), z5) → f19_out1(.(z4, z0), .([], z1))
U2(f29_out1(z0, z1), .(z2, z3), .(.(z2, z4), z5)) → f29_out1(.(z4, z0), .([], z1))
And the Tuples:

F17_IN(z0, z1, z2, z3) → c11(U5'(f19_in(z0, z1, z2), z0, z1, z2, z3), F19_IN(z0, z1, z2))
F2_IN(.(z0, z1), .(z2, z3)) → c(F17_IN(z0, z2, z3, z1))
F19_IN(.(z0, z1), .(z0, z2), z3) → c(F29_IN(z1, z3))
F29_IN(.(z0, z1), .(.(z0, z2), z3)) → c4(F29_IN(z1, z3))
F20_IN(.(z0, z1), z2, .(z3, z4)) → c9(F17_IN(z0, z3, z4, z1))
U5'(f19_out1(z0, z1), z2, z3, z4, z5) → c12(F20_IN(z5, z1, z0))
F2_IN(.(z0, z1), .(z2, z3)) → c
F19_IN(.(z0, z1), .(z0, z2), z3) → c
The order we found is given by the following interpretation:
Polynomial interpretation :

POL(.(x1, x2)) = [1] + x1 + x2   
POL(F17_IN(x1, x2, x3, x4)) = [1] + x1 + x4   
POL(F19_IN(x1, x2, x3)) = x1   
POL(F20_IN(x1, x2, x3)) = x1   
POL(F29_IN(x1, x2)) = [1] + x1   
POL(F2_IN(x1, x2)) = x1   
POL(U2(x1, x2, x3)) = 0   
POL(U3(x1, x2, x3, x4)) = 0   
POL(U5'(x1, x2, x3, x4, x5)) = x5   
POL([]) = 0   
POL(c) = 0   
POL(c(x1)) = x1   
POL(c11(x1, x2)) = x1 + x2   
POL(c12(x1)) = x1   
POL(c4(x1)) = x1   
POL(c9(x1)) = x1   
POL(f19_in(x1, x2, x3)) = 0   
POL(f19_out1(x1, x2)) = 0   
POL(f29_in(x1, x2)) = 0   
POL(f29_out1(x1, x2)) = 0   

(32) Obligation:

Complexity Dependency Tuples Problem
Rules:

f2_in([], []) → f2_out1
f2_in(.(z0, z1), .(z2, z3)) → U1(f17_in(z0, z2, z3, z1), .(z0, z1), .(z2, z3))
U1(f17_out1(z0, z1), .(z2, z3), .(z4, z5)) → f2_out1
f29_in([], []) → f29_out1([], [])
f29_in(.(z0, z1), .(.(z0, z2), z3)) → U2(f29_in(z1, z3), .(z0, z1), .(.(z0, z2), z3))
U2(f29_out1(z0, z1), .(z2, z3), .(.(z2, z4), z5)) → f29_out1(.(z4, z0), .([], z1))
f19_in(.(z0, z1), .(z0, z2), z3) → U3(f29_in(z1, z3), .(z0, z1), .(z0, z2), z3)
U3(f29_out1(z0, z1), .(z2, z3), .(z2, z4), z5) → f19_out1(.(z4, z0), .([], z1))
f20_in([], z0, z0) → f20_out1
f20_in(.(z0, z1), z2, .(z3, z4)) → U4(f17_in(z0, z3, z4, z1), .(z0, z1), z2, .(z3, z4))
U4(f17_out1(z0, z1), .(z2, z3), z4, .(z5, z6)) → f20_out1
f17_in(z0, z1, z2, z3) → U5(f19_in(z0, z1, z2), z0, z1, z2, z3)
U5(f19_out1(z0, z1), z2, z3, z4, z5) → U6(f20_in(z5, z1, z0), z2, z3, z4, z5, z0, z1)
U6(f20_out1, z0, z1, z2, z3, z4, z5) → f17_out1(z4, z5)
Tuples:

F17_IN(z0, z1, z2, z3) → c11(U5'(f19_in(z0, z1, z2), z0, z1, z2, z3), F19_IN(z0, z1, z2))
F2_IN(.(z0, z1), .(z2, z3)) → c(F17_IN(z0, z2, z3, z1))
F19_IN(.(z0, z1), .(z0, z2), z3) → c(F29_IN(z1, z3))
F29_IN(.(z0, z1), .(.(z0, z2), z3)) → c4(F29_IN(z1, z3))
F20_IN(.(z0, z1), z2, .(z3, z4)) → c9(F17_IN(z0, z3, z4, z1))
U5'(f19_out1(z0, z1), z2, z3, z4, z5) → c12(F20_IN(z5, z1, z0))
F2_IN(.(z0, z1), .(z2, z3)) → c
F19_IN(.(z0, z1), .(z0, z2), z3) → c
S tuples:none
K tuples:

F2_IN(.(z0, z1), .(z2, z3)) → c(F17_IN(z0, z2, z3, z1))
F2_IN(.(z0, z1), .(z2, z3)) → c
F17_IN(z0, z1, z2, z3) → c11(U5'(f19_in(z0, z1, z2), z0, z1, z2, z3), F19_IN(z0, z1, z2))
F19_IN(.(z0, z1), .(z0, z2), z3) → c(F29_IN(z1, z3))
F20_IN(.(z0, z1), z2, .(z3, z4)) → c9(F17_IN(z0, z3, z4, z1))
F19_IN(.(z0, z1), .(z0, z2), z3) → c
U5'(f19_out1(z0, z1), z2, z3, z4, z5) → c12(F20_IN(z5, z1, z0))
F29_IN(.(z0, z1), .(.(z0, z2), z3)) → c4(F29_IN(z1, z3))
Defined Rule Symbols:

f2_in, U1, f29_in, U2, f19_in, U3, f20_in, U4, f17_in, U5, U6

Defined Pair Symbols:

F17_IN, F2_IN, F19_IN, F29_IN, F20_IN, U5'

Compound Symbols:

c11, c, c4, c9, c12, c