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