(0) Obligation:
Clauses:
m(X, 0, Z) :- ','(!, =(Z, X)).
m(0, Y, Z) :- ','(!, =(Z, 0)).
m(X, Y, Z) :- ','(p(X, A), ','(p(Y, B), m(A, B, Z))).
p(0, 0).
p(s(0), 0).
p(s(s(X)), s(Y)) :- p(s(X), Y).
=(X, X).
Query: m(g,g,a)
(1) BuiltinConflictTransformerProof (BOTH BOUNDS(ID, ID) transformation)
Renamed defined predicates conflicting with built-in predicates [PROLOG].
(2) Obligation:
Clauses:
m(X, 0, Z) :- ','(!, user_defined_=(Z, X)).
m(0, Y, Z) :- ','(!, user_defined_=(Z, 0)).
m(X, Y, Z) :- ','(p(X, A), ','(p(Y, B), m(A, B, Z))).
p(0, 0).
p(s(0), 0).
p(s(s(X)), s(Y)) :- p(s(X), Y).
user_defined_=(X, X).
Query: m(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:
f3_in(z0, 0) → f3_out1(z0)
f3_in(0, z0) → f3_out1(0)
f3_in(s(0), z0) → U1(f36_in(z0), s(0), z0)
f3_in(s(s(z0)), z1) → U2(f92_in(z0, z1), s(s(z0)), z1)
U1(f36_out1(z0, z1), s(0), z2) → f3_out1(z1)
U1(f36_out2(z0, z1, z2), s(0), z3) → f3_out1(z2)
U2(f92_out1(z0, z1, z2), s(s(z3)), z4) → f3_out1(z2)
f56_in(0) → f56_out1(0)
f56_in(s(z0)) → U3(f56_in(z0), s(z0))
U3(f56_out1(z0), s(z1)) → f56_out1(s(z0))
f42_in(s(0)) → f42_out1(0)
f42_in(s(s(z0))) → U4(f56_in(z0), s(s(z0)))
U4(f56_out1(z0), s(s(z1))) → f42_out1(s(z0))
f43_in(0) → f43_out1(0)
f43_in(z0) → f43_out1(0)
f96_in(s(0)) → f96_out1(0)
f96_in(s(s(z0))) → U5(f56_in(z0), s(s(z0)))
U5(f56_out1(z0), s(s(z1))) → f96_out1(s(z0))
f39_in(z0) → U6(f42_in(z0), z0)
U6(f42_out1(z0), z1) → U7(f43_in(z0), z1, z0)
U7(f43_out1(z0), z1, z2) → f39_out1(z2, z0)
f92_in(z0, z1) → U8(f56_in(z0), z0, z1)
U8(f56_out1(z0), z1, z2) → U9(f95_in(z2, z0), z1, z2, z0)
U9(f95_out1(z0, z1), z2, z3, z4) → f92_out1(z4, z0, z1)
f95_in(z0, z1) → U10(f96_in(z0), z0, z1)
U10(f96_out1(z0), z1, z2) → U11(f3_in(s(z2), z0), z1, z2, z0)
U11(f3_out1(z0), z1, z2, z3) → f95_out1(z3, z0)
f36_in(z0) → U12(f39_in(z0), f40_in(z0), z0)
U12(f39_out1(z0, z1), z2, z3) → f36_out1(z0, z1)
U12(z0, f40_out1(z1, z2, z3), z4) → f36_out2(z1, z2, z3)
Tuples:
F3_IN(s(0), z0) → c2(U1'(f36_in(z0), s(0), z0), F36_IN(z0))
F3_IN(s(s(z0)), z1) → c3(U2'(f92_in(z0, z1), s(s(z0)), z1), F92_IN(z0, z1))
F56_IN(s(z0)) → c8(U3'(f56_in(z0), s(z0)), F56_IN(z0))
F42_IN(s(s(z0))) → c11(U4'(f56_in(z0), s(s(z0))), F56_IN(z0))
F96_IN(s(s(z0))) → c16(U5'(f56_in(z0), s(s(z0))), F56_IN(z0))
F39_IN(z0) → c18(U6'(f42_in(z0), z0), F42_IN(z0))
U6'(f42_out1(z0), z1) → c19(U7'(f43_in(z0), z1, z0), F43_IN(z0))
F92_IN(z0, z1) → c21(U8'(f56_in(z0), z0, z1), F56_IN(z0))
U8'(f56_out1(z0), z1, z2) → c22(U9'(f95_in(z2, z0), z1, z2, z0), F95_IN(z2, z0))
F95_IN(z0, z1) → c24(U10'(f96_in(z0), z0, z1), F96_IN(z0))
U10'(f96_out1(z0), z1, z2) → c25(U11'(f3_in(s(z2), z0), z1, z2, z0), F3_IN(s(z2), z0))
F36_IN(z0) → c27(U12'(f39_in(z0), f40_in(z0), z0), F39_IN(z0))
S tuples:
F3_IN(s(0), z0) → c2(U1'(f36_in(z0), s(0), z0), F36_IN(z0))
F3_IN(s(s(z0)), z1) → c3(U2'(f92_in(z0, z1), s(s(z0)), z1), F92_IN(z0, z1))
F56_IN(s(z0)) → c8(U3'(f56_in(z0), s(z0)), F56_IN(z0))
F42_IN(s(s(z0))) → c11(U4'(f56_in(z0), s(s(z0))), F56_IN(z0))
F96_IN(s(s(z0))) → c16(U5'(f56_in(z0), s(s(z0))), F56_IN(z0))
F39_IN(z0) → c18(U6'(f42_in(z0), z0), F42_IN(z0))
U6'(f42_out1(z0), z1) → c19(U7'(f43_in(z0), z1, z0), F43_IN(z0))
F92_IN(z0, z1) → c21(U8'(f56_in(z0), z0, z1), F56_IN(z0))
U8'(f56_out1(z0), z1, z2) → c22(U9'(f95_in(z2, z0), z1, z2, z0), F95_IN(z2, z0))
F95_IN(z0, z1) → c24(U10'(f96_in(z0), z0, z1), F96_IN(z0))
U10'(f96_out1(z0), z1, z2) → c25(U11'(f3_in(s(z2), z0), z1, z2, z0), F3_IN(s(z2), z0))
F36_IN(z0) → c27(U12'(f39_in(z0), f40_in(z0), z0), F39_IN(z0))
K tuples:none
Defined Rule Symbols:
f3_in, U1, U2, f56_in, U3, f42_in, U4, f43_in, f96_in, U5, f39_in, U6, U7, f92_in, U8, U9, f95_in, U10, U11, f36_in, U12
Defined Pair Symbols:
F3_IN, F56_IN, F42_IN, F96_IN, F39_IN, U6', F92_IN, U8', F95_IN, U10', F36_IN
Compound Symbols:
c2, c3, c8, c11, c16, c18, c19, c21, c22, c24, c25, c27
(5) CdtGraphSplitRhsProof (BOTH BOUNDS(ID, ID) transformation)
Split RHS of tuples not part of any SCC
(6) Obligation:
Complexity Dependency Tuples Problem
Rules:
f3_in(z0, 0) → f3_out1(z0)
f3_in(0, z0) → f3_out1(0)
f3_in(s(0), z0) → U1(f36_in(z0), s(0), z0)
f3_in(s(s(z0)), z1) → U2(f92_in(z0, z1), s(s(z0)), z1)
U1(f36_out1(z0, z1), s(0), z2) → f3_out1(z1)
U1(f36_out2(z0, z1, z2), s(0), z3) → f3_out1(z2)
U2(f92_out1(z0, z1, z2), s(s(z3)), z4) → f3_out1(z2)
f56_in(0) → f56_out1(0)
f56_in(s(z0)) → U3(f56_in(z0), s(z0))
U3(f56_out1(z0), s(z1)) → f56_out1(s(z0))
f42_in(s(0)) → f42_out1(0)
f42_in(s(s(z0))) → U4(f56_in(z0), s(s(z0)))
U4(f56_out1(z0), s(s(z1))) → f42_out1(s(z0))
f43_in(0) → f43_out1(0)
f43_in(z0) → f43_out1(0)
f96_in(s(0)) → f96_out1(0)
f96_in(s(s(z0))) → U5(f56_in(z0), s(s(z0)))
U5(f56_out1(z0), s(s(z1))) → f96_out1(s(z0))
f39_in(z0) → U6(f42_in(z0), z0)
U6(f42_out1(z0), z1) → U7(f43_in(z0), z1, z0)
U7(f43_out1(z0), z1, z2) → f39_out1(z2, z0)
f92_in(z0, z1) → U8(f56_in(z0), z0, z1)
U8(f56_out1(z0), z1, z2) → U9(f95_in(z2, z0), z1, z2, z0)
U9(f95_out1(z0, z1), z2, z3, z4) → f92_out1(z4, z0, z1)
f95_in(z0, z1) → U10(f96_in(z0), z0, z1)
U10(f96_out1(z0), z1, z2) → U11(f3_in(s(z2), z0), z1, z2, z0)
U11(f3_out1(z0), z1, z2, z3) → f95_out1(z3, z0)
f36_in(z0) → U12(f39_in(z0), f40_in(z0), z0)
U12(f39_out1(z0, z1), z2, z3) → f36_out1(z0, z1)
U12(z0, f40_out1(z1, z2, z3), z4) → f36_out2(z1, z2, z3)
Tuples:
F3_IN(s(s(z0)), z1) → c3(U2'(f92_in(z0, z1), s(s(z0)), z1), F92_IN(z0, z1))
F56_IN(s(z0)) → c8(U3'(f56_in(z0), s(z0)), F56_IN(z0))
F92_IN(z0, z1) → c21(U8'(f56_in(z0), z0, z1), F56_IN(z0))
U8'(f56_out1(z0), z1, z2) → c22(U9'(f95_in(z2, z0), z1, z2, z0), F95_IN(z2, z0))
F95_IN(z0, z1) → c24(U10'(f96_in(z0), z0, z1), F96_IN(z0))
U10'(f96_out1(z0), z1, z2) → c25(U11'(f3_in(s(z2), z0), z1, z2, z0), F3_IN(s(z2), z0))
F3_IN(s(0), z0) → c(U1'(f36_in(z0), s(0), z0))
F3_IN(s(0), z0) → c(F36_IN(z0))
F42_IN(s(s(z0))) → c(U4'(f56_in(z0), s(s(z0))))
F42_IN(s(s(z0))) → c(F56_IN(z0))
F96_IN(s(s(z0))) → c(U5'(f56_in(z0), s(s(z0))))
F96_IN(s(s(z0))) → c(F56_IN(z0))
F39_IN(z0) → c(U6'(f42_in(z0), z0))
F39_IN(z0) → c(F42_IN(z0))
U6'(f42_out1(z0), z1) → c(U7'(f43_in(z0), z1, z0))
U6'(f42_out1(z0), z1) → c(F43_IN(z0))
F36_IN(z0) → c(U12'(f39_in(z0), f40_in(z0), z0))
F36_IN(z0) → c(F39_IN(z0))
S tuples:
F3_IN(s(s(z0)), z1) → c3(U2'(f92_in(z0, z1), s(s(z0)), z1), F92_IN(z0, z1))
F56_IN(s(z0)) → c8(U3'(f56_in(z0), s(z0)), F56_IN(z0))
F92_IN(z0, z1) → c21(U8'(f56_in(z0), z0, z1), F56_IN(z0))
U8'(f56_out1(z0), z1, z2) → c22(U9'(f95_in(z2, z0), z1, z2, z0), F95_IN(z2, z0))
F95_IN(z0, z1) → c24(U10'(f96_in(z0), z0, z1), F96_IN(z0))
U10'(f96_out1(z0), z1, z2) → c25(U11'(f3_in(s(z2), z0), z1, z2, z0), F3_IN(s(z2), z0))
F3_IN(s(0), z0) → c(U1'(f36_in(z0), s(0), z0))
F3_IN(s(0), z0) → c(F36_IN(z0))
F42_IN(s(s(z0))) → c(U4'(f56_in(z0), s(s(z0))))
F42_IN(s(s(z0))) → c(F56_IN(z0))
F96_IN(s(s(z0))) → c(U5'(f56_in(z0), s(s(z0))))
F96_IN(s(s(z0))) → c(F56_IN(z0))
F39_IN(z0) → c(U6'(f42_in(z0), z0))
F39_IN(z0) → c(F42_IN(z0))
U6'(f42_out1(z0), z1) → c(U7'(f43_in(z0), z1, z0))
U6'(f42_out1(z0), z1) → c(F43_IN(z0))
F36_IN(z0) → c(U12'(f39_in(z0), f40_in(z0), z0))
F36_IN(z0) → c(F39_IN(z0))
K tuples:none
Defined Rule Symbols:
f3_in, U1, U2, f56_in, U3, f42_in, U4, f43_in, f96_in, U5, f39_in, U6, U7, f92_in, U8, U9, f95_in, U10, U11, f36_in, U12
Defined Pair Symbols:
F3_IN, F56_IN, F92_IN, U8', F95_IN, U10', F42_IN, F96_IN, F39_IN, U6', F36_IN
Compound Symbols:
c3, c8, c21, c22, c24, c25, c
(7) CdtGraphRemoveTrailingTuplepartsProof (BOTH BOUNDS(ID, ID) transformation)
Removed 10 trailing tuple parts
(8) Obligation:
Complexity Dependency Tuples Problem
Rules:
f3_in(z0, 0) → f3_out1(z0)
f3_in(0, z0) → f3_out1(0)
f3_in(s(0), z0) → U1(f36_in(z0), s(0), z0)
f3_in(s(s(z0)), z1) → U2(f92_in(z0, z1), s(s(z0)), z1)
U1(f36_out1(z0, z1), s(0), z2) → f3_out1(z1)
U1(f36_out2(z0, z1, z2), s(0), z3) → f3_out1(z2)
U2(f92_out1(z0, z1, z2), s(s(z3)), z4) → f3_out1(z2)
f56_in(0) → f56_out1(0)
f56_in(s(z0)) → U3(f56_in(z0), s(z0))
U3(f56_out1(z0), s(z1)) → f56_out1(s(z0))
f42_in(s(0)) → f42_out1(0)
f42_in(s(s(z0))) → U4(f56_in(z0), s(s(z0)))
U4(f56_out1(z0), s(s(z1))) → f42_out1(s(z0))
f43_in(0) → f43_out1(0)
f43_in(z0) → f43_out1(0)
f96_in(s(0)) → f96_out1(0)
f96_in(s(s(z0))) → U5(f56_in(z0), s(s(z0)))
U5(f56_out1(z0), s(s(z1))) → f96_out1(s(z0))
f39_in(z0) → U6(f42_in(z0), z0)
U6(f42_out1(z0), z1) → U7(f43_in(z0), z1, z0)
U7(f43_out1(z0), z1, z2) → f39_out1(z2, z0)
f92_in(z0, z1) → U8(f56_in(z0), z0, z1)
U8(f56_out1(z0), z1, z2) → U9(f95_in(z2, z0), z1, z2, z0)
U9(f95_out1(z0, z1), z2, z3, z4) → f92_out1(z4, z0, z1)
f95_in(z0, z1) → U10(f96_in(z0), z0, z1)
U10(f96_out1(z0), z1, z2) → U11(f3_in(s(z2), z0), z1, z2, z0)
U11(f3_out1(z0), z1, z2, z3) → f95_out1(z3, z0)
f36_in(z0) → U12(f39_in(z0), f40_in(z0), z0)
U12(f39_out1(z0, z1), z2, z3) → f36_out1(z0, z1)
U12(z0, f40_out1(z1, z2, z3), z4) → f36_out2(z1, z2, z3)
Tuples:
F92_IN(z0, z1) → c21(U8'(f56_in(z0), z0, z1), F56_IN(z0))
F95_IN(z0, z1) → c24(U10'(f96_in(z0), z0, z1), F96_IN(z0))
F3_IN(s(0), z0) → c(F36_IN(z0))
F42_IN(s(s(z0))) → c(F56_IN(z0))
F96_IN(s(s(z0))) → c(F56_IN(z0))
F39_IN(z0) → c(U6'(f42_in(z0), z0))
F39_IN(z0) → c(F42_IN(z0))
F36_IN(z0) → c(F39_IN(z0))
F3_IN(s(s(z0)), z1) → c3(F92_IN(z0, z1))
F56_IN(s(z0)) → c8(F56_IN(z0))
U8'(f56_out1(z0), z1, z2) → c22(F95_IN(z2, z0))
U10'(f96_out1(z0), z1, z2) → c25(F3_IN(s(z2), z0))
F3_IN(s(0), z0) → c
F42_IN(s(s(z0))) → c
F96_IN(s(s(z0))) → c
U6'(f42_out1(z0), z1) → c
F36_IN(z0) → c
S tuples:
F92_IN(z0, z1) → c21(U8'(f56_in(z0), z0, z1), F56_IN(z0))
F95_IN(z0, z1) → c24(U10'(f96_in(z0), z0, z1), F96_IN(z0))
F3_IN(s(0), z0) → c(F36_IN(z0))
F42_IN(s(s(z0))) → c(F56_IN(z0))
F96_IN(s(s(z0))) → c(F56_IN(z0))
F39_IN(z0) → c(U6'(f42_in(z0), z0))
F39_IN(z0) → c(F42_IN(z0))
F36_IN(z0) → c(F39_IN(z0))
F3_IN(s(s(z0)), z1) → c3(F92_IN(z0, z1))
F56_IN(s(z0)) → c8(F56_IN(z0))
U8'(f56_out1(z0), z1, z2) → c22(F95_IN(z2, z0))
U10'(f96_out1(z0), z1, z2) → c25(F3_IN(s(z2), z0))
F3_IN(s(0), z0) → c
F42_IN(s(s(z0))) → c
F96_IN(s(s(z0))) → c
U6'(f42_out1(z0), z1) → c
F36_IN(z0) → c
K tuples:none
Defined Rule Symbols:
f3_in, U1, U2, f56_in, U3, f42_in, U4, f43_in, f96_in, U5, f39_in, U6, U7, f92_in, U8, U9, f95_in, U10, U11, f36_in, U12
Defined Pair Symbols:
F92_IN, F95_IN, F3_IN, F42_IN, F96_IN, F39_IN, F36_IN, F56_IN, U8', U10', U6'
Compound Symbols:
c21, c24, c, c3, c8, c22, c25, 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.
F3_IN(s(0), z0) → c(F36_IN(z0))
F3_IN(s(0), z0) → c
We considered the (Usable) Rules:
f42_in(s(0)) → f42_out1(0)
f42_in(s(s(z0))) → U4(f56_in(z0), s(s(z0)))
f56_in(0) → f56_out1(0)
f56_in(s(z0)) → U3(f56_in(z0), s(z0))
U4(f56_out1(z0), s(s(z1))) → f42_out1(s(z0))
U3(f56_out1(z0), s(z1)) → f56_out1(s(z0))
f96_in(s(0)) → f96_out1(0)
f96_in(s(s(z0))) → U5(f56_in(z0), s(s(z0)))
U5(f56_out1(z0), s(s(z1))) → f96_out1(s(z0))
And the Tuples:
F92_IN(z0, z1) → c21(U8'(f56_in(z0), z0, z1), F56_IN(z0))
F95_IN(z0, z1) → c24(U10'(f96_in(z0), z0, z1), F96_IN(z0))
F3_IN(s(0), z0) → c(F36_IN(z0))
F42_IN(s(s(z0))) → c(F56_IN(z0))
F96_IN(s(s(z0))) → c(F56_IN(z0))
F39_IN(z0) → c(U6'(f42_in(z0), z0))
F39_IN(z0) → c(F42_IN(z0))
F36_IN(z0) → c(F39_IN(z0))
F3_IN(s(s(z0)), z1) → c3(F92_IN(z0, z1))
F56_IN(s(z0)) → c8(F56_IN(z0))
U8'(f56_out1(z0), z1, z2) → c22(F95_IN(z2, z0))
U10'(f96_out1(z0), z1, z2) → c25(F3_IN(s(z2), z0))
F3_IN(s(0), z0) → c
F42_IN(s(s(z0))) → c
F96_IN(s(s(z0))) → c
U6'(f42_out1(z0), z1) → c
F36_IN(z0) → c
The order we found is given by the following interpretation:
Polynomial interpretation :
POL(0) = 0
POL(F36_IN(x1)) = [2]x1
POL(F39_IN(x1)) = [2]x1
POL(F3_IN(x1, x2)) = [1] + [2]x2
POL(F42_IN(x1)) = x1
POL(F56_IN(x1)) = 0
POL(F92_IN(x1, x2)) = [1] + [2]x2
POL(F95_IN(x1, x2)) = [1] + x1
POL(F96_IN(x1)) = 0
POL(U10'(x1, x2, x3)) = [1] + [2]x1
POL(U3(x1, x2)) = 0
POL(U4(x1, x2)) = 0
POL(U5(x1, x2)) = 0
POL(U6'(x1, x2)) = x2
POL(U8'(x1, x2, x3)) = [1] + x3
POL(c) = 0
POL(c(x1)) = x1
POL(c21(x1, x2)) = x1 + x2
POL(c22(x1)) = x1
POL(c24(x1, x2)) = x1 + x2
POL(c25(x1)) = x1
POL(c3(x1)) = x1
POL(c8(x1)) = x1
POL(f42_in(x1)) = 0
POL(f42_out1(x1)) = 0
POL(f56_in(x1)) = 0
POL(f56_out1(x1)) = 0
POL(f96_in(x1)) = 0
POL(f96_out1(x1)) = x1
POL(s(x1)) = 0
(10) Obligation:
Complexity Dependency Tuples Problem
Rules:
f3_in(z0, 0) → f3_out1(z0)
f3_in(0, z0) → f3_out1(0)
f3_in(s(0), z0) → U1(f36_in(z0), s(0), z0)
f3_in(s(s(z0)), z1) → U2(f92_in(z0, z1), s(s(z0)), z1)
U1(f36_out1(z0, z1), s(0), z2) → f3_out1(z1)
U1(f36_out2(z0, z1, z2), s(0), z3) → f3_out1(z2)
U2(f92_out1(z0, z1, z2), s(s(z3)), z4) → f3_out1(z2)
f56_in(0) → f56_out1(0)
f56_in(s(z0)) → U3(f56_in(z0), s(z0))
U3(f56_out1(z0), s(z1)) → f56_out1(s(z0))
f42_in(s(0)) → f42_out1(0)
f42_in(s(s(z0))) → U4(f56_in(z0), s(s(z0)))
U4(f56_out1(z0), s(s(z1))) → f42_out1(s(z0))
f43_in(0) → f43_out1(0)
f43_in(z0) → f43_out1(0)
f96_in(s(0)) → f96_out1(0)
f96_in(s(s(z0))) → U5(f56_in(z0), s(s(z0)))
U5(f56_out1(z0), s(s(z1))) → f96_out1(s(z0))
f39_in(z0) → U6(f42_in(z0), z0)
U6(f42_out1(z0), z1) → U7(f43_in(z0), z1, z0)
U7(f43_out1(z0), z1, z2) → f39_out1(z2, z0)
f92_in(z0, z1) → U8(f56_in(z0), z0, z1)
U8(f56_out1(z0), z1, z2) → U9(f95_in(z2, z0), z1, z2, z0)
U9(f95_out1(z0, z1), z2, z3, z4) → f92_out1(z4, z0, z1)
f95_in(z0, z1) → U10(f96_in(z0), z0, z1)
U10(f96_out1(z0), z1, z2) → U11(f3_in(s(z2), z0), z1, z2, z0)
U11(f3_out1(z0), z1, z2, z3) → f95_out1(z3, z0)
f36_in(z0) → U12(f39_in(z0), f40_in(z0), z0)
U12(f39_out1(z0, z1), z2, z3) → f36_out1(z0, z1)
U12(z0, f40_out1(z1, z2, z3), z4) → f36_out2(z1, z2, z3)
Tuples:
F92_IN(z0, z1) → c21(U8'(f56_in(z0), z0, z1), F56_IN(z0))
F95_IN(z0, z1) → c24(U10'(f96_in(z0), z0, z1), F96_IN(z0))
F3_IN(s(0), z0) → c(F36_IN(z0))
F42_IN(s(s(z0))) → c(F56_IN(z0))
F96_IN(s(s(z0))) → c(F56_IN(z0))
F39_IN(z0) → c(U6'(f42_in(z0), z0))
F39_IN(z0) → c(F42_IN(z0))
F36_IN(z0) → c(F39_IN(z0))
F3_IN(s(s(z0)), z1) → c3(F92_IN(z0, z1))
F56_IN(s(z0)) → c8(F56_IN(z0))
U8'(f56_out1(z0), z1, z2) → c22(F95_IN(z2, z0))
U10'(f96_out1(z0), z1, z2) → c25(F3_IN(s(z2), z0))
F3_IN(s(0), z0) → c
F42_IN(s(s(z0))) → c
F96_IN(s(s(z0))) → c
U6'(f42_out1(z0), z1) → c
F36_IN(z0) → c
S tuples:
F92_IN(z0, z1) → c21(U8'(f56_in(z0), z0, z1), F56_IN(z0))
F95_IN(z0, z1) → c24(U10'(f96_in(z0), z0, z1), F96_IN(z0))
F42_IN(s(s(z0))) → c(F56_IN(z0))
F96_IN(s(s(z0))) → c(F56_IN(z0))
F39_IN(z0) → c(U6'(f42_in(z0), z0))
F39_IN(z0) → c(F42_IN(z0))
F36_IN(z0) → c(F39_IN(z0))
F3_IN(s(s(z0)), z1) → c3(F92_IN(z0, z1))
F56_IN(s(z0)) → c8(F56_IN(z0))
U8'(f56_out1(z0), z1, z2) → c22(F95_IN(z2, z0))
U10'(f96_out1(z0), z1, z2) → c25(F3_IN(s(z2), z0))
F42_IN(s(s(z0))) → c
F96_IN(s(s(z0))) → c
U6'(f42_out1(z0), z1) → c
F36_IN(z0) → c
K tuples:
F3_IN(s(0), z0) → c(F36_IN(z0))
F3_IN(s(0), z0) → c
Defined Rule Symbols:
f3_in, U1, U2, f56_in, U3, f42_in, U4, f43_in, f96_in, U5, f39_in, U6, U7, f92_in, U8, U9, f95_in, U10, U11, f36_in, U12
Defined Pair Symbols:
F92_IN, F95_IN, F3_IN, F42_IN, F96_IN, F39_IN, F36_IN, F56_IN, U8', U10', U6'
Compound Symbols:
c21, c24, c, c3, c8, c22, c25, c
(11) CdtKnowledgeProof (EQUIVALENT transformation)
The following tuples could be moved from S to K by knowledge propagation:
F36_IN(z0) → c(F39_IN(z0))
F36_IN(z0) → c
F39_IN(z0) → c(U6'(f42_in(z0), z0))
F39_IN(z0) → c(F42_IN(z0))
U6'(f42_out1(z0), z1) → c
U6'(f42_out1(z0), z1) → c
F42_IN(s(s(z0))) → c(F56_IN(z0))
F42_IN(s(s(z0))) → c
(12) Obligation:
Complexity Dependency Tuples Problem
Rules:
f3_in(z0, 0) → f3_out1(z0)
f3_in(0, z0) → f3_out1(0)
f3_in(s(0), z0) → U1(f36_in(z0), s(0), z0)
f3_in(s(s(z0)), z1) → U2(f92_in(z0, z1), s(s(z0)), z1)
U1(f36_out1(z0, z1), s(0), z2) → f3_out1(z1)
U1(f36_out2(z0, z1, z2), s(0), z3) → f3_out1(z2)
U2(f92_out1(z0, z1, z2), s(s(z3)), z4) → f3_out1(z2)
f56_in(0) → f56_out1(0)
f56_in(s(z0)) → U3(f56_in(z0), s(z0))
U3(f56_out1(z0), s(z1)) → f56_out1(s(z0))
f42_in(s(0)) → f42_out1(0)
f42_in(s(s(z0))) → U4(f56_in(z0), s(s(z0)))
U4(f56_out1(z0), s(s(z1))) → f42_out1(s(z0))
f43_in(0) → f43_out1(0)
f43_in(z0) → f43_out1(0)
f96_in(s(0)) → f96_out1(0)
f96_in(s(s(z0))) → U5(f56_in(z0), s(s(z0)))
U5(f56_out1(z0), s(s(z1))) → f96_out1(s(z0))
f39_in(z0) → U6(f42_in(z0), z0)
U6(f42_out1(z0), z1) → U7(f43_in(z0), z1, z0)
U7(f43_out1(z0), z1, z2) → f39_out1(z2, z0)
f92_in(z0, z1) → U8(f56_in(z0), z0, z1)
U8(f56_out1(z0), z1, z2) → U9(f95_in(z2, z0), z1, z2, z0)
U9(f95_out1(z0, z1), z2, z3, z4) → f92_out1(z4, z0, z1)
f95_in(z0, z1) → U10(f96_in(z0), z0, z1)
U10(f96_out1(z0), z1, z2) → U11(f3_in(s(z2), z0), z1, z2, z0)
U11(f3_out1(z0), z1, z2, z3) → f95_out1(z3, z0)
f36_in(z0) → U12(f39_in(z0), f40_in(z0), z0)
U12(f39_out1(z0, z1), z2, z3) → f36_out1(z0, z1)
U12(z0, f40_out1(z1, z2, z3), z4) → f36_out2(z1, z2, z3)
Tuples:
F92_IN(z0, z1) → c21(U8'(f56_in(z0), z0, z1), F56_IN(z0))
F95_IN(z0, z1) → c24(U10'(f96_in(z0), z0, z1), F96_IN(z0))
F3_IN(s(0), z0) → c(F36_IN(z0))
F42_IN(s(s(z0))) → c(F56_IN(z0))
F96_IN(s(s(z0))) → c(F56_IN(z0))
F39_IN(z0) → c(U6'(f42_in(z0), z0))
F39_IN(z0) → c(F42_IN(z0))
F36_IN(z0) → c(F39_IN(z0))
F3_IN(s(s(z0)), z1) → c3(F92_IN(z0, z1))
F56_IN(s(z0)) → c8(F56_IN(z0))
U8'(f56_out1(z0), z1, z2) → c22(F95_IN(z2, z0))
U10'(f96_out1(z0), z1, z2) → c25(F3_IN(s(z2), z0))
F3_IN(s(0), z0) → c
F42_IN(s(s(z0))) → c
F96_IN(s(s(z0))) → c
U6'(f42_out1(z0), z1) → c
F36_IN(z0) → c
S tuples:
F92_IN(z0, z1) → c21(U8'(f56_in(z0), z0, z1), F56_IN(z0))
F95_IN(z0, z1) → c24(U10'(f96_in(z0), z0, z1), F96_IN(z0))
F96_IN(s(s(z0))) → c(F56_IN(z0))
F3_IN(s(s(z0)), z1) → c3(F92_IN(z0, z1))
F56_IN(s(z0)) → c8(F56_IN(z0))
U8'(f56_out1(z0), z1, z2) → c22(F95_IN(z2, z0))
U10'(f96_out1(z0), z1, z2) → c25(F3_IN(s(z2), z0))
F96_IN(s(s(z0))) → c
K tuples:
F3_IN(s(0), z0) → c(F36_IN(z0))
F3_IN(s(0), z0) → c
F36_IN(z0) → c(F39_IN(z0))
F36_IN(z0) → c
F39_IN(z0) → c(U6'(f42_in(z0), z0))
F39_IN(z0) → c(F42_IN(z0))
U6'(f42_out1(z0), z1) → c
F42_IN(s(s(z0))) → c(F56_IN(z0))
F42_IN(s(s(z0))) → c
Defined Rule Symbols:
f3_in, U1, U2, f56_in, U3, f42_in, U4, f43_in, f96_in, U5, f39_in, U6, U7, f92_in, U8, U9, f95_in, U10, U11, f36_in, U12
Defined Pair Symbols:
F92_IN, F95_IN, F3_IN, F42_IN, F96_IN, F39_IN, F36_IN, F56_IN, U8', U10', U6'
Compound Symbols:
c21, c24, c, c3, c8, c22, c25, c
(13) 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.
F3_IN(s(s(z0)), z1) → c3(F92_IN(z0, z1))
We considered the (Usable) Rules:
f42_in(s(0)) → f42_out1(0)
f42_in(s(s(z0))) → U4(f56_in(z0), s(s(z0)))
f56_in(0) → f56_out1(0)
f56_in(s(z0)) → U3(f56_in(z0), s(z0))
U4(f56_out1(z0), s(s(z1))) → f42_out1(s(z0))
U3(f56_out1(z0), s(z1)) → f56_out1(s(z0))
f96_in(s(0)) → f96_out1(0)
f96_in(s(s(z0))) → U5(f56_in(z0), s(s(z0)))
U5(f56_out1(z0), s(s(z1))) → f96_out1(s(z0))
And the Tuples:
F92_IN(z0, z1) → c21(U8'(f56_in(z0), z0, z1), F56_IN(z0))
F95_IN(z0, z1) → c24(U10'(f96_in(z0), z0, z1), F96_IN(z0))
F3_IN(s(0), z0) → c(F36_IN(z0))
F42_IN(s(s(z0))) → c(F56_IN(z0))
F96_IN(s(s(z0))) → c(F56_IN(z0))
F39_IN(z0) → c(U6'(f42_in(z0), z0))
F39_IN(z0) → c(F42_IN(z0))
F36_IN(z0) → c(F39_IN(z0))
F3_IN(s(s(z0)), z1) → c3(F92_IN(z0, z1))
F56_IN(s(z0)) → c8(F56_IN(z0))
U8'(f56_out1(z0), z1, z2) → c22(F95_IN(z2, z0))
U10'(f96_out1(z0), z1, z2) → c25(F3_IN(s(z2), z0))
F3_IN(s(0), z0) → c
F42_IN(s(s(z0))) → c
F96_IN(s(s(z0))) → c
U6'(f42_out1(z0), z1) → c
F36_IN(z0) → c
The order we found is given by the following interpretation:
Polynomial interpretation :
POL(0) = 0
POL(F36_IN(x1)) = [2]
POL(F39_IN(x1)) = [1]
POL(F3_IN(x1, x2)) = x1
POL(F42_IN(x1)) = [1]
POL(F56_IN(x1)) = 0
POL(F92_IN(x1, x2)) = [2] + x1
POL(F95_IN(x1, x2)) = [2] + x2
POL(F96_IN(x1)) = 0
POL(U10'(x1, x2, x3)) = [2] + x3
POL(U3(x1, x2)) = [2] + x1
POL(U4(x1, x2)) = 0
POL(U5(x1, x2)) = 0
POL(U6'(x1, x2)) = [1]
POL(U8'(x1, x2, x3)) = [2] + x1
POL(c) = 0
POL(c(x1)) = x1
POL(c21(x1, x2)) = x1 + x2
POL(c22(x1)) = x1
POL(c24(x1, x2)) = x1 + x2
POL(c25(x1)) = x1
POL(c3(x1)) = x1
POL(c8(x1)) = x1
POL(f42_in(x1)) = 0
POL(f42_out1(x1)) = 0
POL(f56_in(x1)) = x1
POL(f56_out1(x1)) = x1
POL(f96_in(x1)) = 0
POL(f96_out1(x1)) = 0
POL(s(x1)) = [2] + x1
(14) Obligation:
Complexity Dependency Tuples Problem
Rules:
f3_in(z0, 0) → f3_out1(z0)
f3_in(0, z0) → f3_out1(0)
f3_in(s(0), z0) → U1(f36_in(z0), s(0), z0)
f3_in(s(s(z0)), z1) → U2(f92_in(z0, z1), s(s(z0)), z1)
U1(f36_out1(z0, z1), s(0), z2) → f3_out1(z1)
U1(f36_out2(z0, z1, z2), s(0), z3) → f3_out1(z2)
U2(f92_out1(z0, z1, z2), s(s(z3)), z4) → f3_out1(z2)
f56_in(0) → f56_out1(0)
f56_in(s(z0)) → U3(f56_in(z0), s(z0))
U3(f56_out1(z0), s(z1)) → f56_out1(s(z0))
f42_in(s(0)) → f42_out1(0)
f42_in(s(s(z0))) → U4(f56_in(z0), s(s(z0)))
U4(f56_out1(z0), s(s(z1))) → f42_out1(s(z0))
f43_in(0) → f43_out1(0)
f43_in(z0) → f43_out1(0)
f96_in(s(0)) → f96_out1(0)
f96_in(s(s(z0))) → U5(f56_in(z0), s(s(z0)))
U5(f56_out1(z0), s(s(z1))) → f96_out1(s(z0))
f39_in(z0) → U6(f42_in(z0), z0)
U6(f42_out1(z0), z1) → U7(f43_in(z0), z1, z0)
U7(f43_out1(z0), z1, z2) → f39_out1(z2, z0)
f92_in(z0, z1) → U8(f56_in(z0), z0, z1)
U8(f56_out1(z0), z1, z2) → U9(f95_in(z2, z0), z1, z2, z0)
U9(f95_out1(z0, z1), z2, z3, z4) → f92_out1(z4, z0, z1)
f95_in(z0, z1) → U10(f96_in(z0), z0, z1)
U10(f96_out1(z0), z1, z2) → U11(f3_in(s(z2), z0), z1, z2, z0)
U11(f3_out1(z0), z1, z2, z3) → f95_out1(z3, z0)
f36_in(z0) → U12(f39_in(z0), f40_in(z0), z0)
U12(f39_out1(z0, z1), z2, z3) → f36_out1(z0, z1)
U12(z0, f40_out1(z1, z2, z3), z4) → f36_out2(z1, z2, z3)
Tuples:
F92_IN(z0, z1) → c21(U8'(f56_in(z0), z0, z1), F56_IN(z0))
F95_IN(z0, z1) → c24(U10'(f96_in(z0), z0, z1), F96_IN(z0))
F3_IN(s(0), z0) → c(F36_IN(z0))
F42_IN(s(s(z0))) → c(F56_IN(z0))
F96_IN(s(s(z0))) → c(F56_IN(z0))
F39_IN(z0) → c(U6'(f42_in(z0), z0))
F39_IN(z0) → c(F42_IN(z0))
F36_IN(z0) → c(F39_IN(z0))
F3_IN(s(s(z0)), z1) → c3(F92_IN(z0, z1))
F56_IN(s(z0)) → c8(F56_IN(z0))
U8'(f56_out1(z0), z1, z2) → c22(F95_IN(z2, z0))
U10'(f96_out1(z0), z1, z2) → c25(F3_IN(s(z2), z0))
F3_IN(s(0), z0) → c
F42_IN(s(s(z0))) → c
F96_IN(s(s(z0))) → c
U6'(f42_out1(z0), z1) → c
F36_IN(z0) → c
S tuples:
F92_IN(z0, z1) → c21(U8'(f56_in(z0), z0, z1), F56_IN(z0))
F95_IN(z0, z1) → c24(U10'(f96_in(z0), z0, z1), F96_IN(z0))
F96_IN(s(s(z0))) → c(F56_IN(z0))
F56_IN(s(z0)) → c8(F56_IN(z0))
U8'(f56_out1(z0), z1, z2) → c22(F95_IN(z2, z0))
U10'(f96_out1(z0), z1, z2) → c25(F3_IN(s(z2), z0))
F96_IN(s(s(z0))) → c
K tuples:
F3_IN(s(0), z0) → c(F36_IN(z0))
F3_IN(s(0), z0) → c
F36_IN(z0) → c(F39_IN(z0))
F36_IN(z0) → c
F39_IN(z0) → c(U6'(f42_in(z0), z0))
F39_IN(z0) → c(F42_IN(z0))
U6'(f42_out1(z0), z1) → c
F42_IN(s(s(z0))) → c(F56_IN(z0))
F42_IN(s(s(z0))) → c
F3_IN(s(s(z0)), z1) → c3(F92_IN(z0, z1))
Defined Rule Symbols:
f3_in, U1, U2, f56_in, U3, f42_in, U4, f43_in, f96_in, U5, f39_in, U6, U7, f92_in, U8, U9, f95_in, U10, U11, f36_in, U12
Defined Pair Symbols:
F92_IN, F95_IN, F3_IN, F42_IN, F96_IN, F39_IN, F36_IN, F56_IN, U8', U10', U6'
Compound Symbols:
c21, c24, c, c3, c8, c22, c25, c
(15) CdtKnowledgeProof (EQUIVALENT transformation)
The following tuples could be moved from S to K by knowledge propagation:
F92_IN(z0, z1) → c21(U8'(f56_in(z0), z0, z1), F56_IN(z0))
U8'(f56_out1(z0), z1, z2) → c22(F95_IN(z2, z0))
U8'(f56_out1(z0), z1, z2) → c22(F95_IN(z2, z0))
F95_IN(z0, z1) → c24(U10'(f96_in(z0), z0, z1), F96_IN(z0))
F96_IN(s(s(z0))) → c(F56_IN(z0))
U10'(f96_out1(z0), z1, z2) → c25(F3_IN(s(z2), z0))
F96_IN(s(s(z0))) → c
F3_IN(s(0), z0) → c(F36_IN(z0))
F3_IN(s(s(z0)), z1) → c3(F92_IN(z0, z1))
F3_IN(s(0), z0) → c
(16) Obligation:
Complexity Dependency Tuples Problem
Rules:
f3_in(z0, 0) → f3_out1(z0)
f3_in(0, z0) → f3_out1(0)
f3_in(s(0), z0) → U1(f36_in(z0), s(0), z0)
f3_in(s(s(z0)), z1) → U2(f92_in(z0, z1), s(s(z0)), z1)
U1(f36_out1(z0, z1), s(0), z2) → f3_out1(z1)
U1(f36_out2(z0, z1, z2), s(0), z3) → f3_out1(z2)
U2(f92_out1(z0, z1, z2), s(s(z3)), z4) → f3_out1(z2)
f56_in(0) → f56_out1(0)
f56_in(s(z0)) → U3(f56_in(z0), s(z0))
U3(f56_out1(z0), s(z1)) → f56_out1(s(z0))
f42_in(s(0)) → f42_out1(0)
f42_in(s(s(z0))) → U4(f56_in(z0), s(s(z0)))
U4(f56_out1(z0), s(s(z1))) → f42_out1(s(z0))
f43_in(0) → f43_out1(0)
f43_in(z0) → f43_out1(0)
f96_in(s(0)) → f96_out1(0)
f96_in(s(s(z0))) → U5(f56_in(z0), s(s(z0)))
U5(f56_out1(z0), s(s(z1))) → f96_out1(s(z0))
f39_in(z0) → U6(f42_in(z0), z0)
U6(f42_out1(z0), z1) → U7(f43_in(z0), z1, z0)
U7(f43_out1(z0), z1, z2) → f39_out1(z2, z0)
f92_in(z0, z1) → U8(f56_in(z0), z0, z1)
U8(f56_out1(z0), z1, z2) → U9(f95_in(z2, z0), z1, z2, z0)
U9(f95_out1(z0, z1), z2, z3, z4) → f92_out1(z4, z0, z1)
f95_in(z0, z1) → U10(f96_in(z0), z0, z1)
U10(f96_out1(z0), z1, z2) → U11(f3_in(s(z2), z0), z1, z2, z0)
U11(f3_out1(z0), z1, z2, z3) → f95_out1(z3, z0)
f36_in(z0) → U12(f39_in(z0), f40_in(z0), z0)
U12(f39_out1(z0, z1), z2, z3) → f36_out1(z0, z1)
U12(z0, f40_out1(z1, z2, z3), z4) → f36_out2(z1, z2, z3)
Tuples:
F92_IN(z0, z1) → c21(U8'(f56_in(z0), z0, z1), F56_IN(z0))
F95_IN(z0, z1) → c24(U10'(f96_in(z0), z0, z1), F96_IN(z0))
F3_IN(s(0), z0) → c(F36_IN(z0))
F42_IN(s(s(z0))) → c(F56_IN(z0))
F96_IN(s(s(z0))) → c(F56_IN(z0))
F39_IN(z0) → c(U6'(f42_in(z0), z0))
F39_IN(z0) → c(F42_IN(z0))
F36_IN(z0) → c(F39_IN(z0))
F3_IN(s(s(z0)), z1) → c3(F92_IN(z0, z1))
F56_IN(s(z0)) → c8(F56_IN(z0))
U8'(f56_out1(z0), z1, z2) → c22(F95_IN(z2, z0))
U10'(f96_out1(z0), z1, z2) → c25(F3_IN(s(z2), z0))
F3_IN(s(0), z0) → c
F42_IN(s(s(z0))) → c
F96_IN(s(s(z0))) → c
U6'(f42_out1(z0), z1) → c
F36_IN(z0) → c
S tuples:
F56_IN(s(z0)) → c8(F56_IN(z0))
K tuples:
F3_IN(s(0), z0) → c(F36_IN(z0))
F3_IN(s(0), z0) → c
F36_IN(z0) → c(F39_IN(z0))
F36_IN(z0) → c
F39_IN(z0) → c(U6'(f42_in(z0), z0))
F39_IN(z0) → c(F42_IN(z0))
U6'(f42_out1(z0), z1) → c
F42_IN(s(s(z0))) → c(F56_IN(z0))
F42_IN(s(s(z0))) → c
F3_IN(s(s(z0)), z1) → c3(F92_IN(z0, z1))
F92_IN(z0, z1) → c21(U8'(f56_in(z0), z0, z1), F56_IN(z0))
U8'(f56_out1(z0), z1, z2) → c22(F95_IN(z2, z0))
F95_IN(z0, z1) → c24(U10'(f96_in(z0), z0, z1), F96_IN(z0))
F96_IN(s(s(z0))) → c(F56_IN(z0))
U10'(f96_out1(z0), z1, z2) → c25(F3_IN(s(z2), z0))
F96_IN(s(s(z0))) → c
Defined Rule Symbols:
f3_in, U1, U2, f56_in, U3, f42_in, U4, f43_in, f96_in, U5, f39_in, U6, U7, f92_in, U8, U9, f95_in, U10, U11, f36_in, U12
Defined Pair Symbols:
F92_IN, F95_IN, F3_IN, F42_IN, F96_IN, F39_IN, F36_IN, F56_IN, U8', U10', U6'
Compound Symbols:
c21, c24, c, c3, c8, c22, c25, c
(17) 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.
F56_IN(s(z0)) → c8(F56_IN(z0))
We considered the (Usable) Rules:
f42_in(s(0)) → f42_out1(0)
f42_in(s(s(z0))) → U4(f56_in(z0), s(s(z0)))
f56_in(0) → f56_out1(0)
f56_in(s(z0)) → U3(f56_in(z0), s(z0))
U4(f56_out1(z0), s(s(z1))) → f42_out1(s(z0))
U3(f56_out1(z0), s(z1)) → f56_out1(s(z0))
f96_in(s(0)) → f96_out1(0)
f96_in(s(s(z0))) → U5(f56_in(z0), s(s(z0)))
U5(f56_out1(z0), s(s(z1))) → f96_out1(s(z0))
And the Tuples:
F92_IN(z0, z1) → c21(U8'(f56_in(z0), z0, z1), F56_IN(z0))
F95_IN(z0, z1) → c24(U10'(f96_in(z0), z0, z1), F96_IN(z0))
F3_IN(s(0), z0) → c(F36_IN(z0))
F42_IN(s(s(z0))) → c(F56_IN(z0))
F96_IN(s(s(z0))) → c(F56_IN(z0))
F39_IN(z0) → c(U6'(f42_in(z0), z0))
F39_IN(z0) → c(F42_IN(z0))
F36_IN(z0) → c(F39_IN(z0))
F3_IN(s(s(z0)), z1) → c3(F92_IN(z0, z1))
F56_IN(s(z0)) → c8(F56_IN(z0))
U8'(f56_out1(z0), z1, z2) → c22(F95_IN(z2, z0))
U10'(f96_out1(z0), z1, z2) → c25(F3_IN(s(z2), z0))
F3_IN(s(0), z0) → c
F42_IN(s(s(z0))) → c
F96_IN(s(s(z0))) → c
U6'(f42_out1(z0), z1) → c
F36_IN(z0) → c
The order we found is given by the following interpretation:
Polynomial interpretation :
POL(0) = 0
POL(F36_IN(x1)) = x1 + x12
POL(F39_IN(x1)) = x1 + x12
POL(F3_IN(x1, x2)) = [1] + x1 + x22 + x1·x2
POL(F42_IN(x1)) = x1
POL(F56_IN(x1)) = x1
POL(F92_IN(x1, x2)) = [1] + x1 + x2 + x22 + x1·x2
POL(F95_IN(x1, x2)) = [1] + x1 + x1·x2 + x12
POL(F96_IN(x1)) = x1
POL(U10'(x1, x2, x3)) = [1] + x1·x3 + x12
POL(U3(x1, x2)) = [1] + x1
POL(U4(x1, x2)) = x2
POL(U5(x1, x2)) = [1] + x1
POL(U6'(x1, x2)) = 0
POL(U8'(x1, x2, x3)) = [1] + x32 + x1·x3
POL(c) = 0
POL(c(x1)) = x1
POL(c21(x1, x2)) = x1 + x2
POL(c22(x1)) = x1
POL(c24(x1, x2)) = x1 + x2
POL(c25(x1)) = x1
POL(c3(x1)) = x1
POL(c8(x1)) = x1
POL(f42_in(x1)) = x1 + x12
POL(f42_out1(x1)) = 0
POL(f56_in(x1)) = [1] + x1
POL(f56_out1(x1)) = [1] + x1
POL(f96_in(x1)) = x1
POL(f96_out1(x1)) = [1] + x1
POL(s(x1)) = [1] + x1
(18) Obligation:
Complexity Dependency Tuples Problem
Rules:
f3_in(z0, 0) → f3_out1(z0)
f3_in(0, z0) → f3_out1(0)
f3_in(s(0), z0) → U1(f36_in(z0), s(0), z0)
f3_in(s(s(z0)), z1) → U2(f92_in(z0, z1), s(s(z0)), z1)
U1(f36_out1(z0, z1), s(0), z2) → f3_out1(z1)
U1(f36_out2(z0, z1, z2), s(0), z3) → f3_out1(z2)
U2(f92_out1(z0, z1, z2), s(s(z3)), z4) → f3_out1(z2)
f56_in(0) → f56_out1(0)
f56_in(s(z0)) → U3(f56_in(z0), s(z0))
U3(f56_out1(z0), s(z1)) → f56_out1(s(z0))
f42_in(s(0)) → f42_out1(0)
f42_in(s(s(z0))) → U4(f56_in(z0), s(s(z0)))
U4(f56_out1(z0), s(s(z1))) → f42_out1(s(z0))
f43_in(0) → f43_out1(0)
f43_in(z0) → f43_out1(0)
f96_in(s(0)) → f96_out1(0)
f96_in(s(s(z0))) → U5(f56_in(z0), s(s(z0)))
U5(f56_out1(z0), s(s(z1))) → f96_out1(s(z0))
f39_in(z0) → U6(f42_in(z0), z0)
U6(f42_out1(z0), z1) → U7(f43_in(z0), z1, z0)
U7(f43_out1(z0), z1, z2) → f39_out1(z2, z0)
f92_in(z0, z1) → U8(f56_in(z0), z0, z1)
U8(f56_out1(z0), z1, z2) → U9(f95_in(z2, z0), z1, z2, z0)
U9(f95_out1(z0, z1), z2, z3, z4) → f92_out1(z4, z0, z1)
f95_in(z0, z1) → U10(f96_in(z0), z0, z1)
U10(f96_out1(z0), z1, z2) → U11(f3_in(s(z2), z0), z1, z2, z0)
U11(f3_out1(z0), z1, z2, z3) → f95_out1(z3, z0)
f36_in(z0) → U12(f39_in(z0), f40_in(z0), z0)
U12(f39_out1(z0, z1), z2, z3) → f36_out1(z0, z1)
U12(z0, f40_out1(z1, z2, z3), z4) → f36_out2(z1, z2, z3)
Tuples:
F92_IN(z0, z1) → c21(U8'(f56_in(z0), z0, z1), F56_IN(z0))
F95_IN(z0, z1) → c24(U10'(f96_in(z0), z0, z1), F96_IN(z0))
F3_IN(s(0), z0) → c(F36_IN(z0))
F42_IN(s(s(z0))) → c(F56_IN(z0))
F96_IN(s(s(z0))) → c(F56_IN(z0))
F39_IN(z0) → c(U6'(f42_in(z0), z0))
F39_IN(z0) → c(F42_IN(z0))
F36_IN(z0) → c(F39_IN(z0))
F3_IN(s(s(z0)), z1) → c3(F92_IN(z0, z1))
F56_IN(s(z0)) → c8(F56_IN(z0))
U8'(f56_out1(z0), z1, z2) → c22(F95_IN(z2, z0))
U10'(f96_out1(z0), z1, z2) → c25(F3_IN(s(z2), z0))
F3_IN(s(0), z0) → c
F42_IN(s(s(z0))) → c
F96_IN(s(s(z0))) → c
U6'(f42_out1(z0), z1) → c
F36_IN(z0) → c
S tuples:none
K tuples:
F3_IN(s(0), z0) → c(F36_IN(z0))
F3_IN(s(0), z0) → c
F36_IN(z0) → c(F39_IN(z0))
F36_IN(z0) → c
F39_IN(z0) → c(U6'(f42_in(z0), z0))
F39_IN(z0) → c(F42_IN(z0))
U6'(f42_out1(z0), z1) → c
F42_IN(s(s(z0))) → c(F56_IN(z0))
F42_IN(s(s(z0))) → c
F3_IN(s(s(z0)), z1) → c3(F92_IN(z0, z1))
F92_IN(z0, z1) → c21(U8'(f56_in(z0), z0, z1), F56_IN(z0))
U8'(f56_out1(z0), z1, z2) → c22(F95_IN(z2, z0))
F95_IN(z0, z1) → c24(U10'(f96_in(z0), z0, z1), F96_IN(z0))
F96_IN(s(s(z0))) → c(F56_IN(z0))
U10'(f96_out1(z0), z1, z2) → c25(F3_IN(s(z2), z0))
F96_IN(s(s(z0))) → c
F56_IN(s(z0)) → c8(F56_IN(z0))
Defined Rule Symbols:
f3_in, U1, U2, f56_in, U3, f42_in, U4, f43_in, f96_in, U5, f39_in, U6, U7, f92_in, U8, U9, f95_in, U10, U11, f36_in, U12
Defined Pair Symbols:
F92_IN, F95_IN, F3_IN, F42_IN, F96_IN, F39_IN, F36_IN, F56_IN, U8', U10', U6'
Compound Symbols:
c21, c24, c, c3, c8, c22, c25, c
(19) SIsEmptyProof (EQUIVALENT transformation)
The set S is empty
(20) BOUNDS(O(1), O(1))
(21) PrologToCdtProblemTransformerProof (UPPER BOUND (ID) transformation)
Built complexity over-approximating cdt problems from derivation graph.
(22) Obligation:
Complexity Dependency Tuples Problem
Rules:
f1_in(z0, 0) → f1_out1(z0)
f1_in(0, z0) → f1_out1(0)
f1_in(z0, z1) → U1(f38_in(z0, z1), z0, z1)
U1(f38_out1(z0, z1, z2), z3, z4) → f1_out1(z2)
f146_in(0) → f146_out1(0)
f146_in(s(z0)) → U2(f146_in(z0), s(z0))
U2(f146_out1(z0), s(z1)) → f146_out1(s(z0))
f41_in(s(0)) → f41_out1(0)
f41_in(s(s(0))) → f41_out1(s(0))
f41_in(s(s(s(0)))) → f41_out1(s(s(0)))
f41_in(s(s(s(s(0))))) → f41_out1(s(s(s(0))))
f41_in(s(s(s(s(s(0)))))) → f41_out1(s(s(s(s(0)))))
f41_in(s(s(s(s(s(s(0))))))) → f41_out1(s(s(s(s(s(0))))))
f41_in(s(s(s(s(s(s(s(0)))))))) → f41_out1(s(s(s(s(s(s(0)))))))
f41_in(s(s(s(s(s(s(s(s(z0))))))))) → U3(f146_in(z0), s(s(s(s(s(s(s(s(z0)))))))))
U3(f146_out1(z0), s(s(s(s(s(s(s(s(z1))))))))) → f41_out1(s(s(s(s(s(s(s(z0))))))))
f167_in(s(0)) → f167_out1(0)
f167_in(s(s(z0))) → U4(f146_in(z0), s(s(z0)))
U4(f146_out1(z0), s(s(z1))) → f167_out1(s(z0))
f38_in(z0, z1) → U5(f41_in(z0), z0, z1)
U5(f41_out1(z0), z1, z2) → U6(f44_in(z2, z0), z1, z2, z0)
U6(f44_out1(z0, z1), z2, z3, z4) → f38_out1(z4, z0, z1)
f44_in(z0, z1) → U7(f167_in(z0), z0, z1)
U7(f167_out1(z0), z1, z2) → U8(f1_in(z2, z0), z1, z2, z0)
U8(f1_out1(z0), z1, z2, z3) → f44_out1(z3, z0)
Tuples:
F1_IN(z0, z1) → c2(U1'(f38_in(z0, z1), z0, z1), F38_IN(z0, z1))
F146_IN(s(z0)) → c5(U2'(f146_in(z0), s(z0)), F146_IN(z0))
F41_IN(s(s(s(s(s(s(s(s(z0))))))))) → c14(U3'(f146_in(z0), s(s(s(s(s(s(s(s(z0))))))))), F146_IN(z0))
F167_IN(s(s(z0))) → c17(U4'(f146_in(z0), s(s(z0))), F146_IN(z0))
F38_IN(z0, z1) → c19(U5'(f41_in(z0), z0, z1), F41_IN(z0))
U5'(f41_out1(z0), z1, z2) → c20(U6'(f44_in(z2, z0), z1, z2, z0), F44_IN(z2, z0))
F44_IN(z0, z1) → c22(U7'(f167_in(z0), z0, z1), F167_IN(z0))
U7'(f167_out1(z0), z1, z2) → c23(U8'(f1_in(z2, z0), z1, z2, z0), F1_IN(z2, z0))
S tuples:
F1_IN(z0, z1) → c2(U1'(f38_in(z0, z1), z0, z1), F38_IN(z0, z1))
F146_IN(s(z0)) → c5(U2'(f146_in(z0), s(z0)), F146_IN(z0))
F41_IN(s(s(s(s(s(s(s(s(z0))))))))) → c14(U3'(f146_in(z0), s(s(s(s(s(s(s(s(z0))))))))), F146_IN(z0))
F167_IN(s(s(z0))) → c17(U4'(f146_in(z0), s(s(z0))), F146_IN(z0))
F38_IN(z0, z1) → c19(U5'(f41_in(z0), z0, z1), F41_IN(z0))
U5'(f41_out1(z0), z1, z2) → c20(U6'(f44_in(z2, z0), z1, z2, z0), F44_IN(z2, z0))
F44_IN(z0, z1) → c22(U7'(f167_in(z0), z0, z1), F167_IN(z0))
U7'(f167_out1(z0), z1, z2) → c23(U8'(f1_in(z2, z0), z1, z2, z0), F1_IN(z2, z0))
K tuples:none
Defined Rule Symbols:
f1_in, U1, f146_in, U2, f41_in, U3, f167_in, U4, f38_in, U5, U6, f44_in, U7, U8
Defined Pair Symbols:
F1_IN, F146_IN, F41_IN, F167_IN, F38_IN, U5', F44_IN, U7'
Compound Symbols:
c2, c5, c14, c17, c19, c20, c22, c23
(23) CdtGraphSplitRhsProof (BOTH BOUNDS(ID, ID) transformation)
Split RHS of tuples not part of any SCC
(24) Obligation:
Complexity Dependency Tuples Problem
Rules:
f1_in(z0, 0) → f1_out1(z0)
f1_in(0, z0) → f1_out1(0)
f1_in(z0, z1) → U1(f38_in(z0, z1), z0, z1)
U1(f38_out1(z0, z1, z2), z3, z4) → f1_out1(z2)
f146_in(0) → f146_out1(0)
f146_in(s(z0)) → U2(f146_in(z0), s(z0))
U2(f146_out1(z0), s(z1)) → f146_out1(s(z0))
f41_in(s(0)) → f41_out1(0)
f41_in(s(s(0))) → f41_out1(s(0))
f41_in(s(s(s(0)))) → f41_out1(s(s(0)))
f41_in(s(s(s(s(0))))) → f41_out1(s(s(s(0))))
f41_in(s(s(s(s(s(0)))))) → f41_out1(s(s(s(s(0)))))
f41_in(s(s(s(s(s(s(0))))))) → f41_out1(s(s(s(s(s(0))))))
f41_in(s(s(s(s(s(s(s(0)))))))) → f41_out1(s(s(s(s(s(s(0)))))))
f41_in(s(s(s(s(s(s(s(s(z0))))))))) → U3(f146_in(z0), s(s(s(s(s(s(s(s(z0)))))))))
U3(f146_out1(z0), s(s(s(s(s(s(s(s(z1))))))))) → f41_out1(s(s(s(s(s(s(s(z0))))))))
f167_in(s(0)) → f167_out1(0)
f167_in(s(s(z0))) → U4(f146_in(z0), s(s(z0)))
U4(f146_out1(z0), s(s(z1))) → f167_out1(s(z0))
f38_in(z0, z1) → U5(f41_in(z0), z0, z1)
U5(f41_out1(z0), z1, z2) → U6(f44_in(z2, z0), z1, z2, z0)
U6(f44_out1(z0, z1), z2, z3, z4) → f38_out1(z4, z0, z1)
f44_in(z0, z1) → U7(f167_in(z0), z0, z1)
U7(f167_out1(z0), z1, z2) → U8(f1_in(z2, z0), z1, z2, z0)
U8(f1_out1(z0), z1, z2, z3) → f44_out1(z3, z0)
Tuples:
F1_IN(z0, z1) → c2(U1'(f38_in(z0, z1), z0, z1), F38_IN(z0, z1))
F146_IN(s(z0)) → c5(U2'(f146_in(z0), s(z0)), F146_IN(z0))
F38_IN(z0, z1) → c19(U5'(f41_in(z0), z0, z1), F41_IN(z0))
U5'(f41_out1(z0), z1, z2) → c20(U6'(f44_in(z2, z0), z1, z2, z0), F44_IN(z2, z0))
F44_IN(z0, z1) → c22(U7'(f167_in(z0), z0, z1), F167_IN(z0))
U7'(f167_out1(z0), z1, z2) → c23(U8'(f1_in(z2, z0), z1, z2, z0), F1_IN(z2, z0))
F41_IN(s(s(s(s(s(s(s(s(z0))))))))) → c(U3'(f146_in(z0), s(s(s(s(s(s(s(s(z0))))))))))
F41_IN(s(s(s(s(s(s(s(s(z0))))))))) → c(F146_IN(z0))
F167_IN(s(s(z0))) → c(U4'(f146_in(z0), s(s(z0))))
F167_IN(s(s(z0))) → c(F146_IN(z0))
S tuples:
F1_IN(z0, z1) → c2(U1'(f38_in(z0, z1), z0, z1), F38_IN(z0, z1))
F146_IN(s(z0)) → c5(U2'(f146_in(z0), s(z0)), F146_IN(z0))
F38_IN(z0, z1) → c19(U5'(f41_in(z0), z0, z1), F41_IN(z0))
U5'(f41_out1(z0), z1, z2) → c20(U6'(f44_in(z2, z0), z1, z2, z0), F44_IN(z2, z0))
F44_IN(z0, z1) → c22(U7'(f167_in(z0), z0, z1), F167_IN(z0))
U7'(f167_out1(z0), z1, z2) → c23(U8'(f1_in(z2, z0), z1, z2, z0), F1_IN(z2, z0))
F41_IN(s(s(s(s(s(s(s(s(z0))))))))) → c(U3'(f146_in(z0), s(s(s(s(s(s(s(s(z0))))))))))
F41_IN(s(s(s(s(s(s(s(s(z0))))))))) → c(F146_IN(z0))
F167_IN(s(s(z0))) → c(U4'(f146_in(z0), s(s(z0))))
F167_IN(s(s(z0))) → c(F146_IN(z0))
K tuples:none
Defined Rule Symbols:
f1_in, U1, f146_in, U2, f41_in, U3, f167_in, U4, f38_in, U5, U6, f44_in, U7, U8
Defined Pair Symbols:
F1_IN, F146_IN, F38_IN, U5', F44_IN, U7', F41_IN, F167_IN
Compound Symbols:
c2, c5, c19, c20, c22, c23, c
(25) CdtGraphRemoveTrailingTuplepartsProof (BOTH BOUNDS(ID, ID) transformation)
Removed 6 trailing tuple parts
(26) Obligation:
Complexity Dependency Tuples Problem
Rules:
f1_in(z0, 0) → f1_out1(z0)
f1_in(0, z0) → f1_out1(0)
f1_in(z0, z1) → U1(f38_in(z0, z1), z0, z1)
U1(f38_out1(z0, z1, z2), z3, z4) → f1_out1(z2)
f146_in(0) → f146_out1(0)
f146_in(s(z0)) → U2(f146_in(z0), s(z0))
U2(f146_out1(z0), s(z1)) → f146_out1(s(z0))
f41_in(s(0)) → f41_out1(0)
f41_in(s(s(0))) → f41_out1(s(0))
f41_in(s(s(s(0)))) → f41_out1(s(s(0)))
f41_in(s(s(s(s(0))))) → f41_out1(s(s(s(0))))
f41_in(s(s(s(s(s(0)))))) → f41_out1(s(s(s(s(0)))))
f41_in(s(s(s(s(s(s(0))))))) → f41_out1(s(s(s(s(s(0))))))
f41_in(s(s(s(s(s(s(s(0)))))))) → f41_out1(s(s(s(s(s(s(0)))))))
f41_in(s(s(s(s(s(s(s(s(z0))))))))) → U3(f146_in(z0), s(s(s(s(s(s(s(s(z0)))))))))
U3(f146_out1(z0), s(s(s(s(s(s(s(s(z1))))))))) → f41_out1(s(s(s(s(s(s(s(z0))))))))
f167_in(s(0)) → f167_out1(0)
f167_in(s(s(z0))) → U4(f146_in(z0), s(s(z0)))
U4(f146_out1(z0), s(s(z1))) → f167_out1(s(z0))
f38_in(z0, z1) → U5(f41_in(z0), z0, z1)
U5(f41_out1(z0), z1, z2) → U6(f44_in(z2, z0), z1, z2, z0)
U6(f44_out1(z0, z1), z2, z3, z4) → f38_out1(z4, z0, z1)
f44_in(z0, z1) → U7(f167_in(z0), z0, z1)
U7(f167_out1(z0), z1, z2) → U8(f1_in(z2, z0), z1, z2, z0)
U8(f1_out1(z0), z1, z2, z3) → f44_out1(z3, z0)
Tuples:
F38_IN(z0, z1) → c19(U5'(f41_in(z0), z0, z1), F41_IN(z0))
F44_IN(z0, z1) → c22(U7'(f167_in(z0), z0, z1), F167_IN(z0))
F41_IN(s(s(s(s(s(s(s(s(z0))))))))) → c(F146_IN(z0))
F167_IN(s(s(z0))) → c(F146_IN(z0))
F1_IN(z0, z1) → c2(F38_IN(z0, z1))
F146_IN(s(z0)) → c5(F146_IN(z0))
U5'(f41_out1(z0), z1, z2) → c20(F44_IN(z2, z0))
U7'(f167_out1(z0), z1, z2) → c23(F1_IN(z2, z0))
F41_IN(s(s(s(s(s(s(s(s(z0))))))))) → c
F167_IN(s(s(z0))) → c
S tuples:
F38_IN(z0, z1) → c19(U5'(f41_in(z0), z0, z1), F41_IN(z0))
F44_IN(z0, z1) → c22(U7'(f167_in(z0), z0, z1), F167_IN(z0))
F41_IN(s(s(s(s(s(s(s(s(z0))))))))) → c(F146_IN(z0))
F167_IN(s(s(z0))) → c(F146_IN(z0))
F1_IN(z0, z1) → c2(F38_IN(z0, z1))
F146_IN(s(z0)) → c5(F146_IN(z0))
U5'(f41_out1(z0), z1, z2) → c20(F44_IN(z2, z0))
U7'(f167_out1(z0), z1, z2) → c23(F1_IN(z2, z0))
F41_IN(s(s(s(s(s(s(s(s(z0))))))))) → c
F167_IN(s(s(z0))) → c
K tuples:none
Defined Rule Symbols:
f1_in, U1, f146_in, U2, f41_in, U3, f167_in, U4, f38_in, U5, U6, f44_in, U7, U8
Defined Pair Symbols:
F38_IN, F44_IN, F41_IN, F167_IN, F1_IN, F146_IN, U5', U7'
Compound Symbols:
c19, c22, c, c2, c5, c20, c23, 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.
F1_IN(z0, z1) → c2(F38_IN(z0, z1))
We considered the (Usable) Rules:
f167_in(s(0)) → f167_out1(0)
f167_in(s(s(z0))) → U4(f146_in(z0), s(s(z0)))
f146_in(0) → f146_out1(0)
f146_in(s(z0)) → U2(f146_in(z0), s(z0))
U4(f146_out1(z0), s(s(z1))) → f167_out1(s(z0))
U2(f146_out1(z0), s(z1)) → f146_out1(s(z0))
f41_in(s(0)) → f41_out1(0)
f41_in(s(s(0))) → f41_out1(s(0))
f41_in(s(s(s(0)))) → f41_out1(s(s(0)))
f41_in(s(s(s(s(0))))) → f41_out1(s(s(s(0))))
f41_in(s(s(s(s(s(0)))))) → f41_out1(s(s(s(s(0)))))
f41_in(s(s(s(s(s(s(0))))))) → f41_out1(s(s(s(s(s(0))))))
f41_in(s(s(s(s(s(s(s(0)))))))) → f41_out1(s(s(s(s(s(s(0)))))))
f41_in(s(s(s(s(s(s(s(s(z0))))))))) → U3(f146_in(z0), s(s(s(s(s(s(s(s(z0)))))))))
U3(f146_out1(z0), s(s(s(s(s(s(s(s(z1))))))))) → f41_out1(s(s(s(s(s(s(s(z0))))))))
And the Tuples:
F38_IN(z0, z1) → c19(U5'(f41_in(z0), z0, z1), F41_IN(z0))
F44_IN(z0, z1) → c22(U7'(f167_in(z0), z0, z1), F167_IN(z0))
F41_IN(s(s(s(s(s(s(s(s(z0))))))))) → c(F146_IN(z0))
F167_IN(s(s(z0))) → c(F146_IN(z0))
F1_IN(z0, z1) → c2(F38_IN(z0, z1))
F146_IN(s(z0)) → c5(F146_IN(z0))
U5'(f41_out1(z0), z1, z2) → c20(F44_IN(z2, z0))
U7'(f167_out1(z0), z1, z2) → c23(F1_IN(z2, z0))
F41_IN(s(s(s(s(s(s(s(s(z0))))))))) → c
F167_IN(s(s(z0))) → c
The order we found is given by the following interpretation:
Polynomial interpretation :
POL(0) = 0
POL(F146_IN(x1)) = 0
POL(F167_IN(x1)) = 0
POL(F1_IN(x1, x2)) = [1] + x2
POL(F38_IN(x1, x2)) = x2
POL(F41_IN(x1)) = 0
POL(F44_IN(x1, x2)) = x1
POL(U2(x1, x2)) = [1] + x1
POL(U3(x1, x2)) = 0
POL(U4(x1, x2)) = [2] + x1
POL(U5'(x1, x2, x3)) = x3
POL(U7'(x1, x2, x3)) = x1
POL(c) = 0
POL(c(x1)) = x1
POL(c19(x1, x2)) = x1 + x2
POL(c2(x1)) = x1
POL(c20(x1)) = x1
POL(c22(x1, x2)) = x1 + x2
POL(c23(x1)) = x1
POL(c5(x1)) = x1
POL(f146_in(x1)) = x1
POL(f146_out1(x1)) = x1
POL(f167_in(x1)) = x1
POL(f167_out1(x1)) = [1] + x1
POL(f41_in(x1)) = 0
POL(f41_out1(x1)) = 0
POL(s(x1)) = [1] + x1
(28) Obligation:
Complexity Dependency Tuples Problem
Rules:
f1_in(z0, 0) → f1_out1(z0)
f1_in(0, z0) → f1_out1(0)
f1_in(z0, z1) → U1(f38_in(z0, z1), z0, z1)
U1(f38_out1(z0, z1, z2), z3, z4) → f1_out1(z2)
f146_in(0) → f146_out1(0)
f146_in(s(z0)) → U2(f146_in(z0), s(z0))
U2(f146_out1(z0), s(z1)) → f146_out1(s(z0))
f41_in(s(0)) → f41_out1(0)
f41_in(s(s(0))) → f41_out1(s(0))
f41_in(s(s(s(0)))) → f41_out1(s(s(0)))
f41_in(s(s(s(s(0))))) → f41_out1(s(s(s(0))))
f41_in(s(s(s(s(s(0)))))) → f41_out1(s(s(s(s(0)))))
f41_in(s(s(s(s(s(s(0))))))) → f41_out1(s(s(s(s(s(0))))))
f41_in(s(s(s(s(s(s(s(0)))))))) → f41_out1(s(s(s(s(s(s(0)))))))
f41_in(s(s(s(s(s(s(s(s(z0))))))))) → U3(f146_in(z0), s(s(s(s(s(s(s(s(z0)))))))))
U3(f146_out1(z0), s(s(s(s(s(s(s(s(z1))))))))) → f41_out1(s(s(s(s(s(s(s(z0))))))))
f167_in(s(0)) → f167_out1(0)
f167_in(s(s(z0))) → U4(f146_in(z0), s(s(z0)))
U4(f146_out1(z0), s(s(z1))) → f167_out1(s(z0))
f38_in(z0, z1) → U5(f41_in(z0), z0, z1)
U5(f41_out1(z0), z1, z2) → U6(f44_in(z2, z0), z1, z2, z0)
U6(f44_out1(z0, z1), z2, z3, z4) → f38_out1(z4, z0, z1)
f44_in(z0, z1) → U7(f167_in(z0), z0, z1)
U7(f167_out1(z0), z1, z2) → U8(f1_in(z2, z0), z1, z2, z0)
U8(f1_out1(z0), z1, z2, z3) → f44_out1(z3, z0)
Tuples:
F38_IN(z0, z1) → c19(U5'(f41_in(z0), z0, z1), F41_IN(z0))
F44_IN(z0, z1) → c22(U7'(f167_in(z0), z0, z1), F167_IN(z0))
F41_IN(s(s(s(s(s(s(s(s(z0))))))))) → c(F146_IN(z0))
F167_IN(s(s(z0))) → c(F146_IN(z0))
F1_IN(z0, z1) → c2(F38_IN(z0, z1))
F146_IN(s(z0)) → c5(F146_IN(z0))
U5'(f41_out1(z0), z1, z2) → c20(F44_IN(z2, z0))
U7'(f167_out1(z0), z1, z2) → c23(F1_IN(z2, z0))
F41_IN(s(s(s(s(s(s(s(s(z0))))))))) → c
F167_IN(s(s(z0))) → c
S tuples:
F38_IN(z0, z1) → c19(U5'(f41_in(z0), z0, z1), F41_IN(z0))
F44_IN(z0, z1) → c22(U7'(f167_in(z0), z0, z1), F167_IN(z0))
F41_IN(s(s(s(s(s(s(s(s(z0))))))))) → c(F146_IN(z0))
F167_IN(s(s(z0))) → c(F146_IN(z0))
F146_IN(s(z0)) → c5(F146_IN(z0))
U5'(f41_out1(z0), z1, z2) → c20(F44_IN(z2, z0))
U7'(f167_out1(z0), z1, z2) → c23(F1_IN(z2, z0))
F41_IN(s(s(s(s(s(s(s(s(z0))))))))) → c
F167_IN(s(s(z0))) → c
K tuples:
F1_IN(z0, z1) → c2(F38_IN(z0, z1))
Defined Rule Symbols:
f1_in, U1, f146_in, U2, f41_in, U3, f167_in, U4, f38_in, U5, U6, f44_in, U7, U8
Defined Pair Symbols:
F38_IN, F44_IN, F41_IN, F167_IN, F1_IN, F146_IN, U5', U7'
Compound Symbols:
c19, c22, c, c2, c5, c20, c23, c
(29) CdtKnowledgeProof (EQUIVALENT transformation)
The following tuples could be moved from S to K by knowledge propagation:
F38_IN(z0, z1) → c19(U5'(f41_in(z0), z0, z1), F41_IN(z0))
F41_IN(s(s(s(s(s(s(s(s(z0))))))))) → c(F146_IN(z0))
U5'(f41_out1(z0), z1, z2) → c20(F44_IN(z2, z0))
F41_IN(s(s(s(s(s(s(s(s(z0))))))))) → c
F41_IN(s(s(s(s(s(s(s(s(z0))))))))) → c(F146_IN(z0))
U5'(f41_out1(z0), z1, z2) → c20(F44_IN(z2, z0))
F41_IN(s(s(s(s(s(s(s(s(z0))))))))) → c
F44_IN(z0, z1) → c22(U7'(f167_in(z0), z0, z1), F167_IN(z0))
F167_IN(s(s(z0))) → c(F146_IN(z0))
U7'(f167_out1(z0), z1, z2) → c23(F1_IN(z2, z0))
F167_IN(s(s(z0))) → c
F1_IN(z0, z1) → c2(F38_IN(z0, z1))
(30) Obligation:
Complexity Dependency Tuples Problem
Rules:
f1_in(z0, 0) → f1_out1(z0)
f1_in(0, z0) → f1_out1(0)
f1_in(z0, z1) → U1(f38_in(z0, z1), z0, z1)
U1(f38_out1(z0, z1, z2), z3, z4) → f1_out1(z2)
f146_in(0) → f146_out1(0)
f146_in(s(z0)) → U2(f146_in(z0), s(z0))
U2(f146_out1(z0), s(z1)) → f146_out1(s(z0))
f41_in(s(0)) → f41_out1(0)
f41_in(s(s(0))) → f41_out1(s(0))
f41_in(s(s(s(0)))) → f41_out1(s(s(0)))
f41_in(s(s(s(s(0))))) → f41_out1(s(s(s(0))))
f41_in(s(s(s(s(s(0)))))) → f41_out1(s(s(s(s(0)))))
f41_in(s(s(s(s(s(s(0))))))) → f41_out1(s(s(s(s(s(0))))))
f41_in(s(s(s(s(s(s(s(0)))))))) → f41_out1(s(s(s(s(s(s(0)))))))
f41_in(s(s(s(s(s(s(s(s(z0))))))))) → U3(f146_in(z0), s(s(s(s(s(s(s(s(z0)))))))))
U3(f146_out1(z0), s(s(s(s(s(s(s(s(z1))))))))) → f41_out1(s(s(s(s(s(s(s(z0))))))))
f167_in(s(0)) → f167_out1(0)
f167_in(s(s(z0))) → U4(f146_in(z0), s(s(z0)))
U4(f146_out1(z0), s(s(z1))) → f167_out1(s(z0))
f38_in(z0, z1) → U5(f41_in(z0), z0, z1)
U5(f41_out1(z0), z1, z2) → U6(f44_in(z2, z0), z1, z2, z0)
U6(f44_out1(z0, z1), z2, z3, z4) → f38_out1(z4, z0, z1)
f44_in(z0, z1) → U7(f167_in(z0), z0, z1)
U7(f167_out1(z0), z1, z2) → U8(f1_in(z2, z0), z1, z2, z0)
U8(f1_out1(z0), z1, z2, z3) → f44_out1(z3, z0)
Tuples:
F38_IN(z0, z1) → c19(U5'(f41_in(z0), z0, z1), F41_IN(z0))
F44_IN(z0, z1) → c22(U7'(f167_in(z0), z0, z1), F167_IN(z0))
F41_IN(s(s(s(s(s(s(s(s(z0))))))))) → c(F146_IN(z0))
F167_IN(s(s(z0))) → c(F146_IN(z0))
F1_IN(z0, z1) → c2(F38_IN(z0, z1))
F146_IN(s(z0)) → c5(F146_IN(z0))
U5'(f41_out1(z0), z1, z2) → c20(F44_IN(z2, z0))
U7'(f167_out1(z0), z1, z2) → c23(F1_IN(z2, z0))
F41_IN(s(s(s(s(s(s(s(s(z0))))))))) → c
F167_IN(s(s(z0))) → c
S tuples:
F146_IN(s(z0)) → c5(F146_IN(z0))
K tuples:
F1_IN(z0, z1) → c2(F38_IN(z0, z1))
F38_IN(z0, z1) → c19(U5'(f41_in(z0), z0, z1), F41_IN(z0))
F41_IN(s(s(s(s(s(s(s(s(z0))))))))) → c(F146_IN(z0))
U5'(f41_out1(z0), z1, z2) → c20(F44_IN(z2, z0))
F41_IN(s(s(s(s(s(s(s(s(z0))))))))) → c
F44_IN(z0, z1) → c22(U7'(f167_in(z0), z0, z1), F167_IN(z0))
F167_IN(s(s(z0))) → c(F146_IN(z0))
U7'(f167_out1(z0), z1, z2) → c23(F1_IN(z2, z0))
F167_IN(s(s(z0))) → c
Defined Rule Symbols:
f1_in, U1, f146_in, U2, f41_in, U3, f167_in, U4, f38_in, U5, U6, f44_in, U7, U8
Defined Pair Symbols:
F38_IN, F44_IN, F41_IN, F167_IN, F1_IN, F146_IN, U5', U7'
Compound Symbols:
c19, c22, c, c2, c5, c20, c23, c