YES Problem: filter(cons(X),0(),M) -> cons(0()) filter(cons(X),s(N),M) -> cons(X) sieve(cons(0())) -> cons(0()) sieve(cons(s(N))) -> cons(s(N)) nats(N) -> cons(N) zprimes() -> sieve(nats(s(s(0())))) Proof: DP Processor: DPs: zprimes#() -> nats#(s(s(0()))) zprimes#() -> sieve#(nats(s(s(0())))) TRS: filter(cons(X),0(),M) -> cons(0()) filter(cons(X),s(N),M) -> cons(X) sieve(cons(0())) -> cons(0()) sieve(cons(s(N))) -> cons(s(N)) nats(N) -> cons(N) zprimes() -> sieve(nats(s(s(0())))) Arctic Interpretation Processor: dimension: 1 interpretation: [zprimes#] = 3, [nats#](x0) = x0 + 0, [sieve#](x0) = -7x0 + 0, [zprimes] = 2, [nats](x0) = 1, [sieve](x0) = x0 + 1, [s](x0) = x0 + 0, [filter](x0, x1, x2) = x0 + 5x1 + x2 + -16, [0] = 0, [cons](x0) = 0 orientation: zprimes#() = 3 >= 0 = nats#(s(s(0()))) zprimes#() = 3 >= 0 = sieve#(nats(s(s(0())))) filter(cons(X),0(),M) = M + 5 >= 0 = cons(0()) filter(cons(X),s(N),M) = M + 5N + 5 >= 0 = cons(X) sieve(cons(0())) = 1 >= 0 = cons(0()) sieve(cons(s(N))) = 1 >= 0 = cons(s(N)) nats(N) = 1 >= 0 = cons(N) zprimes() = 2 >= 1 = sieve(nats(s(s(0())))) problem: DPs: TRS: filter(cons(X),0(),M) -> cons(0()) filter(cons(X),s(N),M) -> cons(X) sieve(cons(0())) -> cons(0()) sieve(cons(s(N))) -> cons(s(N)) nats(N) -> cons(N) zprimes() -> sieve(nats(s(s(0())))) Qed