YES TRS: f(cons(nil(),y)) -> y f(cons(f(cons(nil(),y)),z)) -> copy(n(),y,z) copy(0(),y,z) -> f(z) copy(s(x),y,z) -> copy(x,y,cons(f(y),z)) linear polynomial interpretations on N: f_A(x1) = x1 + 1 f#_A(x1) = 2 cons_A(x1,x2) = x2 + 1 cons#_A(x1,x2) = 2 nil_A = 1 nil#_A = 1 copy_A(x1,x2,x3) = x1 + x3 copy#_A(x1,x2,x3) = x1 n_A = 1 n#_A = 0 0_A = 3 0#_A = 0 s_A(x1) = x1 + 3 s#_A(x1) = 0 precedence: cons > copy > f = nil > n = 0 = s