(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), A, B) :- row2col(Xs, Cols, Cols1, .([], A), B).
row2col([], [], [], A, A).

Query: transpose(g,a)

(1) LPReorderTransformerProof (EQUIVALENT transformation)

Reordered facts before rules in definite LP [PROLOG].

(2) Obligation:

Clauses:

transpose_aux([], X, X).
row2col([], [], [], A, A).
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), A, B) :- row2col(Xs, Cols, Cols1, .([], A), B).

Query: transpose(g,a)

(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)) → U1(f19_in(z0, z1), .(z0, z1))
U1(f19_out1(z0), .(z1, z2)) → f1_out1
f131_in([], z0) → f131_out1(.([], z0))
f131_in(.(z0, z1), z2) → U2(f131_in(z1, .([], z2)), .(z0, z1), z2)
U2(f131_out1(z0), .(z1, z2), z3) → f131_out1(z0)
f23_in(.(z0, [])) → f23_out1(.([], []))
f23_in(.(z0, .(z1, []))) → f23_out1(.([], .([], [])))
f23_in(.(z0, .(z1, .(z2, [])))) → f23_out1(.([], .([], .([], []))))
f23_in(.(z0, .(z1, .(z2, .(z3, []))))) → f23_out1(.([], .([], .([], .([], [])))))
f23_in(.(z0, .(z1, .(z2, .(z3, .(z4, [])))))) → f23_out1(.([], .([], .([], .([], .([], []))))))
f23_in(.(z0, .(z1, .(z2, .(z3, .(z4, .(z5, []))))))) → f23_out1(.([], .([], .([], .([], .([], .([], [])))))))
f23_in(.(z0, .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, [])))))))) → f23_out1(.([], .([], .([], .([], .([], .([], .([], []))))))))
f23_in(.(z0, .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, .(z7, z8))))))))) → U3(f131_in(z8, .([], .([], .([], .([], .([], .([], .([], [])))))))), .(z0, .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, .(z7, z8)))))))))
U3(f131_out1(z0), .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, .(z7, .(z8, z9))))))))) → f23_out1(z0)
f24_in([], z0) → f24_out1
f24_in(.(z0, z1), z2) → U4(f19_in(z0, z1), .(z0, z1), z2)
U4(f19_out1(z0), .(z1, z2), z3) → f24_out1
f19_in(z0, z1) → U5(f23_in(z0), z0, z1)
U5(f23_out1(z0), z1, z2) → U6(f24_in(z2, z0), z1, z2, z0)
U6(f24_out1, z0, z1, z2) → f19_out1(z2)
Tuples:

F1_IN(.(z0, z1)) → c1(U1'(f19_in(z0, z1), .(z0, z1)), F19_IN(z0, z1))
F131_IN(.(z0, z1), z2) → c4(U2'(f131_in(z1, .([], z2)), .(z0, z1), z2), F131_IN(z1, .([], z2)))
F23_IN(.(z0, .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, .(z7, z8))))))))) → c13(U3'(f131_in(z8, .([], .([], .([], .([], .([], .([], .([], [])))))))), .(z0, .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, .(z7, z8))))))))), F131_IN(z8, .([], .([], .([], .([], .([], .([], .([], [])))))))))
F24_IN(.(z0, z1), z2) → c16(U4'(f19_in(z0, z1), .(z0, z1), z2), F19_IN(z0, z1))
F19_IN(z0, z1) → c18(U5'(f23_in(z0), z0, z1), F23_IN(z0))
U5'(f23_out1(z0), z1, z2) → c19(U6'(f24_in(z2, z0), z1, z2, z0), F24_IN(z2, z0))
S tuples:

F1_IN(.(z0, z1)) → c1(U1'(f19_in(z0, z1), .(z0, z1)), F19_IN(z0, z1))
F131_IN(.(z0, z1), z2) → c4(U2'(f131_in(z1, .([], z2)), .(z0, z1), z2), F131_IN(z1, .([], z2)))
F23_IN(.(z0, .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, .(z7, z8))))))))) → c13(U3'(f131_in(z8, .([], .([], .([], .([], .([], .([], .([], [])))))))), .(z0, .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, .(z7, z8))))))))), F131_IN(z8, .([], .([], .([], .([], .([], .([], .([], [])))))))))
F24_IN(.(z0, z1), z2) → c16(U4'(f19_in(z0, z1), .(z0, z1), z2), F19_IN(z0, z1))
F19_IN(z0, z1) → c18(U5'(f23_in(z0), z0, z1), F23_IN(z0))
U5'(f23_out1(z0), z1, z2) → c19(U6'(f24_in(z2, z0), z1, z2, z0), F24_IN(z2, z0))
K tuples:none
Defined Rule Symbols:

f1_in, U1, f131_in, U2, f23_in, U3, f24_in, U4, f19_in, U5, U6

Defined Pair Symbols:

F1_IN, F131_IN, F23_IN, F24_IN, F19_IN, U5'

Compound Symbols:

c1, c4, c13, c16, c18, c19

(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)) → U1(f19_in(z0, z1), .(z0, z1))
U1(f19_out1(z0), .(z1, z2)) → f1_out1
f131_in([], z0) → f131_out1(.([], z0))
f131_in(.(z0, z1), z2) → U2(f131_in(z1, .([], z2)), .(z0, z1), z2)
U2(f131_out1(z0), .(z1, z2), z3) → f131_out1(z0)
f23_in(.(z0, [])) → f23_out1(.([], []))
f23_in(.(z0, .(z1, []))) → f23_out1(.([], .([], [])))
f23_in(.(z0, .(z1, .(z2, [])))) → f23_out1(.([], .([], .([], []))))
f23_in(.(z0, .(z1, .(z2, .(z3, []))))) → f23_out1(.([], .([], .([], .([], [])))))
f23_in(.(z0, .(z1, .(z2, .(z3, .(z4, [])))))) → f23_out1(.([], .([], .([], .([], .([], []))))))
f23_in(.(z0, .(z1, .(z2, .(z3, .(z4, .(z5, []))))))) → f23_out1(.([], .([], .([], .([], .([], .([], [])))))))
f23_in(.(z0, .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, [])))))))) → f23_out1(.([], .([], .([], .([], .([], .([], .([], []))))))))
f23_in(.(z0, .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, .(z7, z8))))))))) → U3(f131_in(z8, .([], .([], .([], .([], .([], .([], .([], [])))))))), .(z0, .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, .(z7, z8)))))))))
U3(f131_out1(z0), .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, .(z7, .(z8, z9))))))))) → f23_out1(z0)
f24_in([], z0) → f24_out1
f24_in(.(z0, z1), z2) → U4(f19_in(z0, z1), .(z0, z1), z2)
U4(f19_out1(z0), .(z1, z2), z3) → f24_out1
f19_in(z0, z1) → U5(f23_in(z0), z0, z1)
U5(f23_out1(z0), z1, z2) → U6(f24_in(z2, z0), z1, z2, z0)
U6(f24_out1, z0, z1, z2) → f19_out1(z2)
Tuples:

F131_IN(.(z0, z1), z2) → c4(U2'(f131_in(z1, .([], z2)), .(z0, z1), z2), F131_IN(z1, .([], z2)))
F24_IN(.(z0, z1), z2) → c16(U4'(f19_in(z0, z1), .(z0, z1), z2), F19_IN(z0, z1))
F19_IN(z0, z1) → c18(U5'(f23_in(z0), z0, z1), F23_IN(z0))
U5'(f23_out1(z0), z1, z2) → c19(U6'(f24_in(z2, z0), z1, z2, z0), F24_IN(z2, z0))
F1_IN(.(z0, z1)) → c(U1'(f19_in(z0, z1), .(z0, z1)))
F1_IN(.(z0, z1)) → c(F19_IN(z0, z1))
F23_IN(.(z0, .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, .(z7, z8))))))))) → c(U3'(f131_in(z8, .([], .([], .([], .([], .([], .([], .([], [])))))))), .(z0, .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, .(z7, z8))))))))))
F23_IN(.(z0, .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, .(z7, z8))))))))) → c(F131_IN(z8, .([], .([], .([], .([], .([], .([], .([], [])))))))))
S tuples:

