YES Problem: from(X) -> cons(X,n__from(s(X))) after(0(),XS) -> XS after(s(N),cons(X,XS)) -> after(N,activate(XS)) from(X) -> n__from(X) activate(n__from(X)) -> from(X) activate(X) -> X Proof: DP Processor: DPs: after#(s(N),cons(X,XS)) -> activate#(XS) after#(s(N),cons(X,XS)) -> after#(N,activate(XS)) activate#(n__from(X)) -> from#(X) TRS: from(X) -> cons(X,n__from(s(X))) after(0(),XS) -> XS after(s(N),cons(X,XS)) -> after(N,activate(XS)) from(X) -> n__from(X) activate(n__from(X)) -> from(X) activate(X) -> X Usable Rule Processor: DPs: after#(s(N),cons(X,XS)) -> activate#(XS) after#(s(N),cons(X,XS)) -> after#(N,activate(XS)) activate#(n__from(X)) -> from#(X) TRS: activate(n__from(X)) -> from(X) activate(X) -> X from(X) -> cons(X,n__from(s(X))) from(X) -> n__from(X) Arctic Interpretation Processor: dimension: 1 usable rules: interpretation: [activate#](x0) = 1, [after#](x0, x1) = 4x0, [from#](x0) = 0, [activate](x0) = x0 + 0, [cons](x0, x1) = x0 + x1 + 0, [n__from](x0) = x0 + 0, [s](x0) = 1x0 + 0, [from](x0) = x0 + 0 orientation: after#(s(N),cons(X,XS)) = 5N + 4 >= 1 = activate#(XS) after#(s(N),cons(X,XS)) = 5N + 4 >= 4N = after#(N,activate(XS)) activate#(n__from(X)) = 1 >= 0 = from#(X) activate(n__from(X)) = X + 0 >= X + 0 = from(X) activate(X) = X + 0 >= X = X from(X) = X + 0 >= 1X + 0 = cons(X,n__from(s(X))) from(X) = X + 0 >= X + 0 = n__from(X) problem: DPs: TRS: activate(n__from(X)) -> from(X) activate(X) -> X from(X) -> cons(X,n__from(s(X))) from(X) -> n__from(X) Qed