(0) Obligation:
Clauses:
minus(X, Y, Z) :- ','(=(X, 0), ','(!, =(Z, 0))).
minus(X, Y, Z) :- ','(=(Y, 0), ','(!, =(Z, X))).
minus(X, Y, Z) :- ','(=(X, s(A)), ','(=(Y, s(B)), minus(A, B, Z))).
div(X, Y, Z) :- ','(=(Y, 0), ','(!, fail)).
div(X, Y, Z) :- ','(=(X, 0), ','(!, =(Z, 0))).
div(X, Y, Z) :- ','(minus(X, Y, U), ','(div(U, Y, V), =(Z, s(V)))).
=(X, X).
Query: div(g,g,a)
(1) BuiltinConflictTransformerProof (BOTH BOUNDS(ID, ID) transformation)
Renamed defined predicates conflicting with built-in predicates [PROLOG].
(2) Obligation:
Clauses:
minus(X, Y, Z) :- ','(user_defined_=(X, 0), ','(!, user_defined_=(Z, 0))).
minus(X, Y, Z) :- ','(user_defined_=(Y, 0), ','(!, user_defined_=(Z, X))).
minus(X, Y, Z) :- ','(user_defined_=(X, s(A)), ','(user_defined_=(Y, s(B)), minus(A, B, Z))).
div(X, Y, Z) :- ','(user_defined_=(Y, 0), ','(!, fail)).
div(X, Y, Z) :- ','(user_defined_=(X, 0), ','(!, user_defined_=(Z, 0))).
div(X, Y, Z) :- ','(minus(X, Y, U), ','(div(U, Y, V), user_defined_=(Z, s(V)))).
user_defined_=(X, X).
Query: div(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(0, z0) → f1_out1
f1_in(z0, z1) → U1(f39_in(z0, z1), z0, z1)
U1(f39_out1(z0), z1, z2) → f1_out1
f41_in(s(z0), s(z1)) → U2(f73_in(z0, z1), s(z0), s(z1))
U2(f73_out1(z0), s(z1), s(z2)) → f41_out1(z0)
f129_in(0, z0) → f129_out1
f129_in(z0, z1) → U3(f160_in(z0, z1), z0, z1)
U3(f160_out1(z0), z1, z2) → f129_out1
f73_in(0, z0) → f73_out1(0)
f73_in(z0, 0) → f73_out1(z0)
f73_in(s(z0), s(z1)) → U4(f73_in(z0, z1), s(z0), s(z1))
U4(f73_out1(z0), s(z1), s(z2)) → f73_out1(z0)
f130_in → f130_out1
f168_in → f168_out1
f39_in(z0, z1) → U5(f41_in(z0, z1), z0, z1)
U5(f41_out1(z0), z1, z2) → U6(f43_in(z0, z2), z1, z2, z0)
U6(f43_out1, z0, z1, z2) → f39_out1(z2)
f43_in(z0, z1) → U7(f129_in(z0, z1), z0, z1)
U7(f129_out1, z0, z1) → U8(f130_in, z0, z1)
U8(f130_out1, z0, z1) → f43_out1
f160_in(z0, z1) → U9(f41_in(z0, z1), z0, z1)
U9(f41_out1(z0), z1, z2) → U10(f163_in(z0, z2), z1, z2, z0)
U10(f163_out1, z0, z1, z2) → f160_out1(z2)
f163_in(z0, z1) → U11(f129_in(z0, z1), z0, z1)
U11(f129_out1, z0, z1) → U12(f168_in, z0, z1)
U12(f168_out1, z0, z1) → f163_out1
Tuples:
F1_IN(z0, z1) → c1(U1'(f39_in(z0, z1), z0, z1), F39_IN(z0, z1))
F41_IN(s(z0), s(z1)) → c3(U2'(f73_in(z0, z1), s(z0), s(z1)), F73_IN(z0, z1))
F129_IN(z0, z1) → c6(U3'(f160_in(z0, z1), z0, z1), F160_IN(z0, z1))
F73_IN(s(z0), s(z1)) → c10(U4'(f73_in(z0, z1), s(z0), s(z1)), F73_IN(z0, z1))
F39_IN(z0, z1) → c14(U5'(f41_in(z0, z1), z0, z1), F41_IN(z0, z1))
U5'(f41_out1(z0), z1, z2) → c15(U6'(f43_in(z0, z2), z1, z2, z0), F43_IN(z0, z2))
F43_IN(z0, z1) → c17(U7'(f129_in(z0, z1), z0, z1), F129_IN(z0, z1))
U7'(f129_out1, z0, z1) → c18(U8'(f130_in, z0, z1), F130_IN)
F160_IN(z0, z1) → c20(U9'(f41_in(z0, z1), z0, z1), F41_IN(z0, z1))
U9'(f41_out1(z0), z1, z2) → c21(U10'(f163_in(z0, z2), z1, z2, z0), F163_IN(z0, z2))
F163_IN(z0, z1) → c23(U11'(f129_in(z0, z1), z0, z1), F129_IN(z0, z1))
U11'(f129_out1, z0, z1) → c24(U12'(f168_in, z0, z1), F168_IN)
S tuples:
F1_IN(z0, z1) → c1(U1'(f39_in(z0, z1), z0, z1), F39_IN(z0, z1))
F41_IN(s(z0), s(z1)) → c3(U2'(f73_in(z0, z1), s(z0), s(z1)), F73_IN(z0, z1))
F129_IN(z0, z1) → c6(U3'(f160_in(z0, z1), z0, z1), F160_IN(z0, z1))
F73_IN(s(z0), s(z1)) → c10(U4'(f73_in(z0, z1), s(z0), s(z1)), F73_IN(z0, z1))
F39_IN(z0, z1) → c14(U5'(f41_in(z0, z1), z0, z1), F41_IN(z0, z1))
U5'(f41_out1(z0), z1, z2) → c15(U6'(f43_in(z0, z2), z1, z2, z0), F43_IN(z0, z2))
F43_IN(z0, z1) → c17(U7'(f129_in(z0, z1), z0, z1), F129_IN(z0, z1))
U7'(f129_out1, z0, z1) → c18(U8'(f130_in, z0, z1), F130_IN)
F160_IN(z0, z1) → c20(U9'(f41_in(z0, z1), z0, z1), F41_IN(z0, z1))
U9'(f41_out1(z0), z1, z2) → c21(U10'(f163_in(z0, z2), z1, z2, z0), F163_IN(z0, z2))
F163_IN(z0, z1) → c23(U11'(f129_in(z0, z1), z0, z1), F129_IN(z0, z1))
U11'(f129_out1, z0, z1) → c24(U12'(f168_in, z0, z1), F168_IN)
K tuples:none
Defined Rule Symbols:
f1_in, U1, f41_in, U2, f129_in, U3, f73_in, U4, f130_in, f168_in, f39_in, U5, U6, f43_in, U7, U8, f160_in, U9, U10, f163_in, U11, U12
Defined Pair Symbols:
F1_IN, F41_IN, F129_IN, F73_IN, F39_IN, U5', F43_IN, U7', F160_IN, U9', F163_IN, U11'
Compound Symbols:
c1, c3, c6, c10, c14, c15, c17, c18, c20, c21, c23, c24
(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, z0) → f1_out1
f1_in(z0, z1) → U1(f39_in(z0, z1), z0, z1)
U1(f39_out1(z0), z1, z2) → f1_out1
f41_in(s(z0), s(z1)) → U2(f73_in(z0, z1), s(z0), s(z1))
U2(f73_out1(z0), s(z1), s(z2)) → f41_out1(z0)
f129_in(0, z0) → f129_out1
f129_in(z0, z1) → U3(f160_in(z0, z1), z0, z1)
U3(f160_out1(z0), z1, z2) → f129_out1
f73_in(0, z0) → f73_out1(0)
f73_in(z0, 0) → f73_out1(z0)
f73_in(s(z0), s(z1)) → U4(f73_in(z0, z1), s(z0), s(z1))
U4(f73_out1(z0), s(z1), s(z2)) → f73_out1(z0)
f130_in → f130_out1
f168_in → f168_out1
f39_in(z0, z1) → U5(f41_in(z0, z1), z0, z1)
U5(f41_out1(z0), z1, z2) → U6(f43_in(z0, z2), z1, z2, z0)
U6(f43_out1, z0, z1, z2) → f39_out1(z2)
f43_in(z0, z1) → U7(f129_in(z0, z1), z0, z1)
U7(f129_out1, z0, z1) → U8(f130_in, z0, z1)
U8(f130_out1, z0, z1) → f43_out1
f160_in(z0, z1) → U9(f41_in(z0, z1), z0, z1)
U9(f41_out1(z0), z1, z2) → U10(f163_in(z0, z2), z1, z2, z0)
U10(f163_out1, z0, z1, z2) → f160_out1(z2)
f163_in(z0, z1) → U11(f129_in(z0, z1), z0, z1)
U11(f129_out1, z0, z1) → U12(f168_in, z0, z1)
U12(f168_out1, z0, z1) → f163_out1
Tuples:
F129_IN(z0, z1) → c6(U3'(f160_in(z0, z1), z0, z1), F160_IN(z0, z1))
F73_IN(s(z0), s(z1)) → c10(U4'(f73_in(z0, z1), s(z0), s(z1)), F73_IN(z0, z1))
F160_IN(z0, z1) → c20(U9'(f41_in(z0, z1), z0, z1), F41_IN(z0, z1))
U9'(f41_out1(z0), z1, z2) → c21(U10'(f163_in(z0, z2), z1, z2, z0), F163_IN(z0, z2))
F163_IN(z0, z1) → c23(U11'(f129_in(z0, z1), z0, z1), F129_IN(z0, z1))
F1_IN(z0, z1) → c(U1'(f39_in(z0, z1), z0, z1))
F1_IN(z0, z1) → c(F39_IN(z0, z1))
F41_IN(s(z0), s(z1)) → c(U2'(f73_in(z0, z1), s(z0), s(z1)))
F41_IN(s(z0), s(z1)) → c(F73_IN(z0, z1))
F39_IN(z0, z1) → c(U5'(f41_in(z0, z1), z0, z1))
F39_IN(z0, z1) → c(F41_IN(z0, z1))
U5'(f41_out1(z0), z1, z2) → c(U6'(f43_in(z0, z2), z1, z2, z0))
U5'(f41_out1(z0), z1, z2) → c(F43_IN(z0, z2))
F43_IN(z0, z1) → c(U7'(f129_in(z0, z1), z0, z1))
F43_IN(z0, z1) → c(F129_IN(z0, z1))
U7'(f129_out1, z0, z1) → c(U8'(f130_in, z0, z1))
U7'(f129_out1, z0, z1) → c(F130_IN)
U11'(f129_out1, z0, z1) → c(U12'(f168_in, z0, z1))
U11'(f129_out1, z0, z1) → c(F168_IN)
S tuples:
F129_IN(z0, z1) → c6(U3'(f160_in(z0, z1), z0, z1), F160_IN(z0, z1))
F73_IN(s(z0), s(z1)) → c10(U4'(f73_in(z0, z1), s(z0), s(z1)), F73_IN(z0, z1))
F160_IN(z0, z1) → c20(U9'(f41_in(z0, z1), z0, z1), F41_IN(z0, z1))
U9'(f41_out1(z0), z1, z2) → c21(U10'(f163_in(z0, z2), z1, z2, z0), F163_IN(z0, z2))
F163_IN(z0, z1) → c23(U11'(f129_in(z0, z1), z0, z1), F129_IN(z0, z1))
F1_IN(z0, z1) → c(U1'(f39_in(z0, z1), z0, z1))
F1_IN(z0, z1) → c(F39_IN(z0, z1))
F41_IN(s(z0), s(z1)) → c(U2'(f73_in(z0, z1), s(z0), s(z1)))
F41_IN(s(z0), s(z1)) → c(F73_IN(z0, z1))
F39_IN(z0, z1) → c(U5'(f41_in(z0, z1), z0, z1))
F39_IN(z0, z1) → c(F41_IN(z0, z1))
U5'(f41_out1(z0), z1, z2) → c(U6'(f43_in(z0, z2), z1, z2, z0))
U5'(f41_out1(z0), z1, z2) → c(F43_IN(z0, z2))
F43_IN(z0, z1) → c(U7'(f129_in(z0, z1), z0, z1))
F43_IN(z0, z1) → c(F129_IN(z0, z1))
U7'(f129_out1, z0, z1) → c(U8'(f130_in, z0, z1))
U7'(f129_out1, z0, z1) → c(F130_IN)
U11'(f129_out1, z0, z1) → c(U12'(f168_in, z0, z1))
U11'(f129_out1, z0, z1) → c(F168_IN)
K tuples:none
Defined Rule Symbols:
f1_in, U1, f41_in, U2, f129_in, U3, f73_in, U4, f130_in, f168_in, f39_in, U5, U6, f43_in, U7, U8, f160_in, U9, U10, f163_in, U11, U12
Defined Pair Symbols:
F129_IN, F73_IN, F160_IN, U9', F163_IN, F1_IN, F41_IN, F39_IN, U5', F43_IN, U7', U11'
Compound Symbols:
c6, c10, c20, c21, c23, c
(7) CdtGraphRemoveTrailingTuplepartsProof (BOTH BOUNDS(ID, ID) transformation)
Removed 10 trailing tuple parts
(8) Obligation:
Complexity Dependency Tuples Problem
Rules:
f1_in(0, z0) → f1_out1
f1_in(z0, z1) → U1(f39_in(z0, z1), z0, z1)
U1(f39_out1(z0), z1, z2) → f1_out1
f41_in(s(z0), s(z1)) → U2(f73_in(z0, z1), s(z0), s(z1))
U2(f73_out1(z0), s(z1), s(z2)) → f41_out1(z0)
f129_in(0, z0) → f129_out1
f129_in(z0, z1) → U3(f160_in(z0, z1), z0, z1)
U3(f160_out1(z0), z1, z2) → f129_out1
f73_in(0, z0) → f73_out1(0)
f73_in(z0, 0) → f73_out1(z0)
f73_in(s(z0), s(z1)) → U4(f73_in(z0, z1), s(z0), s(z1))
U4(f73_out1(z0), s(z1), s(z2)) → f73_out1(z0)
f130_in → f130_out1
f168_in → f168_out1
f39_in(z0, z1) → U5(f41_in(z0, z1), z0, z1)
U5(f41_out1(z0), z1, z2) → U6(f43_in(z0, z2), z1, z2, z0)
U6(f43_out1, z0, z1, z2) → f39_out1(z2)
f43_in(z0, z1) → U7(f129_in(z0, z1), z0, z1)
U7(f129_out1, z0, z1) → U8(f130_in, z0, z1)
U8(f130_out1, z0, z1) → f43_out1
f160_in(z0, z1) → U9(f41_in(z0, z1), z0, z1)
U9(f41_out1(z0), z1, z2) → U10(f163_in(z0, z2), z1, z2, z0)
U10(f163_out1, z0, z1, z2) → f160_out1(z2)
f163_in(z0, z1) → U11(f129_in(z0, z1), z0, z1)
U11(f129_out1, z0, z1) → U12(f168_in, z0, z1)
U12(f168_out1, z0, z1) → f163_out1
Tuples:
F160_IN(z0, z1) → c20(U9'(f41_in(z0, z1), z0, z1), F41_IN(z0, z1))
F163_IN(z0, z1) → c23(U11'(f129_in(z0, z1), z0, z1), F129_IN(z0, z1))
F1_IN(z0, z1) → c(F39_IN(z0, z1))
F41_IN(s(z0), s(z1)) → c(F73_IN(z0, z1))
F39_IN(z0, z1) → c(U5'(f41_in(z0, z1), z0, z1))
F39_IN(z0, z1) → c(F41_IN(z0, z1))
U5'(f41_out1(z0), z1, z2) → c(F43_IN(z0, z2))
F43_IN(z0, z1) → c(U7'(f129_in(z0, z1), z0, z1))
F43_IN(z0, z1) → c(F129_IN(z0, z1))
F129_IN(z0, z1) → c6(F160_IN(z0, z1))
F73_IN(s(z0), s(z1)) → c10(F73_IN(z0, z1))
U9'(f41_out1(z0), z1, z2) → c21(F163_IN(z0, z2))
F1_IN(z0, z1) → c
F41_IN(s(z0), s(z1)) → c
U5'(f41_out1(z0), z1, z2) → c
U7'(f129_out1, z0, z1) → c
U11'(f129_out1, z0, z1) → c
S tuples:
F160_IN(z0, z1) → c20(U9'(f41_in(z0, z1), z0, z1), F41_IN(z0, z1))
F163_IN(z0, z1) → c23(U11'(f129_in(z0, z1), z0, z1), F129_IN(z0, z1))
F1_IN(z0, z1) → c(F39_IN(z0, z1))
F41_IN(s(z0), s(z1)) → c(F73_IN(z0, z1))
F39_IN(z0, z1) → c(U5'(f41_in(z0, z1), z0, z1))
F39_IN(z0, z1) → c(F41_IN(z0, z1))
U5'(f41_out1(z0), z1, z2) → c(F43_IN(z0, z2))
F43_IN(z0, z1) → c(U7'(f129_in(z0, z1), z0, z1))
F43_IN(z0, z1) → c(F129_IN(z0, z1))
F129_IN(z0, z1) → c6(F160_IN(z0, z1))
F73_IN(s(z0), s(z1)) → c10(F73_IN(z0, z1))
U9'(f41_out1(z0), z1, z2) → c21(F163_IN(z0, z2))
F1_IN(z0, z1) → c
F41_IN(s(z0), s(z1)) → c
U5'(f41_out1(z0), z1, z2) → c
U7'(f129_out1, z0, z1) → c
U11'(f129_out1, z0, z1) → c
K tuples:none
Defined Rule Symbols:
f1_in, U1, f41_in, U2, f129_in, U3, f73_in, U4, f130_in, f168_in, f39_in, U5, U6, f43_in, U7, U8, f160_in, U9, U10, f163_in, U11, U12
Defined Pair Symbols:
F160_IN, F163_IN, F1_IN, F41_IN, F39_IN, U5', F43_IN, F129_IN, F73_IN, U9', U7', U11'
Compound Symbols:
c20, c23, c, c6, c10, c21, c
(9) CdtKnowledgeProof (EQUIVALENT transformation)
The following tuples could be moved from S to K by knowledge propagation:
F1_IN(z0, z1) → c(F39_IN(z0, z1))
F39_IN(z0, z1) → c(U5'(f41_in(z0, z1), z0, z1))
F39_IN(z0, z1) → c(F41_IN(z0, z1))
U5'(f41_out1(z0), z1, z2) → c(F43_IN(z0, z2))
F43_IN(z0, z1) → c(U7'(f129_in(z0, z1), z0, z1))
F43_IN(z0, z1) → c(F129_IN(z0, z1))
F1_IN(z0, z1) → c
U5'(f41_out1(z0), z1, z2) → c
U7'(f129_out1, z0, z1) → c
U7'(f129_out1, z0, z1) → c
F39_IN(z0, z1) → c(U5'(f41_in(z0, z1), z0, z1))
F39_IN(z0, z1) → c(F41_IN(z0, z1))
U5'(f41_out1(z0), z1, z2) → c(F43_IN(z0, z2))
U5'(f41_out1(z0), z1, z2) → c
F43_IN(z0, z1) → c(U7'(f129_in(z0, z1), z0, z1))
F43_IN(z0, z1) → c(F129_IN(z0, z1))
U7'(f129_out1, z0, z1) → c
U7'(f129_out1, z0, z1) → c
(10) Obligation:
Complexity Dependency Tuples Problem
Rules:
f1_in(0, z0) → f1_out1
f1_in(z0, z1) → U1(f39_in(z0, z1), z0, z1)
U1(f39_out1(z0), z1, z2) → f1_out1
f41_in(s(z0), s(z1)) → U2(f73_in(z0, z1), s(z0), s(z1))
U2(f73_out1(z0), s(z1), s(z2)) → f41_out1(z0)
f129_in(0, z0) → f129_out1
f129_in(z0, z1) → U3(f160_in(z0, z1), z0, z1)
U3(f160_out1(z0), z1, z2) → f129_out1
f73_in(0, z0) → f73_out1(0)
f73_in(z0, 0) → f73_out1(z0)
f73_in(s(z0), s(z1)) → U4(f73_in(z0, z1), s(z0), s(z1))
U4(f73_out1(z0), s(z1), s(z2)) → f73_out1(z0)
f130_in → f130_out1
f168_in → f168_out1
f39_in(z0, z1) → U5(f41_in(z0, z1), z0, z1)
U5(f41_out1(z0), z1, z2) → U6(f43_in(z0, z2), z1, z2, z0)
U6(f43_out1, z0, z1, z2) → f39_out1(z2)
f43_in(z0, z1) → U7(f129_in(z0, z1), z0, z1)
U7(f129_out1, z0, z1) → U8(f130_in, z0, z1)
U8(f130_out1, z0, z1) → f43_out1
f160_in(z0, z1) → U9(f41_in(z0, z1), z0, z1)
U9(f41_out1(z0), z1, z2) → U10(f163_in(z0, z2), z1, z2, z0)
U10(f163_out1, z0, z1, z2) → f160_out1(z2)
f163_in(z0, z1) → U11(f129_in(z0, z1), z0, z1)
U11(f129_out1, z0, z1) → U12(f168_in, z0, z1)
U12(f168_out1, z0, z1) → f163_out1
Tuples:
F160_IN(z0, z1) → c20(U9'(f41_in(z0, z1), z0, z1), F41_IN(z0, z1))
F163_IN(z0, z1) → c23(U11'(f129_in(z0, z1), z0, z1), F129_IN(z0, z1))
F1_IN(z0, z1) → c(F39_IN(z0, z1))
F41_IN(s(z0), s(z1)) → c(F73_IN(z0, z1))
F39_IN(z0, z1) → c(U5'(f41_in(z0, z1), z0, z1))
F39_IN(z0, z1) → c(F41_IN(z0, z1))
U5'(f41_out1(z0), z1, z2) → c(F43_IN(z0, z2))
F43_IN(z0, z1) → c(U7'(f129_in(z0, z1), z0, z1))
F43_IN(z0, z1) → c(F129_IN(z0, z1))
F129_IN(z0, z1) → c6(F160_IN(z0, z1))
F73_IN(s(z0), s(z1)) → c10(F73_IN(z0, z1))
U9'(f41_out1(z0), z1, z2) → c21(F163_IN(z0, z2))
F1_IN(z0, z1) → c
F41_IN(s(z0), s(z1)) → c
U5'(f41_out1(z0), z1, z2) → c
U7'(f129_out1, z0, z1) → c
U11'(f129_out1, z0, z1) → c
S tuples:
F160_IN(z0, z1) → c20(U9'(f41_in(z0, z1), z0, z1), F41_IN(z0, z1))
F163_IN(z0, z1) → c23(U11'(f129_in(z0, z1), z0, z1), F129_IN(z0, z1))
F41_IN(s(z0), s(z1)) → c(F73_IN(z0, z1))
F129_IN(z0, z1) → c6(F160_IN(z0, z1))
F73_IN(s(z0), s(z1)) → c10(F73_IN(z0, z1))
U9'(f41_out1(z0), z1, z2) → c21(F163_IN(z0, z2))
F41_IN(s(z0), s(z1)) → c
U11'(f129_out1, z0, z1) → c
K tuples:
F1_IN(z0, z1) → c(F39_IN(z0, z1))
F39_IN(z0, z1) → c(U5'(f41_in(z0, z1), z0, z1))
F39_IN(z0, z1) → c(F41_IN(z0, z1))
U5'(f41_out1(z0), z1, z2) → c(F43_IN(z0, z2))
F43_IN(z0, z1) → c(U7'(f129_in(z0, z1), z0, z1))
F43_IN(z0, z1) → c(F129_IN(z0, z1))
F1_IN(z0, z1) → c
U5'(f41_out1(z0), z1, z2) → c
U7'(f129_out1, z0, z1) → c
Defined Rule Symbols:
f1_in, U1, f41_in, U2, f129_in, U3, f73_in, U4, f130_in, f168_in, f39_in, U5, U6, f43_in, U7, U8, f160_in, U9, U10, f163_in, U11, U12
Defined Pair Symbols:
F160_IN, F163_IN, F1_IN, F41_IN, F39_IN, U5', F43_IN, F129_IN, F73_IN, U9', U7', U11'
Compound Symbols:
c20, c23, c, c6, c10, c21, c
(11) CdtNarrowingProof (BOTH BOUNDS(ID, ID) transformation)
Use narrowing to replace
F160_IN(
z0,
z1) →
c20(
U9'(
f41_in(
z0,
z1),
z0,
z1),
F41_IN(
z0,
z1)) by
F160_IN(s(z0), s(z1)) → c20(U9'(U2(f73_in(z0, z1), s(z0), s(z1)), s(z0), s(z1)), F41_IN(s(z0), s(z1)))
(12) Obligation:
Complexity Dependency Tuples Problem
Rules:
f1_in(0, z0) → f1_out1
f1_in(z0, z1) → U1(f39_in(z0, z1), z0, z1)
U1(f39_out1(z0), z1, z2) → f1_out1
f41_in(s(z0), s(z1)) → U2(f73_in(z0, z1), s(z0), s(z1))
U2(f73_out1(z0), s(z1), s(z2)) → f41_out1(z0)
f129_in(0, z0) → f129_out1
f129_in(z0, z1) → U3(f160_in(z0, z1), z0, z1)
U3(f160_out1(z0), z1, z2) → f129_out1
f73_in(0, z0) → f73_out1(0)
f73_in(z0, 0) → f73_out1(z0)
f73_in(s(z0), s(z1)) → U4(f73_in(z0, z1), s(z0), s(z1))
U4(f73_out1(z0), s(z1), s(z2)) → f73_out1(z0)
f130_in → f130_out1
f168_in → f168_out1
f39_in(z0, z1) → U5(f41_in(z0, z1), z0, z1)
U5(f41_out1(z0), z1, z2) → U6(f43_in(z0, z2), z1, z2, z0)
U6(f43_out1, z0, z1, z2) → f39_out1(z2)
f43_in(z0, z1) → U7(f129_in(z0, z1), z0, z1)
U7(f129_out1, z0, z1) → U8(f130_in, z0, z1)
U8(f130_out1, z0, z1) → f43_out1
f160_in(z0, z1) → U9(f41_in(z0, z1), z0, z1)
U9(f41_out1(z0), z1, z2) → U10(f163_in(z0, z2), z1, z2, z0)
U10(f163_out1, z0, z1, z2) → f160_out1(z2)
f163_in(z0, z1) → U11(f129_in(z0, z1), z0, z1)
U11(f129_out1, z0, z1) → U12(f168_in, z0, z1)
U12(f168_out1, z0, z1) → f163_out1
Tuples:
F163_IN(z0, z1) → c23(U11'(f129_in(z0, z1), z0, z1), F129_IN(z0, z1))
F1_IN(z0, z1) → c(F39_IN(z0, z1))
F41_IN(s(z0), s(z1)) → c(F73_IN(z0, z1))
F39_IN(z0, z1) → c(U5'(f41_in(z0, z1), z0, z1))
F39_IN(z0, z1) → c(F41_IN(z0, z1))
U5'(f41_out1(z0), z1, z2) → c(F43_IN(z0, z2))
F43_IN(z0, z1) → c(U7'(f129_in(z0, z1), z0, z1))
F43_IN(z0, z1) → c(F129_IN(z0, z1))
F129_IN(z0, z1) → c6(F160_IN(z0, z1))
F73_IN(s(z0), s(z1)) → c10(F73_IN(z0, z1))
U9'(f41_out1(z0), z1, z2) → c21(F163_IN(z0, z2))
F1_IN(z0, z1) → c
F41_IN(s(z0), s(z1)) → c
U5'(f41_out1(z0), z1, z2) → c
U7'(f129_out1, z0, z1) → c
U11'(f129_out1, z0, z1) → c
F160_IN(s(z0), s(z1)) → c20(U9'(U2(f73_in(z0, z1), s(z0), s(z1)), s(z0), s(z1)), F41_IN(s(z0), s(z1)))
S tuples:
F163_IN(z0, z1) → c23(U11'(f129_in(z0, z1), z0, z1), F129_IN(z0, z1))
F41_IN(s(z0), s(z1)) → c(F73_IN(z0, z1))
F129_IN(z0, z1) → c6(F160_IN(z0, z1))
F73_IN(s(z0), s(z1)) → c10(F73_IN(z0, z1))
U9'(f41_out1(z0), z1, z2) → c21(F163_IN(z0, z2))
F41_IN(s(z0), s(z1)) → c
U11'(f129_out1, z0, z1) → c
F160_IN(s(z0), s(z1)) → c20(U9'(U2(f73_in(z0, z1), s(z0), s(z1)), s(z0), s(z1)), F41_IN(s(z0), s(z1)))
K tuples:
F1_IN(z0, z1) → c(F39_IN(z0, z1))
F39_IN(z0, z1) → c(U5'(f41_in(z0, z1), z0, z1))
F39_IN(z0, z1) → c(F41_IN(z0, z1))
U5'(f41_out1(z0), z1, z2) → c(F43_IN(z0, z2))
F43_IN(z0, z1) → c(U7'(f129_in(z0, z1), z0, z1))
F43_IN(z0, z1) → c(F129_IN(z0, z1))
F1_IN(z0, z1) → c
U5'(f41_out1(z0), z1, z2) → c
U7'(f129_out1, z0, z1) → c
Defined Rule Symbols:
f1_in, U1, f41_in, U2, f129_in, U3, f73_in, U4, f130_in, f168_in, f39_in, U5, U6, f43_in, U7, U8, f160_in, U9, U10, f163_in, U11, U12
Defined Pair Symbols:
F163_IN, F1_IN, F41_IN, F39_IN, U5', F43_IN, F129_IN, F73_IN, U9', U7', U11', F160_IN
Compound Symbols:
c23, c, c6, c10, c21, c, c20
(13) CdtGraphRemoveDanglingProof (ComplexityIfPolyImplication transformation)
Removed 6 of 18 dangling nodes:
F1_IN(z0, z1) → c(F39_IN(z0, z1))
F39_IN(z0, z1) → c(F41_IN(z0, z1))
U7'(f129_out1, z0, z1) → c
U5'(f41_out1(z0), z1, z2) → c
F43_IN(z0, z1) → c(U7'(f129_in(z0, z1), z0, z1))
F1_IN(z0, z1) → c
(14) Obligation:
Complexity Dependency Tuples Problem
Rules:
f1_in(0, z0) → f1_out1
f1_in(z0, z1) → U1(f39_in(z0, z1), z0, z1)
U1(f39_out1(z0), z1, z2) → f1_out1
f41_in(s(z0), s(z1)) → U2(f73_in(z0, z1), s(z0), s(z1))
U2(f73_out1(z0), s(z1), s(z2)) → f41_out1(z0)
f129_in(0, z0) → f129_out1
f129_in(z0, z1) → U3(f160_in(z0, z1), z0, z1)
U3(f160_out1(z0), z1, z2) → f129_out1
f73_in(0, z0) → f73_out1(0)
f73_in(z0, 0) → f73_out1(z0)
f73_in(s(z0), s(z1)) → U4(f73_in(z0, z1), s(z0), s(z1))
U4(f73_out1(z0), s(z1), s(z2)) → f73_out1(z0)
f130_in → f130_out1
f168_in → f168_out1
f39_in(z0, z1) → U5(f41_in(z0, z1), z0, z1)
U5(f41_out1(z0), z1, z2) → U6(f43_in(z0, z2), z1, z2, z0)
U6(f43_out1, z0, z1, z2) → f39_out1(z2)
f43_in(z0, z1) → U7(f129_in(z0, z1), z0, z1)
U7(f129_out1, z0, z1) → U8(f130_in, z0, z1)
U8(f130_out1, z0, z1) → f43_out1
f160_in(z0, z1) → U9(f41_in(z0, z1), z0, z1)
U9(f41_out1(z0), z1, z2) → U10(f163_in(z0, z2), z1, z2, z0)
U10(f163_out1, z0, z1, z2) → f160_out1(z2)
f163_in(z0, z1) → U11(f129_in(z0, z1), z0, z1)
U11(f129_out1, z0, z1) → U12(f168_in, z0, z1)
U12(f168_out1, z0, z1) → f163_out1
Tuples:
F163_IN(z0, z1) → c23(U11'(f129_in(z0, z1), z0, z1), F129_IN(z0, z1))
F41_IN(s(z0), s(z1)) → c(F73_IN(z0, z1))
F39_IN(z0, z1) → c(U5'(f41_in(z0, z1), z0, z1))
U5'(f41_out1(z0), z1, z2) → c(F43_IN(z0, z2))
F43_IN(z0, z1) → c(F129_IN(z0, z1))
F129_IN(z0, z1) → c6(F160_IN(z0, z1))
F73_IN(s(z0), s(z1)) → c10(F73_IN(z0, z1))
U9'(f41_out1(z0), z1, z2) → c21(F163_IN(z0, z2))
F41_IN(s(z0), s(z1)) → c
U11'(f129_out1, z0, z1) → c
F160_IN(s(z0), s(z1)) → c20(U9'(U2(f73_in(z0, z1), s(z0), s(z1)), s(z0), s(z1)), F41_IN(s(z0), s(z1)))
S tuples:
F163_IN(z0, z1) → c23(U11'(f129_in(z0, z1), z0, z1), F129_IN(z0, z1))
F41_IN(s(z0), s(z1)) → c(F73_IN(z0, z1))
F129_IN(z0, z1) → c6(F160_IN(z0, z1))
F73_IN(s(z0), s(z1)) → c10(F73_IN(z0, z1))
U9'(f41_out1(z0), z1, z2) → c21(F163_IN(z0, z2))
F41_IN(s(z0), s(z1)) → c
U11'(f129_out1, z0, z1) → c
F160_IN(s(z0), s(z1)) → c20(U9'(U2(f73_in(z0, z1), s(z0), s(z1)), s(z0), s(z1)), F41_IN(s(z0), s(z1)))
K tuples:
F39_IN(z0, z1) → c(U5'(f41_in(z0, z1), z0, z1))
U5'(f41_out1(z0), z1, z2) → c(F43_IN(z0, z2))
F43_IN(z0, z1) → c(F129_IN(z0, z1))
Defined Rule Symbols:
f1_in, U1, f41_in, U2, f129_in, U3, f73_in, U4, f130_in, f168_in, f39_in, U5, U6, f43_in, U7, U8, f160_in, U9, U10, f163_in, U11, U12
Defined Pair Symbols:
F163_IN, F41_IN, F39_IN, U5', F43_IN, F129_IN, F73_IN, U9', U11', F160_IN
Compound Symbols:
c23, c, c6, c10, c21, c, c20
(15) CdtGraphSplitRhsProof (BOTH BOUNDS(ID, ID) transformation)
Split RHS of tuples not part of any SCC
(16) Obligation:
Complexity Dependency Tuples Problem
Rules:
f1_in(0, z0) → f1_out1
f1_in(z0, z1) → U1(f39_in(z0, z1), z0, z1)
U1(f39_out1(z0), z1, z2) → f1_out1
f41_in(s(z0), s(z1)) → U2(f73_in(z0, z1), s(z0), s(z1))
U2(f73_out1(z0), s(z1), s(z2)) → f41_out1(z0)
f129_in(0, z0) → f129_out1
f129_in(z0, z1) → U3(f160_in(z0, z1), z0, z1)
U3(f160_out1(z0), z1, z2) → f129_out1
f73_in(0, z0) → f73_out1(0)
f73_in(z0, 0) → f73_out1(z0)
f73_in(s(z0), s(z1)) → U4(f73_in(z0, z1), s(z0), s(z1))
U4(f73_out1(z0), s(z1), s(z2)) → f73_out1(z0)
f130_in → f130_out1
f168_in → f168_out1
f39_in(z0, z1) → U5(f41_in(z0, z1), z0, z1)
U5(f41_out1(z0), z1, z2) → U6(f43_in(z0, z2), z1, z2, z0)
U6(f43_out1, z0, z1, z2) → f39_out1(z2)
f43_in(z0, z1) → U7(f129_in(z0, z1), z0, z1)
U7(f129_out1, z0, z1) → U8(f130_in, z0, z1)
U8(f130_out1, z0, z1) → f43_out1
f160_in(z0, z1) → U9(f41_in(z0, z1), z0, z1)
U9(f41_out1(z0), z1, z2) → U10(f163_in(z0, z2), z1, z2, z0)
U10(f163_out1, z0, z1, z2) → f160_out1(z2)
f163_in(z0, z1) → U11(f129_in(z0, z1), z0, z1)
U11(f129_out1, z0, z1) → U12(f168_in, z0, z1)
U12(f168_out1, z0, z1) → f163_out1
Tuples:
F163_IN(z0, z1) → c23(U11'(f129_in(z0, z1), z0, z1), F129_IN(z0, z1))
F41_IN(s(z0), s(z1)) → c(F73_IN(z0, z1))
F39_IN(z0, z1) → c(U5'(f41_in(z0, z1), z0, z1))
U5'(f41_out1(z0), z1, z2) → c(F43_IN(z0, z2))
F43_IN(z0, z1) → c(F129_IN(z0, z1))
F129_IN(z0, z1) → c6(F160_IN(z0, z1))
F73_IN(s(z0), s(z1)) → c10(F73_IN(z0, z1))
U9'(f41_out1(z0), z1, z2) → c21(F163_IN(z0, z2))
F160_IN(s(z0), s(z1)) → c20(U9'(U2(f73_in(z0, z1), s(z0), s(z1)), s(z0), s(z1)), F41_IN(s(z0), s(z1)))
S tuples:
F163_IN(z0, z1) → c23(U11'(f129_in(z0, z1), z0, z1), F129_IN(z0, z1))
F41_IN(s(z0), s(z1)) → c(F73_IN(z0, z1))
F129_IN(z0, z1) → c6(F160_IN(z0, z1))
F73_IN(s(z0), s(z1)) → c10(F73_IN(z0, z1))
U9'(f41_out1(z0), z1, z2) → c21(F163_IN(z0, z2))
F160_IN(s(z0), s(z1)) → c20(U9'(U2(f73_in(z0, z1), s(z0), s(z1)), s(z0), s(z1)), F41_IN(s(z0), s(z1)))
K tuples:
F39_IN(z0, z1) → c(U5'(f41_in(z0, z1), z0, z1))
U5'(f41_out1(z0), z1, z2) → c(F43_IN(z0, z2))
F43_IN(z0, z1) → c(F129_IN(z0, z1))
Defined Rule Symbols:
f1_in, U1, f41_in, U2, f129_in, U3, f73_in, U4, f130_in, f168_in, f39_in, U5, U6, f43_in, U7, U8, f160_in, U9, U10, f163_in, U11, U12
Defined Pair Symbols:
F163_IN, F41_IN, F39_IN, U5', F43_IN, F129_IN, F73_IN, U9', F160_IN
Compound Symbols:
c23, c, c6, c10, c21, c20
(17) CdtGraphRemoveTrailingTuplepartsProof (BOTH BOUNDS(ID, ID) transformation)
Removed 1 trailing tuple parts
(18) Obligation:
Complexity Dependency Tuples Problem
Rules:
f1_in(0, z0) → f1_out1
f1_in(z0, z1) → U1(f39_in(z0, z1), z0, z1)
U1(f39_out1(z0), z1, z2) → f1_out1
f41_in(s(z0), s(z1)) → U2(f73_in(z0, z1), s(z0), s(z1))
U2(f73_out1(z0), s(z1), s(z2)) → f41_out1(z0)
f129_in(0, z0) → f129_out1
f129_in(z0, z1) → U3(f160_in(z0, z1), z0, z1)
U3(f160_out1(z0), z1, z2) → f129_out1
f73_in(0, z0) → f73_out1(0)
f73_in(z0, 0) → f73_out1(z0)
f73_in(s(z0), s(z1)) → U4(f73_in(z0, z1), s(z0), s(z1))
U4(f73_out1(z0), s(z1), s(z2)) → f73_out1(z0)
f130_in → f130_out1
f168_in → f168_out1
f39_in(z0, z1) → U5(f41_in(z0, z1), z0, z1)
U5(f41_out1(z0), z1, z2) → U6(f43_in(z0, z2), z1, z2, z0)
U6(f43_out1, z0, z1, z2) → f39_out1(z2)
f43_in(z0, z1) → U7(f129_in(z0, z1), z0, z1)
U7(f129_out1, z0, z1) → U8(f130_in, z0, z1)
U8(f130_out1, z0, z1) → f43_out1
f160_in(z0, z1) → U9(f41_in(z0, z1), z0, z1)
U9(f41_out1(z0), z1, z2) → U10(f163_in(z0, z2), z1, z2, z0)
U10(f163_out1, z0, z1, z2) → f160_out1(z2)
f163_in(z0, z1) → U11(f129_in(z0, z1), z0, z1)
U11(f129_out1, z0, z1) → U12(f168_in, z0, z1)
U12(f168_out1, z0, z1) → f163_out1
Tuples:
F41_IN(s(z0), s(z1)) → c(F73_IN(z0, z1))
F39_IN(z0, z1) → c(U5'(f41_in(z0, z1), z0, z1))
U5'(f41_out1(z0), z1, z2) → c(F43_IN(z0, z2))
F43_IN(z0, z1) → c(F129_IN(z0, z1))
F129_IN(z0, z1) → c6(F160_IN(z0, z1))
F73_IN(s(z0), s(z1)) → c10(F73_IN(z0, z1))
U9'(f41_out1(z0), z1, z2) → c21(F163_IN(z0, z2))
F160_IN(s(z0), s(z1)) → c20(U9'(U2(f73_in(z0, z1), s(z0), s(z1)), s(z0), s(z1)), F41_IN(s(z0), s(z1)))
F163_IN(z0, z1) → c23(F129_IN(z0, z1))
S tuples:
F41_IN(s(z0), s(z1)) → c(F73_IN(z0, z1))
F129_IN(z0, z1) → c6(F160_IN(z0, z1))
F73_IN(s(z0), s(z1)) → c10(F73_IN(z0, z1))
U9'(f41_out1(z0), z1, z2) → c21(F163_IN(z0, z2))
F160_IN(s(z0), s(z1)) → c20(U9'(U2(f73_in(z0, z1), s(z0), s(z1)), s(z0), s(z1)), F41_IN(s(z0), s(z1)))
F163_IN(z0, z1) → c23(F129_IN(z0, z1))
K tuples:
F39_IN(z0, z1) → c(U5'(f41_in(z0, z1), z0, z1))
U5'(f41_out1(z0), z1, z2) → c(F43_IN(z0, z2))
F43_IN(z0, z1) → c(F129_IN(z0, z1))
Defined Rule Symbols:
f1_in, U1, f41_in, U2, f129_in, U3, f73_in, U4, f130_in, f168_in, f39_in, U5, U6, f43_in, U7, U8, f160_in, U9, U10, f163_in, U11, U12
Defined Pair Symbols:
F41_IN, F39_IN, U5', F43_IN, F129_IN, F73_IN, U9', F160_IN, F163_IN
Compound Symbols:
c, c6, c10, c21, c20, c23
(19) 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.
U9'(f41_out1(z0), z1, z2) → c21(F163_IN(z0, z2))
We considered the (Usable) Rules:
f73_in(0, z0) → f73_out1(0)
f73_in(z0, 0) → f73_out1(z0)
f73_in(s(z0), s(z1)) → U4(f73_in(z0, z1), s(z0), s(z1))
U2(f73_out1(z0), s(z1), s(z2)) → f41_out1(z0)
U4(f73_out1(z0), s(z1), s(z2)) → f73_out1(z0)
f41_in(s(z0), s(z1)) → U2(f73_in(z0, z1), s(z0), s(z1))
And the Tuples:
F41_IN(s(z0), s(z1)) → c(F73_IN(z0, z1))
F39_IN(z0, z1) → c(U5'(f41_in(z0, z1), z0, z1))
U5'(f41_out1(z0), z1, z2) → c(F43_IN(z0, z2))
F43_IN(z0, z1) → c(F129_IN(z0, z1))
F129_IN(z0, z1) → c6(F160_IN(z0, z1))
F73_IN(s(z0), s(z1)) → c10(F73_IN(z0, z1))
U9'(f41_out1(z0), z1, z2) → c21(F163_IN(z0, z2))
F160_IN(s(z0), s(z1)) → c20(U9'(U2(f73_in(z0, z1), s(z0), s(z1)), s(z0), s(z1)), F41_IN(s(z0), s(z1)))
F163_IN(z0, z1) → c23(F129_IN(z0, z1))
The order we found is given by the following interpretation:
Polynomial interpretation :
POL(0) = 0
POL(F129_IN(x1, x2)) = [3] + [3]x1
POL(F160_IN(x1, x2)) = [3] + [3]x1
POL(F163_IN(x1, x2)) = [3] + [3]x1
POL(F39_IN(x1, x2)) = [3] + [3]x1 + [2]x2
POL(F41_IN(x1, x2)) = 0
POL(F43_IN(x1, x2)) = [3] + [3]x1 + [2]x2
POL(F73_IN(x1, x2)) = 0
POL(U2(x1, x2, x3)) = x1
POL(U4(x1, x2, x3)) = x1
POL(U5'(x1, x2, x3)) = [3]x1 + [2]x3
POL(U9'(x1, x2, x3)) = [3]x1
POL(c(x1)) = x1
POL(c10(x1)) = x1
POL(c20(x1, x2)) = x1 + x2
POL(c21(x1)) = x1
POL(c23(x1)) = x1
POL(c6(x1)) = x1
POL(f41_in(x1, x2)) = [1] + x1
POL(f41_out1(x1)) = [2] + x1
POL(f73_in(x1, x2)) = [3] + x1
POL(f73_out1(x1)) = [2] + x1
POL(s(x1)) = [2] + x1
(20) Obligation:
Complexity Dependency Tuples Problem
Rules:
f1_in(0, z0) → f1_out1
f1_in(z0, z1) → U1(f39_in(z0, z1), z0, z1)
U1(f39_out1(z0), z1, z2) → f1_out1
f41_in(s(z0), s(z1)) → U2(f73_in(z0, z1), s(z0), s(z1))
U2(f73_out1(z0), s(z1), s(z2)) → f41_out1(z0)
f129_in(0, z0) → f129_out1
f129_in(z0, z1) → U3(f160_in(z0, z1), z0, z1)
U3(f160_out1(z0), z1, z2) → f129_out1
f73_in(0, z0) → f73_out1(0)
f73_in(z0, 0) → f73_out1(z0)
f73_in(s(z0), s(z1)) → U4(f73_in(z0, z1), s(z0), s(z1))
U4(f73_out1(z0), s(z1), s(z2)) → f73_out1(z0)
f130_in → f130_out1
f168_in → f168_out1
f39_in(z0, z1) → U5(f41_in(z0, z1), z0, z1)
U5(f41_out1(z0), z1, z2) → U6(f43_in(z0, z2), z1, z2, z0)
U6(f43_out1, z0, z1, z2) → f39_out1(z2)
f43_in(z0, z1) → U7(f129_in(z0, z1), z0, z1)
U7(f129_out1, z0, z1) → U8(f130_in, z0, z1)
U8(f130_out1, z0, z1) → f43_out1
f160_in(z0, z1) → U9(f41_in(z0, z1), z0, z1)
U9(f41_out1(z0), z1, z2) → U10(f163_in(z0, z2), z1, z2, z0)
U10(f163_out1, z0, z1, z2) → f160_out1(z2)
f163_in(z0, z1) → U11(f129_in(z0, z1), z0, z1)
U11(f129_out1, z0, z1) → U12(f168_in, z0, z1)
U12(f168_out1, z0, z1) → f163_out1
Tuples:
F41_IN(s(z0), s(z1)) → c(F73_IN(z0, z1))
F39_IN(z0, z1) → c(U5'(f41_in(z0, z1), z0, z1))
U5'(f41_out1(z0), z1, z2) → c(F43_IN(z0, z2))
F43_IN(z0, z1) → c(F129_IN(z0, z1))
F129_IN(z0, z1) → c6(F160_IN(z0, z1))
F73_IN(s(z0), s(z1)) → c10(F73_IN(z0, z1))
U9'(f41_out1(z0), z1, z2) → c21(F163_IN(z0, z2))
F160_IN(s(z0), s(z1)) → c20(U9'(U2(f73_in(z0, z1), s(z0), s(z1)), s(z0), s(z1)), F41_IN(s(z0), s(z1)))
F163_IN(z0, z1) → c23(F129_IN(z0, z1))
S tuples:
F41_IN(s(z0), s(z1)) → c(F73_IN(z0, z1))
F129_IN(z0, z1) → c6(F160_IN(z0, z1))
F73_IN(s(z0), s(z1)) → c10(F73_IN(z0, z1))
F160_IN(s(z0), s(z1)) → c20(U9'(U2(f73_in(z0, z1), s(z0), s(z1)), s(z0), s(z1)), F41_IN(s(z0), s(z1)))
F163_IN(z0, z1) → c23(F129_IN(z0, z1))
K tuples:
F39_IN(z0, z1) → c(U5'(f41_in(z0, z1), z0, z1))
U5'(f41_out1(z0), z1, z2) → c(F43_IN(z0, z2))
F43_IN(z0, z1) → c(F129_IN(z0, z1))
U9'(f41_out1(z0), z1, z2) → c21(F163_IN(z0, z2))
Defined Rule Symbols:
f1_in, U1, f41_in, U2, f129_in, U3, f73_in, U4, f130_in, f168_in, f39_in, U5, U6, f43_in, U7, U8, f160_in, U9, U10, f163_in, U11, U12
Defined Pair Symbols:
F41_IN, F39_IN, U5', F43_IN, F129_IN, F73_IN, U9', F160_IN, F163_IN
Compound Symbols:
c, c6, c10, c21, c20, c23
(21) CdtKnowledgeProof (EQUIVALENT transformation)
The following tuples could be moved from S to K by knowledge propagation:
F163_IN(z0, z1) → c23(F129_IN(z0, z1))
F129_IN(z0, z1) → c6(F160_IN(z0, z1))
F160_IN(s(z0), s(z1)) → c20(U9'(U2(f73_in(z0, z1), s(z0), s(z1)), s(z0), s(z1)), F41_IN(s(z0), s(z1)))
F41_IN(s(z0), s(z1)) → c(F73_IN(z0, z1))
U9'(f41_out1(z0), z1, z2) → c21(F163_IN(z0, z2))
(22) Obligation:
Complexity Dependency Tuples Problem
Rules:
f1_in(0, z0) → f1_out1
f1_in(z0, z1) → U1(f39_in(z0, z1), z0, z1)
U1(f39_out1(z0), z1, z2) → f1_out1
f41_in(s(z0), s(z1)) → U2(f73_in(z0, z1), s(z0), s(z1))
U2(f73_out1(z0), s(z1), s(z2)) → f41_out1(z0)
f129_in(0, z0) → f129_out1
f129_in(z0, z1) → U3(f160_in(z0, z1), z0, z1)
U3(f160_out1(z0), z1, z2) → f129_out1
f73_in(0, z0) → f73_out1(0)
f73_in(z0, 0) → f73_out1(z0)
f73_in(s(z0), s(z1)) → U4(f73_in(z0, z1), s(z0), s(z1))
U4(f73_out1(z0), s(z1), s(z2)) → f73_out1(z0)
f130_in → f130_out1
f168_in → f168_out1
f39_in(z0, z1) → U5(f41_in(z0, z1), z0, z1)
U5(f41_out1(z0), z1, z2) → U6(f43_in(z0, z2), z1, z2, z0)
U6(f43_out1, z0, z1, z2) → f39_out1(z2)
f43_in(z0, z1) → U7(f129_in(z0, z1), z0, z1)
U7(f129_out1, z0, z1) → U8(f130_in, z0, z1)
U8(f130_out1, z0, z1) → f43_out1
f160_in(z0, z1) → U9(f41_in(z0, z1), z0, z1)
U9(f41_out1(z0), z1, z2) → U10(f163_in(z0, z2), z1, z2, z0)
U10(f163_out1, z0, z1, z2) → f160_out1(z2)
f163_in(z0, z1) → U11(f129_in(z0, z1), z0, z1)
U11(f129_out1, z0, z1) → U12(f168_in, z0, z1)
U12(f168_out1, z0, z1) → f163_out1
Tuples:
F41_IN(s(z0), s(z1)) → c(F73_IN(z0, z1))
F39_IN(z0, z1) → c(U5'(f41_in(z0, z1), z0, z1))
U5'(f41_out1(z0), z1, z2) → c(F43_IN(z0, z2))
F43_IN(z0, z1) → c(F129_IN(z0, z1))
F129_IN(z0, z1) → c6(F160_IN(z0, z1))
F73_IN(s(z0), s(z1)) → c10(F73_IN(z0, z1))
U9'(f41_out1(z0), z1, z2) → c21(F163_IN(z0, z2))
F160_IN(s(z0), s(z1)) → c20(U9'(U2(f73_in(z0, z1), s(z0), s(z1)), s(z0), s(z1)), F41_IN(s(z0), s(z1)))
F163_IN(z0, z1) → c23(F129_IN(z0, z1))
S tuples:
F73_IN(s(z0), s(z1)) → c10(F73_IN(z0, z1))
K tuples:
F39_IN(z0, z1) → c(U5'(f41_in(z0, z1), z0, z1))
U5'(f41_out1(z0), z1, z2) → c(F43_IN(z0, z2))
F43_IN(z0, z1) → c(F129_IN(z0, z1))
U9'(f41_out1(z0), z1, z2) → c21(F163_IN(z0, z2))
F163_IN(z0, z1) → c23(F129_IN(z0, z1))
F129_IN(z0, z1) → c6(F160_IN(z0, z1))
F160_IN(s(z0), s(z1)) → c20(U9'(U2(f73_in(z0, z1), s(z0), s(z1)), s(z0), s(z1)), F41_IN(s(z0), s(z1)))
F41_IN(s(z0), s(z1)) → c(F73_IN(z0, z1))
Defined Rule Symbols:
f1_in, U1, f41_in, U2, f129_in, U3, f73_in, U4, f130_in, f168_in, f39_in, U5, U6, f43_in, U7, U8, f160_in, U9, U10, f163_in, U11, U12
Defined Pair Symbols:
F41_IN, F39_IN, U5', F43_IN, F129_IN, F73_IN, U9', F160_IN, F163_IN
Compound Symbols:
c, c6, c10, c21, c20, c23
(23) PrologToCdtProblemTransformerProof (UPPER BOUND (ID) transformation)
Built complexity over-approximating cdt problems from derivation graph.
(24) Obligation:
Complexity Dependency Tuples Problem
Rules:
f2_in(0, z0) → f2_out1
f2_in(z0, z1) → U1(f40_in(z0, z1), z0, z1)
U1(f40_out1(z0), z1, z2) → f2_out1
f42_in(s(z0), s(z1)) → U2(f74_in(z0, z1), s(z0), s(z1))
U2(f74_out1(z0), s(z1), s(z2)) → f42_out1(z0)
f131_in(0, z0) → f131_out1
f131_in(z0, z1) → U3(f164_in(z0, z1), z0, z1)
U3(f164_out1(z0), z1, z2) → f131_out1
f74_in(0, z0) → f74_out1(0)
f74_in(z0, 0) → f74_out1(z0)
f74_in(s(z0), s(z1)) → U4(f74_in(z0, z1), s(z0), s(z1))
U4(f74_out1(z0), s(z1), s(z2)) → f74_out1(z0)
f132_in → f132_out1
f174_in → f174_out1
f40_in(z0, z1) → U5(f42_in(z0, z1), z0, z1)
U5(f42_out1(z0), z1, z2) → U6(f44_in(z0, z2), z1, z2, z0)
U6(f44_out1, z0, z1, z2) → f40_out1(z2)
f44_in(z0, z1) → U7(f131_in(z0, z1), z0, z1)
U7(f131_out1, z0, z1) → U8(f132_in, z0, z1)
U8(f132_out1, z0, z1) → f44_out1
f164_in(z0, z1) → U9(f42_in(z0, z1), z0, z1)
U9(f42_out1(z0), z1, z2) → U10(f166_in(z0, z2), z1, z2, z0)
U10(f166_out1, z0, z1, z2) → f164_out1(z2)
f166_in(z0, z1) → U11(f131_in(z0, z1), z0, z1)
U11(f131_out1, z0, z1) → U12(f174_in, z0, z1)
U12(f174_out1, z0, z1) → f166_out1
Tuples:
F2_IN(z0, z1) → c1(U1'(f40_in(z0, z1), z0, z1), F40_IN(z0, z1))
F42_IN(s(z0), s(z1)) → c3(U2'(f74_in(z0, z1), s(z0), s(z1)), F74_IN(z0, z1))
F131_IN(z0, z1) → c6(U3'(f164_in(z0, z1), z0, z1), F164_IN(z0, z1))
F74_IN(s(z0), s(z1)) → c10(U4'(f74_in(z0, z1), s(z0), s(z1)), F74_IN(z0, z1))
F40_IN(z0, z1) → c14(U5'(f42_in(z0, z1), z0, z1), F42_IN(z0, z1))
U5'(f42_out1(z0), z1, z2) → c15(U6'(f44_in(z0, z2), z1, z2, z0), F44_IN(z0, z2))
F44_IN(z0, z1) → c17(U7'(f131_in(z0, z1), z0, z1), F131_IN(z0, z1))
U7'(f131_out1, z0, z1) → c18(U8'(f132_in, z0, z1), F132_IN)
F164_IN(z0, z1) → c20(U9'(f42_in(z0, z1), z0, z1), F42_IN(z0, z1))
U9'(f42_out1(z0), z1, z2) → c21(U10'(f166_in(z0, z2), z1, z2, z0), F166_IN(z0, z2))
F166_IN(z0, z1) → c23(U11'(f131_in(z0, z1), z0, z1), F131_IN(z0, z1))
U11'(f131_out1, z0, z1) → c24(U12'(f174_in, z0, z1), F174_IN)
S tuples:
F2_IN(z0, z1) → c1(U1'(f40_in(z0, z1), z0, z1), F40_IN(z0, z1))
F42_IN(s(z0), s(z1)) → c3(U2'(f74_in(z0, z1), s(z0), s(z1)), F74_IN(z0, z1))
F131_IN(z0, z1) → c6(U3'(f164_in(z0, z1), z0, z1), F164_IN(z0, z1))
F74_IN(s(z0), s(z1)) → c10(U4'(f74_in(z0, z1), s(z0), s(z1)), F74_IN(z0, z1))
F40_IN(z0, z1) → c14(U5'(f42_in(z0, z1), z0, z1), F42_IN(z0, z1))
U5'(f42_out1(z0), z1, z2) → c15(U6'(f44_in(z0, z2), z1, z2, z0), F44_IN(z0, z2))
F44_IN(z0, z1) → c17(U7'(f131_in(z0, z1), z0, z1), F131_IN(z0, z1))
U7'(f131_out1, z0, z1) → c18(U8'(f132_in, z0, z1), F132_IN)
F164_IN(z0, z1) → c20(U9'(f42_in(z0, z1), z0, z1), F42_IN(z0, z1))
U9'(f42_out1(z0), z1, z2) → c21(U10'(f166_in(z0, z2), z1, z2, z0), F166_IN(z0, z2))
F166_IN(z0, z1) → c23(U11'(f131_in(z0, z1), z0, z1), F131_IN(z0, z1))
U11'(f131_out1, z0, z1) → c24(U12'(f174_in, z0, z1), F174_IN)
K tuples:none
Defined Rule Symbols:
f2_in, U1, f42_in, U2, f131_in, U3, f74_in, U4, f132_in, f174_in, f40_in, U5, U6, f44_in, U7, U8, f164_in, U9, U10, f166_in, U11, U12
Defined Pair Symbols:
F2_IN, F42_IN, F131_IN, F74_IN, F40_IN, U5', F44_IN, U7', F164_IN, U9', F166_IN, U11'
Compound Symbols:
c1, c3, c6, c10, c14, c15, c17, c18, c20, c21, c23, c24
(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(0, z0) → f2_out1
f2_in(z0, z1) → U1(f40_in(z0, z1), z0, z1)
U1(f40_out1(z0), z1, z2) → f2_out1
f42_in(s(z0), s(z1)) → U2(f74_in(z0, z1), s(z0), s(z1))
U2(f74_out1(z0), s(z1), s(z2)) → f42_out1(z0)
f131_in(0, z0) → f131_out1
f131_in(z0, z1) → U3(f164_in(z0, z1), z0, z1)
U3(f164_out1(z0), z1, z2) → f131_out1
f74_in(0, z0) → f74_out1(0)
f74_in(z0, 0) → f74_out1(z0)
f74_in(s(z0), s(z1)) → U4(f74_in(z0, z1), s(z0), s(z1))
U4(f74_out1(z0), s(z1), s(z2)) → f74_out1(z0)
f132_in → f132_out1
f174_in → f174_out1
f40_in(z0, z1) → U5(f42_in(z0, z1), z0, z1)
U5(f42_out1(z0), z1, z2) → U6(f44_in(z0, z2), z1, z2, z0)
U6(f44_out1, z0, z1, z2) → f40_out1(z2)
f44_in(z0, z1) → U7(f131_in(z0, z1), z0, z1)
U7(f131_out1, z0, z1) → U8(f132_in, z0, z1)
U8(f132_out1, z0, z1) → f44_out1
f164_in(z0, z1) → U9(f42_in(z0, z1), z0, z1)
U9(f42_out1(z0), z1, z2) → U10(f166_in(z0, z2), z1, z2, z0)
U10(f166_out1, z0, z1, z2) → f164_out1(z2)
f166_in(z0, z1) → U11(f131_in(z0, z1), z0, z1)
U11(f131_out1, z0, z1) → U12(f174_in, z0, z1)
U12(f174_out1, z0, z1) → f166_out1
Tuples:
F131_IN(z0, z1) → c6(U3'(f164_in(z0, z1), z0, z1), F164_IN(z0, z1))
F74_IN(s(z0), s(z1)) → c10(U4'(f74_in(z0, z1), s(z0), s(z1)), F74_IN(z0, z1))
F164_IN(z0, z1) → c20(U9'(f42_in(z0, z1), z0, z1), F42_IN(z0, z1))
U9'(f42_out1(z0), z1, z2) → c21(U10'(f166_in(z0, z2), z1, z2, z0), F166_IN(z0, z2))
F166_IN(z0, z1) → c23(U11'(f131_in(z0, z1), z0, z1), F131_IN(z0, z1))
F2_IN(z0, z1) → c(U1'(f40_in(z0, z1), z0, z1))
F2_IN(z0, z1) → c(F40_IN(z0, z1))
F42_IN(s(z0), s(z1)) → c(U2'(f74_in(z0, z1), s(z0), s(z1)))
F42_IN(s(z0), s(z1)) → c(F74_IN(z0, z1))
F40_IN(z0, z1) → c(U5'(f42_in(z0, z1), z0, z1))
F40_IN(z0, z1) → c(F42_IN(z0, z1))
U5'(f42_out1(z0), z1, z2) → c(U6'(f44_in(z0, z2), z1, z2, z0))
U5'(f42_out1(z0), z1, z2) → c(F44_IN(z0, z2))
F44_IN(z0, z1) → c(U7'(f131_in(z0, z1), z0, z1))
F44_IN(z0, z1) → c(F131_IN(z0, z1))
U7'(f131_out1, z0, z1) → c(U8'(f132_in, z0, z1))
U7'(f131_out1, z0, z1) → c(F132_IN)
U11'(f131_out1, z0, z1) → c(U12'(f174_in, z0, z1))
U11'(f131_out1, z0, z1) → c(F174_IN)
S tuples:
F131_IN(z0, z1) → c6(U3'(f164_in(z0, z1), z0, z1), F164_IN(z0, z1))
F74_IN(s(z0), s(z1)) → c10(U4'(f74_in(z0, z1), s(z0), s(z1)), F74_IN(z0, z1))
F164_IN(z0, z1) → c20(U9'(f42_in(z0, z1), z0, z1), F42_IN(z0, z1))
U9'(f42_out1(z0), z1, z2) → c21(U10'(f166_in(z0, z2), z1, z2, z0), F166_IN(z0, z2))
F166_IN(z0, z1) → c23(U11'(f131_in(z0, z1), z0, z1), F131_IN(z0, z1))
F2_IN(z0, z1) → c(U1'(f40_in(z0, z1), z0, z1))
F2_IN(z0, z1) → c(F40_IN(z0, z1))
F42_IN(s(z0), s(z1)) → c(U2'(f74_in(z0, z1), s(z0), s(z1)))
F42_IN(s(z0), s(z1)) → c(F74_IN(z0, z1))
F40_IN(z0, z1) → c(U5'(f42_in(z0, z1), z0, z1))
F40_IN(z0, z1) → c(F42_IN(z0, z1))
U5'(f42_out1(z0), z1, z2) → c(U6'(f44_in(z0, z2), z1, z2, z0))
U5'(f42_out1(z0), z1, z2) → c(F44_IN(z0, z2))
F44_IN(z0, z1) → c(U7'(f131_in(z0, z1), z0, z1))
F44_IN(z0, z1) → c(F131_IN(z0, z1))
U7'(f131_out1, z0, z1) → c(U8'(f132_in, z0, z1))
U7'(f131_out1, z0, z1) → c(F132_IN)
U11'(f131_out1, z0, z1) → c(U12'(f174_in, z0, z1))
U11'(f131_out1, z0, z1) → c(F174_IN)
K tuples:none
Defined Rule Symbols:
f2_in, U1, f42_in, U2, f131_in, U3, f74_in, U4, f132_in, f174_in, f40_in, U5, U6, f44_in, U7, U8, f164_in, U9, U10, f166_in, U11, U12
Defined Pair Symbols:
F131_IN, F74_IN, F164_IN, U9', F166_IN, F2_IN, F42_IN, F40_IN, U5', F44_IN, U7', U11'
Compound Symbols:
c6, c10, c20, c21, c23, c
(27) CdtGraphRemoveTrailingTuplepartsProof (BOTH BOUNDS(ID, ID) transformation)
Removed 10 trailing tuple parts
(28) Obligation:
Complexity Dependency Tuples Problem
Rules:
f2_in(0, z0) → f2_out1
f2_in(z0, z1) → U1(f40_in(z0, z1), z0, z1)
U1(f40_out1(z0), z1, z2) → f2_out1
f42_in(s(z0), s(z1)) → U2(f74_in(z0, z1), s(z0), s(z1))
U2(f74_out1(z0), s(z1), s(z2)) → f42_out1(z0)
f131_in(0, z0) → f131_out1
f131_in(z0, z1) → U3(f164_in(z0, z1), z0, z1)
U3(f164_out1(z0), z1, z2) → f131_out1
f74_in(0, z0) → f74_out1(0)
f74_in(z0, 0) → f74_out1(z0)
f74_in(s(z0), s(z1)) → U4(f74_in(z0, z1), s(z0), s(z1))
U4(f74_out1(z0), s(z1), s(z2)) → f74_out1(z0)
f132_in → f132_out1
f174_in → f174_out1
f40_in(z0, z1) → U5(f42_in(z0, z1), z0, z1)
U5(f42_out1(z0), z1, z2) → U6(f44_in(z0, z2), z1, z2, z0)
U6(f44_out1, z0, z1, z2) → f40_out1(z2)
f44_in(z0, z1) → U7(f131_in(z0, z1), z0, z1)
U7(f131_out1, z0, z1) → U8(f132_in, z0, z1)
U8(f132_out1, z0, z1) → f44_out1
f164_in(z0, z1) → U9(f42_in(z0, z1), z0, z1)
U9(f42_out1(z0), z1, z2) → U10(f166_in(z0, z2), z1, z2, z0)
U10(f166_out1, z0, z1, z2) → f164_out1(z2)
f166_in(z0, z1) → U11(f131_in(z0, z1), z0, z1)
U11(f131_out1, z0, z1) → U12(f174_in, z0, z1)
U12(f174_out1, z0, z1) → f166_out1
Tuples:
F164_IN(z0, z1) → c20(U9'(f42_in(z0, z1), z0, z1), F42_IN(z0, z1))
F166_IN(z0, z1) → c23(U11'(f131_in(z0, z1), z0, z1), F131_IN(z0, z1))
F2_IN(z0, z1) → c(F40_IN(z0, z1))
F42_IN(s(z0), s(z1)) → c(F74_IN(z0, z1))
F40_IN(z0, z1) → c(U5'(f42_in(z0, z1), z0, z1))
F40_IN(z0, z1) → c(F42_IN(z0, z1))
U5'(f42_out1(z0), z1, z2) → c(F44_IN(z0, z2))
F44_IN(z0, z1) → c(U7'(f131_in(z0, z1), z0, z1))
F44_IN(z0, z1) → c(F131_IN(z0, z1))
F131_IN(z0, z1) → c6(F164_IN(z0, z1))
F74_IN(s(z0), s(z1)) → c10(F74_IN(z0, z1))
U9'(f42_out1(z0), z1, z2) → c21(F166_IN(z0, z2))
F2_IN(z0, z1) → c
F42_IN(s(z0), s(z1)) → c
U5'(f42_out1(z0), z1, z2) → c
U7'(f131_out1, z0, z1) → c
U11'(f131_out1, z0, z1) → c
S tuples:
F164_IN(z0, z1) → c20(U9'(f42_in(z0, z1), z0, z1), F42_IN(z0, z1))
F166_IN(z0, z1) → c23(U11'(f131_in(z0, z1), z0, z1), F131_IN(z0, z1))
F2_IN(z0, z1) → c(F40_IN(z0, z1))
F42_IN(s(z0), s(z1)) → c(F74_IN(z0, z1))
F40_IN(z0, z1) → c(U5'(f42_in(z0, z1), z0, z1))
F40_IN(z0, z1) → c(F42_IN(z0, z1))
U5'(f42_out1(z0), z1, z2) → c(F44_IN(z0, z2))
F44_IN(z0, z1) → c(U7'(f131_in(z0, z1), z0, z1))
F44_IN(z0, z1) → c(F131_IN(z0, z1))
F131_IN(z0, z1) → c6(F164_IN(z0, z1))
F74_IN(s(z0), s(z1)) → c10(F74_IN(z0, z1))
U9'(f42_out1(z0), z1, z2) → c21(F166_IN(z0, z2))
F2_IN(z0, z1) → c
F42_IN(s(z0), s(z1)) → c
U5'(f42_out1(z0), z1, z2) → c
U7'(f131_out1, z0, z1) → c
U11'(f131_out1, z0, z1) → c
K tuples:none
Defined Rule Symbols:
f2_in, U1, f42_in, U2, f131_in, U3, f74_in, U4, f132_in, f174_in, f40_in, U5, U6, f44_in, U7, U8, f164_in, U9, U10, f166_in, U11, U12
Defined Pair Symbols:
F164_IN, F166_IN, F2_IN, F42_IN, F40_IN, U5', F44_IN, F131_IN, F74_IN, U9', U7', U11'
Compound Symbols:
c20, c23, c, c6, c10, c21, c
(29) CdtKnowledgeProof (EQUIVALENT transformation)
The following tuples could be moved from S to K by knowledge propagation:
F2_IN(z0, z1) → c(F40_IN(z0, z1))
F40_IN(z0, z1) → c(U5'(f42_in(z0, z1), z0, z1))
F40_IN(z0, z1) → c(F42_IN(z0, z1))
U5'(f42_out1(z0), z1, z2) → c(F44_IN(z0, z2))
F44_IN(z0, z1) → c(U7'(f131_in(z0, z1), z0, z1))
F44_IN(z0, z1) → c(F131_IN(z0, z1))
F2_IN(z0, z1) → c
U5'(f42_out1(z0), z1, z2) → c
U7'(f131_out1, z0, z1) → c
U7'(f131_out1, z0, z1) → c
F40_IN(z0, z1) → c(U5'(f42_in(z0, z1), z0, z1))
F40_IN(z0, z1) → c(F42_IN(z0, z1))
U5'(f42_out1(z0), z1, z2) → c(F44_IN(z0, z2))
U5'(f42_out1(z0), z1, z2) → c
F44_IN(z0, z1) → c(U7'(f131_in(z0, z1), z0, z1))
F44_IN(z0, z1) → c(F131_IN(z0, z1))
U7'(f131_out1, z0, z1) → c
U7'(f131_out1, z0, z1) → c
(30) Obligation:
Complexity Dependency Tuples Problem
Rules:
f2_in(0, z0) → f2_out1
f2_in(z0, z1) → U1(f40_in(z0, z1), z0, z1)
U1(f40_out1(z0), z1, z2) → f2_out1
f42_in(s(z0), s(z1)) → U2(f74_in(z0, z1), s(z0), s(z1))
U2(f74_out1(z0), s(z1), s(z2)) → f42_out1(z0)
f131_in(0, z0) → f131_out1
f131_in(z0, z1) → U3(f164_in(z0, z1), z0, z1)
U3(f164_out1(z0), z1, z2) → f131_out1
f74_in(0, z0) → f74_out1(0)
f74_in(z0, 0) → f74_out1(z0)
f74_in(s(z0), s(z1)) → U4(f74_in(z0, z1), s(z0), s(z1))
U4(f74_out1(z0), s(z1), s(z2)) → f74_out1(z0)
f132_in → f132_out1
f174_in → f174_out1
f40_in(z0, z1) → U5(f42_in(z0, z1), z0, z1)
U5(f42_out1(z0), z1, z2) → U6(f44_in(z0, z2), z1, z2, z0)
U6(f44_out1, z0, z1, z2) → f40_out1(z2)
f44_in(z0, z1) → U7(f131_in(z0, z1), z0, z1)
U7(f131_out1, z0, z1) → U8(f132_in, z0, z1)
U8(f132_out1, z0, z1) → f44_out1
f164_in(z0, z1) → U9(f42_in(z0, z1), z0, z1)
U9(f42_out1(z0), z1, z2) → U10(f166_in(z0, z2), z1, z2, z0)
U10(f166_out1, z0, z1, z2) → f164_out1(z2)
f166_in(z0, z1) → U11(f131_in(z0, z1), z0, z1)
U11(f131_out1, z0, z1) → U12(f174_in, z0, z1)
U12(f174_out1, z0, z1) → f166_out1
Tuples:
F164_IN(z0, z1) → c20(U9'(f42_in(z0, z1), z0, z1), F42_IN(z0, z1))
F166_IN(z0, z1) → c23(U11'(f131_in(z0, z1), z0, z1), F131_IN(z0, z1))
F2_IN(z0, z1) → c(F40_IN(z0, z1))
F42_IN(s(z0), s(z1)) → c(F74_IN(z0, z1))
F40_IN(z0, z1) → c(U5'(f42_in(z0, z1), z0, z1))
F40_IN(z0, z1) → c(F42_IN(z0, z1))
U5'(f42_out1(z0), z1, z2) → c(F44_IN(z0, z2))
F44_IN(z0, z1) → c(U7'(f131_in(z0, z1), z0, z1))
F44_IN(z0, z1) → c(F131_IN(z0, z1))
F131_IN(z0, z1) → c6(F164_IN(z0, z1))
F74_IN(s(z0), s(z1)) → c10(F74_IN(z0, z1))
U9'(f42_out1(z0), z1, z2) → c21(F166_IN(z0, z2))
F2_IN(z0, z1) → c
F42_IN(s(z0), s(z1)) → c
U5'(f42_out1(z0), z1, z2) → c
U7'(f131_out1, z0, z1) → c
U11'(f131_out1, z0, z1) → c
S tuples:
F164_IN(z0, z1) → c20(U9'(f42_in(z0, z1), z0, z1), F42_IN(z0, z1))
F166_IN(z0, z1) → c23(U11'(f131_in(z0, z1), z0, z1), F131_IN(z0, z1))
F42_IN(s(z0), s(z1)) → c(F74_IN(z0, z1))
F131_IN(z0, z1) → c6(F164_IN(z0, z1))
F74_IN(s(z0), s(z1)) → c10(F74_IN(z0, z1))
U9'(f42_out1(z0), z1, z2) → c21(F166_IN(z0, z2))
F42_IN(s(z0), s(z1)) → c
U11'(f131_out1, z0, z1) → c
K tuples:
F2_IN(z0, z1) → c(F40_IN(z0, z1))
F40_IN(z0, z1) → c(U5'(f42_in(z0, z1), z0, z1))
F40_IN(z0, z1) → c(F42_IN(z0, z1))
U5'(f42_out1(z0), z1, z2) → c(F44_IN(z0, z2))
F44_IN(z0, z1) → c(U7'(f131_in(z0, z1), z0, z1))
F44_IN(z0, z1) → c(F131_IN(z0, z1))
F2_IN(z0, z1) → c
U5'(f42_out1(z0), z1, z2) → c
U7'(f131_out1, z0, z1) → c
Defined Rule Symbols:
f2_in, U1, f42_in, U2, f131_in, U3, f74_in, U4, f132_in, f174_in, f40_in, U5, U6, f44_in, U7, U8, f164_in, U9, U10, f166_in, U11, U12
Defined Pair Symbols:
F164_IN, F166_IN, F2_IN, F42_IN, F40_IN, U5', F44_IN, F131_IN, F74_IN, U9', U7', U11'
Compound Symbols:
c20, c23, c, c6, c10, c21, c
(31) CdtNarrowingProof (BOTH BOUNDS(ID, ID) transformation)
Use narrowing to replace
F164_IN(
z0,
z1) →
c20(
U9'(
f42_in(
z0,
z1),
z0,
z1),
F42_IN(
z0,
z1)) by
F164_IN(s(z0), s(z1)) → c20(U9'(U2(f74_in(z0, z1), s(z0), s(z1)), s(z0), s(z1)), F42_IN(s(z0), s(z1)))
(32) Obligation:
Complexity Dependency Tuples Problem
Rules:
f2_in(0, z0) → f2_out1
f2_in(z0, z1) → U1(f40_in(z0, z1), z0, z1)
U1(f40_out1(z0), z1, z2) → f2_out1
f42_in(s(z0), s(z1)) → U2(f74_in(z0, z1), s(z0), s(z1))
U2(f74_out1(z0), s(z1), s(z2)) → f42_out1(z0)
f131_in(0, z0) → f131_out1
f131_in(z0, z1) → U3(f164_in(z0, z1), z0, z1)
U3(f164_out1(z0), z1, z2) → f131_out1
f74_in(0, z0) → f74_out1(0)
f74_in(z0, 0) → f74_out1(z0)
f74_in(s(z0), s(z1)) → U4(f74_in(z0, z1), s(z0), s(z1))
U4(f74_out1(z0), s(z1), s(z2)) → f74_out1(z0)
f132_in → f132_out1
f174_in → f174_out1
f40_in(z0, z1) → U5(f42_in(z0, z1), z0, z1)
U5(f42_out1(z0), z1, z2) → U6(f44_in(z0, z2), z1, z2, z0)
U6(f44_out1, z0, z1, z2) → f40_out1(z2)
f44_in(z0, z1) → U7(f131_in(z0, z1), z0, z1)
U7(f131_out1, z0, z1) → U8(f132_in, z0, z1)
U8(f132_out1, z0, z1) → f44_out1
f164_in(z0, z1) → U9(f42_in(z0, z1), z0, z1)
U9(f42_out1(z0), z1, z2) → U10(f166_in(z0, z2), z1, z2, z0)
U10(f166_out1, z0, z1, z2) → f164_out1(z2)
f166_in(z0, z1) → U11(f131_in(z0, z1), z0, z1)
U11(f131_out1, z0, z1) → U12(f174_in, z0, z1)
U12(f174_out1, z0, z1) → f166_out1
Tuples:
F166_IN(z0, z1) → c23(U11'(f131_in(z0, z1), z0, z1), F131_IN(z0, z1))
F2_IN(z0, z1) → c(F40_IN(z0, z1))
F42_IN(s(z0), s(z1)) → c(F74_IN(z0, z1))
F40_IN(z0, z1) → c(U5'(f42_in(z0, z1), z0, z1))
F40_IN(z0, z1) → c(F42_IN(z0, z1))
U5'(f42_out1(z0), z1, z2) → c(F44_IN(z0, z2))
F44_IN(z0, z1) → c(U7'(f131_in(z0, z1), z0, z1))
F44_IN(z0, z1) → c(F131_IN(z0, z1))
F131_IN(z0, z1) → c6(F164_IN(z0, z1))
F74_IN(s(z0), s(z1)) → c10(F74_IN(z0, z1))
U9'(f42_out1(z0), z1, z2) → c21(F166_IN(z0, z2))
F2_IN(z0, z1) → c
F42_IN(s(z0), s(z1)) → c
U5'(f42_out1(z0), z1, z2) → c
U7'(f131_out1, z0, z1) → c
U11'(f131_out1, z0, z1) → c
F164_IN(s(z0), s(z1)) → c20(U9'(U2(f74_in(z0, z1), s(z0), s(z1)), s(z0), s(z1)), F42_IN(s(z0), s(z1)))
S tuples:
F166_IN(z0, z1) → c23(U11'(f131_in(z0, z1), z0, z1), F131_IN(z0, z1))
F42_IN(s(z0), s(z1)) → c(F74_IN(z0, z1))
F131_IN(z0, z1) → c6(F164_IN(z0, z1))
F74_IN(s(z0), s(z1)) → c10(F74_IN(z0, z1))
U9'(f42_out1(z0), z1, z2) → c21(F166_IN(z0, z2))
F42_IN(s(z0), s(z1)) → c
U11'(f131_out1, z0, z1) → c
F164_IN(s(z0), s(z1)) → c20(U9'(U2(f74_in(z0, z1), s(z0), s(z1)), s(z0), s(z1)), F42_IN(s(z0), s(z1)))
K tuples:
F2_IN(z0, z1) → c(F40_IN(z0, z1))
F40_IN(z0, z1) → c(U5'(f42_in(z0, z1), z0, z1))
F40_IN(z0, z1) → c(F42_IN(z0, z1))
U5'(f42_out1(z0), z1, z2) → c(F44_IN(z0, z2))
F44_IN(z0, z1) → c(U7'(f131_in(z0, z1), z0, z1))
F44_IN(z0, z1) → c(F131_IN(z0, z1))
F2_IN(z0, z1) → c
U5'(f42_out1(z0), z1, z2) → c
U7'(f131_out1, z0, z1) → c
Defined Rule Symbols:
f2_in, U1, f42_in, U2, f131_in, U3, f74_in, U4, f132_in, f174_in, f40_in, U5, U6, f44_in, U7, U8, f164_in, U9, U10, f166_in, U11, U12
Defined Pair Symbols:
F166_IN, F2_IN, F42_IN, F40_IN, U5', F44_IN, F131_IN, F74_IN, U9', U7', U11', F164_IN
Compound Symbols:
c23, c, c6, c10, c21, c, c20
(33) CdtGraphRemoveDanglingProof (ComplexityIfPolyImplication transformation)
Removed 6 of 18 dangling nodes:
F2_IN(z0, z1) → c(F40_IN(z0, z1))
F40_IN(z0, z1) → c(F42_IN(z0, z1))
F44_IN(z0, z1) → c(U7'(f131_in(z0, z1), z0, z1))
F2_IN(z0, z1) → c
U7'(f131_out1, z0, z1) → c
U5'(f42_out1(z0), z1, z2) → c
(34) Obligation:
Complexity Dependency Tuples Problem
Rules:
f2_in(0, z0) → f2_out1
f2_in(z0, z1) → U1(f40_in(z0, z1), z0, z1)
U1(f40_out1(z0), z1, z2) → f2_out1
f42_in(s(z0), s(z1)) → U2(f74_in(z0, z1), s(z0), s(z1))
U2(f74_out1(z0), s(z1), s(z2)) → f42_out1(z0)
f131_in(0, z0) → f131_out1
f131_in(z0, z1) → U3(f164_in(z0, z1), z0, z1)
U3(f164_out1(z0), z1, z2) → f131_out1
f74_in(0, z0) → f74_out1(0)
f74_in(z0, 0) → f74_out1(z0)
f74_in(s(z0), s(z1)) → U4(f74_in(z0, z1), s(z0), s(z1))
U4(f74_out1(z0), s(z1), s(z2)) → f74_out1(z0)
f132_in → f132_out1
f174_in → f174_out1
f40_in(z0, z1) → U5(f42_in(z0, z1), z0, z1)
U5(f42_out1(z0), z1, z2) → U6(f44_in(z0, z2), z1, z2, z0)
U6(f44_out1, z0, z1, z2) → f40_out1(z2)
f44_in(z0, z1) → U7(f131_in(z0, z1), z0, z1)
U7(f131_out1, z0, z1) → U8(f132_in, z0, z1)
U8(f132_out1, z0, z1) → f44_out1
f164_in(z0, z1) → U9(f42_in(z0, z1), z0, z1)
U9(f42_out1(z0), z1, z2) → U10(f166_in(z0, z2), z1, z2, z0)
U10(f166_out1, z0, z1, z2) → f164_out1(z2)
f166_in(z0, z1) → U11(f131_in(z0, z1), z0, z1)
U11(f131_out1, z0, z1) → U12(f174_in, z0, z1)
U12(f174_out1, z0, z1) → f166_out1
Tuples:
F166_IN(z0, z1) → c23(U11'(f131_in(z0, z1), z0, z1), F131_IN(z0, z1))
F42_IN(s(z0), s(z1)) → c(F74_IN(z0, z1))
F40_IN(z0, z1) → c(U5'(f42_in(z0, z1), z0, z1))
U5'(f42_out1(z0), z1, z2) → c(F44_IN(z0, z2))
F44_IN(z0, z1) → c(F131_IN(z0, z1))
F131_IN(z0, z1) → c6(F164_IN(z0, z1))
F74_IN(s(z0), s(z1)) → c10(F74_IN(z0, z1))
U9'(f42_out1(z0), z1, z2) → c21(F166_IN(z0, z2))
F42_IN(s(z0), s(z1)) → c
U11'(f131_out1, z0, z1) → c
F164_IN(s(z0), s(z1)) → c20(U9'(U2(f74_in(z0, z1), s(z0), s(z1)), s(z0), s(z1)), F42_IN(s(z0), s(z1)))
S tuples:
F166_IN(z0, z1) → c23(U11'(f131_in(z0, z1), z0, z1), F131_IN(z0, z1))
F42_IN(s(z0), s(z1)) → c(F74_IN(z0, z1))
F131_IN(z0, z1) → c6(F164_IN(z0, z1))
F74_IN(s(z0), s(z1)) → c10(F74_IN(z0, z1))
U9'(f42_out1(z0), z1, z2) → c21(F166_IN(z0, z2))
F42_IN(s(z0), s(z1)) → c
U11'(f131_out1, z0, z1) → c
F164_IN(s(z0), s(z1)) → c20(U9'(U2(f74_in(z0, z1), s(z0), s(z1)), s(z0), s(z1)), F42_IN(s(z0), s(z1)))
K tuples:
F40_IN(z0, z1) → c(U5'(f42_in(z0, z1), z0, z1))
U5'(f42_out1(z0), z1, z2) → c(F44_IN(z0, z2))
F44_IN(z0, z1) → c(F131_IN(z0, z1))
Defined Rule Symbols:
f2_in, U1, f42_in, U2, f131_in, U3, f74_in, U4, f132_in, f174_in, f40_in, U5, U6, f44_in, U7, U8, f164_in, U9, U10, f166_in, U11, U12
Defined Pair Symbols:
F166_IN, F42_IN, F40_IN, U5', F44_IN, F131_IN, F74_IN, U9', U11', F164_IN
Compound Symbols:
c23, c, c6, c10, c21, c, c20
(35) CdtGraphSplitRhsProof (BOTH BOUNDS(ID, ID) transformation)
Split RHS of tuples not part of any SCC
(36) Obligation:
Complexity Dependency Tuples Problem
Rules:
f2_in(0, z0) → f2_out1
f2_in(z0, z1) → U1(f40_in(z0, z1), z0, z1)
U1(f40_out1(z0), z1, z2) → f2_out1
f42_in(s(z0), s(z1)) → U2(f74_in(z0, z1), s(z0), s(z1))
U2(f74_out1(z0), s(z1), s(z2)) → f42_out1(z0)
f131_in(0, z0) → f131_out1
f131_in(z0, z1) → U3(f164_in(z0, z1), z0, z1)
U3(f164_out1(z0), z1, z2) → f131_out1
f74_in(0, z0) → f74_out1(0)
f74_in(z0, 0) → f74_out1(z0)
f74_in(s(z0), s(z1)) → U4(f74_in(z0, z1), s(z0), s(z1))
U4(f74_out1(z0), s(z1), s(z2)) → f74_out1(z0)
f132_in → f132_out1
f174_in → f174_out1
f40_in(z0, z1) → U5(f42_in(z0, z1), z0, z1)
U5(f42_out1(z0), z1, z2) → U6(f44_in(z0, z2), z1, z2, z0)
U6(f44_out1, z0, z1, z2) → f40_out1(z2)
f44_in(z0, z1) → U7(f131_in(z0, z1), z0, z1)
U7(f131_out1, z0, z1) → U8(f132_in, z0, z1)
U8(f132_out1, z0, z1) → f44_out1
f164_in(z0, z1) → U9(f42_in(z0, z1), z0, z1)
U9(f42_out1(z0), z1, z2) → U10(f166_in(z0, z2), z1, z2, z0)
U10(f166_out1, z0, z1, z2) → f164_out1(z2)
f166_in(z0, z1) → U11(f131_in(z0, z1), z0, z1)
U11(f131_out1, z0, z1) → U12(f174_in, z0, z1)
U12(f174_out1, z0, z1) → f166_out1
Tuples:
F166_IN(z0, z1) → c23(U11'(f131_in(z0, z1), z0, z1), F131_IN(z0, z1))
F42_IN(s(z0), s(z1)) → c(F74_IN(z0, z1))
F40_IN(z0, z1) → c(U5'(f42_in(z0, z1), z0, z1))
U5'(f42_out1(z0), z1, z2) → c(F44_IN(z0, z2))
F44_IN(z0, z1) → c(F131_IN(z0, z1))
F131_IN(z0, z1) → c6(F164_IN(z0, z1))
F74_IN(s(z0), s(z1)) → c10(F74_IN(z0, z1))
U9'(f42_out1(z0), z1, z2) → c21(F166_IN(z0, z2))
F164_IN(s(z0), s(z1)) → c20(U9'(U2(f74_in(z0, z1), s(z0), s(z1)), s(z0), s(z1)), F42_IN(s(z0), s(z1)))
S tuples:
F166_IN(z0, z1) → c23(U11'(f131_in(z0, z1), z0, z1), F131_IN(z0, z1))
F42_IN(s(z0), s(z1)) → c(F74_IN(z0, z1))
F131_IN(z0, z1) → c6(F164_IN(z0, z1))
F74_IN(s(z0), s(z1)) → c10(F74_IN(z0, z1))
U9'(f42_out1(z0), z1, z2) → c21(F166_IN(z0, z2))
F164_IN(s(z0), s(z1)) → c20(U9'(U2(f74_in(z0, z1), s(z0), s(z1)), s(z0), s(z1)), F42_IN(s(z0), s(z1)))
K tuples:
F40_IN(z0, z1) → c(U5'(f42_in(z0, z1), z0, z1))
U5'(f42_out1(z0), z1, z2) → c(F44_IN(z0, z2))
F44_IN(z0, z1) → c(F131_IN(z0, z1))
Defined Rule Symbols:
f2_in, U1, f42_in, U2, f131_in, U3, f74_in, U4, f132_in, f174_in, f40_in, U5, U6, f44_in, U7, U8, f164_in, U9, U10, f166_in, U11, U12
Defined Pair Symbols:
F166_IN, F42_IN, F40_IN, U5', F44_IN, F131_IN, F74_IN, U9', F164_IN
Compound Symbols:
c23, c, c6, c10, c21, c20
(37) CdtGraphRemoveTrailingTuplepartsProof (BOTH BOUNDS(ID, ID) transformation)
Removed 1 trailing tuple parts
(38) Obligation:
Complexity Dependency Tuples Problem
Rules:
f2_in(0, z0) → f2_out1
f2_in(z0, z1) → U1(f40_in(z0, z1), z0, z1)
U1(f40_out1(z0), z1, z2) → f2_out1
f42_in(s(z0), s(z1)) → U2(f74_in(z0, z1), s(z0), s(z1))
U2(f74_out1(z0), s(z1), s(z2)) → f42_out1(z0)
f131_in(0, z0) → f131_out1
f131_in(z0, z1) → U3(f164_in(z0, z1), z0, z1)
U3(f164_out1(z0), z1, z2) → f131_out1
f74_in(0, z0) → f74_out1(0)
f74_in(z0, 0) → f74_out1(z0)
f74_in(s(z0), s(z1)) → U4(f74_in(z0, z1), s(z0), s(z1))
U4(f74_out1(z0), s(z1), s(z2)) → f74_out1(z0)
f132_in → f132_out1
f174_in → f174_out1
f40_in(z0, z1) → U5(f42_in(z0, z1), z0, z1)
U5(f42_out1(z0), z1, z2) → U6(f44_in(z0, z2), z1, z2, z0)
U6(f44_out1, z0, z1, z2) → f40_out1(z2)
f44_in(z0, z1) → U7(f131_in(z0, z1), z0, z1)
U7(f131_out1, z0, z1) → U8(f132_in, z0, z1)
U8(f132_out1, z0, z1) → f44_out1
f164_in(z0, z1) → U9(f42_in(z0, z1), z0, z1)
U9(f42_out1(z0), z1, z2) → U10(f166_in(z0, z2), z1, z2, z0)
U10(f166_out1, z0, z1, z2) → f164_out1(z2)
f166_in(z0, z1) → U11(f131_in(z0, z1), z0, z1)
U11(f131_out1, z0, z1) → U12(f174_in, z0, z1)
U12(f174_out1, z0, z1) → f166_out1
Tuples:
F42_IN(s(z0), s(z1)) → c(F74_IN(z0, z1))
F40_IN(z0, z1) → c(U5'(f42_in(z0, z1), z0, z1))
U5'(f42_out1(z0), z1, z2) → c(F44_IN(z0, z2))
F44_IN(z0, z1) → c(F131_IN(z0, z1))
F131_IN(z0, z1) → c6(F164_IN(z0, z1))
F74_IN(s(z0), s(z1)) → c10(F74_IN(z0, z1))
U9'(f42_out1(z0), z1, z2) → c21(F166_IN(z0, z2))
F164_IN(s(z0), s(z1)) → c20(U9'(U2(f74_in(z0, z1), s(z0), s(z1)), s(z0), s(z1)), F42_IN(s(z0), s(z1)))
F166_IN(z0, z1) → c23(F131_IN(z0, z1))
S tuples:
F42_IN(s(z0), s(z1)) → c(F74_IN(z0, z1))
F131_IN(z0, z1) → c6(F164_IN(z0, z1))
F74_IN(s(z0), s(z1)) → c10(F74_IN(z0, z1))
U9'(f42_out1(z0), z1, z2) → c21(F166_IN(z0, z2))
F164_IN(s(z0), s(z1)) → c20(U9'(U2(f74_in(z0, z1), s(z0), s(z1)), s(z0), s(z1)), F42_IN(s(z0), s(z1)))
F166_IN(z0, z1) → c23(F131_IN(z0, z1))
K tuples:
F40_IN(z0, z1) → c(U5'(f42_in(z0, z1), z0, z1))
U5'(f42_out1(z0), z1, z2) → c(F44_IN(z0, z2))
F44_IN(z0, z1) → c(F131_IN(z0, z1))
Defined Rule Symbols:
f2_in, U1, f42_in, U2, f131_in, U3, f74_in, U4, f132_in, f174_in, f40_in, U5, U6, f44_in, U7, U8, f164_in, U9, U10, f166_in, U11, U12
Defined Pair Symbols:
F42_IN, F40_IN, U5', F44_IN, F131_IN, F74_IN, U9', F164_IN, F166_IN
Compound Symbols:
c, c6, c10, c21, c20, c23
(39) 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.
U9'(f42_out1(z0), z1, z2) → c21(F166_IN(z0, z2))
We considered the (Usable) Rules:
f74_in(0, z0) → f74_out1(0)
f74_in(z0, 0) → f74_out1(z0)
f74_in(s(z0), s(z1)) → U4(f74_in(z0, z1), s(z0), s(z1))
U2(f74_out1(z0), s(z1), s(z2)) → f42_out1(z0)
U4(f74_out1(z0), s(z1), s(z2)) → f74_out1(z0)
f42_in(s(z0), s(z1)) → U2(f74_in(z0, z1), s(z0), s(z1))
And the Tuples:
F42_IN(s(z0), s(z1)) → c(F74_IN(z0, z1))
F40_IN(z0, z1) → c(U5'(f42_in(z0, z1), z0, z1))
U5'(f42_out1(z0), z1, z2) → c(F44_IN(z0, z2))
F44_IN(z0, z1) → c(F131_IN(z0, z1))
F131_IN(z0, z1) → c6(F164_IN(z0, z1))
F74_IN(s(z0), s(z1)) → c10(F74_IN(z0, z1))
U9'(f42_out1(z0), z1, z2) → c21(F166_IN(z0, z2))
F164_IN(s(z0), s(z1)) → c20(U9'(U2(f74_in(z0, z1), s(z0), s(z1)), s(z0), s(z1)), F42_IN(s(z0), s(z1)))
F166_IN(z0, z1) → c23(F131_IN(z0, z1))
The order we found is given by the following interpretation:
Polynomial interpretation :
POL(0) = 0
POL(F131_IN(x1, x2)) = [3] + [3]x1
POL(F164_IN(x1, x2)) = [3] + [3]x1
POL(F166_IN(x1, x2)) = [3] + [3]x1
POL(F40_IN(x1, x2)) = [3] + [3]x1 + [2]x2
POL(F42_IN(x1, x2)) = 0
POL(F44_IN(x1, x2)) = [3] + [3]x1 + [2]x2
POL(F74_IN(x1, x2)) = 0
POL(U2(x1, x2, x3)) = x1
POL(U4(x1, x2, x3)) = x1
POL(U5'(x1, x2, x3)) = [3]x1 + [2]x3
POL(U9'(x1, x2, x3)) = [3]x1
POL(c(x1)) = x1
POL(c10(x1)) = x1
POL(c20(x1, x2)) = x1 + x2
POL(c21(x1)) = x1
POL(c23(x1)) = x1
POL(c6(x1)) = x1
POL(f42_in(x1, x2)) = [1] + x1
POL(f42_out1(x1)) = [2] + x1
POL(f74_in(x1, x2)) = [3] + x1
POL(f74_out1(x1)) = [2] + x1
POL(s(x1)) = [2] + x1
(40) Obligation:
Complexity Dependency Tuples Problem
Rules:
f2_in(0, z0) → f2_out1
f2_in(z0, z1) → U1(f40_in(z0, z1), z0, z1)
U1(f40_out1(z0), z1, z2) → f2_out1
f42_in(s(z0), s(z1)) → U2(f74_in(z0, z1), s(z0), s(z1))
U2(f74_out1(z0), s(z1), s(z2)) → f42_out1(z0)
f131_in(0, z0) → f131_out1
f131_in(z0, z1) → U3(f164_in(z0, z1), z0, z1)
U3(f164_out1(z0), z1, z2) → f131_out1
f74_in(0, z0) → f74_out1(0)
f74_in(z0, 0) → f74_out1(z0)
f74_in(s(z0), s(z1)) → U4(f74_in(z0, z1), s(z0), s(z1))
U4(f74_out1(z0), s(z1), s(z2)) → f74_out1(z0)
f132_in → f132_out1
f174_in → f174_out1
f40_in(z0, z1) → U5(f42_in(z0, z1), z0, z1)
U5(f42_out1(z0), z1, z2) → U6(f44_in(z0, z2), z1, z2, z0)
U6(f44_out1, z0, z1, z2) → f40_out1(z2)
f44_in(z0, z1) → U7(f131_in(z0, z1), z0, z1)
U7(f131_out1, z0, z1) → U8(f132_in, z0, z1)
U8(f132_out1, z0, z1) → f44_out1
f164_in(z0, z1) → U9(f42_in(z0, z1), z0, z1)
U9(f42_out1(z0), z1, z2) → U10(f166_in(z0, z2), z1, z2, z0)
U10(f166_out1, z0, z1, z2) → f164_out1(z2)
f166_in(z0, z1) → U11(f131_in(z0, z1), z0, z1)
U11(f131_out1, z0, z1) → U12(f174_in, z0, z1)
U12(f174_out1, z0, z1) → f166_out1
Tuples:
F42_IN(s(z0), s(z1)) → c(F74_IN(z0, z1))
F40_IN(z0, z1) → c(U5'(f42_in(z0, z1), z0, z1))
U5'(f42_out1(z0), z1, z2) → c(F44_IN(z0, z2))
F44_IN(z0, z1) → c(F131_IN(z0, z1))
F131_IN(z0, z1) → c6(F164_IN(z0, z1))
F74_IN(s(z0), s(z1)) → c10(F74_IN(z0, z1))
U9'(f42_out1(z0), z1, z2) → c21(F166_IN(z0, z2))
F164_IN(s(z0), s(z1)) → c20(U9'(U2(f74_in(z0, z1), s(z0), s(z1)), s(z0), s(z1)), F42_IN(s(z0), s(z1)))
F166_IN(z0, z1) → c23(F131_IN(z0, z1))
S tuples:
F42_IN(s(z0), s(z1)) → c(F74_IN(z0, z1))
F131_IN(z0, z1) → c6(F164_IN(z0, z1))
F74_IN(s(z0), s(z1)) → c10(F74_IN(z0, z1))
F164_IN(s(z0), s(z1)) → c20(U9'(U2(f74_in(z0, z1), s(z0), s(z1)), s(z0), s(z1)), F42_IN(s(z0), s(z1)))
F166_IN(z0, z1) → c23(F131_IN(z0, z1))
K tuples:
F40_IN(z0, z1) → c(U5'(f42_in(z0, z1), z0, z1))
U5'(f42_out1(z0), z1, z2) → c(F44_IN(z0, z2))
F44_IN(z0, z1) → c(F131_IN(z0, z1))
U9'(f42_out1(z0), z1, z2) → c21(F166_IN(z0, z2))
Defined Rule Symbols:
f2_in, U1, f42_in, U2, f131_in, U3, f74_in, U4, f132_in, f174_in, f40_in, U5, U6, f44_in, U7, U8, f164_in, U9, U10, f166_in, U11, U12
Defined Pair Symbols:
F42_IN, F40_IN, U5', F44_IN, F131_IN, F74_IN, U9', F164_IN, F166_IN
Compound Symbols:
c, c6, c10, c21, c20, c23
(41) CdtKnowledgeProof (EQUIVALENT transformation)
The following tuples could be moved from S to K by knowledge propagation:
F166_IN(z0, z1) → c23(F131_IN(z0, z1))
F131_IN(z0, z1) → c6(F164_IN(z0, z1))
F164_IN(s(z0), s(z1)) → c20(U9'(U2(f74_in(z0, z1), s(z0), s(z1)), s(z0), s(z1)), F42_IN(s(z0), s(z1)))
F42_IN(s(z0), s(z1)) → c(F74_IN(z0, z1))
U9'(f42_out1(z0), z1, z2) → c21(F166_IN(z0, z2))
(42) Obligation:
Complexity Dependency Tuples Problem
Rules:
f2_in(0, z0) → f2_out1
f2_in(z0, z1) → U1(f40_in(z0, z1), z0, z1)
U1(f40_out1(z0), z1, z2) → f2_out1
f42_in(s(z0), s(z1)) → U2(f74_in(z0, z1), s(z0), s(z1))
U2(f74_out1(z0), s(z1), s(z2)) → f42_out1(z0)
f131_in(0, z0) → f131_out1
f131_in(z0, z1) → U3(f164_in(z0, z1), z0, z1)
U3(f164_out1(z0), z1, z2) → f131_out1
f74_in(0, z0) → f74_out1(0)
f74_in(z0, 0) → f74_out1(z0)
f74_in(s(z0), s(z1)) → U4(f74_in(z0, z1), s(z0), s(z1))
U4(f74_out1(z0), s(z1), s(z2)) → f74_out1(z0)
f132_in → f132_out1
f174_in → f174_out1
f40_in(z0, z1) → U5(f42_in(z0, z1), z0, z1)
U5(f42_out1(z0), z1, z2) → U6(f44_in(z0, z2), z1, z2, z0)
U6(f44_out1, z0, z1, z2) → f40_out1(z2)
f44_in(z0, z1) → U7(f131_in(z0, z1), z0, z1)
U7(f131_out1, z0, z1) → U8(f132_in, z0, z1)
U8(f132_out1, z0, z1) → f44_out1
f164_in(z0, z1) → U9(f42_in(z0, z1), z0, z1)
U9(f42_out1(z0), z1, z2) → U10(f166_in(z0, z2), z1, z2, z0)
U10(f166_out1, z0, z1, z2) → f164_out1(z2)
f166_in(z0, z1) → U11(f131_in(z0, z1), z0, z1)
U11(f131_out1, z0, z1) → U12(f174_in, z0, z1)
U12(f174_out1, z0, z1) → f166_out1
Tuples:
F42_IN(s(z0), s(z1)) → c(F74_IN(z0, z1))
F40_IN(z0, z1) → c(U5'(f42_in(z0, z1), z0, z1))
U5'(f42_out1(z0), z1, z2) → c(F44_IN(z0, z2))
F44_IN(z0, z1) → c(F131_IN(z0, z1))
F131_IN(z0, z1) → c6(F164_IN(z0, z1))
F74_IN(s(z0), s(z1)) → c10(F74_IN(z0, z1))
U9'(f42_out1(z0), z1, z2) → c21(F166_IN(z0, z2))
F164_IN(s(z0), s(z1)) → c20(U9'(U2(f74_in(z0, z1), s(z0), s(z1)), s(z0), s(z1)), F42_IN(s(z0), s(z1)))
F166_IN(z0, z1) → c23(F131_IN(z0, z1))
S tuples:
F74_IN(s(z0), s(z1)) → c10(F74_IN(z0, z1))
K tuples:
F40_IN(z0, z1) → c(U5'(f42_in(z0, z1), z0, z1))
U5'(f42_out1(z0), z1, z2) → c(F44_IN(z0, z2))
F44_IN(z0, z1) → c(F131_IN(z0, z1))
U9'(f42_out1(z0), z1, z2) → c21(F166_IN(z0, z2))
F166_IN(z0, z1) → c23(F131_IN(z0, z1))
F131_IN(z0, z1) → c6(F164_IN(z0, z1))
F164_IN(s(z0), s(z1)) → c20(U9'(U2(f74_in(z0, z1), s(z0), s(z1)), s(z0), s(z1)), F42_IN(s(z0), s(z1)))
F42_IN(s(z0), s(z1)) → c(F74_IN(z0, z1))
Defined Rule Symbols:
f2_in, U1, f42_in, U2, f131_in, U3, f74_in, U4, f132_in, f174_in, f40_in, U5, U6, f44_in, U7, U8, f164_in, U9, U10, f166_in, U11, U12
Defined Pair Symbols:
F42_IN, F40_IN, U5', F44_IN, F131_IN, F74_IN, U9', F164_IN, F166_IN
Compound Symbols:
c, c6, c10, c21, c20, c23
(43) 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.
F74_IN(s(z0), s(z1)) → c10(F74_IN(z0, z1))
We considered the (Usable) Rules:
f74_in(0, z0) → f74_out1(0)
f74_in(z0, 0) → f74_out1(z0)
f74_in(s(z0), s(z1)) → U4(f74_in(z0, z1), s(z0), s(z1))
U2(f74_out1(z0), s(z1), s(z2)) → f42_out1(z0)
U4(f74_out1(z0), s(z1), s(z2)) → f74_out1(z0)
f42_in(s(z0), s(z1)) → U2(f74_in(z0, z1), s(z0), s(z1))
And the Tuples:
F42_IN(s(z0), s(z1)) → c(F74_IN(z0, z1))
F40_IN(z0, z1) → c(U5'(f42_in(z0, z1), z0, z1))
U5'(f42_out1(z0), z1, z2) → c(F44_IN(z0, z2))
F44_IN(z0, z1) → c(F131_IN(z0, z1))
F131_IN(z0, z1) → c6(F164_IN(z0, z1))
F74_IN(s(z0), s(z1)) → c10(F74_IN(z0, z1))
U9'(f42_out1(z0), z1, z2) → c21(F166_IN(z0, z2))
F164_IN(s(z0), s(z1)) → c20(U9'(U2(f74_in(z0, z1), s(z0), s(z1)), s(z0), s(z1)), F42_IN(s(z0), s(z1)))
F166_IN(z0, z1) → c23(F131_IN(z0, z1))
The order we found is given by the following interpretation:
Polynomial interpretation :
POL(0) = 0
POL(F131_IN(x1, x2)) = [1] + x1 + x22 + x1·x2 + x12
POL(F164_IN(x1, x2)) = [1] + x1 + x22 + x1·x2 + x12
POL(F166_IN(x1, x2)) = [1] + x1 + x22 + x1·x2 + x12
POL(F40_IN(x1, x2)) = [1] + x1 + x22 + x1·x2 + x12
POL(F42_IN(x1, x2)) = x1
POL(F44_IN(x1, x2)) = [1] + x1 + x22 + x1·x2 + x12
POL(F74_IN(x1, x2)) = [1] + x1
POL(U2(x1, x2, x3)) = x1
POL(U4(x1, x2, x3)) = x1
POL(U5'(x1, x2, x3)) = [1] + x1 + x32 + x1·x3 + x12
POL(U9'(x1, x2, x3)) = [1] + x1 + x2 + x32 + x1·x3 + x12
POL(c(x1)) = x1
POL(c10(x1)) = x1
POL(c20(x1, x2)) = x1 + x2
POL(c21(x1)) = x1
POL(c23(x1)) = x1
POL(c6(x1)) = x1
POL(f42_in(x1, x2)) = x1
POL(f42_out1(x1)) = x1
POL(f74_in(x1, x2)) = x1
POL(f74_out1(x1)) = x1
POL(s(x1)) = [1] + x1
(44) Obligation:
Complexity Dependency Tuples Problem
Rules:
f2_in(0, z0) → f2_out1
f2_in(z0, z1) → U1(f40_in(z0, z1), z0, z1)
U1(f40_out1(z0), z1, z2) → f2_out1
f42_in(s(z0), s(z1)) → U2(f74_in(z0, z1), s(z0), s(z1))
U2(f74_out1(z0), s(z1), s(z2)) → f42_out1(z0)
f131_in(0, z0) → f131_out1
f131_in(z0, z1) → U3(f164_in(z0, z1), z0, z1)
U3(f164_out1(z0), z1, z2) → f131_out1
f74_in(0, z0) → f74_out1(0)
f74_in(z0, 0) → f74_out1(z0)
f74_in(s(z0), s(z1)) → U4(f74_in(z0, z1), s(z0), s(z1))
U4(f74_out1(z0), s(z1), s(z2)) → f74_out1(z0)
f132_in → f132_out1
f174_in → f174_out1
f40_in(z0, z1) → U5(f42_in(z0, z1), z0, z1)
U5(f42_out1(z0), z1, z2) → U6(f44_in(z0, z2), z1, z2, z0)
U6(f44_out1, z0, z1, z2) → f40_out1(z2)
f44_in(z0, z1) → U7(f131_in(z0, z1), z0, z1)
U7(f131_out1, z0, z1) → U8(f132_in, z0, z1)
U8(f132_out1, z0, z1) → f44_out1
f164_in(z0, z1) → U9(f42_in(z0, z1), z0, z1)
U9(f42_out1(z0), z1, z2) → U10(f166_in(z0, z2), z1, z2, z0)
U10(f166_out1, z0, z1, z2) → f164_out1(z2)
f166_in(z0, z1) → U11(f131_in(z0, z1), z0, z1)
U11(f131_out1, z0, z1) → U12(f174_in, z0, z1)
U12(f174_out1, z0, z1) → f166_out1
Tuples:
F42_IN(s(z0), s(z1)) → c(F74_IN(z0, z1))
F40_IN(z0, z1) → c(U5'(f42_in(z0, z1), z0, z1))
U5'(f42_out1(z0), z1, z2) → c(F44_IN(z0, z2))
F44_IN(z0, z1) → c(F131_IN(z0, z1))
F131_IN(z0, z1) → c6(F164_IN(z0, z1))
F74_IN(s(z0), s(z1)) → c10(F74_IN(z0, z1))
U9'(f42_out1(z0), z1, z2) → c21(F166_IN(z0, z2))
F164_IN(s(z0), s(z1)) → c20(U9'(U2(f74_in(z0, z1), s(z0), s(z1)), s(z0), s(z1)), F42_IN(s(z0), s(z1)))
F166_IN(z0, z1) → c23(F131_IN(z0, z1))
S tuples:none
K tuples:
F40_IN(z0, z1) → c(U5'(f42_in(z0, z1), z0, z1))
U5'(f42_out1(z0), z1, z2) → c(F44_IN(z0, z2))
F44_IN(z0, z1) → c(F131_IN(z0, z1))
U9'(f42_out1(z0), z1, z2) → c21(F166_IN(z0, z2))
F166_IN(z0, z1) → c23(F131_IN(z0, z1))
F131_IN(z0, z1) → c6(F164_IN(z0, z1))
F164_IN(s(z0), s(z1)) → c20(U9'(U2(f74_in(z0, z1), s(z0), s(z1)), s(z0), s(z1)), F42_IN(s(z0), s(z1)))
F42_IN(s(z0), s(z1)) → c(F74_IN(z0, z1))
F74_IN(s(z0), s(z1)) → c10(F74_IN(z0, z1))
Defined Rule Symbols:
f2_in, U1, f42_in, U2, f131_in, U3, f74_in, U4, f132_in, f174_in, f40_in, U5, U6, f44_in, U7, U8, f164_in, U9, U10, f166_in, U11, U12
Defined Pair Symbols:
F42_IN, F40_IN, U5', F44_IN, F131_IN, F74_IN, U9', F164_IN, F166_IN
Compound Symbols:
c, c6, c10, c21, c20, c23
(45) SIsEmptyProof (EQUIVALENT transformation)
The set S is empty
(46) BOUNDS(O(1), O(1))