(0) Obligation:
Q restricted rewrite system:
The TRS R consists of the following rules:
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))))
Q is empty.
(1) QTRSRRRProof (EQUIVALENT transformation)
Used ordering:
Polynomial interpretation [POLO]:
POL(0) = 0
POL(cons(x1)) = x1
POL(filter(x1, x2, x3)) = 1 + x1 + x2 + x3
POL(nats(x1)) = 1 + x1
POL(s(x1)) = x1
POL(sieve(x1)) = x1
POL(zprimes) = 2
With this ordering the following rules can be removed by the rule removal processor [LPAR04] because they are oriented strictly:
filter(cons(X), 0, M) → cons(0)
filter(cons(X), s(N), M) → cons(X)
nats(N) → cons(N)
zprimes → sieve(nats(s(s(0))))
(2) Obligation:
Q restricted rewrite system:
The TRS R consists of the following rules:
sieve(cons(0)) → cons(0)
sieve(cons(s(N))) → cons(s(N))
Q is empty.
(3) QTRSRRRProof (EQUIVALENT transformation)
Used ordering:
Polynomial interpretation [POLO]:
POL(0) = 0
POL(cons(x1)) = x1
POL(s(x1)) = x1
POL(sieve(x1)) = 1 + x1
With this ordering the following rules can be removed by the rule removal processor [LPAR04] because they are oriented strictly:
sieve(cons(0)) → cons(0)
sieve(cons(s(N))) → cons(s(N))
(4) Obligation:
Q restricted rewrite system:
R is empty.
Q is empty.
(5) RisEmptyProof (EQUIVALENT transformation)
The TRS R is empty. Hence, termination is trivially proven.
(6) TRUE