(0) Obligation:

Clauses:

div(X1, 0, X2, X3) :- ','(!, failure(a)).
div(0, X4, Z, R) :- ','(!, ','(eq(Z, 0), eq(R, 0))).
div(X, Y, s(Z), R) :- ','(minus(X, Y, U), ','(!, div(U, Y, Z, R))).
div(X, X5, X6, X).
minus(X, 0, X).
minus(s(X), s(Y), Z) :- minus(X, Y, Z).
failure(b).
eq(X, X).

Query: div(g,g,a,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(0, z0) → f1_out1
f1_in(z0, z1) → U1(f19_in(z0, z1), z0, z1)
U1(f19_out1, z0, z1) → f1_out1
U1(f19_out2, z0, z1) → f1_out1
f60_in(z0, 0) → f60_out1(z0)
f60_in(s(z0), s(z1)) → U2(f60_in(z0, z1), s(z0), s(z1))
U2(f60_out1(z0), s(z1), s(z2)) → f60_out1(z0)
f49_in(s(z0), s(z1)) → U3(f60_in(z0, z1), s(z0), s(z1))
U3(f60_out1(z0), s(z1), s(z2)) → f49_out1(z0)
f50_in(z0, z1) → U4(f1_in(z0, z1), z0, z1)
U4(f1_out1, z0, z1) → f50_out1
f35_in(z0, z1) → U5(f41_in(z0, z1), z0, z1)
U5(f41_out1(z0), z1, z2) → f35_out1
f37_in(z0, z1) → f37_out1
f41_in(z0, z1) → U6(f49_in(z0, z1), z0, z1)
U6(f49_out1(z0), z1, z2) → U7(f50_in(z0, z2), z1, z2, z0)
U7(f50_out1, z0, z1, z2) → f41_out1(z2)
f19_in(z0, z1) → U8(f35_in(z0, z1), f37_in(z0, z1), z0, z1)
U8(f35_out1, z0, z1, z2) → f19_out1
U8(z0, f37_out1, z1, z2) → f19_out2
Tuples:

F1_IN(z0, z1) → c1(U1'(f19_in(z0, z1), z0, z1), F19_IN(z0, z1))
F60_IN(s(z0), s(z1)) → c5(U2'(f60_in(z0, z1), s(z0), s(z1)), F60_IN(z0, z1))
F49_IN(s(z0), s(z1)) → c7(U3'(f60_in(z0, z1), s(z0), s(z1)), F60_IN(z0, z1))
F50_IN(z0, z1) → c9(U4'(f1_in(z0, z1), z0, z1), F1_IN(z0, z1))
F35_IN(z0, z1) → c11(U5'(f41_in(z0, z1), z0, z1), F41_IN(z0, z1))
F41_IN(z0, z1) → c14(U6'(f49_in(z0, z1), z0, z1), F49_IN(z0, z1))
U6'(f49_out1(z0), z1, z2) → c15(U7'(f50_in(z0, z2), z1, z2, z0), F50_IN(z0, z2))
F19_IN(z0, z1) → c17(U8'(f35_in(z0, z1), f37_in(z0, z1), z0, z1), F35_IN(z0, z1), F37_IN(z0, z1))
S tuples:

F1_IN(z0, z1) → c1(U1'(f19_in(z0, z1), z0, z1), F19_IN(z0, z1))
F60_IN(s(z0), s(z1)) → c5(U2'(f60_in(z0, z1), s(z0), s(z1)), F60_IN(z0, z1))
F49_IN(s(z0), s(z1)) → c7(U3'(f60_in(z0, z1), s(z0), s(z1)), F60_IN(z0, z1))
F50_IN(z0, z1) → c9(U4'(f1_in(z0, z1), z0, z1), F1_IN(z0, z1))
F35_IN(z0, z1) → c11(U5'(f41_in(z0, z1), z0, z1), F41_IN(z0, z1))
F41_IN(z0, z1) → c14(U6'(f49_in(z0, z1), z0, z1), F49_IN(z0, z1))
U6'(f49_out1(z0), z1, z2) → c15(U7'(f50_in(z0, z2), z1, z2, z0), F50_IN(z0, z2))
F19_IN(z0, z1) → c17(U8'(f35_in(z0, z1), f37_in(z0, z1), z0, z1), F35_IN(z0, z1), F37_IN(z0, z1))
K tuples:none
Defined Rule Symbols:

f1_in, U1, f60_in, U2, f49_in, U3, f50_in, U4, f35_in, U5, f37_in, f41_in, U6, U7, f19_in, U8

Defined Pair Symbols:

F1_IN, F60_IN, F49_IN, F50_IN, F35_IN, F41_IN, U6', F19_IN

Compound Symbols:

c1, c5, c7, c9, c11, c14, c15, c17

(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(0, z0) → f1_out1
f1_in(z0, z1) → U1(f19_in(z0, z1), z0, z1)
U1(f19_out1, z0, z1) → f1_out1
U1(f19_out2, z0, z1) → f1_out1
f60_in(z0, 0) → f60_out1(z0)
f60_in(s(z0), s(z1)) → U2(f60_in(z0, z1), s(z0), s(z1))
U2(f60_out1(z0), s(z1), s(z2)) → f60_out1(z0)
f49_in(s(z0), s(z1)) → U3(f60_in(z0, z1), s(z0), s(z1))
U3(f60_out1(z0), s(z1), s(z2)) → f49_out1(z0)
f50_in(z0, z1) → U4(f1_in(z0, z1), z0, z1)
U4(f1_out1, z0, z1) → f50_out1
f35_in(z0, z1) → U5(f41_in(z0, z1), z0, z1)
U5(f41_out1(z0), z1, z2) → f35_out1
f37_in(z0, z1) → f37_out1
f41_in(z0, z1) → U6(f49_in(z0, z1), z0, z1)
U6(f49_out1(z0), z1, z2) → U7(f50_in(z0, z2), z1, z2, z0)
U7(f50_out1, z0, z1, z2) → f41_out1(z2)
f19_in(z0, z1) → U8(f35_in(z0, z1), f37_in(z0, z1), z0, z1)
U8(f35_out1, z0, z1, z2) → f19_out1
U8(z0, f37_out1, z1, z2) → f19_out2
Tuples:

F1_IN(z0, z1) → c1(U1'(f19_in(z0, z1), z0, z1), F19_IN(z0, z1))
F60_IN(s(z0), s(z1)) → c5(U2'(f60_in(z0, z1), s(z0), s(z1)), F60_IN(z0, z1))
F50_IN(z0, z1) → c9(U4'(f1_in(z0, z1), z0, z1), F1_IN(z0, z1))
F35_IN(z0, z1) → c11(U5'(f41_in(z0, z1), z0, z1), F41_IN(z0, z1))
F41_IN(z0, z1) → c14(U6'(f49_in(z0, z1), z0, z1), F49_IN(z0, z1))
U6'(f49_out1(z0), z1, z2) → c15(U7'(f50_in(z0, z2), z1, z2, z0), F50_IN(z0, z2))
F19_IN(z0, z1) → c17(U8'(f35_in(z0, z1), f37_in(z0, z1), z0, z1), F35_IN(z0, z1), F37_IN(z0, z1))
F49_IN(s(z0), s(z1)) → c(U3'(f60_in(z0, z1), s(z0), s(z1)))
F49_IN(s(z0), s(z1)) → c(F60_IN(z0, z1))
S tuples:

F1_IN(z0, z1) → c1(U1'(f19_in(z0, z1), z0, z1), F19_IN(z0, z1))
F60_IN(s(z0), s(z1)) → c5(U2'(f60_in(z0, z1), s(z0), s(z1)), F60_IN(z0, z1))
F50_IN(z0, z1) → c9(U4'(f1_in(z0, z1), z0, z1), F1_IN(z0, z1))
F35_IN(z0, z1) → c11(U5'(f41_in(z0, z1), z0, z1), F41_IN(z0, z1))
F41_IN(z0, z1) → c14(U6'(f49_in(z0, z1), z0, z1), F49_IN(z0, z1))
U6'(f49_out1(z0), z1, z2) → c15(U7'(f50_in(z0, z2), z1, z2, z0), F50_IN(z0, z2))
F19_IN(z0, z1) → c17(U8'(f35_in(z0, z1), f37_in(z0, z1), z0, z1), F35_IN(z0, z1), F37_IN(z0, z1))
F49_IN(s(z0), s(z1)) → c(U3'(f60_in(z0, z1), s(z0), s(z1)))
F49_IN(s(z0), s(z1)) → c(F60_IN(z0, z1))
K tuples:none
Defined Rule Symbols:

f1_in, U1, f60_in, U2, f49_in, U3, f50_in, U4, f35_in, U5, f37_in, f41_in, U6, U7, f19_in, U8

Defined Pair Symbols:

F1_IN, F60_IN, F50_IN, F35_IN, F41_IN, U6', F19_IN, F49_IN

Compound Symbols:

c1, c5, c9, c11, c14, c15, c17, c

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

Removed 8 trailing tuple parts

(6) Obligation:

Complexity Dependency Tuples Problem
Rules:

f1_in(0, z0) → f1_out1
f1_in(z0, z1) → U1(f19_in(z0, z1), z0, z1)
U1(f19_out1, z0, z1) → f1_out1
U1(f19_out2, z0, z1) → f1_out1
f60_in(z0, 0) → f60_out1(z0)
f60_in(s(z0), s(z1)) → U2(f60_in(z0, z1), s(z0), s(z1))
U2(f60_out1(z0), s(z1), s(z2)) → f60_out1(z0)
f49_in(s(z0), s(z1)) → U3(f60_in(z0, z1), s(z0), s(z1))
U3(f60_out1(z0), s(z1), s(z2)) → f49_out1(z0)
f50_in(z0, z1) → U4(f1_in(z0, z1), z0, z1)
U4(f1_out1, z0, z1) → f50_out1
f35_in(z0, z1) → U5(f41_in(z0, z1), z0, z1)
U5(f41_out1(z0), z1, z2) → f35_out1
f37_in(z0, z1) → f37_out1
f41_in(z0, z1) → U6(f49_in(z0, z1), z0, z1)
U6(f49_out1(z0), z1, z2) → U7(f50_in(z0, z2), z1, z2, z0)
U7(f50_out1, z0, z1, z2) → f41_out1(z2)
f19_in(z0, z1) → U8(f35_in(z0, z1), f37_in(z0, z1), z0, z1)
U8(f35_out1, z0, z1, z2) → f19_out1
U8(z0, f37_out1, z1, z2) → f19_out2
Tuples:

F41_IN(z0, z1) → c14(U6'(f49_in(z0, z1), z0, z1), F49_IN(z0, z1))
F49_IN(s(z0), s(z1)) → c(F60_IN(z0, z1))
F1_IN(z0, z1) → c1(F19_IN(z0, z1))
F60_IN(s(z0), s(z1)) → c5(F60_IN(z0, z1))
F50_IN(z0, z1) → c9(F1_IN(z0, z1))
F35_IN(z0, z1) → c11(F41_IN(z0, z1))
U6'(f49_out1(z0), z1, z2) → c15(F50_IN(z0, z2))
F19_IN(z0, z1) → c17(F35_IN(z0, z1))
F49_IN(s(z0), s(z1)) → c
S tuples:

F41_IN(z0, z1) → c14(U6'(f49_in(z0, z1), z0, z1), F49_IN(z0, z1))
F49_IN(s(z0), s(z1)) → c(F60_IN(z0, z1))
F1_IN(z0, z1) → c1(F19_IN(z0, z1))
F60_IN(s(z0), s(z1)) → c5(F60_IN(z0, z1))
F50_IN(z0, z1) → c9(F1_IN(z0, z1))
F35_IN(z0, z1) → c11(F41_IN(z0, z1))
U6'(f49_out1(z0), z1, z2) → c15(F50_IN(z0, z2))
F19_IN(z0, z1) → c17(F35_IN(z0, z1))
F49_IN(s(z0), s(z1)) → c
K tuples:none
Defined Rule Symbols:

f1_in, U1, f60_in, U2, f49_in, U3, f50_in, U4, f35_in, U5, f37_in, f41_in, U6, U7, f19_in, U8

Defined Pair Symbols:

F41_IN, F49_IN, F1_IN, F60_IN, F50_IN, F35_IN, U6', F19_IN

Compound Symbols:

c14, c, c1, c5, c9, c11, c15, c17, c

(7) CdtPolyRedPairProof (UPPER BOUND (ADD(O(n^2))) transformation)

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

F1_IN(z0, z1) → c1(F19_IN(z0, z1))
We considered the (Usable) Rules:

f49_in(s(z0), s(z1)) → U3(f60_in(z0, z1), s(z0), s(z1))
f60_in(z0, 0) → f60_out1(z0)
f60_in(s(z0), s(z1)) → U2(f60_in(z0, z1), s(z0), s(z1))
U3(f60_out1(z0), s(z1), s(z2)) → f49_out1(z0)
U2(f60_out1(z0), s(z1), s(z2)) → f60_out1(z0)
And the Tuples:

F41_IN(z0, z1) → c14(U6'(f49_in(z0, z1), z0, z1), F49_IN(z0, z1))
F49_IN(s(z0), s(z1)) → c(F60_IN(z0, z1))
F1_IN(z0, z1) → c1(F19_IN(z0, z1))
F60_IN(s(z0), s(z1)) → c5(F60_IN(z0, z1))
F50_IN(z0, z1) → c9(F1_IN(z0, z1))
F35_IN(z0, z1) → c11(F41_IN(z0, z1))
U6'(f49_out1(z0), z1, z2) → c15(F50_IN(z0, z2))
F19_IN(z0, z1) → c17(F35_IN(z0, z1))
F49_IN(s(z0), s(z1)) → c
The order we found is given by the following interpretation:
Polynomial interpretation :

POL(0) = 0   
POL(F19_IN(x1, x2)) = x22 + x12   
POL(F1_IN(x1, x2)) = [1] + x22 + x12   
POL(F35_IN(x1, x2)) = x22 + x12   
POL(F41_IN(x1, x2)) = x22 + x12   
POL(F49_IN(x1, x2)) = 0   
POL(F50_IN(x1, x2)) = [1] + x22 + x12   
POL(F60_IN(x1, x2)) = 0   
POL(U2(x1, x2, x3)) = x1   
POL(U3(x1, x2, x3)) = [1] + x1   
POL(U6'(x1, x2, x3)) = x32 + x12   
POL(c) = 0   
POL(c(x1)) = x1   
POL(c1(x1)) = x1   
POL(c11(x1)) = x1   
POL(c14(x1, x2)) = x1 + x2   
POL(c15(x1)) = x1   
POL(c17(x1)) = x1   
POL(c5(x1)) = x1   
POL(c9(x1)) = x1   
POL(f49_in(x1, x2)) = x1   
POL(f49_out1(x1)) = [1] + x1   
POL(f60_in(x1, x2)) = x1   
POL(f60_out1(x1)) = x1   
POL(s(x1)) = [1] + x1   

(8) Obligation:

Complexity Dependency Tuples Problem
Rules:

f1_in(0, z0) → f1_out1
f1_in(z0, z1) → U1(f19_in(z0, z1), z0, z1)
U1(f19_out1, z0, z1) → f1_out1
U1(f19_out2, z0, z1) → f1_out1
f60_in(z0, 0) → f60_out1(z0)
f60_in(s(z0), s(z1)) → U2(f60_in(z0, z1), s(z0), s(z1))
U2(f60_out1(z0), s(z1), s(z2)) → f60_out1(z0)
f49_in(s(z0), s(z1)) → U3(f60_in(z0, z1), s(z0), s(z1))
U3(f60_out1(z0), s(z1), s(z2)) → f49_out1(z0)
f50_in(z0, z1) → U4(f1_in(z0, z1), z0, z1)
U4(f1_out1, z0, z1) → f50_out1
f35_in(z0, z1) → U5(f41_in(z0, z1), z0, z1)
U5(f41_out1(z0), z1, z2) → f35_out1
f37_in(z0, z1) → f37_out1
f41_in(z0, z1) → U6(f49_in(z0, z1), z0, z1)
U6(f49_out1(z0), z1, z2) → U7(f50_in(z0, z2), z1, z2, z0)
U7(f50_out1, z0, z1, z2) → f41_out1(z2)
f19_in(z0, z1) → U8(f35_in(z0, z1), f37_in(z0, z1), z0, z1)
U8(f35_out1, z0, z1, z2) → f19_out1
U8(z0, f37_out1, z1, z2) → f19_out2
Tuples:

F41_IN(z0, z1) → c14(U6'(f49_in(z0, z1), z0, z1), F49_IN(z0, z1))
F49_IN(s(z0), s(z1)) → c(F60_IN(z0, z1))
F1_IN(z0, z1) → c1(F19_IN(z0, z1))
F60_IN(s(z0), s(z1)) → c5(F60_IN(z0, z1))
F50_IN(z0, z1) → c9(F1_IN(z0, z1))
F35_IN(z0, z1) → c11(F41_IN(z0, z1))
U6'(f49_out1(z0), z1, z2) → c15(F50_IN(z0, z2))
F19_IN(z0, z1) → c17(F35_IN(z0, z1))
F49_IN(s(z0), s(z1)) → c
S tuples:

F41_IN(z0, z1) → c14(U6'(f49_in(z0, z1), z0, z1), F49_IN(z0, z1))
F49_IN(s(z0), s(z1)) → c(F60_IN(z0, z1))
F60_IN(s(z0), s(z1)) → c5(F60_IN(z0, z1))
F50_IN(z0, z1) → c9(F1_IN(z0, z1))
F35_IN(z0, z1) → c11(F41_IN(z0, z1))
U6'(f49_out1(z0), z1, z2) → c15(F50_IN(z0, z2))
F19_IN(z0, z1) → c17(F35_IN(z0, z1))
F49_IN(s(z0), s(z1)) → c
K tuples:

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

f1_in, U1, f60_in, U2, f49_in, U3, f50_in, U4, f35_in, U5, f37_in, f41_in, U6, U7, f19_in, U8

Defined Pair Symbols:

F41_IN, F49_IN, F1_IN, F60_IN, F50_IN, F35_IN, U6', F19_IN

Compound Symbols:

c14, c, c1, c5, c9, c11, c15, c17, c

(9) CdtKnowledgeProof (EQUIVALENT transformation)

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

F19_IN(z0, z1) → c17(F35_IN(z0, z1))
F35_IN(z0, z1) → c11(F41_IN(z0, z1))
F41_IN(z0, z1) → c14(U6'(f49_in(z0, z1), z0, z1), F49_IN(z0, z1))
F49_IN(s(z0), s(z1)) → c(F60_IN(z0, z1))
U6'(f49_out1(z0), z1, z2) → c15(F50_IN(z0, z2))
F49_IN(s(z0), s(z1)) → c
F50_IN(z0, z1) → c9(F1_IN(z0, z1))
F1_IN(z0, z1) → c1(F19_IN(z0, z1))

(10) Obligation:

Complexity Dependency Tuples Problem
Rules:

f1_in(0, z0) → f1_out1
f1_in(z0, z1) → U1(f19_in(z0, z1), z0, z1)
U1(f19_out1, z0, z1) → f1_out1
U1(f19_out2, z0, z1) → f1_out1
f60_in(z0, 0) → f60_out1(z0)
f60_in(s(z0), s(z1)) → U2(f60_in(z0, z1), s(z0), s(z1))
U2(f60_out1(z0), s(z1), s(z2)) → f60_out1(z0)
f49_in(s(z0), s(z1)) → U3(f60_in(z0, z1), s(z0), s(z1))
U3(f60_out1(z0), s(z1), s(z2)) → f49_out1(z0)
f50_in(z0, z1) → U4(f1_in(z0, z1), z0, z1)
U4(f1_out1, z0, z1) → f50_out1
f35_in(z0, z1) → U5(f41_in(z0, z1), z0, z1)
U5(f41_out1(z0), z1, z2) → f35_out1
f37_in(z0, z1) → f37_out1
f41_in(z0, z1) → U6(f49_in(z0, z1), z0, z1)
U6(f49_out1(z0), z1, z2) → U7(f50_in(z0, z2), z1, z2, z0)
U7(f50_out1, z0, z1, z2) → f41_out1(z2)
f19_in(z0, z1) → U8(f35_in(z0, z1), f37_in(z0, z1), z0, z1)
U8(f35_out1, z0, z1, z2) → f19_out1
U8(z0, f37_out1, z1, z2) → f19_out2
Tuples:

F41_IN(z0, z1) → c14(U6'(f49_in(z0, z1), z0, z1), F49_IN(z0, z1))
F49_IN(s(z0), s(z1)) → c(F60_IN(z0, z1))
F1_IN(z0, z1) → c1(F19_IN(z0, z1))
F60_IN(s(z0), s(z1)) → c5(F60_IN(z0, z1))
F50_IN(z0, z1) → c9(F1_IN(z0, z1))
F35_IN(z0, z1) → c11(F41_IN(z0, z1))
U6'(f49_out1(z0), z1, z2) → c15(F50_IN(z0, z2))
F19_IN(z0, z1) → c17(F35_IN(z0, z1))
F49_IN(s(z0), s(z1)) → c
S tuples:

F60_IN(s(z0), s(z1)) → c5(F60_IN(z0, z1))
K tuples:

F1_IN(z0, z1) → c1(F19_IN(z0, z1))
F19_IN(z0, z1) → c17(F35_IN(z0, z1))
F35_IN(z0, z1) → c11(F41_IN(z0, z1))
F41_IN(z0, z1) → c14(U6'(f49_in(z0, z1), z0, z1), F49_IN(z0, z1))
F49_IN(s(z0), s(z1)) → c(F60_IN(z0, z1))
U6'(f49_out1(z0), z1, z2) → c15(F50_IN(z0, z2))
F49_IN(s(z0), s(z1)) → c
F50_IN(z0, z1) → c9(F1_IN(z0, z1))
Defined Rule Symbols:

f1_in, U1, f60_in, U2, f49_in, U3, f50_in, U4, f35_in, U5, f37_in, f41_in, U6, U7, f19_in, U8

Defined Pair Symbols:

F41_IN, F49_IN, F1_IN, F60_IN, F50_IN, F35_IN, U6', F19_IN

Compound Symbols:

c14, c, c1, c5, c9, c11, c15, c17, c

(11) PrologToCdtProblemTransformerProof (UPPER BOUND (ID) transformation)

Built complexity over-approximating cdt problems from derivation graph.

(12) Obligation:

Complexity Dependency Tuples Problem
Rules:

f2_in(0, z0) → f2_out1
f2_in(z0, z1) → U1(f40_in(z0, z1), z0, z1)
f2_in(z0, z1) → f2_out1
U1(f40_out1(z0), z1, z2) → f2_out1
U1(f40_out3, z0, z1) → f2_out1
f47_in(z0, 0) → f47_out1(z0)
f47_in(s(z0), s(z1)) → U2(f47_in(z0, z1), s(z0), s(z1))
U2(f47_out1(z0), s(z1), s(z2)) → f47_out1(z0)
f48_in(z0, z1) → U3(f2_in(z0, s(z1)), z0, z1)
U3(f2_out1, z0, z1) → f48_out1
f42_in(s(z0), s(z1)) → U4(f45_in(z0, z1), s(z0), s(z1))
U4(f45_out1(z0), s(z1), s(z2)) → f42_out1(z0)
f43_in(z0, z1) → f43_out2
f45_in(z0, z1) → U5(f47_in(z0, z1), z0, z1)
U5(f47_out1(z0), z1, z2) → U6(f48_in(z0, z2), z1, z2, z0)
U6(f48_out1, z0, z1, z2) → f45_out1(z2)
f40_in(z0, z1) → U7(f42_in(z0, z1), f43_in(z0, z1), z0, z1)
U7(f42_out1(z0), z1, z2, z3) → f40_out1(z0)
U7(z0, f43_out2, z1, z2) → f40_out3
Tuples:

F2_IN(z0, z1) → c1(U1'(f40_in(z0, z1), z0, z1), F40_IN(z0, z1))
F47_IN(s(z0), s(z1)) → c6(U2'(f47_in(z0, z1), s(z0), s(z1)), F47_IN(z0, z1))
F48_IN(z0, z1) → c8(U3'(f2_in(z0, s(z1)), z0, z1), F2_IN(z0, s(z1)))
F42_IN(s(z0), s(z1)) → c10(U4'(f45_in(z0, z1), s(z0), s(z1)), F45_IN(z0, z1))
F45_IN(z0, z1) → c13(U5'(f47_in(z0, z1), z0, z1), F47_IN(z0, z1))
U5'(f47_out1(z0), z1, z2) → c14(U6'(f48_in(z0, z2), z1, z2, z0), F48_IN(z0, z2))
F40_IN(z0, z1) → c16(U7'(f42_in(z0, z1), f43_in(z0, z1), z0, z1), F42_IN(z0, z1), F43_IN(z0, z1))
S tuples:

F2_IN(z0, z1) → c1(U1'(f40_in(z0, z1), z0, z1), F40_IN(z0, z1))
F47_IN(s(z0), s(z1)) → c6(U2'(f47_in(z0, z1), s(z0), s(z1)), F47_IN(z0, z1))
F48_IN(z0, z1) → c8(U3'(f2_in(z0, s(z1)), z0, z1), F2_IN(z0, s(z1)))
F42_IN(s(z0), s(z1)) → c10(U4'(f45_in(z0, z1), s(z0), s(z1)), F45_IN(z0, z1))
F45_IN(z0, z1) → c13(U5'(f47_in(z0, z1), z0, z1), F47_IN(z0, z1))
U5'(f47_out1(z0), z1, z2) → c14(U6'(f48_in(z0, z2), z1, z2, z0), F48_IN(z0, z2))
F40_IN(z0, z1) → c16(U7'(f42_in(z0, z1), f43_in(z0, z1), z0, z1), F42_IN(z0, z1), F43_IN(z0, z1))
K tuples:none
Defined Rule Symbols:

f2_in, U1, f47_in, U2, f48_in, U3, f42_in, U4, f43_in, f45_in, U5, U6, f40_in, U7

Defined Pair Symbols:

F2_IN, F47_IN, F48_IN, F42_IN, F45_IN, U5', F40_IN

Compound Symbols:

c1, c6, c8, c10, c13, c14, c16

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

Removed 7 trailing tuple parts

(14) Obligation:

Complexity Dependency Tuples Problem
Rules:

f2_in(0, z0) → f2_out1
f2_in(z0, z1) → U1(f40_in(z0, z1), z0, z1)
f2_in(z0, z1) → f2_out1
U1(f40_out1(z0), z1, z2) → f2_out1
U1(f40_out3, z0, z1) → f2_out1
f47_in(z0, 0) → f47_out1(z0)
f47_in(s(z0), s(z1)) → U2(f47_in(z0, z1), s(z0), s(z1))
U2(f47_out1(z0), s(z1), s(z2)) → f47_out1(z0)
f48_in(z0, z1) → U3(f2_in(z0, s(z1)), z0, z1)
U3(f2_out1, z0, z1) → f48_out1
f42_in(s(z0), s(z1)) → U4(f45_in(z0, z1), s(z0), s(z1))
U4(f45_out1(z0), s(z1), s(z2)) → f42_out1(z0)
f43_in(z0, z1) → f43_out2
f45_in(z0, z1) → U5(f47_in(z0, z1), z0, z1)
U5(f47_out1(z0), z1, z2) → U6(f48_in(z0, z2), z1, z2, z0)
U6(f48_out1, z0, z1, z2) → f45_out1(z2)
f40_in(z0, z1) → U7(f42_in(z0, z1), f43_in(z0, z1), z0, z1)
U7(f42_out1(z0), z1, z2, z3) → f40_out1(z0)
U7(z0, f43_out2, z1, z2) → f40_out3
Tuples:

F45_IN(z0, z1) → c13(U5'(f47_in(z0, z1), z0, z1), F47_IN(z0, z1))
F2_IN(z0, z1) → c1(F40_IN(z0, z1))
F47_IN(s(z0), s(z1)) → c6(F47_IN(z0, z1))
F48_IN(z0, z1) → c8(F2_IN(z0, s(z1)))
F42_IN(s(z0), s(z1)) → c10(F45_IN(z0, z1))
U5'(f47_out1(z0), z1, z2) → c14(F48_IN(z0, z2))
F40_IN(z0, z1) → c16(F42_IN(z0, z1))
S tuples:

F45_IN(z0, z1) → c13(U5'(f47_in(z0, z1), z0, z1), F47_IN(z0, z1))
F2_IN(z0, z1) → c1(F40_IN(z0, z1))
F47_IN(s(z0), s(z1)) → c6(F47_IN(z0, z1))
F48_IN(z0, z1) → c8(F2_IN(z0, s(z1)))
F42_IN(s(z0), s(z1)) → c10(F45_IN(z0, z1))
U5'(f47_out1(z0), z1, z2) → c14(F48_IN(z0, z2))
F40_IN(z0, z1) → c16(F42_IN(z0, z1))
K tuples:none
Defined Rule Symbols:

f2_in, U1, f47_in, U2, f48_in, U3, f42_in, U4, f43_in, f45_in, U5, U6, f40_in, U7

Defined Pair Symbols:

F45_IN, F2_IN, F47_IN, F48_IN, F42_IN, U5', F40_IN

Compound Symbols:

c13, c1, c6, c8, c10, c14, c16

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

F42_IN(s(z0), s(z1)) → c10(F45_IN(z0, z1))
We considered the (Usable) Rules:

f47_in(z0, 0) → f47_out1(z0)
f47_in(s(z0), s(z1)) → U2(f47_in(z0, z1), s(z0), s(z1))
U2(f47_out1(z0), s(z1), s(z2)) → f47_out1(z0)
And the Tuples:

F45_IN(z0, z1) → c13(U5'(f47_in(z0, z1), z0, z1), F47_IN(z0, z1))
F2_IN(z0, z1) → c1(F40_IN(z0, z1))
F47_IN(s(z0), s(z1)) → c6(F47_IN(z0, z1))
F48_IN(z0, z1) → c8(F2_IN(z0, s(z1)))
F42_IN(s(z0), s(z1)) → c10(F45_IN(z0, z1))
U5'(f47_out1(z0), z1, z2) → c14(F48_IN(z0, z2))
F40_IN(z0, z1) → c16(F42_IN(z0, z1))
The order we found is given by the following interpretation:
Polynomial interpretation :

POL(0) = 0   
POL(F2_IN(x1, x2)) = x1 + x2   
POL(F40_IN(x1, x2)) = x1 + x2   
POL(F42_IN(x1, x2)) = x1 + x2   
POL(F45_IN(x1, x2)) = [1] + x1 + x2   
POL(F47_IN(x1, x2)) = 0   
POL(F48_IN(x1, x2)) = [1] + x1 + x2   
POL(U2(x1, x2, x3)) = x1   
POL(U5'(x1, x2, x3)) = x1 + x3   
POL(c1(x1)) = x1   
POL(c10(x1)) = x1   
POL(c13(x1, x2)) = x1 + x2   
POL(c14(x1)) = x1   
POL(c16(x1)) = x1   
POL(c6(x1)) = x1   
POL(c8(x1)) = x1   
POL(f47_in(x1, x2)) = [1] + x1   
POL(f47_out1(x1)) = [1] + x1   
POL(s(x1)) = [1] + x1   

(16) Obligation:

Complexity Dependency Tuples Problem
Rules:

f2_in(0, z0) → f2_out1
f2_in(z0, z1) → U1(f40_in(z0, z1), z0, z1)
f2_in(z0, z1) → f2_out1
U1(f40_out1(z0), z1, z2) → f2_out1
U1(f40_out3, z0, z1) → f2_out1
f47_in(z0, 0) → f47_out1(z0)
f47_in(s(z0), s(z1)) → U2(f47_in(z0, z1), s(z0), s(z1))
U2(f47_out1(z0), s(z1), s(z2)) → f47_out1(z0)
f48_in(z0, z1) → U3(f2_in(z0, s(z1)), z0, z1)
U3(f2_out1, z0, z1) → f48_out1
f42_in(s(z0), s(z1)) → U4(f45_in(z0, z1), s(z0), s(z1))
U4(f45_out1(z0), s(z1), s(z2)) → f42_out1(z0)
f43_in(z0, z1) → f43_out2
f45_in(z0, z1) → U5(f47_in(z0, z1), z0, z1)
U5(f47_out1(z0), z1, z2) → U6(f48_in(z0, z2), z1, z2, z0)
U6(f48_out1, z0, z1, z2) → f45_out1(z2)
f40_in(z0, z1) → U7(f42_in(z0, z1), f43_in(z0, z1), z0, z1)
U7(f42_out1(z0), z1, z2, z3) → f40_out1(z0)
U7(z0, f43_out2, z1, z2) → f40_out3
Tuples:

F45_IN(z0, z1) → c13(U5'(f47_in(z0, z1), z0, z1), F47_IN(z0, z1))
F2_IN(z0, z1) → c1(F40_IN(z0, z1))
F47_IN(s(z0), s(z1)) → c6(F47_IN(z0, z1))
F48_IN(z0, z1) → c8(F2_IN(z0, s(z1)))
F42_IN(s(z0), s(z1)) → c10(F45_IN(z0, z1))
U5'(f47_out1(z0), z1, z2) → c14(F48_IN(z0, z2))
F40_IN(z0, z1) → c16(F42_IN(z0, z1))
S tuples:

F45_IN(z0, z1) → c13(U5'(f47_in(z0, z1), z0, z1), F47_IN(z0, z1))
F2_IN(z0, z1) → c1(F40_IN(z0, z1))
F47_IN(s(z0), s(z1)) → c6(F47_IN(z0, z1))
F48_IN(z0, z1) → c8(F2_IN(z0, s(z1)))
U5'(f47_out1(z0), z1, z2) → c14(F48_IN(z0, z2))
F40_IN(z0, z1) → c16(F42_IN(z0, z1))
K tuples:

F42_IN(s(z0), s(z1)) → c10(F45_IN(z0, z1))
Defined Rule Symbols:

f2_in, U1, f47_in, U2, f48_in, U3, f42_in, U4, f43_in, f45_in, U5, U6, f40_in, U7

Defined Pair Symbols:

F45_IN, F2_IN, F47_IN, F48_IN, F42_IN, U5', F40_IN

Compound Symbols:

c13, c1, c6, c8, c10, c14, c16

(17) CdtKnowledgeProof (EQUIVALENT transformation)

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

F45_IN(z0, z1) → c13(U5'(f47_in(z0, z1), z0, z1), F47_IN(z0, z1))
U5'(f47_out1(z0), z1, z2) → c14(F48_IN(z0, z2))
U5'(f47_out1(z0), z1, z2) → c14(F48_IN(z0, z2))
F48_IN(z0, z1) → c8(F2_IN(z0, s(z1)))
F2_IN(z0, z1) → c1(F40_IN(z0, z1))
F40_IN(z0, z1) → c16(F42_IN(z0, z1))
F42_IN(s(z0), s(z1)) → c10(F45_IN(z0, z1))

(18) Obligation:

Complexity Dependency Tuples Problem
Rules:

f2_in(0, z0) → f2_out1
f2_in(z0, z1) → U1(f40_in(z0, z1), z0, z1)
f2_in(z0, z1) → f2_out1
U1(f40_out1(z0), z1, z2) → f2_out1
U1(f40_out3, z0, z1) → f2_out1
f47_in(z0, 0) → f47_out1(z0)
f47_in(s(z0), s(z1)) → U2(f47_in(z0, z1), s(z0), s(z1))
U2(f47_out1(z0), s(z1), s(z2)) → f47_out1(z0)
f48_in(z0, z1) → U3(f2_in(z0, s(z1)), z0, z1)
U3(f2_out1, z0, z1) → f48_out1
f42_in(s(z0), s(z1)) → U4(f45_in(z0, z1), s(z0), s(z1))
U4(f45_out1(z0), s(z1), s(z2)) → f42_out1(z0)
f43_in(z0, z1) → f43_out2
f45_in(z0, z1) → U5(f47_in(z0, z1), z0, z1)
U5(f47_out1(z0), z1, z2) → U6(f48_in(z0, z2), z1, z2, z0)
U6(f48_out1, z0, z1, z2) → f45_out1(z2)
f40_in(z0, z1) → U7(f42_in(z0, z1), f43_in(z0, z1), z0, z1)
U7(f42_out1(z0), z1, z2, z3) → f40_out1(z0)
U7(z0, f43_out2, z1, z2) → f40_out3
Tuples:

F45_IN(z0, z1) → c13(U5'(f47_in(z0, z1), z0, z1), F47_IN(z0, z1))
F2_IN(z0, z1) → c1(F40_IN(z0, z1))
F47_IN(s(z0), s(z1)) → c6(F47_IN(z0, z1))
F48_IN(z0, z1) → c8(F2_IN(z0, s(z1)))
F42_IN(s(z0), s(z1)) → c10(F45_IN(z0, z1))
U5'(f47_out1(z0), z1, z2) → c14(F48_IN(z0, z2))
F40_IN(z0, z1) → c16(F42_IN(z0, z1))
S tuples:

F47_IN(s(z0), s(z1)) → c6(F47_IN(z0, z1))
K tuples:

F42_IN(s(z0), s(z1)) → c10(F45_IN(z0, z1))
F45_IN(z0, z1) → c13(U5'(f47_in(z0, z1), z0, z1), F47_IN(z0, z1))
U5'(f47_out1(z0), z1, z2) → c14(F48_IN(z0, z2))
F48_IN(z0, z1) → c8(F2_IN(z0, s(z1)))
F2_IN(z0, z1) → c1(F40_IN(z0, z1))
F40_IN(z0, z1) → c16(F42_IN(z0, z1))
Defined Rule Symbols:

f2_in, U1, f47_in, U2, f48_in, U3, f42_in, U4, f43_in, f45_in, U5, U6, f40_in, U7

Defined Pair Symbols:

F45_IN, F2_IN, F47_IN, F48_IN, F42_IN, U5', F40_IN

Compound Symbols:

c13, c1, c6, c8, c10, c14, c16

(19) CdtPolyRedPairProof (UPPER BOUND (ADD(O(n^2))) transformation)

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

F47_IN(s(z0), s(z1)) → c6(F47_IN(z0, z1))
We considered the (Usable) Rules:

f47_in(z0, 0) → f47_out1(z0)
f47_in(s(z0), s(z1)) → U2(f47_in(z0, z1), s(z0), s(z1))
U2(f47_out1(z0), s(z1), s(z2)) → f47_out1(z0)
And the Tuples:

F45_IN(z0, z1) → c13(U5'(f47_in(z0, z1), z0, z1), F47_IN(z0, z1))
F2_IN(z0, z1) → c1(F40_IN(z0, z1))
F47_IN(s(z0), s(z1)) → c6(F47_IN(z0, z1))
F48_IN(z0, z1) → c8(F2_IN(z0, s(z1)))
F42_IN(s(z0), s(z1)) → c10(F45_IN(z0, z1))
U5'(f47_out1(z0), z1, z2) → c14(F48_IN(z0, z2))
F40_IN(z0, z1) → c16(F42_IN(z0, z1))
The order we found is given by the following interpretation:
Polynomial interpretation :

POL(0) = 0   
POL(F2_IN(x1, x2)) = x12   
POL(F40_IN(x1, x2)) = x12   
POL(F42_IN(x1, x2)) = x12   
POL(F45_IN(x1, x2)) = [1] + x1 + x12   
POL(F47_IN(x1, x2)) = x1   
POL(F48_IN(x1, x2)) = x12   
POL(U2(x1, x2, x3)) = x1   
POL(U5'(x1, x2, x3)) = x12   
POL(c1(x1)) = x1   
POL(c10(x1)) = x1   
POL(c13(x1, x2)) = x1 + x2   
POL(c14(x1)) = x1   
POL(c16(x1)) = x1   
POL(c6(x1)) = x1   
POL(c8(x1)) = x1   
POL(f47_in(x1, x2)) = x1   
POL(f47_out1(x1)) = x1   
POL(s(x1)) = [1] + x1   

(20) Obligation:

Complexity Dependency Tuples Problem
Rules:

f2_in(0, z0) → f2_out1
f2_in(z0, z1) → U1(f40_in(z0, z1), z0, z1)
f2_in(z0, z1) → f2_out1
U1(f40_out1(z0), z1, z2) → f2_out1
U1(f40_out3, z0, z1) → f2_out1
f47_in(z0, 0) → f47_out1(z0)
f47_in(s(z0), s(z1)) → U2(f47_in(z0, z1), s(z0), s(z1))
U2(f47_out1(z0), s(z1), s(z2)) → f47_out1(z0)
f48_in(z0, z1) → U3(f2_in(z0, s(z1)), z0, z1)
U3(f2_out1, z0, z1) → f48_out1
f42_in(s(z0), s(z1)) → U4(f45_in(z0, z1), s(z0), s(z1))
U4(f45_out1(z0), s(z1), s(z2)) → f42_out1(z0)
f43_in(z0, z1) → f43_out2
f45_in(z0, z1) → U5(f47_in(z0, z1), z0, z1)
U5(f47_out1(z0), z1, z2) → U6(f48_in(z0, z2), z1, z2, z0)
U6(f48_out1, z0, z1, z2) → f45_out1(z2)
f40_in(z0, z1) → U7(f42_in(z0, z1), f43_in(z0, z1), z0, z1)
U7(f42_out1(z0), z1, z2, z3) → f40_out1(z0)
U7(z0, f43_out2, z1, z2) → f40_out3
Tuples:

F45_IN(z0, z1) → c13(U5'(f47_in(z0, z1), z0, z1), F47_IN(z0, z1))
F2_IN(z0, z1) → c1(F40_IN(z0, z1))
F47_IN(s(z0), s(z1)) → c6(F47_IN(z0, z1))
F48_IN(z0, z1) → c8(F2_IN(z0, s(z1)))
F42_IN(s(z0), s(z1)) → c10(F45_IN(z0, z1))
U5'(f47_out1(z0), z1, z2) → c14(F48_IN(z0, z2))
F40_IN(z0, z1) → c16(F42_IN(z0, z1))
S tuples:none
K tuples:

F42_IN(s(z0), s(z1)) → c10(F45_IN(z0, z1))
F45_IN(z0, z1) → c13(U5'(f47_in(z0, z1), z0, z1), F47_IN(z0, z1))
U5'(f47_out1(z0), z1, z2) → c14(F48_IN(z0, z2))
F48_IN(z0, z1) → c8(F2_IN(z0, s(z1)))
F2_IN(z0, z1) → c1(F40_IN(z0, z1))
F40_IN(z0, z1) → c16(F42_IN(z0, z1))
F47_IN(s(z0), s(z1)) → c6(F47_IN(z0, z1))
Defined Rule Symbols:

f2_in, U1, f47_in, U2, f48_in, U3, f42_in, U4, f43_in, f45_in, U5, U6, f40_in, U7

Defined Pair Symbols:

F45_IN, F2_IN, F47_IN, F48_IN, F42_IN, U5', F40_IN

Compound Symbols:

c13, c1, c6, c8, c10, c14, c16

(21) SIsEmptyProof (EQUIVALENT transformation)

The set S is empty

(22) BOUNDS(O(1), O(1))