Termination proof

1: switching to dependency pairs

The following set of initial dependency pairs has been identified.

filter#( cons( X , Y ) , 0 , M ) activate#( Y )
filter#( cons( X , Y ) , s( N ) , M ) activate#( Y )
sieve#( cons( 0 , Y ) ) activate#( Y )
sieve#( cons( s( N ) , Y ) ) filter#( activate( Y ) , N , N )
sieve#( cons( s( N ) , Y ) ) activate#( Y )
zprimes# sieve#( nats( s( s( 0 ) ) ) )
zprimes# nats#( s( s( 0 ) ) )
activate#( n__filter( X1 , X2 , X3 ) ) filter#( X1 , X2 , X3 )
activate#( n__sieve( X ) ) sieve#( X )
activate#( n__nats( X ) ) nats#( X )

1.1: dependency graph processor

The dependency pairs are split into 1 component(s).