WORST_CASE(?,O(n^1)) * Step 1: Ara WORST_CASE(?,O(n^1)) + Considered Problem: - Strict TRS: activate(X) -> X activate(n__natsFrom(X)) -> natsFrom(X) afterNth(N,XS) -> snd(splitAt(N,XS)) fst(pair(XS,YS)) -> XS head(cons(N,XS)) -> N natsFrom(N) -> cons(N,n__natsFrom(s(N))) natsFrom(X) -> n__natsFrom(X) sel(N,XS) -> head(afterNth(N,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)) tail(cons(N,XS)) -> activate(XS) take(N,XS) -> fst(splitAt(N,XS)) u(pair(YS,ZS),N,X,XS) -> pair(cons(activate(X),YS),ZS) - Signature: {activate/1,afterNth/2,fst/1,head/1,natsFrom/1,sel/2,snd/1,splitAt/2,tail/1,take/2,u/4} / {0/0,cons/2 ,n__natsFrom/1,nil/0,pair/2,s/1} - Obligation: innermost runtime complexity wrt. defined symbols {activate,afterNth,fst,head,natsFrom,sel,snd,splitAt,tail ,take,u} and constructors {0,cons,n__natsFrom,nil,pair,s} + Applied Processor: Ara {heuristics_ = NoHeuristics, minDegree = 1, maxDegree = 3, araTimeout = 60, araFindStrictRules = Nothing, araSmtSolver = Z3} + Details: Signatures used: ---------------- 0 :: [] -(0)-> A(14) activate :: [A(0)] -(2)-> A(0) afterNth :: [A(14) x A(10)] -(12)-> A(0) cons :: [A(0) x A(0)] -(0)-> A(0) cons :: [A(0) x A(11)] -(11)-> A(11) fst :: [A(0)] -(2)-> A(0) head :: [A(0)] -(2)-> A(0) n__natsFrom :: [A(0)] -(0)-> A(0) n__natsFrom :: [A(0)] -(0)-> A(1) n__natsFrom :: [A(0)] -(0)-> A(2) natsFrom :: [A(0)] -(1)-> A(0) nil :: [] -(0)-> A(14) pair :: [A(0) x A(0)] -(0)-> A(0) pair :: [A(0) x A(0)] -(0)-> A(1) pair :: [A(0) x A(0)] -(0)-> A(9) s :: [A(14)] -(14)-> A(14) s :: [A(0)] -(0)-> A(0) sel :: [A(14) x A(14)] -(15)-> A(0) snd :: [A(0)] -(2)-> A(0) splitAt :: [A(14) x A(0)] -(5)-> A(1) tail :: [A(11)] -(10)-> A(0) take :: [A(14) x A(2)] -(15)-> A(0) u :: [A(0) x A(0) x A(0) x A(0)] -(3)-> A(8) Cost-free Signatures used: -------------------------- 0 :: [] -(0)-> A_cf(0) activate :: [A_cf(0)] -(0)-> A_cf(0) cons :: [A_cf(0) x A_cf(0)] -(0)-> A_cf(0) n__natsFrom :: [A_cf(0)] -(0)-> A_cf(0) natsFrom :: [A_cf(0)] -(0)-> A_cf(0) nil :: [] -(0)-> A_cf(0) pair :: [A_cf(0) x A_cf(0)] -(0)-> A_cf(0) s :: [A_cf(0)] -(0)-> A_cf(0) splitAt :: [A_cf(0) x A_cf(0)] -(0)-> A_cf(0) u :: [A_cf(0) x A_cf(0) x A_cf(0) x A_cf(0)] -(0)-> A_cf(0) Base Constructor Signatures used: --------------------------------- 0_A :: [] -(0)-> A(1) cons_A :: [A(0) x A(1)] -(1)-> A(1) n__natsFrom_A :: [A(0)] -(0)-> A(1) nil_A :: [] -(0)-> A(1) pair_A :: [A(0) x A(0)] -(0)-> A(1) s_A :: [A(1)] -(1)-> A(1) * Step 2: Open MAYBE - Strict TRS: activate(X) -> X activate(n__natsFrom(X)) -> natsFrom(X) afterNth(N,XS) -> snd(splitAt(N,XS)) fst(pair(XS,YS)) -> XS head(cons(N,XS)) -> N natsFrom(N) -> cons(N,n__natsFrom(s(N))) natsFrom(X) -> n__natsFrom(X) sel(N,XS) -> head(afterNth(N,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)) tail(cons(N,XS)) -> activate(XS) take(N,XS) -> fst(splitAt(N,XS)) u(pair(YS,ZS),N,X,XS) -> pair(cons(activate(X),YS),ZS) - Signature: {activate/1,afterNth/2,fst/1,head/1,natsFrom/1,sel/2,snd/1,splitAt/2,tail/1,take/2,u/4} / {0/0,cons/2 ,n__natsFrom/1,nil/0,pair/2,s/1} - Obligation: innermost runtime complexity wrt. defined symbols {activate,afterNth,fst,head,natsFrom,sel,snd,splitAt,tail ,take,u} and constructors {0,cons,n__natsFrom,nil,pair,s} Following problems could not be solved: - Strict TRS: activate(X) -> X activate(n__natsFrom(X)) -> natsFrom(X) afterNth(N,XS) -> snd(splitAt(N,XS)) fst(pair(XS,YS)) -> XS head(cons(N,XS)) -> N natsFrom(N) -> cons(N,n__natsFrom(s(N))) natsFrom(X) -> n__natsFrom(X) sel(N,XS) -> head(afterNth(N,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)) tail(cons(N,XS)) -> activate(XS) take(N,XS) -> fst(splitAt(N,XS)) u(pair(YS,ZS),N,X,XS) -> pair(cons(activate(X),YS),ZS) - Signature: {activate/1,afterNth/2,fst/1,head/1,natsFrom/1,sel/2,snd/1,splitAt/2,tail/1,take/2,u/4} / {0/0,cons/2 ,n__natsFrom/1,nil/0,pair/2,s/1} - Obligation: innermost runtime complexity wrt. defined symbols {activate,afterNth,fst,head,natsFrom,sel,snd,splitAt,tail ,take,u} and constructors {0,cons,n__natsFrom,nil,pair,s} WORST_CASE(?,O(n^1))