* Step 1: Sum WORST_CASE(Omega(n^1),?)
+ Considered Problem:
- Strict TRS:
append(cons(x,y),z) -> cons(x,append(y,z))
append(nil(),y) -> y
ge(x,0()) -> true()
ge(0(),s(y)) -> false()
ge(s(x),s(y)) -> ge(x,y)
help(c,l,cons(x,y),z) -> if(append(y,cons(x,nil())),ge(c,l),cons(x,z),c,l)
if(x,false(),z,c,l) -> help(s(c),l,x,z)
if(x,true(),z,c,l) -> z
length(cons(x,y)) -> s(length(y))
length(nil()) -> 0()
rev(x) -> if(x,eq(0(),length(x)),nil(),0(),length(x))
- Signature:
{append/2,ge/2,help/4,if/5,length/1,rev/1} / {0/0,cons/2,eq/2,false/0,nil/0,s/1,true/0}
- Obligation:
innermost runtime complexity wrt. defined symbols {append,ge,help,if,length,rev} and constructors {0,cons,eq
,false,nil,s,true}
+ Applied Processor:
Sum {left = someStrategy, right = someStrategy}
+ Details:
()
* Step 2: DecreasingLoops WORST_CASE(Omega(n^1),?)
+ Considered Problem:
- Strict TRS:
append(cons(x,y),z) -> cons(x,append(y,z))
append(nil(),y) -> y
ge(x,0()) -> true()
ge(0(),s(y)) -> false()
ge(s(x),s(y)) -> ge(x,y)
help(c,l,cons(x,y),z) -> if(append(y,cons(x,nil())),ge(c,l),cons(x,z),c,l)
if(x,false(),z,c,l) -> help(s(c),l,x,z)
if(x,true(),z,c,l) -> z
length(cons(x,y)) -> s(length(y))
length(nil()) -> 0()
rev(x) -> if(x,eq(0(),length(x)),nil(),0(),length(x))
- Signature:
{append/2,ge/2,help/4,if/5,length/1,rev/1} / {0/0,cons/2,eq/2,false/0,nil/0,s/1,true/0}
- Obligation:
innermost runtime complexity wrt. defined symbols {append,ge,help,if,length,rev} and constructors {0,cons,eq
,false,nil,s,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),?)