YES We show the termination of R/S, where R is g(c(x,s(y))) -> g(c(s(x),y)) f(c(s(x),y)) -> f(c(x,s(y))) f(f(x)) -> f(d(f(x))) f(x) -> x 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 g#(c(x,s(y))) -> g#(c(s(x),y)) f#(c(s(x),y)) -> f#(c(x,s(y))) f#(f(x)) -> f#(d(f(x))) f#(f(x)) -> f#(x) and Q consists of the rules: g(c(x,s(y))) -> g(c(s(x),y)) f(c(s(x),y)) -> f(c(x,s(y))) f(f(x)) -> f(d(f(x))) f(x) -> x rand(x) -> x rand(x) -> rand(s(x)) The weakly monotone algebra (N^3, >_lex) with g#_A((x1,y1,z1)) = (x1, y1, z1) c_A((x1,y1,z1),(x2,y2,z2)) = (x1 + x2, y1 + y2, z1 + z2) s_A((x1,y1,z1)) = (x1, y1, z1) f#_A((x1,y1,z1)) = (x1, 0, 0) f_A((x1,y1,z1)) = (x1 + 1, y1 + 1, z1 + 1) d_A((x1,y1,z1)) = (x1, y1, z1) g_A((x1,y1,z1)) = (x1, y1, z1) rand_A((x1,y1,z1)) = (x1 + 1, y1 + 1, z1) strictly orients the following dependency pairs: f#(f(x)) -> f#(x) We remove them from the set of dependency pairs. The weakly monotone algebra (N^3, >_lex) with g#_A((x1,y1,z1)) = (0, 0, 0) c_A((x1,y1,z1),(x2,y2,z2)) = (x1 + x2, y1, 0) s_A((x1,y1,z1)) = (x1, y1 + 1, 0) f#_A((x1,y1,z1)) = (x1, y1, z1) f_A((x1,y1,z1)) = (x1 + 1, y1 + 1, z1 + 1) d_A((x1,y1,z1)) = (x1, y1, z1) g_A((x1,y1,z1)) = (x1, 0, 0) rand_A((x1,y1,z1)) = (x1 + 1, 1, 0) strictly orients the following dependency pairs: f#(c(s(x),y)) -> f#(c(x,s(y))) We remove them from the set of dependency pairs. The weakly monotone algebra (N^3, >_lex) with g#_A((x1,y1,z1)) = (x1, y1, z1) c_A((x1,y1,z1),(x2,y2,z2)) = (x1 + x2, 0, 0) s_A((x1,y1,z1)) = (x1, y1 + 1, z1 + 1) f#_A((x1,y1,z1)) = (x1, y1, z1) f_A((x1,y1,z1)) = (x1 + 1, y1 + 1, 1) d_A((x1,y1,z1)) = (0, 0, 0) g_A((x1,y1,z1)) = (x1, y1, z1) rand_A((x1,y1,z1)) = (x1 + 1, 1, 0) strictly orients the following dependency pairs: f#(f(x)) -> f#(d(f(x))) We remove them from the set of dependency pairs. The weakly monotone algebra (N^3, >_lex) with g#_A((x1,y1,z1)) = (x1, y1, z1) c_A((x1,y1,z1),(x2,y2,z2)) = (x1 + x2, y2, z2) s_A((x1,y1,z1)) = (x1, y1 + 1, z1 + 1) g_A((x1,y1,z1)) = (x1, y1, z1) f_A((x1,y1,z1)) = (x1 + 1, 1, 1) d_A((x1,y1,z1)) = (x1, y1, z1) rand_A((x1,y1,z1)) = (x1 + 1, 1, 0) strictly orients the following dependency pairs: g#(c(x,s(y))) -> g#(c(s(x),y)) We remove them from the set of dependency pairs. No dependency pair remains.