YES TRS: a__eq(0(),0()) -> true() a__eq(s(X),s(Y)) -> a__eq(X,Y) a__eq(X,Y) -> false() a__inf(X) -> cons(X,inf(s(X))) a__take(0(),X) -> nil() a__take(s(X),cons(Y,L)) -> cons(Y,take(X,L)) a__length(nil()) -> 0() a__length(cons(X,L)) -> s(length(L)) mark(eq(X1,X2)) -> a__eq(X1,X2) mark(inf(X)) -> a__inf(mark(X)) mark(take(X1,X2)) -> a__take(mark(X1),mark(X2)) mark(length(X)) -> a__length(mark(X)) mark(0()) -> 0() mark(true()) -> true() mark(s(X)) -> s(X) mark(false()) -> false() mark(cons(X1,X2)) -> cons(X1,X2) mark(nil()) -> nil() a__eq(X1,X2) -> eq(X1,X2) a__inf(X) -> inf(X) a__take(X1,X2) -> take(X1,X2) a__length(X) -> length(X) max/plus interpretations on N: a__eq_A(x1,x2) = max{4, 5, 3} a__eq#_A(x1,x2) = max{13, 13, 8} 0_A = 26 0#_A = 0 true_A = 5 true#_A = 7 s_A(x1) = max{0, x1} s#_A(x1) = max{4, 2} false_A = 5 false#_A = 12 a__inf_A(x1) = max{10, 16 + x1} a__inf#_A(x1) = max{14, 22} cons_A(x1,x2) = max{11, 16 + x1, x2} cons#_A(x1,x2) = max{5, 5, 3} inf_A(x1) = max{5, 16 + x1} inf#_A(x1) = max{14, 15} a__take_A(x1,x2) = max{15, 15 + x1, 15 + x2} a__take#_A(x1,x2) = max{13, 16 + x1, 11} nil_A = 16 nil#_A = 10 take_A(x1,x2) = max{0, 15 + x1, 15 + x2} take#_A(x1,x2) = max{12, 15 + x1, 10} a__length_A(x1) = max{26, 9 + x1} a__length#_A(x1) = max{2, 1} length_A(x1) = max{26, 9 + x1} length#_A(x1) = max{0, 0} mark_A(x1) = max{3, 4 + x1} mark#_A(x1) = max{14, 6 + x1} eq_A(x1,x2) = max{1, 3, 3} eq#_A(x1,x2) = max{12, 7, 13} precedence: take > mark > a__inf = a__take = a__length > cons = inf = nil > a__eq = 0 = s = length > true = false = eq