MAYBE

Problem:
 zeros() -> cons(0(),n__zeros())
 U11(tt(),V1) -> U12(isNatList(activate(V1)))
 U12(tt()) -> tt()
 U21(tt(),V1) -> U22(isNat(activate(V1)))
 U22(tt()) -> tt()
 U31(tt(),V) -> U32(isNatList(activate(V)))
 U32(tt()) -> tt()
 U41(tt(),V1,V2) -> U42(isNat(activate(V1)),activate(V2))
 U42(tt(),V2) -> U43(isNatIList(activate(V2)))
 U43(tt()) -> tt()
 U51(tt(),V1,V2) -> U52(isNat(activate(V1)),activate(V2))
 U52(tt(),V2) -> U53(isNatList(activate(V2)))
 U53(tt()) -> tt()
 U61(tt(),V1,V2) -> U62(isNat(activate(V1)),activate(V2))
 U62(tt(),V2) -> U63(isNatIList(activate(V2)))
 U63(tt()) -> tt()
 U71(tt(),L) -> s(length(activate(L)))
 U81(tt()) -> nil()
 U91(tt(),IL,M,N) -> cons(activate(N),n__take(activate(M),activate(IL)))
 and(tt(),X) -> activate(X)
 isNat(n__0()) -> tt()
 isNat(n__length(V1)) -> U11(isNatIListKind(activate(V1)),activate(V1))
 isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1))
 isNatIList(V) -> U31(isNatIListKind(activate(V)),activate(V))
 isNatIList(n__zeros()) -> tt()
 isNatIList(n__cons(V1,V2)) ->
 U41(and(isNatKind(activate(V1)),n__isNatIListKind(activate(V2))),activate(V1),activate(V2))
 isNatIListKind(n__nil()) -> tt()
 isNatIListKind(n__zeros()) -> tt()
 isNatIListKind(n__cons(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatIListKind(activate(V2)))
 isNatIListKind(n__take(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatIListKind(activate(V2)))
 isNatKind(n__0()) -> tt()
 isNatKind(n__length(V1)) -> isNatIListKind(activate(V1))
 isNatKind(n__s(V1)) -> isNatKind(activate(V1))
 isNatList(n__nil()) -> tt()
 isNatList(n__cons(V1,V2)) ->
 U51(and(isNatKind(activate(V1)),n__isNatIListKind(activate(V2))),activate(V1),activate(V2))
 isNatList(n__take(V1,V2)) ->
 U61(and(isNatKind(activate(V1)),n__isNatIListKind(activate(V2))),activate(V1),activate(V2))
 length(nil()) -> 0()
 length(cons(N,L)) ->
 U71(and(and(isNatList(activate(L)),n__isNatIListKind(activate(L))),n__and
                                                                    (
                                                                    isNat(N),n__isNatKind(N))),
     activate(L))
 take(0(),IL) -> U81(and(isNatIList(IL),n__isNatIListKind(IL)))
 take(s(M),cons(N,IL)) ->
 U91(and(and(isNatIList(activate(IL)),n__isNatIListKind(activate(IL))),
         n__and(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N)))),
     activate(IL),M,N)
 zeros() -> n__zeros()
 take(X1,X2) -> n__take(X1,X2)
 0() -> n__0()
 length(X) -> n__length(X)
 s(X) -> n__s(X)
 cons(X1,X2) -> n__cons(X1,X2)
 isNatIListKind(X) -> n__isNatIListKind(X)
 nil() -> n__nil()
 and(X1,X2) -> n__and(X1,X2)
 isNatKind(X) -> n__isNatKind(X)
 activate(n__zeros()) -> zeros()
 activate(n__take(X1,X2)) -> take(X1,X2)
 activate(n__0()) -> 0()
 activate(n__length(X)) -> length(X)
 activate(n__s(X)) -> s(X)
 activate(n__cons(X1,X2)) -> cons(X1,X2)
 activate(n__isNatIListKind(X)) -> isNatIListKind(X)
 activate(n__nil()) -> nil()
 activate(n__and(X1,X2)) -> and(X1,X2)
 activate(n__isNatKind(X)) -> isNatKind(X)
 activate(X) -> X

