YES We show the termination of R/S, where R is rev(nil) -> nil rev(cons(x,l)) -> cons(rev1(x,l),rev2(x,l)) rev1(0,nil) -> 0 rev1(s(x),nil) -> s(x) rev1(x,cons(y,l)) -> rev1(y,l) rev2(x,nil) -> nil rev2(x,cons(y,l)) -> rev(cons(x,rev2(y,l))) and S is: rand(x) -> x rand(x) -> rand(s(x)) Since R almost dominates S and S is non-duplicating, it is enough to show finiteness of (P, Q). Here P consists of the dependency pairs rev#(cons(x,l)) -> rev1#(x,l) rev#(cons(x,l)) -> rev2#(x,l) rev1#(x,cons(y,l)) -> rev1#(y,l) rev2#(x,cons(y,l)) -> rev#(cons(x,rev2(y,l))) rev2#(x,cons(y,l)) -> rev2#(y,l) and Q consists of the rules: rev(nil) -> nil rev(cons(x,l)) -> cons(rev1(x,l),rev2(x,l)) rev1(0,nil) -> 0 rev1(s(x),nil) -> s(x) rev1(x,cons(y,l)) -> rev1(y,l) rev2(x,nil) -> nil rev2(x,cons(y,l)) -> rev(cons(x,rev2(y,l))) rand(x) -> x rand(x) -> rand(s(x)) The weakly monotone algebra (N, >) with rev#_A(x1) = x1 cons_A(x1,x2) = x1 + x2 + 2 rev1#_A(x1,x2) = x2 rev2#_A(x1,x2) = x1 + x2 + 1 rev2_A(x1,x2) = x1 + x2 rev_A(x1) = x1 nil_A = 1 rev1_A(x1,x2) = 0 0_A = 0 s_A(x1) = 0 rand_A(x1) = x1 strictly orients the following dependency pairs: rev#(cons(x,l)) -> rev1#(x,l) rev#(cons(x,l)) -> rev2#(x,l) rev1#(x,cons(y,l)) -> rev1#(y,l) rev2#(x,cons(y,l)) -> rev#(cons(x,rev2(y,l))) rev2#(x,cons(y,l)) -> rev2#(y,l) We remove them from the set of dependency pairs. No dependency pair remains.