Input TRS: 1: active(zeros()) -> mark(cons(0(),zeros())) 2: active(and(tt(),X)) -> mark(X) 3: active(length(nil())) -> mark(0()) 4: active(length(cons(N,L))) -> mark(s(length(L))) 5: mark(zeros()) -> active(zeros()) 6: mark(cons(X1,X2)) -> active(cons(mark(X1),X2)) 7: mark(0()) -> active(0()) 8: mark(and(X1,X2)) -> active(and(mark(X1),X2)) 9: mark(tt()) -> active(tt()) 10: mark(length(X)) -> active(length(mark(X))) 11: mark(nil()) -> active(nil()) 12: mark(s(X)) -> active(s(mark(X))) 13: cons(mark(X1),X2) -> cons(X1,X2) 14: cons(X1,mark(X2)) -> cons(X1,X2) 15: cons(active(X1),X2) -> cons(X1,X2) 16: cons(X1,active(X2)) -> cons(X1,X2) 17: and(mark(X1),X2) -> and(X1,X2) 18: and(X1,mark(X2)) -> and(X1,X2) 19: and(active(X1),X2) -> and(X1,X2) 20: and(X1,active(X2)) -> and(X1,X2) 21: length(mark(X)) -> length(X) 22: length(active(X)) -> length(X) 23: s(mark(X)) -> s(X) 24: s(active(X)) -> s(X) Number of strict rules: 24 Direct Order(PosReal,>,Poly) ... removes: 3 2 s(x1) weight: x1 and(x1,x2) weight: (/ 1 8) + x1 + x2 zeros() weight: 0 0() weight: 0 nil() weight: 0 mark(x1) weight: x1 active(x1) weight: x1 cons(x1,x2) weight: x1 + x2 tt() weight: 0 length(x1) weight: (/ 1 8) + x1 Number of strict rules: 22 Direct Order(PosReal,>,Poly) ... removes: 8 s(x1) weight: x1 and(x1,x2) weight: (/ 1 4) + x1 + x2 zeros() weight: 0 0() weight: 0 nil() weight: 0 mark(x1) weight: 2 * x1 active(x1) weight: x1 cons(x1,x2) weight: x1 + 2 * x2 tt() weight: 0 length(x1) weight: x1 Number of strict rules: 21 Direct Order(PosReal,>,Poly) ... failed. Freezing ... failed. Dependency Pairs: #1: #mark(cons(X1,X2)) -> #active(cons(mark(X1),X2)) #2: #mark(cons(X1,X2)) -> #cons(mark(X1),X2) #3: #mark(cons(X1,X2)) -> #mark(X1) #4: #cons(mark(X1),X2) -> #cons(X1,X2) #5: #mark(tt()) -> #active(tt()) #6: #mark(nil()) -> #active(nil()) #7: #s(active(X)) -> #s(X) #8: #s(mark(X)) -> #s(X) #9: #mark(s(X)) -> #active(s(mark(X))) #10: #mark(s(X)) -> #s(mark(X)) #11: #mark(s(X)) -> #mark(X) #12: #cons(X1,mark(X2)) -> #cons(X1,X2) #13: #and(X1,active(X2)) -> #and(X1,X2) #14: #mark(0()) -> #active(0()) #15: #mark(length(X)) -> #active(length(mark(X))) #16: #mark(length(X)) -> #length(mark(X)) #17: #mark(length(X)) -> #mark(X) #18: #mark(zeros()) -> #active(zeros()) #19: #length(active(X)) -> #length(X) #20: #and(mark(X1),X2) -> #and(X1,X2) #21: #and(active(X1),X2) -> #and(X1,X2) #22: #length(mark(X)) -> #length(X) #23: #cons(X1,active(X2)) -> #cons(X1,X2) #24: #active(zeros()) -> #mark(cons(0(),zeros())) #25: #active(zeros()) -> #cons(0(),zeros()) #26: #cons(active(X1),X2) -> #cons(X1,X2) #27: #active(length(cons(N,L))) -> #mark(s(length(L))) #28: #active(length(cons(N,L))) -> #s(length(L)) #29: #active(length(cons(N,L))) -> #length(L) #30: #and(X1,mark(X2)) -> #and(X1,X2) Number of SCCs: 5, DPs: 19, edges: 59 SCC { #19 #22 } Removing DPs: Order(PosReal,>,Sum)... succeeded. #cons(x1,x2) weight: 0 s(x1) weight: 0 and(x1,x2) weight: 0 zeros() weight: 0 #mark(x1) weight: 0 0() weight: 0 #s(x1) weight: 0 nil() weight: 0 mark(x1) weight: (/ 1 2) + x1 active(x1) weight: (/ 1 2) + x1 cons(x1,x2) weight: 0 #active(x1) weight: 0 tt() weight: 0 length(x1) weight: 0 #length(x1) weight: x1 #and(x1,x2) weight: 0 Usable rules: { } Removed DPs: #19 #22 Number of SCCs: 4, DPs: 17, edges: 55 SCC { #7 #8 } Removing DPs: Order(PosReal,>,Sum)... succeeded. #cons(x1,x2) weight: 0 s(x1) weight: 0 and(x1,x2) weight: 0 zeros() weight: 0 #mark(x1) weight: 0 0() weight: 0 #s(x1) weight: x1 nil() weight: 0 mark(x1) weight: (/ 1 2) + x1 active(x1) weight: (/ 1 2) + x1 cons(x1,x2) weight: 0 #active(x1) weight: 0 tt() weight: 0 length(x1) weight: 0 #length(x1) weight: 0 #and(x1,x2) weight: 0 Usable rules: { } Removed DPs: #7 #8 Number of SCCs: 3, DPs: 15, edges: 51 SCC { #13 #20 #21 #30 } Removing DPs: Order(PosReal,>,Sum)... succeeded. #cons(x1,x2) weight: 0 s(x1) weight: 0 and(x1,x2) weight: 0 zeros() weight: 0 #mark(x1) weight: 0 0() weight: 0 #s(x1) weight: 0 nil() weight: 0 mark(x1) weight: (/ 1 2) + x1 active(x1) weight: (/ 1 2) + x1 cons(x1,x2) weight: 0 #active(x1) weight: 0 tt() weight: 0 length(x1) weight: 0 #length(x1) weight: 0 #and(x1,x2) weight: x2 Usable rules: { } Removed DPs: #13 #30 Number of SCCs: 3, DPs: 13, edges: 39 SCC { #20 #21 } Removing DPs: Order(PosReal,>,Sum)... succeeded. #cons(x1,x2) weight: 0 s(x1) weight: 0 and(x1,x2) weight: 0 zeros() weight: 0 #mark(x1) weight: 0 0() weight: 0 #s(x1) weight: 0 nil() weight: 0 mark(x1) weight: (/ 1 2) + x1 active(x1) weight: (/ 1 2) + x1 cons(x1,x2) weight: 0 #active(x1) weight: 0 tt() weight: 0 length(x1) weight: 0 #length(x1) weight: 0 #and(x1,x2) weight: x1 Usable rules: { } Removed DPs: #20 #21 Number of SCCs: 2, DPs: 11, edges: 35 SCC { #4 #12 #23 #26 } Removing DPs: Order(PosReal,>,Sum)... succeeded. #cons(x1,x2) weight: x2 s(x1) weight: 0 and(x1,x2) weight: 0 zeros() weight: 0 #mark(x1) weight: 0 0() weight: 0 #s(x1) weight: 0 nil() weight: 0 mark(x1) weight: (/ 1 2) + x1 active(x1) weight: (/ 1 2) + x1 cons(x1,x2) weight: 0 #active(x1) weight: 0 tt() weight: 0 length(x1) weight: 0 #length(x1) weight: 0 #and(x1,x2) weight: 0 Usable rules: { } Removed DPs: #12 #23 Number of SCCs: 3, DPs: 9, edges: 23 SCC { #4 #26 } Removing DPs: Order(PosReal,>,Sum)... succeeded. #cons(x1,x2) weight: x1 s(x1) weight: 0 and(x1,x2) weight: 0 zeros() weight: 0 #mark(x1) weight: 0 0() weight: 0 #s(x1) weight: 0 nil() weight: 0 mark(x1) weight: (/ 1 2) + x1 active(x1) weight: (/ 1 2) + x1 cons(x1,x2) weight: 0 #active(x1) weight: 0 tt() weight: 0 length(x1) weight: 0 #length(x1) weight: 0 #and(x1,x2) weight: 0 Usable rules: { } Removed DPs: #4 #26 Number of SCCs: 2, DPs: 7, edges: 19 SCC { #3 #11 #15 #17 #18 #24 #27 } Removing DPs: Order(PosReal,>,Sum)... succeeded. #cons(x1,x2) weight: 0 s(x1) weight: x1 and(x1,x2) weight: 0 zeros() weight: 0 #mark(x1) weight: x1 0() weight: 0 #s(x1) weight: 0 nil() weight: 0 mark(x1) weight: x1 active(x1) weight: x1 cons(x1,x2) weight: x1 + x2 #active(x1) weight: x1 tt() weight: 0 length(x1) weight: (/ 1 2) + x1 #length(x1) weight: 0 #and(x1,x2) weight: 0 Usable rules: { 1 4..7 9..16 21..24 } Removed DPs: #17 Number of SCCs: 3, DPs: 6, edges: 12 SCC { #3 #11 #15 #18 #24 #27 } Removing DPs: Order(PosReal,>,Sum)... Order(PosReal,>,Max)... succeeded. #cons(x1,x2) weight: 0 s(x1) weight: x1 and(x1,x2) weight: 0 zeros() weight: (/ 1 2) #mark(x1) weight: x1 0() weight: (/ 1 8) #s(x1) weight: 0 nil() weight: (/ 1 8) mark(x1) weight: (/ 1 8) active(x1) weight: (/ 1 4) cons(x1,x2) weight: max{0, (/ 1 8) + x1} #active(x1) weight: (/ 3 8) tt() weight: (/ 1 8) length(x1) weight: (/ 3 8) #length(x1) weight: 0 #and(x1,x2) weight: 0 Usable rules: { 21 22 } Removed DPs: #3 #18 #24 Number of SCCs: 3, DPs: 3, edges: 4 SCC { #11 #15 #27 } Removing DPs: Order(PosReal,>,Sum)... Order(PosReal,>,Max)... QLPOpS... Order(PosReal,>,MaxSum)... QWPOpS(PosReal,>,MaxSum)... Order(PosReal,>,Sum-Sum; PosReal,≥,Sum-Sum)... Order(PosReal,>,Sum-Sum; NegReal,≥,Sum)... Order(PosReal,>,MaxSum-Sum; NegReal,≥,Sum)... failed. Removing edges: failed. Finding a loop... failed. MAYBE