Problem:
 tail(cons(X)) -> L
 incr(nil()) -> nil()
 incr(cons(X)) -> cons(s(X))
 adx(nil()) -> nil()
 adx(cons(X)) -> incr(cons(X))
 nats() -> adx(zeros())
 zeros() -> cons(0())
 head(cons(X)) -> X

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