YES TRS: a__zeros() -> cons(0(),zeros()) a__tail(cons(X,XS)) -> mark(XS) mark(zeros()) -> a__zeros() mark(tail(X)) -> a__tail(mark(X)) mark(cons(X1,X2)) -> cons(mark(X1),X2) mark(0()) -> 0() a__zeros() -> zeros() a__tail(X) -> tail(X) linear polynomial interpretations on N: a__zeros_A = 3 a__zeros#_A = 1 cons_A(x1,x2) = x1 + x2 + 1 cons#_A(x1,x2) = 0 0_A = 1 0#_A = 0 zeros_A = 1 zeros#_A = 0 a__tail_A(x1) = x1 + 4 a__tail#_A(x1) = x1 + 3 mark_A(x1) = x1 + 2 mark#_A(x1) = x1 + 1 tail_A(x1) = x1 + 4 tail#_A(x1) = x1 + 2 precedence: zeros = mark > a__zeros = a__tail > cons = 0 = tail