Input TRS: 1: remove(nil(),x) -> nil() 2: remove(cons(x,xs),|0|()) -> cons(x,xs) 3: remove(cons(x,xs),s(y)) -> remove(xs,y) 4: first(nil(),x) -> nil() 5: first(cons(x,xs),|0|()) -> nil() 6: first(cons(x,xs),s(y)) -> cons(x,first(xs,y)) 7: sublist(nil(),x) -> nil() 8: sublist(cons(x,xs),|0|()) -> nil() 9: sublist(cons(x,xs),s(y)) -> cons(cons(x,first(xs,y)),sublist(remove(xs,y),s(y))) 10: sublist(cons(x,xs),z) ->= sublist(consSwap(x,xs),z) 11: consSwap(x,xs) ->= cons(x,xs) 12: consSwap(x,cons(y,xs)) ->= cons(y,consSwap(x,xs)) Number of strict rules: 9 Direct Order(PosReal,>,Poly) ... failed. Freezing ... failed. Dependency Pairs: #1: #first(cons(x,xs),s(y)) -> #first(xs,y) #2: #sublist(cons(x,xs),s(y)) -> #first(xs,y) #3: #sublist(cons(x,xs),s(y)) -> #sublist(remove(xs,y),s(y)) #4: #sublist(cons(x,xs),s(y)) -> #remove(xs,y) #5: #sublist(cons(x,xs),z) ->? #sublist(consSwap(x,xs),z) #6: #remove(cons(x,xs),s(y)) -> #remove(xs,y) Number of SCCs: 3, DPs: 4, edges: 6 SCC { #1 } Removing DPs: Order(PosReal,>,Sum)... succeeded. |0|() weight: 0 s(x1) weight: (/ 1 2) + x1 sublist(x1,x2) weight: 0 #sublist(x1,x2) weight: 0 consSwap(x1,x2) weight: 0 #first(x1,x2) weight: x2 nil() weight: 0 first(x1,x2) weight: 0 cons(x1,x2) weight: (/ 1 2) #remove(x1,x2) weight: 0 remove(x1,x2) weight: 0 Usable rules: { } Removed DPs: #1 Number of SCCs: 2, DPs: 3, edges: 5 SCC { #6 } Removing DPs: Order(PosReal,>,Sum)... succeeded. |0|() weight: 0 s(x1) weight: (/ 1 2) + x1 sublist(x1,x2) weight: 0 #sublist(x1,x2) weight: 0 consSwap(x1,x2) weight: 0 #first(x1,x2) weight: 0 nil() weight: 0 first(x1,x2) weight: 0 cons(x1,x2) weight: (/ 1 2) #remove(x1,x2) weight: x2 remove(x1,x2) weight: 0 Usable rules: { } Removed DPs: #6 Number of SCCs: 1, DPs: 2, edges: 4 SCC { #3 #5 } Removing DPs: Order(PosReal,>,Sum)... succeeded. |0|() weight: 0 s(x1) weight: (/ 1 4) sublist(x1,x2) weight: 0 #sublist(x1,x2) weight: x1 consSwap(x1,x2) weight: (/ 1 2) + x1 + x2 #first(x1,x2) weight: 0 nil() weight: 0 first(x1,x2) weight: 0 cons(x1,x2) weight: (/ 1 2) + x1 + x2 #remove(x1,x2) weight: 0 remove(x1,x2) weight: (/ 1 4) + x1 Usable rules: { 1..3 11 12 } Removed DPs: #3 Number of SCCs: 1, DPs: 1, edges: 1 SCC { #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