* Step 1: Sum WORST_CASE(Omega(n^1),?)
+ Considered Problem:
- Strict TRS:
a() -> b()
a() -> c()
head(cons(x,xs)) -> x
head(nil()) -> error()
ifPlus(false(),x,y,z) -> plusIter(x,s(y),s(z))
ifPlus(true(),x,y,z) -> y
ifSum(false(),xs,x,y) -> sumIter(tail(xs),y)
ifSum(true(),xs,x,y) -> x
isempty(cons(x,xs)) -> false()
isempty(nil()) -> true()
le(0(),y) -> true()
le(s(x),0()) -> false()
le(s(x),s(y)) -> le(x,y)
plus(x,y) -> plusIter(x,y,0())
plusIter(x,y,z) -> ifPlus(le(x,z),x,y,z)
sum(xs) -> sumIter(xs,0())
sumIter(xs,x) -> ifSum(isempty(xs),xs,x,plus(x,head(xs)))
tail(cons(x,xs)) -> xs
tail(nil()) -> nil()
- Signature:
{a/0,head/1,ifPlus/4,ifSum/4,isempty/1,le/2,plus/2,plusIter/3,sum/1,sumIter/2,tail/1} / {0/0,b/0,c/0,cons/2
,error/0,false/0,nil/0,s/1,true/0}
- Obligation:
innermost runtime complexity wrt. defined symbols {a,head,ifPlus,ifSum,isempty,le,plus,plusIter,sum,sumIter
,tail} and constructors {0,b,c,cons,error,false,nil,s,true}
+ Applied Processor:
Sum {left = someStrategy, right = someStrategy}
+ Details:
()
* Step 2: DecreasingLoops WORST_CASE(Omega(n^1),?)
+ Considered Problem:
- Strict TRS:
a() -> b()
a() -> c()
head(cons(x,xs)) -> x
head(nil()) -> error()
ifPlus(false(),x,y,z) -> plusIter(x,s(y),s(z))
ifPlus(true(),x,y,z) -> y
ifSum(false(),xs,x,y) -> sumIter(tail(xs),y)
ifSum(true(),xs,x,y) -> x
isempty(cons(x,xs)) -> false()
isempty(nil()) -> true()
le(0(),y) -> true()
le(s(x),0()) -> false()
le(s(x),s(y)) -> le(x,y)
plus(x,y) -> plusIter(x,y,0())
plusIter(x,y,z) -> ifPlus(le(x,z),x,y,z)
sum(xs) -> sumIter(xs,0())
sumIter(xs,x) -> ifSum(isempty(xs),xs,x,plus(x,head(xs)))
tail(cons(x,xs)) -> xs
tail(nil()) -> nil()
- Signature:
{a/0,head/1,ifPlus/4,ifSum/4,isempty/1,le/2,plus/2,plusIter/3,sum/1,sumIter/2,tail/1} / {0/0,b/0,c/0,cons/2
,error/0,false/0,nil/0,s/1,true/0}
- Obligation:
innermost runtime complexity wrt. defined symbols {a,head,ifPlus,ifSum,isempty,le,plus,plusIter,sum,sumIter
,tail} and constructors {0,b,c,cons,error,false,nil,s,true}
+ Applied Processor:
DecreasingLoops {bound = AnyLoop, narrow = 10}
+ Details:
The system has following decreasing Loops:
le(x,y){x -> s(x),y -> s(y)} =
le(s(x),s(y)) ->^+ le(x,y)
= C[le(x,y) = le(x,y){}]
WORST_CASE(Omega(n^1),?)