Input TRS: 1: active(eq(0(),0())) -> mark(true()) 2: active(eq(s(X),s(Y))) -> mark(eq(X,Y)) 3: active(eq(X,Y)) -> mark(false()) 4: active(inf(X)) -> mark(cons(X,inf(s(X)))) 5: active(take(0(),X)) -> mark(nil()) 6: active(take(s(X),cons(Y,L))) -> mark(cons(Y,take(X,L))) 7: active(length(nil())) -> mark(0()) 8: active(length(cons(X,L))) -> mark(s(length(L))) 9: active(inf(X)) -> inf(active(X)) 10: active(take(X1,X2)) -> take(active(X1),X2) 11: active(take(X1,X2)) -> take(X1,active(X2)) 12: active(length(X)) -> length(active(X)) 13: inf(mark(X)) -> mark(inf(X)) 14: take(mark(X1),X2) -> mark(take(X1,X2)) 15: take(X1,mark(X2)) -> mark(take(X1,X2)) 16: length(mark(X)) -> mark(length(X)) 17: proper(eq(X1,X2)) -> eq(proper(X1),proper(X2)) 18: proper(0()) -> ok(0()) 19: proper(true()) -> ok(true()) 20: proper(s(X)) -> s(proper(X)) 21: proper(false()) -> ok(false()) 22: proper(inf(X)) -> inf(proper(X)) 23: proper(cons(X1,X2)) -> cons(proper(X1),proper(X2)) 24: proper(take(X1,X2)) -> take(proper(X1),proper(X2)) 25: proper(nil()) -> ok(nil()) 26: proper(length(X)) -> length(proper(X)) 27: eq(ok(X1),ok(X2)) -> ok(eq(X1,X2)) 28: s(ok(X)) -> ok(s(X)) 29: inf(ok(X)) -> ok(inf(X)) 30: cons(ok(X1),ok(X2)) -> ok(cons(X1,X2)) 31: take(ok(X1),ok(X2)) -> ok(take(X1,X2)) 32: length(ok(X)) -> ok(length(X)) 33: top(mark(X)) -> top(proper(X)) 34: top(ok(X)) -> top(active(X)) Number of strict rules: 34 Direct Order(PosReal,>,Poly) ... failed. Freezing ... failed. Dependency Pairs: #1: #active(eq(s(X),s(Y))) -> #eq(X,Y) #2: #inf(ok(X)) -> #inf(X) #3: #active(take(s(X),cons(Y,L))) -> #cons(Y,take(X,L)) #4: #active(take(s(X),cons(Y,L))) -> #take(X,L) #5: #inf(mark(X)) -> #inf(X) #6: #active(inf(X)) -> #inf(active(X)) #7: #active(inf(X)) -> #active(X) #8: #active(take(X1,X2)) -> #take(X1,active(X2)) #9: #active(take(X1,X2)) -> #active(X2) #10: #proper(take(X1,X2)) -> #take(proper(X1),proper(X2)) #11: #proper(take(X1,X2)) -> #proper(X1) #12: #proper(take(X1,X2)) -> #proper(X2) #13: #proper(cons(X1,X2)) -> #cons(proper(X1),proper(X2)) #14: #proper(cons(X1,X2)) -> #proper(X1) #15: #proper(cons(X1,X2)) -> #proper(X2) #16: #active(length(X)) -> #length(active(X)) #17: #active(length(X)) -> #active(X) #18: #take(ok(X1),ok(X2)) -> #take(X1,X2) #19: #take(mark(X1),X2) -> #take(X1,X2) #20: #cons(ok(X1),ok(X2)) -> #cons(X1,X2) #21: #proper(s(X)) -> #s(proper(X)) #22: #proper(s(X)) -> #proper(X) #23: #active(take(X1,X2)) -> #take(active(X1),X2) #24: #active(take(X1,X2)) -> #active(X1) #25: #top(mark(X)) -> #top(proper(X)) #26: #top(mark(X)) -> #proper(X) #27: #s(ok(X)) -> #s(X) #28: #proper(inf(X)) -> #inf(proper(X)) #29: #proper(inf(X)) -> #proper(X) #30: #top(ok(X)) -> #top(active(X)) #31: #top(ok(X)) -> #active(X) #32: #eq(ok(X1),ok(X2)) -> #eq(X1,X2) #33: #proper(eq(X1,X2)) -> #eq(proper(X1),proper(X2)) #34: #proper(eq(X1,X2)) -> #proper(X1) #35: #proper(eq(X1,X2)) -> #proper(X2) #36: #length(ok(X)) -> #length(X) #37: #proper(length(X)) -> #length(proper(X)) #38: #proper(length(X)) -> #proper(X) #39: #length(mark(X)) -> #length(X) #40: #active(length(cons(X,L))) -> #s(length(L)) #41: #active(length(cons(X,L))) -> #length(L) #42: #take(X1,mark(X2)) -> #take(X1,X2) #43: #active(inf(X)) -> #cons(X,inf(s(X))) #44: #active(inf(X)) -> #inf(s(X)) #45: #active(inf(X)) -> #s(X) Number of SCCs: 9, DPs: 25, edges: 121 SCC { #27 } Removing DPs: Order(PosReal,>,Sum)... succeeded. #cons(x1,x2) weight: 0 s(x1) weight: 0 #take(x1,x2) weight: 0 take(x1,x2) weight: 0 top(x1) weight: 0 eq(x1,x2) weight: 0 false() weight: 0 #top(x1) weight: 0 true() weight: 0 #eq(x1,x2) weight: 0 proper(x1) weight: 0 ok(x1) weight: (/ 1 2) + x1 0() weight: 0 #s(x1) weight: x1 nil() weight: 0 mark(x1) weight: 0 #proper(x1) weight: 0 #inf(x1) weight: 0 active(x1) weight: 0 cons(x1,x2) weight: 0 #active(x1) weight: 0 length(x1) weight: 0 #length(x1) weight: 0 inf(x1) weight: 0 Usable rules: { } Removed DPs: #27 Number of SCCs: 8, DPs: 24, edges: 120 SCC { #20 } Removing DPs: Order(PosReal,>,Sum)... succeeded. #cons(x1,x2) weight: x2 s(x1) weight: 0 #take(x1,x2) weight: 0 take(x1,x2) weight: 0 top(x1) weight: 0 eq(x1,x2) weight: 0 false() weight: 0 #top(x1) weight: 0 true() weight: 0 #eq(x1,x2) weight: 0 proper(x1) weight: 0 ok(x1) weight: (/ 1 2) + x1 0() weight: 0 #s(x1) weight: 0 nil() weight: 0 mark(x1) weight: 0 #proper(x1) weight: 0 #inf(x1) weight: 0 active(x1) weight: 0 cons(x1,x2) weight: 0 #active(x1) weight: 0 length(x1) weight: 0 #length(x1) weight: 0 inf(x1) weight: 0 Usable rules: { } Removed DPs: #20 Number of SCCs: 7, DPs: 23, edges: 119 SCC { #32 } Removing DPs: Order(PosReal,>,Sum)... succeeded. #cons(x1,x2) weight: 0 s(x1) weight: 0 #take(x1,x2) weight: 0 take(x1,x2) weight: 0 top(x1) weight: 0 eq(x1,x2) weight: 0 false() weight: 0 #top(x1) weight: 0 true() weight: 0 #eq(x1,x2) weight: x2 proper(x1) weight: 0 ok(x1) weight: (/ 1 2) + x1 0() weight: 0 #s(x1) weight: 0 nil() weight: 0 mark(x1) weight: 0 #proper(x1) weight: 0 #inf(x1) weight: 0 active(x1) weight: 0 cons(x1,x2) weight: 0 #active(x1) weight: 0 length(x1) weight: 0 #length(x1) weight: 0 inf(x1) weight: 0 Usable rules: { } Removed DPs: #32 Number of SCCs: 6, DPs: 22, edges: 118 SCC { #2 #5 } Removing DPs: Order(PosReal,>,Sum)... succeeded. #cons(x1,x2) weight: 0 s(x1) weight: 0 #take(x1,x2) weight: 0 take(x1,x2) weight: 0 top(x1) weight: 0 eq(x1,x2) weight: 0 false() weight: 0 #top(x1) weight: 0 true() weight: 0 #eq(x1,x2) weight: 0 proper(x1) weight: 0 ok(x1) weight: (/ 1 2) + x1 0() weight: 0 #s(x1) weight: 0 nil() weight: 0 mark(x1) weight: (/ 1 2) + x1 #proper(x1) weight: 0 #inf(x1) weight: x1 active(x1) weight: 0 cons(x1,x2) weight: 0 #active(x1) weight: 0 length(x1) weight: 0 #length(x1) weight: 0 inf(x1) weight: 0 Usable rules: { } Removed DPs: #2 #5 Number of SCCs: 5, DPs: 20, edges: 114 SCC { #36 #39 } Removing DPs: Order(PosReal,>,Sum)... succeeded. #cons(x1,x2) weight: 0 s(x1) weight: 0 #take(x1,x2) weight: 0 take(x1,x2) weight: 0 top(x1) weight: 0 eq(x1,x2) weight: 0 false() weight: 0 #top(x1) weight: 0 true() weight: 0 #eq(x1,x2) weight: 0 proper(x1) weight: 0 ok(x1) weight: (/ 1 2) + x1 0() weight: 0 #s(x1) weight: 0 nil() weight: 0 mark(x1) weight: (/ 1 2) + x1 #proper(x1) weight: 0 #inf(x1) weight: 0 active(x1) weight: 0 cons(x1,x2) weight: 0 #active(x1) weight: 0 length(x1) weight: 0 #length(x1) weight: x1 inf(x1) weight: 0 Usable rules: { } Removed DPs: #36 #39 Number of SCCs: 4, DPs: 18, edges: 110 SCC { #25 #30 } Removing DPs: Order(PosReal,>,Sum)... Order(PosReal,>,Max)... QLPOpS... Order(PosReal,>,MaxSum)... QWPOpS(PosReal,>,MaxSum)... Order(PosReal,>,Sum-Sum; PosReal,≥,Sum-Sum)... succeeded. #cons(x1,x2) weight: 0; 0 s(x1) weight: (/ 1 8) + x1_1; x1_1 #take(x1,x2) weight: 0; 0 take(x1,x2) weight: (/ 1 8); (/ 1 4) + x2_2 + x1_2 top(x1) weight: 0; 0 eq(x1,x2) weight: (/ 1 8) + x2_1 + x1_1; (/ 1 4) + x2_1 + x1_1 false() weight: (/ 1 8); 0 #top(x1) weight: x1_2; 0 true() weight: (/ 1 8); (/ 1 8) #eq(x1,x2) weight: 0; 0 proper(x1) weight: x1_1; x1_2 ok(x1) weight: x1_1; x1_2 0() weight: 0; 0 #s(x1) weight: 0; 0 nil() weight: (/ 1 8); (/ 1 8) mark(x1) weight: (/ 1 8); (/ 1 8) + x1_2 #proper(x1) weight: 0; 0 #inf(x1) weight: 0; 0 active(x1) weight: (/ 1 8) + x1_2; x1_2 cons(x1,x2) weight: (/ 1 8) + x1_2; 0 #active(x1) weight: 0; 0 length(x1) weight: (/ 1 8); (/ 1 4) + x1_2 #length(x1) weight: 0; 0 inf(x1) weight: (/ 1 8); (/ 1 8) + x1_2 Usable rules: { 1..32 } Removed DPs: #25 Number of SCCs: 4, DPs: 17, edges: 107 SCC { #30 } Removing DPs: Order(PosReal,>,Sum)... succeeded. #cons(x1,x2) weight: 0 s(x1) weight: (/ 1 4) + x1 #take(x1,x2) weight: 0 take(x1,x2) weight: (/ 1 4) + x1 top(x1) weight: 0 eq(x1,x2) weight: (/ 1 4) + x2 false() weight: 0 #top(x1) weight: x1 true() weight: 0 #eq(x1,x2) weight: 0 proper(x1) weight: (/ 1 2) + x1 ok(x1) weight: (/ 1 2) + x1 0() weight: 0 #s(x1) weight: 0 nil() weight: 0 mark(x1) weight: (/ 1 4) #proper(x1) weight: 0 #inf(x1) weight: 0 active(x1) weight: (/ 1 4) + x1 cons(x1,x2) weight: (/ 1 4) + x1 #active(x1) weight: 0 length(x1) weight: (/ 1 4) + x1 #length(x1) weight: 0 inf(x1) weight: (/ 1 4) + x1 Usable rules: { 1..16 27..32 } Removed DPs: #30 Number of SCCs: 3, DPs: 16, edges: 106 SCC { #18 #19 #42 } Removing DPs: Order(PosReal,>,Sum)... succeeded. #cons(x1,x2) weight: 0 s(x1) weight: (/ 1 8) + x1 #take(x1,x2) weight: x1 + x2 take(x1,x2) weight: (/ 1 8) + x1 top(x1) weight: 0 eq(x1,x2) weight: (/ 1 8) + x2 false() weight: 0 #top(x1) weight: 0 true() weight: 0 #eq(x1,x2) weight: 0 proper(x1) weight: (/ 1 4) + x1 ok(x1) weight: (/ 1 4) + x1 0() weight: 0 #s(x1) weight: 0 nil() weight: 0 mark(x1) weight: (/ 1 8) + x1 #proper(x1) weight: 0 #inf(x1) weight: 0 active(x1) weight: (/ 1 8) + x1 cons(x1,x2) weight: (/ 1 8) + x1 #active(x1) weight: 0 length(x1) weight: (/ 1 8) + x1 #length(x1) weight: 0 inf(x1) weight: (/ 1 8) + x1 Usable rules: { } Removed DPs: #18 #19 #42 Number of SCCs: 3, DPs: 13, edges: 97 SCC { #7 #9 #17 #24 } Removing DPs: Order(PosReal,>,Sum)... succeeded. #cons(x1,x2) weight: 0 s(x1) weight: (/ 1 4) + x1 #take(x1,x2) weight: 0 take(x1,x2) weight: (/ 1 4) + x1 + x2 top(x1) weight: 0 eq(x1,x2) weight: (/ 1 4) + x2 false() weight: 0 #top(x1) weight: 0 true() weight: 0 #eq(x1,x2) weight: 0 proper(x1) weight: (/ 1 4) + x1 ok(x1) weight: (/ 1 4) + x1 0() weight: 0 #s(x1) weight: 0 nil() weight: 0 mark(x1) weight: (/ 1 4) + x1 #proper(x1) weight: 0 #inf(x1) weight: 0 active(x1) weight: (/ 1 4) + x1 cons(x1,x2) weight: (/ 1 4) + x1 #active(x1) weight: x1 length(x1) weight: (/ 1 4) + x1 #length(x1) weight: 0 inf(x1) weight: (/ 1 4) + x1 Usable rules: { } Removed DPs: #7 #9 #17 #24 Number of SCCs: 2, DPs: 9, edges: 81 SCC { #11 #12 #14 #15 #22 #29 #34 #35 #38 } Removing DPs: Order(PosReal,>,Sum)... succeeded. #cons(x1,x2) weight: 0 s(x1) weight: (/ 1 8) + x1 #take(x1,x2) weight: 0 take(x1,x2) weight: (/ 1 8) + x1 + x2 top(x1) weight: 0 eq(x1,x2) weight: (/ 1 8) + x1 + x2 false() weight: 0 #top(x1) weight: 0 true() weight: 0 #eq(x1,x2) weight: 0 proper(x1) weight: (/ 1 8) + x1 ok(x1) weight: (/ 1 8) + x1 0() weight: 0 #s(x1) weight: 0 nil() weight: 0 mark(x1) weight: (/ 1 8) + x1 #proper(x1) weight: x1 #inf(x1) weight: 0 active(x1) weight: (/ 3 8) + x1 cons(x1,x2) weight: (/ 1 8) + x1 + x2 #active(x1) weight: 0 length(x1) weight: (/ 1 8) + x1 #length(x1) weight: 0 inf(x1) weight: (/ 1 8) + x1 Usable rules: { } Removed DPs: #11 #12 #14 #15 #22 #29 #34 #35 #38 Number of SCCs: 1, DPs: 0, edges: 0 YES