(VAR V1 V2 L N IL M V X1 X2 X3 X4 X) (RULES active(zeros) -> mark(cons(0,zeros)) active(U101(tt,V1,V2)) -> mark(U102(isNatKind(V1),V1,V2)) active(U102(tt,V1,V2)) -> mark(U103(isNatIListKind(V2),V1,V2)) active(U103(tt,V1,V2)) -> mark(U104(isNatIListKind(V2),V1,V2)) active(U104(tt,V1,V2)) -> mark(U105(isNat(V1),V2)) active(U105(tt,V2)) -> mark(U106(isNatIList(V2))) active(U106(tt)) -> mark(tt) active(U11(tt,V1)) -> mark(U12(isNatIListKind(V1),V1)) active(U111(tt,L,N)) -> mark(U112(isNatIListKind(L),L,N)) active(U112(tt,L,N)) -> mark(U113(isNat(N),L,N)) active(U113(tt,L,N)) -> mark(U114(isNatKind(N),L)) active(U114(tt,L)) -> mark(s(length(L))) active(U12(tt,V1)) -> mark(U13(isNatList(V1))) active(U121(tt,IL)) -> mark(U122(isNatIListKind(IL))) active(U122(tt)) -> mark(nil) active(U13(tt)) -> mark(tt) active(U131(tt,IL,M,N)) -> mark(U132(isNatIListKind(IL),IL,M,N)) active(U132(tt,IL,M,N)) -> mark(U133(isNat(M),IL,M,N)) active(U133(tt,IL,M,N)) -> mark(U134(isNatKind(M),IL,M,N)) active(U134(tt,IL,M,N)) -> mark(U135(isNat(N),IL,M,N)) active(U135(tt,IL,M,N)) -> mark(U136(isNatKind(N),IL,M,N)) active(U136(tt,IL,M,N)) -> mark(cons(N,take(M,IL))) active(U21(tt,V1)) -> mark(U22(isNatKind(V1),V1)) active(U22(tt,V1)) -> mark(U23(isNat(V1))) active(U23(tt)) -> mark(tt) active(U31(tt,V)) -> mark(U32(isNatIListKind(V),V)) active(U32(tt,V)) -> mark(U33(isNatList(V))) active(U33(tt)) -> mark(tt) active(U41(tt,V1,V2)) -> mark(U42(isNatKind(V1),V1,V2)) active(U42(tt,V1,V2)) -> mark(U43(isNatIListKind(V2),V1,V2)) active(U43(tt,V1,V2)) -> mark(U44(isNatIListKind(V2),V1,V2)) active(U44(tt,V1,V2)) -> mark(U45(isNat(V1),V2)) active(U45(tt,V2)) -> mark(U46(isNatIList(V2))) active(U46(tt)) -> mark(tt) active(U51(tt,V2)) -> mark(U52(isNatIListKind(V2))) active(U52(tt)) -> mark(tt) active(U61(tt,V2)) -> mark(U62(isNatIListKind(V2))) active(U62(tt)) -> mark(tt) active(U71(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) active(U91(tt,V1,V2)) -> mark(U92(isNatKind(V1),V1,V2)) active(U92(tt,V1,V2)) -> mark(U93(isNatIListKind(V2),V1,V2)) active(U93(tt,V1,V2)) -> mark(U94(isNatIListKind(V2),V1,V2)) active(U94(tt,V1,V2)) -> mark(U95(isNat(V1),V2)) active(U95(tt,V2)) -> mark(U96(isNatList(V2))) active(U96(tt)) -> mark(tt) active(isNat(0)) -> mark(tt) active(isNat(length(V1))) -> mark(U11(isNatIListKind(V1),V1)) active(isNat(s(V1))) -> mark(U21(isNatKind(V1),V1)) active(isNatIList(V)) -> mark(U31(isNatIListKind(V),V)) active(isNatIList(zeros)) -> mark(tt) active(isNatIList(cons(V1,V2))) -> mark(U41(isNatKind(V1),V1,V2)) active(isNatIListKind(nil)) -> mark(tt) active(isNatIListKind(zeros)) -> mark(tt) active(isNatIListKind(cons(V1,V2))) -> mark(U51(isNatKind(V1),V2)) active(isNatIListKind(take(V1,V2))) -> mark(U61(isNatKind(V1),V2)) active(isNatKind(0)) -> mark(tt) active(isNatKind(length(V1))) -> mark(U71(isNatIListKind(V1))) active(isNatKind(s(V1))) -> mark(U81(isNatKind(V1))) active(isNatList(nil)) -> mark(tt) active(isNatList(cons(V1,V2))) -> mark(U91(isNatKind(V1),V1,V2)) active(isNatList(take(V1,V2))) -> mark(U101(isNatKind(V1),V1,V2)) active(length(nil)) -> mark(0) active(length(cons(N,L))) -> mark(U111(isNatList(L),L,N)) active(take(0,IL)) -> mark(U121(isNatIList(IL),IL)) active(take(s(M),cons(N,IL))) -> mark(U131(isNatIList(IL),IL,M,N)) mark(zeros) -> active(zeros) mark(cons(X1,X2)) -> active(cons(mark(X1),X2)) mark(0) -> active(0) mark(U101(X1,X2,X3)) -> active(U101(mark(X1),X2,X3)) mark(tt) -> active(tt) mark(U102(X1,X2,X3)) -> active(U102(mark(X1),X2,X3)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(U103(X1,X2,X3)) -> active(U103(mark(X1),X2,X3)) mark(isNatIListKind(X)) -> active(isNatIListKind(X)) mark(U104(X1,X2,X3)) -> active(U104(mark(X1),X2,X3)) mark(U105(X1,X2)) -> active(U105(mark(X1),X2)) mark(isNat(X)) -> active(isNat(X)) mark(U106(X)) -> active(U106(mark(X))) mark(isNatIList(X)) -> active(isNatIList(X)) mark(U11(X1,X2)) -> active(U11(mark(X1),X2)) mark(U12(X1,X2)) -> active(U12(mark(X1),X2)) mark(U111(X1,X2,X3)) -> active(U111(mark(X1),X2,X3)) mark(U112(X1,X2,X3)) -> active(U112(mark(X1),X2,X3)) mark(U113(X1,X2,X3)) -> active(U113(mark(X1),X2,X3)) mark(U114(X1,X2)) -> active(U114(mark(X1),X2)) mark(s(X)) -> active(s(mark(X))) mark(length(X)) -> active(length(mark(X))) mark(U13(X)) -> active(U13(mark(X))) mark(isNatList(X)) -> active(isNatList(X)) mark(U121(X1,X2)) -> active(U121(mark(X1),X2)) mark(U122(X)) -> active(U122(mark(X))) mark(nil) -> active(nil) mark(U131(X1,X2,X3,X4)) -> active(U131(mark(X1),X2,X3,X4)) mark(U132(X1,X2,X3,X4)) -> active(U132(mark(X1),X2,X3,X4)) mark(U133(X1,X2,X3,X4)) -> active(U133(mark(X1),X2,X3,X4)) mark(U134(X1,X2,X3,X4)) -> active(U134(mark(X1),X2,X3,X4)) mark(U135(X1,X2,X3,X4)) -> active(U135(mark(X1),X2,X3,X4)) mark(U136(X1,X2,X3,X4)) -> active(U136(mark(X1),X2,X3,X4)) mark(take(X1,X2)) -> active(take(mark(X1),mark(X2))) mark(U21(X1,X2)) -> active(U21(mark(X1),X2)) mark(U22(X1,X2)) -> active(U22(mark(X1),X2)) mark(U23(X)) -> active(U23(mark(X))) mark(U31(X1,X2)) -> active(U31(mark(X1),X2)) mark(U32(X1,X2)) -> active(U32(mark(X1),X2)) mark(U33(X)) -> active(U33(mark(X))) mark(U41(X1,X2,X3)) -> active(U41(mark(X1),X2,X3)) mark(U42(X1,X2,X3)) -> active(U42(mark(X1),X2,X3)) mark(U43(X1,X2,X3)) -> active(U43(mark(X1),X2,X3)) mark(U44(X1,X2,X3)) -> active(U44(mark(X1),X2,X3)) mark(U45(X1,X2)) -> active(U45(mark(X1),X2)) mark(U46(X)) -> active(U46(mark(X))) mark(U51(X1,X2)) -> active(U51(mark(X1),X2)) mark(U52(X)) -> active(U52(mark(X))) mark(U61(X1,X2)) -> active(U61(mark(X1),X2)) mark(U62(X)) -> active(U62(mark(X))) mark(U71(X)) -> active(U71(mark(X))) mark(U81(X)) -> active(U81(mark(X))) mark(U91(X1,X2,X3)) -> active(U91(mark(X1),X2,X3)) mark(U92(X1,X2,X3)) -> active(U92(mark(X1),X2,X3)) mark(U93(X1,X2,X3)) -> active(U93(mark(X1),X2,X3)) mark(U94(X1,X2,X3)) -> active(U94(mark(X1),X2,X3)) mark(U95(X1,X2)) -> active(U95(mark(X1),X2)) mark(U96(X)) -> active(U96(mark(X))) cons(mark(X1),X2) -> cons(X1,X2) cons(X1,mark(X2)) -> cons(X1,X2) cons(active(X1),X2) -> cons(X1,X2) cons(X1,active(X2)) -> cons(X1,X2) U101(mark(X1),X2,X3) -> U101(X1,X2,X3) U101(X1,mark(X2),X3) -> U101(X1,X2,X3) U101(X1,X2,mark(X3)) -> U101(X1,X2,X3) U101(active(X1),X2,X3) -> U101(X1,X2,X3) U101(X1,active(X2),X3) -> U101(X1,X2,X3) U101(X1,X2,active(X3)) -> U101(X1,X2,X3) U102(mark(X1),X2,X3) -> U102(X1,X2,X3) U102(X1,mark(X2),X3) -> U102(X1,X2,X3) U102(X1,X2,mark(X3)) -> U102(X1,X2,X3) U102(active(X1),X2,X3) -> U102(X1,X2,X3) U102(X1,active(X2),X3) -> U102(X1,X2,X3) U102(X1,X2,active(X3)) -> U102(X1,X2,X3) isNatKind(mark(X)) -> isNatKind(X) isNatKind(active(X)) -> isNatKind(X) U103(mark(X1),X2,X3) -> U103(X1,X2,X3) U103(X1,mark(X2),X3) -> U103(X1,X2,X3) U103(X1,X2,mark(X3)) -> U103(X1,X2,X3) U103(active(X1),X2,X3) -> U103(X1,X2,X3) U103(X1,active(X2),X3) -> U103(X1,X2,X3) U103(X1,X2,active(X3)) -> U103(X1,X2,X3) isNatIListKind(mark(X)) -> isNatIListKind(X) isNatIListKind(active(X)) -> isNatIListKind(X) U104(mark(X1),X2,X3) -> U104(X1,X2,X3) U104(X1,mark(X2),X3) -> U104(X1,X2,X3) U104(X1,X2,mark(X3)) -> U104(X1,X2,X3) U104(active(X1),X2,X3) -> U104(X1,X2,X3) U104(X1,active(X2),X3) -> U104(X1,X2,X3) U104(X1,X2,active(X3)) -> U104(X1,X2,X3) U105(mark(X1),X2) -> U105(X1,X2) U105(X1,mark(X2)) -> U105(X1,X2) U105(active(X1),X2) -> U105(X1,X2) U105(X1,active(X2)) -> U105(X1,X2) isNat(mark(X)) -> isNat(X) isNat(active(X)) -> isNat(X) U106(mark(X)) -> U106(X) U106(active(X)) -> U106(X) isNatIList(mark(X)) -> isNatIList(X) isNatIList(active(X)) -> isNatIList(X) U11(mark(X1),X2) -> U11(X1,X2) U11(X1,mark(X2)) -> U11(X1,X2) U11(active(X1),X2) -> U11(X1,X2) U11(X1,active(X2)) -> U11(X1,X2) U12(mark(X1),X2) -> U12(X1,X2) U12(X1,mark(X2)) -> U12(X1,X2) U12(active(X1),X2) -> U12(X1,X2) U12(X1,active(X2)) -> U12(X1,X2) U111(mark(X1),X2,X3) -> U111(X1,X2,X3) U111(X1,mark(X2),X3) -> U111(X1,X2,X3) U111(X1,X2,mark(X3)) -> U111(X1,X2,X3) U111(active(X1),X2,X3) -> U111(X1,X2,X3) U111(X1,active(X2),X3) -> U111(X1,X2,X3) U111(X1,X2,active(X3)) -> U111(X1,X2,X3) U112(mark(X1),X2,X3) -> U112(X1,X2,X3) U112(X1,mark(X2),X3) -> U112(X1,X2,X3) U112(X1,X2,mark(X3)) -> U112(X1,X2,X3) U112(active(X1),X2,X3) -> U112(X1,X2,X3) U112(X1,active(X2),X3) -> U112(X1,X2,X3) U112(X1,X2,active(X3)) -> U112(X1,X2,X3) U113(mark(X1),X2,X3) -> U113(X1,X2,X3) U113(X1,mark(X2),X3) -> U113(X1,X2,X3) U113(X1,X2,mark(X3)) -> U113(X1,X2,X3) U113(active(X1),X2,X3) -> U113(X1,X2,X3) U113(X1,active(X2),X3) -> U113(X1,X2,X3) U113(X1,X2,active(X3)) -> U113(X1,X2,X3) U114(mark(X1),X2) -> U114(X1,X2) U114(X1,mark(X2)) -> U114(X1,X2) U114(active(X1),X2) -> U114(X1,X2) U114(X1,active(X2)) -> U114(X1,X2) s(mark(X)) -> s(X) s(active(X)) -> s(X) length(mark(X)) -> length(X) length(active(X)) -> length(X) U13(mark(X)) -> U13(X) U13(active(X)) -> U13(X) isNatList(mark(X)) -> isNatList(X) isNatList(active(X)) -> isNatList(X) U121(mark(X1),X2) -> U121(X1,X2) U121(X1,mark(X2)) -> U121(X1,X2) U121(active(X1),X2) -> U121(X1,X2) U121(X1,active(X2)) -> U121(X1,X2) U122(mark(X)) -> U122(X) U122(active(X)) -> U122(X) U131(mark(X1),X2,X3,X4) -> U131(X1,X2,X3,X4) U131(X1,mark(X2),X3,X4) -> U131(X1,X2,X3,X4) U131(X1,X2,mark(X3),X4) -> U131(X1,X2,X3,X4) U131(X1,X2,X3,mark(X4)) -> U131(X1,X2,X3,X4) U131(active(X1),X2,X3,X4) -> U131(X1,X2,X3,X4) U131(X1,active(X2),X3,X4) -> U131(X1,X2,X3,X4) U131(X1,X2,active(X3),X4) -> U131(X1,X2,X3,X4) U131(X1,X2,X3,active(X4)) -> U131(X1,X2,X3,X4) U132(mark(X1),X2,X3,X4) -> U132(X1,X2,X3,X4) U132(X1,mark(X2),X3,X4) -> U132(X1,X2,X3,X4) U132(X1,X2,mark(X3),X4) -> U132(X1,X2,X3,X4) U132(X1,X2,X3,mark(X4)) -> U132(X1,X2,X3,X4) U132(active(X1),X2,X3,X4) -> U132(X1,X2,X3,X4) U132(X1,active(X2),X3,X4) -> U132(X1,X2,X3,X4) U132(X1,X2,active(X3),X4) -> U132(X1,X2,X3,X4) U132(X1,X2,X3,active(X4)) -> U132(X1,X2,X3,X4) U133(mark(X1),X2,X3,X4) -> U133(X1,X2,X3,X4) U133(X1,mark(X2),X3,X4) -> U133(X1,X2,X3,X4) U133(X1,X2,mark(X3),X4) -> U133(X1,X2,X3,X4) U133(X1,X2,X3,mark(X4)) -> U133(X1,X2,X3,X4) U133(active(X1),X2,X3,X4) -> U133(X1,X2,X3,X4) U133(X1,active(X2),X3,X4) -> U133(X1,X2,X3,X4) U133(X1,X2,active(X3),X4) -> U133(X1,X2,X3,X4) U133(X1,X2,X3,active(X4)) -> U133(X1,X2,X3,X4) U134(mark(X1),X2,X3,X4) -> U134(X1,X2,X3,X4) U134(X1,mark(X2),X3,X4) -> U134(X1,X2,X3,X4) U134(X1,X2,mark(X3),X4) -> U134(X1,X2,X3,X4) U134(X1,X2,X3,mark(X4)) -> U134(X1,X2,X3,X4) U134(active(X1),X2,X3,X4) -> U134(X1,X2,X3,X4) U134(X1,active(X2),X3,X4) -> U134(X1,X2,X3,X4) U134(X1,X2,active(X3),X4) -> U134(X1,X2,X3,X4) U134(X1,X2,X3,active(X4)) -> U134(X1,X2,X3,X4) U135(mark(X1),X2,X3,X4) -> U135(X1,X2,X3,X4) U135(X1,mark(X2),X3,X4) -> U135(X1,X2,X3,X4) U135(X1,X2,mark(X3),X4) -> U135(X1,X2,X3,X4) U135(X1,X2,X3,mark(X4)) -> U135(X1,X2,X3,X4) U135(active(X1),X2,X3,X4) -> U135(X1,X2,X3,X4) U135(X1,active(X2),X3,X4) -> U135(X1,X2,X3,X4) U135(X1,X2,active(X3),X4) -> U135(X1,X2,X3,X4) U135(X1,X2,X3,active(X4)) -> U135(X1,X2,X3,X4) U136(mark(X1),X2,X3,X4) -> U136(X1,X2,X3,X4) U136(X1,mark(X2),X3,X4) -> U136(X1,X2,X3,X4) U136(X1,X2,mark(X3),X4) -> U136(X1,X2,X3,X4) U136(X1,X2,X3,mark(X4)) -> U136(X1,X2,X3,X4) U136(active(X1),X2,X3,X4) -> U136(X1,X2,X3,X4) U136(X1,active(X2),X3,X4) -> U136(X1,X2,X3,X4) U136(X1,X2,active(X3),X4) -> U136(X1,X2,X3,X4) U136(X1,X2,X3,active(X4)) -> U136(X1,X2,X3,X4) take(mark(X1),X2) -> take(X1,X2) take(X1,mark(X2)) -> take(X1,X2) take(active(X1),X2) -> take(X1,X2) take(X1,active(X2)) -> take(X1,X2) U21(mark(X1),X2) -> U21(X1,X2) U21(X1,mark(X2)) -> U21(X1,X2) U21(active(X1),X2) -> U21(X1,X2) U21(X1,active(X2)) -> U21(X1,X2) U22(mark(X1),X2) -> U22(X1,X2) U22(X1,mark(X2)) -> U22(X1,X2) U22(active(X1),X2) -> U22(X1,X2) U22(X1,active(X2)) -> U22(X1,X2) U23(mark(X)) -> U23(X) U23(active(X)) -> U23(X) U31(mark(X1),X2) -> U31(X1,X2) U31(X1,mark(X2)) -> U31(X1,X2) U31(active(X1),X2) -> U31(X1,X2) U31(X1,active(X2)) -> U31(X1,X2) U32(mark(X1),X2) -> U32(X1,X2) U32(X1,mark(X2)) -> U32(X1,X2) U32(active(X1),X2) -> U32(X1,X2) U32(X1,active(X2)) -> U32(X1,X2) U33(mark(X)) -> U33(X) U33(active(X)) -> U33(X) U41(mark(X1),X2,X3) -> U41(X1,X2,X3) U41(X1,mark(X2),X3) -> U41(X1,X2,X3) U41(X1,X2,mark(X3)) -> U41(X1,X2,X3) U41(active(X1),X2,X3) -> U41(X1,X2,X3) U41(X1,active(X2),X3) -> U41(X1,X2,X3) U41(X1,X2,active(X3)) -> U41(X1,X2,X3) U42(mark(X1),X2,X3) -> U42(X1,X2,X3) U42(X1,mark(X2),X3) -> U42(X1,X2,X3) U42(X1,X2,mark(X3)) -> U42(X1,X2,X3) U42(active(X1),X2,X3) -> U42(X1,X2,X3) U42(X1,active(X2),X3) -> U42(X1,X2,X3) U42(X1,X2,active(X3)) -> U42(X1,X2,X3) U43(mark(X1),X2,X3) -> U43(X1,X2,X3) U43(X1,mark(X2),X3) -> U43(X1,X2,X3) U43(X1,X2,mark(X3)) -> U43(X1,X2,X3) U43(active(X1),X2,X3) -> U43(X1,X2,X3) U43(X1,active(X2),X3) -> U43(X1,X2,X3) U43(X1,X2,active(X3)) -> U43(X1,X2,X3) U44(mark(X1),X2,X3) -> U44(X1,X2,X3) U44(X1,mark(X2),X3) -> U44(X1,X2,X3) U44(X1,X2,mark(X3)) -> U44(X1,X2,X3) U44(active(X1),X2,X3) -> U44(X1,X2,X3) U44(X1,active(X2),X3) -> U44(X1,X2,X3) U44(X1,X2,active(X3)) -> U44(X1,X2,X3) U45(mark(X1),X2) -> U45(X1,X2) U45(X1,mark(X2)) -> U45(X1,X2) U45(active(X1),X2) -> U45(X1,X2) U45(X1,active(X2)) -> U45(X1,X2) U46(mark(X)) -> U46(X) U46(active(X)) -> U46(X) U51(mark(X1),X2) -> U51(X1,X2) U51(X1,mark(X2)) -> U51(X1,X2) U51(active(X1),X2) -> U51(X1,X2) U51(X1,active(X2)) -> U51(X1,X2) U52(mark(X)) -> U52(X) U52(active(X)) -> U52(X) U61(mark(X1),X2) -> U61(X1,X2) U61(X1,mark(X2)) -> U61(X1,X2) U61(active(X1),X2) -> U61(X1,X2) U61(X1,active(X2)) -> U61(X1,X2) U62(mark(X)) -> U62(X) U62(active(X)) -> U62(X) U71(mark(X)) -> U71(X) U71(active(X)) -> U71(X) U81(mark(X)) -> U81(X) U81(active(X)) -> U81(X) U91(mark(X1),X2,X3) -> U91(X1,X2,X3) U91(X1,mark(X2),X3) -> U91(X1,X2,X3) U91(X1,X2,mark(X3)) -> U91(X1,X2,X3) U91(active(X1),X2,X3) -> U91(X1,X2,X3) U91(X1,active(X2),X3) -> U91(X1,X2,X3) U91(X1,X2,active(X3)) -> U91(X1,X2,X3) U92(mark(X1),X2,X3) -> U92(X1,X2,X3) U92(X1,mark(X2),X3) -> U92(X1,X2,X3) U92(X1,X2,mark(X3)) -> U92(X1,X2,X3) U92(active(X1),X2,X3) -> U92(X1,X2,X3) U92(X1,active(X2),X3) -> U92(X1,X2,X3) U92(X1,X2,active(X3)) -> U92(X1,X2,X3) U93(mark(X1),X2,X3) -> U93(X1,X2,X3) U93(X1,mark(X2),X3) -> U93(X1,X2,X3) U93(X1,X2,mark(X3)) -> U93(X1,X2,X3) U93(active(X1),X2,X3) -> U93(X1,X2,X3) U93(X1,active(X2),X3) -> U93(X1,X2,X3) U93(X1,X2,active(X3)) -> U93(X1,X2,X3) U94(mark(X1),X2,X3) -> U94(X1,X2,X3) U94(X1,mark(X2),X3) -> U94(X1,X2,X3) U94(X1,X2,mark(X3)) -> U94(X1,X2,X3) U94(active(X1),X2,X3) -> U94(X1,X2,X3) U94(X1,active(X2),X3) -> U94(X1,X2,X3) U94(X1,X2,active(X3)) -> U94(X1,X2,X3) U95(mark(X1),X2) -> U95(X1,X2) U95(X1,mark(X2)) -> U95(X1,X2) U95(active(X1),X2) -> U95(X1,X2) U95(X1,active(X2)) -> U95(X1,X2) U96(mark(X)) -> U96(X) U96(active(X)) -> U96(X) )