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 = MiniSMT} + Details: Signatures used: ---------------- 0 :: [] -(0)-> A(1, 0, 0) 0 :: [] -(0)-> A(2, 0, 0) 0 :: [] -(0)-> A(1, 2, 0) 0 :: [] -(0)-> A(0, 0, 3) 0 :: [] -(0)-> A(3, 1, 2) activate :: [A(1, 0, 3)] -(2)-> A(0, 0, 0) add :: [A(1, 0, 0) x A(0, 0, 0)] -(1)-> A(0, 0, 0) cons :: [A(0, 0, 0) x A(3, 3, 3)] -(3)-> A(0, 0, 3) cons :: [A(0, 0, 0) x A(0, 0, 0)] -(0)-> A(1, 0, 0) cons :: [A(0, 0, 0) x A(0, 0, 0)] -(0)-> A(0, 0, 0) dbl :: [A(2, 0, 0)] -(1)-> A(0, 0, 0) first :: [A(1, 2, 0) x A(0, 0, 3)] -(2)-> A(0, 0, 0) n__first :: [A(3, 3, 0) x A(0, 3, 3)] -(1)-> A(1, 0, 3) n__first :: [A(0, 0, 0) x A(0, 0, 0)] -(0)-> A(0, 0, 0) n__terms :: [A(0, 0, 3)] -(3)-> A(1, 0, 3) n__terms :: [A(0, 0, 0)] -(0)-> A(0, 0, 0) nil :: [] -(0)-> A(0, 0, 2) recip :: [A(0, 0, 0)] -(0)-> A(0, 0, 1) s :: [A(1, 0, 0)] -(1)-> A(1, 0, 0) s :: [A(2, 0, 0)] -(2)-> A(2, 0, 0) s :: [A(3, 2, 0)] -(1)-> A(1, 2, 0) s :: [A(3, 3, 3)] -(3)-> A(0, 0, 3) s :: [A(0, 0, 0)] -(0)-> A(0, 0, 0) sqr :: [A(0, 0, 3)] -(1)-> A(0, 0, 0) terms :: [A(0, 0, 3)] -(3)-> A(0, 0, 0) Cost-free Signatures used: -------------------------- 0 :: [] -(0)-> A_cf(2, 1, 0) 0 :: [] -(0)-> A_cf(2, 0, 0) 0 :: [] -(0)-> A_cf(1, 0, 0) 0 :: [] -(0)-> A_cf(0, 0, 0) 0 :: [] -(0)-> A_cf(0, 1, 0) 0 :: [] -(0)-> A_cf(2, 0, 2) 0 :: [] -(0)-> A_cf(1, 2, 0) activate :: [A_cf(0, 3, 0)] -(0)-> A_cf(0, 0, 0) activate :: [A_cf(2, 3, 0)] -(1)-> 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)] -(0)-> A_cf(1, 0, 0) cons :: [A_cf(0, 0, 0) x A_cf(3, 3, 0)] -(0)-> A_cf(0, 3, 0) cons :: [A_cf(0, 0, 0) x A_cf(0, 0, 0)] -(0)-> A_cf(0, 0, 0) cons :: [A_cf(0, 0, 0) x A_cf(0, 0, 0)] -(0)-> A_cf(2, 0, 0) cons :: [A_cf(0, 0, 0) x A_cf(3, 3, 0)] -(0)-> A_cf(3, 3, 0) cons :: [A_cf(0, 0, 0) x A_cf(0, 0, 0)] -(0)-> A_cf(1, 0, 0) dbl :: [A_cf(0, 0, 0)] -(2)-> A_cf(0, 0, 0) dbl :: [A_cf(0, 0, 0)] -(0)-> A_cf(0, 0, 0) dbl :: [A_cf(2, 0, 0)] -(0)-> A_cf(1, 0, 0) first :: [A_cf(2, 1, 0) x A_cf(0, 3, 0)] -(0)-> A_cf(0, 0, 0) first :: [A_cf(2, 0, 0) x A_cf(3, 3, 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, 3, 0) x A_cf(3, 3, 0)] -(0)-> A_cf(0, 3, 0) n__first :: [A_cf(3, 3, 0) x A_cf(3, 3, 0)] -(2)-> A_cf(2, 3, 0) n__first :: [A_cf(0, 0, 0) x A_cf(0, 0, 0)] -(1)-> A_cf(1, 0, 0) n__terms :: [A_cf(3, 3, 0)] -(0)-> A_cf(0, 3, 0) n__terms :: [A_cf(0, 0, 0)] -(0)-> A_cf(3, 0, 0) n__terms :: [A_cf(0, 0, 0)] -(0)-> A_cf(0, 0, 0) n__terms :: [A_cf(3, 3, 0)] -(0)-> A_cf(2, 3, 0) n__terms :: [A_cf(0, 0, 0)] -(0)-> A_cf(1, 0, 0) n__terms :: [A_cf(0, 0, 0)] -(0)-> A_cf(2, 0, 0) nil :: [] -(0)-> A_cf(0, 0, 2) nil :: [] -(0)-> A_cf(0, 0, 0) recip :: [A_cf(0, 0, 0)] -(0)-> A_cf(0, 0, 0) recip :: [A_cf(0, 0, 0)] -(0)-> A_cf(0, 0, 2) s :: [A_cf(3, 1, 0)] -(2)-> A_cf(2, 1, 0) s :: [A_cf(2, 0, 0)] -(2)-> A_cf(2, 0, 0) s :: [A_cf(0, 0, 0)] -(0)-> A_cf(0, 0, 0) s :: [A_cf(1, 1, 0)] -(0)-> A_cf(0, 1, 0) s :: [A_cf(3, 2, 0)] -(1)-> A_cf(1, 2, 0) s :: [A_cf(1, 0, 0)] -(1)-> A_cf(1, 0, 0) sqr :: [A_cf(2, 0, 0)] -(0)-> A_cf(0, 0, 0) sqr :: [A_cf(0, 1, 0)] -(0)-> A_cf(0, 0, 0) sqr :: [A_cf(1, 2, 0)] -(0)-> A_cf(1, 0, 0) terms :: [A_cf(3, 2, 0)] -(0)-> A_cf(0, 0, 0) terms :: [A_cf(3, 1, 0)] -(1)-> A_cf(1, 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(0, 0, 0) x A(0, 0, 0)] -(0)-> A(1, 0, 0) cons_A :: [A(0, 0, 0) x A(1, 1, 0)] -(0)-> A(0, 1, 0) cons_A :: [A(0, 0, 0) x A(1, 1, 1)] -(1)-> A(0, 0, 1) n__first_A :: [A(0) x A(0)] -(1)-> 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)] -(0)-> 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 :: [] -(1)-> A(1, 0, 0) nil_A :: [] -(0)-> A(0, 1, 0) nil_A :: [] -(0)-> A(0, 0, 1) recip_A :: [A(1, 0, 0)] -(1)-> A(1, 0, 0) recip_A :: [A(0, 0, 0)] -(1)-> 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)] -(0)-> 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))