YES Problem: first(0(),X) -> nil() first(s(X),cons(Y,Z)) -> cons(Y,n__first(X,activate(Z))) from(X) -> cons(X,n__from(s(X))) first(X1,X2) -> n__first(X1,X2) from(X) -> n__from(X) activate(n__first(X1,X2)) -> first(X1,X2) activate(n__from(X)) -> from(X) activate(X) -> X Proof: DP Processor: DPs: first#(s(X),cons(Y,Z)) -> activate#(Z) activate#(n__first(X1,X2)) -> first#(X1,X2) activate#(n__from(X)) -> from#(X) TRS: first(0(),X) -> nil() first(s(X),cons(Y,Z)) -> cons(Y,n__first(X,activate(Z))) from(X) -> cons(X,n__from(s(X))) first(X1,X2) -> n__first(X1,X2) from(X) -> n__from(X) activate(n__first(X1,X2)) -> first(X1,X2) activate(n__from(X)) -> from(X) activate(X) -> X Usable Rule Processor: DPs: first#(s(X),cons(Y,Z)) -> activate#(Z) activate#(n__first(X1,X2)) -> first#(X1,X2) activate#(n__from(X)) -> from#(X) TRS: CDG Processor: DPs: first#(s(X),cons(Y,Z)) -> activate#(Z) activate#(n__first(X1,X2)) -> first#(X1,X2) activate#(n__from(X)) -> from#(X) TRS: graph: Qed