YES Problem: terms(N) -> cons(recip(sqr(N)),n__terms(n__s(N))) sqr(0()) -> 0() sqr(s(X)) -> s(add(sqr(X),dbl(X))) dbl(0()) -> 0() dbl(s(X)) -> s(s(dbl(X))) add(0(),X) -> X add(s(X),Y) -> s(add(X,Y)) first(0(),X) -> nil() first(s(X),cons(Y,Z)) -> cons(Y,n__first(X,activate(Z))) half(0()) -> 0() half(s(0())) -> 0() half(s(s(X))) -> s(half(X)) half(dbl(X)) -> X terms(X) -> n__terms(X) s(X) -> n__s(X) first(X1,X2) -> n__first(X1,X2) activate(n__terms(X)) -> terms(activate(X)) activate(n__s(X)) -> s(activate(X)) activate(n__first(X1,X2)) -> first(activate(X1),activate(X2)) activate(X) -> X Proof: DP Processor: DPs: terms#(N) -> sqr#(N) sqr#(s(X)) -> dbl#(X) sqr#(s(X)) -> sqr#(X) sqr#(s(X)) -> add#(sqr(X),dbl(X)) sqr#(s(X)) -> s#(add(sqr(X),dbl(X))) dbl#(s(X)) -> dbl#(X) dbl#(s(X)) -> s#(dbl(X)) dbl#(s(X)) -> s#(s(dbl(X))) add#(s(X),Y) -> add#(X,Y) add#(s(X),Y) -> s#(add(X,Y)) first#(s(X),cons(Y,Z)) -> activate#(Z) half#(s(s(X))) -> half#(X) half#(s(s(X))) -> s#(half(X)) activate#(n__terms(X)) -> activate#(X) activate#(n__terms(X)) -> terms#(activate(X)) activate#(n__s(X)) -> activate#(X) activate#(n__s(X)) -> s#(activate(X)) activate#(n__first(X1,X2)) -> activate#(X2) activate#(n__first(X1,X2)) -> activate#(X1) activate#(n__first(X1,X2)) -> first#(activate(X1),activate(X2)) TRS: terms(N) -> cons(recip(sqr(N)),n__terms(n__s(N))) sqr(0()) -> 0() sqr(s(X)) -> s(add(sqr(X),dbl(X))) dbl(0()) -> 0() dbl(s(X)) -> s(s(dbl(X))) add(0(),X) -> X add(s(X),Y) -> s(add(X,Y)) first(0(),X) -> nil() first(s(X),cons(Y,Z)) -> cons(Y,n__first(X,activate(Z))) half(0()) -> 0() half(s(0())) -> 0() half(s(s(X))) -> s(half(X)) half(dbl(X)) -> X terms(X) -> n__terms(X) s(X) -> n__s(X) first(X1,X2) -> n__first(X1,X2) activate(n__terms(X)) -> terms(activate(X)) activate(n__s(X)) -> s(activate(X)) activate(n__first(X1,X2)) -> first(activate(X1),activate(X2)) activate(X) -> X TDG Processor: DPs: terms#(N) -> sqr#(N) sqr#(s(X)) -> dbl#(X) sqr#(s(X)) -> sqr#(X) sqr#(s(X)) -> add#(sqr(X),dbl(X)) sqr#(s(X)) -> s#(add(sqr(X),dbl(X))) dbl#(s(X)) -> dbl#(X) dbl#(s(X)) -> s#(dbl(X)) dbl#(s(X)) -> s#(s(dbl(X))) add#(s(X),Y) -> add#(X,Y) add#(s(X),Y) -> s#(add(X,Y)) first#(s(X),cons(Y,Z)) -> activate#(Z) half#(s(s(X))) -> half#(X) half#(s(s(X))) -> s#(half(X)) activate#(n__terms(X)) -> activate#(X) activate#(n__terms(X)) -> terms#(activate(X)) activate#(n__s(X)) -> activate#(X) activate#(n__s(X)) -> s#(activate(X)) activate#(n__first(X1,X2)) -> activate#(X2) activate#(n__first(X1,X2)) -> activate#(X1) activate#(n__first(X1,X2)) -> first#(activate(X1),activate(X2)) TRS: terms(N) -> cons(recip(sqr(N)),n__terms(n__s(N))) sqr(0()) -> 0() sqr(s(X)) -> s(add(sqr(X),dbl(X))) dbl(0()) -> 0() dbl(s(X)) -> s(s(dbl(X))) add(0(),X) -> X add(s(X),Y) -> s(add(X,Y)) first(0(),X) -> nil() first(s(X),cons(Y,Z)) -> cons(Y,n__first(X,activate(Z))) half(0()) -> 0() half(s(0())) -> 0() half(s(s(X))) -> s(half(X)) half(dbl(X)) -> X terms(X) -> n__terms(X) s(X) -> n__s(X) first(X1,X2) -> n__first(X1,X2) activate(n__terms(X)) -> terms(activate(X)) activate(n__s(X)) -> s(activate(X)) activate(n__first(X1,X2)) -> first(activate(X1),activate(X2)) activate(X) -> X graph: half#(s(s(X))) -> half#(X) -> half#(s(s(X))) -> s#(half(X)) half#(s(s(X))) -> half#(X) -> half#(s(s(X))) -> half#(X) activate#(n__first(X1,X2)) -> activate#(X2) -> activate#(n__first(X1,X2)) -> first#(activate(X1),activate(X2)) activate#(n__first(X1,X2)) -> activate#(X2) -> activate#(n__first(X1,X2)) -> activate#(X1) activate#(n__first(X1,X2)) -> activate#(X2) -> activate#(n__first(X1,X2)) -> activate#(X2) activate#(n__first(X1,X2)) -> activate#(X2) -> activate#(n__s(X)) -> s#(activate(X)) activate#(n__first(X1,X2)) -> activate#(X2) -> activate#(n__s(X)) -> activate#(X) activate#(n__first(X1,X2)) -> activate#(X2) -> activate#(n__terms(X)) -> terms#(activate(X)) activate#(n__first(X1,X2)) -> activate#(X2) -> activate#(n__terms(X)) -> activate#(X) activate#(n__first(X1,X2)) -> activate#(X1) -> activate#(n__first(X1,X2)) -> first#(activate(X1),activate(X2)) activate#(n__first(X1,X2)) -> activate#(X1) -> activate#(n__first(X1,X2)) -> activate#(X1) activate#(n__first(X1,X2)) -> activate#(X1) -> activate#(n__first(X1,X2)) -> activate#(X2) activate#(n__first(X1,X2)) -> activate#(X1) -> activate#(n__s(X)) -> s#(activate(X)) activate#(n__first(X1,X2)) -> activate#(X1) -> activate#(n__s(X)) -> activate#(X) activate#(n__first(X1,X2)) -> activate#(X1) -> activate#(n__terms(X)) -> terms#(activate(X)) activate#(n__first(X1,X2)) -> activate#(X1) -> activate#(n__terms(X)) -> activate#(X) activate#(n__first(X1,X2)) -> first#(activate(X1),activate(X2)) -> first#(s(X),cons(Y,Z)) -> activate#(Z) activate#(n__terms(X)) -> activate#(X) -> activate#(n__first(X1,X2)) -> first#(activate(X1),activate(X2)) activate#(n__terms(X)) -> activate#(X) -> activate#(n__first(X1,X2)) -> activate#(X1) activate#(n__terms(X)) -> activate#(X) -> activate#(n__first(X1,X2)) -> activate#(X2) activate#(n__terms(X)) -> activate#(X) -> activate#(n__s(X)) -> s#(activate(X)) activate#(n__terms(X)) -> activate#(X) -> activate#(n__s(X)) -> activate#(X) activate#(n__terms(X)) -> activate#(X) -> activate#(n__terms(X)) -> terms#(activate(X)) activate#(n__terms(X)) -> activate#(X) -> activate#(n__terms(X)) -> activate#(X) activate#(n__terms(X)) -> terms#(activate(X)) -> terms#(N) -> sqr#(N) activate#(n__s(X)) -> activate#(X) -> activate#(n__first(X1,X2)) -> first#(activate(X1),activate(X2)) activate#(n__s(X)) -> activate#(X) -> activate#(n__first(X1,X2)) -> activate#(X1) activate#(n__s(X)) -> activate#(X) -> activate#(n__first(X1,X2)) -> activate#(X2) activate#(n__s(X)) -> activate#(X) -> activate#(n__s(X)) -> s#(activate(X)) activate#(n__s(X)) -> activate#(X) -> activate#(n__s(X)) -> activate#(X) activate#(n__s(X)) -> activate#(X) -> activate#(n__terms(X)) -> terms#(activate(X)) activate#(n__s(X)) -> activate#(X) -> activate#(n__terms(X)) -> activate#(X) first#(s(X),cons(Y,Z)) -> activate#(Z) -> activate#(n__first(X1,X2)) -> first#(activate(X1),activate(X2)) first#(s(X),cons(Y,Z)) -> activate#(Z) -> activate#(n__first(X1,X2)) -> activate#(X1) first#(s(X),cons(Y,Z)) -> activate#(Z) -> activate#(n__first(X1,X2)) -> activate#(X2) first#(s(X),cons(Y,Z)) -> activate#(Z) -> activate#(n__s(X)) -> s#(activate(X)) first#(s(X),cons(Y,Z)) -> activate#(Z) -> activate#(n__s(X)) -> activate#(X) first#(s(X),cons(Y,Z)) -> activate#(Z) -> activate#(n__terms(X)) -> terms#(activate(X)) first#(s(X),cons(Y,Z)) -> activate#(Z) -> activate#(n__terms(X)) -> activate#(X) add#(s(X),Y) -> add#(X,Y) -> add#(s(X),Y) -> s#(add(X,Y)) add#(s(X),Y) -> add#(X,Y) -> add#(s(X),Y) -> add#(X,Y) dbl#(s(X)) -> dbl#(X) -> dbl#(s(X)) -> s#(s(dbl(X))) dbl#(s(X)) -> dbl#(X) -> dbl#(s(X)) -> s#(dbl(X)) dbl#(s(X)) -> dbl#(X) -> dbl#(s(X)) -> dbl#(X) sqr#(s(X)) -> add#(sqr(X),dbl(X)) -> add#(s(X),Y) -> s#(add(X,Y)) sqr#(s(X)) -> add#(sqr(X),dbl(X)) -> add#(s(X),Y) -> add#(X,Y) sqr#(s(X)) -> dbl#(X) -> dbl#(s(X)) -> s#(s(dbl(X))) sqr#(s(X)) -> dbl#(X) -> dbl#(s(X)) -> s#(dbl(X)) sqr#(s(X)) -> dbl#(X) -> dbl#(s(X)) -> dbl#(X) sqr#(s(X)) -> sqr#(X) -> sqr#(s(X)) -> s#(add(sqr(X),dbl(X))) sqr#(s(X)) -> sqr#(X) -> sqr#(s(X)) -> add#(sqr(X),dbl(X)) sqr#(s(X)) -> sqr#(X) -> sqr#(s(X)) -> sqr#(X) sqr#(s(X)) -> sqr#(X) -> sqr#(s(X)) -> dbl#(X) terms#(N) -> sqr#(N) -> sqr#(s(X)) -> s#(add(sqr(X),dbl(X))) terms#(N) -> sqr#(N) -> sqr#(s(X)) -> add#(sqr(X),dbl(X)) terms#(N) -> sqr#(N) -> sqr#(s(X)) -> sqr#(X) terms#(N) -> sqr#(N) -> sqr#(s(X)) -> dbl#(X) SCC Processor: #sccs: 5 #rules: 10 #arcs: 57/400 DPs: activate#(n__first(X1,X2)) -> activate#(X2) activate#(n__terms(X)) -> activate#(X) activate#(n__s(X)) -> activate#(X) activate#(n__first(X1,X2)) -> activate#(X1) activate#(n__first(X1,X2)) -> first#(activate(X1),activate(X2)) first#(s(X),cons(Y,Z)) -> activate#(Z) TRS: terms(N) -> cons(recip(sqr(N)),n__terms(n__s(N))) sqr(0()) -> 0() sqr(s(X)) -> s(add(sqr(X),dbl(X))) dbl(0()) -> 0() dbl(s(X)) -> s(s(dbl(X))) add(0(),X) -> X add(s(X),Y) -> s(add(X,Y)) first(0(),X) -> nil() first(s(X),cons(Y,Z)) -> cons(Y,n__first(X,activate(Z))) half(0()) -> 0() half(s(0())) -> 0() half(s(s(X))) -> s(half(X)) half(dbl(X)) -> X terms(X) -> n__terms(X) s(X) -> n__s(X) first(X1,X2) -> n__first(X1,X2) activate(n__terms(X)) -> terms(activate(X)) activate(n__s(X)) -> s(activate(X)) activate(n__first(X1,X2)) -> first(activate(X1),activate(X2)) activate(X) -> X Usable Rule Processor: DPs: activate#(n__first(X1,X2)) -> activate#(X2) activate#(n__terms(X)) -> activate#(X) activate#(n__s(X)) -> activate#(X) activate#(n__first(X1,X2)) -> activate#(X1) activate#(n__first(X1,X2)) -> first#(activate(X1),activate(X2)) first#(s(X),cons(Y,Z)) -> activate#(Z) TRS: activate(n__terms(X)) -> terms(activate(X)) activate(n__s(X)) -> s(activate(X)) activate(n__first(X1,X2)) -> first(activate(X1),activate(X2)) activate(X) -> X terms(N) -> cons(recip(sqr(N)),n__terms(n__s(N))) terms(X) -> n__terms(X) s(X) -> n__s(X) first(0(),X) -> nil() first(s(X),cons(Y,Z)) -> cons(Y,n__first(X,activate(Z))) first(X1,X2) -> n__first(X1,X2) sqr(0()) -> 0() sqr(s(X)) -> s(add(sqr(X),dbl(X))) dbl(0()) -> 0() dbl(s(X)) -> s(s(dbl(X))) add(0(),X) -> X add(s(X),Y) -> s(add(X,Y)) KBO Processor: argument filtering: pi(terms) = 0 pi(sqr) = [] pi(recip) = 0 pi(n__s) = 0 pi(n__terms) = 0 pi(cons) = 1 pi(0) = [] pi(s) = 0 pi(dbl) = [] pi(add) = [0,1] pi(first) = [0,1] pi(nil) = [] pi(activate) = [0] pi(n__first) = [0,1] pi(first#) = [1] pi(activate#) = 0 usable rules: activate(n__terms(X)) -> terms(activate(X)) activate(n__s(X)) -> s(activate(X)) activate(n__first(X1,X2)) -> first(activate(X1),activate(X2)) activate(X) -> X terms(N) -> cons(recip(sqr(N)),n__terms(n__s(N))) terms(X) -> n__terms(X) s(X) -> n__s(X) first(0(),X) -> nil() first(s(X),cons(Y,Z)) -> cons(Y,n__first(X,activate(Z))) first(X1,X2) -> n__first(X1,X2) weight function: w0 = 1 w(n__first) = w(nil) = w(first) = w(add) = w(dbl) = w(s) = w(0) = w( recip) = w(sqr) = 1 w(activate#) = w(first#) = w(activate) = w(cons) = w(n__terms) = w( n__s) = w(terms) = 0 precedence: recip > first# ~ activate ~ nil ~ add ~ dbl ~ n__s > first > activate# ~ n__first ~ s ~ 0 ~ cons ~ n__terms ~ sqr ~ terms problem: DPs: activate#(n__terms(X)) -> activate#(X) activate#(n__s(X)) -> activate#(X) TRS: activate(n__terms(X)) -> terms(activate(X)) activate(n__s(X)) -> s(activate(X)) activate(n__first(X1,X2)) -> first(activate(X1),activate(X2)) activate(X) -> X terms(N) -> cons(recip(sqr(N)),n__terms(n__s(N))) terms(X) -> n__terms(X) s(X) -> n__s(X) first(0(),X) -> nil() first(s(X),cons(Y,Z)) -> cons(Y,n__first(X,activate(Z))) first(X1,X2) -> n__first(X1,X2) sqr(0()) -> 0() sqr(s(X)) -> s(add(sqr(X),dbl(X))) dbl(0()) -> 0() dbl(s(X)) -> s(s(dbl(X))) add(0(),X) -> X add(s(X),Y) -> s(add(X,Y)) Restore Modifier: DPs: activate#(n__terms(X)) -> activate#(X) activate#(n__s(X)) -> activate#(X) TRS: terms(N) -> cons(recip(sqr(N)),n__terms(n__s(N))) sqr(0()) -> 0() sqr(s(X)) -> s(add(sqr(X),dbl(X))) dbl(0()) -> 0() dbl(s(X)) -> s(s(dbl(X))) add(0(),X) -> X add(s(X),Y) -> s(add(X,Y)) first(0(),X) -> nil() first(s(X),cons(Y,Z)) -> cons(Y,n__first(X,activate(Z))) half(0()) -> 0() half(s(0())) -> 0() half(s(s(X))) -> s(half(X)) half(dbl(X)) -> X terms(X) -> n__terms(X) s(X) -> n__s(X) first(X1,X2) -> n__first(X1,X2) activate(n__terms(X)) -> terms(activate(X)) activate(n__s(X)) -> s(activate(X)) activate(n__first(X1,X2)) -> first(activate(X1),activate(X2)) activate(X) -> X Subterm Criterion Processor: simple projection: pi(activate#) = 0 problem: DPs: TRS: terms(N) -> cons(recip(sqr(N)),n__terms(n__s(N))) sqr(0()) -> 0() sqr(s(X)) -> s(add(sqr(X),dbl(X))) dbl(0()) -> 0() dbl(s(X)) -> s(s(dbl(X))) add(0(),X) -> X add(s(X),Y) -> s(add(X,Y)) first(0(),X) -> nil() first(s(X),cons(Y,Z)) -> cons(Y,n__first(X,activate(Z))) half(0()) -> 0() half(s(0())) -> 0() half(s(s(X))) -> s(half(X)) half(dbl(X)) -> X terms(X) -> n__terms(X) s(X) -> n__s(X) first(X1,X2) -> n__first(X1,X2) activate(n__terms(X)) -> terms(activate(X)) activate(n__s(X)) -> s(activate(X)) activate(n__first(X1,X2)) -> first(activate(X1),activate(X2)) activate(X) -> X Qed DPs: sqr#(s(X)) -> sqr#(X) TRS: terms(N) -> cons(recip(sqr(N)),n__terms(n__s(N))) sqr(0()) -> 0() sqr(s(X)) -> s(add(sqr(X),dbl(X))) dbl(0()) -> 0() dbl(s(X)) -> s(s(dbl(X))) add(0(),X) -> X add(s(X),Y) -> s(add(X,Y)) first(0(),X) -> nil() first(s(X),cons(Y,Z)) -> cons(Y,n__first(X,activate(Z))) half(0()) -> 0() half(s(0())) -> 0() half(s(s(X))) -> s(half(X)) half(dbl(X)) -> X terms(X) -> n__terms(X) s(X) -> n__s(X) first(X1,X2) -> n__first(X1,X2) activate(n__terms(X)) -> terms(activate(X)) activate(n__s(X)) -> s(activate(X)) activate(n__first(X1,X2)) -> first(activate(X1),activate(X2)) activate(X) -> X Subterm Criterion Processor: simple projection: pi(sqr#) = 0 problem: DPs: TRS: terms(N) -> cons(recip(sqr(N)),n__terms(n__s(N))) sqr(0()) -> 0() sqr(s(X)) -> s(add(sqr(X),dbl(X))) dbl(0()) -> 0() dbl(s(X)) -> s(s(dbl(X))) add(0(),X) -> X add(s(X),Y) -> s(add(X,Y)) first(0(),X) -> nil() first(s(X),cons(Y,Z)) -> cons(Y,n__first(X,activate(Z))) half(0()) -> 0() half(s(0())) -> 0() half(s(s(X))) -> s(half(X)) half(dbl(X)) -> X terms(X) -> n__terms(X) s(X) -> n__s(X) first(X1,X2) -> n__first(X1,X2) activate(n__terms(X)) -> terms(activate(X)) activate(n__s(X)) -> s(activate(X)) activate(n__first(X1,X2)) -> first(activate(X1),activate(X2)) activate(X) -> X Qed DPs: add#(s(X),Y) -> add#(X,Y) TRS: terms(N) -> cons(recip(sqr(N)),n__terms(n__s(N))) sqr(0()) -> 0() sqr(s(X)) -> s(add(sqr(X),dbl(X))) dbl(0()) -> 0() dbl(s(X)) -> s(s(dbl(X))) add(0(),X) -> X add(s(X),Y) -> s(add(X,Y)) first(0(),X) -> nil() first(s(X),cons(Y,Z)) -> cons(Y,n__first(X,activate(Z))) half(0()) -> 0() half(s(0())) -> 0() half(s(s(X))) -> s(half(X)) half(dbl(X)) -> X terms(X) -> n__terms(X) s(X) -> n__s(X) first(X1,X2) -> n__first(X1,X2) activate(n__terms(X)) -> terms(activate(X)) activate(n__s(X)) -> s(activate(X)) activate(n__first(X1,X2)) -> first(activate(X1),activate(X2)) activate(X) -> X Subterm Criterion Processor: simple projection: pi(add#) = 0 problem: DPs: TRS: terms(N) -> cons(recip(sqr(N)),n__terms(n__s(N))) sqr(0()) -> 0() sqr(s(X)) -> s(add(sqr(X),dbl(X))) dbl(0()) -> 0() dbl(s(X)) -> s(s(dbl(X))) add(0(),X) -> X add(s(X),Y) -> s(add(X,Y)) first(0(),X) -> nil() first(s(X),cons(Y,Z)) -> cons(Y,n__first(X,activate(Z))) half(0()) -> 0() half(s(0())) -> 0() half(s(s(X))) -> s(half(X)) half(dbl(X)) -> X terms(X) -> n__terms(X) s(X) -> n__s(X) first(X1,X2) -> n__first(X1,X2) activate(n__terms(X)) -> terms(activate(X)) activate(n__s(X)) -> s(activate(X)) activate(n__first(X1,X2)) -> first(activate(X1),activate(X2)) activate(X) -> X Qed DPs: dbl#(s(X)) -> dbl#(X) TRS: terms(N) -> cons(recip(sqr(N)),n__terms(n__s(N))) sqr(0()) -> 0() sqr(s(X)) -> s(add(sqr(X),dbl(X))) dbl(0()) -> 0() dbl(s(X)) -> s(s(dbl(X))) add(0(),X) -> X add(s(X),Y) -> s(add(X,Y)) first(0(),X) -> nil() first(s(X),cons(Y,Z)) -> cons(Y,n__first(X,activate(Z))) half(0()) -> 0() half(s(0())) -> 0() half(s(s(X))) -> s(half(X)) half(dbl(X)) -> X terms(X) -> n__terms(X) s(X) -> n__s(X) first(X1,X2) -> n__first(X1,X2) activate(n__terms(X)) -> terms(activate(X)) activate(n__s(X)) -> s(activate(X)) activate(n__first(X1,X2)) -> first(activate(X1),activate(X2)) activate(X) -> X Subterm Criterion Processor: simple projection: pi(dbl#) = 0 problem: DPs: TRS: terms(N) -> cons(recip(sqr(N)),n__terms(n__s(N))) sqr(0()) -> 0() sqr(s(X)) -> s(add(sqr(X),dbl(X))) dbl(0()) -> 0() dbl(s(X)) -> s(s(dbl(X))) add(0(),X) -> X add(s(X),Y) -> s(add(X,Y)) first(0(),X) -> nil() first(s(X),cons(Y,Z)) -> cons(Y,n__first(X,activate(Z))) half(0()) -> 0() half(s(0())) -> 0() half(s(s(X))) -> s(half(X)) half(dbl(X)) -> X terms(X) -> n__terms(X) s(X) -> n__s(X) first(X1,X2) -> n__first(X1,X2) activate(n__terms(X)) -> terms(activate(X)) activate(n__s(X)) -> s(activate(X)) activate(n__first(X1,X2)) -> first(activate(X1),activate(X2)) activate(X) -> X Qed DPs: half#(s(s(X))) -> half#(X) TRS: terms(N) -> cons(recip(sqr(N)),n__terms(n__s(N))) sqr(0()) -> 0() sqr(s(X)) -> s(add(sqr(X),dbl(X))) dbl(0()) -> 0() dbl(s(X)) -> s(s(dbl(X))) add(0(),X) -> X add(s(X),Y) -> s(add(X,Y)) first(0(),X) -> nil() first(s(X),cons(Y,Z)) -> cons(Y,n__first(X,activate(Z))) half(0()) -> 0() half(s(0())) -> 0() half(s(s(X))) -> s(half(X)) half(dbl(X)) -> X terms(X) -> n__terms(X) s(X) -> n__s(X) first(X1,X2) -> n__first(X1,X2) activate(n__terms(X)) -> terms(activate(X)) activate(n__s(X)) -> s(activate(X)) activate(n__first(X1,X2)) -> first(activate(X1),activate(X2)) activate(X) -> X Subterm Criterion Processor: simple projection: pi(half#) = 0 problem: DPs: TRS: terms(N) -> cons(recip(sqr(N)),n__terms(n__s(N))) sqr(0()) -> 0() sqr(s(X)) -> s(add(sqr(X),dbl(X))) dbl(0()) -> 0() dbl(s(X)) -> s(s(dbl(X))) add(0(),X) -> X add(s(X),Y) -> s(add(X,Y)) first(0(),X) -> nil() first(s(X),cons(Y,Z)) -> cons(Y,n__first(X,activate(Z))) half(0()) -> 0() half(s(0())) -> 0() half(s(s(X))) -> s(half(X)) half(dbl(X)) -> X terms(X) -> n__terms(X) s(X) -> n__s(X) first(X1,X2) -> n__first(X1,X2) activate(n__terms(X)) -> terms(activate(X)) activate(n__s(X)) -> s(activate(X)) activate(n__first(X1,X2)) -> first(activate(X1),activate(X2)) activate(X) -> X Qed