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