Input TRS: 1: length(nil()) -> 0() 2: length(cons(x,l)) -> s(length(l)) 3: lt(x,0()) -> false() 4: lt(0(),s(y)) -> true() 5: lt(s(x),s(y)) -> lt(x,y) 6: head(cons(x,l)) -> x 7: head(nil()) -> undefined() 8: tail(nil()) -> nil() 9: tail(cons(x,l)) -> l 10: reverse(l) -> rev(0(),l,nil(),l) 11: rev(x,l,accu,orig) -> if(lt(x,length(orig)),x,l,accu,orig) 12: if(true(),x,l,accu,orig) -> rev(s(x),tail(l),cons(head(l),accu),orig) 13: if(false(),x,l,accu,orig) -> accu Number of strict rules: 13 Direct Order(PosReal,>,Poly) ... failed. Freezing ... failed. Dependency Pairs: #1: #length(cons(x,l)) -> #length(l) #2: #rev(x,l,accu,orig) -> #if(lt(x,length(orig)),x,l,accu,orig) #3: #rev(x,l,accu,orig) -> #lt(x,length(orig)) #4: #rev(x,l,accu,orig) -> #length(orig) #5: #if(true(),x,l,accu,orig) -> #rev(s(x),tail(l),cons(head(l),accu),orig) #6: #if(true(),x,l,accu,orig) -> #tail(l) #7: #if(true(),x,l,accu,orig) -> #head(l) #8: #reverse(l) -> #rev(0(),l,nil(),l) #9: #lt(s(x),s(y)) -> #lt(x,y) Number of SCCs: 3, DPs: 4, edges: 4 SCC { #1 } Removing DPs: Order(PosReal,>,Sum)... succeeded. #rev(x1,x2,x3,x4) weight: 0 s(x1) weight: 0 #lt(x1,x2) weight: 0 #reverse(x1) weight: 0 false() weight: 0 #head(x1) weight: 0 reverse(x1) weight: 0 true() weight: 0 tail(x1) weight: 0 0() weight: 0 if(x1,x2,x3,x4,x5) weight: 0 nil() weight: 0 #tail(x1) weight: 0 rev(x1,x2,x3,x4) weight: 0 undefined() weight: 0 head(x1) weight: 0 cons(x1,x2) weight: (/ 1 2) + x2 #if(x1,x2,x3,x4,x5) weight: 0 length(x1) weight: 0 #length(x1) weight: x1 lt(x1,x2) weight: 0 Usable rules: { } Removed DPs: #1 Number of SCCs: 2, DPs: 3, edges: 3 SCC { #9 } Removing DPs: Order(PosReal,>,Sum)... succeeded. #rev(x1,x2,x3,x4) weight: 0 s(x1) weight: (/ 1 2) + x1 #lt(x1,x2) weight: x2 #reverse(x1) weight: 0 false() weight: 0 #head(x1) weight: 0 reverse(x1) weight: 0 true() weight: 0 tail(x1) weight: 0 0() weight: 0 if(x1,x2,x3,x4,x5) weight: 0 nil() weight: 0 #tail(x1) weight: 0 rev(x1,x2,x3,x4) weight: 0 undefined() weight: 0 head(x1) weight: 0 cons(x1,x2) weight: (/ 1 2) #if(x1,x2,x3,x4,x5) weight: 0 length(x1) weight: 0 #length(x1) weight: 0 lt(x1,x2) weight: 0 Usable rules: { } Removed DPs: #9 Number of SCCs: 1, DPs: 2, edges: 2 SCC { #2 #5 } 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