Input TRS: 1: +(0(),y) -> y 2: +(s(x),y) -> s(+(x,y)) 3: ++(nil(),ys) -> ys 4: ++(:(x,xs),ys) -> :(x,++(xs,ys)) 5: sum(:(x,nil())) -> :(x,nil()) 6: sum(:(x,:(y,xs))) -> sum(:(+(x,y),xs)) 7: sum(++(xs,:(x,:(y,ys)))) -> sum(++(xs,sum(:(x,:(y,ys))))) 8: -(x,0()) -> x 9: -(0(),s(y)) -> 0() 10: -(s(x),s(y)) -> -(x,y) 11: quot(0(),s(y)) -> 0() 12: quot(s(x),s(y)) -> s(quot(-(x,y),s(y))) 13: length(nil()) -> 0() 14: length(:(x,xs)) -> s(length(xs)) 15: hd(:(x,xs)) -> x 16: avg(xs) -> quot(hd(sum(xs)),length(xs)) Number of strict rules: 16 Direct Order(PosReal,>,Poly) ... failed. Freezing ... failed. Dependency Pairs: #1: #+(s(x),y) -> #+(x,y) #2: #sum(:(x,:(y,xs))) -> #sum(:(+(x,y),xs)) #3: #sum(:(x,:(y,xs))) -> #+(x,y) #4: #quot(s(x),s(y)) -> #quot(-(x,y),s(y)) #5: #quot(s(x),s(y)) -> #-(x,y) #6: #length(:(x,xs)) -> #length(xs) #7: #sum(++(xs,:(x,:(y,ys)))) -> #sum(++(xs,sum(:(x,:(y,ys))))) #8: #sum(++(xs,:(x,:(y,ys)))) -> #++(xs,sum(:(x,:(y,ys)))) #9: #sum(++(xs,:(x,:(y,ys)))) -> #sum(:(x,:(y,ys))) #10: #-(s(x),s(y)) -> #-(x,y) #11: #avg(xs) -> #quot(hd(sum(xs)),length(xs)) #12: #avg(xs) -> #hd(sum(xs)) #13: #avg(xs) -> #sum(xs) #14: #avg(xs) -> #length(xs) #15: #++(:(x,xs),ys) -> #++(xs,ys) Number of SCCs: 7, DPs: 7, edges: 7 SCC { #6 } Removing DPs: Order(PosReal,>,Sum)... succeeded. hd(x1) weight: 0 s(x1) weight: 0 ++(x1,x2) weight: 0 sum(x1) weight: 0 #avg(x1) weight: 0 0() weight: 0 quot(x1,x2) weight: 0 :(x1,x2) weight: (/ 1 2) + x2 #++(x1,x2) weight: 0 nil() weight: 0 -(x1,x2) weight: 0 avg(x1) weight: 0 #hd(x1) weight: 0 #-(x1,x2) weight: 0 #quot(x1,x2) weight: 0 +(x1,x2) weight: 0 #sum(x1) weight: 0 length(x1) weight: 0 #length(x1) weight: x1 #+(x1,x2) weight: 0 Usable rules: { } Removed DPs: #6 Number of SCCs: 6, DPs: 6, edges: 6 SCC { #1 } Removing DPs: Order(PosReal,>,Sum)... succeeded. hd(x1) weight: 0 s(x1) weight: (/ 1 2) + x1 ++(x1,x2) weight: 0 sum(x1) weight: 0 #avg(x1) weight: 0 0() weight: 0 quot(x1,x2) weight: 0 :(x1,x2) weight: (/ 1 2) #++(x1,x2) weight: 0 nil() weight: 0 -(x1,x2) weight: 0 avg(x1) weight: 0 #hd(x1) weight: 0 #-(x1,x2) weight: 0 #quot(x1,x2) weight: 0 +(x1,x2) weight: 0 #sum(x1) weight: 0 length(x1) weight: 0 #length(x1) weight: 0 #+(x1,x2) weight: x1 Usable rules: { } Removed DPs: #1 Number of SCCs: 5, DPs: 5, edges: 5 SCC { #15 } Removing DPs: Order(PosReal,>,Sum)... succeeded. hd(x1) weight: 0 s(x1) weight: (/ 1 2) ++(x1,x2) weight: 0 sum(x1) weight: 0 #avg(x1) weight: 0 0() weight: 0 quot(x1,x2) weight: 0 :(x1,x2) weight: (/ 1 2) + x2 #++(x1,x2) weight: x1 nil() weight: 0 -(x1,x2) weight: 0 avg(x1) weight: 0 #hd(x1) weight: 0 #-(x1,x2) weight: 0 #quot(x1,x2) weight: 0 +(x1,x2) weight: 0 #sum(x1) weight: 0 length(x1) weight: 0 #length(x1) weight: 0 #+(x1,x2) weight: 0 Usable rules: { } Removed DPs: #15 Number of SCCs: 4, DPs: 4, edges: 4 SCC { #10 } Removing DPs: Order(PosReal,>,Sum)... succeeded. hd(x1) weight: 0 s(x1) weight: (/ 1 2) + x1 ++(x1,x2) weight: 0 sum(x1) weight: 0 #avg(x1) weight: 0 0() weight: 0 quot(x1,x2) weight: 0 :(x1,x2) weight: (/ 1 2) #++(x1,x2) weight: 0 nil() weight: 0 -(x1,x2) weight: 0 avg(x1) weight: 0 #hd(x1) weight: 0 #-(x1,x2) weight: x2 #quot(x1,x2) weight: 0 +(x1,x2) weight: 0 #sum(x1) weight: 0 length(x1) weight: 0 #length(x1) weight: 0 #+(x1,x2) weight: 0 Usable rules: { } Removed DPs: #10 Number of SCCs: 3, DPs: 3, edges: 3 SCC { #4 } Removing DPs: Order(PosReal,>,Sum)... succeeded. hd(x1) weight: 0 s(x1) weight: (/ 1 2) + x1 ++(x1,x2) weight: 0 sum(x1) weight: 0 #avg(x1) weight: 0 0() weight: 0 quot(x1,x2) weight: 0 :(x1,x2) weight: (/ 1 4) #++(x1,x2) weight: 0 nil() weight: 0 -(x1,x2) weight: (/ 1 4) + x1 avg(x1) weight: 0 #hd(x1) weight: 0 #-(x1,x2) weight: 0 #quot(x1,x2) weight: x1 +(x1,x2) weight: 0 #sum(x1) weight: 0 length(x1) weight: 0 #length(x1) weight: 0 #+(x1,x2) weight: 0 Usable rules: { 8..10 } Removed DPs: #4 Number of SCCs: 2, DPs: 2, edges: 2 SCC { #2 } Removing DPs: Order(PosReal,>,Sum)... succeeded. hd(x1) weight: 0 s(x1) weight: (/ 1 4) + x1 ++(x1,x2) weight: 0 sum(x1) weight: 0 #avg(x1) weight: 0 0() weight: 0 quot(x1,x2) weight: 0 :(x1,x2) weight: (/ 1 4) + x2 #++(x1,x2) weight: 0 nil() weight: 0 -(x1,x2) weight: (/ 1 4) + x1 avg(x1) weight: 0 #hd(x1) weight: 0 #-(x1,x2) weight: 0 #quot(x1,x2) weight: x1 +(x1,x2) weight: (/ 1 4) #sum(x1) weight: x1 length(x1) weight: 0 #length(x1) weight: 0 #+(x1,x2) weight: 0 Usable rules: { } Removed DPs: #2 Number of SCCs: 1, DPs: 1, edges: 1 SCC { #7 } Removing DPs: Order(PosReal,>,Sum)... succeeded. hd(x1) weight: 0 s(x1) weight: (/ 1 4) + x1 ++(x1,x2) weight: (/ 1 4) + x1 + x2 sum(x1) weight: (/ 1 4) #avg(x1) weight: 0 0() weight: 0 quot(x1,x2) weight: 0 :(x1,x2) weight: (/ 1 4) + x2 #++(x1,x2) weight: 0 nil() weight: 0 -(x1,x2) weight: (/ 1 4) + x1 avg(x1) weight: 0 #hd(x1) weight: 0 #-(x1,x2) weight: 0 #quot(x1,x2) weight: x1 +(x1,x2) weight: (/ 1 4) #sum(x1) weight: x1 length(x1) weight: 0 #length(x1) weight: 0 #+(x1,x2) weight: 0 Usable rules: { 3..6 } Removed DPs: #7 Number of SCCs: 0, DPs: 0, edges: 0 YES