(VAR L N V V1 V2 X X1 X2 X3 ) (RULES active(zeros) -> mark(cons(0, zeros)) active(U11(tt, V1)) -> mark(U12(isNatIListKind(V1), V1)) active(U12(tt, V1)) -> mark(U13(isNatList(V1))) active(U13(tt)) -> mark(tt) 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)) -> mark(tt) active(U71(tt)) -> mark(tt) active(U81(tt, V1, V2)) -> mark(U82(isNatKind(V1), V1, V2)) active(U82(tt, V1, V2)) -> mark(U83(isNatIListKind(V2), V1, V2)) active(U83(tt, V1, V2)) -> mark(U84(isNatIListKind(V2), V1, V2)) active(U84(tt, V1, V2)) -> mark(U85(isNat(V1), V2)) active(U85(tt, V2)) -> mark(U86(isNatList(V2))) active(U86(tt)) -> mark(tt) active(U91(tt, L, N)) -> mark(U92(isNatIListKind(L), L, N)) active(U92(tt, L, N)) -> mark(U93(isNat(N), L, N)) active(U93(tt, L, N)) -> mark(U94(isNatKind(N), L)) active(U94(tt, L)) -> mark(s(length(L))) 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(isNatKind(0)) -> mark(tt) active(isNatKind(length(V1))) -> mark(U61(isNatIListKind(V1))) active(isNatKind(s(V1))) -> mark(U71(isNatKind(V1))) active(isNatList(nil)) -> mark(tt) active(isNatList(cons(V1, V2))) -> mark(U81(isNatKind(V1), V1, V2)) active(length(nil)) -> mark(0) active(length(cons(N, L))) -> mark(U91(isNatList(L), L, N)) mark(zeros) -> active(zeros) mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) mark(0) -> active(0) mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) mark(tt) -> active(tt) mark(U12(X1, X2)) -> active(U12(mark(X1), X2)) mark(isNatIListKind(X)) -> active(isNatIListKind(X)) mark(U13(X)) -> active(U13(mark(X))) mark(isNatList(X)) -> active(isNatList(X)) mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(U23(X)) -> active(U23(mark(X))) mark(isNat(X)) -> active(isNat(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(isNatIList(X)) -> active(isNatIList(X)) mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) mark(U52(X)) -> active(U52(mark(X))) mark(U61(X)) -> active(U61(mark(X))) mark(U71(X)) -> active(U71(mark(X))) mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) mark(U85(X1, X2)) -> active(U85(mark(X1), X2)) mark(U86(X)) -> active(U86(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)) -> active(U94(mark(X1), X2)) mark(s(X)) -> active(s(mark(X))) mark(length(X)) -> active(length(mark(X))) mark(nil) -> active(nil) 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) 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) isNatIListKind(mark(X)) -> isNatIListKind(X) isNatIListKind(active(X)) -> isNatIListKind(X) U13(mark(X)) -> U13(X) U13(active(X)) -> U13(X) isNatList(mark(X)) -> isNatList(X) isNatList(active(X)) -> isNatList(X) 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) isNatKind(mark(X)) -> isNatKind(X) isNatKind(active(X)) -> isNatKind(X) U23(mark(X)) -> U23(X) U23(active(X)) -> U23(X) isNat(mark(X)) -> isNat(X) isNat(active(X)) -> isNat(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) isNatIList(mark(X)) -> isNatIList(X) isNatIList(active(X)) -> isNatIList(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(X)) -> U61(X) U61(active(X)) -> U61(X) U71(mark(X)) -> U71(X) U71(active(X)) -> U71(X) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) U85(mark(X1), X2) -> U85(X1, X2) U85(X1, mark(X2)) -> U85(X1, X2) U85(active(X1), X2) -> U85(X1, X2) U85(X1, active(X2)) -> U85(X1, X2) U86(mark(X)) -> U86(X) U86(active(X)) -> U86(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) -> U94(X1, X2) U94(X1, mark(X2)) -> U94(X1, X2) U94(active(X1), X2) -> U94(X1, X2) U94(X1, active(X2)) -> U94(X1, X2) s(mark(X)) -> s(X) s(active(X)) -> s(X) length(mark(X)) -> length(X) length(active(X)) -> length(X) )