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(any(X1),X2)) -> cons(any(any(proper(X1))),any(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)) 35: any(X) -> s(X) 36: any(proper(X)) -> any(any(any(X))) Number of strict rules: 36 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: #any(X) -> #s(X) #4: #active(take(s(X),cons(Y,L))) -> #cons(Y,take(X,L)) #5: #active(take(s(X),cons(Y,L))) -> #take(X,L) #6: #inf(mark(X)) -> #inf(X) #7: #active(inf(X)) -> #inf(active(X)) #8: #active(inf(X)) -> #active(X) #9: #active(take(X1,X2)) -> #take(X1,active(X2)) #10: #active(take(X1,X2)) -> #active(X2) #11: #proper(take(X1,X2)) -> #take(proper(X1),proper(X2)) #12: #proper(take(X1,X2)) -> #proper(X1) #13: #proper(take(X1,X2)) -> #proper(X2) #14: #proper(cons(any(X1),X2)) -> #cons(any(any(proper(X1))),any(proper(X2))) #15: #proper(cons(any(X1),X2)) -> #any(any(proper(X1))) #16: #proper(cons(any(X1),X2)) -> #any(proper(X1)) #17: #proper(cons(any(X1),X2)) -> #proper(X1) #18: #proper(cons(any(X1),X2)) -> #any(proper(X2)) #19: #proper(cons(any(X1),X2)) -> #proper(X2) #20: #active(length(X)) -> #length(active(X)) #21: #active(length(X)) -> #active(X) #22: #take(ok(X1),ok(X2)) -> #take(X1,X2) #23: #take(mark(X1),X2) -> #take(X1,X2) #24: #cons(ok(X1),ok(X2)) -> #cons(X1,X2) #25: #proper(s(X)) -> #s(proper(X)) #26: #proper(s(X)) -> #proper(X) #27: #active(take(X1,X2)) -> #take(active(X1),X2) #28: #active(take(X1,X2)) -> #active(X1) #29: #top(mark(X)) -> #top(proper(X)) #30: #top(mark(X)) -> #proper(X) #31: #s(ok(X)) -> #s(X) #32: #proper(inf(X)) -> #inf(proper(X)) #33: #proper(inf(X)) -> #proper(X) #34: #top(ok(X)) -> #top(active(X)) #35: #top(ok(X)) -> #active(X) #36: #eq(ok(X1),ok(X2)) -> #eq(X1,X2) #37: #proper(eq(X1,X2)) -> #eq(proper(X1),proper(X2)) #38: #proper(eq(X1,X2)) -> #proper(X1) #39: #proper(eq(X1,X2)) -> #proper(X2) #40: #length(ok(X)) -> #length(X) #41: #proper(length(X)) -> #length(proper(X)) #42: #proper(length(X)) -> #proper(X) #43: #any(proper(X)) -> #any(any(any(X))) #44: #any(proper(X)) -> #any(any(X)) #45: #any(proper(X)) -> #any(X) #46: #length(mark(X)) -> #length(X) #47: #active(length(cons(X,L))) -> #s(length(L)) #48: #active(length(cons(X,L))) -> #length(L) #49: #take(X1,mark(X2)) -> #take(X1,X2) #50: #active(inf(X)) -> #cons(X,inf(s(X))) #51: #active(inf(X)) -> #inf(s(X)) #52: #active(inf(X)) -> #s(X) Number of SCCs: 10, DPs: 26, edges: 122 SCC { #31 } 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 any(x1) weight: 0 false() weight: 0 #top(x1) weight: 0 #any(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: #31 Number of SCCs: 9, DPs: 25, edges: 121 SCC { #45 } 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 any(x1) weight: 0 false() weight: 0 #top(x1) weight: 0 #any(x1) weight: x1 true() weight: 0 #eq(x1,x2) weight: 0 proper(x1) weight: (/ 1 2) + x1 ok(x1) weight: (/ 1 2) 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: #45 Number of SCCs: 8, DPs: 24, edges: 120 SCC { #24 } 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 any(x1) weight: 0 false() weight: 0 #top(x1) weight: 0 #any(x1) weight: 0 true() weight: 0 #eq(x1,x2) weight: 0 proper(x1) weight: (/ 1 2) 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: #24 Number of SCCs: 7, DPs: 23, edges: 119 SCC { #36 } 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 any(x1) weight: 0 false() weight: 0 #top(x1) weight: 0 #any(x1) weight: 0 true() weight: 0 #eq(x1,x2) weight: x2 proper(x1) weight: (/ 1 2) 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: #36 Number of SCCs: 6, DPs: 22, edges: 118 SCC { #40 #46 } 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 any(x1) weight: 0 false() weight: 0 #top(x1) weight: 0 #any(x1) weight: 0 true() weight: 0 #eq(x1,x2) weight: 0 proper(x1) weight: (/ 1 2) 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: #40 #46 Number of SCCs: 5, DPs: 20, edges: 114 SCC { #2 #6 } 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 any(x1) weight: 0 false() weight: 0 #top(x1) weight: 0 #any(x1) weight: 0 true() weight: 0 #eq(x1,x2) weight: 0 proper(x1) weight: (/ 1 2) 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 #6 Number of SCCs: 4, DPs: 18, edges: 110 SCC { #29 #34 } 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); (/ 1 8) + x1_2 #take(x1,x2) weight: 0; 0 take(x1,x2) weight: (/ 1 16) + x2_1 + x2_2 + x1_1 + x1_2; (/ 1 16) top(x1) weight: 0; 0 eq(x1,x2) weight: (/ 1 8) + x2_2 + x1_2; (/ 1 16) any(x1) weight: (/ 1 16) + x1_1; (/ 1 16) false() weight: (/ 1 16); (/ 1 16) #top(x1) weight: x1_1 + x1_2; 0 #any(x1) weight: 0; 0 true() weight: (/ 1 16); (/ 1 16) #eq(x1,x2) weight: 0; 0 proper(x1) weight: x1_1; x1_2 ok(x1) weight: x1_1; x1_2 0() weight: (/ 1 16); (/ 1 16) #s(x1) weight: 0; 0 nil() weight: (/ 1 16); (/ 1 16) mark(x1) weight: x1_1 + x1_2; (/ 1 16) #proper(x1) weight: 0; 0 #inf(x1) weight: 0; 0 active(x1) weight: x1_1; x1_2 cons(x1,x2) weight: (/ 1 16); (/ 3 16) #active(x1) weight: 0; 0 length(x1) weight: (/ 1 16) + x1_1 + x1_2; (/ 1 16) #length(x1) weight: 0; 0 inf(x1) weight: (/ 1 4) + x1_1 + x1_2; (/ 1 16) Usable rules: { 1..32 } Removed DPs: #29 Number of SCCs: 4, DPs: 17, edges: 107 SCC { #34 } Removing DPs: Order(PosReal,>,Sum)... succeeded. #cons(x1,x2) weight: 0 s(x1) weight: x1 #take(x1,x2) weight: 0 take(x1,x2) weight: x1 top(x1) weight: 0 eq(x1,x2) weight: x1 any(x1) weight: x1 false() weight: 0 #top(x1) weight: x1 #any(x1) weight: 0 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: 0 #proper(x1) weight: 0 #inf(x1) weight: 0 active(x1) weight: (/ 1 4) + x1 cons(x1,x2) weight: (/ 1 4) + x2 #active(x1) weight: 0 length(x1) weight: x1 #length(x1) weight: 0 inf(x1) weight: (/ 1 4) + x1 Usable rules: { 1..16 27..32 } Removed DPs: #34 Number of SCCs: 3, DPs: 16, edges: 106 SCC { #22 #23 #49 } Removing DPs: Order(PosReal,>,Sum)... succeeded. #cons(x1,x2) weight: 0 s(x1) weight: x1 #take(x1,x2) weight: x2 take(x1,x2) weight: x1 top(x1) weight: 0 eq(x1,x2) weight: x1 any(x1) weight: x1 false() weight: 0 #top(x1) weight: x1 #any(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: x1 #proper(x1) weight: 0 #inf(x1) weight: 0 active(x1) weight: (/ 1 4) + x1 cons(x1,x2) weight: (/ 1 4) + x2 #active(x1) weight: 0 length(x1) weight: x1 #length(x1) weight: 0 inf(x1) weight: (/ 1 4) + x1 Usable rules: { } Removed DPs: #22 Number of SCCs: 4, DPs: 15, edges: 101 SCC { #23 #49 } Removing DPs: Order(PosReal,>,Sum)... succeeded. #cons(x1,x2) weight: 0 s(x1) weight: (/ 1 4) #take(x1,x2) weight: x1 take(x1,x2) weight: 0 top(x1) weight: 0 eq(x1,x2) weight: x1 any(x1) weight: 0 false() weight: 0 #top(x1) weight: 0 #any(x1) weight: 0 true() weight: 0 #eq(x1,x2) weight: 0 proper(x1) weight: x1 ok(x1) weight: 0 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: (/ 3 4) + x1 cons(x1,x2) weight: (/ 1 4) + x2 #active(x1) weight: 0 length(x1) weight: x1 #length(x1) weight: 0 inf(x1) weight: (/ 1 4) + x1 Usable rules: { } Removed DPs: #23 Number of SCCs: 4, DPs: 14, edges: 98 SCC { #49 } Removing DPs: Order(PosReal,>,Sum)... succeeded. #cons(x1,x2) weight: 0 s(x1) weight: (/ 1 4) #take(x1,x2) weight: x2 take(x1,x2) weight: 0 top(x1) weight: 0 eq(x1,x2) weight: x1 any(x1) weight: 0 false() weight: 0 #top(x1) weight: 0 #any(x1) weight: 0 true() weight: 0 #eq(x1,x2) weight: 0 proper(x1) weight: x1 ok(x1) weight: 0 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: (/ 3 4) + x1 cons(x1,x2) weight: (/ 1 4) + x2 #active(x1) weight: 0 length(x1) weight: x1 #length(x1) weight: 0 inf(x1) weight: (/ 1 4) + x1 Usable rules: { } Removed DPs: #49 Number of SCCs: 3, DPs: 13, edges: 97 SCC { #8 #10 #21 #28 } Removing DPs: Order(PosReal,>,Sum)... succeeded. #cons(x1,x2) weight: 0 s(x1) weight: (/ 1 4) #take(x1,x2) weight: 0 take(x1,x2) weight: (/ 1 4) + x1 + x2 top(x1) weight: 0 eq(x1,x2) weight: x1 any(x1) weight: 0 false() weight: 0 #top(x1) weight: 0 #any(x1) weight: 0 true() weight: 0 #eq(x1,x2) weight: 0 proper(x1) weight: 0 ok(x1) weight: 0 0() weight: 0 #s(x1) weight: 0 nil() weight: 0 mark(x1) weight: x1 #proper(x1) weight: 0 #inf(x1) weight: 0 active(x1) weight: (/ 1 4) + x1 cons(x1,x2) weight: x2 #active(x1) weight: x1 length(x1) weight: (/ 1 4) + x1 #length(x1) weight: 0 inf(x1) weight: (/ 1 4) + x1 Usable rules: { } Removed DPs: #8 #10 #21 #28 Number of SCCs: 3, DPs: 9, edges: 81 SCC { #12 #13 #17 #19 #26 #33 #38 #39 #42 } 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 any(x1) weight: x1 false() weight: 0 #top(x1) weight: 0 #any(x1) weight: 0 true() weight: 0 #eq(x1,x2) weight: 0 proper(x1) weight: 0 ok(x1) weight: 0 0() weight: 0 #s(x1) weight: 0 nil() weight: 0 mark(x1) weight: x1 #proper(x1) weight: x1 #inf(x1) weight: 0 active(x1) weight: (/ 1 4) + 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: #12 #13 #17 #19 #26 #33 #38 #39 #42 Number of SCCs: 2, DPs: 0, edges: 0 YES