(0) Obligation:

Clauses:

rem(X, Y, R) :- ','(notZero(Y), ','(sub(X, Y, Z), rem(Z, Y, R))).
rem(X, Y, X) :- ','(notZero(Y), geq(X, Y)).
sub(s(X), s(Y), Z) :- sub(X, Y, Z).
sub(X, 0, X).
notZero(s(X)).
geq(s(X), s(Y)) :- geq(X, Y).
geq(X, 0).

Query: rem(g,g,a)

(1) LPReorderTransformerProof (EQUIVALENT transformation)

Reordered facts before rules in definite LP [PROLOG].

(2) Obligation:

Clauses:

sub(X, 0, X).
notZero(s(X)).
geq(X, 0).
rem(X, Y, R) :- ','(notZero(Y), ','(sub(X, Y, Z), rem(Z, Y, R))).
rem(X, Y, X) :- ','(notZero(Y), geq(X, Y)).
sub(s(X), s(Y), Z) :- sub(X, Y, Z).
geq(s(X), s(Y)) :- geq(X, Y).

Query: rem(g,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(z0, z1) → U1(f4_in(z0, z1), z0, z1)
U1(f4_out1(z0), z1, z2) → f1_out1(z0)
U1(f4_out2(z0), z1, z2) → f1_out1(z0)
f57_in(z0, 0) → f57_out1
f57_in(s(z0), s(z1)) → U2(f57_in(z0, z1), s(z0), s(z1))
U2(f57_out1, s(z0), s(z1)) → f57_out1
f27_in(z0, 0) → f27_out1(z0)
f27_in(s(z0), s(z1)) → U3(f27_in(z0, z1), s(z0), s(z1))
U3(f27_out1(z0), s(z1), s(z2)) → f27_out1(z0)
f19_in(s(z0), z1) → U4(f27_in(z0, z1), s(z0), z1)
U4(f27_out1(z0), s(z1), z2) → f19_out1(z0)
f11_in(z0, s(z1)) → U5(f17_in(z0, z1), z0, s(z1))
U5(f17_out1(z0, z1), z2, s(z3)) → f11_out1(z1)
f12_in(s(z0), s(z1)) → U6(f57_in(z0, z1), s(z0), s(z1))
U6(f57_out1, s(z0), s(z1)) → f12_out1(s(z0))
f17_in(z0, z1) → U7(f19_in(z0, z1), z0, z1)
U7(f19_out1(z0), z1, z2) → U8(f1_in(z0, s(z2)), z1, z2, z0)
U8(f1_out1(z0), z1, z2, z3) → f17_out1(z3, z0)
f4_in(z0, z1) → U9(f11_in(z0, z1), f12_in(z0, z1), z0, z1)
U9(f11_out1(z0), z1, z2, z3) → f4_out1(z0)
U9(z0, f12_out1(z1), z2, z3) → f4_out2(z1)
Tuples:

F1_IN(z0, z1) → c(U1'(f4_in(z0, z1), z0, z1), F4_IN(z0, z1))
F57_IN(s(z0), s(z1)) → c4(U2'(f57_in(z0, z1), s(z0), s(z1)), F57_IN(z0, z1))
F27_IN(s(z0), s(z1)) → c7(U3'(f27_in(z0, z1), s(z0), s(z1)), F27_IN(z0, z1))
F19_IN(s(z0), z1) → c9(U4'(f27_in(z0, z1), s(z0), z1), F27_IN(z0, z1))
F11_IN(z0, s(z1)) → c11(U5'(f17_in(z0, z1), z0, s(z1)), F17_IN(z0, z1))
F12_IN(s(z0), s(z1)) → c13(U6'(f57_in(z0, z1), s(z0), s(z1)), F57_IN(z0, z1))
F17_IN(z0, z1) → c15(U7'(f19_in(z0, z1), z0, z1), F19_IN(z0, z1))
U7'(f19_out1(z0), z1, z2) → c16(U8'(f1_in(z0, s(z2)), z1, z2, z0), F1_IN(z0, s(z2)))
F4_IN(z0, z1) → c18(U9'(f11_in(z0, z1), f12_in(z0, z1), z0, z1), F11_IN(z0, z1), F12_IN(z0, z1))
S tuples:

F1_IN(z0, z1) → c(U1'(f4_in(z0, z1), z0, z1), F4_IN(z0, z1))
F57_IN(s(z0), s(z1)) → c4(U2'(f57_in(z0, z1), s(z0), s(z1)), F57_IN(z0, z1))
F27_IN(s(z0), s(z1)) → c7(U3'(f27_in(z0, z1), s(z0), s(z1)), F27_IN(z0, z1))
F19_IN(s(z0), z1) → c9(U4'(f27_in(z0, z1), s(z0), z1), F27_IN(z0, z1))
F11_IN(z0, s(z1)) → c11(U5'(f17_in(z0, z1), z0, s(z1)), F17_IN(z0, z1))
F12_IN(s(z0), s(z1)) → c13(U6'(f57_in(z0, z1), s(z0), s(z1)), F57_IN(z0, z1))
F17_IN(z0, z1) → c15(U7'(f19_in(z0, z1), z0, z1), F19_IN(z0, z1))
U7'(f19_out1(z0), z1, z2) → c16(U8'(f1_in(z0, s(z2)), z1, z2, z0), F1_IN(z0, s(z2)))
F4_IN(z0, z1) → c18(U9'(f11_in(z0, z1), f12_in(z0, z1), z0, z1), F11_IN(z0, z1), F12_IN(z0, z1))
K tuples:none
Defined Rule Symbols:

f1_in, U1, f57_in, U2, f27_in, U3, f19_in, U4, f11_in, U5, f12_in, U6, f17_in, U7, U8, f4_in, U9

Defined Pair Symbols:

F1_IN, F57_IN, F27_IN, F19_IN, F11_IN, F12_IN, F17_IN, U7', F4_IN

Compound Symbols:

c, c4, c7, c9, c11, c13, c15, c16, c18

(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(z0, z1) → U1(f4_in(z0, z1), z0, z1)
U1(f4_out1(z0), z1, z2) → f1_out1(z0)
U1(f4_out2(z0), z1, z2) → f1_out1(z0)
f57_in(z0, 0) → f57_out1
f57_in(s(z0), s(z1)) → U2(f57_in(z0, z1), s(z0), s(z1))
U2(f57_out1, s(z0), s(z1)) → f57_out1
f27_in(z0, 0) → f27_out1(z0)
f27_in(s(z0), s(z1)) → U3(f27_in(z0, z1), s(z0), s(z1))
U3(f27_out1(z0), s(z1), s(z2)) → f27_out1(z0)
f19_in(s(z0), z1) → U4(f27_in(z0, z1), s(z0), z1)
U4(f27_out1(z0), s(z1), z2) → f19_out1(z0)
f11_in(z0, s(z1)) → U5(f17_in(z0, z1), z0, s(z1))
U5(f17_out1(z0, z1), z2, s(z3)) → f11_out1(z1)
f12_in(s(z0), s(z1)) → U6(f57_in(z0, z1), s(z0), s(z1))
U6(f57_out1, s(z0), s(z1)) → f12_out1(s(z0))
f17_in(z0, z1) → U7(f19_in(z0, z1), z0, z1)
U7(f19_out1(z0), z1, z2) → U8(f1_in(z0, s(z2)), z1, z2, z0)
U8(f1_out1(z0), z1, z2, z3) → f17_out1(z3, z0)
f4_in(z0, z1) → U9(f11_in(z0, z1), f12_in(z0, z1), z0, z1)
U9(f11_out1(z0), z1, z2, z3) → f4_out1(z0)
U9(z0, f12_out1(z1), z2, z3) → f4_out2(z1)
Tuples:

F1_IN(z0, z1) → c(U1'(f4_in(z0, z1), z0, z1), F4_IN(z0, z1))
F57_IN(s(z0), s(z1)) → c4(U2'(f57_in(z0, z1), s(z0), s(z1)), F57_IN(z0, z1))
F27_IN(s(z0), s(z1)) → c7(U3'(f27_in(z0, z1), s(z0), s(z1)), F27_IN(z0, z1))
F11_IN(z0, s(z1)) → c11(U5'(f17_in(z0, z1), z0, s(z1)), F17_IN(z0, z1))
F17_IN(z0, z1) → c15(U7'(f19_in(z0, z1), z0, z1), F19_IN(z0, z1))
U7'(f19_out1(z0), z1, z2) → c16(U8'(f1_in(z0, s(z2)), z1, z2, z0), F1_IN(z0, s(z2)))
F4_IN(z0, z1) → c18(U9'(f11_in(z0, z1), f12_in(z0, z1), z0, z1), F11_IN(z0, z1), F12_IN(z0, z1))
F19_IN(s(z0), z1) → c1(U4'(f27_in(z0, z1), s(z0), z1))
F19_IN(s(z0), z1) → c1(F27_IN(z0, z1))
F12_IN(s(z0), s(z1)) → c1(U6'(f57_in(z0, z1), s(z0), s(z1)))
F12_IN(s(z0), s(z1)) → c1(F57_IN(z0, z1))
S tuples:

F1_IN(z0, z1) → c(U1'(f4_in(z0, z1), z0, z1), F4_IN(z0, z1))
F57_IN(s(z0), s(z1)) → c4(U2'(f57_in(z0, z1), s(z0), s(z1)), F57_IN(z0, z1))
F27_IN(s(z0), s(z1)) → c7(U3'(f27_in(z0, z1), s(z0), s(z1)), F27_IN(z0, z1))
F11_IN(z0, s(z1)) → c11(U5'(f17_in(z0, z1), z0, s(z1)), F17_IN(z0, z1))
F17_IN(z0, z1) → c15(U7'(f19_in(z0, z1), z0, z1), F19_IN(z0, z1))
U7'(f19_out1(z0), z1, z2) → c16(U8'(f1_in(z0, s(z2)), z1, z2, z0), F1_IN(z0, s(z2)))
F4_IN(z0, z1) → c18(U9'(f11_in(z0, z1), f12_in(z0, z1), z0, z1), F11_IN(z0, z1), F12_IN(z0, z1))
F19_IN(s(z0), z1) → c1(U4'(f27_in(z0, z1), s(z0), z1))
F19_IN(s(z0), z1) → c1(F27_IN(z0, z1))
F12_IN(s(z0), s(z1)) → c1(U6'(f57_in(z0, z1), s(z0), s(z1)))
F12_IN(s(z0), s(z1)) → c1(F57_IN(z0, z1))
K tuples:none
Defined Rule Symbols:

f1_in, U1, f57_in, U2, f27_in, U3, f19_in, U4, f11_in, U5, f12_in, U6, f17_in, U7, U8, f4_in, U9

Defined Pair Symbols:

F1_IN, F57_IN, F27_IN, F11_IN, F17_IN, U7', F4_IN, F19_IN, F12_IN

Compound Symbols:

c, c4, c7, c11, c15, c16, c18, c1

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

Removed 8 trailing tuple parts

(8) Obligation:

Complexity Dependency Tuples Problem
Rules:

f1_in(z0, z1) → U1(f4_in(z0, z1), z0, z1)
U1(f4_out1(z0), z1, z2) → f1_out1(z0)
U1(f4_out2(z0), z1, z2) → f1_out1(z0)
f57_in(z0, 0) → f57_out1
f57_in(s(z0), s(z1)) → U2(f57_in(z0, z1), s(z0), s(z1))
U2(f57_out1, s(z0), s(z1)) → f57_out1
f27_in(z0, 0) → f27_out1(z0)
f27_in(s(z0), s(z1)) → U3(f27_in(z0, z1), s(z0), s(z1))
U3(f27_out1(z0), s(z1), s(z2)) → f27_out1(z0)
f19_in(s(z0), z1) → U4(f27_in(z0, z1), s(z0), z1)
U4(f27_out1(z0), s(z1), z2) → f19_out1(z0)
f11_in(z0, s(z1)) → U5(f17_in(z0, z1), z0, s(z1))
U5(f17_out1(z0, z1), z2, s(z3)) → f11_out1(z1)
f12_in(s(z0), s(z1)) → U6(f57_in(z0, z1), s(z0), s(z1))
U6(f57_out1, s(z0), s(z1)) → f12_out1(s(z0))
f17_in(z0, z1) → U7(f19_in(z0, z1), z0, z1)
U7(f19_out1(z0), z1, z2) → U8(f1_in(z0, s(z2)), z1, z2, z0)
U8(f1_out1(z0), z1, z2, z3) → f17_out1(z3, z0)
f4_in(z0, z1) → U9(f11_in(z0, z1), f12_in(z0, z1), z0, z1)
U9(f11_out1(z0), z1, z2, z3) → f4_out1(z0)
U9(z0, f12_out1(z1), z2, z3) → f4_out2(z1)
Tuples:

F17_IN(z0, z1) → c15(U7'(f19_in(z0, z1), z0, z1), F19_IN(z0, z1))
F19_IN(s(z0), z1) → c1(F27_IN(z0, z1))
F12_IN(s(z0), s(z1)) → c1(F57_IN(z0, z1))
F1_IN(z0, z1) → c(F4_IN(z0, z1))
F57_IN(s(z0), s(z1)) → c4(F57_IN(z0, z1))
F27_IN(s(z0), s(z1)) → c7(F27_IN(z0, z1))
F11_IN(z0, s(z1)) → c11(F17_IN(z0, z1))
U7'(f19_out1(z0), z1, z2) → c16(F1_IN(z0, s(z2)))
F4_IN(z0, z1) → c18(F11_IN(z0, z1), F12_IN(z0, z1))
F19_IN(s(z0), z1) → c1
F12_IN(s(z0), s(z1)) → c1
S tuples:

F17_IN(z0, z1) → c15(U7'(f19_in(z0, z1), z0, z1), F19_IN(z0, z1))
F19_IN(s(z0), z1) → c1(F27_IN(z0, z1))
F12_IN(s(z0), s(z1)) → c1(F57_IN(z0, z1))
F1_IN(z0, z1) → c(F4_IN(z0, z1))
F57_IN(s(z0), s(z1)) → c4(F57_IN(z0, z1))
F27_IN(s(z0), s(z1)) → c7(F27_IN(z0, z1))
F11_IN(z0, s(z1)) → c11(F17_IN(z0, z1))
U7'(f19_out1(z0), z1, z2) → c16(F1_IN(z0, s(z2)))
F4_IN(z0, z1) → c18(F11_IN(z0, z1), F12_IN(z0, z1))
F19_IN(s(z0), z1) → c1
F12_IN(s(z0), s(z1)) → c1
K tuples:none
Defined Rule Symbols:

f1_in, U1, f57_in, U2, f27_in, U3, f19_in, U4, f11_in, U5, f12_in, U6, f17_in, U7, U8, f4_in, U9

Defined Pair Symbols:

F17_IN, F19_IN, F12_IN, F1_IN, F57_IN, F27_IN, F11_IN, U7', F4_IN

Compound Symbols:

c15, c1, c, c4, c7, c11, c16, c18, c1

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

F27_IN(s(z0), s(z1)) → c7(F27_IN(z0, z1))
U7'(f19_out1(z0), z1, z2) → c16(F1_IN(z0, s(z2)))
F19_IN(s(z0), z1) → c1
We considered the (Usable) Rules:

f19_in(s(z0), z1) → U4(f27_in(z0, z1), s(z0), z1)
f27_in(z0, 0) → f27_out1(z0)
f27_in(s(z0), s(z1)) → U3(f27_in(z0, z1), s(z0), s(z1))
U4(f27_out1(z0), s(z1), z2) → f19_out1(z0)
U3(f27_out1(z0), s(z1), s(z2)) → f27_out1(z0)
And the Tuples:

F17_IN(z0, z1) → c15(U7'(f19_in(z0, z1), z0, z1), F19_IN(z0, z1))
F19_IN(s(z0), z1) → c1(F27_IN(z0, z1))
F12_IN(s(z0), s(z1)) → c1(F57_IN(z0, z1))
F1_IN(z0, z1) → c(F4_IN(z0, z1))
F57_IN(s(z0), s(z1)) → c4(F57_IN(z0, z1))
F27_IN(s(z0), s(z1)) → c7(F27_IN(z0, z1))
F11_IN(z0, s(z1)) → c11(F17_IN(z0, z1))
U7'(f19_out1(z0), z1, z2) → c16(F1_IN(z0, s(z2)))
F4_IN(z0, z1) → c18(F11_IN(z0, z1), F12_IN(z0, z1))
F19_IN(s(z0), z1) → c1
F12_IN(s(z0), s(z1)) → c1
The order we found is given by the following interpretation:
Polynomial interpretation :

POL(0) = 0   
POL(F11_IN(x1, x2)) = x1·x2 + x12   
POL(F12_IN(x1, x2)) = 0   
POL(F17_IN(x1, x2)) = x1 + x1·x2 + x12   
POL(F19_IN(x1, x2)) = x1   
POL(F1_IN(x1, x2)) = x1·x2 + x12   
POL(F27_IN(x1, x2)) = [1] + x1   
POL(F4_IN(x1, x2)) = x1·x2 + x12   
POL(F57_IN(x1, x2)) = 0   
POL(U3(x1, x2, x3)) = x1   
POL(U4(x1, x2, x3)) = x1   
POL(U7'(x1, x2, x3)) = x1·x3 + x12   
POL(c(x1)) = x1   
POL(c1) = 0   
POL(c1(x1)) = x1   
POL(c11(x1)) = x1   
POL(c15(x1, x2)) = x1 + x2   
POL(c16(x1)) = x1   
POL(c18(x1, x2)) = x1 + x2   
POL(c4(x1)) = x1   
POL(c7(x1)) = x1   
POL(f19_in(x1, x2)) = x1   
POL(f19_out1(x1)) = [1] + x1   
POL(f27_in(x1, x2)) = [1] + x1   
POL(f27_out1(x1)) = [1] + x1   
POL(s(x1)) = [1] + x1   

(10) Obligation:

Complexity Dependency Tuples Problem
Rules:

f1_in(z0, z1) → U1(f4_in(z0, z1), z0, z1)
U1(f4_out1(z0), z1, z2) → f1_out1(z0)
U1(f4_out2(z0), z1, z2) → f1_out1(z0)
f57_in(z0, 0) → f57_out1
f57_in(s(z0), s(z1)) → U2(f57_in(z0, z1), s(z0), s(z1))
U2(f57_out1, s(z0), s(z1)) → f57_out1
f27_in(z0, 0) → f27_out1(z0)
f27_in(s(z0), s(z1)) → U3(f27_in(z0, z1), s(z0), s(z1))
U3(f27_out1(z0), s(z1), s(z2)) → f27_out1(z0)
f19_in(s(z0), z1) → U4(f27_in(z0, z1), s(z0), z1)
U4(f27_out1(z0), s(z1), z2) → f19_out1(z0)
f11_in(z0, s(z1)) → U5(f17_in(z0, z1), z0, s(z1))
U5(f17_out1(z0, z1), z2, s(z3)) → f11_out1(z1)
f12_in(s(z0), s(z1)) → U6(f57_in(z0, z1), s(z0), s(z1))
U6(f57_out1, s(z0), s(z1)) → f12_out1(s(z0))
f17_in(z0, z1) → U7(f19_in(z0, z1), z0, z1)
U7(f19_out1(z0), z1, z2) → U8(f1_in(z0, s(z2)), z1, z2, z0)
U8(f1_out1(z0), z1, z2, z3) → f17_out1(z3, z0)
f4_in(z0, z1) → U9(f11_in(z0, z1), f12_in(z0, z1), z0, z1)
U9(f11_out1(z0), z1, z2, z3) → f4_out1(z0)
U9(z0, f12_out1(z1), z2, z3) → f4_out2(z1)
Tuples:

F17_IN(z0, z1) → c15(U7'(f19_in(z0, z1), z0, z1), F19_IN(z0, z1))
F19_IN(s(z0), z1) → c1(F27_IN(z0, z1))
F12_IN(s(z0), s(z1)) → c1(F57_IN(z0, z1))
F1_IN(z0, z1) → c(F4_IN(z0, z1))
F57_IN(s(z0), s(z1)) → c4(F57_IN(z0, z1))
F27_IN(s(z0), s(z1)) → c7(F27_IN(z0, z1))
F11_IN(z0, s(z1)) → c11(F17_IN(z0, z1))
U7'(f19_out1(z0), z1, z2) → c16(F1_IN(z0, s(z2)))
F4_IN(z0, z1) → c18(F11_IN(z0, z1), F12_IN(z0, z1))
F19_IN(s(z0), z1) → c1
F12_IN(s(z0), s(z1)) → c1
S tuples:

F17_IN(z0, z1) → c15(U7'(f19_in(z0, z1), z0, z1), F19_IN(z0, z1))
F19_IN(s(z0), z1) → c1(F27_IN(z0, z1))
F12_IN(s(z0), s(z1)) → c1(F57_IN(z0, z1))
F1_IN(z0, z1) → c(F4_IN(z0, z1))
F57_IN(s(z0), s(z1)) → c4(F57_IN(z0, z1))
F11_IN(z0, s(z1)) → c11(F17_IN(z0, z1))
F4_IN(z0, z1) → c18(F11_IN(z0, z1), F12_IN(z0, z1))
F12_IN(s(z0), s(z1)) → c1
K tuples:

F27_IN(s(z0), s(z1)) → c7(F27_IN(z0, z1))
U7'(f19_out1(z0), z1, z2) → c16(F1_IN(z0, s(z2)))
F19_IN(s(z0), z1) → c1
Defined Rule Symbols:

f1_in, U1, f57_in, U2, f27_in, U3, f19_in, U4, f11_in, U5, f12_in, U6, f17_in, U7, U8, f4_in, U9

Defined Pair Symbols:

F17_IN, F19_IN, F12_IN, F1_IN, F57_IN, F27_IN, F11_IN, U7', F4_IN

Compound Symbols:

c15, c1, c, c4, c7, c11, c16, c18, c1

(11) CdtKnowledgeProof (EQUIVALENT transformation)

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

F1_IN(z0, z1) → c(F4_IN(z0, z1))
F4_IN(z0, z1) → c18(F11_IN(z0, z1), F12_IN(z0, z1))
F12_IN(s(z0), s(z1)) → c1
F4_IN(z0, z1) → c18(F11_IN(z0, z1), F12_IN(z0, z1))
F12_IN(s(z0), s(z1)) → c1(F57_IN(z0, z1))
F11_IN(z0, s(z1)) → c11(F17_IN(z0, z1))
F12_IN(s(z0), s(z1)) → c1
F17_IN(z0, z1) → c15(U7'(f19_in(z0, z1), z0, z1), F19_IN(z0, z1))
F19_IN(s(z0), z1) → c1(F27_IN(z0, z1))
U7'(f19_out1(z0), z1, z2) → c16(F1_IN(z0, s(z2)))
F19_IN(s(z0), z1) → c1
F27_IN(s(z0), s(z1)) → c7(F27_IN(z0, z1))

(12) Obligation:

Complexity Dependency Tuples Problem
Rules:

f1_in(z0, z1) → U1(f4_in(z0, z1), z0, z1)
U1(f4_out1(z0), z1, z2) → f1_out1(z0)
U1(f4_out2(z0), z1, z2) → f1_out1(z0)
f57_in(z0, 0) → f57_out1
f57_in(s(z0), s(z1)) → U2(f57_in(z0, z1), s(z0), s(z1))
U2(f57_out1, s(z0), s(z1)) → f57_out1
f27_in(z0, 0) → f27_out1(z0)
f27_in(s(z0), s(z1)) → U3(f27_in(z0, z1), s(z0), s(z1))
U3(f27_out1(z0), s(z1), s(z2)) → f27_out1(z0)
f19_in(s(z0), z1) → U4(f27_in(z0, z1), s(z0), z1)
U4(f27_out1(z0), s(z1), z2) → f19_out1(z0)
f11_in(z0, s(z1)) → U5(f17_in(z0, z1), z0, s(z1))
U5(f17_out1(z0, z1), z2, s(z3)) → f11_out1(z1)
f12_in(s(z0), s(z1)) → U6(f57_in(z0, z1), s(z0), s(z1))
U6(f57_out1, s(z0), s(z1)) → f12_out1(s(z0))
f17_in(z0, z1) → U7(f19_in(z0, z1), z0, z1)
U7(f19_out1(z0), z1, z2) → U8(f1_in(z0, s(z2)), z1, z2, z0)
U8(f1_out1(z0), z1, z2, z3) → f17_out1(z3, z0)
f4_in(z0, z1) → U9(f11_in(z0, z1), f12_in(z0, z1), z0, z1)
U9(f11_out1(z0), z1, z2, z3) → f4_out1(z0)
U9(z0, f12_out1(z1), z2, z3) → f4_out2(z1)
Tuples:

F17_IN(z0, z1) → c15(U7'(f19_in(z0, z1), z0, z1), F19_IN(z0, z1))
F19_IN(s(z0), z1) → c1(F27_IN(z0, z1))
F12_IN(s(z0), s(z1)) → c1(F57_IN(z0, z1))
F1_IN(z0, z1) → c(F4_IN(z0, z1))
F57_IN(s(z0), s(z1)) → c4(F57_IN(z0, z1))
F27_IN(s(z0), s(z1)) → c7(F27_IN(z0, z1))
F11_IN(z0, s(z1)) → c11(F17_IN(z0, z1))
U7'(f19_out1(z0), z1, z2) → c16(F1_IN(z0, s(z2)))
F4_IN(z0, z1) → c18(F11_IN(z0, z1), F12_IN(z0, z1))
F19_IN(s(z0), z1) → c1
F12_IN(s(z0), s(z1)) → c1
S tuples:

F57_IN(s(z0), s(z1)) → c4(F57_IN(z0, z1))
K tuples:

F27_IN(s(z0), s(z1)) → c7(F27_IN(z0, z1))
U7'(f19_out1(z0), z1, z2) → c16(F1_IN(z0, s(z2)))
F19_IN(s(z0), z1) → c1
F1_IN(z0, z1) → c(F4_IN(z0, z1))
F4_IN(z0, z1) → c18(F11_IN(z0, z1), F12_IN(z0, z1))
F12_IN(s(z0), s(z1)) → c1
F12_IN(s(z0), s(z1)) → c1(F57_IN(z0, z1))
F11_IN(z0, s(z1)) → c11(F17_IN(z0, z1))
F17_IN(z0, z1) → c15(U7'(f19_in(z0, z1), z0, z1), F19_IN(z0, z1))
F19_IN(s(z0), z1) → c1(F27_IN(z0, z1))
Defined Rule Symbols:

f1_in, U1, f57_in, U2, f27_in, U3, f19_in, U4, f11_in, U5, f12_in, U6, f17_in, U7, U8, f4_in, U9

Defined Pair Symbols:

F17_IN, F19_IN, F12_IN, F1_IN, F57_IN, F27_IN, F11_IN, U7', F4_IN

Compound Symbols:

c15, c1, c, c4, c7, c11, c16, c18, c1

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

Use narrowing to replace F17_IN(z0, z1) → c15(U7'(f19_in(z0, z1), z0, z1), F19_IN(z0, z1)) by

F17_IN(s(z0), z1) → c15(U7'(U4(f27_in(z0, z1), s(z0), z1), s(z0), z1), F19_IN(s(z0), z1))

(14) Obligation:

Complexity Dependency Tuples Problem
Rules:

f1_in(z0, z1) → U1(f4_in(z0, z1), z0, z1)
U1(f4_out1(z0), z1, z2) → f1_out1(z0)
U1(f4_out2(z0), z1, z2) → f1_out1(z0)
f57_in(z0, 0) → f57_out1
f57_in(s(z0), s(z1)) → U2(f57_in(z0, z1), s(z0), s(z1))
U2(f57_out1, s(z0), s(z1)) → f57_out1
f27_in(z0, 0) → f27_out1(z0)
f27_in(s(z0), s(z1)) → U3(f27_in(z0, z1), s(z0), s(z1))
U3(f27_out1(z0), s(z1), s(z2)) → f27_out1(z0)
f19_in(s(z0), z1) → U4(f27_in(z0, z1), s(z0), z1)
U4(f27_out1(z0), s(z1), z2) → f19_out1(z0)
f11_in(z0, s(z1)) → U5(f17_in(z0, z1), z0, s(z1))
U5(f17_out1(z0, z1), z2, s(z3)) → f11_out1(z1)
f12_in(s(z0), s(z1)) → U6(f57_in(z0, z1), s(z0), s(z1))
U6(f57_out1, s(z0), s(z1)) → f12_out1(s(z0))
f17_in(z0, z1) → U7(f19_in(z0, z1), z0, z1)
U7(f19_out1(z0), z1, z2) → U8(f1_in(z0, s(z2)), z1, z2, z0)
U8(f1_out1(z0), z1, z2, z3) → f17_out1(z3, z0)
f4_in(z0, z1) → U9(f11_in(z0, z1), f12_in(z0, z1), z0, z1)
U9(f11_out1(z0), z1, z2, z3) → f4_out1(z0)
U9(z0, f12_out1(z1), z2, z3) → f4_out2(z1)
Tuples:

F19_IN(s(z0), z1) → c1(F27_IN(z0, z1))
F12_IN(s(z0), s(z1)) → c1(F57_IN(z0, z1))
F1_IN(z0, z1) → c(F4_IN(z0, z1))
F57_IN(s(z0), s(z1)) → c4(F57_IN(z0, z1))
F27_IN(s(z0), s(z1)) → c7(F27_IN(z0, z1))
F11_IN(z0, s(z1)) → c11(F17_IN(z0, z1))
U7'(f19_out1(z0), z1, z2) → c16(F1_IN(z0, s(z2)))
F4_IN(z0, z1) → c18(F11_IN(z0, z1), F12_IN(z0, z1))
F19_IN(s(z0), z1) → c1
F12_IN(s(z0), s(z1)) → c1
F17_IN(s(z0), z1) → c15(U7'(U4(f27_in(z0, z1), s(z0), z1), s(z0), z1), F19_IN(s(z0), z1))
S tuples:

F57_IN(s(z0), s(z1)) → c4(F57_IN(z0, z1))
K tuples:

F27_IN(s(z0), s(z1)) → c7(F27_IN(z0, z1))
U7'(f19_out1(z0), z1, z2) → c16(F1_IN(z0, s(z2)))
F19_IN(s(z0), z1) → c1
F1_IN(z0, z1) → c(F4_IN(z0, z1))
F4_IN(z0, z1) → c18(F11_IN(z0, z1), F12_IN(z0, z1))
F12_IN(s(z0), s(z1)) → c1
F12_IN(s(z0), s(z1)) → c1(F57_IN(z0, z1))
F11_IN(z0, s(z1)) → c11(F17_IN(z0, z1))
F17_IN(z0, z1) → c15(U7'(f19_in(z0, z1), z0, z1), F19_IN(z0, z1))
F19_IN(s(z0), z1) → c1(F27_IN(z0, z1))
Defined Rule Symbols:

f1_in, U1, f57_in, U2, f27_in, U3, f19_in, U4, f11_in, U5, f12_in, U6, f17_in, U7, U8, f4_in, U9

Defined Pair Symbols:

F19_IN, F12_IN, F1_IN, F57_IN, F27_IN, F11_IN, U7', F4_IN, F17_IN

Compound Symbols:

c1, c, c4, c7, c11, c16, c18, c1, c15

(15) CdtGraphRemoveDanglingProof (BOTH BOUNDS(ID, ID) transformation)

Removed 1 of 11 dangling nodes:

F12_IN(s(z0), s(z1)) → c1

(16) Obligation:

Complexity Dependency Tuples Problem
Rules:

f1_in(z0, z1) → U1(f4_in(z0, z1), z0, z1)
U1(f4_out1(z0), z1, z2) → f1_out1(z0)
U1(f4_out2(z0), z1, z2) → f1_out1(z0)
f57_in(z0, 0) → f57_out1
f57_in(s(z0), s(z1)) → U2(f57_in(z0, z1), s(z0), s(z1))
U2(f57_out1, s(z0), s(z1)) → f57_out1
f27_in(z0, 0) → f27_out1(z0)
f27_in(s(z0), s(z1)) → U3(f27_in(z0, z1), s(z0), s(z1))
U3(f27_out1(z0), s(z1), s(z2)) → f27_out1(z0)
f19_in(s(z0), z1) → U4(f27_in(z0, z1), s(z0), z1)
U4(f27_out1(z0), s(z1), z2) → f19_out1(z0)
f11_in(z0, s(z1)) → U5(f17_in(z0, z1), z0, s(z1))
U5(f17_out1(z0, z1), z2, s(z3)) → f11_out1(z1)
f12_in(s(z0), s(z1)) → U6(f57_in(z0, z1), s(z0), s(z1))
U6(f57_out1, s(z0), s(z1)) → f12_out1(s(z0))
f17_in(z0, z1) → U7(f19_in(z0, z1), z0, z1)
U7(f19_out1(z0), z1, z2) → U8(f1_in(z0, s(z2)), z1, z2, z0)
U8(f1_out1(z0), z1, z2, z3) → f17_out1(z3, z0)
f4_in(z0, z1) → U9(f11_in(z0, z1), f12_in(z0, z1), z0, z1)
U9(f11_out1(z0), z1, z2, z3) → f4_out1(z0)
U9(z0, f12_out1(z1), z2, z3) → f4_out2(z1)
Tuples:

F19_IN(s(z0), z1) → c1(F27_IN(z0, z1))
F12_IN(s(z0), s(z1)) → c1(F57_IN(z0, z1))
F1_IN(z0, z1) → c(F4_IN(z0, z1))
F57_IN(s(z0), s(z1)) → c4(F57_IN(z0, z1))
F27_IN(s(z0), s(z1)) → c7(F27_IN(z0, z1))
F11_IN(z0, s(z1)) → c11(F17_IN(z0, z1))
U7'(f19_out1(z0), z1, z2) → c16(F1_IN(z0, s(z2)))
F4_IN(z0, z1) → c18(F11_IN(z0, z1), F12_IN(z0, z1))
F19_IN(s(z0), z1) → c1
F17_IN(s(z0), z1) → c15(U7'(U4(f27_in(z0, z1), s(z0), z1), s(z0), z1), F19_IN(s(z0), z1))
S tuples:

F57_IN(s(z0), s(z1)) → c4(F57_IN(z0, z1))
K tuples:

F27_IN(s(z0), s(z1)) → c7(F27_IN(z0, z1))
U7'(f19_out1(z0), z1, z2) → c16(F1_IN(z0, s(z2)))
F19_IN(s(z0), z1) → c1
F1_IN(z0, z1) → c(F4_IN(z0, z1))
F4_IN(z0, z1) → c18(F11_IN(z0, z1), F12_IN(z0, z1))
F12_IN(s(z0), s(z1)) → c1(F57_IN(z0, z1))
F11_IN(z0, s(z1)) → c11(F17_IN(z0, z1))
F19_IN(s(z0), z1) → c1(F27_IN(z0, z1))
Defined Rule Symbols:

f1_in, U1, f57_in, U2, f27_in, U3, f19_in, U4, f11_in, U5, f12_in, U6, f17_in, U7, U8, f4_in, U9

Defined Pair Symbols:

F19_IN, F12_IN, F1_IN, F57_IN, F27_IN, F11_IN, U7', F4_IN, F17_IN

Compound Symbols:

c1, c, c4, c7, c11, c16, c18, c1, c15

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

Split RHS of tuples not part of any SCC

(18) Obligation:

Complexity Dependency Tuples Problem
Rules:

f1_in(z0, z1) → U1(f4_in(z0, z1), z0, z1)
U1(f4_out1(z0), z1, z2) → f1_out1(z0)
U1(f4_out2(z0), z1, z2) → f1_out1(z0)
f57_in(z0, 0) → f57_out1
f57_in(s(z0), s(z1)) → U2(f57_in(z0, z1), s(z0), s(z1))
U2(f57_out1, s(z0), s(z1)) → f57_out1
f27_in(z0, 0) → f27_out1(z0)
f27_in(s(z0), s(z1)) → U3(f27_in(z0, z1), s(z0), s(z1))
U3(f27_out1(z0), s(z1), s(z2)) → f27_out1(z0)
f19_in(s(z0), z1) → U4(f27_in(z0, z1), s(z0), z1)
U4(f27_out1(z0), s(z1), z2) → f19_out1(z0)
f11_in(z0, s(z1)) → U5(f17_in(z0, z1), z0, s(z1))
U5(f17_out1(z0, z1), z2, s(z3)) → f11_out1(z1)
f12_in(s(z0), s(z1)) → U6(f57_in(z0, z1), s(z0), s(z1))
U6(f57_out1, s(z0), s(z1)) → f12_out1(s(z0))
f17_in(z0, z1) → U7(f19_in(z0, z1), z0, z1)
U7(f19_out1(z0), z1, z2) → U8(f1_in(z0, s(z2)), z1, z2, z0)
U8(f1_out1(z0), z1, z2, z3) → f17_out1(z3, z0)
f4_in(z0, z1) → U9(f11_in(z0, z1), f12_in(z0, z1), z0, z1)
U9(f11_out1(z0), z1, z2, z3) → f4_out1(z0)
U9(z0, f12_out1(z1), z2, z3) → f4_out2(z1)
Tuples:

F19_IN(s(z0), z1) → c1(F27_IN(z0, z1))
F12_IN(s(z0), s(z1)) → c1(F57_IN(z0, z1))
F1_IN(z0, z1) → c(F4_IN(z0, z1))
F57_IN(s(z0), s(z1)) → c4(F57_IN(z0, z1))
F27_IN(s(z0), s(z1)) → c7(F27_IN(z0, z1))
F11_IN(z0, s(z1)) → c11(F17_IN(z0, z1))
U7'(f19_out1(z0), z1, z2) → c16(F1_IN(z0, s(z2)))
F4_IN(z0, z1) → c18(F11_IN(z0, z1), F12_IN(z0, z1))
F17_IN(s(z0), z1) → c15(U7'(U4(f27_in(z0, z1), s(z0), z1), s(z0), z1), F19_IN(s(z0), z1))
S tuples:

F57_IN(s(z0), s(z1)) → c4(F57_IN(z0, z1))
K tuples:

F27_IN(s(z0), s(z1)) → c7(F27_IN(z0, z1))
U7'(f19_out1(z0), z1, z2) → c16(F1_IN(z0, s(z2)))
F1_IN(z0, z1) → c(F4_IN(z0, z1))
F4_IN(z0, z1) → c18(F11_IN(z0, z1), F12_IN(z0, z1))
F12_IN(s(z0), s(z1)) → c1(F57_IN(z0, z1))
F11_IN(z0, s(z1)) → c11(F17_IN(z0, z1))
F19_IN(s(z0), z1) → c1(F27_IN(z0, z1))
Defined Rule Symbols:

f1_in, U1, f57_in, U2, f27_in, U3, f19_in, U4, f11_in, U5, f12_in, U6, f17_in, U7, U8, f4_in, U9

Defined Pair Symbols:

F19_IN, F12_IN, F1_IN, F57_IN, F27_IN, F11_IN, U7', F4_IN, F17_IN

Compound Symbols:

c1, c, c4, c7, c11, c16, c18, c15

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

F57_IN(s(z0), s(z1)) → c4(F57_IN(z0, z1))
We considered the (Usable) Rules:

f27_in(z0, 0) → f27_out1(z0)
f27_in(s(z0), s(z1)) → U3(f27_in(z0, z1), s(z0), s(z1))
U4(f27_out1(z0), s(z1), z2) → f19_out1(z0)
U3(f27_out1(z0), s(z1), s(z2)) → f27_out1(z0)
And the Tuples:

F19_IN(s(z0), z1) → c1(F27_IN(z0, z1))
F12_IN(s(z0), s(z1)) → c1(F57_IN(z0, z1))
F1_IN(z0, z1) → c(F4_IN(z0, z1))
F57_IN(s(z0), s(z1)) → c4(F57_IN(z0, z1))
F27_IN(s(z0), s(z1)) → c7(F27_IN(z0, z1))
F11_IN(z0, s(z1)) → c11(F17_IN(z0, z1))
U7'(f19_out1(z0), z1, z2) → c16(F1_IN(z0, s(z2)))
F4_IN(z0, z1) → c18(F11_IN(z0, z1), F12_IN(z0, z1))
F17_IN(s(z0), z1) → c15(U7'(U4(f27_in(z0, z1), s(z0), z1), s(z0), z1), F19_IN(s(z0), z1))
The order we found is given by the following interpretation:
Polynomial interpretation :

POL(0) = 0   
POL(F11_IN(x1, x2)) = x12   
POL(F12_IN(x1, x2)) = x1   
POL(F17_IN(x1, x2)) = x12   
POL(F19_IN(x1, x2)) = 0   
POL(F1_IN(x1, x2)) = [1] + x1 + x12   
POL(F27_IN(x1, x2)) = 0   
POL(F4_IN(x1, x2)) = [1] + x1 + x12   
POL(F57_IN(x1, x2)) = [1] + x1   
POL(U3(x1, x2, x3)) = x1   
POL(U4(x1, x2, x3)) = [1] + x1   
POL(U7'(x1, x2, x3)) = x12   
POL(c(x1)) = x1   
POL(c1(x1)) = x1   
POL(c11(x1)) = x1   
POL(c15(x1, x2)) = x1 + x2   
POL(c16(x1)) = x1   
POL(c18(x1, x2)) = x1 + x2   
POL(c4(x1)) = x1   
POL(c7(x1)) = x1   
POL(f19_out1(x1)) = [1] + x1   
POL(f27_in(x1, x2)) = x1   
POL(f27_out1(x1)) = x1   
POL(s(x1)) = [1] + x1   

(20) Obligation:

Complexity Dependency Tuples Problem
Rules:

f1_in(z0, z1) → U1(f4_in(z0, z1), z0, z1)
U1(f4_out1(z0), z1, z2) → f1_out1(z0)
U1(f4_out2(z0), z1, z2) → f1_out1(z0)
f57_in(z0, 0) → f57_out1
f57_in(s(z0), s(z1)) → U2(f57_in(z0, z1), s(z0), s(z1))
U2(f57_out1, s(z0), s(z1)) → f57_out1
f27_in(z0, 0) → f27_out1(z0)
f27_in(s(z0), s(z1)) → U3(f27_in(z0, z1), s(z0), s(z1))
U3(f27_out1(z0), s(z1), s(z2)) → f27_out1(z0)
f19_in(s(z0), z1) → U4(f27_in(z0, z1), s(z0), z1)
U4(f27_out1(z0), s(z1), z2) → f19_out1(z0)
f11_in(z0, s(z1)) → U5(f17_in(z0, z1), z0, s(z1))
U5(f17_out1(z0, z1), z2, s(z3)) → f11_out1(z1)
f12_in(s(z0), s(z1)) → U6(f57_in(z0, z1), s(z0), s(z1))
U6(f57_out1, s(z0), s(z1)) → f12_out1(s(z0))
f17_in(z0, z1) → U7(f19_in(z0, z1), z0, z1)
U7(f19_out1(z0), z1, z2) → U8(f1_in(z0, s(z2)), z1, z2, z0)
U8(f1_out1(z0), z1, z2, z3) → f17_out1(z3, z0)
f4_in(z0, z1) → U9(f11_in(z0, z1), f12_in(z0, z1), z0, z1)
U9(f11_out1(z0), z1, z2, z3) → f4_out1(z0)
U9(z0, f12_out1(z1), z2, z3) → f4_out2(z1)
Tuples:

F19_IN(s(z0), z1) → c1(F27_IN(z0, z1))
F12_IN(s(z0), s(z1)) → c1(F57_IN(z0, z1))
F1_IN(z0, z1) → c(F4_IN(z0, z1))
F57_IN(s(z0), s(z1)) → c4(F57_IN(z0, z1))
F27_IN(s(z0), s(z1)) → c7(F27_IN(z0, z1))
F11_IN(z0, s(z1)) → c11(F17_IN(z0, z1))
U7'(f19_out1(z0), z1, z2) → c16(F1_IN(z0, s(z2)))
F4_IN(z0, z1) → c18(F11_IN(z0, z1), F12_IN(z0, z1))
F17_IN(s(z0), z1) → c15(U7'(U4(f27_in(z0, z1), s(z0), z1), s(z0), z1), F19_IN(s(z0), z1))
S tuples:none
K tuples:

F27_IN(s(z0), s(z1)) → c7(F27_IN(z0, z1))
U7'(f19_out1(z0), z1, z2) → c16(F1_IN(z0, s(z2)))
F1_IN(z0, z1) → c(F4_IN(z0, z1))
F4_IN(z0, z1) → c18(F11_IN(z0, z1), F12_IN(z0, z1))
F12_IN(s(z0), s(z1)) → c1(F57_IN(z0, z1))
F11_IN(z0, s(z1)) → c11(F17_IN(z0, z1))
F19_IN(s(z0), z1) → c1(F27_IN(z0, z1))
F57_IN(s(z0), s(z1)) → c4(F57_IN(z0, z1))
Defined Rule Symbols:

f1_in, U1, f57_in, U2, f27_in, U3, f19_in, U4, f11_in, U5, f12_in, U6, f17_in, U7, U8, f4_in, U9

Defined Pair Symbols:

F19_IN, F12_IN, F1_IN, F57_IN, F27_IN, F11_IN, U7', F4_IN, F17_IN

Compound Symbols:

c1, c, c4, c7, c11, c16, c18, c15

(21) SIsEmptyProof (EQUIVALENT transformation)

The set S is empty

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

(23) PrologToCdtProblemTransformerProof (UPPER BOUND (ID) transformation)

Built complexity over-approximating cdt problems from derivation graph.

(24) Obligation:

Complexity Dependency Tuples Problem
Rules:

f2_in(z0, s(z1)) → U1(f7_in(z0, z1), z0, s(z1))
U1(f7_out1(z0, z1), z2, s(z3)) → f2_out1(z1)
U1(f7_out3(z0), z1, s(z2)) → f2_out1(z0)
f25_in(z0, 0) → f25_out1(z0)
f25_in(s(z0), s(z1)) → U2(f25_in(z0, z1), s(z0), s(z1))
U2(f25_out1(z0), s(z1), s(z2)) → f25_out1(z0)
f59_in(z0, 0) → f59_out1
f59_in(s(z0), s(z1)) → U3(f59_in(z0, z1), s(z0), s(z1))
U3(f59_out1, s(z0), s(z1)) → f59_out1
f15_in(s(z0), z1) → U4(f25_in(z0, z1), s(z0), z1)
U4(f25_out1(z0), s(z1), z2) → f15_out1(z0)
f10_in(s(z0), z1) → U5(f59_in(z0, z1), s(z0), z1)
U5(f59_out1, s(z0), z1) → f10_out2(s(z0))
f9_in(z0, z1) → U6(f15_in(z0, z1), z0, z1)
U6(f15_out1(z0), z1, z2) → U7(f2_in(z0, s(z2)), z1, z2, z0)
U7(f2_out1(z0), z1, z2, z3) → f9_out1(z3, z0)
f7_in(z0, z1) → U8(f9_in(z0, z1), f10_in(z0, z1), z0, z1)
U8(f9_out1(z0, z1), z2, z3, z4) → f7_out1(z0, z1)
U8(z0, f10_out2(z1), z2, z3) → f7_out3(z1)
Tuples:

F2_IN(z0, s(z1)) → c(U1'(f7_in(z0, z1), z0, s(z1)), F7_IN(z0, z1))
F25_IN(s(z0), s(z1)) → c4(U2'(f25_in(z0, z1), s(z0), s(z1)), F25_IN(z0, z1))
F59_IN(s(z0), s(z1)) → c7(U3'(f59_in(z0, z1), s(z0), s(z1)), F59_IN(z0, z1))
F15_IN(s(z0), z1) → c9(U4'(f25_in(z0, z1), s(z0), z1), F25_IN(z0, z1))
F10_IN(s(z0), z1) → c11(U5'(f59_in(z0, z1), s(z0), z1), F59_IN(z0, z1))
F9_IN(z0, z1) → c13(U6'(f15_in(z0, z1), z0, z1), F15_IN(z0, z1))
U6'(f15_out1(z0), z1, z2) → c14(U7'(f2_in(z0, s(z2)), z1, z2, z0), F2_IN(z0, s(z2)))
F7_IN(z0, z1) → c16(U8'(f9_in(z0, z1), f10_in(z0, z1), z0, z1), F9_IN(z0, z1), F10_IN(z0, z1))
S tuples:

F2_IN(z0, s(z1)) → c(U1'(f7_in(z0, z1), z0, s(z1)), F7_IN(z0, z1))
F25_IN(s(z0), s(z1)) → c4(U2'(f25_in(z0, z1), s(z0), s(z1)), F25_IN(z0, z1))
F59_IN(s(z0), s(z1)) → c7(U3'(f59_in(z0, z1), s(z0), s(z1)), F59_IN(z0, z1))
F15_IN(s(z0), z1) → c9(U4'(f25_in(z0, z1), s(z0), z1), F25_IN(z0, z1))
F10_IN(s(z0), z1) → c11(U5'(f59_in(z0, z1), s(z0), z1), F59_IN(z0, z1))
F9_IN(z0, z1) → c13(U6'(f15_in(z0, z1), z0, z1), F15_IN(z0, z1))
U6'(f15_out1(z0), z1, z2) → c14(U7'(f2_in(z0, s(z2)), z1, z2, z0), F2_IN(z0, s(z2)))
F7_IN(z0, z1) → c16(U8'(f9_in(z0, z1), f10_in(z0, z1), z0, z1), F9_IN(z0, z1), F10_IN(z0, z1))
K tuples:none
Defined Rule Symbols:

f2_in, U1, f25_in, U2, f59_in, U3, f15_in, U4, f10_in, U5, f9_in, U6, U7, f7_in, U8

Defined Pair Symbols:

F2_IN, F25_IN, F59_IN, F15_IN, F10_IN, F9_IN, U6', F7_IN

Compound Symbols:

c, c4, c7, c9, c11, c13, c14, c16

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

Split RHS of tuples not part of any SCC

(26) Obligation:

Complexity Dependency Tuples Problem
Rules:

f2_in(z0, s(z1)) → U1(f7_in(z0, z1), z0, s(z1))
U1(f7_out1(z0, z1), z2, s(z3)) → f2_out1(z1)
U1(f7_out3(z0), z1, s(z2)) → f2_out1(z0)
f25_in(z0, 0) → f25_out1(z0)
f25_in(s(z0), s(z1)) → U2(f25_in(z0, z1), s(z0), s(z1))
U2(f25_out1(z0), s(z1), s(z2)) → f25_out1(z0)
f59_in(z0, 0) → f59_out1
f59_in(s(z0), s(z1)) → U3(f59_in(z0, z1), s(z0), s(z1))
U3(f59_out1, s(z0), s(z1)) → f59_out1
f15_in(s(z0), z1) → U4(f25_in(z0, z1), s(z0), z1)
U4(f25_out1(z0), s(z1), z2) → f15_out1(z0)
f10_in(s(z0), z1) → U5(f59_in(z0, z1), s(z0), z1)
U5(f59_out1, s(z0), z1) → f10_out2(s(z0))
f9_in(z0, z1) → U6(f15_in(z0, z1), z0, z1)
U6(f15_out1(z0), z1, z2) → U7(f2_in(z0, s(z2)), z1, z2, z0)
U7(f2_out1(z0), z1, z2, z3) → f9_out1(z3, z0)
f7_in(z0, z1) → U8(f9_in(z0, z1), f10_in(z0, z1), z0, z1)
U8(f9_out1(z0, z1), z2, z3, z4) → f7_out1(z0, z1)
U8(z0, f10_out2(z1), z2, z3) → f7_out3(z1)
Tuples:

F2_IN(z0, s(z1)) → c(U1'(f7_in(z0, z1), z0, s(z1)), F7_IN(z0, z1))
F25_IN(s(z0), s(z1)) → c4(U2'(f25_in(z0, z1), s(z0), s(z1)), F25_IN(z0, z1))
F59_IN(s(z0), s(z1)) → c7(U3'(f59_in(z0, z1), s(z0), s(z1)), F59_IN(z0, z1))
F9_IN(z0, z1) → c13(U6'(f15_in(z0, z1), z0, z1), F15_IN(z0, z1))
U6'(f15_out1(z0), z1, z2) → c14(U7'(f2_in(z0, s(z2)), z1, z2, z0), F2_IN(z0, s(z2)))
F7_IN(z0, z1) → c16(U8'(f9_in(z0, z1), f10_in(z0, z1), z0, z1), F9_IN(z0, z1), F10_IN(z0, z1))
F15_IN(s(z0), z1) → c1(U4'(f25_in(z0, z1), s(z0), z1))
F15_IN(s(z0), z1) → c1(F25_IN(z0, z1))
F10_IN(s(z0), z1) → c1(U5'(f59_in(z0, z1), s(z0), z1))
F10_IN(s(z0), z1) → c1(F59_IN(z0, z1))
S tuples:

F2_IN(z0, s(z1)) → c(U1'(f7_in(z0, z1), z0, s(z1)), F7_IN(z0, z1))
F25_IN(s(z0), s(z1)) → c4(U2'(f25_in(z0, z1), s(z0), s(z1)), F25_IN(z0, z1))
F59_IN(s(z0), s(z1)) → c7(U3'(f59_in(z0, z1), s(z0), s(z1)), F59_IN(z0, z1))
F9_IN(z0, z1) → c13(U6'(f15_in(z0, z1), z0, z1), F15_IN(z0, z1))
U6'(f15_out1(z0), z1, z2) → c14(U7'(f2_in(z0, s(z2)), z1, z2, z0), F2_IN(z0, s(z2)))
F7_IN(z0, z1) → c16(U8'(f9_in(z0, z1), f10_in(z0, z1), z0, z1), F9_IN(z0, z1), F10_IN(z0, z1))
F15_IN(s(z0), z1) → c1(U4'(f25_in(z0, z1), s(z0), z1))
F15_IN(s(z0), z1) → c1(F25_IN(z0, z1))
F10_IN(s(z0), z1) → c1(U5'(f59_in(z0, z1), s(z0), z1))
F10_IN(s(z0), z1) → c1(F59_IN(z0, z1))
K tuples:none
Defined Rule Symbols:

f2_in, U1, f25_in, U2, f59_in, U3, f15_in, U4, f10_in, U5, f9_in, U6, U7, f7_in, U8

Defined Pair Symbols:

F2_IN, F25_IN, F59_IN, F9_IN, U6', F7_IN, F15_IN, F10_IN

Compound Symbols:

c, c4, c7, c13, c14, c16, c1

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

Removed 7 trailing tuple parts

(28) Obligation:

Complexity Dependency Tuples Problem
Rules:

f2_in(z0, s(z1)) → U1(f7_in(z0, z1), z0, s(z1))
U1(f7_out1(z0, z1), z2, s(z3)) → f2_out1(z1)
U1(f7_out3(z0), z1, s(z2)) → f2_out1(z0)
f25_in(z0, 0) → f25_out1(z0)
f25_in(s(z0), s(z1)) → U2(f25_in(z0, z1), s(z0), s(z1))
U2(f25_out1(z0), s(z1), s(z2)) → f25_out1(z0)
f59_in(z0, 0) → f59_out1
f59_in(s(z0), s(z1)) → U3(f59_in(z0, z1), s(z0), s(z1))
U3(f59_out1, s(z0), s(z1)) → f59_out1
f15_in(s(z0), z1) → U4(f25_in(z0, z1), s(z0), z1)
U4(f25_out1(z0), s(z1), z2) → f15_out1(z0)
f10_in(s(z0), z1) → U5(f59_in(z0, z1), s(z0), z1)
U5(f59_out1, s(z0), z1) → f10_out2(s(z0))
f9_in(z0, z1) → U6(f15_in(z0, z1), z0, z1)
U6(f15_out1(z0), z1, z2) → U7(f2_in(z0, s(z2)), z1, z2, z0)
U7(f2_out1(z0), z1, z2, z3) → f9_out1(z3, z0)
f7_in(z0, z1) → U8(f9_in(z0, z1), f10_in(z0, z1), z0, z1)
U8(f9_out1(z0, z1), z2, z3, z4) → f7_out1(z0, z1)
U8(z0, f10_out2(z1), z2, z3) → f7_out3(z1)
Tuples:

F9_IN(z0, z1) → c13(U6'(f15_in(z0, z1), z0, z1), F15_IN(z0, z1))
F15_IN(s(z0), z1) → c1(F25_IN(z0, z1))
F10_IN(s(z0), z1) → c1(F59_IN(z0, z1))
F2_IN(z0, s(z1)) → c(F7_IN(z0, z1))
F25_IN(s(z0), s(z1)) → c4(F25_IN(z0, z1))
F59_IN(s(z0), s(z1)) → c7(F59_IN(z0, z1))
U6'(f15_out1(z0), z1, z2) → c14(F2_IN(z0, s(z2)))
F7_IN(z0, z1) → c16(F9_IN(z0, z1), F10_IN(z0, z1))
F15_IN(s(z0), z1) → c1
F10_IN(s(z0), z1) → c1
S tuples:

F9_IN(z0, z1) → c13(U6'(f15_in(z0, z1), z0, z1), F15_IN(z0, z1))
F15_IN(s(z0), z1) → c1(F25_IN(z0, z1))
F10_IN(s(z0), z1) → c1(F59_IN(z0, z1))
F2_IN(z0, s(z1)) → c(F7_IN(z0, z1))
F25_IN(s(z0), s(z1)) → c4(F25_IN(z0, z1))
F59_IN(s(z0), s(z1)) → c7(F59_IN(z0, z1))
U6'(f15_out1(z0), z1, z2) → c14(F2_IN(z0, s(z2)))
F7_IN(z0, z1) → c16(F9_IN(z0, z1), F10_IN(z0, z1))
F15_IN(s(z0), z1) → c1
F10_IN(s(z0), z1) → c1
K tuples:none
Defined Rule Symbols:

f2_in, U1, f25_in, U2, f59_in, U3, f15_in, U4, f10_in, U5, f9_in, U6, U7, f7_in, U8

Defined Pair Symbols:

F9_IN, F15_IN, F10_IN, F2_IN, F25_IN, F59_IN, U6', F7_IN

Compound Symbols:

c13, c1, c, c4, c7, c14, c16, c1

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

U6'(f15_out1(z0), z1, z2) → c14(F2_IN(z0, s(z2)))
We considered the (Usable) Rules:

f15_in(s(z0), z1) → U4(f25_in(z0, z1), s(z0), z1)
f25_in(z0, 0) → f25_out1(z0)
f25_in(s(z0), s(z1)) → U2(f25_in(z0, z1), s(z0), s(z1))
U4(f25_out1(z0), s(z1), z2) → f15_out1(z0)
U2(f25_out1(z0), s(z1), s(z2)) → f25_out1(z0)
And the Tuples:

F9_IN(z0, z1) → c13(U6'(f15_in(z0, z1), z0, z1), F15_IN(z0, z1))
F15_IN(s(z0), z1) → c1(F25_IN(z0, z1))
F10_IN(s(z0), z1) → c1(F59_IN(z0, z1))
F2_IN(z0, s(z1)) → c(F7_IN(z0, z1))
F25_IN(s(z0), s(z1)) → c4(F25_IN(z0, z1))
F59_IN(s(z0), s(z1)) → c7(F59_IN(z0, z1))
U6'(f15_out1(z0), z1, z2) → c14(F2_IN(z0, s(z2)))
F7_IN(z0, z1) → c16(F9_IN(z0, z1), F10_IN(z0, z1))
F15_IN(s(z0), z1) → c1
F10_IN(s(z0), z1) → c1
The order we found is given by the following interpretation:
Polynomial interpretation :

POL(0) = 0   
POL(F10_IN(x1, x2)) = 0   
POL(F15_IN(x1, x2)) = 0   
POL(F25_IN(x1, x2)) = 0   
POL(F2_IN(x1, x2)) = [1] + x12   
POL(F59_IN(x1, x2)) = 0   
POL(F7_IN(x1, x2)) = [1] + x12   
POL(F9_IN(x1, x2)) = [1] + x12   
POL(U2(x1, x2, x3)) = x1   
POL(U4(x1, x2, x3)) = [1] + x1   
POL(U6'(x1, x2, x3)) = [1] + x12   
POL(c(x1)) = x1   
POL(c1) = 0   
POL(c1(x1)) = x1   
POL(c13(x1, x2)) = x1 + x2   
POL(c14(x1)) = x1   
POL(c16(x1, x2)) = x1 + x2   
POL(c4(x1)) = x1   
POL(c7(x1)) = x1   
POL(f15_in(x1, x2)) = x1   
POL(f15_out1(x1)) = [1] + x1   
POL(f25_in(x1, x2)) = x1   
POL(f25_out1(x1)) = x1   
POL(s(x1)) = [1] + x1   

(30) Obligation:

Complexity Dependency Tuples Problem
Rules:

f2_in(z0, s(z1)) → U1(f7_in(z0, z1), z0, s(z1))
U1(f7_out1(z0, z1), z2, s(z3)) → f2_out1(z1)
U1(f7_out3(z0), z1, s(z2)) → f2_out1(z0)
f25_in(z0, 0) → f25_out1(z0)
f25_in(s(z0), s(z1)) → U2(f25_in(z0, z1), s(z0), s(z1))
U2(f25_out1(z0), s(z1), s(z2)) → f25_out1(z0)
f59_in(z0, 0) → f59_out1
f59_in(s(z0), s(z1)) → U3(f59_in(z0, z1), s(z0), s(z1))
U3(f59_out1, s(z0), s(z1)) → f59_out1
f15_in(s(z0), z1) → U4(f25_in(z0, z1), s(z0), z1)
U4(f25_out1(z0), s(z1), z2) → f15_out1(z0)
f10_in(s(z0), z1) → U5(f59_in(z0, z1), s(z0), z1)
U5(f59_out1, s(z0), z1) → f10_out2(s(z0))
f9_in(z0, z1) → U6(f15_in(z0, z1), z0, z1)
U6(f15_out1(z0), z1, z2) → U7(f2_in(z0, s(z2)), z1, z2, z0)
U7(f2_out1(z0), z1, z2, z3) → f9_out1(z3, z0)
f7_in(z0, z1) → U8(f9_in(z0, z1), f10_in(z0, z1), z0, z1)
U8(f9_out1(z0, z1), z2, z3, z4) → f7_out1(z0, z1)
U8(z0, f10_out2(z1), z2, z3) → f7_out3(z1)
Tuples:

F9_IN(z0, z1) → c13(U6'(f15_in(z0, z1), z0, z1), F15_IN(z0, z1))
F15_IN(s(z0), z1) → c1(F25_IN(z0, z1))
F10_IN(s(z0), z1) → c1(F59_IN(z0, z1))
F2_IN(z0, s(z1)) → c(F7_IN(z0, z1))
F25_IN(s(z0), s(z1)) → c4(F25_IN(z0, z1))
F59_IN(s(z0), s(z1)) → c7(F59_IN(z0, z1))
U6'(f15_out1(z0), z1, z2) → c14(F2_IN(z0, s(z2)))
F7_IN(z0, z1) → c16(F9_IN(z0, z1), F10_IN(z0, z1))
F15_IN(s(z0), z1) → c1
F10_IN(s(z0), z1) → c1
S tuples:

F9_IN(z0, z1) → c13(U6'(f15_in(z0, z1), z0, z1), F15_IN(z0, z1))
F15_IN(s(z0), z1) → c1(F25_IN(z0, z1))
F10_IN(s(z0), z1) → c1(F59_IN(z0, z1))
F2_IN(z0, s(z1)) → c(F7_IN(z0, z1))
F25_IN(s(z0), s(z1)) → c4(F25_IN(z0, z1))
F59_IN(s(z0), s(z1)) → c7(F59_IN(z0, z1))
F7_IN(z0, z1) → c16(F9_IN(z0, z1), F10_IN(z0, z1))
F15_IN(s(z0), z1) → c1
F10_IN(s(z0), z1) → c1
K tuples:

U6'(f15_out1(z0), z1, z2) → c14(F2_IN(z0, s(z2)))
Defined Rule Symbols:

f2_in, U1, f25_in, U2, f59_in, U3, f15_in, U4, f10_in, U5, f9_in, U6, U7, f7_in, U8

Defined Pair Symbols:

F9_IN, F15_IN, F10_IN, F2_IN, F25_IN, F59_IN, U6', F7_IN

Compound Symbols:

c13, c1, c, c4, c7, c14, c16, c1

(31) CdtKnowledgeProof (EQUIVALENT transformation)

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

F2_IN(z0, s(z1)) → c(F7_IN(z0, z1))
F7_IN(z0, z1) → c16(F9_IN(z0, z1), F10_IN(z0, z1))
F10_IN(s(z0), z1) → c1
F7_IN(z0, z1) → c16(F9_IN(z0, z1), F10_IN(z0, z1))
F9_IN(z0, z1) → c13(U6'(f15_in(z0, z1), z0, z1), F15_IN(z0, z1))
F10_IN(s(z0), z1) → c1(F59_IN(z0, z1))
F10_IN(s(z0), z1) → c1
F15_IN(s(z0), z1) → c1(F25_IN(z0, z1))
U6'(f15_out1(z0), z1, z2) → c14(F2_IN(z0, s(z2)))
F15_IN(s(z0), z1) → c1

(32) Obligation:

Complexity Dependency Tuples Problem
Rules:

f2_in(z0, s(z1)) → U1(f7_in(z0, z1), z0, s(z1))
U1(f7_out1(z0, z1), z2, s(z3)) → f2_out1(z1)
U1(f7_out3(z0), z1, s(z2)) → f2_out1(z0)
f25_in(z0, 0) → f25_out1(z0)
f25_in(s(z0), s(z1)) → U2(f25_in(z0, z1), s(z0), s(z1))
U2(f25_out1(z0), s(z1), s(z2)) → f25_out1(z0)
f59_in(z0, 0) → f59_out1
f59_in(s(z0), s(z1)) → U3(f59_in(z0, z1), s(z0), s(z1))
U3(f59_out1, s(z0), s(z1)) → f59_out1
f15_in(s(z0), z1) → U4(f25_in(z0, z1), s(z0), z1)
U4(f25_out1(z0), s(z1), z2) → f15_out1(z0)
f10_in(s(z0), z1) → U5(f59_in(z0, z1), s(z0), z1)
U5(f59_out1, s(z0), z1) → f10_out2(s(z0))
f9_in(z0, z1) → U6(f15_in(z0, z1), z0, z1)
U6(f15_out1(z0), z1, z2) → U7(f2_in(z0, s(z2)), z1, z2, z0)
U7(f2_out1(z0), z1, z2, z3) → f9_out1(z3, z0)
f7_in(z0, z1) → U8(f9_in(z0, z1), f10_in(z0, z1), z0, z1)
U8(f9_out1(z0, z1), z2, z3, z4) → f7_out1(z0, z1)
U8(z0, f10_out2(z1), z2, z3) → f7_out3(z1)
Tuples:

F9_IN(z0, z1) → c13(U6'(f15_in(z0, z1), z0, z1), F15_IN(z0, z1))
F15_IN(s(z0), z1) → c1(F25_IN(z0, z1))
F10_IN(s(z0), z1) → c1(F59_IN(z0, z1))
F2_IN(z0, s(z1)) → c(F7_IN(z0, z1))
F25_IN(s(z0), s(z1)) → c4(F25_IN(z0, z1))
F59_IN(s(z0), s(z1)) → c7(F59_IN(z0, z1))
U6'(f15_out1(z0), z1, z2) → c14(F2_IN(z0, s(z2)))
F7_IN(z0, z1) → c16(F9_IN(z0, z1), F10_IN(z0, z1))
F15_IN(s(z0), z1) → c1
F10_IN(s(z0), z1) → c1
S tuples:

F25_IN(s(z0), s(z1)) → c4(F25_IN(z0, z1))
F59_IN(s(z0), s(z1)) → c7(F59_IN(z0, z1))
K tuples:

U6'(f15_out1(z0), z1, z2) → c14(F2_IN(z0, s(z2)))
F2_IN(z0, s(z1)) → c(F7_IN(z0, z1))
F7_IN(z0, z1) → c16(F9_IN(z0, z1), F10_IN(z0, z1))
F10_IN(s(z0), z1) → c1
F9_IN(z0, z1) → c13(U6'(f15_in(z0, z1), z0, z1), F15_IN(z0, z1))
F10_IN(s(z0), z1) → c1(F59_IN(z0, z1))
F15_IN(s(z0), z1) → c1(F25_IN(z0, z1))
F15_IN(s(z0), z1) → c1
Defined Rule Symbols:

f2_in, U1, f25_in, U2, f59_in, U3, f15_in, U4, f10_in, U5, f9_in, U6, U7, f7_in, U8

Defined Pair Symbols:

F9_IN, F15_IN, F10_IN, F2_IN, F25_IN, F59_IN, U6', F7_IN

Compound Symbols:

c13, c1, c, c4, c7, c14, c16, c1

(33) CdtNarrowingProof (BOTH BOUNDS(ID, ID) transformation)

Use narrowing to replace F9_IN(z0, z1) → c13(U6'(f15_in(z0, z1), z0, z1), F15_IN(z0, z1)) by

F9_IN(s(z0), z1) → c13(U6'(U4(f25_in(z0, z1), s(z0), z1), s(z0), z1), F15_IN(s(z0), z1))

(34) Obligation:

Complexity Dependency Tuples Problem
Rules:

f2_in(z0, s(z1)) → U1(f7_in(z0, z1), z0, s(z1))
U1(f7_out1(z0, z1), z2, s(z3)) → f2_out1(z1)
U1(f7_out3(z0), z1, s(z2)) → f2_out1(z0)
f25_in(z0, 0) → f25_out1(z0)
f25_in(s(z0), s(z1)) → U2(f25_in(z0, z1), s(z0), s(z1))
U2(f25_out1(z0), s(z1), s(z2)) → f25_out1(z0)
f59_in(z0, 0) → f59_out1
f59_in(s(z0), s(z1)) → U3(f59_in(z0, z1), s(z0), s(z1))
U3(f59_out1, s(z0), s(z1)) → f59_out1
f15_in(s(z0), z1) → U4(f25_in(z0, z1), s(z0), z1)
U4(f25_out1(z0), s(z1), z2) → f15_out1(z0)
f10_in(s(z0), z1) → U5(f59_in(z0, z1), s(z0), z1)
U5(f59_out1, s(z0), z1) → f10_out2(s(z0))
f9_in(z0, z1) → U6(f15_in(z0, z1), z0, z1)
U6(f15_out1(z0), z1, z2) → U7(f2_in(z0, s(z2)), z1, z2, z0)
U7(f2_out1(z0), z1, z2, z3) → f9_out1(z3, z0)
f7_in(z0, z1) → U8(f9_in(z0, z1), f10_in(z0, z1), z0, z1)
U8(f9_out1(z0, z1), z2, z3, z4) → f7_out1(z0, z1)
U8(z0, f10_out2(z1), z2, z3) → f7_out3(z1)
Tuples:

F15_IN(s(z0), z1) → c1(F25_IN(z0, z1))
F10_IN(s(z0), z1) → c1(F59_IN(z0, z1))
F2_IN(z0, s(z1)) → c(F7_IN(z0, z1))
F25_IN(s(z0), s(z1)) → c4(F25_IN(z0, z1))
F59_IN(s(z0), s(z1)) → c7(F59_IN(z0, z1))
U6'(f15_out1(z0), z1, z2) → c14(F2_IN(z0, s(z2)))
F7_IN(z0, z1) → c16(F9_IN(z0, z1), F10_IN(z0, z1))
F15_IN(s(z0), z1) → c1
F10_IN(s(z0), z1) → c1
F9_IN(s(z0), z1) → c13(U6'(U4(f25_in(z0, z1), s(z0), z1), s(z0), z1), F15_IN(s(z0), z1))
S tuples:

F25_IN(s(z0), s(z1)) → c4(F25_IN(z0, z1))
F59_IN(s(z0), s(z1)) → c7(F59_IN(z0, z1))
K tuples:

U6'(f15_out1(z0), z1, z2) → c14(F2_IN(z0, s(z2)))
F2_IN(z0, s(z1)) → c(F7_IN(z0, z1))
F7_IN(z0, z1) → c16(F9_IN(z0, z1), F10_IN(z0, z1))
F10_IN(s(z0), z1) → c1
F9_IN(z0, z1) → c13(U6'(f15_in(z0, z1), z0, z1), F15_IN(z0, z1))
F10_IN(s(z0), z1) → c1(F59_IN(z0, z1))
F15_IN(s(z0), z1) → c1(F25_IN(z0, z1))
F15_IN(s(z0), z1) → c1
Defined Rule Symbols:

f2_in, U1, f25_in, U2, f59_in, U3, f15_in, U4, f10_in, U5, f9_in, U6, U7, f7_in, U8

Defined Pair Symbols:

F15_IN, F10_IN, F2_IN, F25_IN, F59_IN, U6', F7_IN, F9_IN

Compound Symbols:

c1, c, c4, c7, c14, c16, c1, c13

(35) CdtGraphRemoveDanglingProof (BOTH BOUNDS(ID, ID) transformation)

Removed 1 of 10 dangling nodes:

F10_IN(s(z0), z1) → c1

(36) Obligation:

Complexity Dependency Tuples Problem
Rules:

f2_in(z0, s(z1)) → U1(f7_in(z0, z1), z0, s(z1))
U1(f7_out1(z0, z1), z2, s(z3)) → f2_out1(z1)
U1(f7_out3(z0), z1, s(z2)) → f2_out1(z0)
f25_in(z0, 0) → f25_out1(z0)
f25_in(s(z0), s(z1)) → U2(f25_in(z0, z1), s(z0), s(z1))
U2(f25_out1(z0), s(z1), s(z2)) → f25_out1(z0)
f59_in(z0, 0) → f59_out1
f59_in(s(z0), s(z1)) → U3(f59_in(z0, z1), s(z0), s(z1))
U3(f59_out1, s(z0), s(z1)) → f59_out1
f15_in(s(z0), z1) → U4(f25_in(z0, z1), s(z0), z1)
U4(f25_out1(z0), s(z1), z2) → f15_out1(z0)
f10_in(s(z0), z1) → U5(f59_in(z0, z1), s(z0), z1)
U5(f59_out1, s(z0), z1) → f10_out2(s(z0))
f9_in(z0, z1) → U6(f15_in(z0, z1), z0, z1)
U6(f15_out1(z0), z1, z2) → U7(f2_in(z0, s(z2)), z1, z2, z0)
U7(f2_out1(z0), z1, z2, z3) → f9_out1(z3, z0)
f7_in(z0, z1) → U8(f9_in(z0, z1), f10_in(z0, z1), z0, z1)
U8(f9_out1(z0, z1), z2, z3, z4) → f7_out1(z0, z1)
U8(z0, f10_out2(z1), z2, z3) → f7_out3(z1)
Tuples:

F15_IN(s(z0), z1) → c1(F25_IN(z0, z1))
F10_IN(s(z0), z1) → c1(F59_IN(z0, z1))
F2_IN(z0, s(z1)) → c(F7_IN(z0, z1))
F25_IN(s(z0), s(z1)) → c4(F25_IN(z0, z1))
F59_IN(s(z0), s(z1)) → c7(F59_IN(z0, z1))
U6'(f15_out1(z0), z1, z2) → c14(F2_IN(z0, s(z2)))
F7_IN(z0, z1) → c16(F9_IN(z0, z1), F10_IN(z0, z1))
F15_IN(s(z0), z1) → c1
F9_IN(s(z0), z1) → c13(U6'(U4(f25_in(z0, z1), s(z0), z1), s(z0), z1), F15_IN(s(z0), z1))
S tuples:

F25_IN(s(z0), s(z1)) → c4(F25_IN(z0, z1))
F59_IN(s(z0), s(z1)) → c7(F59_IN(z0, z1))
K tuples:

U6'(f15_out1(z0), z1, z2) → c14(F2_IN(z0, s(z2)))
F2_IN(z0, s(z1)) → c(F7_IN(z0, z1))
F7_IN(z0, z1) → c16(F9_IN(z0, z1), F10_IN(z0, z1))
F10_IN(s(z0), z1) → c1(F59_IN(z0, z1))
F15_IN(s(z0), z1) → c1(F25_IN(z0, z1))
F15_IN(s(z0), z1) → c1
Defined Rule Symbols:

f2_in, U1, f25_in, U2, f59_in, U3, f15_in, U4, f10_in, U5, f9_in, U6, U7, f7_in, U8

Defined Pair Symbols:

F15_IN, F10_IN, F2_IN, F25_IN, F59_IN, U6', F7_IN, F9_IN

Compound Symbols:

c1, c, c4, c7, c14, c16, c1, c13

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

Split RHS of tuples not part of any SCC

(38) Obligation:

Complexity Dependency Tuples Problem
Rules:

f2_in(z0, s(z1)) → U1(f7_in(z0, z1), z0, s(z1))
U1(f7_out1(z0, z1), z2, s(z3)) → f2_out1(z1)
U1(f7_out3(z0), z1, s(z2)) → f2_out1(z0)
f25_in(z0, 0) → f25_out1(z0)
f25_in(s(z0), s(z1)) → U2(f25_in(z0, z1), s(z0), s(z1))
U2(f25_out1(z0), s(z1), s(z2)) → f25_out1(z0)
f59_in(z0, 0) → f59_out1
f59_in(s(z0), s(z1)) → U3(f59_in(z0, z1), s(z0), s(z1))
U3(f59_out1, s(z0), s(z1)) → f59_out1
f15_in(s(z0), z1) → U4(f25_in(z0, z1), s(z0), z1)
U4(f25_out1(z0), s(z1), z2) → f15_out1(z0)
f10_in(s(z0), z1) → U5(f59_in(z0, z1), s(z0), z1)
U5(f59_out1, s(z0), z1) → f10_out2(s(z0))
f9_in(z0, z1) → U6(f15_in(z0, z1), z0, z1)
U6(f15_out1(z0), z1, z2) → U7(f2_in(z0, s(z2)), z1, z2, z0)
U7(f2_out1(z0), z1, z2, z3) → f9_out1(z3, z0)
f7_in(z0, z1) → U8(f9_in(z0, z1), f10_in(z0, z1), z0, z1)
U8(f9_out1(z0, z1), z2, z3, z4) → f7_out1(z0, z1)
U8(z0, f10_out2(z1), z2, z3) → f7_out3(z1)
Tuples:

F15_IN(s(z0), z1) → c1(F25_IN(z0, z1))
F10_IN(s(z0), z1) → c1(F59_IN(z0, z1))
F2_IN(z0, s(z1)) → c(F7_IN(z0, z1))
F25_IN(s(z0), s(z1)) → c4(F25_IN(z0, z1))
F59_IN(s(z0), s(z1)) → c7(F59_IN(z0, z1))
U6'(f15_out1(z0), z1, z2) → c14(F2_IN(z0, s(z2)))
F7_IN(z0, z1) → c16(F9_IN(z0, z1), F10_IN(z0, z1))
F9_IN(s(z0), z1) → c13(U6'(U4(f25_in(z0, z1), s(z0), z1), s(z0), z1), F15_IN(s(z0), z1))
S tuples:

F25_IN(s(z0), s(z1)) → c4(F25_IN(z0, z1))
F59_IN(s(z0), s(z1)) → c7(F59_IN(z0, z1))
K tuples:

U6'(f15_out1(z0), z1, z2) → c14(F2_IN(z0, s(z2)))
F2_IN(z0, s(z1)) → c(F7_IN(z0, z1))
F7_IN(z0, z1) → c16(F9_IN(z0, z1), F10_IN(z0, z1))
F10_IN(s(z0), z1) → c1(F59_IN(z0, z1))
F15_IN(s(z0), z1) → c1(F25_IN(z0, z1))
Defined Rule Symbols:

f2_in, U1, f25_in, U2, f59_in, U3, f15_in, U4, f10_in, U5, f9_in, U6, U7, f7_in, U8

Defined Pair Symbols:

F15_IN, F10_IN, F2_IN, F25_IN, F59_IN, U6', F7_IN, F9_IN

Compound Symbols:

c1, c, c4, c7, c14, c16, c13