YES TRS: a__incr(nil()) -> nil() a__incr(cons(X,L)) -> cons(s(mark(X)),incr(L)) a__adx(nil()) -> nil() a__adx(cons(X,L)) -> a__incr(cons(mark(X),adx(L))) a__nats() -> a__adx(a__zeros()) a__zeros() -> cons(0(),zeros()) a__head(cons(X,L)) -> mark(X) a__tail(cons(X,L)) -> mark(L) mark(incr(X)) -> a__incr(mark(X)) mark(adx(X)) -> a__adx(mark(X)) mark(nats()) -> a__nats() mark(zeros()) -> a__zeros() mark(head(X)) -> a__head(mark(X)) mark(tail(X)) -> a__tail(mark(X)) mark(nil()) -> nil() mark(cons(X1,X2)) -> cons(mark(X1),X2) mark(s(X)) -> s(mark(X)) mark(0()) -> 0() a__incr(X) -> incr(X) a__adx(X) -> adx(X) a__nats() -> nats() a__zeros() -> zeros() a__head(X) -> head(X) a__tail(X) -> tail(X) max/plus interpretations on N: a__incr_A(x1) = max{4, x1} a__incr#_A(x1) = max{4, x1} nil_A = 0 nil#_A = 0 cons_A(x1,x2) = max{2, 4 + x1, x2} cons#_A(x1,x2) = max{2, 4 + x1, x2} s_A(x1) = max{0, x1} s#_A(x1) = max{0, x1} mark_A(x1) = max{0, x1} mark#_A(x1) = max{0, x1} incr_A(x1) = max{4, x1} incr#_A(x1) = max{4, x1} a__adx_A(x1) = max{5, 3 + x1} a__adx#_A(x1) = max{5, 3 + x1} adx_A(x1) = max{5, 3 + x1} adx#_A(x1) = max{5, 3 + x1} a__nats_A = 8 a__nats#_A = 8 a__zeros_A = 5 a__zeros#_A = 5 0_A = 0 0#_A = 0 zeros_A = 5 zeros#_A = 5 a__head_A(x1) = max{1, 1 + x1} a__head#_A(x1) = max{1, 1 + x1} a__tail_A(x1) = max{1, 1 + x1} a__tail#_A(x1) = max{1, 1 + x1} nats_A = 8 nats#_A = 8 head_A(x1) = max{1, 1 + x1} head#_A(x1) = max{1, 1 + x1} tail_A(x1) = max{1, 1 + x1} tail#_A(x1) = max{1, 1 + x1} precedence: nil > mark = a__tail > a__nats = a__head = tail > a__adx = 0 = nats = head > a__incr = a__zeros > cons = zeros > s = incr = adx