* 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
head(add(n,x)) -> n
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))
if_qs(false(),x,n,y) -> app(quicksort(x),add(n,quicksort(y)))
if_qs(true(),x,n,y) -> nil()
isempty(add(n,x)) -> false()
isempty(nil()) -> true()
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()
quicksort(x) -> if_qs(isempty(x),low(head(x),tail(x)),head(x),high(head(x),tail(x)))
tail(add(n,x)) -> x
- Signature:
{app/2,head/1,high/2,if_high/3,if_low/3,if_qs/4,isempty/1,le/2,low/2,quicksort/1,tail/1} / {0/0,add/2
,false/0,nil/0,s/1,true/0}
- Obligation:
innermost runtime complexity wrt. defined symbols {app,head,high,if_high,if_low,if_qs,isempty,le,low
,quicksort,tail} 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
head(add(n,x)) -> n
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))
if_qs(false(),x,n,y) -> app(quicksort(x),add(n,quicksort(y)))
if_qs(true(),x,n,y) -> nil()
isempty(add(n,x)) -> false()
isempty(nil()) -> true()
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()
quicksort(x) -> if_qs(isempty(x),low(head(x),tail(x)),head(x),high(head(x),tail(x)))
tail(add(n,x)) -> x
- Signature:
{app/2,head/1,high/2,if_high/3,if_low/3,if_qs/4,isempty/1,le/2,low/2,quicksort/1,tail/1} / {0/0,add/2
,false/0,nil/0,s/1,true/0}
- Obligation:
innermost runtime complexity wrt. defined symbols {app,head,high,if_high,if_low,if_qs,isempty,le,low
,quicksort,tail} 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),?)