F131_IN(.(z0, z1), z2) → c4(U2'(f131_in(z1, .([], z2)), .(z0, z1), z2), F131_IN(z1, .([], z2)))
F24_IN(.(z0, z1), z2) → c16(U4'(f19_in(z0, z1), .(z0, z1), z2), F19_IN(z0, z1))
F19_IN(z0, z1) → c18(U5'(f23_in(z0), z0, z1), F23_IN(z0))
U5'(f23_out1(z0), z1, z2) → c19(U6'(f24_in(z2, z0), z1, z2, z0), F24_IN(z2, z0))
F1_IN(.(z0, z1)) → c(U1'(f19_in(z0, z1), .(z0, z1)))
F1_IN(.(z0, z1)) → c(F19_IN(z0, z1))
F23_IN(.(z0, .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, .(z7, z8))))))))) → c(U3'(f131_in(z8, .([], .([], .([], .([], .([], .([], .([], [])))))))), .(z0, .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, .(z7, z8))))))))))
F23_IN(.(z0, .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, .(z7, z8))))))))) → c(F131_IN(z8, .([], .([], .([], .([], .([], .([], .([], [])))))))))
K tuples:none
Defined Rule Symbols:

f1_in, U1, f131_in, U2, f23_in, U3, f24_in, U4, f19_in, U5, U6

Defined Pair Symbols:

F131_IN, F24_IN, F19_IN, U5', F1_IN, F23_IN

Compound Symbols:

c4, c16, c18, c19, 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)) → U1(f19_in(z0, z1), .(z0, z1))
U1(f19_out1(z0), .(z1, z2)) → f1_out1
f131_in([], z0) → f131_out1(.([], z0))
f131_in(.(z0, z1), z2) → U2(f131_in(z1, .([], z2)), .(z0, z1), z2)
U2(f131_out1(z0), .(z1, z2), z3) → f131_out1(z0)
f23_in(.(z0, [])) → f23_out1(.([], []))
f23_in(.(z0, .(z1, []))) → f23_out1(.([], .([], [])))
f23_in(.(z0, .(z1, .(z2, [])))) → f23_out1(.([], .([], .([], []))))
f23_in(.(z0, .(z1, .(z2, .(z3, []))))) → f23_out1(.([], .([], .([], .([], [])))))
f23_in(.(z0, .(z1, .(z2, .(z3, .(z4, [])))))) → f23_out1(.([], .([], .([], .([], .([], []))))))
f23_in(.(z0, .(z1, .(z2, .(z3, .(z4, .(z5, []))))))) → f23_out1(.([], .([], .([], .([], .([], .([], [])))))))
f23_in(.(z0, .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, [])))))))) → f23_out1(.([], .([], .([], .([], .([], .([], .([], []))))))))
f23_in(.(z0, .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, .(z7, z8))))))))) → U3(f131_in(z8, .([], .([], .([], .([], .([], .([], .([], [])))))))), .(z0, .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, .(z7, z8)))))))))
U3(f131_out1(z0), .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, .(z7, .(z8, z9))))))))) → f23_out1(z0)
f24_in([], z0) → f24_out1
f24_in(.(z0, z1), z2) → U4(f19_in(z0, z1), .(z0, z1), z2)
U4(f19_out1(z0), .(z1, z2), z3) → f24_out1
f19_in(z0, z1) → U5(f23_in(z0), z0, z1)
U5(f23_out1(z0), z1, z2) → U6(f24_in(z2, z0), z1, z2, z0)
U6(f24_out1, z0, z1, z2) → f19_out1(z2)
Tuples:

F19_IN(z0, z1) → c18(U5'(f23_in(z0), z0, z1), F23_IN(z0))
F1_IN(.(z0, z1)) → c(F19_IN(z0, z1))
F23_IN(.(z0, .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, .(z7, z8))))))))) → c(F131_IN(z8, .([], .([], .([], .([], .([], .([], .([], [])))))))))
F131_IN(.(z0, z1), z2) → c4(F131_IN(z1, .([], z2)))
F24_IN(.(z0, z1), z2) → c16(F19_IN(z0, z1))
U5'(f23_out1(z0), z1, z2) → c19(F24_IN(z2, z0))
F1_IN(.(z0, z1)) → c
F23_IN(.(z0, .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, .(z7, z8))))))))) → c
S tuples:

F19_IN(z0, z1) → c18(U5'(f23_in(z0), z0, z1), F23_IN(z0))
F1_IN(.(z0, z1)) → c(F19_IN(z0, z1))
F23_IN(.(z0, .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, .(z7, z8))))))))) → c(F131_IN(z8, .([], .([], .([], .([], .([], .([], .([], [])))))))))
F131_IN(.(z0, z1), z2) → c4(F131_IN(z1, .([], z2)))
F24_IN(.(z0, z1), z2) → c16(F19_IN(z0, z1))
U5'(f23_out1(z0), z1, z2) → c19(F24_IN(z2, z0))
F1_IN(.(z0, z1)) → c
F23_IN(.(z0, .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, .(z7, z8))))))))) → c
K tuples:none
Defined Rule Symbols:

f1_in, U1, f131_in, U2, f23_in, U3, f24_in, U4, f19_in, U5, U6

Defined Pair Symbols:

F19_IN, F1_IN, F23_IN, F131_IN, F24_IN, U5'

Compound Symbols:

c18, c, c4, c16, c19, c

(9) CdtKnowledgeProof (EQUIVALENT transformation)

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

F1_IN(.(z0, z1)) → c(F19_IN(z0, z1))
F1_IN(.(z0, z1)) → c

(10) Obligation:

Complexity Dependency Tuples Problem
Rules:

f1_in([]) → f1_out1
f1_in(.(z0, z1)) → U1(f19_in(z0, z1), .(z0, z1))
U1(f19_out1(z0), .(z1, z2)) → f1_out1
f131_in([], z0) → f131_out1(.([], z0))
f131_in(.(z0, z1), z2) → U2(f131_in(z1, .([], z2)), .(z0, z1), z2)
U2(f131_out1(z0), .(z1, z2), z3) → f131_out1(z0)
f23_in(.(z0, [])) → f23_out1(.([], []))
f23_in(.(z0, .(z1, []))) → f23_out1(.([], .([], [])))
f23_in(.(z0, .(z1, .(z2, [])))) → f23_out1(.([], .([], .([], []))))
f23_in(.(z0, .(z1, .(z2, .(z3, []))))) → f23_out1(.([], .([], .([], .([], [])))))
f23_in(.(z0, .(z1, .(z2, .(z3, .(z4, [])))))) → f23_out1(.([], .([], .([], .([], .([], []))))))
f23_in(.(z0, .(z1, .(z2, .(z3, .(z4, .(z5, []))))))) → f23_out1(.([], .([], .([], .([], .([], .([], [])))))))
f23_in(.(z0, .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, [])))))))) → f23_out1(.([], .([], .([], .([], .([], .([], .([], []))))))))
f23_in(.(z0, .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, .(z7, z8))))))))) → U3(f131_in(z8, .([], .([], .([], .([], .([], .([], .([], [])))))))), .(z0, .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, .(z7, z8)))))))))
U3(f131_out1(z0), .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, .(z7, .(z8, z9))))))))) → f23_out1(z0)
f24_in([], z0) → f24_out1
f24_in(.(z0, z1), z2) → U4(f19_in(z0, z1), .(z0, z1), z2)
U4(f19_out1(z0), .(z1, z2), z3) → f24_out1
f19_in(z0, z1) → U5(f23_in(z0), z0, z1)
U5(f23_out1(z0), z1, z2) → U6(f24_in(z2, z0), z1, z2, z0)
U6(f24_out1, z0, z1, z2) → f19_out1(z2)
Tuples:

F19_IN(z0, z1) → c18(U5'(f23_in(z0), z0, z1), F23_IN(z0))
F1_IN(.(z0, z1)) → c(F19_IN(z0, z1))
F23_IN(.(z0, .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, .(z7, z8))))))))) → c(F131_IN(z8, .([], .([], .([], .([], .([], .([], .([], [])))))))))
F131_IN(.(z0, z1), z2) → c4(F131_IN(z1, .([], z2)))
F24_IN(.(z0, z1), z2) → c16(F19_IN(z0, z1))
U5'(f23_out1(z0), z1, z2) → c19(F24_IN(z2, z0))
F1_IN(.(z0, z1)) → c
F23_IN(.(z0, .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, .(z7, z8))))))))) → c
S tuples:

