WORST_CASE(?,O(n^2)) * Step 1: Ara WORST_CASE(?,O(n^2)) + Considered Problem: - Strict TRS: add0(C(x,y),y') -> add0(y,C(S(),y')) add0(Z(),y) -> y goal(xs,ys) -> mul0(xs,ys) isZero(C(x,y)) -> False() isZero(Z()) -> True() mul0(C(x,y),y') -> add0(mul0(y,y'),y') mul0(Z(),y) -> Z() second(C(x,y)) -> y - Signature: {add0/2,goal/2,isZero/1,mul0/2,second/1} / {C/2,False/0,S/0,True/0,Z/0} - Obligation: innermost runtime complexity wrt. defined symbols {add0,goal,isZero,mul0,second} and constructors {C,False,S ,True,Z} + Applied Processor: Ara {heuristics_ = NoHeuristics, minDegree = 1, maxDegree = 3, araTimeout = 60, araFindStrictRules = Nothing, araSmtSolver = Z3} + Details: Signatures used: ---------------- C :: [A(12, 0) x A(12, 0)] -(12)-> A(12, 0) C :: [A(14, 0) x A(14, 0)] -(14)-> A(14, 0) C :: [A(0, 11) x A(11, 11)] -(11)-> A(0, 11) C :: [A(10, 0) x A(10, 0)] -(10)-> A(10, 0) C :: [A(8, 0) x A(8, 0)] -(8)-> A(8, 0) False :: [] -(0)-> A(14, 14) S :: [] -(0)-> A(15, 13) True :: [] -(0)-> A(14, 14) Z :: [] -(0)-> A(12, 0) Z :: [] -(0)-> A(14, 0) Z :: [] -(0)-> A(0, 11) Z :: [] -(0)-> A(11, 7) add0 :: [A(12, 0) x A(8, 0)] -(1)-> A(6, 0) goal :: [A(14, 13) x A(15, 14)] -(12)-> A(2, 0) isZero :: [A(14, 0)] -(10)-> A(0, 0) mul0 :: [A(0, 11) x A(1, 0)] -(1)-> A(5, 0) second :: [A(10, 0)] -(8)-> A(4, 0) Cost-free Signatures used: -------------------------- C :: [A_cf(0, 0) x A_cf(0, 0)] -(0)-> A_cf(0, 0) C :: [A_cf(11, 0) x A_cf(11, 0)] -(11)-> A_cf(11, 0) C :: [A_cf(7, 0) x A_cf(7, 0)] -(7)-> A_cf(7, 0) S :: [] -(0)-> A_cf(0, 0) S :: [] -(0)-> A_cf(11, 11) Z :: [] -(0)-> A_cf(0, 0) Z :: [] -(0)-> A_cf(11, 0) Z :: [] -(0)-> A_cf(7, 0) Z :: [] -(0)-> A_cf(11, 2) add0 :: [A_cf(0, 0) x A_cf(0, 0)] -(0)-> A_cf(0, 0) add0 :: [A_cf(7, 0) x A_cf(7, 0)] -(7)-> A_cf(7, 0) mul0 :: [A_cf(11, 0) x A_cf(0, 0)] -(0)-> A_cf(7, 0) Base Constructor Signatures used: --------------------------------- C_A :: [A(1, 0) x A(1, 0)] -(1)-> A(1, 0) C_A :: [A(0, 1) x A(1, 1)] -(1)-> A(0, 1) False_A :: [] -(0)-> A(1, 0) False_A :: [] -(0)-> A(0, 1) S_A :: [] -(0)-> A(1, 0) S_A :: [] -(0)-> A(0, 1) True_A :: [] -(0)-> A(1, 0) True_A :: [] -(0)-> A(0, 1) Z_A :: [] -(0)-> A(1, 0) Z_A :: [] -(0)-> A(0, 1) * Step 2: Open MAYBE - Strict TRS: add0(C(x,y),y') -> add0(y,C(S(),y')) add0(Z(),y) -> y goal(xs,ys) -> mul0(xs,ys) isZero(C(x,y)) -> False() isZero(Z()) -> True() mul0(C(x,y),y') -> add0(mul0(y,y'),y') mul0(Z(),y) -> Z() second(C(x,y)) -> y - Signature: {add0/2,goal/2,isZero/1,mul0/2,second/1} / {C/2,False/0,S/0,True/0,Z/0} - Obligation: innermost runtime complexity wrt. defined symbols {add0,goal,isZero,mul0,second} and constructors {C,False,S ,True,Z} Following problems could not be solved: - Strict TRS: add0(C(x,y),y') -> add0(y,C(S(),y')) add0(Z(),y) -> y goal(xs,ys) -> mul0(xs,ys) isZero(C(x,y)) -> False() isZero(Z()) -> True() mul0(C(x,y),y') -> add0(mul0(y,y'),y') mul0(Z(),y) -> Z() second(C(x,y)) -> y - Signature: {add0/2,goal/2,isZero/1,mul0/2,second/1} / {C/2,False/0,S/0,True/0,Z/0} - Obligation: innermost runtime complexity wrt. defined symbols {add0,goal,isZero,mul0,second} and constructors {C,False,S ,True,Z} WORST_CASE(?,O(n^2))