Problem:
 U94(tt()) -> s(length(L))
 zeros() -> cons(0())
 U11(tt()) -> U12(isNatIListKind())
 U12(tt()) -> U13(isNatList())
 U13(tt()) -> tt()
 U21(tt()) -> U22(isNatKind())
 U22(tt()) -> U23(isNat())
 U23(tt()) -> tt()
 U31(tt()) -> U32(isNatIListKind())
 U32(tt()) -> U33(isNatList())
 U33(tt()) -> tt()
 U41(tt()) -> U42(isNatKind())
 U42(tt()) -> U43(isNatIListKind())
 U43(tt()) -> U44(isNatIListKind())
 U44(tt()) -> U45(isNat())
 U45(tt()) -> U46(isNatIList())
 U46(tt()) -> tt()
 U51(tt()) -> U52(isNatIListKind())
 U52(tt()) -> tt()
 U61(tt()) -> tt()
 U71(tt()) -> tt()
 U81(tt()) -> U82(isNatKind())
 U82(tt()) -> U83(isNatIListKind())
 U83(tt()) -> U84(isNatIListKind())
 U84(tt()) -> U85(isNat())
 U85(tt()) -> U86(isNatList())
 U86(tt()) -> tt()
 U91(tt()) -> U92(isNatIListKind())
 U92(tt()) -> U93(isNat())
 U93(tt()) -> U94(isNatKind())
 isNat() -> tt()
 isNat() -> U11(isNatIListKind())
 isNat() -> U21(isNatKind())
 isNatIList() -> U31(isNatIListKind())
 isNatIList() -> tt()
 isNatIList() -> U41(isNatKind())
 isNatIListKind() -> tt()
 isNatIListKind() -> U51(isNatKind())
 isNatKind() -> tt()
 isNatKind() -> U61(isNatIListKind())
 isNatKind() -> U71(isNatKind())
 isNatList() -> tt()
 isNatList() -> U81(isNatKind())
 length(nil()) -> 0()
 length(cons(N)) -> U91(isNatList())

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