F19_IN(z0, z1) → c18(U5'(f23_in(z0), z0, z1), F23_IN(z0))
F23_IN(.(z0, .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, .(z7, z8))))))))) → c(F131_IN(z8, .([], .([], .([], .([], .([], .([], .([], [])))))))))
F131_IN(.(z0, z1), z2) → c4(F131_IN(z1, .([], z2)))
F24_IN(.(z0, z1), z2) → c16(F19_IN(z0, z1))
U5'(f23_out1(z0), z1, z2) → c19(F24_IN(z2, z0))
F23_IN(.(z0, .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, .(z7, z8))))))))) → c
K tuples:

F1_IN(.(z0, z1)) → c(F19_IN(z0, z1))
F1_IN(.(z0, z1)) → c
Defined Rule Symbols:

f1_in, U1, f131_in, U2, f23_in, U3, f24_in, U4, f19_in, U5, U6

Defined Pair Symbols:

F19_IN, F1_IN, F23_IN, F131_IN, F24_IN, U5'

Compound Symbols:

c18, c, c4, c16, c19, 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.

F19_IN(z0, z1) → c18(U5'(f23_in(z0), z0, z1), F23_IN(z0))
F24_IN(.(z0, z1), z2) → c16(F19_IN(z0, z1))
U5'(f23_out1(z0), z1, z2) → c19(F24_IN(z2, z0))
F23_IN(.(z0, .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, .(z7, z8))))))))) → c
We considered the (Usable) Rules:

f23_in(.(z0, [])) → f23_out1(.([], []))
f23_in(.(z0, .(z1, []))) → f23_out1(.([], .([], [])))
f23_in(.(z0, .(z1, .(z2, [])))) → f23_out1(.([], .([], .([], []))))
f23_in(.(z0, .(z1, .(z2, .(z3, []))))) → f23_out1(.([], .([], .([], .([], [])))))
f23_in(.(z0, .(z1, .(z2, .(z3, .(z4, [])))))) → f23_out1(.([], .([], .([], .([], .([], []))))))
f23_in(.(z0, .(z1, .(z2, .(z3, .(z4, .(z5, []))))))) → f23_out1(.([], .([], .([], .([], .([], .([], [])))))))
f23_in(.(z0, .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, [])))))))) → f23_out1(.([], .([], .([], .([], .([], .([], .([], []))))))))
f23_in(.(z0, .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, .(z7, z8))))))))) → U3(f131_in(z8, .([], .([], .([], .([], .([], .([], .([], [])))))))), .(z0, .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, .(z7, z8)))))))))
f131_in([], z0) → f131_out1(.([], z0))
f131_in(.(z0, z1), z2) → U2(f131_in(z1, .([], z2)), .(z0, z1), z2)
U3(f131_out1(z0), .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, .(z7, .(z8, z9))))))))) → f23_out1(z0)
U2(f131_out1(z0), .(z1, z2), z3) → f131_out1(z0)
And the Tuples:

F19_IN(z0, z1) → c18(U5'(f23_in(z0), z0, z1), F23_IN(z0))
F1_IN(.(z0, z1)) → c(F19_IN(z0, z1))
F23_IN(.(z0, .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, .(z7, z8))))))))) → c(F131_IN(z8, .([], .([], .([], .([], .([], .([], .([], [])))))))))
F131_IN(.(z0, z1), z2) → c4(F131_IN(z1, .([], z2)))
F24_IN(.(z0, z1), z2) → c16(F19_IN(z0, z1))
U5'(f23_out1(z0), z1, z2) → c19(F24_IN(z2, z0))
F1_IN(.(z0, z1)) → c
F23_IN(.(z0, .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, .(z7, z8))))))))) → c
The order we found is given by the following interpretation:
Polynomial interpretation :

POL(.(x1, x2)) = [2] + x1 + x2   
POL(F131_IN(x1, x2)) = [2] + x1 + x2   
POL(F19_IN(x1, x2)) = [2] + x1 + [2]x2   
POL(F1_IN(x1)) = [1] + [2]x1   
POL(F23_IN(x1)) = x1   
POL(F24_IN(x1, x2)) = [2]x1   
POL(U2(x1, x2, x3)) = 0   
POL(U3(x1, x2)) = 0   
POL(U5'(x1, x2, x3)) = [1] + [2]x3   
POL([]) = 0   
POL(c) = 0   
POL(c(x1)) = x1   
POL(c16(x1)) = x1   
POL(c18(x1, x2)) = x1 + x2   
POL(c19(x1)) = x1   
POL(c4(x1)) = x1   
POL(f131_in(x1, x2)) = 0   
POL(f131_out1(x1)) = 0   
POL(f23_in(x1)) = 0   
POL(f23_out1(x1)) = 0   

(12) Obligation:

Complexity Dependency Tuples Problem
Rules:

f1_in([]) → f1_out1
f1_in(.(z0, z1)) → U1(f19_in(z0, z1), .(z0, z1))
U1(f19_out1(z0), .(z1, z2)) → f1_out1
f131_in([], z0) → f131_out1(.([], z0))
f131_in(.(z0, z1), z2) → U2(f131_in(z1, .([], z2)), .(z0, z1), z2)
U2(f131_out1(z0), .(z1, z2), z3) → f131_out1(z0)
f23_in(.(z0, [])) → f23_out1(.([], []))
f23_in(.(z0, .(z1, []))) → f23_out1(.([], .([], [])))
f23_in(.(z0, .(z1, .(z2, [])))) → f23_out1(.([], .([], .([], []))))
f23_in(.(z0, .(z1, .(z2, .(z3, []))))) → f23_out1(.([], .([], .([], .([], [])))))
f23_in(.(z0, .(z1, .(z2, .(z3, .(z4, [])))))) → f23_out1(.([], .([], .([], .([], .([], []))))))
f23_in(.(z0, .(z1, .(z2, .(z3, .(z4, .(z5, []))))))) → f23_out1(.([], .([], .([], .([], .([], .([], [])))))))
f23_in(.(z0, .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, [])))))))) → f23_out1(.([], .([], .([], .([], .([], .([], .([], []))))))))
f23_in(.(z0, .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, .(z7, z8))))))))) → U3(f131_in(z8, .([], .([], .([], .([], .([], .([], .([], [])))))))), .(z0, .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, .(z7, z8)))))))))
U3(f131_out1(z0), .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, .(z7, .(z8, z9))))))))) → f23_out1(z0)
f24_in([], z0) → f24_out1
f24_in(.(z0, z1), z2) → U4(f19_in(z0, z1), .(z0, z1), z2)
U4(f19_out1(z0), .(z1, z2), z3) → f24_out1
f19_in(z0, z1) → U5(f23_in(z0), z0, z1)
U5(f23_out1(z0), z1, z2) → U6(f24_in(z2, z0), z1, z2, z0)
U6(f24_out1, z0, z1, z2) → f19_out1(z2)
Tuples:

F19_IN(z0, z1) → c18(U5'(f23_in(z0), z0, z1), F23_IN(z0))
F1_IN(.(z0, z1)) → c(F19_IN(z0, z1))
F23_IN(.(z0, .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, .(z7, z8))))))))) → c(F131_IN(z8, .([], .([], .([], .([], .([], .([], .([], [])))))))))
F131_IN(.(z0, z1), z2) → c4(F131_IN(z1, .([], z2)))
F24_IN(.(z0, z1), z2) → c16(F19_IN(z0, z1))
U5'(f23_out1(z0), z1, z2) → c19(F24_IN(z2, z0))
F1_IN(.(z0, z1)) → c
F23_IN(.(z0, .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, .(z7, z8))))))))) → c
S tuples:

F23_IN(.(z0, .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, .(z7, z8))))))))) → c(F131_IN(z8, .([], .([], .([], .([], .([], .([], .([], [])))))))))
F131_IN(.(z0, z1), z2) → c4(F131_IN(z1, .([], z2)))
K tuples:

