* Step 1: Sum WORST_CASE(Omega(n^1),?)
+ Considered Problem:
- Strict TRS:
append(cons(x,xs),ys()) -> cons(x,append(xs,ys()))
append(nil(),ys()) -> ys()
filterhigh(n,cons(x,xs)) -> if2(ge(x,n),n,x,xs)
filterhigh(n,nil()) -> nil()
filterlow(n,cons(x,xs)) -> if1(ge(n,x),n,x,xs)
filterlow(n,nil()) -> nil()
ge(x,0()) -> true()
ge(0(),s(x)) -> false()
ge(s(x),s(y)) -> ge(x,y)
if1(false(),n,x,xs) -> cons(x,filterlow(n,xs))
if1(true(),n,x,xs) -> filterlow(n,xs)
if2(false(),n,x,xs) -> cons(x,filterhigh(n,xs))
if2(true(),n,x,xs) -> filterhigh(n,xs)
qsort(cons(x,xs)) -> append(qsort(filterlow(x,cons(x,xs))),cons(x,qsort(filterhigh(x,cons(x,xs)))))
qsort(nil()) -> nil()
- Signature:
{append/2,filterhigh/2,filterlow/2,ge/2,if1/4,if2/4,qsort/1} / {0/0,cons/2,false/0,nil/0,s/1,true/0,ys/0}
- Obligation:
innermost runtime complexity wrt. defined symbols {append,filterhigh,filterlow,ge,if1,if2
,qsort} and constructors {0,cons,false,nil,s,true,ys}
+ Applied Processor:
Sum {left = someStrategy, right = someStrategy}
+ Details:
()
* Step 2: DecreasingLoops WORST_CASE(Omega(n^1),?)
+ Considered Problem:
- Strict TRS:
append(cons(x,xs),ys()) -> cons(x,append(xs,ys()))
append(nil(),ys()) -> ys()
filterhigh(n,cons(x,xs)) -> if2(ge(x,n),n,x,xs)
filterhigh(n,nil()) -> nil()
filterlow(n,cons(x,xs)) -> if1(ge(n,x),n,x,xs)
filterlow(n,nil()) -> nil()
ge(x,0()) -> true()
ge(0(),s(x)) -> false()
ge(s(x),s(y)) -> ge(x,y)
if1(false(),n,x,xs) -> cons(x,filterlow(n,xs))
if1(true(),n,x,xs) -> filterlow(n,xs)
if2(false(),n,x,xs) -> cons(x,filterhigh(n,xs))
if2(true(),n,x,xs) -> filterhigh(n,xs)
qsort(cons(x,xs)) -> append(qsort(filterlow(x,cons(x,xs))),cons(x,qsort(filterhigh(x,cons(x,xs)))))
qsort(nil()) -> nil()
- Signature:
{append/2,filterhigh/2,filterlow/2,ge/2,if1/4,if2/4,qsort/1} / {0/0,cons/2,false/0,nil/0,s/1,true/0,ys/0}
- Obligation:
innermost runtime complexity wrt. defined symbols {append,filterhigh,filterlow,ge,if1,if2
,qsort} and constructors {0,cons,false,nil,s,true,ys}
+ Applied Processor:
DecreasingLoops {bound = AnyLoop, narrow = 10}
+ Details:
The system has following decreasing Loops:
append(y,ys()){y -> cons(x,y)} =
append(cons(x,y),ys()) ->^+ cons(x,append(y,ys()))
= C[append(y,ys()) = append(y,ys()){}]
WORST_CASE(Omega(n^1),?)