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