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) = x1 + 2 rev#_A(x1) = x1 + 2 r1_A(x1,x2) = x1 + x2 + 1 r1#_A(x1,x2) = x1 + x2 + 1 empty_A = 0 empty#_A = 0 cons_A(x1,x2) = x1 + x2 cons#_A(x1,x2) = x1 + x2 precedence: rev > r1 = empty > cons