(0) Obligation:

Clauses:

div(X, 0, Z, R) :- ','(!, fail).
div(0, Y, Z, R) :- ','(!, ','(=(Z, 0), =(R, 0))).
div(X, Y, s(Z), R) :- ','(minus(X, Y, U), ','(!, div(U, Y, Z, R))).
div(X, Y, 0, X).
minus(X, 0, X).
minus(s(X), s(Y), Z) :- minus(X, Y, Z).

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(f17_in(z0, z1), z0, z1)
U1(f17_out1, z0, z1) → f1_out1
U1(f17_out2, z0, z1) → f1_out1
f54_in(z0, 0) → f54_out1(z0)
f54_in(s(z0), s(z1)) → U2(f54_in(z0, z1), s(z0), s(z1))
U2(f54_out1(z0), s(z1), s(z2)) → f54_out1(z0)
f43_in(s(z0), s(z1)) → U3(f54_in(z0, z1), s(z0), s(z1))
U3(f54_out1(z0), s(z1), s(z2)) → f43_out1(z0)
f44_in(z0, z1) → U4(f1_in(z0, z1), z0, z1)
U4(f1_out1, z0, z1) → f44_out1
f29_in(z0, z1) → U5(f35_in(z0, z1), z0, z1)
U5(f35_out1(z0), z1, z2) → f29_out1
f30_in(z0, z1) → f30_out1
f35_in(z0, z1) → U6(f43_in(z0, z1), z0, z1)
U6(f43_out1(z0), z1, z2) → U7(f44_in(z0, z2), z1, z2, z0)
U7(f44_out1, z0, z1, z2) → f35_out1(z2)
f17_in(z0, z1) → U8(f29_in(z0, z1), f30_in(z0, z1), z0, z1)
U8(f29_out1, z0, z1, z2) → f17_out1
U8(z0, f30_out1, z1, z2) → f17_out2
Tuples:

