YES Problem: 2nd(cons1(X,cons(Y,Z))) -> Y 2nd(cons(X,X1)) -> 2nd(cons1(X,activate(X1))) from(X) -> cons(X,n__from(n__s(X))) from(X) -> n__from(X) s(X) -> n__s(X) activate(n__from(X)) -> from(activate(X)) activate(n__s(X)) -> s(activate(X)) activate(X) -> X Proof: DP Processor: DPs: 2nd#(cons(X,X1)) -> activate#(X1) 2nd#(cons(X,X1)) -> 2nd#(cons1(X,activate(X1))) activate#(n__from(X)) -> activate#(X) activate#(n__from(X)) -> from#(activate(X)) activate#(n__s(X)) -> activate#(X) activate#(n__s(X)) -> s#(activate(X)) TRS: 2nd(cons1(X,cons(Y,Z))) -> Y 2nd(cons(X,X1)) -> 2nd(cons1(X,activate(X1))) from(X) -> cons(X,n__from(n__s(X))) from(X) -> n__from(X) s(X) -> n__s(X) activate(n__from(X)) -> from(activate(X)) activate(n__s(X)) -> s(activate(X)) activate(X) -> X Matrix Interpretation Processor: dim=1 interpretation: [s#](x0) = x0, [from#](x0) = 0, [activate#](x0) = x0, [2nd#](x0) = 2x0, [s](x0) = x0 + 1/2, [n__from](x0) = 2x0 + 3, [n__s](x0) = x0 + 1/2, [from](x0) = 2x0 + 3, [activate](x0) = x0, [2nd](x0) = 2x0, [cons1](x0, x1) = x0 + 1/2x1, [cons](x0, x1) = x0 + 1/2x1 + 1 orientation: 2nd#(cons(X,X1)) = 2X + X1 + 2 >= X1 = activate#(X1) 2nd#(cons(X,X1)) = 2X + X1 + 2 >= 2X + X1 = 2nd#(cons1(X,activate(X1))) activate#(n__from(X)) = 2X + 3 >= X = activate#(X) activate#(n__from(X)) = 2X + 3 >= 0 = from#(activate(X)) activate#(n__s(X)) = X + 1/2 >= X = activate#(X) activate#(n__s(X)) = X + 1/2 >= X = s#(activate(X)) 2nd(cons1(X,cons(Y,Z))) = 2X + Y + 1/2Z + 1 >= Y = Y 2nd(cons(X,X1)) = 2X + X1 + 2 >= 2X + X1 = 2nd(cons1(X,activate(X1))) from(X) = 2X + 3 >= 2X + 3 = cons(X,n__from(n__s(X))) from(X) = 2X + 3 >= 2X + 3 = n__from(X) s(X) = X + 1/2 >= X + 1/2 = n__s(X) activate(n__from(X)) = 2X + 3 >= 2X + 3 = from(activate(X)) activate(n__s(X)) = X + 1/2 >= X + 1/2 = s(activate(X)) activate(X) = X >= X = X problem: DPs: TRS: 2nd(cons1(X,cons(Y,Z))) -> Y 2nd(cons(X,X1)) -> 2nd(cons1(X,activate(X1))) from(X) -> cons(X,n__from(n__s(X))) from(X) -> n__from(X) s(X) -> n__s(X) activate(n__from(X)) -> from(activate(X)) activate(n__s(X)) -> s(activate(X)) activate(X) -> X Qed