F1_IN(.(z0, z1)) → c(F19_IN(z0, z1))
F1_IN(.(z0, z1)) → c
F19_IN(z0, z1) → c18(U5'(f23_in(z0), z0, z1), F23_IN(z0))
F24_IN(.(z0, z1), z2) → c16(F19_IN(z0, z1))
U5'(f23_out1(z0), z1, z2) → c19(F24_IN(z2, z0))
F23_IN(.(z0, .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, .(z7, z8))))))))) → c
Defined Rule Symbols:

f1_in, U1, f131_in, U2, f23_in, U3, f24_in, U4, f19_in, U5, U6

Defined Pair Symbols:

F19_IN, F1_IN, F23_IN, F131_IN, F24_IN, U5'

Compound Symbols:

c18, c, c4, c16, c19, c

(13) CdtKnowledgeProof (EQUIVALENT transformation)

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

F23_IN(.(z0, .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, .(z7, z8))))))))) → c(F131_IN(z8, .([], .([], .([], .([], .([], .([], .([], [])))))))))

(14) Obligation:

Complexity Dependency Tuples Problem
Rules:

f1_in([]) → f1_out1
f1_in(.(z0, z1)) → U1(f19_in(z0, z1), .(z0, z1))
U1(f19_out1(z0), .(z1, z2)) → f1_out1
f131_in([], z0) → f131_out1(.([], z0))
f131_in(.(z0, z1), z2) → U2(f131_in(z1, .([], z2)), .(z0, z1), z2)
U2(f131_out1(z0), .(z1, z2), z3) → f131_out1(z0)
f23_in(.(z0, [])) → f23_out1(.([], []))
f23_in(.(z0, .(z1, []))) → f23_out1(.([], .([], [])))
f23_in(.(z0, .(z1, .(z2, [])))) → f23_out1(.([], .([], .([], []))))
f23_in(.(z0, .(z1, .(z2, .(z3, []))))) → f23_out1(.([], .([], .([], .([], [])))))
f23_in(.(z0, .(z1, .(z2, .(z3, .(z4, [])))))) → f23_out1(.([], .([], .([], .([], .([], []))))))
f23_in(.(z0, .(z1, .(z2, .(z3, .(z4, .(z5, []))))))) → f23_out1(.([], .([], .([], .([], .([], .([], [])))))))
f23_in(.(z0, .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, [])))))))) → f23_out1(.([], .([], .([], .([], .([], .([], .([], []))))))))
f23_in(.(z0, .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, .(z7, z8))))))))) → U3(f131_in(z8, .([], .([], .([], .([], .([], .([], .([], [])))))))), .(z0, .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, .(z7, z8)))))))))
U3(f131_out1(z0), .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, .(z7, .(z8, z9))))))))) → f23_out1(z0)
f24_in([], z0) → f24_out1
f24_in(.(z0, z1), z2) → U4(f19_in(z0, z1), .(z0, z1), z2)
U4(f19_out1(z0), .(z1, z2), z3) → f24_out1
f19_in(z0, z1) → U5(f23_in(z0), z0, z1)
U5(f23_out1(z0), z1, z2) → U6(f24_in(z2, z0), z1, z2, z0)
U6(f24_out1, z0, z1, z2) → f19_out1(z2)
Tuples:

F19_IN(z0, z1) → c18(U5'(f23_in(z0), z0, z1), F23_IN(z0))
F1_IN(.(z0, z1)) → c(F19_IN(z0, z1))
F23_IN(.(z0, .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, .(z7, z8))))))))) → c(F131_IN(z8, .([], .([], .([], .([], .([], .([], .([], [])))))))))
F131_IN(.(z0, z1), z2) → c4(F131_IN(z1, .([], z2)))
F24_IN(.(z0, z1), z2) → c16(F19_IN(z0, z1))
U5'(f23_out1(z0), z1, z2) → c19(F24_IN(z2, z0))
F1_IN(.(z0, z1)) → c
F23_IN(.(z0, .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, .(z7, z8))))))))) → c
S tuples:

F131_IN(.(z0, z1), z2) → c4(F131_IN(z1, .([], z2)))
K tuples:

F1_IN(.(z0, z1)) → c(F19_IN(z0, z1))
F1_IN(.(z0, z1)) → c
F19_IN(z0, z1) → c18(U5'(f23_in(z0), z0, z1), F23_IN(z0))
F24_IN(.(z0, z1), z2) → c16(F19_IN(z0, z1))
U5'(f23_out1(z0), z1, z2) → c19(F24_IN(z2, z0))
F23_IN(.(z0, .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, .(z7, z8))))))))) → c
F23_IN(.(z0, .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, .(z7, z8))))))))) → c(F131_IN(z8, .([], .([], .([], .([], .([], .([], .([], [])))))))))
Defined Rule Symbols:

f1_in, U1, f131_in, U2, f23_in, U3, f24_in, U4, f19_in, U5, U6

Defined Pair Symbols:

F19_IN, F1_IN, F23_IN, F131_IN, F24_IN, U5'

Compound Symbols:

c18, c, c4, c16, c19, 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.

F131_IN(.(z0, z1), z2) → c4(F131_IN(z1, .([], z2)))
We considered the (Usable) Rules:

f23_in(.(z0, [])) → f23_out1(.([], []))
f23_in(.(z0, .(z1, []))) → f23_out1(.([], .([], [])))
f23_in(.(z0, .(z1, .(z2, [])))) → f23_out1(.([], .([], .([], []))))
f23_in(.(z0, .(z1, .(z2, .(z3, []))))) → f23_out1(.([], .([], .([], .([], [])))))
f23_in(.(z0, .(z1, .(z2, .(z3, .(z4, [])))))) → f23_out1(.([], .([], .([], .([], .([], []))))))
f23_in(.(z0, .(z1, .(z2, .(z3, .(z4, .(z5, []))))))) → f23_out1(.([], .([], .([], .([], .([], .([], [])))))))
f23_in(.(z0, .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, [])))))))) → f23_out1(.([], .([], .([], .([], .([], .([], .([], []))))))))
f23_in(.(z0, .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, .(z7, z8))))))))) → U3(f131_in(z8, .([], .([], .([], .([], .([], .([], .([], [])))))))), .(z0, .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, .(z7, z8)))))))))
f131_in([], z0) → f131_out1(.([], z0))
f131_in(.(z0, z1), z2) → U2(f131_in(z1, .([], z2)), .(z0, z1), z2)
U3(f131_out1(z0), .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, .(z7, .(z8, z9))))))))) → f23_out1(z0)
U2(f131_out1(z0), .(z1, z2), z3) → f131_out1(z0)
And the Tuples:

F19_IN(z0, z1) → c18(U5'(f23_in(z0), z0, z1), F23_IN(z0))
F1_IN(.(z0, z1)) → c(F19_IN(z0, z1))
F23_IN(.(z0, .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, .(z7, z8))))))))) → c(F131_IN(z8, .([], .([], .([], .([], .([], .([], .([], [])))))))))
F131_IN(.(z0, z1), z2) → c4(F131_IN(z1, .([], z2)))
F24_IN(.(z0, z1), z2) → c16(F19_IN(z0, z1))
U5'(f23_out1(z0), z1, z2) → c19(F24_IN(z2, z0))
F1_IN(.(z0, z1)) → c
F23_IN(.(z0, .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, .(z7, z8))))))))) → c
The order we found is given by the following interpretation:
Polynomial interpretation :

