(0) Obligation:
Clauses:
init_vars(E1, E2, E1init, E2init) :- ','(find_all_vars(E1, Vars1), ','(find_all_vars(E2, Vars2), ','(intersect(Vars1, Vars2, _X, Notin1, Notin2), ','(init_vars2(Notin1, E1, E1init), init_vars2(Notin2, E2, E2init))))).
find_all_vars(E, Vars) :- ','(find_all_vars2(E, Vars0), sort(Vars0, Vars)).
find_all_vars2([], []).
find_all_vars2(.(=(Vars, _Values), Es), AllVars) :- ','(append(Vars, AllVars1, AllVars), find_all_vars2(Es, AllVars1)).
init_vars2(Notin, E, Einit) :- ','(init_vars3(Notin, E, Einit0), sort(Einit0, Einit)).
init_vars3([], E, E).
init_vars3(.(Var, Vars), E, .(=(.(Var, []), .(unbound, [])), Es)) :- init_vars3(Vars, E, Es).
append([], A, A).
append(.(A, B), C, .(A, D)) :- append(B, C, D).
intersect(As, [], [], [], As) :- !.
intersect([], Bs, [], Bs, []) :- !.
intersect(.(A, As), .(B, Bs), Cs, Ds, Es) :- ;(;(->(=(A, B), ','(=(Cs, .(A, Cs2)), intersect(As, Bs, Cs2, Ds, Es))), ->(@<(A, B), ','(=(Es, .(A, Es2)), intersect(As, .(B, Bs), Cs, Ds, Es2)))), ','(=(Ds, .(B, Ds2)), intersect(.(A, As), Bs, Cs, Ds2, Es))).
get_query(E1, E2) :- ','(=(E1, .(=(X, .(a, [])), .(=(X, .(a, [])), .(=(X, .(a, [])), .(=(X, .(a, [])), []))))), ','(=(E2, .(=(Y, .(a, [])), .(=(Y, .(a, [])), .(=(Y, .(a, [])), .(=(Y, .(a, [])), []))))), ','(=(X, .(5, .(7, .(8, .(3, .(2, .(4, .(1, .(6, .(9, .(15, .(17, .(18, .(13, .(12, .(14, .(11, .(16, .(19, .(25, .(27, .(28, .(23, .(22, .(24, .(21, .(26, .(29, [])))))))))))))))))))))))))))), =(Y, .(15, .(17, .(18, .(13, .(12, .(14, .(11, .(16, .(19, .(35, .(37, .(38, .(33, .(32, .(34, .(5, .(7, .(8, .(3, .(2, .(4, .(1, .(6, .(9, .(31, .(36, .(39, []))))))))))))))))))))))))))))))).
Query: init_vars(g,g,a,a)
(1) PrologToCdtProblemTransformerProof (UPPER BOUND (ID) transformation)
Built complexity over-approximating cdt problems from derivation graph.
(2) Obligation:
Complexity Dependency Tuples Problem
Rules:
f1_in(z0, z1) → U1(f8_in(z0, z1), z0, z1)
U1(f8_out1(z0, z1, z2, z3, z4, z5, z6, z7), z8, z9) → f1_out1(z6, z7)
f29_in([]) → f29_out1
f29_in(.(z0, z1)) → U2(f29_in(z1), .(z0, z1))
U2(f29_out1, .(z0, z1)) → f29_out1
f30_in([]) → f30_out1
f30_in(.(=(z0, z1), z2)) → U3(f58_in(z0, z2), .(=(z0, z1), z2))
U3(f58_out1, .(=(z0, z1), z2)) → f30_out1
f61_in([]) → f61_out1
f61_in(.(z0, z1)) → U4(f61_in(z1), .(z0, z1))
U4(f61_out1, .(z0, z1)) → f61_out1
f9_in([]) → f9_out1
f9_in(.(=(z0, z1), z2)) → U5(f26_in(z0, z2), .(=(z0, z1), z2))
U5(f26_out1, .(=(z0, z1), z2)) → f9_out1
f8_in(z0, z1) → U6(f9_in(z0), z0, z1)
U6(f9_out1, z0, z1) → U7(f11_in(z1, z0), z0, z1)
U7(f11_out1(z0, z1, z2, z3, z4, z5, z6, z7), z8, z9) → f8_out1(z0, z1, z2, z3, z4, z5, z6, z7)
f26_in(z0, z1) → U8(f29_in(z0), z0, z1)
U8(f29_out1, z0, z1) → U9(f30_in(z1), z0, z1)
U9(f30_out1, z0, z1) → f26_out1
f58_in(z0, z1) → U10(f61_in(z0), z0, z1)
U10(f61_out1, z0, z1) → U11(f30_in(z1), z0, z1)
U11(f30_out1, z0, z1) → f58_out1
Tuples:
F1_IN(z0, z1) → c(U1'(f8_in(z0, z1), z0, z1), F8_IN(z0, z1))
F29_IN(.(z0, z1)) → c3(U2'(f29_in(z1), .(z0, z1)), F29_IN(z1))
F30_IN(.(=(z0, z1), z2)) → c6(U3'(f58_in(z0, z2), .(=(z0, z1), z2)), F58_IN(z0, z2))
F61_IN(.(z0, z1)) → c9(U4'(f61_in(z1), .(z0, z1)), F61_IN(z1))
F9_IN(.(=(z0, z1), z2)) → c12(U5'(f26_in(z0, z2), .(=(z0, z1), z2)), F26_IN(z0, z2))
F8_IN(z0, z1) → c14(U6'(f9_in(z0), z0, z1), F9_IN(z0))
U6'(f9_out1, z0, z1) → c15(U7'(f11_in(z1, z0), z0, z1))
F26_IN(z0, z1) → c17(U8'(f29_in(z0), z0, z1), F29_IN(z0))
U8'(f29_out1, z0, z1) → c18(U9'(f30_in(z1), z0, z1), F30_IN(z1))
F58_IN(z0, z1) → c20(U10'(f61_in(z0), z0, z1), F61_IN(z0))
U10'(f61_out1, z0, z1) → c21(U11'(f30_in(z1), z0, z1), F30_IN(z1))
S tuples:
F1_IN(z0, z1) → c(U1'(f8_in(z0, z1), z0, z1), F8_IN(z0, z1))
F29_IN(.(z0, z1)) → c3(U2'(f29_in(z1), .(z0, z1)), F29_IN(z1))
F30_IN(.(=(z0, z1), z2)) → c6(U3'(f58_in(z0, z2), .(=(z0, z1), z2)), F58_IN(z0, z2))
F61_IN(.(z0, z1)) → c9(U4'(f61_in(z1), .(z0, z1)), F61_IN(z1))
F9_IN(.(=(z0, z1), z2)) → c12(U5'(f26_in(z0, z2), .(=(z0, z1), z2)), F26_IN(z0, z2))
F8_IN(z0, z1) → c14(U6'(f9_in(z0), z0, z1), F9_IN(z0))
U6'(f9_out1, z0, z1) → c15(U7'(f11_in(z1, z0), z0, z1))
F26_IN(z0, z1) → c17(U8'(f29_in(z0), z0, z1), F29_IN(z0))
U8'(f29_out1, z0, z1) → c18(U9'(f30_in(z1), z0, z1), F30_IN(z1))
F58_IN(z0, z1) → c20(U10'(f61_in(z0), z0, z1), F61_IN(z0))
U10'(f61_out1, z0, z1) → c21(U11'(f30_in(z1), z0, z1), F30_IN(z1))
K tuples:none
Defined Rule Symbols:
f1_in, U1, f29_in, U2, f30_in, U3, f61_in, U4, f9_in, U5, f8_in, U6, U7, f26_in, U8, U9, f58_in, U10, U11
Defined Pair Symbols:
F1_IN, F29_IN, F30_IN, F61_IN, F9_IN, F8_IN, U6', F26_IN, U8', F58_IN, U10'
Compound Symbols:
c, c3, c6, c9, c12, c14, c15, c17, c18, c20, c21
(3) CdtGraphSplitRhsProof (BOTH BOUNDS(ID, ID) transformation)
Split RHS of tuples not part of any SCC
(4) Obligation:
Complexity Dependency Tuples Problem
Rules:
f1_in(z0, z1) → U1(f8_in(z0, z1), z0, z1)
U1(f8_out1(z0, z1, z2, z3, z4, z5, z6, z7), z8, z9) → f1_out1(z6, z7)
f29_in([]) → f29_out1
f29_in(.(z0, z1)) → U2(f29_in(z1), .(z0, z1))
U2(f29_out1, .(z0, z1)) → f29_out1
f30_in([]) → f30_out1
f30_in(.(=(z0, z1), z2)) → U3(f58_in(z0, z2), .(=(z0, z1), z2))
U3(f58_out1, .(=(z0, z1), z2)) → f30_out1
f61_in([]) → f61_out1
f61_in(.(z0, z1)) → U4(f61_in(z1), .(z0, z1))
U4(f61_out1, .(z0, z1)) → f61_out1
f9_in([]) → f9_out1
f9_in(.(=(z0, z1), z2)) → U5(f26_in(z0, z2), .(=(z0, z1), z2))
U5(f26_out1, .(=(z0, z1), z2)) → f9_out1
f8_in(z0, z1) → U6(f9_in(z0), z0, z1)
U6(f9_out1, z0, z1) → U7(f11_in(z1, z0), z0, z1)
U7(f11_out1(z0, z1, z2, z3, z4, z5, z6, z7), z8, z9) → f8_out1(z0, z1, z2, z3, z4, z5, z6, z7)
f26_in(z0, z1) → U8(f29_in(z0), z0, z1)
U8(f29_out1, z0, z1) → U9(f30_in(z1), z0, z1)
U9(f30_out1, z0, z1) → f26_out1
f58_in(z0, z1) → U10(f61_in(z0), z0, z1)
U10(f61_out1, z0, z1) → U11(f30_in(z1), z0, z1)
U11(f30_out1, z0, z1) → f58_out1
Tuples:
F29_IN(.(z0, z1)) → c3(U2'(f29_in(z1), .(z0, z1)), F29_IN(z1))
F30_IN(.(=(z0, z1), z2)) → c6(U3'(f58_in(z0, z2), .(=(z0, z1), z2)), F58_IN(z0, z2))
F61_IN(.(z0, z1)) → c9(U4'(f61_in(z1), .(z0, z1)), F61_IN(z1))
U6'(f9_out1, z0, z1) → c15(U7'(f11_in(z1, z0), z0, z1))
F58_IN(z0, z1) → c20(U10'(f61_in(z0), z0, z1), F61_IN(z0))
U10'(f61_out1, z0, z1) → c21(U11'(f30_in(z1), z0, z1), F30_IN(z1))
F1_IN(z0, z1) → c1(U1'(f8_in(z0, z1), z0, z1))
F1_IN(z0, z1) → c1(F8_IN(z0, z1))
F9_IN(.(=(z0, z1), z2)) → c1(U5'(f26_in(z0, z2), .(=(z0, z1), z2)))
F9_IN(.(=(z0, z1), z2)) → c1(F26_IN(z0, z2))
F8_IN(z0, z1) → c1(U6'(f9_in(z0), z0, z1))
F8_IN(z0, z1) → c1(F9_IN(z0))
F26_IN(z0, z1) → c1(U8'(f29_in(z0), z0, z1))
F26_IN(z0, z1) → c1(F29_IN(z0))
U8'(f29_out1, z0, z1) → c1(U9'(f30_in(z1), z0, z1))
U8'(f29_out1, z0, z1) → c1(F30_IN(z1))
S tuples:
F29_IN(.(z0, z1)) → c3(U2'(f29_in(z1), .(z0, z1)), F29_IN(z1))
F30_IN(.(=(z0, z1), z2)) → c6(U3'(f58_in(z0, z2), .(=(z0, z1), z2)), F58_IN(z0, z2))
F61_IN(.(z0, z1)) → c9(U4'(f61_in(z1), .(z0, z1)), F61_IN(z1))
U6'(f9_out1, z0, z1) → c15(U7'(f11_in(z1, z0), z0, z1))
F58_IN(z0, z1) → c20(U10'(f61_in(z0), z0, z1), F61_IN(z0))
U10'(f61_out1, z0, z1) → c21(U11'(f30_in(z1), z0, z1), F30_IN(z1))
F1_IN(z0, z1) → c1(U1'(f8_in(z0, z1), z0, z1))
F1_IN(z0, z1) → c1(F8_IN(z0, z1))
F9_IN(.(=(z0, z1), z2)) → c1(U5'(f26_in(z0, z2), .(=(z0, z1), z2)))
F9_IN(.(=(z0, z1), z2)) → c1(F26_IN(z0, z2))
F8_IN(z0, z1) → c1(U6'(f9_in(z0), z0, z1))
F8_IN(z0, z1) → c1(F9_IN(z0))
F26_IN(z0, z1) → c1(U8'(f29_in(z0), z0, z1))
F26_IN(z0, z1) → c1(F29_IN(z0))
U8'(f29_out1, z0, z1) → c1(U9'(f30_in(z1), z0, z1))
U8'(f29_out1, z0, z1) → c1(F30_IN(z1))
K tuples:none
Defined Rule Symbols:
f1_in, U1, f29_in, U2, f30_in, U3, f61_in, U4, f9_in, U5, f8_in, U6, U7, f26_in, U8, U9, f58_in, U10, U11
Defined Pair Symbols:
F29_IN, F30_IN, F61_IN, U6', F58_IN, U10', F1_IN, F9_IN, F8_IN, F26_IN, U8'
Compound Symbols:
c3, c6, c9, c15, c20, c21, c1
(5) CdtGraphRemoveTrailingTuplepartsProof (BOTH BOUNDS(ID, ID) transformation)
Removed 8 trailing tuple parts
(6) Obligation:
Complexity Dependency Tuples Problem
Rules:
f1_in(z0, z1) → U1(f8_in(z0, z1), z0, z1)
U1(f8_out1(z0, z1, z2, z3, z4, z5, z6, z7), z8, z9) → f1_out1(z6, z7)
f29_in([]) → f29_out1
f29_in(.(z0, z1)) → U2(f29_in(z1), .(z0, z1))
U2(f29_out1, .(z0, z1)) → f29_out1
f30_in([]) → f30_out1
f30_in(.(=(z0, z1), z2)) → U3(f58_in(z0, z2), .(=(z0, z1), z2))
U3(f58_out1, .(=(z0, z1), z2)) → f30_out1
f61_in([]) → f61_out1
f61_in(.(z0, z1)) → U4(f61_in(z1), .(z0, z1))
U4(f61_out1, .(z0, z1)) → f61_out1
f9_in([]) → f9_out1
f9_in(.(=(z0, z1), z2)) → U5(f26_in(z0, z2), .(=(z0, z1), z2))
U5(f26_out1, .(=(z0, z1), z2)) → f9_out1
f8_in(z0, z1) → U6(f9_in(z0), z0, z1)
U6(f9_out1, z0, z1) → U7(f11_in(z1, z0), z0, z1)
U7(f11_out1(z0, z1, z2, z3, z4, z5, z6, z7), z8, z9) → f8_out1(z0, z1, z2, z3, z4, z5, z6, z7)
f26_in(z0, z1) → U8(f29_in(z0), z0, z1)
U8(f29_out1, z0, z1) → U9(f30_in(z1), z0, z1)
U9(f30_out1, z0, z1) → f26_out1
f58_in(z0, z1) → U10(f61_in(z0), z0, z1)
U10(f61_out1, z0, z1) → U11(f30_in(z1), z0, z1)
U11(f30_out1, z0, z1) → f58_out1
Tuples:
F58_IN(z0, z1) → c20(U10'(f61_in(z0), z0, z1), F61_IN(z0))
F1_IN(z0, z1) → c1(F8_IN(z0, z1))
F9_IN(.(=(z0, z1), z2)) → c1(F26_IN(z0, z2))
F8_IN(z0, z1) → c1(U6'(f9_in(z0), z0, z1))
F8_IN(z0, z1) → c1(F9_IN(z0))
F26_IN(z0, z1) → c1(U8'(f29_in(z0), z0, z1))
F26_IN(z0, z1) → c1(F29_IN(z0))
U8'(f29_out1, z0, z1) → c1(F30_IN(z1))
F29_IN(.(z0, z1)) → c3(F29_IN(z1))
F30_IN(.(=(z0, z1), z2)) → c6(F58_IN(z0, z2))
F61_IN(.(z0, z1)) → c9(F61_IN(z1))
U6'(f9_out1, z0, z1) → c15
U10'(f61_out1, z0, z1) → c21(F30_IN(z1))
F1_IN(z0, z1) → c1
F9_IN(.(=(z0, z1), z2)) → c1
U8'(f29_out1, z0, z1) → c1
S tuples:
F58_IN(z0, z1) → c20(U10'(f61_in(z0), z0, z1), F61_IN(z0))
F1_IN(z0, z1) → c1(F8_IN(z0, z1))
F9_IN(.(=(z0, z1), z2)) → c1(F26_IN(z0, z2))
F8_IN(z0, z1) → c1(U6'(f9_in(z0), z0, z1))
F8_IN(z0, z1) → c1(F9_IN(z0))
F26_IN(z0, z1) → c1(U8'(f29_in(z0), z0, z1))
F26_IN(z0, z1) → c1(F29_IN(z0))
U8'(f29_out1, z0, z1) → c1(F30_IN(z1))
F29_IN(.(z0, z1)) → c3(F29_IN(z1))
F30_IN(.(=(z0, z1), z2)) → c6(F58_IN(z0, z2))
F61_IN(.(z0, z1)) → c9(F61_IN(z1))
U6'(f9_out1, z0, z1) → c15
U10'(f61_out1, z0, z1) → c21(F30_IN(z1))
F1_IN(z0, z1) → c1
F9_IN(.(=(z0, z1), z2)) → c1
U8'(f29_out1, z0, z1) → c1
K tuples:none
Defined Rule Symbols:
f1_in, U1, f29_in, U2, f30_in, U3, f61_in, U4, f9_in, U5, f8_in, U6, U7, f26_in, U8, U9, f58_in, U10, U11
Defined Pair Symbols:
F58_IN, F1_IN, F9_IN, F8_IN, F26_IN, U8', F29_IN, F30_IN, F61_IN, U6', U10'
Compound Symbols:
c20, c1, c3, c6, c9, c15, c21, c1
(7) CdtKnowledgeProof (EQUIVALENT transformation)
The following tuples could be moved from S to K by knowledge propagation:
F1_IN(z0, z1) → c1(F8_IN(z0, z1))
F8_IN(z0, z1) → c1(U6'(f9_in(z0), z0, z1))
F8_IN(z0, z1) → c1(F9_IN(z0))
U6'(f9_out1, z0, z1) → c15
F1_IN(z0, z1) → c1
F9_IN(.(=(z0, z1), z2)) → c1
F8_IN(z0, z1) → c1(U6'(f9_in(z0), z0, z1))
F8_IN(z0, z1) → c1(F9_IN(z0))
U6'(f9_out1, z0, z1) → c15
F9_IN(.(=(z0, z1), z2)) → c1(F26_IN(z0, z2))
F9_IN(.(=(z0, z1), z2)) → c1
F26_IN(z0, z1) → c1(U8'(f29_in(z0), z0, z1))
F26_IN(z0, z1) → c1(F29_IN(z0))
U8'(f29_out1, z0, z1) → c1(F30_IN(z1))
U8'(f29_out1, z0, z1) → c1
(8) Obligation:
Complexity Dependency Tuples Problem
Rules:
f1_in(z0, z1) → U1(f8_in(z0, z1), z0, z1)
U1(f8_out1(z0, z1, z2, z3, z4, z5, z6, z7), z8, z9) → f1_out1(z6, z7)
f29_in([]) → f29_out1
f29_in(.(z0, z1)) → U2(f29_in(z1), .(z0, z1))
U2(f29_out1, .(z0, z1)) → f29_out1
f30_in([]) → f30_out1
f30_in(.(=(z0, z1), z2)) → U3(f58_in(z0, z2), .(=(z0, z1), z2))
U3(f58_out1, .(=(z0, z1), z2)) → f30_out1
f61_in([]) → f61_out1
f61_in(.(z0, z1)) → U4(f61_in(z1), .(z0, z1))
U4(f61_out1, .(z0, z1)) → f61_out1
f9_in([]) → f9_out1
f9_in(.(=(z0, z1), z2)) → U5(f26_in(z0, z2), .(=(z0, z1), z2))
U5(f26_out1, .(=(z0, z1), z2)) → f9_out1
f8_in(z0, z1) → U6(f9_in(z0), z0, z1)
U6(f9_out1, z0, z1) → U7(f11_in(z1, z0), z0, z1)
U7(f11_out1(z0, z1, z2, z3, z4, z5, z6, z7), z8, z9) → f8_out1(z0, z1, z2, z3, z4, z5, z6, z7)
f26_in(z0, z1) → U8(f29_in(z0), z0, z1)
U8(f29_out1, z0, z1) → U9(f30_in(z1), z0, z1)
U9(f30_out1, z0, z1) → f26_out1
f58_in(z0, z1) → U10(f61_in(z0), z0, z1)
U10(f61_out1, z0, z1) → U11(f30_in(z1), z0, z1)
U11(f30_out1, z0, z1) → f58_out1
Tuples:
F58_IN(z0, z1) → c20(U10'(f61_in(z0), z0, z1), F61_IN(z0))
F1_IN(z0, z1) → c1(F8_IN(z0, z1))
F9_IN(.(=(z0, z1), z2)) → c1(F26_IN(z0, z2))
F8_IN(z0, z1) → c1(U6'(f9_in(z0), z0, z1))
F8_IN(z0, z1) → c1(F9_IN(z0))
F26_IN(z0, z1) → c1(U8'(f29_in(z0), z0, z1))
F26_IN(z0, z1) → c1(F29_IN(z0))
U8'(f29_out1, z0, z1) → c1(F30_IN(z1))
F29_IN(.(z0, z1)) → c3(F29_IN(z1))
F30_IN(.(=(z0, z1), z2)) → c6(F58_IN(z0, z2))
F61_IN(.(z0, z1)) → c9(F61_IN(z1))
U6'(f9_out1, z0, z1) → c15
U10'(f61_out1, z0, z1) → c21(F30_IN(z1))
F1_IN(z0, z1) → c1
F9_IN(.(=(z0, z1), z2)) → c1
U8'(f29_out1, z0, z1) → c1
S tuples:
F58_IN(z0, z1) → c20(U10'(f61_in(z0), z0, z1), F61_IN(z0))
F29_IN(.(z0, z1)) → c3(F29_IN(z1))
F30_IN(.(=(z0, z1), z2)) → c6(F58_IN(z0, z2))
F61_IN(.(z0, z1)) → c9(F61_IN(z1))
U10'(f61_out1, z0, z1) → c21(F30_IN(z1))
K tuples:
F1_IN(z0, z1) → c1(F8_IN(z0, z1))
F8_IN(z0, z1) → c1(U6'(f9_in(z0), z0, z1))
F8_IN(z0, z1) → c1(F9_IN(z0))
U6'(f9_out1, z0, z1) → c15
F1_IN(z0, z1) → c1
F9_IN(.(=(z0, z1), z2)) → c1
F9_IN(.(=(z0, z1), z2)) → c1(F26_IN(z0, z2))
F26_IN(z0, z1) → c1(U8'(f29_in(z0), z0, z1))
F26_IN(z0, z1) → c1(F29_IN(z0))
U8'(f29_out1, z0, z1) → c1(F30_IN(z1))
U8'(f29_out1, z0, z1) → c1
Defined Rule Symbols:
f1_in, U1, f29_in, U2, f30_in, U3, f61_in, U4, f9_in, U5, f8_in, U6, U7, f26_in, U8, U9, f58_in, U10, U11
Defined Pair Symbols:
F58_IN, F1_IN, F9_IN, F8_IN, F26_IN, U8', F29_IN, F30_IN, F61_IN, U6', U10'
Compound Symbols:
c20, c1, c3, c6, c9, c15, c21, c1
(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.
F29_IN(.(z0, z1)) → c3(F29_IN(z1))
We considered the (Usable) Rules:
f29_in([]) → f29_out1
f29_in(.(z0, z1)) → U2(f29_in(z1), .(z0, z1))
U2(f29_out1, .(z0, z1)) → f29_out1
f9_in([]) → f9_out1
f9_in(.(=(z0, z1), z2)) → U5(f26_in(z0, z2), .(=(z0, z1), z2))
f26_in(z0, z1) → U8(f29_in(z0), z0, z1)
U5(f26_out1, .(=(z0, z1), z2)) → f9_out1
U8(f29_out1, z0, z1) → U9(f30_in(z1), z0, z1)
f30_in([]) → f30_out1
f30_in(.(=(z0, z1), z2)) → U3(f58_in(z0, z2), .(=(z0, z1), z2))
U9(f30_out1, z0, z1) → f26_out1
f58_in(z0, z1) → U10(f61_in(z0), z0, z1)
U3(f58_out1, .(=(z0, z1), z2)) → f30_out1
f61_in([]) → f61_out1
f61_in(.(z0, z1)) → U4(f61_in(z1), .(z0, z1))
U10(f61_out1, z0, z1) → U11(f30_in(z1), z0, z1)
U11(f30_out1, z0, z1) → f58_out1
U4(f61_out1, .(z0, z1)) → f61_out1
And the Tuples:
F58_IN(z0, z1) → c20(U10'(f61_in(z0), z0, z1), F61_IN(z0))
F1_IN(z0, z1) → c1(F8_IN(z0, z1))
F9_IN(.(=(z0, z1), z2)) → c1(F26_IN(z0, z2))
F8_IN(z0, z1) → c1(U6'(f9_in(z0), z0, z1))
F8_IN(z0, z1) → c1(F9_IN(z0))
F26_IN(z0, z1) → c1(U8'(f29_in(z0), z0, z1))
F26_IN(z0, z1) → c1(F29_IN(z0))
U8'(f29_out1, z0, z1) → c1(F30_IN(z1))
F29_IN(.(z0, z1)) → c3(F29_IN(z1))
F30_IN(.(=(z0, z1), z2)) → c6(F58_IN(z0, z2))
F61_IN(.(z0, z1)) → c9(F61_IN(z1))
U6'(f9_out1, z0, z1) → c15
U10'(f61_out1, z0, z1) → c21(F30_IN(z1))
F1_IN(z0, z1) → c1
F9_IN(.(=(z0, z1), z2)) → c1
U8'(f29_out1, z0, z1) → c1
The order we found is given by the following interpretation:
Polynomial interpretation :
POL(.(x1, x2)) = [1] + x1 + x2
POL(=(x1, x2)) = [2] + x1 + x2
POL(F1_IN(x1, x2)) = [3] + [3]x1 + [2]x2
POL(F26_IN(x1, x2)) = [3] + x1
POL(F29_IN(x1)) = x1
POL(F30_IN(x1)) = 0
POL(F58_IN(x1, x2)) = 0
POL(F61_IN(x1)) = 0
POL(F8_IN(x1, x2)) = [2] + [3]x1 + x2
POL(F9_IN(x1)) = [2] + [3]x1
POL(U10(x1, x2, x3)) = [2]x3
POL(U10'(x1, x2, x3)) = 0
POL(U11(x1, x2, x3)) = 0
POL(U2(x1, x2)) = x2
POL(U3(x1, x2)) = 0
POL(U4(x1, x2)) = 0
POL(U5(x1, x2)) = x2
POL(U6'(x1, x2, x3)) = [1] + x1 + x2
POL(U8(x1, x2, x3)) = [3] + [2]x2 + [2]x3
POL(U8'(x1, x2, x3)) = [1]
POL(U9(x1, x2, x3)) = [3] + x2 + x3
POL([]) = 0
POL(c1) = 0
POL(c1(x1)) = x1
POL(c15) = 0
POL(c20(x1, x2)) = x1 + x2
POL(c21(x1)) = x1
POL(c3(x1)) = x1
POL(c6(x1)) = x1
POL(c9(x1)) = x1
POL(f26_in(x1, x2)) = [3] + [2]x1 + [3]x2
POL(f26_out1) = [2]
POL(f29_in(x1)) = x1
POL(f29_out1) = 0
POL(f30_in(x1)) = 0
POL(f30_out1) = 0
POL(f58_in(x1, x2)) = [3] + [2]x2
POL(f58_out1) = 0
POL(f61_in(x1)) = 0
POL(f61_out1) = 0
POL(f9_in(x1)) = [2]x1
POL(f9_out1) = 0
(10) Obligation:
Complexity Dependency Tuples Problem
Rules:
f1_in(z0, z1) → U1(f8_in(z0, z1), z0, z1)
U1(f8_out1(z0, z1, z2, z3, z4, z5, z6, z7), z8, z9) → f1_out1(z6, z7)
f29_in([]) → f29_out1
f29_in(.(z0, z1)) → U2(f29_in(z1), .(z0, z1))
U2(f29_out1, .(z0, z1)) → f29_out1
f30_in([]) → f30_out1
f30_in(.(=(z0, z1), z2)) → U3(f58_in(z0, z2), .(=(z0, z1), z2))
U3(f58_out1, .(=(z0, z1), z2)) → f30_out1
f61_in([]) → f61_out1
f61_in(.(z0, z1)) → U4(f61_in(z1), .(z0, z1))
U4(f61_out1, .(z0, z1)) → f61_out1
f9_in([]) → f9_out1
f9_in(.(=(z0, z1), z2)) → U5(f26_in(z0, z2), .(=(z0, z1), z2))
U5(f26_out1, .(=(z0, z1), z2)) → f9_out1
f8_in(z0, z1) → U6(f9_in(z0), z0, z1)
U6(f9_out1, z0, z1) → U7(f11_in(z1, z0), z0, z1)
U7(f11_out1(z0, z1, z2, z3, z4, z5, z6, z7), z8, z9) → f8_out1(z0, z1, z2, z3, z4, z5, z6, z7)
f26_in(z0, z1) → U8(f29_in(z0), z0, z1)
U8(f29_out1, z0, z1) → U9(f30_in(z1), z0, z1)
U9(f30_out1, z0, z1) → f26_out1
f58_in(z0, z1) → U10(f61_in(z0), z0, z1)
U10(f61_out1, z0, z1) → U11(f30_in(z1), z0, z1)
U11(f30_out1, z0, z1) → f58_out1
Tuples:
F58_IN(z0, z1) → c20(U10'(f61_in(z0), z0, z1), F61_IN(z0))
F1_IN(z0, z1) → c1(F8_IN(z0, z1))
F9_IN(.(=(z0, z1), z2)) → c1(F26_IN(z0, z2))
F8_IN(z0, z1) → c1(U6'(f9_in(z0), z0, z1))
F8_IN(z0, z1) → c1(F9_IN(z0))
F26_IN(z0, z1) → c1(U8'(f29_in(z0), z0, z1))
F26_IN(z0, z1) → c1(F29_IN(z0))
U8'(f29_out1, z0, z1) → c1(F30_IN(z1))
F29_IN(.(z0, z1)) → c3(F29_IN(z1))
F30_IN(.(=(z0, z1), z2)) → c6(F58_IN(z0, z2))
F61_IN(.(z0, z1)) → c9(F61_IN(z1))
U6'(f9_out1, z0, z1) → c15
U10'(f61_out1, z0, z1) → c21(F30_IN(z1))
F1_IN(z0, z1) → c1
F9_IN(.(=(z0, z1), z2)) → c1
U8'(f29_out1, z0, z1) → c1
S tuples:
F58_IN(z0, z1) → c20(U10'(f61_in(z0), z0, z1), F61_IN(z0))
F30_IN(.(=(z0, z1), z2)) → c6(F58_IN(z0, z2))
F61_IN(.(z0, z1)) → c9(F61_IN(z1))
U10'(f61_out1, z0, z1) → c21(F30_IN(z1))
K tuples:
F1_IN(z0, z1) → c1(F8_IN(z0, z1))
F8_IN(z0, z1) → c1(U6'(f9_in(z0), z0, z1))
F8_IN(z0, z1) → c1(F9_IN(z0))
U6'(f9_out1, z0, z1) → c15
F1_IN(z0, z1) → c1
F9_IN(.(=(z0, z1), z2)) → c1
F9_IN(.(=(z0, z1), z2)) → c1(F26_IN(z0, z2))
F26_IN(z0, z1) → c1(U8'(f29_in(z0), z0, z1))
F26_IN(z0, z1) → c1(F29_IN(z0))
U8'(f29_out1, z0, z1) → c1(F30_IN(z1))
U8'(f29_out1, z0, z1) → c1
F29_IN(.(z0, z1)) → c3(F29_IN(z1))
Defined Rule Symbols:
f1_in, U1, f29_in, U2, f30_in, U3, f61_in, U4, f9_in, U5, f8_in, U6, U7, f26_in, U8, U9, f58_in, U10, U11
Defined Pair Symbols:
F58_IN, F1_IN, F9_IN, F8_IN, F26_IN, U8', F29_IN, F30_IN, F61_IN, U6', U10'
Compound Symbols:
c20, c1, c3, c6, c9, c15, c21, c1
(11) 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.
F58_IN(z0, z1) → c20(U10'(f61_in(z0), z0, z1), F61_IN(z0))
F30_IN(.(=(z0, z1), z2)) → c6(F58_IN(z0, z2))
We considered the (Usable) Rules:
f29_in([]) → f29_out1
f29_in(.(z0, z1)) → U2(f29_in(z1), .(z0, z1))
U2(f29_out1, .(z0, z1)) → f29_out1
f9_in([]) → f9_out1
f9_in(.(=(z0, z1), z2)) → U5(f26_in(z0, z2), .(=(z0, z1), z2))
f26_in(z0, z1) → U8(f29_in(z0), z0, z1)
U5(f26_out1, .(=(z0, z1), z2)) → f9_out1
U8(f29_out1, z0, z1) → U9(f30_in(z1), z0, z1)
f30_in([]) → f30_out1
f30_in(.(=(z0, z1), z2)) → U3(f58_in(z0, z2), .(=(z0, z1), z2))
U9(f30_out1, z0, z1) → f26_out1
f58_in(z0, z1) → U10(f61_in(z0), z0, z1)
U3(f58_out1, .(=(z0, z1), z2)) → f30_out1
f61_in([]) → f61_out1
f61_in(.(z0, z1)) → U4(f61_in(z1), .(z0, z1))
U10(f61_out1, z0, z1) → U11(f30_in(z1), z0, z1)
U11(f30_out1, z0, z1) → f58_out1
U4(f61_out1, .(z0, z1)) → f61_out1
And the Tuples:
F58_IN(z0, z1) → c20(U10'(f61_in(z0), z0, z1), F61_IN(z0))
F1_IN(z0, z1) → c1(F8_IN(z0, z1))
F9_IN(.(=(z0, z1), z2)) → c1(F26_IN(z0, z2))
F8_IN(z0, z1) → c1(U6'(f9_in(z0), z0, z1))
F8_IN(z0, z1) → c1(F9_IN(z0))
F26_IN(z0, z1) → c1(U8'(f29_in(z0), z0, z1))
F26_IN(z0, z1) → c1(F29_IN(z0))
U8'(f29_out1, z0, z1) → c1(F30_IN(z1))
F29_IN(.(z0, z1)) → c3(F29_IN(z1))
F30_IN(.(=(z0, z1), z2)) → c6(F58_IN(z0, z2))
F61_IN(.(z0, z1)) → c9(F61_IN(z1))
U6'(f9_out1, z0, z1) → c15
U10'(f61_out1, z0, z1) → c21(F30_IN(z1))
F1_IN(z0, z1) → c1
F9_IN(.(=(z0, z1), z2)) → c1
U8'(f29_out1, z0, z1) → c1
The order we found is given by the following interpretation:
Polynomial interpretation :
POL(.(x1, x2)) = [2] + x2
POL(=(x1, x2)) = 0
POL(F1_IN(x1, x2)) = [2] + [2]x1 + [2]x2
POL(F26_IN(x1, x2)) = [1] + [2]x2
POL(F29_IN(x1)) = [1]
POL(F30_IN(x1)) = [2]x1
POL(F58_IN(x1, x2)) = [1] + [2]x2
POL(F61_IN(x1)) = 0
POL(F8_IN(x1, x2)) = [1] + [2]x1
POL(F9_IN(x1)) = [2]x1
POL(U10(x1, x2, x3)) = [3] + [3]x3
POL(U10'(x1, x2, x3)) = [2]x3
POL(U11(x1, x2, x3)) = [1] + x1
POL(U2(x1, x2)) = 0
POL(U3(x1, x2)) = [2]x2
POL(U4(x1, x2)) = 0
POL(U5(x1, x2)) = [3]x1
POL(U6'(x1, x2, x3)) = 0
POL(U8(x1, x2, x3)) = 0
POL(U8'(x1, x2, x3)) = [2]x3
POL(U9(x1, x2, x3)) = 0
POL([]) = [2]
POL(c1) = 0
POL(c1(x1)) = x1
POL(c15) = 0
POL(c20(x1, x2)) = x1 + x2
POL(c21(x1)) = x1
POL(c3(x1)) = x1
POL(c6(x1)) = x1
POL(c9(x1)) = x1
POL(f26_in(x1, x2)) = x2
POL(f26_out1) = 0
POL(f29_in(x1)) = [2]
POL(f29_out1) = 0
POL(f30_in(x1)) = [2] + [3]x1
POL(f30_out1) = [3]
POL(f58_in(x1, x2)) = [3] + x1 + [3]x2
POL(f58_out1) = [2]
POL(f61_in(x1)) = 0
POL(f61_out1) = 0
POL(f9_in(x1)) = [2] + [3]x1
POL(f9_out1) = 0
(12) Obligation:
Complexity Dependency Tuples Problem
Rules:
f1_in(z0, z1) → U1(f8_in(z0, z1), z0, z1)
U1(f8_out1(z0, z1, z2, z3, z4, z5, z6, z7), z8, z9) → f1_out1(z6, z7)
f29_in([]) → f29_out1
f29_in(.(z0, z1)) → U2(f29_in(z1), .(z0, z1))
U2(f29_out1, .(z0, z1)) → f29_out1
f30_in([]) → f30_out1
f30_in(.(=(z0, z1), z2)) → U3(f58_in(z0, z2), .(=(z0, z1), z2))
U3(f58_out1, .(=(z0, z1), z2)) → f30_out1
f61_in([]) → f61_out1
f61_in(.(z0, z1)) → U4(f61_in(z1), .(z0, z1))
U4(f61_out1, .(z0, z1)) → f61_out1
f9_in([]) → f9_out1
f9_in(.(=(z0, z1), z2)) → U5(f26_in(z0, z2), .(=(z0, z1), z2))
U5(f26_out1, .(=(z0, z1), z2)) → f9_out1
f8_in(z0, z1) → U6(f9_in(z0), z0, z1)
U6(f9_out1, z0, z1) → U7(f11_in(z1, z0), z0, z1)
U7(f11_out1(z0, z1, z2, z3, z4, z5, z6, z7), z8, z9) → f8_out1(z0, z1, z2, z3, z4, z5, z6, z7)
f26_in(z0, z1) → U8(f29_in(z0), z0, z1)
U8(f29_out1, z0, z1) → U9(f30_in(z1), z0, z1)
U9(f30_out1, z0, z1) → f26_out1
f58_in(z0, z1) → U10(f61_in(z0), z0, z1)
U10(f61_out1, z0, z1) → U11(f30_in(z1), z0, z1)
U11(f30_out1, z0, z1) → f58_out1
Tuples:
F58_IN(z0, z1) → c20(U10'(f61_in(z0), z0, z1), F61_IN(z0))
F1_IN(z0, z1) → c1(F8_IN(z0, z1))
F9_IN(.(=(z0, z1), z2)) → c1(F26_IN(z0, z2))
F8_IN(z0, z1) → c1(U6'(f9_in(z0), z0, z1))
F8_IN(z0, z1) → c1(F9_IN(z0))
F26_IN(z0, z1) → c1(U8'(f29_in(z0), z0, z1))
F26_IN(z0, z1) → c1(F29_IN(z0))
U8'(f29_out1, z0, z1) → c1(F30_IN(z1))
F29_IN(.(z0, z1)) → c3(F29_IN(z1))
F30_IN(.(=(z0, z1), z2)) → c6(F58_IN(z0, z2))
F61_IN(.(z0, z1)) → c9(F61_IN(z1))
U6'(f9_out1, z0, z1) → c15
U10'(f61_out1, z0, z1) → c21(F30_IN(z1))
F1_IN(z0, z1) → c1
F9_IN(.(=(z0, z1), z2)) → c1
U8'(f29_out1, z0, z1) → c1
S tuples:
F61_IN(.(z0, z1)) → c9(F61_IN(z1))
U10'(f61_out1, z0, z1) → c21(F30_IN(z1))
K tuples:
F1_IN(z0, z1) → c1(F8_IN(z0, z1))
F8_IN(z0, z1) → c1(U6'(f9_in(z0), z0, z1))
F8_IN(z0, z1) → c1(F9_IN(z0))
U6'(f9_out1, z0, z1) → c15
F1_IN(z0, z1) → c1
F9_IN(.(=(z0, z1), z2)) → c1
F9_IN(.(=(z0, z1), z2)) → c1(F26_IN(z0, z2))
F26_IN(z0, z1) → c1(U8'(f29_in(z0), z0, z1))
F26_IN(z0, z1) → c1(F29_IN(z0))
U8'(f29_out1, z0, z1) → c1(F30_IN(z1))
U8'(f29_out1, z0, z1) → c1
F29_IN(.(z0, z1)) → c3(F29_IN(z1))
F58_IN(z0, z1) → c20(U10'(f61_in(z0), z0, z1), F61_IN(z0))
F30_IN(.(=(z0, z1), z2)) → c6(F58_IN(z0, z2))
Defined Rule Symbols:
f1_in, U1, f29_in, U2, f30_in, U3, f61_in, U4, f9_in, U5, f8_in, U6, U7, f26_in, U8, U9, f58_in, U10, U11
Defined Pair Symbols:
F58_IN, F1_IN, F9_IN, F8_IN, F26_IN, U8', F29_IN, F30_IN, F61_IN, U6', U10'
Compound Symbols:
c20, c1, c3, c6, c9, c15, c21, c1
(13) CdtKnowledgeProof (EQUIVALENT transformation)
The following tuples could be moved from S to K by knowledge propagation:
U10'(f61_out1, z0, z1) → c21(F30_IN(z1))
F30_IN(.(=(z0, z1), z2)) → c6(F58_IN(z0, z2))
(14) Obligation:
Complexity Dependency Tuples Problem
Rules:
f1_in(z0, z1) → U1(f8_in(z0, z1), z0, z1)
U1(f8_out1(z0, z1, z2, z3, z4, z5, z6, z7), z8, z9) → f1_out1(z6, z7)
f29_in([]) → f29_out1
f29_in(.(z0, z1)) → U2(f29_in(z1), .(z0, z1))
U2(f29_out1, .(z0, z1)) → f29_out1
f30_in([]) → f30_out1
f30_in(.(=(z0, z1), z2)) → U3(f58_in(z0, z2), .(=(z0, z1), z2))
U3(f58_out1, .(=(z0, z1), z2)) → f30_out1
f61_in([]) → f61_out1
f61_in(.(z0, z1)) → U4(f61_in(z1), .(z0, z1))
U4(f61_out1, .(z0, z1)) → f61_out1
f9_in([]) → f9_out1
f9_in(.(=(z0, z1), z2)) → U5(f26_in(z0, z2), .(=(z0, z1), z2))
U5(f26_out1, .(=(z0, z1), z2)) → f9_out1
f8_in(z0, z1) → U6(f9_in(z0), z0, z1)
U6(f9_out1, z0, z1) → U7(f11_in(z1, z0), z0, z1)
U7(f11_out1(z0, z1, z2, z3, z4, z5, z6, z7), z8, z9) → f8_out1(z0, z1, z2, z3, z4, z5, z6, z7)
f26_in(z0, z1) → U8(f29_in(z0), z0, z1)
U8(f29_out1, z0, z1) → U9(f30_in(z1), z0, z1)
U9(f30_out1, z0, z1) → f26_out1
f58_in(z0, z1) → U10(f61_in(z0), z0, z1)
U10(f61_out1, z0, z1) → U11(f30_in(z1), z0, z1)
U11(f30_out1, z0, z1) → f58_out1
Tuples:
F58_IN(z0, z1) → c20(U10'(f61_in(z0), z0, z1), F61_IN(z0))
F1_IN(z0, z1) → c1(F8_IN(z0, z1))
F9_IN(.(=(z0, z1), z2)) → c1(F26_IN(z0, z2))
F8_IN(z0, z1) → c1(U6'(f9_in(z0), z0, z1))
F8_IN(z0, z1) → c1(F9_IN(z0))
F26_IN(z0, z1) → c1(U8'(f29_in(z0), z0, z1))
F26_IN(z0, z1) → c1(F29_IN(z0))
U8'(f29_out1, z0, z1) → c1(F30_IN(z1))
F29_IN(.(z0, z1)) → c3(F29_IN(z1))
F30_IN(.(=(z0, z1), z2)) → c6(F58_IN(z0, z2))
F61_IN(.(z0, z1)) → c9(F61_IN(z1))
U6'(f9_out1, z0, z1) → c15
U10'(f61_out1, z0, z1) → c21(F30_IN(z1))
F1_IN(z0, z1) → c1
F9_IN(.(=(z0, z1), z2)) → c1
U8'(f29_out1, z0, z1) → c1
S tuples:
F61_IN(.(z0, z1)) → c9(F61_IN(z1))
K tuples:
F1_IN(z0, z1) → c1(F8_IN(z0, z1))
F8_IN(z0, z1) → c1(U6'(f9_in(z0), z0, z1))
F8_IN(z0, z1) → c1(F9_IN(z0))
U6'(f9_out1, z0, z1) → c15
F1_IN(z0, z1) → c1
F9_IN(.(=(z0, z1), z2)) → c1
F9_IN(.(=(z0, z1), z2)) → c1(F26_IN(z0, z2))
F26_IN(z0, z1) → c1(U8'(f29_in(z0), z0, z1))
F26_IN(z0, z1) → c1(F29_IN(z0))
U8'(f29_out1, z0, z1) → c1(F30_IN(z1))
U8'(f29_out1, z0, z1) → c1
F29_IN(.(z0, z1)) → c3(F29_IN(z1))
F58_IN(z0, z1) → c20(U10'(f61_in(z0), z0, z1), F61_IN(z0))
F30_IN(.(=(z0, z1), z2)) → c6(F58_IN(z0, z2))
U10'(f61_out1, z0, z1) → c21(F30_IN(z1))
Defined Rule Symbols:
f1_in, U1, f29_in, U2, f30_in, U3, f61_in, U4, f9_in, U5, f8_in, U6, U7, f26_in, U8, U9, f58_in, U10, U11
Defined Pair Symbols:
F58_IN, F1_IN, F9_IN, F8_IN, F26_IN, U8', F29_IN, F30_IN, F61_IN, U6', U10'
Compound Symbols:
c20, c1, c3, c6, c9, c15, c21, c1
(15) CdtPolyRedPairProof (UPPER BOUND (ADD(O(n^1))) transformation)
Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S.
F61_IN(.(z0, z1)) → c9(F61_IN(z1))
We considered the (Usable) Rules:
f29_in([]) → f29_out1
f29_in(.(z0, z1)) → U2(f29_in(z1), .(z0, z1))
U2(f29_out1, .(z0, z1)) → f29_out1
f9_in([]) → f9_out1
f9_in(.(=(z0, z1), z2)) → U5(f26_in(z0, z2), .(=(z0, z1), z2))
f26_in(z0, z1) → U8(f29_in(z0), z0, z1)
U5(f26_out1, .(=(z0, z1), z2)) → f9_out1
U8(f29_out1, z0, z1) → U9(f30_in(z1), z0, z1)
f30_in([]) → f30_out1
f30_in(.(=(z0, z1), z2)) → U3(f58_in(z0, z2), .(=(z0, z1), z2))
U9(f30_out1, z0, z1) → f26_out1
f58_in(z0, z1) → U10(f61_in(z0), z0, z1)
U3(f58_out1, .(=(z0, z1), z2)) → f30_out1
f61_in([]) → f61_out1
f61_in(.(z0, z1)) → U4(f61_in(z1), .(z0, z1))
U10(f61_out1, z0, z1) → U11(f30_in(z1), z0, z1)
U11(f30_out1, z0, z1) → f58_out1
U4(f61_out1, .(z0, z1)) → f61_out1
And the Tuples:
F58_IN(z0, z1) → c20(U10'(f61_in(z0), z0, z1), F61_IN(z0))
F1_IN(z0, z1) → c1(F8_IN(z0, z1))
F9_IN(.(=(z0, z1), z2)) → c1(F26_IN(z0, z2))
F8_IN(z0, z1) → c1(U6'(f9_in(z0), z0, z1))
F8_IN(z0, z1) → c1(F9_IN(z0))
F26_IN(z0, z1) → c1(U8'(f29_in(z0), z0, z1))
F26_IN(z0, z1) → c1(F29_IN(z0))
U8'(f29_out1, z0, z1) → c1(F30_IN(z1))
F29_IN(.(z0, z1)) → c3(F29_IN(z1))
F30_IN(.(=(z0, z1), z2)) → c6(F58_IN(z0, z2))
F61_IN(.(z0, z1)) → c9(F61_IN(z1))
U6'(f9_out1, z0, z1) → c15
U10'(f61_out1, z0, z1) → c21(F30_IN(z1))
F1_IN(z0, z1) → c1
F9_IN(.(=(z0, z1), z2)) → c1
U8'(f29_out1, z0, z1) → c1
The order we found is given by the following interpretation:
Polynomial interpretation :
POL(.(x1, x2)) = [1] + x1 + x2
POL(=(x1, x2)) = x1 + x2
POL(F1_IN(x1, x2)) = [2] + [3]x1 + [2]x2
POL(F26_IN(x1, x2)) = [2] + [3]x1 + [3]x2
POL(F29_IN(x1)) = [1] + [2]x1
POL(F30_IN(x1)) = [2]x1
POL(F58_IN(x1, x2)) = [2] + x1 + [2]x2
POL(F61_IN(x1)) = x1
POL(F8_IN(x1, x2)) = [1] + [3]x1 + x2
POL(F9_IN(x1)) = [1] + [3]x1
POL(U10(x1, x2, x3)) = 0
POL(U10'(x1, x2, x3)) = [2]x3
POL(U11(x1, x2, x3)) = 0
POL(U2(x1, x2)) = 0
POL(U3(x1, x2)) = x1
POL(U4(x1, x2)) = [3] + x2
POL(U5(x1, x2)) = [2] + [2]x2
POL(U6'(x1, x2, x3)) = 0
POL(U8(x1, x2, x3)) = 0
POL(U8'(x1, x2, x3)) = [2] + [3]x3
POL(U9(x1, x2, x3)) = 0
POL([]) = [1]
POL(c1) = 0
POL(c1(x1)) = x1
POL(c15) = 0
POL(c20(x1, x2)) = x1 + x2
POL(c21(x1)) = x1
POL(c3(x1)) = x1
POL(c6(x1)) = x1
POL(c9(x1)) = x1
POL(f26_in(x1, x2)) = 0
POL(f26_out1) = 0
POL(f29_in(x1)) = 0
POL(f29_out1) = 0
POL(f30_in(x1)) = [2]x1
POL(f30_out1) = 0
POL(f58_in(x1, x2)) = x2
POL(f58_out1) = 0
POL(f61_in(x1)) = [2] + [2]x1
POL(f61_out1) = [2]
POL(f9_in(x1)) = [2] + [2]x1
POL(f9_out1) = [3]
(16) Obligation:
Complexity Dependency Tuples Problem
Rules:
f1_in(z0, z1) → U1(f8_in(z0, z1), z0, z1)
U1(f8_out1(z0, z1, z2, z3, z4, z5, z6, z7), z8, z9) → f1_out1(z6, z7)
f29_in([]) → f29_out1
f29_in(.(z0, z1)) → U2(f29_in(z1), .(z0, z1))
U2(f29_out1, .(z0, z1)) → f29_out1
f30_in([]) → f30_out1
f30_in(.(=(z0, z1), z2)) → U3(f58_in(z0, z2), .(=(z0, z1), z2))
U3(f58_out1, .(=(z0, z1), z2)) → f30_out1
f61_in([]) → f61_out1
f61_in(.(z0, z1)) → U4(f61_in(z1), .(z0, z1))
U4(f61_out1, .(z0, z1)) → f61_out1
f9_in([]) → f9_out1
f9_in(.(=(z0, z1), z2)) → U5(f26_in(z0, z2), .(=(z0, z1), z2))
U5(f26_out1, .(=(z0, z1), z2)) → f9_out1
f8_in(z0, z1) → U6(f9_in(z0), z0, z1)
U6(f9_out1, z0, z1) → U7(f11_in(z1, z0), z0, z1)
U7(f11_out1(z0, z1, z2, z3, z4, z5, z6, z7), z8, z9) → f8_out1(z0, z1, z2, z3, z4, z5, z6, z7)
f26_in(z0, z1) → U8(f29_in(z0), z0, z1)
U8(f29_out1, z0, z1) → U9(f30_in(z1), z0, z1)
U9(f30_out1, z0, z1) → f26_out1
f58_in(z0, z1) → U10(f61_in(z0), z0, z1)
U10(f61_out1, z0, z1) → U11(f30_in(z1), z0, z1)
U11(f30_out1, z0, z1) → f58_out1
Tuples:
F58_IN(z0, z1) → c20(U10'(f61_in(z0), z0, z1), F61_IN(z0))
F1_IN(z0, z1) → c1(F8_IN(z0, z1))
F9_IN(.(=(z0, z1), z2)) → c1(F26_IN(z0, z2))
F8_IN(z0, z1) → c1(U6'(f9_in(z0), z0, z1))
F8_IN(z0, z1) → c1(F9_IN(z0))
F26_IN(z0, z1) → c1(U8'(f29_in(z0), z0, z1))
F26_IN(z0, z1) → c1(F29_IN(z0))
U8'(f29_out1, z0, z1) → c1(F30_IN(z1))
F29_IN(.(z0, z1)) → c3(F29_IN(z1))
F30_IN(.(=(z0, z1), z2)) → c6(F58_IN(z0, z2))
F61_IN(.(z0, z1)) → c9(F61_IN(z1))
U6'(f9_out1, z0, z1) → c15
U10'(f61_out1, z0, z1) → c21(F30_IN(z1))
F1_IN(z0, z1) → c1
F9_IN(.(=(z0, z1), z2)) → c1
U8'(f29_out1, z0, z1) → c1
S tuples:none
K tuples:
F1_IN(z0, z1) → c1(F8_IN(z0, z1))
F8_IN(z0, z1) → c1(U6'(f9_in(z0), z0, z1))
F8_IN(z0, z1) → c1(F9_IN(z0))
U6'(f9_out1, z0, z1) → c15
F1_IN(z0, z1) → c1
F9_IN(.(=(z0, z1), z2)) → c1
F9_IN(.(=(z0, z1), z2)) → c1(F26_IN(z0, z2))
F26_IN(z0, z1) → c1(U8'(f29_in(z0), z0, z1))
F26_IN(z0, z1) → c1(F29_IN(z0))
U8'(f29_out1, z0, z1) → c1(F30_IN(z1))
U8'(f29_out1, z0, z1) → c1
F29_IN(.(z0, z1)) → c3(F29_IN(z1))
F58_IN(z0, z1) → c20(U10'(f61_in(z0), z0, z1), F61_IN(z0))
F30_IN(.(=(z0, z1), z2)) → c6(F58_IN(z0, z2))
U10'(f61_out1, z0, z1) → c21(F30_IN(z1))
F61_IN(.(z0, z1)) → c9(F61_IN(z1))
Defined Rule Symbols:
f1_in, U1, f29_in, U2, f30_in, U3, f61_in, U4, f9_in, U5, f8_in, U6, U7, f26_in, U8, U9, f58_in, U10, U11
Defined Pair Symbols:
F58_IN, F1_IN, F9_IN, F8_IN, F26_IN, U8', F29_IN, F30_IN, F61_IN, U6', U10'
Compound Symbols:
c20, c1, c3, c6, c9, c15, c21, c1
(17) SIsEmptyProof (EQUIVALENT transformation)
The set S is empty
(18) BOUNDS(O(1), O(1))