WORST_CASE(?,O(n^3)) * Step 1: Ara WORST_CASE(?,O(n^3)) + Considered Problem: - Strict TRS: activate(X) -> X activate(n__first(X1,X2)) -> first(X1,X2) activate(n__terms(X)) -> terms(X) add(0(),X) -> X add(s(X),Y) -> s(add(X,Y)) dbl(0()) -> 0() dbl(s(X)) -> s(s(dbl(X))) first(X1,X2) -> n__first(X1,X2) first(0(),X) -> nil() first(s(X),cons(Y,Z)) -> cons(Y,n__first(X,activate(Z))) sqr(0()) -> 0() sqr(s(X)) -> s(add(sqr(X),dbl(X))) terms(N) -> cons(recip(sqr(N)),n__terms(s(N))) terms(X) -> n__terms(X) - Signature: {activate/1,add/2,dbl/1,first/2,sqr/1,terms/1} / {0/0,cons/2,n__first/2,n__terms/1,nil/0,recip/1,s/1} - Obligation: innermost runtime complexity wrt. defined symbols {activate,add,dbl,first,sqr,terms} and constructors {0 ,cons,n__first,n__terms,nil,recip,s} + Applied Processor: Ara {heuristics_ = NoHeuristics, minDegree = 1, maxDegree = 3, araTimeout = 60, araFindStrictRules = Nothing, araSmtSolver = Z3} + Details: Signatures used: ---------------- 0 :: [] -(0)-> A(4, 0, 0) 0 :: [] -(0)-> A(7, 0, 0) 0 :: [] -(0)-> A(6, 0, 0) 0 :: [] -(0)-> A(0, 0, 14) 0 :: [] -(0)-> A(5, 1, 6) 0 :: [] -(0)-> A(9, 1, 6) activate :: [A(3, 3, 15)] -(8)-> A(0, 0, 0) add :: [A(4, 0, 0) x A(3, 0, 0)] -(1)-> A(3, 0, 0) cons :: [A(0, 3, 0) x A(15, 3, 15)] -(15)-> A(0, 3, 15) cons :: [A(0, 0, 0) x A(0, 0, 0)] -(0)-> A(0, 0, 0) dbl :: [A(7, 0, 0)] -(1)-> A(3, 0, 0) first :: [A(6, 0, 0) x A(0, 3, 15)] -(7)-> A(0, 0, 0) n__first :: [A(6, 0, 0) x A(3, 3, 15)] -(15)-> A(3, 3, 15) n__first :: [A(0, 0, 0) x A(0, 0, 2)] -(2)-> A(0, 0, 2) n__first :: [A(0, 0, 0) x A(0, 0, 0)] -(0)-> A(0, 0, 0) n__terms :: [A(6, 3, 15)] -(15)-> A(3, 3, 15) n__terms :: [A(0, 0, 0)] -(0)-> A(0, 0, 0) n__terms :: [A(1, 0, 11)] -(11)-> A(1, 0, 11) nil :: [] -(0)-> A(9, 1, 6) recip :: [A(0, 0, 0)] -(0)-> A(3, 11, 4) s :: [A(4, 0, 0)] -(4)-> A(4, 0, 0) s :: [A(7, 0, 0)] -(7)-> A(7, 0, 0) s :: [A(6, 0, 0)] -(6)-> A(6, 0, 0) s :: [A(14, 14, 14)] -(14)-> A(0, 0, 14) s :: [A(3, 0, 0)] -(3)-> A(3, 0, 0) s :: [A(0, 0, 0)] -(0)-> A(0, 0, 0) sqr :: [A(0, 0, 14)] -(1)-> A(3, 0, 0) terms :: [A(1, 2, 14)] -(15)-> A(0, 0, 0) Cost-free Signatures used: -------------------------- 0 :: [] -(0)-> A_cf(0, 0, 0) 0 :: [] -(0)-> A_cf(2, 0, 0) 0 :: [] -(0)-> A_cf(9, 3, 2) 0 :: [] -(0)-> A_cf(8, 10, 2) 0 :: [] -(0)-> A_cf(8, 0, 0) 0 :: [] -(0)-> A_cf(15, 11, 2) 0 :: [] -(0)-> A_cf(7, 10, 2) 0 :: [] -(0)-> A_cf(0, 5, 0) 0 :: [] -(0)-> A_cf(13, 7, 2) 0 :: [] -(0)-> A_cf(1, 0, 0) 0 :: [] -(0)-> A_cf(8, 14, 2) activate :: [A_cf(3, 0, 0)] -(13)-> A_cf(0, 0, 0) activate :: [A_cf(12, 0, 0)] -(3)-> A_cf(0, 0, 0) add :: [A_cf(0, 0, 0) x A_cf(0, 0, 0)] -(0)-> A_cf(0, 0, 0) add :: [A_cf(1, 0, 0) x A_cf(1, 0, 0)] -(1)-> A_cf(1, 0, 0) cons :: [A_cf(3, 0, 0) x A_cf(3, 0, 0)] -(3)-> A_cf(3, 0, 0) cons :: [A_cf(0, 0, 0) x A_cf(0, 0, 0)] -(0)-> A_cf(0, 0, 0) cons :: [A_cf(1, 0, 0) x A_cf(1, 0, 0)] -(1)-> A_cf(1, 0, 0) cons :: [A_cf(12, 0, 0) x A_cf(12, 0, 0)] -(12)-> A_cf(12, 0, 0) dbl :: [A_cf(0, 0, 0)] -(0)-> A_cf(0, 0, 0) dbl :: [A_cf(0, 0, 0)] -(1)-> A_cf(0, 0, 0) dbl :: [A_cf(2, 0, 0)] -(0)-> A_cf(1, 0, 0) first :: [A_cf(0, 0, 0) x A_cf(3, 0, 0)] -(13)-> A_cf(0, 0, 0) first :: [A_cf(0, 0, 0) x A_cf(12, 0, 0)] -(2)-> A_cf(0, 0, 0) n__first :: [A_cf(0, 0, 0) x A_cf(0, 0, 0)] -(0)-> A_cf(0, 0, 0) n__first :: [A_cf(3, 0, 0) x A_cf(3, 0, 0)] -(0)-> A_cf(3, 0, 0) n__first :: [A_cf(12, 0, 0) x A_cf(12, 0, 0)] -(0)-> A_cf(12, 0, 0) n__terms :: [A_cf(3, 0, 0)] -(0)-> A_cf(3, 0, 0) n__terms :: [A_cf(1, 0, 0)] -(0)-> A_cf(1, 0, 0) n__terms :: [A_cf(12, 0, 0)] -(0)-> A_cf(12, 0, 0) n__terms :: [A_cf(7, 0, 0)] -(0)-> A_cf(7, 0, 0) nil :: [] -(0)-> A_cf(0, 11, 2) nil :: [] -(0)-> A_cf(1, 15, 2) recip :: [A_cf(0, 0, 0)] -(0)-> A_cf(11, 8, 3) recip :: [A_cf(0, 0, 0)] -(0)-> A_cf(5, 2, 6) s :: [A_cf(0, 0, 0)] -(0)-> A_cf(0, 0, 0) s :: [A_cf(2, 0, 0)] -(2)-> A_cf(2, 0, 0) s :: [A_cf(1, 0, 0)] -(1)-> A_cf(1, 0, 0) s :: [A_cf(8, 0, 0)] -(8)-> A_cf(8, 0, 0) s :: [A_cf(3, 0, 0)] -(3)-> A_cf(3, 0, 0) s :: [A_cf(5, 5, 0)] -(5)-> A_cf(0, 5, 0) sqr :: [A_cf(2, 0, 0)] -(8)-> A_cf(0, 0, 0) sqr :: [A_cf(8, 0, 0)] -(0)-> A_cf(0, 0, 0) sqr :: [A_cf(0, 5, 0)] -(0)-> A_cf(1, 0, 0) terms :: [A_cf(3, 0, 0)] -(11)-> A_cf(1, 0, 0) terms :: [A_cf(12, 0, 0)] -(3)-> A_cf(0, 0, 0) Base Constructor Signatures used: --------------------------------- 0_A :: [] -(0)-> A(1, 0, 0) 0_A :: [] -(0)-> A(0, 1, 0) 0_A :: [] -(0)-> A(0, 0, 1) cons_A :: [A(1, 0, 0) x A(1, 0, 0)] -(1)-> A(1, 0, 0) cons_A :: [A(0, 1, 0) x A(0, 1, 0)] -(0)-> A(0, 1, 0) cons_A :: [A(0, 0, 0) x A(1, 0, 1)] -(1)-> A(0, 0, 1) n__first_A :: [A(0) x A(0)] -(0)-> A(1, 0, 0) n__first_A :: [A(0) x A(0)] -(0)-> A(0, 1, 0) n__first_A :: [A(0) x A(0)] -(1)-> A(0, 0, 1) n__terms_A :: [A(0)] -(0)-> A(1, 0, 0) n__terms_A :: [A(0)] -(0)-> A(0, 1, 0) n__terms_A :: [A(0)] -(1)-> A(0, 0, 1) nil_A :: [] -(0)-> A(1, 0, 0) nil_A :: [] -(0)-> A(0, 1, 0) nil_A :: [] -(0)-> A(0, 0, 1) recip_A :: [A(0, 0, 0)] -(0)-> A(1, 0, 0) recip_A :: [A(0, 0, 0)] -(0)-> A(0, 1, 0) recip_A :: [A(0, 0, 0)] -(0)-> A(0, 0, 1) s_A :: [A(1, 0, 0)] -(1)-> A(1, 0, 0) s_A :: [A(1, 1, 0)] -(1)-> A(0, 1, 0) s_A :: [A(1, 1, 1)] -(1)-> A(0, 0, 1) * Step 2: Open MAYBE - Strict TRS: activate(X) -> X activate(n__first(X1,X2)) -> first(X1,X2) activate(n__terms(X)) -> terms(X) add(0(),X) -> X add(s(X),Y) -> s(add(X,Y)) dbl(0()) -> 0() dbl(s(X)) -> s(s(dbl(X))) first(X1,X2) -> n__first(X1,X2) first(0(),X) -> nil() first(s(X),cons(Y,Z)) -> cons(Y,n__first(X,activate(Z))) sqr(0()) -> 0() sqr(s(X)) -> s(add(sqr(X),dbl(X))) terms(N) -> cons(recip(sqr(N)),n__terms(s(N))) terms(X) -> n__terms(X) - Signature: {activate/1,add/2,dbl/1,first/2,sqr/1,terms/1} / {0/0,cons/2,n__first/2,n__terms/1,nil/0,recip/1,s/1} - Obligation: innermost runtime complexity wrt. defined symbols {activate,add,dbl,first,sqr,terms} and constructors {0 ,cons,n__first,n__terms,nil,recip,s} Following problems could not be solved: - Strict TRS: activate(X) -> X activate(n__first(X1,X2)) -> first(X1,X2) activate(n__terms(X)) -> terms(X) add(0(),X) -> X add(s(X),Y) -> s(add(X,Y)) dbl(0()) -> 0() dbl(s(X)) -> s(s(dbl(X))) first(X1,X2) -> n__first(X1,X2) first(0(),X) -> nil() first(s(X),cons(Y,Z)) -> cons(Y,n__first(X,activate(Z))) sqr(0()) -> 0() sqr(s(X)) -> s(add(sqr(X),dbl(X))) terms(N) -> cons(recip(sqr(N)),n__terms(s(N))) terms(X) -> n__terms(X) - Signature: {activate/1,add/2,dbl/1,first/2,sqr/1,terms/1} / {0/0,cons/2,n__first/2,n__terms/1,nil/0,recip/1,s/1} - Obligation: innermost runtime complexity wrt. defined symbols {activate,add,dbl,first,sqr,terms} and constructors {0 ,cons,n__first,n__terms,nil,recip,s} WORST_CASE(?,O(n^3))