POL(.(x1, x2)) = [2] + x1 + x2   
POL(F131_IN(x1, x2)) = x1   
POL(F19_IN(x1, x2)) = [1] + x1 + x2   
POL(F1_IN(x1)) = x1   
POL(F23_IN(x1)) = x1   
POL(F24_IN(x1, x2)) = x1   
POL(U2(x1, x2, x3)) = [1]   
POL(U3(x1, x2)) = 0   
POL(U5'(x1, x2, x3)) = x3   
POL([]) = 0   
POL(c) = 0   
POL(c(x1)) = x1   
POL(c16(x1)) = x1   
POL(c18(x1, x2)) = x1 + x2   
POL(c19(x1)) = x1   
POL(c4(x1)) = x1   
POL(f131_in(x1, x2)) = [1]   
POL(f131_out1(x1)) = [1]   
POL(f23_in(x1)) = 0   
POL(f23_out1(x1)) = 0   

(16) Obligation:

Complexity Dependency Tuples Problem
Rules:

f1_in([]) → f1_out1
f1_in(.(z0, z1)) → U1(f19_in(z0, z1), .(z0, z1))
U1(f19_out1(z0), .(z1, z2)) → f1_out1
f131_in([], z0) → f131_out1(.([], z0))
f131_in(.(z0, z1), z2) → U2(f131_in(z1, .([], z2)), .(z0, z1), z2)
U2(f131_out1(z0), .(z1, z2), z3) → f131_out1(z0)
f23_in(.(z0, [])) → f23_out1(.([], []))
f23_in(.(z0, .(z1, []))) → f23_out1(.([], .([], [])))
f23_in(.(z0, .(z1, .(z2, [])))) → f23_out1(.([], .([], .([], []))))
f23_in(.(z0, .(z1, .(z2, .(z3, []))))) → f23_out1(.([], .([], .([], .([], [])))))
f23_in(.(z0, .(z1, .(z2, .(z3, .(z4, [])))))) → f23_out1(.([], .([], .([], .([], .([], []))))))
f23_in(.(z0, .(z1, .(z2, .(z3, .(z4, .(z5, []))))))) → f23_out1(.([], .([], .([], .([], .([], .([], [])))))))
f23_in(.(z0, .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, [])))))))) → f23_out1(.([], .([], .([], .([], .([], .([], .([], []))))))))
f23_in(.(z0, .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, .(z7, z8))))))))) → U3(f131_in(z8, .([], .([], .([], .([], .([], .([], .([], [])))))))), .(z0, .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, .(z7, z8)))))))))
U3(f131_out1(z0), .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, .(z7, .(z8, z9))))))))) → f23_out1(z0)
f24_in([], z0) → f24_out1
f24_in(.(z0, z1), z2) → U4(f19_in(z0, z1), .(z0, z1), z2)
U4(f19_out1(z0), .(z1, z2), z3) → f24_out1
f19_in(z0, z1) → U5(f23_in(z0), z0, z1)
U5(f23_out1(z0), z1, z2) → U6(f24_in(z2, z0), z1, z2, z0)
U6(f24_out1, z0, z1, z2) → f19_out1(z2)
Tuples:

F19_IN(z0, z1) → c18(U5'(f23_in(z0), z0, z1), F23_IN(z0))
F1_IN(.(z0, z1)) → c(F19_IN(z0, z1))
F23_IN(.(z0, .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, .(z7, z8))))))))) → c(F131_IN(z8, .([], .([], .([], .([], .([], .([], .([], [])))))))))
F131_IN(.(z0, z1), z2) → c4(F131_IN(z1, .([], z2)))
F24_IN(.(z0, z1), z2) → c16(F19_IN(z0, z1))
U5'(f23_out1(z0), z1, z2) → c19(F24_IN(z2, z0))
F1_IN(.(z0, z1)) → c
F23_IN(.(z0, .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, .(z7, z8))))))))) → c
S tuples:none
K tuples:

F1_IN(.(z0, z1)) → c(F19_IN(z0, z1))
F1_IN(.(z0, z1)) → c
F19_IN(z0, z1) → c18(U5'(f23_in(z0), z0, z1), F23_IN(z0))
F24_IN(.(z0, z1), z2) → c16(F19_IN(z0, z1))
U5'(f23_out1(z0), z1, z2) → c19(F24_IN(z2, z0))
F23_IN(.(z0, .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, .(z7, z8))))))))) → c
F23_IN(.(z0, .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, .(z7, z8))))))))) → c(F131_IN(z8, .([], .([], .([], .([], .([], .([], .([], [])))))))))
F131_IN(.(z0, z1), z2) → c4(F131_IN(z1, .([], z2)))
Defined Rule Symbols:

f1_in, U1, f131_in, U2, f23_in, U3, f24_in, U4, f19_in, U5, U6

Defined Pair Symbols:

F19_IN, F1_IN, F23_IN, F131_IN, F24_IN, U5'

Compound Symbols:

c18, c, c4, c16, c19, 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)) → U1(f17_in(z0, z1), .(z0, z1))
U1(f17_out1(z0), .(z1, z2)) → f2_out1
f132_in([], z0) → f132_out1(.([], z0))
f132_in(.(z0, z1), z2) → U2(f132_in(z1, .([], z2)), .(z0, z1), z2)
U2(f132_out1(z0), .(z1, z2), z3) → f132_out1(z0)
f21_in(.(z0, [])) → f21_out1(.([], []))
f21_in(.(z0, .(z1, []))) → f21_out1(.([], .([], [])))
f21_in(.(z0, .(z1, .(z2, [])))) → f21_out1(.([], .([], .([], []))))
f21_in(.(z0, .(z1, .(z2, .(z3, []))))) → f21_out1(.([], .([], .([], .([], [])))))
f21_in(.(z0, .(z1, .(z2, .(z3, .(z4, [])))))) → f21_out1(.([], .([], .([], .([], .([], []))))))
f21_in(.(z0, .(z1, .(z2, .(z3, .(z4, .(z5, []))))))) → f21_out1(.([], .([], .([], .([], .([], .([], [])))))))
f21_in(.(z0, .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, [])))))))) → f21_out1(.([], .([], .([], .([], .([], .([], .([], []))))))))
f21_in(.(z0, .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, .(z7, z8))))))))) → U3(f132_in(z8, .([], .([], .([], .([], .([], .([], .([], [])))))))), .(z0, .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, .(z7, z8)))))))))
U3(f132_out1(z0), .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, .(z7, .(z8, z9))))))))) → f21_out1(z0)
f22_in([], z0) → f22_out1
f22_in(.(z0, z1), z2) → U4(f17_in(z0, z1), .(z0, z1), z2)
U4(f17_out1(z0), .(z1, z2), z3) → f22_out1
f17_in(z0, z1) → U5(f21_in(z0), z0, z1)
U5(f21_out1(z0), z1, z2) → U6(f22_in(z2, z0), z1, z2, z0)
U6(f22_out1, z0, z1, z2) → f17_out1(z2)
Tuples:

