MAYBE Problem: filter(cons(X,Y),0(),M) -> cons(0(),n__filter(activate(Y),M,M)) filter(cons(X,Y),s(N),M) -> cons(X,n__filter(activate(Y),N,M)) sieve(cons(0(),Y)) -> cons(0(),n__sieve(activate(Y))) sieve(cons(s(N),Y)) -> cons(s(N),n__sieve(n__filter(activate(Y),N,N))) nats(N) -> cons(N,n__nats(n__s(N))) zprimes() -> sieve(nats(s(s(0())))) filter(X1,X2,X3) -> n__filter(X1,X2,X3) sieve(X) -> n__sieve(X) nats(X) -> n__nats(X) s(X) -> n__s(X) activate(n__filter(X1,X2,X3)) -> filter(activate(X1),activate(X2),activate(X3)) activate(n__sieve(X)) -> sieve(activate(X)) activate(n__nats(X)) -> nats(activate(X)) activate(n__s(X)) -> s(activate(X)) activate(X) -> X Proof: DP Processor: DPs: 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)) -> activate#(Y) zprimes#() -> s#(0()) zprimes#() -> s#(s(0())) zprimes#() -> nats#(s(s(0()))) zprimes#() -> sieve#(nats(s(s(0())))) activate#(n__filter(X1,X2,X3)) -> activate#(X3) activate#(n__filter(X1,X2,X3)) -> activate#(X2) activate#(n__filter(X1,X2,X3)) -> activate#(X1) activate#(n__filter(X1,X2,X3)) -> filter#(activate(X1),activate(X2),activate(X3)) activate#(n__sieve(X)) -> activate#(X) activate#(n__sieve(X)) -> sieve#(activate(X)) activate#(n__nats(X)) -> activate#(X) activate#(n__nats(X)) -> nats#(activate(X)) activate#(n__s(X)) -> activate#(X) activate#(n__s(X)) -> s#(activate(X)) TRS: filter(cons(X,Y),0(),M) -> cons(0(),n__filter(activate(Y),M,M)) filter(cons(X,Y),s(N),M) -> cons(X,n__filter(activate(Y),N,M)) sieve(cons(0(),Y)) -> cons(0(),n__sieve(activate(Y))) sieve(cons(s(N),Y)) -> cons(s(N),n__sieve(n__filter(activate(Y),N,N))) nats(N) -> cons(N,n__nats(n__s(N))) zprimes() -> sieve(nats(s(s(0())))) filter(X1,X2,X3) -> n__filter(X1,X2,X3) sieve(X) -> n__sieve(X) nats(X) -> n__nats(X) s(X) -> n__s(X) activate(n__filter(X1,X2,X3)) -> filter(activate(X1),activate(X2),activate(X3)) activate(n__sieve(X)) -> sieve(activate(X)) activate(n__nats(X)) -> nats(activate(X)) activate(n__s(X)) -> s(activate(X)) activate(X) -> X Usable Rule Processor: DPs: 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)) -> activate#(Y) zprimes#() -> s#(0()) zprimes#() -> s#(s(0())) zprimes#() -> nats#(s(s(0()))) zprimes#() -> sieve#(nats(s(s(0())))) activate#(n__filter(X1,X2,X3)) -> activate#(X3) activate#(n__filter(X1,X2,X3)) -> activate#(X2) activate#(n__filter(X1,X2,X3)) -> activate#(X1) activate#(n__filter(X1,X2,X3)) -> filter#(activate(X1),activate(X2),activate(X3)) activate#(n__sieve(X)) -> activate#(X) activate#(n__sieve(X)) -> sieve#(activate(X)) activate#(n__nats(X)) -> activate#(X) activate#(n__nats(X)) -> nats#(activate(X)) activate#(n__s(X)) -> activate#(X) activate#(n__s(X)) -> s#(activate(X)) TRS: f18(x,y) -> x f18(x,y) -> y s(X) -> n__s(X) nats(N) -> cons(N,n__nats(n__s(N))) nats(X) -> n__nats(X) activate(n__filter(X1,X2,X3)) -> filter(activate(X1),activate(X2),activate(X3)) activate(n__sieve(X)) -> sieve(activate(X)) activate(n__nats(X)) -> nats(activate(X)) activate(n__s(X)) -> s(activate(X)) activate(X) -> X filter(cons(X,Y),0(),M) -> cons(0(),n__filter(activate(Y),M,M)) filter(cons(X,Y),s(N),M) -> cons(X,n__filter(activate(Y),N,M)) filter(X1,X2,X3) -> n__filter(X1,X2,X3) sieve(cons(0(),Y)) -> cons(0(),n__sieve(activate(Y))) sieve(cons(s(N),Y)) -> cons(s(N),n__sieve(n__filter(activate(Y),N,N))) sieve(X) -> n__sieve(X) EDG Processor: DPs: 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)) -> activate#(Y) zprimes#() -> s#(0()) zprimes#() -> s#(s(0())) zprimes#() -> nats#(s(s(0()))) zprimes#() -> sieve#(nats(s(s(0())))) activate#(n__filter(X1,X2,X3)) -> activate#(X3) activate#(n__filter(X1,X2,X3)) -> activate#(X2) activate#(n__filter(X1,X2,X3)) -> activate#(X1) activate#(n__filter(X1,X2,X3)) -> filter#(activate(X1),activate(X2),activate(X3)) activate#(n__sieve(X)) -> activate#(X) activate#(n__sieve(X)) -> sieve#(activate(X)) activate#(n__nats(X)) -> activate#(X) activate#(n__nats(X)) -> nats#(activate(X)) activate#(n__s(X)) -> activate#(X) activate#(n__s(X)) -> s#(activate(X)) TRS: f18(x,y) -> x f18(x,y) -> y s(X) -> n__s(X) nats(N) -> cons(N,n__nats(n__s(N))) nats(X) -> n__nats(X) activate(n__filter(X1,X2,X3)) -> filter(activate(X1),activate(X2),activate(X3)) activate(n__sieve(X)) -> sieve(activate(X)) activate(n__nats(X)) -> nats(activate(X)) activate(n__s(X)) -> s(activate(X)) activate(X) -> X filter(cons(X,Y),0(),M) -> cons(0(),n__filter(activate(Y),M,M)) filter(cons(X,Y),s(N),M) -> cons(X,n__filter(activate(Y),N,M)) filter(X1,X2,X3) -> n__filter(X1,X2,X3) sieve(cons(0(),Y)) -> cons(0(),n__sieve(activate(Y))) sieve(cons(s(N),Y)) -> cons(s(N),n__sieve(n__filter(activate(Y),N,N))) sieve(X) -> n__sieve(X) graph: zprimes#() -> sieve#(nats(s(s(0())))) -> sieve#(cons(0(),Y)) -> activate#(Y) zprimes#() -> sieve#(nats(s(s(0())))) -> sieve#(cons(s(N),Y)) -> activate#(Y) sieve#(cons(s(N),Y)) -> activate#(Y) -> activate#(n__filter(X1,X2,X3)) -> activate#(X3) sieve#(cons(s(N),Y)) -> activate#(Y) -> activate#(n__filter(X1,X2,X3)) -> activate#(X2) sieve#(cons(s(N),Y)) -> activate#(Y) -> activate#(n__filter(X1,X2,X3)) -> activate#(X1) sieve#(cons(s(N),Y)) -> activate#(Y) -> activate#(n__filter(X1,X2,X3)) -> filter#(activate(X1),activate(X2),activate(X3)) sieve#(cons(s(N),Y)) -> activate#(Y) -> activate#(n__sieve(X)) -> activate#(X) sieve#(cons(s(N),Y)) -> activate#(Y) -> activate#(n__sieve(X)) -> sieve#(activate(X)) sieve#(cons(s(N),Y)) -> activate#(Y) -> activate#(n__nats(X)) -> activate#(X) sieve#(cons(s(N),Y)) -> activate#(Y) -> activate#(n__nats(X)) -> nats#(activate(X)) sieve#(cons(s(N),Y)) -> activate#(Y) -> activate#(n__s(X)) -> activate#(X) sieve#(cons(s(N),Y)) -> activate#(Y) -> activate#(n__s(X)) -> s#(activate(X)) sieve#(cons(0(),Y)) -> activate#(Y) -> activate#(n__filter(X1,X2,X3)) -> activate#(X3) sieve#(cons(0(),Y)) -> activate#(Y) -> activate#(n__filter(X1,X2,X3)) -> activate#(X2) sieve#(cons(0(),Y)) -> activate#(Y) -> activate#(n__filter(X1,X2,X3)) -> activate#(X1) sieve#(cons(0(),Y)) -> activate#(Y) -> activate#(n__filter(X1,X2,X3)) -> filter#(activate(X1),activate(X2),activate(X3)) sieve#(cons(0(),Y)) -> activate#(Y) -> activate#(n__sieve(X)) -> activate#(X) sieve#(cons(0(),Y)) -> activate#(Y) -> activate#(n__sieve(X)) -> sieve#(activate(X)) sieve#(cons(0(),Y)) -> activate#(Y) -> activate#(n__nats(X)) -> activate#(X) sieve#(cons(0(),Y)) -> activate#(Y) -> activate#(n__nats(X)) -> nats#(activate(X)) sieve#(cons(0(),Y)) -> activate#(Y) -> activate#(n__s(X)) -> activate#(X) sieve#(cons(0(),Y)) -> activate#(Y) -> activate#(n__s(X)) -> s#(activate(X)) activate#(n__nats(X)) -> activate#(X) -> activate#(n__filter(X1,X2,X3)) -> activate#(X3) activate#(n__nats(X)) -> activate#(X) -> activate#(n__filter(X1,X2,X3)) -> activate#(X2) activate#(n__nats(X)) -> activate#(X) -> activate#(n__filter(X1,X2,X3)) -> activate#(X1) activate#(n__nats(X)) -> activate#(X) -> activate#(n__filter(X1,X2,X3)) -> filter#(activate(X1),activate(X2),activate(X3)) activate#(n__nats(X)) -> activate#(X) -> activate#(n__sieve(X)) -> activate#(X) activate#(n__nats(X)) -> activate#(X) -> activate#(n__sieve(X)) -> sieve#(activate(X)) activate#(n__nats(X)) -> activate#(X) -> activate#(n__nats(X)) -> activate#(X) activate#(n__nats(X)) -> activate#(X) -> activate#(n__nats(X)) -> nats#(activate(X)) activate#(n__nats(X)) -> activate#(X) -> activate#(n__s(X)) -> activate#(X) activate#(n__nats(X)) -> activate#(X) -> activate#(n__s(X)) -> s#(activate(X)) activate#(n__s(X)) -> activate#(X) -> activate#(n__filter(X1,X2,X3)) -> activate#(X3) activate#(n__s(X)) -> activate#(X) -> activate#(n__filter(X1,X2,X3)) -> activate#(X2) activate#(n__s(X)) -> activate#(X) -> activate#(n__filter(X1,X2,X3)) -> activate#(X1) activate#(n__s(X)) -> activate#(X) -> activate#(n__filter(X1,X2,X3)) -> filter#(activate(X1),activate(X2),activate(X3)) activate#(n__s(X)) -> activate#(X) -> activate#(n__sieve(X)) -> activate#(X) activate#(n__s(X)) -> activate#(X) -> activate#(n__sieve(X)) -> sieve#(activate(X)) activate#(n__s(X)) -> activate#(X) -> activate#(n__nats(X)) -> activate#(X) activate#(n__s(X)) -> activate#(X) -> activate#(n__nats(X)) -> nats#(activate(X)) activate#(n__s(X)) -> activate#(X) -> activate#(n__s(X)) -> activate#(X) activate#(n__s(X)) -> activate#(X) -> activate#(n__s(X)) -> s#(activate(X)) activate#(n__sieve(X)) -> sieve#(activate(X)) -> sieve#(cons(0(),Y)) -> activate#(Y) activate#(n__sieve(X)) -> sieve#(activate(X)) -> sieve#(cons(s(N),Y)) -> activate#(Y) activate#(n__sieve(X)) -> activate#(X) -> activate#(n__filter(X1,X2,X3)) -> activate#(X3) activate#(n__sieve(X)) -> activate#(X) -> activate#(n__filter(X1,X2,X3)) -> activate#(X2) activate#(n__sieve(X)) -> activate#(X) -> activate#(n__filter(X1,X2,X3)) -> activate#(X1) activate#(n__sieve(X)) -> activate#(X) -> activate#(n__filter(X1,X2,X3)) -> filter#(activate(X1),activate(X2),activate(X3)) activate#(n__sieve(X)) -> activate#(X) -> activate#(n__sieve(X)) -> activate#(X) activate#(n__sieve(X)) -> activate#(X) -> activate#(n__sieve(X)) -> sieve#(activate(X)) activate#(n__sieve(X)) -> activate#(X) -> activate#(n__nats(X)) -> activate#(X) activate#(n__sieve(X)) -> activate#(X) -> activate#(n__nats(X)) -> nats#(activate(X)) activate#(n__sieve(X)) -> activate#(X) -> activate#(n__s(X)) -> activate#(X) activate#(n__sieve(X)) -> activate#(X) -> activate#(n__s(X)) -> s#(activate(X)) activate#(n__filter(X1,X2,X3)) -> activate#(X3) -> activate#(n__filter(X1,X2,X3)) -> activate#(X3) activate#(n__filter(X1,X2,X3)) -> activate#(X3) -> activate#(n__filter(X1,X2,X3)) -> activate#(X2) activate#(n__filter(X1,X2,X3)) -> activate#(X3) -> activate#(n__filter(X1,X2,X3)) -> activate#(X1) activate#(n__filter(X1,X2,X3)) -> activate#(X3) -> activate#(n__filter(X1,X2,X3)) -> filter#(activate(X1),activate(X2),activate(X3)) activate#(n__filter(X1,X2,X3)) -> activate#(X3) -> activate#(n__sieve(X)) -> activate#(X) activate#(n__filter(X1,X2,X3)) -> activate#(X3) -> activate#(n__sieve(X)) -> sieve#(activate(X)) activate#(n__filter(X1,X2,X3)) -> activate#(X3) -> activate#(n__nats(X)) -> activate#(X) activate#(n__filter(X1,X2,X3)) -> activate#(X3) -> activate#(n__nats(X)) -> nats#(activate(X)) activate#(n__filter(X1,X2,X3)) -> activate#(X3) -> activate#(n__s(X)) -> activate#(X) activate#(n__filter(X1,X2,X3)) -> activate#(X3) -> activate#(n__s(X)) -> s#(activate(X)) activate#(n__filter(X1,X2,X3)) -> activate#(X2) -> activate#(n__filter(X1,X2,X3)) -> activate#(X3) activate#(n__filter(X1,X2,X3)) -> activate#(X2) -> activate#(n__filter(X1,X2,X3)) -> activate#(X2) activate#(n__filter(X1,X2,X3)) -> activate#(X2) -> activate#(n__filter(X1,X2,X3)) -> activate#(X1) activate#(n__filter(X1,X2,X3)) -> activate#(X2) -> activate#(n__filter(X1,X2,X3)) -> filter#(activate(X1),activate(X2),activate(X3)) activate#(n__filter(X1,X2,X3)) -> activate#(X2) -> activate#(n__sieve(X)) -> activate#(X) activate#(n__filter(X1,X2,X3)) -> activate#(X2) -> activate#(n__sieve(X)) -> sieve#(activate(X)) activate#(n__filter(X1,X2,X3)) -> activate#(X2) -> activate#(n__nats(X)) -> activate#(X) activate#(n__filter(X1,X2,X3)) -> activate#(X2) -> activate#(n__nats(X)) -> nats#(activate(X)) activate#(n__filter(X1,X2,X3)) -> activate#(X2) -> activate#(n__s(X)) -> activate#(X) activate#(n__filter(X1,X2,X3)) -> activate#(X2) -> activate#(n__s(X)) -> s#(activate(X)) activate#(n__filter(X1,X2,X3)) -> activate#(X1) -> activate#(n__filter(X1,X2,X3)) -> activate#(X3) activate#(n__filter(X1,X2,X3)) -> activate#(X1) -> activate#(n__filter(X1,X2,X3)) -> activate#(X2) activate#(n__filter(X1,X2,X3)) -> activate#(X1) -> activate#(n__filter(X1,X2,X3)) -> activate#(X1) activate#(n__filter(X1,X2,X3)) -> activate#(X1) -> activate#(n__filter(X1,X2,X3)) -> filter#(activate(X1),activate(X2),activate(X3)) activate#(n__filter(X1,X2,X3)) -> activate#(X1) -> activate#(n__sieve(X)) -> activate#(X) activate#(n__filter(X1,X2,X3)) -> activate#(X1) -> activate#(n__sieve(X)) -> sieve#(activate(X)) activate#(n__filter(X1,X2,X3)) -> activate#(X1) -> activate#(n__nats(X)) -> activate#(X) activate#(n__filter(X1,X2,X3)) -> activate#(X1) -> activate#(n__nats(X)) -> nats#(activate(X)) activate#(n__filter(X1,X2,X3)) -> activate#(X1) -> activate#(n__s(X)) -> activate#(X) activate#(n__filter(X1,X2,X3)) -> activate#(X1) -> activate#(n__s(X)) -> s#(activate(X)) activate#(n__filter(X1,X2,X3)) -> filter#(activate(X1),activate(X2),activate(X3)) -> filter#(cons(X,Y),0(),M) -> activate#(Y) activate#(n__filter(X1,X2,X3)) -> filter#(activate(X1),activate(X2),activate(X3)) -> filter#(cons(X,Y),s(N),M) -> activate#(Y) filter#(cons(X,Y),s(N),M) -> activate#(Y) -> activate#(n__filter(X1,X2,X3)) -> activate#(X3) filter#(cons(X,Y),s(N),M) -> activate#(Y) -> activate#(n__filter(X1,X2,X3)) -> activate#(X2) filter#(cons(X,Y),s(N),M) -> activate#(Y) -> activate#(n__filter(X1,X2,X3)) -> activate#(X1) filter#(cons(X,Y),s(N),M) -> activate#(Y) -> activate#(n__filter(X1,X2,X3)) -> filter#(activate(X1),activate(X2),activate(X3)) filter#(cons(X,Y),s(N),M) -> activate#(Y) -> activate#(n__sieve(X)) -> activate#(X) filter#(cons(X,Y),s(N),M) -> activate#(Y) -> activate#(n__sieve(X)) -> sieve#(activate(X)) filter#(cons(X,Y),s(N),M) -> activate#(Y) -> activate#(n__nats(X)) -> activate#(X) filter#(cons(X,Y),s(N),M) -> activate#(Y) -> activate#(n__nats(X)) -> nats#(activate(X)) filter#(cons(X,Y),s(N),M) -> activate#(Y) -> activate#(n__s(X)) -> activate#(X) filter#(cons(X,Y),s(N),M) -> activate#(Y) -> activate#(n__s(X)) -> s#(activate(X)) filter#(cons(X,Y),0(),M) -> activate#(Y) -> activate#(n__filter(X1,X2,X3)) -> activate#(X3) filter#(cons(X,Y),0(),M) -> activate#(Y) -> activate#(n__filter(X1,X2,X3)) -> activate#(X2) filter#(cons(X,Y),0(),M) -> activate#(Y) -> activate#(n__filter(X1,X2,X3)) -> activate#(X1) filter#(cons(X,Y),0(),M) -> activate#(Y) -> activate#(n__filter(X1,X2,X3)) -> filter#(activate(X1),activate(X2),activate(X3)) filter#(cons(X,Y),0(),M) -> activate#(Y) -> activate#(n__sieve(X)) -> activate#(X) filter#(cons(X,Y),0(),M) -> activate#(Y) -> activate#(n__sieve(X)) -> sieve#(activate(X)) filter#(cons(X,Y),0(),M) -> activate#(Y) -> activate#(n__nats(X)) -> activate#(X) filter#(cons(X,Y),0(),M) -> activate#(Y) -> activate#(n__nats(X)) -> nats#(activate(X)) filter#(cons(X,Y),0(),M) -> activate#(Y) -> activate#(n__s(X)) -> activate#(X) filter#(cons(X,Y),0(),M) -> activate#(Y) -> activate#(n__s(X)) -> s#(activate(X)) Restore Modifier: DPs: 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)) -> activate#(Y) zprimes#() -> s#(0()) zprimes#() -> s#(s(0())) zprimes#() -> nats#(s(s(0()))) zprimes#() -> sieve#(nats(s(s(0())))) activate#(n__filter(X1,X2,X3)) -> activate#(X3) activate#(n__filter(X1,X2,X3)) -> activate#(X2) activate#(n__filter(X1,X2,X3)) -> activate#(X1) activate#(n__filter(X1,X2,X3)) -> filter#(activate(X1),activate(X2),activate(X3)) activate#(n__sieve(X)) -> activate#(X) activate#(n__sieve(X)) -> sieve#(activate(X)) activate#(n__nats(X)) -> activate#(X) activate#(n__nats(X)) -> nats#(activate(X)) activate#(n__s(X)) -> activate#(X) activate#(n__s(X)) -> s#(activate(X)) TRS: filter(cons(X,Y),0(),M) -> cons(0(),n__filter(activate(Y),M,M)) filter(cons(X,Y),s(N),M) -> cons(X,n__filter(activate(Y),N,M)) sieve(cons(0(),Y)) -> cons(0(),n__sieve(activate(Y))) sieve(cons(s(N),Y)) -> cons(s(N),n__sieve(n__filter(activate(Y),N,N))) nats(N) -> cons(N,n__nats(n__s(N))) zprimes() -> sieve(nats(s(s(0())))) filter(X1,X2,X3) -> n__filter(X1,X2,X3) sieve(X) -> n__sieve(X) nats(X) -> n__nats(X) s(X) -> n__s(X) activate(n__filter(X1,X2,X3)) -> filter(activate(X1),activate(X2),activate(X3)) activate(n__sieve(X)) -> sieve(activate(X)) activate(n__nats(X)) -> nats(activate(X)) activate(n__s(X)) -> s(activate(X)) activate(X) -> X SCC Processor: #sccs: 1 #rules: 12 #arcs: 106/324 DPs: sieve#(cons(s(N),Y)) -> activate#(Y) activate#(n__s(X)) -> activate#(X) activate#(n__nats(X)) -> activate#(X) activate#(n__sieve(X)) -> sieve#(activate(X)) sieve#(cons(0(),Y)) -> activate#(Y) activate#(n__sieve(X)) -> activate#(X) activate#(n__filter(X1,X2,X3)) -> filter#(activate(X1),activate(X2),activate(X3)) filter#(cons(X,Y),s(N),M) -> activate#(Y) activate#(n__filter(X1,X2,X3)) -> activate#(X1) activate#(n__filter(X1,X2,X3)) -> activate#(X2) activate#(n__filter(X1,X2,X3)) -> activate#(X3) filter#(cons(X,Y),0(),M) -> activate#(Y) TRS: filter(cons(X,Y),0(),M) -> cons(0(),n__filter(activate(Y),M,M)) filter(cons(X,Y),s(N),M) -> cons(X,n__filter(activate(Y),N,M)) sieve(cons(0(),Y)) -> cons(0(),n__sieve(activate(Y))) sieve(cons(s(N),Y)) -> cons(s(N),n__sieve(n__filter(activate(Y),N,N))) nats(N) -> cons(N,n__nats(n__s(N))) zprimes() -> sieve(nats(s(s(0())))) filter(X1,X2,X3) -> n__filter(X1,X2,X3) sieve(X) -> n__sieve(X) nats(X) -> n__nats(X) s(X) -> n__s(X) activate(n__filter(X1,X2,X3)) -> filter(activate(X1),activate(X2),activate(X3)) activate(n__sieve(X)) -> sieve(activate(X)) activate(n__nats(X)) -> nats(activate(X)) activate(n__s(X)) -> s(activate(X)) activate(X) -> X Open