(VAR V2 L N V1 V X1 X2 X3 X) (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,L,N)) -> mark(U62(isNat(N),L)) active(U62(tt,L)) -> mark(s(length(L))) 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(length(nil)) -> mark(0) active(length(cons(N,L))) -> mark(U61(isNatList(L),L,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,X3)) -> active(U61(mark(X1),X2,X3)) mark(U62(X1,X2)) -> active(U62(mark(X1),X2)) mark(isNat(X)) -> active(isNat(X)) 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(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,X3) -> U61(X1,X2,X3) U61(X1,mark(X2),X3) -> U61(X1,X2,X3) U61(X1,X2,mark(X3)) -> U61(X1,X2,X3) U61(active(X1),X2,X3) -> U61(X1,X2,X3) U61(X1,active(X2),X3) -> U61(X1,X2,X3) U61(X1,X2,active(X3)) -> U61(X1,X2,X3) U62(mark(X1),X2) -> U62(X1,X2) U62(X1,mark(X2)) -> U62(X1,X2) U62(active(X1),X2) -> U62(X1,X2) U62(X1,active(X2)) -> U62(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) )