* Step 1: Sum WORST_CASE(Omega(n^1),?)
+ Considered Problem:
- Strict TRS:
f0(x,y,z) -> d()
f0(0(),y,x) -> f1(x,y,x)
f1(x,y,z) -> c()
f1(x,y,z) -> f2(x,y,z)
f2(x,1(),z) -> f0(x,z,z)
ge(x,0()) -> true()
ge(0(),s(y)) -> false()
ge(s(x),s(y)) -> ge(x,y)
ifPlus(false(),x,y) -> plus(p(x),y)
ifPlus(true(),x,y) -> p(y)
ifTimes(false(),i,x,y,z) -> timesIter(inc(i),x,y,plus(z,y))
ifTimes(true(),i,x,y,z) -> z
inc(x) -> s(x)
inc(0()) -> s(0())
inc(s(x)) -> s(inc(x))
isZero(0()) -> true()
isZero(s(0())) -> false()
isZero(s(s(x))) -> isZero(s(x))
p(0()) -> 0()
p(s(x)) -> x
p(s(s(x))) -> s(p(s(x)))
plus(x,y) -> ifPlus(isZero(x),x,inc(y))
times(x,y) -> timesIter(0(),x,y,0())
timesIter(i,x,y,z) -> ifTimes(ge(i,x),i,x,y,z)
- Signature:
{f0/3,f1/3,f2/3,ge/2,ifPlus/3,ifTimes/5,inc/1,isZero/1,p/1,plus/2,times/2,timesIter/4} / {0/0,1/0,c/0,d/0
,false/0,s/1,true/0}
- Obligation:
innermost runtime complexity wrt. defined symbols {f0,f1,f2,ge,ifPlus,ifTimes,inc,isZero,p,plus,times
,timesIter} and constructors {0,1,c,d,false,s,true}
+ Applied Processor:
Sum {left = someStrategy, right = someStrategy}
+ Details:
()
* Step 2: DecreasingLoops WORST_CASE(Omega(n^1),?)
+ Considered Problem:
- Strict TRS:
f0(x,y,z) -> d()
f0(0(),y,x) -> f1(x,y,x)
f1(x,y,z) -> c()
f1(x,y,z) -> f2(x,y,z)
f2(x,1(),z) -> f0(x,z,z)
ge(x,0()) -> true()
ge(0(),s(y)) -> false()
ge(s(x),s(y)) -> ge(x,y)
ifPlus(false(),x,y) -> plus(p(x),y)
ifPlus(true(),x,y) -> p(y)
ifTimes(false(),i,x,y,z) -> timesIter(inc(i),x,y,plus(z,y))
ifTimes(true(),i,x,y,z) -> z
inc(x) -> s(x)
inc(0()) -> s(0())
inc(s(x)) -> s(inc(x))
isZero(0()) -> true()
isZero(s(0())) -> false()
isZero(s(s(x))) -> isZero(s(x))
p(0()) -> 0()
p(s(x)) -> x
p(s(s(x))) -> s(p(s(x)))
plus(x,y) -> ifPlus(isZero(x),x,inc(y))
times(x,y) -> timesIter(0(),x,y,0())
timesIter(i,x,y,z) -> ifTimes(ge(i,x),i,x,y,z)
- Signature:
{f0/3,f1/3,f2/3,ge/2,ifPlus/3,ifTimes/5,inc/1,isZero/1,p/1,plus/2,times/2,timesIter/4} / {0/0,1/0,c/0,d/0
,false/0,s/1,true/0}
- Obligation:
innermost runtime complexity wrt. defined symbols {f0,f1,f2,ge,ifPlus,ifTimes,inc,isZero,p,plus,times
,timesIter} and constructors {0,1,c,d,false,s,true}
+ Applied Processor:
DecreasingLoops {bound = AnyLoop, narrow = 10}
+ Details:
The system has following decreasing Loops:
ge(x,y){x -> s(x),y -> s(y)} =
ge(s(x),s(y)) ->^+ ge(x,y)
= C[ge(x,y) = ge(x,y){}]
WORST_CASE(Omega(n^1),?)