YES TRS: first(0(),X) -> nil() first(s(X),cons(Y)) -> cons(Y) from(X) -> cons(X) linear polynomial interpretations on N: first_A(x1,x2) = x1 + x2 first#_A(x1,x2) = x1 + x2 0_A = 2 0#_A = 2 nil_A = 1 nil#_A = 1 s_A(x1) = x1 + 1 s#_A(x1) = x1 + 1 cons_A(x1) = x1 + 1 cons#_A(x1) = x1 + 1 from_A(x1) = x1 + 2 from#_A(x1) = x1 + 2 precedence: first = 0 > nil > s > cons > from