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