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()))))}
 LMPO:
  Quasi-Precedence:
  zprimes > nats, 
  zprimes > sieve, 
  zprimes > s, 
  zprimes > 0
  empty
  
Normal:
   pi(nats) = [1], pi(sieve) = [1], pi(filter) = [1,2,3]
  
Safe:
   
  
Predicative System:
   {  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