0.00/0.01 YES 0.00/0.01 0.00/0.01 Problem 1: 0.00/0.01 0.00/0.01 (VAR N X XS YS ZS) 0.00/0.01 (STRATEGY CONTEXTSENSITIVE 0.00/0.01 (afterNth 1 2) 0.00/0.01 (fst 1) 0.00/0.01 (head 1) 0.00/0.01 (natsFrom 1) 0.00/0.01 (sel 1 2) 0.00/0.01 (snd 1) 0.00/0.01 (splitAt 1 2) 0.00/0.01 (tail 1) 0.00/0.01 (take 1 2) 0.00/0.01 (u 1) 0.00/0.01 (0) 0.00/0.01 (cons 1) 0.00/0.01 (nil) 0.00/0.01 (pair 1 2) 0.00/0.01 (s 1) 0.00/0.01 ) 0.00/0.01 (RULES 0.00/0.01 afterNth(N,XS) -> snd(splitAt(N,XS)) 0.00/0.01 fst(pair(XS,YS)) -> XS 0.00/0.01 head(cons(N,XS)) -> N 0.00/0.01 natsFrom(N) -> cons(N,natsFrom(s(N))) 0.00/0.01 sel(N,XS) -> head(afterNth(N,XS)) 0.00/0.01 snd(pair(XS,YS)) -> YS 0.00/0.01 splitAt(0,XS) -> pair(nil,XS) 0.00/0.01 splitAt(s(N),cons(X,XS)) -> u(splitAt(N,XS),N,X,XS) 0.00/0.01 tail(cons(N,XS)) -> XS 0.00/0.01 take(N,XS) -> fst(splitAt(N,XS)) 0.00/0.01 u(pair(YS,ZS),N,X,XS) -> pair(cons(X,YS),ZS) 0.00/0.01 ) 0.00/0.01 0.00/0.01 Problem 1: 0.00/0.01 0.00/0.01 Innermost Equivalent Processor: 0.00/0.01 -> Rules: 0.00/0.01 afterNth(N,XS) -> snd(splitAt(N,XS)) 0.00/0.01 fst(pair(XS,YS)) -> XS 0.00/0.01 head(cons(N,XS)) -> N 0.00/0.01 natsFrom(N) -> cons(N,natsFrom(s(N))) 0.00/0.01 sel(N,XS) -> head(afterNth(N,XS)) 0.00/0.01 snd(pair(XS,YS)) -> YS 0.00/0.01 splitAt(0,XS) -> pair(nil,XS) 0.00/0.01 splitAt(s(N),cons(X,XS)) -> u(splitAt(N,XS),N,X,XS) 0.00/0.01 tail(cons(N,XS)) -> XS 0.00/0.01 take(N,XS) -> fst(splitAt(N,XS)) 0.00/0.01 u(pair(YS,ZS),N,X,XS) -> pair(cons(X,YS),ZS) 0.00/0.01 -> The context-sensitive term rewriting system is an orthogonal system. Therefore, innermost cs-termination implies cs-termination. 0.00/0.01 0.00/0.01 0.00/0.01 Problem 1: 0.00/0.01 0.00/0.01 Dependency Pairs Processor: 0.00/0.01 -> Pairs: 0.00/0.01 AFTERNTH(N,XS) -> SND(splitAt(N,XS)) 0.00/0.01 AFTERNTH(N,XS) -> SPLITAT(N,XS) 0.00/0.01 SEL(N,XS) -> AFTERNTH(N,XS) 0.00/0.01 SEL(N,XS) -> HEAD(afterNth(N,XS)) 0.00/0.01 SPLITAT(s(N),cons(X,XS)) -> SPLITAT(N,XS) 0.00/0.01 SPLITAT(s(N),cons(X,XS)) -> U(splitAt(N,XS),N,X,XS) 0.00/0.01 SPLITAT(s(N),cons(X,XS)) -> XS 0.00/0.01 TAIL(cons(N,XS)) -> XS 0.00/0.01 TAKE(N,XS) -> FST(splitAt(N,XS)) 0.00/0.01 TAKE(N,XS) -> SPLITAT(N,XS) 0.00/0.01 U(pair(YS,ZS),N,X,XS) -> X 0.00/0.01 -> Rules: 0.00/0.01 afterNth(N,XS) -> snd(splitAt(N,XS)) 0.00/0.01 fst(pair(XS,YS)) -> XS 0.00/0.01 head(cons(N,XS)) -> N 0.00/0.01 natsFrom(N) -> cons(N,natsFrom(s(N))) 0.00/0.01 sel(N,XS) -> head(afterNth(N,XS)) 0.00/0.01 snd(pair(XS,YS)) -> YS 0.00/0.01 splitAt(0,XS) -> pair(nil,XS) 0.00/0.01 splitAt(s(N),cons(X,XS)) -> u(splitAt(N,XS),N,X,XS) 0.00/0.01 tail(cons(N,XS)) -> XS 0.00/0.01 take(N,XS) -> fst(splitAt(N,XS)) 0.00/0.01 u(pair(YS,ZS),N,X,XS) -> pair(cons(X,YS),ZS) 0.00/0.01 -> Unhiding Rules: 0.00/0.01 natsFrom(s(N)) -> NATSFROM(s(N)) 0.00/0.01 0.00/0.01 Problem 1: 0.00/0.01 0.00/0.01 SCC Processor: 0.00/0.01 -> Pairs: 0.00/0.01 AFTERNTH(N,XS) -> SND(splitAt(N,XS)) 0.00/0.01 AFTERNTH(N,XS) -> SPLITAT(N,XS) 0.00/0.01 SEL(N,XS) -> AFTERNTH(N,XS) 0.00/0.01 SEL(N,XS) -> HEAD(afterNth(N,XS)) 0.00/0.01 SPLITAT(s(N),cons(X,XS)) -> SPLITAT(N,XS) 0.00/0.01 SPLITAT(s(N),cons(X,XS)) -> U(splitAt(N,XS),N,X,XS) 0.00/0.01 SPLITAT(s(N),cons(X,XS)) -> XS 0.00/0.01 TAIL(cons(N,XS)) -> XS 0.00/0.01 TAKE(N,XS) -> FST(splitAt(N,XS)) 0.00/0.01 TAKE(N,XS) -> SPLITAT(N,XS) 0.00/0.01 U(pair(YS,ZS),N,X,XS) -> X 0.00/0.01 -> Rules: 0.00/0.01 afterNth(N,XS) -> snd(splitAt(N,XS)) 0.00/0.01 fst(pair(XS,YS)) -> XS 0.00/0.01 head(cons(N,XS)) -> N 0.00/0.01 natsFrom(N) -> cons(N,natsFrom(s(N))) 0.00/0.01 sel(N,XS) -> head(afterNth(N,XS)) 0.00/0.01 snd(pair(XS,YS)) -> YS 0.00/0.01 splitAt(0,XS) -> pair(nil,XS) 0.00/0.01 splitAt(s(N),cons(X,XS)) -> u(splitAt(N,XS),N,X,XS) 0.00/0.01 tail(cons(N,XS)) -> XS 0.00/0.01 take(N,XS) -> fst(splitAt(N,XS)) 0.00/0.01 u(pair(YS,ZS),N,X,XS) -> pair(cons(X,YS),ZS) 0.00/0.01 -> Unhiding rules: 0.00/0.01 natsFrom(s(N)) -> NATSFROM(s(N)) 0.00/0.01 ->Strongly Connected Components: 0.00/0.01 ->->Cycle: 0.00/0.01 ->->-> Pairs: 0.00/0.01 SPLITAT(s(N),cons(X,XS)) -> SPLITAT(N,XS) 0.00/0.01 ->->-> Rules: 0.00/0.01 afterNth(N,XS) -> snd(splitAt(N,XS)) 0.00/0.01 fst(pair(XS,YS)) -> XS 0.00/0.01 head(cons(N,XS)) -> N 0.00/0.01 natsFrom(N) -> cons(N,natsFrom(s(N))) 0.00/0.01 sel(N,XS) -> head(afterNth(N,XS)) 0.00/0.01 snd(pair(XS,YS)) -> YS 0.00/0.01 splitAt(0,XS) -> pair(nil,XS) 0.00/0.01 splitAt(s(N),cons(X,XS)) -> u(splitAt(N,XS),N,X,XS) 0.00/0.01 tail(cons(N,XS)) -> XS 0.00/0.01 take(N,XS) -> fst(splitAt(N,XS)) 0.00/0.01 u(pair(YS,ZS),N,X,XS) -> pair(cons(X,YS),ZS) 0.00/0.01 ->->-> Unhiding rules: 0.00/0.01 Empty 0.00/0.01 0.00/0.01 Problem 1: 0.00/0.01 0.00/0.01 SubNColl Processor: 0.00/0.01 -> Pairs: 0.00/0.01 SPLITAT(s(N),cons(X,XS)) -> SPLITAT(N,XS) 0.00/0.01 -> Rules: 0.00/0.01 afterNth(N,XS) -> snd(splitAt(N,XS)) 0.00/0.01 fst(pair(XS,YS)) -> XS 0.00/0.01 head(cons(N,XS)) -> N 0.00/0.01 natsFrom(N) -> cons(N,natsFrom(s(N))) 0.00/0.01 sel(N,XS) -> head(afterNth(N,XS)) 0.00/0.01 snd(pair(XS,YS)) -> YS 0.00/0.01 splitAt(0,XS) -> pair(nil,XS) 0.00/0.01 splitAt(s(N),cons(X,XS)) -> u(splitAt(N,XS),N,X,XS) 0.00/0.01 tail(cons(N,XS)) -> XS 0.00/0.01 take(N,XS) -> fst(splitAt(N,XS)) 0.00/0.01 u(pair(YS,ZS),N,X,XS) -> pair(cons(X,YS),ZS) 0.00/0.01 -> Unhiding rules: 0.00/0.01 Empty 0.00/0.01 ->Projection: 0.00/0.01 pi(SPLITAT) = 1 0.00/0.01 0.00/0.01 Problem 1: 0.00/0.01 0.00/0.01 Basic Processor: 0.00/0.01 -> Pairs: 0.00/0.01 Empty 0.00/0.01 -> Rules: 0.00/0.01 afterNth(N,XS) -> snd(splitAt(N,XS)) 0.00/0.01 fst(pair(XS,YS)) -> XS 0.00/0.01 head(cons(N,XS)) -> N 0.00/0.01 natsFrom(N) -> cons(N,natsFrom(s(N))) 0.00/0.01 sel(N,XS) -> head(afterNth(N,XS)) 0.00/0.01 snd(pair(XS,YS)) -> YS 0.00/0.01 splitAt(0,XS) -> pair(nil,XS) 0.00/0.01 splitAt(s(N),cons(X,XS)) -> u(splitAt(N,XS),N,X,XS) 0.00/0.01 tail(cons(N,XS)) -> XS 0.00/0.01 take(N,XS) -> fst(splitAt(N,XS)) 0.00/0.01 u(pair(YS,ZS),N,X,XS) -> pair(cons(X,YS),ZS) 0.00/0.01 -> Unhiding rules: 0.00/0.01 Empty 0.00/0.01 -> Result: 0.00/0.01 Set P is empty 0.00/0.01 0.00/0.01 The problem is finite. 0.00/0.01 EOF