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 = MiniSMT} + Details: Signatures used: ---------------- :: :: [A(2, 0) x A(2, 0)] -(2)-> A(2, 0) :: :: [A(6, 6) x A(6, 6)] -(6)-> A(0, 6) :: :: [A(0, 0) x A(0, 0)] -(0)-> A(0, 0) append :: [A(2, 0) x A(0, 0)] -(2)-> A(0, 0) append#1 :: [A(2, 0) x A(0, 0)] -(1)-> A(0, 0) appendAll :: [A(2, 6)] -(2)-> A(2, 0) appendAll#1 :: [A(0, 6)] -(1)-> A(0, 0) appendAll2 :: [A(2, 6)] -(2)-> A(2, 0) appendAll2#1 :: [A(0, 6)] -(1)-> A(0, 0) appendAll3 :: [A(6, 6)] -(5)-> A(0, 0) appendAll3#1 :: [A(0, 6)] -(4)-> A(0, 0) nil :: [] -(0)-> A(2, 0) nil :: [] -(0)-> A(0, 6) nil :: [] -(0)-> A(0, 0) Cost-free Signatures used: -------------------------- :: :: [A_cf(0, 0) x A_cf(0, 0)] -(0)-> A_cf(0, 0) :: :: [A_cf(2, 0) x A_cf(2, 0)] -(2)-> A_cf(2, 0) :: :: [A_cf(4, 0) x A_cf(4, 0)] -(4)-> A_cf(4, 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(2, 0) x A_cf(2, 0)] -(1)-> A_cf(2, 0) append :: [A_cf(2, 0) x A_cf(2, 0)] -(0)-> A_cf(2, 0) append :: [A_cf(2, 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(0, 0) x A_cf(0, 0)] -(1)-> A_cf(0, 0) append :: [A_cf(6, 0) x A_cf(2, 0)] -(0)-> A_cf(2, 0) append#1 :: [A_cf(0, 0) x A_cf(0, 0)] -(0)-> A_cf(0, 0) append#1 :: [A_cf(2, 0) x A_cf(2, 0)] -(1)-> A_cf(2, 0) append#1 :: [A_cf(2, 0) x A_cf(2, 0)] -(0)-> A_cf(2, 0) append#1 :: [A_cf(2, 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(0, 0) x A_cf(0, 0)] -(1)-> A_cf(0, 0) append#1 :: [A_cf(6, 0) x A_cf(2, 0)] -(0)-> A_cf(2, 0) appendAll :: [A_cf(2, 0)] -(1)-> A_cf(2, 0) appendAll :: [A_cf(4, 0)] -(0)-> A_cf(0, 0) appendAll :: [A_cf(2, 0)] -(0)-> A_cf(2, 0) appendAll :: [A_cf(4, 0)] -(0)-> A_cf(4, 0) appendAll :: [A_cf(6, 0)] -(4)-> A_cf(2, 0) appendAll :: [A_cf(0, 0)] -(0)-> A_cf(0, 0) appendAll#1 :: [A_cf(2, 0)] -(0)-> A_cf(2, 0) appendAll#1 :: [A_cf(4, 0)] -(0)-> A_cf(0, 0) appendAll#1 :: [A_cf(4, 0)] -(0)-> A_cf(4, 0) appendAll#1 :: [A_cf(6, 0)] -(4)-> A_cf(2, 0) appendAll#1 :: [A_cf(0, 0)] -(0)-> A_cf(0, 0) appendAll2 :: [A_cf(2, 0)] -(0)-> A_cf(2, 0) appendAll2 :: [A_cf(4, 0)] -(0)-> A_cf(0, 0) appendAll2 :: [A_cf(6, 0)] -(0)-> A_cf(0, 0) appendAll2 :: [A_cf(0, 0)] -(0)-> A_cf(0, 0) appendAll2#1 :: [A_cf(2, 0)] -(0)-> A_cf(2, 0) appendAll2#1 :: [A_cf(4, 0)] -(0)-> A_cf(0, 0) appendAll2#1 :: [A_cf(6, 0)] -(0)-> A_cf(0, 0) appendAll2#1 :: [A_cf(0, 0)] -(0)-> A_cf(0, 0) appendAll3 :: [A_cf(6, 0)] -(0)-> A_cf(0, 0) appendAll3 :: [A_cf(0, 0)] -(0)-> A_cf(0, 0) appendAll3#1 :: [A_cf(6, 0)] -(0)-> A_cf(0, 0) appendAll3#1 :: [A_cf(0, 0)] -(0)-> A_cf(0, 0) nil :: [] -(0)-> A_cf(0, 0) nil :: [] -(0)-> A_cf(2, 0) nil :: [] -(0)-> A_cf(2, 1) nil :: [] -(0)-> A_cf(4, 0) nil :: [] -(0)-> A_cf(6, 1) nil :: [] -(0)-> A_cf(2, 3) nil :: [] -(0)-> A_cf(5, 3) nil :: [] -(0)-> A_cf(1, 1) nil :: [] -(0)-> A_cf(6, 0) nil :: [] -(0)-> A_cf(4, 4) 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))