Problem:
 sel(0(),cons()) -> X
 sel(s(),cons()) -> sel(X,Z)
 dbl1(s()) -> s1(s1(dbl1(X)))
 sel1(0(),cons()) -> X
 sel1(s(),cons()) -> sel1(X,Z)
 quote(s()) -> s1(quote(X))
 dbl(0()) -> 0()
 dbl(s()) -> s()
 dbls(nil()) -> nil()
 dbls(cons()) -> cons()
 indx(nil()) -> nil()
 indx(cons()) -> cons()
 from() -> cons()
 dbl1(0()) -> 01()
 quote(0()) -> 01()
 quote(dbl(X)) -> dbl1(X)
 quote(sel(X,Y)) -> sel1(X,Y)

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