YES Problem: from(X) -> cons(X,n__from(s(X))) 2ndspos(0(),Z) -> rnil() 2ndspos(s(N),cons(X,n__cons(Y,Z))) -> rcons(posrecip(activate(Y)),2ndsneg(N,activate(Z))) 2ndsneg(0(),Z) -> rnil() 2ndsneg(s(N),cons(X,n__cons(Y,Z))) -> rcons(negrecip(activate(Y)),2ndspos(N,activate(Z))) pi(X) -> 2ndspos(X,from(0())) plus(0(),Y) -> Y plus(s(X),Y) -> s(plus(X,Y)) times(0(),Y) -> 0() times(s(X),Y) -> plus(Y,times(X,Y)) square(X) -> times(X,X) from(X) -> n__from(X) cons(X1,X2) -> n__cons(X1,X2) activate(n__from(X)) -> from(X) activate(n__cons(X1,X2)) -> cons(X1,X2) activate(X) -> X Proof: DP Processor: DPs: from#(X) -> cons#(X,n__from(s(X))) 2ndspos#(s(N),cons(X,n__cons(Y,Z))) -> activate#(Z) 2ndspos#(s(N),cons(X,n__cons(Y,Z))) -> 2ndsneg#(N,activate(Z)) 2ndspos#(s(N),cons(X,n__cons(Y,Z))) -> activate#(Y) 2ndsneg#(s(N),cons(X,n__cons(Y,Z))) -> activate#(Z) 2ndsneg#(s(N),cons(X,n__cons(Y,Z))) -> 2ndspos#(N,activate(Z)) 2ndsneg#(s(N),cons(X,n__cons(Y,Z))) -> activate#(Y) pi#(X) -> from#(0()) pi#(X) -> 2ndspos#(X,from(0())) plus#(s(X),Y) -> plus#(X,Y) times#(s(X),Y) -> times#(X,Y) times#(s(X),Y) -> plus#(Y,times(X,Y)) square#(X) -> times#(X,X) activate#(n__from(X)) -> from#(X) activate#(n__cons(X1,X2)) -> cons#(X1,X2) TRS: from(X) -> cons(X,n__from(s(X))) 2ndspos(0(),Z) -> rnil() 2ndspos(s(N),cons(X,n__cons(Y,Z))) -> rcons(posrecip(activate(Y)),2ndsneg(N,activate(Z))) 2ndsneg(0(),Z) -> rnil() 2ndsneg(s(N),cons(X,n__cons(Y,Z))) -> rcons(negrecip(activate(Y)),2ndspos(N,activate(Z))) pi(X) -> 2ndspos(X,from(0())) plus(0(),Y) -> Y plus(s(X),Y) -> s(plus(X,Y)) times(0(),Y) -> 0() times(s(X),Y) -> plus(Y,times(X,Y)) square(X) -> times(X,X) from(X) -> n__from(X) cons(X1,X2) -> n__cons(X1,X2) activate(n__from(X)) -> from(X) activate(n__cons(X1,X2)) -> cons(X1,X2) activate(X) -> X TDG Processor: DPs: from#(X) -> cons#(X,n__from(s(X))) 2ndspos#(s(N),cons(X,n__cons(Y,Z))) -> activate#(Z) 2ndspos#(s(N),cons(X,n__cons(Y,Z))) -> 2ndsneg#(N,activate(Z)) 2ndspos#(s(N),cons(X,n__cons(Y,Z))) -> activate#(Y) 2ndsneg#(s(N),cons(X,n__cons(Y,Z))) -> activate#(Z) 2ndsneg#(s(N),cons(X,n__cons(Y,Z))) -> 2ndspos#(N,activate(Z)) 2ndsneg#(s(N),cons(X,n__cons(Y,Z))) -> activate#(Y) pi#(X) -> from#(0()) pi#(X) -> 2ndspos#(X,from(0())) plus#(s(X),Y) -> plus#(X,Y) times#(s(X),Y) -> times#(X,Y) times#(s(X),Y) -> plus#(Y,times(X,Y)) square#(X) -> times#(X,X) activate#(n__from(X)) -> from#(X) activate#(n__cons(X1,X2)) -> cons#(X1,X2) TRS: from(X) -> cons(X,n__from(s(X))) 2ndspos(0(),Z) -> rnil() 2ndspos(s(N),cons(X,n__cons(Y,Z))) -> rcons(posrecip(activate(Y)),2ndsneg(N,activate(Z))) 2ndsneg(0(),Z) -> rnil() 2ndsneg(s(N),cons(X,n__cons(Y,Z))) -> rcons(negrecip(activate(Y)),2ndspos(N,activate(Z))) pi(X) -> 2ndspos(X,from(0())) plus(0(),Y) -> Y plus(s(X),Y) -> s(plus(X,Y)) times(0(),Y) -> 0() times(s(X),Y) -> plus(Y,times(X,Y)) square(X) -> times(X,X) from(X) -> n__from(X) cons(X1,X2) -> n__cons(X1,X2) activate(n__from(X)) -> from(X) activate(n__cons(X1,X2)) -> cons(X1,X2) activate(X) -> X graph: square#(X) -> times#(X,X) -> times#(s(X),Y) -> plus#(Y,times(X,Y)) square#(X) -> times#(X,X) -> times#(s(X),Y) -> times#(X,Y) times#(s(X),Y) -> times#(X,Y) -> times#(s(X),Y) -> plus#(Y,times(X,Y)) times#(s(X),Y) -> times#(X,Y) -> times#(s(X),Y) -> times#(X,Y) times#(s(X),Y) -> plus#(Y,times(X,Y)) -> plus#(s(X),Y) -> plus#(X,Y) plus#(s(X),Y) -> plus#(X,Y) -> plus#(s(X),Y) -> plus#(X,Y) pi#(X) -> 2ndspos#(X,from(0())) -> 2ndspos#(s(N),cons(X,n__cons(Y,Z))) -> activate#(Y) pi#(X) -> 2ndspos#(X,from(0())) -> 2ndspos#(s(N),cons(X,n__cons(Y,Z))) -> 2ndsneg#(N,activate(Z)) pi#(X) -> 2ndspos#(X,from(0())) -> 2ndspos#(s(N),cons(X,n__cons(Y,Z))) -> activate#(Z) pi#(X) -> from#(0()) -> from#(X) -> cons#(X,n__from(s(X))) 2ndsneg#(s(N),cons(X,n__cons(Y,Z))) -> activate#(Z) -> activate#(n__cons(X1,X2)) -> cons#(X1,X2) 2ndsneg#(s(N),cons(X,n__cons(Y,Z))) -> activate#(Z) -> activate#(n__from(X)) -> from#(X) 2ndsneg#(s(N),cons(X,n__cons(Y,Z))) -> activate#(Y) -> activate#(n__cons(X1,X2)) -> cons#(X1,X2) 2ndsneg#(s(N),cons(X,n__cons(Y,Z))) -> activate#(Y) -> activate#(n__from(X)) -> from#(X) 2ndsneg#(s(N),cons(X,n__cons(Y,Z))) -> 2ndspos#(N,activate(Z)) -> 2ndspos#(s(N),cons(X,n__cons(Y,Z))) -> activate#(Y) 2ndsneg#(s(N),cons(X,n__cons(Y,Z))) -> 2ndspos#(N,activate(Z)) -> 2ndspos#(s(N),cons(X,n__cons(Y,Z))) -> 2ndsneg#(N,activate(Z)) 2ndsneg#(s(N),cons(X,n__cons(Y,Z))) -> 2ndspos#(N,activate(Z)) -> 2ndspos#(s(N),cons(X,n__cons(Y,Z))) -> activate#(Z) activate#(n__from(X)) -> from#(X) -> from#(X) -> cons#(X,n__from(s(X))) 2ndspos#(s(N),cons(X,n__cons(Y,Z))) -> 2ndsneg#(N,activate(Z)) -> 2ndsneg#(s(N),cons(X,n__cons(Y,Z))) -> activate#(Y) 2ndspos#(s(N),cons(X,n__cons(Y,Z))) -> 2ndsneg#(N,activate(Z)) -> 2ndsneg#(s(N),cons(X,n__cons(Y,Z))) -> 2ndspos#(N,activate(Z)) 2ndspos#(s(N),cons(X,n__cons(Y,Z))) -> 2ndsneg#(N,activate(Z)) -> 2ndsneg#(s(N),cons(X,n__cons(Y,Z))) -> activate#(Z) 2ndspos#(s(N),cons(X,n__cons(Y,Z))) -> activate#(Z) -> activate#(n__cons(X1,X2)) -> cons#(X1,X2) 2ndspos#(s(N),cons(X,n__cons(Y,Z))) -> activate#(Z) -> activate#(n__from(X)) -> from#(X) 2ndspos#(s(N),cons(X,n__cons(Y,Z))) -> activate#(Y) -> activate#(n__cons(X1,X2)) -> cons#(X1,X2) 2ndspos#(s(N),cons(X,n__cons(Y,Z))) -> activate#(Y) -> activate#(n__from(X)) -> from#(X) CDG Processor: DPs: from#(X) -> cons#(X,n__from(s(X))) 2ndspos#(s(N),cons(X,n__cons(Y,Z))) -> activate#(Z) 2ndspos#(s(N),cons(X,n__cons(Y,Z))) -> 2ndsneg#(N,activate(Z)) 2ndspos#(s(N),cons(X,n__cons(Y,Z))) -> activate#(Y) 2ndsneg#(s(N),cons(X,n__cons(Y,Z))) -> activate#(Z) 2ndsneg#(s(N),cons(X,n__cons(Y,Z))) -> 2ndspos#(N,activate(Z)) 2ndsneg#(s(N),cons(X,n__cons(Y,Z))) -> activate#(Y) pi#(X) -> from#(0()) pi#(X) -> 2ndspos#(X,from(0())) plus#(s(X),Y) -> plus#(X,Y) times#(s(X),Y) -> times#(X,Y) times#(s(X),Y) -> plus#(Y,times(X,Y)) square#(X) -> times#(X,X) activate#(n__from(X)) -> from#(X) activate#(n__cons(X1,X2)) -> cons#(X1,X2) TRS: from(X) -> cons(X,n__from(s(X))) 2ndspos(0(),Z) -> rnil() 2ndspos(s(N),cons(X,n__cons(Y,Z))) -> rcons(posrecip(activate(Y)),2ndsneg(N,activate(Z))) 2ndsneg(0(),Z) -> rnil() 2ndsneg(s(N),cons(X,n__cons(Y,Z))) -> rcons(negrecip(activate(Y)),2ndspos(N,activate(Z))) pi(X) -> 2ndspos(X,from(0())) plus(0(),Y) -> Y plus(s(X),Y) -> s(plus(X,Y)) times(0(),Y) -> 0() times(s(X),Y) -> plus(Y,times(X,Y)) square(X) -> times(X,X) from(X) -> n__from(X) cons(X1,X2) -> n__cons(X1,X2) activate(n__from(X)) -> from(X) activate(n__cons(X1,X2)) -> cons(X1,X2) activate(X) -> X graph: square#(X) -> times#(X,X) -> times#(s(X),Y) -> times#(X,Y) square#(X) -> times#(X,X) -> times#(s(X),Y) -> plus#(Y,times(X,Y)) times#(s(X),Y) -> times#(X,Y) -> times#(s(X),Y) -> times#(X,Y) times#(s(X),Y) -> times#(X,Y) -> times#(s(X),Y) -> plus#(Y,times(X,Y)) times#(s(X),Y) -> plus#(Y,times(X,Y)) -> plus#(s(X),Y) -> plus#(X,Y) plus#(s(X),Y) -> plus#(X,Y) -> plus#(s(X),Y) -> plus#(X,Y) pi#(X) -> from#(0()) -> from#(X) -> cons#(X,n__from(s(X))) 2ndsneg#(s(N),cons(X,n__cons(Y,Z))) -> activate#(Z) -> activate#(n__from(X)) -> from#(X) 2ndsneg#(s(N),cons(X,n__cons(Y,Z))) -> activate#(Z) -> activate#(n__cons(X1,X2)) -> cons#(X1,X2) 2ndsneg#(s(N),cons(X,n__cons(Y,Z))) -> activate#(Y) -> activate#(n__from(X)) -> from#(X) 2ndsneg#(s(N),cons(X,n__cons(Y,Z))) -> activate#(Y) -> activate#(n__cons(X1,X2)) -> cons#(X1,X2) 2ndsneg#(s(N),cons(X,n__cons(Y,Z))) -> 2ndspos#(N,activate(Z)) -> 2ndspos#(s(N),cons(X,n__cons(Y,Z))) -> activate#(Z) 2ndsneg#(s(N),cons(X,n__cons(Y,Z))) -> 2ndspos#(N,activate(Z)) -> 2ndspos#(s(N),cons(X,n__cons(Y,Z))) -> 2ndsneg#(N,activate(Z)) 2ndsneg#(s(N),cons(X,n__cons(Y,Z))) -> 2ndspos#(N,activate(Z)) -> 2ndspos#(s(N),cons(X,n__cons(Y,Z))) -> activate#(Y) activate#(n__from(X)) -> from#(X) -> from#(X) -> cons#(X,n__from(s(X))) 2ndspos#(s(N),cons(X,n__cons(Y,Z))) -> 2ndsneg#(N,activate(Z)) -> 2ndsneg#(s(N),cons(X,n__cons(Y,Z))) -> activate#(Z) 2ndspos#(s(N),cons(X,n__cons(Y,Z))) -> 2ndsneg#(N,activate(Z)) -> 2ndsneg#(s(N),cons(X,n__cons(Y,Z))) -> 2ndspos#(N,activate(Z)) 2ndspos#(s(N),cons(X,n__cons(Y,Z))) -> 2ndsneg#(N,activate(Z)) -> 2ndsneg#(s(N),cons(X,n__cons(Y,Z))) -> activate#(Y) 2ndspos#(s(N),cons(X,n__cons(Y,Z))) -> activate#(Z) -> activate#(n__from(X)) -> from#(X) 2ndspos#(s(N),cons(X,n__cons(Y,Z))) -> activate#(Z) -> activate#(n__cons(X1,X2)) -> cons#(X1,X2) 2ndspos#(s(N),cons(X,n__cons(Y,Z))) -> activate#(Y) -> activate#(n__from(X)) -> from#(X) 2ndspos#(s(N),cons(X,n__cons(Y,Z))) -> activate#(Y) -> activate#(n__cons(X1,X2)) -> cons#(X1,X2) SCC Processor: #sccs: 3 #rules: 4 #arcs: 22/225 DPs: 2ndsneg#(s(N),cons(X,n__cons(Y,Z))) -> 2ndspos#(N,activate(Z)) 2ndspos#(s(N),cons(X,n__cons(Y,Z))) -> 2ndsneg#(N,activate(Z)) TRS: from(X) -> cons(X,n__from(s(X))) 2ndspos(0(),Z) -> rnil() 2ndspos(s(N),cons(X,n__cons(Y,Z))) -> rcons(posrecip(activate(Y)),2ndsneg(N,activate(Z))) 2ndsneg(0(),Z) -> rnil() 2ndsneg(s(N),cons(X,n__cons(Y,Z))) -> rcons(negrecip(activate(Y)),2ndspos(N,activate(Z))) pi(X) -> 2ndspos(X,from(0())) plus(0(),Y) -> Y plus(s(X),Y) -> s(plus(X,Y)) times(0(),Y) -> 0() times(s(X),Y) -> plus(Y,times(X,Y)) square(X) -> times(X,X) from(X) -> n__from(X) cons(X1,X2) -> n__cons(X1,X2) activate(n__from(X)) -> from(X) activate(n__cons(X1,X2)) -> cons(X1,X2) activate(X) -> X KBO Processor: argument filtering: pi(from) = [0] pi(s) = 0 pi(n__from) = 0 pi(cons) = [1] pi(0) = [] pi(2ndspos) = [] pi(rnil) = [] pi(n__cons) = [1] pi(activate) = [0] pi(posrecip) = [] pi(2ndsneg) = [0] pi(rcons) = [] pi(negrecip) = 0 pi(pi) = [0] pi(plus) = 1 pi(times) = [] pi(square) = [] pi(2ndspos#) = [0,1] pi(2ndsneg#) = [0,1] weight function: w0 = 1 w(2ndsneg#) = w(square) = w(times) = w(rcons) = w(2ndsneg) = w( posrecip) = w(activate) = w(n__cons) = w(rnil) = w(2ndspos) = w( 0) = w(cons) = w(from) = 1 w(2ndspos#) = w(plus) = w(pi) = w(negrecip) = w(n__from) = w(s) = 0 precedence: square ~ pi ~ posrecip > activate > times ~ from > 2ndspos# ~ 2ndspos ~ cons > 2ndsneg# ~ plus ~ negrecip ~ rcons ~ 2ndsneg ~ n__cons ~ rnil ~ 0 ~ n__from ~ s problem: DPs: TRS: from(X) -> cons(X,n__from(s(X))) 2ndspos(0(),Z) -> rnil() 2ndspos(s(N),cons(X,n__cons(Y,Z))) -> rcons(posrecip(activate(Y)),2ndsneg(N,activate(Z))) 2ndsneg(0(),Z) -> rnil() 2ndsneg(s(N),cons(X,n__cons(Y,Z))) -> rcons(negrecip(activate(Y)),2ndspos(N,activate(Z))) pi(X) -> 2ndspos(X,from(0())) plus(0(),Y) -> Y plus(s(X),Y) -> s(plus(X,Y)) times(0(),Y) -> 0() times(s(X),Y) -> plus(Y,times(X,Y)) square(X) -> times(X,X) from(X) -> n__from(X) cons(X1,X2) -> n__cons(X1,X2) activate(n__from(X)) -> from(X) activate(n__cons(X1,X2)) -> cons(X1,X2) activate(X) -> X Qed DPs: times#(s(X),Y) -> times#(X,Y) TRS: from(X) -> cons(X,n__from(s(X))) 2ndspos(0(),Z) -> rnil() 2ndspos(s(N),cons(X,n__cons(Y,Z))) -> rcons(posrecip(activate(Y)),2ndsneg(N,activate(Z))) 2ndsneg(0(),Z) -> rnil() 2ndsneg(s(N),cons(X,n__cons(Y,Z))) -> rcons(negrecip(activate(Y)),2ndspos(N,activate(Z))) pi(X) -> 2ndspos(X,from(0())) plus(0(),Y) -> Y plus(s(X),Y) -> s(plus(X,Y)) times(0(),Y) -> 0() times(s(X),Y) -> plus(Y,times(X,Y)) square(X) -> times(X,X) from(X) -> n__from(X) cons(X1,X2) -> n__cons(X1,X2) activate(n__from(X)) -> from(X) activate(n__cons(X1,X2)) -> cons(X1,X2) activate(X) -> X LPO Processor: argument filtering: pi(from) = 0 pi(s) = [0] pi(n__from) = 0 pi(cons) = 0 pi(0) = [] pi(2ndspos) = [] pi(rnil) = [] pi(n__cons) = 0 pi(activate) = 0 pi(posrecip) = [] pi(2ndsneg) = [] pi(rcons) = 0 pi(negrecip) = [] pi(pi) = [] pi(plus) = [0,1] pi(times) = [0,1] pi(square) = [0] pi(times#) = 0 precedence: square > times > plus ~ pi > 2ndsneg ~ 2ndspos > times# ~ negrecip ~ rcons ~ posrecip ~ activate ~ n__cons ~ rnil ~ 0 ~ cons ~ n__from ~ s ~ from problem: DPs: TRS: from(X) -> cons(X,n__from(s(X))) 2ndspos(0(),Z) -> rnil() 2ndspos(s(N),cons(X,n__cons(Y,Z))) -> rcons(posrecip(activate(Y)),2ndsneg(N,activate(Z))) 2ndsneg(0(),Z) -> rnil() 2ndsneg(s(N),cons(X,n__cons(Y,Z))) -> rcons(negrecip(activate(Y)),2ndspos(N,activate(Z))) pi(X) -> 2ndspos(X,from(0())) plus(0(),Y) -> Y plus(s(X),Y) -> s(plus(X,Y)) times(0(),Y) -> 0() times(s(X),Y) -> plus(Y,times(X,Y)) square(X) -> times(X,X) from(X) -> n__from(X) cons(X1,X2) -> n__cons(X1,X2) activate(n__from(X)) -> from(X) activate(n__cons(X1,X2)) -> cons(X1,X2) activate(X) -> X Qed DPs: plus#(s(X),Y) -> plus#(X,Y) TRS: from(X) -> cons(X,n__from(s(X))) 2ndspos(0(),Z) -> rnil() 2ndspos(s(N),cons(X,n__cons(Y,Z))) -> rcons(posrecip(activate(Y)),2ndsneg(N,activate(Z))) 2ndsneg(0(),Z) -> rnil() 2ndsneg(s(N),cons(X,n__cons(Y,Z))) -> rcons(negrecip(activate(Y)),2ndspos(N,activate(Z))) pi(X) -> 2ndspos(X,from(0())) plus(0(),Y) -> Y plus(s(X),Y) -> s(plus(X,Y)) times(0(),Y) -> 0() times(s(X),Y) -> plus(Y,times(X,Y)) square(X) -> times(X,X) from(X) -> n__from(X) cons(X1,X2) -> n__cons(X1,X2) activate(n__from(X)) -> from(X) activate(n__cons(X1,X2)) -> cons(X1,X2) activate(X) -> X LPO Processor: argument filtering: pi(from) = 0 pi(s) = [0] pi(n__from) = 0 pi(cons) = 0 pi(0) = [] pi(2ndspos) = [] pi(rnil) = [] pi(n__cons) = 0 pi(activate) = 0 pi(posrecip) = [] pi(2ndsneg) = [] pi(rcons) = 0 pi(negrecip) = [] pi(pi) = [] pi(plus) = [0,1] pi(times) = [0,1] pi(square) = [0] pi(plus#) = 0 precedence: square > times > plus ~ pi > 2ndsneg ~ 2ndspos > plus# ~ negrecip ~ rcons ~ posrecip ~ activate ~ n__cons ~ rnil ~ 0 ~ cons ~ n__from ~ s ~ from problem: DPs: TRS: from(X) -> cons(X,n__from(s(X))) 2ndspos(0(),Z) -> rnil() 2ndspos(s(N),cons(X,n__cons(Y,Z))) -> rcons(posrecip(activate(Y)),2ndsneg(N,activate(Z))) 2ndsneg(0(),Z) -> rnil() 2ndsneg(s(N),cons(X,n__cons(Y,Z))) -> rcons(negrecip(activate(Y)),2ndspos(N,activate(Z))) pi(X) -> 2ndspos(X,from(0())) plus(0(),Y) -> Y plus(s(X),Y) -> s(plus(X,Y)) times(0(),Y) -> 0() times(s(X),Y) -> plus(Y,times(X,Y)) square(X) -> times(X,X) from(X) -> n__from(X) cons(X1,X2) -> n__cons(X1,X2) activate(n__from(X)) -> from(X) activate(n__cons(X1,X2)) -> cons(X1,X2) activate(X) -> X Qed