* Step 1: Sum WORST_CASE(Omega(n^1),?)
+ Considered Problem:
- Strict TRS:
eq(0(),0()) -> true()
eq(0(),s(x)) -> false()
eq(s(x),0()) -> false()
eq(s(x),s(y)) -> eq(x,y)
from(edge(x,y,i)) -> x
if1(false(),b1,b2,b3,x,y,i,h) -> if2(b1,b2,b3,x,y,i,h)
if1(true(),b1,b2,b3,x,y,i,h) -> true()
if2(false(),b2,b3,x,y,i,h) -> if3(b2,b3,x,y,i,h)
if2(true(),b2,b3,x,y,i,h) -> false()
if3(false(),b3,x,y,i,h) -> reach(x,y,rest(i),edge(from(i),to(i),h))
if3(true(),b3,x,y,i,h) -> if4(b3,x,y,i,h)
if4(false(),x,y,i,h) -> or(reach(x,y,rest(i),h),reach(to(i),y,union(rest(i),h),empty()))
if4(true(),x,y,i,h) -> true()
isEmpty(edge(x,y,i)) -> false()
isEmpty(empty()) -> true()
or(false(),y) -> y
or(true(),y) -> true()
reach(x,y,i,h) -> if1(eq(x,y),isEmpty(i),eq(x,from(i)),eq(y,to(i)),x,y,i,h)
rest(edge(x,y,i)) -> i
rest(empty()) -> empty()
to(edge(x,y,i)) -> y
union(edge(x,y,i),h) -> edge(x,y,union(i,h))
union(empty(),h) -> h
- Signature:
{eq/2,from/1,if1/8,if2/7,if3/6,if4/5,isEmpty/1,or/2,reach/4,rest/1,to/1,union/2} / {0/0,edge/3,empty/0
,false/0,s/1,true/0}
- Obligation:
innermost runtime complexity wrt. defined symbols {eq,from,if1,if2,if3,if4,isEmpty,or,reach,rest,to
,union} and constructors {0,edge,empty,false,s,true}
+ Applied Processor:
Sum {left = someStrategy, right = someStrategy}
+ Details:
()
* Step 2: DecreasingLoops WORST_CASE(Omega(n^1),?)
+ Considered Problem:
- Strict TRS:
eq(0(),0()) -> true()
eq(0(),s(x)) -> false()
eq(s(x),0()) -> false()
eq(s(x),s(y)) -> eq(x,y)
from(edge(x,y,i)) -> x
if1(false(),b1,b2,b3,x,y,i,h) -> if2(b1,b2,b3,x,y,i,h)
if1(true(),b1,b2,b3,x,y,i,h) -> true()
if2(false(),b2,b3,x,y,i,h) -> if3(b2,b3,x,y,i,h)
if2(true(),b2,b3,x,y,i,h) -> false()
if3(false(),b3,x,y,i,h) -> reach(x,y,rest(i),edge(from(i),to(i),h))
if3(true(),b3,x,y,i,h) -> if4(b3,x,y,i,h)
if4(false(),x,y,i,h) -> or(reach(x,y,rest(i),h),reach(to(i),y,union(rest(i),h),empty()))
if4(true(),x,y,i,h) -> true()
isEmpty(edge(x,y,i)) -> false()
isEmpty(empty()) -> true()
or(false(),y) -> y
or(true(),y) -> true()
reach(x,y,i,h) -> if1(eq(x,y),isEmpty(i),eq(x,from(i)),eq(y,to(i)),x,y,i,h)
rest(edge(x,y,i)) -> i
rest(empty()) -> empty()
to(edge(x,y,i)) -> y
union(edge(x,y,i),h) -> edge(x,y,union(i,h))
union(empty(),h) -> h
- Signature:
{eq/2,from/1,if1/8,if2/7,if3/6,if4/5,isEmpty/1,or/2,reach/4,rest/1,to/1,union/2} / {0/0,edge/3,empty/0
,false/0,s/1,true/0}
- Obligation:
innermost runtime complexity wrt. defined symbols {eq,from,if1,if2,if3,if4,isEmpty,or,reach,rest,to
,union} and constructors {0,edge,empty,false,s,true}
+ Applied Processor:
DecreasingLoops {bound = AnyLoop, narrow = 10}
+ Details:
The system has following decreasing Loops:
eq(x,y){x -> s(x),y -> s(y)} =
eq(s(x),s(y)) ->^+ eq(x,y)
= C[eq(x,y) = eq(x,y){}]
WORST_CASE(Omega(n^1),?)