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())))) Usable Rule Processor: DPs: zprimes#() -> nats#(s(s(0()))) zprimes#() -> sieve#(nats(s(s(0())))) TRS: nats(N) -> cons(N) Arctic Interpretation Processor: dimension: 1 usable rules: interpretation: [zprimes#] = 1, [nats#](x0) = -6x0 + 0, [sieve#](x0) = 0, [nats](x0) = -4x0 + 1, [s](x0) = 1x0 + 1, [0] = 2, [cons](x0) = 2x0 + -16 orientation: zprimes#() = 1 >= 0 = nats#(s(s(0()))) zprimes#() = 1 >= 0 = sieve#(nats(s(s(0())))) nats(N) = -4N + 1 >= 2N + -16 = cons(N) problem: DPs: TRS: nats(N) -> cons(N) Qed