F2_IN(.(z0, z1)) → c1(U1'(f17_in(z0, z1), .(z0, z1)), F17_IN(z0, z1))
F132_IN(.(z0, z1), z2) → c4(U2'(f132_in(z1, .([], z2)), .(z0, z1), z2), F132_IN(z1, .([], z2)))
F21_IN(.(z0, .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, .(z7, z8))))))))) → c13(U3'(f132_in(z8, .([], .([], .([], .([], .([], .([], .([], [])))))))), .(z0, .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, .(z7, z8))))))))), F132_IN(z8, .([], .([], .([], .([], .([], .([], .([], [])))))))))
F22_IN(.(z0, z1), z2) → c16(U4'(f17_in(z0, z1), .(z0, z1), z2), F17_IN(z0, z1))
F17_IN(z0, z1) → c18(U5'(f21_in(z0), z0, z1), F21_IN(z0))
U5'(f21_out1(z0), z1, z2) → c19(U6'(f22_in(z2, z0), z1, z2, z0), F22_IN(z2, z0))
S tuples:

F2_IN(.(z0, z1)) → c1(U1'(f17_in(z0, z1), .(z0, z1)), F17_IN(z0, z1))
F132_IN(.(z0, z1), z2) → c4(U2'(f132_in(z1, .([], z2)), .(z0, z1), z2), F132_IN(z1, .([], z2)))
F21_IN(.(z0, .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, .(z7, z8))))))))) → c13(U3'(f132_in(z8, .([], .([], .([], .([], .([], .([], .([], [])))))))), .(z0, .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, .(z7, z8))))))))), F132_IN(z8, .([], .([], .([], .([], .([], .([], .([], [])))))))))
F22_IN(.(z0, z1), z2) → c16(U4'(f17_in(z0, z1), .(z0, z1), z2), F17_IN(z0, z1))
F17_IN(z0, z1) → c18(U5'(f21_in(z0), z0, z1), F21_IN(z0))
U5'(f21_out1(z0), z1, z2) → c19(U6'(f22_in(z2, z0), z1, z2, z0), F22_IN(z2, z0))
K tuples:none
Defined Rule Symbols:

f2_in, U1, f132_in, U2, f21_in, U3, f22_in, U4, f17_in, U5, U6

Defined Pair Symbols:

F2_IN, F132_IN, F21_IN, F22_IN, F17_IN, U5'

Compound Symbols:

c1, c4, c13, c16, c18, c19

(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)) → U1(f17_in(z0, z1), .(z0, z1))
U1(f17_out1(z0), .(z1, z2)) → f2_out1
f132_in([], z0) → f132_out1(.([], z0))
f132_in(.(z0, z1), z2) → U2(f132_in(z1, .([], z2)), .(z0, z1), z2)
U2(f132_out1(z0), .(z1, z2), z3) → f132_out1(z0)
f21_in(.(z0, [])) → f21_out1(.([], []))
f21_in(.(z0, .(z1, []))) → f21_out1(.([], .([], [])))
f21_in(.(z0, .(z1, .(z2, [])))) → f21_out1(.([], .([], .([], []))))
f21_in(.(z0, .(z1, .(z2, .(z3, []))))) → f21_out1(.([], .([], .([], .([], [])))))
f21_in(.(z0, .(z1, .(z2, .(z3, .(z4, [])))))) → f21_out1(.([], .([], .([], .([], .([], []))))))
f21_in(.(z0, .(z1, .(z2, .(z3, .(z4, .(z5, []))))))) → f21_out1(.([], .([], .([], .([], .([], .([], [])))))))
f21_in(.(z0, .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, [])))))))) → f21_out1(.([], .([], .([], .([], .([], .([], .([], []))))))))
f21_in(.(z0, .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, .(z7, z8))))))))) → U3(f132_in(z8, .([], .([], .([], .([], .([], .([], .([], [])))))))), .(z0, .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, .(z7, z8)))))))))
U3(f132_out1(z0), .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, .(z7, .(z8, z9))))))))) → f21_out1(z0)
f22_in([], z0) → f22_out1
f22_in(.(z0, z1), z2) → U4(f17_in(z0, z1), .(z0, z1), z2)
U4(f17_out1(z0), .(z1, z2), z3) → f22_out1
f17_in(z0, z1) → U5(f21_in(z0), z0, z1)
U5(f21_out1(z0), z1, z2) → U6(f22_in(z2, z0), z1, z2, z0)
U6(f22_out1, z0, z1, z2) → f17_out1(z2)
Tuples:

F132_IN(.(z0, z1), z2) → c4(U2'(f132_in(z1, .([], z2)), .(z0, z1), z2), F132_IN(z1, .([], z2)))
F22_IN(.(z0, z1), z2) → c16(U4'(f17_in(z0, z1), .(z0, z1), z2), F17_IN(z0, z1))
F17_IN(z0, z1) → c18(U5'(f21_in(z0), z0, z1), F21_IN(z0))
U5'(f21_out1(z0), z1, z2) → c19(U6'(f22_in(z2, z0), z1, z2, z0), F22_IN(z2, z0))
F2_IN(.(z0, z1)) → c(U1'(f17_in(z0, z1), .(z0, z1)))
F2_IN(.(z0, z1)) → c(F17_IN(z0, z1))
F21_IN(.(z0, .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, .(z7, z8))))))))) → c(U3'(f132_in(z8, .([], .([], .([], .([], .([], .([], .([], [])))))))), .(z0, .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, .(z7, z8))))))))))
F21_IN(.(z0, .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, .(z7, z8))))))))) → c(F132_IN(z8, .([], .([], .([], .([], .([], .([], .([], [])))))))))
S tuples:

F132_IN(.(z0, z1), z2) → c4(U2'(f132_in(z1, .([], z2)), .(z0, z1), z2), F132_IN(z1, .([], z2)))
F22_IN(.(z0, z1), z2) → c16(U4'(f17_in(z0, z1), .(z0, z1), z2), F17_IN(z0, z1))
F17_IN(z0, z1) → c18(U5'(f21_in(z0), z0, z1), F21_IN(z0))
U5'(f21_out1(z0), z1, z2) → c19(U6'(f22_in(z2, z0), z1, z2, z0), F22_IN(z2, z0))
F2_IN(.(z0, z1)) → c(U1'(f17_in(z0, z1), .(z0, z1)))
F2_IN(.(z0, z1)) → c(F17_IN(z0, z1))
F21_IN(.(z0, .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, .(z7, z8))))))))) → c(U3'(f132_in(z8, .([], .([], .([], .([], .([], .([], .([], [])))))))), .(z0, .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, .(z7, z8))))))))))
F21_IN(.(z0, .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, .(z7, z8))))))))) → c(F132_IN(z8, .([], .([], .([], .([], .([], .([], .([], [])))))))))
K tuples:none
Defined Rule Symbols:

f2_in, U1, f132_in, U2, f21_in, U3, f22_in, U4, f17_in, U5, U6

Defined Pair Symbols:

F132_IN, F22_IN, F17_IN, U5', F2_IN, F21_IN

Compound Symbols:

c4, c16, c18, c19, 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)) → U1(f17_in(z0, z1), .(z0, z1))
U1(f17_out1(z0), .(z1, z2)) → f2_out1
f132_in([], z0) → f132_out1(.([], z0))
f132_in(.(z0, z1), z2) → U2(f132_in(z1, .([], z2)), .(z0, z1), z2)
U2(f132_out1(z0), .(z1, z2), z3) → f132_out1(z0)
f21_in(.(z0, [])) → f21_out1(.([], []))
f21_in(.(z0, .(z1, []))) → f21_out1(.([], .([], [])))
f21_in(.(z0, .(z1, .(z2, [])))) → f21_out1(.([], .([], .([], []))))
f21_in(.(z0, .(z1, .(z2, .(z3, []))))) → f21_out1(.([], .([], .([], .([], [])))))
f21_in(.(z0, .(z1, .(z2, .(z3, .(z4, [])))))) → f21_out1(.([], .([], .([], .([], .([], []))))))
f21_in(.(z0, .(z1, .(z2, .(z3, .(z4, .(z5, []))))))) → f21_out1(.([], .([], .([], .([], .([], .([], [])))))))
f21_in(.(z0, .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, [])))))))) → f21_out1(.([], .([], .([], .([], .([], .([], .([], []))))))))
f21_in(.(z0, .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, .(z7, z8))))))))) → U3(f132_in(z8, .([], .([], .([], .([], .([], .([], .([], [])))))))), .(z0, .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, .(z7, z8)))))))))
U3(f132_out1(z0), .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, .(z7, .(z8, z9))))))))) → f21_out1(z0)
f22_in([], z0) → f22_out1
f22_in(.(z0, z1), z2) → U4(f17_in(z0, z1), .(z0, z1), z2)
U4(f17_out1(z0), .(z1, z2), z3) → f22_out1
f17_in(z0, z1) → U5(f21_in(z0), z0, z1)
U5(f21_out1(z0), z1, z2) → U6(f22_in(z2, z0), z1, z2, z0)
U6(f22_out1, z0, z1, z2) → f17_out1(z2)
Tuples:

F17_IN(z0, z1) → c18(U5'(f21_in(z0), z0, z1), F21_IN(z0))
F2_IN(.(z0, z1)) → c(F17_IN(z0, z1))
F21_IN(.(z0, .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, .(z7, z8))))))))) → c(F132_IN(z8, .([], .([], .([], .([], .([], .([], .([], [])))))))))
F132_IN(.(z0, z1), z2) → c4(F132_IN(z1, .([], z2)))
F22_IN(.(z0, z1), z2) → c16(F17_IN(z0, z1))
U5'(f21_out1(z0), z1, z2) → c19(F22_IN(z2, z0))
F2_IN(.(z0, z1)) → c
F21_IN(.(z0, .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, .(z7, z8))))))))) → c
S tuples:

F17_IN(z0, z1) → c18(U5'(f21_in(z0), z0, z1), F21_IN(z0))
F2_IN(.(z0, z1)) → c(F17_IN(z0, z1))
F21_IN(.(z0, .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, .(z7, z8))))))))) → c(F132_IN(z8, .([], .([], .([], .([], .([], .([], .([], [])))))))))
F132_IN(.(z0, z1), z2) → c4(F132_IN(z1, .([], z2)))
F22_IN(.(z0, z1), z2) → c16(F17_IN(z0, z1))
U5'(f21_out1(z0), z1, z2) → c19(F22_IN(z2, z0))
F2_IN(.(z0, z1)) → c
F21_IN(.(z0, .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, .(z7, z8))))))))) → c
K tuples:none
Defined Rule Symbols:

