Problem: sel(s(X),cons(Y,Z)) -> sel(X,Z) sel(0(),cons(X,Z)) -> X first(0(),Z) -> nil() first(s(X),cons(Y,Z)) -> cons(Y,first(X,Z)) from(X) -> cons(X,from(s(X))) sel1(s(X),cons(Y,Z)) -> sel1(X,Z) sel1(0(),cons(X,Z)) -> quote(X) first1(0(),Z) -> nil1() first1(s(X),cons(Y,Z)) -> cons1(quote(Y),first1(X,Z)) quote(0()) -> 01() quote1(cons(X,Z)) -> cons1(quote(X),quote1(Z)) quote1(nil()) -> nil1() quote(s(X)) -> s1(quote(X)) quote(sel(X,Z)) -> sel1(X,Z) quote1(first(X,Z)) -> first1(X,Z) unquote(01()) -> 0() unquote(s1(X)) -> s(unquote(X)) unquote1(nil1()) -> nil() unquote1(cons1(X,Z)) -> fcons(unquote(X),unquote1(Z)) fcons(X,Z) -> cons(X,Z) Proof: Containment Processor: loop length: 1 terms: from(X) context: cons(X,[]) substitution: X -> s(X) Qed