Problem:
 U11(tt()) -> s(length(L))
 U31(tt()) -> cons(N)
 and(tt()) -> X
 zeros() -> cons(0())
 U21(tt()) -> nil()
 isNat() -> tt()
 isNat() -> isNatList()
 isNat() -> isNat()
 isNatIList() -> isNatList()
 isNatIList() -> tt()
 isNatIList() -> and(isNat())
 isNatList() -> tt()
 isNatList() -> and(isNat())
 length(nil()) -> 0()
 length(cons(N)) -> U11(and(isNatList()))
 take(0(),IL) -> U21(isNatIList())
 take(s(M),cons(N)) -> U31(and(isNatIList()))

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