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