MAYBE Problem: terms(N) -> cons(recip(sqr(N)),terms(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,first(X,Z)) half(0()) -> 0() half(s(0())) -> 0() half(s(s(X))) -> s(half(X)) half(dbl(X)) -> X Proof: DP Processor: DPs: terms#(N) -> terms#(s(N)) terms#(N) -> sqr#(N) sqr#(s(X)) -> dbl#(X) sqr#(s(X)) -> sqr#(X) sqr#(s(X)) -> add#(sqr(X),dbl(X)) dbl#(s(X)) -> dbl#(X) add#(s(X),Y) -> add#(X,Y) first#(s(X),cons(Y,Z)) -> first#(X,Z) half#(s(s(X))) -> half#(X) TRS: terms(N) -> cons(recip(sqr(N)),terms(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,first(X,Z)) half(0()) -> 0() half(s(0())) -> 0() half(s(s(X))) -> s(half(X)) half(dbl(X)) -> X Usable Rule Processor: DPs: terms#(N) -> terms#(s(N)) terms#(N) -> sqr#(N) sqr#(s(X)) -> dbl#(X) sqr#(s(X)) -> sqr#(X) sqr#(s(X)) -> add#(sqr(X),dbl(X)) dbl#(s(X)) -> dbl#(X) add#(s(X),Y) -> add#(X,Y) first#(s(X),cons(Y,Z)) -> first#(X,Z) half#(s(s(X))) -> half#(X) TRS: f17(x,y) -> x f17(x,y) -> y dbl(0()) -> 0() dbl(s(X)) -> s(s(dbl(X))) sqr(0()) -> 0() sqr(s(X)) -> s(add(sqr(X),dbl(X))) add(0(),X) -> X add(s(X),Y) -> s(add(X,Y)) EDG Processor: DPs: terms#(N) -> terms#(s(N)) terms#(N) -> sqr#(N) sqr#(s(X)) -> dbl#(X) sqr#(s(X)) -> sqr#(X) sqr#(s(X)) -> add#(sqr(X),dbl(X)) dbl#(s(X)) -> dbl#(X) add#(s(X),Y) -> add#(X,Y) first#(s(X),cons(Y,Z)) -> first#(X,Z) half#(s(s(X))) -> half#(X) TRS: f17(x,y) -> x f17(x,y) -> y dbl(0()) -> 0() dbl(s(X)) -> s(s(dbl(X))) sqr(0()) -> 0() sqr(s(X)) -> s(add(sqr(X),dbl(X))) add(0(),X) -> X add(s(X),Y) -> s(add(X,Y)) graph: half#(s(s(X))) -> half#(X) -> half#(s(s(X))) -> half#(X) first#(s(X),cons(Y,Z)) -> first#(X,Z) -> first#(s(X),cons(Y,Z)) -> first#(X,Z) add#(s(X),Y) -> add#(X,Y) -> add#(s(X),Y) -> add#(X,Y) dbl#(s(X)) -> dbl#(X) -> dbl#(s(X)) -> dbl#(X) sqr#(s(X)) -> add#(sqr(X),dbl(X)) -> add#(s(X),Y) -> add#(X,Y) sqr#(s(X)) -> dbl#(X) -> dbl#(s(X)) -> dbl#(X) sqr#(s(X)) -> sqr#(X) -> sqr#(s(X)) -> dbl#(X) sqr#(s(X)) -> sqr#(X) -> sqr#(s(X)) -> sqr#(X) sqr#(s(X)) -> sqr#(X) -> sqr#(s(X)) -> add#(sqr(X),dbl(X)) terms#(N) -> sqr#(N) -> sqr#(s(X)) -> dbl#(X) terms#(N) -> sqr#(N) -> sqr#(s(X)) -> sqr#(X) terms#(N) -> sqr#(N) -> sqr#(s(X)) -> add#(sqr(X),dbl(X)) terms#(N) -> terms#(s(N)) -> terms#(N) -> terms#(s(N)) terms#(N) -> terms#(s(N)) -> terms#(N) -> sqr#(N) Restore Modifier: DPs: terms#(N) -> terms#(s(N)) terms#(N) -> sqr#(N) sqr#(s(X)) -> dbl#(X) sqr#(s(X)) -> sqr#(X) sqr#(s(X)) -> add#(sqr(X),dbl(X)) dbl#(s(X)) -> dbl#(X) add#(s(X),Y) -> add#(X,Y) first#(s(X),cons(Y,Z)) -> first#(X,Z) half#(s(s(X))) -> half#(X) TRS: terms(N) -> cons(recip(sqr(N)),terms(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,first(X,Z)) half(0()) -> 0() half(s(0())) -> 0() half(s(s(X))) -> s(half(X)) half(dbl(X)) -> X SCC Processor: #sccs: 6 #rules: 6 #arcs: 14/81 DPs: terms#(N) -> terms#(s(N)) TRS: terms(N) -> cons(recip(sqr(N)),terms(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,first(X,Z)) half(0()) -> 0() half(s(0())) -> 0() half(s(s(X))) -> s(half(X)) half(dbl(X)) -> X Open DPs: sqr#(s(X)) -> sqr#(X) TRS: terms(N) -> cons(recip(sqr(N)),terms(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,first(X,Z)) half(0()) -> 0() half(s(0())) -> 0() half(s(s(X))) -> s(half(X)) half(dbl(X)) -> X Open DPs: dbl#(s(X)) -> dbl#(X) TRS: terms(N) -> cons(recip(sqr(N)),terms(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,first(X,Z)) half(0()) -> 0() half(s(0())) -> 0() half(s(s(X))) -> s(half(X)) half(dbl(X)) -> X Open DPs: add#(s(X),Y) -> add#(X,Y) TRS: terms(N) -> cons(recip(sqr(N)),terms(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,first(X,Z)) half(0()) -> 0() half(s(0())) -> 0() half(s(s(X))) -> s(half(X)) half(dbl(X)) -> X Open DPs: first#(s(X),cons(Y,Z)) -> first#(X,Z) TRS: terms(N) -> cons(recip(sqr(N)),terms(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,first(X,Z)) half(0()) -> 0() half(s(0())) -> 0() half(s(s(X))) -> s(half(X)) half(dbl(X)) -> X Open DPs: half#(s(s(X))) -> half#(X) TRS: terms(N) -> cons(recip(sqr(N)),terms(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,first(X,Z)) half(0()) -> 0() half(s(0())) -> 0() half(s(s(X))) -> s(half(X)) half(dbl(X)) -> X Open