(VAR IL L M N V V1 V2 X X1 X2 X3 X4 ) (RULES active(zeros) -> mark(cons(0, zeros)) active(U11(tt)) -> mark(tt) active(U21(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt, V2)) -> mark(U42(isNatIList(V2))) active(U42(tt)) -> mark(tt) active(U51(tt, V2)) -> mark(U52(isNatList(V2))) active(U52(tt)) -> mark(tt) active(U61(tt, V2)) -> mark(U62(isNatIList(V2))) active(U62(tt)) -> mark(tt) active(U71(tt, L, N)) -> mark(U72(isNat(N), L)) active(U72(tt, L)) -> mark(s(length(L))) active(U81(tt)) -> mark(nil) active(U91(tt, IL, M, N)) -> mark(U92(isNat(M), IL, M, N)) active(U92(tt, IL, M, N)) -> mark(U93(isNat(N), IL, M, N)) active(U93(tt, IL, M, N)) -> mark(cons(N, take(M, IL))) active(isNat(0)) -> mark(tt) active(isNat(length(V1))) -> mark(U11(isNatList(V1))) active(isNat(s(V1))) -> mark(U21(isNat(V1))) active(isNatIList(V)) -> mark(U31(isNatList(V))) active(isNatIList(zeros)) -> mark(tt) active(isNatIList(cons(V1, V2))) -> mark(U41(isNat(V1), V2)) active(isNatList(nil)) -> mark(tt) active(isNatList(cons(V1, V2))) -> mark(U51(isNat(V1), V2)) active(isNatList(take(V1, V2))) -> mark(U61(isNat(V1), V2)) active(length(nil)) -> mark(0) active(length(cons(N, L))) -> mark(U71(isNatList(L), L, N)) active(take(0, IL)) -> mark(U81(isNatIList(IL))) active(take(s(M), cons(N, IL))) -> mark(U91(isNatIList(IL), IL, M, N)) mark(zeros) -> active(zeros) mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) mark(0) -> active(0) mark(U11(X)) -> active(U11(mark(X))) mark(tt) -> active(tt) mark(U21(X)) -> active(U21(mark(X))) mark(U31(X)) -> active(U31(mark(X))) mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) mark(U42(X)) -> active(U42(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(isNatList(X)) -> active(isNatList(X)) mark(U61(X1, X2)) -> active(U61(mark(X1), X2)) mark(U62(X)) -> active(U62(mark(X))) mark(U71(X1, X2, X3)) -> active(U71(mark(X1), X2, X3)) mark(U72(X1, X2)) -> active(U72(mark(X1), X2)) mark(isNat(X)) -> active(isNat(X)) mark(s(X)) -> active(s(mark(X))) mark(length(X)) -> active(length(mark(X))) mark(U81(X)) -> active(U81(mark(X))) mark(nil) -> active(nil) mark(U91(X1, X2, X3, X4)) -> active(U91(mark(X1), X2, X3, X4)) mark(U92(X1, X2, X3, X4)) -> active(U92(mark(X1), X2, X3, X4)) mark(U93(X1, X2, X3, X4)) -> active(U93(mark(X1), X2, X3, X4)) mark(take(X1, X2)) -> active(take(mark(X1), mark(X2))) 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(X)) -> U11(X) U11(active(X)) -> U11(X) U21(mark(X)) -> U21(X) U21(active(X)) -> U21(X) U31(mark(X)) -> U31(X) U31(active(X)) -> U31(X) U41(mark(X1), X2) -> U41(X1, X2) U41(X1, mark(X2)) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U42(mark(X)) -> U42(X) U42(active(X)) -> U42(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) isNatList(mark(X)) -> isNatList(X) isNatList(active(X)) -> isNatList(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(X1), X2, X3) -> U71(X1, X2, X3) U71(X1, mark(X2), X3) -> U71(X1, X2, X3) U71(X1, X2, mark(X3)) -> U71(X1, X2, X3) U71(active(X1), X2, X3) -> U71(X1, X2, X3) U71(X1, active(X2), X3) -> U71(X1, X2, X3) U71(X1, X2, active(X3)) -> U71(X1, X2, X3) U72(mark(X1), X2) -> U72(X1, X2) U72(X1, mark(X2)) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) isNat(mark(X)) -> isNat(X) isNat(active(X)) -> isNat(X) s(mark(X)) -> s(X) s(active(X)) -> s(X) length(mark(X)) -> length(X) length(active(X)) -> length(X) U81(mark(X)) -> U81(X) U81(active(X)) -> U81(X) U91(mark(X1), X2, X3, X4) -> U91(X1, X2, X3, X4) U91(X1, mark(X2), X3, X4) -> U91(X1, X2, X3, X4) U91(X1, X2, mark(X3), X4) -> U91(X1, X2, X3, X4) U91(X1, X2, X3, mark(X4)) -> U91(X1, X2, X3, X4) U91(active(X1), X2, X3, X4) -> U91(X1, X2, X3, X4) U91(X1, active(X2), X3, X4) -> U91(X1, X2, X3, X4) U91(X1, X2, active(X3), X4) -> U91(X1, X2, X3, X4) U91(X1, X2, X3, active(X4)) -> U91(X1, X2, X3, X4) U92(mark(X1), X2, X3, X4) -> U92(X1, X2, X3, X4) U92(X1, mark(X2), X3, X4) -> U92(X1, X2, X3, X4) U92(X1, X2, mark(X3), X4) -> U92(X1, X2, X3, X4) U92(X1, X2, X3, mark(X4)) -> U92(X1, X2, X3, X4) U92(active(X1), X2, X3, X4) -> U92(X1, X2, X3, X4) U92(X1, active(X2), X3, X4) -> U92(X1, X2, X3, X4) U92(X1, X2, active(X3), X4) -> U92(X1, X2, X3, X4) U92(X1, X2, X3, active(X4)) -> U92(X1, X2, X3, X4) U93(mark(X1), X2, X3, X4) -> U93(X1, X2, X3, X4) U93(X1, mark(X2), X3, X4) -> U93(X1, X2, X3, X4) U93(X1, X2, mark(X3), X4) -> U93(X1, X2, X3, X4) U93(X1, X2, X3, mark(X4)) -> U93(X1, X2, X3, X4) U93(active(X1), X2, X3, X4) -> U93(X1, X2, X3, X4) U93(X1, active(X2), X3, X4) -> U93(X1, X2, X3, X4) U93(X1, X2, active(X3), X4) -> U93(X1, X2, X3, X4) U93(X1, X2, X3, active(X4)) -> U93(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) )