YES TRS: filter(cons(X,Y),0(),M) -> cons(0(),n__filter(activate(Y),M,M)) filter(cons(X,Y),s(N),M) -> cons(X,n__filter(activate(Y),N,M)) sieve(cons(0(),Y)) -> cons(0(),n__sieve(activate(Y))) sieve(cons(s(N),Y)) -> cons(s(N),n__sieve(filter(activate(Y),N,N))) nats(N) -> cons(N,n__nats(s(N))) zprimes() -> sieve(nats(s(s(0())))) filter(X1,X2,X3) -> n__filter(X1,X2,X3) sieve(X) -> n__sieve(X) nats(X) -> n__nats(X) activate(n__filter(X1,X2,X3)) -> filter(X1,X2,X3) activate(n__sieve(X)) -> sieve(X) activate(n__nats(X)) -> nats(X) activate(X) -> X max/plus interpretations on N: filter_A(x1,x2,x3) = max{18, x1, 1 + x2, 2 + x3} filter#_A(x1,x2,x3) = max{18, x1, 1 + x2, 2 + x3} cons_A(x1,x2) = max{17, 3 + x1, x2} cons#_A(x1,x2) = max{17, 3 + x1, x2} 0_A = 4 0#_A = 4 n__filter_A(x1,x2,x3) = max{18, x1, 1 + x2, 2 + x3} n__filter#_A(x1,x2,x3) = max{18, x1, 1 + x2, 2 + x3} activate_A(x1) = max{8, x1} activate#_A(x1) = max{8, x1} s_A(x1) = max{8, x1} s#_A(x1) = max{8, x1} sieve_A(x1) = max{35, 16 + x1} sieve#_A(x1) = max{35, 16 + x1} n__sieve_A(x1) = max{35, 16 + x1} n__sieve#_A(x1) = max{35, 16 + x1} nats_A(x1) = max{17, 9 + x1} nats#_A(x1) = max{17, 9 + x1} n__nats_A(x1) = max{17, 9 + x1} n__nats#_A(x1) = max{17, 9 + x1} zprimes_A = 36 zprimes#_A = 36 precedence: zprimes > filter = activate = sieve > n__filter = nats > cons = n__nats > 0 = s = n__sieve