Problem:
 sel(s(X),cons(Y)) -> sel(X,Z)
 from(X) -> cons(X)
 first(0(),Z) -> nil()
 first(s(X),cons(Y)) -> cons(Y)
 sel(0(),cons(X)) -> 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