Proof:
 DP Processor:
  DPs:
   zeros#() -> 0#()
   zeros#() -> cons#(0(),n__zeros())
   U11#(tt(),V1) -> activate#(V1)
   U11#(tt(),V1) -> isNatList#(activate(V1))
   U11#(tt(),V1) -> U12#(isNatList(activate(V1)))
   U21#(tt(),V1) -> activate#(V1)
   U21#(tt(),V1) -> isNat#(activate(V1))
   U21#(tt(),V1) -> U22#(isNat(activate(V1)))
   U31#(tt(),V) -> activate#(V)
   U31#(tt(),V) -> isNatList#(activate(V))
   U31#(tt(),V) -> U32#(isNatList(activate(V)))
   U41#(tt(),V1,V2) -> activate#(V2)
   U41#(tt(),V1,V2) -> activate#(V1)
   U41#(tt(),V1,V2) -> isNat#(activate(V1))
   U41#(tt(),V1,V2) -> U42#(isNat(activate(V1)),activate(V2))
   U42#(tt(),V2) -> activate#(V2)
   U42#(tt(),V2) -> isNatIList#(activate(V2))
   U42#(tt(),V2) -> U43#(isNatIList(activate(V2)))
   U51#(tt(),V1,V2) -> activate#(V2)
   U51#(tt(),V1,V2) -> activate#(V1)
   U51#(tt(),V1,V2) -> isNat#(activate(V1))
   U51#(tt(),V1,V2) -> U52#(isNat(activate(V1)),activate(V2))
   U52#(tt(),V2) -> activate#(V2)
   U52#(tt(),V2) -> isNatList#(activate(V2))
   U52#(tt(),V2) -> U53#(isNatList(activate(V2)))
   U61#(tt(),V1,V2) -> activate#(V2)
   U61#(tt(),V1,V2) -> activate#(V1)
   U61#(tt(),V1,V2) -> isNat#(activate(V1))
   U61#(tt(),V1,V2) -> U62#(isNat(activate(V1)),activate(V2))
   U62#(tt(),V2) -> activate#(V2)
   U62#(tt(),V2) -> isNatIList#(activate(V2))
   U62#(tt(),V2) -> U63#(isNatIList(activate(V2)))
   U71#(tt(),L) -> activate#(L)
   U71#(tt(),L) -> length#(activate(L))
   U71#(tt(),L) -> s#(length(activate(L)))
   U81#(tt()) -> nil#()
   U91#(tt(),IL,M,N) -> activate#(IL)
   U91#(tt(),IL,M,N) -> activate#(M)
   U91#(tt(),IL,M,N) -> activate#(N)
   U91#(tt(),IL,M,N) -> cons#(activate(N),n__take(activate(M),activate(IL)))
   and#(tt(),X) -> activate#(X)
   isNat#(n__length(V1)) -> activate#(V1)
   isNat#(n__length(V1)) -> isNatIListKind#(activate(V1))
   isNat#(n__length(V1)) -> U11#(isNatIListKind(activate(V1)),activate(V1))
   isNat#(n__s(V1)) -> activate#(V1)
   isNat#(n__s(V1)) -> isNatKind#(activate(V1))
   isNat#(n__s(V1)) -> U21#(isNatKind(activate(V1)),activate(V1))
   isNatIList#(V) -> activate#(V)
   isNatIList#(V) -> isNatIListKind#(activate(V))
   isNatIList#(V) -> U31#(isNatIListKind(activate(V)),activate(V))
   isNatIList#(n__cons(V1,V2)) -> activate#(V2)
   isNatIList#(n__cons(V1,V2)) -> activate#(V1)
   isNatIList#(n__cons(V1,V2)) -> isNatKind#(activate(V1))
   isNatIList#(n__cons(V1,V2)) -> and#(isNatKind(activate(V1)),n__isNatIListKind(activate(V2)))
   isNatIList#(n__cons(V1,V2)) ->
   U41#(and(isNatKind(activate(V1)),n__isNatIListKind(activate(V2))),activate(V1),activate(V2))
   isNatIListKind#(n__cons(V1,V2)) -> activate#(V2)
   isNatIListKind#(n__cons(V1,V2)) -> activate#(V1)
   isNatIListKind#(n__cons(V1,V2)) -> isNatKind#(activate(V1))
   isNatIListKind#(n__cons(V1,V2)) -> and#(isNatKind(activate(V1)),n__isNatIListKind(activate(V2)))
   isNatIListKind#(n__take(V1,V2)) -> activate#(V2)
   isNatIListKind#(n__take(V1,V2)) -> activate#(V1)
   isNatIListKind#(n__take(V1,V2)) -> isNatKind#(activate(V1))
   isNatIListKind#(n__take(V1,V2)) -> and#(isNatKind(activate(V1)),n__isNatIListKind(activate(V2)))
   isNatKind#(n__length(V1)) -> activate#(V1)
   isNatKind#(n__length(V1)) -> isNatIListKind#(activate(V1))
   isNatKind#(n__s(V1)) -> activate#(V1)
   isNatKind#(n__s(V1)) -> isNatKind#(activate(V1))
   isNatList#(n__cons(V1,V2)) -> activate#(V2)
   isNatList#(n__cons(V1,V2)) -> activate#(V1)
   isNatList#(n__cons(V1,V2)) -> isNatKind#(activate(V1))
   isNatList#(n__cons(V1,V2)) -> and#(isNatKind(activate(V1)),n__isNatIListKind(activate(V2)))
   isNatList#(n__cons(V1,V2)) ->
   U51#(and(isNatKind(activate(V1)),n__isNatIListKind(activate(V2))),activate(V1),activate(V2))
   isNatList#(n__take(V1,V2)) -> activate#(V2)
   isNatList#(n__take(V1,V2)) -> activate#(V1)
   isNatList#(n__take(V1,V2)) -> isNatKind#(activate(V1))
   isNatList#(n__take(V1,V2)) -> and#(isNatKind(activate(V1)),n__isNatIListKind(activate(V2)))
   isNatList#(n__take(V1,V2)) ->
   U61#(and(isNatKind(activate(V1)),n__isNatIListKind(activate(V2))),activate(V1),activate(V2))
   length#(nil()) -> 0#()
   length#(cons(N,L)) -> isNat#(N)
   length#(cons(N,L)) -> activate#(L)
   length#(cons(N,L)) -> isNatList#(activate(L))
   length#(cons(N,L)) -> and#(isNatList(activate(L)),n__isNatIListKind(activate(L)))
   length#(cons(N,L)) ->
   and#(and(isNatList(activate(L)),n__isNatIListKind(activate(L))),n__and(isNat(N),n__isNatKind(N)))
   length#(cons(N,L)) ->
   U71#(and(and(isNatList(activate(L)),n__isNatIListKind(activate(L))),
            n__and(isNat(N),n__isNatKind(N))),activate(L))
   take#(0(),IL) -> isNatIList#(IL)
   take#(0(),IL) -> and#(isNatIList(IL),n__isNatIListKind(IL))
   take#(0(),IL) -> U81#(and(isNatIList(IL),n__isNatIListKind(IL)))
   take#(s(M),cons(N,IL)) -> isNat#(N)
   take#(s(M),cons(N,IL)) -> isNat#(M)
   take#(s(M),cons(N,IL)) -> and#(isNat(M),n__isNatKind(M))
   take#(s(M),cons(N,IL)) -> activate#(IL)
   take#(s(M),cons(N,IL)) -> isNatIList#(activate(IL))
   take#(s(M),cons(N,IL)) -> and#(isNatIList(activate(IL)),n__isNatIListKind(activate(IL)))
   take#(s(M),cons(N,IL)) ->
   and#(and(isNatIList(activate(IL)),n__isNatIListKind(activate(IL))),
        n__and(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))))
   take#(s(M),cons(N,IL)) ->
   U91#(and(and(isNatIList(activate(IL)),n__isNatIListKind(activate(IL))),
            n__and(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N)))),
        activate(IL),M,N)
   activate#(n__zeros()) -> zeros#()
   activate#(n__take(X1,X2)) -> take#(X1,X2)
   activate#(n__0()) -> 0#()
   activate#(n__length(X)) -> length#(X)
   activate#(n__s(X)) -> s#(X)
   activate#(n__cons(X1,X2)) -> cons#(X1,X2)
   activate#(n__isNatIListKind(X)) -> isNatIListKind#(X)
   activate#(n__nil()) -> nil#()
   activate#(n__and(X1,X2)) -> and#(X1,X2)
   activate#(n__isNatKind(X)) -> isNatKind#(X)
  TRS:
   zeros() -> cons(0(),n__zeros())
   U11(tt(),V1) -> U12(isNatList(activate(V1)))
   U12(tt()) -> tt()
   U21(tt(),V1) -> U22(isNat(activate(V1)))
   U22(tt()) -> tt()
   U31(tt(),V) -> U32(isNatList(activate(V)))
   U32(tt()) -> tt()
   U41(tt(),V1,V2) -> U42(isNat(activate(V1)),activate(V2))
   U42(tt(),V2) -> U43(isNatIList(activate(V2)))
   U43(tt()) -> tt()
   U51(tt(),V1,V2) -> U52(isNat(activate(V1)),activate(V2))
   U52(tt(),V2) -> U53(isNatList(activate(V2)))
   U53(tt()) -> tt()
   U61(tt(),V1,V2) -> U62(isNat(activate(V1)),activate(V2))
   U62(tt(),V2) -> U63(isNatIList(activate(V2)))
   U63(tt()) -> tt()
   U71(tt(),L) -> s(length(activate(L)))
   U81(tt()) -> nil()
   U91(tt(),IL,M,N) -> cons(activate(N),n__take(activate(M),activate(IL)))
   and(tt(),X) -> activate(X)
   isNat(n__0()) -> tt()
   isNat(n__length(V1)) -> U11(isNatIListKind(activate(V1)),activate(V1))
   isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1))
   isNatIList(V) -> U31(isNatIListKind(activate(V)),activate(V))
   isNatIList(n__zeros()) -> tt()
   isNatIList(n__cons(V1,V2)) ->
   U41(and(isNatKind(activate(V1)),n__isNatIListKind(activate(V2))),activate(V1),activate(V2))
   isNatIListKind(n__nil()) -> tt()
   isNatIListKind(n__zeros()) -> tt()
   isNatIListKind(n__cons(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatIListKind(activate(V2)))
   isNatIListKind(n__take(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatIListKind(activate(V2)))
   isNatKind(n__0()) -> tt()
   isNatKind(n__length(V1)) -> isNatIListKind(activate(V1))
   isNatKind(n__s(V1)) -> isNatKind(activate(V1))
   isNatList(n__nil()) -> tt()
   isNatList(n__cons(V1,V2)) ->
   U51(and(isNatKind(activate(V1)),n__isNatIListKind(activate(V2))),activate(V1),activate(V2))
   isNatList(n__take(V1,V2)) ->
   U61(and(isNatKind(activate(V1)),n__isNatIListKind(activate(V2))),activate(V1),activate(V2))
   length(nil()) -> 0()
   length(cons(N,L)) ->
   U71(and(and(isNatList(activate(L)),n__isNatIListKind(activate(L))),
           n__and(isNat(N),n__isNatKind(N))),activate(L))
   take(0(),IL) -> U81(and(isNatIList(IL),n__isNatIListKind(IL)))
   take(s(M),cons(N,IL)) ->
   U91(and(and(isNatIList(activate(IL)),n__isNatIListKind(activate(IL))),
           n__and(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N)))),
       activate(IL),M,N)
   zeros() -> n__zeros()
   take(X1,X2) -> n__take(X1,X2)
   0() -> n__0()
   length(X) -> n__length(X)
   s(X) -> n__s(X)
   cons(X1,X2) -> n__cons(X1,X2)
   isNatIListKind(X) -> n__isNatIListKind(X)
   nil() -> n__nil()
   and(X1,X2) -> n__and(X1,X2)
   isNatKind(X) -> n__isNatKind(X)
   activate(n__zeros()) -> zeros()
   activate(n__take(X1,X2)) -> take(X1,X2)
   activate(n__0()) -> 0()
   activate(n__length(X)) -> length(X)
   activate(n__s(X)) -> s(X)
   activate(n__cons(X1,X2)) -> cons(X1,X2)
   activate(n__isNatIListKind(X)) -> isNatIListKind(X)
   activate(n__nil()) -> nil()
   activate(n__and(X1,X2)) -> and(X1,X2)
   activate(n__isNatKind(X)) -> isNatKind(X)
   activate(X) -> X
  TDG Processor:
   DPs:
    zeros#() -> 0#()
    zeros#() -> cons#(0(),n__zeros())
    U11#(tt(),V1) -> activate#(V1)
    U11#(tt(),V1) -> isNatList#(activate(V1))
    U11#(tt(),V1) -> U12#(isNatList(activate(V1)))
    U21#(tt(),V1) -> activate#(V1)
    U21#(tt(),V1) -> isNat#(activate(V1))
    U21#(tt(),V1) -> U22#(isNat(activate(V1)))
    U31#(tt(),V) -> activate#(V)
    U31#(tt(),V) -> isNatList#(activate(V))
    U31#(tt(),V) -> U32#(isNatList(activate(V)))
    U41#(tt(),V1,V2) -> activate#(V2)
    U41#(tt(),V1,V2) -> activate#(V1)
    U41#(tt(),V1,V2) -> isNat#(activate(V1))
    U41#(tt(),V1,V2) -> U42#(isNat(activate(V1)),activate(V2))
    U42#(tt(),V2) -> activate#(V2)
    U42#(tt(),V2) -> isNatIList#(activate(V2))
    U42#(tt(),V2) -> U43#(isNatIList(activate(V2)))
    U51#(tt(),V1,V2) -> activate#(V2)
    U51#(tt(),V1,V2) -> activate#(V1)
    U51#(tt(),V1,V2) -> isNat#(activate(V1))
    U51#(tt(),V1,V2) -> U52#(isNat(activate(V1)),activate(V2))
    U52#(tt(),V2) -> activate#(V2)
    U52#(tt(),V2) -> isNatList#(activate(V2))
    U52#(tt(),V2) -> U53#(isNatList(activate(V2)))
    U61#(tt(),V1,V2) -> activate#(V2)
    U61#(tt(),V1,V2) -> activate#(V1)
    U61#(tt(),V1,V2) -> isNat#(activate(V1))
    U61#(tt(),V1,V2) -> U62#(isNat(activate(V1)),activate(V2))
    U62#(tt(),V2) -> activate#(V2)
    U62#(tt(),V2) -> isNatIList#(activate(V2))
    U62#(tt(),V2) -> U63#(isNatIList(activate(V2)))
    U71#(tt(),L) -> activate#(L)
    U71#(tt(),L) -> length#(activate(L))
    U71#(tt(),L) -> s#(length(activate(L)))
    U81#(tt()) -> nil#()
    U91#(tt(),IL,M,N) -> activate#(IL)
    U91#(tt(),IL,M,N) -> activate#(M)
    U91#(tt(),IL,M,N) -> activate#(N)
    U91#(tt(),IL,M,N) -> cons#(activate(N),n__take(activate(M),activate(IL)))
    and#(tt(),X) -> activate#(X)
    isNat#(n__length(V1)) -> activate#(V1)
    isNat#(n__length(V1)) -> isNatIListKind#(activate(V1))
    isNat#(n__length(V1)) -> U11#(isNatIListKind(activate(V1)),activate(V1))
    isNat#(n__s(V1)) -> activate#(V1)
    isNat#(n__s(V1)) -> isNatKind#(activate(V1))
    isNat#(n__s(V1)) -> U21#(isNatKind(activate(V1)),activate(V1))
    isNatIList#(V) -> activate#(V)
    isNatIList#(V) -> isNatIListKind#(activate(V))
    isNatIList#(V) -> U31#(isNatIListKind(activate(V)),activate(V))
    isNatIList#(n__cons(V1,V2)) -> activate#(V2)
    isNatIList#(n__cons(V1,V2)) -> activate#(V1)
    isNatIList#(n__cons(V1,V2)) -> isNatKind#(activate(V1))
    isNatIList#(n__cons(V1,V2)) -> and#(isNatKind(activate(V1)),n__isNatIListKind(activate(V2)))
    isNatIList#(n__cons(V1,V2)) ->
    U41#(and(isNatKind(activate(V1)),n__isNatIListKind(activate(V2))),activate(V1),activate(V2))
    isNatIListKind#(n__cons(V1,V2)) -> activate#(V2)
    isNatIListKind#(n__cons(V1,V2)) -> activate#(V1)
    isNatIListKind#(n__cons(V1,V2)) -> isNatKind#(activate(V1))
    isNatIListKind#(n__cons(V1,V2)) ->
    and#(isNatKind(activate(V1)),n__isNatIListKind(activate(V2)))
    isNatIListKind#(n__take(V1,V2)) -> activate#(V2)
    isNatIListKind#(n__take(V1,V2)) -> activate#(V1)
    isNatIListKind#(n__take(V1,V2)) -> isNatKind#(activate(V1))
    isNatIListKind#(n__take(V1,V2)) ->
    and#(isNatKind(activate(V1)),n__isNatIListKind(activate(V2)))
    isNatKind#(n__length(V1)) -> activate#(V1)
    isNatKind#(n__length(V1)) -> isNatIListKind#(activate(V1))
    isNatKind#(n__s(V1)) -> activate#(V1)
    isNatKind#(n__s(V1)) -> isNatKind#(activate(V1))
    isNatList#(n__cons(V1,V2)) -> activate#(V2)
    isNatList#(n__cons(V1,V2)) -> activate#(V1)
    isNatList#(n__cons(V1,V2)) -> isNatKind#(activate(V1))
    isNatList#(n__cons(V1,V2)) -> and#(isNatKind(activate(V1)),n__isNatIListKind(activate(V2)))
    isNatList#(n__cons(V1,V2)) ->
    U51#(and(isNatKind(activate(V1)),n__isNatIListKind(activate(V2))),activate(V1),activate(V2))
    isNatList#(n__take(V1,V2)) -> activate#(V2)
    isNatList#(n__take(V1,V2)) -> activate#(V1)
    isNatList#(n__take(V1,V2)) -> isNatKind#(activate(V1))
    isNatList#(n__take(V1,V2)) -> and#(isNatKind(activate(V1)),n__isNatIListKind(activate(V2)))
    isNatList#(n__take(V1,V2)) ->
    U61#(and(isNatKind(activate(V1)),n__isNatIListKind(activate(V2))),activate(V1),activate(V2))
    length#(nil()) -> 0#()
    length#(cons(N,L)) -> isNat#(N)
    length#(cons(N,L)) -> activate#(L)
    length#(cons(N,L)) -> isNatList#(activate(L))
    length#(cons(N,L)) -> and#(isNatList(activate(L)),n__isNatIListKind(activate(L)))
    length#(cons(N,L)) ->
    and#(and(isNatList(activate(L)),n__isNatIListKind(activate(L))),n__and
                                                                    (
                                                                    isNat(N),n__isNatKind(N)))
    length#(cons(N,L)) ->
    U71#(and(and(isNatList(activate(L)),n__isNatIListKind(activate(L))),
             n__and(isNat(N),n__isNatKind(N))),activate(L))
    take#(0(),IL) -> isNatIList#(IL)
    take#(0(),IL) -> and#(isNatIList(IL),n__isNatIListKind(IL))
    take#(0(),IL) -> U81#(and(isNatIList(IL),n__isNatIListKind(IL)))
    take#(s(M),cons(N,IL)) -> isNat#(N)
    take#(s(M),cons(N,IL)) -> isNat#(M)
    take#(s(M),cons(N,IL)) -> and#(isNat(M),n__isNatKind(M))
    take#(s(M),cons(N,IL)) -> activate#(IL)
    take#(s(M),cons(N,IL)) -> isNatIList#(activate(IL))
    take#(s(M),cons(N,IL)) -> and#(isNatIList(activate(IL)),n__isNatIListKind(activate(IL)))
    take#(s(M),cons(N,IL)) ->
    and#(and(isNatIList(activate(IL)),n__isNatIListKind(activate(IL))),
         n__and(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))))
    take#(s(M),cons(N,IL)) ->
    U91#(and(and(isNatIList(activate(IL)),n__isNatIListKind(activate(IL))),
             n__and(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N)))),
         activate(IL),M,N)
    activate#(n__zeros()) -> zeros#()
    activate#(n__take(X1,X2)) -> take#(X1,X2)
    activate#(n__0()) -> 0#()
    activate#(n__length(X)) -> length#(X)
    activate#(n__s(X)) -> s#(X)
    activate#(n__cons(X1,X2)) -> cons#(X1,X2)
    activate#(n__isNatIListKind(X)) -> isNatIListKind#(X)
    activate#(n__nil()) -> nil#()
    activate#(n__and(X1,X2)) -> and#(X1,X2)
    activate#(n__isNatKind(X)) -> isNatKind#(X)
   TRS:
    zeros() -> cons(0(),n__zeros())
    U11(tt(),V1) -> U12(isNatList(activate(V1)))
    U12(tt()) -> tt()
    U21(tt(),V1) -> U22(isNat(activate(V1)))
    U22(tt()) -> tt()
    U31(tt(),V) -> U32(isNatList(activate(V)))
    U32(tt()) -> tt()
    U41(tt(),V1,V2) -> U42(isNat(activate(V1)),activate(V2))
    U42(tt(),V2) -> U43(isNatIList(activate(V2)))
    U43(tt()) -> tt()
    U51(tt(),V1,V2) -> U52(isNat(activate(V1)),activate(V2))
    U52(tt(),V2) -> U53(isNatList(activate(V2)))
    U53(tt()) -> tt()
    U61(tt(),V1,V2) -> U62(isNat(activate(V1)),activate(V2))
    U62(tt(),V2) -> U63(isNatIList(activate(V2)))
    U63(tt()) -> tt()
    U71(tt(),L) -> s(length(activate(L)))
    U81(tt()) -> nil()
    U91(tt(),IL,M,N) -> cons(activate(N),n__take(activate(M),activate(IL)))
    and(tt(),X) -> activate(X)
    isNat(n__0()) -> tt()
    isNat(n__length(V1)) -> U11(isNatIListKind(activate(V1)),activate(V1))
    isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1))
    isNatIList(V) -> U31(isNatIListKind(activate(V)),activate(V))
    isNatIList(n__zeros()) -> tt()
    isNatIList(n__cons(V1,V2)) ->
    U41(and(isNatKind(activate(V1)),n__isNatIListKind(activate(V2))),activate(V1),activate(V2))
    isNatIListKind(n__nil()) -> tt()
    isNatIListKind(n__zeros()) -> tt()
    isNatIListKind(n__cons(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatIListKind(activate(V2)))
    isNatIListKind(n__take(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatIListKind(activate(V2)))
    isNatKind(n__0()) -> tt()
    isNatKind(n__length(V1)) -> isNatIListKind(activate(V1))
    isNatKind(n__s(V1)) -> isNatKind(activate(V1))
    isNatList(n__nil()) -> tt()
    isNatList(n__cons(V1,V2)) ->
    U51(and(isNatKind(activate(V1)),n__isNatIListKind(activate(V2))),activate(V1),activate(V2))
    isNatList(n__take(V1,V2)) ->
    U61(and(isNatKind(activate(V1)),n__isNatIListKind(activate(V2))),activate(V1),activate(V2))
    length(nil()) -> 0()
    length(cons(N,L)) ->
    U71(and(and(isNatList(activate(L)),n__isNatIListKind(activate(L))),
            n__and(isNat(N),n__isNatKind(N))),activate(L))
    take(0(),IL) -> U81(and(isNatIList(IL),n__isNatIListKind(IL)))
    take(s(M),cons(N,IL)) ->
    U91(and(and(isNatIList(activate(IL)),n__isNatIListKind(activate(IL))),
            n__and(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N)))),
        activate(IL),M,N)
    zeros() -> n__zeros()
    take(X1,X2) -> n__take(X1,X2)
    0() -> n__0()
    length(X) -> n__length(X)
    s(X) -> n__s(X)
    cons(X1,X2) -> n__cons(X1,X2)
    isNatIListKind(X) -> n__isNatIListKind(X)
    nil() -> n__nil()
    and(X1,X2) -> n__and(X1,X2)
    isNatKind(X) -> n__isNatKind(X)
    activate(n__zeros()) -> zeros()
    activate(n__take(X1,X2)) -> take(X1,X2)
    activate(n__0()) -> 0()
    activate(n__length(X)) -> length(X)
    activate(n__s(X)) -> s(X)
    activate(n__cons(X1,X2)) -> cons(X1,X2)
    activate(n__isNatIListKind(X)) -> isNatIListKind(X)
    activate(n__nil()) -> nil()
    activate(n__and(X1,X2)) -> and(X1,X2)
    activate(n__isNatKind(X)) -> isNatKind(X)
    activate(X) -> X
   graph:
    take#(s(M),cons(N,IL)) ->
    and#(and(isNatIList(activate(IL)),n__isNatIListKind(activate(IL))),
         n__and(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))))
    ->
    and#(tt(),X) -> activate#(X)
    take#(s(M),cons(N,IL)) -> and#(isNatIList(activate(IL)),n__isNatIListKind(activate(IL))) ->
    and#(tt(),X) -> activate#(X)
    take#(s(M),cons(N,IL)) -> and#(isNat(M),n__isNatKind(M)) ->
    and#(tt(),X) -> activate#(X)
    take#(s(M),cons(N,IL)) ->
    U91#(and(and(isNatIList(activate(IL)),n__isNatIListKind(activate(IL))),
             n__and(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N)))),
         activate(IL),M,N)
    ->
    U91#(tt(),IL,M,N) -> cons#(activate(N),n__take(activate(M),activate(IL)))
    take#(s(M),cons(N,IL)) ->
    U91#(and(and(isNatIList(activate(IL)),n__isNatIListKind(activate(IL))),
             n__and(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N)))),
         activate(IL),M,N)
    ->
    U91#(tt(),IL,M,N) -> activate#(N)
    take#(s(M),cons(N,IL)) ->
    U91#(and(and(isNatIList(activate(IL)),n__isNatIListKind(activate(IL))),
             n__and(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N)))),
         activate(IL),M,N)
    ->
    U91#(tt(),IL,M,N) -> activate#(M)
    take#(s(M),cons(N,IL)) ->
    U91#(and(and(isNatIList(activate(IL)),n__isNatIListKind(activate(IL))),
             n__and(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N)))),
         activate(IL),M,N)
    -> U91#(tt(),IL,M,N) -> activate#(IL)
    take#(s(M),cons(N,IL)) -> isNatIList#(activate(IL)) ->
    isNatIList#(n__cons(V1,V2)) ->
    U41#(and(isNatKind(activate(V1)),n__isNatIListKind(activate(V2))),activate(V1),activate(V2))
    take#(s(M),cons(N,IL)) -> isNatIList#(activate(IL)) ->
    isNatIList#(n__cons(V1,V2)) -> and#(isNatKind(activate(V1)),n__isNatIListKind(activate(V2)))
    take#(s(M),cons(N,IL)) -> isNatIList#(activate(IL)) ->
    isNatIList#(n__cons(V1,V2)) -> isNatKind#(activate(V1))
    take#(s(M),cons(N,IL)) -> isNatIList#(activate(IL)) ->
    isNatIList#(n__cons(V1,V2)) -> activate#(V1)
    take#(s(M),cons(N,IL)) -> isNatIList#(activate(IL)) ->
    isNatIList#(n__cons(V1,V2)) -> activate#(V2)
    take#(s(M),cons(N,IL)) -> isNatIList#(activate(IL)) ->
    isNatIList#(V) -> U31#(isNatIListKind(activate(V)),activate(V))
    take#(s(M),cons(N,IL)) -> isNatIList#(activate(IL)) ->
    isNatIList#(V) -> isNatIListKind#(activate(V))
    take#(s(M),cons(N,IL)) -> isNatIList#(activate(IL)) ->
    isNatIList#(V) -> activate#(V)
    take#(s(M),cons(N,IL)) -> isNat#(N) ->
    isNat#(n__s(V1)) -> U21#(isNatKind(activate(V1)),activate(V1))
    take#(s(M),cons(N,IL)) -> isNat#(N) ->
    isNat#(n__s(V1)) -> isNatKind#(activate(V1))
    take#(s(M),cons(N,IL)) -> isNat#(N) ->
    isNat#(n__s(V1)) -> activate#(V1)
    take#(s(M),cons(N,IL)) -> isNat#(N) ->
    isNat#(n__length(V1)) -> U11#(isNatIListKind(activate(V1)),activate(V1))
    take#(s(M),cons(N,IL)) -> isNat#(N) ->
    isNat#(n__length(V1)) -> isNatIListKind#(activate(V1))
    take#(s(M),cons(N,IL)) -> isNat#(N) ->
    isNat#(n__length(V1)) -> activate#(V1)
    take#(s(M),cons(N,IL)) -> isNat#(M) ->
    isNat#(n__s(V1)) -> U21#(isNatKind(activate(V1)),activate(V1))
    take#(s(M),cons(N,IL)) -> isNat#(M) ->
    isNat#(n__s(V1)) -> isNatKind#(activate(V1))
    take#(s(M),cons(N,IL)) -> isNat#(M) ->
    isNat#(n__s(V1)) -> activate#(V1)
    take#(s(M),cons(N,IL)) -> isNat#(M) ->
    isNat#(n__length(V1)) -> U11#(isNatIListKind(activate(V1)),activate(V1))
    take#(s(M),cons(N,IL)) -> isNat#(M) ->
    isNat#(n__length(V1)) -> isNatIListKind#(activate(V1))
    take#(s(M),cons(N,IL)) -> isNat#(M) ->
    isNat#(n__length(V1)) -> activate#(V1)
    take#(s(M),cons(N,IL)) -> activate#(IL) ->
    activate#(n__isNatKind(X)) -> isNatKind#(X)
    take#(s(M),cons(N,IL)) -> activate#(IL) ->
    activate#(n__and(X1,X2)) -> and#(X1,X2)
    take#(s(M),cons(N,IL)) -> activate#(IL) ->
    activate#(n__nil()) -> nil#()
    take#(s(M),cons(N,IL)) -> activate#(IL) ->
    activate#(n__isNatIListKind(X)) -> isNatIListKind#(X)
    take#(s(M),cons(N,IL)) -> activate#(IL) ->
    activate#(n__cons(X1,X2)) -> cons#(X1,X2)
    take#(s(M),cons(N,IL)) -> activate#(IL) ->
    activate#(n__s(X)) -> s#(X)
    take#(s(M),cons(N,IL)) -> activate#(IL) ->
    activate#(n__length(X)) -> length#(X)
    take#(s(M),cons(N,IL)) -> activate#(IL) ->
    activate#(n__0()) -> 0#()
    take#(s(M),cons(N,IL)) -> activate#(IL) ->
    activate#(n__take(X1,X2)) -> take#(X1,X2)
    take#(s(M),cons(N,IL)) -> activate#(IL) ->
    activate#(n__zeros()) -> zeros#()
    take#(0(),IL) -> and#(isNatIList(IL),n__isNatIListKind(IL)) ->
    and#(tt(),X) -> activate#(X)
    take#(0(),IL) -> U81#(and(isNatIList(IL),n__isNatIListKind(IL))) ->
    U81#(tt()) -> nil#()
    take#(0(),IL) -> isNatIList#(IL) ->
    isNatIList#(n__cons(V1,V2)) ->
    U41#(and(isNatKind(activate(V1)),n__isNatIListKind(activate(V2))),activate(V1),activate(V2))
    take#(0(),IL) -> isNatIList#(IL) ->
    isNatIList#(n__cons(V1,V2)) -> and#(isNatKind(activate(V1)),n__isNatIListKind(activate(V2)))
    take#(0(),IL) -> isNatIList#(IL) ->
    isNatIList#(n__cons(V1,V2)) -> isNatKind#(activate(V1))
    take#(0(),IL) -> isNatIList#(IL) ->
    isNatIList#(n__cons(V1,V2)) -> activate#(V1)
    take#(0(),IL) -> isNatIList#(IL) ->
    isNatIList#(n__cons(V1,V2)) -> activate#(V2)
    take#(0(),IL) -> isNatIList#(IL) ->
    isNatIList#(V) -> U31#(isNatIListKind(activate(V)),activate(V))
    take#(0(),IL) -> isNatIList#(IL) ->
    isNatIList#(V) -> isNatIListKind#(activate(V))
    take#(0(),IL) -> isNatIList#(IL) ->
    isNatIList#(V) -> activate#(V)
    isNatKind#(n__s(V1)) -> isNatKind#(activate(V1)) ->
    isNatKind#(n__s(V1)) -> isNatKind#(activate(V1))
    isNatKind#(n__s(V1)) -> isNatKind#(activate(V1)) ->
    isNatKind#(n__s(V1)) -> activate#(V1)
    isNatKind#(n__s(V1)) -> isNatKind#(activate(V1)) ->
    isNatKind#(n__length(V1)) -> isNatIListKind#(activate(V1))
    isNatKind#(n__s(V1)) -> isNatKind#(activate(V1)) ->
    isNatKind#(n__length(V1)) -> activate#(V1)
    isNatKind#(n__s(V1)) -> activate#(V1) ->
    activate#(n__isNatKind(X)) -> isNatKind#(X)
    isNatKind#(n__s(V1)) -> activate#(V1) ->
    activate#(n__and(X1,X2)) -> and#(X1,X2)
    isNatKind#(n__s(V1)) -> activate#(V1) ->
    activate#(n__nil()) -> nil#()
    isNatKind#(n__s(V1)) -> activate#(V1) ->
    activate#(n__isNatIListKind(X)) -> isNatIListKind#(X)
    isNatKind#(n__s(V1)) -> activate#(V1) ->
    activate#(n__cons(X1,X2)) -> cons#(X1,X2)
    isNatKind#(n__s(V1)) -> activate#(V1) ->
    activate#(n__s(X)) -> s#(X)
    isNatKind#(n__s(V1)) -> activate#(V1) ->
    activate#(n__length(X)) -> length#(X)
    isNatKind#(n__s(V1)) -> activate#(V1) ->
    activate#(n__0()) -> 0#()
    isNatKind#(n__s(V1)) -> activate#(V1) ->
    activate#(n__take(X1,X2)) -> take#(X1,X2)
    isNatKind#(n__s(V1)) -> activate#(V1) ->
    activate#(n__zeros()) -> zeros#()
    isNatKind#(n__length(V1)) -> isNatIListKind#(activate(V1)) ->
    isNatIListKind#(n__take(V1,V2)) ->
    and#(isNatKind(activate(V1)),n__isNatIListKind(activate(V2)))
    isNatKind#(n__length(V1)) -> isNatIListKind#(activate(V1)) ->
    isNatIListKind#(n__take(V1,V2)) -> isNatKind#(activate(V1))
    isNatKind#(n__length(V1)) -> isNatIListKind#(activate(V1)) ->
    isNatIListKind#(n__take(V1,V2)) -> activate#(V1)
    isNatKind#(n__length(V1)) -> isNatIListKind#(activate(V1)) ->
    isNatIListKind#(n__take(V1,V2)) -> activate#(V2)
    isNatKind#(n__length(V1)) -> isNatIListKind#(activate(V1)) ->
    isNatIListKind#(n__cons(V1,V2)) ->
    and#(isNatKind(activate(V1)),n__isNatIListKind(activate(V2)))
    isNatKind#(n__length(V1)) -> isNatIListKind#(activate(V1)) ->
    isNatIListKind#(n__cons(V1,V2)) -> isNatKind#(activate(V1))
    isNatKind#(n__length(V1)) -> isNatIListKind#(activate(V1)) ->
    isNatIListKind#(n__cons(V1,V2)) -> activate#(V1)
    isNatKind#(n__length(V1)) -> isNatIListKind#(activate(V1)) ->
    isNatIListKind#(n__cons(V1,V2)) -> activate#(V2)
    isNatKind#(n__length(V1)) -> activate#(V1) ->
    activate#(n__isNatKind(X)) -> isNatKind#(X)
    isNatKind#(n__length(V1)) -> activate#(V1) ->
    activate#(n__and(X1,X2)) -> and#(X1,X2)
    isNatKind#(n__length(V1)) -> activate#(V1) ->
    activate#(n__nil()) -> nil#()
    isNatKind#(n__length(V1)) -> activate#(V1) ->
    activate#(n__isNatIListKind(X)) -> isNatIListKind#(X)
    isNatKind#(n__length(V1)) -> activate#(V1) ->
    activate#(n__cons(X1,X2)) -> cons#(X1,X2)
    isNatKind#(n__length(V1)) -> activate#(V1) ->
    activate#(n__s(X)) -> s#(X)
    isNatKind#(n__length(V1)) -> activate#(V1) ->
    activate#(n__length(X)) -> length#(X)
    isNatKind#(n__length(V1)) -> activate#(V1) ->
    activate#(n__0()) -> 0#()
    isNatKind#(n__length(V1)) -> activate#(V1) ->
    activate#(n__take(X1,X2)) -> take#(X1,X2)
    isNatKind#(n__length(V1)) -> activate#(V1) ->
    activate#(n__zeros()) -> zeros#()
    isNatIListKind#(n__cons(V1,V2)) -> isNatKind#(activate(V1)) ->
    isNatKind#(n__s(V1)) -> isNatKind#(activate(V1))
    isNatIListKind#(n__cons(V1,V2)) -> isNatKind#(activate(V1)) ->
    isNatKind#(n__s(V1)) -> activate#(V1)
    isNatIListKind#(n__cons(V1,V2)) -> isNatKind#(activate(V1)) ->
    isNatKind#(n__length(V1)) -> isNatIListKind#(activate(V1))
    isNatIListKind#(n__cons(V1,V2)) -> isNatKind#(activate(V1)) ->
    isNatKind#(n__length(V1)) -> activate#(V1)
    isNatIListKind#(n__cons(V1,V2)) ->
    and#(isNatKind(activate(V1)),n__isNatIListKind(activate(V2))) ->
    and#(tt(),X) -> activate#(X)
    isNatIListKind#(n__cons(V1,V2)) -> activate#(V2) ->
    activate#(n__isNatKind(X)) -> isNatKind#(X)
    isNatIListKind#(n__cons(V1,V2)) -> activate#(V2) ->
    activate#(n__and(X1,X2)) -> and#(X1,X2)
    isNatIListKind#(n__cons(V1,V2)) -> activate#(V2) ->
    activate#(n__nil()) -> nil#()
    isNatIListKind#(n__cons(V1,V2)) -> activate#(V2) ->
    activate#(n__isNatIListKind(X)) -> isNatIListKind#(X)
    isNatIListKind#(n__cons(V1,V2)) -> activate#(V2) ->
    activate#(n__cons(X1,X2)) -> cons#(X1,X2)
    isNatIListKind#(n__cons(V1,V2)) -> activate#(V2) ->
    activate#(n__s(X)) -> s#(X)
    isNatIListKind#(n__cons(V1,V2)) -> activate#(V2) ->
    activate#(n__length(X)) -> length#(X)
    isNatIListKind#(n__cons(V1,V2)) -> activate#(V2) ->
    activate#(n__0()) -> 0#()
    isNatIListKind#(n__cons(V1,V2)) -> activate#(V2) ->
    activate#(n__take(X1,X2)) -> take#(X1,X2)
    isNatIListKind#(n__cons(V1,V2)) -> activate#(V2) ->
    activate#(n__zeros()) -> zeros#()
    isNatIListKind#(n__cons(V1,V2)) -> activate#(V1) ->
    activate#(n__isNatKind(X)) -> isNatKind#(X)
    isNatIListKind#(n__cons(V1,V2)) -> activate#(V1) ->
    activate#(n__and(X1,X2)) -> and#(X1,X2)
    isNatIListKind#(n__cons(V1,V2)) -> activate#(V1) ->
    activate#(n__nil()) -> nil#()
    isNatIListKind#(n__cons(V1,V2)) -> activate#(V1) ->
    activate#(n__isNatIListKind(X)) -> isNatIListKind#(X)
    isNatIListKind#(n__cons(V1,V2)) -> activate#(V1) ->
    activate#(n__cons(X1,X2)) -> cons#(X1,X2)
    isNatIListKind#(n__cons(V1,V2)) -> activate#(V1) ->
    activate#(n__s(X)) -> s#(X)
    isNatIListKind#(n__cons(V1,V2)) -> activate#(V1) ->
    activate#(n__length(X)) -> length#(X)
    isNatIListKind#(n__cons(V1,V2)) -> activate#(V1) ->
    activate#(n__0()) -> 0#()
    isNatIListKind#(n__cons(V1,V2)) -> activate#(V1) ->
    activate#(n__take(X1,X2)) -> take#(X1,X2)
    isNatIListKind#(n__cons(V1,V2)) -> activate#(V1) ->
    activate#(n__zeros()) -> zeros#()
    isNatIListKind#(n__take(V1,V2)) -> isNatKind#(activate(V1)) ->
    isNatKind#(n__s(V1)) -> isNatKind#(activate(V1))
    isNatIListKind#(n__take(V1,V2)) -> isNatKind#(activate(V1)) ->
    isNatKind#(n__s(V1)) -> activate#(V1)
    isNatIListKind#(n__take(V1,V2)) -> isNatKind#(activate(V1)) ->
    isNatKind#(n__length(V1)) -> isNatIListKind#(activate(V1))
    isNatIListKind#(n__take(V1,V2)) -> isNatKind#(activate(V1)) ->
    isNatKind#(n__length(V1)) -> activate#(V1)
    isNatIListKind#(n__take(V1,V2)) ->
    and#(isNatKind(activate(V1)),n__isNatIListKind(activate(V2))) ->
    and#(tt(),X) -> activate#(X)
    isNatIListKind#(n__take(V1,V2)) -> activate#(V2) ->
    activate#(n__isNatKind(X)) -> isNatKind#(X)
    isNatIListKind#(n__take(V1,V2)) -> activate#(V2) ->
    activate#(n__and(X1,X2)) -> and#(X1,X2)
    isNatIListKind#(n__take(V1,V2)) -> activate#(V2) ->
    activate#(n__nil()) -> nil#()
    isNatIListKind#(n__take(V1,V2)) -> activate#(V2) ->
    activate#(n__isNatIListKind(X)) -> isNatIListKind#(X)
    isNatIListKind#(n__take(V1,V2)) -> activate#(V2) ->
    activate#(n__cons(X1,X2)) -> cons#(X1,X2)
    isNatIListKind#(n__take(V1,V2)) -> activate#(V2) ->
    activate#(n__s(X)) -> s#(X)
    isNatIListKind#(n__take(V1,V2)) -> activate#(V2) ->
    activate#(n__length(X)) -> length#(X)
    isNatIListKind#(n__take(V1,V2)) -> activate#(V2) ->
    activate#(n__0()) -> 0#()
    isNatIListKind#(n__take(V1,V2)) -> activate#(V2) ->
    activate#(n__take(X1,X2)) -> take#(X1,X2)
    isNatIListKind#(n__take(V1,V2)) -> activate#(V2) ->
    activate#(n__zeros()) -> zeros#()
    isNatIListKind#(n__take(V1,V2)) -> activate#(V1) ->
    activate#(n__isNatKind(X)) -> isNatKind#(X)
    isNatIListKind#(n__take(V1,V2)) -> activate#(V1) ->
    activate#(n__and(X1,X2)) -> and#(X1,X2)
    isNatIListKind#(n__take(V1,V2)) -> activate#(V1) ->
    activate#(n__nil()) -> nil#()
    isNatIListKind#(n__take(V1,V2)) -> activate#(V1) ->
    activate#(n__isNatIListKind(X)) -> isNatIListKind#(X)
    isNatIListKind#(n__take(V1,V2)) -> activate#(V1) ->
    activate#(n__cons(X1,X2)) -> cons#(X1,X2)
    isNatIListKind#(n__take(V1,V2)) -> activate#(V1) ->
    activate#(n__s(X)) -> s#(X)
    isNatIListKind#(n__take(V1,V2)) -> activate#(V1) ->
    activate#(n__length(X)) -> length#(X)
    isNatIListKind#(n__take(V1,V2)) -> activate#(V1) ->
    activate#(n__0()) -> 0#()
    isNatIListKind#(n__take(V1,V2)) -> activate#(V1) ->
    activate#(n__take(X1,X2)) -> take#(X1,X2)
    isNatIListKind#(n__take(V1,V2)) -> activate#(V1) ->
    activate#(n__zeros()) -> zeros#()
    and#(tt(),X) -> activate#(X) ->
    activate#(n__isNatKind(X)) -> isNatKind#(X)
    and#(tt(),X) -> activate#(X) ->
    activate#(n__and(X1,X2)) -> and#(X1,X2)
    and#(tt(),X) -> activate#(X) -> activate#(n__nil()) -> nil#()
    and#(tt(),X) -> activate#(X) ->
    activate#(n__isNatIListKind(X)) -> isNatIListKind#(X)
    and#(tt(),X) -> activate#(X) ->
    activate#(n__cons(X1,X2)) -> cons#(X1,X2)
    and#(tt(),X) -> activate#(X) -> activate#(n__s(X)) -> s#(X)
    and#(tt(),X) -> activate#(X) ->
    activate#(n__length(X)) -> length#(X)
    and#(tt(),X) -> activate#(X) -> activate#(n__0()) -> 0#()
    and#(tt(),X) -> activate#(X) ->
    activate#(n__take(X1,X2)) -> take#(X1,X2)
    and#(tt(),X) -> activate#(X) ->
    activate#(n__zeros()) -> zeros#()
    U91#(tt(),IL,M,N) -> activate#(N) ->
    activate#(n__isNatKind(X)) -> isNatKind#(X)
    U91#(tt(),IL,M,N) -> activate#(N) ->
    activate#(n__and(X1,X2)) -> and#(X1,X2)
    U91#(tt(),IL,M,N) -> activate#(N) ->
    activate#(n__nil()) -> nil#()
    U91#(tt(),IL,M,N) -> activate#(N) ->
    activate#(n__isNatIListKind(X)) -> isNatIListKind#(X)
    U91#(tt(),IL,M,N) -> activate#(N) ->
    activate#(n__cons(X1,X2)) -> cons#(X1,X2)
    U91#(tt(),IL,M,N) -> activate#(N) ->
    activate#(n__s(X)) -> s#(X)
    U91#(tt(),IL,M,N) -> activate#(N) ->
    activate#(n__length(X)) -> length#(X)
    U91#(tt(),IL,M,N) -> activate#(N) -> activate#(n__0()) -> 0#()
    U91#(tt(),IL,M,N) -> activate#(N) ->
    activate#(n__take(X1,X2)) -> take#(X1,X2)
    U91#(tt(),IL,M,N) -> activate#(N) ->
    activate#(n__zeros()) -> zeros#()
    U91#(tt(),IL,M,N) -> activate#(M) ->
    activate#(n__isNatKind(X)) -> isNatKind#(X)
    U91#(tt(),IL,M,N) -> activate#(M) ->
    activate#(n__and(X1,X2)) -> and#(X1,X2)
    U91#(tt(),IL,M,N) -> activate#(M) ->
    activate#(n__nil()) -> nil#()
    U91#(tt(),IL,M,N) -> activate#(M) ->
    activate#(n__isNatIListKind(X)) -> isNatIListKind#(X)
    U91#(tt(),IL,M,N) -> activate#(M) ->
    activate#(n__cons(X1,X2)) -> cons#(X1,X2)
    U91#(tt(),IL,M,N) -> activate#(M) ->
    activate#(n__s(X)) -> s#(X)
    U91#(tt(),IL,M,N) -> activate#(M) ->
    activate#(n__length(X)) -> length#(X)
    U91#(tt(),IL,M,N) -> activate#(M) -> activate#(n__0()) -> 0#()
    U91#(tt(),IL,M,N) -> activate#(M) ->
    activate#(n__take(X1,X2)) -> take#(X1,X2)
    U91#(tt(),IL,M,N) -> activate#(M) ->
    activate#(n__zeros()) -> zeros#()
    U91#(tt(),IL,M,N) -> activate#(IL) ->
    activate#(n__isNatKind(X)) -> isNatKind#(X)
    U91#(tt(),IL,M,N) -> activate#(IL) ->
    activate#(n__and(X1,X2)) -> and#(X1,X2)
    U91#(tt(),IL,M,N) -> activate#(IL) ->
    activate#(n__nil()) -> nil#()
    U91#(tt(),IL,M,N) -> activate#(IL) ->
    activate#(n__isNatIListKind(X)) -> isNatIListKind#(X)
    U91#(tt(),IL,M,N) -> activate#(IL) ->
    activate#(n__cons(X1,X2)) -> cons#(X1,X2)
    U91#(tt(),IL,M,N) -> activate#(IL) ->
    activate#(n__s(X)) -> s#(X)
    U91#(tt(),IL,M,N) -> activate#(IL) ->
    activate#(n__length(X)) -> length#(X)
    U91#(tt(),IL,M,N) -> activate#(IL) ->
    activate#(n__0()) -> 0#()
    U91#(tt(),IL,M,N) -> activate#(IL) ->
    activate#(n__take(X1,X2)) -> take#(X1,X2)
    U91#(tt(),IL,M,N) -> activate#(IL) ->
    activate#(n__zeros()) -> zeros#()
    length#(cons(N,L)) ->
    and#(and(isNatList(activate(L)),n__isNatIListKind(activate(L))),n__and
                                                                    (
                                                                    isNat(N),n__isNatKind(N)))
    ->
    and#(tt(),X) -> activate#(X)
    length#(cons(N,L)) -> and#(isNatList(activate(L)),n__isNatIListKind(activate(L))) ->
    and#(tt(),X) -> activate#(X)
    length#(cons(N,L)) ->
    U71#(and(and(isNatList(activate(L)),n__isNatIListKind(activate(L))),
             n__and(isNat(N),n__isNatKind(N))),activate(L))
    ->
    U71#(tt(),L) -> s#(length(activate(L)))
    length#(cons(N,L)) ->
    U71#(and(and(isNatList(activate(L)),n__isNatIListKind(activate(L))),
             n__and(isNat(N),n__isNatKind(N))),activate(L))
    ->
    U71#(tt(),L) -> length#(activate(L))
    length#(cons(N,L)) ->
    U71#(and(and(isNatList(activate(L)),n__isNatIListKind(activate(L))),
             n__and(isNat(N),n__isNatKind(N))),activate(L))
    -> U71#(tt(),L) -> activate#(L)
    length#(cons(N,L)) -> isNat#(N) ->
    isNat#(n__s(V1)) -> U21#(isNatKind(activate(V1)),activate(V1))
    length#(cons(N,L)) -> isNat#(N) ->
    isNat#(n__s(V1)) -> isNatKind#(activate(V1))
    length#(cons(N,L)) -> isNat#(N) ->
    isNat#(n__s(V1)) -> activate#(V1)
    length#(cons(N,L)) -> isNat#(N) ->
    isNat#(n__length(V1)) -> U11#(isNatIListKind(activate(V1)),activate(V1))
    length#(cons(N,L)) -> isNat#(N) ->
    isNat#(n__length(V1)) -> isNatIListKind#(activate(V1))
    length#(cons(N,L)) -> isNat#(N) ->
    isNat#(n__length(V1)) -> activate#(V1)
    length#(cons(N,L)) -> isNatList#(activate(L)) ->
    isNatList#(n__take(V1,V2)) ->
    U61#(and(isNatKind(activate(V1)),n__isNatIListKind(activate(V2))),activate(V1),activate(V2))
    length#(cons(N,L)) -> isNatList#(activate(L)) ->
    isNatList#(n__take(V1,V2)) -> and#(isNatKind(activate(V1)),n__isNatIListKind(activate(V2)))
    length#(cons(N,L)) -> isNatList#(activate(L)) ->
    isNatList#(n__take(V1,V2)) -> isNatKind#(activate(V1))
    length#(cons(N,L)) -> isNatList#(activate(L)) ->
    isNatList#(n__take(V1,V2)) -> activate#(V1)
    length#(cons(N,L)) -> isNatList#(activate(L)) ->
    isNatList#(n__take(V1,V2)) -> activate#(V2)
    length#(cons(N,L)) -> isNatList#(activate(L)) ->
    isNatList#(n__cons(V1,V2)) ->
    U51#(and(isNatKind(activate(V1)),n__isNatIListKind(activate(V2))),activate(V1),activate(V2))
    length#(cons(N,L)) -> isNatList#(activate(L)) ->
    isNatList#(n__cons(V1,V2)) -> and#(isNatKind(activate(V1)),n__isNatIListKind(activate(V2)))
    length#(cons(N,L)) -> isNatList#(activate(L)) ->
    isNatList#(n__cons(V1,V2)) -> isNatKind#(activate(V1))
    length#(cons(N,L)) -> isNatList#(activate(L)) ->
    isNatList#(n__cons(V1,V2)) -> activate#(V1)
    length#(cons(N,L)) -> isNatList#(activate(L)) ->
    isNatList#(n__cons(V1,V2)) -> activate#(V2)
    length#(cons(N,L)) -> activate#(L) ->
    activate#(n__isNatKind(X)) -> isNatKind#(X)
    length#(cons(N,L)) -> activate#(L) ->
    activate#(n__and(X1,X2)) -> and#(X1,X2)
    length#(cons(N,L)) -> activate#(L) ->
    activate#(n__nil()) -> nil#()
    length#(cons(N,L)) -> activate#(L) ->
    activate#(n__isNatIListKind(X)) -> isNatIListKind#(X)
    length#(cons(N,L)) -> activate#(L) ->
    activate#(n__cons(X1,X2)) -> cons#(X1,X2)
    length#(cons(N,L)) -> activate#(L) ->
    activate#(n__s(X)) -> s#(X)
    length#(cons(N,L)) -> activate#(L) ->
    activate#(n__length(X)) -> length#(X)
    length#(cons(N,L)) -> activate#(L) ->
    activate#(n__0()) -> 0#()
    length#(cons(N,L)) -> activate#(L) ->
    activate#(n__take(X1,X2)) -> take#(X1,X2)
    length#(cons(N,L)) -> activate#(L) ->
    activate#(n__zeros()) -> zeros#()
    U71#(tt(),L) -> length#(activate(L)) ->
    length#(cons(N,L)) ->
    U71#(and(and(isNatList(activate(L)),n__isNatIListKind(activate(L))),
             n__and(isNat(N),n__isNatKind(N))),activate(L))
    U71#(tt(),L) -> length#(activate(L)) ->
    length#(cons(N,L)) ->
    and#(and(isNatList(activate(L)),n__isNatIListKind(activate(L))),n__and
                                                                    (
                                                                    isNat(N),n__isNatKind(N)))
    U71#(tt(),L) -> length#(activate(L)) ->
    length#(cons(N,L)) -> and#(isNatList(activate(L)),n__isNatIListKind(activate(L)))
    U71#(tt(),L) -> length#(activate(L)) ->
    length#(cons(N,L)) -> isNatList#(activate(L))
    U71#(tt(),L) -> length#(activate(L)) ->
    length#(cons(N,L)) -> activate#(L)
    U71#(tt(),L) -> length#(activate(L)) ->
    length#(cons(N,L)) -> isNat#(N)
    U71#(tt(),L) -> length#(activate(L)) -> length#(nil()) -> 0#()
    U71#(tt(),L) -> activate#(L) ->
    activate#(n__isNatKind(X)) -> isNatKind#(X)
    U71#(tt(),L) -> activate#(L) ->
    activate#(n__and(X1,X2)) -> and#(X1,X2)
    U71#(tt(),L) -> activate#(L) -> activate#(n__nil()) -> nil#()
    U71#(tt(),L) -> activate#(L) ->
    activate#(n__isNatIListKind(X)) -> isNatIListKind#(X)
    U71#(tt(),L) -> activate#(L) ->
    activate#(n__cons(X1,X2)) -> cons#(X1,X2)
    U71#(tt(),L) -> activate#(L) -> activate#(n__s(X)) -> s#(X)
    U71#(tt(),L) -> activate#(L) ->
    activate#(n__length(X)) -> length#(X)
    U71#(tt(),L) -> activate#(L) -> activate#(n__0()) -> 0#()
    U71#(tt(),L) -> activate#(L) ->
    activate#(n__take(X1,X2)) -> take#(X1,X2)
    U71#(tt(),L) -> activate#(L) ->
    activate#(n__zeros()) -> zeros#()
    U62#(tt(),V2) -> isNatIList#(activate(V2)) ->
    isNatIList#(n__cons(V1,V2)) ->
    U41#(and(isNatKind(activate(V1)),n__isNatIListKind(activate(V2))),activate(V1),activate(V2))
    U62#(tt(),V2) -> isNatIList#(activate(V2)) ->
    isNatIList#(n__cons(V1,V2)) -> and#(isNatKind(activate(V1)),n__isNatIListKind(activate(V2)))
    U62#(tt(),V2) -> isNatIList#(activate(V2)) ->
    isNatIList#(n__cons(V1,V2)) -> isNatKind#(activate(V1))
    U62#(tt(),V2) -> isNatIList#(activate(V2)) ->
    isNatIList#(n__cons(V1,V2)) -> activate#(V1)
    U62#(tt(),V2) -> isNatIList#(activate(V2)) ->
    isNatIList#(n__cons(V1,V2)) -> activate#(V2)
    U62#(tt(),V2) -> isNatIList#(activate(V2)) ->
    isNatIList#(V) -> U31#(isNatIListKind(activate(V)),activate(V))
    U62#(tt(),V2) -> isNatIList#(activate(V2)) ->
    isNatIList#(V) -> isNatIListKind#(activate(V))
    U62#(tt(),V2) -> isNatIList#(activate(V2)) ->
    isNatIList#(V) -> activate#(V)
    U62#(tt(),V2) -> activate#(V2) ->
    activate#(n__isNatKind(X)) -> isNatKind#(X)
    U62#(tt(),V2) -> activate#(V2) ->
    activate#(n__and(X1,X2)) -> and#(X1,X2)
    U62#(tt(),V2) -> activate#(V2) -> activate#(n__nil()) -> nil#()
    U62#(tt(),V2) -> activate#(V2) ->
    activate#(n__isNatIListKind(X)) -> isNatIListKind#(X)
    U62#(tt(),V2) -> activate#(V2) ->
    activate#(n__cons(X1,X2)) -> cons#(X1,X2)
    U62#(tt(),V2) -> activate#(V2) -> activate#(n__s(X)) -> s#(X)
    U62#(tt(),V2) -> activate#(V2) ->
    activate#(n__length(X)) -> length#(X)
    U62#(tt(),V2) -> activate#(V2) -> activate#(n__0()) -> 0#()
    U62#(tt(),V2) -> activate#(V2) ->
    activate#(n__take(X1,X2)) -> take#(X1,X2)
    U62#(tt(),V2) -> activate#(V2) ->
    activate#(n__zeros()) -> zeros#()
    U61#(tt(),V1,V2) -> U62#(isNat(activate(V1)),activate(V2)) ->
    U62#(tt(),V2) -> U63#(isNatIList(activate(V2)))
    U61#(tt(),V1,V2) -> U62#(isNat(activate(V1)),activate(V2)) ->
    U62#(tt(),V2) -> isNatIList#(activate(V2))
    U61#(tt(),V1,V2) -> U62#(isNat(activate(V1)),activate(V2)) ->
    U62#(tt(),V2) -> activate#(V2)
    U61#(tt(),V1,V2) -> isNat#(activate(V1)) ->
    isNat#(n__s(V1)) -> U21#(isNatKind(activate(V1)),activate(V1))
    U61#(tt(),V1,V2) -> isNat#(activate(V1)) ->
    isNat#(n__s(V1)) -> isNatKind#(activate(V1))
    U61#(tt(),V1,V2) -> isNat#(activate(V1)) ->
    isNat#(n__s(V1)) -> activate#(V1)
    U61#(tt(),V1,V2) -> isNat#(activate(V1)) ->
    isNat#(n__length(V1)) -> U11#(isNatIListKind(activate(V1)),activate(V1))
    U61#(tt(),V1,V2) -> isNat#(activate(V1)) ->
    isNat#(n__length(V1)) -> isNatIListKind#(activate(V1))
    U61#(tt(),V1,V2) -> isNat#(activate(V1)) ->
    isNat#(n__length(V1)) -> activate#(V1)
    U61#(tt(),V1,V2) -> activate#(V2) ->
    activate#(n__isNatKind(X)) -> isNatKind#(X)
    U61#(tt(),V1,V2) -> activate#(V2) ->
    activate#(n__and(X1,X2)) -> and#(X1,X2)
    U61#(tt(),V1,V2) -> activate#(V2) ->
    activate#(n__nil()) -> nil#()
    U61#(tt(),V1,V2) -> activate#(V2) ->
    activate#(n__isNatIListKind(X)) -> isNatIListKind#(X)
    U61#(tt(),V1,V2) -> activate#(V2) ->
    activate#(n__cons(X1,X2)) -> cons#(X1,X2)
    U61#(tt(),V1,V2) -> activate#(V2) ->
    activate#(n__s(X)) -> s#(X)
    U61#(tt(),V1,V2) -> activate#(V2) ->
    activate#(n__length(X)) -> length#(X)
    U61#(tt(),V1,V2) -> activate#(V2) -> activate#(n__0()) -> 0#()
    U61#(tt(),V1,V2) -> activate#(V2) ->
    activate#(n__take(X1,X2)) -> take#(X1,X2)
    U61#(tt(),V1,V2) -> activate#(V2) ->
    activate#(n__zeros()) -> zeros#()
    U61#(tt(),V1,V2) -> activate#(V1) ->
    activate#(n__isNatKind(X)) -> isNatKind#(X)
    U61#(tt(),V1,V2) -> activate#(V1) ->
    activate#(n__and(X1,X2)) -> and#(X1,X2)
    U61#(tt(),V1,V2) -> activate#(V1) ->
    activate#(n__nil()) -> nil#()
    U61#(tt(),V1,V2) -> activate#(V1) ->
    activate#(n__isNatIListKind(X)) -> isNatIListKind#(X)
    U61#(tt(),V1,V2) -> activate#(V1) ->
    activate#(n__cons(X1,X2)) -> cons#(X1,X2)
    U61#(tt(),V1,V2) -> activate#(V1) ->
    activate#(n__s(X)) -> s#(X)
    U61#(tt(),V1,V2) -> activate#(V1) ->
    activate#(n__length(X)) -> length#(X)
    U61#(tt(),V1,V2) -> activate#(V1) -> activate#(n__0()) -> 0#()
    U61#(tt(),V1,V2) -> activate#(V1) ->
    activate#(n__take(X1,X2)) -> take#(X1,X2)
    U61#(tt(),V1,V2) -> activate#(V1) ->
    activate#(n__zeros()) -> zeros#()
    U52#(tt(),V2) -> isNatList#(activate(V2)) ->
    isNatList#(n__take(V1,V2)) ->
    U61#(and(isNatKind(activate(V1)),n__isNatIListKind(activate(V2))),activate(V1),activate(V2))
    U52#(tt(),V2) -> isNatList#(activate(V2)) ->
    isNatList#(n__take(V1,V2)) -> and#(isNatKind(activate(V1)),n__isNatIListKind(activate(V2)))
    U52#(tt(),V2) -> isNatList#(activate(V2)) ->
    isNatList#(n__take(V1,V2)) -> isNatKind#(activate(V1))
    U52#(tt(),V2) -> isNatList#(activate(V2)) ->
    isNatList#(n__take(V1,V2)) -> activate#(V1)
    U52#(tt(),V2) -> isNatList#(activate(V2)) ->
    isNatList#(n__take(V1,V2)) -> activate#(V2)
    U52#(tt(),V2) -> isNatList#(activate(V2)) ->
    isNatList#(n__cons(V1,V2)) ->
    U51#(and(isNatKind(activate(V1)),n__isNatIListKind(activate(V2))),activate(V1),activate(V2))
    U52#(tt(),V2) -> isNatList#(activate(V2)) ->
    isNatList#(n__cons(V1,V2)) -> and#(isNatKind(activate(V1)),n__isNatIListKind(activate(V2)))
    U52#(tt(),V2) -> isNatList#(activate(V2)) ->
    isNatList#(n__cons(V1,V2)) -> isNatKind#(activate(V1))
    U52#(tt(),V2) -> isNatList#(activate(V2)) ->
    isNatList#(n__cons(V1,V2)) -> activate#(V1)
    U52#(tt(),V2) -> isNatList#(activate(V2)) ->
    isNatList#(n__cons(V1,V2)) -> activate#(V2)
    U52#(tt(),V2) -> activate#(V2) ->
    activate#(n__isNatKind(X)) -> isNatKind#(X)
    U52#(tt(),V2) -> activate#(V2) ->
    activate#(n__and(X1,X2)) -> and#(X1,X2)
    U52#(tt(),V2) -> activate#(V2) -> activate#(n__nil()) -> nil#()
    U52#(tt(),V2) -> activate#(V2) ->
    activate#(n__isNatIListKind(X)) -> isNatIListKind#(X)
    U52#(tt(),V2) -> activate#(V2) ->
    activate#(n__cons(X1,X2)) -> cons#(X1,X2)
    U52#(tt(),V2) -> activate#(V2) -> activate#(n__s(X)) -> s#(X)
    U52#(tt(),V2) -> activate#(V2) ->
    activate#(n__length(X)) -> length#(X)
    U52#(tt(),V2) -> activate#(V2) -> activate#(n__0()) -> 0#()
    U52#(tt(),V2) -> activate#(V2) ->
    activate#(n__take(X1,X2)) -> take#(X1,X2)
    U52#(tt(),V2) -> activate#(V2) ->
    activate#(n__zeros()) -> zeros#()
    U51#(tt(),V1,V2) -> U52#(isNat(activate(V1)),activate(V2)) ->
    U52#(tt(),V2) -> U53#(isNatList(activate(V2)))
    U51#(tt(),V1,V2) -> U52#(isNat(activate(V1)),activate(V2)) ->
    U52#(tt(),V2) -> isNatList#(activate(V2))
    U51#(tt(),V1,V2) -> U52#(isNat(activate(V1)),activate(V2)) ->
    U52#(tt(),V2) -> activate#(V2)
    U51#(tt(),V1,V2) -> isNat#(activate(V1)) ->
    isNat#(n__s(V1)) -> U21#(isNatKind(activate(V1)),activate(V1))
    U51#(tt(),V1,V2) -> isNat#(activate(V1)) ->
    isNat#(n__s(V1)) -> isNatKind#(activate(V1))
    U51#(tt(),V1,V2) -> isNat#(activate(V1)) ->
    isNat#(n__s(V1)) -> activate#(V1)
    U51#(tt(),V1,V2) -> isNat#(activate(V1)) ->
    isNat#(n__length(V1)) -> U11#(isNatIListKind(activate(V1)),activate(V1))
    U51#(tt(),V1,V2) -> isNat#(activate(V1)) ->
    isNat#(n__length(V1)) -> isNatIListKind#(activate(V1))
    U51#(tt(),V1,V2) -> isNat#(activate(V1)) ->
    isNat#(n__length(V1)) -> activate#(V1)
    U51#(tt(),V1,V2) -> activate#(V2) ->
    activate#(n__isNatKind(X)) -> isNatKind#(X)
    U51#(tt(),V1,V2) -> activate#(V2) ->
    activate#(n__and(X1,X2)) -> and#(X1,X2)
    U51#(tt(),V1,V2) -> activate#(V2) ->
    activate#(n__nil()) -> nil#()
    U51#(tt(),V1,V2) -> activate#(V2) ->
    activate#(n__isNatIListKind(X)) -> isNatIListKind#(X)
    U51#(tt(),V1,V2) -> activate#(V2) ->
    activate#(n__cons(X1,X2)) -> cons#(X1,X2)
    U51#(tt(),V1,V2) -> activate#(V2) ->
    activate#(n__s(X)) -> s#(X)
    U51#(tt(),V1,V2) -> activate#(V2) ->
    activate#(n__length(X)) -> length#(X)
    U51#(tt(),V1,V2) -> activate#(V2) -> activate#(n__0()) -> 0#()
    U51#(tt(),V1,V2) -> activate#(V2) ->
    activate#(n__take(X1,X2)) -> take#(X1,X2)
    U51#(tt(),V1,V2) -> activate#(V2) ->
    activate#(n__zeros()) -> zeros#()
    U51#(tt(),V1,V2) -> activate#(V1) ->
    activate#(n__isNatKind(X)) -> isNatKind#(X)
    U51#(tt(),V1,V2) -> activate#(V1) ->
    activate#(n__and(X1,X2)) -> and#(X1,X2)
    U51#(tt(),V1,V2) -> activate#(V1) ->
    activate#(n__nil()) -> nil#()
    U51#(tt(),V1,V2) -> activate#(V1) ->
    activate#(n__isNatIListKind(X)) -> isNatIListKind#(X)
    U51#(tt(),V1,V2) -> activate#(V1) ->
    activate#(n__cons(X1,X2)) -> cons#(X1,X2)
    U51#(tt(),V1,V2) -> activate#(V1) ->
    activate#(n__s(X)) -> s#(X)
    U51#(tt(),V1,V2) -> activate#(V1) ->
    activate#(n__length(X)) -> length#(X)
    U51#(tt(),V1,V2) -> activate#(V1) -> activate#(n__0()) -> 0#()
    U51#(tt(),V1,V2) -> activate#(V1) ->
    activate#(n__take(X1,X2)) -> take#(X1,X2)
    U51#(tt(),V1,V2) -> activate#(V1) ->
    activate#(n__zeros()) -> zeros#()
    isNatIList#(n__cons(V1,V2)) -> isNatKind#(activate(V1)) ->
    isNatKind#(n__s(V1)) -> isNatKind#(activate(V1))
    isNatIList#(n__cons(V1,V2)) -> isNatKind#(activate(V1)) ->
    isNatKind#(n__s(V1)) -> activate#(V1)
    isNatIList#(n__cons(V1,V2)) -> isNatKind#(activate(V1)) ->
    isNatKind#(n__length(V1)) -> isNatIListKind#(activate(V1))
    isNatIList#(n__cons(V1,V2)) -> isNatKind#(activate(V1)) ->
    isNatKind#(n__length(V1)) -> activate#(V1)
    isNatIList#(n__cons(V1,V2)) -> and#(isNatKind(activate(V1)),n__isNatIListKind(activate(V2))) ->
    and#(tt(),X) -> activate#(X)
    isNatIList#(n__cons(V1,V2)) ->
    U41#(and(isNatKind(activate(V1)),n__isNatIListKind(activate(V2))),activate(V1),activate(V2)) ->
    U41#(tt(),V1,V2) -> U42#(isNat(activate(V1)),activate(V2))
    isNatIList#(n__cons(V1,V2)) ->
    U41#(and(isNatKind(activate(V1)),n__isNatIListKind(activate(V2))),activate(V1),activate(V2)) ->
    U41#(tt(),V1,V2) -> isNat#(activate(V1))
    isNatIList#(n__cons(V1,V2)) ->
    U41#(and(isNatKind(activate(V1)),n__isNatIListKind(activate(V2))),activate(V1),activate(V2)) ->
    U41#(tt(),V1,V2) -> activate#(V1)
    isNatIList#(n__cons(V1,V2)) ->
    U41#(and(isNatKind(activate(V1)),n__isNatIListKind(activate(V2))),activate(V1),activate(V2)) ->
    U41#(tt(),V1,V2) -> activate#(V2)
    isNatIList#(n__cons(V1,V2)) -> activate#(V2) ->
    activate#(n__isNatKind(X)) -> isNatKind#(X)
    isNatIList#(n__cons(V1,V2)) -> activate#(V2) ->
    activate#(n__and(X1,X2)) -> and#(X1,X2)
    isNatIList#(n__cons(V1,V2)) -> activate#(V2) ->
    activate#(n__nil()) -> nil#()
    isNatIList#(n__cons(V1,V2)) -> activate#(V2) ->
    activate#(n__isNatIListKind(X)) -> isNatIListKind#(X)
    isNatIList#(n__cons(V1,V2)) -> activate#(V2) ->
    activate#(n__cons(X1,X2)) -> cons#(X1,X2)
    isNatIList#(n__cons(V1,V2)) -> activate#(V2) ->
    activate#(n__s(X)) -> s#(X)
    isNatIList#(n__cons(V1,V2)) -> activate#(V2) ->
    activate#(n__length(X)) -> length#(X)
    isNatIList#(n__cons(V1,V2)) -> activate#(V2) ->
    activate#(n__0()) -> 0#()
    isNatIList#(n__cons(V1,V2)) -> activate#(V2) ->
    activate#(n__take(X1,X2)) -> take#(X1,X2)
    isNatIList#(n__cons(V1,V2)) -> activate#(V2) ->
    activate#(n__zeros()) -> zeros#()
    isNatIList#(n__cons(V1,V2)) -> activate#(V1) ->
    activate#(n__isNatKind(X)) -> isNatKind#(X)
    isNatIList#(n__cons(V1,V2)) -> activate#(V1) ->
    activate#(n__and(X1,X2)) -> and#(X1,X2)
    isNatIList#(n__cons(V1,V2)) -> activate#(V1) ->
    activate#(n__nil()) -> nil#()
    isNatIList#(n__cons(V1,V2)) -> activate#(V1) ->
    activate#(n__isNatIListKind(X)) -> isNatIListKind#(X)
    isNatIList#(n__cons(V1,V2)) -> activate#(V1) ->
    activate#(n__cons(X1,X2)) -> cons#(X1,X2)
    isNatIList#(n__cons(V1,V2)) -> activate#(V1) ->
    activate#(n__s(X)) -> s#(X)
    isNatIList#(n__cons(V1,V2)) -> activate#(V1) ->
    activate#(n__length(X)) -> length#(X)
    isNatIList#(n__cons(V1,V2)) -> activate#(V1) ->
    activate#(n__0()) -> 0#()
    isNatIList#(n__cons(V1,V2)) -> activate#(V1) ->
    activate#(n__take(X1,X2)) -> take#(X1,X2)
    isNatIList#(n__cons(V1,V2)) -> activate#(V1) ->
    activate#(n__zeros()) -> zeros#()
    isNatIList#(V) -> isNatIListKind#(activate(V)) ->
    isNatIListKind#(n__take(V1,V2)) ->
    and#(isNatKind(activate(V1)),n__isNatIListKind(activate(V2)))
    isNatIList#(V) -> isNatIListKind#(activate(V)) ->
    isNatIListKind#(n__take(V1,V2)) -> isNatKind#(activate(V1))
    isNatIList#(V) -> isNatIListKind#(activate(V)) ->
    isNatIListKind#(n__take(V1,V2)) -> activate#(V1)
    isNatIList#(V) -> isNatIListKind#(activate(V)) ->
    isNatIListKind#(n__take(V1,V2)) -> activate#(V2)
    isNatIList#(V) -> isNatIListKind#(activate(V)) ->
    isNatIListKind#(n__cons(V1,V2)) ->
    and#(isNatKind(activate(V1)),n__isNatIListKind(activate(V2)))
    isNatIList#(V) -> isNatIListKind#(activate(V)) ->
    isNatIListKind#(n__cons(V1,V2)) -> isNatKind#(activate(V1))
    isNatIList#(V) -> isNatIListKind#(activate(V)) ->
    isNatIListKind#(n__cons(V1,V2)) -> activate#(V1)
    isNatIList#(V) -> isNatIListKind#(activate(V)) ->
    isNatIListKind#(n__cons(V1,V2)) -> activate#(V2)
    isNatIList#(V) -> U31#(isNatIListKind(activate(V)),activate(V)) ->
    U31#(tt(),V) -> U32#(isNatList(activate(V)))
    isNatIList#(V) -> U31#(isNatIListKind(activate(V)),activate(V)) ->
    U31#(tt(),V) -> isNatList#(activate(V))
    isNatIList#(V) -> U31#(isNatIListKind(activate(V)),activate(V)) ->
    U31#(tt(),V) -> activate#(V)
    isNatIList#(V) -> activate#(V) ->
    activate#(n__isNatKind(X)) -> isNatKind#(X)
    isNatIList#(V) -> activate#(V) ->
    activate#(n__and(X1,X2)) -> and#(X1,X2)
    isNatIList#(V) -> activate#(V) -> activate#(n__nil()) -> nil#()
    isNatIList#(V) -> activate#(V) ->
    activate#(n__isNatIListKind(X)) -> isNatIListKind#(X)
    isNatIList#(V) -> activate#(V) ->
    activate#(n__cons(X1,X2)) -> cons#(X1,X2)
    isNatIList#(V) -> activate#(V) -> activate#(n__s(X)) -> s#(X)
    isNatIList#(V) -> activate#(V) ->
    activate#(n__length(X)) -> length#(X)
    isNatIList#(V) -> activate#(V) -> activate#(n__0()) -> 0#()
    isNatIList#(V) -> activate#(V) ->
    activate#(n__take(X1,X2)) -> take#(X1,X2)
    isNatIList#(V) -> activate#(V) ->
    activate#(n__zeros()) -> zeros#()
    U42#(tt(),V2) -> isNatIList#(activate(V2)) ->
    isNatIList#(n__cons(V1,V2)) ->
    U41#(and(isNatKind(activate(V1)),n__isNatIListKind(activate(V2))),activate(V1),activate(V2))
    U42#(tt(),V2) -> isNatIList#(activate(V2)) ->
    isNatIList#(n__cons(V1,V2)) -> and#(isNatKind(activate(V1)),n__isNatIListKind(activate(V2)))
    U42#(tt(),V2) -> isNatIList#(activate(V2)) ->
    isNatIList#(n__cons(V1,V2)) -> isNatKind#(activate(V1))
    U42#(tt(),V2) -> isNatIList#(activate(V2)) ->
    isNatIList#(n__cons(V1,V2)) -> activate#(V1)
    U42#(tt(),V2) -> isNatIList#(activate(V2)) ->
    isNatIList#(n__cons(V1,V2)) -> activate#(V2)
    U42#(tt(),V2) -> isNatIList#(activate(V2)) ->
    isNatIList#(V) -> U31#(isNatIListKind(activate(V)),activate(V))
    U42#(tt(),V2) -> isNatIList#(activate(V2)) ->
    isNatIList#(V) -> isNatIListKind#(activate(V))
    U42#(tt(),V2) -> isNatIList#(activate(V2)) ->
    isNatIList#(V) -> activate#(V)
    U42#(tt(),V2) -> activate#(V2) ->
    activate#(n__isNatKind(X)) -> isNatKind#(X)
    U42#(tt(),V2) -> activate#(V2) ->
    activate#(n__and(X1,X2)) -> and#(X1,X2)
    U42#(tt(),V2) -> activate#(V2) -> activate#(n__nil()) -> nil#()
    U42#(tt(),V2) -> activate#(V2) ->
    activate#(n__isNatIListKind(X)) -> isNatIListKind#(X)
    U42#(tt(),V2) -> activate#(V2) ->
    activate#(n__cons(X1,X2)) -> cons#(X1,X2)
    U42#(tt(),V2) -> activate#(V2) -> activate#(n__s(X)) -> s#(X)
    U42#(tt(),V2) -> activate#(V2) ->
    activate#(n__length(X)) -> length#(X)
    U42#(tt(),V2) -> activate#(V2) -> activate#(n__0()) -> 0#()
    U42#(tt(),V2) -> activate#(V2) ->
    activate#(n__take(X1,X2)) -> take#(X1,X2)
    U42#(tt(),V2) -> activate#(V2) ->
    activate#(n__zeros()) -> zeros#()
    U41#(tt(),V1,V2) -> U42#(isNat(activate(V1)),activate(V2)) ->
    U42#(tt(),V2) -> U43#(isNatIList(activate(V2)))
    U41#(tt(),V1,V2) -> U42#(isNat(activate(V1)),activate(V2)) ->
    U42#(tt(),V2) -> isNatIList#(activate(V2))
    U41#(tt(),V1,V2) -> U42#(isNat(activate(V1)),activate(V2)) ->
    U42#(tt(),V2) -> activate#(V2)
    U41#(tt(),V1,V2) -> isNat#(activate(V1)) ->
    isNat#(n__s(V1)) -> U21#(isNatKind(activate(V1)),activate(V1))
    U41#(tt(),V1,V2) -> isNat#(activate(V1)) ->
    isNat#(n__s(V1)) -> isNatKind#(activate(V1))
    U41#(tt(),V1,V2) -> isNat#(activate(V1)) ->
    isNat#(n__s(V1)) -> activate#(V1)
    U41#(tt(),V1,V2) -> isNat#(activate(V1)) ->
    isNat#(n__length(V1)) -> U11#(isNatIListKind(activate(V1)),activate(V1))
    U41#(tt(),V1,V2) -> isNat#(activate(V1)) ->
    isNat#(n__length(V1)) -> isNatIListKind#(activate(V1))
    U41#(tt(),V1,V2) -> isNat#(activate(V1)) ->
    isNat#(n__length(V1)) -> activate#(V1)
    U41#(tt(),V1,V2) -> activate#(V2) ->
    activate#(n__isNatKind(X)) -> isNatKind#(X)
    U41#(tt(),V1,V2) -> activate#(V2) ->
    activate#(n__and(X1,X2)) -> and#(X1,X2)
    U41#(tt(),V1,V2) -> activate#(V2) ->
    activate#(n__nil()) -> nil#()
    U41#(tt(),V1,V2) -> activate#(V2) ->
    activate#(n__isNatIListKind(X)) -> isNatIListKind#(X)
    U41#(tt(),V1,V2) -> activate#(V2) ->
    activate#(n__cons(X1,X2)) -> cons#(X1,X2)
    U41#(tt(),V1,V2) -> activate#(V2) ->
    activate#(n__s(X)) -> s#(X)
    U41#(tt(),V1,V2) -> activate#(V2) ->
    activate#(n__length(X)) -> length#(X)
    U41#(tt(),V1,V2) -> activate#(V2) -> activate#(n__0()) -> 0#()
    U41#(tt(),V1,V2) -> activate#(V2) ->
    activate#(n__take(X1,X2)) -> take#(X1,X2)
    U41#(tt(),V1,V2) -> activate#(V2) ->
    activate#(n__zeros()) -> zeros#()
    U41#(tt(),V1,V2) -> activate#(V1) ->
    activate#(n__isNatKind(X)) -> isNatKind#(X)
    U41#(tt(),V1,V2) -> activate#(V1) ->
    activate#(n__and(X1,X2)) -> and#(X1,X2)
    U41#(tt(),V1,V2) -> activate#(V1) ->
    activate#(n__nil()) -> nil#()
    U41#(tt(),V1,V2) -> activate#(V1) ->
    activate#(n__isNatIListKind(X)) -> isNatIListKind#(X)
    U41#(tt(),V1,V2) -> activate#(V1) ->
    activate#(n__cons(X1,X2)) -> cons#(X1,X2)
    U41#(tt(),V1,V2) -> activate#(V1) ->
    activate#(n__s(X)) -> s#(X)
    U41#(tt(),V1,V2) -> activate#(V1) ->
    activate#(n__length(X)) -> length#(X)
    U41#(tt(),V1,V2) -> activate#(V1) -> activate#(n__0()) -> 0#()
    U41#(tt(),V1,V2) -> activate#(V1) ->
    activate#(n__take(X1,X2)) -> take#(X1,X2)
    U41#(tt(),V1,V2) -> activate#(V1) ->
    activate#(n__zeros()) -> zeros#()
    U31#(tt(),V) -> isNatList#(activate(V)) ->
    isNatList#(n__take(V1,V2)) ->
    U61#(and(isNatKind(activate(V1)),n__isNatIListKind(activate(V2))),activate(V1),activate(V2))
    U31#(tt(),V) -> isNatList#(activate(V)) ->
    isNatList#(n__take(V1,V2)) -> and#(isNatKind(activate(V1)),n__isNatIListKind(activate(V2)))
    U31#(tt(),V) -> isNatList#(activate(V)) ->
    isNatList#(n__take(V1,V2)) -> isNatKind#(activate(V1))
    U31#(tt(),V) -> isNatList#(activate(V)) ->
    isNatList#(n__take(V1,V2)) -> activate#(V1)
    U31#(tt(),V) -> isNatList#(activate(V)) ->
    isNatList#(n__take(V1,V2)) -> activate#(V2)
    U31#(tt(),V) -> isNatList#(activate(V)) ->
    isNatList#(n__cons(V1,V2)) ->
    U51#(and(isNatKind(activate(V1)),n__isNatIListKind(activate(V2))),activate(V1),activate(V2))
    U31#(tt(),V) -> isNatList#(activate(V)) ->
    isNatList#(n__cons(V1,V2)) -> and#(isNatKind(activate(V1)),n__isNatIListKind(activate(V2)))
    U31#(tt(),V) -> isNatList#(activate(V)) ->
    isNatList#(n__cons(V1,V2)) -> isNatKind#(activate(V1))
    U31#(tt(),V) -> isNatList#(activate(V)) ->
    isNatList#(n__cons(V1,V2)) -> activate#(V1)
    U31#(tt(),V) -> isNatList#(activate(V)) ->
    isNatList#(n__cons(V1,V2)) -> activate#(V2)
    U31#(tt(),V) -> activate#(V) ->
    activate#(n__isNatKind(X)) -> isNatKind#(X)
    U31#(tt(),V) -> activate#(V) ->
    activate#(n__and(X1,X2)) -> and#(X1,X2)
    U31#(tt(),V) -> activate#(V) -> activate#(n__nil()) -> nil#()
    U31#(tt(),V) -> activate#(V) ->
    activate#(n__isNatIListKind(X)) -> isNatIListKind#(X)
    U31#(tt(),V) -> activate#(V) ->
    activate#(n__cons(X1,X2)) -> cons#(X1,X2)
    U31#(tt(),V) -> activate#(V) -> activate#(n__s(X)) -> s#(X)
    U31#(tt(),V) -> activate#(V) ->
    activate#(n__length(X)) -> length#(X)
    U31#(tt(),V) -> activate#(V) -> activate#(n__0()) -> 0#()
    U31#(tt(),V) -> activate#(V) ->
    activate#(n__take(X1,X2)) -> take#(X1,X2)
    U31#(tt(),V) -> activate#(V) ->
    activate#(n__zeros()) -> zeros#()
    isNat#(n__s(V1)) -> isNatKind#(activate(V1)) ->
    isNatKind#(n__s(V1)) -> isNatKind#(activate(V1))
    isNat#(n__s(V1)) -> isNatKind#(activate(V1)) ->
    isNatKind#(n__s(V1)) -> activate#(V1)
    isNat#(n__s(V1)) -> isNatKind#(activate(V1)) ->
    isNatKind#(n__length(V1)) -> isNatIListKind#(activate(V1))
    isNat#(n__s(V1)) -> isNatKind#(activate(V1)) ->
    isNatKind#(n__length(V1)) -> activate#(V1)
    isNat#(n__s(V1)) -> U21#(isNatKind(activate(V1)),activate(V1)) ->
    U21#(tt(),V1) -> U22#(isNat(activate(V1)))
    isNat#(n__s(V1)) -> U21#(isNatKind(activate(V1)),activate(V1)) ->
    U21#(tt(),V1) -> isNat#(activate(V1))
    isNat#(n__s(V1)) -> U21#(isNatKind(activate(V1)),activate(V1)) ->
    U21#(tt(),V1) -> activate#(V1)
    isNat#(n__s(V1)) -> activate#(V1) ->
    activate#(n__isNatKind(X)) -> isNatKind#(X)
    isNat#(n__s(V1)) -> activate#(V1) ->
    activate#(n__and(X1,X2)) -> and#(X1,X2)
    isNat#(n__s(V1)) -> activate#(V1) ->
    activate#(n__nil()) -> nil#()
    isNat#(n__s(V1)) -> activate#(V1) ->
    activate#(n__isNatIListKind(X)) -> isNatIListKind#(X)
    isNat#(n__s(V1)) -> activate#(V1) ->
    activate#(n__cons(X1,X2)) -> cons#(X1,X2)
    isNat#(n__s(V1)) -> activate#(V1) ->
    activate#(n__s(X)) -> s#(X)
    isNat#(n__s(V1)) -> activate#(V1) ->
    activate#(n__length(X)) -> length#(X)
    isNat#(n__s(V1)) -> activate#(V1) -> activate#(n__0()) -> 0#()
    isNat#(n__s(V1)) -> activate#(V1) ->
    activate#(n__take(X1,X2)) -> take#(X1,X2)
    isNat#(n__s(V1)) -> activate#(V1) ->
    activate#(n__zeros()) -> zeros#()
    isNat#(n__length(V1)) -> isNatIListKind#(activate(V1)) ->
    isNatIListKind#(n__take(V1,V2)) ->
    and#(isNatKind(activate(V1)),n__isNatIListKind(activate(V2)))
    isNat#(n__length(V1)) -> isNatIListKind#(activate(V1)) ->
    isNatIListKind#(n__take(V1,V2)) -> isNatKind#(activate(V1))
    isNat#(n__length(V1)) -> isNatIListKind#(activate(V1)) ->
    isNatIListKind#(n__take(V1,V2)) -> activate#(V1)
    isNat#(n__length(V1)) -> isNatIListKind#(activate(V1)) ->
    isNatIListKind#(n__take(V1,V2)) -> activate#(V2)
    isNat#(n__length(V1)) -> isNatIListKind#(activate(V1)) ->
    isNatIListKind#(n__cons(V1,V2)) ->
    and#(isNatKind(activate(V1)),n__isNatIListKind(activate(V2)))
    isNat#(n__length(V1)) -> isNatIListKind#(activate(V1)) ->
    isNatIListKind#(n__cons(V1,V2)) -> isNatKind#(activate(V1))
    isNat#(n__length(V1)) -> isNatIListKind#(activate(V1)) ->
    isNatIListKind#(n__cons(V1,V2)) -> activate#(V1)
    isNat#(n__length(V1)) -> isNatIListKind#(activate(V1)) ->
    isNatIListKind#(n__cons(V1,V2)) -> activate#(V2)
    isNat#(n__length(V1)) -> activate#(V1) ->
    activate#(n__isNatKind(X)) -> isNatKind#(X)
    isNat#(n__length(V1)) -> activate#(V1) ->
    activate#(n__and(X1,X2)) -> and#(X1,X2)
    isNat#(n__length(V1)) -> activate#(V1) ->
    activate#(n__nil()) -> nil#()
    isNat#(n__length(V1)) -> activate#(V1) ->
    activate#(n__isNatIListKind(X)) -> isNatIListKind#(X)
    isNat#(n__length(V1)) -> activate#(V1) ->
    activate#(n__cons(X1,X2)) -> cons#(X1,X2)
    isNat#(n__length(V1)) -> activate#(V1) ->
    activate#(n__s(X)) -> s#(X)
    isNat#(n__length(V1)) -> activate#(V1) ->
    activate#(n__length(X)) -> length#(X)
    isNat#(n__length(V1)) -> activate#(V1) ->
    activate#(n__0()) -> 0#()
    isNat#(n__length(V1)) -> activate#(V1) ->
    activate#(n__take(X1,X2)) -> take#(X1,X2)
    isNat#(n__length(V1)) -> activate#(V1) ->
    activate#(n__zeros()) -> zeros#()
    isNat#(n__length(V1)) -> U11#(isNatIListKind(activate(V1)),activate(V1)) ->
    U11#(tt(),V1) -> U12#(isNatList(activate(V1)))
    isNat#(n__length(V1)) -> U11#(isNatIListKind(activate(V1)),activate(V1)) ->
    U11#(tt(),V1) -> isNatList#(activate(V1))
    isNat#(n__length(V1)) -> U11#(isNatIListKind(activate(V1)),activate(V1)) ->
    U11#(tt(),V1) -> activate#(V1)
    U21#(tt(),V1) -> isNat#(activate(V1)) ->
    isNat#(n__s(V1)) -> U21#(isNatKind(activate(V1)),activate(V1))
    U21#(tt(),V1) -> isNat#(activate(V1)) ->
    isNat#(n__s(V1)) -> isNatKind#(activate(V1))
    U21#(tt(),V1) -> isNat#(activate(V1)) ->
    isNat#(n__s(V1)) -> activate#(V1)
    U21#(tt(),V1) -> isNat#(activate(V1)) ->
    isNat#(n__length(V1)) -> U11#(isNatIListKind(activate(V1)),activate(V1))
    U21#(tt(),V1) -> isNat#(activate(V1)) ->
    isNat#(n__length(V1)) -> isNatIListKind#(activate(V1))
    U21#(tt(),V1) -> isNat#(activate(V1)) ->
    isNat#(n__length(V1)) -> activate#(V1)
    U21#(tt(),V1) -> activate#(V1) ->
    activate#(n__isNatKind(X)) -> isNatKind#(X)
    U21#(tt(),V1) -> activate#(V1) ->
    activate#(n__and(X1,X2)) -> and#(X1,X2)
    U21#(tt(),V1) -> activate#(V1) -> activate#(n__nil()) -> nil#()
    U21#(tt(),V1) -> activate#(V1) ->
    activate#(n__isNatIListKind(X)) -> isNatIListKind#(X)
    U21#(tt(),V1) -> activate#(V1) ->
    activate#(n__cons(X1,X2)) -> cons#(X1,X2)
    U21#(tt(),V1) -> activate#(V1) -> activate#(n__s(X)) -> s#(X)
    U21#(tt(),V1) -> activate#(V1) ->
    activate#(n__length(X)) -> length#(X)
    U21#(tt(),V1) -> activate#(V1) -> activate#(n__0()) -> 0#()
    U21#(tt(),V1) -> activate#(V1) ->
    activate#(n__take(X1,X2)) -> take#(X1,X2)
    U21#(tt(),V1) -> activate#(V1) ->
    activate#(n__zeros()) -> zeros#()
    isNatList#(n__cons(V1,V2)) -> isNatKind#(activate(V1)) ->
    isNatKind#(n__s(V1)) -> isNatKind#(activate(V1))
    isNatList#(n__cons(V1,V2)) -> isNatKind#(activate(V1)) ->
    isNatKind#(n__s(V1)) -> activate#(V1)
    isNatList#(n__cons(V1,V2)) -> isNatKind#(activate(V1)) ->
    isNatKind#(n__length(V1)) -> isNatIListKind#(activate(V1))
    isNatList#(n__cons(V1,V2)) -> isNatKind#(activate(V1)) ->
    isNatKind#(n__length(V1)) -> activate#(V1)
    isNatList#(n__cons(V1,V2)) -> and#(isNatKind(activate(V1)),n__isNatIListKind(activate(V2))) ->
    and#(tt(),X) -> activate#(X)
    isNatList#(n__cons(V1,V2)) ->
    U51#(and(isNatKind(activate(V1)),n__isNatIListKind(activate(V2))),activate(V1),activate(V2)) ->
    U51#(tt(),V1,V2) -> U52#(isNat(activate(V1)),activate(V2))
    isNatList#(n__cons(V1,V2)) ->
    U51#(and(isNatKind(activate(V1)),n__isNatIListKind(activate(V2))),activate(V1),activate(V2)) ->
    U51#(tt(),V1,V2) -> isNat#(activate(V1))
    isNatList#(n__cons(V1,V2)) ->
    U51#(and(isNatKind(activate(V1)),n__isNatIListKind(activate(V2))),activate(V1),activate(V2)) ->
    U51#(tt(),V1,V2) -> activate#(V1)
    isNatList#(n__cons(V1,V2)) ->
    U51#(and(isNatKind(activate(V1)),n__isNatIListKind(activate(V2))),activate(V1),activate(V2)) ->
    U51#(tt(),V1,V2) -> activate#(V2)
    isNatList#(n__cons(V1,V2)) -> activate#(V2) ->
    activate#(n__isNatKind(X)) -> isNatKind#(X)
    isNatList#(n__cons(V1,V2)) -> activate#(V2) ->
    activate#(n__and(X1,X2)) -> and#(X1,X2)
    isNatList#(n__cons(V1,V2)) -> activate#(V2) ->
    activate#(n__nil()) -> nil#()
    isNatList#(n__cons(V1,V2)) -> activate#(V2) ->
    activate#(n__isNatIListKind(X)) -> isNatIListKind#(X)
    isNatList#(n__cons(V1,V2)) -> activate#(V2) ->
    activate#(n__cons(X1,X2)) -> cons#(X1,X2)
    isNatList#(n__cons(V1,V2)) -> activate#(V2) ->
    activate#(n__s(X)) -> s#(X)
    isNatList#(n__cons(V1,V2)) -> activate#(V2) ->
    activate#(n__length(X)) -> length#(X)
    isNatList#(n__cons(V1,V2)) -> activate#(V2) ->
    activate#(n__0()) -> 0#()
    isNatList#(n__cons(V1,V2)) -> activate#(V2) ->
    activate#(n__take(X1,X2)) -> take#(X1,X2)
    isNatList#(n__cons(V1,V2)) -> activate#(V2) ->
    activate#(n__zeros()) -> zeros#()
    isNatList#(n__cons(V1,V2)) -> activate#(V1) ->
    activate#(n__isNatKind(X)) -> isNatKind#(X)
    isNatList#(n__cons(V1,V2)) -> activate#(V1) ->
    activate#(n__and(X1,X2)) -> and#(X1,X2)
    isNatList#(n__cons(V1,V2)) -> activate#(V1) ->
    activate#(n__nil()) -> nil#()
    isNatList#(n__cons(V1,V2)) -> activate#(V1) ->
    activate#(n__isNatIListKind(X)) -> isNatIListKind#(X)
    isNatList#(n__cons(V1,V2)) -> activate#(V1) ->
    activate#(n__cons(X1,X2)) -> cons#(X1,X2)
    isNatList#(n__cons(V1,V2)) -> activate#(V1) ->
    activate#(n__s(X)) -> s#(X)
    isNatList#(n__cons(V1,V2)) -> activate#(V1) ->
    activate#(n__length(X)) -> length#(X)
    isNatList#(n__cons(V1,V2)) -> activate#(V1) ->
    activate#(n__0()) -> 0#()
    isNatList#(n__cons(V1,V2)) -> activate#(V1) ->
    activate#(n__take(X1,X2)) -> take#(X1,X2)
    isNatList#(n__cons(V1,V2)) -> activate#(V1) ->
    activate#(n__zeros()) -> zeros#()
    isNatList#(n__take(V1,V2)) -> isNatKind#(activate(V1)) ->
    isNatKind#(n__s(V1)) -> isNatKind#(activate(V1))
    isNatList#(n__take(V1,V2)) -> isNatKind#(activate(V1)) ->
    isNatKind#(n__s(V1)) -> activate#(V1)
    isNatList#(n__take(V1,V2)) -> isNatKind#(activate(V1)) ->
    isNatKind#(n__length(V1)) -> isNatIListKind#(activate(V1))
    isNatList#(n__take(V1,V2)) -> isNatKind#(activate(V1)) ->
    isNatKind#(n__length(V1)) -> activate#(V1)
    isNatList#(n__take(V1,V2)) -> and#(isNatKind(activate(V1)),n__isNatIListKind(activate(V2))) ->
    and#(tt(),X) -> activate#(X)
    isNatList#(n__take(V1,V2)) ->
    U61#(and(isNatKind(activate(V1)),n__isNatIListKind(activate(V2))),activate(V1),activate(V2)) ->
    U61#(tt(),V1,V2) -> U62#(isNat(activate(V1)),activate(V2))
    isNatList#(n__take(V1,V2)) ->
    U61#(and(isNatKind(activate(V1)),n__isNatIListKind(activate(V2))),activate(V1),activate(V2)) ->
    U61#(tt(),V1,V2) -> isNat#(activate(V1))
    isNatList#(n__take(V1,V2)) ->
    U61#(and(isNatKind(activate(V1)),n__isNatIListKind(activate(V2))),activate(V1),activate(V2)) ->
    U61#(tt(),V1,V2) -> activate#(V1)
    isNatList#(n__take(V1,V2)) ->
    U61#(and(isNatKind(activate(V1)),n__isNatIListKind(activate(V2))),activate(V1),activate(V2)) ->
    U61#(tt(),V1,V2) -> activate#(V2)
    isNatList#(n__take(V1,V2)) -> activate#(V2) ->
    activate#(n__isNatKind(X)) -> isNatKind#(X)
    isNatList#(n__take(V1,V2)) -> activate#(V2) ->
    activate#(n__and(X1,X2)) -> and#(X1,X2)
    isNatList#(n__take(V1,V2)) -> activate#(V2) ->
    activate#(n__nil()) -> nil#()
    isNatList#(n__take(V1,V2)) -> activate#(V2) ->
    activate#(n__isNatIListKind(X)) -> isNatIListKind#(X)
    isNatList#(n__take(V1,V2)) -> activate#(V2) ->
    activate#(n__cons(X1,X2)) -> cons#(X1,X2)
    isNatList#(n__take(V1,V2)) -> activate#(V2) ->
    activate#(n__s(X)) -> s#(X)
    isNatList#(n__take(V1,V2)) -> activate#(V2) ->
    activate#(n__length(X)) -> length#(X)
    isNatList#(n__take(V1,V2)) -> activate#(V2) ->
    activate#(n__0()) -> 0#()
    isNatList#(n__take(V1,V2)) -> activate#(V2) ->
    activate#(n__take(X1,X2)) -> take#(X1,X2)
    isNatList#(n__take(V1,V2)) -> activate#(V2) ->
    activate#(n__zeros()) -> zeros#()
    isNatList#(n__take(V1,V2)) -> activate#(V1) ->
    activate#(n__isNatKind(X)) -> isNatKind#(X)
    isNatList#(n__take(V1,V2)) -> activate#(V1) ->
    activate#(n__and(X1,X2)) -> and#(X1,X2)
    isNatList#(n__take(V1,V2)) -> activate#(V1) ->
    activate#(n__nil()) -> nil#()
    isNatList#(n__take(V1,V2)) -> activate#(V1) ->
    activate#(n__isNatIListKind(X)) -> isNatIListKind#(X)
    isNatList#(n__take(V1,V2)) -> activate#(V1) ->
    activate#(n__cons(X1,X2)) -> cons#(X1,X2)
    isNatList#(n__take(V1,V2)) -> activate#(V1) ->
    activate#(n__s(X)) -> s#(X)
    isNatList#(n__take(V1,V2)) -> activate#(V1) ->
    activate#(n__length(X)) -> length#(X)
    isNatList#(n__take(V1,V2)) -> activate#(V1) ->
    activate#(n__0()) -> 0#()
    isNatList#(n__take(V1,V2)) -> activate#(V1) ->
    activate#(n__take(X1,X2)) -> take#(X1,X2)
    isNatList#(n__take(V1,V2)) -> activate#(V1) ->
    activate#(n__zeros()) -> zeros#()
    activate#(n__and(X1,X2)) -> and#(X1,X2) ->
    and#(tt(),X) -> activate#(X)
    activate#(n__isNatKind(X)) -> isNatKind#(X) ->
    isNatKind#(n__s(V1)) -> isNatKind#(activate(V1))
    activate#(n__isNatKind(X)) -> isNatKind#(X) ->
    isNatKind#(n__s(V1)) -> activate#(V1)
    activate#(n__isNatKind(X)) -> isNatKind#(X) ->
    isNatKind#(n__length(V1)) -> isNatIListKind#(activate(V1))
    activate#(n__isNatKind(X)) -> isNatKind#(X) ->
    isNatKind#(n__length(V1)) -> activate#(V1)
    activate#(n__isNatIListKind(X)) -> isNatIListKind#(X) ->
    isNatIListKind#(n__take(V1,V2)) ->
    and#(isNatKind(activate(V1)),n__isNatIListKind(activate(V2)))
    activate#(n__isNatIListKind(X)) -> isNatIListKind#(X) ->
    isNatIListKind#(n__take(V1,V2)) -> isNatKind#(activate(V1))
    activate#(n__isNatIListKind(X)) -> isNatIListKind#(X) ->
    isNatIListKind#(n__take(V1,V2)) -> activate#(V1)
    activate#(n__isNatIListKind(X)) -> isNatIListKind#(X) ->
    isNatIListKind#(n__take(V1,V2)) -> activate#(V2)
    activate#(n__isNatIListKind(X)) -> isNatIListKind#(X) ->
    isNatIListKind#(n__cons(V1,V2)) ->
    and#(isNatKind(activate(V1)),n__isNatIListKind(activate(V2)))
    activate#(n__isNatIListKind(X)) -> isNatIListKind#(X) ->
    isNatIListKind#(n__cons(V1,V2)) -> isNatKind#(activate(V1))
    activate#(n__isNatIListKind(X)) -> isNatIListKind#(X) ->
    isNatIListKind#(n__cons(V1,V2)) -> activate#(V1)
    activate#(n__isNatIListKind(X)) -> isNatIListKind#(X) ->
    isNatIListKind#(n__cons(V1,V2)) -> activate#(V2)
    activate#(n__length(X)) -> length#(X) ->
    length#(cons(N,L)) ->
    U71#(and(and(isNatList(activate(L)),n__isNatIListKind(activate(L))),
             n__and(isNat(N),n__isNatKind(N))),activate(L))
    activate#(n__length(X)) -> length#(X) ->
    length#(cons(N,L)) ->
    and#(and(isNatList(activate(L)),n__isNatIListKind(activate(L))),n__and
                                                                    (
                                                                    isNat(N),n__isNatKind(N)))
    activate#(n__length(X)) -> length#(X) ->
    length#(cons(N,L)) -> and#(isNatList(activate(L)),n__isNatIListKind(activate(L)))
    activate#(n__length(X)) -> length#(X) ->
    length#(cons(N,L)) -> isNatList#(activate(L))
    activate#(n__length(X)) -> length#(X) ->
    length#(cons(N,L)) -> activate#(L)
    activate#(n__length(X)) -> length#(X) ->
    length#(cons(N,L)) -> isNat#(N)
    activate#(n__length(X)) -> length#(X) ->
    length#(nil()) -> 0#()
    activate#(n__take(X1,X2)) -> take#(X1,X2) ->
    take#(s(M),cons(N,IL)) ->
    U91#(and(and(isNatIList(activate(IL)),n__isNatIListKind(activate(IL))),
             n__and(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N)))),
         activate(IL),M,N)
    activate#(n__take(X1,X2)) -> take#(X1,X2) ->
    take#(s(M),cons(N,IL)) ->
    and#(and(isNatIList(activate(IL)),n__isNatIListKind(activate(IL))),
         n__and(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))))
    activate#(n__take(X1,X2)) -> take#(X1,X2) ->
    take#(s(M),cons(N,IL)) -> and#(isNatIList(activate(IL)),n__isNatIListKind(activate(IL)))
    activate#(n__take(X1,X2)) -> take#(X1,X2) ->
    take#(s(M),cons(N,IL)) -> isNatIList#(activate(IL))
    activate#(n__take(X1,X2)) -> take#(X1,X2) ->
    take#(s(M),cons(N,IL)) -> activate#(IL)
    activate#(n__take(X1,X2)) -> take#(X1,X2) ->
    take#(s(M),cons(N,IL)) -> and#(isNat(M),n__isNatKind(M))
    activate#(n__take(X1,X2)) -> take#(X1,X2) ->
    take#(s(M),cons(N,IL)) -> isNat#(M)
    activate#(n__take(X1,X2)) -> take#(X1,X2) ->
    take#(s(M),cons(N,IL)) -> isNat#(N)
    activate#(n__take(X1,X2)) -> take#(X1,X2) ->
    take#(0(),IL) -> U81#(and(isNatIList(IL),n__isNatIListKind(IL)))
    activate#(n__take(X1,X2)) -> take#(X1,X2) ->
    take#(0(),IL) -> and#(isNatIList(IL),n__isNatIListKind(IL))
    activate#(n__take(X1,X2)) -> take#(X1,X2) ->
    take#(0(),IL) -> isNatIList#(IL)
    activate#(n__zeros()) -> zeros#() ->
    zeros#() -> cons#(0(),n__zeros())
    activate#(n__zeros()) -> zeros#() -> zeros#() -> 0#()
    U11#(tt(),V1) -> isNatList#(activate(V1)) ->
    isNatList#(n__take(V1,V2)) ->
    U61#(and(isNatKind(activate(V1)),n__isNatIListKind(activate(V2))),activate(V1),activate(V2))
    U11#(tt(),V1) -> isNatList#(activate(V1)) ->
    isNatList#(n__take(V1,V2)) -> and#(isNatKind(activate(V1)),n__isNatIListKind(activate(V2)))
    U11#(tt(),V1) -> isNatList#(activate(V1)) ->
    isNatList#(n__take(V1,V2)) -> isNatKind#(activate(V1))
    U11#(tt(),V1) -> isNatList#(activate(V1)) ->
    isNatList#(n__take(V1,V2)) -> activate#(V1)
    U11#(tt(),V1) -> isNatList#(activate(V1)) ->
    isNatList#(n__take(V1,V2)) -> activate#(V2)
    U11#(tt(),V1) -> isNatList#(activate(V1)) ->
    isNatList#(n__cons(V1,V2)) ->
    U51#(and(isNatKind(activate(V1)),n__isNatIListKind(activate(V2))),activate(V1),activate(V2))
    U11#(tt(),V1) -> isNatList#(activate(V1)) ->
    isNatList#(n__cons(V1,V2)) -> and#(isNatKind(activate(V1)),n__isNatIListKind(activate(V2)))
    U11#(tt(),V1) -> isNatList#(activate(V1)) ->
    isNatList#(n__cons(V1,V2)) -> isNatKind#(activate(V1))
    U11#(tt(),V1) -> isNatList#(activate(V1)) ->
    isNatList#(n__cons(V1,V2)) -> activate#(V1)
    U11#(tt(),V1) -> isNatList#(activate(V1)) ->
    isNatList#(n__cons(V1,V2)) -> activate#(V2)
    U11#(tt(),V1) -> activate#(V1) ->
    activate#(n__isNatKind(X)) -> isNatKind#(X)
    U11#(tt(),V1) -> activate#(V1) ->
    activate#(n__and(X1,X2)) -> and#(X1,X2)
    U11#(tt(),V1) -> activate#(V1) -> activate#(n__nil()) -> nil#()
    U11#(tt(),V1) -> activate#(V1) ->
    activate#(n__isNatIListKind(X)) -> isNatIListKind#(X)
    U11#(tt(),V1) -> activate#(V1) ->
    activate#(n__cons(X1,X2)) -> cons#(X1,X2)
    U11#(tt(),V1) -> activate#(V1) -> activate#(n__s(X)) -> s#(X)
    U11#(tt(),V1) -> activate#(V1) ->
    activate#(n__length(X)) -> length#(X)
    U11#(tt(),V1) -> activate#(V1) -> activate#(n__0()) -> 0#()
    U11#(tt(),V1) -> activate#(V1) ->
    activate#(n__take(X1,X2)) -> take#(X1,X2)
    U11#(tt(),V1) -> activate#(V1) -> activate#(n__zeros()) -> zeros#()
   SCC Processor:
    #sccs: 1
    #rules: 87
    #arcs: 595/11025
    DPs:
     take#(s(M),cons(N,IL)) ->
     and#(and(isNatIList(activate(IL)),n__isNatIListKind(activate(IL))),
          n__and(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N))))
     and#(tt(),X) -> activate#(X)
     activate#(n__take(X1,X2)) -> take#(X1,X2)
     take#(0(),IL) -> isNatIList#(IL)
     isNatIList#(V) -> activate#(V)
     activate#(n__length(X)) -> length#(X)
     length#(cons(N,L)) -> isNat#(N)
     isNat#(n__length(V1)) -> activate#(V1)
     activate#(n__isNatIListKind(X)) -> isNatIListKind#(X)
     isNatIListKind#(n__cons(V1,V2)) -> activate#(V2)
     activate#(n__and(X1,X2)) -> and#(X1,X2)
     activate#(n__isNatKind(X)) -> isNatKind#(X)
     isNatKind#(n__length(V1)) -> activate#(V1)
     isNatKind#(n__length(V1)) -> isNatIListKind#(activate(V1))
     isNatIListKind#(n__cons(V1,V2)) -> activate#(V1)
     isNatIListKind#(n__cons(V1,V2)) -> isNatKind#(activate(V1))
     isNatKind#(n__s(V1)) -> activate#(V1)
     isNatKind#(n__s(V1)) -> isNatKind#(activate(V1))
     isNatIListKind#(n__cons(V1,V2)) ->
     and#(isNatKind(activate(V1)),n__isNatIListKind(activate(V2)))
     isNatIListKind#(n__take(V1,V2)) -> activate#(V2)
     isNatIListKind#(n__take(V1,V2)) -> activate#(V1)
     isNatIListKind#(n__take(V1,V2)) -> isNatKind#(activate(V1))
     isNatIListKind#(n__take(V1,V2)) ->
     and#(isNatKind(activate(V1)),n__isNatIListKind(activate(V2)))
     isNat#(n__length(V1)) -> isNatIListKind#(activate(V1))
     isNat#(n__length(V1)) -> U11#(isNatIListKind(activate(V1)),activate(V1))
     U11#(tt(),V1) -> activate#(V1)
     U11#(tt(),V1) -> isNatList#(activate(V1))
     isNatList#(n__cons(V1,V2)) -> activate#(V2)
     isNatList#(n__cons(V1,V2)) -> activate#(V1)
     isNatList#(n__cons(V1,V2)) -> isNatKind#(activate(V1))
     isNatList#(n__cons(V1,V2)) -> and#(isNatKind(activate(V1)),n__isNatIListKind(activate(V2)))
     isNatList#(n__cons(V1,V2)) ->
     U51#(and(isNatKind(activate(V1)),n__isNatIListKind(activate(V2))),activate(V1),activate(V2))
     U51#(tt(),V1,V2) -> activate#(V2)
     U51#(tt(),V1,V2) -> activate#(V1)
     U51#(tt(),V1,V2) -> isNat#(activate(V1))
     isNat#(n__s(V1)) -> activate#(V1)
     isNat#(n__s(V1)) -> isNatKind#(activate(V1))
     isNat#(n__s(V1)) -> U21#(isNatKind(activate(V1)),activate(V1))
     U21#(tt(),V1) -> activate#(V1)
     U21#(tt(),V1) -> isNat#(activate(V1))
     U51#(tt(),V1,V2) -> U52#(isNat(activate(V1)),activate(V2))
     U52#(tt(),V2) -> activate#(V2)
     U52#(tt(),V2) -> isNatList#(activate(V2))
     isNatList#(n__take(V1,V2)) -> activate#(V2)
     isNatList#(n__take(V1,V2)) -> activate#(V1)
     isNatList#(n__take(V1,V2)) -> isNatKind#(activate(V1))
     isNatList#(n__take(V1,V2)) -> and#(isNatKind(activate(V1)),n__isNatIListKind(activate(V2)))
     isNatList#(n__take(V1,V2)) ->
     U61#(and(isNatKind(activate(V1)),n__isNatIListKind(activate(V2))),activate(V1),activate(V2))
     U61#(tt(),V1,V2) -> activate#(V2)
     U61#(tt(),V1,V2) -> activate#(V1)
     U61#(tt(),V1,V2) -> isNat#(activate(V1))
     U61#(tt(),V1,V2) -> U62#(isNat(activate(V1)),activate(V2))
     U62#(tt(),V2) -> activate#(V2)
     U62#(tt(),V2) -> isNatIList#(activate(V2))
     isNatIList#(V) -> isNatIListKind#(activate(V))
     isNatIList#(V) -> U31#(isNatIListKind(activate(V)),activate(V))
     U31#(tt(),V) -> activate#(V)
     U31#(tt(),V) -> isNatList#(activate(V))
     isNatIList#(n__cons(V1,V2)) -> activate#(V2)
     isNatIList#(n__cons(V1,V2)) -> activate#(V1)
     isNatIList#(n__cons(V1,V2)) -> isNatKind#(activate(V1))
     isNatIList#(n__cons(V1,V2)) -> and#(isNatKind(activate(V1)),n__isNatIListKind(activate(V2)))
     isNatIList#(n__cons(V1,V2)) ->
     U41#(and(isNatKind(activate(V1)),n__isNatIListKind(activate(V2))),activate(V1),activate(V2))
     U41#(tt(),V1,V2) -> activate#(V2)
     U41#(tt(),V1,V2) -> activate#(V1)
     U41#(tt(),V1,V2) -> isNat#(activate(V1))
     U41#(tt(),V1,V2) -> U42#(isNat(activate(V1)),activate(V2))
     U42#(tt(),V2) -> activate#(V2)
     U42#(tt(),V2) -> isNatIList#(activate(V2))
     length#(cons(N,L)) -> activate#(L)
     length#(cons(N,L)) -> isNatList#(activate(L))
     length#(cons(N,L)) -> and#(isNatList(activate(L)),n__isNatIListKind(activate(L)))
     length#(cons(N,L)) ->
     and#(and(isNatList(activate(L)),n__isNatIListKind(activate(L))),
          n__and(isNat(N),n__isNatKind(N)))
     length#(cons(N,L)) ->
     U71#(and(and(isNatList(activate(L)),n__isNatIListKind(activate(L))),
              n__and(isNat(N),n__isNatKind(N))),activate(L))
     U71#(tt(),L) -> activate#(L)
     U71#(tt(),L) -> length#(activate(L))
     take#(0(),IL) -> and#(isNatIList(IL),n__isNatIListKind(IL))
     take#(s(M),cons(N,IL)) -> isNat#(N)
     take#(s(M),cons(N,IL)) -> isNat#(M)
     take#(s(M),cons(N,IL)) -> and#(isNat(M),n__isNatKind(M))
     take#(s(M),cons(N,IL)) -> activate#(IL)
     take#(s(M),cons(N,IL)) -> isNatIList#(activate(IL))
     take#(s(M),cons(N,IL)) -> and#(isNatIList(activate(IL)),n__isNatIListKind(activate(IL)))
     take#(s(M),cons(N,IL)) ->
     U91#(and(and(isNatIList(activate(IL)),n__isNatIListKind(activate(IL))),
              n__and(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N)))),
          activate(IL),M,N)
     U91#(tt(),IL,M,N) -> activate#(IL)
     U91#(tt(),IL,M,N) -> activate#(M)
     U91#(tt(),IL,M,N) -> activate#(N)
    TRS:
     zeros() -> cons(0(),n__zeros())
     U11(tt(),V1) -> U12(isNatList(activate(V1)))
     U12(tt()) -> tt()
     U21(tt(),V1) -> U22(isNat(activate(V1)))
     U22(tt()) -> tt()
     U31(tt(),V) -> U32(isNatList(activate(V)))
     U32(tt()) -> tt()
     U41(tt(),V1,V2) -> U42(isNat(activate(V1)),activate(V2))
     U42(tt(),V2) -> U43(isNatIList(activate(V2)))
     U43(tt()) -> tt()
     U51(tt(),V1,V2) -> U52(isNat(activate(V1)),activate(V2))
     U52(tt(),V2) -> U53(isNatList(activate(V2)))
     U53(tt()) -> tt()
     U61(tt(),V1,V2) -> U62(isNat(activate(V1)),activate(V2))
     U62(tt(),V2) -> U63(isNatIList(activate(V2)))
     U63(tt()) -> tt()
     U71(tt(),L) -> s(length(activate(L)))
     U81(tt()) -> nil()
     U91(tt(),IL,M,N) -> cons(activate(N),n__take(activate(M),activate(IL)))
     and(tt(),X) -> activate(X)
     isNat(n__0()) -> tt()
     isNat(n__length(V1)) -> U11(isNatIListKind(activate(V1)),activate(V1))
     isNat(n__s(V1)) -> U21(isNatKind(activate(V1)),activate(V1))
     isNatIList(V) -> U31(isNatIListKind(activate(V)),activate(V))
     isNatIList(n__zeros()) -> tt()
     isNatIList(n__cons(V1,V2)) ->
     U41(and(isNatKind(activate(V1)),n__isNatIListKind(activate(V2))),activate(V1),activate(V2))
     isNatIListKind(n__nil()) -> tt()
     isNatIListKind(n__zeros()) -> tt()
     isNatIListKind(n__cons(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatIListKind(activate(V2)))
     isNatIListKind(n__take(V1,V2)) -> and(isNatKind(activate(V1)),n__isNatIListKind(activate(V2)))
     isNatKind(n__0()) -> tt()
     isNatKind(n__length(V1)) -> isNatIListKind(activate(V1))
     isNatKind(n__s(V1)) -> isNatKind(activate(V1))
     isNatList(n__nil()) -> tt()
     isNatList(n__cons(V1,V2)) ->
     U51(and(isNatKind(activate(V1)),n__isNatIListKind(activate(V2))),activate(V1),activate(V2))
     isNatList(n__take(V1,V2)) ->
     U61(and(isNatKind(activate(V1)),n__isNatIListKind(activate(V2))),activate(V1),activate(V2))
     length(nil()) -> 0()
     length(cons(N,L)) ->
     U71(and(and(isNatList(activate(L)),n__isNatIListKind(activate(L))),
             n__and(isNat(N),n__isNatKind(N))),activate(L))
     take(0(),IL) -> U81(and(isNatIList(IL),n__isNatIListKind(IL)))
     take(s(M),cons(N,IL)) ->
     U91(and(and(isNatIList(activate(IL)),n__isNatIListKind(activate(IL))),
             n__and(and(isNat(M),n__isNatKind(M)),n__and(isNat(N),n__isNatKind(N)))),
         activate(IL),M,N)
     zeros() -> n__zeros()
     take(X1,X2) -> n__take(X1,X2)
     0() -> n__0()
     length(X) -> n__length(X)
     s(X) -> n__s(X)
     cons(X1,X2) -> n__cons(X1,X2)
     isNatIListKind(X) -> n__isNatIListKind(X)
     nil() -> n__nil()
     and(X1,X2) -> n__and(X1,X2)
     isNatKind(X) -> n__isNatKind(X)
     activate(n__zeros()) -> zeros()
     activate(n__take(X1,X2)) -> take(X1,X2)
     activate(n__0()) -> 0()
     activate(n__length(X)) -> length(X)
     activate(n__s(X)) -> s(X)
     activate(n__cons(X1,X2)) -> cons(X1,X2)
     activate(n__isNatIListKind(X)) -> isNatIListKind(X)
     activate(n__nil()) -> nil()
     activate(n__and(X1,X2)) -> and(X1,X2)
     activate(n__isNatKind(X)) -> isNatKind(X)
     activate(X) -> X
    Open