(0) Obligation:

Clauses:

half(0, 0).
half(s(0), 0).
half(s(s(X)), s(Y)) :- half(X, Y).
log(0, s(0)).
log(s(X), s(Y)) :- ','(half(s(X), Z), log(Z, Y)).

Query: log(g,a)

(1) LPReorderTransformerProof (EQUIVALENT transformation)

Reordered facts before rules in definite LP [PROLOG].

(2) Obligation:

Clauses:

half(0, 0).
half(s(0), 0).
log(0, s(0)).
half(s(s(X)), s(Y)) :- half(X, Y).
log(s(X), s(Y)) :- ','(half(s(X), Z), log(Z, Y)).

Query: log(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(0) → f1_out1(s(0))
f1_in(s(z0)) → U1(f13_in(z0), s(z0))
U1(f13_out1(z0, z1), s(z2)) → f1_out1(s(z1))
f39_in(0) → f39_out1(0)
f39_in(s(0)) → f39_out1(0)
f39_in(s(s(z0))) → U2(f39_in(z0), s(s(z0)))
U2(f39_out1(z0), s(s(z1))) → f39_out1(s(z0))
f21_in(0) → f21_out1(0)
f21_in(s(z0)) → U3(f39_in(z0), s(z0))
U3(f39_out1(z0), s(z1)) → f21_out1(s(z0))
f13_in(z0) → U4(f21_in(z0), z0)
U4(f21_out1(z0), z1) → U5(f1_in(z0), z1, z0)
U5(f1_out1(z0), z1, z2) → f13_out1(z2, z0)
Tuples:

F1_IN(s(z0)) → c1(U1'(f13_in(z0), s(z0)), F13_IN(z0))
F39_IN(s(s(z0))) → c5(U2'(f39_in(z0), s(s(z0))), F39_IN(z0))
F21_IN(s(z0)) → c8(U3'(f39_in(z0), s(z0)), F39_IN(z0))
F13_IN(z0) → c10(U4'(f21_in(z0), z0), F21_IN(z0))
U4'(f21_out1(z0), z1) → c11(U5'(f1_in(z0), z1, z0), F1_IN(z0))
S tuples:

F1_IN(s(z0)) → c1(U1'(f13_in(z0), s(z0)), F13_IN(z0))
F39_IN(s(s(z0))) → c5(U2'(f39_in(z0), s(s(z0))), F39_IN(z0))
F21_IN(s(z0)) → c8(U3'(f39_in(z0), s(z0)), F39_IN(z0))
F13_IN(z0) → c10(U4'(f21_in(z0), z0), F21_IN(z0))
U4'(f21_out1(z0), z1) → c11(U5'(f1_in(z0), z1, z0), F1_IN(z0))
K tuples:none
Defined Rule Symbols:

f1_in, U1, f39_in, U2, f21_in, U3, f13_in, U4, U5

Defined Pair Symbols:

F1_IN, F39_IN, F21_IN, F13_IN, U4'

Compound Symbols:

c1, c5, c8, c10, c11

(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(0) → f1_out1(s(0))
f1_in(s(z0)) → U1(f13_in(z0), s(z0))
U1(f13_out1(z0, z1), s(z2)) → f1_out1(s(z1))
f39_in(0) → f39_out1(0)
f39_in(s(0)) → f39_out1(0)
f39_in(s(s(z0))) → U2(f39_in(z0), s(s(z0)))
U2(f39_out1(z0), s(s(z1))) → f39_out1(s(z0))
f21_in(0) → f21_out1(0)
f21_in(s(z0)) → U3(f39_in(z0), s(z0))
U3(f39_out1(z0), s(z1)) → f21_out1(s(z0))
f13_in(z0) → U4(f21_in(z0), z0)
U4(f21_out1(z0), z1) → U5(f1_in(z0), z1, z0)
U5(f1_out1(z0), z1, z2) → f13_out1(z2, z0)
Tuples:

F1_IN(s(z0)) → c1(U1'(f13_in(z0), s(z0)), F13_IN(z0))
F39_IN(s(s(z0))) → c5(U2'(f39_in(z0), s(s(z0))), F39_IN(z0))
F13_IN(z0) → c10(U4'(f21_in(z0), z0), F21_IN(z0))
U4'(f21_out1(z0), z1) → c11(U5'(f1_in(z0), z1, z0), F1_IN(z0))
F21_IN(s(z0)) → c(U3'(f39_in(z0), s(z0)))
F21_IN(s(z0)) → c(F39_IN(z0))
S tuples:

F1_IN(s(z0)) → c1(U1'(f13_in(z0), s(z0)), F13_IN(z0))
F39_IN(s(s(z0))) → c5(U2'(f39_in(z0), s(s(z0))), F39_IN(z0))
F13_IN(z0) → c10(U4'(f21_in(z0), z0), F21_IN(z0))
U4'(f21_out1(z0), z1) → c11(U5'(f1_in(z0), z1, z0), F1_IN(z0))
F21_IN(s(z0)) → c(U3'(f39_in(z0), s(z0)))
F21_IN(s(z0)) → c(F39_IN(z0))
K tuples:none
Defined Rule Symbols:

f1_in, U1, f39_in, U2, f21_in, U3, f13_in, U4, U5

Defined Pair Symbols:

F1_IN, F39_IN, F13_IN, U4', F21_IN

Compound Symbols:

c1, c5, c10, c11, c

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

Removed 4 trailing tuple parts

(8) Obligation:

Complexity Dependency Tuples Problem
Rules:

f1_in(0) → f1_out1(s(0))
f1_in(s(z0)) → U1(f13_in(z0), s(z0))
U1(f13_out1(z0, z1), s(z2)) → f1_out1(s(z1))
f39_in(0) → f39_out1(0)
f39_in(s(0)) → f39_out1(0)
f39_in(s(s(z0))) → U2(f39_in(z0), s(s(z0)))
U2(f39_out1(z0), s(s(z1))) → f39_out1(s(z0))
f21_in(0) → f21_out1(0)
f21_in(s(z0)) → U3(f39_in(z0), s(z0))
U3(f39_out1(z0), s(z1)) → f21_out1(s(z0))
f13_in(z0) → U4(f21_in(z0), z0)
U4(f21_out1(z0), z1) → U5(f1_in(z0), z1, z0)
U5(f1_out1(z0), z1, z2) → f13_out1(z2, z0)
Tuples:

F13_IN(z0) → c10(U4'(f21_in(z0), z0), F21_IN(z0))
F21_IN(s(z0)) → c(F39_IN(z0))
F1_IN(s(z0)) → c1(F13_IN(z0))
F39_IN(s(s(z0))) → c5(F39_IN(z0))
U4'(f21_out1(z0), z1) → c11(F1_IN(z0))
F21_IN(s(z0)) → c
S tuples:

F13_IN(z0) → c10(U4'(f21_in(z0), z0), F21_IN(z0))
F21_IN(s(z0)) → c(F39_IN(z0))
F1_IN(s(z0)) → c1(F13_IN(z0))
F39_IN(s(s(z0))) → c5(F39_IN(z0))
U4'(f21_out1(z0), z1) → c11(F1_IN(z0))
F21_IN(s(z0)) → c
K tuples:none
Defined Rule Symbols:

f1_in, U1, f39_in, U2, f21_in, U3, f13_in, U4, U5

Defined Pair Symbols:

F13_IN, F21_IN, F1_IN, F39_IN, U4'

Compound Symbols:

c10, c, c1, c5, c11, c

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

F1_IN(s(z0)) → c1(F13_IN(z0))
We considered the (Usable) Rules:

f21_in(0) → f21_out1(0)
f21_in(s(z0)) → U3(f39_in(z0), s(z0))
f39_in(0) → f39_out1(0)
f39_in(s(0)) → f39_out1(0)
f39_in(s(s(z0))) → U2(f39_in(z0), s(s(z0)))
U3(f39_out1(z0), s(z1)) → f21_out1(s(z0))
U2(f39_out1(z0), s(s(z1))) → f39_out1(s(z0))
And the Tuples:

F13_IN(z0) → c10(U4'(f21_in(z0), z0), F21_IN(z0))
F21_IN(s(z0)) → c(F39_IN(z0))
F1_IN(s(z0)) → c1(F13_IN(z0))
F39_IN(s(s(z0))) → c5(F39_IN(z0))
U4'(f21_out1(z0), z1) → c11(F1_IN(z0))
F21_IN(s(z0)) → c
The order we found is given by the following interpretation:
Polynomial interpretation :

POL(0) = 0   
POL(F13_IN(x1)) = x1   
POL(F1_IN(x1)) = x1   
POL(F21_IN(x1)) = 0   
POL(F39_IN(x1)) = 0   
POL(U2(x1, x2)) = [1] + x1   
POL(U3(x1, x2)) = [1] + x1   
POL(U4'(x1, x2)) = x1   
POL(c) = 0   
POL(c(x1)) = x1   
POL(c1(x1)) = x1   
POL(c10(x1, x2)) = x1 + x2   
POL(c11(x1)) = x1   
POL(c5(x1)) = x1   
POL(f21_in(x1)) = x1   
POL(f21_out1(x1)) = x1   
POL(f39_in(x1)) = x1   
POL(f39_out1(x1)) = x1   
POL(s(x1)) = [1] + x1   

(10) Obligation:

Complexity Dependency Tuples Problem
Rules:

f1_in(0) → f1_out1(s(0))
f1_in(s(z0)) → U1(f13_in(z0), s(z0))
U1(f13_out1(z0, z1), s(z2)) → f1_out1(s(z1))
f39_in(0) → f39_out1(0)
f39_in(s(0)) → f39_out1(0)
f39_in(s(s(z0))) → U2(f39_in(z0), s(s(z0)))
U2(f39_out1(z0), s(s(z1))) → f39_out1(s(z0))
f21_in(0) → f21_out1(0)
f21_in(s(z0)) → U3(f39_in(z0), s(z0))
U3(f39_out1(z0), s(z1)) → f21_out1(s(z0))
f13_in(z0) → U4(f21_in(z0), z0)
U4(f21_out1(z0), z1) → U5(f1_in(z0), z1, z0)
U5(f1_out1(z0), z1, z2) → f13_out1(z2, z0)
Tuples:

F13_IN(z0) → c10(U4'(f21_in(z0), z0), F21_IN(z0))
F21_IN(s(z0)) → c(F39_IN(z0))
F1_IN(s(z0)) → c1(F13_IN(z0))
F39_IN(s(s(z0))) → c5(F39_IN(z0))
U4'(f21_out1(z0), z1) → c11(F1_IN(z0))
F21_IN(s(z0)) → c
S tuples:

F13_IN(z0) → c10(U4'(f21_in(z0), z0), F21_IN(z0))
F21_IN(s(z0)) → c(F39_IN(z0))
F39_IN(s(s(z0))) → c5(F39_IN(z0))
U4'(f21_out1(z0), z1) → c11(F1_IN(z0))
F21_IN(s(z0)) → c
K tuples:

F1_IN(s(z0)) → c1(F13_IN(z0))
Defined Rule Symbols:

f1_in, U1, f39_in, U2, f21_in, U3, f13_in, U4, U5

Defined Pair Symbols:

F13_IN, F21_IN, F1_IN, F39_IN, U4'

Compound Symbols:

c10, c, c1, c5, c11, c

(11) CdtKnowledgeProof (EQUIVALENT transformation)

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

F13_IN(z0) → c10(U4'(f21_in(z0), z0), F21_IN(z0))
F21_IN(s(z0)) → c(F39_IN(z0))
U4'(f21_out1(z0), z1) → c11(F1_IN(z0))
F21_IN(s(z0)) → c
F21_IN(s(z0)) → c(F39_IN(z0))
U4'(f21_out1(z0), z1) → c11(F1_IN(z0))
F21_IN(s(z0)) → c
F1_IN(s(z0)) → c1(F13_IN(z0))

(12) Obligation:

Complexity Dependency Tuples Problem
Rules:

f1_in(0) → f1_out1(s(0))
f1_in(s(z0)) → U1(f13_in(z0), s(z0))
U1(f13_out1(z0, z1), s(z2)) → f1_out1(s(z1))
f39_in(0) → f39_out1(0)
f39_in(s(0)) → f39_out1(0)
f39_in(s(s(z0))) → U2(f39_in(z0), s(s(z0)))
U2(f39_out1(z0), s(s(z1))) → f39_out1(s(z0))
f21_in(0) → f21_out1(0)
f21_in(s(z0)) → U3(f39_in(z0), s(z0))
U3(f39_out1(z0), s(z1)) → f21_out1(s(z0))
f13_in(z0) → U4(f21_in(z0), z0)
U4(f21_out1(z0), z1) → U5(f1_in(z0), z1, z0)
U5(f1_out1(z0), z1, z2) → f13_out1(z2, z0)
Tuples:

F13_IN(z0) → c10(U4'(f21_in(z0), z0), F21_IN(z0))
F21_IN(s(z0)) → c(F39_IN(z0))
F1_IN(s(z0)) → c1(F13_IN(z0))
F39_IN(s(s(z0))) → c5(F39_IN(z0))
U4'(f21_out1(z0), z1) → c11(F1_IN(z0))
F21_IN(s(z0)) → c
S tuples:

F39_IN(s(s(z0))) → c5(F39_IN(z0))
K tuples:

F1_IN(s(z0)) → c1(F13_IN(z0))
F13_IN(z0) → c10(U4'(f21_in(z0), z0), F21_IN(z0))
F21_IN(s(z0)) → c(F39_IN(z0))
U4'(f21_out1(z0), z1) → c11(F1_IN(z0))
F21_IN(s(z0)) → c
Defined Rule Symbols:

f1_in, U1, f39_in, U2, f21_in, U3, f13_in, U4, U5

Defined Pair Symbols:

F13_IN, F21_IN, F1_IN, F39_IN, U4'

Compound Symbols:

c10, c, c1, c5, c11, c

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

F39_IN(s(s(z0))) → c5(F39_IN(z0))
We considered the (Usable) Rules:

f21_in(0) → f21_out1(0)
f21_in(s(z0)) → U3(f39_in(z0), s(z0))
f39_in(0) → f39_out1(0)
f39_in(s(0)) → f39_out1(0)
f39_in(s(s(z0))) → U2(f39_in(z0), s(s(z0)))
U3(f39_out1(z0), s(z1)) → f21_out1(s(z0))
U2(f39_out1(z0), s(s(z1))) → f39_out1(s(z0))
And the Tuples:

F13_IN(z0) → c10(U4'(f21_in(z0), z0), F21_IN(z0))
F21_IN(s(z0)) → c(F39_IN(z0))
F1_IN(s(z0)) → c1(F13_IN(z0))
F39_IN(s(s(z0))) → c5(F39_IN(z0))
U4'(f21_out1(z0), z1) → c11(F1_IN(z0))
F21_IN(s(z0)) → c
The order we found is given by the following interpretation:
Polynomial interpretation :

POL(0) = 0   
POL(F13_IN(x1)) = [1] + x1 + x12   
POL(F1_IN(x1)) = [1] + x12   
POL(F21_IN(x1)) = x1   
POL(F39_IN(x1)) = x1   
POL(U2(x1, x2)) = [1] + x1   
POL(U3(x1, x2)) = [1] + x1   
POL(U4'(x1, x2)) = [1] + x12   
POL(c) = 0   
POL(c(x1)) = x1   
POL(c1(x1)) = x1   
POL(c10(x1, x2)) = x1 + x2   
POL(c11(x1)) = x1   
POL(c5(x1)) = x1   
POL(f21_in(x1)) = x1   
POL(f21_out1(x1)) = x1   
POL(f39_in(x1)) = x1   
POL(f39_out1(x1)) = x1   
POL(s(x1)) = [1] + x1   

(14) Obligation:

Complexity Dependency Tuples Problem
Rules:

f1_in(0) → f1_out1(s(0))
f1_in(s(z0)) → U1(f13_in(z0), s(z0))
U1(f13_out1(z0, z1), s(z2)) → f1_out1(s(z1))
f39_in(0) → f39_out1(0)
f39_in(s(0)) → f39_out1(0)
f39_in(s(s(z0))) → U2(f39_in(z0), s(s(z0)))
U2(f39_out1(z0), s(s(z1))) → f39_out1(s(z0))
f21_in(0) → f21_out1(0)
f21_in(s(z0)) → U3(f39_in(z0), s(z0))
U3(f39_out1(z0), s(z1)) → f21_out1(s(z0))
f13_in(z0) → U4(f21_in(z0), z0)
U4(f21_out1(z0), z1) → U5(f1_in(z0), z1, z0)
U5(f1_out1(z0), z1, z2) → f13_out1(z2, z0)
Tuples:

F13_IN(z0) → c10(U4'(f21_in(z0), z0), F21_IN(z0))
F21_IN(s(z0)) → c(F39_IN(z0))
F1_IN(s(z0)) → c1(F13_IN(z0))
F39_IN(s(s(z0))) → c5(F39_IN(z0))
U4'(f21_out1(z0), z1) → c11(F1_IN(z0))
F21_IN(s(z0)) → c
S tuples:none
K tuples:

F1_IN(s(z0)) → c1(F13_IN(z0))
F13_IN(z0) → c10(U4'(f21_in(z0), z0), F21_IN(z0))
F21_IN(s(z0)) → c(F39_IN(z0))
U4'(f21_out1(z0), z1) → c11(F1_IN(z0))
F21_IN(s(z0)) → c
F39_IN(s(s(z0))) → c5(F39_IN(z0))
Defined Rule Symbols:

f1_in, U1, f39_in, U2, f21_in, U3, f13_in, U4, U5

Defined Pair Symbols:

F13_IN, F21_IN, F1_IN, F39_IN, U4'

Compound Symbols:

c10, c, c1, c5, c11, c

(15) SIsEmptyProof (EQUIVALENT transformation)

The set S is empty

(16) BOUNDS(O(1), O(1))

(17) PrologToCdtProblemTransformerProof (UPPER BOUND (ID) transformation)

Built complexity over-approximating cdt problems from derivation graph.

(18) Obligation:

Complexity Dependency Tuples Problem
Rules:

f2_in(0) → f2_out1(s(0))
f2_in(s(0)) → U1(f19_in, s(0))
f2_in(s(s(z0))) → U2(f38_in(z0), s(s(z0)))
U1(f19_out1(z0), s(0)) → f2_out1(s(z0))
U1(f19_out2(z0, z1), s(0)) → f2_out1(s(z1))
U2(f38_out1(z0, z1), s(s(z2))) → f2_out1(s(z1))
f42_in(0) → f42_out1(0)
f42_in(s(0)) → f42_out1(0)
f42_in(s(s(z0))) → U3(f42_in(z0), s(s(z0)))
U3(f42_out1(z0), s(s(z1))) → f42_out1(s(z0))
f23_inf23_out1(s(0))
f38_in(z0) → U4(f42_in(z0), z0)
U4(f42_out1(z0), z1) → U5(f2_in(s(z0)), z1, z0)
U5(f2_out1(z0), z1, z2) → f38_out1(z2, z0)
f19_inU6(f23_in, f24_in)
U6(f23_out1(z0), z1) → f19_out1(z0)
U6(z0, f24_out1(z1, z2)) → f19_out2(z1, z2)
Tuples:

F2_IN(s(0)) → c1(U1'(f19_in, s(0)), F19_IN)
F2_IN(s(s(z0))) → c2(U2'(f38_in(z0), s(s(z0))), F38_IN(z0))
F42_IN(s(s(z0))) → c8(U3'(f42_in(z0), s(s(z0))), F42_IN(z0))
F38_IN(z0) → c11(U4'(f42_in(z0), z0), F42_IN(z0))
U4'(f42_out1(z0), z1) → c12(U5'(f2_in(s(z0)), z1, z0), F2_IN(s(z0)))
F19_INc14(U6'(f23_in, f24_in), F23_IN)
S tuples:

F2_IN(s(0)) → c1(U1'(f19_in, s(0)), F19_IN)
F2_IN(s(s(z0))) → c2(U2'(f38_in(z0), s(s(z0))), F38_IN(z0))
F42_IN(s(s(z0))) → c8(U3'(f42_in(z0), s(s(z0))), F42_IN(z0))
F38_IN(z0) → c11(U4'(f42_in(z0), z0), F42_IN(z0))
U4'(f42_out1(z0), z1) → c12(U5'(f2_in(s(z0)), z1, z0), F2_IN(s(z0)))
F19_INc14(U6'(f23_in, f24_in), F23_IN)
K tuples:none
Defined Rule Symbols:

f2_in, U1, U2, f42_in, U3, f23_in, f38_in, U4, U5, f19_in, U6

Defined Pair Symbols:

F2_IN, F42_IN, F38_IN, U4', F19_IN

Compound Symbols:

c1, c2, c8, c11, c12, c14

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

Split RHS of tuples not part of any SCC

(20) Obligation:

Complexity Dependency Tuples Problem
Rules:

f2_in(0) → f2_out1(s(0))
f2_in(s(0)) → U1(f19_in, s(0))
f2_in(s(s(z0))) → U2(f38_in(z0), s(s(z0)))
U1(f19_out1(z0), s(0)) → f2_out1(s(z0))
U1(f19_out2(z0, z1), s(0)) → f2_out1(s(z1))
U2(f38_out1(z0, z1), s(s(z2))) → f2_out1(s(z1))
f42_in(0) → f42_out1(0)
f42_in(s(0)) → f42_out1(0)
f42_in(s(s(z0))) → U3(f42_in(z0), s(s(z0)))
U3(f42_out1(z0), s(s(z1))) → f42_out1(s(z0))
f23_inf23_out1(s(0))
f38_in(z0) → U4(f42_in(z0), z0)
U4(f42_out1(z0), z1) → U5(f2_in(s(z0)), z1, z0)
U5(f2_out1(z0), z1, z2) → f38_out1(z2, z0)
f19_inU6(f23_in, f24_in)
U6(f23_out1(z0), z1) → f19_out1(z0)
U6(z0, f24_out1(z1, z2)) → f19_out2(z1, z2)
Tuples:

F2_IN(s(s(z0))) → c2(U2'(f38_in(z0), s(s(z0))), F38_IN(z0))
F42_IN(s(s(z0))) → c8(U3'(f42_in(z0), s(s(z0))), F42_IN(z0))
F38_IN(z0) → c11(U4'(f42_in(z0), z0), F42_IN(z0))
U4'(f42_out1(z0), z1) → c12(U5'(f2_in(s(z0)), z1, z0), F2_IN(s(z0)))
F2_IN(s(0)) → c(U1'(f19_in, s(0)))
F2_IN(s(0)) → c(F19_IN)
F19_INc(U6'(f23_in, f24_in))
F19_INc(F23_IN)
S tuples:

F2_IN(s(s(z0))) → c2(U2'(f38_in(z0), s(s(z0))), F38_IN(z0))
F42_IN(s(s(z0))) → c8(U3'(f42_in(z0), s(s(z0))), F42_IN(z0))
F38_IN(z0) → c11(U4'(f42_in(z0), z0), F42_IN(z0))
U4'(f42_out1(z0), z1) → c12(U5'(f2_in(s(z0)), z1, z0), F2_IN(s(z0)))
F2_IN(s(0)) → c(U1'(f19_in, s(0)))
F2_IN(s(0)) → c(F19_IN)
F19_INc(U6'(f23_in, f24_in))
F19_INc(F23_IN)
K tuples:none
Defined Rule Symbols:

f2_in, U1, U2, f42_in, U3, f23_in, f38_in, U4, U5, f19_in, U6

Defined Pair Symbols:

F2_IN, F42_IN, F38_IN, U4', F19_IN

Compound Symbols:

c2, c8, c11, c12, c

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

Removed 6 trailing tuple parts

(22) Obligation:

Complexity Dependency Tuples Problem
Rules:

f2_in(0) → f2_out1(s(0))
f2_in(s(0)) → U1(f19_in, s(0))
f2_in(s(s(z0))) → U2(f38_in(z0), s(s(z0)))
U1(f19_out1(z0), s(0)) → f2_out1(s(z0))
U1(f19_out2(z0, z1), s(0)) → f2_out1(s(z1))
U2(f38_out1(z0, z1), s(s(z2))) → f2_out1(s(z1))
f42_in(0) → f42_out1(0)
f42_in(s(0)) → f42_out1(0)
f42_in(s(s(z0))) → U3(f42_in(z0), s(s(z0)))
U3(f42_out1(z0), s(s(z1))) → f42_out1(s(z0))
f23_inf23_out1(s(0))
f38_in(z0) → U4(f42_in(z0), z0)
U4(f42_out1(z0), z1) → U5(f2_in(s(z0)), z1, z0)
U5(f2_out1(z0), z1, z2) → f38_out1(z2, z0)
f19_inU6(f23_in, f24_in)
U6(f23_out1(z0), z1) → f19_out1(z0)
U6(z0, f24_out1(z1, z2)) → f19_out2(z1, z2)
Tuples:

F38_IN(z0) → c11(U4'(f42_in(z0), z0), F42_IN(z0))
F2_IN(s(0)) → c(F19_IN)
F2_IN(s(s(z0))) → c2(F38_IN(z0))
F42_IN(s(s(z0))) → c8(F42_IN(z0))
U4'(f42_out1(z0), z1) → c12(F2_IN(s(z0)))
F2_IN(s(0)) → c
F19_INc
S tuples:

F38_IN(z0) → c11(U4'(f42_in(z0), z0), F42_IN(z0))
F2_IN(s(0)) → c(F19_IN)
F2_IN(s(s(z0))) → c2(F38_IN(z0))
F42_IN(s(s(z0))) → c8(F42_IN(z0))
U4'(f42_out1(z0), z1) → c12(F2_IN(s(z0)))
F2_IN(s(0)) → c
F19_INc
K tuples:none
Defined Rule Symbols:

f2_in, U1, U2, f42_in, U3, f23_in, f38_in, U4, U5, f19_in, U6

Defined Pair Symbols:

F38_IN, F2_IN, F42_IN, U4', F19_IN

Compound Symbols:

c11, c, c2, c8, c12, c

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

F2_IN(s(0)) → c
F19_INc
We considered the (Usable) Rules:

f42_in(0) → f42_out1(0)
f42_in(s(0)) → f42_out1(0)
f42_in(s(s(z0))) → U3(f42_in(z0), s(s(z0)))
U3(f42_out1(z0), s(s(z1))) → f42_out1(s(z0))
And the Tuples:

F38_IN(z0) → c11(U4'(f42_in(z0), z0), F42_IN(z0))
F2_IN(s(0)) → c(F19_IN)
F2_IN(s(s(z0))) → c2(F38_IN(z0))
F42_IN(s(s(z0))) → c8(F42_IN(z0))
U4'(f42_out1(z0), z1) → c12(F2_IN(s(z0)))
F2_IN(s(0)) → c
F19_INc
The order we found is given by the following interpretation:
Polynomial interpretation :

POL(0) = 0   
POL(F19_IN) = [1]   
POL(F2_IN(x1)) = [1]   
POL(F38_IN(x1)) = [1]   
POL(F42_IN(x1)) = 0   
POL(U3(x1, x2)) = 0   
POL(U4'(x1, x2)) = [1]   
POL(c) = 0   
POL(c(x1)) = x1   
POL(c11(x1, x2)) = x1 + x2   
POL(c12(x1)) = x1   
POL(c2(x1)) = x1   
POL(c8(x1)) = x1   
POL(f42_in(x1)) = 0   
POL(f42_out1(x1)) = 0   
POL(s(x1)) = 0   

(24) Obligation:

Complexity Dependency Tuples Problem
Rules:

f2_in(0) → f2_out1(s(0))
f2_in(s(0)) → U1(f19_in, s(0))
f2_in(s(s(z0))) → U2(f38_in(z0), s(s(z0)))
U1(f19_out1(z0), s(0)) → f2_out1(s(z0))
U1(f19_out2(z0, z1), s(0)) → f2_out1(s(z1))
U2(f38_out1(z0, z1), s(s(z2))) → f2_out1(s(z1))
f42_in(0) → f42_out1(0)
f42_in(s(0)) → f42_out1(0)
f42_in(s(s(z0))) → U3(f42_in(z0), s(s(z0)))
U3(f42_out1(z0), s(s(z1))) → f42_out1(s(z0))
f23_inf23_out1(s(0))
f38_in(z0) → U4(f42_in(z0), z0)
U4(f42_out1(z0), z1) → U5(f2_in(s(z0)), z1, z0)
U5(f2_out1(z0), z1, z2) → f38_out1(z2, z0)
f19_inU6(f23_in, f24_in)
U6(f23_out1(z0), z1) → f19_out1(z0)
U6(z0, f24_out1(z1, z2)) → f19_out2(z1, z2)
Tuples:

F38_IN(z0) → c11(U4'(f42_in(z0), z0), F42_IN(z0))
F2_IN(s(0)) → c(F19_IN)
F2_IN(s(s(z0))) → c2(F38_IN(z0))
F42_IN(s(s(z0))) → c8(F42_IN(z0))
U4'(f42_out1(z0), z1) → c12(F2_IN(s(z0)))
F2_IN(s(0)) → c
F19_INc
S tuples:

F38_IN(z0) → c11(U4'(f42_in(z0), z0), F42_IN(z0))
F2_IN(s(0)) → c(F19_IN)
F2_IN(s(s(z0))) → c2(F38_IN(z0))
F42_IN(s(s(z0))) → c8(F42_IN(z0))
U4'(f42_out1(z0), z1) → c12(F2_IN(s(z0)))
K tuples:

F2_IN(s(0)) → c
F19_INc
Defined Rule Symbols:

f2_in, U1, U2, f42_in, U3, f23_in, f38_in, U4, U5, f19_in, U6

Defined Pair Symbols:

F38_IN, F2_IN, F42_IN, U4', F19_IN

Compound Symbols:

c11, c, c2, c8, c12, c

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

F2_IN(s(0)) → c(F19_IN)
We considered the (Usable) Rules:

f42_in(0) → f42_out1(0)
f42_in(s(0)) → f42_out1(0)
f42_in(s(s(z0))) → U3(f42_in(z0), s(s(z0)))
U3(f42_out1(z0), s(s(z1))) → f42_out1(s(z0))
And the Tuples:

F38_IN(z0) → c11(U4'(f42_in(z0), z0), F42_IN(z0))
F2_IN(s(0)) → c(F19_IN)
F2_IN(s(s(z0))) → c2(F38_IN(z0))
F42_IN(s(s(z0))) → c8(F42_IN(z0))
U4'(f42_out1(z0), z1) → c12(F2_IN(s(z0)))
F2_IN(s(0)) → c
F19_INc
The order we found is given by the following interpretation:
Polynomial interpretation :

POL(0) = 0   
POL(F19_IN) = 0   
POL(F2_IN(x1)) = [1]   
POL(F38_IN(x1)) = [1]   
POL(F42_IN(x1)) = 0   
POL(U3(x1, x2)) = 0   
POL(U4'(x1, x2)) = [1]   
POL(c) = 0   
POL(c(x1)) = x1   
POL(c11(x1, x2)) = x1 + x2   
POL(c12(x1)) = x1   
POL(c2(x1)) = x1   
POL(c8(x1)) = x1   
POL(f42_in(x1)) = 0   
POL(f42_out1(x1)) = 0   
POL(s(x1)) = 0   

(26) Obligation:

Complexity Dependency Tuples Problem
Rules:

f2_in(0) → f2_out1(s(0))
f2_in(s(0)) → U1(f19_in, s(0))
f2_in(s(s(z0))) → U2(f38_in(z0), s(s(z0)))
U1(f19_out1(z0), s(0)) → f2_out1(s(z0))
U1(f19_out2(z0, z1), s(0)) → f2_out1(s(z1))
U2(f38_out1(z0, z1), s(s(z2))) → f2_out1(s(z1))
f42_in(0) → f42_out1(0)
f42_in(s(0)) → f42_out1(0)
f42_in(s(s(z0))) → U3(f42_in(z0), s(s(z0)))
U3(f42_out1(z0), s(s(z1))) → f42_out1(s(z0))
f23_inf23_out1(s(0))
f38_in(z0) → U4(f42_in(z0), z0)
U4(f42_out1(z0), z1) → U5(f2_in(s(z0)), z1, z0)
U5(f2_out1(z0), z1, z2) → f38_out1(z2, z0)
f19_inU6(f23_in, f24_in)
U6(f23_out1(z0), z1) → f19_out1(z0)
U6(z0, f24_out1(z1, z2)) → f19_out2(z1, z2)
Tuples:

F38_IN(z0) → c11(U4'(f42_in(z0), z0), F42_IN(z0))
F2_IN(s(0)) → c(F19_IN)
F2_IN(s(s(z0))) → c2(F38_IN(z0))
F42_IN(s(s(z0))) → c8(F42_IN(z0))
U4'(f42_out1(z0), z1) → c12(F2_IN(s(z0)))
F2_IN(s(0)) → c
F19_INc
S tuples:

F38_IN(z0) → c11(U4'(f42_in(z0), z0), F42_IN(z0))
F2_IN(s(s(z0))) → c2(F38_IN(z0))
F42_IN(s(s(z0))) → c8(F42_IN(z0))
U4'(f42_out1(z0), z1) → c12(F2_IN(s(z0)))
K tuples:

F2_IN(s(0)) → c
F19_INc
F2_IN(s(0)) → c(F19_IN)
Defined Rule Symbols:

f2_in, U1, U2, f42_in, U3, f23_in, f38_in, U4, U5, f19_in, U6

Defined Pair Symbols:

F38_IN, F2_IN, F42_IN, U4', F19_IN

Compound Symbols:

c11, c, c2, c8, c12, c

(27) CdtPolyRedPairProof (UPPER BOUND (ADD(O(n^1))) transformation)

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

F2_IN(s(s(z0))) → c2(F38_IN(z0))
We considered the (Usable) Rules:

f42_in(0) → f42_out1(0)
f42_in(s(0)) → f42_out1(0)
f42_in(s(s(z0))) → U3(f42_in(z0), s(s(z0)))
U3(f42_out1(z0), s(s(z1))) → f42_out1(s(z0))
And the Tuples:

F38_IN(z0) → c11(U4'(f42_in(z0), z0), F42_IN(z0))
F2_IN(s(0)) → c(F19_IN)
F2_IN(s(s(z0))) → c2(F38_IN(z0))
F42_IN(s(s(z0))) → c8(F42_IN(z0))
U4'(f42_out1(z0), z1) → c12(F2_IN(s(z0)))
F2_IN(s(0)) → c
F19_INc
The order we found is given by the following interpretation:
Polynomial interpretation :

POL(0) = 0   
POL(F19_IN) = [2]   
POL(F2_IN(x1)) = [2]x1   
POL(F38_IN(x1)) = [2] + [2]x1   
POL(F42_IN(x1)) = 0   
POL(U3(x1, x2)) = [1] + x1   
POL(U4'(x1, x2)) = [2] + [2]x1   
POL(c) = 0   
POL(c(x1)) = x1   
POL(c11(x1, x2)) = x1 + x2   
POL(c12(x1)) = x1   
POL(c2(x1)) = x1   
POL(c8(x1)) = x1   
POL(f42_in(x1)) = x1   
POL(f42_out1(x1)) = x1   
POL(s(x1)) = [1] + x1   

(28) Obligation:

Complexity Dependency Tuples Problem
Rules:

f2_in(0) → f2_out1(s(0))
f2_in(s(0)) → U1(f19_in, s(0))
f2_in(s(s(z0))) → U2(f38_in(z0), s(s(z0)))
U1(f19_out1(z0), s(0)) → f2_out1(s(z0))
U1(f19_out2(z0, z1), s(0)) → f2_out1(s(z1))
U2(f38_out1(z0, z1), s(s(z2))) → f2_out1(s(z1))
f42_in(0) → f42_out1(0)
f42_in(s(0)) → f42_out1(0)
f42_in(s(s(z0))) → U3(f42_in(z0), s(s(z0)))
U3(f42_out1(z0), s(s(z1))) → f42_out1(s(z0))
f23_inf23_out1(s(0))
f38_in(z0) → U4(f42_in(z0), z0)
U4(f42_out1(z0), z1) → U5(f2_in(s(z0)), z1, z0)
U5(f2_out1(z0), z1, z2) → f38_out1(z2, z0)
f19_inU6(f23_in, f24_in)
U6(f23_out1(z0), z1) → f19_out1(z0)
U6(z0, f24_out1(z1, z2)) → f19_out2(z1, z2)
Tuples:

F38_IN(z0) → c11(U4'(f42_in(z0), z0), F42_IN(z0))
F2_IN(s(0)) → c(F19_IN)
F2_IN(s(s(z0))) → c2(F38_IN(z0))
F42_IN(s(s(z0))) → c8(F42_IN(z0))
U4'(f42_out1(z0), z1) → c12(F2_IN(s(z0)))
F2_IN(s(0)) → c
F19_INc
S tuples:

F38_IN(z0) → c11(U4'(f42_in(z0), z0), F42_IN(z0))
F42_IN(s(s(z0))) → c8(F42_IN(z0))
U4'(f42_out1(z0), z1) → c12(F2_IN(s(z0)))
K tuples:

F2_IN(s(0)) → c
F19_INc
F2_IN(s(0)) → c(F19_IN)
F2_IN(s(s(z0))) → c2(F38_IN(z0))
Defined Rule Symbols:

f2_in, U1, U2, f42_in, U3, f23_in, f38_in, U4, U5, f19_in, U6

Defined Pair Symbols:

F38_IN, F2_IN, F42_IN, U4', F19_IN

Compound Symbols:

c11, c, c2, c8, c12, c

(29) CdtKnowledgeProof (EQUIVALENT transformation)

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

F38_IN(z0) → c11(U4'(f42_in(z0), z0), F42_IN(z0))
U4'(f42_out1(z0), z1) → c12(F2_IN(s(z0)))
U4'(f42_out1(z0), z1) → c12(F2_IN(s(z0)))
F2_IN(s(0)) → c(F19_IN)
F2_IN(s(s(z0))) → c2(F38_IN(z0))
F2_IN(s(0)) → c

(30) Obligation:

Complexity Dependency Tuples Problem
Rules:

f2_in(0) → f2_out1(s(0))
f2_in(s(0)) → U1(f19_in, s(0))
f2_in(s(s(z0))) → U2(f38_in(z0), s(s(z0)))
U1(f19_out1(z0), s(0)) → f2_out1(s(z0))
U1(f19_out2(z0, z1), s(0)) → f2_out1(s(z1))
U2(f38_out1(z0, z1), s(s(z2))) → f2_out1(s(z1))
f42_in(0) → f42_out1(0)
f42_in(s(0)) → f42_out1(0)
f42_in(s(s(z0))) → U3(f42_in(z0), s(s(z0)))
U3(f42_out1(z0), s(s(z1))) → f42_out1(s(z0))
f23_inf23_out1(s(0))
f38_in(z0) → U4(f42_in(z0), z0)
U4(f42_out1(z0), z1) → U5(f2_in(s(z0)), z1, z0)
U5(f2_out1(z0), z1, z2) → f38_out1(z2, z0)
f19_inU6(f23_in, f24_in)
U6(f23_out1(z0), z1) → f19_out1(z0)
U6(z0, f24_out1(z1, z2)) → f19_out2(z1, z2)
Tuples:

F38_IN(z0) → c11(U4'(f42_in(z0), z0), F42_IN(z0))
F2_IN(s(0)) → c(F19_IN)
F2_IN(s(s(z0))) → c2(F38_IN(z0))
F42_IN(s(s(z0))) → c8(F42_IN(z0))
U4'(f42_out1(z0), z1) → c12(F2_IN(s(z0)))
F2_IN(s(0)) → c
F19_INc
S tuples:

F42_IN(s(s(z0))) → c8(F42_IN(z0))
K tuples:

F2_IN(s(0)) → c
F19_INc
F2_IN(s(0)) → c(F19_IN)
F2_IN(s(s(z0))) → c2(F38_IN(z0))
F38_IN(z0) → c11(U4'(f42_in(z0), z0), F42_IN(z0))
U4'(f42_out1(z0), z1) → c12(F2_IN(s(z0)))
Defined Rule Symbols:

f2_in, U1, U2, f42_in, U3, f23_in, f38_in, U4, U5, f19_in, U6

Defined Pair Symbols:

F38_IN, F2_IN, F42_IN, U4', F19_IN

Compound Symbols:

c11, c, c2, c8, c12, c