F1_IN(z0, z1) → c1(U1'(f17_in(z0, z1), z0, z1), F17_IN(z0, z1))
F54_IN(s(z0), s(z1)) → c5(U2'(f54_in(z0, z1), s(z0), s(z1)), F54_IN(z0, z1))
F43_IN(s(z0), s(z1)) → c7(U3'(f54_in(z0, z1), s(z0), s(z1)), F54_IN(z0, z1))
F44_IN(z0, z1) → c9(U4'(f1_in(z0, z1), z0, z1), F1_IN(z0, z1))
F29_IN(z0, z1) → c11(U5'(f35_in(z0, z1), z0, z1), F35_IN(z0, z1))
F35_IN(z0, z1) → c14(U6'(f43_in(z0, z1), z0, z1), F43_IN(z0, z1))
U6'(f43_out1(z0), z1, z2) → c15(U7'(f44_in(z0, z2), z1, z2, z0), F44_IN(z0, z2))
F17_IN(z0, z1) → c17(U8'(f29_in(z0, z1), f30_in(z0, z1), z0, z1), F29_IN(z0, z1), F30_IN(z0, z1))
S tuples:

F1_IN(z0, z1) → c1(U1'(f17_in(z0, z1), z0, z1), F17_IN(z0, z1))
F54_IN(s(z0), s(z1)) → c5(U2'(f54_in(z0, z1), s(z0), s(z1)), F54_IN(z0, z1))
F43_IN(s(z0), s(z1)) → c7(U3'(f54_in(z0, z1), s(z0), s(z1)), F54_IN(z0, z1))
F44_IN(z0, z1) → c9(U4'(f1_in(z0, z1), z0, z1), F1_IN(z0, z1))
F29_IN(z0, z1) → c11(U5'(f35_in(z0, z1), z0, z1), F35_IN(z0, z1))
F35_IN(z0, z1) → c14(U6'(f43_in(z0, z1), z0, z1), F43_IN(z0, z1))
U6'(f43_out1(z0), z1, z2) → c15(U7'(f44_in(z0, z2), z1, z2, z0), F44_IN(z0, z2))
F17_IN(z0, z1) → c17(U8'(f29_in(z0, z1), f30_in(z0, z1), z0, z1), F29_IN(z0, z1), F30_IN(z0, z1))
K tuples:none
Defined Rule Symbols:

f1_in, U1, f54_in, U2, f43_in, U3, f44_in, U4, f29_in, U5, f30_in, f35_in, U6, U7, f17_in, U8

Defined Pair Symbols:

F1_IN, F54_IN, F43_IN, F44_IN, F29_IN, F35_IN, U6', F17_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(f17_in(z0, z1), z0, z1)
U1(f17_out1, z0, z1) → f1_out1
U1(f17_out2, z0, z1) → f1_out1
f54_in(z0, 0) → f54_out1(z0)
f54_in(s(z0), s(z1)) → U2(f54_in(z0, z1), s(z0), s(z1))
U2(f54_out1(z0), s(z1), s(z2)) → f54_out1(z0)
f43_in(s(z0), s(z1)) → U3(f54_in(z0, z1), s(z0), s(z1))
U3(f54_out1(z0), s(z1), s(z2)) → f43_out1(z0)
f44_in(z0, z1) → U4(f1_in(z0, z1), z0, z1)
U4(f1_out1, z0, z1) → f44_out1
f29_in(z0, z1) → U5(f35_in(z0, z1), z0, z1)
U5(f35_out1(z0), z1, z2) → f29_out1
f30_in(z0, z1) → f30_out1
f35_in(z0, z1) → U6(f43_in(z0, z1), z0, z1)
U6(f43_out1(z0), z1, z2) → U7(f44_in(z0, z2), z1, z2, z0)
U7(f44_out1, z0, z1, z2) → f35_out1(z2)
f17_in(z0, z1) → U8(f29_in(z0, z1), f30_in(z0, z1), z0, z1)
U8(f29_out1, z0, z1, z2) → f17_out1
U8(z0, f30_out1, z1, z2) → f17_out2
Tuples:

F1_IN(z0, z1) → c1(U1'(f17_in(z0, z1), z0, z1), F17_IN(z0, z1))
F54_IN(s(z0), s(z1)) → c5(U2'(f54_in(z0, z1), s(z0), s(z1)), F54_IN(z0, z1))
F44_IN(z0, z1) → c9(U4'(f1_in(z0, z1), z0, z1), F1_IN(z0, z1))
F29_IN(z0, z1) → c11(U5'(f35_in(z0, z1), z0, z1), F35_IN(z0, z1))
F35_IN(z0, z1) → c14(U6'(f43_in(z0, z1), z0, z1), F43_IN(z0, z1))
U6'(f43_out1(z0), z1, z2) → c15(U7'(f44_in(z0, z2), z1, z2, z0), F44_IN(z0, z2))
F17_IN(z0, z1) → c17(U8'(f29_in(z0, z1), f30_in(z0, z1), z0, z1), F29_IN(z0, z1), F30_IN(z0, z1))
F43_IN(s(z0), s(z1)) → c(U3'(f54_in(z0, z1), s(z0), s(z1)))
F43_IN(s(z0), s(z1)) → c(F54_IN(z0, z1))
S tuples:

F1_IN(z0, z1) → c1(U1'(f17_in(z0, z1), z0, z1), F17_IN(z0, z1))
F54_IN(s(z0), s(z1)) → c5(U2'(f54_in(z0, z1), s(z0), s(z1)), F54_IN(z0, z1))
F44_IN(z0, z1) → c9(U4'(f1_in(z0, z1), z0, z1), F1_IN(z0, z1))
F29_IN(z0, z1) → c11(U5'(f35_in(z0, z1), z0, z1), F35_IN(z0, z1))
F35_IN(z0, z1) → c14(U6'(f43_in(z0, z1), z0, z1), F43_IN(z0, z1))
U6'(f43_out1(z0), z1, z2) → c15(U7'(f44_in(z0, z2), z1, z2, z0), F44_IN(z0, z2))
F17_IN(z0, z1) → c17(U8'(f29_in(z0, z1), f30_in(z0, z1), z0, z1), F29_IN(z0, z1), F30_IN(z0, z1))
F43_IN(s(z0), s(z1)) → c(U3'(f54_in(z0, z1), s(z0), s(z1)))
F43_IN(s(z0), s(z1)) → c(F54_IN(z0, z1))
K tuples:none
Defined Rule Symbols:

f1_in, U1, f54_in, U2, f43_in, U3, f44_in, U4, f29_in, U5, f30_in, f35_in, U6, U7, f17_in, U8

Defined Pair Symbols:

F1_IN, F54_IN, F44_IN, F29_IN, F35_IN, U6', F17_IN, F43_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(f17_in(z0, z1), z0, z1)
U1(f17_out1, z0, z1) → f1_out1
U1(f17_out2, z0, z1) → f1_out1
f54_in(z0, 0) → f54_out1(z0)
f54_in(s(z0), s(z1)) → U2(f54_in(z0, z1), s(z0), s(z1))
U2(f54_out1(z0), s(z1), s(z2)) → f54_out1(z0)
f43_in(s(z0), s(z1)) → U3(f54_in(z0, z1), s(z0), s(z1))
U3(f54_out1(z0), s(z1), s(z2)) → f43_out1(z0)
f44_in(z0, z1) → U4(f1_in(z0, z1), z0, z1)
U4(f1_out1, z0, z1) → f44_out1
f29_in(z0, z1) → U5(f35_in(z0, z1), z0, z1)
U5(f35_out1(z0), z1, z2) → f29_out1
f30_in(z0, z1) → f30_out1
f35_in(z0, z1) → U6(f43_in(z0, z1), z0, z1)
U6(f43_out1(z0), z1, z2) → U7(f44_in(z0, z2), z1, z2, z0)
U7(f44_out1, z0, z1, z2) → f35_out1(z2)
f17_in(z0, z1) → U8(f29_in(z0, z1), f30_in(z0, z1), z0, z1)
U8(f29_out1, z0, z1, z2) → f17_out1
U8(z0, f30_out1, z1, z2) → f17_out2
Tuples:

F35_IN(z0, z1) → c14(U6'(f43_in(z0, z1), z0, z1), F43_IN(z0, z1))
F43_IN(s(z0), s(z1)) → c(F54_IN(z0, z1))
F1_IN(z0, z1) → c1(F17_IN(z0, z1))
F54_IN(s(z0), s(z1)) → c5(F54_IN(z0, z1))
F44_IN(z0, z1) → c9(F1_IN(z0, z1))
F29_IN(z0, z1) → c11(F35_IN(z0, z1))
U6'(f43_out1(z0), z1, z2) → c15(F44_IN(z0, z2))
F17_IN(z0, z1) → c17(F29_IN(z0, z1))
F43_IN(s(z0), s(z1)) → c
S tuples:

F35_IN(z0, z1) → c14(U6'(f43_in(z0, z1), z0, z1), F43_IN(z0, z1))
F43_IN(s(z0), s(z1)) → c(F54_IN(z0, z1))
F1_IN(z0, z1) → c1(F17_IN(z0, z1))
F54_IN(s(z0), s(z1)) → c5(F54_IN(z0, z1))
F44_IN(z0, z1) → c9(F1_IN(z0, z1))
F29_IN(z0, z1) → c11(F35_IN(z0, z1))
U6'(f43_out1(z0), z1, z2) → c15(F44_IN(z0, z2))
F17_IN(z0, z1) → c17(F29_IN(z0, z1))
F43_IN(s(z0), s(z1)) → c
K tuples:none
Defined Rule Symbols:

f1_in, U1, f54_in, U2, f43_in, U3, f44_in, U4, f29_in, U5, f30_in, f35_in, U6, U7, f17_in, U8

Defined Pair Symbols:

F35_IN, F43_IN, F1_IN, F54_IN, F44_IN, F29_IN, U6', F17_IN

Compound Symbols:

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

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

F44_IN(z0, z1) → c9(F1_IN(z0, z1))
U6'(f43_out1(z0), z1, z2) → c15(F44_IN(z0, z2))
We considered the (Usable) Rules:

f43_in(s(z0), s(z1)) → U3(f54_in(z0, z1), s(z0), s(z1))
f54_in(z0, 0) → f54_out1(z0)
f54_in(s(z0), s(z1)) → U2(f54_in(z0, z1), s(z0), s(z1))
U3(f54_out1(z0), s(z1), s(z2)) → f43_out1(z0)
U2(f54_out1(z0), s(z1), s(z2)) → f54_out1(z0)
And the Tuples:

F35_IN(z0, z1) → c14(U6'(f43_in(z0, z1), z0, z1), F43_IN(z0, z1))
F43_IN(s(z0), s(z1)) → c(F54_IN(z0, z1))
F1_IN(z0, z1) → c1(F17_IN(z0, z1))
F54_IN(s(z0), s(z1)) → c5(F54_IN(z0, z1))
F44_IN(z0, z1) → c9(F1_IN(z0, z1))
F29_IN(z0, z1) → c11(F35_IN(z0, z1))
U6'(f43_out1(z0), z1, z2) → c15(F44_IN(z0, z2))
F17_IN(z0, z1) → c17(F29_IN(z0, z1))
F43_IN(s(z0), s(z1)) → c
The order we found is given by the following interpretation:
Polynomial interpretation :

POL(0) = 0   
POL(F17_IN(x1, x2)) = [2]x1   
POL(F1_IN(x1, x2)) = [2]x1   
POL(F29_IN(x1, x2)) = [2]x1   
POL(F35_IN(x1, x2)) = [2]x1   
POL(F43_IN(x1, x2)) = 0   
POL(F44_IN(x1, x2)) = [1] + [2]x1   
POL(F54_IN(x1, x2)) = 0   
POL(U2(x1, x2, x3)) = [2] + x1   
POL(U3(x1, x2, x3)) = [1] + x1   
POL(U6'(x1, x2, x3)) = [2]x1   
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(f43_in(x1, x2)) = x1   
POL(f43_out1(x1)) = [1] + x1   
POL(f54_in(x1, x2)) = x1   
POL(f54_out1(x1)) = x1   
POL(s(x1)) = [2] + x1   

(8) Obligation:

Complexity Dependency Tuples Problem
Rules:

f1_in(0, z0) → f1_out1
f1_in(z0, z1) → U1(f17_in(z0, z1), z0, z1)
U1(f17_out1, z0, z1) → f1_out1
U1(f17_out2, z0, z1) → f1_out1
f54_in(z0, 0) → f54_out1(z0)
f54_in(s(z0), s(z1)) → U2(f54_in(z0, z1), s(z0), s(z1))
U2(f54_out1(z0), s(z1), s(z2)) → f54_out1(z0)
f43_in(s(z0), s(z1)) → U3(f54_in(z0, z1), s(z0), s(z1))
U3(f54_out1(z0), s(z1), s(z2)) → f43_out1(z0)
f44_in(z0, z1) → U4(f1_in(z0, z1), z0, z1)
U4(f1_out1, z0, z1) → f44_out1
f29_in(z0, z1) → U5(f35_in(z0, z1), z0, z1)
U5(f35_out1(z0), z1, z2) → f29_out1
f30_in(z0, z1) → f30_out1
f35_in(z0, z1) → U6(f43_in(z0, z1), z0, z1)
U6(f43_out1(z0), z1, z2) → U7(f44_in(z0, z2), z1, z2, z0)
U7(f44_out1, z0, z1, z2) → f35_out1(z2)
f17_in(z0, z1) → U8(f29_in(z0, z1), f30_in(z0, z1), z0, z1)
U8(f29_out1, z0, z1, z2) → f17_out1
U8(z0, f30_out1, z1, z2) → f17_out2
Tuples:

F35_IN(z0, z1) → c14(U6'(f43_in(z0, z1), z0, z1), F43_IN(z0, z1))
F43_IN(s(z0), s(z1)) → c(F54_IN(z0, z1))
F1_IN(z0, z1) → c1(F17_IN(z0, z1))
F54_IN(s(z0), s(z1)) → c5(F54_IN(z0, z1))
F44_IN(z0, z1) → c9(F1_IN(z0, z1))
F29_IN(z0, z1) → c11(F35_IN(z0, z1))
U6'(f43_out1(z0), z1, z2) → c15(F44_IN(z0, z2))
F17_IN(z0, z1) → c17(F29_IN(z0, z1))
F43_IN(s(z0), s(z1)) → c
S tuples:

F35_IN(z0, z1) → c14(U6'(f43_in(z0, z1), z0, z1), F43_IN(z0, z1))
F43_IN(s(z0), s(z1)) → c(F54_IN(z0, z1))
F1_IN(z0, z1) → c1(F17_IN(z0, z1))
F54_IN(s(z0), s(z1)) → c5(F54_IN(z0, z1))
F29_IN(z0, z1) → c11(F35_IN(z0, z1))
F17_IN(z0, z1) → c17(F29_IN(z0, z1))
F43_IN(s(z0), s(z1)) → c
K tuples:

F44_IN(z0, z1) → c9(F1_IN(z0, z1))
U6'(f43_out1(z0), z1, z2) → c15(F44_IN(z0, z2))
Defined Rule Symbols:

f1_in, U1, f54_in, U2, f43_in, U3, f44_in, U4, f29_in, U5, f30_in, f35_in, U6, U7, f17_in, U8

Defined Pair Symbols:

F35_IN, F43_IN, F1_IN, F54_IN, F44_IN, F29_IN, U6', F17_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:

F1_IN(z0, z1) → c1(F17_IN(z0, z1))
F17_IN(z0, z1) → c17(F29_IN(z0, z1))
F17_IN(z0, z1) → c17(F29_IN(z0, z1))
F29_IN(z0, z1) → c11(F35_IN(z0, z1))
F35_IN(z0, z1) → c14(U6'(f43_in(z0, z1), z0, z1), F43_IN(z0, z1))
F43_IN(s(z0), s(z1)) → c(F54_IN(z0, z1))
U6'(f43_out1(z0), z1, z2) → c15(F44_IN(z0, z2))
F43_IN(s(z0), s(z1)) → c

(10) Obligation:

Complexity Dependency Tuples Problem
Rules:

f1_in(0, z0) → f1_out1
f1_in(z0, z1) → U1(f17_in(z0, z1), z0, z1)
U1(f17_out1, z0, z1) → f1_out1
U1(f17_out2, z0, z1) → f1_out1
f54_in(z0, 0) → f54_out1(z0)
f54_in(s(z0), s(z1)) → U2(f54_in(z0, z1), s(z0), s(z1))
U2(f54_out1(z0), s(z1), s(z2)) → f54_out1(z0)
f43_in(s(z0), s(z1)) → U3(f54_in(z0, z1), s(z0), s(z1))
U3(f54_out1(z0), s(z1), s(z2)) → f43_out1(z0)
f44_in(z0, z1) → U4(f1_in(z0, z1), z0, z1)
U4(f1_out1, z0, z1) → f44_out1
f29_in(z0, z1) → U5(f35_in(z0, z1), z0, z1)
U5(f35_out1(z0), z1, z2) → f29_out1
f30_in(z0, z1) → f30_out1
f35_in(z0, z1) → U6(f43_in(z0, z1), z0, z1)
U6(f43_out1(z0), z1, z2) → U7(f44_in(z0, z2), z1, z2, z0)
U7(f44_out1, z0, z1, z2) → f35_out1(z2)
f17_in(z0, z1) → U8(f29_in(z0, z1), f30_in(z0, z1), z0, z1)
U8(f29_out1, z0, z1, z2) → f17_out1
U8(z0, f30_out1, z1, z2) → f17_out2
Tuples:

F35_IN(z0, z1) → c14(U6'(f43_in(z0, z1), z0, z1), F43_IN(z0, z1))
F43_IN(s(z0), s(z1)) → c(F54_IN(z0, z1))
F1_IN(z0, z1) → c1(F17_IN(z0, z1))
F54_IN(s(z0), s(z1)) → c5(F54_IN(z0, z1))
F44_IN(z0, z1) → c9(F1_IN(z0, z1))
F29_IN(z0, z1) → c11(F35_IN(z0, z1))
U6'(f43_out1(z0), z1, z2) → c15(F44_IN(z0, z2))
F17_IN(z0, z1) → c17(F29_IN(z0, z1))
F43_IN(s(z0), s(z1)) → c
S tuples:

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

F44_IN(z0, z1) → c9(F1_IN(z0, z1))
U6'(f43_out1(z0), z1, z2) → c15(F44_IN(z0, z2))
F1_IN(z0, z1) → c1(F17_IN(z0, z1))
F17_IN(z0, z1) → c17(F29_IN(z0, z1))
F29_IN(z0, z1) → c11(F35_IN(z0, z1))
F35_IN(z0, z1) → c14(U6'(f43_in(z0, z1), z0, z1), F43_IN(z0, z1))
F43_IN(s(z0), s(z1)) → c(F54_IN(z0, z1))
F43_IN(s(z0), s(z1)) → c
Defined Rule Symbols:

f1_in, U1, f54_in, U2, f43_in, U3, f44_in, U4, f29_in, U5, f30_in, f35_in, U6, U7, f17_in, U8

Defined Pair Symbols:

F35_IN, F43_IN, F1_IN, F54_IN, F44_IN, F29_IN, U6', F17_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(f34_in(z0, z1), z0, z1)
f2_in(z0, z1) → f2_out1
U1(f34_out1(z0), z1, z2) → f2_out1
U1(f34_out3, z0, z1) → f2_out1
f41_in(z0, 0) → f41_out1(z0)
f41_in(s(z0), s(z1)) → U2(f41_in(z0, z1), s(z0), s(z1))
U2(f41_out1(z0), s(z1), s(z2)) → f41_out1(z0)
f42_in(z0, z1) → U3(f2_in(z0, s(z1)), z0, z1)
U3(f2_out1, z0, z1) → f42_out1
f37_in(s(z0), s(z1)) → U4(f39_in(z0, z1), s(z0), s(z1))
U4(f39_out1(z0), s(z1), s(z2)) → f37_out1(z0)
f38_in(z0, z1) → f38_out2
f39_in(z0, z1) → U5(f41_in(z0, z1), z0, z1)
U5(f41_out1(z0), z1, z2) → U6(f42_in(z0, z2), z1, z2, z0)
U6(f42_out1, z0, z1, z2) → f39_out1(z2)
f34_in(z0, z1) → U7(f37_in(z0, z1), f38_in(z0, z1), z0, z1)
U7(f37_out1(z0), z1, z2, z3) → f34_out1(z0)
U7(z0, f38_out2, z1, z2) → f34_out3
Tuples:

F2_IN(z0, z1) → c1(U1'(f34_in(z0, z1), z0, z1), F34_IN(z0, z1))
F41_IN(s(z0), s(z1)) → c6(U2'(f41_in(z0, z1), s(z0), s(z1)), F41_IN(z0, z1))
F42_IN(z0, z1) → c8(U3'(f2_in(z0, s(z1)), z0, z1), F2_IN(z0, s(z1)))
F37_IN(s(z0), s(z1)) → c10(U4'(f39_in(z0, z1), s(z0), s(z1)), F39_IN(z0, z1))
F39_IN(z0, z1) → c13(U5'(f41_in(z0, z1), z0, z1), F41_IN(z0, z1))
U5'(f41_out1(z0), z1, z2) → c14(U6'(f42_in(z0, z2), z1, z2, z0), F42_IN(z0, z2))
F34_IN(z0, z1) → c16(U7'(f37_in(z0, z1), f38_in(z0, z1), z0, z1), F37_IN(z0, z1), F38_IN(z0, z1))
S tuples:

F2_IN(z0, z1) → c1(U1'(f34_in(z0, z1), z0, z1), F34_IN(z0, z1))
F41_IN(s(z0), s(z1)) → c6(U2'(f41_in(z0, z1), s(z0), s(z1)), F41_IN(z0, z1))
F42_IN(z0, z1) → c8(U3'(f2_in(z0, s(z1)), z0, z1), F2_IN(z0, s(z1)))
F37_IN(s(z0), s(z1)) → c10(U4'(f39_in(z0, z1), s(z0), s(z1)), F39_IN(z0, z1))
F39_IN(z0, z1) → c13(U5'(f41_in(z0, z1), z0, z1), F41_IN(z0, z1))
U5'(f41_out1(z0), z1, z2) → c14(U6'(f42_in(z0, z2), z1, z2, z0), F42_IN(z0, z2))
F34_IN(z0, z1) → c16(U7'(f37_in(z0, z1), f38_in(z0, z1), z0, z1), F37_IN(z0, z1), F38_IN(z0, z1))
K tuples:none
Defined Rule Symbols:

f2_in, U1, f41_in, U2, f42_in, U3, f37_in, U4, f38_in, f39_in, U5, U6, f34_in, U7

Defined Pair Symbols:

F2_IN, F41_IN, F42_IN, F37_IN, F39_IN, U5', F34_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(f34_in(z0, z1), z0, z1)
f2_in(z0, z1) → f2_out1
U1(f34_out1(z0), z1, z2) → f2_out1
U1(f34_out3, z0, z1) → f2_out1
f41_in(z0, 0) → f41_out1(z0)
f41_in(s(z0), s(z1)) → U2(f41_in(z0, z1), s(z0), s(z1))
U2(f41_out1(z0), s(z1), s(z2)) → f41_out1(z0)
f42_in(z0, z1) → U3(f2_in(z0, s(z1)), z0, z1)
U3(f2_out1, z0, z1) → f42_out1
f37_in(s(z0), s(z1)) → U4(f39_in(z0, z1), s(z0), s(z1))
U4(f39_out1(z0), s(z1), s(z2)) → f37_out1(z0)
f38_in(z0, z1) → f38_out2
f39_in(z0, z1) → U5(f41_in(z0, z1), z0, z1)
U5(f41_out1(z0), z1, z2) → U6(f42_in(z0, z2), z1, z2, z0)
U6(f42_out1, z0, z1, z2) → f39_out1(z2)
f34_in(z0, z1) → U7(f37_in(z0, z1), f38_in(z0, z1), z0, z1)
U7(f37_out1(z0), z1, z2, z3) → f34_out1(z0)
U7(z0, f38_out2, z1, z2) → f34_out3
Tuples:

F39_IN(z0, z1) → c13(U5'(f41_in(z0, z1), z0, z1), F41_IN(z0, z1))
F2_IN(z0, z1) → c1(F34_IN(z0, z1))
F41_IN(s(z0), s(z1)) → c6(F41_IN(z0, z1))
F42_IN(z0, z1) → c8(F2_IN(z0, s(z1)))
F37_IN(s(z0), s(z1)) → c10(F39_IN(z0, z1))
U5'(f41_out1(z0), z1, z2) → c14(F42_IN(z0, z2))
F34_IN(z0, z1) → c16(F37_IN(z0, z1))
S tuples:

F39_IN(z0, z1) → c13(U5'(f41_in(z0, z1), z0, z1), F41_IN(z0, z1))
F2_IN(z0, z1) → c1(F34_IN(z0, z1))
F41_IN(s(z0), s(z1)) → c6(F41_IN(z0, z1))
F42_IN(z0, z1) → c8(F2_IN(z0, s(z1)))
F37_IN(s(z0), s(z1)) → c10(F39_IN(z0, z1))
U5'(f41_out1(z0), z1, z2) → c14(F42_IN(z0, z2))
F34_IN(z0, z1) → c16(F37_IN(z0, z1))
K tuples:none
Defined Rule Symbols:

f2_in, U1, f41_in, U2, f42_in, U3, f37_in, U4, f38_in, f39_in, U5, U6, f34_in, U7

Defined Pair Symbols:

F39_IN, F2_IN, F41_IN, F42_IN, F37_IN, U5', F34_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.

F37_IN(s(z0), s(z1)) → c10(F39_IN(z0, z1))
We considered the (Usable) Rules:

f41_in(z0, 0) → f41_out1(z0)
f41_in(s(z0), s(z1)) → U2(f41_in(z0, z1), s(z0), s(z1))
U2(f41_out1(z0), s(z1), s(z2)) → f41_out1(z0)
And the Tuples:

F39_IN(z0, z1) → c13(U5'(f41_in(z0, z1), z0, z1), F41_IN(z0, z1))
F2_IN(z0, z1) → c1(F34_IN(z0, z1))
F41_IN(s(z0), s(z1)) → c6(F41_IN(z0, z1))
F42_IN(z0, z1) → c8(F2_IN(z0, s(z1)))
F37_IN(s(z0), s(z1)) → c10(F39_IN(z0, z1))
U5'(f41_out1(z0), z1, z2) → c14(F42_IN(z0, z2))
F34_IN(z0, z1) → c16(F37_IN(z0, z1))
The order we found is given by the following interpretation:
Polynomial interpretation :

POL(0) = 0   
POL(F2_IN(x1, x2)) = x1   
POL(F34_IN(x1, x2)) = x1   
POL(F37_IN(x1, x2)) = x1   
POL(F39_IN(x1, x2)) = x1   
POL(F41_IN(x1, x2)) = 0   
POL(F42_IN(x1, x2)) = x1   
POL(U2(x1, x2, x3)) = x1   
POL(U5'(x1, x2, x3)) = x1   
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(f41_in(x1, x2)) = x1   
POL(f41_out1(x1)) = x1   
POL(s(x1)) = [1] + x1   

(16) Obligation:

Complexity Dependency Tuples Problem
Rules:

f2_in(0, z0) → f2_out1
f2_in(z0, z1) → U1(f34_in(z0, z1), z0, z1)
f2_in(z0, z1) → f2_out1
U1(f34_out1(z0), z1, z2) → f2_out1
U1(f34_out3, z0, z1) → f2_out1
f41_in(z0, 0) → f41_out1(z0)
f41_in(s(z0), s(z1)) → U2(f41_in(z0, z1), s(z0), s(z1))
U2(f41_out1(z0), s(z1), s(z2)) → f41_out1(z0)
f42_in(z0, z1) → U3(f2_in(z0, s(z1)), z0, z1)
U3(f2_out1, z0, z1) → f42_out1
f37_in(s(z0), s(z1)) → U4(f39_in(z0, z1), s(z0), s(z1))
U4(f39_out1(z0), s(z1), s(z2)) → f37_out1(z0)
f38_in(z0, z1) → f38_out2
f39_in(z0, z1) → U5(f41_in(z0, z1), z0, z1)
U5(f41_out1(z0), z1, z2) → U6(f42_in(z0, z2), z1, z2, z0)
U6(f42_out1, z0, z1, z2) → f39_out1(z2)
f34_in(z0, z1) → U7(f37_in(z0, z1), f38_in(z0, z1), z0, z1)
U7(f37_out1(z0), z1, z2, z3) → f34_out1(z0)
U7(z0, f38_out2, z1, z2) → f34_out3
Tuples:

F39_IN(z0, z1) → c13(U5'(f41_in(z0, z1), z0, z1), F41_IN(z0, z1))
F2_IN(z0, z1) → c1(F34_IN(z0, z1))
F41_IN(s(z0), s(z1)) → c6(F41_IN(z0, z1))
F42_IN(z0, z1) → c8(F2_IN(z0, s(z1)))
F37_IN(s(z0), s(z1)) → c10(F39_IN(z0, z1))
U5'(f41_out1(z0), z1, z2) → c14(F42_IN(z0, z2))
F34_IN(z0, z1) → c16(F37_IN(z0, z1))
S tuples:

F39_IN(z0, z1) → c13(U5'(f41_in(z0, z1), z0, z1), F41_IN(z0, z1))
F2_IN(z0, z1) → c1(F34_IN(z0, z1))
F41_IN(s(z0), s(z1)) → c6(F41_IN(z0, z1))
F42_IN(z0, z1) → c8(F2_IN(z0, s(z1)))
U5'(f41_out1(z0), z1, z2) → c14(F42_IN(z0, z2))
F34_IN(z0, z1) → c16(F37_IN(z0, z1))
K tuples:

F37_IN(s(z0), s(z1)) → c10(F39_IN(z0, z1))
Defined Rule Symbols:

f2_in, U1, f41_in, U2, f42_in, U3, f37_in, U4, f38_in, f39_in, U5, U6, f34_in, U7

Defined Pair Symbols:

F39_IN, F2_IN, F41_IN, F42_IN, F37_IN, U5', F34_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:

F39_IN(z0, z1) → c13(U5'(f41_in(z0, z1), z0, z1), F41_IN(z0, z1))
U5'(f41_out1(z0), z1, z2) → c14(F42_IN(z0, z2))
U5'(f41_out1(z0), z1, z2) → c14(F42_IN(z0, z2))
F42_IN(z0, z1) → c8(F2_IN(z0, s(z1)))
F2_IN(z0, z1) → c1(F34_IN(z0, z1))
F34_IN(z0, z1) → c16(F37_IN(z0, z1))
F37_IN(s(z0), s(z1)) → c10(F39_IN(z0, z1))

(18) Obligation:

Complexity Dependency Tuples Problem
Rules:

f2_in(0, z0) → f2_out1
f2_in(z0, z1) → U1(f34_in(z0, z1), z0, z1)
f2_in(z0, z1) → f2_out1
U1(f34_out1(z0), z1, z2) → f2_out1
U1(f34_out3, z0, z1) → f2_out1
f41_in(z0, 0) → f41_out1(z0)
f41_in(s(z0), s(z1)) → U2(f41_in(z0, z1), s(z0), s(z1))
U2(f41_out1(z0), s(z1), s(z2)) → f41_out1(z0)
f42_in(z0, z1) → U3(f2_in(z0, s(z1)), z0, z1)
U3(f2_out1, z0, z1) → f42_out1
f37_in(s(z0), s(z1)) → U4(f39_in(z0, z1), s(z0), s(z1))
U4(f39_out1(z0), s(z1), s(z2)) → f37_out1(z0)
f38_in(z0, z1) → f38_out2
f39_in(z0, z1) → U5(f41_in(z0, z1), z0, z1)
U5(f41_out1(z0), z1, z2) → U6(f42_in(z0, z2), z1, z2, z0)
U6(f42_out1, z0, z1, z2) → f39_out1(z2)
f34_in(z0, z1) → U7(f37_in(z0, z1), f38_in(z0, z1), z0, z1)
U7(f37_out1(z0), z1, z2, z3) → f34_out1(z0)
U7(z0, f38_out2, z1, z2) → f34_out3
Tuples:

F39_IN(z0, z1) → c13(U5'(f41_in(z0, z1), z0, z1), F41_IN(z0, z1))
F2_IN(z0, z1) → c1(F34_IN(z0, z1))
F41_IN(s(z0), s(z1)) → c6(F41_IN(z0, z1))
F42_IN(z0, z1) → c8(F2_IN(z0, s(z1)))
F37_IN(s(z0), s(z1)) → c10(F39_IN(z0, z1))
U5'(f41_out1(z0), z1, z2) → c14(F42_IN(z0, z2))
F34_IN(z0, z1) → c16(F37_IN(z0, z1))
S tuples:

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

F37_IN(s(z0), s(z1)) → c10(F39_IN(z0, z1))
F39_IN(z0, z1) → c13(U5'(f41_in(z0, z1), z0, z1), F41_IN(z0, z1))
U5'(f41_out1(z0), z1, z2) → c14(F42_IN(z0, z2))
F42_IN(z0, z1) → c8(F2_IN(z0, s(z1)))
F2_IN(z0, z1) → c1(F34_IN(z0, z1))
F34_IN(z0, z1) → c16(F37_IN(z0, z1))
Defined Rule Symbols:

f2_in, U1, f41_in, U2, f42_in, U3, f37_in, U4, f38_in, f39_in, U5, U6, f34_in, U7

Defined Pair Symbols:

F39_IN, F2_IN, F41_IN, F42_IN, F37_IN, U5', F34_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.

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

f41_in(z0, 0) → f41_out1(z0)
f41_in(s(z0), s(z1)) → U2(f41_in(z0, z1), s(z0), s(z1))
U2(f41_out1(z0), s(z1), s(z2)) → f41_out1(z0)
And the Tuples:

F39_IN(z0, z1) → c13(U5'(f41_in(z0, z1), z0, z1), F41_IN(z0, z1))
F2_IN(z0, z1) → c1(F34_IN(z0, z1))
F41_IN(s(z0), s(z1)) → c6(F41_IN(z0, z1))
F42_IN(z0, z1) → c8(F2_IN(z0, s(z1)))
F37_IN(s(z0), s(z1)) → c10(F39_IN(z0, z1))
U5'(f41_out1(z0), z1, z2) → c14(F42_IN(z0, z2))
F34_IN(z0, z1) → c16(F37_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(F34_IN(x1, x2)) = x12   
POL(F37_IN(x1, x2)) = x12   
POL(F39_IN(x1, x2)) = [1] + x1 + x12   
POL(F41_IN(x1, x2)) = x1   
POL(F42_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(f41_in(x1, x2)) = x1   
POL(f41_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(f34_in(z0, z1), z0, z1)
f2_in(z0, z1) → f2_out1
U1(f34_out1(z0), z1, z2) → f2_out1
U1(f34_out3, z0, z1) → f2_out1
f41_in(z0, 0) → f41_out1(z0)
f41_in(s(z0), s(z1)) → U2(f41_in(z0, z1), s(z0), s(z1))
U2(f41_out1(z0), s(z1), s(z2)) → f41_out1(z0)
f42_in(z0, z1) → U3(f2_in(z0, s(z1)), z0, z1)
U3(f2_out1, z0, z1) → f42_out1
f37_in(s(z0), s(z1)) → U4(f39_in(z0, z1), s(z0), s(z1))
U4(f39_out1(z0), s(z1), s(z2)) → f37_out1(z0)
f38_in(z0, z1) → f38_out2
f39_in(z0, z1) → U5(f41_in(z0, z1), z0, z1)
U5(f41_out1(z0), z1, z2) → U6(f42_in(z0, z2), z1, z2, z0)
U6(f42_out1, z0, z1, z2) → f39_out1(z2)
f34_in(z0, z1) → U7(f37_in(z0, z1), f38_in(z0, z1), z0, z1)
U7(f37_out1(z0), z1, z2, z3) → f34_out1(z0)
U7(z0, f38_out2, z1, z2) → f34_out3
Tuples:

F39_IN(z0, z1) → c13(U5'(f41_in(z0, z1), z0, z1), F41_IN(z0, z1))
F2_IN(z0, z1) → c1(F34_IN(z0, z1))
F41_IN(s(z0), s(z1)) → c6(F41_IN(z0, z1))
F42_IN(z0, z1) → c8(F2_IN(z0, s(z1)))
F37_IN(s(z0), s(z1)) → c10(F39_IN(z0, z1))
U5'(f41_out1(z0), z1, z2) → c14(F42_IN(z0, z2))
F34_IN(z0, z1) → c16(F37_IN(z0, z1))
S tuples:none
K tuples:

F37_IN(s(z0), s(z1)) → c10(F39_IN(z0, z1))
F39_IN(z0, z1) → c13(U5'(f41_in(z0, z1), z0, z1), F41_IN(z0, z1))
U5'(f41_out1(z0), z1, z2) → c14(F42_IN(z0, z2))
F42_IN(z0, z1) → c8(F2_IN(z0, s(z1)))
F2_IN(z0, z1) → c1(F34_IN(z0, z1))
F34_IN(z0, z1) → c16(F37_IN(z0, z1))
F41_IN(s(z0), s(z1)) → c6(F41_IN(z0, z1))
Defined Rule Symbols:

f2_in, U1, f41_in, U2, f42_in, U3, f37_in, U4, f38_in, f39_in, U5, U6, f34_in, U7

Defined Pair Symbols:

F39_IN, F2_IN, F41_IN, F42_IN, F37_IN, U5', F34_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))