* 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
eq(0(),0()) -> true()
eq(0(),s(x)) -> false()
eq(s(x),0()) -> false()
eq(s(x),s(y)) -> eq(x,y)
head(add(n,x)) -> n
if(false(),x,y,z) -> if2(eq(head(x),min(x)),x,y,z)
if(true(),x,y,z) -> z
if2(false(),x,y,z) -> mins(tail(x),add(head(x),y),z)
if2(true(),x,y,z) -> mins(app(rm(head(x),tail(x)),y),nil(),app(z,add(head(x),nil())))
if_min(false(),add(n,add(m,x))) -> min(add(m,x))
if_min(true(),add(n,add(m,x))) -> min(add(n,x))
if_rm(false(),n,add(m,x)) -> add(m,rm(n,x))
if_rm(true(),n,add(m,x)) -> rm(n,x)
le(0(),y) -> true()
le(s(x),0()) -> false()
le(s(x),s(y)) -> le(x,y)
min(add(n,add(m,x))) -> if_min(le(n,m),add(n,add(m,x)))
min(add(n,nil())) -> n
mins(x,y,z) -> if(null(x),x,y,z)
minsort(x) -> mins(x,nil(),nil())
null(add(n,x)) -> false()
null(nil()) -> true()
rm(n,add(m,x)) -> if_rm(eq(n,m),n,add(m,x))
rm(n,nil()) -> nil()
tail(add(n,x)) -> x
tail(nil()) -> nil()
- Signature:
{app/2,eq/2,head/1,if/4,if2/4,if_min/2,if_rm/3,le/2,min/1,mins/3,minsort/1,null/1,rm/2,tail/1} / {0/0,add/2
,false/0,nil/0,s/1,true/0}
- Obligation:
innermost runtime complexity wrt. defined symbols {app,eq,head,if,if2,if_min,if_rm,le,min,mins,minsort,null
,rm,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
eq(0(),0()) -> true()
eq(0(),s(x)) -> false()
eq(s(x),0()) -> false()
eq(s(x),s(y)) -> eq(x,y)
head(add(n,x)) -> n
if(false(),x,y,z) -> if2(eq(head(x),min(x)),x,y,z)
if(true(),x,y,z) -> z
if2(false(),x,y,z) -> mins(tail(x),add(head(x),y),z)
if2(true(),x,y,z) -> mins(app(rm(head(x),tail(x)),y),nil(),app(z,add(head(x),nil())))
if_min(false(),add(n,add(m,x))) -> min(add(m,x))
if_min(true(),add(n,add(m,x))) -> min(add(n,x))
if_rm(false(),n,add(m,x)) -> add(m,rm(n,x))
if_rm(true(),n,add(m,x)) -> rm(n,x)
le(0(),y) -> true()
le(s(x),0()) -> false()
le(s(x),s(y)) -> le(x,y)
min(add(n,add(m,x))) -> if_min(le(n,m),add(n,add(m,x)))
min(add(n,nil())) -> n
mins(x,y,z) -> if(null(x),x,y,z)
minsort(x) -> mins(x,nil(),nil())
null(add(n,x)) -> false()
null(nil()) -> true()
rm(n,add(m,x)) -> if_rm(eq(n,m),n,add(m,x))
rm(n,nil()) -> nil()
tail(add(n,x)) -> x
tail(nil()) -> nil()
- Signature:
{app/2,eq/2,head/1,if/4,if2/4,if_min/2,if_rm/3,le/2,min/1,mins/3,minsort/1,null/1,rm/2,tail/1} / {0/0,add/2
,false/0,nil/0,s/1,true/0}
- Obligation:
innermost runtime complexity wrt. defined symbols {app,eq,head,if,if2,if_min,if_rm,le,min,mins,minsort,null
,rm,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),?)