f2_in, U1, f132_in, U2, f21_in, U3, f22_in, U4, f17_in, U5, U6

Defined Pair Symbols:

F17_IN, F2_IN, F21_IN, F132_IN, F22_IN, U5'

Compound Symbols:

c18, c, c4, c16, c19, c

(25) CdtKnowledgeProof (EQUIVALENT transformation)

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

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

(26) Obligation:

Complexity Dependency Tuples Problem
Rules:

f2_in([]) → f2_out1
f2_in(.(z0, z1)) → U1(f17_in(z0, z1), .(z0, z1))
U1(f17_out1(z0), .(z1, z2)) → f2_out1
f132_in([], z0) → f132_out1(.([], z0))
f132_in(.(z0, z1), z2) → U2(f132_in(z1, .([], z2)), .(z0, z1), z2)
U2(f132_out1(z0), .(z1, z2), z3) → f132_out1(z0)
f21_in(.(z0, [])) → f21_out1(.([], []))
f21_in(.(z0, .(z1, []))) → f21_out1(.([], .([], [])))
f21_in(.(z0, .(z1, .(z2, [])))) → f21_out1(.([], .([], .([], []))))
f21_in(.(z0, .(z1, .(z2, .(z3, []))))) → f21_out1(.([], .([], .([], .([], [])))))
f21_in(.(z0, .(z1, .(z2, .(z3, .(z4, [])))))) → f21_out1(.([], .([], .([], .([], .([], []))))))
f21_in(.(z0, .(z1, .(z2, .(z3, .(z4, .(z5, []))))))) → f21_out1(.([], .([], .([], .([], .([], .([], [])))))))
f21_in(.(z0, .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, [])))))))) → f21_out1(.([], .([], .([], .([], .([], .([], .([], []))))))))
f21_in(.(z0, .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, .(z7, z8))))))))) → U3(f132_in(z8, .([], .([], .([], .([], .([], .([], .([], [])))))))), .(z0, .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, .(z7, z8)))))))))
U3(f132_out1(z0), .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, .(z7, .(z8, z9))))))))) → f21_out1(z0)
f22_in([], z0) → f22_out1
f22_in(.(z0, z1), z2) → U4(f17_in(z0, z1), .(z0, z1), z2)
U4(f17_out1(z0), .(z1, z2), z3) → f22_out1
f17_in(z0, z1) → U5(f21_in(z0), z0, z1)
U5(f21_out1(z0), z1, z2) → U6(f22_in(z2, z0), z1, z2, z0)
U6(f22_out1, z0, z1, z2) → f17_out1(z2)
Tuples:

F17_IN(z0, z1) → c18(U5'(f21_in(z0), z0, z1), F21_IN(z0))
F2_IN(.(z0, z1)) → c(F17_IN(z0, z1))
F21_IN(.(z0, .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, .(z7, z8))))))))) → c(F132_IN(z8, .([], .([], .([], .([], .([], .([], .([], [])))))))))
F132_IN(.(z0, z1), z2) → c4(F132_IN(z1, .([], z2)))
F22_IN(.(z0, z1), z2) → c16(F17_IN(z0, z1))
U5'(f21_out1(z0), z1, z2) → c19(F22_IN(z2, z0))
F2_IN(.(z0, z1)) → c
F21_IN(.(z0, .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, .(z7, z8))))))))) → c
S tuples:

F17_IN(z0, z1) → c18(U5'(f21_in(z0), z0, z1), F21_IN(z0))
F21_IN(.(z0, .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, .(z7, z8))))))))) → c(F132_IN(z8, .([], .([], .([], .([], .([], .([], .([], [])))))))))
F132_IN(.(z0, z1), z2) → c4(F132_IN(z1, .([], z2)))
F22_IN(.(z0, z1), z2) → c16(F17_IN(z0, z1))
U5'(f21_out1(z0), z1, z2) → c19(F22_IN(z2, z0))
F21_IN(.(z0, .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, .(z7, z8))))))))) → c
K tuples:

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

f2_in, U1, f132_in, U2, f21_in, U3, f22_in, U4, f17_in, U5, U6

Defined Pair Symbols:

F17_IN, F2_IN, F21_IN, F132_IN, F22_IN, U5'

Compound Symbols:

c18, c, c4, c16, c19, 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) → c18(U5'(f21_in(z0), z0, z1), F21_IN(z0))
F22_IN(.(z0, z1), z2) → c16(F17_IN(z0, z1))
U5'(f21_out1(z0), z1, z2) → c19(F22_IN(z2, z0))
F21_IN(.(z0, .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, .(z7, z8))))))))) → c
We considered the (Usable) Rules:

f21_in(.(z0, [])) → f21_out1(.([], []))
f21_in(.(z0, .(z1, []))) → f21_out1(.([], .([], [])))
f21_in(.(z0, .(z1, .(z2, [])))) → f21_out1(.([], .([], .([], []))))
f21_in(.(z0, .(z1, .(z2, .(z3, []))))) → f21_out1(.([], .([], .([], .([], [])))))
f21_in(.(z0, .(z1, .(z2, .(z3, .(z4, [])))))) → f21_out1(.([], .([], .([], .([], .([], []))))))
f21_in(.(z0, .(z1, .(z2, .(z3, .(z4, .(z5, []))))))) → f21_out1(.([], .([], .([], .([], .([], .([], [])))))))
f21_in(.(z0, .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, [])))))))) → f21_out1(.([], .([], .([], .([], .([], .([], .([], []))))))))
f21_in(.(z0, .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, .(z7, z8))))))))) → U3(f132_in(z8, .([], .([], .([], .([], .([], .([], .([], [])))))))), .(z0, .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, .(z7, z8)))))))))
f132_in([], z0) → f132_out1(.([], z0))
f132_in(.(z0, z1), z2) → U2(f132_in(z1, .([], z2)), .(z0, z1), z2)
U3(f132_out1(z0), .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, .(z7, .(z8, z9))))))))) → f21_out1(z0)
U2(f132_out1(z0), .(z1, z2), z3) → f132_out1(z0)
And the Tuples:

F17_IN(z0, z1) → c18(U5'(f21_in(z0), z0, z1), F21_IN(z0))
F2_IN(.(z0, z1)) → c(F17_IN(z0, z1))
F21_IN(.(z0, .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, .(z7, z8))))))))) → c(F132_IN(z8, .([], .([], .([], .([], .([], .([], .([], [])))))))))
F132_IN(.(z0, z1), z2) → c4(F132_IN(z1, .([], z2)))
F22_IN(.(z0, z1), z2) → c16(F17_IN(z0, z1))
U5'(f21_out1(z0), z1, z2) → c19(F22_IN(z2, z0))
F2_IN(.(z0, z1)) → c
F21_IN(.(z0, .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, .(z7, z8))))))))) → c
The order we found is given by the following interpretation:
Polynomial interpretation :

