(0) Obligation:

Generalized rewrite system (where rules with free variables on rhs are allowed):
The TRS R consists of the following rules:

U71(tt) → s(length(L))
U91(tt) → cons(N)
and(tt) → X
zeroscons(0)
U11(tt) → U12(isNatList)
U12(tt) → tt
U21(tt) → U22(isNat)
U22(tt) → tt
U31(tt) → U32(isNatList)
U32(tt) → tt
U41(tt) → U42(isNat)
U42(tt) → U43(isNatIList)
U43(tt) → tt
U51(tt) → U52(isNat)
U52(tt) → U53(isNatList)
U53(tt) → tt
U61(tt) → U62(isNat)
U62(tt) → U63(isNatIList)
U63(tt) → tt
U81(tt) → nil
isNattt
isNatU11(isNatIListKind)
isNatU21(isNatKind)
isNatIListU31(isNatIListKind)
isNatIListtt
isNatIListU41(and(isNatKind))
isNatIListKindtt
isNatIListKindand(isNatKind)
isNatKindtt
isNatKindisNatIListKind
isNatKindisNatKind
isNatListtt
isNatListU51(and(isNatKind))
isNatListU61(and(isNatKind))
length(nil) → 0
length(cons(N)) → U71(and(and(isNatList)))
take(0, IL) → U81(and(isNatIList))
take(s(M), cons(N)) → U91(and(and(isNatIList)))