NO Problem 1: (VAR v_NonEmpty:S N:S X:S XS:S Y:S YS:S ZS:S) (RULES U101(tt) -> U102(isNatural) U102(tt) -> U103(isLNat) U103(tt) -> tt U11(tt) -> snd(splitAt(N:S,XS:S)) U111(tt) -> U112(isLNat) U112(tt) -> tt U121(tt) -> U122(isNatural) U122(tt) -> tt U131(tt) -> U132(isNatural) U132(tt) -> U133(isLNat) U133(tt) -> tt U141(tt) -> U142(isLNat) U142(tt) -> U143(isLNat) U143(tt) -> tt U151(tt) -> U152(isNatural) U152(tt) -> U153(isLNat) U153(tt) -> tt U161(tt) -> cons(N:S) U171(tt) -> head(afterNth(N:S,XS:S)) U181(tt) -> Y:S U191(tt) -> pair(nil,XS:S) U201(tt) -> U202(splitAt(N:S,XS:S)) U202(pair(YS:S,ZS:S)) -> pair(cons(X:S),ZS:S) U21(tt) -> X:S U211(tt) -> XS:S U221(tt) -> fst(splitAt(N:S,XS:S)) U31(tt) -> N:S U41(tt) -> U42(isNatural) U42(tt) -> U43(isLNat) U43(tt) -> tt U51(tt) -> U52(isNatural) U52(tt) -> U53(isLNat) U53(tt) -> tt U61(tt) -> U62(isPLNat) U62(tt) -> tt U71(tt) -> U72(isNatural) U72(tt) -> tt U81(tt) -> U82(isPLNat) U82(tt) -> tt U91(tt) -> U92(isLNat) U92(tt) -> tt afterNth(N:S,XS:S) -> U11(and(and(isNatural))) and(tt) -> X:S fst(pair(X:S,Y:S)) -> U21(and(and(isLNat))) head(cons(N:S)) -> U31(and(and(isNatural))) isLNat -> U101(and(isNaturalKind)) isLNat -> U41(and(isNaturalKind)) isLNat -> U51(and(isNaturalKind)) isLNat -> U61(isPLNatKind) isLNat -> U71(isNaturalKind) isLNat -> U81(isPLNatKind) isLNat -> U91(isLNatKind) isLNat -> tt isLNatKind -> and(isNaturalKind) isLNatKind -> isLNatKind isLNatKind -> isNaturalKind isLNatKind -> isPLNatKind isLNatKind -> tt isNatural -> U111(isLNatKind) isNatural -> U121(isNaturalKind) isNatural -> U131(and(isNaturalKind)) isNatural -> tt isNaturalKind -> and(isNaturalKind) isNaturalKind -> isLNatKind isNaturalKind -> isNaturalKind isNaturalKind -> tt isPLNat -> U141(and(isLNatKind)) isPLNat -> U151(and(isNaturalKind)) isPLNatKind -> and(isLNatKind) isPLNatKind -> and(isNaturalKind) natsFrom(N:S) -> U161(and(isNatural)) sel(N:S,XS:S) -> U171(and(and(isNatural))) snd(pair(X:S,Y:S)) -> U181(and(and(isLNat))) splitAt(0,XS:S) -> U191(and(isLNat)) splitAt(s(N:S),cons(X:S)) -> U201(and(and(isNatural))) tail(cons(N:S)) -> U211(and(and(isNatural))) take(N:S,XS:S) -> U221(and(and(isNatural))) ) Problem 1: Extra Variables Processor: -> Rules: U101(tt) -> U102(isNatural) U102(tt) -> U103(isLNat) U103(tt) -> tt U11(tt) -> snd(splitAt(N:S,XS:S)) U111(tt) -> U112(isLNat) U112(tt) -> tt U121(tt) -> U122(isNatural) U122(tt) -> tt U131(tt) -> U132(isNatural) U132(tt) -> U133(isLNat) U133(tt) -> tt U141(tt) -> U142(isLNat) U142(tt) -> U143(isLNat) U143(tt) -> tt U151(tt) -> U152(isNatural) U152(tt) -> U153(isLNat) U153(tt) -> tt U161(tt) -> cons(N:S) U171(tt) -> head(afterNth(N:S,XS:S)) U181(tt) -> Y:S U191(tt) -> pair(nil,XS:S) U201(tt) -> U202(splitAt(N:S,XS:S)) U202(pair(YS:S,ZS:S)) -> pair(cons(X:S),ZS:S) U21(tt) -> X:S U211(tt) -> XS:S U221(tt) -> fst(splitAt(N:S,XS:S)) U31(tt) -> N:S U41(tt) -> U42(isNatural) U42(tt) -> U43(isLNat) U43(tt) -> tt U51(tt) -> U52(isNatural) U52(tt) -> U53(isLNat) U53(tt) -> tt U61(tt) -> U62(isPLNat) U62(tt) -> tt U71(tt) -> U72(isNatural) U72(tt) -> tt U81(tt) -> U82(isPLNat) U82(tt) -> tt U91(tt) -> U92(isLNat) U92(tt) -> tt afterNth(N:S,XS:S) -> U11(and(and(isNatural))) and(tt) -> X:S fst(pair(X:S,Y:S)) -> U21(and(and(isLNat))) head(cons(N:S)) -> U31(and(and(isNatural))) isLNat -> U101(and(isNaturalKind)) isLNat -> U41(and(isNaturalKind)) isLNat -> U51(and(isNaturalKind)) isLNat -> U61(isPLNatKind) isLNat -> U71(isNaturalKind) isLNat -> U81(isPLNatKind) isLNat -> U91(isLNatKind) isLNat -> tt isLNatKind -> and(isNaturalKind) isLNatKind -> isLNatKind isLNatKind -> isNaturalKind isLNatKind -> isPLNatKind isLNatKind -> tt isNatural -> U111(isLNatKind) isNatural -> U121(isNaturalKind) isNatural -> U131(and(isNaturalKind)) isNatural -> tt isNaturalKind -> and(isNaturalKind) isNaturalKind -> isLNatKind isNaturalKind -> isNaturalKind isNaturalKind -> tt isPLNat -> U141(and(isLNatKind)) isPLNat -> U151(and(isNaturalKind)) isPLNatKind -> and(isLNatKind) isPLNatKind -> and(isNaturalKind) natsFrom(N:S) -> U161(and(isNatural)) sel(N:S,XS:S) -> U171(and(and(isNatural))) snd(pair(X:S,Y:S)) -> U181(and(and(isLNat))) splitAt(0,XS:S) -> U191(and(isLNat)) splitAt(s(N:S),cons(X:S)) -> U201(and(and(isNatural))) tail(cons(N:S)) -> U211(and(and(isNatural))) take(N:S,XS:S) -> U221(and(and(isNatural))) -> The system has extra variables. The problem is infinite.