* Step 1: Sum WORST_CASE(Omega(n^1),?)
+ Considered Problem:
- Strict TRS:
app(Cons(x,xs),ys) -> Cons(x,app(xs,ys))
app(Nil(),ys) -> ys
goal(xs) -> quicksort(xs)
notEmpty(Cons(x,xs)) -> True()
notEmpty(Nil()) -> False()
part(x,Nil(),xs1,xs2) -> app(quicksort(xs1),quicksort(xs2))
part(x',Cons(x,xs),xs1,xs2) -> part[Ite][True][Ite](>(x',x),x',Cons(x,xs),xs1,xs2)
quicksort(Cons(x,Cons(x',xs))) -> part(x,Cons(x,Cons(x',xs)),Cons(x,Nil()),Nil())
quicksort(Cons(x,Nil())) -> Cons(x,Nil())
quicksort(Nil()) -> Nil()
- Weak TRS:
<(x,0()) -> False()
<(0(),S(y)) -> True()
<(S(x),S(y)) -> <(x,y)
>(0(),y) -> False()
>(S(x),0()) -> True()
>(S(x),S(y)) -> >(x,y)
part[Ite][True][Ite](False(),x',Cons(x,xs),xs1,xs2) -> part[Ite][True][Ite][False][Ite](<(x',x)
,x'
,Cons(x,xs)
,xs1
,xs2)
part[Ite][True][Ite](True(),x',Cons(x,xs),xs1,xs2) -> part(x',xs,Cons(x,xs1),xs2)
- Signature:
{2,>/2,app/2,goal/1,notEmpty/1,part/4,part[Ite][True][Ite]/5,quicksort/1} / {0/0,Cons/2,False/0,Nil/0,S/1
,True/0,part[Ite][True][Ite][False][Ite]/5}
- Obligation:
innermost runtime complexity wrt. defined symbols {<,>,app,goal,notEmpty,part,part[Ite][True][Ite]
,quicksort} and constructors {0,Cons,False,Nil,S,True,part[Ite][True][Ite][False][Ite]}
+ Applied Processor:
Sum {left = someStrategy, right = someStrategy}
+ Details:
()
* Step 2: DecreasingLoops WORST_CASE(Omega(n^1),?)
+ Considered Problem:
- Strict TRS:
app(Cons(x,xs),ys) -> Cons(x,app(xs,ys))
app(Nil(),ys) -> ys
goal(xs) -> quicksort(xs)
notEmpty(Cons(x,xs)) -> True()
notEmpty(Nil()) -> False()
part(x,Nil(),xs1,xs2) -> app(quicksort(xs1),quicksort(xs2))
part(x',Cons(x,xs),xs1,xs2) -> part[Ite][True][Ite](>(x',x),x',Cons(x,xs),xs1,xs2)
quicksort(Cons(x,Cons(x',xs))) -> part(x,Cons(x,Cons(x',xs)),Cons(x,Nil()),Nil())
quicksort(Cons(x,Nil())) -> Cons(x,Nil())
quicksort(Nil()) -> Nil()
- Weak TRS:
<(x,0()) -> False()
<(0(),S(y)) -> True()
<(S(x),S(y)) -> <(x,y)
>(0(),y) -> False()
>(S(x),0()) -> True()
>(S(x),S(y)) -> >(x,y)
part[Ite][True][Ite](False(),x',Cons(x,xs),xs1,xs2) -> part[Ite][True][Ite][False][Ite](<(x',x)
,x'
,Cons(x,xs)
,xs1
,xs2)
part[Ite][True][Ite](True(),x',Cons(x,xs),xs1,xs2) -> part(x',xs,Cons(x,xs1),xs2)
- Signature:
{2,>/2,app/2,goal/1,notEmpty/1,part/4,part[Ite][True][Ite]/5,quicksort/1} / {0/0,Cons/2,False/0,Nil/0,S/1
,True/0,part[Ite][True][Ite][False][Ite]/5}
- Obligation:
innermost runtime complexity wrt. defined symbols {<,>,app,goal,notEmpty,part,part[Ite][True][Ite]
,quicksort} and constructors {0,Cons,False,Nil,S,True,part[Ite][True][Ite][False][Ite]}
+ Applied Processor:
DecreasingLoops {bound = AnyLoop, narrow = 10}
+ Details:
The system has following decreasing Loops:
app(y,z){y -> Cons(x,y)} =
app(Cons(x,y),z) ->^+ Cons(x,app(y,z))
= C[app(y,z) = app(y,z){}]
WORST_CASE(Omega(n^1),?)