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: mark(from(X)) -> active(from(mark(X))) 6: mark(cons(X1,X2)) -> active(cons(mark(X1),X2)) 7: mark(s(X)) -> active(s(mark(X))) 8: mark(length(X)) -> active(length(X)) 9: mark(nil()) -> active(nil()) 10: mark(0()) -> active(0()) 11: mark(length1(X)) -> active(length1(X)) 12: from(mark(X)) -> from(X) 13: from(active(X)) -> from(X) 14: cons(mark(X1),X2) -> cons(X1,X2) 15: cons(X1,mark(X2)) -> cons(X1,X2) 16: cons(active(X1),X2) -> cons(X1,X2) 17: cons(X1,active(X2)) -> cons(X1,X2) 18: s(mark(X)) -> s(X) 19: s(active(X)) -> s(X) 20: length(mark(X)) -> length(X) 21: length(active(X)) -> length(X) 22: length1(mark(X)) -> length1(X) 23: length1(active(X)) -> length1(X) Number of strict rules: 23 Direct Order(PosReal,>,Poly) ... failed. Freezing ... failed. Dependency Pairs: #1: #active(length(nil())) -> #mark(0()) #2: #mark(cons(X1,X2)) -> #active(cons(mark(X1),X2)) #3: #mark(cons(X1,X2)) -> #cons(mark(X1),X2) #4: #mark(cons(X1,X2)) -> #mark(X1) #5: #from(active(X)) -> #from(X) #6: #mark(nil()) -> #active(nil()) #7: #mark(length1(X)) -> #active(length1(X)) #8: #length1(active(X)) -> #length1(X) #9: #from(mark(X)) -> #from(X) #10: #cons(mark(X1),X2) -> #cons(X1,X2) #11: #length(mark(X)) -> #length(X) #12: #mark(s(X)) -> #active(s(mark(X))) #13: #mark(s(X)) -> #s(mark(X)) #14: #mark(s(X)) -> #mark(X) #15: #mark(0()) -> #active(0()) #16: #mark(from(X)) -> #active(from(mark(X))) #17: #mark(from(X)) -> #from(mark(X)) #18: #mark(from(X)) -> #mark(X) #19: #length1(mark(X)) -> #length1(X) #20: #cons(X1,active(X2)) -> #cons(X1,X2) #21: #s(active(X)) -> #s(X) #22: #length(active(X)) -> #length(X) #23: #cons(active(X1),X2) -> #cons(X1,X2) #24: #active(length(cons(X,Y))) -> #mark(s(length1(Y))) #25: #active(length(cons(X,Y))) -> #s(length1(Y)) #26: #active(length(cons(X,Y))) -> #length1(Y) #27: #active(from(X)) -> #mark(cons(X,from(s(X)))) #28: #active(from(X)) -> #cons(X,from(s(X))) #29: #active(from(X)) -> #from(s(X)) #30: #active(from(X)) -> #s(X) #31: #mark(length(X)) -> #active(length(X)) #32: #cons(X1,mark(X2)) -> #cons(X1,X2) #33: #active(length1(X)) -> #mark(length(X)) #34: #active(length1(X)) -> #length(X) #35: #s(mark(X)) -> #s(X) Number of SCCs: 6, DPs: 21, edges: 56 SCC { #21 #35 } Removing DPs: Order(PosReal,>,Sum)... succeeded. #cons(x1,x2) weight: 0 s(x1) weight: 0 #length1(x1) weight: 0 length1(x1) weight: 0 #mark(x1) weight: 0 0() weight: 0 from(x1) weight: 0 #s(x1) weight: x1 nil() weight: 0 mark(x1) weight: (/ 1 2) + x1 #from(x1) weight: 0 active(x1) weight: (/ 1 2) + x1 cons(x1,x2) weight: 0 #active(x1) weight: 0 length(x1) weight: 0 #length(x1) weight: 0 Usable rules: { } Removed DPs: #21 #35 Number of SCCs: 5, DPs: 19, edges: 52 SCC { #11 #22 } Removing DPs: Order(PosReal,>,Sum)... succeeded. #cons(x1,x2) weight: 0 s(x1) weight: 0 #length1(x1) weight: 0 length1(x1) weight: 0 #mark(x1) weight: 0 0() weight: 0 from(x1) weight: 0 #s(x1) weight: 0 nil() weight: 0 mark(x1) weight: (/ 1 2) + x1 #from(x1) weight: 0 active(x1) weight: (/ 1 2) + x1 cons(x1,x2) weight: 0 #active(x1) weight: 0 length(x1) weight: 0 #length(x1) weight: x1 Usable rules: { } Removed DPs: #11 #22 Number of SCCs: 4, DPs: 17, edges: 48 SCC { #8 #19 } Removing DPs: Order(PosReal,>,Sum)... succeeded. #cons(x1,x2) weight: 0 s(x1) weight: 0 #length1(x1) weight: x1 length1(x1) weight: 0 #mark(x1) weight: 0 0() weight: 0 from(x1) weight: 0 #s(x1) weight: 0 nil() weight: 0 mark(x1) weight: (/ 1 2) + x1 #from(x1) weight: 0 active(x1) weight: (/ 1 2) + x1 cons(x1,x2) weight: 0 #active(x1) weight: 0 length(x1) weight: 0 #length(x1) weight: 0 Usable rules: { } Removed DPs: #8 #19 Number of SCCs: 3, DPs: 15, edges: 44 SCC { #5 #9 } Removing DPs: Order(PosReal,>,Sum)... succeeded. #cons(x1,x2) weight: 0 s(x1) weight: 0 #length1(x1) weight: 0 length1(x1) weight: 0 #mark(x1) weight: 0 0() weight: 0 from(x1) weight: 0 #s(x1) weight: 0 nil() weight: 0 mark(x1) weight: (/ 1 2) + x1 #from(x1) weight: x1 active(x1) weight: (/ 1 2) + x1 cons(x1,x2) weight: 0 #active(x1) weight: 0 length(x1) weight: 0 #length(x1) weight: 0 Usable rules: { } Removed DPs: #5 #9 Number of SCCs: 2, DPs: 13, edges: 40 SCC { #10 #20 #23 #32 } Removing DPs: Order(PosReal,>,Sum)... succeeded. #cons(x1,x2) weight: x1 s(x1) weight: 0 #length1(x1) weight: 0 length1(x1) weight: 0 #mark(x1) weight: 0 0() weight: 0 from(x1) weight: 0 #s(x1) weight: 0 nil() weight: 0 mark(x1) weight: (/ 1 2) + x1 #from(x1) weight: 0 active(x1) weight: (/ 1 2) + x1 cons(x1,x2) weight: 0 #active(x1) weight: 0 length(x1) weight: 0 #length(x1) weight: 0 Usable rules: { } Removed DPs: #10 #23 Number of SCCs: 2, DPs: 11, edges: 28 SCC { #20 #32 } Removing DPs: Order(PosReal,>,Sum)... succeeded. #cons(x1,x2) weight: x2 s(x1) weight: 0 #length1(x1) weight: 0 length1(x1) weight: 0 #mark(x1) weight: 0 0() weight: 0 from(x1) weight: 0 #s(x1) weight: 0 nil() weight: 0 mark(x1) weight: (/ 1 2) + x1 #from(x1) weight: 0 active(x1) weight: (/ 1 2) + x1 cons(x1,x2) weight: 0 #active(x1) weight: 0 length(x1) weight: 0 #length(x1) weight: 0 Usable rules: { } Removed DPs: #20 #32 Number of SCCs: 1, DPs: 9, edges: 24 SCC { #4 #7 #14 #16 #18 #24 #27 #31 #33 } Removing DPs: Order(PosReal,>,Sum)... succeeded. #cons(x1,x2) weight: 0 s(x1) weight: x1 #length1(x1) weight: 0 length1(x1) weight: (/ 1 4) #mark(x1) weight: x1 0() weight: 0 from(x1) weight: (/ 1 2) + x1 #s(x1) weight: 0 nil() weight: 0 mark(x1) weight: x1 #from(x1) weight: 0 active(x1) weight: x1 cons(x1,x2) weight: (/ 1 4) + x1 #active(x1) weight: x1 length(x1) weight: (/ 1 4) #length(x1) weight: 0 Usable rules: { 1..23 } Removed DPs: #4 #18 #27 Number of SCCs: 2, DPs: 5, edges: 7 SCC { #7 #14 #24 #31 #33 } Removing DPs: Order(PosReal,>,Sum)... succeeded. #cons(x1,x2) weight: 0 s(x1) weight: (/ 1 8) + x1 #length1(x1) weight: 0 length1(x1) weight: (/ 3 8) + x1 #mark(x1) weight: (/ 1 8) + x1 0() weight: 0 from(x1) weight: (/ 1 8) #s(x1) weight: 0 nil() weight: 0 mark(x1) weight: x1 #from(x1) weight: 0 active(x1) weight: (/ 1 8) + x1 cons(x1,x2) weight: (/ 5 8) + x2 #active(x1) weight: x1 length(x1) weight: (/ 1 8) + x1 #length(x1) weight: 0 Usable rules: { 20..23 } Removed DPs: #7 #14 #24 #31 #33 Number of SCCs: 1, DPs: 0, edges: 0 YES