Problem:
primes() -> sieve(from(s(s(0()))))
from(X) -> cons(X,from(s(X)))
head(cons(X,Y)) -> X
tail(cons(X,Y)) -> Y
if(true(),X,Y) -> X
if(false(),X,Y) -> Y
filter(s(s(X)),cons(Y,Z)) -> if(divides(s(s(X)),Y),filter(s(s(X)),Z),cons(Y,filter(X,sieve(Y))))
sieve(cons(X,Y)) -> cons(X,filter(X,sieve(Y)))
Proof:
Containment Processor: loop length: 1
terms:
from(X)
context: cons(X,[])
substitution:
X -> s(X)
Qed