Problem:
 sel(s(X),cons(Y)) -> sel(X,Z)
 sel1(s(X),cons(Y)) -> sel1(X,Z)
 first1(s(X),cons(Y)) -> cons1(quote(),first1(X,Z))
 quote() -> sel1(X,Z)
 quote1() -> first1(X,Z)
 sel(0(),cons(X)) -> X
 first(0(),Z) -> nil()
 first(s(X),cons(Y)) -> cons(Y)
 from(X) -> cons(X)
 sel1(0(),cons(X)) -> quote()
 first1(0(),Z) -> nil1()
 quote() -> 01()
 quote1() -> cons1(quote(),quote1())
 quote1() -> nil1()
 quote() -> s1(quote())
 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)

Proof:
 Fresh Variable Processor:
  loop length: 1
  terms:
   sel(s(X),cons(Y))
  context: sel(X,[])
  substitution:
   Z -> sel(s(X),cons(Y))
  Qed