WORST_CASE(?,O(n^2)) * Step 1: DependencyPairs WORST_CASE(?,O(n^2)) + Considered Problem: - Strict TRS: +(x,+(y,z)) -> +(+(x,y),z) +(x,0()) -> x +(0(),x) -> x +(I(x),I(y)) -> O(+(+(x,y),I(0()))) +(I(x),O(y)) -> I(+(x,y)) +(O(x),I(y)) -> I(+(x,y)) +(O(x),O(y)) -> O(+(x,y)) -(x,0()) -> x -(0(),x) -> 0() -(I(x),I(y)) -> O(-(x,y)) -(I(x),O(y)) -> I(-(x,y)) -(O(x),I(y)) -> I(-(-(x,y),I(1()))) -(O(x),O(y)) -> O(-(x,y)) BS(L(x)) -> true() BS(N(x,l(),r())) -> and(and(ge(x,Max(l())),ge(Min(r()),x)),and(BS(l()),BS(r()))) Log(x) -> -(Log'(x),I(0())) Log'(0()) -> 0() Log'(I(x)) -> +(Log'(x),I(0())) Log'(O(x)) -> if(ge(x,I(0())),+(Log'(x),I(0())),0()) Max(L(x)) -> x Max(N(x,l(),r())) -> Max(r()) Min(L(x)) -> x Min(N(x,l(),r())) -> Min(l()) O(0()) -> 0() Size(L(x)) -> I(0()) Size(N(x,l(),r())) -> +(+(Size(l()),Size(r())),I(1())) Val(L(x)) -> x Val(N(x,l(),r())) -> x WB(L(x)) -> true() WB(N(x,l(),r())) -> and(if(ge(Size(l()),Size(r())) ,ge(I(0()),-(Size(l()),Size(r()))) ,ge(I(0()),-(Size(r()),Size(l())))) ,and(WB(l()),WB(r()))) and(x,false()) -> false() and(x,true()) -> x ge(x,0()) -> true() ge(0(),I(x)) -> false() ge(0(),O(x)) -> ge(0(),x) ge(I(x),I(y)) -> ge(x,y) ge(I(x),O(y)) -> ge(x,y) ge(O(x),I(y)) -> not(ge(y,x)) ge(O(x),O(y)) -> ge(x,y) if(false(),x,y) -> y if(true(),x,y) -> x not(false()) -> true() not(true()) -> false() - Signature: {+/2,-/2,BS/1,Log/1,Log'/1,Max/1,Min/1,O/1,Size/1,Val/1,WB/1,and/2,ge/2,if/3,not/1} / {0/0,1/0,I/1,L/1,N/3 ,false/0,l/0,r/0,true/0} - Obligation: innermost runtime complexity wrt. defined symbols {+,-,BS,Log,Log',Max,Min,O,Size,Val,WB,and,ge,if ,not} and constructors {0,1,I,L,N,false,l,r,true} + Applied Processor: DependencyPairs {dpKind_ = DT} + Details: We add the following dependency tuples: Strict DPs +#(x,+(y,z)) -> c_1(+#(+(x,y),z),+#(x,y)) +#(x,0()) -> c_2() +#(0(),x) -> c_3() +#(I(x),I(y)) -> c_4(O#(+(+(x,y),I(0()))),+#(+(x,y),I(0())),+#(x,y)) +#(I(x),O(y)) -> c_5(+#(x,y)) +#(O(x),I(y)) -> c_6(+#(x,y)) +#(O(x),O(y)) -> c_7(O#(+(x,y)),+#(x,y)) -#(x,0()) -> c_8() -#(0(),x) -> c_9() -#(I(x),I(y)) -> c_10(O#(-(x,y)),-#(x,y)) -#(I(x),O(y)) -> c_11(-#(x,y)) -#(O(x),I(y)) -> c_12(-#(-(x,y),I(1())),-#(x,y)) -#(O(x),O(y)) -> c_13(O#(-(x,y)),-#(x,y)) BS#(L(x)) -> c_14() BS#(N(x,l(),r())) -> c_15(and#(and(ge(x,Max(l())),ge(Min(r()),x)),and(BS(l()),BS(r()))) ,and#(ge(x,Max(l())),ge(Min(r()),x)) ,ge#(x,Max(l())) ,Max#(l()) ,ge#(Min(r()),x) ,Min#(r()) ,and#(BS(l()),BS(r())) ,BS#(l()) ,BS#(r())) Log#(x) -> c_16(-#(Log'(x),I(0())),Log'#(x)) Log'#(0()) -> c_17() Log'#(I(x)) -> c_18(+#(Log'(x),I(0())),Log'#(x)) Log'#(O(x)) -> c_19(if#(ge(x,I(0())),+(Log'(x),I(0())),0()),ge#(x,I(0())),+#(Log'(x),I(0())),Log'#(x)) Max#(L(x)) -> c_20() Max#(N(x,l(),r())) -> c_21(Max#(r())) Min#(L(x)) -> c_22() Min#(N(x,l(),r())) -> c_23(Min#(l())) O#(0()) -> c_24() Size#(L(x)) -> c_25() Size#(N(x,l(),r())) -> c_26(+#(+(Size(l()),Size(r())),I(1())),+#(Size(l()),Size(r())),Size#(l()),Size#(r())) Val#(L(x)) -> c_27() Val#(N(x,l(),r())) -> c_28() WB#(L(x)) -> c_29() WB#(N(x,l(),r())) -> c_30(and#(if(ge(Size(l()),Size(r())) ,ge(I(0()),-(Size(l()),Size(r()))) ,ge(I(0()),-(Size(r()),Size(l())))) ,and(WB(l()),WB(r()))) ,if#(ge(Size(l()),Size(r())) ,ge(I(0()),-(Size(l()),Size(r()))) ,ge(I(0()),-(Size(r()),Size(l())))) ,ge#(Size(l()),Size(r())) ,Size#(l()) ,Size#(r()) ,ge#(I(0()),-(Size(l()),Size(r()))) ,-#(Size(l()),Size(r())) ,Size#(l()) ,Size#(r()) ,ge#(I(0()),-(Size(r()),Size(l()))) ,-#(Size(r()),Size(l())) ,Size#(r()) ,Size#(l()) ,and#(WB(l()),WB(r())) ,WB#(l()) ,WB#(r())) and#(x,false()) -> c_31() and#(x,true()) -> c_32() ge#(x,0()) -> c_33() ge#(0(),I(x)) -> c_34() ge#(0(),O(x)) -> c_35(ge#(0(),x)) ge#(I(x),I(y)) -> c_36(ge#(x,y)) ge#(I(x),O(y)) -> c_37(ge#(x,y)) ge#(O(x),I(y)) -> c_38(not#(ge(y,x)),ge#(y,x)) ge#(O(x),O(y)) -> c_39(ge#(x,y)) if#(false(),x,y) -> c_40() if#(true(),x,y) -> c_41() not#(false()) -> c_42() not#(true()) -> c_43() Weak DPs and mark the set of starting terms. * Step 2: UsableRules WORST_CASE(?,O(n^2)) + Considered Problem: - Strict DPs: +#(x,+(y,z)) -> c_1(+#(+(x,y),z),+#(x,y)) +#(x,0()) -> c_2() +#(0(),x) -> c_3() +#(I(x),I(y)) -> c_4(O#(+(+(x,y),I(0()))),+#(+(x,y),I(0())),+#(x,y)) +#(I(x),O(y)) -> c_5(+#(x,y)) +#(O(x),I(y)) -> c_6(+#(x,y)) +#(O(x),O(y)) -> c_7(O#(+(x,y)),+#(x,y)) -#(x,0()) -> c_8() -#(0(),x) -> c_9() -#(I(x),I(y)) -> c_10(O#(-(x,y)),-#(x,y)) -#(I(x),O(y)) -> c_11(-#(x,y)) -#(O(x),I(y)) -> c_12(-#(-(x,y),I(1())),-#(x,y)) -#(O(x),O(y)) -> c_13(O#(-(x,y)),-#(x,y)) BS#(L(x)) -> c_14() BS#(N(x,l(),r())) -> c_15(and#(and(ge(x,Max(l())),ge(Min(r()),x)),and(BS(l()),BS(r()))) ,and#(ge(x,Max(l())),ge(Min(r()),x)) ,ge#(x,Max(l())) ,Max#(l()) ,ge#(Min(r()),x) ,Min#(r()) ,and#(BS(l()),BS(r())) ,BS#(l()) ,BS#(r())) Log#(x) -> c_16(-#(Log'(x),I(0())),Log'#(x)) Log'#(0()) -> c_17() Log'#(I(x)) -> c_18(+#(Log'(x),I(0())),Log'#(x)) Log'#(O(x)) -> c_19(if#(ge(x,I(0())),+(Log'(x),I(0())),0()),ge#(x,I(0())),+#(Log'(x),I(0())),Log'#(x)) Max#(L(x)) -> c_20() Max#(N(x,l(),r())) -> c_21(Max#(r())) Min#(L(x)) -> c_22() Min#(N(x,l(),r())) -> c_23(Min#(l())) O#(0()) -> c_24() Size#(L(x)) -> c_25() Size#(N(x,l(),r())) -> c_26(+#(+(Size(l()),Size(r())),I(1())),+#(Size(l()),Size(r())),Size#(l()),Size#(r())) Val#(L(x)) -> c_27() Val#(N(x,l(),r())) -> c_28() WB#(L(x)) -> c_29() WB#(N(x,l(),r())) -> c_30(and#(if(ge(Size(l()),Size(r())) ,ge(I(0()),-(Size(l()),Size(r()))) ,ge(I(0()),-(Size(r()),Size(l())))) ,and(WB(l()),WB(r()))) ,if#(ge(Size(l()),Size(r())) ,ge(I(0()),-(Size(l()),Size(r()))) ,ge(I(0()),-(Size(r()),Size(l())))) ,ge#(Size(l()),Size(r())) ,Size#(l()) ,Size#(r()) ,ge#(I(0()),-(Size(l()),Size(r()))) ,-#(Size(l()),Size(r())) ,Size#(l()) ,Size#(r()) ,ge#(I(0()),-(Size(r()),Size(l()))) ,-#(Size(r()),Size(l())) ,Size#(r()) ,Size#(l()) ,and#(WB(l()),WB(r())) ,WB#(l()) ,WB#(r())) and#(x,false()) -> c_31() and#(x,true()) -> c_32() ge#(x,0()) -> c_33() ge#(0(),I(x)) -> c_34() ge#(0(),O(x)) -> c_35(ge#(0(),x)) ge#(I(x),I(y)) -> c_36(ge#(x,y)) ge#(I(x),O(y)) -> c_37(ge#(x,y)) ge#(O(x),I(y)) -> c_38(not#(ge(y,x)),ge#(y,x)) ge#(O(x),O(y)) -> c_39(ge#(x,y)) if#(false(),x,y) -> c_40() if#(true(),x,y) -> c_41() not#(false()) -> c_42() not#(true()) -> c_43() - Weak TRS: +(x,+(y,z)) -> +(+(x,y),z) +(x,0()) -> x +(0(),x) -> x +(I(x),I(y)) -> O(+(+(x,y),I(0()))) +(I(x),O(y)) -> I(+(x,y)) +(O(x),I(y)) -> I(+(x,y)) +(O(x),O(y)) -> O(+(x,y)) -(x,0()) -> x -(0(),x) -> 0() -(I(x),I(y)) -> O(-(x,y)) -(I(x),O(y)) -> I(-(x,y)) -(O(x),I(y)) -> I(-(-(x,y),I(1()))) -(O(x),O(y)) -> O(-(x,y)) BS(L(x)) -> true() BS(N(x,l(),r())) -> and(and(ge(x,Max(l())),ge(Min(r()),x)),and(BS(l()),BS(r()))) Log(x) -> -(Log'(x),I(0())) Log'(0()) -> 0() Log'(I(x)) -> +(Log'(x),I(0())) Log'(O(x)) -> if(ge(x,I(0())),+(Log'(x),I(0())),0()) Max(L(x)) -> x Max(N(x,l(),r())) -> Max(r()) Min(L(x)) -> x Min(N(x,l(),r())) -> Min(l()) O(0()) -> 0() Size(L(x)) -> I(0()) Size(N(x,l(),r())) -> +(+(Size(l()),Size(r())),I(1())) Val(L(x)) -> x Val(N(x,l(),r())) -> x WB(L(x)) -> true() WB(N(x,l(),r())) -> and(if(ge(Size(l()),Size(r())) ,ge(I(0()),-(Size(l()),Size(r()))) ,ge(I(0()),-(Size(r()),Size(l())))) ,and(WB(l()),WB(r()))) and(x,false()) -> false() and(x,true()) -> x ge(x,0()) -> true() ge(0(),I(x)) -> false() ge(0(),O(x)) -> ge(0(),x) ge(I(x),I(y)) -> ge(x,y) ge(I(x),O(y)) -> ge(x,y) ge(O(x),I(y)) -> not(ge(y,x)) ge(O(x),O(y)) -> ge(x,y) if(false(),x,y) -> y if(true(),x,y) -> x not(false()) -> true() not(true()) -> false() - Signature: {+/2,-/2,BS/1,Log/1,Log'/1,Max/1,Min/1,O/1,Size/1,Val/1,WB/1,and/2,ge/2,if/3,not/1,+#/2,-#/2,BS#/1,Log#/1 ,Log'#/1,Max#/1,Min#/1,O#/1,Size#/1,Val#/1,WB#/1,and#/2,ge#/2,if#/3,not#/1} / {0/0,1/0,I/1,L/1,N/3,false/0 ,l/0,r/0,true/0,c_1/2,c_2/0,c_3/0,c_4/3,c_5/1,c_6/1,c_7/2,c_8/0,c_9/0,c_10/2,c_11/1,c_12/2,c_13/2,c_14/0 ,c_15/9,c_16/2,c_17/0,c_18/2,c_19/4,c_20/0,c_21/1,c_22/0,c_23/1,c_24/0,c_25/0,c_26/4,c_27/0,c_28/0,c_29/0 ,c_30/16,c_31/0,c_32/0,c_33/0,c_34/0,c_35/1,c_36/1,c_37/1,c_38/2,c_39/1,c_40/0,c_41/0,c_42/0,c_43/0} - Obligation: innermost runtime complexity wrt. defined symbols {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge# ,if#,not#} and constructors {0,1,I,L,N,false,l,r,true} + Applied Processor: UsableRules + Details: We replace rewrite rules by usable rules: +(x,+(y,z)) -> +(+(x,y),z) +(x,0()) -> x +(0(),x) -> x +(I(x),I(y)) -> O(+(+(x,y),I(0()))) +(I(x),O(y)) -> I(+(x,y)) +(O(x),I(y)) -> I(+(x,y)) +(O(x),O(y)) -> O(+(x,y)) -(x,0()) -> x -(0(),x) -> 0() -(I(x),I(y)) -> O(-(x,y)) -(I(x),O(y)) -> I(-(x,y)) -(O(x),I(y)) -> I(-(-(x,y),I(1()))) -(O(x),O(y)) -> O(-(x,y)) Log'(0()) -> 0() Log'(I(x)) -> +(Log'(x),I(0())) Log'(O(x)) -> if(ge(x,I(0())),+(Log'(x),I(0())),0()) O(0()) -> 0() and(x,false()) -> false() and(x,true()) -> x ge(x,0()) -> true() ge(0(),I(x)) -> false() ge(0(),O(x)) -> ge(0(),x) ge(I(x),I(y)) -> ge(x,y) ge(I(x),O(y)) -> ge(x,y) ge(O(x),I(y)) -> not(ge(y,x)) ge(O(x),O(y)) -> ge(x,y) if(false(),x,y) -> y if(true(),x,y) -> x not(false()) -> true() not(true()) -> false() +#(x,+(y,z)) -> c_1(+#(+(x,y),z),+#(x,y)) +#(x,0()) -> c_2() +#(0(),x) -> c_3() +#(I(x),I(y)) -> c_4(O#(+(+(x,y),I(0()))),+#(+(x,y),I(0())),+#(x,y)) +#(I(x),O(y)) -> c_5(+#(x,y)) +#(O(x),I(y)) -> c_6(+#(x,y)) +#(O(x),O(y)) -> c_7(O#(+(x,y)),+#(x,y)) -#(x,0()) -> c_8() -#(0(),x) -> c_9() -#(I(x),I(y)) -> c_10(O#(-(x,y)),-#(x,y)) -#(I(x),O(y)) -> c_11(-#(x,y)) -#(O(x),I(y)) -> c_12(-#(-(x,y),I(1())),-#(x,y)) -#(O(x),O(y)) -> c_13(O#(-(x,y)),-#(x,y)) BS#(L(x)) -> c_14() BS#(N(x,l(),r())) -> c_15(and#(and(ge(x,Max(l())),ge(Min(r()),x)),and(BS(l()),BS(r()))) ,and#(ge(x,Max(l())),ge(Min(r()),x)) ,ge#(x,Max(l())) ,Max#(l()) ,ge#(Min(r()),x) ,Min#(r()) ,and#(BS(l()),BS(r())) ,BS#(l()) ,BS#(r())) Log#(x) -> c_16(-#(Log'(x),I(0())),Log'#(x)) Log'#(0()) -> c_17() Log'#(I(x)) -> c_18(+#(Log'(x),I(0())),Log'#(x)) Log'#(O(x)) -> c_19(if#(ge(x,I(0())),+(Log'(x),I(0())),0()),ge#(x,I(0())),+#(Log'(x),I(0())),Log'#(x)) Max#(L(x)) -> c_20() Max#(N(x,l(),r())) -> c_21(Max#(r())) Min#(L(x)) -> c_22() Min#(N(x,l(),r())) -> c_23(Min#(l())) O#(0()) -> c_24() Size#(L(x)) -> c_25() Size#(N(x,l(),r())) -> c_26(+#(+(Size(l()),Size(r())),I(1())),+#(Size(l()),Size(r())),Size#(l()),Size#(r())) Val#(L(x)) -> c_27() Val#(N(x,l(),r())) -> c_28() WB#(L(x)) -> c_29() WB#(N(x,l(),r())) -> c_30(and#(if(ge(Size(l()),Size(r())) ,ge(I(0()),-(Size(l()),Size(r()))) ,ge(I(0()),-(Size(r()),Size(l())))) ,and(WB(l()),WB(r()))) ,if#(ge(Size(l()),Size(r())) ,ge(I(0()),-(Size(l()),Size(r()))) ,ge(I(0()),-(Size(r()),Size(l())))) ,ge#(Size(l()),Size(r())) ,Size#(l()) ,Size#(r()) ,ge#(I(0()),-(Size(l()),Size(r()))) ,-#(Size(l()),Size(r())) ,Size#(l()) ,Size#(r()) ,ge#(I(0()),-(Size(r()),Size(l()))) ,-#(Size(r()),Size(l())) ,Size#(r()) ,Size#(l()) ,and#(WB(l()),WB(r())) ,WB#(l()) ,WB#(r())) and#(x,false()) -> c_31() and#(x,true()) -> c_32() ge#(x,0()) -> c_33() ge#(0(),I(x)) -> c_34() ge#(0(),O(x)) -> c_35(ge#(0(),x)) ge#(I(x),I(y)) -> c_36(ge#(x,y)) ge#(I(x),O(y)) -> c_37(ge#(x,y)) ge#(O(x),I(y)) -> c_38(not#(ge(y,x)),ge#(y,x)) ge#(O(x),O(y)) -> c_39(ge#(x,y)) if#(false(),x,y) -> c_40() if#(true(),x,y) -> c_41() not#(false()) -> c_42() not#(true()) -> c_43() * Step 3: PredecessorEstimation WORST_CASE(?,O(n^2)) + Considered Problem: - Strict DPs: +#(x,+(y,z)) -> c_1(+#(+(x,y),z),+#(x,y)) +#(x,0()) -> c_2() +#(0(),x) -> c_3() +#(I(x),I(y)) -> c_4(O#(+(+(x,y),I(0()))),+#(+(x,y),I(0())),+#(x,y)) +#(I(x),O(y)) -> c_5(+#(x,y)) +#(O(x),I(y)) -> c_6(+#(x,y)) +#(O(x),O(y)) -> c_7(O#(+(x,y)),+#(x,y)) -#(x,0()) -> c_8() -#(0(),x) -> c_9() -#(I(x),I(y)) -> c_10(O#(-(x,y)),-#(x,y)) -#(I(x),O(y)) -> c_11(-#(x,y)) -#(O(x),I(y)) -> c_12(-#(-(x,y),I(1())),-#(x,y)) -#(O(x),O(y)) -> c_13(O#(-(x,y)),-#(x,y)) BS#(L(x)) -> c_14() BS#(N(x,l(),r())) -> c_15(and#(and(ge(x,Max(l())),ge(Min(r()),x)),and(BS(l()),BS(r()))) ,and#(ge(x,Max(l())),ge(Min(r()),x)) ,ge#(x,Max(l())) ,Max#(l()) ,ge#(Min(r()),x) ,Min#(r()) ,and#(BS(l()),BS(r())) ,BS#(l()) ,BS#(r())) Log#(x) -> c_16(-#(Log'(x),I(0())),Log'#(x)) Log'#(0()) -> c_17() Log'#(I(x)) -> c_18(+#(Log'(x),I(0())),Log'#(x)) Log'#(O(x)) -> c_19(if#(ge(x,I(0())),+(Log'(x),I(0())),0()),ge#(x,I(0())),+#(Log'(x),I(0())),Log'#(x)) Max#(L(x)) -> c_20() Max#(N(x,l(),r())) -> c_21(Max#(r())) Min#(L(x)) -> c_22() Min#(N(x,l(),r())) -> c_23(Min#(l())) O#(0()) -> c_24() Size#(L(x)) -> c_25() Size#(N(x,l(),r())) -> c_26(+#(+(Size(l()),Size(r())),I(1())),+#(Size(l()),Size(r())),Size#(l()),Size#(r())) Val#(L(x)) -> c_27() Val#(N(x,l(),r())) -> c_28() WB#(L(x)) -> c_29() WB#(N(x,l(),r())) -> c_30(and#(if(ge(Size(l()),Size(r())) ,ge(I(0()),-(Size(l()),Size(r()))) ,ge(I(0()),-(Size(r()),Size(l())))) ,and(WB(l()),WB(r()))) ,if#(ge(Size(l()),Size(r())) ,ge(I(0()),-(Size(l()),Size(r()))) ,ge(I(0()),-(Size(r()),Size(l())))) ,ge#(Size(l()),Size(r())) ,Size#(l()) ,Size#(r()) ,ge#(I(0()),-(Size(l()),Size(r()))) ,-#(Size(l()),Size(r())) ,Size#(l()) ,Size#(r()) ,ge#(I(0()),-(Size(r()),Size(l()))) ,-#(Size(r()),Size(l())) ,Size#(r()) ,Size#(l()) ,and#(WB(l()),WB(r())) ,WB#(l()) ,WB#(r())) and#(x,false()) -> c_31() and#(x,true()) -> c_32() ge#(x,0()) -> c_33() ge#(0(),I(x)) -> c_34() ge#(0(),O(x)) -> c_35(ge#(0(),x)) ge#(I(x),I(y)) -> c_36(ge#(x,y)) ge#(I(x),O(y)) -> c_37(ge#(x,y)) ge#(O(x),I(y)) -> c_38(not#(ge(y,x)),ge#(y,x)) ge#(O(x),O(y)) -> c_39(ge#(x,y)) if#(false(),x,y) -> c_40() if#(true(),x,y) -> c_41() not#(false()) -> c_42() not#(true()) -> c_43() - Weak TRS: +(x,+(y,z)) -> +(+(x,y),z) +(x,0()) -> x +(0(),x) -> x +(I(x),I(y)) -> O(+(+(x,y),I(0()))) +(I(x),O(y)) -> I(+(x,y)) +(O(x),I(y)) -> I(+(x,y)) +(O(x),O(y)) -> O(+(x,y)) -(x,0()) -> x -(0(),x) -> 0() -(I(x),I(y)) -> O(-(x,y)) -(I(x),O(y)) -> I(-(x,y)) -(O(x),I(y)) -> I(-(-(x,y),I(1()))) -(O(x),O(y)) -> O(-(x,y)) Log'(0()) -> 0() Log'(I(x)) -> +(Log'(x),I(0())) Log'(O(x)) -> if(ge(x,I(0())),+(Log'(x),I(0())),0()) O(0()) -> 0() and(x,false()) -> false() and(x,true()) -> x ge(x,0()) -> true() ge(0(),I(x)) -> false() ge(0(),O(x)) -> ge(0(),x) ge(I(x),I(y)) -> ge(x,y) ge(I(x),O(y)) -> ge(x,y) ge(O(x),I(y)) -> not(ge(y,x)) ge(O(x),O(y)) -> ge(x,y) if(false(),x,y) -> y if(true(),x,y) -> x not(false()) -> true() not(true()) -> false() - Signature: {+/2,-/2,BS/1,Log/1,Log'/1,Max/1,Min/1,O/1,Size/1,Val/1,WB/1,and/2,ge/2,if/3,not/1,+#/2,-#/2,BS#/1,Log#/1 ,Log'#/1,Max#/1,Min#/1,O#/1,Size#/1,Val#/1,WB#/1,and#/2,ge#/2,if#/3,not#/1} / {0/0,1/0,I/1,L/1,N/3,false/0 ,l/0,r/0,true/0,c_1/2,c_2/0,c_3/0,c_4/3,c_5/1,c_6/1,c_7/2,c_8/0,c_9/0,c_10/2,c_11/1,c_12/2,c_13/2,c_14/0 ,c_15/9,c_16/2,c_17/0,c_18/2,c_19/4,c_20/0,c_21/1,c_22/0,c_23/1,c_24/0,c_25/0,c_26/4,c_27/0,c_28/0,c_29/0 ,c_30/16,c_31/0,c_32/0,c_33/0,c_34/0,c_35/1,c_36/1,c_37/1,c_38/2,c_39/1,c_40/0,c_41/0,c_42/0,c_43/0} - Obligation: innermost runtime complexity wrt. defined symbols {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge# ,if#,not#} and constructors {0,1,I,L,N,false,l,r,true} + Applied Processor: PredecessorEstimation {onSelection = all simple predecessor estimation selector} + Details: We estimate the number of application of {2,3,8,9,14,17,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,40,41,42,43} by application of Pre({2,3,8,9,14,17,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,40,41,42,43}) = {1,4,5,6,7,10,11,12,13,15 ,16,18,19,35,36,37,38,39}. Here rules are labelled as follows: 1: +#(x,+(y,z)) -> c_1(+#(+(x,y),z),+#(x,y)) 2: +#(x,0()) -> c_2() 3: +#(0(),x) -> c_3() 4: +#(I(x),I(y)) -> c_4(O#(+(+(x,y),I(0()))),+#(+(x,y),I(0())),+#(x,y)) 5: +#(I(x),O(y)) -> c_5(+#(x,y)) 6: +#(O(x),I(y)) -> c_6(+#(x,y)) 7: +#(O(x),O(y)) -> c_7(O#(+(x,y)),+#(x,y)) 8: -#(x,0()) -> c_8() 9: -#(0(),x) -> c_9() 10: -#(I(x),I(y)) -> c_10(O#(-(x,y)),-#(x,y)) 11: -#(I(x),O(y)) -> c_11(-#(x,y)) 12: -#(O(x),I(y)) -> c_12(-#(-(x,y),I(1())),-#(x,y)) 13: -#(O(x),O(y)) -> c_13(O#(-(x,y)),-#(x,y)) 14: BS#(L(x)) -> c_14() 15: BS#(N(x,l(),r())) -> c_15(and#(and(ge(x,Max(l())),ge(Min(r()),x)),and(BS(l()),BS(r()))) ,and#(ge(x,Max(l())),ge(Min(r()),x)) ,ge#(x,Max(l())) ,Max#(l()) ,ge#(Min(r()),x) ,Min#(r()) ,and#(BS(l()),BS(r())) ,BS#(l()) ,BS#(r())) 16: Log#(x) -> c_16(-#(Log'(x),I(0())),Log'#(x)) 17: Log'#(0()) -> c_17() 18: Log'#(I(x)) -> c_18(+#(Log'(x),I(0())),Log'#(x)) 19: Log'#(O(x)) -> c_19(if#(ge(x,I(0())),+(Log'(x),I(0())),0()),ge#(x,I(0())),+#(Log'(x),I(0())),Log'#(x)) 20: Max#(L(x)) -> c_20() 21: Max#(N(x,l(),r())) -> c_21(Max#(r())) 22: Min#(L(x)) -> c_22() 23: Min#(N(x,l(),r())) -> c_23(Min#(l())) 24: O#(0()) -> c_24() 25: Size#(L(x)) -> c_25() 26: Size#(N(x,l(),r())) -> c_26(+#(+(Size(l()),Size(r())),I(1())) ,+#(Size(l()),Size(r())) ,Size#(l()) ,Size#(r())) 27: Val#(L(x)) -> c_27() 28: Val#(N(x,l(),r())) -> c_28() 29: WB#(L(x)) -> c_29() 30: WB#(N(x,l(),r())) -> c_30(and#(if(ge(Size(l()),Size(r())) ,ge(I(0()),-(Size(l()),Size(r()))) ,ge(I(0()),-(Size(r()),Size(l())))) ,and(WB(l()),WB(r()))) ,if#(ge(Size(l()),Size(r())) ,ge(I(0()),-(Size(l()),Size(r()))) ,ge(I(0()),-(Size(r()),Size(l())))) ,ge#(Size(l()),Size(r())) ,Size#(l()) ,Size#(r()) ,ge#(I(0()),-(Size(l()),Size(r()))) ,-#(Size(l()),Size(r())) ,Size#(l()) ,Size#(r()) ,ge#(I(0()),-(Size(r()),Size(l()))) ,-#(Size(r()),Size(l())) ,Size#(r()) ,Size#(l()) ,and#(WB(l()),WB(r())) ,WB#(l()) ,WB#(r())) 31: and#(x,false()) -> c_31() 32: and#(x,true()) -> c_32() 33: ge#(x,0()) -> c_33() 34: ge#(0(),I(x)) -> c_34() 35: ge#(0(),O(x)) -> c_35(ge#(0(),x)) 36: ge#(I(x),I(y)) -> c_36(ge#(x,y)) 37: ge#(I(x),O(y)) -> c_37(ge#(x,y)) 38: ge#(O(x),I(y)) -> c_38(not#(ge(y,x)),ge#(y,x)) 39: ge#(O(x),O(y)) -> c_39(ge#(x,y)) 40: if#(false(),x,y) -> c_40() 41: if#(true(),x,y) -> c_41() 42: not#(false()) -> c_42() 43: not#(true()) -> c_43() * Step 4: PredecessorEstimation WORST_CASE(?,O(n^2)) + Considered Problem: - Strict DPs: +#(x,+(y,z)) -> c_1(+#(+(x,y),z),+#(x,y)) +#(I(x),I(y)) -> c_4(O#(+(+(x,y),I(0()))),+#(+(x,y),I(0())),+#(x,y)) +#(I(x),O(y)) -> c_5(+#(x,y)) +#(O(x),I(y)) -> c_6(+#(x,y)) +#(O(x),O(y)) -> c_7(O#(+(x,y)),+#(x,y)) -#(I(x),I(y)) -> c_10(O#(-(x,y)),-#(x,y)) -#(I(x),O(y)) -> c_11(-#(x,y)) -#(O(x),I(y)) -> c_12(-#(-(x,y),I(1())),-#(x,y)) -#(O(x),O(y)) -> c_13(O#(-(x,y)),-#(x,y)) BS#(N(x,l(),r())) -> c_15(and#(and(ge(x,Max(l())),ge(Min(r()),x)),and(BS(l()),BS(r()))) ,and#(ge(x,Max(l())),ge(Min(r()),x)) ,ge#(x,Max(l())) ,Max#(l()) ,ge#(Min(r()),x) ,Min#(r()) ,and#(BS(l()),BS(r())) ,BS#(l()) ,BS#(r())) Log#(x) -> c_16(-#(Log'(x),I(0())),Log'#(x)) Log'#(I(x)) -> c_18(+#(Log'(x),I(0())),Log'#(x)) Log'#(O(x)) -> c_19(if#(ge(x,I(0())),+(Log'(x),I(0())),0()),ge#(x,I(0())),+#(Log'(x),I(0())),Log'#(x)) ge#(0(),O(x)) -> c_35(ge#(0(),x)) ge#(I(x),I(y)) -> c_36(ge#(x,y)) ge#(I(x),O(y)) -> c_37(ge#(x,y)) ge#(O(x),I(y)) -> c_38(not#(ge(y,x)),ge#(y,x)) ge#(O(x),O(y)) -> c_39(ge#(x,y)) - Weak DPs: +#(x,0()) -> c_2() +#(0(),x) -> c_3() -#(x,0()) -> c_8() -#(0(),x) -> c_9() BS#(L(x)) -> c_14() Log'#(0()) -> c_17() Max#(L(x)) -> c_20() Max#(N(x,l(),r())) -> c_21(Max#(r())) Min#(L(x)) -> c_22() Min#(N(x,l(),r())) -> c_23(Min#(l())) O#(0()) -> c_24() Size#(L(x)) -> c_25() Size#(N(x,l(),r())) -> c_26(+#(+(Size(l()),Size(r())),I(1())),+#(Size(l()),Size(r())),Size#(l()),Size#(r())) Val#(L(x)) -> c_27() Val#(N(x,l(),r())) -> c_28() WB#(L(x)) -> c_29() WB#(N(x,l(),r())) -> c_30(and#(if(ge(Size(l()),Size(r())) ,ge(I(0()),-(Size(l()),Size(r()))) ,ge(I(0()),-(Size(r()),Size(l())))) ,and(WB(l()),WB(r()))) ,if#(ge(Size(l()),Size(r())) ,ge(I(0()),-(Size(l()),Size(r()))) ,ge(I(0()),-(Size(r()),Size(l())))) ,ge#(Size(l()),Size(r())) ,Size#(l()) ,Size#(r()) ,ge#(I(0()),-(Size(l()),Size(r()))) ,-#(Size(l()),Size(r())) ,Size#(l()) ,Size#(r()) ,ge#(I(0()),-(Size(r()),Size(l()))) ,-#(Size(r()),Size(l())) ,Size#(r()) ,Size#(l()) ,and#(WB(l()),WB(r())) ,WB#(l()) ,WB#(r())) and#(x,false()) -> c_31() and#(x,true()) -> c_32() ge#(x,0()) -> c_33() ge#(0(),I(x)) -> c_34() if#(false(),x,y) -> c_40() if#(true(),x,y) -> c_41() not#(false()) -> c_42() not#(true()) -> c_43() - Weak TRS: +(x,+(y,z)) -> +(+(x,y),z) +(x,0()) -> x +(0(),x) -> x +(I(x),I(y)) -> O(+(+(x,y),I(0()))) +(I(x),O(y)) -> I(+(x,y)) +(O(x),I(y)) -> I(+(x,y)) +(O(x),O(y)) -> O(+(x,y)) -(x,0()) -> x -(0(),x) -> 0() -(I(x),I(y)) -> O(-(x,y)) -(I(x),O(y)) -> I(-(x,y)) -(O(x),I(y)) -> I(-(-(x,y),I(1()))) -(O(x),O(y)) -> O(-(x,y)) Log'(0()) -> 0() Log'(I(x)) -> +(Log'(x),I(0())) Log'(O(x)) -> if(ge(x,I(0())),+(Log'(x),I(0())),0()) O(0()) -> 0() and(x,false()) -> false() and(x,true()) -> x ge(x,0()) -> true() ge(0(),I(x)) -> false() ge(0(),O(x)) -> ge(0(),x) ge(I(x),I(y)) -> ge(x,y) ge(I(x),O(y)) -> ge(x,y) ge(O(x),I(y)) -> not(ge(y,x)) ge(O(x),O(y)) -> ge(x,y) if(false(),x,y) -> y if(true(),x,y) -> x not(false()) -> true() not(true()) -> false() - Signature: {+/2,-/2,BS/1,Log/1,Log'/1,Max/1,Min/1,O/1,Size/1,Val/1,WB/1,and/2,ge/2,if/3,not/1,+#/2,-#/2,BS#/1,Log#/1 ,Log'#/1,Max#/1,Min#/1,O#/1,Size#/1,Val#/1,WB#/1,and#/2,ge#/2,if#/3,not#/1} / {0/0,1/0,I/1,L/1,N/3,false/0 ,l/0,r/0,true/0,c_1/2,c_2/0,c_3/0,c_4/3,c_5/1,c_6/1,c_7/2,c_8/0,c_9/0,c_10/2,c_11/1,c_12/2,c_13/2,c_14/0 ,c_15/9,c_16/2,c_17/0,c_18/2,c_19/4,c_20/0,c_21/1,c_22/0,c_23/1,c_24/0,c_25/0,c_26/4,c_27/0,c_28/0,c_29/0 ,c_30/16,c_31/0,c_32/0,c_33/0,c_34/0,c_35/1,c_36/1,c_37/1,c_38/2,c_39/1,c_40/0,c_41/0,c_42/0,c_43/0} - Obligation: innermost runtime complexity wrt. defined symbols {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge# ,if#,not#} and constructors {0,1,I,L,N,false,l,r,true} + Applied Processor: PredecessorEstimation {onSelection = all simple predecessor estimation selector} + Details: We estimate the number of application of {10} by application of Pre({10}) = {}. Here rules are labelled as follows: 1: +#(x,+(y,z)) -> c_1(+#(+(x,y),z),+#(x,y)) 2: +#(I(x),I(y)) -> c_4(O#(+(+(x,y),I(0()))),+#(+(x,y),I(0())),+#(x,y)) 3: +#(I(x),O(y)) -> c_5(+#(x,y)) 4: +#(O(x),I(y)) -> c_6(+#(x,y)) 5: +#(O(x),O(y)) -> c_7(O#(+(x,y)),+#(x,y)) 6: -#(I(x),I(y)) -> c_10(O#(-(x,y)),-#(x,y)) 7: -#(I(x),O(y)) -> c_11(-#(x,y)) 8: -#(O(x),I(y)) -> c_12(-#(-(x,y),I(1())),-#(x,y)) 9: -#(O(x),O(y)) -> c_13(O#(-(x,y)),-#(x,y)) 10: BS#(N(x,l(),r())) -> c_15(and#(and(ge(x,Max(l())),ge(Min(r()),x)),and(BS(l()),BS(r()))) ,and#(ge(x,Max(l())),ge(Min(r()),x)) ,ge#(x,Max(l())) ,Max#(l()) ,ge#(Min(r()),x) ,Min#(r()) ,and#(BS(l()),BS(r())) ,BS#(l()) ,BS#(r())) 11: Log#(x) -> c_16(-#(Log'(x),I(0())),Log'#(x)) 12: Log'#(I(x)) -> c_18(+#(Log'(x),I(0())),Log'#(x)) 13: Log'#(O(x)) -> c_19(if#(ge(x,I(0())),+(Log'(x),I(0())),0()),ge#(x,I(0())),+#(Log'(x),I(0())),Log'#(x)) 14: ge#(0(),O(x)) -> c_35(ge#(0(),x)) 15: ge#(I(x),I(y)) -> c_36(ge#(x,y)) 16: ge#(I(x),O(y)) -> c_37(ge#(x,y)) 17: ge#(O(x),I(y)) -> c_38(not#(ge(y,x)),ge#(y,x)) 18: ge#(O(x),O(y)) -> c_39(ge#(x,y)) 19: +#(x,0()) -> c_2() 20: +#(0(),x) -> c_3() 21: -#(x,0()) -> c_8() 22: -#(0(),x) -> c_9() 23: BS#(L(x)) -> c_14() 24: Log'#(0()) -> c_17() 25: Max#(L(x)) -> c_20() 26: Max#(N(x,l(),r())) -> c_21(Max#(r())) 27: Min#(L(x)) -> c_22() 28: Min#(N(x,l(),r())) -> c_23(Min#(l())) 29: O#(0()) -> c_24() 30: Size#(L(x)) -> c_25() 31: Size#(N(x,l(),r())) -> c_26(+#(+(Size(l()),Size(r())),I(1())) ,+#(Size(l()),Size(r())) ,Size#(l()) ,Size#(r())) 32: Val#(L(x)) -> c_27() 33: Val#(N(x,l(),r())) -> c_28() 34: WB#(L(x)) -> c_29() 35: WB#(N(x,l(),r())) -> c_30(and#(if(ge(Size(l()),Size(r())) ,ge(I(0()),-(Size(l()),Size(r()))) ,ge(I(0()),-(Size(r()),Size(l())))) ,and(WB(l()),WB(r()))) ,if#(ge(Size(l()),Size(r())) ,ge(I(0()),-(Size(l()),Size(r()))) ,ge(I(0()),-(Size(r()),Size(l())))) ,ge#(Size(l()),Size(r())) ,Size#(l()) ,Size#(r()) ,ge#(I(0()),-(Size(l()),Size(r()))) ,-#(Size(l()),Size(r())) ,Size#(l()) ,Size#(r()) ,ge#(I(0()),-(Size(r()),Size(l()))) ,-#(Size(r()),Size(l())) ,Size#(r()) ,Size#(l()) ,and#(WB(l()),WB(r())) ,WB#(l()) ,WB#(r())) 36: and#(x,false()) -> c_31() 37: and#(x,true()) -> c_32() 38: ge#(x,0()) -> c_33() 39: ge#(0(),I(x)) -> c_34() 40: if#(false(),x,y) -> c_40() 41: if#(true(),x,y) -> c_41() 42: not#(false()) -> c_42() 43: not#(true()) -> c_43() * Step 5: RemoveWeakSuffixes WORST_CASE(?,O(n^2)) + Considered Problem: - Strict DPs: +#(x,+(y,z)) -> c_1(+#(+(x,y),z),+#(x,y)) +#(I(x),I(y)) -> c_4(O#(+(+(x,y),I(0()))),+#(+(x,y),I(0())),+#(x,y)) +#(I(x),O(y)) -> c_5(+#(x,y)) +#(O(x),I(y)) -> c_6(+#(x,y)) +#(O(x),O(y)) -> c_7(O#(+(x,y)),+#(x,y)) -#(I(x),I(y)) -> c_10(O#(-(x,y)),-#(x,y)) -#(I(x),O(y)) -> c_11(-#(x,y)) -#(O(x),I(y)) -> c_12(-#(-(x,y),I(1())),-#(x,y)) -#(O(x),O(y)) -> c_13(O#(-(x,y)),-#(x,y)) Log#(x) -> c_16(-#(Log'(x),I(0())),Log'#(x)) Log'#(I(x)) -> c_18(+#(Log'(x),I(0())),Log'#(x)) Log'#(O(x)) -> c_19(if#(ge(x,I(0())),+(Log'(x),I(0())),0()),ge#(x,I(0())),+#(Log'(x),I(0())),Log'#(x)) ge#(0(),O(x)) -> c_35(ge#(0(),x)) ge#(I(x),I(y)) -> c_36(ge#(x,y)) ge#(I(x),O(y)) -> c_37(ge#(x,y)) ge#(O(x),I(y)) -> c_38(not#(ge(y,x)),ge#(y,x)) ge#(O(x),O(y)) -> c_39(ge#(x,y)) - Weak DPs: +#(x,0()) -> c_2() +#(0(),x) -> c_3() -#(x,0()) -> c_8() -#(0(),x) -> c_9() BS#(L(x)) -> c_14() BS#(N(x,l(),r())) -> c_15(and#(and(ge(x,Max(l())),ge(Min(r()),x)),and(BS(l()),BS(r()))) ,and#(ge(x,Max(l())),ge(Min(r()),x)) ,ge#(x,Max(l())) ,Max#(l()) ,ge#(Min(r()),x) ,Min#(r()) ,and#(BS(l()),BS(r())) ,BS#(l()) ,BS#(r())) Log'#(0()) -> c_17() Max#(L(x)) -> c_20() Max#(N(x,l(),r())) -> c_21(Max#(r())) Min#(L(x)) -> c_22() Min#(N(x,l(),r())) -> c_23(Min#(l())) O#(0()) -> c_24() Size#(L(x)) -> c_25() Size#(N(x,l(),r())) -> c_26(+#(+(Size(l()),Size(r())),I(1())),+#(Size(l()),Size(r())),Size#(l()),Size#(r())) Val#(L(x)) -> c_27() Val#(N(x,l(),r())) -> c_28() WB#(L(x)) -> c_29() WB#(N(x,l(),r())) -> c_30(and#(if(ge(Size(l()),Size(r())) ,ge(I(0()),-(Size(l()),Size(r()))) ,ge(I(0()),-(Size(r()),Size(l())))) ,and(WB(l()),WB(r()))) ,if#(ge(Size(l()),Size(r())) ,ge(I(0()),-(Size(l()),Size(r()))) ,ge(I(0()),-(Size(r()),Size(l())))) ,ge#(Size(l()),Size(r())) ,Size#(l()) ,Size#(r()) ,ge#(I(0()),-(Size(l()),Size(r()))) ,-#(Size(l()),Size(r())) ,Size#(l()) ,Size#(r()) ,ge#(I(0()),-(Size(r()),Size(l()))) ,-#(Size(r()),Size(l())) ,Size#(r()) ,Size#(l()) ,and#(WB(l()),WB(r())) ,WB#(l()) ,WB#(r())) and#(x,false()) -> c_31() and#(x,true()) -> c_32() ge#(x,0()) -> c_33() ge#(0(),I(x)) -> c_34() if#(false(),x,y) -> c_40() if#(true(),x,y) -> c_41() not#(false()) -> c_42() not#(true()) -> c_43() - Weak TRS: +(x,+(y,z)) -> +(+(x,y),z) +(x,0()) -> x +(0(),x) -> x +(I(x),I(y)) -> O(+(+(x,y),I(0()))) +(I(x),O(y)) -> I(+(x,y)) +(O(x),I(y)) -> I(+(x,y)) +(O(x),O(y)) -> O(+(x,y)) -(x,0()) -> x -(0(),x) -> 0() -(I(x),I(y)) -> O(-(x,y)) -(I(x),O(y)) -> I(-(x,y)) -(O(x),I(y)) -> I(-(-(x,y),I(1()))) -(O(x),O(y)) -> O(-(x,y)) Log'(0()) -> 0() Log'(I(x)) -> +(Log'(x),I(0())) Log'(O(x)) -> if(ge(x,I(0())),+(Log'(x),I(0())),0()) O(0()) -> 0() and(x,false()) -> false() and(x,true()) -> x ge(x,0()) -> true() ge(0(),I(x)) -> false() ge(0(),O(x)) -> ge(0(),x) ge(I(x),I(y)) -> ge(x,y) ge(I(x),O(y)) -> ge(x,y) ge(O(x),I(y)) -> not(ge(y,x)) ge(O(x),O(y)) -> ge(x,y) if(false(),x,y) -> y if(true(),x,y) -> x not(false()) -> true() not(true()) -> false() - Signature: {+/2,-/2,BS/1,Log/1,Log'/1,Max/1,Min/1,O/1,Size/1,Val/1,WB/1,and/2,ge/2,if/3,not/1,+#/2,-#/2,BS#/1,Log#/1 ,Log'#/1,Max#/1,Min#/1,O#/1,Size#/1,Val#/1,WB#/1,and#/2,ge#/2,if#/3,not#/1} / {0/0,1/0,I/1,L/1,N/3,false/0 ,l/0,r/0,true/0,c_1/2,c_2/0,c_3/0,c_4/3,c_5/1,c_6/1,c_7/2,c_8/0,c_9/0,c_10/2,c_11/1,c_12/2,c_13/2,c_14/0 ,c_15/9,c_16/2,c_17/0,c_18/2,c_19/4,c_20/0,c_21/1,c_22/0,c_23/1,c_24/0,c_25/0,c_26/4,c_27/0,c_28/0,c_29/0 ,c_30/16,c_31/0,c_32/0,c_33/0,c_34/0,c_35/1,c_36/1,c_37/1,c_38/2,c_39/1,c_40/0,c_41/0,c_42/0,c_43/0} - Obligation: innermost runtime complexity wrt. defined symbols {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge# ,if#,not#} and constructors {0,1,I,L,N,false,l,r,true} + Applied Processor: RemoveWeakSuffixes + Details: Consider the dependency graph 1:S:+#(x,+(y,z)) -> c_1(+#(+(x,y),z),+#(x,y)) -->_2 +#(O(x),O(y)) -> c_7(O#(+(x,y)),+#(x,y)):5 -->_1 +#(O(x),O(y)) -> c_7(O#(+(x,y)),+#(x,y)):5 -->_2 +#(O(x),I(y)) -> c_6(+#(x,y)):4 -->_1 +#(O(x),I(y)) -> c_6(+#(x,y)):4 -->_2 +#(I(x),O(y)) -> c_5(+#(x,y)):3 -->_1 +#(I(x),O(y)) -> c_5(+#(x,y)):3 -->_2 +#(I(x),I(y)) -> c_4(O#(+(+(x,y),I(0()))),+#(+(x,y),I(0())),+#(x,y)):2 -->_1 +#(I(x),I(y)) -> c_4(O#(+(+(x,y),I(0()))),+#(+(x,y),I(0())),+#(x,y)):2 -->_2 +#(0(),x) -> c_3():19 -->_1 +#(0(),x) -> c_3():19 -->_2 +#(x,0()) -> c_2():18 -->_1 +#(x,0()) -> c_2():18 -->_2 +#(x,+(y,z)) -> c_1(+#(+(x,y),z),+#(x,y)):1 -->_1 +#(x,+(y,z)) -> c_1(+#(+(x,y),z),+#(x,y)):1 2:S:+#(I(x),I(y)) -> c_4(O#(+(+(x,y),I(0()))),+#(+(x,y),I(0())),+#(x,y)) -->_3 +#(O(x),O(y)) -> c_7(O#(+(x,y)),+#(x,y)):5 -->_3 +#(O(x),I(y)) -> c_6(+#(x,y)):4 -->_2 +#(O(x),I(y)) -> c_6(+#(x,y)):4 -->_3 +#(I(x),O(y)) -> c_5(+#(x,y)):3 -->_1 O#(0()) -> c_24():29 -->_3 +#(0(),x) -> c_3():19 -->_2 +#(0(),x) -> c_3():19 -->_3 +#(x,0()) -> c_2():18 -->_3 +#(I(x),I(y)) -> c_4(O#(+(+(x,y),I(0()))),+#(+(x,y),I(0())),+#(x,y)):2 -->_2 +#(I(x),I(y)) -> c_4(O#(+(+(x,y),I(0()))),+#(+(x,y),I(0())),+#(x,y)):2 -->_3 +#(x,+(y,z)) -> c_1(+#(+(x,y),z),+#(x,y)):1 3:S:+#(I(x),O(y)) -> c_5(+#(x,y)) -->_1 +#(O(x),O(y)) -> c_7(O#(+(x,y)),+#(x,y)):5 -->_1 +#(O(x),I(y)) -> c_6(+#(x,y)):4 -->_1 +#(0(),x) -> c_3():19 -->_1 +#(x,0()) -> c_2():18 -->_1 +#(I(x),O(y)) -> c_5(+#(x,y)):3 -->_1 +#(I(x),I(y)) -> c_4(O#(+(+(x,y),I(0()))),+#(+(x,y),I(0())),+#(x,y)):2 -->_1 +#(x,+(y,z)) -> c_1(+#(+(x,y),z),+#(x,y)):1 4:S:+#(O(x),I(y)) -> c_6(+#(x,y)) -->_1 +#(O(x),O(y)) -> c_7(O#(+(x,y)),+#(x,y)):5 -->_1 +#(0(),x) -> c_3():19 -->_1 +#(x,0()) -> c_2():18 -->_1 +#(O(x),I(y)) -> c_6(+#(x,y)):4 -->_1 +#(I(x),O(y)) -> c_5(+#(x,y)):3 -->_1 +#(I(x),I(y)) -> c_4(O#(+(+(x,y),I(0()))),+#(+(x,y),I(0())),+#(x,y)):2 -->_1 +#(x,+(y,z)) -> c_1(+#(+(x,y),z),+#(x,y)):1 5:S:+#(O(x),O(y)) -> c_7(O#(+(x,y)),+#(x,y)) -->_1 O#(0()) -> c_24():29 -->_2 +#(0(),x) -> c_3():19 -->_2 +#(x,0()) -> c_2():18 -->_2 +#(O(x),O(y)) -> c_7(O#(+(x,y)),+#(x,y)):5 -->_2 +#(O(x),I(y)) -> c_6(+#(x,y)):4 -->_2 +#(I(x),O(y)) -> c_5(+#(x,y)):3 -->_2 +#(I(x),I(y)) -> c_4(O#(+(+(x,y),I(0()))),+#(+(x,y),I(0())),+#(x,y)):2 -->_2 +#(x,+(y,z)) -> c_1(+#(+(x,y),z),+#(x,y)):1 6:S:-#(I(x),I(y)) -> c_10(O#(-(x,y)),-#(x,y)) -->_2 -#(O(x),O(y)) -> c_13(O#(-(x,y)),-#(x,y)):9 -->_2 -#(O(x),I(y)) -> c_12(-#(-(x,y),I(1())),-#(x,y)):8 -->_2 -#(I(x),O(y)) -> c_11(-#(x,y)):7 -->_1 O#(0()) -> c_24():29 -->_2 -#(0(),x) -> c_9():21 -->_2 -#(x,0()) -> c_8():20 -->_2 -#(I(x),I(y)) -> c_10(O#(-(x,y)),-#(x,y)):6 7:S:-#(I(x),O(y)) -> c_11(-#(x,y)) -->_1 -#(O(x),O(y)) -> c_13(O#(-(x,y)),-#(x,y)):9 -->_1 -#(O(x),I(y)) -> c_12(-#(-(x,y),I(1())),-#(x,y)):8 -->_1 -#(0(),x) -> c_9():21 -->_1 -#(x,0()) -> c_8():20 -->_1 -#(I(x),O(y)) -> c_11(-#(x,y)):7 -->_1 -#(I(x),I(y)) -> c_10(O#(-(x,y)),-#(x,y)):6 8:S:-#(O(x),I(y)) -> c_12(-#(-(x,y),I(1())),-#(x,y)) -->_2 -#(O(x),O(y)) -> c_13(O#(-(x,y)),-#(x,y)):9 -->_2 -#(0(),x) -> c_9():21 -->_1 -#(0(),x) -> c_9():21 -->_2 -#(x,0()) -> c_8():20 -->_2 -#(O(x),I(y)) -> c_12(-#(-(x,y),I(1())),-#(x,y)):8 -->_1 -#(O(x),I(y)) -> c_12(-#(-(x,y),I(1())),-#(x,y)):8 -->_2 -#(I(x),O(y)) -> c_11(-#(x,y)):7 -->_2 -#(I(x),I(y)) -> c_10(O#(-(x,y)),-#(x,y)):6 -->_1 -#(I(x),I(y)) -> c_10(O#(-(x,y)),-#(x,y)):6 9:S:-#(O(x),O(y)) -> c_13(O#(-(x,y)),-#(x,y)) -->_1 O#(0()) -> c_24():29 -->_2 -#(0(),x) -> c_9():21 -->_2 -#(x,0()) -> c_8():20 -->_2 -#(O(x),O(y)) -> c_13(O#(-(x,y)),-#(x,y)):9 -->_2 -#(O(x),I(y)) -> c_12(-#(-(x,y),I(1())),-#(x,y)):8 -->_2 -#(I(x),O(y)) -> c_11(-#(x,y)):7 -->_2 -#(I(x),I(y)) -> c_10(O#(-(x,y)),-#(x,y)):6 10:S:Log#(x) -> c_16(-#(Log'(x),I(0())),Log'#(x)) -->_2 Log'#(O(x)) -> c_19(if#(ge(x,I(0())),+(Log'(x),I(0())),0()) ,ge#(x,I(0())) ,+#(Log'(x),I(0())) ,Log'#(x)):12 -->_2 Log'#(I(x)) -> c_18(+#(Log'(x),I(0())),Log'#(x)):11 -->_2 Log'#(0()) -> c_17():24 -->_1 -#(0(),x) -> c_9():21 -->_1 -#(O(x),I(y)) -> c_12(-#(-(x,y),I(1())),-#(x,y)):8 -->_1 -#(I(x),I(y)) -> c_10(O#(-(x,y)),-#(x,y)):6 11:S:Log'#(I(x)) -> c_18(+#(Log'(x),I(0())),Log'#(x)) -->_2 Log'#(O(x)) -> c_19(if#(ge(x,I(0())),+(Log'(x),I(0())),0()) ,ge#(x,I(0())) ,+#(Log'(x),I(0())) ,Log'#(x)):12 -->_2 Log'#(0()) -> c_17():24 -->_1 +#(0(),x) -> c_3():19 -->_2 Log'#(I(x)) -> c_18(+#(Log'(x),I(0())),Log'#(x)):11 -->_1 +#(O(x),I(y)) -> c_6(+#(x,y)):4 -->_1 +#(I(x),I(y)) -> c_4(O#(+(+(x,y),I(0()))),+#(+(x,y),I(0())),+#(x,y)):2 12:S:Log'#(O(x)) -> c_19(if#(ge(x,I(0())),+(Log'(x),I(0())),0()),ge#(x,I(0())),+#(Log'(x),I(0())),Log'#(x)) -->_2 ge#(O(x),I(y)) -> c_38(not#(ge(y,x)),ge#(y,x)):16 -->_2 ge#(I(x),I(y)) -> c_36(ge#(x,y)):14 -->_1 if#(true(),x,y) -> c_41():41 -->_1 if#(false(),x,y) -> c_40():40 -->_4 Log'#(0()) -> c_17():24 -->_3 +#(0(),x) -> c_3():19 -->_4 Log'#(O(x)) -> c_19(if#(ge(x,I(0())),+(Log'(x),I(0())),0()) ,ge#(x,I(0())) ,+#(Log'(x),I(0())) ,Log'#(x)):12 -->_4 Log'#(I(x)) -> c_18(+#(Log'(x),I(0())),Log'#(x)):11 -->_3 +#(O(x),I(y)) -> c_6(+#(x,y)):4 -->_3 +#(I(x),I(y)) -> c_4(O#(+(+(x,y),I(0()))),+#(+(x,y),I(0())),+#(x,y)):2 13:S:ge#(0(),O(x)) -> c_35(ge#(0(),x)) -->_1 ge#(0(),I(x)) -> c_34():39 -->_1 ge#(0(),O(x)) -> c_35(ge#(0(),x)):13 14:S:ge#(I(x),I(y)) -> c_36(ge#(x,y)) -->_1 ge#(O(x),O(y)) -> c_39(ge#(x,y)):17 -->_1 ge#(O(x),I(y)) -> c_38(not#(ge(y,x)),ge#(y,x)):16 -->_1 ge#(I(x),O(y)) -> c_37(ge#(x,y)):15 -->_1 ge#(0(),I(x)) -> c_34():39 -->_1 ge#(x,0()) -> c_33():38 -->_1 ge#(I(x),I(y)) -> c_36(ge#(x,y)):14 -->_1 ge#(0(),O(x)) -> c_35(ge#(0(),x)):13 15:S:ge#(I(x),O(y)) -> c_37(ge#(x,y)) -->_1 ge#(O(x),O(y)) -> c_39(ge#(x,y)):17 -->_1 ge#(O(x),I(y)) -> c_38(not#(ge(y,x)),ge#(y,x)):16 -->_1 ge#(0(),I(x)) -> c_34():39 -->_1 ge#(x,0()) -> c_33():38 -->_1 ge#(I(x),O(y)) -> c_37(ge#(x,y)):15 -->_1 ge#(I(x),I(y)) -> c_36(ge#(x,y)):14 -->_1 ge#(0(),O(x)) -> c_35(ge#(0(),x)):13 16:S:ge#(O(x),I(y)) -> c_38(not#(ge(y,x)),ge#(y,x)) -->_2 ge#(O(x),O(y)) -> c_39(ge#(x,y)):17 -->_1 not#(true()) -> c_43():43 -->_1 not#(false()) -> c_42():42 -->_2 ge#(0(),I(x)) -> c_34():39 -->_2 ge#(x,0()) -> c_33():38 -->_2 ge#(O(x),I(y)) -> c_38(not#(ge(y,x)),ge#(y,x)):16 -->_2 ge#(I(x),O(y)) -> c_37(ge#(x,y)):15 -->_2 ge#(I(x),I(y)) -> c_36(ge#(x,y)):14 -->_2 ge#(0(),O(x)) -> c_35(ge#(0(),x)):13 17:S:ge#(O(x),O(y)) -> c_39(ge#(x,y)) -->_1 ge#(0(),I(x)) -> c_34():39 -->_1 ge#(x,0()) -> c_33():38 -->_1 ge#(O(x),O(y)) -> c_39(ge#(x,y)):17 -->_1 ge#(O(x),I(y)) -> c_38(not#(ge(y,x)),ge#(y,x)):16 -->_1 ge#(I(x),O(y)) -> c_37(ge#(x,y)):15 -->_1 ge#(I(x),I(y)) -> c_36(ge#(x,y)):14 -->_1 ge#(0(),O(x)) -> c_35(ge#(0(),x)):13 18:W:+#(x,0()) -> c_2() 19:W:+#(0(),x) -> c_3() 20:W:-#(x,0()) -> c_8() 21:W:-#(0(),x) -> c_9() 22:W:BS#(L(x)) -> c_14() 23:W:BS#(N(x,l(),r())) -> c_15(and#(and(ge(x,Max(l())),ge(Min(r()),x)),and(BS(l()),BS(r()))) ,and#(ge(x,Max(l())),ge(Min(r()),x)) ,ge#(x,Max(l())) ,Max#(l()) ,ge#(Min(r()),x) ,Min#(r()) ,and#(BS(l()),BS(r())) ,BS#(l()) ,BS#(r())) -->_5 ge#(x,0()) -> c_33():38 -->_2 and#(x,true()) -> c_32():37 -->_2 and#(x,false()) -> c_31():36 24:W:Log'#(0()) -> c_17() 25:W:Max#(L(x)) -> c_20() 26:W:Max#(N(x,l(),r())) -> c_21(Max#(r())) 27:W:Min#(L(x)) -> c_22() 28:W:Min#(N(x,l(),r())) -> c_23(Min#(l())) 29:W:O#(0()) -> c_24() 30:W:Size#(L(x)) -> c_25() 31:W:Size#(N(x,l(),r())) -> c_26(+#(+(Size(l()),Size(r())),I(1())) ,+#(Size(l()),Size(r())) ,Size#(l()) ,Size#(r())) 32:W:Val#(L(x)) -> c_27() 33:W:Val#(N(x,l(),r())) -> c_28() 34:W:WB#(L(x)) -> c_29() 35:W:WB#(N(x,l(),r())) -> c_30(and#(if(ge(Size(l()),Size(r())) ,ge(I(0()),-(Size(l()),Size(r()))) ,ge(I(0()),-(Size(r()),Size(l())))) ,and(WB(l()),WB(r()))) ,if#(ge(Size(l()),Size(r())) ,ge(I(0()),-(Size(l()),Size(r()))) ,ge(I(0()),-(Size(r()),Size(l())))) ,ge#(Size(l()),Size(r())) ,Size#(l()) ,Size#(r()) ,ge#(I(0()),-(Size(l()),Size(r()))) ,-#(Size(l()),Size(r())) ,Size#(l()) ,Size#(r()) ,ge#(I(0()),-(Size(r()),Size(l()))) ,-#(Size(r()),Size(l())) ,Size#(r()) ,Size#(l()) ,and#(WB(l()),WB(r())) ,WB#(l()) ,WB#(r())) 36:W:and#(x,false()) -> c_31() 37:W:and#(x,true()) -> c_32() 38:W:ge#(x,0()) -> c_33() 39:W:ge#(0(),I(x)) -> c_34() 40:W:if#(false(),x,y) -> c_40() 41:W:if#(true(),x,y) -> c_41() 42:W:not#(false()) -> c_42() 43:W:not#(true()) -> c_43() The following weak DPs constitute a sub-graph of the DG that is closed under successors. The DPs are removed. 35: WB#(N(x,l(),r())) -> c_30(and#(if(ge(Size(l()),Size(r())) ,ge(I(0()),-(Size(l()),Size(r()))) ,ge(I(0()),-(Size(r()),Size(l())))) ,and(WB(l()),WB(r()))) ,if#(ge(Size(l()),Size(r())) ,ge(I(0()),-(Size(l()),Size(r()))) ,ge(I(0()),-(Size(r()),Size(l())))) ,ge#(Size(l()),Size(r())) ,Size#(l()) ,Size#(r()) ,ge#(I(0()),-(Size(l()),Size(r()))) ,-#(Size(l()),Size(r())) ,Size#(l()) ,Size#(r()) ,ge#(I(0()),-(Size(r()),Size(l()))) ,-#(Size(r()),Size(l())) ,Size#(r()) ,Size#(l()) ,and#(WB(l()),WB(r())) ,WB#(l()) ,WB#(r())) 34: WB#(L(x)) -> c_29() 33: Val#(N(x,l(),r())) -> c_28() 32: Val#(L(x)) -> c_27() 31: Size#(N(x,l(),r())) -> c_26(+#(+(Size(l()),Size(r())),I(1())) ,+#(Size(l()),Size(r())) ,Size#(l()) ,Size#(r())) 30: Size#(L(x)) -> c_25() 28: Min#(N(x,l(),r())) -> c_23(Min#(l())) 27: Min#(L(x)) -> c_22() 26: Max#(N(x,l(),r())) -> c_21(Max#(r())) 25: Max#(L(x)) -> c_20() 23: BS#(N(x,l(),r())) -> c_15(and#(and(ge(x,Max(l())),ge(Min(r()),x)),and(BS(l()),BS(r()))) ,and#(ge(x,Max(l())),ge(Min(r()),x)) ,ge#(x,Max(l())) ,Max#(l()) ,ge#(Min(r()),x) ,Min#(r()) ,and#(BS(l()),BS(r())) ,BS#(l()) ,BS#(r())) 36: and#(x,false()) -> c_31() 37: and#(x,true()) -> c_32() 22: BS#(L(x)) -> c_14() 24: Log'#(0()) -> c_17() 40: if#(false(),x,y) -> c_40() 41: if#(true(),x,y) -> c_41() 42: not#(false()) -> c_42() 43: not#(true()) -> c_43() 38: ge#(x,0()) -> c_33() 39: ge#(0(),I(x)) -> c_34() 20: -#(x,0()) -> c_8() 21: -#(0(),x) -> c_9() 18: +#(x,0()) -> c_2() 19: +#(0(),x) -> c_3() 29: O#(0()) -> c_24() * Step 6: SimplifyRHS WORST_CASE(?,O(n^2)) + Considered Problem: - Strict DPs: +#(x,+(y,z)) -> c_1(+#(+(x,y),z),+#(x,y)) +#(I(x),I(y)) -> c_4(O#(+(+(x,y),I(0()))),+#(+(x,y),I(0())),+#(x,y)) +#(I(x),O(y)) -> c_5(+#(x,y)) +#(O(x),I(y)) -> c_6(+#(x,y)) +#(O(x),O(y)) -> c_7(O#(+(x,y)),+#(x,y)) -#(I(x),I(y)) -> c_10(O#(-(x,y)),-#(x,y)) -#(I(x),O(y)) -> c_11(-#(x,y)) -#(O(x),I(y)) -> c_12(-#(-(x,y),I(1())),-#(x,y)) -#(O(x),O(y)) -> c_13(O#(-(x,y)),-#(x,y)) Log#(x) -> c_16(-#(Log'(x),I(0())),Log'#(x)) Log'#(I(x)) -> c_18(+#(Log'(x),I(0())),Log'#(x)) Log'#(O(x)) -> c_19(if#(ge(x,I(0())),+(Log'(x),I(0())),0()),ge#(x,I(0())),+#(Log'(x),I(0())),Log'#(x)) ge#(0(),O(x)) -> c_35(ge#(0(),x)) ge#(I(x),I(y)) -> c_36(ge#(x,y)) ge#(I(x),O(y)) -> c_37(ge#(x,y)) ge#(O(x),I(y)) -> c_38(not#(ge(y,x)),ge#(y,x)) ge#(O(x),O(y)) -> c_39(ge#(x,y)) - Weak TRS: +(x,+(y,z)) -> +(+(x,y),z) +(x,0()) -> x +(0(),x) -> x +(I(x),I(y)) -> O(+(+(x,y),I(0()))) +(I(x),O(y)) -> I(+(x,y)) +(O(x),I(y)) -> I(+(x,y)) +(O(x),O(y)) -> O(+(x,y)) -(x,0()) -> x -(0(),x) -> 0() -(I(x),I(y)) -> O(-(x,y)) -(I(x),O(y)) -> I(-(x,y)) -(O(x),I(y)) -> I(-(-(x,y),I(1()))) -(O(x),O(y)) -> O(-(x,y)) Log'(0()) -> 0() Log'(I(x)) -> +(Log'(x),I(0())) Log'(O(x)) -> if(ge(x,I(0())),+(Log'(x),I(0())),0()) O(0()) -> 0() and(x,false()) -> false() and(x,true()) -> x ge(x,0()) -> true() ge(0(),I(x)) -> false() ge(0(),O(x)) -> ge(0(),x) ge(I(x),I(y)) -> ge(x,y) ge(I(x),O(y)) -> ge(x,y) ge(O(x),I(y)) -> not(ge(y,x)) ge(O(x),O(y)) -> ge(x,y) if(false(),x,y) -> y if(true(),x,y) -> x not(false()) -> true() not(true()) -> false() - Signature: {+/2,-/2,BS/1,Log/1,Log'/1,Max/1,Min/1,O/1,Size/1,Val/1,WB/1,and/2,ge/2,if/3,not/1,+#/2,-#/2,BS#/1,Log#/1 ,Log'#/1,Max#/1,Min#/1,O#/1,Size#/1,Val#/1,WB#/1,and#/2,ge#/2,if#/3,not#/1} / {0/0,1/0,I/1,L/1,N/3,false/0 ,l/0,r/0,true/0,c_1/2,c_2/0,c_3/0,c_4/3,c_5/1,c_6/1,c_7/2,c_8/0,c_9/0,c_10/2,c_11/1,c_12/2,c_13/2,c_14/0 ,c_15/9,c_16/2,c_17/0,c_18/2,c_19/4,c_20/0,c_21/1,c_22/0,c_23/1,c_24/0,c_25/0,c_26/4,c_27/0,c_28/0,c_29/0 ,c_30/16,c_31/0,c_32/0,c_33/0,c_34/0,c_35/1,c_36/1,c_37/1,c_38/2,c_39/1,c_40/0,c_41/0,c_42/0,c_43/0} - Obligation: innermost runtime complexity wrt. defined symbols {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge# ,if#,not#} and constructors {0,1,I,L,N,false,l,r,true} + Applied Processor: SimplifyRHS + Details: Consider the dependency graph 1:S:+#(x,+(y,z)) -> c_1(+#(+(x,y),z),+#(x,y)) -->_2 +#(O(x),O(y)) -> c_7(O#(+(x,y)),+#(x,y)):5 -->_1 +#(O(x),O(y)) -> c_7(O#(+(x,y)),+#(x,y)):5 -->_2 +#(O(x),I(y)) -> c_6(+#(x,y)):4 -->_1 +#(O(x),I(y)) -> c_6(+#(x,y)):4 -->_2 +#(I(x),O(y)) -> c_5(+#(x,y)):3 -->_1 +#(I(x),O(y)) -> c_5(+#(x,y)):3 -->_2 +#(I(x),I(y)) -> c_4(O#(+(+(x,y),I(0()))),+#(+(x,y),I(0())),+#(x,y)):2 -->_1 +#(I(x),I(y)) -> c_4(O#(+(+(x,y),I(0()))),+#(+(x,y),I(0())),+#(x,y)):2 -->_2 +#(x,+(y,z)) -> c_1(+#(+(x,y),z),+#(x,y)):1 -->_1 +#(x,+(y,z)) -> c_1(+#(+(x,y),z),+#(x,y)):1 2:S:+#(I(x),I(y)) -> c_4(O#(+(+(x,y),I(0()))),+#(+(x,y),I(0())),+#(x,y)) -->_3 +#(O(x),O(y)) -> c_7(O#(+(x,y)),+#(x,y)):5 -->_3 +#(O(x),I(y)) -> c_6(+#(x,y)):4 -->_2 +#(O(x),I(y)) -> c_6(+#(x,y)):4 -->_3 +#(I(x),O(y)) -> c_5(+#(x,y)):3 -->_3 +#(I(x),I(y)) -> c_4(O#(+(+(x,y),I(0()))),+#(+(x,y),I(0())),+#(x,y)):2 -->_2 +#(I(x),I(y)) -> c_4(O#(+(+(x,y),I(0()))),+#(+(x,y),I(0())),+#(x,y)):2 -->_3 +#(x,+(y,z)) -> c_1(+#(+(x,y),z),+#(x,y)):1 3:S:+#(I(x),O(y)) -> c_5(+#(x,y)) -->_1 +#(O(x),O(y)) -> c_7(O#(+(x,y)),+#(x,y)):5 -->_1 +#(O(x),I(y)) -> c_6(+#(x,y)):4 -->_1 +#(I(x),O(y)) -> c_5(+#(x,y)):3 -->_1 +#(I(x),I(y)) -> c_4(O#(+(+(x,y),I(0()))),+#(+(x,y),I(0())),+#(x,y)):2 -->_1 +#(x,+(y,z)) -> c_1(+#(+(x,y),z),+#(x,y)):1 4:S:+#(O(x),I(y)) -> c_6(+#(x,y)) -->_1 +#(O(x),O(y)) -> c_7(O#(+(x,y)),+#(x,y)):5 -->_1 +#(O(x),I(y)) -> c_6(+#(x,y)):4 -->_1 +#(I(x),O(y)) -> c_5(+#(x,y)):3 -->_1 +#(I(x),I(y)) -> c_4(O#(+(+(x,y),I(0()))),+#(+(x,y),I(0())),+#(x,y)):2 -->_1 +#(x,+(y,z)) -> c_1(+#(+(x,y),z),+#(x,y)):1 5:S:+#(O(x),O(y)) -> c_7(O#(+(x,y)),+#(x,y)) -->_2 +#(O(x),O(y)) -> c_7(O#(+(x,y)),+#(x,y)):5 -->_2 +#(O(x),I(y)) -> c_6(+#(x,y)):4 -->_2 +#(I(x),O(y)) -> c_5(+#(x,y)):3 -->_2 +#(I(x),I(y)) -> c_4(O#(+(+(x,y),I(0()))),+#(+(x,y),I(0())),+#(x,y)):2 -->_2 +#(x,+(y,z)) -> c_1(+#(+(x,y),z),+#(x,y)):1 6:S:-#(I(x),I(y)) -> c_10(O#(-(x,y)),-#(x,y)) -->_2 -#(O(x),O(y)) -> c_13(O#(-(x,y)),-#(x,y)):9 -->_2 -#(O(x),I(y)) -> c_12(-#(-(x,y),I(1())),-#(x,y)):8 -->_2 -#(I(x),O(y)) -> c_11(-#(x,y)):7 -->_2 -#(I(x),I(y)) -> c_10(O#(-(x,y)),-#(x,y)):6 7:S:-#(I(x),O(y)) -> c_11(-#(x,y)) -->_1 -#(O(x),O(y)) -> c_13(O#(-(x,y)),-#(x,y)):9 -->_1 -#(O(x),I(y)) -> c_12(-#(-(x,y),I(1())),-#(x,y)):8 -->_1 -#(I(x),O(y)) -> c_11(-#(x,y)):7 -->_1 -#(I(x),I(y)) -> c_10(O#(-(x,y)),-#(x,y)):6 8:S:-#(O(x),I(y)) -> c_12(-#(-(x,y),I(1())),-#(x,y)) -->_2 -#(O(x),O(y)) -> c_13(O#(-(x,y)),-#(x,y)):9 -->_2 -#(O(x),I(y)) -> c_12(-#(-(x,y),I(1())),-#(x,y)):8 -->_1 -#(O(x),I(y)) -> c_12(-#(-(x,y),I(1())),-#(x,y)):8 -->_2 -#(I(x),O(y)) -> c_11(-#(x,y)):7 -->_2 -#(I(x),I(y)) -> c_10(O#(-(x,y)),-#(x,y)):6 -->_1 -#(I(x),I(y)) -> c_10(O#(-(x,y)),-#(x,y)):6 9:S:-#(O(x),O(y)) -> c_13(O#(-(x,y)),-#(x,y)) -->_2 -#(O(x),O(y)) -> c_13(O#(-(x,y)),-#(x,y)):9 -->_2 -#(O(x),I(y)) -> c_12(-#(-(x,y),I(1())),-#(x,y)):8 -->_2 -#(I(x),O(y)) -> c_11(-#(x,y)):7 -->_2 -#(I(x),I(y)) -> c_10(O#(-(x,y)),-#(x,y)):6 10:S:Log#(x) -> c_16(-#(Log'(x),I(0())),Log'#(x)) -->_2 Log'#(O(x)) -> c_19(if#(ge(x,I(0())),+(Log'(x),I(0())),0()) ,ge#(x,I(0())) ,+#(Log'(x),I(0())) ,Log'#(x)):12 -->_2 Log'#(I(x)) -> c_18(+#(Log'(x),I(0())),Log'#(x)):11 -->_1 -#(O(x),I(y)) -> c_12(-#(-(x,y),I(1())),-#(x,y)):8 -->_1 -#(I(x),I(y)) -> c_10(O#(-(x,y)),-#(x,y)):6 11:S:Log'#(I(x)) -> c_18(+#(Log'(x),I(0())),Log'#(x)) -->_2 Log'#(O(x)) -> c_19(if#(ge(x,I(0())),+(Log'(x),I(0())),0()) ,ge#(x,I(0())) ,+#(Log'(x),I(0())) ,Log'#(x)):12 -->_2 Log'#(I(x)) -> c_18(+#(Log'(x),I(0())),Log'#(x)):11 -->_1 +#(O(x),I(y)) -> c_6(+#(x,y)):4 -->_1 +#(I(x),I(y)) -> c_4(O#(+(+(x,y),I(0()))),+#(+(x,y),I(0())),+#(x,y)):2 12:S:Log'#(O(x)) -> c_19(if#(ge(x,I(0())),+(Log'(x),I(0())),0()),ge#(x,I(0())),+#(Log'(x),I(0())),Log'#(x)) -->_2 ge#(O(x),I(y)) -> c_38(not#(ge(y,x)),ge#(y,x)):16 -->_2 ge#(I(x),I(y)) -> c_36(ge#(x,y)):14 -->_4 Log'#(O(x)) -> c_19(if#(ge(x,I(0())),+(Log'(x),I(0())),0()) ,ge#(x,I(0())) ,+#(Log'(x),I(0())) ,Log'#(x)):12 -->_4 Log'#(I(x)) -> c_18(+#(Log'(x),I(0())),Log'#(x)):11 -->_3 +#(O(x),I(y)) -> c_6(+#(x,y)):4 -->_3 +#(I(x),I(y)) -> c_4(O#(+(+(x,y),I(0()))),+#(+(x,y),I(0())),+#(x,y)):2 13:S:ge#(0(),O(x)) -> c_35(ge#(0(),x)) -->_1 ge#(0(),O(x)) -> c_35(ge#(0(),x)):13 14:S:ge#(I(x),I(y)) -> c_36(ge#(x,y)) -->_1 ge#(O(x),O(y)) -> c_39(ge#(x,y)):17 -->_1 ge#(O(x),I(y)) -> c_38(not#(ge(y,x)),ge#(y,x)):16 -->_1 ge#(I(x),O(y)) -> c_37(ge#(x,y)):15 -->_1 ge#(I(x),I(y)) -> c_36(ge#(x,y)):14 -->_1 ge#(0(),O(x)) -> c_35(ge#(0(),x)):13 15:S:ge#(I(x),O(y)) -> c_37(ge#(x,y)) -->_1 ge#(O(x),O(y)) -> c_39(ge#(x,y)):17 -->_1 ge#(O(x),I(y)) -> c_38(not#(ge(y,x)),ge#(y,x)):16 -->_1 ge#(I(x),O(y)) -> c_37(ge#(x,y)):15 -->_1 ge#(I(x),I(y)) -> c_36(ge#(x,y)):14 -->_1 ge#(0(),O(x)) -> c_35(ge#(0(),x)):13 16:S:ge#(O(x),I(y)) -> c_38(not#(ge(y,x)),ge#(y,x)) -->_2 ge#(O(x),O(y)) -> c_39(ge#(x,y)):17 -->_2 ge#(O(x),I(y)) -> c_38(not#(ge(y,x)),ge#(y,x)):16 -->_2 ge#(I(x),O(y)) -> c_37(ge#(x,y)):15 -->_2 ge#(I(x),I(y)) -> c_36(ge#(x,y)):14 -->_2 ge#(0(),O(x)) -> c_35(ge#(0(),x)):13 17:S:ge#(O(x),O(y)) -> c_39(ge#(x,y)) -->_1 ge#(O(x),O(y)) -> c_39(ge#(x,y)):17 -->_1 ge#(O(x),I(y)) -> c_38(not#(ge(y,x)),ge#(y,x)):16 -->_1 ge#(I(x),O(y)) -> c_37(ge#(x,y)):15 -->_1 ge#(I(x),I(y)) -> c_36(ge#(x,y)):14 -->_1 ge#(0(),O(x)) -> c_35(ge#(0(),x)):13 Due to missing edges in the depndency graph, the right-hand sides of following rules could be simplified: +#(I(x),I(y)) -> c_4(+#(+(x,y),I(0())),+#(x,y)) +#(O(x),O(y)) -> c_7(+#(x,y)) -#(I(x),I(y)) -> c_10(-#(x,y)) -#(O(x),O(y)) -> c_13(-#(x,y)) Log'#(O(x)) -> c_19(ge#(x,I(0())),+#(Log'(x),I(0())),Log'#(x)) ge#(O(x),I(y)) -> c_38(ge#(y,x)) * Step 7: UsableRules WORST_CASE(?,O(n^2)) + Considered Problem: - Strict DPs: +#(x,+(y,z)) -> c_1(+#(+(x,y),z),+#(x,y)) +#(I(x),I(y)) -> c_4(+#(+(x,y),I(0())),+#(x,y)) +#(I(x),O(y)) -> c_5(+#(x,y)) +#(O(x),I(y)) -> c_6(+#(x,y)) +#(O(x),O(y)) -> c_7(+#(x,y)) -#(I(x),I(y)) -> c_10(-#(x,y)) -#(I(x),O(y)) -> c_11(-#(x,y)) -#(O(x),I(y)) -> c_12(-#(-(x,y),I(1())),-#(x,y)) -#(O(x),O(y)) -> c_13(-#(x,y)) Log#(x) -> c_16(-#(Log'(x),I(0())),Log'#(x)) Log'#(I(x)) -> c_18(+#(Log'(x),I(0())),Log'#(x)) Log'#(O(x)) -> c_19(ge#(x,I(0())),+#(Log'(x),I(0())),Log'#(x)) ge#(0(),O(x)) -> c_35(ge#(0(),x)) ge#(I(x),I(y)) -> c_36(ge#(x,y)) ge#(I(x),O(y)) -> c_37(ge#(x,y)) ge#(O(x),I(y)) -> c_38(ge#(y,x)) ge#(O(x),O(y)) -> c_39(ge#(x,y)) - Weak TRS: +(x,+(y,z)) -> +(+(x,y),z) +(x,0()) -> x +(0(),x) -> x +(I(x),I(y)) -> O(+(+(x,y),I(0()))) +(I(x),O(y)) -> I(+(x,y)) +(O(x),I(y)) -> I(+(x,y)) +(O(x),O(y)) -> O(+(x,y)) -(x,0()) -> x -(0(),x) -> 0() -(I(x),I(y)) -> O(-(x,y)) -(I(x),O(y)) -> I(-(x,y)) -(O(x),I(y)) -> I(-(-(x,y),I(1()))) -(O(x),O(y)) -> O(-(x,y)) Log'(0()) -> 0() Log'(I(x)) -> +(Log'(x),I(0())) Log'(O(x)) -> if(ge(x,I(0())),+(Log'(x),I(0())),0()) O(0()) -> 0() and(x,false()) -> false() and(x,true()) -> x ge(x,0()) -> true() ge(0(),I(x)) -> false() ge(0(),O(x)) -> ge(0(),x) ge(I(x),I(y)) -> ge(x,y) ge(I(x),O(y)) -> ge(x,y) ge(O(x),I(y)) -> not(ge(y,x)) ge(O(x),O(y)) -> ge(x,y) if(false(),x,y) -> y if(true(),x,y) -> x not(false()) -> true() not(true()) -> false() - Signature: {+/2,-/2,BS/1,Log/1,Log'/1,Max/1,Min/1,O/1,Size/1,Val/1,WB/1,and/2,ge/2,if/3,not/1,+#/2,-#/2,BS#/1,Log#/1 ,Log'#/1,Max#/1,Min#/1,O#/1,Size#/1,Val#/1,WB#/1,and#/2,ge#/2,if#/3,not#/1} / {0/0,1/0,I/1,L/1,N/3,false/0 ,l/0,r/0,true/0,c_1/2,c_2/0,c_3/0,c_4/2,c_5/1,c_6/1,c_7/1,c_8/0,c_9/0,c_10/1,c_11/1,c_12/2,c_13/1,c_14/0 ,c_15/9,c_16/2,c_17/0,c_18/2,c_19/3,c_20/0,c_21/1,c_22/0,c_23/1,c_24/0,c_25/0,c_26/4,c_27/0,c_28/0,c_29/0 ,c_30/16,c_31/0,c_32/0,c_33/0,c_34/0,c_35/1,c_36/1,c_37/1,c_38/1,c_39/1,c_40/0,c_41/0,c_42/0,c_43/0} - Obligation: innermost runtime complexity wrt. defined symbols {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge# ,if#,not#} and constructors {0,1,I,L,N,false,l,r,true} + Applied Processor: UsableRules + Details: We replace rewrite rules by usable rules: +(x,+(y,z)) -> +(+(x,y),z) +(x,0()) -> x +(0(),x) -> x +(I(x),I(y)) -> O(+(+(x,y),I(0()))) +(I(x),O(y)) -> I(+(x,y)) +(O(x),I(y)) -> I(+(x,y)) +(O(x),O(y)) -> O(+(x,y)) -(x,0()) -> x -(0(),x) -> 0() -(I(x),I(y)) -> O(-(x,y)) -(I(x),O(y)) -> I(-(x,y)) -(O(x),I(y)) -> I(-(-(x,y),I(1()))) -(O(x),O(y)) -> O(-(x,y)) Log'(0()) -> 0() Log'(I(x)) -> +(Log'(x),I(0())) Log'(O(x)) -> if(ge(x,I(0())),+(Log'(x),I(0())),0()) O(0()) -> 0() ge(x,0()) -> true() ge(0(),I(x)) -> false() ge(0(),O(x)) -> ge(0(),x) ge(I(x),I(y)) -> ge(x,y) ge(I(x),O(y)) -> ge(x,y) ge(O(x),I(y)) -> not(ge(y,x)) ge(O(x),O(y)) -> ge(x,y) if(false(),x,y) -> y if(true(),x,y) -> x not(false()) -> true() not(true()) -> false() +#(x,+(y,z)) -> c_1(+#(+(x,y),z),+#(x,y)) +#(I(x),I(y)) -> c_4(+#(+(x,y),I(0())),+#(x,y)) +#(I(x),O(y)) -> c_5(+#(x,y)) +#(O(x),I(y)) -> c_6(+#(x,y)) +#(O(x),O(y)) -> c_7(+#(x,y)) -#(I(x),I(y)) -> c_10(-#(x,y)) -#(I(x),O(y)) -> c_11(-#(x,y)) -#(O(x),I(y)) -> c_12(-#(-(x,y),I(1())),-#(x,y)) -#(O(x),O(y)) -> c_13(-#(x,y)) Log#(x) -> c_16(-#(Log'(x),I(0())),Log'#(x)) Log'#(I(x)) -> c_18(+#(Log'(x),I(0())),Log'#(x)) Log'#(O(x)) -> c_19(ge#(x,I(0())),+#(Log'(x),I(0())),Log'#(x)) ge#(0(),O(x)) -> c_35(ge#(0(),x)) ge#(I(x),I(y)) -> c_36(ge#(x,y)) ge#(I(x),O(y)) -> c_37(ge#(x,y)) ge#(O(x),I(y)) -> c_38(ge#(y,x)) ge#(O(x),O(y)) -> c_39(ge#(x,y)) * Step 8: Decompose WORST_CASE(?,O(n^2)) + Considered Problem: - Strict DPs: +#(x,+(y,z)) -> c_1(+#(+(x,y),z),+#(x,y)) +#(I(x),I(y)) -> c_4(+#(+(x,y),I(0())),+#(x,y)) +#(I(x),O(y)) -> c_5(+#(x,y)) +#(O(x),I(y)) -> c_6(+#(x,y)) +#(O(x),O(y)) -> c_7(+#(x,y)) -#(I(x),I(y)) -> c_10(-#(x,y)) -#(I(x),O(y)) -> c_11(-#(x,y)) -#(O(x),I(y)) -> c_12(-#(-(x,y),I(1())),-#(x,y)) -#(O(x),O(y)) -> c_13(-#(x,y)) Log#(x) -> c_16(-#(Log'(x),I(0())),Log'#(x)) Log'#(I(x)) -> c_18(+#(Log'(x),I(0())),Log'#(x)) Log'#(O(x)) -> c_19(ge#(x,I(0())),+#(Log'(x),I(0())),Log'#(x)) ge#(0(),O(x)) -> c_35(ge#(0(),x)) ge#(I(x),I(y)) -> c_36(ge#(x,y)) ge#(I(x),O(y)) -> c_37(ge#(x,y)) ge#(O(x),I(y)) -> c_38(ge#(y,x)) ge#(O(x),O(y)) -> c_39(ge#(x,y)) - Weak TRS: +(x,+(y,z)) -> +(+(x,y),z) +(x,0()) -> x +(0(),x) -> x +(I(x),I(y)) -> O(+(+(x,y),I(0()))) +(I(x),O(y)) -> I(+(x,y)) +(O(x),I(y)) -> I(+(x,y)) +(O(x),O(y)) -> O(+(x,y)) -(x,0()) -> x -(0(),x) -> 0() -(I(x),I(y)) -> O(-(x,y)) -(I(x),O(y)) -> I(-(x,y)) -(O(x),I(y)) -> I(-(-(x,y),I(1()))) -(O(x),O(y)) -> O(-(x,y)) Log'(0()) -> 0() Log'(I(x)) -> +(Log'(x),I(0())) Log'(O(x)) -> if(ge(x,I(0())),+(Log'(x),I(0())),0()) O(0()) -> 0() ge(x,0()) -> true() ge(0(),I(x)) -> false() ge(0(),O(x)) -> ge(0(),x) ge(I(x),I(y)) -> ge(x,y) ge(I(x),O(y)) -> ge(x,y) ge(O(x),I(y)) -> not(ge(y,x)) ge(O(x),O(y)) -> ge(x,y) if(false(),x,y) -> y if(true(),x,y) -> x not(false()) -> true() not(true()) -> false() - Signature: {+/2,-/2,BS/1,Log/1,Log'/1,Max/1,Min/1,O/1,Size/1,Val/1,WB/1,and/2,ge/2,if/3,not/1,+#/2,-#/2,BS#/1,Log#/1 ,Log'#/1,Max#/1,Min#/1,O#/1,Size#/1,Val#/1,WB#/1,and#/2,ge#/2,if#/3,not#/1} / {0/0,1/0,I/1,L/1,N/3,false/0 ,l/0,r/0,true/0,c_1/2,c_2/0,c_3/0,c_4/2,c_5/1,c_6/1,c_7/1,c_8/0,c_9/0,c_10/1,c_11/1,c_12/2,c_13/1,c_14/0 ,c_15/9,c_16/2,c_17/0,c_18/2,c_19/3,c_20/0,c_21/1,c_22/0,c_23/1,c_24/0,c_25/0,c_26/4,c_27/0,c_28/0,c_29/0 ,c_30/16,c_31/0,c_32/0,c_33/0,c_34/0,c_35/1,c_36/1,c_37/1,c_38/1,c_39/1,c_40/0,c_41/0,c_42/0,c_43/0} - Obligation: innermost runtime complexity wrt. defined symbols {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge# ,if#,not#} and constructors {0,1,I,L,N,false,l,r,true} + Applied Processor: Decompose {onSelection = all cycle independent sub-graph, withBound = RelativeAdd} + Details: We analyse the complexity of following sub-problems (R) and (S). Problem (S) is obtained from the input problem by shifting strict rules from (R) into the weak component. Problem (R) - Strict DPs: +#(x,+(y,z)) -> c_1(+#(+(x,y),z),+#(x,y)) +#(I(x),I(y)) -> c_4(+#(+(x,y),I(0())),+#(x,y)) +#(I(x),O(y)) -> c_5(+#(x,y)) +#(O(x),I(y)) -> c_6(+#(x,y)) +#(O(x),O(y)) -> c_7(+#(x,y)) - Weak DPs: -#(I(x),I(y)) -> c_10(-#(x,y)) -#(I(x),O(y)) -> c_11(-#(x,y)) -#(O(x),I(y)) -> c_12(-#(-(x,y),I(1())),-#(x,y)) -#(O(x),O(y)) -> c_13(-#(x,y)) Log#(x) -> c_16(-#(Log'(x),I(0())),Log'#(x)) Log'#(I(x)) -> c_18(+#(Log'(x),I(0())),Log'#(x)) Log'#(O(x)) -> c_19(ge#(x,I(0())),+#(Log'(x),I(0())),Log'#(x)) ge#(0(),O(x)) -> c_35(ge#(0(),x)) ge#(I(x),I(y)) -> c_36(ge#(x,y)) ge#(I(x),O(y)) -> c_37(ge#(x,y)) ge#(O(x),I(y)) -> c_38(ge#(y,x)) ge#(O(x),O(y)) -> c_39(ge#(x,y)) - Weak TRS: +(x,+(y,z)) -> +(+(x,y),z) +(x,0()) -> x +(0(),x) -> x +(I(x),I(y)) -> O(+(+(x,y),I(0()))) +(I(x),O(y)) -> I(+(x,y)) +(O(x),I(y)) -> I(+(x,y)) +(O(x),O(y)) -> O(+(x,y)) -(x,0()) -> x -(0(),x) -> 0() -(I(x),I(y)) -> O(-(x,y)) -(I(x),O(y)) -> I(-(x,y)) -(O(x),I(y)) -> I(-(-(x,y),I(1()))) -(O(x),O(y)) -> O(-(x,y)) Log'(0()) -> 0() Log'(I(x)) -> +(Log'(x),I(0())) Log'(O(x)) -> if(ge(x,I(0())),+(Log'(x),I(0())),0()) O(0()) -> 0() ge(x,0()) -> true() ge(0(),I(x)) -> false() ge(0(),O(x)) -> ge(0(),x) ge(I(x),I(y)) -> ge(x,y) ge(I(x),O(y)) -> ge(x,y) ge(O(x),I(y)) -> not(ge(y,x)) ge(O(x),O(y)) -> ge(x,y) if(false(),x,y) -> y if(true(),x,y) -> x not(false()) -> true() not(true()) -> false() - Signature: {+/2,-/2,BS/1,Log/1,Log'/1,Max/1,Min/1,O/1,Size/1,Val/1,WB/1,and/2,ge/2,if/3,not/1,+#/2,-#/2,BS#/1,Log#/1 ,Log'#/1,Max#/1,Min#/1,O#/1,Size#/1,Val#/1,WB#/1,and#/2,ge#/2,if#/3,not#/1} / {0/0,1/0,I/1,L/1,N/3,false/0 ,l/0,r/0,true/0,c_1/2,c_2/0,c_3/0,c_4/2,c_5/1,c_6/1,c_7/1,c_8/0,c_9/0,c_10/1,c_11/1,c_12/2,c_13/1,c_14/0 ,c_15/9,c_16/2,c_17/0,c_18/2,c_19/3,c_20/0,c_21/1,c_22/0,c_23/1,c_24/0,c_25/0,c_26/4,c_27/0,c_28/0,c_29/0 ,c_30/16,c_31/0,c_32/0,c_33/0,c_34/0,c_35/1,c_36/1,c_37/1,c_38/1,c_39/1,c_40/0,c_41/0,c_42/0,c_43/0} - Obligation: innermost runtime complexity wrt. defined symbols {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and# ,ge#,if#,not#} and constructors {0,1,I,L,N,false,l,r,true} Problem (S) - Strict DPs: -#(I(x),I(y)) -> c_10(-#(x,y)) -#(I(x),O(y)) -> c_11(-#(x,y)) -#(O(x),I(y)) -> c_12(-#(-(x,y),I(1())),-#(x,y)) -#(O(x),O(y)) -> c_13(-#(x,y)) Log#(x) -> c_16(-#(Log'(x),I(0())),Log'#(x)) Log'#(I(x)) -> c_18(+#(Log'(x),I(0())),Log'#(x)) Log'#(O(x)) -> c_19(ge#(x,I(0())),+#(Log'(x),I(0())),Log'#(x)) ge#(0(),O(x)) -> c_35(ge#(0(),x)) ge#(I(x),I(y)) -> c_36(ge#(x,y)) ge#(I(x),O(y)) -> c_37(ge#(x,y)) ge#(O(x),I(y)) -> c_38(ge#(y,x)) ge#(O(x),O(y)) -> c_39(ge#(x,y)) - Weak DPs: +#(x,+(y,z)) -> c_1(+#(+(x,y),z),+#(x,y)) +#(I(x),I(y)) -> c_4(+#(+(x,y),I(0())),+#(x,y)) +#(I(x),O(y)) -> c_5(+#(x,y)) +#(O(x),I(y)) -> c_6(+#(x,y)) +#(O(x),O(y)) -> c_7(+#(x,y)) - Weak TRS: +(x,+(y,z)) -> +(+(x,y),z) +(x,0()) -> x +(0(),x) -> x +(I(x),I(y)) -> O(+(+(x,y),I(0()))) +(I(x),O(y)) -> I(+(x,y)) +(O(x),I(y)) -> I(+(x,y)) +(O(x),O(y)) -> O(+(x,y)) -(x,0()) -> x -(0(),x) -> 0() -(I(x),I(y)) -> O(-(x,y)) -(I(x),O(y)) -> I(-(x,y)) -(O(x),I(y)) -> I(-(-(x,y),I(1()))) -(O(x),O(y)) -> O(-(x,y)) Log'(0()) -> 0() Log'(I(x)) -> +(Log'(x),I(0())) Log'(O(x)) -> if(ge(x,I(0())),+(Log'(x),I(0())),0()) O(0()) -> 0() ge(x,0()) -> true() ge(0(),I(x)) -> false() ge(0(),O(x)) -> ge(0(),x) ge(I(x),I(y)) -> ge(x,y) ge(I(x),O(y)) -> ge(x,y) ge(O(x),I(y)) -> not(ge(y,x)) ge(O(x),O(y)) -> ge(x,y) if(false(),x,y) -> y if(true(),x,y) -> x not(false()) -> true() not(true()) -> false() - Signature: {+/2,-/2,BS/1,Log/1,Log'/1,Max/1,Min/1,O/1,Size/1,Val/1,WB/1,and/2,ge/2,if/3,not/1,+#/2,-#/2,BS#/1,Log#/1 ,Log'#/1,Max#/1,Min#/1,O#/1,Size#/1,Val#/1,WB#/1,and#/2,ge#/2,if#/3,not#/1} / {0/0,1/0,I/1,L/1,N/3,false/0 ,l/0,r/0,true/0,c_1/2,c_2/0,c_3/0,c_4/2,c_5/1,c_6/1,c_7/1,c_8/0,c_9/0,c_10/1,c_11/1,c_12/2,c_13/1,c_14/0 ,c_15/9,c_16/2,c_17/0,c_18/2,c_19/3,c_20/0,c_21/1,c_22/0,c_23/1,c_24/0,c_25/0,c_26/4,c_27/0,c_28/0,c_29/0 ,c_30/16,c_31/0,c_32/0,c_33/0,c_34/0,c_35/1,c_36/1,c_37/1,c_38/1,c_39/1,c_40/0,c_41/0,c_42/0,c_43/0} - Obligation: innermost runtime complexity wrt. defined symbols {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and# ,ge#,if#,not#} and constructors {0,1,I,L,N,false,l,r,true} ** Step 8.a:1: RemoveWeakSuffixes WORST_CASE(?,O(n^2)) + Considered Problem: - Strict DPs: +#(x,+(y,z)) -> c_1(+#(+(x,y),z),+#(x,y)) +#(I(x),I(y)) -> c_4(+#(+(x,y),I(0())),+#(x,y)) +#(I(x),O(y)) -> c_5(+#(x,y)) +#(O(x),I(y)) -> c_6(+#(x,y)) +#(O(x),O(y)) -> c_7(+#(x,y)) - Weak DPs: -#(I(x),I(y)) -> c_10(-#(x,y)) -#(I(x),O(y)) -> c_11(-#(x,y)) -#(O(x),I(y)) -> c_12(-#(-(x,y),I(1())),-#(x,y)) -#(O(x),O(y)) -> c_13(-#(x,y)) Log#(x) -> c_16(-#(Log'(x),I(0())),Log'#(x)) Log'#(I(x)) -> c_18(+#(Log'(x),I(0())),Log'#(x)) Log'#(O(x)) -> c_19(ge#(x,I(0())),+#(Log'(x),I(0())),Log'#(x)) ge#(0(),O(x)) -> c_35(ge#(0(),x)) ge#(I(x),I(y)) -> c_36(ge#(x,y)) ge#(I(x),O(y)) -> c_37(ge#(x,y)) ge#(O(x),I(y)) -> c_38(ge#(y,x)) ge#(O(x),O(y)) -> c_39(ge#(x,y)) - Weak TRS: +(x,+(y,z)) -> +(+(x,y),z) +(x,0()) -> x +(0(),x) -> x +(I(x),I(y)) -> O(+(+(x,y),I(0()))) +(I(x),O(y)) -> I(+(x,y)) +(O(x),I(y)) -> I(+(x,y)) +(O(x),O(y)) -> O(+(x,y)) -(x,0()) -> x -(0(),x) -> 0() -(I(x),I(y)) -> O(-(x,y)) -(I(x),O(y)) -> I(-(x,y)) -(O(x),I(y)) -> I(-(-(x,y),I(1()))) -(O(x),O(y)) -> O(-(x,y)) Log'(0()) -> 0() Log'(I(x)) -> +(Log'(x),I(0())) Log'(O(x)) -> if(ge(x,I(0())),+(Log'(x),I(0())),0()) O(0()) -> 0() ge(x,0()) -> true() ge(0(),I(x)) -> false() ge(0(),O(x)) -> ge(0(),x) ge(I(x),I(y)) -> ge(x,y) ge(I(x),O(y)) -> ge(x,y) ge(O(x),I(y)) -> not(ge(y,x)) ge(O(x),O(y)) -> ge(x,y) if(false(),x,y) -> y if(true(),x,y) -> x not(false()) -> true() not(true()) -> false() - Signature: {+/2,-/2,BS/1,Log/1,Log'/1,Max/1,Min/1,O/1,Size/1,Val/1,WB/1,and/2,ge/2,if/3,not/1,+#/2,-#/2,BS#/1,Log#/1 ,Log'#/1,Max#/1,Min#/1,O#/1,Size#/1,Val#/1,WB#/1,and#/2,ge#/2,if#/3,not#/1} / {0/0,1/0,I/1,L/1,N/3,false/0 ,l/0,r/0,true/0,c_1/2,c_2/0,c_3/0,c_4/2,c_5/1,c_6/1,c_7/1,c_8/0,c_9/0,c_10/1,c_11/1,c_12/2,c_13/1,c_14/0 ,c_15/9,c_16/2,c_17/0,c_18/2,c_19/3,c_20/0,c_21/1,c_22/0,c_23/1,c_24/0,c_25/0,c_26/4,c_27/0,c_28/0,c_29/0 ,c_30/16,c_31/0,c_32/0,c_33/0,c_34/0,c_35/1,c_36/1,c_37/1,c_38/1,c_39/1,c_40/0,c_41/0,c_42/0,c_43/0} - Obligation: innermost runtime complexity wrt. defined symbols {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge# ,if#,not#} and constructors {0,1,I,L,N,false,l,r,true} + Applied Processor: RemoveWeakSuffixes + Details: Consider the dependency graph 1:S:+#(x,+(y,z)) -> c_1(+#(+(x,y),z),+#(x,y)) -->_2 +#(O(x),O(y)) -> c_7(+#(x,y)):5 -->_1 +#(O(x),O(y)) -> c_7(+#(x,y)):5 -->_2 +#(O(x),I(y)) -> c_6(+#(x,y)):4 -->_1 +#(O(x),I(y)) -> c_6(+#(x,y)):4 -->_2 +#(I(x),O(y)) -> c_5(+#(x,y)):3 -->_1 +#(I(x),O(y)) -> c_5(+#(x,y)):3 -->_2 +#(I(x),I(y)) -> c_4(+#(+(x,y),I(0())),+#(x,y)):2 -->_1 +#(I(x),I(y)) -> c_4(+#(+(x,y),I(0())),+#(x,y)):2 -->_2 +#(x,+(y,z)) -> c_1(+#(+(x,y),z),+#(x,y)):1 -->_1 +#(x,+(y,z)) -> c_1(+#(+(x,y),z),+#(x,y)):1 2:S:+#(I(x),I(y)) -> c_4(+#(+(x,y),I(0())),+#(x,y)) -->_2 +#(x,+(y,z)) -> c_1(+#(+(x,y),z),+#(x,y)):1 -->_2 +#(O(x),O(y)) -> c_7(+#(x,y)):5 -->_2 +#(O(x),I(y)) -> c_6(+#(x,y)):4 -->_1 +#(O(x),I(y)) -> c_6(+#(x,y)):4 -->_2 +#(I(x),O(y)) -> c_5(+#(x,y)):3 -->_2 +#(I(x),I(y)) -> c_4(+#(+(x,y),I(0())),+#(x,y)):2 -->_1 +#(I(x),I(y)) -> c_4(+#(+(x,y),I(0())),+#(x,y)):2 3:S:+#(I(x),O(y)) -> c_5(+#(x,y)) -->_1 +#(x,+(y,z)) -> c_1(+#(+(x,y),z),+#(x,y)):1 -->_1 +#(I(x),I(y)) -> c_4(+#(+(x,y),I(0())),+#(x,y)):2 -->_1 +#(O(x),O(y)) -> c_7(+#(x,y)):5 -->_1 +#(O(x),I(y)) -> c_6(+#(x,y)):4 -->_1 +#(I(x),O(y)) -> c_5(+#(x,y)):3 4:S:+#(O(x),I(y)) -> c_6(+#(x,y)) -->_1 +#(x,+(y,z)) -> c_1(+#(+(x,y),z),+#(x,y)):1 -->_1 +#(I(x),I(y)) -> c_4(+#(+(x,y),I(0())),+#(x,y)):2 -->_1 +#(I(x),O(y)) -> c_5(+#(x,y)):3 -->_1 +#(O(x),O(y)) -> c_7(+#(x,y)):5 -->_1 +#(O(x),I(y)) -> c_6(+#(x,y)):4 5:S:+#(O(x),O(y)) -> c_7(+#(x,y)) -->_1 +#(x,+(y,z)) -> c_1(+#(+(x,y),z),+#(x,y)):1 -->_1 +#(I(x),I(y)) -> c_4(+#(+(x,y),I(0())),+#(x,y)):2 -->_1 +#(I(x),O(y)) -> c_5(+#(x,y)):3 -->_1 +#(O(x),I(y)) -> c_6(+#(x,y)):4 -->_1 +#(O(x),O(y)) -> c_7(+#(x,y)):5 6:W:-#(I(x),I(y)) -> c_10(-#(x,y)) -->_1 -#(O(x),O(y)) -> c_13(-#(x,y)):9 -->_1 -#(O(x),I(y)) -> c_12(-#(-(x,y),I(1())),-#(x,y)):8 -->_1 -#(I(x),O(y)) -> c_11(-#(x,y)):7 -->_1 -#(I(x),I(y)) -> c_10(-#(x,y)):6 7:W:-#(I(x),O(y)) -> c_11(-#(x,y)) -->_1 -#(I(x),I(y)) -> c_10(-#(x,y)):6 -->_1 -#(O(x),O(y)) -> c_13(-#(x,y)):9 -->_1 -#(O(x),I(y)) -> c_12(-#(-(x,y),I(1())),-#(x,y)):8 -->_1 -#(I(x),O(y)) -> c_11(-#(x,y)):7 8:W:-#(O(x),I(y)) -> c_12(-#(-(x,y),I(1())),-#(x,y)) -->_2 -#(I(x),I(y)) -> c_10(-#(x,y)):6 -->_1 -#(I(x),I(y)) -> c_10(-#(x,y)):6 -->_2 -#(I(x),O(y)) -> c_11(-#(x,y)):7 -->_2 -#(O(x),O(y)) -> c_13(-#(x,y)):9 -->_2 -#(O(x),I(y)) -> c_12(-#(-(x,y),I(1())),-#(x,y)):8 -->_1 -#(O(x),I(y)) -> c_12(-#(-(x,y),I(1())),-#(x,y)):8 9:W:-#(O(x),O(y)) -> c_13(-#(x,y)) -->_1 -#(I(x),I(y)) -> c_10(-#(x,y)):6 -->_1 -#(I(x),O(y)) -> c_11(-#(x,y)):7 -->_1 -#(O(x),I(y)) -> c_12(-#(-(x,y),I(1())),-#(x,y)):8 -->_1 -#(O(x),O(y)) -> c_13(-#(x,y)):9 10:W:Log#(x) -> c_16(-#(Log'(x),I(0())),Log'#(x)) -->_1 -#(I(x),I(y)) -> c_10(-#(x,y)):6 -->_1 -#(O(x),I(y)) -> c_12(-#(-(x,y),I(1())),-#(x,y)):8 -->_2 Log'#(O(x)) -> c_19(ge#(x,I(0())),+#(Log'(x),I(0())),Log'#(x)):12 -->_2 Log'#(I(x)) -> c_18(+#(Log'(x),I(0())),Log'#(x)):11 11:W:Log'#(I(x)) -> c_18(+#(Log'(x),I(0())),Log'#(x)) -->_1 +#(I(x),I(y)) -> c_4(+#(+(x,y),I(0())),+#(x,y)):2 -->_1 +#(O(x),I(y)) -> c_6(+#(x,y)):4 -->_2 Log'#(O(x)) -> c_19(ge#(x,I(0())),+#(Log'(x),I(0())),Log'#(x)):12 -->_2 Log'#(I(x)) -> c_18(+#(Log'(x),I(0())),Log'#(x)):11 12:W:Log'#(O(x)) -> c_19(ge#(x,I(0())),+#(Log'(x),I(0())),Log'#(x)) -->_2 +#(I(x),I(y)) -> c_4(+#(+(x,y),I(0())),+#(x,y)):2 -->_2 +#(O(x),I(y)) -> c_6(+#(x,y)):4 -->_3 Log'#(I(x)) -> c_18(+#(Log'(x),I(0())),Log'#(x)):11 -->_1 ge#(O(x),I(y)) -> c_38(ge#(y,x)):16 -->_1 ge#(I(x),I(y)) -> c_36(ge#(x,y)):14 -->_3 Log'#(O(x)) -> c_19(ge#(x,I(0())),+#(Log'(x),I(0())),Log'#(x)):12 13:W:ge#(0(),O(x)) -> c_35(ge#(0(),x)) -->_1 ge#(0(),O(x)) -> c_35(ge#(0(),x)):13 14:W:ge#(I(x),I(y)) -> c_36(ge#(x,y)) -->_1 ge#(0(),O(x)) -> c_35(ge#(0(),x)):13 -->_1 ge#(O(x),O(y)) -> c_39(ge#(x,y)):17 -->_1 ge#(O(x),I(y)) -> c_38(ge#(y,x)):16 -->_1 ge#(I(x),O(y)) -> c_37(ge#(x,y)):15 -->_1 ge#(I(x),I(y)) -> c_36(ge#(x,y)):14 15:W:ge#(I(x),O(y)) -> c_37(ge#(x,y)) -->_1 ge#(0(),O(x)) -> c_35(ge#(0(),x)):13 -->_1 ge#(I(x),I(y)) -> c_36(ge#(x,y)):14 -->_1 ge#(O(x),O(y)) -> c_39(ge#(x,y)):17 -->_1 ge#(O(x),I(y)) -> c_38(ge#(y,x)):16 -->_1 ge#(I(x),O(y)) -> c_37(ge#(x,y)):15 16:W:ge#(O(x),I(y)) -> c_38(ge#(y,x)) -->_1 ge#(0(),O(x)) -> c_35(ge#(0(),x)):13 -->_1 ge#(I(x),I(y)) -> c_36(ge#(x,y)):14 -->_1 ge#(I(x),O(y)) -> c_37(ge#(x,y)):15 -->_1 ge#(O(x),O(y)) -> c_39(ge#(x,y)):17 -->_1 ge#(O(x),I(y)) -> c_38(ge#(y,x)):16 17:W:ge#(O(x),O(y)) -> c_39(ge#(x,y)) -->_1 ge#(0(),O(x)) -> c_35(ge#(0(),x)):13 -->_1 ge#(I(x),I(y)) -> c_36(ge#(x,y)):14 -->_1 ge#(I(x),O(y)) -> c_37(ge#(x,y)):15 -->_1 ge#(O(x),I(y)) -> c_38(ge#(y,x)):16 -->_1 ge#(O(x),O(y)) -> c_39(ge#(x,y)):17 The following weak DPs constitute a sub-graph of the DG that is closed under successors. The DPs are removed. 16: ge#(O(x),I(y)) -> c_38(ge#(y,x)) 17: ge#(O(x),O(y)) -> c_39(ge#(x,y)) 15: ge#(I(x),O(y)) -> c_37(ge#(x,y)) 14: ge#(I(x),I(y)) -> c_36(ge#(x,y)) 13: ge#(0(),O(x)) -> c_35(ge#(0(),x)) 6: -#(I(x),I(y)) -> c_10(-#(x,y)) 9: -#(O(x),O(y)) -> c_13(-#(x,y)) 8: -#(O(x),I(y)) -> c_12(-#(-(x,y),I(1())),-#(x,y)) 7: -#(I(x),O(y)) -> c_11(-#(x,y)) ** Step 8.a:2: SimplifyRHS WORST_CASE(?,O(n^2)) + Considered Problem: - Strict DPs: +#(x,+(y,z)) -> c_1(+#(+(x,y),z),+#(x,y)) +#(I(x),I(y)) -> c_4(+#(+(x,y),I(0())),+#(x,y)) +#(I(x),O(y)) -> c_5(+#(x,y)) +#(O(x),I(y)) -> c_6(+#(x,y)) +#(O(x),O(y)) -> c_7(+#(x,y)) - Weak DPs: Log#(x) -> c_16(-#(Log'(x),I(0())),Log'#(x)) Log'#(I(x)) -> c_18(+#(Log'(x),I(0())),Log'#(x)) Log'#(O(x)) -> c_19(ge#(x,I(0())),+#(Log'(x),I(0())),Log'#(x)) - Weak TRS: +(x,+(y,z)) -> +(+(x,y),z) +(x,0()) -> x +(0(),x) -> x +(I(x),I(y)) -> O(+(+(x,y),I(0()))) +(I(x),O(y)) -> I(+(x,y)) +(O(x),I(y)) -> I(+(x,y)) +(O(x),O(y)) -> O(+(x,y)) -(x,0()) -> x -(0(),x) -> 0() -(I(x),I(y)) -> O(-(x,y)) -(I(x),O(y)) -> I(-(x,y)) -(O(x),I(y)) -> I(-(-(x,y),I(1()))) -(O(x),O(y)) -> O(-(x,y)) Log'(0()) -> 0() Log'(I(x)) -> +(Log'(x),I(0())) Log'(O(x)) -> if(ge(x,I(0())),+(Log'(x),I(0())),0()) O(0()) -> 0() ge(x,0()) -> true() ge(0(),I(x)) -> false() ge(0(),O(x)) -> ge(0(),x) ge(I(x),I(y)) -> ge(x,y) ge(I(x),O(y)) -> ge(x,y) ge(O(x),I(y)) -> not(ge(y,x)) ge(O(x),O(y)) -> ge(x,y) if(false(),x,y) -> y if(true(),x,y) -> x not(false()) -> true() not(true()) -> false() - Signature: {+/2,-/2,BS/1,Log/1,Log'/1,Max/1,Min/1,O/1,Size/1,Val/1,WB/1,and/2,ge/2,if/3,not/1,+#/2,-#/2,BS#/1,Log#/1 ,Log'#/1,Max#/1,Min#/1,O#/1,Size#/1,Val#/1,WB#/1,and#/2,ge#/2,if#/3,not#/1} / {0/0,1/0,I/1,L/1,N/3,false/0 ,l/0,r/0,true/0,c_1/2,c_2/0,c_3/0,c_4/2,c_5/1,c_6/1,c_7/1,c_8/0,c_9/0,c_10/1,c_11/1,c_12/2,c_13/1,c_14/0 ,c_15/9,c_16/2,c_17/0,c_18/2,c_19/3,c_20/0,c_21/1,c_22/0,c_23/1,c_24/0,c_25/0,c_26/4,c_27/0,c_28/0,c_29/0 ,c_30/16,c_31/0,c_32/0,c_33/0,c_34/0,c_35/1,c_36/1,c_37/1,c_38/1,c_39/1,c_40/0,c_41/0,c_42/0,c_43/0} - Obligation: innermost runtime complexity wrt. defined symbols {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge# ,if#,not#} and constructors {0,1,I,L,N,false,l,r,true} + Applied Processor: SimplifyRHS + Details: Consider the dependency graph 1:S:+#(x,+(y,z)) -> c_1(+#(+(x,y),z),+#(x,y)) -->_2 +#(O(x),O(y)) -> c_7(+#(x,y)):5 -->_1 +#(O(x),O(y)) -> c_7(+#(x,y)):5 -->_2 +#(O(x),I(y)) -> c_6(+#(x,y)):4 -->_1 +#(O(x),I(y)) -> c_6(+#(x,y)):4 -->_2 +#(I(x),O(y)) -> c_5(+#(x,y)):3 -->_1 +#(I(x),O(y)) -> c_5(+#(x,y)):3 -->_2 +#(I(x),I(y)) -> c_4(+#(+(x,y),I(0())),+#(x,y)):2 -->_1 +#(I(x),I(y)) -> c_4(+#(+(x,y),I(0())),+#(x,y)):2 -->_2 +#(x,+(y,z)) -> c_1(+#(+(x,y),z),+#(x,y)):1 -->_1 +#(x,+(y,z)) -> c_1(+#(+(x,y),z),+#(x,y)):1 2:S:+#(I(x),I(y)) -> c_4(+#(+(x,y),I(0())),+#(x,y)) -->_2 +#(x,+(y,z)) -> c_1(+#(+(x,y),z),+#(x,y)):1 -->_2 +#(O(x),O(y)) -> c_7(+#(x,y)):5 -->_2 +#(O(x),I(y)) -> c_6(+#(x,y)):4 -->_1 +#(O(x),I(y)) -> c_6(+#(x,y)):4 -->_2 +#(I(x),O(y)) -> c_5(+#(x,y)):3 -->_2 +#(I(x),I(y)) -> c_4(+#(+(x,y),I(0())),+#(x,y)):2 -->_1 +#(I(x),I(y)) -> c_4(+#(+(x,y),I(0())),+#(x,y)):2 3:S:+#(I(x),O(y)) -> c_5(+#(x,y)) -->_1 +#(x,+(y,z)) -> c_1(+#(+(x,y),z),+#(x,y)):1 -->_1 +#(I(x),I(y)) -> c_4(+#(+(x,y),I(0())),+#(x,y)):2 -->_1 +#(O(x),O(y)) -> c_7(+#(x,y)):5 -->_1 +#(O(x),I(y)) -> c_6(+#(x,y)):4 -->_1 +#(I(x),O(y)) -> c_5(+#(x,y)):3 4:S:+#(O(x),I(y)) -> c_6(+#(x,y)) -->_1 +#(x,+(y,z)) -> c_1(+#(+(x,y),z),+#(x,y)):1 -->_1 +#(I(x),I(y)) -> c_4(+#(+(x,y),I(0())),+#(x,y)):2 -->_1 +#(I(x),O(y)) -> c_5(+#(x,y)):3 -->_1 +#(O(x),O(y)) -> c_7(+#(x,y)):5 -->_1 +#(O(x),I(y)) -> c_6(+#(x,y)):4 5:S:+#(O(x),O(y)) -> c_7(+#(x,y)) -->_1 +#(x,+(y,z)) -> c_1(+#(+(x,y),z),+#(x,y)):1 -->_1 +#(I(x),I(y)) -> c_4(+#(+(x,y),I(0())),+#(x,y)):2 -->_1 +#(I(x),O(y)) -> c_5(+#(x,y)):3 -->_1 +#(O(x),I(y)) -> c_6(+#(x,y)):4 -->_1 +#(O(x),O(y)) -> c_7(+#(x,y)):5 10:W:Log#(x) -> c_16(-#(Log'(x),I(0())),Log'#(x)) -->_2 Log'#(O(x)) -> c_19(ge#(x,I(0())),+#(Log'(x),I(0())),Log'#(x)):12 -->_2 Log'#(I(x)) -> c_18(+#(Log'(x),I(0())),Log'#(x)):11 11:W:Log'#(I(x)) -> c_18(+#(Log'(x),I(0())),Log'#(x)) -->_1 +#(I(x),I(y)) -> c_4(+#(+(x,y),I(0())),+#(x,y)):2 -->_1 +#(O(x),I(y)) -> c_6(+#(x,y)):4 -->_2 Log'#(O(x)) -> c_19(ge#(x,I(0())),+#(Log'(x),I(0())),Log'#(x)):12 -->_2 Log'#(I(x)) -> c_18(+#(Log'(x),I(0())),Log'#(x)):11 12:W:Log'#(O(x)) -> c_19(ge#(x,I(0())),+#(Log'(x),I(0())),Log'#(x)) -->_2 +#(I(x),I(y)) -> c_4(+#(+(x,y),I(0())),+#(x,y)):2 -->_2 +#(O(x),I(y)) -> c_6(+#(x,y)):4 -->_3 Log'#(I(x)) -> c_18(+#(Log'(x),I(0())),Log'#(x)):11 -->_3 Log'#(O(x)) -> c_19(ge#(x,I(0())),+#(Log'(x),I(0())),Log'#(x)):12 Due to missing edges in the depndency graph, the right-hand sides of following rules could be simplified: Log#(x) -> c_16(Log'#(x)) Log'#(O(x)) -> c_19(+#(Log'(x),I(0())),Log'#(x)) ** Step 8.a:3: UsableRules WORST_CASE(?,O(n^2)) + Considered Problem: - Strict DPs: +#(x,+(y,z)) -> c_1(+#(+(x,y),z),+#(x,y)) +#(I(x),I(y)) -> c_4(+#(+(x,y),I(0())),+#(x,y)) +#(I(x),O(y)) -> c_5(+#(x,y)) +#(O(x),I(y)) -> c_6(+#(x,y)) +#(O(x),O(y)) -> c_7(+#(x,y)) - Weak DPs: Log#(x) -> c_16(Log'#(x)) Log'#(I(x)) -> c_18(+#(Log'(x),I(0())),Log'#(x)) Log'#(O(x)) -> c_19(+#(Log'(x),I(0())),Log'#(x)) - Weak TRS: +(x,+(y,z)) -> +(+(x,y),z) +(x,0()) -> x +(0(),x) -> x +(I(x),I(y)) -> O(+(+(x,y),I(0()))) +(I(x),O(y)) -> I(+(x,y)) +(O(x),I(y)) -> I(+(x,y)) +(O(x),O(y)) -> O(+(x,y)) -(x,0()) -> x -(0(),x) -> 0() -(I(x),I(y)) -> O(-(x,y)) -(I(x),O(y)) -> I(-(x,y)) -(O(x),I(y)) -> I(-(-(x,y),I(1()))) -(O(x),O(y)) -> O(-(x,y)) Log'(0()) -> 0() Log'(I(x)) -> +(Log'(x),I(0())) Log'(O(x)) -> if(ge(x,I(0())),+(Log'(x),I(0())),0()) O(0()) -> 0() ge(x,0()) -> true() ge(0(),I(x)) -> false() ge(0(),O(x)) -> ge(0(),x) ge(I(x),I(y)) -> ge(x,y) ge(I(x),O(y)) -> ge(x,y) ge(O(x),I(y)) -> not(ge(y,x)) ge(O(x),O(y)) -> ge(x,y) if(false(),x,y) -> y if(true(),x,y) -> x not(false()) -> true() not(true()) -> false() - Signature: {+/2,-/2,BS/1,Log/1,Log'/1,Max/1,Min/1,O/1,Size/1,Val/1,WB/1,and/2,ge/2,if/3,not/1,+#/2,-#/2,BS#/1,Log#/1 ,Log'#/1,Max#/1,Min#/1,O#/1,Size#/1,Val#/1,WB#/1,and#/2,ge#/2,if#/3,not#/1} / {0/0,1/0,I/1,L/1,N/3,false/0 ,l/0,r/0,true/0,c_1/2,c_2/0,c_3/0,c_4/2,c_5/1,c_6/1,c_7/1,c_8/0,c_9/0,c_10/1,c_11/1,c_12/2,c_13/1,c_14/0 ,c_15/9,c_16/1,c_17/0,c_18/2,c_19/2,c_20/0,c_21/1,c_22/0,c_23/1,c_24/0,c_25/0,c_26/4,c_27/0,c_28/0,c_29/0 ,c_30/16,c_31/0,c_32/0,c_33/0,c_34/0,c_35/1,c_36/1,c_37/1,c_38/1,c_39/1,c_40/0,c_41/0,c_42/0,c_43/0} - Obligation: innermost runtime complexity wrt. defined symbols {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge# ,if#,not#} and constructors {0,1,I,L,N,false,l,r,true} + Applied Processor: UsableRules + Details: We replace rewrite rules by usable rules: +(x,+(y,z)) -> +(+(x,y),z) +(x,0()) -> x +(0(),x) -> x +(I(x),I(y)) -> O(+(+(x,y),I(0()))) +(I(x),O(y)) -> I(+(x,y)) +(O(x),I(y)) -> I(+(x,y)) +(O(x),O(y)) -> O(+(x,y)) Log'(0()) -> 0() Log'(I(x)) -> +(Log'(x),I(0())) Log'(O(x)) -> if(ge(x,I(0())),+(Log'(x),I(0())),0()) O(0()) -> 0() ge(x,0()) -> true() ge(0(),I(x)) -> false() ge(0(),O(x)) -> ge(0(),x) ge(I(x),I(y)) -> ge(x,y) ge(I(x),O(y)) -> ge(x,y) ge(O(x),I(y)) -> not(ge(y,x)) ge(O(x),O(y)) -> ge(x,y) if(false(),x,y) -> y if(true(),x,y) -> x not(false()) -> true() not(true()) -> false() +#(x,+(y,z)) -> c_1(+#(+(x,y),z),+#(x,y)) +#(I(x),I(y)) -> c_4(+#(+(x,y),I(0())),+#(x,y)) +#(I(x),O(y)) -> c_5(+#(x,y)) +#(O(x),I(y)) -> c_6(+#(x,y)) +#(O(x),O(y)) -> c_7(+#(x,y)) Log#(x) -> c_16(Log'#(x)) Log'#(I(x)) -> c_18(+#(Log'(x),I(0())),Log'#(x)) Log'#(O(x)) -> c_19(+#(Log'(x),I(0())),Log'#(x)) ** Step 8.a:4: PredecessorEstimationCP WORST_CASE(?,O(n^2)) + Considered Problem: - Strict DPs: +#(x,+(y,z)) -> c_1(+#(+(x,y),z),+#(x,y)) +#(I(x),I(y)) -> c_4(+#(+(x,y),I(0())),+#(x,y)) +#(I(x),O(y)) -> c_5(+#(x,y)) +#(O(x),I(y)) -> c_6(+#(x,y)) +#(O(x),O(y)) -> c_7(+#(x,y)) - Weak DPs: Log#(x) -> c_16(Log'#(x)) Log'#(I(x)) -> c_18(+#(Log'(x),I(0())),Log'#(x)) Log'#(O(x)) -> c_19(+#(Log'(x),I(0())),Log'#(x)) - Weak TRS: +(x,+(y,z)) -> +(+(x,y),z) +(x,0()) -> x +(0(),x) -> x +(I(x),I(y)) -> O(+(+(x,y),I(0()))) +(I(x),O(y)) -> I(+(x,y)) +(O(x),I(y)) -> I(+(x,y)) +(O(x),O(y)) -> O(+(x,y)) Log'(0()) -> 0() Log'(I(x)) -> +(Log'(x),I(0())) Log'(O(x)) -> if(ge(x,I(0())),+(Log'(x),I(0())),0()) O(0()) -> 0() ge(x,0()) -> true() ge(0(),I(x)) -> false() ge(0(),O(x)) -> ge(0(),x) ge(I(x),I(y)) -> ge(x,y) ge(I(x),O(y)) -> ge(x,y) ge(O(x),I(y)) -> not(ge(y,x)) ge(O(x),O(y)) -> ge(x,y) if(false(),x,y) -> y if(true(),x,y) -> x not(false()) -> true() not(true()) -> false() - Signature: {+/2,-/2,BS/1,Log/1,Log'/1,Max/1,Min/1,O/1,Size/1,Val/1,WB/1,and/2,ge/2,if/3,not/1,+#/2,-#/2,BS#/1,Log#/1 ,Log'#/1,Max#/1,Min#/1,O#/1,Size#/1,Val#/1,WB#/1,and#/2,ge#/2,if#/3,not#/1} / {0/0,1/0,I/1,L/1,N/3,false/0 ,l/0,r/0,true/0,c_1/2,c_2/0,c_3/0,c_4/2,c_5/1,c_6/1,c_7/1,c_8/0,c_9/0,c_10/1,c_11/1,c_12/2,c_13/1,c_14/0 ,c_15/9,c_16/1,c_17/0,c_18/2,c_19/2,c_20/0,c_21/1,c_22/0,c_23/1,c_24/0,c_25/0,c_26/4,c_27/0,c_28/0,c_29/0 ,c_30/16,c_31/0,c_32/0,c_33/0,c_34/0,c_35/1,c_36/1,c_37/1,c_38/1,c_39/1,c_40/0,c_41/0,c_42/0,c_43/0} - Obligation: innermost runtime complexity wrt. defined symbols {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge# ,if#,not#} and constructors {0,1,I,L,N,false,l,r,true} + Applied Processor: PredecessorEstimationCP {onSelectionCP = any intersect of rules of CDG leaf and strict-rules, withComplexityPair = NaturalMI {miDimension = 1, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Nothing}} + Details: We first use the processor NaturalMI {miDimension = 1, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Nothing} to orient following rules strictly: 1: +#(x,+(y,z)) -> c_1(+#(+(x,y),z),+#(x,y)) Consider the set of all dependency pairs 1: +#(x,+(y,z)) -> c_1(+#(+(x,y),z),+#(x,y)) 2: +#(I(x),I(y)) -> c_4(+#(+(x,y),I(0())),+#(x,y)) 3: +#(I(x),O(y)) -> c_5(+#(x,y)) 4: +#(O(x),I(y)) -> c_6(+#(x,y)) 5: +#(O(x),O(y)) -> c_7(+#(x,y)) 6: Log#(x) -> c_16(Log'#(x)) 7: Log'#(I(x)) -> c_18(+#(Log'(x),I(0())),Log'#(x)) 8: Log'#(O(x)) -> c_19(+#(Log'(x),I(0())),Log'#(x)) Processor NaturalMI {miDimension = 1, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Nothing}induces the complexity certificateTIME (?,O(n^1)) SPACE(?,?)on application of the dependency pairs {1} These cover all (indirect) predecessors of dependency pairs {1,6} their number of applications is equally bounded. The dependency pairs are shifted into the weak component. *** Step 8.a:4.a:1: NaturalMI WORST_CASE(?,O(n^1)) + Considered Problem: - Strict DPs: +#(x,+(y,z)) -> c_1(+#(+(x,y),z),+#(x,y)) +#(I(x),I(y)) -> c_4(+#(+(x,y),I(0())),+#(x,y)) +#(I(x),O(y)) -> c_5(+#(x,y)) +#(O(x),I(y)) -> c_6(+#(x,y)) +#(O(x),O(y)) -> c_7(+#(x,y)) - Weak DPs: Log#(x) -> c_16(Log'#(x)) Log'#(I(x)) -> c_18(+#(Log'(x),I(0())),Log'#(x)) Log'#(O(x)) -> c_19(+#(Log'(x),I(0())),Log'#(x)) - Weak TRS: +(x,+(y,z)) -> +(+(x,y),z) +(x,0()) -> x +(0(),x) -> x +(I(x),I(y)) -> O(+(+(x,y),I(0()))) +(I(x),O(y)) -> I(+(x,y)) +(O(x),I(y)) -> I(+(x,y)) +(O(x),O(y)) -> O(+(x,y)) Log'(0()) -> 0() Log'(I(x)) -> +(Log'(x),I(0())) Log'(O(x)) -> if(ge(x,I(0())),+(Log'(x),I(0())),0()) O(0()) -> 0() ge(x,0()) -> true() ge(0(),I(x)) -> false() ge(0(),O(x)) -> ge(0(),x) ge(I(x),I(y)) -> ge(x,y) ge(I(x),O(y)) -> ge(x,y) ge(O(x),I(y)) -> not(ge(y,x)) ge(O(x),O(y)) -> ge(x,y) if(false(),x,y) -> y if(true(),x,y) -> x not(false()) -> true() not(true()) -> false() - Signature: {+/2,-/2,BS/1,Log/1,Log'/1,Max/1,Min/1,O/1,Size/1,Val/1,WB/1,and/2,ge/2,if/3,not/1,+#/2,-#/2,BS#/1,Log#/1 ,Log'#/1,Max#/1,Min#/1,O#/1,Size#/1,Val#/1,WB#/1,and#/2,ge#/2,if#/3,not#/1} / {0/0,1/0,I/1,L/1,N/3,false/0 ,l/0,r/0,true/0,c_1/2,c_2/0,c_3/0,c_4/2,c_5/1,c_6/1,c_7/1,c_8/0,c_9/0,c_10/1,c_11/1,c_12/2,c_13/1,c_14/0 ,c_15/9,c_16/1,c_17/0,c_18/2,c_19/2,c_20/0,c_21/1,c_22/0,c_23/1,c_24/0,c_25/0,c_26/4,c_27/0,c_28/0,c_29/0 ,c_30/16,c_31/0,c_32/0,c_33/0,c_34/0,c_35/1,c_36/1,c_37/1,c_38/1,c_39/1,c_40/0,c_41/0,c_42/0,c_43/0} - Obligation: innermost runtime complexity wrt. defined symbols {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge# ,if#,not#} and constructors {0,1,I,L,N,false,l,r,true} + Applied Processor: NaturalMI {miDimension = 1, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Just first alternative for predecessorEstimation on any intersect of rules of CDG leaf and strict-rules} + Details: We apply a matrix interpretation of kind constructor based matrix interpretation: The following argument positions are considered usable: uargs(c_1) = {1,2}, uargs(c_4) = {1,2}, uargs(c_5) = {1}, uargs(c_6) = {1}, uargs(c_7) = {1}, uargs(c_16) = {1}, uargs(c_18) = {1,2}, uargs(c_19) = {1,2} Following symbols are considered usable: {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge#,if#,not#} TcT has computed the following interpretation: p(+) = [2] x1 + [3] x2 + [1] p(-) = [0] p(0) = [0] p(1) = [0] p(BS) = [0] p(I) = [1] x1 + [0] p(L) = [1] x1 + [0] p(Log) = [0] p(Log') = [0] p(Max) = [0] p(Min) = [0] p(N) = [1] x1 + [1] x2 + [1] x3 + [0] p(O) = [2] x1 + [0] p(Size) = [0] p(Val) = [0] p(WB) = [0] p(and) = [0] p(false) = [0] p(ge) = [2] p(if) = [0] p(l) = [0] p(not) = [6] x1 + [0] p(r) = [0] p(true) = [0] p(+#) = [4] x2 + [0] p(-#) = [0] p(BS#) = [0] p(Log#) = [4] x1 + [0] p(Log'#) = [4] x1 + [0] p(Max#) = [0] p(Min#) = [0] p(O#) = [0] p(Size#) = [0] p(Val#) = [0] p(WB#) = [0] p(and#) = [0] p(ge#) = [0] p(if#) = [0] p(not#) = [0] p(c_1) = [3] x1 + [1] x2 + [0] p(c_2) = [0] p(c_3) = [1] p(c_4) = [1] x1 + [1] x2 + [0] p(c_5) = [1] x1 + [0] p(c_6) = [1] x1 + [0] p(c_7) = [1] x1 + [0] p(c_8) = [0] p(c_9) = [0] p(c_10) = [1] x1 + [0] p(c_11) = [0] p(c_12) = [2] x2 + [0] p(c_13) = [1] x1 + [0] p(c_14) = [0] p(c_15) = [1] x3 + [1] x5 + [1] x6 + [1] x9 + [0] p(c_16) = [1] x1 + [0] p(c_17) = [0] p(c_18) = [1] x1 + [1] x2 + [0] p(c_19) = [1] x1 + [1] x2 + [0] p(c_20) = [1] p(c_21) = [1] p(c_22) = [0] p(c_23) = [4] x1 + [0] p(c_24) = [2] p(c_25) = [4] p(c_26) = [1] x3 + [4] x4 + [0] p(c_27) = [0] p(c_28) = [0] p(c_29) = [0] p(c_30) = [1] x3 + [1] x6 + [2] x7 + [1] x8 + [1] x10 + [1] x13 + [4] x15 + [1] p(c_31) = [1] p(c_32) = [1] p(c_33) = [0] p(c_34) = [1] p(c_35) = [1] p(c_36) = [1] x1 + [0] p(c_37) = [1] p(c_38) = [0] p(c_39) = [4] x1 + [4] p(c_40) = [2] p(c_41) = [4] p(c_42) = [1] p(c_43) = [4] Following rules are strictly oriented: +#(x,+(y,z)) = [8] y + [12] z + [4] > [4] y + [12] z + [0] = c_1(+#(+(x,y),z),+#(x,y)) Following rules are (at-least) weakly oriented: +#(I(x),I(y)) = [4] y + [0] >= [4] y + [0] = c_4(+#(+(x,y),I(0())),+#(x,y)) +#(I(x),O(y)) = [8] y + [0] >= [4] y + [0] = c_5(+#(x,y)) +#(O(x),I(y)) = [4] y + [0] >= [4] y + [0] = c_6(+#(x,y)) +#(O(x),O(y)) = [8] y + [0] >= [4] y + [0] = c_7(+#(x,y)) Log#(x) = [4] x + [0] >= [4] x + [0] = c_16(Log'#(x)) Log'#(I(x)) = [4] x + [0] >= [4] x + [0] = c_18(+#(Log'(x),I(0())),Log'#(x)) Log'#(O(x)) = [8] x + [0] >= [4] x + [0] = c_19(+#(Log'(x),I(0())),Log'#(x)) *** Step 8.a:4.a:2: Assumption WORST_CASE(?,O(1)) + Considered Problem: - Strict DPs: +#(I(x),I(y)) -> c_4(+#(+(x,y),I(0())),+#(x,y)) +#(I(x),O(y)) -> c_5(+#(x,y)) +#(O(x),I(y)) -> c_6(+#(x,y)) +#(O(x),O(y)) -> c_7(+#(x,y)) - Weak DPs: +#(x,+(y,z)) -> c_1(+#(+(x,y),z),+#(x,y)) Log#(x) -> c_16(Log'#(x)) Log'#(I(x)) -> c_18(+#(Log'(x),I(0())),Log'#(x)) Log'#(O(x)) -> c_19(+#(Log'(x),I(0())),Log'#(x)) - Weak TRS: +(x,+(y,z)) -> +(+(x,y),z) +(x,0()) -> x +(0(),x) -> x +(I(x),I(y)) -> O(+(+(x,y),I(0()))) +(I(x),O(y)) -> I(+(x,y)) +(O(x),I(y)) -> I(+(x,y)) +(O(x),O(y)) -> O(+(x,y)) Log'(0()) -> 0() Log'(I(x)) -> +(Log'(x),I(0())) Log'(O(x)) -> if(ge(x,I(0())),+(Log'(x),I(0())),0()) O(0()) -> 0() ge(x,0()) -> true() ge(0(),I(x)) -> false() ge(0(),O(x)) -> ge(0(),x) ge(I(x),I(y)) -> ge(x,y) ge(I(x),O(y)) -> ge(x,y) ge(O(x),I(y)) -> not(ge(y,x)) ge(O(x),O(y)) -> ge(x,y) if(false(),x,y) -> y if(true(),x,y) -> x not(false()) -> true() not(true()) -> false() - Signature: {+/2,-/2,BS/1,Log/1,Log'/1,Max/1,Min/1,O/1,Size/1,Val/1,WB/1,and/2,ge/2,if/3,not/1,+#/2,-#/2,BS#/1,Log#/1 ,Log'#/1,Max#/1,Min#/1,O#/1,Size#/1,Val#/1,WB#/1,and#/2,ge#/2,if#/3,not#/1} / {0/0,1/0,I/1,L/1,N/3,false/0 ,l/0,r/0,true/0,c_1/2,c_2/0,c_3/0,c_4/2,c_5/1,c_6/1,c_7/1,c_8/0,c_9/0,c_10/1,c_11/1,c_12/2,c_13/1,c_14/0 ,c_15/9,c_16/1,c_17/0,c_18/2,c_19/2,c_20/0,c_21/1,c_22/0,c_23/1,c_24/0,c_25/0,c_26/4,c_27/0,c_28/0,c_29/0 ,c_30/16,c_31/0,c_32/0,c_33/0,c_34/0,c_35/1,c_36/1,c_37/1,c_38/1,c_39/1,c_40/0,c_41/0,c_42/0,c_43/0} - Obligation: innermost runtime complexity wrt. defined symbols {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge# ,if#,not#} and constructors {0,1,I,L,N,false,l,r,true} + Applied Processor: Assumption {assumed = Certificate {spaceUB = Unknown, spaceLB = Unknown, timeUB = Poly (Just 0), timeLB = Unknown}} + Details: () *** Step 8.a:4.b:1: PredecessorEstimationCP WORST_CASE(?,O(n^2)) + Considered Problem: - Strict DPs: +#(I(x),I(y)) -> c_4(+#(+(x,y),I(0())),+#(x,y)) +#(I(x),O(y)) -> c_5(+#(x,y)) +#(O(x),I(y)) -> c_6(+#(x,y)) +#(O(x),O(y)) -> c_7(+#(x,y)) - Weak DPs: +#(x,+(y,z)) -> c_1(+#(+(x,y),z),+#(x,y)) Log#(x) -> c_16(Log'#(x)) Log'#(I(x)) -> c_18(+#(Log'(x),I(0())),Log'#(x)) Log'#(O(x)) -> c_19(+#(Log'(x),I(0())),Log'#(x)) - Weak TRS: +(x,+(y,z)) -> +(+(x,y),z) +(x,0()) -> x +(0(),x) -> x +(I(x),I(y)) -> O(+(+(x,y),I(0()))) +(I(x),O(y)) -> I(+(x,y)) +(O(x),I(y)) -> I(+(x,y)) +(O(x),O(y)) -> O(+(x,y)) Log'(0()) -> 0() Log'(I(x)) -> +(Log'(x),I(0())) Log'(O(x)) -> if(ge(x,I(0())),+(Log'(x),I(0())),0()) O(0()) -> 0() ge(x,0()) -> true() ge(0(),I(x)) -> false() ge(0(),O(x)) -> ge(0(),x) ge(I(x),I(y)) -> ge(x,y) ge(I(x),O(y)) -> ge(x,y) ge(O(x),I(y)) -> not(ge(y,x)) ge(O(x),O(y)) -> ge(x,y) if(false(),x,y) -> y if(true(),x,y) -> x not(false()) -> true() not(true()) -> false() - Signature: {+/2,-/2,BS/1,Log/1,Log'/1,Max/1,Min/1,O/1,Size/1,Val/1,WB/1,and/2,ge/2,if/3,not/1,+#/2,-#/2,BS#/1,Log#/1 ,Log'#/1,Max#/1,Min#/1,O#/1,Size#/1,Val#/1,WB#/1,and#/2,ge#/2,if#/3,not#/1} / {0/0,1/0,I/1,L/1,N/3,false/0 ,l/0,r/0,true/0,c_1/2,c_2/0,c_3/0,c_4/2,c_5/1,c_6/1,c_7/1,c_8/0,c_9/0,c_10/1,c_11/1,c_12/2,c_13/1,c_14/0 ,c_15/9,c_16/1,c_17/0,c_18/2,c_19/2,c_20/0,c_21/1,c_22/0,c_23/1,c_24/0,c_25/0,c_26/4,c_27/0,c_28/0,c_29/0 ,c_30/16,c_31/0,c_32/0,c_33/0,c_34/0,c_35/1,c_36/1,c_37/1,c_38/1,c_39/1,c_40/0,c_41/0,c_42/0,c_43/0} - Obligation: innermost runtime complexity wrt. defined symbols {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge# ,if#,not#} and constructors {0,1,I,L,N,false,l,r,true} + Applied Processor: PredecessorEstimationCP {onSelectionCP = any intersect of rules of CDG leaf and strict-rules, withComplexityPair = NaturalMI {miDimension = 1, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Nothing}} + Details: We first use the processor NaturalMI {miDimension = 1, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Nothing} to orient following rules strictly: 2: +#(I(x),O(y)) -> c_5(+#(x,y)) Consider the set of all dependency pairs 1: +#(I(x),I(y)) -> c_4(+#(+(x,y),I(0())),+#(x,y)) 2: +#(I(x),O(y)) -> c_5(+#(x,y)) 3: +#(O(x),I(y)) -> c_6(+#(x,y)) 4: +#(O(x),O(y)) -> c_7(+#(x,y)) 5: +#(x,+(y,z)) -> c_1(+#(+(x,y),z),+#(x,y)) 6: Log#(x) -> c_16(Log'#(x)) 7: Log'#(I(x)) -> c_18(+#(Log'(x),I(0())),Log'#(x)) 8: Log'#(O(x)) -> c_19(+#(Log'(x),I(0())),Log'#(x)) Processor NaturalMI {miDimension = 1, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Nothing}induces the complexity certificateTIME (?,O(n^1)) SPACE(?,?)on application of the dependency pairs {2} These cover all (indirect) predecessors of dependency pairs {2,6} their number of applications is equally bounded. The dependency pairs are shifted into the weak component. **** Step 8.a:4.b:1.a:1: NaturalMI WORST_CASE(?,O(n^1)) + Considered Problem: - Strict DPs: +#(I(x),I(y)) -> c_4(+#(+(x,y),I(0())),+#(x,y)) +#(I(x),O(y)) -> c_5(+#(x,y)) +#(O(x),I(y)) -> c_6(+#(x,y)) +#(O(x),O(y)) -> c_7(+#(x,y)) - Weak DPs: +#(x,+(y,z)) -> c_1(+#(+(x,y),z),+#(x,y)) Log#(x) -> c_16(Log'#(x)) Log'#(I(x)) -> c_18(+#(Log'(x),I(0())),Log'#(x)) Log'#(O(x)) -> c_19(+#(Log'(x),I(0())),Log'#(x)) - Weak TRS: +(x,+(y,z)) -> +(+(x,y),z) +(x,0()) -> x +(0(),x) -> x +(I(x),I(y)) -> O(+(+(x,y),I(0()))) +(I(x),O(y)) -> I(+(x,y)) +(O(x),I(y)) -> I(+(x,y)) +(O(x),O(y)) -> O(+(x,y)) Log'(0()) -> 0() Log'(I(x)) -> +(Log'(x),I(0())) Log'(O(x)) -> if(ge(x,I(0())),+(Log'(x),I(0())),0()) O(0()) -> 0() ge(x,0()) -> true() ge(0(),I(x)) -> false() ge(0(),O(x)) -> ge(0(),x) ge(I(x),I(y)) -> ge(x,y) ge(I(x),O(y)) -> ge(x,y) ge(O(x),I(y)) -> not(ge(y,x)) ge(O(x),O(y)) -> ge(x,y) if(false(),x,y) -> y if(true(),x,y) -> x not(false()) -> true() not(true()) -> false() - Signature: {+/2,-/2,BS/1,Log/1,Log'/1,Max/1,Min/1,O/1,Size/1,Val/1,WB/1,and/2,ge/2,if/3,not/1,+#/2,-#/2,BS#/1,Log#/1 ,Log'#/1,Max#/1,Min#/1,O#/1,Size#/1,Val#/1,WB#/1,and#/2,ge#/2,if#/3,not#/1} / {0/0,1/0,I/1,L/1,N/3,false/0 ,l/0,r/0,true/0,c_1/2,c_2/0,c_3/0,c_4/2,c_5/1,c_6/1,c_7/1,c_8/0,c_9/0,c_10/1,c_11/1,c_12/2,c_13/1,c_14/0 ,c_15/9,c_16/1,c_17/0,c_18/2,c_19/2,c_20/0,c_21/1,c_22/0,c_23/1,c_24/0,c_25/0,c_26/4,c_27/0,c_28/0,c_29/0 ,c_30/16,c_31/0,c_32/0,c_33/0,c_34/0,c_35/1,c_36/1,c_37/1,c_38/1,c_39/1,c_40/0,c_41/0,c_42/0,c_43/0} - Obligation: innermost runtime complexity wrt. defined symbols {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge# ,if#,not#} and constructors {0,1,I,L,N,false,l,r,true} + Applied Processor: NaturalMI {miDimension = 1, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Just first alternative for predecessorEstimation on any intersect of rules of CDG leaf and strict-rules} + Details: We apply a matrix interpretation of kind constructor based matrix interpretation: The following argument positions are considered usable: uargs(c_1) = {1,2}, uargs(c_4) = {1,2}, uargs(c_5) = {1}, uargs(c_6) = {1}, uargs(c_7) = {1}, uargs(c_16) = {1}, uargs(c_18) = {1,2}, uargs(c_19) = {1,2} Following symbols are considered usable: {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge#,if#,not#} TcT has computed the following interpretation: p(+) = [2] x1 + [2] x2 + [0] p(-) = [0] p(0) = [0] p(1) = [0] p(BS) = [0] p(I) = [1] x1 + [0] p(L) = [1] x1 + [0] p(Log) = [0] p(Log') = [0] p(Max) = [0] p(Min) = [0] p(N) = [1] x1 + [1] x2 + [1] x3 + [0] p(O) = [2] x1 + [1] p(Size) = [0] p(Val) = [0] p(WB) = [0] p(and) = [0] p(false) = [2] p(ge) = [5] p(if) = [2] p(l) = [0] p(not) = [1] x1 + [0] p(r) = [0] p(true) = [4] p(+#) = [4] x2 + [0] p(-#) = [0] p(BS#) = [0] p(Log#) = [0] p(Log'#) = [0] p(Max#) = [0] p(Min#) = [0] p(O#) = [0] p(Size#) = [0] p(Val#) = [0] p(WB#) = [0] p(and#) = [0] p(ge#) = [0] p(if#) = [0] p(not#) = [1] x1 + [0] p(c_1) = [2] x1 + [1] x2 + [0] p(c_2) = [0] p(c_3) = [0] p(c_4) = [4] x1 + [1] x2 + [0] p(c_5) = [2] x1 + [0] p(c_6) = [1] x1 + [0] p(c_7) = [2] x1 + [4] p(c_8) = [0] p(c_9) = [0] p(c_10) = [0] p(c_11) = [0] p(c_12) = [0] p(c_13) = [0] p(c_14) = [0] p(c_15) = [0] p(c_16) = [2] x1 + [0] p(c_17) = [0] p(c_18) = [1] x1 + [4] x2 + [0] p(c_19) = [4] x1 + [1] x2 + [0] p(c_20) = [0] p(c_21) = [1] x1 + [0] p(c_22) = [0] p(c_23) = [0] p(c_24) = [0] p(c_25) = [0] p(c_26) = [4] x4 + [0] p(c_27) = [0] p(c_28) = [0] p(c_29) = [0] p(c_30) = [1] x1 + [1] x4 + [2] x5 + [1] x8 + [1] x10 + [2] x15 + [1] x16 + [0] p(c_31) = [0] p(c_32) = [0] p(c_33) = [0] p(c_34) = [0] p(c_35) = [1] x1 + [0] p(c_36) = [2] x1 + [0] p(c_37) = [0] p(c_38) = [0] p(c_39) = [1] x1 + [0] p(c_40) = [0] p(c_41) = [0] p(c_42) = [0] p(c_43) = [0] Following rules are strictly oriented: +#(I(x),O(y)) = [8] y + [4] > [8] y + [0] = c_5(+#(x,y)) Following rules are (at-least) weakly oriented: +#(x,+(y,z)) = [8] y + [8] z + [0] >= [4] y + [8] z + [0] = c_1(+#(+(x,y),z),+#(x,y)) +#(I(x),I(y)) = [4] y + [0] >= [4] y + [0] = c_4(+#(+(x,y),I(0())),+#(x,y)) +#(O(x),I(y)) = [4] y + [0] >= [4] y + [0] = c_6(+#(x,y)) +#(O(x),O(y)) = [8] y + [4] >= [8] y + [4] = c_7(+#(x,y)) Log#(x) = [0] >= [0] = c_16(Log'#(x)) Log'#(I(x)) = [0] >= [0] = c_18(+#(Log'(x),I(0())),Log'#(x)) Log'#(O(x)) = [0] >= [0] = c_19(+#(Log'(x),I(0())),Log'#(x)) **** Step 8.a:4.b:1.a:2: Assumption WORST_CASE(?,O(1)) + Considered Problem: - Strict DPs: +#(I(x),I(y)) -> c_4(+#(+(x,y),I(0())),+#(x,y)) +#(O(x),I(y)) -> c_6(+#(x,y)) +#(O(x),O(y)) -> c_7(+#(x,y)) - Weak DPs: +#(x,+(y,z)) -> c_1(+#(+(x,y),z),+#(x,y)) +#(I(x),O(y)) -> c_5(+#(x,y)) Log#(x) -> c_16(Log'#(x)) Log'#(I(x)) -> c_18(+#(Log'(x),I(0())),Log'#(x)) Log'#(O(x)) -> c_19(+#(Log'(x),I(0())),Log'#(x)) - Weak TRS: +(x,+(y,z)) -> +(+(x,y),z) +(x,0()) -> x +(0(),x) -> x +(I(x),I(y)) -> O(+(+(x,y),I(0()))) +(I(x),O(y)) -> I(+(x,y)) +(O(x),I(y)) -> I(+(x,y)) +(O(x),O(y)) -> O(+(x,y)) Log'(0()) -> 0() Log'(I(x)) -> +(Log'(x),I(0())) Log'(O(x)) -> if(ge(x,I(0())),+(Log'(x),I(0())),0()) O(0()) -> 0() ge(x,0()) -> true() ge(0(),I(x)) -> false() ge(0(),O(x)) -> ge(0(),x) ge(I(x),I(y)) -> ge(x,y) ge(I(x),O(y)) -> ge(x,y) ge(O(x),I(y)) -> not(ge(y,x)) ge(O(x),O(y)) -> ge(x,y) if(false(),x,y) -> y if(true(),x,y) -> x not(false()) -> true() not(true()) -> false() - Signature: {+/2,-/2,BS/1,Log/1,Log'/1,Max/1,Min/1,O/1,Size/1,Val/1,WB/1,and/2,ge/2,if/3,not/1,+#/2,-#/2,BS#/1,Log#/1 ,Log'#/1,Max#/1,Min#/1,O#/1,Size#/1,Val#/1,WB#/1,and#/2,ge#/2,if#/3,not#/1} / {0/0,1/0,I/1,L/1,N/3,false/0 ,l/0,r/0,true/0,c_1/2,c_2/0,c_3/0,c_4/2,c_5/1,c_6/1,c_7/1,c_8/0,c_9/0,c_10/1,c_11/1,c_12/2,c_13/1,c_14/0 ,c_15/9,c_16/1,c_17/0,c_18/2,c_19/2,c_20/0,c_21/1,c_22/0,c_23/1,c_24/0,c_25/0,c_26/4,c_27/0,c_28/0,c_29/0 ,c_30/16,c_31/0,c_32/0,c_33/0,c_34/0,c_35/1,c_36/1,c_37/1,c_38/1,c_39/1,c_40/0,c_41/0,c_42/0,c_43/0} - Obligation: innermost runtime complexity wrt. defined symbols {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge# ,if#,not#} and constructors {0,1,I,L,N,false,l,r,true} + Applied Processor: Assumption {assumed = Certificate {spaceUB = Unknown, spaceLB = Unknown, timeUB = Poly (Just 0), timeLB = Unknown}} + Details: () **** Step 8.a:4.b:1.b:1: PredecessorEstimationCP WORST_CASE(?,O(n^2)) + Considered Problem: - Strict DPs: +#(I(x),I(y)) -> c_4(+#(+(x,y),I(0())),+#(x,y)) +#(O(x),I(y)) -> c_6(+#(x,y)) +#(O(x),O(y)) -> c_7(+#(x,y)) - Weak DPs: +#(x,+(y,z)) -> c_1(+#(+(x,y),z),+#(x,y)) +#(I(x),O(y)) -> c_5(+#(x,y)) Log#(x) -> c_16(Log'#(x)) Log'#(I(x)) -> c_18(+#(Log'(x),I(0())),Log'#(x)) Log'#(O(x)) -> c_19(+#(Log'(x),I(0())),Log'#(x)) - Weak TRS: +(x,+(y,z)) -> +(+(x,y),z) +(x,0()) -> x +(0(),x) -> x +(I(x),I(y)) -> O(+(+(x,y),I(0()))) +(I(x),O(y)) -> I(+(x,y)) +(O(x),I(y)) -> I(+(x,y)) +(O(x),O(y)) -> O(+(x,y)) Log'(0()) -> 0() Log'(I(x)) -> +(Log'(x),I(0())) Log'(O(x)) -> if(ge(x,I(0())),+(Log'(x),I(0())),0()) O(0()) -> 0() ge(x,0()) -> true() ge(0(),I(x)) -> false() ge(0(),O(x)) -> ge(0(),x) ge(I(x),I(y)) -> ge(x,y) ge(I(x),O(y)) -> ge(x,y) ge(O(x),I(y)) -> not(ge(y,x)) ge(O(x),O(y)) -> ge(x,y) if(false(),x,y) -> y if(true(),x,y) -> x not(false()) -> true() not(true()) -> false() - Signature: {+/2,-/2,BS/1,Log/1,Log'/1,Max/1,Min/1,O/1,Size/1,Val/1,WB/1,and/2,ge/2,if/3,not/1,+#/2,-#/2,BS#/1,Log#/1 ,Log'#/1,Max#/1,Min#/1,O#/1,Size#/1,Val#/1,WB#/1,and#/2,ge#/2,if#/3,not#/1} / {0/0,1/0,I/1,L/1,N/3,false/0 ,l/0,r/0,true/0,c_1/2,c_2/0,c_3/0,c_4/2,c_5/1,c_6/1,c_7/1,c_8/0,c_9/0,c_10/1,c_11/1,c_12/2,c_13/1,c_14/0 ,c_15/9,c_16/1,c_17/0,c_18/2,c_19/2,c_20/0,c_21/1,c_22/0,c_23/1,c_24/0,c_25/0,c_26/4,c_27/0,c_28/0,c_29/0 ,c_30/16,c_31/0,c_32/0,c_33/0,c_34/0,c_35/1,c_36/1,c_37/1,c_38/1,c_39/1,c_40/0,c_41/0,c_42/0,c_43/0} - Obligation: innermost runtime complexity wrt. defined symbols {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge# ,if#,not#} and constructors {0,1,I,L,N,false,l,r,true} + Applied Processor: PredecessorEstimationCP {onSelectionCP = any intersect of rules of CDG leaf and strict-rules, withComplexityPair = NaturalMI {miDimension = 1, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Nothing}} + Details: We first use the processor NaturalMI {miDimension = 1, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Nothing} to orient following rules strictly: 3: +#(O(x),O(y)) -> c_7(+#(x,y)) Consider the set of all dependency pairs 1: +#(I(x),I(y)) -> c_4(+#(+(x,y),I(0())),+#(x,y)) 2: +#(O(x),I(y)) -> c_6(+#(x,y)) 3: +#(O(x),O(y)) -> c_7(+#(x,y)) 4: +#(x,+(y,z)) -> c_1(+#(+(x,y),z),+#(x,y)) 5: +#(I(x),O(y)) -> c_5(+#(x,y)) 6: Log#(x) -> c_16(Log'#(x)) 7: Log'#(I(x)) -> c_18(+#(Log'(x),I(0())),Log'#(x)) 8: Log'#(O(x)) -> c_19(+#(Log'(x),I(0())),Log'#(x)) Processor NaturalMI {miDimension = 1, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Nothing}induces the complexity certificateTIME (?,O(n^1)) SPACE(?,?)on application of the dependency pairs {3} These cover all (indirect) predecessors of dependency pairs {3,6} their number of applications is equally bounded. The dependency pairs are shifted into the weak component. ***** Step 8.a:4.b:1.b:1.a:1: NaturalMI WORST_CASE(?,O(n^1)) + Considered Problem: - Strict DPs: +#(I(x),I(y)) -> c_4(+#(+(x,y),I(0())),+#(x,y)) +#(O(x),I(y)) -> c_6(+#(x,y)) +#(O(x),O(y)) -> c_7(+#(x,y)) - Weak DPs: +#(x,+(y,z)) -> c_1(+#(+(x,y),z),+#(x,y)) +#(I(x),O(y)) -> c_5(+#(x,y)) Log#(x) -> c_16(Log'#(x)) Log'#(I(x)) -> c_18(+#(Log'(x),I(0())),Log'#(x)) Log'#(O(x)) -> c_19(+#(Log'(x),I(0())),Log'#(x)) - Weak TRS: +(x,+(y,z)) -> +(+(x,y),z) +(x,0()) -> x +(0(),x) -> x +(I(x),I(y)) -> O(+(+(x,y),I(0()))) +(I(x),O(y)) -> I(+(x,y)) +(O(x),I(y)) -> I(+(x,y)) +(O(x),O(y)) -> O(+(x,y)) Log'(0()) -> 0() Log'(I(x)) -> +(Log'(x),I(0())) Log'(O(x)) -> if(ge(x,I(0())),+(Log'(x),I(0())),0()) O(0()) -> 0() ge(x,0()) -> true() ge(0(),I(x)) -> false() ge(0(),O(x)) -> ge(0(),x) ge(I(x),I(y)) -> ge(x,y) ge(I(x),O(y)) -> ge(x,y) ge(O(x),I(y)) -> not(ge(y,x)) ge(O(x),O(y)) -> ge(x,y) if(false(),x,y) -> y if(true(),x,y) -> x not(false()) -> true() not(true()) -> false() - Signature: {+/2,-/2,BS/1,Log/1,Log'/1,Max/1,Min/1,O/1,Size/1,Val/1,WB/1,and/2,ge/2,if/3,not/1,+#/2,-#/2,BS#/1,Log#/1 ,Log'#/1,Max#/1,Min#/1,O#/1,Size#/1,Val#/1,WB#/1,and#/2,ge#/2,if#/3,not#/1} / {0/0,1/0,I/1,L/1,N/3,false/0 ,l/0,r/0,true/0,c_1/2,c_2/0,c_3/0,c_4/2,c_5/1,c_6/1,c_7/1,c_8/0,c_9/0,c_10/1,c_11/1,c_12/2,c_13/1,c_14/0 ,c_15/9,c_16/1,c_17/0,c_18/2,c_19/2,c_20/0,c_21/1,c_22/0,c_23/1,c_24/0,c_25/0,c_26/4,c_27/0,c_28/0,c_29/0 ,c_30/16,c_31/0,c_32/0,c_33/0,c_34/0,c_35/1,c_36/1,c_37/1,c_38/1,c_39/1,c_40/0,c_41/0,c_42/0,c_43/0} - Obligation: innermost runtime complexity wrt. defined symbols {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge# ,if#,not#} and constructors {0,1,I,L,N,false,l,r,true} + Applied Processor: NaturalMI {miDimension = 1, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Just first alternative for predecessorEstimation on any intersect of rules of CDG leaf and strict-rules} + Details: We apply a matrix interpretation of kind constructor based matrix interpretation: The following argument positions are considered usable: uargs(c_1) = {1,2}, uargs(c_4) = {1,2}, uargs(c_5) = {1}, uargs(c_6) = {1}, uargs(c_7) = {1}, uargs(c_16) = {1}, uargs(c_18) = {1,2}, uargs(c_19) = {1,2} Following symbols are considered usable: {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge#,if#,not#} TcT has computed the following interpretation: p(+) = [1] x1 + [2] x2 + [0] p(-) = [0] p(0) = [0] p(1) = [0] p(BS) = [0] p(I) = [1] x1 + [0] p(L) = [1] x1 + [0] p(Log) = [0] p(Log') = [0] p(Max) = [0] p(Min) = [0] p(N) = [1] x1 + [1] x2 + [1] x3 + [0] p(O) = [2] x1 + [1] p(Size) = [0] p(Val) = [0] p(WB) = [0] p(and) = [0] p(false) = [0] p(ge) = [0] p(if) = [0] p(l) = [0] p(not) = [0] p(r) = [2] p(true) = [0] p(+#) = [4] x2 + [0] p(-#) = [1] x1 + [1] p(BS#) = [1] p(Log#) = [4] p(Log'#) = [4] p(Max#) = [0] p(Min#) = [0] p(O#) = [4] x1 + [0] p(Size#) = [4] p(Val#) = [1] x1 + [1] p(WB#) = [1] p(and#) = [1] p(ge#) = [2] x1 + [0] p(if#) = [1] x1 + [0] p(not#) = [0] p(c_1) = [2] x1 + [1] x2 + [0] p(c_2) = [1] p(c_3) = [1] p(c_4) = [4] x1 + [1] x2 + [0] p(c_5) = [2] x1 + [4] p(c_6) = [1] x1 + [0] p(c_7) = [1] x1 + [2] p(c_8) = [2] p(c_9) = [0] p(c_10) = [2] x1 + [2] p(c_11) = [1] x1 + [0] p(c_12) = [4] p(c_13) = [1] p(c_14) = [1] p(c_15) = [4] x1 + [1] x2 + [4] x4 + [1] x7 + [1] x8 + [1] x9 + [0] p(c_16) = [1] x1 + [0] p(c_17) = [4] p(c_18) = [1] x1 + [1] x2 + [0] p(c_19) = [1] x1 + [1] x2 + [0] p(c_20) = [1] p(c_21) = [1] p(c_22) = [0] p(c_23) = [1] p(c_24) = [0] p(c_25) = [0] p(c_26) = [1] x2 + [0] p(c_27) = [2] p(c_28) = [1] p(c_29) = [4] p(c_30) = [4] x2 + [4] x9 + [1] x10 + [1] x12 + [1] x14 + [1] x16 + [0] p(c_31) = [1] p(c_32) = [1] p(c_33) = [0] p(c_34) = [0] p(c_35) = [1] x1 + [0] p(c_36) = [2] x1 + [0] p(c_37) = [4] p(c_38) = [1] x1 + [0] p(c_39) = [1] p(c_40) = [1] p(c_41) = [0] p(c_42) = [4] p(c_43) = [1] Following rules are strictly oriented: +#(O(x),O(y)) = [8] y + [4] > [4] y + [2] = c_7(+#(x,y)) Following rules are (at-least) weakly oriented: +#(x,+(y,z)) = [4] y + [8] z + [0] >= [4] y + [8] z + [0] = c_1(+#(+(x,y),z),+#(x,y)) +#(I(x),I(y)) = [4] y + [0] >= [4] y + [0] = c_4(+#(+(x,y),I(0())),+#(x,y)) +#(I(x),O(y)) = [8] y + [4] >= [8] y + [4] = c_5(+#(x,y)) +#(O(x),I(y)) = [4] y + [0] >= [4] y + [0] = c_6(+#(x,y)) Log#(x) = [4] >= [4] = c_16(Log'#(x)) Log'#(I(x)) = [4] >= [4] = c_18(+#(Log'(x),I(0())),Log'#(x)) Log'#(O(x)) = [4] >= [4] = c_19(+#(Log'(x),I(0())),Log'#(x)) ***** Step 8.a:4.b:1.b:1.a:2: Assumption WORST_CASE(?,O(1)) + Considered Problem: - Strict DPs: +#(I(x),I(y)) -> c_4(+#(+(x,y),I(0())),+#(x,y)) +#(O(x),I(y)) -> c_6(+#(x,y)) - Weak DPs: +#(x,+(y,z)) -> c_1(+#(+(x,y),z),+#(x,y)) +#(I(x),O(y)) -> c_5(+#(x,y)) +#(O(x),O(y)) -> c_7(+#(x,y)) Log#(x) -> c_16(Log'#(x)) Log'#(I(x)) -> c_18(+#(Log'(x),I(0())),Log'#(x)) Log'#(O(x)) -> c_19(+#(Log'(x),I(0())),Log'#(x)) - Weak TRS: +(x,+(y,z)) -> +(+(x,y),z) +(x,0()) -> x +(0(),x) -> x +(I(x),I(y)) -> O(+(+(x,y),I(0()))) +(I(x),O(y)) -> I(+(x,y)) +(O(x),I(y)) -> I(+(x,y)) +(O(x),O(y)) -> O(+(x,y)) Log'(0()) -> 0() Log'(I(x)) -> +(Log'(x),I(0())) Log'(O(x)) -> if(ge(x,I(0())),+(Log'(x),I(0())),0()) O(0()) -> 0() ge(x,0()) -> true() ge(0(),I(x)) -> false() ge(0(),O(x)) -> ge(0(),x) ge(I(x),I(y)) -> ge(x,y) ge(I(x),O(y)) -> ge(x,y) ge(O(x),I(y)) -> not(ge(y,x)) ge(O(x),O(y)) -> ge(x,y) if(false(),x,y) -> y if(true(),x,y) -> x not(false()) -> true() not(true()) -> false() - Signature: {+/2,-/2,BS/1,Log/1,Log'/1,Max/1,Min/1,O/1,Size/1,Val/1,WB/1,and/2,ge/2,if/3,not/1,+#/2,-#/2,BS#/1,Log#/1 ,Log'#/1,Max#/1,Min#/1,O#/1,Size#/1,Val#/1,WB#/1,and#/2,ge#/2,if#/3,not#/1} / {0/0,1/0,I/1,L/1,N/3,false/0 ,l/0,r/0,true/0,c_1/2,c_2/0,c_3/0,c_4/2,c_5/1,c_6/1,c_7/1,c_8/0,c_9/0,c_10/1,c_11/1,c_12/2,c_13/1,c_14/0 ,c_15/9,c_16/1,c_17/0,c_18/2,c_19/2,c_20/0,c_21/1,c_22/0,c_23/1,c_24/0,c_25/0,c_26/4,c_27/0,c_28/0,c_29/0 ,c_30/16,c_31/0,c_32/0,c_33/0,c_34/0,c_35/1,c_36/1,c_37/1,c_38/1,c_39/1,c_40/0,c_41/0,c_42/0,c_43/0} - Obligation: innermost runtime complexity wrt. defined symbols {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge# ,if#,not#} and constructors {0,1,I,L,N,false,l,r,true} + Applied Processor: Assumption {assumed = Certificate {spaceUB = Unknown, spaceLB = Unknown, timeUB = Poly (Just 0), timeLB = Unknown}} + Details: () ***** Step 8.a:4.b:1.b:1.b:1: PredecessorEstimationCP WORST_CASE(?,O(n^2)) + Considered Problem: - Strict DPs: +#(I(x),I(y)) -> c_4(+#(+(x,y),I(0())),+#(x,y)) +#(O(x),I(y)) -> c_6(+#(x,y)) - Weak DPs: +#(x,+(y,z)) -> c_1(+#(+(x,y),z),+#(x,y)) +#(I(x),O(y)) -> c_5(+#(x,y)) +#(O(x),O(y)) -> c_7(+#(x,y)) Log#(x) -> c_16(Log'#(x)) Log'#(I(x)) -> c_18(+#(Log'(x),I(0())),Log'#(x)) Log'#(O(x)) -> c_19(+#(Log'(x),I(0())),Log'#(x)) - Weak TRS: +(x,+(y,z)) -> +(+(x,y),z) +(x,0()) -> x +(0(),x) -> x +(I(x),I(y)) -> O(+(+(x,y),I(0()))) +(I(x),O(y)) -> I(+(x,y)) +(O(x),I(y)) -> I(+(x,y)) +(O(x),O(y)) -> O(+(x,y)) Log'(0()) -> 0() Log'(I(x)) -> +(Log'(x),I(0())) Log'(O(x)) -> if(ge(x,I(0())),+(Log'(x),I(0())),0()) O(0()) -> 0() ge(x,0()) -> true() ge(0(),I(x)) -> false() ge(0(),O(x)) -> ge(0(),x) ge(I(x),I(y)) -> ge(x,y) ge(I(x),O(y)) -> ge(x,y) ge(O(x),I(y)) -> not(ge(y,x)) ge(O(x),O(y)) -> ge(x,y) if(false(),x,y) -> y if(true(),x,y) -> x not(false()) -> true() not(true()) -> false() - Signature: {+/2,-/2,BS/1,Log/1,Log'/1,Max/1,Min/1,O/1,Size/1,Val/1,WB/1,and/2,ge/2,if/3,not/1,+#/2,-#/2,BS#/1,Log#/1 ,Log'#/1,Max#/1,Min#/1,O#/1,Size#/1,Val#/1,WB#/1,and#/2,ge#/2,if#/3,not#/1} / {0/0,1/0,I/1,L/1,N/3,false/0 ,l/0,r/0,true/0,c_1/2,c_2/0,c_3/0,c_4/2,c_5/1,c_6/1,c_7/1,c_8/0,c_9/0,c_10/1,c_11/1,c_12/2,c_13/1,c_14/0 ,c_15/9,c_16/1,c_17/0,c_18/2,c_19/2,c_20/0,c_21/1,c_22/0,c_23/1,c_24/0,c_25/0,c_26/4,c_27/0,c_28/0,c_29/0 ,c_30/16,c_31/0,c_32/0,c_33/0,c_34/0,c_35/1,c_36/1,c_37/1,c_38/1,c_39/1,c_40/0,c_41/0,c_42/0,c_43/0} - Obligation: innermost runtime complexity wrt. defined symbols {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge# ,if#,not#} and constructors {0,1,I,L,N,false,l,r,true} + Applied Processor: PredecessorEstimationCP {onSelectionCP = any intersect of rules of CDG leaf and strict-rules, withComplexityPair = NaturalMI {miDimension = 1, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Nothing}} + Details: We first use the processor NaturalMI {miDimension = 1, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Nothing} to orient following rules strictly: 2: +#(O(x),I(y)) -> c_6(+#(x,y)) Consider the set of all dependency pairs 1: +#(I(x),I(y)) -> c_4(+#(+(x,y),I(0())),+#(x,y)) 2: +#(O(x),I(y)) -> c_6(+#(x,y)) 3: +#(x,+(y,z)) -> c_1(+#(+(x,y),z),+#(x,y)) 4: +#(I(x),O(y)) -> c_5(+#(x,y)) 5: +#(O(x),O(y)) -> c_7(+#(x,y)) 6: Log#(x) -> c_16(Log'#(x)) 7: Log'#(I(x)) -> c_18(+#(Log'(x),I(0())),Log'#(x)) 8: Log'#(O(x)) -> c_19(+#(Log'(x),I(0())),Log'#(x)) Processor NaturalMI {miDimension = 1, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Nothing}induces the complexity certificateTIME (?,O(n^1)) SPACE(?,?)on application of the dependency pairs {2} These cover all (indirect) predecessors of dependency pairs {2,6} their number of applications is equally bounded. The dependency pairs are shifted into the weak component. ****** Step 8.a:4.b:1.b:1.b:1.a:1: NaturalMI WORST_CASE(?,O(n^1)) + Considered Problem: - Strict DPs: +#(I(x),I(y)) -> c_4(+#(+(x,y),I(0())),+#(x,y)) +#(O(x),I(y)) -> c_6(+#(x,y)) - Weak DPs: +#(x,+(y,z)) -> c_1(+#(+(x,y),z),+#(x,y)) +#(I(x),O(y)) -> c_5(+#(x,y)) +#(O(x),O(y)) -> c_7(+#(x,y)) Log#(x) -> c_16(Log'#(x)) Log'#(I(x)) -> c_18(+#(Log'(x),I(0())),Log'#(x)) Log'#(O(x)) -> c_19(+#(Log'(x),I(0())),Log'#(x)) - Weak TRS: +(x,+(y,z)) -> +(+(x,y),z) +(x,0()) -> x +(0(),x) -> x +(I(x),I(y)) -> O(+(+(x,y),I(0()))) +(I(x),O(y)) -> I(+(x,y)) +(O(x),I(y)) -> I(+(x,y)) +(O(x),O(y)) -> O(+(x,y)) Log'(0()) -> 0() Log'(I(x)) -> +(Log'(x),I(0())) Log'(O(x)) -> if(ge(x,I(0())),+(Log'(x),I(0())),0()) O(0()) -> 0() ge(x,0()) -> true() ge(0(),I(x)) -> false() ge(0(),O(x)) -> ge(0(),x) ge(I(x),I(y)) -> ge(x,y) ge(I(x),O(y)) -> ge(x,y) ge(O(x),I(y)) -> not(ge(y,x)) ge(O(x),O(y)) -> ge(x,y) if(false(),x,y) -> y if(true(),x,y) -> x not(false()) -> true() not(true()) -> false() - Signature: {+/2,-/2,BS/1,Log/1,Log'/1,Max/1,Min/1,O/1,Size/1,Val/1,WB/1,and/2,ge/2,if/3,not/1,+#/2,-#/2,BS#/1,Log#/1 ,Log'#/1,Max#/1,Min#/1,O#/1,Size#/1,Val#/1,WB#/1,and#/2,ge#/2,if#/3,not#/1} / {0/0,1/0,I/1,L/1,N/3,false/0 ,l/0,r/0,true/0,c_1/2,c_2/0,c_3/0,c_4/2,c_5/1,c_6/1,c_7/1,c_8/0,c_9/0,c_10/1,c_11/1,c_12/2,c_13/1,c_14/0 ,c_15/9,c_16/1,c_17/0,c_18/2,c_19/2,c_20/0,c_21/1,c_22/0,c_23/1,c_24/0,c_25/0,c_26/4,c_27/0,c_28/0,c_29/0 ,c_30/16,c_31/0,c_32/0,c_33/0,c_34/0,c_35/1,c_36/1,c_37/1,c_38/1,c_39/1,c_40/0,c_41/0,c_42/0,c_43/0} - Obligation: innermost runtime complexity wrt. defined symbols {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge# ,if#,not#} and constructors {0,1,I,L,N,false,l,r,true} + Applied Processor: NaturalMI {miDimension = 1, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Just first alternative for predecessorEstimation on any intersect of rules of CDG leaf and strict-rules} + Details: We apply a matrix interpretation of kind constructor based matrix interpretation: The following argument positions are considered usable: uargs(c_1) = {1,2}, uargs(c_4) = {1,2}, uargs(c_5) = {1}, uargs(c_6) = {1}, uargs(c_7) = {1}, uargs(c_16) = {1}, uargs(c_18) = {1,2}, uargs(c_19) = {1,2} Following symbols are considered usable: {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge#,if#,not#} TcT has computed the following interpretation: p(+) = [2] x1 + [2] x2 + [0] p(-) = [1] x2 + [1] p(0) = [0] p(1) = [1] p(BS) = [1] x1 + [1] p(I) = [1] x1 + [1] p(L) = [1] p(Log) = [4] x1 + [0] p(Log') = [1] x1 + [0] p(Max) = [4] x1 + [1] p(Min) = [1] x1 + [0] p(N) = [1] x3 + [1] p(O) = [2] x1 + [1] p(Size) = [4] x1 + [4] p(Val) = [1] x1 + [2] p(WB) = [1] x1 + [4] p(and) = [1] x1 + [2] x2 + [1] p(false) = [4] p(ge) = [2] x2 + [1] p(if) = [3] x2 + [4] p(l) = [0] p(not) = [1] x1 + [0] p(r) = [0] p(true) = [0] p(+#) = [4] x2 + [0] p(-#) = [1] x1 + [4] p(BS#) = [1] p(Log#) = [7] x1 + [4] p(Log'#) = [7] x1 + [1] p(Max#) = [4] x1 + [1] p(Min#) = [0] p(O#) = [1] x1 + [0] p(Size#) = [1] x1 + [1] p(Val#) = [1] p(WB#) = [4] p(and#) = [1] x2 + [0] p(ge#) = [2] x2 + [0] p(if#) = [1] p(not#) = [4] p(c_1) = [2] x1 + [2] x2 + [0] p(c_2) = [0] p(c_3) = [0] p(c_4) = [1] x1 + [1] x2 + [0] p(c_5) = [1] x1 + [4] p(c_6) = [1] x1 + [3] p(c_7) = [2] x1 + [0] p(c_8) = [1] p(c_9) = [1] p(c_10) = [1] x1 + [0] p(c_11) = [1] p(c_12) = [1] x2 + [0] p(c_13) = [4] p(c_14) = [1] p(c_15) = [4] x2 + [1] x4 + [2] x5 + [4] x7 + [4] p(c_16) = [1] x1 + [3] p(c_17) = [0] p(c_18) = [1] x1 + [1] x2 + [3] p(c_19) = [1] x1 + [1] x2 + [0] p(c_20) = [1] p(c_21) = [2] p(c_22) = [2] p(c_23) = [1] x1 + [2] p(c_24) = [0] p(c_25) = [0] p(c_26) = [2] x1 + [2] x3 + [1] p(c_27) = [0] p(c_28) = [0] p(c_29) = [1] p(c_30) = [2] x1 + [4] x2 + [4] x10 + [2] x12 + [1] x13 + [1] x14 + [4] x16 + [1] p(c_31) = [0] p(c_32) = [4] p(c_33) = [0] p(c_34) = [0] p(c_35) = [1] x1 + [1] p(c_36) = [4] x1 + [1] p(c_37) = [4] x1 + [0] p(c_38) = [2] p(c_39) = [0] p(c_40) = [4] p(c_41) = [4] p(c_42) = [4] p(c_43) = [0] Following rules are strictly oriented: +#(O(x),I(y)) = [4] y + [4] > [4] y + [3] = c_6(+#(x,y)) Following rules are (at-least) weakly oriented: +#(x,+(y,z)) = [8] y + [8] z + [0] >= [8] y + [8] z + [0] = c_1(+#(+(x,y),z),+#(x,y)) +#(I(x),I(y)) = [4] y + [4] >= [4] y + [4] = c_4(+#(+(x,y),I(0())),+#(x,y)) +#(I(x),O(y)) = [8] y + [4] >= [4] y + [4] = c_5(+#(x,y)) +#(O(x),O(y)) = [8] y + [4] >= [8] y + [0] = c_7(+#(x,y)) Log#(x) = [7] x + [4] >= [7] x + [4] = c_16(Log'#(x)) Log'#(I(x)) = [7] x + [8] >= [7] x + [8] = c_18(+#(Log'(x),I(0())),Log'#(x)) Log'#(O(x)) = [14] x + [8] >= [7] x + [5] = c_19(+#(Log'(x),I(0())),Log'#(x)) ****** Step 8.a:4.b:1.b:1.b:1.a:2: Assumption WORST_CASE(?,O(1)) + Considered Problem: - Strict DPs: +#(I(x),I(y)) -> c_4(+#(+(x,y),I(0())),+#(x,y)) - Weak DPs: +#(x,+(y,z)) -> c_1(+#(+(x,y),z),+#(x,y)) +#(I(x),O(y)) -> c_5(+#(x,y)) +#(O(x),I(y)) -> c_6(+#(x,y)) +#(O(x),O(y)) -> c_7(+#(x,y)) Log#(x) -> c_16(Log'#(x)) Log'#(I(x)) -> c_18(+#(Log'(x),I(0())),Log'#(x)) Log'#(O(x)) -> c_19(+#(Log'(x),I(0())),Log'#(x)) - Weak TRS: +(x,+(y,z)) -> +(+(x,y),z) +(x,0()) -> x +(0(),x) -> x +(I(x),I(y)) -> O(+(+(x,y),I(0()))) +(I(x),O(y)) -> I(+(x,y)) +(O(x),I(y)) -> I(+(x,y)) +(O(x),O(y)) -> O(+(x,y)) Log'(0()) -> 0() Log'(I(x)) -> +(Log'(x),I(0())) Log'(O(x)) -> if(ge(x,I(0())),+(Log'(x),I(0())),0()) O(0()) -> 0() ge(x,0()) -> true() ge(0(),I(x)) -> false() ge(0(),O(x)) -> ge(0(),x) ge(I(x),I(y)) -> ge(x,y) ge(I(x),O(y)) -> ge(x,y) ge(O(x),I(y)) -> not(ge(y,x)) ge(O(x),O(y)) -> ge(x,y) if(false(),x,y) -> y if(true(),x,y) -> x not(false()) -> true() not(true()) -> false() - Signature: {+/2,-/2,BS/1,Log/1,Log'/1,Max/1,Min/1,O/1,Size/1,Val/1,WB/1,and/2,ge/2,if/3,not/1,+#/2,-#/2,BS#/1,Log#/1 ,Log'#/1,Max#/1,Min#/1,O#/1,Size#/1,Val#/1,WB#/1,and#/2,ge#/2,if#/3,not#/1} / {0/0,1/0,I/1,L/1,N/3,false/0 ,l/0,r/0,true/0,c_1/2,c_2/0,c_3/0,c_4/2,c_5/1,c_6/1,c_7/1,c_8/0,c_9/0,c_10/1,c_11/1,c_12/2,c_13/1,c_14/0 ,c_15/9,c_16/1,c_17/0,c_18/2,c_19/2,c_20/0,c_21/1,c_22/0,c_23/1,c_24/0,c_25/0,c_26/4,c_27/0,c_28/0,c_29/0 ,c_30/16,c_31/0,c_32/0,c_33/0,c_34/0,c_35/1,c_36/1,c_37/1,c_38/1,c_39/1,c_40/0,c_41/0,c_42/0,c_43/0} - Obligation: innermost runtime complexity wrt. defined symbols {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge# ,if#,not#} and constructors {0,1,I,L,N,false,l,r,true} + Applied Processor: Assumption {assumed = Certificate {spaceUB = Unknown, spaceLB = Unknown, timeUB = Poly (Just 0), timeLB = Unknown}} + Details: () ****** Step 8.a:4.b:1.b:1.b:1.b:1: PredecessorEstimationCP WORST_CASE(?,O(n^2)) + Considered Problem: - Strict DPs: +#(I(x),I(y)) -> c_4(+#(+(x,y),I(0())),+#(x,y)) - Weak DPs: +#(x,+(y,z)) -> c_1(+#(+(x,y),z),+#(x,y)) +#(I(x),O(y)) -> c_5(+#(x,y)) +#(O(x),I(y)) -> c_6(+#(x,y)) +#(O(x),O(y)) -> c_7(+#(x,y)) Log#(x) -> c_16(Log'#(x)) Log'#(I(x)) -> c_18(+#(Log'(x),I(0())),Log'#(x)) Log'#(O(x)) -> c_19(+#(Log'(x),I(0())),Log'#(x)) - Weak TRS: +(x,+(y,z)) -> +(+(x,y),z) +(x,0()) -> x +(0(),x) -> x +(I(x),I(y)) -> O(+(+(x,y),I(0()))) +(I(x),O(y)) -> I(+(x,y)) +(O(x),I(y)) -> I(+(x,y)) +(O(x),O(y)) -> O(+(x,y)) Log'(0()) -> 0() Log'(I(x)) -> +(Log'(x),I(0())) Log'(O(x)) -> if(ge(x,I(0())),+(Log'(x),I(0())),0()) O(0()) -> 0() ge(x,0()) -> true() ge(0(),I(x)) -> false() ge(0(),O(x)) -> ge(0(),x) ge(I(x),I(y)) -> ge(x,y) ge(I(x),O(y)) -> ge(x,y) ge(O(x),I(y)) -> not(ge(y,x)) ge(O(x),O(y)) -> ge(x,y) if(false(),x,y) -> y if(true(),x,y) -> x not(false()) -> true() not(true()) -> false() - Signature: {+/2,-/2,BS/1,Log/1,Log'/1,Max/1,Min/1,O/1,Size/1,Val/1,WB/1,and/2,ge/2,if/3,not/1,+#/2,-#/2,BS#/1,Log#/1 ,Log'#/1,Max#/1,Min#/1,O#/1,Size#/1,Val#/1,WB#/1,and#/2,ge#/2,if#/3,not#/1} / {0/0,1/0,I/1,L/1,N/3,false/0 ,l/0,r/0,true/0,c_1/2,c_2/0,c_3/0,c_4/2,c_5/1,c_6/1,c_7/1,c_8/0,c_9/0,c_10/1,c_11/1,c_12/2,c_13/1,c_14/0 ,c_15/9,c_16/1,c_17/0,c_18/2,c_19/2,c_20/0,c_21/1,c_22/0,c_23/1,c_24/0,c_25/0,c_26/4,c_27/0,c_28/0,c_29/0 ,c_30/16,c_31/0,c_32/0,c_33/0,c_34/0,c_35/1,c_36/1,c_37/1,c_38/1,c_39/1,c_40/0,c_41/0,c_42/0,c_43/0} - Obligation: innermost runtime complexity wrt. defined symbols {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge# ,if#,not#} and constructors {0,1,I,L,N,false,l,r,true} + Applied Processor: PredecessorEstimationCP {onSelectionCP = any intersect of rules of CDG leaf and strict-rules, withComplexityPair = NaturalPI {shape = Mixed 2, restrict = Restrict, uargs = UArgs, urules = URules, selector = Nothing}} + Details: We first use the processor NaturalPI {shape = Mixed 2, restrict = Restrict, uargs = UArgs, urules = URules, selector = Nothing} to orient following rules strictly: 1: +#(I(x),I(y)) -> c_4(+#(+(x,y),I(0())),+#(x,y)) Consider the set of all dependency pairs 1: +#(I(x),I(y)) -> c_4(+#(+(x,y),I(0())),+#(x,y)) 2: +#(x,+(y,z)) -> c_1(+#(+(x,y),z),+#(x,y)) 3: +#(I(x),O(y)) -> c_5(+#(x,y)) 4: +#(O(x),I(y)) -> c_6(+#(x,y)) 5: +#(O(x),O(y)) -> c_7(+#(x,y)) 6: Log#(x) -> c_16(Log'#(x)) 7: Log'#(I(x)) -> c_18(+#(Log'(x),I(0())),Log'#(x)) 8: Log'#(O(x)) -> c_19(+#(Log'(x),I(0())),Log'#(x)) Processor NaturalPI {shape = Mixed 2, restrict = Restrict, uargs = UArgs, urules = URules, selector = Nothing}induces the complexity certificateTIME (?,O(n^2)) SPACE(?,?)on application of the dependency pairs {1} These cover all (indirect) predecessors of dependency pairs {1,6} their number of applications is equally bounded. The dependency pairs are shifted into the weak component. ******* Step 8.a:4.b:1.b:1.b:1.b:1.a:1: NaturalPI WORST_CASE(?,O(n^2)) + Considered Problem: - Strict DPs: +#(I(x),I(y)) -> c_4(+#(+(x,y),I(0())),+#(x,y)) - Weak DPs: +#(x,+(y,z)) -> c_1(+#(+(x,y),z),+#(x,y)) +#(I(x),O(y)) -> c_5(+#(x,y)) +#(O(x),I(y)) -> c_6(+#(x,y)) +#(O(x),O(y)) -> c_7(+#(x,y)) Log#(x) -> c_16(Log'#(x)) Log'#(I(x)) -> c_18(+#(Log'(x),I(0())),Log'#(x)) Log'#(O(x)) -> c_19(+#(Log'(x),I(0())),Log'#(x)) - Weak TRS: +(x,+(y,z)) -> +(+(x,y),z) +(x,0()) -> x +(0(),x) -> x +(I(x),I(y)) -> O(+(+(x,y),I(0()))) +(I(x),O(y)) -> I(+(x,y)) +(O(x),I(y)) -> I(+(x,y)) +(O(x),O(y)) -> O(+(x,y)) Log'(0()) -> 0() Log'(I(x)) -> +(Log'(x),I(0())) Log'(O(x)) -> if(ge(x,I(0())),+(Log'(x),I(0())),0()) O(0()) -> 0() ge(x,0()) -> true() ge(0(),I(x)) -> false() ge(0(),O(x)) -> ge(0(),x) ge(I(x),I(y)) -> ge(x,y) ge(I(x),O(y)) -> ge(x,y) ge(O(x),I(y)) -> not(ge(y,x)) ge(O(x),O(y)) -> ge(x,y) if(false(),x,y) -> y if(true(),x,y) -> x not(false()) -> true() not(true()) -> false() - Signature: {+/2,-/2,BS/1,Log/1,Log'/1,Max/1,Min/1,O/1,Size/1,Val/1,WB/1,and/2,ge/2,if/3,not/1,+#/2,-#/2,BS#/1,Log#/1 ,Log'#/1,Max#/1,Min#/1,O#/1,Size#/1,Val#/1,WB#/1,and#/2,ge#/2,if#/3,not#/1} / {0/0,1/0,I/1,L/1,N/3,false/0 ,l/0,r/0,true/0,c_1/2,c_2/0,c_3/0,c_4/2,c_5/1,c_6/1,c_7/1,c_8/0,c_9/0,c_10/1,c_11/1,c_12/2,c_13/1,c_14/0 ,c_15/9,c_16/1,c_17/0,c_18/2,c_19/2,c_20/0,c_21/1,c_22/0,c_23/1,c_24/0,c_25/0,c_26/4,c_27/0,c_28/0,c_29/0 ,c_30/16,c_31/0,c_32/0,c_33/0,c_34/0,c_35/1,c_36/1,c_37/1,c_38/1,c_39/1,c_40/0,c_41/0,c_42/0,c_43/0} - Obligation: innermost runtime complexity wrt. defined symbols {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge# ,if#,not#} and constructors {0,1,I,L,N,false,l,r,true} + Applied Processor: NaturalPI {shape = Mixed 2, restrict = Restrict, uargs = UArgs, urules = URules, selector = Just first alternative for predecessorEstimation on any intersect of rules of CDG leaf and strict-rules} + Details: We apply a polynomial interpretation of kind constructor-based(mixed(2)): The following argument positions are considered usable: uargs(c_1) = {1,2}, uargs(c_4) = {1,2}, uargs(c_5) = {1}, uargs(c_6) = {1}, uargs(c_7) = {1}, uargs(c_16) = {1}, uargs(c_18) = {1,2}, uargs(c_19) = {1,2} Following symbols are considered usable: {+,Log',O,ge,if,not,+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge#,if#,not#} TcT has computed the following interpretation: p(+) = x1 + x2 p(-) = 0 p(0) = 0 p(1) = 0 p(BS) = 0 p(I) = 1 + x1 p(L) = 0 p(Log) = 0 p(Log') = x1 p(Max) = 0 p(Min) = 0 p(N) = 0 p(O) = 1 + x1 p(Size) = 0 p(Val) = 0 p(WB) = 0 p(and) = 0 p(false) = 0 p(ge) = 1 p(if) = x1*x2 + x3 p(l) = 0 p(not) = 1 p(r) = 0 p(true) = 1 p(+#) = x1*x2 + x2^2 p(-#) = 0 p(BS#) = 0 p(Log#) = x1 + x1^2 p(Log'#) = x1^2 p(Max#) = 0 p(Min#) = 0 p(O#) = 0 p(Size#) = 0 p(Val#) = 0 p(WB#) = 0 p(and#) = 0 p(ge#) = 0 p(if#) = 0 p(not#) = 0 p(c_1) = x1 + x2 p(c_2) = 0 p(c_3) = 0 p(c_4) = x1 + x2 p(c_5) = x1 p(c_6) = 1 + x1 p(c_7) = x1 p(c_8) = 0 p(c_9) = 0 p(c_10) = 0 p(c_11) = 0 p(c_12) = 0 p(c_13) = 0 p(c_14) = 0 p(c_15) = 0 p(c_16) = x1 p(c_17) = 0 p(c_18) = x1 + x2 p(c_19) = x1 + x2 p(c_20) = 0 p(c_21) = 0 p(c_22) = 0 p(c_23) = 0 p(c_24) = 0 p(c_25) = 0 p(c_26) = 0 p(c_27) = 0 p(c_28) = 0 p(c_29) = 0 p(c_30) = 0 p(c_31) = 0 p(c_32) = 0 p(c_33) = 0 p(c_34) = 0 p(c_35) = 0 p(c_36) = 0 p(c_37) = 0 p(c_38) = 0 p(c_39) = 0 p(c_40) = 0 p(c_41) = 0 p(c_42) = 0 p(c_43) = 0 Following rules are strictly oriented: +#(I(x),I(y)) = 2 + x + x*y + 3*y + y^2 > 1 + x + x*y + y + y^2 = c_4(+#(+(x,y),I(0())),+#(x,y)) Following rules are (at-least) weakly oriented: +#(x,+(y,z)) = x*y + x*z + 2*y*z + y^2 + z^2 >= x*y + x*z + y*z + y^2 + z^2 = c_1(+#(+(x,y),z),+#(x,y)) +#(I(x),O(y)) = 2 + x + x*y + 3*y + y^2 >= x*y + y^2 = c_5(+#(x,y)) +#(O(x),I(y)) = 2 + x + x*y + 3*y + y^2 >= 1 + x*y + y^2 = c_6(+#(x,y)) +#(O(x),O(y)) = 2 + x + x*y + 3*y + y^2 >= x*y + y^2 = c_7(+#(x,y)) Log#(x) = x + x^2 >= x^2 = c_16(Log'#(x)) Log'#(I(x)) = 1 + 2*x + x^2 >= 1 + x + x^2 = c_18(+#(Log'(x),I(0())),Log'#(x)) Log'#(O(x)) = 1 + 2*x + x^2 >= 1 + x + x^2 = c_19(+#(Log'(x),I(0())),Log'#(x)) +(x,+(y,z)) = x + y + z >= x + y + z = +(+(x,y),z) +(x,0()) = x >= x = x +(0(),x) = x >= x = x +(I(x),I(y)) = 2 + x + y >= 2 + x + y = O(+(+(x,y),I(0()))) +(I(x),O(y)) = 2 + x + y >= 1 + x + y = I(+(x,y)) +(O(x),I(y)) = 2 + x + y >= 1 + x + y = I(+(x,y)) +(O(x),O(y)) = 2 + x + y >= 1 + x + y = O(+(x,y)) Log'(0()) = 0 >= 0 = 0() Log'(I(x)) = 1 + x >= 1 + x = +(Log'(x),I(0())) Log'(O(x)) = 1 + x >= 1 + x = if(ge(x,I(0())),+(Log'(x),I(0())),0()) O(0()) = 1 >= 0 = 0() ge(x,0()) = 1 >= 1 = true() ge(0(),I(x)) = 1 >= 0 = false() ge(0(),O(x)) = 1 >= 1 = ge(0(),x) ge(I(x),I(y)) = 1 >= 1 = ge(x,y) ge(I(x),O(y)) = 1 >= 1 = ge(x,y) ge(O(x),I(y)) = 1 >= 1 = not(ge(y,x)) ge(O(x),O(y)) = 1 >= 1 = ge(x,y) if(false(),x,y) = y >= y = y if(true(),x,y) = x + y >= x = x not(false()) = 1 >= 1 = true() not(true()) = 1 >= 0 = false() ******* Step 8.a:4.b:1.b:1.b:1.b:1.a:2: Assumption WORST_CASE(?,O(1)) + Considered Problem: - Weak DPs: +#(x,+(y,z)) -> c_1(+#(+(x,y),z),+#(x,y)) +#(I(x),I(y)) -> c_4(+#(+(x,y),I(0())),+#(x,y)) +#(I(x),O(y)) -> c_5(+#(x,y)) +#(O(x),I(y)) -> c_6(+#(x,y)) +#(O(x),O(y)) -> c_7(+#(x,y)) Log#(x) -> c_16(Log'#(x)) Log'#(I(x)) -> c_18(+#(Log'(x),I(0())),Log'#(x)) Log'#(O(x)) -> c_19(+#(Log'(x),I(0())),Log'#(x)) - Weak TRS: +(x,+(y,z)) -> +(+(x,y),z) +(x,0()) -> x +(0(),x) -> x +(I(x),I(y)) -> O(+(+(x,y),I(0()))) +(I(x),O(y)) -> I(+(x,y)) +(O(x),I(y)) -> I(+(x,y)) +(O(x),O(y)) -> O(+(x,y)) Log'(0()) -> 0() Log'(I(x)) -> +(Log'(x),I(0())) Log'(O(x)) -> if(ge(x,I(0())),+(Log'(x),I(0())),0()) O(0()) -> 0() ge(x,0()) -> true() ge(0(),I(x)) -> false() ge(0(),O(x)) -> ge(0(),x) ge(I(x),I(y)) -> ge(x,y) ge(I(x),O(y)) -> ge(x,y) ge(O(x),I(y)) -> not(ge(y,x)) ge(O(x),O(y)) -> ge(x,y) if(false(),x,y) -> y if(true(),x,y) -> x not(false()) -> true() not(true()) -> false() - Signature: {+/2,-/2,BS/1,Log/1,Log'/1,Max/1,Min/1,O/1,Size/1,Val/1,WB/1,and/2,ge/2,if/3,not/1,+#/2,-#/2,BS#/1,Log#/1 ,Log'#/1,Max#/1,Min#/1,O#/1,Size#/1,Val#/1,WB#/1,and#/2,ge#/2,if#/3,not#/1} / {0/0,1/0,I/1,L/1,N/3,false/0 ,l/0,r/0,true/0,c_1/2,c_2/0,c_3/0,c_4/2,c_5/1,c_6/1,c_7/1,c_8/0,c_9/0,c_10/1,c_11/1,c_12/2,c_13/1,c_14/0 ,c_15/9,c_16/1,c_17/0,c_18/2,c_19/2,c_20/0,c_21/1,c_22/0,c_23/1,c_24/0,c_25/0,c_26/4,c_27/0,c_28/0,c_29/0 ,c_30/16,c_31/0,c_32/0,c_33/0,c_34/0,c_35/1,c_36/1,c_37/1,c_38/1,c_39/1,c_40/0,c_41/0,c_42/0,c_43/0} - Obligation: innermost runtime complexity wrt. defined symbols {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge# ,if#,not#} and constructors {0,1,I,L,N,false,l,r,true} + Applied Processor: Assumption {assumed = Certificate {spaceUB = Unknown, spaceLB = Unknown, timeUB = Poly (Just 0), timeLB = Unknown}} + Details: () ******* Step 8.a:4.b:1.b:1.b:1.b:1.b:1: RemoveWeakSuffixes WORST_CASE(?,O(1)) + Considered Problem: - Weak DPs: +#(x,+(y,z)) -> c_1(+#(+(x,y),z),+#(x,y)) +#(I(x),I(y)) -> c_4(+#(+(x,y),I(0())),+#(x,y)) +#(I(x),O(y)) -> c_5(+#(x,y)) +#(O(x),I(y)) -> c_6(+#(x,y)) +#(O(x),O(y)) -> c_7(+#(x,y)) Log#(x) -> c_16(Log'#(x)) Log'#(I(x)) -> c_18(+#(Log'(x),I(0())),Log'#(x)) Log'#(O(x)) -> c_19(+#(Log'(x),I(0())),Log'#(x)) - Weak TRS: +(x,+(y,z)) -> +(+(x,y),z) +(x,0()) -> x +(0(),x) -> x +(I(x),I(y)) -> O(+(+(x,y),I(0()))) +(I(x),O(y)) -> I(+(x,y)) +(O(x),I(y)) -> I(+(x,y)) +(O(x),O(y)) -> O(+(x,y)) Log'(0()) -> 0() Log'(I(x)) -> +(Log'(x),I(0())) Log'(O(x)) -> if(ge(x,I(0())),+(Log'(x),I(0())),0()) O(0()) -> 0() ge(x,0()) -> true() ge(0(),I(x)) -> false() ge(0(),O(x)) -> ge(0(),x) ge(I(x),I(y)) -> ge(x,y) ge(I(x),O(y)) -> ge(x,y) ge(O(x),I(y)) -> not(ge(y,x)) ge(O(x),O(y)) -> ge(x,y) if(false(),x,y) -> y if(true(),x,y) -> x not(false()) -> true() not(true()) -> false() - Signature: {+/2,-/2,BS/1,Log/1,Log'/1,Max/1,Min/1,O/1,Size/1,Val/1,WB/1,and/2,ge/2,if/3,not/1,+#/2,-#/2,BS#/1,Log#/1 ,Log'#/1,Max#/1,Min#/1,O#/1,Size#/1,Val#/1,WB#/1,and#/2,ge#/2,if#/3,not#/1} / {0/0,1/0,I/1,L/1,N/3,false/0 ,l/0,r/0,true/0,c_1/2,c_2/0,c_3/0,c_4/2,c_5/1,c_6/1,c_7/1,c_8/0,c_9/0,c_10/1,c_11/1,c_12/2,c_13/1,c_14/0 ,c_15/9,c_16/1,c_17/0,c_18/2,c_19/2,c_20/0,c_21/1,c_22/0,c_23/1,c_24/0,c_25/0,c_26/4,c_27/0,c_28/0,c_29/0 ,c_30/16,c_31/0,c_32/0,c_33/0,c_34/0,c_35/1,c_36/1,c_37/1,c_38/1,c_39/1,c_40/0,c_41/0,c_42/0,c_43/0} - Obligation: innermost runtime complexity wrt. defined symbols {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge# ,if#,not#} and constructors {0,1,I,L,N,false,l,r,true} + Applied Processor: RemoveWeakSuffixes + Details: Consider the dependency graph 1:W:+#(x,+(y,z)) -> c_1(+#(+(x,y),z),+#(x,y)) -->_2 +#(O(x),O(y)) -> c_7(+#(x,y)):5 -->_1 +#(O(x),O(y)) -> c_7(+#(x,y)):5 -->_2 +#(O(x),I(y)) -> c_6(+#(x,y)):4 -->_1 +#(O(x),I(y)) -> c_6(+#(x,y)):4 -->_2 +#(I(x),O(y)) -> c_5(+#(x,y)):3 -->_1 +#(I(x),O(y)) -> c_5(+#(x,y)):3 -->_2 +#(I(x),I(y)) -> c_4(+#(+(x,y),I(0())),+#(x,y)):2 -->_1 +#(I(x),I(y)) -> c_4(+#(+(x,y),I(0())),+#(x,y)):2 -->_2 +#(x,+(y,z)) -> c_1(+#(+(x,y),z),+#(x,y)):1 -->_1 +#(x,+(y,z)) -> c_1(+#(+(x,y),z),+#(x,y)):1 2:W:+#(I(x),I(y)) -> c_4(+#(+(x,y),I(0())),+#(x,y)) -->_2 +#(O(x),O(y)) -> c_7(+#(x,y)):5 -->_2 +#(O(x),I(y)) -> c_6(+#(x,y)):4 -->_1 +#(O(x),I(y)) -> c_6(+#(x,y)):4 -->_2 +#(I(x),O(y)) -> c_5(+#(x,y)):3 -->_2 +#(I(x),I(y)) -> c_4(+#(+(x,y),I(0())),+#(x,y)):2 -->_1 +#(I(x),I(y)) -> c_4(+#(+(x,y),I(0())),+#(x,y)):2 -->_2 +#(x,+(y,z)) -> c_1(+#(+(x,y),z),+#(x,y)):1 3:W:+#(I(x),O(y)) -> c_5(+#(x,y)) -->_1 +#(O(x),O(y)) -> c_7(+#(x,y)):5 -->_1 +#(O(x),I(y)) -> c_6(+#(x,y)):4 -->_1 +#(I(x),O(y)) -> c_5(+#(x,y)):3 -->_1 +#(I(x),I(y)) -> c_4(+#(+(x,y),I(0())),+#(x,y)):2 -->_1 +#(x,+(y,z)) -> c_1(+#(+(x,y),z),+#(x,y)):1 4:W:+#(O(x),I(y)) -> c_6(+#(x,y)) -->_1 +#(O(x),O(y)) -> c_7(+#(x,y)):5 -->_1 +#(O(x),I(y)) -> c_6(+#(x,y)):4 -->_1 +#(I(x),O(y)) -> c_5(+#(x,y)):3 -->_1 +#(I(x),I(y)) -> c_4(+#(+(x,y),I(0())),+#(x,y)):2 -->_1 +#(x,+(y,z)) -> c_1(+#(+(x,y),z),+#(x,y)):1 5:W:+#(O(x),O(y)) -> c_7(+#(x,y)) -->_1 +#(O(x),O(y)) -> c_7(+#(x,y)):5 -->_1 +#(O(x),I(y)) -> c_6(+#(x,y)):4 -->_1 +#(I(x),O(y)) -> c_5(+#(x,y)):3 -->_1 +#(I(x),I(y)) -> c_4(+#(+(x,y),I(0())),+#(x,y)):2 -->_1 +#(x,+(y,z)) -> c_1(+#(+(x,y),z),+#(x,y)):1 6:W:Log#(x) -> c_16(Log'#(x)) -->_1 Log'#(O(x)) -> c_19(+#(Log'(x),I(0())),Log'#(x)):8 -->_1 Log'#(I(x)) -> c_18(+#(Log'(x),I(0())),Log'#(x)):7 7:W:Log'#(I(x)) -> c_18(+#(Log'(x),I(0())),Log'#(x)) -->_2 Log'#(O(x)) -> c_19(+#(Log'(x),I(0())),Log'#(x)):8 -->_2 Log'#(I(x)) -> c_18(+#(Log'(x),I(0())),Log'#(x)):7 -->_1 +#(O(x),I(y)) -> c_6(+#(x,y)):4 -->_1 +#(I(x),I(y)) -> c_4(+#(+(x,y),I(0())),+#(x,y)):2 8:W:Log'#(O(x)) -> c_19(+#(Log'(x),I(0())),Log'#(x)) -->_2 Log'#(O(x)) -> c_19(+#(Log'(x),I(0())),Log'#(x)):8 -->_2 Log'#(I(x)) -> c_18(+#(Log'(x),I(0())),Log'#(x)):7 -->_1 +#(O(x),I(y)) -> c_6(+#(x,y)):4 -->_1 +#(I(x),I(y)) -> c_4(+#(+(x,y),I(0())),+#(x,y)):2 The following weak DPs constitute a sub-graph of the DG that is closed under successors. The DPs are removed. 6: Log#(x) -> c_16(Log'#(x)) 8: Log'#(O(x)) -> c_19(+#(Log'(x),I(0())),Log'#(x)) 7: Log'#(I(x)) -> c_18(+#(Log'(x),I(0())),Log'#(x)) 1: +#(x,+(y,z)) -> c_1(+#(+(x,y),z),+#(x,y)) 5: +#(O(x),O(y)) -> c_7(+#(x,y)) 4: +#(O(x),I(y)) -> c_6(+#(x,y)) 3: +#(I(x),O(y)) -> c_5(+#(x,y)) 2: +#(I(x),I(y)) -> c_4(+#(+(x,y),I(0())),+#(x,y)) ******* Step 8.a:4.b:1.b:1.b:1.b:1.b:2: EmptyProcessor WORST_CASE(?,O(1)) + Considered Problem: - Weak TRS: +(x,+(y,z)) -> +(+(x,y),z) +(x,0()) -> x +(0(),x) -> x +(I(x),I(y)) -> O(+(+(x,y),I(0()))) +(I(x),O(y)) -> I(+(x,y)) +(O(x),I(y)) -> I(+(x,y)) +(O(x),O(y)) -> O(+(x,y)) Log'(0()) -> 0() Log'(I(x)) -> +(Log'(x),I(0())) Log'(O(x)) -> if(ge(x,I(0())),+(Log'(x),I(0())),0()) O(0()) -> 0() ge(x,0()) -> true() ge(0(),I(x)) -> false() ge(0(),O(x)) -> ge(0(),x) ge(I(x),I(y)) -> ge(x,y) ge(I(x),O(y)) -> ge(x,y) ge(O(x),I(y)) -> not(ge(y,x)) ge(O(x),O(y)) -> ge(x,y) if(false(),x,y) -> y if(true(),x,y) -> x not(false()) -> true() not(true()) -> false() - Signature: {+/2,-/2,BS/1,Log/1,Log'/1,Max/1,Min/1,O/1,Size/1,Val/1,WB/1,and/2,ge/2,if/3,not/1,+#/2,-#/2,BS#/1,Log#/1 ,Log'#/1,Max#/1,Min#/1,O#/1,Size#/1,Val#/1,WB#/1,and#/2,ge#/2,if#/3,not#/1} / {0/0,1/0,I/1,L/1,N/3,false/0 ,l/0,r/0,true/0,c_1/2,c_2/0,c_3/0,c_4/2,c_5/1,c_6/1,c_7/1,c_8/0,c_9/0,c_10/1,c_11/1,c_12/2,c_13/1,c_14/0 ,c_15/9,c_16/1,c_17/0,c_18/2,c_19/2,c_20/0,c_21/1,c_22/0,c_23/1,c_24/0,c_25/0,c_26/4,c_27/0,c_28/0,c_29/0 ,c_30/16,c_31/0,c_32/0,c_33/0,c_34/0,c_35/1,c_36/1,c_37/1,c_38/1,c_39/1,c_40/0,c_41/0,c_42/0,c_43/0} - Obligation: innermost runtime complexity wrt. defined symbols {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge# ,if#,not#} and constructors {0,1,I,L,N,false,l,r,true} + Applied Processor: EmptyProcessor + Details: The problem is already closed. The intended complexity is O(1). ** Step 8.b:1: RemoveWeakSuffixes WORST_CASE(?,O(n^2)) + Considered Problem: - Strict DPs: -#(I(x),I(y)) -> c_10(-#(x,y)) -#(I(x),O(y)) -> c_11(-#(x,y)) -#(O(x),I(y)) -> c_12(-#(-(x,y),I(1())),-#(x,y)) -#(O(x),O(y)) -> c_13(-#(x,y)) Log#(x) -> c_16(-#(Log'(x),I(0())),Log'#(x)) Log'#(I(x)) -> c_18(+#(Log'(x),I(0())),Log'#(x)) Log'#(O(x)) -> c_19(ge#(x,I(0())),+#(Log'(x),I(0())),Log'#(x)) ge#(0(),O(x)) -> c_35(ge#(0(),x)) ge#(I(x),I(y)) -> c_36(ge#(x,y)) ge#(I(x),O(y)) -> c_37(ge#(x,y)) ge#(O(x),I(y)) -> c_38(ge#(y,x)) ge#(O(x),O(y)) -> c_39(ge#(x,y)) - Weak DPs: +#(x,+(y,z)) -> c_1(+#(+(x,y),z),+#(x,y)) +#(I(x),I(y)) -> c_4(+#(+(x,y),I(0())),+#(x,y)) +#(I(x),O(y)) -> c_5(+#(x,y)) +#(O(x),I(y)) -> c_6(+#(x,y)) +#(O(x),O(y)) -> c_7(+#(x,y)) - Weak TRS: +(x,+(y,z)) -> +(+(x,y),z) +(x,0()) -> x +(0(),x) -> x +(I(x),I(y)) -> O(+(+(x,y),I(0()))) +(I(x),O(y)) -> I(+(x,y)) +(O(x),I(y)) -> I(+(x,y)) +(O(x),O(y)) -> O(+(x,y)) -(x,0()) -> x -(0(),x) -> 0() -(I(x),I(y)) -> O(-(x,y)) -(I(x),O(y)) -> I(-(x,y)) -(O(x),I(y)) -> I(-(-(x,y),I(1()))) -(O(x),O(y)) -> O(-(x,y)) Log'(0()) -> 0() Log'(I(x)) -> +(Log'(x),I(0())) Log'(O(x)) -> if(ge(x,I(0())),+(Log'(x),I(0())),0()) O(0()) -> 0() ge(x,0()) -> true() ge(0(),I(x)) -> false() ge(0(),O(x)) -> ge(0(),x) ge(I(x),I(y)) -> ge(x,y) ge(I(x),O(y)) -> ge(x,y) ge(O(x),I(y)) -> not(ge(y,x)) ge(O(x),O(y)) -> ge(x,y) if(false(),x,y) -> y if(true(),x,y) -> x not(false()) -> true() not(true()) -> false() - Signature: {+/2,-/2,BS/1,Log/1,Log'/1,Max/1,Min/1,O/1,Size/1,Val/1,WB/1,and/2,ge/2,if/3,not/1,+#/2,-#/2,BS#/1,Log#/1 ,Log'#/1,Max#/1,Min#/1,O#/1,Size#/1,Val#/1,WB#/1,and#/2,ge#/2,if#/3,not#/1} / {0/0,1/0,I/1,L/1,N/3,false/0 ,l/0,r/0,true/0,c_1/2,c_2/0,c_3/0,c_4/2,c_5/1,c_6/1,c_7/1,c_8/0,c_9/0,c_10/1,c_11/1,c_12/2,c_13/1,c_14/0 ,c_15/9,c_16/2,c_17/0,c_18/2,c_19/3,c_20/0,c_21/1,c_22/0,c_23/1,c_24/0,c_25/0,c_26/4,c_27/0,c_28/0,c_29/0 ,c_30/16,c_31/0,c_32/0,c_33/0,c_34/0,c_35/1,c_36/1,c_37/1,c_38/1,c_39/1,c_40/0,c_41/0,c_42/0,c_43/0} - Obligation: innermost runtime complexity wrt. defined symbols {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge# ,if#,not#} and constructors {0,1,I,L,N,false,l,r,true} + Applied Processor: RemoveWeakSuffixes + Details: Consider the dependency graph 1:S:-#(I(x),I(y)) -> c_10(-#(x,y)) -->_1 -#(O(x),O(y)) -> c_13(-#(x,y)):4 -->_1 -#(O(x),I(y)) -> c_12(-#(-(x,y),I(1())),-#(x,y)):3 -->_1 -#(I(x),O(y)) -> c_11(-#(x,y)):2 -->_1 -#(I(x),I(y)) -> c_10(-#(x,y)):1 2:S:-#(I(x),O(y)) -> c_11(-#(x,y)) -->_1 -#(O(x),O(y)) -> c_13(-#(x,y)):4 -->_1 -#(O(x),I(y)) -> c_12(-#(-(x,y),I(1())),-#(x,y)):3 -->_1 -#(I(x),O(y)) -> c_11(-#(x,y)):2 -->_1 -#(I(x),I(y)) -> c_10(-#(x,y)):1 3:S:-#(O(x),I(y)) -> c_12(-#(-(x,y),I(1())),-#(x,y)) -->_2 -#(O(x),O(y)) -> c_13(-#(x,y)):4 -->_2 -#(O(x),I(y)) -> c_12(-#(-(x,y),I(1())),-#(x,y)):3 -->_1 -#(O(x),I(y)) -> c_12(-#(-(x,y),I(1())),-#(x,y)):3 -->_2 -#(I(x),O(y)) -> c_11(-#(x,y)):2 -->_2 -#(I(x),I(y)) -> c_10(-#(x,y)):1 -->_1 -#(I(x),I(y)) -> c_10(-#(x,y)):1 4:S:-#(O(x),O(y)) -> c_13(-#(x,y)) -->_1 -#(O(x),O(y)) -> c_13(-#(x,y)):4 -->_1 -#(O(x),I(y)) -> c_12(-#(-(x,y),I(1())),-#(x,y)):3 -->_1 -#(I(x),O(y)) -> c_11(-#(x,y)):2 -->_1 -#(I(x),I(y)) -> c_10(-#(x,y)):1 5:S:Log#(x) -> c_16(-#(Log'(x),I(0())),Log'#(x)) -->_2 Log'#(O(x)) -> c_19(ge#(x,I(0())),+#(Log'(x),I(0())),Log'#(x)):7 -->_2 Log'#(I(x)) -> c_18(+#(Log'(x),I(0())),Log'#(x)):6 -->_1 -#(O(x),I(y)) -> c_12(-#(-(x,y),I(1())),-#(x,y)):3 -->_1 -#(I(x),I(y)) -> c_10(-#(x,y)):1 6:S:Log'#(I(x)) -> c_18(+#(Log'(x),I(0())),Log'#(x)) -->_1 +#(O(x),I(y)) -> c_6(+#(x,y)):16 -->_1 +#(I(x),I(y)) -> c_4(+#(+(x,y),I(0())),+#(x,y)):14 -->_2 Log'#(O(x)) -> c_19(ge#(x,I(0())),+#(Log'(x),I(0())),Log'#(x)):7 -->_2 Log'#(I(x)) -> c_18(+#(Log'(x),I(0())),Log'#(x)):6 7:S:Log'#(O(x)) -> c_19(ge#(x,I(0())),+#(Log'(x),I(0())),Log'#(x)) -->_2 +#(O(x),I(y)) -> c_6(+#(x,y)):16 -->_2 +#(I(x),I(y)) -> c_4(+#(+(x,y),I(0())),+#(x,y)):14 -->_1 ge#(O(x),I(y)) -> c_38(ge#(y,x)):11 -->_1 ge#(I(x),I(y)) -> c_36(ge#(x,y)):9 -->_3 Log'#(O(x)) -> c_19(ge#(x,I(0())),+#(Log'(x),I(0())),Log'#(x)):7 -->_3 Log'#(I(x)) -> c_18(+#(Log'(x),I(0())),Log'#(x)):6 8:S:ge#(0(),O(x)) -> c_35(ge#(0(),x)) -->_1 ge#(0(),O(x)) -> c_35(ge#(0(),x)):8 9:S:ge#(I(x),I(y)) -> c_36(ge#(x,y)) -->_1 ge#(O(x),O(y)) -> c_39(ge#(x,y)):12 -->_1 ge#(O(x),I(y)) -> c_38(ge#(y,x)):11 -->_1 ge#(I(x),O(y)) -> c_37(ge#(x,y)):10 -->_1 ge#(I(x),I(y)) -> c_36(ge#(x,y)):9 -->_1 ge#(0(),O(x)) -> c_35(ge#(0(),x)):8 10:S:ge#(I(x),O(y)) -> c_37(ge#(x,y)) -->_1 ge#(O(x),O(y)) -> c_39(ge#(x,y)):12 -->_1 ge#(O(x),I(y)) -> c_38(ge#(y,x)):11 -->_1 ge#(I(x),O(y)) -> c_37(ge#(x,y)):10 -->_1 ge#(I(x),I(y)) -> c_36(ge#(x,y)):9 -->_1 ge#(0(),O(x)) -> c_35(ge#(0(),x)):8 11:S:ge#(O(x),I(y)) -> c_38(ge#(y,x)) -->_1 ge#(O(x),O(y)) -> c_39(ge#(x,y)):12 -->_1 ge#(O(x),I(y)) -> c_38(ge#(y,x)):11 -->_1 ge#(I(x),O(y)) -> c_37(ge#(x,y)):10 -->_1 ge#(I(x),I(y)) -> c_36(ge#(x,y)):9 -->_1 ge#(0(),O(x)) -> c_35(ge#(0(),x)):8 12:S:ge#(O(x),O(y)) -> c_39(ge#(x,y)) -->_1 ge#(O(x),O(y)) -> c_39(ge#(x,y)):12 -->_1 ge#(O(x),I(y)) -> c_38(ge#(y,x)):11 -->_1 ge#(I(x),O(y)) -> c_37(ge#(x,y)):10 -->_1 ge#(I(x),I(y)) -> c_36(ge#(x,y)):9 -->_1 ge#(0(),O(x)) -> c_35(ge#(0(),x)):8 13:W:+#(x,+(y,z)) -> c_1(+#(+(x,y),z),+#(x,y)) -->_2 +#(O(x),O(y)) -> c_7(+#(x,y)):17 -->_1 +#(O(x),O(y)) -> c_7(+#(x,y)):17 -->_2 +#(O(x),I(y)) -> c_6(+#(x,y)):16 -->_1 +#(O(x),I(y)) -> c_6(+#(x,y)):16 -->_2 +#(I(x),O(y)) -> c_5(+#(x,y)):15 -->_1 +#(I(x),O(y)) -> c_5(+#(x,y)):15 -->_2 +#(I(x),I(y)) -> c_4(+#(+(x,y),I(0())),+#(x,y)):14 -->_1 +#(I(x),I(y)) -> c_4(+#(+(x,y),I(0())),+#(x,y)):14 -->_2 +#(x,+(y,z)) -> c_1(+#(+(x,y),z),+#(x,y)):13 -->_1 +#(x,+(y,z)) -> c_1(+#(+(x,y),z),+#(x,y)):13 14:W:+#(I(x),I(y)) -> c_4(+#(+(x,y),I(0())),+#(x,y)) -->_2 +#(O(x),O(y)) -> c_7(+#(x,y)):17 -->_2 +#(O(x),I(y)) -> c_6(+#(x,y)):16 -->_1 +#(O(x),I(y)) -> c_6(+#(x,y)):16 -->_2 +#(I(x),O(y)) -> c_5(+#(x,y)):15 -->_2 +#(I(x),I(y)) -> c_4(+#(+(x,y),I(0())),+#(x,y)):14 -->_1 +#(I(x),I(y)) -> c_4(+#(+(x,y),I(0())),+#(x,y)):14 -->_2 +#(x,+(y,z)) -> c_1(+#(+(x,y),z),+#(x,y)):13 15:W:+#(I(x),O(y)) -> c_5(+#(x,y)) -->_1 +#(O(x),O(y)) -> c_7(+#(x,y)):17 -->_1 +#(O(x),I(y)) -> c_6(+#(x,y)):16 -->_1 +#(I(x),O(y)) -> c_5(+#(x,y)):15 -->_1 +#(I(x),I(y)) -> c_4(+#(+(x,y),I(0())),+#(x,y)):14 -->_1 +#(x,+(y,z)) -> c_1(+#(+(x,y),z),+#(x,y)):13 16:W:+#(O(x),I(y)) -> c_6(+#(x,y)) -->_1 +#(O(x),O(y)) -> c_7(+#(x,y)):17 -->_1 +#(O(x),I(y)) -> c_6(+#(x,y)):16 -->_1 +#(I(x),O(y)) -> c_5(+#(x,y)):15 -->_1 +#(I(x),I(y)) -> c_4(+#(+(x,y),I(0())),+#(x,y)):14 -->_1 +#(x,+(y,z)) -> c_1(+#(+(x,y),z),+#(x,y)):13 17:W:+#(O(x),O(y)) -> c_7(+#(x,y)) -->_1 +#(O(x),O(y)) -> c_7(+#(x,y)):17 -->_1 +#(O(x),I(y)) -> c_6(+#(x,y)):16 -->_1 +#(I(x),O(y)) -> c_5(+#(x,y)):15 -->_1 +#(I(x),I(y)) -> c_4(+#(+(x,y),I(0())),+#(x,y)):14 -->_1 +#(x,+(y,z)) -> c_1(+#(+(x,y),z),+#(x,y)):13 The following weak DPs constitute a sub-graph of the DG that is closed under successors. The DPs are removed. 16: +#(O(x),I(y)) -> c_6(+#(x,y)) 17: +#(O(x),O(y)) -> c_7(+#(x,y)) 15: +#(I(x),O(y)) -> c_5(+#(x,y)) 14: +#(I(x),I(y)) -> c_4(+#(+(x,y),I(0())),+#(x,y)) 13: +#(x,+(y,z)) -> c_1(+#(+(x,y),z),+#(x,y)) ** Step 8.b:2: SimplifyRHS WORST_CASE(?,O(n^2)) + Considered Problem: - Strict DPs: -#(I(x),I(y)) -> c_10(-#(x,y)) -#(I(x),O(y)) -> c_11(-#(x,y)) -#(O(x),I(y)) -> c_12(-#(-(x,y),I(1())),-#(x,y)) -#(O(x),O(y)) -> c_13(-#(x,y)) Log#(x) -> c_16(-#(Log'(x),I(0())),Log'#(x)) Log'#(I(x)) -> c_18(+#(Log'(x),I(0())),Log'#(x)) Log'#(O(x)) -> c_19(ge#(x,I(0())),+#(Log'(x),I(0())),Log'#(x)) ge#(0(),O(x)) -> c_35(ge#(0(),x)) ge#(I(x),I(y)) -> c_36(ge#(x,y)) ge#(I(x),O(y)) -> c_37(ge#(x,y)) ge#(O(x),I(y)) -> c_38(ge#(y,x)) ge#(O(x),O(y)) -> c_39(ge#(x,y)) - Weak TRS: +(x,+(y,z)) -> +(+(x,y),z) +(x,0()) -> x +(0(),x) -> x +(I(x),I(y)) -> O(+(+(x,y),I(0()))) +(I(x),O(y)) -> I(+(x,y)) +(O(x),I(y)) -> I(+(x,y)) +(O(x),O(y)) -> O(+(x,y)) -(x,0()) -> x -(0(),x) -> 0() -(I(x),I(y)) -> O(-(x,y)) -(I(x),O(y)) -> I(-(x,y)) -(O(x),I(y)) -> I(-(-(x,y),I(1()))) -(O(x),O(y)) -> O(-(x,y)) Log'(0()) -> 0() Log'(I(x)) -> +(Log'(x),I(0())) Log'(O(x)) -> if(ge(x,I(0())),+(Log'(x),I(0())),0()) O(0()) -> 0() ge(x,0()) -> true() ge(0(),I(x)) -> false() ge(0(),O(x)) -> ge(0(),x) ge(I(x),I(y)) -> ge(x,y) ge(I(x),O(y)) -> ge(x,y) ge(O(x),I(y)) -> not(ge(y,x)) ge(O(x),O(y)) -> ge(x,y) if(false(),x,y) -> y if(true(),x,y) -> x not(false()) -> true() not(true()) -> false() - Signature: {+/2,-/2,BS/1,Log/1,Log'/1,Max/1,Min/1,O/1,Size/1,Val/1,WB/1,and/2,ge/2,if/3,not/1,+#/2,-#/2,BS#/1,Log#/1 ,Log'#/1,Max#/1,Min#/1,O#/1,Size#/1,Val#/1,WB#/1,and#/2,ge#/2,if#/3,not#/1} / {0/0,1/0,I/1,L/1,N/3,false/0 ,l/0,r/0,true/0,c_1/2,c_2/0,c_3/0,c_4/2,c_5/1,c_6/1,c_7/1,c_8/0,c_9/0,c_10/1,c_11/1,c_12/2,c_13/1,c_14/0 ,c_15/9,c_16/2,c_17/0,c_18/2,c_19/3,c_20/0,c_21/1,c_22/0,c_23/1,c_24/0,c_25/0,c_26/4,c_27/0,c_28/0,c_29/0 ,c_30/16,c_31/0,c_32/0,c_33/0,c_34/0,c_35/1,c_36/1,c_37/1,c_38/1,c_39/1,c_40/0,c_41/0,c_42/0,c_43/0} - Obligation: innermost runtime complexity wrt. defined symbols {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge# ,if#,not#} and constructors {0,1,I,L,N,false,l,r,true} + Applied Processor: SimplifyRHS + Details: Consider the dependency graph 1:S:-#(I(x),I(y)) -> c_10(-#(x,y)) -->_1 -#(O(x),O(y)) -> c_13(-#(x,y)):4 -->_1 -#(O(x),I(y)) -> c_12(-#(-(x,y),I(1())),-#(x,y)):3 -->_1 -#(I(x),O(y)) -> c_11(-#(x,y)):2 -->_1 -#(I(x),I(y)) -> c_10(-#(x,y)):1 2:S:-#(I(x),O(y)) -> c_11(-#(x,y)) -->_1 -#(O(x),O(y)) -> c_13(-#(x,y)):4 -->_1 -#(O(x),I(y)) -> c_12(-#(-(x,y),I(1())),-#(x,y)):3 -->_1 -#(I(x),O(y)) -> c_11(-#(x,y)):2 -->_1 -#(I(x),I(y)) -> c_10(-#(x,y)):1 3:S:-#(O(x),I(y)) -> c_12(-#(-(x,y),I(1())),-#(x,y)) -->_2 -#(O(x),O(y)) -> c_13(-#(x,y)):4 -->_2 -#(O(x),I(y)) -> c_12(-#(-(x,y),I(1())),-#(x,y)):3 -->_1 -#(O(x),I(y)) -> c_12(-#(-(x,y),I(1())),-#(x,y)):3 -->_2 -#(I(x),O(y)) -> c_11(-#(x,y)):2 -->_2 -#(I(x),I(y)) -> c_10(-#(x,y)):1 -->_1 -#(I(x),I(y)) -> c_10(-#(x,y)):1 4:S:-#(O(x),O(y)) -> c_13(-#(x,y)) -->_1 -#(O(x),O(y)) -> c_13(-#(x,y)):4 -->_1 -#(O(x),I(y)) -> c_12(-#(-(x,y),I(1())),-#(x,y)):3 -->_1 -#(I(x),O(y)) -> c_11(-#(x,y)):2 -->_1 -#(I(x),I(y)) -> c_10(-#(x,y)):1 5:S:Log#(x) -> c_16(-#(Log'(x),I(0())),Log'#(x)) -->_2 Log'#(O(x)) -> c_19(ge#(x,I(0())),+#(Log'(x),I(0())),Log'#(x)):7 -->_2 Log'#(I(x)) -> c_18(+#(Log'(x),I(0())),Log'#(x)):6 -->_1 -#(O(x),I(y)) -> c_12(-#(-(x,y),I(1())),-#(x,y)):3 -->_1 -#(I(x),I(y)) -> c_10(-#(x,y)):1 6:S:Log'#(I(x)) -> c_18(+#(Log'(x),I(0())),Log'#(x)) -->_2 Log'#(O(x)) -> c_19(ge#(x,I(0())),+#(Log'(x),I(0())),Log'#(x)):7 -->_2 Log'#(I(x)) -> c_18(+#(Log'(x),I(0())),Log'#(x)):6 7:S:Log'#(O(x)) -> c_19(ge#(x,I(0())),+#(Log'(x),I(0())),Log'#(x)) -->_1 ge#(O(x),I(y)) -> c_38(ge#(y,x)):11 -->_1 ge#(I(x),I(y)) -> c_36(ge#(x,y)):9 -->_3 Log'#(O(x)) -> c_19(ge#(x,I(0())),+#(Log'(x),I(0())),Log'#(x)):7 -->_3 Log'#(I(x)) -> c_18(+#(Log'(x),I(0())),Log'#(x)):6 8:S:ge#(0(),O(x)) -> c_35(ge#(0(),x)) -->_1 ge#(0(),O(x)) -> c_35(ge#(0(),x)):8 9:S:ge#(I(x),I(y)) -> c_36(ge#(x,y)) -->_1 ge#(O(x),O(y)) -> c_39(ge#(x,y)):12 -->_1 ge#(O(x),I(y)) -> c_38(ge#(y,x)):11 -->_1 ge#(I(x),O(y)) -> c_37(ge#(x,y)):10 -->_1 ge#(I(x),I(y)) -> c_36(ge#(x,y)):9 -->_1 ge#(0(),O(x)) -> c_35(ge#(0(),x)):8 10:S:ge#(I(x),O(y)) -> c_37(ge#(x,y)) -->_1 ge#(O(x),O(y)) -> c_39(ge#(x,y)):12 -->_1 ge#(O(x),I(y)) -> c_38(ge#(y,x)):11 -->_1 ge#(I(x),O(y)) -> c_37(ge#(x,y)):10 -->_1 ge#(I(x),I(y)) -> c_36(ge#(x,y)):9 -->_1 ge#(0(),O(x)) -> c_35(ge#(0(),x)):8 11:S:ge#(O(x),I(y)) -> c_38(ge#(y,x)) -->_1 ge#(O(x),O(y)) -> c_39(ge#(x,y)):12 -->_1 ge#(O(x),I(y)) -> c_38(ge#(y,x)):11 -->_1 ge#(I(x),O(y)) -> c_37(ge#(x,y)):10 -->_1 ge#(I(x),I(y)) -> c_36(ge#(x,y)):9 -->_1 ge#(0(),O(x)) -> c_35(ge#(0(),x)):8 12:S:ge#(O(x),O(y)) -> c_39(ge#(x,y)) -->_1 ge#(O(x),O(y)) -> c_39(ge#(x,y)):12 -->_1 ge#(O(x),I(y)) -> c_38(ge#(y,x)):11 -->_1 ge#(I(x),O(y)) -> c_37(ge#(x,y)):10 -->_1 ge#(I(x),I(y)) -> c_36(ge#(x,y)):9 -->_1 ge#(0(),O(x)) -> c_35(ge#(0(),x)):8 Due to missing edges in the depndency graph, the right-hand sides of following rules could be simplified: Log'#(I(x)) -> c_18(Log'#(x)) Log'#(O(x)) -> c_19(ge#(x,I(0())),Log'#(x)) ** Step 8.b:3: Decompose WORST_CASE(?,O(n^2)) + Considered Problem: - Strict DPs: -#(I(x),I(y)) -> c_10(-#(x,y)) -#(I(x),O(y)) -> c_11(-#(x,y)) -#(O(x),I(y)) -> c_12(-#(-(x,y),I(1())),-#(x,y)) -#(O(x),O(y)) -> c_13(-#(x,y)) Log#(x) -> c_16(-#(Log'(x),I(0())),Log'#(x)) Log'#(I(x)) -> c_18(Log'#(x)) Log'#(O(x)) -> c_19(ge#(x,I(0())),Log'#(x)) ge#(0(),O(x)) -> c_35(ge#(0(),x)) ge#(I(x),I(y)) -> c_36(ge#(x,y)) ge#(I(x),O(y)) -> c_37(ge#(x,y)) ge#(O(x),I(y)) -> c_38(ge#(y,x)) ge#(O(x),O(y)) -> c_39(ge#(x,y)) - Weak TRS: +(x,+(y,z)) -> +(+(x,y),z) +(x,0()) -> x +(0(),x) -> x +(I(x),I(y)) -> O(+(+(x,y),I(0()))) +(I(x),O(y)) -> I(+(x,y)) +(O(x),I(y)) -> I(+(x,y)) +(O(x),O(y)) -> O(+(x,y)) -(x,0()) -> x -(0(),x) -> 0() -(I(x),I(y)) -> O(-(x,y)) -(I(x),O(y)) -> I(-(x,y)) -(O(x),I(y)) -> I(-(-(x,y),I(1()))) -(O(x),O(y)) -> O(-(x,y)) Log'(0()) -> 0() Log'(I(x)) -> +(Log'(x),I(0())) Log'(O(x)) -> if(ge(x,I(0())),+(Log'(x),I(0())),0()) O(0()) -> 0() ge(x,0()) -> true() ge(0(),I(x)) -> false() ge(0(),O(x)) -> ge(0(),x) ge(I(x),I(y)) -> ge(x,y) ge(I(x),O(y)) -> ge(x,y) ge(O(x),I(y)) -> not(ge(y,x)) ge(O(x),O(y)) -> ge(x,y) if(false(),x,y) -> y if(true(),x,y) -> x not(false()) -> true() not(true()) -> false() - Signature: {+/2,-/2,BS/1,Log/1,Log'/1,Max/1,Min/1,O/1,Size/1,Val/1,WB/1,and/2,ge/2,if/3,not/1,+#/2,-#/2,BS#/1,Log#/1 ,Log'#/1,Max#/1,Min#/1,O#/1,Size#/1,Val#/1,WB#/1,and#/2,ge#/2,if#/3,not#/1} / {0/0,1/0,I/1,L/1,N/3,false/0 ,l/0,r/0,true/0,c_1/2,c_2/0,c_3/0,c_4/2,c_5/1,c_6/1,c_7/1,c_8/0,c_9/0,c_10/1,c_11/1,c_12/2,c_13/1,c_14/0 ,c_15/9,c_16/2,c_17/0,c_18/1,c_19/2,c_20/0,c_21/1,c_22/0,c_23/1,c_24/0,c_25/0,c_26/4,c_27/0,c_28/0,c_29/0 ,c_30/16,c_31/0,c_32/0,c_33/0,c_34/0,c_35/1,c_36/1,c_37/1,c_38/1,c_39/1,c_40/0,c_41/0,c_42/0,c_43/0} - Obligation: innermost runtime complexity wrt. defined symbols {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge# ,if#,not#} and constructors {0,1,I,L,N,false,l,r,true} + Applied Processor: Decompose {onSelection = all cycle independent sub-graph, withBound = RelativeAdd} + Details: We analyse the complexity of following sub-problems (R) and (S). Problem (S) is obtained from the input problem by shifting strict rules from (R) into the weak component. Problem (R) - Strict DPs: -#(I(x),I(y)) -> c_10(-#(x,y)) -#(I(x),O(y)) -> c_11(-#(x,y)) -#(O(x),I(y)) -> c_12(-#(-(x,y),I(1())),-#(x,y)) -#(O(x),O(y)) -> c_13(-#(x,y)) - Weak DPs: Log#(x) -> c_16(-#(Log'(x),I(0())),Log'#(x)) Log'#(I(x)) -> c_18(Log'#(x)) Log'#(O(x)) -> c_19(ge#(x,I(0())),Log'#(x)) ge#(0(),O(x)) -> c_35(ge#(0(),x)) ge#(I(x),I(y)) -> c_36(ge#(x,y)) ge#(I(x),O(y)) -> c_37(ge#(x,y)) ge#(O(x),I(y)) -> c_38(ge#(y,x)) ge#(O(x),O(y)) -> c_39(ge#(x,y)) - Weak TRS: +(x,+(y,z)) -> +(+(x,y),z) +(x,0()) -> x +(0(),x) -> x +(I(x),I(y)) -> O(+(+(x,y),I(0()))) +(I(x),O(y)) -> I(+(x,y)) +(O(x),I(y)) -> I(+(x,y)) +(O(x),O(y)) -> O(+(x,y)) -(x,0()) -> x -(0(),x) -> 0() -(I(x),I(y)) -> O(-(x,y)) -(I(x),O(y)) -> I(-(x,y)) -(O(x),I(y)) -> I(-(-(x,y),I(1()))) -(O(x),O(y)) -> O(-(x,y)) Log'(0()) -> 0() Log'(I(x)) -> +(Log'(x),I(0())) Log'(O(x)) -> if(ge(x,I(0())),+(Log'(x),I(0())),0()) O(0()) -> 0() ge(x,0()) -> true() ge(0(),I(x)) -> false() ge(0(),O(x)) -> ge(0(),x) ge(I(x),I(y)) -> ge(x,y) ge(I(x),O(y)) -> ge(x,y) ge(O(x),I(y)) -> not(ge(y,x)) ge(O(x),O(y)) -> ge(x,y) if(false(),x,y) -> y if(true(),x,y) -> x not(false()) -> true() not(true()) -> false() - Signature: {+/2,-/2,BS/1,Log/1,Log'/1,Max/1,Min/1,O/1,Size/1,Val/1,WB/1,and/2,ge/2,if/3,not/1,+#/2,-#/2,BS#/1,Log#/1 ,Log'#/1,Max#/1,Min#/1,O#/1,Size#/1,Val#/1,WB#/1,and#/2,ge#/2,if#/3,not#/1} / {0/0,1/0,I/1,L/1,N/3,false/0 ,l/0,r/0,true/0,c_1/2,c_2/0,c_3/0,c_4/2,c_5/1,c_6/1,c_7/1,c_8/0,c_9/0,c_10/1,c_11/1,c_12/2,c_13/1,c_14/0 ,c_15/9,c_16/2,c_17/0,c_18/1,c_19/2,c_20/0,c_21/1,c_22/0,c_23/1,c_24/0,c_25/0,c_26/4,c_27/0,c_28/0,c_29/0 ,c_30/16,c_31/0,c_32/0,c_33/0,c_34/0,c_35/1,c_36/1,c_37/1,c_38/1,c_39/1,c_40/0,c_41/0,c_42/0,c_43/0} - Obligation: innermost runtime complexity wrt. defined symbols {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and# ,ge#,if#,not#} and constructors {0,1,I,L,N,false,l,r,true} Problem (S) - Strict DPs: Log#(x) -> c_16(-#(Log'(x),I(0())),Log'#(x)) Log'#(I(x)) -> c_18(Log'#(x)) Log'#(O(x)) -> c_19(ge#(x,I(0())),Log'#(x)) ge#(0(),O(x)) -> c_35(ge#(0(),x)) ge#(I(x),I(y)) -> c_36(ge#(x,y)) ge#(I(x),O(y)) -> c_37(ge#(x,y)) ge#(O(x),I(y)) -> c_38(ge#(y,x)) ge#(O(x),O(y)) -> c_39(ge#(x,y)) - Weak DPs: -#(I(x),I(y)) -> c_10(-#(x,y)) -#(I(x),O(y)) -> c_11(-#(x,y)) -#(O(x),I(y)) -> c_12(-#(-(x,y),I(1())),-#(x,y)) -#(O(x),O(y)) -> c_13(-#(x,y)) - Weak TRS: +(x,+(y,z)) -> +(+(x,y),z) +(x,0()) -> x +(0(),x) -> x +(I(x),I(y)) -> O(+(+(x,y),I(0()))) +(I(x),O(y)) -> I(+(x,y)) +(O(x),I(y)) -> I(+(x,y)) +(O(x),O(y)) -> O(+(x,y)) -(x,0()) -> x -(0(),x) -> 0() -(I(x),I(y)) -> O(-(x,y)) -(I(x),O(y)) -> I(-(x,y)) -(O(x),I(y)) -> I(-(-(x,y),I(1()))) -(O(x),O(y)) -> O(-(x,y)) Log'(0()) -> 0() Log'(I(x)) -> +(Log'(x),I(0())) Log'(O(x)) -> if(ge(x,I(0())),+(Log'(x),I(0())),0()) O(0()) -> 0() ge(x,0()) -> true() ge(0(),I(x)) -> false() ge(0(),O(x)) -> ge(0(),x) ge(I(x),I(y)) -> ge(x,y) ge(I(x),O(y)) -> ge(x,y) ge(O(x),I(y)) -> not(ge(y,x)) ge(O(x),O(y)) -> ge(x,y) if(false(),x,y) -> y if(true(),x,y) -> x not(false()) -> true() not(true()) -> false() - Signature: {+/2,-/2,BS/1,Log/1,Log'/1,Max/1,Min/1,O/1,Size/1,Val/1,WB/1,and/2,ge/2,if/3,not/1,+#/2,-#/2,BS#/1,Log#/1 ,Log'#/1,Max#/1,Min#/1,O#/1,Size#/1,Val#/1,WB#/1,and#/2,ge#/2,if#/3,not#/1} / {0/0,1/0,I/1,L/1,N/3,false/0 ,l/0,r/0,true/0,c_1/2,c_2/0,c_3/0,c_4/2,c_5/1,c_6/1,c_7/1,c_8/0,c_9/0,c_10/1,c_11/1,c_12/2,c_13/1,c_14/0 ,c_15/9,c_16/2,c_17/0,c_18/1,c_19/2,c_20/0,c_21/1,c_22/0,c_23/1,c_24/0,c_25/0,c_26/4,c_27/0,c_28/0,c_29/0 ,c_30/16,c_31/0,c_32/0,c_33/0,c_34/0,c_35/1,c_36/1,c_37/1,c_38/1,c_39/1,c_40/0,c_41/0,c_42/0,c_43/0} - Obligation: innermost runtime complexity wrt. defined symbols {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and# ,ge#,if#,not#} and constructors {0,1,I,L,N,false,l,r,true} *** Step 8.b:3.a:1: RemoveWeakSuffixes WORST_CASE(?,O(n^2)) + Considered Problem: - Strict DPs: -#(I(x),I(y)) -> c_10(-#(x,y)) -#(I(x),O(y)) -> c_11(-#(x,y)) -#(O(x),I(y)) -> c_12(-#(-(x,y),I(1())),-#(x,y)) -#(O(x),O(y)) -> c_13(-#(x,y)) - Weak DPs: Log#(x) -> c_16(-#(Log'(x),I(0())),Log'#(x)) Log'#(I(x)) -> c_18(Log'#(x)) Log'#(O(x)) -> c_19(ge#(x,I(0())),Log'#(x)) ge#(0(),O(x)) -> c_35(ge#(0(),x)) ge#(I(x),I(y)) -> c_36(ge#(x,y)) ge#(I(x),O(y)) -> c_37(ge#(x,y)) ge#(O(x),I(y)) -> c_38(ge#(y,x)) ge#(O(x),O(y)) -> c_39(ge#(x,y)) - Weak TRS: +(x,+(y,z)) -> +(+(x,y),z) +(x,0()) -> x +(0(),x) -> x +(I(x),I(y)) -> O(+(+(x,y),I(0()))) +(I(x),O(y)) -> I(+(x,y)) +(O(x),I(y)) -> I(+(x,y)) +(O(x),O(y)) -> O(+(x,y)) -(x,0()) -> x -(0(),x) -> 0() -(I(x),I(y)) -> O(-(x,y)) -(I(x),O(y)) -> I(-(x,y)) -(O(x),I(y)) -> I(-(-(x,y),I(1()))) -(O(x),O(y)) -> O(-(x,y)) Log'(0()) -> 0() Log'(I(x)) -> +(Log'(x),I(0())) Log'(O(x)) -> if(ge(x,I(0())),+(Log'(x),I(0())),0()) O(0()) -> 0() ge(x,0()) -> true() ge(0(),I(x)) -> false() ge(0(),O(x)) -> ge(0(),x) ge(I(x),I(y)) -> ge(x,y) ge(I(x),O(y)) -> ge(x,y) ge(O(x),I(y)) -> not(ge(y,x)) ge(O(x),O(y)) -> ge(x,y) if(false(),x,y) -> y if(true(),x,y) -> x not(false()) -> true() not(true()) -> false() - Signature: {+/2,-/2,BS/1,Log/1,Log'/1,Max/1,Min/1,O/1,Size/1,Val/1,WB/1,and/2,ge/2,if/3,not/1,+#/2,-#/2,BS#/1,Log#/1 ,Log'#/1,Max#/1,Min#/1,O#/1,Size#/1,Val#/1,WB#/1,and#/2,ge#/2,if#/3,not#/1} / {0/0,1/0,I/1,L/1,N/3,false/0 ,l/0,r/0,true/0,c_1/2,c_2/0,c_3/0,c_4/2,c_5/1,c_6/1,c_7/1,c_8/0,c_9/0,c_10/1,c_11/1,c_12/2,c_13/1,c_14/0 ,c_15/9,c_16/2,c_17/0,c_18/1,c_19/2,c_20/0,c_21/1,c_22/0,c_23/1,c_24/0,c_25/0,c_26/4,c_27/0,c_28/0,c_29/0 ,c_30/16,c_31/0,c_32/0,c_33/0,c_34/0,c_35/1,c_36/1,c_37/1,c_38/1,c_39/1,c_40/0,c_41/0,c_42/0,c_43/0} - Obligation: innermost runtime complexity wrt. defined symbols {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge# ,if#,not#} and constructors {0,1,I,L,N,false,l,r,true} + Applied Processor: RemoveWeakSuffixes + Details: Consider the dependency graph 1:S:-#(I(x),I(y)) -> c_10(-#(x,y)) -->_1 -#(O(x),O(y)) -> c_13(-#(x,y)):4 -->_1 -#(O(x),I(y)) -> c_12(-#(-(x,y),I(1())),-#(x,y)):3 -->_1 -#(I(x),O(y)) -> c_11(-#(x,y)):2 -->_1 -#(I(x),I(y)) -> c_10(-#(x,y)):1 2:S:-#(I(x),O(y)) -> c_11(-#(x,y)) -->_1 -#(I(x),I(y)) -> c_10(-#(x,y)):1 -->_1 -#(O(x),O(y)) -> c_13(-#(x,y)):4 -->_1 -#(O(x),I(y)) -> c_12(-#(-(x,y),I(1())),-#(x,y)):3 -->_1 -#(I(x),O(y)) -> c_11(-#(x,y)):2 3:S:-#(O(x),I(y)) -> c_12(-#(-(x,y),I(1())),-#(x,y)) -->_2 -#(I(x),I(y)) -> c_10(-#(x,y)):1 -->_1 -#(I(x),I(y)) -> c_10(-#(x,y)):1 -->_2 -#(I(x),O(y)) -> c_11(-#(x,y)):2 -->_2 -#(O(x),O(y)) -> c_13(-#(x,y)):4 -->_2 -#(O(x),I(y)) -> c_12(-#(-(x,y),I(1())),-#(x,y)):3 -->_1 -#(O(x),I(y)) -> c_12(-#(-(x,y),I(1())),-#(x,y)):3 4:S:-#(O(x),O(y)) -> c_13(-#(x,y)) -->_1 -#(I(x),I(y)) -> c_10(-#(x,y)):1 -->_1 -#(I(x),O(y)) -> c_11(-#(x,y)):2 -->_1 -#(O(x),I(y)) -> c_12(-#(-(x,y),I(1())),-#(x,y)):3 -->_1 -#(O(x),O(y)) -> c_13(-#(x,y)):4 5:W:Log#(x) -> c_16(-#(Log'(x),I(0())),Log'#(x)) -->_1 -#(I(x),I(y)) -> c_10(-#(x,y)):1 -->_1 -#(O(x),I(y)) -> c_12(-#(-(x,y),I(1())),-#(x,y)):3 -->_2 Log'#(O(x)) -> c_19(ge#(x,I(0())),Log'#(x)):7 -->_2 Log'#(I(x)) -> c_18(Log'#(x)):6 6:W:Log'#(I(x)) -> c_18(Log'#(x)) -->_1 Log'#(O(x)) -> c_19(ge#(x,I(0())),Log'#(x)):7 -->_1 Log'#(I(x)) -> c_18(Log'#(x)):6 7:W:Log'#(O(x)) -> c_19(ge#(x,I(0())),Log'#(x)) -->_2 Log'#(I(x)) -> c_18(Log'#(x)):6 -->_1 ge#(O(x),I(y)) -> c_38(ge#(y,x)):11 -->_1 ge#(I(x),I(y)) -> c_36(ge#(x,y)):9 -->_2 Log'#(O(x)) -> c_19(ge#(x,I(0())),Log'#(x)):7 8:W:ge#(0(),O(x)) -> c_35(ge#(0(),x)) -->_1 ge#(0(),O(x)) -> c_35(ge#(0(),x)):8 9:W:ge#(I(x),I(y)) -> c_36(ge#(x,y)) -->_1 ge#(0(),O(x)) -> c_35(ge#(0(),x)):8 -->_1 ge#(O(x),O(y)) -> c_39(ge#(x,y)):12 -->_1 ge#(O(x),I(y)) -> c_38(ge#(y,x)):11 -->_1 ge#(I(x),O(y)) -> c_37(ge#(x,y)):10 -->_1 ge#(I(x),I(y)) -> c_36(ge#(x,y)):9 10:W:ge#(I(x),O(y)) -> c_37(ge#(x,y)) -->_1 ge#(0(),O(x)) -> c_35(ge#(0(),x)):8 -->_1 ge#(I(x),I(y)) -> c_36(ge#(x,y)):9 -->_1 ge#(O(x),O(y)) -> c_39(ge#(x,y)):12 -->_1 ge#(O(x),I(y)) -> c_38(ge#(y,x)):11 -->_1 ge#(I(x),O(y)) -> c_37(ge#(x,y)):10 11:W:ge#(O(x),I(y)) -> c_38(ge#(y,x)) -->_1 ge#(0(),O(x)) -> c_35(ge#(0(),x)):8 -->_1 ge#(I(x),I(y)) -> c_36(ge#(x,y)):9 -->_1 ge#(I(x),O(y)) -> c_37(ge#(x,y)):10 -->_1 ge#(O(x),O(y)) -> c_39(ge#(x,y)):12 -->_1 ge#(O(x),I(y)) -> c_38(ge#(y,x)):11 12:W:ge#(O(x),O(y)) -> c_39(ge#(x,y)) -->_1 ge#(0(),O(x)) -> c_35(ge#(0(),x)):8 -->_1 ge#(I(x),I(y)) -> c_36(ge#(x,y)):9 -->_1 ge#(I(x),O(y)) -> c_37(ge#(x,y)):10 -->_1 ge#(O(x),I(y)) -> c_38(ge#(y,x)):11 -->_1 ge#(O(x),O(y)) -> c_39(ge#(x,y)):12 The following weak DPs constitute a sub-graph of the DG that is closed under successors. The DPs are removed. 7: Log'#(O(x)) -> c_19(ge#(x,I(0())),Log'#(x)) 6: Log'#(I(x)) -> c_18(Log'#(x)) 11: ge#(O(x),I(y)) -> c_38(ge#(y,x)) 12: ge#(O(x),O(y)) -> c_39(ge#(x,y)) 10: ge#(I(x),O(y)) -> c_37(ge#(x,y)) 9: ge#(I(x),I(y)) -> c_36(ge#(x,y)) 8: ge#(0(),O(x)) -> c_35(ge#(0(),x)) *** Step 8.b:3.a:2: SimplifyRHS WORST_CASE(?,O(n^2)) + Considered Problem: - Strict DPs: -#(I(x),I(y)) -> c_10(-#(x,y)) -#(I(x),O(y)) -> c_11(-#(x,y)) -#(O(x),I(y)) -> c_12(-#(-(x,y),I(1())),-#(x,y)) -#(O(x),O(y)) -> c_13(-#(x,y)) - Weak DPs: Log#(x) -> c_16(-#(Log'(x),I(0())),Log'#(x)) - Weak TRS: +(x,+(y,z)) -> +(+(x,y),z) +(x,0()) -> x +(0(),x) -> x +(I(x),I(y)) -> O(+(+(x,y),I(0()))) +(I(x),O(y)) -> I(+(x,y)) +(O(x),I(y)) -> I(+(x,y)) +(O(x),O(y)) -> O(+(x,y)) -(x,0()) -> x -(0(),x) -> 0() -(I(x),I(y)) -> O(-(x,y)) -(I(x),O(y)) -> I(-(x,y)) -(O(x),I(y)) -> I(-(-(x,y),I(1()))) -(O(x),O(y)) -> O(-(x,y)) Log'(0()) -> 0() Log'(I(x)) -> +(Log'(x),I(0())) Log'(O(x)) -> if(ge(x,I(0())),+(Log'(x),I(0())),0()) O(0()) -> 0() ge(x,0()) -> true() ge(0(),I(x)) -> false() ge(0(),O(x)) -> ge(0(),x) ge(I(x),I(y)) -> ge(x,y) ge(I(x),O(y)) -> ge(x,y) ge(O(x),I(y)) -> not(ge(y,x)) ge(O(x),O(y)) -> ge(x,y) if(false(),x,y) -> y if(true(),x,y) -> x not(false()) -> true() not(true()) -> false() - Signature: {+/2,-/2,BS/1,Log/1,Log'/1,Max/1,Min/1,O/1,Size/1,Val/1,WB/1,and/2,ge/2,if/3,not/1,+#/2,-#/2,BS#/1,Log#/1 ,Log'#/1,Max#/1,Min#/1,O#/1,Size#/1,Val#/1,WB#/1,and#/2,ge#/2,if#/3,not#/1} / {0/0,1/0,I/1,L/1,N/3,false/0 ,l/0,r/0,true/0,c_1/2,c_2/0,c_3/0,c_4/2,c_5/1,c_6/1,c_7/1,c_8/0,c_9/0,c_10/1,c_11/1,c_12/2,c_13/1,c_14/0 ,c_15/9,c_16/2,c_17/0,c_18/1,c_19/2,c_20/0,c_21/1,c_22/0,c_23/1,c_24/0,c_25/0,c_26/4,c_27/0,c_28/0,c_29/0 ,c_30/16,c_31/0,c_32/0,c_33/0,c_34/0,c_35/1,c_36/1,c_37/1,c_38/1,c_39/1,c_40/0,c_41/0,c_42/0,c_43/0} - Obligation: innermost runtime complexity wrt. defined symbols {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge# ,if#,not#} and constructors {0,1,I,L,N,false,l,r,true} + Applied Processor: SimplifyRHS + Details: Consider the dependency graph 1:S:-#(I(x),I(y)) -> c_10(-#(x,y)) -->_1 -#(O(x),O(y)) -> c_13(-#(x,y)):4 -->_1 -#(O(x),I(y)) -> c_12(-#(-(x,y),I(1())),-#(x,y)):3 -->_1 -#(I(x),O(y)) -> c_11(-#(x,y)):2 -->_1 -#(I(x),I(y)) -> c_10(-#(x,y)):1 2:S:-#(I(x),O(y)) -> c_11(-#(x,y)) -->_1 -#(I(x),I(y)) -> c_10(-#(x,y)):1 -->_1 -#(O(x),O(y)) -> c_13(-#(x,y)):4 -->_1 -#(O(x),I(y)) -> c_12(-#(-(x,y),I(1())),-#(x,y)):3 -->_1 -#(I(x),O(y)) -> c_11(-#(x,y)):2 3:S:-#(O(x),I(y)) -> c_12(-#(-(x,y),I(1())),-#(x,y)) -->_2 -#(I(x),I(y)) -> c_10(-#(x,y)):1 -->_1 -#(I(x),I(y)) -> c_10(-#(x,y)):1 -->_2 -#(I(x),O(y)) -> c_11(-#(x,y)):2 -->_2 -#(O(x),O(y)) -> c_13(-#(x,y)):4 -->_2 -#(O(x),I(y)) -> c_12(-#(-(x,y),I(1())),-#(x,y)):3 -->_1 -#(O(x),I(y)) -> c_12(-#(-(x,y),I(1())),-#(x,y)):3 4:S:-#(O(x),O(y)) -> c_13(-#(x,y)) -->_1 -#(I(x),I(y)) -> c_10(-#(x,y)):1 -->_1 -#(I(x),O(y)) -> c_11(-#(x,y)):2 -->_1 -#(O(x),I(y)) -> c_12(-#(-(x,y),I(1())),-#(x,y)):3 -->_1 -#(O(x),O(y)) -> c_13(-#(x,y)):4 5:W:Log#(x) -> c_16(-#(Log'(x),I(0())),Log'#(x)) -->_1 -#(I(x),I(y)) -> c_10(-#(x,y)):1 -->_1 -#(O(x),I(y)) -> c_12(-#(-(x,y),I(1())),-#(x,y)):3 Due to missing edges in the depndency graph, the right-hand sides of following rules could be simplified: Log#(x) -> c_16(-#(Log'(x),I(0()))) *** Step 8.b:3.a:3: PredecessorEstimationCP WORST_CASE(?,O(n^2)) + Considered Problem: - Strict DPs: -#(I(x),I(y)) -> c_10(-#(x,y)) -#(I(x),O(y)) -> c_11(-#(x,y)) -#(O(x),I(y)) -> c_12(-#(-(x,y),I(1())),-#(x,y)) -#(O(x),O(y)) -> c_13(-#(x,y)) - Weak DPs: Log#(x) -> c_16(-#(Log'(x),I(0()))) - Weak TRS: +(x,+(y,z)) -> +(+(x,y),z) +(x,0()) -> x +(0(),x) -> x +(I(x),I(y)) -> O(+(+(x,y),I(0()))) +(I(x),O(y)) -> I(+(x,y)) +(O(x),I(y)) -> I(+(x,y)) +(O(x),O(y)) -> O(+(x,y)) -(x,0()) -> x -(0(),x) -> 0() -(I(x),I(y)) -> O(-(x,y)) -(I(x),O(y)) -> I(-(x,y)) -(O(x),I(y)) -> I(-(-(x,y),I(1()))) -(O(x),O(y)) -> O(-(x,y)) Log'(0()) -> 0() Log'(I(x)) -> +(Log'(x),I(0())) Log'(O(x)) -> if(ge(x,I(0())),+(Log'(x),I(0())),0()) O(0()) -> 0() ge(x,0()) -> true() ge(0(),I(x)) -> false() ge(0(),O(x)) -> ge(0(),x) ge(I(x),I(y)) -> ge(x,y) ge(I(x),O(y)) -> ge(x,y) ge(O(x),I(y)) -> not(ge(y,x)) ge(O(x),O(y)) -> ge(x,y) if(false(),x,y) -> y if(true(),x,y) -> x not(false()) -> true() not(true()) -> false() - Signature: {+/2,-/2,BS/1,Log/1,Log'/1,Max/1,Min/1,O/1,Size/1,Val/1,WB/1,and/2,ge/2,if/3,not/1,+#/2,-#/2,BS#/1,Log#/1 ,Log'#/1,Max#/1,Min#/1,O#/1,Size#/1,Val#/1,WB#/1,and#/2,ge#/2,if#/3,not#/1} / {0/0,1/0,I/1,L/1,N/3,false/0 ,l/0,r/0,true/0,c_1/2,c_2/0,c_3/0,c_4/2,c_5/1,c_6/1,c_7/1,c_8/0,c_9/0,c_10/1,c_11/1,c_12/2,c_13/1,c_14/0 ,c_15/9,c_16/1,c_17/0,c_18/1,c_19/2,c_20/0,c_21/1,c_22/0,c_23/1,c_24/0,c_25/0,c_26/4,c_27/0,c_28/0,c_29/0 ,c_30/16,c_31/0,c_32/0,c_33/0,c_34/0,c_35/1,c_36/1,c_37/1,c_38/1,c_39/1,c_40/0,c_41/0,c_42/0,c_43/0} - Obligation: innermost runtime complexity wrt. defined symbols {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge# ,if#,not#} and constructors {0,1,I,L,N,false,l,r,true} + Applied Processor: PredecessorEstimationCP {onSelectionCP = any intersect of rules of CDG leaf and strict-rules, withComplexityPair = NaturalMI {miDimension = 1, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Nothing}} + Details: We first use the processor NaturalMI {miDimension = 1, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Nothing} to orient following rules strictly: 2: -#(I(x),O(y)) -> c_11(-#(x,y)) 4: -#(O(x),O(y)) -> c_13(-#(x,y)) Consider the set of all dependency pairs 1: -#(I(x),I(y)) -> c_10(-#(x,y)) 2: -#(I(x),O(y)) -> c_11(-#(x,y)) 3: -#(O(x),I(y)) -> c_12(-#(-(x,y),I(1())),-#(x,y)) 4: -#(O(x),O(y)) -> c_13(-#(x,y)) 5: Log#(x) -> c_16(-#(Log'(x),I(0()))) Processor NaturalMI {miDimension = 1, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Nothing}induces the complexity certificateTIME (?,O(n^1)) SPACE(?,?)on application of the dependency pairs {2,4} These cover all (indirect) predecessors of dependency pairs {2,4,5} their number of applications is equally bounded. The dependency pairs are shifted into the weak component. **** Step 8.b:3.a:3.a:1: NaturalMI WORST_CASE(?,O(n^1)) + Considered Problem: - Strict DPs: -#(I(x),I(y)) -> c_10(-#(x,y)) -#(I(x),O(y)) -> c_11(-#(x,y)) -#(O(x),I(y)) -> c_12(-#(-(x,y),I(1())),-#(x,y)) -#(O(x),O(y)) -> c_13(-#(x,y)) - Weak DPs: Log#(x) -> c_16(-#(Log'(x),I(0()))) - Weak TRS: +(x,+(y,z)) -> +(+(x,y),z) +(x,0()) -> x +(0(),x) -> x +(I(x),I(y)) -> O(+(+(x,y),I(0()))) +(I(x),O(y)) -> I(+(x,y)) +(O(x),I(y)) -> I(+(x,y)) +(O(x),O(y)) -> O(+(x,y)) -(x,0()) -> x -(0(),x) -> 0() -(I(x),I(y)) -> O(-(x,y)) -(I(x),O(y)) -> I(-(x,y)) -(O(x),I(y)) -> I(-(-(x,y),I(1()))) -(O(x),O(y)) -> O(-(x,y)) Log'(0()) -> 0() Log'(I(x)) -> +(Log'(x),I(0())) Log'(O(x)) -> if(ge(x,I(0())),+(Log'(x),I(0())),0()) O(0()) -> 0() ge(x,0()) -> true() ge(0(),I(x)) -> false() ge(0(),O(x)) -> ge(0(),x) ge(I(x),I(y)) -> ge(x,y) ge(I(x),O(y)) -> ge(x,y) ge(O(x),I(y)) -> not(ge(y,x)) ge(O(x),O(y)) -> ge(x,y) if(false(),x,y) -> y if(true(),x,y) -> x not(false()) -> true() not(true()) -> false() - Signature: {+/2,-/2,BS/1,Log/1,Log'/1,Max/1,Min/1,O/1,Size/1,Val/1,WB/1,and/2,ge/2,if/3,not/1,+#/2,-#/2,BS#/1,Log#/1 ,Log'#/1,Max#/1,Min#/1,O#/1,Size#/1,Val#/1,WB#/1,and#/2,ge#/2,if#/3,not#/1} / {0/0,1/0,I/1,L/1,N/3,false/0 ,l/0,r/0,true/0,c_1/2,c_2/0,c_3/0,c_4/2,c_5/1,c_6/1,c_7/1,c_8/0,c_9/0,c_10/1,c_11/1,c_12/2,c_13/1,c_14/0 ,c_15/9,c_16/1,c_17/0,c_18/1,c_19/2,c_20/0,c_21/1,c_22/0,c_23/1,c_24/0,c_25/0,c_26/4,c_27/0,c_28/0,c_29/0 ,c_30/16,c_31/0,c_32/0,c_33/0,c_34/0,c_35/1,c_36/1,c_37/1,c_38/1,c_39/1,c_40/0,c_41/0,c_42/0,c_43/0} - Obligation: innermost runtime complexity wrt. defined symbols {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge# ,if#,not#} and constructors {0,1,I,L,N,false,l,r,true} + Applied Processor: NaturalMI {miDimension = 1, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Just first alternative for predecessorEstimation on any intersect of rules of CDG leaf and strict-rules} + Details: We apply a matrix interpretation of kind constructor based matrix interpretation: The following argument positions are considered usable: uargs(c_10) = {1}, uargs(c_11) = {1}, uargs(c_12) = {1,2}, uargs(c_13) = {1}, uargs(c_16) = {1} Following symbols are considered usable: {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge#,if#,not#} TcT has computed the following interpretation: p(+) = [0] p(-) = [0] p(0) = [0] p(1) = [0] p(BS) = [0] p(I) = [1] x1 + [0] p(L) = [1] x1 + [0] p(Log) = [0] p(Log') = [0] p(Max) = [0] p(Min) = [0] p(N) = [1] x1 + [1] x2 + [1] x3 + [0] p(O) = [2] x1 + [1] p(Size) = [0] p(Val) = [0] p(WB) = [0] p(and) = [0] p(false) = [0] p(ge) = [2] x2 + [0] p(if) = [0] p(l) = [0] p(not) = [0] p(r) = [0] p(true) = [0] p(+#) = [0] p(-#) = [1] x2 + [0] p(BS#) = [0] p(Log#) = [0] p(Log'#) = [2] p(Max#) = [0] p(Min#) = [0] p(O#) = [0] p(Size#) = [0] p(Val#) = [0] p(WB#) = [0] p(and#) = [0] p(ge#) = [0] p(if#) = [0] p(not#) = [0] p(c_1) = [0] p(c_2) = [0] p(c_3) = [0] p(c_4) = [0] p(c_5) = [0] p(c_6) = [0] p(c_7) = [0] p(c_8) = [0] p(c_9) = [0] p(c_10) = [1] x1 + [0] p(c_11) = [1] x1 + [0] p(c_12) = [2] x1 + [1] x2 + [0] p(c_13) = [2] x1 + [0] p(c_14) = [0] p(c_15) = [1] x1 + [1] x5 + [4] x6 + [1] x8 + [0] p(c_16) = [2] x1 + [0] p(c_17) = [0] p(c_18) = [1] x1 + [0] p(c_19) = [1] x1 + [4] x2 + [0] p(c_20) = [0] p(c_21) = [0] p(c_22) = [0] p(c_23) = [0] p(c_24) = [0] p(c_25) = [0] p(c_26) = [4] x2 + [0] p(c_27) = [0] p(c_28) = [0] p(c_29) = [0] p(c_30) = [2] x4 + [1] x5 + [2] x6 + [4] x7 + [2] x8 + [1] x10 + [1] x12 + [2] x14 + [2] x16 + [0] p(c_31) = [0] p(c_32) = [0] p(c_33) = [0] p(c_34) = [0] p(c_35) = [4] x1 + [0] p(c_36) = [2] x1 + [0] p(c_37) = [0] p(c_38) = [0] p(c_39) = [0] p(c_40) = [0] p(c_41) = [0] p(c_42) = [0] p(c_43) = [0] Following rules are strictly oriented: -#(I(x),O(y)) = [2] y + [1] > [1] y + [0] = c_11(-#(x,y)) -#(O(x),O(y)) = [2] y + [1] > [2] y + [0] = c_13(-#(x,y)) Following rules are (at-least) weakly oriented: -#(I(x),I(y)) = [1] y + [0] >= [1] y + [0] = c_10(-#(x,y)) -#(O(x),I(y)) = [1] y + [0] >= [1] y + [0] = c_12(-#(-(x,y),I(1())),-#(x,y)) Log#(x) = [0] >= [0] = c_16(-#(Log'(x),I(0()))) **** Step 8.b:3.a:3.a:2: Assumption WORST_CASE(?,O(1)) + Considered Problem: - Strict DPs: -#(I(x),I(y)) -> c_10(-#(x,y)) -#(O(x),I(y)) -> c_12(-#(-(x,y),I(1())),-#(x,y)) - Weak DPs: -#(I(x),O(y)) -> c_11(-#(x,y)) -#(O(x),O(y)) -> c_13(-#(x,y)) Log#(x) -> c_16(-#(Log'(x),I(0()))) - Weak TRS: +(x,+(y,z)) -> +(+(x,y),z) +(x,0()) -> x +(0(),x) -> x +(I(x),I(y)) -> O(+(+(x,y),I(0()))) +(I(x),O(y)) -> I(+(x,y)) +(O(x),I(y)) -> I(+(x,y)) +(O(x),O(y)) -> O(+(x,y)) -(x,0()) -> x -(0(),x) -> 0() -(I(x),I(y)) -> O(-(x,y)) -(I(x),O(y)) -> I(-(x,y)) -(O(x),I(y)) -> I(-(-(x,y),I(1()))) -(O(x),O(y)) -> O(-(x,y)) Log'(0()) -> 0() Log'(I(x)) -> +(Log'(x),I(0())) Log'(O(x)) -> if(ge(x,I(0())),+(Log'(x),I(0())),0()) O(0()) -> 0() ge(x,0()) -> true() ge(0(),I(x)) -> false() ge(0(),O(x)) -> ge(0(),x) ge(I(x),I(y)) -> ge(x,y) ge(I(x),O(y)) -> ge(x,y) ge(O(x),I(y)) -> not(ge(y,x)) ge(O(x),O(y)) -> ge(x,y) if(false(),x,y) -> y if(true(),x,y) -> x not(false()) -> true() not(true()) -> false() - Signature: {+/2,-/2,BS/1,Log/1,Log'/1,Max/1,Min/1,O/1,Size/1,Val/1,WB/1,and/2,ge/2,if/3,not/1,+#/2,-#/2,BS#/1,Log#/1 ,Log'#/1,Max#/1,Min#/1,O#/1,Size#/1,Val#/1,WB#/1,and#/2,ge#/2,if#/3,not#/1} / {0/0,1/0,I/1,L/1,N/3,false/0 ,l/0,r/0,true/0,c_1/2,c_2/0,c_3/0,c_4/2,c_5/1,c_6/1,c_7/1,c_8/0,c_9/0,c_10/1,c_11/1,c_12/2,c_13/1,c_14/0 ,c_15/9,c_16/1,c_17/0,c_18/1,c_19/2,c_20/0,c_21/1,c_22/0,c_23/1,c_24/0,c_25/0,c_26/4,c_27/0,c_28/0,c_29/0 ,c_30/16,c_31/0,c_32/0,c_33/0,c_34/0,c_35/1,c_36/1,c_37/1,c_38/1,c_39/1,c_40/0,c_41/0,c_42/0,c_43/0} - Obligation: innermost runtime complexity wrt. defined symbols {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge# ,if#,not#} and constructors {0,1,I,L,N,false,l,r,true} + Applied Processor: Assumption {assumed = Certificate {spaceUB = Unknown, spaceLB = Unknown, timeUB = Poly (Just 0), timeLB = Unknown}} + Details: () **** Step 8.b:3.a:3.b:1: PredecessorEstimationCP WORST_CASE(?,O(n^2)) + Considered Problem: - Strict DPs: -#(I(x),I(y)) -> c_10(-#(x,y)) -#(O(x),I(y)) -> c_12(-#(-(x,y),I(1())),-#(x,y)) - Weak DPs: -#(I(x),O(y)) -> c_11(-#(x,y)) -#(O(x),O(y)) -> c_13(-#(x,y)) Log#(x) -> c_16(-#(Log'(x),I(0()))) - Weak TRS: +(x,+(y,z)) -> +(+(x,y),z) +(x,0()) -> x +(0(),x) -> x +(I(x),I(y)) -> O(+(+(x,y),I(0()))) +(I(x),O(y)) -> I(+(x,y)) +(O(x),I(y)) -> I(+(x,y)) +(O(x),O(y)) -> O(+(x,y)) -(x,0()) -> x -(0(),x) -> 0() -(I(x),I(y)) -> O(-(x,y)) -(I(x),O(y)) -> I(-(x,y)) -(O(x),I(y)) -> I(-(-(x,y),I(1()))) -(O(x),O(y)) -> O(-(x,y)) Log'(0()) -> 0() Log'(I(x)) -> +(Log'(x),I(0())) Log'(O(x)) -> if(ge(x,I(0())),+(Log'(x),I(0())),0()) O(0()) -> 0() ge(x,0()) -> true() ge(0(),I(x)) -> false() ge(0(),O(x)) -> ge(0(),x) ge(I(x),I(y)) -> ge(x,y) ge(I(x),O(y)) -> ge(x,y) ge(O(x),I(y)) -> not(ge(y,x)) ge(O(x),O(y)) -> ge(x,y) if(false(),x,y) -> y if(true(),x,y) -> x not(false()) -> true() not(true()) -> false() - Signature: {+/2,-/2,BS/1,Log/1,Log'/1,Max/1,Min/1,O/1,Size/1,Val/1,WB/1,and/2,ge/2,if/3,not/1,+#/2,-#/2,BS#/1,Log#/1 ,Log'#/1,Max#/1,Min#/1,O#/1,Size#/1,Val#/1,WB#/1,and#/2,ge#/2,if#/3,not#/1} / {0/0,1/0,I/1,L/1,N/3,false/0 ,l/0,r/0,true/0,c_1/2,c_2/0,c_3/0,c_4/2,c_5/1,c_6/1,c_7/1,c_8/0,c_9/0,c_10/1,c_11/1,c_12/2,c_13/1,c_14/0 ,c_15/9,c_16/1,c_17/0,c_18/1,c_19/2,c_20/0,c_21/1,c_22/0,c_23/1,c_24/0,c_25/0,c_26/4,c_27/0,c_28/0,c_29/0 ,c_30/16,c_31/0,c_32/0,c_33/0,c_34/0,c_35/1,c_36/1,c_37/1,c_38/1,c_39/1,c_40/0,c_41/0,c_42/0,c_43/0} - Obligation: innermost runtime complexity wrt. defined symbols {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge# ,if#,not#} and constructors {0,1,I,L,N,false,l,r,true} + Applied Processor: PredecessorEstimationCP {onSelectionCP = any intersect of rules of CDG leaf and strict-rules, withComplexityPair = NaturalMI {miDimension = 1, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Nothing}} + Details: We first use the processor NaturalMI {miDimension = 1, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Nothing} to orient following rules strictly: 1: -#(I(x),I(y)) -> c_10(-#(x,y)) Consider the set of all dependency pairs 1: -#(I(x),I(y)) -> c_10(-#(x,y)) 2: -#(O(x),I(y)) -> c_12(-#(-(x,y),I(1())),-#(x,y)) 3: -#(I(x),O(y)) -> c_11(-#(x,y)) 4: -#(O(x),O(y)) -> c_13(-#(x,y)) 5: Log#(x) -> c_16(-#(Log'(x),I(0()))) Processor NaturalMI {miDimension = 1, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Nothing}induces the complexity certificateTIME (?,O(n^1)) SPACE(?,?)on application of the dependency pairs {1} These cover all (indirect) predecessors of dependency pairs {1,5} their number of applications is equally bounded. The dependency pairs are shifted into the weak component. ***** Step 8.b:3.a:3.b:1.a:1: NaturalMI WORST_CASE(?,O(n^1)) + Considered Problem: - Strict DPs: -#(I(x),I(y)) -> c_10(-#(x,y)) -#(O(x),I(y)) -> c_12(-#(-(x,y),I(1())),-#(x,y)) - Weak DPs: -#(I(x),O(y)) -> c_11(-#(x,y)) -#(O(x),O(y)) -> c_13(-#(x,y)) Log#(x) -> c_16(-#(Log'(x),I(0()))) - Weak TRS: +(x,+(y,z)) -> +(+(x,y),z) +(x,0()) -> x +(0(),x) -> x +(I(x),I(y)) -> O(+(+(x,y),I(0()))) +(I(x),O(y)) -> I(+(x,y)) +(O(x),I(y)) -> I(+(x,y)) +(O(x),O(y)) -> O(+(x,y)) -(x,0()) -> x -(0(),x) -> 0() -(I(x),I(y)) -> O(-(x,y)) -(I(x),O(y)) -> I(-(x,y)) -(O(x),I(y)) -> I(-(-(x,y),I(1()))) -(O(x),O(y)) -> O(-(x,y)) Log'(0()) -> 0() Log'(I(x)) -> +(Log'(x),I(0())) Log'(O(x)) -> if(ge(x,I(0())),+(Log'(x),I(0())),0()) O(0()) -> 0() ge(x,0()) -> true() ge(0(),I(x)) -> false() ge(0(),O(x)) -> ge(0(),x) ge(I(x),I(y)) -> ge(x,y) ge(I(x),O(y)) -> ge(x,y) ge(O(x),I(y)) -> not(ge(y,x)) ge(O(x),O(y)) -> ge(x,y) if(false(),x,y) -> y if(true(),x,y) -> x not(false()) -> true() not(true()) -> false() - Signature: {+/2,-/2,BS/1,Log/1,Log'/1,Max/1,Min/1,O/1,Size/1,Val/1,WB/1,and/2,ge/2,if/3,not/1,+#/2,-#/2,BS#/1,Log#/1 ,Log'#/1,Max#/1,Min#/1,O#/1,Size#/1,Val#/1,WB#/1,and#/2,ge#/2,if#/3,not#/1} / {0/0,1/0,I/1,L/1,N/3,false/0 ,l/0,r/0,true/0,c_1/2,c_2/0,c_3/0,c_4/2,c_5/1,c_6/1,c_7/1,c_8/0,c_9/0,c_10/1,c_11/1,c_12/2,c_13/1,c_14/0 ,c_15/9,c_16/1,c_17/0,c_18/1,c_19/2,c_20/0,c_21/1,c_22/0,c_23/1,c_24/0,c_25/0,c_26/4,c_27/0,c_28/0,c_29/0 ,c_30/16,c_31/0,c_32/0,c_33/0,c_34/0,c_35/1,c_36/1,c_37/1,c_38/1,c_39/1,c_40/0,c_41/0,c_42/0,c_43/0} - Obligation: innermost runtime complexity wrt. defined symbols {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge# ,if#,not#} and constructors {0,1,I,L,N,false,l,r,true} + Applied Processor: NaturalMI {miDimension = 1, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Just first alternative for predecessorEstimation on any intersect of rules of CDG leaf and strict-rules} + Details: We apply a matrix interpretation of kind constructor based matrix interpretation: The following argument positions are considered usable: uargs(c_10) = {1}, uargs(c_11) = {1}, uargs(c_12) = {1,2}, uargs(c_13) = {1}, uargs(c_16) = {1} Following symbols are considered usable: {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge#,if#,not#} TcT has computed the following interpretation: p(+) = [1] x1 + [2] x2 + [0] p(-) = [0] p(0) = [0] p(1) = [0] p(BS) = [1] x1 + [1] p(I) = [1] x1 + [1] p(L) = [0] p(Log) = [1] p(Log') = [4] x1 + [0] p(Max) = [4] p(Min) = [2] x1 + [1] p(N) = [1] x2 + [0] p(O) = [1] x1 + [0] p(Size) = [1] x1 + [1] p(Val) = [0] p(WB) = [4] x1 + [4] p(and) = [4] x1 + [2] x2 + [0] p(false) = [2] p(ge) = [0] p(if) = [2] x1 + [4] p(l) = [0] p(not) = [4] x1 + [1] p(r) = [2] p(true) = [3] p(+#) = [1] x2 + [1] p(-#) = [4] x2 + [0] p(BS#) = [1] x1 + [1] p(Log#) = [4] x1 + [6] p(Log'#) = [1] p(Max#) = [1] x1 + [1] p(Min#) = [4] x1 + [1] p(O#) = [4] p(Size#) = [1] x1 + [1] p(Val#) = [0] p(WB#) = [4] x1 + [2] p(and#) = [1] p(ge#) = [0] p(if#) = [1] x1 + [4] x3 + [1] p(not#) = [1] x1 + [0] p(c_1) = [2] p(c_2) = [2] p(c_3) = [2] p(c_4) = [1] x1 + [4] x2 + [4] p(c_5) = [4] x1 + [0] p(c_6) = [4] p(c_7) = [1] p(c_8) = [1] p(c_9) = [4] p(c_10) = [1] x1 + [0] p(c_11) = [1] x1 + [0] p(c_12) = [1] x1 + [1] x2 + [0] p(c_13) = [1] x1 + [0] p(c_14) = [0] p(c_15) = [1] x7 + [0] p(c_16) = [1] x1 + [2] p(c_17) = [1] p(c_18) = [2] x1 + [1] p(c_19) = [4] x1 + [1] x2 + [2] p(c_20) = [1] p(c_21) = [1] p(c_22) = [1] p(c_23) = [1] x1 + [1] p(c_24) = [0] p(c_25) = [1] p(c_26) = [4] x2 + [1] x4 + [1] p(c_27) = [0] p(c_28) = [2] p(c_29) = [1] p(c_30) = [1] x2 + [1] x3 + [1] x4 + [1] x5 + [1] x8 + [4] x9 + [1] x11 + [1] x13 + [2] x15 + [4] x16 + [0] p(c_31) = [0] p(c_32) = [1] p(c_33) = [1] p(c_34) = [0] p(c_35) = [0] p(c_36) = [2] p(c_37) = [0] p(c_38) = [1] x1 + [0] p(c_39) = [0] p(c_40) = [0] p(c_41) = [1] p(c_42) = [1] p(c_43) = [0] Following rules are strictly oriented: -#(I(x),I(y)) = [4] y + [4] > [4] y + [0] = c_10(-#(x,y)) Following rules are (at-least) weakly oriented: -#(I(x),O(y)) = [4] y + [0] >= [4] y + [0] = c_11(-#(x,y)) -#(O(x),I(y)) = [4] y + [4] >= [4] y + [4] = c_12(-#(-(x,y),I(1())),-#(x,y)) -#(O(x),O(y)) = [4] y + [0] >= [4] y + [0] = c_13(-#(x,y)) Log#(x) = [4] x + [6] >= [6] = c_16(-#(Log'(x),I(0()))) ***** Step 8.b:3.a:3.b:1.a:2: Assumption WORST_CASE(?,O(1)) + Considered Problem: - Strict DPs: -#(O(x),I(y)) -> c_12(-#(-(x,y),I(1())),-#(x,y)) - Weak DPs: -#(I(x),I(y)) -> c_10(-#(x,y)) -#(I(x),O(y)) -> c_11(-#(x,y)) -#(O(x),O(y)) -> c_13(-#(x,y)) Log#(x) -> c_16(-#(Log'(x),I(0()))) - Weak TRS: +(x,+(y,z)) -> +(+(x,y),z) +(x,0()) -> x +(0(),x) -> x +(I(x),I(y)) -> O(+(+(x,y),I(0()))) +(I(x),O(y)) -> I(+(x,y)) +(O(x),I(y)) -> I(+(x,y)) +(O(x),O(y)) -> O(+(x,y)) -(x,0()) -> x -(0(),x) -> 0() -(I(x),I(y)) -> O(-(x,y)) -(I(x),O(y)) -> I(-(x,y)) -(O(x),I(y)) -> I(-(-(x,y),I(1()))) -(O(x),O(y)) -> O(-(x,y)) Log'(0()) -> 0() Log'(I(x)) -> +(Log'(x),I(0())) Log'(O(x)) -> if(ge(x,I(0())),+(Log'(x),I(0())),0()) O(0()) -> 0() ge(x,0()) -> true() ge(0(),I(x)) -> false() ge(0(),O(x)) -> ge(0(),x) ge(I(x),I(y)) -> ge(x,y) ge(I(x),O(y)) -> ge(x,y) ge(O(x),I(y)) -> not(ge(y,x)) ge(O(x),O(y)) -> ge(x,y) if(false(),x,y) -> y if(true(),x,y) -> x not(false()) -> true() not(true()) -> false() - Signature: {+/2,-/2,BS/1,Log/1,Log'/1,Max/1,Min/1,O/1,Size/1,Val/1,WB/1,and/2,ge/2,if/3,not/1,+#/2,-#/2,BS#/1,Log#/1 ,Log'#/1,Max#/1,Min#/1,O#/1,Size#/1,Val#/1,WB#/1,and#/2,ge#/2,if#/3,not#/1} / {0/0,1/0,I/1,L/1,N/3,false/0 ,l/0,r/0,true/0,c_1/2,c_2/0,c_3/0,c_4/2,c_5/1,c_6/1,c_7/1,c_8/0,c_9/0,c_10/1,c_11/1,c_12/2,c_13/1,c_14/0 ,c_15/9,c_16/1,c_17/0,c_18/1,c_19/2,c_20/0,c_21/1,c_22/0,c_23/1,c_24/0,c_25/0,c_26/4,c_27/0,c_28/0,c_29/0 ,c_30/16,c_31/0,c_32/0,c_33/0,c_34/0,c_35/1,c_36/1,c_37/1,c_38/1,c_39/1,c_40/0,c_41/0,c_42/0,c_43/0} - Obligation: innermost runtime complexity wrt. defined symbols {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge# ,if#,not#} and constructors {0,1,I,L,N,false,l,r,true} + Applied Processor: Assumption {assumed = Certificate {spaceUB = Unknown, spaceLB = Unknown, timeUB = Poly (Just 0), timeLB = Unknown}} + Details: () ***** Step 8.b:3.a:3.b:1.b:1: PredecessorEstimationCP WORST_CASE(?,O(n^2)) + Considered Problem: - Strict DPs: -#(O(x),I(y)) -> c_12(-#(-(x,y),I(1())),-#(x,y)) - Weak DPs: -#(I(x),I(y)) -> c_10(-#(x,y)) -#(I(x),O(y)) -> c_11(-#(x,y)) -#(O(x),O(y)) -> c_13(-#(x,y)) Log#(x) -> c_16(-#(Log'(x),I(0()))) - Weak TRS: +(x,+(y,z)) -> +(+(x,y),z) +(x,0()) -> x +(0(),x) -> x +(I(x),I(y)) -> O(+(+(x,y),I(0()))) +(I(x),O(y)) -> I(+(x,y)) +(O(x),I(y)) -> I(+(x,y)) +(O(x),O(y)) -> O(+(x,y)) -(x,0()) -> x -(0(),x) -> 0() -(I(x),I(y)) -> O(-(x,y)) -(I(x),O(y)) -> I(-(x,y)) -(O(x),I(y)) -> I(-(-(x,y),I(1()))) -(O(x),O(y)) -> O(-(x,y)) Log'(0()) -> 0() Log'(I(x)) -> +(Log'(x),I(0())) Log'(O(x)) -> if(ge(x,I(0())),+(Log'(x),I(0())),0()) O(0()) -> 0() ge(x,0()) -> true() ge(0(),I(x)) -> false() ge(0(),O(x)) -> ge(0(),x) ge(I(x),I(y)) -> ge(x,y) ge(I(x),O(y)) -> ge(x,y) ge(O(x),I(y)) -> not(ge(y,x)) ge(O(x),O(y)) -> ge(x,y) if(false(),x,y) -> y if(true(),x,y) -> x not(false()) -> true() not(true()) -> false() - Signature: {+/2,-/2,BS/1,Log/1,Log'/1,Max/1,Min/1,O/1,Size/1,Val/1,WB/1,and/2,ge/2,if/3,not/1,+#/2,-#/2,BS#/1,Log#/1 ,Log'#/1,Max#/1,Min#/1,O#/1,Size#/1,Val#/1,WB#/1,and#/2,ge#/2,if#/3,not#/1} / {0/0,1/0,I/1,L/1,N/3,false/0 ,l/0,r/0,true/0,c_1/2,c_2/0,c_3/0,c_4/2,c_5/1,c_6/1,c_7/1,c_8/0,c_9/0,c_10/1,c_11/1,c_12/2,c_13/1,c_14/0 ,c_15/9,c_16/1,c_17/0,c_18/1,c_19/2,c_20/0,c_21/1,c_22/0,c_23/1,c_24/0,c_25/0,c_26/4,c_27/0,c_28/0,c_29/0 ,c_30/16,c_31/0,c_32/0,c_33/0,c_34/0,c_35/1,c_36/1,c_37/1,c_38/1,c_39/1,c_40/0,c_41/0,c_42/0,c_43/0} - Obligation: innermost runtime complexity wrt. defined symbols {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge# ,if#,not#} and constructors {0,1,I,L,N,false,l,r,true} + Applied Processor: PredecessorEstimationCP {onSelectionCP = any intersect of rules of CDG leaf and strict-rules, withComplexityPair = NaturalPI {shape = Mixed 2, restrict = Restrict, uargs = UArgs, urules = URules, selector = Nothing}} + Details: We first use the processor NaturalPI {shape = Mixed 2, restrict = Restrict, uargs = UArgs, urules = URules, selector = Nothing} to orient following rules strictly: 1: -#(O(x),I(y)) -> c_12(-#(-(x,y),I(1())),-#(x,y)) Consider the set of all dependency pairs 1: -#(O(x),I(y)) -> c_12(-#(-(x,y),I(1())),-#(x,y)) 2: -#(I(x),I(y)) -> c_10(-#(x,y)) 3: -#(I(x),O(y)) -> c_11(-#(x,y)) 4: -#(O(x),O(y)) -> c_13(-#(x,y)) 5: Log#(x) -> c_16(-#(Log'(x),I(0()))) Processor NaturalPI {shape = Mixed 2, restrict = Restrict, uargs = UArgs, urules = URules, selector = Nothing}induces the complexity certificateTIME (?,O(n^2)) SPACE(?,?)on application of the dependency pairs {1} These cover all (indirect) predecessors of dependency pairs {1,5} their number of applications is equally bounded. The dependency pairs are shifted into the weak component. ****** Step 8.b:3.a:3.b:1.b:1.a:1: NaturalPI WORST_CASE(?,O(n^2)) + Considered Problem: - Strict DPs: -#(O(x),I(y)) -> c_12(-#(-(x,y),I(1())),-#(x,y)) - Weak DPs: -#(I(x),I(y)) -> c_10(-#(x,y)) -#(I(x),O(y)) -> c_11(-#(x,y)) -#(O(x),O(y)) -> c_13(-#(x,y)) Log#(x) -> c_16(-#(Log'(x),I(0()))) - Weak TRS: +(x,+(y,z)) -> +(+(x,y),z) +(x,0()) -> x +(0(),x) -> x +(I(x),I(y)) -> O(+(+(x,y),I(0()))) +(I(x),O(y)) -> I(+(x,y)) +(O(x),I(y)) -> I(+(x,y)) +(O(x),O(y)) -> O(+(x,y)) -(x,0()) -> x -(0(),x) -> 0() -(I(x),I(y)) -> O(-(x,y)) -(I(x),O(y)) -> I(-(x,y)) -(O(x),I(y)) -> I(-(-(x,y),I(1()))) -(O(x),O(y)) -> O(-(x,y)) Log'(0()) -> 0() Log'(I(x)) -> +(Log'(x),I(0())) Log'(O(x)) -> if(ge(x,I(0())),+(Log'(x),I(0())),0()) O(0()) -> 0() ge(x,0()) -> true() ge(0(),I(x)) -> false() ge(0(),O(x)) -> ge(0(),x) ge(I(x),I(y)) -> ge(x,y) ge(I(x),O(y)) -> ge(x,y) ge(O(x),I(y)) -> not(ge(y,x)) ge(O(x),O(y)) -> ge(x,y) if(false(),x,y) -> y if(true(),x,y) -> x not(false()) -> true() not(true()) -> false() - Signature: {+/2,-/2,BS/1,Log/1,Log'/1,Max/1,Min/1,O/1,Size/1,Val/1,WB/1,and/2,ge/2,if/3,not/1,+#/2,-#/2,BS#/1,Log#/1 ,Log'#/1,Max#/1,Min#/1,O#/1,Size#/1,Val#/1,WB#/1,and#/2,ge#/2,if#/3,not#/1} / {0/0,1/0,I/1,L/1,N/3,false/0 ,l/0,r/0,true/0,c_1/2,c_2/0,c_3/0,c_4/2,c_5/1,c_6/1,c_7/1,c_8/0,c_9/0,c_10/1,c_11/1,c_12/2,c_13/1,c_14/0 ,c_15/9,c_16/1,c_17/0,c_18/1,c_19/2,c_20/0,c_21/1,c_22/0,c_23/1,c_24/0,c_25/0,c_26/4,c_27/0,c_28/0,c_29/0 ,c_30/16,c_31/0,c_32/0,c_33/0,c_34/0,c_35/1,c_36/1,c_37/1,c_38/1,c_39/1,c_40/0,c_41/0,c_42/0,c_43/0} - Obligation: innermost runtime complexity wrt. defined symbols {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge# ,if#,not#} and constructors {0,1,I,L,N,false,l,r,true} + Applied Processor: NaturalPI {shape = Mixed 2, restrict = Restrict, uargs = UArgs, urules = URules, selector = Just first alternative for predecessorEstimation on any intersect of rules of CDG leaf and strict-rules} + Details: We apply a polynomial interpretation of kind constructor-based(mixed(2)): The following argument positions are considered usable: uargs(c_10) = {1}, uargs(c_11) = {1}, uargs(c_12) = {1,2}, uargs(c_13) = {1}, uargs(c_16) = {1} Following symbols are considered usable: {+,-,Log',O,if,+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge#,if#,not#} TcT has computed the following interpretation: p(+) = x1 + x2 p(-) = x1 + x2 p(0) = 0 p(1) = 0 p(BS) = 0 p(I) = 1 + x1 p(L) = 0 p(Log) = 0 p(Log') = x1 p(Max) = 0 p(Min) = 0 p(N) = 0 p(O) = 1 + x1 p(Size) = 0 p(Val) = 0 p(WB) = 0 p(and) = 0 p(false) = 0 p(ge) = 0 p(if) = x2 + x3 p(l) = 0 p(not) = 0 p(r) = 0 p(true) = 1 p(+#) = 0 p(-#) = x1*x2 p(BS#) = 0 p(Log#) = x1 p(Log'#) = 0 p(Max#) = 0 p(Min#) = 0 p(O#) = 0 p(Size#) = 0 p(Val#) = 0 p(WB#) = 0 p(and#) = 0 p(ge#) = 0 p(if#) = 0 p(not#) = 0 p(c_1) = 0 p(c_2) = 0 p(c_3) = 0 p(c_4) = 0 p(c_5) = 0 p(c_6) = 0 p(c_7) = 0 p(c_8) = 0 p(c_9) = 0 p(c_10) = 1 + x1 p(c_11) = 1 + x1 p(c_12) = x1 + x2 p(c_13) = 1 + x1 p(c_14) = 0 p(c_15) = 0 p(c_16) = x1 p(c_17) = 0 p(c_18) = 0 p(c_19) = 0 p(c_20) = 0 p(c_21) = 0 p(c_22) = 0 p(c_23) = 0 p(c_24) = 0 p(c_25) = 0 p(c_26) = 0 p(c_27) = 0 p(c_28) = 0 p(c_29) = 0 p(c_30) = 0 p(c_31) = 0 p(c_32) = 0 p(c_33) = 0 p(c_34) = 0 p(c_35) = 0 p(c_36) = 0 p(c_37) = 0 p(c_38) = 0 p(c_39) = 0 p(c_40) = 0 p(c_41) = 0 p(c_42) = 0 p(c_43) = 0 Following rules are strictly oriented: -#(O(x),I(y)) = 1 + x + x*y + y > x + x*y + y = c_12(-#(-(x,y),I(1())),-#(x,y)) Following rules are (at-least) weakly oriented: -#(I(x),I(y)) = 1 + x + x*y + y >= 1 + x*y = c_10(-#(x,y)) -#(I(x),O(y)) = 1 + x + x*y + y >= 1 + x*y = c_11(-#(x,y)) -#(O(x),O(y)) = 1 + x + x*y + y >= 1 + x*y = c_13(-#(x,y)) Log#(x) = x >= x = c_16(-#(Log'(x),I(0()))) +(x,+(y,z)) = x + y + z >= x + y + z = +(+(x,y),z) +(x,0()) = x >= x = x +(0(),x) = x >= x = x +(I(x),I(y)) = 2 + x + y >= 2 + x + y = O(+(+(x,y),I(0()))) +(I(x),O(y)) = 2 + x + y >= 1 + x + y = I(+(x,y)) +(O(x),I(y)) = 2 + x + y >= 1 + x + y = I(+(x,y)) +(O(x),O(y)) = 2 + x + y >= 1 + x + y = O(+(x,y)) -(x,0()) = x >= x = x -(0(),x) = x >= 0 = 0() -(I(x),I(y)) = 2 + x + y >= 1 + x + y = O(-(x,y)) -(I(x),O(y)) = 2 + x + y >= 1 + x + y = I(-(x,y)) -(O(x),I(y)) = 2 + x + y >= 2 + x + y = I(-(-(x,y),I(1()))) -(O(x),O(y)) = 2 + x + y >= 1 + x + y = O(-(x,y)) Log'(0()) = 0 >= 0 = 0() Log'(I(x)) = 1 + x >= 1 + x = +(Log'(x),I(0())) Log'(O(x)) = 1 + x >= 1 + x = if(ge(x,I(0())),+(Log'(x),I(0())),0()) O(0()) = 1 >= 0 = 0() if(false(),x,y) = x + y >= y = y if(true(),x,y) = x + y >= x = x ****** Step 8.b:3.a:3.b:1.b:1.a:2: Assumption WORST_CASE(?,O(1)) + Considered Problem: - Weak DPs: -#(I(x),I(y)) -> c_10(-#(x,y)) -#(I(x),O(y)) -> c_11(-#(x,y)) -#(O(x),I(y)) -> c_12(-#(-(x,y),I(1())),-#(x,y)) -#(O(x),O(y)) -> c_13(-#(x,y)) Log#(x) -> c_16(-#(Log'(x),I(0()))) - Weak TRS: +(x,+(y,z)) -> +(+(x,y),z) +(x,0()) -> x +(0(),x) -> x +(I(x),I(y)) -> O(+(+(x,y),I(0()))) +(I(x),O(y)) -> I(+(x,y)) +(O(x),I(y)) -> I(+(x,y)) +(O(x),O(y)) -> O(+(x,y)) -(x,0()) -> x -(0(),x) -> 0() -(I(x),I(y)) -> O(-(x,y)) -(I(x),O(y)) -> I(-(x,y)) -(O(x),I(y)) -> I(-(-(x,y),I(1()))) -(O(x),O(y)) -> O(-(x,y)) Log'(0()) -> 0() Log'(I(x)) -> +(Log'(x),I(0())) Log'(O(x)) -> if(ge(x,I(0())),+(Log'(x),I(0())),0()) O(0()) -> 0() ge(x,0()) -> true() ge(0(),I(x)) -> false() ge(0(),O(x)) -> ge(0(),x) ge(I(x),I(y)) -> ge(x,y) ge(I(x),O(y)) -> ge(x,y) ge(O(x),I(y)) -> not(ge(y,x)) ge(O(x),O(y)) -> ge(x,y) if(false(),x,y) -> y if(true(),x,y) -> x not(false()) -> true() not(true()) -> false() - Signature: {+/2,-/2,BS/1,Log/1,Log'/1,Max/1,Min/1,O/1,Size/1,Val/1,WB/1,and/2,ge/2,if/3,not/1,+#/2,-#/2,BS#/1,Log#/1 ,Log'#/1,Max#/1,Min#/1,O#/1,Size#/1,Val#/1,WB#/1,and#/2,ge#/2,if#/3,not#/1} / {0/0,1/0,I/1,L/1,N/3,false/0 ,l/0,r/0,true/0,c_1/2,c_2/0,c_3/0,c_4/2,c_5/1,c_6/1,c_7/1,c_8/0,c_9/0,c_10/1,c_11/1,c_12/2,c_13/1,c_14/0 ,c_15/9,c_16/1,c_17/0,c_18/1,c_19/2,c_20/0,c_21/1,c_22/0,c_23/1,c_24/0,c_25/0,c_26/4,c_27/0,c_28/0,c_29/0 ,c_30/16,c_31/0,c_32/0,c_33/0,c_34/0,c_35/1,c_36/1,c_37/1,c_38/1,c_39/1,c_40/0,c_41/0,c_42/0,c_43/0} - Obligation: innermost runtime complexity wrt. defined symbols {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge# ,if#,not#} and constructors {0,1,I,L,N,false,l,r,true} + Applied Processor: Assumption {assumed = Certificate {spaceUB = Unknown, spaceLB = Unknown, timeUB = Poly (Just 0), timeLB = Unknown}} + Details: () ****** Step 8.b:3.a:3.b:1.b:1.b:1: RemoveWeakSuffixes WORST_CASE(?,O(1)) + Considered Problem: - Weak DPs: -#(I(x),I(y)) -> c_10(-#(x,y)) -#(I(x),O(y)) -> c_11(-#(x,y)) -#(O(x),I(y)) -> c_12(-#(-(x,y),I(1())),-#(x,y)) -#(O(x),O(y)) -> c_13(-#(x,y)) Log#(x) -> c_16(-#(Log'(x),I(0()))) - Weak TRS: +(x,+(y,z)) -> +(+(x,y),z) +(x,0()) -> x +(0(),x) -> x +(I(x),I(y)) -> O(+(+(x,y),I(0()))) +(I(x),O(y)) -> I(+(x,y)) +(O(x),I(y)) -> I(+(x,y)) +(O(x),O(y)) -> O(+(x,y)) -(x,0()) -> x -(0(),x) -> 0() -(I(x),I(y)) -> O(-(x,y)) -(I(x),O(y)) -> I(-(x,y)) -(O(x),I(y)) -> I(-(-(x,y),I(1()))) -(O(x),O(y)) -> O(-(x,y)) Log'(0()) -> 0() Log'(I(x)) -> +(Log'(x),I(0())) Log'(O(x)) -> if(ge(x,I(0())),+(Log'(x),I(0())),0()) O(0()) -> 0() ge(x,0()) -> true() ge(0(),I(x)) -> false() ge(0(),O(x)) -> ge(0(),x) ge(I(x),I(y)) -> ge(x,y) ge(I(x),O(y)) -> ge(x,y) ge(O(x),I(y)) -> not(ge(y,x)) ge(O(x),O(y)) -> ge(x,y) if(false(),x,y) -> y if(true(),x,y) -> x not(false()) -> true() not(true()) -> false() - Signature: {+/2,-/2,BS/1,Log/1,Log'/1,Max/1,Min/1,O/1,Size/1,Val/1,WB/1,and/2,ge/2,if/3,not/1,+#/2,-#/2,BS#/1,Log#/1 ,Log'#/1,Max#/1,Min#/1,O#/1,Size#/1,Val#/1,WB#/1,and#/2,ge#/2,if#/3,not#/1} / {0/0,1/0,I/1,L/1,N/3,false/0 ,l/0,r/0,true/0,c_1/2,c_2/0,c_3/0,c_4/2,c_5/1,c_6/1,c_7/1,c_8/0,c_9/0,c_10/1,c_11/1,c_12/2,c_13/1,c_14/0 ,c_15/9,c_16/1,c_17/0,c_18/1,c_19/2,c_20/0,c_21/1,c_22/0,c_23/1,c_24/0,c_25/0,c_26/4,c_27/0,c_28/0,c_29/0 ,c_30/16,c_31/0,c_32/0,c_33/0,c_34/0,c_35/1,c_36/1,c_37/1,c_38/1,c_39/1,c_40/0,c_41/0,c_42/0,c_43/0} - Obligation: innermost runtime complexity wrt. defined symbols {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge# ,if#,not#} and constructors {0,1,I,L,N,false,l,r,true} + Applied Processor: RemoveWeakSuffixes + Details: Consider the dependency graph 1:W:-#(I(x),I(y)) -> c_10(-#(x,y)) -->_1 -#(O(x),O(y)) -> c_13(-#(x,y)):4 -->_1 -#(O(x),I(y)) -> c_12(-#(-(x,y),I(1())),-#(x,y)):3 -->_1 -#(I(x),O(y)) -> c_11(-#(x,y)):2 -->_1 -#(I(x),I(y)) -> c_10(-#(x,y)):1 2:W:-#(I(x),O(y)) -> c_11(-#(x,y)) -->_1 -#(O(x),O(y)) -> c_13(-#(x,y)):4 -->_1 -#(O(x),I(y)) -> c_12(-#(-(x,y),I(1())),-#(x,y)):3 -->_1 -#(I(x),O(y)) -> c_11(-#(x,y)):2 -->_1 -#(I(x),I(y)) -> c_10(-#(x,y)):1 3:W:-#(O(x),I(y)) -> c_12(-#(-(x,y),I(1())),-#(x,y)) -->_2 -#(O(x),O(y)) -> c_13(-#(x,y)):4 -->_2 -#(O(x),I(y)) -> c_12(-#(-(x,y),I(1())),-#(x,y)):3 -->_1 -#(O(x),I(y)) -> c_12(-#(-(x,y),I(1())),-#(x,y)):3 -->_2 -#(I(x),O(y)) -> c_11(-#(x,y)):2 -->_2 -#(I(x),I(y)) -> c_10(-#(x,y)):1 -->_1 -#(I(x),I(y)) -> c_10(-#(x,y)):1 4:W:-#(O(x),O(y)) -> c_13(-#(x,y)) -->_1 -#(O(x),O(y)) -> c_13(-#(x,y)):4 -->_1 -#(O(x),I(y)) -> c_12(-#(-(x,y),I(1())),-#(x,y)):3 -->_1 -#(I(x),O(y)) -> c_11(-#(x,y)):2 -->_1 -#(I(x),I(y)) -> c_10(-#(x,y)):1 5:W:Log#(x) -> c_16(-#(Log'(x),I(0()))) -->_1 -#(O(x),I(y)) -> c_12(-#(-(x,y),I(1())),-#(x,y)):3 -->_1 -#(I(x),I(y)) -> c_10(-#(x,y)):1 The following weak DPs constitute a sub-graph of the DG that is closed under successors. The DPs are removed. 5: Log#(x) -> c_16(-#(Log'(x),I(0()))) 1: -#(I(x),I(y)) -> c_10(-#(x,y)) 4: -#(O(x),O(y)) -> c_13(-#(x,y)) 3: -#(O(x),I(y)) -> c_12(-#(-(x,y),I(1())),-#(x,y)) 2: -#(I(x),O(y)) -> c_11(-#(x,y)) ****** Step 8.b:3.a:3.b:1.b:1.b:2: EmptyProcessor WORST_CASE(?,O(1)) + Considered Problem: - Weak TRS: +(x,+(y,z)) -> +(+(x,y),z) +(x,0()) -> x +(0(),x) -> x +(I(x),I(y)) -> O(+(+(x,y),I(0()))) +(I(x),O(y)) -> I(+(x,y)) +(O(x),I(y)) -> I(+(x,y)) +(O(x),O(y)) -> O(+(x,y)) -(x,0()) -> x -(0(),x) -> 0() -(I(x),I(y)) -> O(-(x,y)) -(I(x),O(y)) -> I(-(x,y)) -(O(x),I(y)) -> I(-(-(x,y),I(1()))) -(O(x),O(y)) -> O(-(x,y)) Log'(0()) -> 0() Log'(I(x)) -> +(Log'(x),I(0())) Log'(O(x)) -> if(ge(x,I(0())),+(Log'(x),I(0())),0()) O(0()) -> 0() ge(x,0()) -> true() ge(0(),I(x)) -> false() ge(0(),O(x)) -> ge(0(),x) ge(I(x),I(y)) -> ge(x,y) ge(I(x),O(y)) -> ge(x,y) ge(O(x),I(y)) -> not(ge(y,x)) ge(O(x),O(y)) -> ge(x,y) if(false(),x,y) -> y if(true(),x,y) -> x not(false()) -> true() not(true()) -> false() - Signature: {+/2,-/2,BS/1,Log/1,Log'/1,Max/1,Min/1,O/1,Size/1,Val/1,WB/1,and/2,ge/2,if/3,not/1,+#/2,-#/2,BS#/1,Log#/1 ,Log'#/1,Max#/1,Min#/1,O#/1,Size#/1,Val#/1,WB#/1,and#/2,ge#/2,if#/3,not#/1} / {0/0,1/0,I/1,L/1,N/3,false/0 ,l/0,r/0,true/0,c_1/2,c_2/0,c_3/0,c_4/2,c_5/1,c_6/1,c_7/1,c_8/0,c_9/0,c_10/1,c_11/1,c_12/2,c_13/1,c_14/0 ,c_15/9,c_16/1,c_17/0,c_18/1,c_19/2,c_20/0,c_21/1,c_22/0,c_23/1,c_24/0,c_25/0,c_26/4,c_27/0,c_28/0,c_29/0 ,c_30/16,c_31/0,c_32/0,c_33/0,c_34/0,c_35/1,c_36/1,c_37/1,c_38/1,c_39/1,c_40/0,c_41/0,c_42/0,c_43/0} - Obligation: innermost runtime complexity wrt. defined symbols {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge# ,if#,not#} and constructors {0,1,I,L,N,false,l,r,true} + Applied Processor: EmptyProcessor + Details: The problem is already closed. The intended complexity is O(1). *** Step 8.b:3.b:1: RemoveWeakSuffixes WORST_CASE(?,O(n^1)) + Considered Problem: - Strict DPs: Log#(x) -> c_16(-#(Log'(x),I(0())),Log'#(x)) Log'#(I(x)) -> c_18(Log'#(x)) Log'#(O(x)) -> c_19(ge#(x,I(0())),Log'#(x)) ge#(0(),O(x)) -> c_35(ge#(0(),x)) ge#(I(x),I(y)) -> c_36(ge#(x,y)) ge#(I(x),O(y)) -> c_37(ge#(x,y)) ge#(O(x),I(y)) -> c_38(ge#(y,x)) ge#(O(x),O(y)) -> c_39(ge#(x,y)) - Weak DPs: -#(I(x),I(y)) -> c_10(-#(x,y)) -#(I(x),O(y)) -> c_11(-#(x,y)) -#(O(x),I(y)) -> c_12(-#(-(x,y),I(1())),-#(x,y)) -#(O(x),O(y)) -> c_13(-#(x,y)) - Weak TRS: +(x,+(y,z)) -> +(+(x,y),z) +(x,0()) -> x +(0(),x) -> x +(I(x),I(y)) -> O(+(+(x,y),I(0()))) +(I(x),O(y)) -> I(+(x,y)) +(O(x),I(y)) -> I(+(x,y)) +(O(x),O(y)) -> O(+(x,y)) -(x,0()) -> x -(0(),x) -> 0() -(I(x),I(y)) -> O(-(x,y)) -(I(x),O(y)) -> I(-(x,y)) -(O(x),I(y)) -> I(-(-(x,y),I(1()))) -(O(x),O(y)) -> O(-(x,y)) Log'(0()) -> 0() Log'(I(x)) -> +(Log'(x),I(0())) Log'(O(x)) -> if(ge(x,I(0())),+(Log'(x),I(0())),0()) O(0()) -> 0() ge(x,0()) -> true() ge(0(),I(x)) -> false() ge(0(),O(x)) -> ge(0(),x) ge(I(x),I(y)) -> ge(x,y) ge(I(x),O(y)) -> ge(x,y) ge(O(x),I(y)) -> not(ge(y,x)) ge(O(x),O(y)) -> ge(x,y) if(false(),x,y) -> y if(true(),x,y) -> x not(false()) -> true() not(true()) -> false() - Signature: {+/2,-/2,BS/1,Log/1,Log'/1,Max/1,Min/1,O/1,Size/1,Val/1,WB/1,and/2,ge/2,if/3,not/1,+#/2,-#/2,BS#/1,Log#/1 ,Log'#/1,Max#/1,Min#/1,O#/1,Size#/1,Val#/1,WB#/1,and#/2,ge#/2,if#/3,not#/1} / {0/0,1/0,I/1,L/1,N/3,false/0 ,l/0,r/0,true/0,c_1/2,c_2/0,c_3/0,c_4/2,c_5/1,c_6/1,c_7/1,c_8/0,c_9/0,c_10/1,c_11/1,c_12/2,c_13/1,c_14/0 ,c_15/9,c_16/2,c_17/0,c_18/1,c_19/2,c_20/0,c_21/1,c_22/0,c_23/1,c_24/0,c_25/0,c_26/4,c_27/0,c_28/0,c_29/0 ,c_30/16,c_31/0,c_32/0,c_33/0,c_34/0,c_35/1,c_36/1,c_37/1,c_38/1,c_39/1,c_40/0,c_41/0,c_42/0,c_43/0} - Obligation: innermost runtime complexity wrt. defined symbols {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge# ,if#,not#} and constructors {0,1,I,L,N,false,l,r,true} + Applied Processor: RemoveWeakSuffixes + Details: Consider the dependency graph 1:S:Log#(x) -> c_16(-#(Log'(x),I(0())),Log'#(x)) -->_1 -#(O(x),I(y)) -> c_12(-#(-(x,y),I(1())),-#(x,y)):11 -->_1 -#(I(x),I(y)) -> c_10(-#(x,y)):9 -->_2 Log'#(O(x)) -> c_19(ge#(x,I(0())),Log'#(x)):3 -->_2 Log'#(I(x)) -> c_18(Log'#(x)):2 2:S:Log'#(I(x)) -> c_18(Log'#(x)) -->_1 Log'#(O(x)) -> c_19(ge#(x,I(0())),Log'#(x)):3 -->_1 Log'#(I(x)) -> c_18(Log'#(x)):2 3:S:Log'#(O(x)) -> c_19(ge#(x,I(0())),Log'#(x)) -->_1 ge#(O(x),I(y)) -> c_38(ge#(y,x)):7 -->_1 ge#(I(x),I(y)) -> c_36(ge#(x,y)):5 -->_2 Log'#(O(x)) -> c_19(ge#(x,I(0())),Log'#(x)):3 -->_2 Log'#(I(x)) -> c_18(Log'#(x)):2 4:S:ge#(0(),O(x)) -> c_35(ge#(0(),x)) -->_1 ge#(0(),O(x)) -> c_35(ge#(0(),x)):4 5:S:ge#(I(x),I(y)) -> c_36(ge#(x,y)) -->_1 ge#(O(x),O(y)) -> c_39(ge#(x,y)):8 -->_1 ge#(O(x),I(y)) -> c_38(ge#(y,x)):7 -->_1 ge#(I(x),O(y)) -> c_37(ge#(x,y)):6 -->_1 ge#(I(x),I(y)) -> c_36(ge#(x,y)):5 -->_1 ge#(0(),O(x)) -> c_35(ge#(0(),x)):4 6:S:ge#(I(x),O(y)) -> c_37(ge#(x,y)) -->_1 ge#(O(x),O(y)) -> c_39(ge#(x,y)):8 -->_1 ge#(O(x),I(y)) -> c_38(ge#(y,x)):7 -->_1 ge#(I(x),O(y)) -> c_37(ge#(x,y)):6 -->_1 ge#(I(x),I(y)) -> c_36(ge#(x,y)):5 -->_1 ge#(0(),O(x)) -> c_35(ge#(0(),x)):4 7:S:ge#(O(x),I(y)) -> c_38(ge#(y,x)) -->_1 ge#(O(x),O(y)) -> c_39(ge#(x,y)):8 -->_1 ge#(O(x),I(y)) -> c_38(ge#(y,x)):7 -->_1 ge#(I(x),O(y)) -> c_37(ge#(x,y)):6 -->_1 ge#(I(x),I(y)) -> c_36(ge#(x,y)):5 -->_1 ge#(0(),O(x)) -> c_35(ge#(0(),x)):4 8:S:ge#(O(x),O(y)) -> c_39(ge#(x,y)) -->_1 ge#(O(x),O(y)) -> c_39(ge#(x,y)):8 -->_1 ge#(O(x),I(y)) -> c_38(ge#(y,x)):7 -->_1 ge#(I(x),O(y)) -> c_37(ge#(x,y)):6 -->_1 ge#(I(x),I(y)) -> c_36(ge#(x,y)):5 -->_1 ge#(0(),O(x)) -> c_35(ge#(0(),x)):4 9:W:-#(I(x),I(y)) -> c_10(-#(x,y)) -->_1 -#(O(x),O(y)) -> c_13(-#(x,y)):12 -->_1 -#(O(x),I(y)) -> c_12(-#(-(x,y),I(1())),-#(x,y)):11 -->_1 -#(I(x),O(y)) -> c_11(-#(x,y)):10 -->_1 -#(I(x),I(y)) -> c_10(-#(x,y)):9 10:W:-#(I(x),O(y)) -> c_11(-#(x,y)) -->_1 -#(O(x),O(y)) -> c_13(-#(x,y)):12 -->_1 -#(O(x),I(y)) -> c_12(-#(-(x,y),I(1())),-#(x,y)):11 -->_1 -#(I(x),O(y)) -> c_11(-#(x,y)):10 -->_1 -#(I(x),I(y)) -> c_10(-#(x,y)):9 11:W:-#(O(x),I(y)) -> c_12(-#(-(x,y),I(1())),-#(x,y)) -->_2 -#(O(x),O(y)) -> c_13(-#(x,y)):12 -->_2 -#(O(x),I(y)) -> c_12(-#(-(x,y),I(1())),-#(x,y)):11 -->_1 -#(O(x),I(y)) -> c_12(-#(-(x,y),I(1())),-#(x,y)):11 -->_2 -#(I(x),O(y)) -> c_11(-#(x,y)):10 -->_2 -#(I(x),I(y)) -> c_10(-#(x,y)):9 -->_1 -#(I(x),I(y)) -> c_10(-#(x,y)):9 12:W:-#(O(x),O(y)) -> c_13(-#(x,y)) -->_1 -#(O(x),O(y)) -> c_13(-#(x,y)):12 -->_1 -#(O(x),I(y)) -> c_12(-#(-(x,y),I(1())),-#(x,y)):11 -->_1 -#(I(x),O(y)) -> c_11(-#(x,y)):10 -->_1 -#(I(x),I(y)) -> c_10(-#(x,y)):9 The following weak DPs constitute a sub-graph of the DG that is closed under successors. The DPs are removed. 11: -#(O(x),I(y)) -> c_12(-#(-(x,y),I(1())),-#(x,y)) 12: -#(O(x),O(y)) -> c_13(-#(x,y)) 10: -#(I(x),O(y)) -> c_11(-#(x,y)) 9: -#(I(x),I(y)) -> c_10(-#(x,y)) *** Step 8.b:3.b:2: SimplifyRHS WORST_CASE(?,O(n^1)) + Considered Problem: - Strict DPs: Log#(x) -> c_16(-#(Log'(x),I(0())),Log'#(x)) Log'#(I(x)) -> c_18(Log'#(x)) Log'#(O(x)) -> c_19(ge#(x,I(0())),Log'#(x)) ge#(0(),O(x)) -> c_35(ge#(0(),x)) ge#(I(x),I(y)) -> c_36(ge#(x,y)) ge#(I(x),O(y)) -> c_37(ge#(x,y)) ge#(O(x),I(y)) -> c_38(ge#(y,x)) ge#(O(x),O(y)) -> c_39(ge#(x,y)) - Weak TRS: +(x,+(y,z)) -> +(+(x,y),z) +(x,0()) -> x +(0(),x) -> x +(I(x),I(y)) -> O(+(+(x,y),I(0()))) +(I(x),O(y)) -> I(+(x,y)) +(O(x),I(y)) -> I(+(x,y)) +(O(x),O(y)) -> O(+(x,y)) -(x,0()) -> x -(0(),x) -> 0() -(I(x),I(y)) -> O(-(x,y)) -(I(x),O(y)) -> I(-(x,y)) -(O(x),I(y)) -> I(-(-(x,y),I(1()))) -(O(x),O(y)) -> O(-(x,y)) Log'(0()) -> 0() Log'(I(x)) -> +(Log'(x),I(0())) Log'(O(x)) -> if(ge(x,I(0())),+(Log'(x),I(0())),0()) O(0()) -> 0() ge(x,0()) -> true() ge(0(),I(x)) -> false() ge(0(),O(x)) -> ge(0(),x) ge(I(x),I(y)) -> ge(x,y) ge(I(x),O(y)) -> ge(x,y) ge(O(x),I(y)) -> not(ge(y,x)) ge(O(x),O(y)) -> ge(x,y) if(false(),x,y) -> y if(true(),x,y) -> x not(false()) -> true() not(true()) -> false() - Signature: {+/2,-/2,BS/1,Log/1,Log'/1,Max/1,Min/1,O/1,Size/1,Val/1,WB/1,and/2,ge/2,if/3,not/1,+#/2,-#/2,BS#/1,Log#/1 ,Log'#/1,Max#/1,Min#/1,O#/1,Size#/1,Val#/1,WB#/1,and#/2,ge#/2,if#/3,not#/1} / {0/0,1/0,I/1,L/1,N/3,false/0 ,l/0,r/0,true/0,c_1/2,c_2/0,c_3/0,c_4/2,c_5/1,c_6/1,c_7/1,c_8/0,c_9/0,c_10/1,c_11/1,c_12/2,c_13/1,c_14/0 ,c_15/9,c_16/2,c_17/0,c_18/1,c_19/2,c_20/0,c_21/1,c_22/0,c_23/1,c_24/0,c_25/0,c_26/4,c_27/0,c_28/0,c_29/0 ,c_30/16,c_31/0,c_32/0,c_33/0,c_34/0,c_35/1,c_36/1,c_37/1,c_38/1,c_39/1,c_40/0,c_41/0,c_42/0,c_43/0} - Obligation: innermost runtime complexity wrt. defined symbols {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge# ,if#,not#} and constructors {0,1,I,L,N,false,l,r,true} + Applied Processor: SimplifyRHS + Details: Consider the dependency graph 1:S:Log#(x) -> c_16(-#(Log'(x),I(0())),Log'#(x)) -->_2 Log'#(O(x)) -> c_19(ge#(x,I(0())),Log'#(x)):3 -->_2 Log'#(I(x)) -> c_18(Log'#(x)):2 2:S:Log'#(I(x)) -> c_18(Log'#(x)) -->_1 Log'#(O(x)) -> c_19(ge#(x,I(0())),Log'#(x)):3 -->_1 Log'#(I(x)) -> c_18(Log'#(x)):2 3:S:Log'#(O(x)) -> c_19(ge#(x,I(0())),Log'#(x)) -->_1 ge#(O(x),I(y)) -> c_38(ge#(y,x)):7 -->_1 ge#(I(x),I(y)) -> c_36(ge#(x,y)):5 -->_2 Log'#(O(x)) -> c_19(ge#(x,I(0())),Log'#(x)):3 -->_2 Log'#(I(x)) -> c_18(Log'#(x)):2 4:S:ge#(0(),O(x)) -> c_35(ge#(0(),x)) -->_1 ge#(0(),O(x)) -> c_35(ge#(0(),x)):4 5:S:ge#(I(x),I(y)) -> c_36(ge#(x,y)) -->_1 ge#(O(x),O(y)) -> c_39(ge#(x,y)):8 -->_1 ge#(O(x),I(y)) -> c_38(ge#(y,x)):7 -->_1 ge#(I(x),O(y)) -> c_37(ge#(x,y)):6 -->_1 ge#(I(x),I(y)) -> c_36(ge#(x,y)):5 -->_1 ge#(0(),O(x)) -> c_35(ge#(0(),x)):4 6:S:ge#(I(x),O(y)) -> c_37(ge#(x,y)) -->_1 ge#(O(x),O(y)) -> c_39(ge#(x,y)):8 -->_1 ge#(O(x),I(y)) -> c_38(ge#(y,x)):7 -->_1 ge#(I(x),O(y)) -> c_37(ge#(x,y)):6 -->_1 ge#(I(x),I(y)) -> c_36(ge#(x,y)):5 -->_1 ge#(0(),O(x)) -> c_35(ge#(0(),x)):4 7:S:ge#(O(x),I(y)) -> c_38(ge#(y,x)) -->_1 ge#(O(x),O(y)) -> c_39(ge#(x,y)):8 -->_1 ge#(O(x),I(y)) -> c_38(ge#(y,x)):7 -->_1 ge#(I(x),O(y)) -> c_37(ge#(x,y)):6 -->_1 ge#(I(x),I(y)) -> c_36(ge#(x,y)):5 -->_1 ge#(0(),O(x)) -> c_35(ge#(0(),x)):4 8:S:ge#(O(x),O(y)) -> c_39(ge#(x,y)) -->_1 ge#(O(x),O(y)) -> c_39(ge#(x,y)):8 -->_1 ge#(O(x),I(y)) -> c_38(ge#(y,x)):7 -->_1 ge#(I(x),O(y)) -> c_37(ge#(x,y)):6 -->_1 ge#(I(x),I(y)) -> c_36(ge#(x,y)):5 -->_1 ge#(0(),O(x)) -> c_35(ge#(0(),x)):4 Due to missing edges in the depndency graph, the right-hand sides of following rules could be simplified: Log#(x) -> c_16(Log'#(x)) *** Step 8.b:3.b:3: UsableRules WORST_CASE(?,O(n^1)) + Considered Problem: - Strict DPs: Log#(x) -> c_16(Log'#(x)) Log'#(I(x)) -> c_18(Log'#(x)) Log'#(O(x)) -> c_19(ge#(x,I(0())),Log'#(x)) ge#(0(),O(x)) -> c_35(ge#(0(),x)) ge#(I(x),I(y)) -> c_36(ge#(x,y)) ge#(I(x),O(y)) -> c_37(ge#(x,y)) ge#(O(x),I(y)) -> c_38(ge#(y,x)) ge#(O(x),O(y)) -> c_39(ge#(x,y)) - Weak TRS: +(x,+(y,z)) -> +(+(x,y),z) +(x,0()) -> x +(0(),x) -> x +(I(x),I(y)) -> O(+(+(x,y),I(0()))) +(I(x),O(y)) -> I(+(x,y)) +(O(x),I(y)) -> I(+(x,y)) +(O(x),O(y)) -> O(+(x,y)) -(x,0()) -> x -(0(),x) -> 0() -(I(x),I(y)) -> O(-(x,y)) -(I(x),O(y)) -> I(-(x,y)) -(O(x),I(y)) -> I(-(-(x,y),I(1()))) -(O(x),O(y)) -> O(-(x,y)) Log'(0()) -> 0() Log'(I(x)) -> +(Log'(x),I(0())) Log'(O(x)) -> if(ge(x,I(0())),+(Log'(x),I(0())),0()) O(0()) -> 0() ge(x,0()) -> true() ge(0(),I(x)) -> false() ge(0(),O(x)) -> ge(0(),x) ge(I(x),I(y)) -> ge(x,y) ge(I(x),O(y)) -> ge(x,y) ge(O(x),I(y)) -> not(ge(y,x)) ge(O(x),O(y)) -> ge(x,y) if(false(),x,y) -> y if(true(),x,y) -> x not(false()) -> true() not(true()) -> false() - Signature: {+/2,-/2,BS/1,Log/1,Log'/1,Max/1,Min/1,O/1,Size/1,Val/1,WB/1,and/2,ge/2,if/3,not/1,+#/2,-#/2,BS#/1,Log#/1 ,Log'#/1,Max#/1,Min#/1,O#/1,Size#/1,Val#/1,WB#/1,and#/2,ge#/2,if#/3,not#/1} / {0/0,1/0,I/1,L/1,N/3,false/0 ,l/0,r/0,true/0,c_1/2,c_2/0,c_3/0,c_4/2,c_5/1,c_6/1,c_7/1,c_8/0,c_9/0,c_10/1,c_11/1,c_12/2,c_13/1,c_14/0 ,c_15/9,c_16/1,c_17/0,c_18/1,c_19/2,c_20/0,c_21/1,c_22/0,c_23/1,c_24/0,c_25/0,c_26/4,c_27/0,c_28/0,c_29/0 ,c_30/16,c_31/0,c_32/0,c_33/0,c_34/0,c_35/1,c_36/1,c_37/1,c_38/1,c_39/1,c_40/0,c_41/0,c_42/0,c_43/0} - Obligation: innermost runtime complexity wrt. defined symbols {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge# ,if#,not#} and constructors {0,1,I,L,N,false,l,r,true} + Applied Processor: UsableRules + Details: We replace rewrite rules by usable rules: Log#(x) -> c_16(Log'#(x)) Log'#(I(x)) -> c_18(Log'#(x)) Log'#(O(x)) -> c_19(ge#(x,I(0())),Log'#(x)) ge#(0(),O(x)) -> c_35(ge#(0(),x)) ge#(I(x),I(y)) -> c_36(ge#(x,y)) ge#(I(x),O(y)) -> c_37(ge#(x,y)) ge#(O(x),I(y)) -> c_38(ge#(y,x)) ge#(O(x),O(y)) -> c_39(ge#(x,y)) *** Step 8.b:3.b:4: PredecessorEstimationCP WORST_CASE(?,O(n^1)) + Considered Problem: - Strict DPs: Log#(x) -> c_16(Log'#(x)) Log'#(I(x)) -> c_18(Log'#(x)) Log'#(O(x)) -> c_19(ge#(x,I(0())),Log'#(x)) ge#(0(),O(x)) -> c_35(ge#(0(),x)) ge#(I(x),I(y)) -> c_36(ge#(x,y)) ge#(I(x),O(y)) -> c_37(ge#(x,y)) ge#(O(x),I(y)) -> c_38(ge#(y,x)) ge#(O(x),O(y)) -> c_39(ge#(x,y)) - Signature: {+/2,-/2,BS/1,Log/1,Log'/1,Max/1,Min/1,O/1,Size/1,Val/1,WB/1,and/2,ge/2,if/3,not/1,+#/2,-#/2,BS#/1,Log#/1 ,Log'#/1,Max#/1,Min#/1,O#/1,Size#/1,Val#/1,WB#/1,and#/2,ge#/2,if#/3,not#/1} / {0/0,1/0,I/1,L/1,N/3,false/0 ,l/0,r/0,true/0,c_1/2,c_2/0,c_3/0,c_4/2,c_5/1,c_6/1,c_7/1,c_8/0,c_9/0,c_10/1,c_11/1,c_12/2,c_13/1,c_14/0 ,c_15/9,c_16/1,c_17/0,c_18/1,c_19/2,c_20/0,c_21/1,c_22/0,c_23/1,c_24/0,c_25/0,c_26/4,c_27/0,c_28/0,c_29/0 ,c_30/16,c_31/0,c_32/0,c_33/0,c_34/0,c_35/1,c_36/1,c_37/1,c_38/1,c_39/1,c_40/0,c_41/0,c_42/0,c_43/0} - Obligation: innermost runtime complexity wrt. defined symbols {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge# ,if#,not#} and constructors {0,1,I,L,N,false,l,r,true} + Applied Processor: PredecessorEstimationCP {onSelectionCP = any intersect of rules of CDG leaf and strict-rules, withComplexityPair = NaturalMI {miDimension = 1, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Nothing}} + Details: We first use the processor NaturalMI {miDimension = 1, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Nothing} to orient following rules strictly: 2: Log'#(I(x)) -> c_18(Log'#(x)) 3: Log'#(O(x)) -> c_19(ge#(x,I(0())),Log'#(x)) 4: ge#(0(),O(x)) -> c_35(ge#(0(),x)) 5: ge#(I(x),I(y)) -> c_36(ge#(x,y)) 6: ge#(I(x),O(y)) -> c_37(ge#(x,y)) 7: ge#(O(x),I(y)) -> c_38(ge#(y,x)) 8: ge#(O(x),O(y)) -> c_39(ge#(x,y)) Consider the set of all dependency pairs 1: Log#(x) -> c_16(Log'#(x)) 2: Log'#(I(x)) -> c_18(Log'#(x)) 3: Log'#(O(x)) -> c_19(ge#(x,I(0())),Log'#(x)) 4: ge#(0(),O(x)) -> c_35(ge#(0(),x)) 5: ge#(I(x),I(y)) -> c_36(ge#(x,y)) 6: ge#(I(x),O(y)) -> c_37(ge#(x,y)) 7: ge#(O(x),I(y)) -> c_38(ge#(y,x)) 8: ge#(O(x),O(y)) -> c_39(ge#(x,y)) Processor NaturalMI {miDimension = 1, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Nothing}induces the complexity certificateTIME (?,O(n^1)) SPACE(?,?)on application of the dependency pairs {2,3,4,5,6,7,8} These cover all (indirect) predecessors of dependency pairs {1,2,3,4,5,6,7,8} their number of applications is equally bounded. The dependency pairs are shifted into the weak component. **** Step 8.b:3.b:4.a:1: NaturalMI WORST_CASE(?,O(n^1)) + Considered Problem: - Strict DPs: Log#(x) -> c_16(Log'#(x)) Log'#(I(x)) -> c_18(Log'#(x)) Log'#(O(x)) -> c_19(ge#(x,I(0())),Log'#(x)) ge#(0(),O(x)) -> c_35(ge#(0(),x)) ge#(I(x),I(y)) -> c_36(ge#(x,y)) ge#(I(x),O(y)) -> c_37(ge#(x,y)) ge#(O(x),I(y)) -> c_38(ge#(y,x)) ge#(O(x),O(y)) -> c_39(ge#(x,y)) - Signature: {+/2,-/2,BS/1,Log/1,Log'/1,Max/1,Min/1,O/1,Size/1,Val/1,WB/1,and/2,ge/2,if/3,not/1,+#/2,-#/2,BS#/1,Log#/1 ,Log'#/1,Max#/1,Min#/1,O#/1,Size#/1,Val#/1,WB#/1,and#/2,ge#/2,if#/3,not#/1} / {0/0,1/0,I/1,L/1,N/3,false/0 ,l/0,r/0,true/0,c_1/2,c_2/0,c_3/0,c_4/2,c_5/1,c_6/1,c_7/1,c_8/0,c_9/0,c_10/1,c_11/1,c_12/2,c_13/1,c_14/0 ,c_15/9,c_16/1,c_17/0,c_18/1,c_19/2,c_20/0,c_21/1,c_22/0,c_23/1,c_24/0,c_25/0,c_26/4,c_27/0,c_28/0,c_29/0 ,c_30/16,c_31/0,c_32/0,c_33/0,c_34/0,c_35/1,c_36/1,c_37/1,c_38/1,c_39/1,c_40/0,c_41/0,c_42/0,c_43/0} - Obligation: innermost runtime complexity wrt. defined symbols {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge# ,if#,not#} and constructors {0,1,I,L,N,false,l,r,true} + Applied Processor: NaturalMI {miDimension = 1, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Just first alternative for predecessorEstimation on any intersect of rules of CDG leaf and strict-rules} + Details: We apply a matrix interpretation of kind constructor based matrix interpretation: The following argument positions are considered usable: uargs(c_16) = {1}, uargs(c_18) = {1}, uargs(c_19) = {1,2}, uargs(c_35) = {1}, uargs(c_36) = {1}, uargs(c_37) = {1}, uargs(c_38) = {1}, uargs(c_39) = {1} Following symbols are considered usable: {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge#,if#,not#} TcT has computed the following interpretation: p(+) = [0] p(-) = [0] p(0) = [0] p(1) = [0] p(BS) = [0] p(I) = [1] x1 + [4] p(L) = [1] x1 + [0] p(Log) = [0] p(Log') = [0] p(Max) = [1] x1 + [0] p(Min) = [1] x1 + [0] p(N) = [0] p(O) = [4] x1 + [5] p(Size) = [2] x1 + [2] p(Val) = [2] x1 + [2] p(WB) = [4] p(and) = [1] x1 + [0] p(false) = [0] p(ge) = [1] p(if) = [1] x1 + [1] p(l) = [1] p(not) = [0] p(r) = [8] p(true) = [1] p(+#) = [1] p(-#) = [1] x1 + [0] p(BS#) = [4] x1 + [1] p(Log#) = [8] x1 + [8] p(Log'#) = [4] x1 + [2] p(Max#) = [1] x1 + [8] p(Min#) = [1] p(O#) = [2] x1 + [0] p(Size#) = [2] x1 + [1] p(Val#) = [1] x1 + [4] p(WB#) = [1] p(and#) = [2] x1 + [0] p(ge#) = [2] x1 + [4] x2 + [0] p(if#) = [1] x1 + [8] x2 + [1] p(not#) = [2] x1 + [4] p(c_1) = [0] p(c_2) = [2] p(c_3) = [2] p(c_4) = [0] p(c_5) = [2] x1 + [1] p(c_6) = [1] p(c_7) = [1] x1 + [0] p(c_8) = [2] p(c_9) = [2] p(c_10) = [0] p(c_11) = [1] x1 + [8] p(c_12) = [8] x1 + [4] p(c_13) = [1] p(c_14) = [0] p(c_15) = [1] x2 + [1] x3 + [2] x4 + [1] x7 + [1] p(c_16) = [2] x1 + [4] p(c_17) = [1] p(c_18) = [1] x1 + [5] p(c_19) = [1] x1 + [1] x2 + [1] p(c_20) = [4] p(c_21) = [0] p(c_22) = [2] p(c_23) = [4] x1 + [1] p(c_24) = [0] p(c_25) = [0] p(c_26) = [2] x1 + [1] x2 + [1] x3 + [1] p(c_27) = [0] p(c_28) = [2] p(c_29) = [2] p(c_30) = [1] x1 + [2] x3 + [1] x4 + [1] x6 + [2] x7 + [1] x10 + [1] x14 + [1] x15 + [0] p(c_31) = [1] p(c_32) = [0] p(c_33) = [1] p(c_34) = [2] p(c_35) = [4] x1 + [14] p(c_36) = [1] x1 + [12] p(c_37) = [1] x1 + [14] p(c_38) = [1] x1 + [1] p(c_39) = [1] x1 + [1] p(c_40) = [4] p(c_41) = [2] p(c_42) = [0] p(c_43) = [2] Following rules are strictly oriented: Log'#(I(x)) = [4] x + [18] > [4] x + [7] = c_18(Log'#(x)) Log'#(O(x)) = [16] x + [22] > [6] x + [19] = c_19(ge#(x,I(0())),Log'#(x)) ge#(0(),O(x)) = [16] x + [20] > [16] x + [14] = c_35(ge#(0(),x)) ge#(I(x),I(y)) = [2] x + [4] y + [24] > [2] x + [4] y + [12] = c_36(ge#(x,y)) ge#(I(x),O(y)) = [2] x + [16] y + [28] > [2] x + [4] y + [14] = c_37(ge#(x,y)) ge#(O(x),I(y)) = [8] x + [4] y + [26] > [4] x + [2] y + [1] = c_38(ge#(y,x)) ge#(O(x),O(y)) = [8] x + [16] y + [30] > [2] x + [4] y + [1] = c_39(ge#(x,y)) Following rules are (at-least) weakly oriented: Log#(x) = [8] x + [8] >= [8] x + [8] = c_16(Log'#(x)) **** Step 8.b:3.b:4.a:2: Assumption WORST_CASE(?,O(1)) + Considered Problem: - Strict DPs: Log#(x) -> c_16(Log'#(x)) - Weak DPs: Log'#(I(x)) -> c_18(Log'#(x)) Log'#(O(x)) -> c_19(ge#(x,I(0())),Log'#(x)) ge#(0(),O(x)) -> c_35(ge#(0(),x)) ge#(I(x),I(y)) -> c_36(ge#(x,y)) ge#(I(x),O(y)) -> c_37(ge#(x,y)) ge#(O(x),I(y)) -> c_38(ge#(y,x)) ge#(O(x),O(y)) -> c_39(ge#(x,y)) - Signature: {+/2,-/2,BS/1,Log/1,Log'/1,Max/1,Min/1,O/1,Size/1,Val/1,WB/1,and/2,ge/2,if/3,not/1,+#/2,-#/2,BS#/1,Log#/1 ,Log'#/1,Max#/1,Min#/1,O#/1,Size#/1,Val#/1,WB#/1,and#/2,ge#/2,if#/3,not#/1} / {0/0,1/0,I/1,L/1,N/3,false/0 ,l/0,r/0,true/0,c_1/2,c_2/0,c_3/0,c_4/2,c_5/1,c_6/1,c_7/1,c_8/0,c_9/0,c_10/1,c_11/1,c_12/2,c_13/1,c_14/0 ,c_15/9,c_16/1,c_17/0,c_18/1,c_19/2,c_20/0,c_21/1,c_22/0,c_23/1,c_24/0,c_25/0,c_26/4,c_27/0,c_28/0,c_29/0 ,c_30/16,c_31/0,c_32/0,c_33/0,c_34/0,c_35/1,c_36/1,c_37/1,c_38/1,c_39/1,c_40/0,c_41/0,c_42/0,c_43/0} - Obligation: innermost runtime complexity wrt. defined symbols {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge# ,if#,not#} and constructors {0,1,I,L,N,false,l,r,true} + Applied Processor: Assumption {assumed = Certificate {spaceUB = Unknown, spaceLB = Unknown, timeUB = Poly (Just 0), timeLB = Unknown}} + Details: () **** Step 8.b:3.b:4.b:1: RemoveWeakSuffixes WORST_CASE(?,O(1)) + Considered Problem: - Weak DPs: Log#(x) -> c_16(Log'#(x)) Log'#(I(x)) -> c_18(Log'#(x)) Log'#(O(x)) -> c_19(ge#(x,I(0())),Log'#(x)) ge#(0(),O(x)) -> c_35(ge#(0(),x)) ge#(I(x),I(y)) -> c_36(ge#(x,y)) ge#(I(x),O(y)) -> c_37(ge#(x,y)) ge#(O(x),I(y)) -> c_38(ge#(y,x)) ge#(O(x),O(y)) -> c_39(ge#(x,y)) - Signature: {+/2,-/2,BS/1,Log/1,Log'/1,Max/1,Min/1,O/1,Size/1,Val/1,WB/1,and/2,ge/2,if/3,not/1,+#/2,-#/2,BS#/1,Log#/1 ,Log'#/1,Max#/1,Min#/1,O#/1,Size#/1,Val#/1,WB#/1,and#/2,ge#/2,if#/3,not#/1} / {0/0,1/0,I/1,L/1,N/3,false/0 ,l/0,r/0,true/0,c_1/2,c_2/0,c_3/0,c_4/2,c_5/1,c_6/1,c_7/1,c_8/0,c_9/0,c_10/1,c_11/1,c_12/2,c_13/1,c_14/0 ,c_15/9,c_16/1,c_17/0,c_18/1,c_19/2,c_20/0,c_21/1,c_22/0,c_23/1,c_24/0,c_25/0,c_26/4,c_27/0,c_28/0,c_29/0 ,c_30/16,c_31/0,c_32/0,c_33/0,c_34/0,c_35/1,c_36/1,c_37/1,c_38/1,c_39/1,c_40/0,c_41/0,c_42/0,c_43/0} - Obligation: innermost runtime complexity wrt. defined symbols {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge# ,if#,not#} and constructors {0,1,I,L,N,false,l,r,true} + Applied Processor: RemoveWeakSuffixes + Details: Consider the dependency graph 1:W:Log#(x) -> c_16(Log'#(x)) -->_1 Log'#(O(x)) -> c_19(ge#(x,I(0())),Log'#(x)):3 -->_1 Log'#(I(x)) -> c_18(Log'#(x)):2 2:W:Log'#(I(x)) -> c_18(Log'#(x)) -->_1 Log'#(O(x)) -> c_19(ge#(x,I(0())),Log'#(x)):3 -->_1 Log'#(I(x)) -> c_18(Log'#(x)):2 3:W:Log'#(O(x)) -> c_19(ge#(x,I(0())),Log'#(x)) -->_1 ge#(O(x),I(y)) -> c_38(ge#(y,x)):7 -->_1 ge#(I(x),I(y)) -> c_36(ge#(x,y)):5 -->_2 Log'#(O(x)) -> c_19(ge#(x,I(0())),Log'#(x)):3 -->_2 Log'#(I(x)) -> c_18(Log'#(x)):2 4:W:ge#(0(),O(x)) -> c_35(ge#(0(),x)) -->_1 ge#(0(),O(x)) -> c_35(ge#(0(),x)):4 5:W:ge#(I(x),I(y)) -> c_36(ge#(x,y)) -->_1 ge#(O(x),O(y)) -> c_39(ge#(x,y)):8 -->_1 ge#(O(x),I(y)) -> c_38(ge#(y,x)):7 -->_1 ge#(I(x),O(y)) -> c_37(ge#(x,y)):6 -->_1 ge#(I(x),I(y)) -> c_36(ge#(x,y)):5 -->_1 ge#(0(),O(x)) -> c_35(ge#(0(),x)):4 6:W:ge#(I(x),O(y)) -> c_37(ge#(x,y)) -->_1 ge#(O(x),O(y)) -> c_39(ge#(x,y)):8 -->_1 ge#(O(x),I(y)) -> c_38(ge#(y,x)):7 -->_1 ge#(I(x),O(y)) -> c_37(ge#(x,y)):6 -->_1 ge#(I(x),I(y)) -> c_36(ge#(x,y)):5 -->_1 ge#(0(),O(x)) -> c_35(ge#(0(),x)):4 7:W:ge#(O(x),I(y)) -> c_38(ge#(y,x)) -->_1 ge#(O(x),O(y)) -> c_39(ge#(x,y)):8 -->_1 ge#(O(x),I(y)) -> c_38(ge#(y,x)):7 -->_1 ge#(I(x),O(y)) -> c_37(ge#(x,y)):6 -->_1 ge#(I(x),I(y)) -> c_36(ge#(x,y)):5 -->_1 ge#(0(),O(x)) -> c_35(ge#(0(),x)):4 8:W:ge#(O(x),O(y)) -> c_39(ge#(x,y)) -->_1 ge#(O(x),O(y)) -> c_39(ge#(x,y)):8 -->_1 ge#(O(x),I(y)) -> c_38(ge#(y,x)):7 -->_1 ge#(I(x),O(y)) -> c_37(ge#(x,y)):6 -->_1 ge#(I(x),I(y)) -> c_36(ge#(x,y)):5 -->_1 ge#(0(),O(x)) -> c_35(ge#(0(),x)):4 The following weak DPs constitute a sub-graph of the DG that is closed under successors. The DPs are removed. 1: Log#(x) -> c_16(Log'#(x)) 3: Log'#(O(x)) -> c_19(ge#(x,I(0())),Log'#(x)) 2: Log'#(I(x)) -> c_18(Log'#(x)) 7: ge#(O(x),I(y)) -> c_38(ge#(y,x)) 8: ge#(O(x),O(y)) -> c_39(ge#(x,y)) 6: ge#(I(x),O(y)) -> c_37(ge#(x,y)) 5: ge#(I(x),I(y)) -> c_36(ge#(x,y)) 4: ge#(0(),O(x)) -> c_35(ge#(0(),x)) **** Step 8.b:3.b:4.b:2: EmptyProcessor WORST_CASE(?,O(1)) + Considered Problem: - Signature: {+/2,-/2,BS/1,Log/1,Log'/1,Max/1,Min/1,O/1,Size/1,Val/1,WB/1,and/2,ge/2,if/3,not/1,+#/2,-#/2,BS#/1,Log#/1 ,Log'#/1,Max#/1,Min#/1,O#/1,Size#/1,Val#/1,WB#/1,and#/2,ge#/2,if#/3,not#/1} / {0/0,1/0,I/1,L/1,N/3,false/0 ,l/0,r/0,true/0,c_1/2,c_2/0,c_3/0,c_4/2,c_5/1,c_6/1,c_7/1,c_8/0,c_9/0,c_10/1,c_11/1,c_12/2,c_13/1,c_14/0 ,c_15/9,c_16/1,c_17/0,c_18/1,c_19/2,c_20/0,c_21/1,c_22/0,c_23/1,c_24/0,c_25/0,c_26/4,c_27/0,c_28/0,c_29/0 ,c_30/16,c_31/0,c_32/0,c_33/0,c_34/0,c_35/1,c_36/1,c_37/1,c_38/1,c_39/1,c_40/0,c_41/0,c_42/0,c_43/0} - Obligation: innermost runtime complexity wrt. defined symbols {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge# ,if#,not#} and constructors {0,1,I,L,N,false,l,r,true} + Applied Processor: EmptyProcessor + Details: The problem is already closed. The intended complexity is O(1). WORST_CASE(?,O(n^2))