WORST_CASE(?,O(n^2)) * Step 1: Ara WORST_CASE(?,O(n^2)) + Considered Problem: - Strict TRS: append(@l1,@l2) -> append#1(@l1,@l2) append#1(::(@x,@xs),@l2) -> ::(@x,append(@xs,@l2)) append#1(nil(),@l2) -> @l2 appendAll(@l) -> appendAll#1(@l) appendAll#1(::(@l1,@ls)) -> append(@l1,appendAll(@ls)) appendAll#1(nil()) -> nil() appendAll2(@l) -> appendAll2#1(@l) appendAll2#1(::(@l1,@ls)) -> append(appendAll(@l1),appendAll2(@ls)) appendAll2#1(nil()) -> nil() appendAll3(@l) -> appendAll3#1(@l) appendAll3#1(::(@l1,@ls)) -> append(appendAll2(@l1),appendAll3(@ls)) appendAll3#1(nil()) -> nil() - Signature: {append/2,append#1/2,appendAll/1,appendAll#1/1,appendAll2/1,appendAll2#1/1,appendAll3/1 ,appendAll3#1/1} / {::/2,nil/0} - Obligation: innermost runtime complexity wrt. defined symbols {append,append#1,appendAll,appendAll#1,appendAll2 ,appendAll2#1,appendAll3,appendAll3#1} and constructors {::,nil} + Applied Processor: Ara {heuristics_ = NoHeuristics, minDegree = 1, maxDegree = 3, araTimeout = 60, araFindStrictRules = Nothing, araSmtSolver = Z3} + Details: Signatures used: ---------------- :: :: [A(6, 0) x A(6, 0)] -(6)-> A(6, 0) :: :: [A(12, 7) x A(12, 7)] -(5)-> A(5, 7) :: :: [A(15, 8) x A(15, 8)] -(7)-> A(7, 8) :: :: [A(15, 9) x A(15, 9)] -(6)-> A(6, 9) :: :: [A(4, 0) x A(4, 0)] -(4)-> A(4, 0) append :: [A(6, 0) x A(4, 0)] -(2)-> A(4, 0) append#1 :: [A(6, 0) x A(4, 0)] -(1)-> A(4, 0) appendAll :: [A(9, 7)] -(2)-> A(6, 0) appendAll#1 :: [A(5, 7)] -(1)-> A(2, 0) appendAll2 :: [A(12, 8)] -(2)-> A(6, 0) appendAll2#1 :: [A(7, 8)] -(1)-> A(3, 0) appendAll3 :: [A(9, 9)] -(2)-> A(3, 0) appendAll3#1 :: [A(6, 9)] -(1)-> A(2, 0) nil :: [] -(0)-> A(6, 0) nil :: [] -(0)-> A(5, 7) nil :: [] -(0)-> A(7, 8) nil :: [] -(0)-> A(6, 9) Cost-free Signatures used: -------------------------- :: :: [A_cf(0, 0) x A_cf(0, 0)] -(0)-> A_cf(0, 0) :: :: [A_cf(4, 0) x A_cf(4, 0)] -(4)-> A_cf(4, 0) :: :: [A_cf(3, 0) x A_cf(3, 0)] -(3)-> A_cf(3, 0) :: :: [A_cf(5, 0) x A_cf(5, 0)] -(5)-> A_cf(5, 0) :: :: [A_cf(1, 0) x A_cf(1, 0)] -(1)-> A_cf(1, 0) :: :: [A_cf(6, 0) x A_cf(6, 0)] -(6)-> A_cf(6, 0) append :: [A_cf(0, 0) x A_cf(0, 0)] -(0)-> A_cf(0, 0) append :: [A_cf(4, 0) x A_cf(4, 0)] -(0)-> A_cf(4, 0) append :: [A_cf(4, 0) x A_cf(3, 0)] -(4)-> A_cf(3, 0) append :: [A_cf(1, 0) x A_cf(1, 0)] -(0)-> A_cf(1, 0) append :: [A_cf(3, 0) x A_cf(1, 0)] -(5)-> A_cf(1, 0) append :: [A_cf(3, 0) x A_cf(3, 0)] -(0)-> A_cf(3, 0) append#1 :: [A_cf(0, 0) x A_cf(0, 0)] -(0)-> A_cf(0, 0) append#1 :: [A_cf(4, 0) x A_cf(4, 0)] -(0)-> A_cf(4, 0) append#1 :: [A_cf(4, 0) x A_cf(3, 0)] -(4)-> A_cf(3, 0) append#1 :: [A_cf(1, 0) x A_cf(1, 0)] -(0)-> A_cf(1, 0) append#1 :: [A_cf(3, 0) x A_cf(1, 0)] -(5)-> A_cf(1, 0) append#1 :: [A_cf(3, 0) x A_cf(3, 0)] -(0)-> A_cf(3, 0) appendAll :: [A_cf(4, 0)] -(1)-> A_cf(4, 0) appendAll :: [A_cf(3, 0)] -(0)-> A_cf(0, 0) appendAll :: [A_cf(4, 0)] -(0)-> A_cf(4, 0) appendAll :: [A_cf(1, 0)] -(0)-> A_cf(0, 0) appendAll :: [A_cf(1, 0)] -(0)-> A_cf(1, 0) appendAll :: [A_cf(3, 0)] -(0)-> A_cf(3, 0) appendAll#1 :: [A_cf(4, 0)] -(0)-> A_cf(4, 0) appendAll#1 :: [A_cf(3, 0)] -(0)-> A_cf(0, 0) appendAll#1 :: [A_cf(1, 0)] -(0)-> A_cf(0, 0) appendAll#1 :: [A_cf(1, 0)] -(0)-> A_cf(1, 0) appendAll#1 :: [A_cf(3, 0)] -(0)-> A_cf(3, 0) appendAll2 :: [A_cf(5, 0)] -(0)-> A_cf(3, 0) appendAll2 :: [A_cf(3, 0)] -(0)-> A_cf(0, 0) appendAll2 :: [A_cf(1, 0)] -(3)-> A_cf(1, 0) appendAll2 :: [A_cf(4, 0)] -(0)-> A_cf(3, 0) appendAll2#1 :: [A_cf(5, 0)] -(0)-> A_cf(3, 0) appendAll2#1 :: [A_cf(3, 0)] -(0)-> A_cf(0, 0) appendAll2#1 :: [A_cf(1, 0)] -(3)-> A_cf(1, 0) appendAll2#1 :: [A_cf(4, 0)] -(0)-> A_cf(3, 0) appendAll3 :: [A_cf(3, 0)] -(0)-> A_cf(1, 0) appendAll3 :: [A_cf(6, 0)] -(0)-> A_cf(1, 0) appendAll3#1 :: [A_cf(3, 0)] -(0)-> A_cf(1, 0) appendAll3#1 :: [A_cf(6, 0)] -(0)-> A_cf(1, 0) nil :: [] -(0)-> A_cf(0, 0) nil :: [] -(0)-> A_cf(4, 0) nil :: [] -(0)-> A_cf(7, 2) nil :: [] -(0)-> A_cf(3, 0) nil :: [] -(0)-> A_cf(3, 2) nil :: [] -(0)-> A_cf(5, 0) nil :: [] -(0)-> A_cf(1, 0) nil :: [] -(0)-> A_cf(1, 2) nil :: [] -(0)-> A_cf(6, 0) Base Constructor Signatures used: --------------------------------- ::_A :: [A(0) x A(0)] -(0)-> A(0) nil_A :: [] -(0)-> A(1, 0) nil_A :: [] -(0)-> A(0, 1) * Step 2: Open MAYBE - Strict TRS: append(@l1,@l2) -> append#1(@l1,@l2) append#1(::(@x,@xs),@l2) -> ::(@x,append(@xs,@l2)) append#1(nil(),@l2) -> @l2 appendAll(@l) -> appendAll#1(@l) appendAll#1(::(@l1,@ls)) -> append(@l1,appendAll(@ls)) appendAll#1(nil()) -> nil() appendAll2(@l) -> appendAll2#1(@l) appendAll2#1(::(@l1,@ls)) -> append(appendAll(@l1),appendAll2(@ls)) appendAll2#1(nil()) -> nil() appendAll3(@l) -> appendAll3#1(@l) appendAll3#1(::(@l1,@ls)) -> append(appendAll2(@l1),appendAll3(@ls)) appendAll3#1(nil()) -> nil() - Signature: {append/2,append#1/2,appendAll/1,appendAll#1/1,appendAll2/1,appendAll2#1/1,appendAll3/1 ,appendAll3#1/1} / {::/2,nil/0} - Obligation: innermost runtime complexity wrt. defined symbols {append,append#1,appendAll,appendAll#1,appendAll2 ,appendAll2#1,appendAll3,appendAll3#1} and constructors {::,nil} Following problems could not be solved: - Strict TRS: append(@l1,@l2) -> append#1(@l1,@l2) append#1(::(@x,@xs),@l2) -> ::(@x,append(@xs,@l2)) append#1(nil(),@l2) -> @l2 appendAll(@l) -> appendAll#1(@l) appendAll#1(::(@l1,@ls)) -> append(@l1,appendAll(@ls)) appendAll#1(nil()) -> nil() appendAll2(@l) -> appendAll2#1(@l) appendAll2#1(::(@l1,@ls)) -> append(appendAll(@l1),appendAll2(@ls)) appendAll2#1(nil()) -> nil() appendAll3(@l) -> appendAll3#1(@l) appendAll3#1(::(@l1,@ls)) -> append(appendAll2(@l1),appendAll3(@ls)) appendAll3#1(nil()) -> nil() - Signature: {append/2,append#1/2,appendAll/1,appendAll#1/1,appendAll2/1,appendAll2#1/1,appendAll3/1 ,appendAll3#1/1} / {::/2,nil/0} - Obligation: innermost runtime complexity wrt. defined symbols {append,append#1,appendAll,appendAll#1,appendAll2 ,appendAll2#1,appendAll3,appendAll3#1} and constructors {::,nil} WORST_CASE(?,O(n^2))