/export/starexec/sandbox/solver/bin/starexec_run_default /export/starexec/sandbox/benchmark/theBenchmark.xml /export/starexec/sandbox/output/output_files -------------------------------------------------------------------------------- YES Problem 1: (VAR N X XS Y YS ZS) (RULES U11(tt,N,XS) -> U12(tt,activate(N),activate(XS)) U12(tt,N,XS) -> snd(splitAt(activate(N),activate(XS))) U21(tt,X) -> U22(tt,activate(X)) U22(tt,X) -> activate(X) U31(tt,N) -> U32(tt,activate(N)) U32(tt,N) -> activate(N) U41(tt,N,XS) -> U42(tt,activate(N),activate(XS)) U42(tt,N,XS) -> head(afterNth(activate(N),activate(XS))) U51(tt,Y) -> U52(tt,activate(Y)) U52(tt,Y) -> activate(Y) U61(tt,N,X,XS) -> U62(tt,activate(N),activate(X),activate(XS)) U62(tt,N,X,XS) -> U63(tt,activate(N),activate(X),activate(XS)) U63(tt,N,X,XS) -> U64(splitAt(activate(N),activate(XS)),activate(X)) U64(pair(YS,ZS),X) -> pair(cons(activate(X),YS),ZS) U71(tt,XS) -> U72(tt,activate(XS)) U72(tt,XS) -> activate(XS) U81(tt,N,XS) -> U82(tt,activate(N),activate(XS)) U82(tt,N,XS) -> fst(splitAt(activate(N),activate(XS))) activate(n__natsFrom(X)) -> natsFrom(activate(X)) activate(n__s(X)) -> s(activate(X)) activate(X) -> X afterNth(N,XS) -> U11(tt,N,XS) fst(pair(X,Y)) -> U21(tt,X) head(cons(N,XS)) -> U31(tt,N) natsFrom(N) -> cons(N,n__natsFrom(n__s(N))) natsFrom(X) -> n__natsFrom(X) s(X) -> n__s(X) sel(N,XS) -> U41(tt,N,XS) snd(pair(X,Y)) -> U51(tt,Y) splitAt(s(N),cons(X,XS)) -> U61(tt,N,X,activate(XS)) splitAt(0,XS) -> pair(nil,XS) tail(cons(N,XS)) -> U71(tt,activate(XS)) take(N,XS) -> U81(tt,N,XS) ) Problem 1: Dependency Pairs Processor: -> Pairs: U11#(tt,N,XS) -> U12#(tt,activate(N),activate(XS)) U11#(tt,N,XS) -> ACTIVATE(N) U11#(tt,N,XS) -> ACTIVATE(XS) U12#(tt,N,XS) -> ACTIVATE(N) U12#(tt,N,XS) -> ACTIVATE(XS) U12#(tt,N,XS) -> SND(splitAt(activate(N),activate(XS))) U12#(tt,N,XS) -> SPLITAT(activate(N),activate(XS)) U21#(tt,X) -> U22#(tt,activate(X)) U21#(tt,X) -> ACTIVATE(X) U22#(tt,X) -> ACTIVATE(X) U31#(tt,N) -> U32#(tt,activate(N)) U31#(tt,N) -> ACTIVATE(N) U32#(tt,N) -> ACTIVATE(N) U41#(tt,N,XS) -> U42#(tt,activate(N),activate(XS)) U41#(tt,N,XS) -> ACTIVATE(N) U41#(tt,N,XS) -> ACTIVATE(XS) U42#(tt,N,XS) -> ACTIVATE(N) U42#(tt,N,XS) -> ACTIVATE(XS) U42#(tt,N,XS) -> AFTERNTH(activate(N),activate(XS)) U42#(tt,N,XS) -> HEAD(afterNth(activate(N),activate(XS))) U51#(tt,Y) -> U52#(tt,activate(Y)) U51#(tt,Y) -> ACTIVATE(Y) U52#(tt,Y) -> ACTIVATE(Y) U61#(tt,N,X,XS) -> U62#(tt,activate(N),activate(X),activate(XS)) U61#(tt,N,X,XS) -> ACTIVATE(N) U61#(tt,N,X,XS) -> ACTIVATE(X) U61#(tt,N,X,XS) -> ACTIVATE(XS) U62#(tt,N,X,XS) -> U63#(tt,activate(N),activate(X),activate(XS)) U62#(tt,N,X,XS) -> ACTIVATE(N) U62#(tt,N,X,XS) -> ACTIVATE(X) U62#(tt,N,X,XS) -> ACTIVATE(XS) U63#(tt,N,X,XS) -> U64#(splitAt(activate(N),activate(XS)),activate(X)) U63#(tt,N,X,XS) -> ACTIVATE(N) U63#(tt,N,X,XS) -> ACTIVATE(X) U63#(tt,N,X,XS) -> ACTIVATE(XS) U63#(tt,N,X,XS) -> SPLITAT(activate(N),activate(XS)) U64#(pair(YS,ZS),X) -> ACTIVATE(X) U71#(tt,XS) -> U72#(tt,activate(XS)) U71#(tt,XS) -> ACTIVATE(XS) U72#(tt,XS) -> ACTIVATE(XS) U81#(tt,N,XS) -> U82#(tt,activate(N),activate(XS)) U81#(tt,N,XS) -> ACTIVATE(N) U81#(tt,N,XS) -> ACTIVATE(XS) U82#(tt,N,XS) -> ACTIVATE(N) U82#(tt,N,XS) -> ACTIVATE(XS) U82#(tt,N,XS) -> FST(splitAt(activate(N),activate(XS))) U82#(tt,N,XS) -> SPLITAT(activate(N),activate(XS)) ACTIVATE(n__natsFrom(X)) -> ACTIVATE(X) ACTIVATE(n__natsFrom(X)) -> NATSFROM(activate(X)) ACTIVATE(n__s(X)) -> ACTIVATE(X) ACTIVATE(n__s(X)) -> S(activate(X)) AFTERNTH(N,XS) -> U11#(tt,N,XS) FST(pair(X,Y)) -> U21#(tt,X) HEAD(cons(N,XS)) -> U31#(tt,N) SEL(N,XS) -> U41#(tt,N,XS) SND(pair(X,Y)) -> U51#(tt,Y) SPLITAT(s(N),cons(X,XS)) -> U61#(tt,N,X,activate(XS)) SPLITAT(s(N),cons(X,XS)) -> ACTIVATE(XS) TAIL(cons(N,XS)) -> U71#(tt,activate(XS)) TAIL(cons(N,XS)) -> ACTIVATE(XS) TAKE(N,XS) -> U81#(tt,N,XS) -> Rules: U11(tt,N,XS) -> U12(tt,activate(N),activate(XS)) U12(tt,N,XS) -> snd(splitAt(activate(N),activate(XS))) U21(tt,X) -> U22(tt,activate(X)) U22(tt,X) -> activate(X) U31(tt,N) -> U32(tt,activate(N)) U32(tt,N) -> activate(N) U41(tt,N,XS) -> U42(tt,activate(N),activate(XS)) U42(tt,N,XS) -> head(afterNth(activate(N),activate(XS))) U51(tt,Y) -> U52(tt,activate(Y)) U52(tt,Y) -> activate(Y) U61(tt,N,X,XS) -> U62(tt,activate(N),activate(X),activate(XS)) U62(tt,N,X,XS) -> U63(tt,activate(N),activate(X),activate(XS)) U63(tt,N,X,XS) -> U64(splitAt(activate(N),activate(XS)),activate(X)) U64(pair(YS,ZS),X) -> pair(cons(activate(X),YS),ZS) U71(tt,XS) -> U72(tt,activate(XS)) U72(tt,XS) -> activate(XS) U81(tt,N,XS) -> U82(tt,activate(N),activate(XS)) U82(tt,N,XS) -> fst(splitAt(activate(N),activate(XS))) activate(n__natsFrom(X)) -> natsFrom(activate(X)) activate(n__s(X)) -> s(activate(X)) activate(X) -> X afterNth(N,XS) -> U11(tt,N,XS) fst(pair(X,Y)) -> U21(tt,X) head(cons(N,XS)) -> U31(tt,N) natsFrom(N) -> cons(N,n__natsFrom(n__s(N))) natsFrom(X) -> n__natsFrom(X) s(X) -> n__s(X) sel(N,XS) -> U41(tt,N,XS) snd(pair(X,Y)) -> U51(tt,Y) splitAt(s(N),cons(X,XS)) -> U61(tt,N,X,activate(XS)) splitAt(0,XS) -> pair(nil,XS) tail(cons(N,XS)) -> U71(tt,activate(XS)) take(N,XS) -> U81(tt,N,XS) Problem 1: SCC Processor: -> Pairs: U11#(tt,N,XS) -> U12#(tt,activate(N),activate(XS)) U11#(tt,N,XS) -> ACTIVATE(N) U11#(tt,N,XS) -> ACTIVATE(XS) U12#(tt,N,XS) -> ACTIVATE(N) U12#(tt,N,XS) -> ACTIVATE(XS) U12#(tt,N,XS) -> SND(splitAt(activate(N),activate(XS))) U12#(tt,N,XS) -> SPLITAT(activate(N),activate(XS)) U21#(tt,X) -> U22#(tt,activate(X)) U21#(tt,X) -> ACTIVATE(X) U22#(tt,X) -> ACTIVATE(X) U31#(tt,N) -> U32#(tt,activate(N)) U31#(tt,N) -> ACTIVATE(N) U32#(tt,N) -> ACTIVATE(N) U41#(tt,N,XS) -> U42#(tt,activate(N),activate(XS)) U41#(tt,N,XS) -> ACTIVATE(N) U41#(tt,N,XS) -> ACTIVATE(XS) U42#(tt,N,XS) -> ACTIVATE(N) U42#(tt,N,XS) -> ACTIVATE(XS) U42#(tt,N,XS) -> AFTERNTH(activate(N),activate(XS)) U42#(tt,N,XS) -> HEAD(afterNth(activate(N),activate(XS))) U51#(tt,Y) -> U52#(tt,activate(Y)) U51#(tt,Y) -> ACTIVATE(Y) U52#(tt,Y) -> ACTIVATE(Y) U61#(tt,N,X,XS) -> U62#(tt,activate(N),activate(X),activate(XS)) U61#(tt,N,X,XS) -> ACTIVATE(N) U61#(tt,N,X,XS) -> ACTIVATE(X) U61#(tt,N,X,XS) -> ACTIVATE(XS) U62#(tt,N,X,XS) -> U63#(tt,activate(N),activate(X),activate(XS)) U62#(tt,N,X,XS) -> ACTIVATE(N) U62#(tt,N,X,XS) -> ACTIVATE(X) U62#(tt,N,X,XS) -> ACTIVATE(XS) U63#(tt,N,X,XS) -> U64#(splitAt(activate(N),activate(XS)),activate(X)) U63#(tt,N,X,XS) -> ACTIVATE(N) U63#(tt,N,X,XS) -> ACTIVATE(X) U63#(tt,N,X,XS) -> ACTIVATE(XS) U63#(tt,N,X,XS) -> SPLITAT(activate(N),activate(XS)) U64#(pair(YS,ZS),X) -> ACTIVATE(X) U71#(tt,XS) -> U72#(tt,activate(XS)) U71#(tt,XS) -> ACTIVATE(XS) U72#(tt,XS) -> ACTIVATE(XS) U81#(tt,N,XS) -> U82#(tt,activate(N),activate(XS)) U81#(tt,N,XS) -> ACTIVATE(N) U81#(tt,N,XS) -> ACTIVATE(XS) U82#(tt,N,XS) -> ACTIVATE(N) U82#(tt,N,XS) -> ACTIVATE(XS) U82#(tt,N,XS) -> FST(splitAt(activate(N),activate(XS))) U82#(tt,N,XS) -> SPLITAT(activate(N),activate(XS)) ACTIVATE(n__natsFrom(X)) -> ACTIVATE(X) ACTIVATE(n__natsFrom(X)) -> NATSFROM(activate(X)) ACTIVATE(n__s(X)) -> ACTIVATE(X) ACTIVATE(n__s(X)) -> S(activate(X)) AFTERNTH(N,XS) -> U11#(tt,N,XS) FST(pair(X,Y)) -> U21#(tt,X) HEAD(cons(N,XS)) -> U31#(tt,N) SEL(N,XS) -> U41#(tt,N,XS) SND(pair(X,Y)) -> U51#(tt,Y) SPLITAT(s(N),cons(X,XS)) -> U61#(tt,N,X,activate(XS)) SPLITAT(s(N),cons(X,XS)) -> ACTIVATE(XS) TAIL(cons(N,XS)) -> U71#(tt,activate(XS)) TAIL(cons(N,XS)) -> ACTIVATE(XS) TAKE(N,XS) -> U81#(tt,N,XS) -> Rules: U11(tt,N,XS) -> U12(tt,activate(N),activate(XS)) U12(tt,N,XS) -> snd(splitAt(activate(N),activate(XS))) U21(tt,X) -> U22(tt,activate(X)) U22(tt,X) -> activate(X) U31(tt,N) -> U32(tt,activate(N)) U32(tt,N) -> activate(N) U41(tt,N,XS) -> U42(tt,activate(N),activate(XS)) U42(tt,N,XS) -> head(afterNth(activate(N),activate(XS))) U51(tt,Y) -> U52(tt,activate(Y)) U52(tt,Y) -> activate(Y) U61(tt,N,X,XS) -> U62(tt,activate(N),activate(X),activate(XS)) U62(tt,N,X,XS) -> U63(tt,activate(N),activate(X),activate(XS)) U63(tt,N,X,XS) -> U64(splitAt(activate(N),activate(XS)),activate(X)) U64(pair(YS,ZS),X) -> pair(cons(activate(X),YS),ZS) U71(tt,XS) -> U72(tt,activate(XS)) U72(tt,XS) -> activate(XS) U81(tt,N,XS) -> U82(tt,activate(N),activate(XS)) U82(tt,N,XS) -> fst(splitAt(activate(N),activate(XS))) activate(n__natsFrom(X)) -> natsFrom(activate(X)) activate(n__s(X)) -> s(activate(X)) activate(X) -> X afterNth(N,XS) -> U11(tt,N,XS) fst(pair(X,Y)) -> U21(tt,X) head(cons(N,XS)) -> U31(tt,N) natsFrom(N) -> cons(N,n__natsFrom(n__s(N))) natsFrom(X) -> n__natsFrom(X) s(X) -> n__s(X) sel(N,XS) -> U41(tt,N,XS) snd(pair(X,Y)) -> U51(tt,Y) splitAt(s(N),cons(X,XS)) -> U61(tt,N,X,activate(XS)) splitAt(0,XS) -> pair(nil,XS) tail(cons(N,XS)) -> U71(tt,activate(XS)) take(N,XS) -> U81(tt,N,XS) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: ACTIVATE(n__natsFrom(X)) -> ACTIVATE(X) ACTIVATE(n__s(X)) -> ACTIVATE(X) ->->-> Rules: U11(tt,N,XS) -> U12(tt,activate(N),activate(XS)) U12(tt,N,XS) -> snd(splitAt(activate(N),activate(XS))) U21(tt,X) -> U22(tt,activate(X)) U22(tt,X) -> activate(X) U31(tt,N) -> U32(tt,activate(N)) U32(tt,N) -> activate(N) U41(tt,N,XS) -> U42(tt,activate(N),activate(XS)) U42(tt,N,XS) -> head(afterNth(activate(N),activate(XS))) U51(tt,Y) -> U52(tt,activate(Y)) U52(tt,Y) -> activate(Y) U61(tt,N,X,XS) -> U62(tt,activate(N),activate(X),activate(XS)) U62(tt,N,X,XS) -> U63(tt,activate(N),activate(X),activate(XS)) U63(tt,N,X,XS) -> U64(splitAt(activate(N),activate(XS)),activate(X)) U64(pair(YS,ZS),X) -> pair(cons(activate(X),YS),ZS) U71(tt,XS) -> U72(tt,activate(XS)) U72(tt,XS) -> activate(XS) U81(tt,N,XS) -> U82(tt,activate(N),activate(XS)) U82(tt,N,XS) -> fst(splitAt(activate(N),activate(XS))) activate(n__natsFrom(X)) -> natsFrom(activate(X)) activate(n__s(X)) -> s(activate(X)) activate(X) -> X afterNth(N,XS) -> U11(tt,N,XS) fst(pair(X,Y)) -> U21(tt,X) head(cons(N,XS)) -> U31(tt,N) natsFrom(N) -> cons(N,n__natsFrom(n__s(N))) natsFrom(X) -> n__natsFrom(X) s(X) -> n__s(X) sel(N,XS) -> U41(tt,N,XS) snd(pair(X,Y)) -> U51(tt,Y) splitAt(s(N),cons(X,XS)) -> U61(tt,N,X,activate(XS)) splitAt(0,XS) -> pair(nil,XS) tail(cons(N,XS)) -> U71(tt,activate(XS)) take(N,XS) -> U81(tt,N,XS) ->->Cycle: ->->-> Pairs: U61#(tt,N,X,XS) -> U62#(tt,activate(N),activate(X),activate(XS)) U62#(tt,N,X,XS) -> U63#(tt,activate(N),activate(X),activate(XS)) U63#(tt,N,X,XS) -> SPLITAT(activate(N),activate(XS)) SPLITAT(s(N),cons(X,XS)) -> U61#(tt,N,X,activate(XS)) ->->-> Rules: U11(tt,N,XS) -> U12(tt,activate(N),activate(XS)) U12(tt,N,XS) -> snd(splitAt(activate(N),activate(XS))) U21(tt,X) -> U22(tt,activate(X)) U22(tt,X) -> activate(X) U31(tt,N) -> U32(tt,activate(N)) U32(tt,N) -> activate(N) U41(tt,N,XS) -> U42(tt,activate(N),activate(XS)) U42(tt,N,XS) -> head(afterNth(activate(N),activate(XS))) U51(tt,Y) -> U52(tt,activate(Y)) U52(tt,Y) -> activate(Y) U61(tt,N,X,XS) -> U62(tt,activate(N),activate(X),activate(XS)) U62(tt,N,X,XS) -> U63(tt,activate(N),activate(X),activate(XS)) U63(tt,N,X,XS) -> U64(splitAt(activate(N),activate(XS)),activate(X)) U64(pair(YS,ZS),X) -> pair(cons(activate(X),YS),ZS) U71(tt,XS) -> U72(tt,activate(XS)) U72(tt,XS) -> activate(XS) U81(tt,N,XS) -> U82(tt,activate(N),activate(XS)) U82(tt,N,XS) -> fst(splitAt(activate(N),activate(XS))) activate(n__natsFrom(X)) -> natsFrom(activate(X)) activate(n__s(X)) -> s(activate(X)) activate(X) -> X afterNth(N,XS) -> U11(tt,N,XS) fst(pair(X,Y)) -> U21(tt,X) head(cons(N,XS)) -> U31(tt,N) natsFrom(N) -> cons(N,n__natsFrom(n__s(N))) natsFrom(X) -> n__natsFrom(X) s(X) -> n__s(X) sel(N,XS) -> U41(tt,N,XS) snd(pair(X,Y)) -> U51(tt,Y) splitAt(s(N),cons(X,XS)) -> U61(tt,N,X,activate(XS)) splitAt(0,XS) -> pair(nil,XS) tail(cons(N,XS)) -> U71(tt,activate(XS)) take(N,XS) -> U81(tt,N,XS) The problem is decomposed in 2 subproblems. Problem 1.1: Subterm Processor: -> Pairs: ACTIVATE(n__natsFrom(X)) -> ACTIVATE(X) ACTIVATE(n__s(X)) -> ACTIVATE(X) -> Rules: U11(tt,N,XS) -> U12(tt,activate(N),activate(XS)) U12(tt,N,XS) -> snd(splitAt(activate(N),activate(XS))) U21(tt,X) -> U22(tt,activate(X)) U22(tt,X) -> activate(X) U31(tt,N) -> U32(tt,activate(N)) U32(tt,N) -> activate(N) U41(tt,N,XS) -> U42(tt,activate(N),activate(XS)) U42(tt,N,XS) -> head(afterNth(activate(N),activate(XS))) U51(tt,Y) -> U52(tt,activate(Y)) U52(tt,Y) -> activate(Y) U61(tt,N,X,XS) -> U62(tt,activate(N),activate(X),activate(XS)) U62(tt,N,X,XS) -> U63(tt,activate(N),activate(X),activate(XS)) U63(tt,N,X,XS) -> U64(splitAt(activate(N),activate(XS)),activate(X)) U64(pair(YS,ZS),X) -> pair(cons(activate(X),YS),ZS) U71(tt,XS) -> U72(tt,activate(XS)) U72(tt,XS) -> activate(XS) U81(tt,N,XS) -> U82(tt,activate(N),activate(XS)) U82(tt,N,XS) -> fst(splitAt(activate(N),activate(XS))) activate(n__natsFrom(X)) -> natsFrom(activate(X)) activate(n__s(X)) -> s(activate(X)) activate(X) -> X afterNth(N,XS) -> U11(tt,N,XS) fst(pair(X,Y)) -> U21(tt,X) head(cons(N,XS)) -> U31(tt,N) natsFrom(N) -> cons(N,n__natsFrom(n__s(N))) natsFrom(X) -> n__natsFrom(X) s(X) -> n__s(X) sel(N,XS) -> U41(tt,N,XS) snd(pair(X,Y)) -> U51(tt,Y) splitAt(s(N),cons(X,XS)) -> U61(tt,N,X,activate(XS)) splitAt(0,XS) -> pair(nil,XS) tail(cons(N,XS)) -> U71(tt,activate(XS)) take(N,XS) -> U81(tt,N,XS) ->Projection: pi(ACTIVATE) = 1 Problem 1.1: SCC Processor: -> Pairs: Empty -> Rules: U11(tt,N,XS) -> U12(tt,activate(N),activate(XS)) U12(tt,N,XS) -> snd(splitAt(activate(N),activate(XS))) U21(tt,X) -> U22(tt,activate(X)) U22(tt,X) -> activate(X) U31(tt,N) -> U32(tt,activate(N)) U32(tt,N) -> activate(N) U41(tt,N,XS) -> U42(tt,activate(N),activate(XS)) U42(tt,N,XS) -> head(afterNth(activate(N),activate(XS))) U51(tt,Y) -> U52(tt,activate(Y)) U52(tt,Y) -> activate(Y) U61(tt,N,X,XS) -> U62(tt,activate(N),activate(X),activate(XS)) U62(tt,N,X,XS) -> U63(tt,activate(N),activate(X),activate(XS)) U63(tt,N,X,XS) -> U64(splitAt(activate(N),activate(XS)),activate(X)) U64(pair(YS,ZS),X) -> pair(cons(activate(X),YS),ZS) U71(tt,XS) -> U72(tt,activate(XS)) U72(tt,XS) -> activate(XS) U81(tt,N,XS) -> U82(tt,activate(N),activate(XS)) U82(tt,N,XS) -> fst(splitAt(activate(N),activate(XS))) activate(n__natsFrom(X)) -> natsFrom(activate(X)) activate(n__s(X)) -> s(activate(X)) activate(X) -> X afterNth(N,XS) -> U11(tt,N,XS) fst(pair(X,Y)) -> U21(tt,X) head(cons(N,XS)) -> U31(tt,N) natsFrom(N) -> cons(N,n__natsFrom(n__s(N))) natsFrom(X) -> n__natsFrom(X) s(X) -> n__s(X) sel(N,XS) -> U41(tt,N,XS) snd(pair(X,Y)) -> U51(tt,Y) splitAt(s(N),cons(X,XS)) -> U61(tt,N,X,activate(XS)) splitAt(0,XS) -> pair(nil,XS) tail(cons(N,XS)) -> U71(tt,activate(XS)) take(N,XS) -> U81(tt,N,XS) ->Strongly Connected Components: There is no strongly connected component The problem is finite. Problem 1.2: Reduction Pair Processor: -> Pairs: U61#(tt,N,X,XS) -> U62#(tt,activate(N),activate(X),activate(XS)) U62#(tt,N,X,XS) -> U63#(tt,activate(N),activate(X),activate(XS)) U63#(tt,N,X,XS) -> SPLITAT(activate(N),activate(XS)) SPLITAT(s(N),cons(X,XS)) -> U61#(tt,N,X,activate(XS)) -> Rules: U11(tt,N,XS) -> U12(tt,activate(N),activate(XS)) U12(tt,N,XS) -> snd(splitAt(activate(N),activate(XS))) U21(tt,X) -> U22(tt,activate(X)) U22(tt,X) -> activate(X) U31(tt,N) -> U32(tt,activate(N)) U32(tt,N) -> activate(N) U41(tt,N,XS) -> U42(tt,activate(N),activate(XS)) U42(tt,N,XS) -> head(afterNth(activate(N),activate(XS))) U51(tt,Y) -> U52(tt,activate(Y)) U52(tt,Y) -> activate(Y) U61(tt,N,X,XS) -> U62(tt,activate(N),activate(X),activate(XS)) U62(tt,N,X,XS) -> U63(tt,activate(N),activate(X),activate(XS)) U63(tt,N,X,XS) -> U64(splitAt(activate(N),activate(XS)),activate(X)) U64(pair(YS,ZS),X) -> pair(cons(activate(X),YS),ZS) U71(tt,XS) -> U72(tt,activate(XS)) U72(tt,XS) -> activate(XS) U81(tt,N,XS) -> U82(tt,activate(N),activate(XS)) U82(tt,N,XS) -> fst(splitAt(activate(N),activate(XS))) activate(n__natsFrom(X)) -> natsFrom(activate(X)) activate(n__s(X)) -> s(activate(X)) activate(X) -> X afterNth(N,XS) -> U11(tt,N,XS) fst(pair(X,Y)) -> U21(tt,X) head(cons(N,XS)) -> U31(tt,N) natsFrom(N) -> cons(N,n__natsFrom(n__s(N))) natsFrom(X) -> n__natsFrom(X) s(X) -> n__s(X) sel(N,XS) -> U41(tt,N,XS) snd(pair(X,Y)) -> U51(tt,Y) splitAt(s(N),cons(X,XS)) -> U61(tt,N,X,activate(XS)) splitAt(0,XS) -> pair(nil,XS) tail(cons(N,XS)) -> U71(tt,activate(XS)) take(N,XS) -> U81(tt,N,XS) -> Usable rules: activate(n__natsFrom(X)) -> natsFrom(activate(X)) activate(n__s(X)) -> s(activate(X)) activate(X) -> X natsFrom(N) -> cons(N,n__natsFrom(n__s(N))) natsFrom(X) -> n__natsFrom(X) s(X) -> n__s(X) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [activate](X) = X [natsFrom](X) = 0 [s](X) = 2.X + 2 [cons](X1,X2) = X2 [n__natsFrom](X) = 0 [n__s](X) = 2.X + 2 [tt] = 2 [U61#](X1,X2,X3,X4) = 2.X1 + 2.X2 + 2.X4 + 2 [U62#](X1,X2,X3,X4) = 2.X1 + 2.X2 + 2.X4 + 1 [U63#](X1,X2,X3,X4) = 2.X1 + 2.X2 + 2.X4 + 1 [SPLITAT](X1,X2) = 2.X1 + 2.X2 + 2 Problem 1.2: SCC Processor: -> Pairs: U62#(tt,N,X,XS) -> U63#(tt,activate(N),activate(X),activate(XS)) U63#(tt,N,X,XS) -> SPLITAT(activate(N),activate(XS)) SPLITAT(s(N),cons(X,XS)) -> U61#(tt,N,X,activate(XS)) -> Rules: U11(tt,N,XS) -> U12(tt,activate(N),activate(XS)) U12(tt,N,XS) -> snd(splitAt(activate(N),activate(XS))) U21(tt,X) -> U22(tt,activate(X)) U22(tt,X) -> activate(X) U31(tt,N) -> U32(tt,activate(N)) U32(tt,N) -> activate(N) U41(tt,N,XS) -> U42(tt,activate(N),activate(XS)) U42(tt,N,XS) -> head(afterNth(activate(N),activate(XS))) U51(tt,Y) -> U52(tt,activate(Y)) U52(tt,Y) -> activate(Y) U61(tt,N,X,XS) -> U62(tt,activate(N),activate(X),activate(XS)) U62(tt,N,X,XS) -> U63(tt,activate(N),activate(X),activate(XS)) U63(tt,N,X,XS) -> U64(splitAt(activate(N),activate(XS)),activate(X)) U64(pair(YS,ZS),X) -> pair(cons(activate(X),YS),ZS) U71(tt,XS) -> U72(tt,activate(XS)) U72(tt,XS) -> activate(XS) U81(tt,N,XS) -> U82(tt,activate(N),activate(XS)) U82(tt,N,XS) -> fst(splitAt(activate(N),activate(XS))) activate(n__natsFrom(X)) -> natsFrom(activate(X)) activate(n__s(X)) -> s(activate(X)) activate(X) -> X afterNth(N,XS) -> U11(tt,N,XS) fst(pair(X,Y)) -> U21(tt,X) head(cons(N,XS)) -> U31(tt,N) natsFrom(N) -> cons(N,n__natsFrom(n__s(N))) natsFrom(X) -> n__natsFrom(X) s(X) -> n__s(X) sel(N,XS) -> U41(tt,N,XS) snd(pair(X,Y)) -> U51(tt,Y) splitAt(s(N),cons(X,XS)) -> U61(tt,N,X,activate(XS)) splitAt(0,XS) -> pair(nil,XS) tail(cons(N,XS)) -> U71(tt,activate(XS)) take(N,XS) -> U81(tt,N,XS) ->Strongly Connected Components: There is no strongly connected component The problem is finite.