YES TRS: rev(ls) -> r1(ls,empty()) r1(empty(),a) -> a r1(cons(x,k),a) -> r1(k,cons(x,a)) linear polynomial interpretations on N: rev_A(x1) = 1 rev#_A(x1) = x1 + 3 r1_A(x1,x2) = x2 r1#_A(x1,x2) = x2 + 1 empty_A = 1 empty#_A = 0 cons_A(x1,x2) = 0 cons#_A(x1,x2) = 0 precedence: rev > r1 = empty > cons