POL(.(x1, x2)) = [2] + x1 + x2   
POL(F132_IN(x1, x2)) = [2] + x1 + x2   
POL(F17_IN(x1, x2)) = [2] + x1 + [2]x2   
POL(F21_IN(x1)) = x1   
POL(F22_IN(x1, x2)) = [2]x1   
POL(F2_IN(x1)) = [1] + [2]x1   
POL(U2(x1, x2, x3)) = 0   
POL(U3(x1, x2)) = 0   
POL(U5'(x1, x2, x3)) = [1] + [2]x3   
POL([]) = 0   
POL(c) = 0   
POL(c(x1)) = x1   
POL(c16(x1)) = x1   
POL(c18(x1, x2)) = x1 + x2   
POL(c19(x1)) = x1   
POL(c4(x1)) = x1   
POL(f132_in(x1, x2)) = 0   
POL(f132_out1(x1)) = 0   
POL(f21_in(x1)) = 0   
POL(f21_out1(x1)) = 0   

(28) Obligation:

Complexity Dependency Tuples Problem
Rules:

f2_in([]) → f2_out1
f2_in(.(z0, z1)) → U1(f17_in(z0, z1), .(z0, z1))
U1(f17_out1(z0), .(z1, z2)) → f2_out1
f132_in([], z0) → f132_out1(.([], z0))
f132_in(.(z0, z1), z2) → U2(f132_in(z1, .([], z2)), .(z0, z1), z2)
U2(f132_out1(z0), .(z1, z2), z3) → f132_out1(z0)
f21_in(.(z0, [])) → f21_out1(.([], []))
f21_in(.(z0, .(z1, []))) → f21_out1(.([], .([], [])))
f21_in(.(z0, .(z1, .(z2, [])))) → f21_out1(.([], .([], .([], []))))
f21_in(.(z0, .(z1, .(z2, .(z3, []))))) → f21_out1(.([], .([], .([], .([], [])))))
f21_in(.(z0, .(z1, .(z2, .(z3, .(z4, [])))))) → f21_out1(.([], .([], .([], .([], .([], []))))))
f21_in(.(z0, .(z1, .(z2, .(z3, .(z4, .(z5, []))))))) → f21_out1(.([], .([], .([], .([], .([], .([], [])))))))
f21_in(.(z0, .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, [])))))))) → f21_out1(.([], .([], .([], .([], .([], .([], .([], []))))))))
f21_in(.(z0, .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, .(z7, z8))))))))) → U3(f132_in(z8, .([], .([], .([], .([], .([], .([], .([], [])))))))), .(z0, .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, .(z7, z8)))))))))
U3(f132_out1(z0), .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, .(z7, .(z8, z9))))))))) → f21_out1(z0)
f22_in([], z0) → f22_out1
f22_in(.(z0, z1), z2) → U4(f17_in(z0, z1), .(z0, z1), z2)
U4(f17_out1(z0), .(z1, z2), z3) → f22_out1
f17_in(z0, z1) → U5(f21_in(z0), z0, z1)
U5(f21_out1(z0), z1, z2) → U6(f22_in(z2, z0), z1, z2, z0)
U6(f22_out1, z0, z1, z2) → f17_out1(z2)
Tuples:

F17_IN(z0, z1) → c18(U5'(f21_in(z0), z0, z1), F21_IN(z0))
F2_IN(.(z0, z1)) → c(F17_IN(z0, z1))
F21_IN(.(z0, .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, .(z7, z8))))))))) → c(F132_IN(z8, .([], .([], .([], .([], .([], .([], .([], [])))))))))
F132_IN(.(z0, z1), z2) → c4(F132_IN(z1, .([], z2)))
F22_IN(.(z0, z1), z2) → c16(F17_IN(z0, z1))
U5'(f21_out1(z0), z1, z2) → c19(F22_IN(z2, z0))
F2_IN(.(z0, z1)) → c
F21_IN(.(z0, .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, .(z7, z8))))))))) → c
S tuples:

F21_IN(.(z0, .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, .(z7, z8))))))))) → c(F132_IN(z8, .([], .([], .([], .([], .([], .([], .([], [])))))))))
F132_IN(.(z0, z1), z2) → c4(F132_IN(z1, .([], z2)))
K tuples:

F2_IN(.(z0, z1)) → c(F17_IN(z0, z1))
F2_IN(.(z0, z1)) → c
F17_IN(z0, z1) → c18(U5'(f21_in(z0), z0, z1), F21_IN(z0))
F22_IN(.(z0, z1), z2) → c16(F17_IN(z0, z1))
U5'(f21_out1(z0), z1, z2) → c19(F22_IN(z2, z0))
F21_IN(.(z0, .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, .(z7, z8))))))))) → c
Defined Rule Symbols:

f2_in, U1, f132_in, U2, f21_in, U3, f22_in, U4, f17_in, U5, U6

Defined Pair Symbols:

F17_IN, F2_IN, F21_IN, F132_IN, F22_IN, U5'

Compound Symbols:

c18, c, c4, c16, c19, c

(29) CdtKnowledgeProof (EQUIVALENT transformation)

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

F21_IN(.(z0, .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, .(z7, z8))))))))) → c(F132_IN(z8, .([], .([], .([], .([], .([], .([], .([], [])))))))))

(30) Obligation:

Complexity Dependency Tuples Problem
Rules:

f2_in([]) → f2_out1
f2_in(.(z0, z1)) → U1(f17_in(z0, z1), .(z0, z1))
U1(f17_out1(z0), .(z1, z2)) → f2_out1
f132_in([], z0) → f132_out1(.([], z0))
f132_in(.(z0, z1), z2) → U2(f132_in(z1, .([], z2)), .(z0, z1), z2)
U2(f132_out1(z0), .(z1, z2), z3) → f132_out1(z0)
f21_in(.(z0, [])) → f21_out1(.([], []))
f21_in(.(z0, .(z1, []))) → f21_out1(.([], .([], [])))
f21_in(.(z0, .(z1, .(z2, [])))) → f21_out1(.([], .([], .([], []))))
f21_in(.(z0, .(z1, .(z2, .(z3, []))))) → f21_out1(.([], .([], .([], .([], [])))))
f21_in(.(z0, .(z1, .(z2, .(z3, .(z4, [])))))) → f21_out1(.([], .([], .([], .([], .([], []))))))
f21_in(.(z0, .(z1, .(z2, .(z3, .(z4, .(z5, []))))))) → f21_out1(.([], .([], .([], .([], .([], .([], [])))))))
f21_in(.(z0, .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, [])))))))) → f21_out1(.([], .([], .([], .([], .([], .([], .([], []))))))))
f21_in(.(z0, .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, .(z7, z8))))))))) → U3(f132_in(z8, .([], .([], .([], .([], .([], .([], .([], [])))))))), .(z0, .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, .(z7, z8)))))))))
U3(f132_out1(z0), .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, .(z7, .(z8, z9))))))))) → f21_out1(z0)
f22_in([], z0) → f22_out1
f22_in(.(z0, z1), z2) → U4(f17_in(z0, z1), .(z0, z1), z2)
U4(f17_out1(z0), .(z1, z2), z3) → f22_out1
f17_in(z0, z1) → U5(f21_in(z0), z0, z1)
U5(f21_out1(z0), z1, z2) → U6(f22_in(z2, z0), z1, z2, z0)
U6(f22_out1, z0, z1, z2) → f17_out1(z2)
Tuples:

F17_IN(z0, z1) → c18(U5'(f21_in(z0), z0, z1), F21_IN(z0))
F2_IN(.(z0, z1)) → c(F17_IN(z0, z1))
F21_IN(.(z0, .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, .(z7, z8))))))))) → c(F132_IN(z8, .([], .([], .([], .([], .([], .([], .([], [])))))))))
F132_IN(.(z0, z1), z2) → c4(F132_IN(z1, .([], z2)))
F22_IN(.(z0, z1), z2) → c16(F17_IN(z0, z1))
U5'(f21_out1(z0), z1, z2) → c19(F22_IN(z2, z0))
F2_IN(.(z0, z1)) → c
F21_IN(.(z0, .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, .(z7, z8))))))))) → c
S tuples:

F132_IN(.(z0, z1), z2) → c4(F132_IN(z1, .([], z2)))
K tuples:

F2_IN(.(z0, z1)) → c(F17_IN(z0, z1))
F2_IN(.(z0, z1)) → c
F17_IN(z0, z1) → c18(U5'(f21_in(z0), z0, z1), F21_IN(z0))
F22_IN(.(z0, z1), z2) → c16(F17_IN(z0, z1))
U5'(f21_out1(z0), z1, z2) → c19(F22_IN(z2, z0))
F21_IN(.(z0, .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, .(z7, z8))))))))) → c
F21_IN(.(z0, .(z1, .(z2, .(z3, .(z4, .(z5, .(z6, .(z7, z8))))))))) → c(F132_IN(z8, .([], .([], .([], .([], .([], .([], .([], [])))))))))
Defined Rule Symbols:

f2_in, U1, f132_in, U2, f21_in, U3, f22_in, U4, f17_in, U5, U6

Defined Pair Symbols:

F17_IN, F2_IN, F21_IN, F132_IN, F22_IN, U5'

Compound Symbols:

c18, c, c4, c16, c19, c