* Step 1: Sum WORST_CASE(Omega(n^1),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:
Sum {left = someStrategy, right = someStrategy}
+ Details:
()
** Step 1.a:1: DecreasingLoops WORST_CASE(Omega(n^1),?)
+ 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:
DecreasingLoops {bound = AnyLoop, narrow = 10}
+ Details:
The system has following decreasing Loops:
+(x,y){x -> I(x),y -> I(y)} =
+(I(x),I(y)) ->^+ O(+(+(x,y),I(0())))
= C[+(x,y) = +(x,y){}]
** Step 1.b: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 1.b: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 1.b: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 1.b: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 1.b: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 1.b: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 1.b: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 1.b: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 1.b: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 1.b: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 1.b: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 1.b: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 1.b: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 1.b: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 1.b: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 1.b: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 1.b: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 1.b: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 1.b: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 1.b: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 1.b: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 1.b: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 1.b: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 1.b: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 1.b: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 1.b: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 1.b: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 1.b: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 1.b: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 1.b: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 1.b: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 1.b: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 1.b: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 1.b: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 1.b: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 1.b: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 1.b: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 1.b: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 1.b: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 1.b: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 1.b: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 1.b: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 1.b: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 1.b: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 1.b: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 1.b: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 1.b: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 1.b: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 1.b: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 1.b: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 1.b: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 1.b: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(Omega(n^1),O(n^2))