Problem:
 sel(0(),cons()) -> X
 sel(s(),cons()) -> sel(X,Z)
 dbl(0()) -> 0()
 dbl(s()) -> s()
 dbls(nil()) -> nil()
 dbls(cons()) -> cons()
 indx(nil()) -> nil()
 indx(cons()) -> cons()
 from() -> cons()

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