* 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
if(false(),x,y,z) -> shuff(reverse(tail(x)),z)
if(true(),x,y,z) -> y
null(add(n,x)) -> false()
null(nil()) -> true()
reverse(add(n,x)) -> app(reverse(x),add(n,nil()))
reverse(nil()) -> nil()
shuff(x,y) -> if(null(x),x,y,app(y,add(head(x),nil())))
shuffle(x) -> shuff(x,nil())
tail(add(n,x)) -> x
tail(nil()) -> nil()
- Signature:
{app/2,head/1,if/4,null/1,reverse/1,shuff/2,shuffle/1,tail/1} / {add/2,false/0,nil/0,true/0}
- Obligation:
innermost runtime complexity wrt. defined symbols {app,head,if,null,reverse,shuff,shuffle
,tail} and constructors {add,false,nil,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
if(false(),x,y,z) -> shuff(reverse(tail(x)),z)
if(true(),x,y,z) -> y
null(add(n,x)) -> false()
null(nil()) -> true()
reverse(add(n,x)) -> app(reverse(x),add(n,nil()))
reverse(nil()) -> nil()
shuff(x,y) -> if(null(x),x,y,app(y,add(head(x),nil())))
shuffle(x) -> shuff(x,nil())
tail(add(n,x)) -> x
tail(nil()) -> nil()
- Signature:
{app/2,head/1,if/4,null/1,reverse/1,shuff/2,shuffle/1,tail/1} / {add/2,false/0,nil/0,true/0}
- Obligation:
innermost runtime complexity wrt. defined symbols {app,head,if,null,reverse,shuff,shuffle
,tail} and constructors {add,false,nil,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),?)