/export/starexec/sandbox/solver/bin/starexec_run_ttt2-1.17+nonreach /export/starexec/sandbox/benchmark/theBenchmark.xml /export/starexec/sandbox/output/output_files -------------------------------------------------------------------------------- YES Problem: natsFrom(N) -> cons(N,n__natsFrom(s(N))) fst(pair(XS,YS)) -> XS snd(pair(XS,YS)) -> YS splitAt(0(),XS) -> pair(nil(),XS) splitAt(s(N),cons(X,XS)) -> u(splitAt(N,activate(XS)),N,X,activate(XS)) u(pair(YS,ZS),N,X,XS) -> pair(cons(activate(X),YS),ZS) head(cons(N,XS)) -> N tail(cons(N,XS)) -> activate(XS) sel(N,XS) -> head(afterNth(N,XS)) take(N,XS) -> fst(splitAt(N,XS)) afterNth(N,XS) -> snd(splitAt(N,XS)) natsFrom(X) -> n__natsFrom(X) activate(n__natsFrom(X)) -> natsFrom(X) activate(X) -> X Proof: DP Processor: DPs: splitAt#(s(N),cons(X,XS)) -> activate#(XS) splitAt#(s(N),cons(X,XS)) -> splitAt#(N,activate(XS)) splitAt#(s(N),cons(X,XS)) -> u#(splitAt(N,activate(XS)),N,X,activate(XS)) u#(pair(YS,ZS),N,X,XS) -> activate#(X) tail#(cons(N,XS)) -> activate#(XS) sel#(N,XS) -> afterNth#(N,XS) sel#(N,XS) -> head#(afterNth(N,XS)) take#(N,XS) -> splitAt#(N,XS) take#(N,XS) -> fst#(splitAt(N,XS)) afterNth#(N,XS) -> splitAt#(N,XS) afterNth#(N,XS) -> snd#(splitAt(N,XS)) activate#(n__natsFrom(X)) -> natsFrom#(X) TRS: natsFrom(N) -> cons(N,n__natsFrom(s(N))) fst(pair(XS,YS)) -> XS snd(pair(XS,YS)) -> YS splitAt(0(),XS) -> pair(nil(),XS) splitAt(s(N),cons(X,XS)) -> u(splitAt(N,activate(XS)),N,X,activate(XS)) u(pair(YS,ZS),N,X,XS) -> pair(cons(activate(X),YS),ZS) head(cons(N,XS)) -> N tail(cons(N,XS)) -> activate(XS) sel(N,XS) -> head(afterNth(N,XS)) take(N,XS) -> fst(splitAt(N,XS)) afterNth(N,XS) -> snd(splitAt(N,XS)) natsFrom(X) -> n__natsFrom(X) activate(n__natsFrom(X)) -> natsFrom(X) activate(X) -> X TDG Processor: DPs: splitAt#(s(N),cons(X,XS)) -> activate#(XS) splitAt#(s(N),cons(X,XS)) -> splitAt#(N,activate(XS)) splitAt#(s(N),cons(X,XS)) -> u#(splitAt(N,activate(XS)),N,X,activate(XS)) u#(pair(YS,ZS),N,X,XS) -> activate#(X) tail#(cons(N,XS)) -> activate#(XS) sel#(N,XS) -> afterNth#(N,XS) sel#(N,XS) -> head#(afterNth(N,XS)) take#(N,XS) -> splitAt#(N,XS) take#(N,XS) -> fst#(splitAt(N,XS)) afterNth#(N,XS) -> splitAt#(N,XS) afterNth#(N,XS) -> snd#(splitAt(N,XS)) activate#(n__natsFrom(X)) -> natsFrom#(X) TRS: natsFrom(N) -> cons(N,n__natsFrom(s(N))) fst(pair(XS,YS)) -> XS snd(pair(XS,YS)) -> YS splitAt(0(),XS) -> pair(nil(),XS) splitAt(s(N),cons(X,XS)) -> u(splitAt(N,activate(XS)),N,X,activate(XS)) u(pair(YS,ZS),N,X,XS) -> pair(cons(activate(X),YS),ZS) head(cons(N,XS)) -> N tail(cons(N,XS)) -> activate(XS) sel(N,XS) -> head(afterNth(N,XS)) take(N,XS) -> fst(splitAt(N,XS)) afterNth(N,XS) -> snd(splitAt(N,XS)) natsFrom(X) -> n__natsFrom(X) activate(n__natsFrom(X)) -> natsFrom(X) activate(X) -> X graph: take#(N,XS) -> splitAt#(N,XS) -> splitAt#(s(N),cons(X,XS)) -> u#(splitAt(N,activate(XS)),N,X,activate(XS)) take#(N,XS) -> splitAt#(N,XS) -> splitAt#(s(N),cons(X,XS)) -> splitAt#(N,activate(XS)) take#(N,XS) -> splitAt#(N,XS) -> splitAt#(s(N),cons(X,XS)) -> activate#(XS) afterNth#(N,XS) -> splitAt#(N,XS) -> splitAt#(s(N),cons(X,XS)) -> u#(splitAt(N,activate(XS)),N,X,activate(XS)) afterNth#(N,XS) -> splitAt#(N,XS) -> splitAt#(s(N),cons(X,XS)) -> splitAt#(N,activate(XS)) afterNth#(N,XS) -> splitAt#(N,XS) -> splitAt#(s(N),cons(X,XS)) -> activate#(XS) sel#(N,XS) -> afterNth#(N,XS) -> afterNth#(N,XS) -> snd#(splitAt(N,XS)) sel#(N,XS) -> afterNth#(N,XS) -> afterNth#(N,XS) -> splitAt#(N,XS) tail#(cons(N,XS)) -> activate#(XS) -> activate#(n__natsFrom(X)) -> natsFrom#(X) u#(pair(YS,ZS),N,X,XS) -> activate#(X) -> activate#(n__natsFrom(X)) -> natsFrom#(X) splitAt#(s(N),cons(X,XS)) -> u#(splitAt(N,activate(XS)),N,X,activate(XS)) -> u#(pair(YS,ZS),N,X,XS) -> activate#(X) splitAt#(s(N),cons(X,XS)) -> activate#(XS) -> activate#(n__natsFrom(X)) -> natsFrom#(X) splitAt#(s(N),cons(X,XS)) -> splitAt#(N,activate(XS)) -> splitAt#(s(N),cons(X,XS)) -> u#(splitAt(N,activate(XS)),N,X,activate(XS)) splitAt#(s(N),cons(X,XS)) -> splitAt#(N,activate(XS)) -> splitAt#(s(N),cons(X,XS)) -> splitAt#(N,activate(XS)) splitAt#(s(N),cons(X,XS)) -> splitAt#(N,activate(XS)) -> splitAt#(s(N),cons(X,XS)) -> activate#(XS) SCC Processor: #sccs: 1 #rules: 1 #arcs: 15/144 DPs: splitAt#(s(N),cons(X,XS)) -> splitAt#(N,activate(XS)) TRS: natsFrom(N) -> cons(N,n__natsFrom(s(N))) fst(pair(XS,YS)) -> XS snd(pair(XS,YS)) -> YS splitAt(0(),XS) -> pair(nil(),XS) splitAt(s(N),cons(X,XS)) -> u(splitAt(N,activate(XS)),N,X,activate(XS)) u(pair(YS,ZS),N,X,XS) -> pair(cons(activate(X),YS),ZS) head(cons(N,XS)) -> N tail(cons(N,XS)) -> activate(XS) sel(N,XS) -> head(afterNth(N,XS)) take(N,XS) -> fst(splitAt(N,XS)) afterNth(N,XS) -> snd(splitAt(N,XS)) natsFrom(X) -> n__natsFrom(X) activate(n__natsFrom(X)) -> natsFrom(X) activate(X) -> X Subterm Criterion Processor: simple projection: pi(splitAt#) = 0 problem: DPs: TRS: natsFrom(N) -> cons(N,n__natsFrom(s(N))) fst(pair(XS,YS)) -> XS snd(pair(XS,YS)) -> YS splitAt(0(),XS) -> pair(nil(),XS) splitAt(s(N),cons(X,XS)) -> u(splitAt(N,activate(XS)),N,X,activate(XS)) u(pair(YS,ZS),N,X,XS) -> pair(cons(activate(X),YS),ZS) head(cons(N,XS)) -> N tail(cons(N,XS)) -> activate(XS) sel(N,XS) -> head(afterNth(N,XS)) take(N,XS) -> fst(splitAt(N,XS)) afterNth(N,XS) -> snd(splitAt(N,XS)) natsFrom(X) -> n__natsFrom(X) activate(n__natsFrom(X)) -> natsFrom(X) activate(X) -> X Qed