* 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
dropLast(cons(x,cons(y,ys))) -> cons(x,dropLast(cons(y,ys)))
dropLast(cons(x,nil())) -> nil()
dropLast(nil()) -> nil()
if(false(),xs,ys,zs) -> rev(xs,ys)
if(true(),xs,ys,zs) -> zs
isEmpty(cons(x,xs)) -> false()
isEmpty(nil()) -> true()
last(cons(x,cons(y,ys))) -> last(cons(y,ys))
last(cons(x,nil())) -> x
rev(xs,ys) -> if(isEmpty(xs),dropLast(xs),append(ys,last(xs)),ys)
reverse(xs) -> rev(xs,nil())
- Signature:
{append/2,dropLast/1,if/4,isEmpty/1,last/1,rev/2,reverse/1} / {cons/2,false/0,nil/0,true/0}
- Obligation:
innermost runtime complexity wrt. defined symbols {append,dropLast,if,isEmpty,last,rev
,reverse} and constructors {cons,false,nil,true}
+ 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
dropLast(cons(x,cons(y,ys))) -> cons(x,dropLast(cons(y,ys)))
dropLast(cons(x,nil())) -> nil()
dropLast(nil()) -> nil()
if(false(),xs,ys,zs) -> rev(xs,ys)
if(true(),xs,ys,zs) -> zs
isEmpty(cons(x,xs)) -> false()
isEmpty(nil()) -> true()
last(cons(x,cons(y,ys))) -> last(cons(y,ys))
last(cons(x,nil())) -> x
rev(xs,ys) -> if(isEmpty(xs),dropLast(xs),append(ys,last(xs)),ys)
reverse(xs) -> rev(xs,nil())
- Signature:
{append/2,dropLast/1,if/4,isEmpty/1,last/1,rev/2,reverse/1} / {cons/2,false/0,nil/0,true/0}
- Obligation:
innermost runtime complexity wrt. defined symbols {append,dropLast,if,isEmpty,last,rev
,reverse} and constructors {cons,false,nil,true}
+ Applied Processor:
DecreasingLoops {bound = AnyLoop, narrow = 10}
+ Details:
The system has following decreasing Loops:
append(y,z){y -> cons(x,y)} =
append(cons(x,y),z) ->^+ cons(x,append(y,z))
= C[append(y,z) = append(y,z){}]
WORST_CASE(Omega(n^1),?)