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