YES Problem: from(X) -> cons(X,n__from(n__s(X))) first(0(),Z) -> nil() first(s(X),cons(Y,Z)) -> cons(Y,n__first(X,activate(Z))) sel(0(),cons(X,Z)) -> X sel(s(X),cons(Y,Z)) -> sel(X,activate(Z)) from(X) -> n__from(X) s(X) -> n__s(X) first(X1,X2) -> n__first(X1,X2) activate(n__from(X)) -> from(activate(X)) activate(n__s(X)) -> s(activate(X)) activate(n__first(X1,X2)) -> first(activate(X1),activate(X2)) activate(X) -> X Proof: WPO Processor: algebra: Max weight function: w0 = 0 w(sel) = 6 w(n__first) = w(first) = w(0) = 5 w(activate) = 4 w(cons) = w(n__from) = w(from) = 1 w(s) = w(nil) = w(n__s) = 0 status function: st(sel) = st(n__first) = [0, 1] st(activate) = st(s) = [0] st(nil) = [] st(first) = [0, 1] st(0) = [] st(cons) = [0, 1] st(n__from) = st(n__s) = st(from) = [0] subterm penalty function: sp(sel, 1) = 2 sp(sel, 0) = sp(n__first, 1) = sp(first, 1) = 1 sp(n__first, 0) = sp(activate, 0) = sp(s, 0) = sp(first, 0) = sp(cons, 1) = sp( cons, 0) = sp(n__from, 0) = sp(n__s, 0) = sp(from, 0) = 0 precedence: activate > first ~ from > s > sel ~ n__first ~ nil ~ 0 ~ cons ~ n__from ~ n__s problem: Qed