Problem:
 U72(tt()) -> s(length(L))
 U93(tt()) -> cons(N)
 zeros() -> cons(0())
 U11(tt()) -> tt()
 U21(tt()) -> tt()
 U31(tt()) -> tt()
 U41(tt()) -> U42(isNatIList())
 U42(tt()) -> tt()
 U51(tt()) -> U52(isNatList())
 U52(tt()) -> tt()
 U61(tt()) -> U62(isNatIList())
 U62(tt()) -> tt()
 U71(tt()) -> U72(isNat())
 U81(tt()) -> nil()
 U91(tt()) -> U92(isNat())
 U92(tt()) -> U93(isNat())
 isNat() -> tt()
 isNat() -> U11(isNatList())
 isNat() -> U21(isNat())
 isNatIList() -> U31(isNatList())
 isNatIList() -> tt()
 isNatIList() -> U41(isNat())
 isNatList() -> tt()
 isNatList() -> U51(isNat())
 isNatList() -> U61(isNat())
 length(nil()) -> 0()
 length(cons(N)) -> U71(isNatList())
 take(0(),IL) -> U81(isNatIList())
 take(s(M),cons(N)) -> U91(isNatIList())

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