YES TRS: a__nats() -> a__adx(a__zeros()) a__zeros() -> cons(0(),zeros()) a__incr(cons(X,Y)) -> cons(s(X),incr(Y)) a__adx(cons(X,Y)) -> a__incr(cons(X,adx(Y))) a__hd(cons(X,Y)) -> mark(X) a__tl(cons(X,Y)) -> mark(Y) mark(nats()) -> a__nats() mark(adx(X)) -> a__adx(mark(X)) mark(zeros()) -> a__zeros() mark(incr(X)) -> a__incr(mark(X)) mark(hd(X)) -> a__hd(mark(X)) mark(tl(X)) -> a__tl(mark(X)) mark(cons(X1,X2)) -> cons(X1,X2) mark(0()) -> 0() mark(s(X)) -> s(X) a__nats() -> nats() a__adx(X) -> adx(X) a__zeros() -> zeros() a__incr(X) -> incr(X) a__hd(X) -> hd(X) a__tl(X) -> tl(X) linear polynomial interpretations on N: a__nats_A = 4 a__nats#_A = 5 a__adx_A(x1) = x1 + 1 a__adx#_A(x1) = 4 a__zeros_A = 3 a__zeros#_A = 2 cons_A(x1,x2) = x1 + x2 + 1 cons#_A(x1,x2) = 1 0_A = 1 0#_A = 0 zeros_A = 1 zeros#_A = 0 a__incr_A(x1) = x1 a__incr#_A(x1) = 3 s_A(x1) = x1 s#_A(x1) = 0 incr_A(x1) = x1 incr#_A(x1) = 2 adx_A(x1) = x1 + 1 adx#_A(x1) = 3 a__hd_A(x1) = x1 + 5 a__hd#_A(x1) = x1 + 6 mark_A(x1) = x1 + 3 mark#_A(x1) = x1 + 5 a__tl_A(x1) = x1 + 4 a__tl#_A(x1) = x1 + 5 nats_A = 1 nats#_A = 4 hd_A(x1) = x1 + 5 hd#_A(x1) = x1 + 5 tl_A(x1) = x1 + 4 tl#_A(x1) = 4 precedence: nats > a__nats > a__adx = a__zeros > cons = zeros = hd > a__hd = mark = a__tl > a__incr = tl > 0 = s = incr = adx