(0) Obligation:

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

U62(tt) → s(length(L))
zeroscons(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(isNat)
isNattt
isNatU11(isNatList)
isNatU21(isNat)
isNatIListU31(isNatList)
isNatIListtt
isNatIListU41(isNat)
isNatListtt
isNatListU51(isNat)
length(nil) → 0
length(cons(N)) → U61(isNatList)