Input TRS: 1: active(from(X)) -> mark(cons(X,from(s(X)))) 2: active(length(nil())) -> mark(0()) 3: active(length(cons(X,Y))) -> mark(s(length1(Y))) 4: active(length1(X)) -> mark(length(X)) 5: active(from(X)) -> from(active(X)) 6: active(cons(X1,X2)) -> cons(active(X1),X2) 7: active(s(X)) -> s(active(X)) 8: from(mark(X)) -> mark(from(X)) 9: cons(mark(X1),X2) -> mark(cons(X1,X2)) 10: s(mark(X)) -> mark(s(X)) 11: proper(from(X)) -> from(proper(X)) 12: proper(cons(X1,X2)) -> cons(proper(X1),proper(X2)) 13: proper(s(X)) -> s(proper(X)) 14: proper(length(X)) -> length(proper(X)) 15: proper(nil()) -> ok(nil()) 16: proper(0()) -> ok(0()) 17: proper(length1(X)) -> length1(proper(X)) 18: from(ok(X)) -> ok(from(X)) 19: cons(ok(X1),ok(X2)) -> ok(cons(X1,X2)) 20: s(ok(X)) -> ok(s(X)) 21: length(ok(X)) -> ok(length(X)) 22: length1(ok(X)) -> ok(length1(X)) 23: top(mark(X)) -> top(proper(X)) 24: top(ok(X)) -> top(active(X)) Number of strict rules: 24 Direct Order(PosReal,>,Poly) ... failed. Freezing ... failed. Dependency Pairs: #1: #active(cons(X1,X2)) -> #cons(active(X1),X2) #2: #active(cons(X1,X2)) -> #active(X1) #3: #proper(s(X)) -> #s(proper(X)) #4: #proper(s(X)) -> #proper(X) #5: #cons(mark(X1),X2) -> #cons(X1,X2) #6: #proper(from(X)) -> #from(proper(X)) #7: #proper(from(X)) -> #proper(X) #8: #top(ok(X)) -> #top(active(X)) #9: #top(ok(X)) -> #active(X) #10: #top(mark(X)) -> #top(proper(X)) #11: #top(mark(X)) -> #proper(X) #12: #proper(cons(X1,X2)) -> #cons(proper(X1),proper(X2)) #13: #proper(cons(X1,X2)) -> #proper(X1) #14: #proper(cons(X1,X2)) -> #proper(X2) #15: #proper(length(X)) -> #length(proper(X)) #16: #proper(length(X)) -> #proper(X) #17: #s(ok(X)) -> #s(X) #18: #active(s(X)) -> #s(active(X)) #19: #active(s(X)) -> #active(X) #20: #s(mark(X)) -> #s(X) #21: #active(from(X)) -> #from(active(X)) #22: #active(from(X)) -> #active(X) #23: #length1(ok(X)) -> #length1(X) #24: #proper(length1(X)) -> #length1(proper(X)) #25: #proper(length1(X)) -> #proper(X) #26: #cons(ok(X1),ok(X2)) -> #cons(X1,X2) #27: #length(ok(X)) -> #length(X) #28: #active(length(cons(X,Y))) -> #s(length1(Y)) #29: #active(length(cons(X,Y))) -> #length1(Y) #30: #active(from(X)) -> #cons(X,from(s(X))) #31: #active(from(X)) -> #from(s(X)) #32: #active(from(X)) -> #s(X) #33: #from(mark(X)) -> #from(X) #34: #active(length1(X)) -> #length(X) #35: #from(ok(X)) -> #from(X) Number of SCCs: 8, DPs: 19, edges: 63 SCC { #27 } Removing DPs: Order(PosReal,>,Sum)... succeeded. #cons(x1,x2) weight: 0 s(x1) weight: 0 #length1(x1) weight: 0 top(x1) weight: 0 length1(x1) weight: 0 #top(x1) weight: 0 proper(x1) weight: 0 ok(x1) weight: (/ 1 2) + x1 0() weight: 0 from(x1) weight: 0 #s(x1) weight: 0 nil() weight: 0 mark(x1) weight: 0 #proper(x1) weight: 0 #from(x1) weight: 0 active(x1) weight: 0 cons(x1,x2) weight: 0 #active(x1) weight: 0 length(x1) weight: 0 #length(x1) weight: x1 Usable rules: { } Removed DPs: #27 Number of SCCs: 7, DPs: 18, edges: 62 SCC { #23 } Removing DPs: Order(PosReal,>,Sum)... succeeded. #cons(x1,x2) weight: 0 s(x1) weight: 0 #length1(x1) weight: x1 top(x1) weight: 0 length1(x1) weight: 0 #top(x1) weight: 0 proper(x1) weight: 0 ok(x1) weight: (/ 1 2) + x1 0() weight: 0 from(x1) weight: 0 #s(x1) weight: 0 nil() weight: 0 mark(x1) weight: 0 #proper(x1) weight: 0 #from(x1) weight: 0 active(x1) weight: 0 cons(x1,x2) weight: 0 #active(x1) weight: 0 length(x1) weight: 0 #length(x1) weight: 0 Usable rules: { } Removed DPs: #23 Number of SCCs: 6, DPs: 17, edges: 61 SCC { #17 #20 } Removing DPs: Order(PosReal,>,Sum)... succeeded. #cons(x1,x2) weight: 0 s(x1) weight: 0 #length1(x1) weight: 0 top(x1) weight: 0 length1(x1) weight: 0 #top(x1) weight: 0 proper(x1) weight: 0 ok(x1) weight: (/ 1 2) + x1 0() weight: 0 from(x1) weight: 0 #s(x1) weight: x1 nil() weight: 0 mark(x1) weight: (/ 1 2) + x1 #proper(x1) weight: 0 #from(x1) weight: 0 active(x1) weight: 0 cons(x1,x2) weight: 0 #active(x1) weight: 0 length(x1) weight: 0 #length(x1) weight: 0 Usable rules: { } Removed DPs: #17 #20 Number of SCCs: 5, DPs: 15, edges: 57 SCC { #33 #35 } Removing DPs: Order(PosReal,>,Sum)... succeeded. #cons(x1,x2) weight: 0 s(x1) weight: 0 #length1(x1) weight: 0 top(x1) weight: 0 length1(x1) weight: 0 #top(x1) weight: 0 proper(x1) weight: 0 ok(x1) weight: (/ 1 2) + x1 0() weight: 0 from(x1) weight: 0 #s(x1) weight: 0 nil() weight: 0 mark(x1) weight: (/ 1 2) + x1 #proper(x1) weight: 0 #from(x1) weight: x1 active(x1) weight: 0 cons(x1,x2) weight: 0 #active(x1) weight: 0 length(x1) weight: 0 #length(x1) weight: 0 Usable rules: { } Removed DPs: #33 #35 Number of SCCs: 4, DPs: 13, edges: 53 SCC { #8 #10 } 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 #length1(x1) weight: 0; 0 top(x1) weight: 0; 0 length1(x1) weight: (/ 3 8) + x1_2; (/ 1 8) + x1_2 #top(x1) weight: x1_1; x1_1 proper(x1) weight: (/ 1 4) + x1_1; (/ 1 4) + x1_2 ok(x1) weight: (/ 1 4) + x1_1; (/ 1 4) + x1_2 0() weight: 0; (/ 1 8) from(x1) weight: (/ 1 4) + x1_1; (/ 1 8) + x1_2 #s(x1) weight: 0; 0 nil() weight: 0; (/ 1 8) mark(x1) weight: (/ 3 8) + x1_1; (/ 1 8) #proper(x1) weight: 0; 0 #from(x1) weight: 0; 0 active(x1) weight: (/ 1 8) + x1_1; (/ 1 8) + x1_1 + x1_2 cons(x1,x2) weight: x1_1; (/ 5 8) + x2_2 #active(x1) weight: 0; 0 length(x1) weight: (/ 1 8) + x1_2; (/ 1 8) + x1_2 #length(x1) weight: 0; 0 Usable rules: { 1..22 } Removed DPs: #8 #10 Number of SCCs: 3, DPs: 11, edges: 49 SCC { #5 #26 } Removing DPs: Order(PosReal,>,Sum)... succeeded. #cons(x1,x2) weight: x2 s(x1) weight: (/ 1 2) #length1(x1) weight: 0 top(x1) weight: 0 length1(x1) weight: (/ 1 2) #top(x1) weight: 0 proper(x1) weight: (/ 1 4) ok(x1) weight: (/ 1 2) + x1 0() weight: 0 from(x1) weight: (/ 1 2) #s(x1) weight: 0 nil() weight: 0 mark(x1) weight: (/ 3 4) #proper(x1) weight: 0 #from(x1) weight: 0 active(x1) weight: (/ 1 4) cons(x1,x2) weight: (/ 1 4) + x1 #active(x1) weight: 0 length(x1) weight: (/ 1 2) #length(x1) weight: 0 Usable rules: { } Removed DPs: #26 Number of SCCs: 3, DPs: 10, edges: 46 SCC { #5 } Removing DPs: Order(PosReal,>,Sum)... succeeded. #cons(x1,x2) weight: x1 s(x1) weight: 0 #length1(x1) weight: 0 top(x1) weight: 0 length1(x1) weight: (/ 1 2) #top(x1) weight: 0 proper(x1) weight: (/ 1 4) ok(x1) weight: (/ 1 2) + x1 0() weight: 0 from(x1) weight: 0 #s(x1) weight: 0 nil() weight: 0 mark(x1) weight: (/ 1 2) + x1 #proper(x1) weight: 0 #from(x1) weight: 0 active(x1) weight: (/ 1 4) cons(x1,x2) weight: x1 #active(x1) weight: 0 length(x1) weight: 0 #length(x1) weight: 0 Usable rules: { } Removed DPs: #5 Number of SCCs: 2, DPs: 9, edges: 45 SCC { #2 #19 #22 } Removing DPs: Order(PosReal,>,Sum)... succeeded. #cons(x1,x2) weight: 0 s(x1) weight: (/ 1 4) + x1 #length1(x1) weight: 0 top(x1) weight: 0 length1(x1) weight: (/ 1 2) #top(x1) weight: 0 proper(x1) weight: (/ 1 4) ok(x1) weight: (/ 1 2) + x1 0() weight: 0 from(x1) weight: (/ 1 4) + x1 #s(x1) weight: 0 nil() weight: 0 mark(x1) weight: (/ 1 2) + x1 #proper(x1) weight: 0 #from(x1) weight: 0 active(x1) weight: (/ 1 4) cons(x1,x2) weight: (/ 1 4) + x1 #active(x1) weight: x1 length(x1) weight: 0 #length(x1) weight: 0 Usable rules: { } Removed DPs: #2 #19 #22 Number of SCCs: 2, DPs: 6, edges: 36 SCC { #4 #7 #13 #14 #16 #25 } Removing DPs: Order(PosReal,>,Sum)... succeeded. #cons(x1,x2) weight: 0 s(x1) weight: (/ 1 4) + x1 #length1(x1) weight: 0 top(x1) weight: 0 length1(x1) weight: (/ 1 4) + x1 #top(x1) weight: 0 proper(x1) weight: (/ 1 4) ok(x1) weight: (/ 1 2) + x1 0() weight: 0 from(x1) weight: (/ 1 4) + x1 #s(x1) weight: 0 nil() weight: 0 mark(x1) weight: (/ 3 4) + x1 #proper(x1) weight: x1 #from(x1) weight: 0 active(x1) weight: (/ 1 4) + x1 cons(x1,x2) weight: (/ 1 4) + x1 + x2 #active(x1) weight: 0 length(x1) weight: x1 #length(x1) weight: 0 Usable rules: { } Removed DPs: #4 #7 #13 #14 #25 Number of SCCs: 2, DPs: 1, edges: 1 SCC { #16 } Removing DPs: Order(PosReal,>,Sum)... succeeded. #cons(x1,x2) weight: 0 s(x1) weight: (/ 1 4) + x1 #length1(x1) weight: 0 top(x1) weight: 0 length1(x1) weight: (/ 1 4) + x1 #top(x1) weight: 0 proper(x1) weight: (/ 1 4) ok(x1) weight: (/ 1 2) + x1 0() weight: 0 from(x1) weight: (/ 1 4) + x1 #s(x1) weight: 0 nil() weight: 0 mark(x1) weight: (/ 3 4) + x1 #proper(x1) weight: x1 #from(x1) weight: 0 active(x1) weight: (/ 1 4) + x1 cons(x1,x2) weight: (/ 1 4) + x1 + x2 #active(x1) weight: 0 length(x1) weight: (/ 1 4) + x1 #length(x1) weight: 0 Usable rules: { } Removed DPs: #16 Number of SCCs: 1, DPs: 0, edges: 0 YES