Problem:
 U12(tt()) -> s(length(L))
 U23(tt()) -> cons(N)
 zeros() -> cons(0())
 U11(tt()) -> U12(tt())
 U21(tt()) -> U22(tt())
 U22(tt()) -> U23(tt())
 length(nil()) -> 0()
 length(cons(N)) -> U11(tt())
 take(0(),IL) -> nil()
 take(s(M),cons(N)) -> U21(tt())

Proof:
 Fresh Variable Processor:
  loop length: 1
  terms:
   U12(tt())
  context: s(length([]))
  substitution:
   L -> U12(tt())
  Qed