* Step 1: Sum WORST_CASE(Omega(n^1),?)
+ Considered Problem:
- Strict TRS:
app(l,nil()) -> l
app(cons(x,l),k) -> cons(x,app(l,k))
app(nil(),k) -> k
gt(s(x),s(y)) -> gt(x,y)
gt(s(x),zero()) -> true()
gt(zero(),y) -> false()
id(x) -> x
if(false(),x,y) -> y
if(true(),x,y) -> x
not(x) -> if(x,false(),true())
plus(id(x),s(y)) -> s(plus(x,if(gt(s(y),y),y,s(y))))
plus(s(x),x) -> plus(if(gt(x,x),id(x),id(x)),s(x))
plus(s(x),s(y)) -> s(s(plus(if(gt(x,y),x,y),if(not(gt(x,y)),id(x),id(y)))))
plus(zero(),y) -> y
pred(cons(s(x),nil())) -> cons(x,nil())
sum(app(l,cons(x,cons(y,k)))) -> sum(app(l,sum(cons(x,cons(y,k)))))
sum(cons(x,cons(y,l))) -> sum(cons(plus(x,y),l))
sum(cons(x,nil())) -> cons(x,nil())
sum(plus(cons(0(),x),cons(y,l))) -> pred(sum(cons(s(x),cons(y,l))))
- Signature:
{app/2,gt/2,id/1,if/3,not/1,plus/2,pred/1,sum/1} / {0/0,cons/2,false/0,nil/0,s/1,true/0,zero/0}
- Obligation:
innermost runtime complexity wrt. defined symbols {app,gt,id,if,not,plus,pred,sum} and constructors {0,cons
,false,nil,s,true,zero}
+ Applied Processor:
Sum {left = someStrategy, right = someStrategy}
+ Details:
()
* Step 2: DecreasingLoops WORST_CASE(Omega(n^1),?)
+ Considered Problem:
- Strict TRS:
app(l,nil()) -> l
app(cons(x,l),k) -> cons(x,app(l,k))
app(nil(),k) -> k
gt(s(x),s(y)) -> gt(x,y)
gt(s(x),zero()) -> true()
gt(zero(),y) -> false()
id(x) -> x
if(false(),x,y) -> y
if(true(),x,y) -> x
not(x) -> if(x,false(),true())
plus(id(x),s(y)) -> s(plus(x,if(gt(s(y),y),y,s(y))))
plus(s(x),x) -> plus(if(gt(x,x),id(x),id(x)),s(x))
plus(s(x),s(y)) -> s(s(plus(if(gt(x,y),x,y),if(not(gt(x,y)),id(x),id(y)))))
plus(zero(),y) -> y
pred(cons(s(x),nil())) -> cons(x,nil())
sum(app(l,cons(x,cons(y,k)))) -> sum(app(l,sum(cons(x,cons(y,k)))))
sum(cons(x,cons(y,l))) -> sum(cons(plus(x,y),l))
sum(cons(x,nil())) -> cons(x,nil())
sum(plus(cons(0(),x),cons(y,l))) -> pred(sum(cons(s(x),cons(y,l))))
- Signature:
{app/2,gt/2,id/1,if/3,not/1,plus/2,pred/1,sum/1} / {0/0,cons/2,false/0,nil/0,s/1,true/0,zero/0}
- Obligation:
innermost runtime complexity wrt. defined symbols {app,gt,id,if,not,plus,pred,sum} and constructors {0,cons
,false,nil,s,true,zero}
+ Applied Processor:
DecreasingLoops {bound = AnyLoop, narrow = 10}
+ Details:
The system has following decreasing Loops:
app(y,z){y -> cons(x,y)} =
app(cons(x,y),z) ->^+ cons(x,app(y,z))
= C[app(y,z) = app(y,z){}]
WORST_CASE(Omega(n^1),?)