* Step 1: Sum WORST_CASE(Omega(n^1),?) + Considered Problem: - Strict TRS: *(x,+(y,z)) -> +(*(x,y),*(x,z)) *(#(),x) -> #() *(*(x,y),z) -> *(x,*(y,z)) *(0(x),y) -> 0(*(x,y)) *(1(x),y) -> +(0(*(x,y)),y) +(x,#()) -> x +(#(),x) -> x +(+(x,y),z) -> +(x,+(y,z)) +(0(x),0(y)) -> 0(+(x,y)) +(0(x),1(y)) -> 1(+(x,y)) +(1(x),0(y)) -> 1(+(x,y)) +(1(x),1(y)) -> 0(+(+(x,y),1(#()))) -(x,#()) -> x -(#(),x) -> #() -(0(x),0(y)) -> 0(-(x,y)) -(0(x),1(y)) -> 1(-(-(x,y),1(#()))) -(1(x),0(y)) -> 1(-(x,y)) -(1(x),1(y)) -> 0(-(x,y)) 0(#()) -> #() app(cons(x,l1),l2) -> cons(x,app(l1,l2)) app(nil(),l) -> l eq(#(),#()) -> true() eq(#(),0(y)) -> eq(#(),y) eq(#(),1(y)) -> false() eq(0(x),#()) -> eq(x,#()) eq(0(x),0(y)) -> eq(x,y) eq(0(x),1(y)) -> false() eq(1(x),#()) -> false() eq(1(x),0(y)) -> false() eq(1(x),1(y)) -> eq(x,y) ge(x,#()) -> true() ge(#(),0(x)) -> ge(#(),x) ge(#(),1(x)) -> false() ge(0(x),0(y)) -> ge(x,y) ge(0(x),1(y)) -> not(ge(y,x)) ge(1(x),0(y)) -> ge(x,y) ge(1(x),1(y)) -> ge(x,y) if(false(),x,y) -> y if(true(),x,y) -> x ifinter(false(),x,l1,l2) -> inter(l1,l2) ifinter(true(),x,l1,l2) -> cons(x,inter(l1,l2)) inter(l1,app(l2,l3)) -> app(inter(l1,l2),inter(l1,l3)) inter(l1,cons(x,l2)) -> ifinter(mem(x,l1),x,l2,l1) inter(x,nil()) -> nil() inter(app(l1,l2),l3) -> app(inter(l1,l3),inter(l2,l3)) inter(cons(x,l1),l2) -> ifinter(mem(x,l2),x,l1,l2) inter(nil(),x) -> nil() log(x) -> -(log'(x),1(#())) log'(#()) -> #() log'(0(x)) -> if(ge(x,1(#())),+(log'(x),1(#())),#()) log'(1(x)) -> +(log'(x),1(#())) mem(x,cons(y,l)) -> if(eq(x,y),true(),mem(x,l)) mem(x,nil()) -> false() not(false()) -> true() not(true()) -> false() prod(app(l1,l2)) -> *(prod(l1),prod(l2)) prod(cons(x,l)) -> *(x,prod(l)) prod(nil()) -> 1(#()) sum(app(l1,l2)) -> +(sum(l1),sum(l2)) sum(cons(x,l)) -> +(x,sum(l)) sum(nil()) -> 0(#()) - Signature: {*/2,+/2,-/2,0/1,app/2,eq/2,ge/2,if/3,ifinter/4,inter/2,log/1,log'/1,mem/2,not/1,prod/1,sum/1} / {#/0,1/1 ,cons/2,false/0,nil/0,true/0} - Obligation: innermost runtime complexity wrt. defined symbols {*,+,-,0,app,eq,ge,if,ifinter,inter,log,log',mem,not,prod ,sum} and constructors {#,1,cons,false,nil,true} + Applied Processor: Sum {left = someStrategy, right = someStrategy} + Details: () * Step 2: DecreasingLoops WORST_CASE(Omega(n^1),?) + Considered Problem: - Strict TRS: *(x,+(y,z)) -> +(*(x,y),*(x,z)) *(#(),x) -> #() *(*(x,y),z) -> *(x,*(y,z)) *(0(x),y) -> 0(*(x,y)) *(1(x),y) -> +(0(*(x,y)),y) +(x,#()) -> x +(#(),x) -> x +(+(x,y),z) -> +(x,+(y,z)) +(0(x),0(y)) -> 0(+(x,y)) +(0(x),1(y)) -> 1(+(x,y)) +(1(x),0(y)) -> 1(+(x,y)) +(1(x),1(y)) -> 0(+(+(x,y),1(#()))) -(x,#()) -> x -(#(),x) -> #() -(0(x),0(y)) -> 0(-(x,y)) -(0(x),1(y)) -> 1(-(-(x,y),1(#()))) -(1(x),0(y)) -> 1(-(x,y)) -(1(x),1(y)) -> 0(-(x,y)) 0(#()) -> #() app(cons(x,l1),l2) -> cons(x,app(l1,l2)) app(nil(),l) -> l eq(#(),#()) -> true() eq(#(),0(y)) -> eq(#(),y) eq(#(),1(y)) -> false() eq(0(x),#()) -> eq(x,#()) eq(0(x),0(y)) -> eq(x,y) eq(0(x),1(y)) -> false() eq(1(x),#()) -> false() eq(1(x),0(y)) -> false() eq(1(x),1(y)) -> eq(x,y) ge(x,#()) -> true() ge(#(),0(x)) -> ge(#(),x) ge(#(),1(x)) -> false() ge(0(x),0(y)) -> ge(x,y) ge(0(x),1(y)) -> not(ge(y,x)) ge(1(x),0(y)) -> ge(x,y) ge(1(x),1(y)) -> ge(x,y) if(false(),x,y) -> y if(true(),x,y) -> x ifinter(false(),x,l1,l2) -> inter(l1,l2) ifinter(true(),x,l1,l2) -> cons(x,inter(l1,l2)) inter(l1,app(l2,l3)) -> app(inter(l1,l2),inter(l1,l3)) inter(l1,cons(x,l2)) -> ifinter(mem(x,l1),x,l2,l1) inter(x,nil()) -> nil() inter(app(l1,l2),l3) -> app(inter(l1,l3),inter(l2,l3)) inter(cons(x,l1),l2) -> ifinter(mem(x,l2),x,l1,l2) inter(nil(),x) -> nil() log(x) -> -(log'(x),1(#())) log'(#()) -> #() log'(0(x)) -> if(ge(x,1(#())),+(log'(x),1(#())),#()) log'(1(x)) -> +(log'(x),1(#())) mem(x,cons(y,l)) -> if(eq(x,y),true(),mem(x,l)) mem(x,nil()) -> false() not(false()) -> true() not(true()) -> false() prod(app(l1,l2)) -> *(prod(l1),prod(l2)) prod(cons(x,l)) -> *(x,prod(l)) prod(nil()) -> 1(#()) sum(app(l1,l2)) -> +(sum(l1),sum(l2)) sum(cons(x,l)) -> +(x,sum(l)) sum(nil()) -> 0(#()) - Signature: {*/2,+/2,-/2,0/1,app/2,eq/2,ge/2,if/3,ifinter/4,inter/2,log/1,log'/1,mem/2,not/1,prod/1,sum/1} / {#/0,1/1 ,cons/2,false/0,nil/0,true/0} - Obligation: innermost runtime complexity wrt. defined symbols {*,+,-,0,app,eq,ge,if,ifinter,inter,log,log',mem,not,prod ,sum} and constructors {#,1,cons,false,nil,true} + Applied Processor: DecreasingLoops {bound = AnyLoop, narrow = 10} + Details: The system has following decreasing Loops: *(x,y){x -> 1(x)} = *(1(x),y) ->^+ +(0(*(x,y)),y) = C[*(x,y) = *(x,y){}] WORST_CASE(Omega(n^1),?)