YES TRS: a__from(X) -> cons(mark(X),from(s(X))) a__length(nil()) -> 0() a__length(cons(X,Y)) -> s(a__length1(Y)) a__length1(X) -> a__length(X) mark(from(X)) -> a__from(mark(X)) mark(length(X)) -> a__length(X) mark(length1(X)) -> a__length1(X) mark(cons(X1,X2)) -> cons(mark(X1),X2) mark(s(X)) -> s(mark(X)) mark(nil()) -> nil() mark(0()) -> 0() a__from(X) -> from(X) a__length(X) -> length(X) a__length1(X) -> length1(X) linear polynomial interpretations on N: a__from_A(x1) = x1 + 4 a__from#_A(x1) = x1 + 7 cons_A(x1,x2) = x1 + 1 cons#_A(x1,x2) = 4 mark_A(x1) = x1 + 1 mark#_A(x1) = x1 + 5 from_A(x1) = x1 + 4 from#_A(x1) = x1 + 6 s_A(x1) = x1 s#_A(x1) = 3 a__length_A(x1) = 1 a__length#_A(x1) = 2 nil_A = 1 nil#_A = 0 0_A = 1 0#_A = 1 a__length1_A(x1) = 1 a__length1#_A(x1) = 3 length_A(x1) = 1 length#_A(x1) = 0 length1_A(x1) = 1 length1#_A(x1) = 0 precedence: a__length1 > a__length = length1 > from = s = length > mark > a__from = 0 > cons = nil