MAYBE 0.28/0.35 MAYBE 0.28/0.36 0.28/0.36 Problem: 0.28/0.36 U101(tt(),V1,V2) -> U102(isNaturalKind(activate(V1)),activate(V1),activate(V2)) 0.28/0.36 U102(tt(),V1,V2) -> U103(isLNatKind(activate(V2)),activate(V1),activate(V2)) 0.28/0.36 U103(tt(),V1,V2) -> U104(isLNatKind(activate(V2)),activate(V1),activate(V2)) 0.28/0.36 U104(tt(),V1,V2) -> U105(isNatural(activate(V1)),activate(V2)) 0.28/0.36 U105(tt(),V2) -> U106(isLNat(activate(V2))) 0.28/0.36 U106(tt()) -> tt() 0.28/0.36 U11(tt(),N,XS) -> U12(isNaturalKind(activate(N)),activate(N),activate(XS)) 0.28/0.36 U111(tt(),V2) -> U112(isLNatKind(activate(V2))) 0.28/0.36 U112(tt()) -> tt() 0.28/0.36 U12(tt(),N,XS) -> U13(isLNat(activate(XS)),activate(N),activate(XS)) 0.28/0.36 U121(tt(),V2) -> U122(isLNatKind(activate(V2))) 0.28/0.36 U122(tt()) -> tt() 0.28/0.36 U13(tt(),N,XS) -> U14(isLNatKind(activate(XS)),activate(N),activate(XS)) 0.28/0.36 U131(tt()) -> tt() 0.28/0.36 U14(tt(),N,XS) -> snd(splitAt(activate(N),activate(XS))) 0.28/0.36 U141(tt()) -> tt() 0.28/0.36 U151(tt()) -> tt() 0.28/0.36 U161(tt()) -> tt() 0.28/0.36 U171(tt(),V2) -> U172(isLNatKind(activate(V2))) 0.28/0.36 U172(tt()) -> tt() 0.28/0.36 U181(tt(),V1) -> U182(isLNatKind(activate(V1)),activate(V1)) 0.28/0.36 U182(tt(),V1) -> U183(isLNat(activate(V1))) 0.28/0.36 U183(tt()) -> tt() 0.28/0.36 U191(tt(),V1) -> U192(isNaturalKind(activate(V1)),activate(V1)) 0.28/0.36 U192(tt(),V1) -> U193(isNatural(activate(V1))) 0.28/0.36 U193(tt()) -> tt() 0.28/0.36 U201(tt(),V1,V2) -> U202(isNaturalKind(activate(V1)),activate(V1),activate(V2)) 0.28/0.36 U202(tt(),V1,V2) -> U203(isLNatKind(activate(V2)),activate(V1),activate(V2)) 0.28/0.36 U203(tt(),V1,V2) -> U204(isLNatKind(activate(V2)),activate(V1),activate(V2)) 0.28/0.36 U204(tt(),V1,V2) -> U205(isNatural(activate(V1)),activate(V2)) 0.28/0.36 U205(tt(),V2) -> U206(isLNat(activate(V2))) 0.28/0.36 U206(tt()) -> tt() 0.28/0.36 U21(tt(),X,Y) -> U22(isLNatKind(activate(X)),activate(X),activate(Y)) 0.28/0.36 U211(tt()) -> tt() 0.28/0.36 U22(tt(),X,Y) -> U23(isLNat(activate(Y)),activate(X),activate(Y)) 0.28/0.36 U221(tt()) -> tt() 0.28/0.36 U23(tt(),X,Y) -> U24(isLNatKind(activate(Y)),activate(X)) 0.28/0.36 U231(tt(),V2) -> U232(isLNatKind(activate(V2))) 0.28/0.36 U232(tt()) -> tt() 0.28/0.36 U24(tt(),X) -> activate(X) 0.28/0.36 U241(tt(),V1,V2) -> U242(isLNatKind(activate(V1)),activate(V1),activate(V2)) 0.28/0.36 U242(tt(),V1,V2) -> U243(isLNatKind(activate(V2)),activate(V1),activate(V2)) 0.28/0.36 U243(tt(),V1,V2) -> U244(isLNatKind(activate(V2)),activate(V1),activate(V2)) 0.28/0.36 U244(tt(),V1,V2) -> U245(isLNat(activate(V1)),activate(V2)) 0.28/0.36 U245(tt(),V2) -> U246(isLNat(activate(V2))) 0.28/0.36 U246(tt()) -> tt() 0.28/0.36 U251(tt(),V1,V2) -> U252(isNaturalKind(activate(V1)),activate(V1),activate(V2)) 0.28/0.36 U252(tt(),V1,V2) -> U253(isLNatKind(activate(V2)),activate(V1),activate(V2)) 0.28/0.36 U253(tt(),V1,V2) -> U254(isLNatKind(activate(V2)),activate(V1),activate(V2)) 0.28/0.36 U254(tt(),V1,V2) -> U255(isNatural(activate(V1)),activate(V2)) 0.28/0.36 U255(tt(),V2) -> U256(isLNat(activate(V2))) 0.28/0.36 U256(tt()) -> tt() 0.28/0.36 U261(tt(),V2) -> U262(isLNatKind(activate(V2))) 0.28/0.36 U262(tt()) -> tt() 0.28/0.36 U271(tt(),V2) -> U272(isLNatKind(activate(V2))) 0.28/0.36 U272(tt()) -> tt() 0.28/0.36 U281(tt(),N) -> U282(isNaturalKind(activate(N)),activate(N)) 0.28/0.36 U282(tt(),N) -> cons(activate(N),n__natsFrom(n__s(activate(N)))) 0.28/0.36 U291(tt(),N,XS) -> U292(isNaturalKind(activate(N)),activate(N),activate(XS)) 0.28/0.36 U292(tt(),N,XS) -> U293(isLNat(activate(XS)),activate(N),activate(XS)) 0.28/0.36 U293(tt(),N,XS) -> U294(isLNatKind(activate(XS)),activate(N),activate(XS)) 0.28/0.36 U294(tt(),N,XS) -> head(afterNth(activate(N),activate(XS))) 0.28/0.36 U301(tt(),X,Y) -> U302(isLNatKind(activate(X)),activate(Y)) 0.28/0.36 U302(tt(),Y) -> U303(isLNat(activate(Y)),activate(Y)) 0.28/0.36 U303(tt(),Y) -> U304(isLNatKind(activate(Y)),activate(Y)) 0.28/0.36 U304(tt(),Y) -> activate(Y) 0.28/0.36 U31(tt(),N,XS) -> U32(isNaturalKind(activate(N)),activate(N),activate(XS)) 0.28/0.36 U311(tt(),XS) -> U312(isLNatKind(activate(XS)),activate(XS)) 0.28/0.36 U312(tt(),XS) -> pair(nil(),activate(XS)) 0.28/0.36 U32(tt(),N,XS) -> U33(isLNat(activate(XS)),activate(N),activate(XS)) 0.28/0.36 U321(tt(),N,X,XS) -> U322(isNaturalKind(activate(N)),activate(N),activate(X),activate(XS)) 0.28/0.36 U322(tt(),N,X,XS) -> U323(isNatural(activate(X)),activate(N),activate(X),activate(XS)) 0.28/0.36 U323(tt(),N,X,XS) -> U324(isNaturalKind(activate(X)),activate(N),activate(X),activate(XS)) 0.28/0.36 U324(tt(),N,X,XS) -> U325(isLNat(activate(XS)),activate(N),activate(X),activate(XS)) 0.28/0.36 U325(tt(),N,X,XS) -> U326(isLNatKind(activate(XS)),activate(N),activate(X),activate(XS)) 0.28/0.36 U326(tt(),N,X,XS) -> U327(splitAt(activate(N),activate(XS)),activate(X)) 0.28/0.36 U327(pair(YS,ZS),X) -> pair(cons(activate(X),YS),ZS) 0.28/0.36 U33(tt(),N,XS) -> U34(isLNatKind(activate(XS)),activate(N)) 0.28/0.36 U331(tt(),N,XS) -> U332(isNaturalKind(activate(N)),activate(XS)) 0.28/0.36 U332(tt(),XS) -> U333(isLNat(activate(XS)),activate(XS)) 0.28/0.36 U333(tt(),XS) -> U334(isLNatKind(activate(XS)),activate(XS)) 0.28/0.36 U334(tt(),XS) -> activate(XS) 0.28/0.36 U34(tt(),N) -> activate(N) 0.28/0.36 U341(tt(),N,XS) -> U342(isNaturalKind(activate(N)),activate(N),activate(XS)) 0.28/0.36 U342(tt(),N,XS) -> U343(isLNat(activate(XS)),activate(N),activate(XS)) 0.28/0.36 U343(tt(),N,XS) -> U344(isLNatKind(activate(XS)),activate(N),activate(XS)) 0.28/0.36 U344(tt(),N,XS) -> fst(splitAt(activate(N),activate(XS))) 0.28/0.36 U41(tt(),V1,V2) -> U42(isNaturalKind(activate(V1)),activate(V1),activate(V2)) 0.28/0.36 U42(tt(),V1,V2) -> U43(isLNatKind(activate(V2)),activate(V1),activate(V2)) 0.28/0.36 U43(tt(),V1,V2) -> U44(isLNatKind(activate(V2)),activate(V1),activate(V2)) 0.28/0.36 U44(tt(),V1,V2) -> U45(isNatural(activate(V1)),activate(V2)) 0.28/0.36 U45(tt(),V2) -> U46(isLNat(activate(V2))) 0.28/0.36 U46(tt()) -> tt() 0.28/0.36 U51(tt(),V1,V2) -> U52(isNaturalKind(activate(V1)),activate(V1),activate(V2)) 0.28/0.36 U52(tt(),V1,V2) -> U53(isLNatKind(activate(V2)),activate(V1),activate(V2)) 0.28/0.36 U53(tt(),V1,V2) -> U54(isLNatKind(activate(V2)),activate(V1),activate(V2)) 0.28/0.36 U54(tt(),V1,V2) -> U55(isNatural(activate(V1)),activate(V2)) 0.28/0.36 U55(tt(),V2) -> U56(isLNat(activate(V2))) 0.28/0.36 U56(tt()) -> tt() 0.28/0.36 U61(tt(),V1) -> U62(isPLNatKind(activate(V1)),activate(V1)) 0.28/0.36 U62(tt(),V1) -> U63(isPLNat(activate(V1))) 0.28/0.36 U63(tt()) -> tt() 0.28/0.36 U71(tt(),V1) -> U72(isNaturalKind(activate(V1)),activate(V1)) 0.28/0.36 U72(tt(),V1) -> U73(isNatural(activate(V1))) 0.28/0.36 U73(tt()) -> tt() 0.28/0.36 U81(tt(),V1) -> U82(isPLNatKind(activate(V1)),activate(V1)) 0.28/0.36 U82(tt(),V1) -> U83(isPLNat(activate(V1))) 0.28/0.36 U83(tt()) -> tt() 0.28/0.36 U91(tt(),V1) -> U92(isLNatKind(activate(V1)),activate(V1)) 0.28/0.36 U92(tt(),V1) -> U93(isLNat(activate(V1))) 0.28/0.36 U93(tt()) -> tt() 0.28/0.36 afterNth(N,XS) -> U11(isNatural(N),N,XS) 0.28/0.36 fst(pair(X,Y)) -> U21(isLNat(X),X,Y) 0.28/0.36 head(cons(N,XS)) -> U31(isNatural(N),N,activate(XS)) 0.28/0.36 isLNat(n__nil()) -> tt() 0.28/0.36 isLNat(n__afterNth(V1,V2)) -> U41(isNaturalKind(activate(V1)),activate(V1),activate(V2)) 0.28/0.36 isLNat(n__cons(V1,V2)) -> U51(isNaturalKind(activate(V1)),activate(V1),activate(V2)) 0.28/0.36 isLNat(n__fst(V1)) -> U61(isPLNatKind(activate(V1)),activate(V1)) 0.28/0.36 isLNat(n__natsFrom(V1)) -> U71(isNaturalKind(activate(V1)),activate(V1)) 0.28/0.36 isLNat(n__snd(V1)) -> U81(isPLNatKind(activate(V1)),activate(V1)) 0.28/0.36 isLNat(n__tail(V1)) -> U91(isLNatKind(activate(V1)),activate(V1)) 0.28/0.36 isLNat(n__take(V1,V2)) -> U101(isNaturalKind(activate(V1)),activate(V1),activate(V2)) 0.28/0.36 isLNatKind(n__nil()) -> tt() 0.28/0.36 isLNatKind(n__afterNth(V1,V2)) -> U111(isNaturalKind(activate(V1)),activate(V2)) 0.28/0.36 isLNatKind(n__cons(V1,V2)) -> U121(isNaturalKind(activate(V1)),activate(V2)) 0.28/0.36 isLNatKind(n__fst(V1)) -> U131(isPLNatKind(activate(V1))) 0.28/0.36 isLNatKind(n__natsFrom(V1)) -> U141(isNaturalKind(activate(V1))) 0.28/0.36 isLNatKind(n__snd(V1)) -> U151(isPLNatKind(activate(V1))) 0.28/0.36 isLNatKind(n__tail(V1)) -> U161(isLNatKind(activate(V1))) 0.28/0.36 isLNatKind(n__take(V1,V2)) -> U171(isNaturalKind(activate(V1)),activate(V2)) 0.28/0.36 isNatural(n__0()) -> tt() 0.28/0.36 isNatural(n__head(V1)) -> U181(isLNatKind(activate(V1)),activate(V1)) 0.28/0.36 isNatural(n__s(V1)) -> U191(isNaturalKind(activate(V1)),activate(V1)) 0.28/0.36 isNatural(n__sel(V1,V2)) -> U201(isNaturalKind(activate(V1)),activate(V1),activate(V2)) 0.28/0.36 isNaturalKind(n__0()) -> tt() 0.28/0.36 isNaturalKind(n__head(V1)) -> U211(isLNatKind(activate(V1))) 0.28/0.36 isNaturalKind(n__s(V1)) -> U221(isNaturalKind(activate(V1))) 0.28/0.36 isNaturalKind(n__sel(V1,V2)) -> U231(isNaturalKind(activate(V1)),activate(V2)) 0.28/0.36 isPLNat(n__pair(V1,V2)) -> U241(isLNatKind(activate(V1)),activate(V1),activate(V2)) 0.28/0.36 isPLNat(n__splitAt(V1,V2)) -> U251(isNaturalKind(activate(V1)),activate(V1),activate(V2)) 0.28/0.36 isPLNatKind(n__pair(V1,V2)) -> U261(isLNatKind(activate(V1)),activate(V2)) 0.28/0.36 isPLNatKind(n__splitAt(V1,V2)) -> U271(isNaturalKind(activate(V1)),activate(V2)) 0.28/0.36 natsFrom(N) -> U281(isNatural(N),N) 0.28/0.36 sel(N,XS) -> U291(isNatural(N),N,XS) 0.28/0.36 snd(pair(X,Y)) -> U301(isLNat(X),X,Y) 0.28/0.36 splitAt(0(),XS) -> U311(isLNat(XS),XS) 0.28/0.36 splitAt(s(N),cons(X,XS)) -> U321(isNatural(N),N,X,activate(XS)) 0.28/0.36 tail(cons(N,XS)) -> U331(isNatural(N),N,activate(XS)) 0.28/0.36 take(N,XS) -> U341(isNatural(N),N,XS) 0.28/0.36 natsFrom(X) -> n__natsFrom(X) 0.28/0.36 s(X) -> n__s(X) 0.28/0.36 nil() -> n__nil() 0.28/0.36 afterNth(X1,X2) -> n__afterNth(X1,X2) 0.28/0.36 cons(X1,X2) -> n__cons(X1,X2) 0.28/0.36 fst(X) -> n__fst(X) 0.28/0.36 snd(X) -> n__snd(X) 0.28/0.36 tail(X) -> n__tail(X) 0.28/0.36 take(X1,X2) -> n__take(X1,X2) 0.28/0.36 0() -> n__0() 0.28/0.36 head(X) -> n__head(X) 0.28/0.36 sel(X1,X2) -> n__sel(X1,X2) 0.28/0.36 pair(X1,X2) -> n__pair(X1,X2) 0.28/0.36 splitAt(X1,X2) -> n__splitAt(X1,X2) 0.28/0.36 activate(n__natsFrom(X)) -> natsFrom(activate(X)) 0.28/0.36 activate(n__s(X)) -> s(activate(X)) 0.28/0.36 activate(n__nil()) -> nil() 0.28/0.36 activate(n__afterNth(X1,X2)) -> afterNth(activate(X1),activate(X2)) 0.28/0.36 activate(n__cons(X1,X2)) -> cons(activate(X1),X2) 0.28/0.36 activate(n__fst(X)) -> fst(activate(X)) 0.28/0.36 activate(n__snd(X)) -> snd(activate(X)) 0.28/0.36 activate(n__tail(X)) -> tail(activate(X)) 0.28/0.36 activate(n__take(X1,X2)) -> take(activate(X1),activate(X2)) 0.28/0.36 activate(n__0()) -> 0() 0.28/0.36 activate(n__head(X)) -> head(activate(X)) 0.28/0.36 activate(n__sel(X1,X2)) -> sel(activate(X1),activate(X2)) 0.28/0.36 activate(n__pair(X1,X2)) -> pair(activate(X1),activate(X2)) 0.28/0.36 activate(n__splitAt(X1,X2)) -> splitAt(activate(X1),activate(X2)) 0.28/0.36 activate(X) -> X 0.28/0.36 0.28/0.36 Proof: 0.28/0.36 Open 0.28/0.37 EOF