YES Input TRS: 1: rev(nil()) -> nil() 2: rev(cons(x,l)) -> cons(rev1(x,l),rev2(x,l)) 3: rev1(0(),nil()) -> 0() 4: rev1(s(x),nil()) -> s(x) 5: rev1(x,cons(y,l)) -> rev1(y,l) 6: rev2(x,nil()) -> nil() 7: rev2(x,cons(y,l)) -> rev(cons(x,rev2(y,l))) 8: rand(x) ->= x 9: rand(x) ->= rand(s(x)) Number of strict rules: 7 Direct POLO(bPol) ... failed. Uncurrying rev 1: rev^1_nil() -> nil() 2: rev^1_cons(x,l) -> cons(rev1(x,l),rev2(x,l)) 3: rev1(0(),nil()) -> 0() 4: rev1(s(x),nil()) -> s(x) 5: rev1(x,cons(y,l)) -> rev1(y,l) 6: rev2(x,nil()) -> nil() 7: rev2(x,cons(y,l)) -> rev^1_cons(x,rev2(y,l)) 8: rand(x) ->= x 9: rand(x) ->= rand(s(x)) 10: rev(cons(_1,_2)) ->= rev^1_cons(_1,_2) 11: rev(nil()) ->= rev^1_nil() Number of strict rules: 7 Direct POLO(bPol) ... failed. Dependency Pairs: #1: #rev^1_cons(x,l) -> #rev1(x,l) #2: #rev^1_cons(x,l) -> #rev2(x,l) #3: #rev(nil()) ->? #rev^1_nil() #4: #rev2(x,cons(y,l)) -> #rev^1_cons(x,rev2(y,l)) #5: #rev2(x,cons(y,l)) -> #rev2(y,l) #6: #rev(cons(_1,_2)) ->? #rev^1_cons(_1,_2) #7: #rev1(x,cons(y,l)) -> #rev1(y,l) Number of SCCs: 2, DPs: 4 SCC { #7 } POLO(Sum)... succeeded. #rev w: 0 s w: 0 rev1 w: 1 #rev1 w: x2 #rev2 w: 0 rand w: x1 0 w: 1 #rev^1_nil w: 0 nil w: 1 rev w: x1 + 2 cons w: x2 + 8366 #rev^1_cons w: 0 rev^1_cons w: x2 + 8366 rev2 w: x2 rev^1_nil w: 1 Removed DPs: #7 Number of SCCs: 1, DPs: 3 SCC { #2 #4 #5 } POLO(Sum)... succeeded. #rev w: 0 s w: 0 rev1 w: 1 #rev1 w: 0 #rev2 w: x2 rand w: x1 0 w: 1 #rev^1_nil w: 0 nil w: 1 rev w: x1 + 2 cons w: x2 + 2 #rev^1_cons w: x2 + 1 rev^1_cons w: x2 + 2 rev2 w: x2 rev^1_nil w: 1 Removed DPs: #2 #4 #5 Number of SCCs: 0, DPs: 0