Input TRS: 1: times(x,y) -> sum(generate(x,y)) 2: generate(x,y) -> gen(x,y,0()) 3: gen(x,y,z) -> if(ge(z,x),x,y,z) 4: if(true(),x,y,z) -> nil() 5: if(false(),x,y,z) -> cons(y,gen(x,y,s(z))) 6: sum(nil()) -> 0() 7: sum(cons(0(),xs)) -> sum(xs) 8: sum(cons(s(x),xs)) -> s(sum(cons(x,xs))) 9: ge(x,0()) -> true() 10: ge(0(),s(y)) -> false() 11: ge(s(x),s(y)) -> ge(x,y) Number of strict rules: 11 Direct Order(PosReal,>,Poly) ... failed. Freezing sum 1: times(x,y) -> sum(generate(x,y)) 2: generate(x,y) -> gen(x,y,0()) 3: gen(x,y,z) -> if(ge(z,x),x,y,z) 4: if(true(),x,y,z) -> nil() 5: if(false(),x,y,z) -> cons(y,gen(x,y,s(z))) 6: sum❆1_nil() -> 0() 7: sum❆1_cons(0(),xs) -> sum(xs) 8: sum❆1_cons(s(x),xs) -> s(sum❆1_cons(x,xs)) 9: ge(x,0()) -> true() 10: ge(0(),s(y)) -> false() 11: ge(s(x),s(y)) -> ge(x,y) 12: sum(cons(_1,_2)) ->= sum❆1_cons(_1,_2) 13: sum(nil()) ->= sum❆1_nil() Number of strict rules: 11 Direct Order(PosReal,>,Poly) ... failed. Dependency Pairs: #1: #generate(x,y) -> #gen(x,y,0()) #2: #sum(nil()) ->? #sum❆1_nil() #3: #ge(s(x),s(y)) -> #ge(x,y) #4: #sum(cons(_1,_2)) ->? #sum❆1_cons(_1,_2) #5: #sum❆1_cons(0(),xs) -> #sum(xs) #6: #if(false(),x,y,z) -> #gen(x,y,s(z)) #7: #gen(x,y,z) -> #if(ge(z,x),x,y,z) #8: #gen(x,y,z) -> #ge(z,x) #9: #times(x,y) -> #sum(generate(x,y)) #10: #times(x,y) -> #generate(x,y) #11: #sum❆1_cons(s(x),xs) -> #sum❆1_cons(x,xs) Number of SCCs: 3, DPs: 6, edges: 8 SCC { #3 } Removing DPs: Order(PosReal,>,Sum)... succeeded. s(x1) weight: (/ 1 2) + x1 #generate(x1,x2) weight: 0 sum❆1_cons(x1,x2) weight: 0 false() weight: 0 #ge(x1,x2) weight: x2 #sum❆1_cons(x1,x2) weight: 0 true() weight: 0 sum(x1) weight: 0 #times(x1,x2) weight: 0 0() weight: 0 if(x1,x2,x3,x4) weight: 0 ge(x1,x2) weight: 0 times(x1,x2) weight: 0 nil() weight: 0 #gen(x1,x2,x3) weight: 0 gen(x1,x2,x3) weight: 0 generate(x1,x2) weight: 0 cons(x1,x2) weight: 0 #if(x1,x2,x3,x4) weight: 0 #sum(x1) weight: 0 sum❆1_nil() weight: 0 #sum❆1_nil() weight: 0 Usable rules: { } Removed DPs: #3 Number of SCCs: 2, DPs: 5, edges: 7 SCC { #4 #5 #11 } Removing DPs: Order(PosReal,>,Sum)... succeeded. s(x1) weight: (/ 1 4) #generate(x1,x2) weight: 0 sum❆1_cons(x1,x2) weight: 0 false() weight: 0 #ge(x1,x2) weight: 0 #sum❆1_cons(x1,x2) weight: (/ 1 4) + x2 true() weight: 0 sum(x1) weight: 0 #times(x1,x2) weight: 0 0() weight: 0 if(x1,x2,x3,x4) weight: 0 ge(x1,x2) weight: 0 times(x1,x2) weight: 0 nil() weight: 0 #gen(x1,x2,x3) weight: 0 gen(x1,x2,x3) weight: 0 generate(x1,x2) weight: 0 cons(x1,x2) weight: (/ 1 2) + x2 #if(x1,x2,x3,x4) weight: 0 #sum(x1) weight: x1 sum❆1_nil() weight: 0 #sum❆1_nil() weight: 0 Usable rules: { } Removed DPs: #4 #5 Number of SCCs: 2, DPs: 3, edges: 3 SCC { #11 } Removing DPs: Order(PosReal,>,Sum)... succeeded. s(x1) weight: (/ 1 4) + x1 #generate(x1,x2) weight: 0 sum❆1_cons(x1,x2) weight: 0 false() weight: 0 #ge(x1,x2) weight: 0 #sum❆1_cons(x1,x2) weight: (/ 1 4) + x1 true() weight: 0 sum(x1) weight: 0 #times(x1,x2) weight: 0 0() weight: 0 if(x1,x2,x3,x4) weight: 0 ge(x1,x2) weight: 0 times(x1,x2) weight: 0 nil() weight: 0 #gen(x1,x2,x3) weight: 0 gen(x1,x2,x3) weight: 0 generate(x1,x2) weight: 0 cons(x1,x2) weight: (/ 1 2) #if(x1,x2,x3,x4) weight: 0 #sum(x1) weight: 0 sum❆1_nil() weight: 0 #sum❆1_nil() weight: 0 Usable rules: { } Removed DPs: #11 Number of SCCs: 1, DPs: 2, edges: 2 SCC { #6 #7 } 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