* Step 1: Sum WORST_CASE(Omega(n^1),?)
+ Considered Problem:
- Strict TRS:
app(add(n,x),y) -> add(n,app(x,y))
app(nil(),y) -> y
high(n,add(m,x)) -> if_high(le(m,n),n,add(m,x))
high(n,nil()) -> nil()
if_high(false(),n,add(m,x)) -> add(m,high(n,x))
if_high(true(),n,add(m,x)) -> high(n,x)
if_low(false(),n,add(m,x)) -> low(n,x)
if_low(true(),n,add(m,x)) -> add(m,low(n,x))
le(0(),y) -> true()
le(s(x),0()) -> false()
le(s(x),s(y)) -> le(x,y)
low(n,add(m,x)) -> if_low(le(m,n),n,add(m,x))
low(n,nil()) -> nil()
minus(x,0()) -> x
minus(s(x),s(y)) -> minus(x,y)
quicksort(add(n,x)) -> app(quicksort(low(n,x)),add(n,quicksort(high(n,x))))
quicksort(nil()) -> nil()
quot(0(),s(y)) -> 0()
quot(s(x),s(y)) -> s(quot(minus(x,y),s(y)))
- Signature:
{app/2,high/2,if_high/3,if_low/3,le/2,low/2,minus/2,quicksort/1,quot/2} / {0/0,add/2,false/0,nil/0,s/1
,true/0}
- Obligation:
innermost runtime complexity wrt. defined symbols {app,high,if_high,if_low,le,low,minus,quicksort
,quot} and constructors {0,add,false,nil,s,true}
+ Applied Processor:
Sum {left = someStrategy, right = someStrategy}
+ Details:
()
* Step 2: DecreasingLoops WORST_CASE(Omega(n^1),?)
+ Considered Problem:
- Strict TRS:
app(add(n,x),y) -> add(n,app(x,y))
app(nil(),y) -> y
high(n,add(m,x)) -> if_high(le(m,n),n,add(m,x))
high(n,nil()) -> nil()
if_high(false(),n,add(m,x)) -> add(m,high(n,x))
if_high(true(),n,add(m,x)) -> high(n,x)
if_low(false(),n,add(m,x)) -> low(n,x)
if_low(true(),n,add(m,x)) -> add(m,low(n,x))
le(0(),y) -> true()
le(s(x),0()) -> false()
le(s(x),s(y)) -> le(x,y)
low(n,add(m,x)) -> if_low(le(m,n),n,add(m,x))
low(n,nil()) -> nil()
minus(x,0()) -> x
minus(s(x),s(y)) -> minus(x,y)
quicksort(add(n,x)) -> app(quicksort(low(n,x)),add(n,quicksort(high(n,x))))
quicksort(nil()) -> nil()
quot(0(),s(y)) -> 0()
quot(s(x),s(y)) -> s(quot(minus(x,y),s(y)))
- Signature:
{app/2,high/2,if_high/3,if_low/3,le/2,low/2,minus/2,quicksort/1,quot/2} / {0/0,add/2,false/0,nil/0,s/1
,true/0}
- Obligation:
innermost runtime complexity wrt. defined symbols {app,high,if_high,if_low,le,low,minus,quicksort
,quot} and constructors {0,add,false,nil,s,true}
+ Applied Processor:
DecreasingLoops {bound = AnyLoop, narrow = 10}
+ Details:
The system has following decreasing Loops:
app(y,z){y -> add(x,y)} =
app(add(x,y),z) ->^+ add(x,app(y,z))
= C[app(y,z) = app(y,z){}]
WORST_CASE(Omega(n^1),?)