(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:
Recursive path order with status [RPO].
Precedence:
filter3 > cons1
filter3 > 0
zprimes > 0
zprimes > s1
zprimes > sieve1
zprimes > nats1 > cons1
Status:
filter3: multiset
cons1: [1]
0: multiset
s1: multiset
sieve1: multiset
nats1: multiset
zprimes: multiset
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)
sieve(cons(0)) → cons(0)
sieve(cons(s(N))) → cons(s(N))
nats(N) → cons(N)
zprimes → sieve(nats(s(s(0))))
(2) Obligation:
Q restricted rewrite system:
R is empty.
Q is empty.
(3) RisEmptyProof (EQUIVALENT transformation)
The TRS R is empty. Hence, termination is trivially proven.
(4) TRUE