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. |0|() weight: 0 hd(x1) weight: 0 s(x1) weight: 0 ++(x1,x2) weight: 0 sum(x1) weight: 0 #avg(x1) weight: 0 quot(x1,x2) weight: 0 #++(x1,x2) weight: 0 nil() weight: 0 -(x1,x2) weight: 0 avg(x1) weight: 0 #hd(x1) weight: 0 #-(x1,x2) weight: 0 |:|(x1,x2) weight: (/ 1 2) + x2 #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. |0|() weight: 0 hd(x1) weight: 0 s(x1) weight: (/ 1 2) + x1 ++(x1,x2) weight: 0 sum(x1) weight: 0 #avg(x1) weight: 0 quot(x1,x2) weight: 0 #++(x1,x2) weight: 0 nil() weight: 0 -(x1,x2) weight: 0 avg(x1) weight: 0 #hd(x1) weight: 0 #-(x1,x2) weight: 0 |:|(x1,x2) weight: (/ 1 2) #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. |0|() weight: 0 hd(x1) weight: 0 s(x1) weight: (/ 1 2) ++(x1,x2) weight: 0 sum(x1) weight: 0 #avg(x1) weight: 0 quot(x1,x2) weight: 0 #++(x1,x2) weight: x1 nil() weight: 0 -(x1,x2) weight: 0 avg(x1) weight: 0 #hd(x1) weight: 0 #-(x1,x2) weight: 0 |:|(x1,x2) weight: (/ 1 2) + 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: #15 Number of SCCs: 4, DPs: 4, edges: 4 SCC { #10 } Removing DPs: Order(PosReal,>,Sum)... succeeded. |0|() weight: 0 hd(x1) weight: 0 s(x1) weight: (/ 1 2) + x1 ++(x1,x2) weight: 0 sum(x1) weight: 0 #avg(x1) weight: 0 quot(x1,x2) weight: 0 #++(x1,x2) weight: 0 nil() weight: 0 -(x1,x2) weight: 0 avg(x1) weight: 0 #hd(x1) weight: 0 #-(x1,x2) weight: x2 |:|(x1,x2) weight: (/ 1 2) #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. |0|() weight: 0 hd(x1) weight: 0 s(x1) weight: (/ 1 2) + x1 ++(x1,x2) weight: 0 sum(x1) weight: 0 #avg(x1) weight: 0 quot(x1,x2) weight: 0 #++(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 |:|(x1,x2) weight: (/ 1 4) #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. |0|() weight: 0 hd(x1) weight: 0 s(x1) weight: (/ 1 4) + x1 ++(x1,x2) weight: 0 sum(x1) weight: 0 #avg(x1) weight: 0 quot(x1,x2) weight: 0 #++(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 |:|(x1,x2) weight: (/ 1 4) + x2 #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. |0|() weight: 0 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 quot(x1,x2) weight: 0 #++(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 |:|(x1,x2) weight: (/ 1 4) + x2 #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