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()))))}
 RPO Product:
  Quasi-Precedence:
  zprimes > nats, 
  zprimes > sieve
  empty
  
  Qed


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()))))}
 Cdiprover:
  Interpretation class: quasisimplemixed
  Complexity bound: POLYTIME COMPUTABLE IF RPO-TERMINATING
  zprimes = + 3
  nats(X6) = + 0*X6^2 + 1 + 1*X6
  sieve(X5) = + 0*X5^2 + 0 + 1*X5
  s(X4) = + 1*X4 + 1
  filter(X3, X2, X1) = + 3*X3^2 + 0*X2^2 + 2*X1^2 + 1*X2*X3 + 2*X2 + 1 + 1*X3 + 0*X1*X3 + 2*X1 + 0*X1*X2 + 0*X1*X2*X3
  0 = + 0
  cons(X0) = + 1*X0 + 1
  
  Qed