*** 1 Progress [(?,O(n^2))] ***
Considered Problem:
Strict DP Rules:
Strict TRS 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))
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()
Weak DP Rules:
Weak TRS Rules:
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
basic terms: {+,-,BS,Log,Log',Max,Min,O,Size,Val,WB,and,ge,if,not}/{0,1,I,L,N,false,l,r,true}
Applied Processor:
DependencyPairs {dpKind_ = DT}
Proof:
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.
*** 1.1 Progress [(?,O(n^2))] ***
Considered Problem:
Strict DP Rules:
+#(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()
Strict TRS Rules:
Weak DP Rules:
Weak TRS 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))
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
basic terms: {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge#,if#,not#}/{0,1,I,L,N,false,l,r,true}
Applied Processor:
UsableRules
Proof:
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()
*** 1.1.1 Progress [(?,O(n^2))] ***
Considered Problem:
Strict DP Rules:
+#(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()
Strict TRS Rules:
Weak DP Rules:
Weak TRS 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()
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
basic terms: {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge#,if#,not#}/{0,1,I,L,N,false,l,r,true}
Applied Processor:
PredecessorEstimation {onSelection = all simple predecessor estimation selector}
Proof:
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()
*** 1.1.1.1 Progress [(?,O(n^2))] ***
Considered Problem:
Strict DP Rules:
+#(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))
Strict TRS Rules:
Weak DP Rules:
+#(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 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()
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
basic terms: {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge#,if#,not#}/{0,1,I,L,N,false,l,r,true}
Applied Processor:
PredecessorEstimation {onSelection = all simple predecessor estimation selector}
Proof:
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()
*** 1.1.1.1.1 Progress [(?,O(n^2))] ***
Considered Problem:
Strict DP Rules:
+#(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))
Strict TRS Rules:
Weak DP Rules:
+#(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 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()
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
basic terms: {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge#,if#,not#}/{0,1,I,L,N,false,l,r,true}
Applied Processor:
RemoveWeakSuffixes
Proof:
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()
*** 1.1.1.1.1.1 Progress [(?,O(n^2))] ***
Considered Problem:
Strict DP Rules:
+#(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))
Strict TRS Rules:
Weak DP Rules:
Weak TRS 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()
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
basic terms: {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge#,if#,not#}/{0,1,I,L,N,false,l,r,true}
Applied Processor:
SimplifyRHS
Proof:
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))
*** 1.1.1.1.1.1.1 Progress [(?,O(n^2))] ***
Considered Problem:
Strict DP Rules:
+#(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))
Strict TRS Rules:
Weak DP Rules:
Weak TRS 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()
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
basic terms: {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge#,if#,not#}/{0,1,I,L,N,false,l,r,true}
Applied Processor:
UsableRules
Proof:
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))
*** 1.1.1.1.1.1.1.1 Progress [(?,O(n^2))] ***
Considered Problem:
Strict DP Rules:
+#(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))
Strict TRS Rules:
Weak DP Rules:
Weak TRS 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()
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
basic terms: {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge#,if#,not#}/{0,1,I,L,N,false,l,r,true}
Applied Processor:
Decompose {onSelection = all cycle independent sub-graph, withBound = RelativeAdd}
Proof:
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 DP Rules:
+#(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))
Strict TRS Rules:
Weak DP Rules:
-#(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 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()
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
basic terms: {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge#,if#,not#}/{0,1,I,L,N,false,l,r,true}
Problem (S)
Strict DP Rules:
-#(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))
Strict TRS Rules:
Weak DP Rules:
+#(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 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()
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
basic terms: {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge#,if#,not#}/{0,1,I,L,N,false,l,r,true}
*** 1.1.1.1.1.1.1.1.1 Progress [(?,O(n^2))] ***
Considered Problem:
Strict DP Rules:
+#(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))
Strict TRS Rules:
Weak DP Rules:
-#(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 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()
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
basic terms: {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge#,if#,not#}/{0,1,I,L,N,false,l,r,true}
Applied Processor:
RemoveWeakSuffixes
Proof:
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 +#(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:S:+#(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:S:+#(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:S:+#(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:-#(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 -#(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
8:W:-#(O(x),I(y)) -> c_12(-#(-(x,y),I(1())),-#(x,y))
-->_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
-->_2 -#(I(x),O(y)) -> c_11(-#(x,y)):7
-->_2 -#(I(x),I(y)) -> c_10(-#(x,y)):6
-->_1 -#(I(x),I(y)) -> c_10(-#(x,y)):6
9:W:-#(O(x),O(y)) -> c_13(-#(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
10:W:Log#(x) -> c_16(-#(Log'(x),I(0())),Log'#(x))
-->_1 -#(O(x),I(y)) -> c_12(-#(-(x,y),I(1())),-#(x,y)):8
-->_1 -#(I(x),I(y)) -> c_10(-#(x,y)):6
-->_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))
-->_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
-->_1 +#(O(x),I(y)) -> c_6(+#(x,y)):4
-->_1 +#(I(x),I(y)) -> c_4(+#(+(x,y),I(0())),+#(x,y)):2
12:W: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)):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
-->_3 Log'#(I(x)) -> c_18(+#(Log'(x),I(0())),Log'#(x)):11
-->_2 +#(O(x),I(y)) -> c_6(+#(x,y)):4
-->_2 +#(I(x),I(y)) -> c_4(+#(+(x,y),I(0())),+#(x,y)):2
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#(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
-->_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#(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
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),O(y)) -> c_37(ge#(x,y)):15
-->_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
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),O(y)) -> c_37(ge#(x,y)):15
-->_1 ge#(I(x),I(y)) -> c_36(ge#(x,y)):14
-->_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))
*** 1.1.1.1.1.1.1.1.1.1 Progress [(?,O(n^2))] ***
Considered Problem:
Strict DP Rules:
+#(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))
Strict TRS Rules:
Weak DP Rules:
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 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()
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
basic terms: {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge#,if#,not#}/{0,1,I,L,N,false,l,r,true}
Applied Processor:
SimplifyRHS
Proof:
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 +#(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:S:+#(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:S:+#(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:S:+#(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
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))
-->_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
-->_1 +#(O(x),I(y)) -> c_6(+#(x,y)):4
-->_1 +#(I(x),I(y)) -> c_4(+#(+(x,y),I(0())),+#(x,y)):2
12:W:Log'#(O(x)) -> c_19(ge#(x,I(0())),+#(Log'(x),I(0())),Log'#(x))
-->_3 Log'#(O(x)) -> c_19(ge#(x,I(0())),+#(Log'(x),I(0())),Log'#(x)):12
-->_3 Log'#(I(x)) -> c_18(+#(Log'(x),I(0())),Log'#(x)):11
-->_2 +#(O(x),I(y)) -> c_6(+#(x,y)):4
-->_2 +#(I(x),I(y)) -> c_4(+#(+(x,y),I(0())),+#(x,y)):2
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))
*** 1.1.1.1.1.1.1.1.1.1.1 Progress [(?,O(n^2))] ***
Considered Problem:
Strict DP Rules:
+#(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))
Strict TRS Rules:
Weak DP Rules:
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 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()
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
basic terms: {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge#,if#,not#}/{0,1,I,L,N,false,l,r,true}
Applied Processor:
UsableRules
Proof:
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))
*** 1.1.1.1.1.1.1.1.1.1.1.1 Progress [(?,O(n^2))] ***
Considered Problem:
Strict DP Rules:
+#(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))
Strict TRS Rules:
Weak DP Rules:
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 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()
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
basic terms: {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge#,if#,not#}/{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, greedy = NoGreedy}}
Proof:
We first use the processor NaturalMI {miDimension = 1, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Nothing, greedy = NoGreedy} 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, greedy = NoGreedy}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.
*** 1.1.1.1.1.1.1.1.1.1.1.1.1 Progress [(?,O(n^1))] ***
Considered Problem:
Strict DP Rules:
+#(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))
Strict TRS Rules:
Weak DP Rules:
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 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()
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
basic terms: {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge#,if#,not#}/{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 any intersect of rules of CDG leaf and strict-rules, greedy = NoGreedy}
Proof:
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 + [2]
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') = [4]
p(Max) = [0]
p(Min) = [0]
p(N) = [1] x1 + [1] x2 + [1] x3 + [0]
p(O) = [1] x1 + [0]
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(+#) = [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#) = [0]
p(c_1) = [2] x1 + [1] x2 + [4]
p(c_2) = [0]
p(c_3) = [0]
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) = [0]
p(c_11) = [0]
p(c_12) = [0]
p(c_13) = [0]
p(c_14) = [0]
p(c_15) = [1] x5 + [1] x6 + [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) = [0]
p(c_21) = [0]
p(c_22) = [0]
p(c_23) = [0]
p(c_24) = [0]
p(c_25) = [0]
p(c_26) = [2] x2 + [0]
p(c_27) = [0]
p(c_28) = [0]
p(c_29) = [0]
p(c_30) = [4] x1 + [1] x3 + [2] x5 + [1] x6 + [2] x7 + [2] x9 + [1] x10 + [4] x12 + [4] x13 + [0]
p(c_31) = [0]
p(c_32) = [2]
p(c_33) = [0]
p(c_34) = [0]
p(c_35) = [0]
p(c_36) = [0]
p(c_37) = [1] x1 + [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:
+#(x,+(y,z)) = [4] y + [8] z + [8]
> [4] y + [8] z + [4]
= 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)) = [4] 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)) = [4] y + [0]
>= [4] y + [0]
= 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))
*** 1.1.1.1.1.1.1.1.1.1.1.1.1.1 Progress [(?,O(1))] ***
Considered Problem:
Strict DP Rules:
+#(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))
Strict TRS Rules:
Weak DP Rules:
+#(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 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()
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
basic terms: {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge#,if#,not#}/{0,1,I,L,N,false,l,r,true}
Applied Processor:
Assumption
Proof:
()
*** 1.1.1.1.1.1.1.1.1.1.1.1.2 Progress [(?,O(n^2))] ***
Considered Problem:
Strict DP Rules:
+#(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))
Strict TRS Rules:
Weak DP Rules:
+#(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 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()
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
basic terms: {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge#,if#,not#}/{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, greedy = NoGreedy}}
Proof:
We first use the processor NaturalMI {miDimension = 1, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Nothing, greedy = NoGreedy} to orient following rules strictly:
4: +#(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: +#(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, greedy = NoGreedy}induces the complexity certificateTIME (?,O(n^1))
SPACE(?,?)on application of the dependency pairs
{4}
These cover all (indirect) predecessors of dependency pairs
{4,6}
their number of applications is equally bounded.
The dependency pairs are shifted into the weak component.
*** 1.1.1.1.1.1.1.1.1.1.1.1.2.1 Progress [(?,O(n^1))] ***
Considered Problem:
Strict DP Rules:
+#(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))
Strict TRS Rules:
Weak DP Rules:
+#(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 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()
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
basic terms: {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge#,if#,not#}/{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 any intersect of rules of CDG leaf and strict-rules, greedy = NoGreedy}
Proof:
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] x1 + [0]
p(0) = [0]
p(1) = [0]
p(BS) = [0]
p(I) = [1] x1 + [0]
p(L) = [0]
p(Log) = [1] x1 + [0]
p(Log') = [1]
p(Max) = [0]
p(Min) = [1] x1 + [0]
p(N) = [1] x2 + [1] x3 + [0]
p(O) = [3] x1 + [1]
p(Size) = [1] x1 + [2]
p(Val) = [0]
p(WB) = [0]
p(and) = [1] x2 + [0]
p(false) = [1]
p(ge) = [0]
p(if) = [0]
p(l) = [0]
p(not) = [2] x1 + [0]
p(r) = [1]
p(true) = [0]
p(+#) = [1] x2 + [0]
p(-#) = [1] x1 + [0]
p(BS#) = [2] x1 + [4]
p(Log#) = [2]
p(Log'#) = [0]
p(Max#) = [1]
p(Min#) = [2]
p(O#) = [0]
p(Size#) = [1]
p(Val#) = [1]
p(WB#) = [0]
p(and#) = [4] x2 + [2]
p(ge#) = [4] x1 + [1]
p(if#) = [1] x2 + [2]
p(not#) = [2] x1 + [1]
p(c_1) = [1] x1 + [1] x2 + [0]
p(c_2) = [0]
p(c_3) = [0]
p(c_4) = [4] x1 + [1] x2 + [0]
p(c_5) = [1] x1 + [1]
p(c_6) = [1] x1 + [0]
p(c_7) = [2] x1 + [0]
p(c_8) = [2]
p(c_9) = [0]
p(c_10) = [4]
p(c_11) = [0]
p(c_12) = [1] x1 + [0]
p(c_13) = [2]
p(c_14) = [4]
p(c_15) = [1] x1 + [1] x9 + [0]
p(c_16) = [4] x1 + [2]
p(c_17) = [0]
p(c_18) = [1] x1 + [1] x2 + [0]
p(c_19) = [2] x1 + [1] x2 + [0]
p(c_20) = [0]
p(c_21) = [2]
p(c_22) = [0]
p(c_23) = [2] x1 + [2]
p(c_24) = [4]
p(c_25) = [0]
p(c_26) = [1] x2 + [1] x3 + [4] x4 + [0]
p(c_27) = [1]
p(c_28) = [1]
p(c_29) = [0]
p(c_30) = [1] x1 + [1] x3 + [1] x8 + [1] x10 + [1] x11 + [2] x13 + [4] x15 + [4]
p(c_31) = [0]
p(c_32) = [0]
p(c_33) = [0]
p(c_34) = [2]
p(c_35) = [0]
p(c_36) = [1]
p(c_37) = [0]
p(c_38) = [1] x1 + [4]
p(c_39) = [2] x1 + [4]
p(c_40) = [0]
p(c_41) = [0]
p(c_42) = [1]
p(c_43) = [0]
Following rules are strictly oriented:
+#(O(x),O(y)) = [3] y + [1]
> [2] y + [0]
= c_7(+#(x,y))
Following rules are (at-least) weakly oriented:
+#(x,+(y,z)) = [2] y + [2] z + [0]
>= [1] y + [1] z + [0]
= c_1(+#(+(x,y),z),+#(x,y))
+#(I(x),I(y)) = [1] y + [0]
>= [1] y + [0]
= c_4(+#(+(x,y),I(0())),+#(x,y))
+#(I(x),O(y)) = [3] y + [1]
>= [1] y + [1]
= c_5(+#(x,y))
+#(O(x),I(y)) = [1] y + [0]
>= [1] y + [0]
= c_6(+#(x,y))
Log#(x) = [2]
>= [2]
= 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))
*** 1.1.1.1.1.1.1.1.1.1.1.1.2.1.1 Progress [(?,O(1))] ***
Considered Problem:
Strict DP Rules:
+#(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))
Strict TRS Rules:
Weak DP Rules:
+#(x,+(y,z)) -> c_1(+#(+(x,y),z),+#(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 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()
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
basic terms: {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge#,if#,not#}/{0,1,I,L,N,false,l,r,true}
Applied Processor:
Assumption
Proof:
()
*** 1.1.1.1.1.1.1.1.1.1.1.1.2.2 Progress [(?,O(n^2))] ***
Considered Problem:
Strict DP Rules:
+#(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))
Strict TRS Rules:
Weak DP Rules:
+#(x,+(y,z)) -> c_1(+#(+(x,y),z),+#(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 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()
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
basic terms: {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge#,if#,not#}/{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, greedy = NoGreedy}}
Proof:
We first use the processor NaturalMI {miDimension = 1, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Nothing, greedy = NoGreedy} 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: +#(x,+(y,z)) -> c_1(+#(+(x,y),z)
,+#(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, greedy = NoGreedy}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.
*** 1.1.1.1.1.1.1.1.1.1.1.1.2.2.1 Progress [(?,O(n^1))] ***
Considered Problem:
Strict DP Rules:
+#(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))
Strict TRS Rules:
Weak DP Rules:
+#(x,+(y,z)) -> c_1(+#(+(x,y),z),+#(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 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()
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
basic terms: {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge#,if#,not#}/{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 any intersect of rules of CDG leaf and strict-rules, greedy = NoGreedy}
Proof:
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 + [1] 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) = [3] x1 + [5]
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) = [5]
p(r) = [0]
p(true) = [0]
p(+#) = [1] 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#) = [0]
p(c_1) = [1] x1 + [2] x2 + [0]
p(c_2) = [0]
p(c_3) = [0]
p(c_4) = [4] x1 + [1] x2 + [0]
p(c_5) = [2] x1 + [3]
p(c_6) = [1] x1 + [0]
p(c_7) = [2] x1 + [1]
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) = [1] x1 + [0]
p(c_17) = [0]
p(c_18) = [1] x1 + [4] x2 + [0]
p(c_19) = [1] x1 + [1] 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] x4 + [0]
p(c_27) = [0]
p(c_28) = [0]
p(c_29) = [0]
p(c_30) = [1] x6 + [4] x7 + [2] x8 + [1] x11 + [1] x12 + [2] x13 + [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) = [2] x1 + [0]
p(c_39) = [4] 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)) = [3] y + [5]
> [2] y + [3]
= c_5(+#(x,y))
Following rules are (at-least) weakly oriented:
+#(x,+(y,z)) = [2] y + [1] z + [0]
>= [2] y + [1] z + [0]
= c_1(+#(+(x,y),z),+#(x,y))
+#(I(x),I(y)) = [1] y + [0]
>= [1] y + [0]
= c_4(+#(+(x,y),I(0())),+#(x,y))
+#(O(x),I(y)) = [1] y + [0]
>= [1] y + [0]
= c_6(+#(x,y))
+#(O(x),O(y)) = [3] y + [5]
>= [2] y + [1]
= 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))
*** 1.1.1.1.1.1.1.1.1.1.1.1.2.2.1.1 Progress [(?,O(1))] ***
Considered Problem:
Strict DP Rules:
+#(I(x),I(y)) -> c_4(+#(+(x,y),I(0())),+#(x,y))
+#(O(x),I(y)) -> c_6(+#(x,y))
Strict TRS Rules:
Weak DP Rules:
+#(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 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()
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
basic terms: {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge#,if#,not#}/{0,1,I,L,N,false,l,r,true}
Applied Processor:
Assumption
Proof:
()
*** 1.1.1.1.1.1.1.1.1.1.1.1.2.2.2 Progress [(?,O(n^2))] ***
Considered Problem:
Strict DP Rules:
+#(I(x),I(y)) -> c_4(+#(+(x,y),I(0())),+#(x,y))
+#(O(x),I(y)) -> c_6(+#(x,y))
Strict TRS Rules:
Weak DP Rules:
+#(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 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()
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
basic terms: {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge#,if#,not#}/{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, greedy = NoGreedy}}
Proof:
We first use the processor NaturalMI {miDimension = 1, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Nothing, greedy = NoGreedy} 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, greedy = NoGreedy}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.
*** 1.1.1.1.1.1.1.1.1.1.1.1.2.2.2.1 Progress [(?,O(n^1))] ***
Considered Problem:
Strict DP Rules:
+#(I(x),I(y)) -> c_4(+#(+(x,y),I(0())),+#(x,y))
+#(O(x),I(y)) -> c_6(+#(x,y))
Strict TRS Rules:
Weak DP Rules:
+#(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 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()
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
basic terms: {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge#,if#,not#}/{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 any intersect of rules of CDG leaf and strict-rules, greedy = NoGreedy}
Proof:
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 + [4]
p(L) = [1] x1 + [0]
p(Log) = [2] x1 + [0]
p(Log') = [5]
p(Max) = [0]
p(Min) = [1]
p(N) = [1]
p(O) = [1] x1 + [4]
p(Size) = [0]
p(Val) = [1] x1 + [1]
p(WB) = [0]
p(and) = [1] x1 + [4] x2 + [1]
p(false) = [0]
p(ge) = [2] x2 + [0]
p(if) = [4]
p(l) = [1]
p(not) = [2] x1 + [5]
p(r) = [0]
p(true) = [4]
p(+#) = [2] x2 + [0]
p(-#) = [4] x2 + [0]
p(BS#) = [0]
p(Log#) = [2] x1 + [7]
p(Log'#) = [2] x1 + [4]
p(Max#) = [1] x1 + [0]
p(Min#) = [0]
p(O#) = [1]
p(Size#) = [2] x1 + [0]
p(Val#) = [1] x1 + [1]
p(WB#) = [0]
p(and#) = [4] x2 + [0]
p(ge#) = [0]
p(if#) = [4] x2 + [1]
p(not#) = [2]
p(c_1) = [2] 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 + [5]
p(c_7) = [1] x1 + [0]
p(c_8) = [1]
p(c_9) = [1]
p(c_10) = [1]
p(c_11) = [2]
p(c_12) = [4] x1 + [2]
p(c_13) = [4]
p(c_14) = [0]
p(c_15) = [4] x1 + [1] x3 + [4] x4 + [4] x9 + [1]
p(c_16) = [1] x1 + [3]
p(c_17) = [0]
p(c_18) = [1] x1 + [1] x2 + [0]
p(c_19) = [1] x1 + [1] x2 + [0]
p(c_20) = [0]
p(c_21) = [1] x1 + [0]
p(c_22) = [1]
p(c_23) = [2]
p(c_24) = [0]
p(c_25) = [1]
p(c_26) = [1] x2 + [4]
p(c_27) = [0]
p(c_28) = [1]
p(c_29) = [0]
p(c_30) = [1] x1 + [1] x3 + [1] x4 + [1] x5 + [4] x6 + [1] x7 + [4] x12 + [1] x13 + [1] x16 + [1]
p(c_31) = [0]
p(c_32) = [4]
p(c_33) = [0]
p(c_34) = [0]
p(c_35) = [0]
p(c_36) = [4] x1 + [0]
p(c_37) = [4]
p(c_38) = [2] x1 + [0]
p(c_39) = [4] x1 + [2]
p(c_40) = [0]
p(c_41) = [0]
p(c_42) = [0]
p(c_43) = [1]
Following rules are strictly oriented:
+#(O(x),I(y)) = [2] y + [8]
> [2] y + [5]
= c_6(+#(x,y))
Following rules are (at-least) weakly oriented:
+#(x,+(y,z)) = [2] y + [4] z + [0]
>= [2] y + [4] z + [0]
= c_1(+#(+(x,y),z),+#(x,y))
+#(I(x),I(y)) = [2] y + [8]
>= [2] y + [8]
= c_4(+#(+(x,y),I(0())),+#(x,y))
+#(I(x),O(y)) = [2] y + [8]
>= [2] y + [0]
= c_5(+#(x,y))
+#(O(x),O(y)) = [2] y + [8]
>= [2] y + [0]
= c_7(+#(x,y))
Log#(x) = [2] x + [7]
>= [2] x + [7]
= c_16(Log'#(x))
Log'#(I(x)) = [2] x + [12]
>= [2] x + [12]
= c_18(+#(Log'(x),I(0()))
,Log'#(x))
Log'#(O(x)) = [2] x + [12]
>= [2] x + [12]
= c_19(+#(Log'(x),I(0()))
,Log'#(x))
*** 1.1.1.1.1.1.1.1.1.1.1.1.2.2.2.1.1 Progress [(?,O(1))] ***
Considered Problem:
Strict DP Rules:
+#(I(x),I(y)) -> c_4(+#(+(x,y),I(0())),+#(x,y))
Strict TRS Rules:
Weak DP Rules:
+#(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 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()
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
basic terms: {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge#,if#,not#}/{0,1,I,L,N,false,l,r,true}
Applied Processor:
Assumption
Proof:
()
*** 1.1.1.1.1.1.1.1.1.1.1.1.2.2.2.2 Progress [(?,O(n^2))] ***
Considered Problem:
Strict DP Rules:
+#(I(x),I(y)) -> c_4(+#(+(x,y),I(0())),+#(x,y))
Strict TRS Rules:
Weak DP Rules:
+#(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 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()
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
basic terms: {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge#,if#,not#}/{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, greedy = NoGreedy}}
Proof:
We first use the processor NaturalPI {shape = Mixed 2, restrict = Restrict, uargs = UArgs, urules = URules, selector = Nothing, greedy = NoGreedy} 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, greedy = NoGreedy}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.
*** 1.1.1.1.1.1.1.1.1.1.1.1.2.2.2.2.1 Progress [(?,O(n^2))] ***
Considered Problem:
Strict DP Rules:
+#(I(x),I(y)) -> c_4(+#(+(x,y),I(0())),+#(x,y))
Strict TRS Rules:
Weak DP Rules:
+#(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 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()
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
basic terms: {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge#,if#,not#}/{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 any intersect of rules of CDG leaf and strict-rules, greedy = NoGreedy}
Proof:
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#) = 1 + 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) = 1 + 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()
*** 1.1.1.1.1.1.1.1.1.1.1.1.2.2.2.2.1.1 Progress [(?,O(1))] ***
Considered Problem:
Strict DP Rules:
Strict TRS Rules:
Weak DP Rules:
+#(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 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()
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
basic terms: {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge#,if#,not#}/{0,1,I,L,N,false,l,r,true}
Applied Processor:
Assumption
Proof:
()
*** 1.1.1.1.1.1.1.1.1.1.1.1.2.2.2.2.2 Progress [(O(1),O(1))] ***
Considered Problem:
Strict DP Rules:
Strict TRS Rules:
Weak DP Rules:
+#(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 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()
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
basic terms: {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge#,if#,not#}/{0,1,I,L,N,false,l,r,true}
Applied Processor:
RemoveWeakSuffixes
Proof:
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))
*** 1.1.1.1.1.1.1.1.1.1.1.1.2.2.2.2.2.1 Progress [(O(1),O(1))] ***
Considered Problem:
Strict DP Rules:
Strict TRS Rules:
Weak DP Rules:
Weak TRS 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()
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
basic terms: {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge#,if#,not#}/{0,1,I,L,N,false,l,r,true}
Applied Processor:
EmptyProcessor
Proof:
The problem is already closed. The intended complexity is O(1).
*** 1.1.1.1.1.1.1.1.2 Progress [(?,O(n^2))] ***
Considered Problem:
Strict DP Rules:
-#(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))
Strict TRS Rules:
Weak DP Rules:
+#(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 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()
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
basic terms: {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge#,if#,not#}/{0,1,I,L,N,false,l,r,true}
Applied Processor:
RemoveWeakSuffixes
Proof:
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))
*** 1.1.1.1.1.1.1.1.2.1 Progress [(?,O(n^2))] ***
Considered Problem:
Strict DP Rules:
-#(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))
Strict TRS Rules:
Weak DP Rules:
Weak TRS 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()
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
basic terms: {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge#,if#,not#}/{0,1,I,L,N,false,l,r,true}
Applied Processor:
SimplifyRHS
Proof:
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))
*** 1.1.1.1.1.1.1.1.2.1.1 Progress [(?,O(n^2))] ***
Considered Problem:
Strict DP Rules:
-#(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))
Strict TRS Rules:
Weak DP Rules:
Weak TRS 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()
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
basic terms: {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge#,if#,not#}/{0,1,I,L,N,false,l,r,true}
Applied Processor:
Decompose {onSelection = all cycle independent sub-graph, withBound = RelativeAdd}
Proof:
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 DP Rules:
-#(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))
Strict TRS Rules:
Weak DP Rules:
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 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()
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
basic terms: {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge#,if#,not#}/{0,1,I,L,N,false,l,r,true}
Problem (S)
Strict DP Rules:
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))
Strict TRS Rules:
Weak DP Rules:
-#(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 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()
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
basic terms: {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge#,if#,not#}/{0,1,I,L,N,false,l,r,true}
*** 1.1.1.1.1.1.1.1.2.1.1.1 Progress [(?,O(n^2))] ***
Considered Problem:
Strict DP Rules:
-#(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))
Strict TRS Rules:
Weak DP Rules:
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 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()
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
basic terms: {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge#,if#,not#}/{0,1,I,L,N,false,l,r,true}
Applied Processor:
RemoveWeakSuffixes
Proof:
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:W:Log#(x) -> c_16(-#(Log'(x),I(0())),Log'#(x))
-->_2 Log'#(I(x)) -> c_18(Log'#(x)):6
-->_2 Log'#(O(x)) -> c_19(ge#(x,I(0())),Log'#(x)):7
-->_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: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#(I(x),I(y)) -> c_36(ge#(x,y)):9
-->_1 ge#(O(x),I(y)) -> c_38(ge#(y,x)):11
-->_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#(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:W:ge#(I(x),O(y)) -> c_37(ge#(x,y))
-->_1 ge#(I(x),I(y)) -> c_36(ge#(x,y)):9
-->_1 ge#(0(),O(x)) -> c_35(ge#(0(),x)):8
-->_1 ge#(O(x),I(y)) -> c_38(ge#(y,x)):11
-->_1 ge#(O(x),O(y)) -> c_39(ge#(x,y)):12
-->_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#(I(x),I(y)) -> c_36(ge#(x,y)):9
-->_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
12:W:ge#(O(x),O(y)) -> c_39(ge#(x,y))
-->_1 ge#(I(x),I(y)) -> c_36(ge#(x,y)):9
-->_1 ge#(0(),O(x)) -> c_35(ge#(0(),x)):8
-->_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#(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))
*** 1.1.1.1.1.1.1.1.2.1.1.1.1 Progress [(?,O(n^2))] ***
Considered Problem:
Strict DP Rules:
-#(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))
Strict TRS Rules:
Weak DP Rules:
Log#(x) -> c_16(-#(Log'(x),I(0())),Log'#(x))
Weak TRS 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()
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
basic terms: {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge#,if#,not#}/{0,1,I,L,N,false,l,r,true}
Applied Processor:
SimplifyRHS
Proof:
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:W:Log#(x) -> c_16(-#(Log'(x),I(0())),Log'#(x))
-->_1 -#(O(x),I(y)) -> c_12(-#(-(x,y),I(1())),-#(x,y)):3
-->_1 -#(I(x),I(y)) -> c_10(-#(x,y)):1
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())))
*** 1.1.1.1.1.1.1.1.2.1.1.1.1.1 Progress [(?,O(n^2))] ***
Considered Problem:
Strict DP Rules:
-#(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))
Strict TRS Rules:
Weak DP Rules:
Log#(x) -> c_16(-#(Log'(x),I(0())))
Weak TRS 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()
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
basic terms: {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge#,if#,not#}/{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, greedy = NoGreedy}}
Proof:
We first use the processor NaturalMI {miDimension = 1, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Nothing, greedy = NoGreedy} to orient following rules strictly:
2: -#(I(x),O(y)) -> c_11(-#(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, greedy = NoGreedy}induces the complexity certificateTIME (?,O(n^1))
SPACE(?,?)on application of the dependency pairs
{2}
These cover all (indirect) predecessors of dependency pairs
{2,5}
their number of applications is equally bounded.
The dependency pairs are shifted into the weak component.
*** 1.1.1.1.1.1.1.1.2.1.1.1.1.1.1 Progress [(?,O(n^1))] ***
Considered Problem:
Strict DP Rules:
-#(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))
Strict TRS Rules:
Weak DP Rules:
Log#(x) -> c_16(-#(Log'(x),I(0())))
Weak TRS 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()
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
basic terms: {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge#,if#,not#}/{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 any intersect of rules of CDG leaf and strict-rules, greedy = NoGreedy}
Proof:
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) = [4] x1 + [4]
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) = [0]
p(true) = [0]
p(+#) = [0]
p(-#) = [1] x2 + [0]
p(BS#) = [0]
p(Log#) = [1]
p(Log'#) = [0]
p(Max#) = [0]
p(Min#) = [0]
p(O#) = [0]
p(Size#) = [0]
p(Val#) = [0]
p(WB#) = [1] x1 + [0]
p(and#) = [0]
p(ge#) = [1] x1 + [0]
p(if#) = [4] x1 + [1] x2 + [0]
p(not#) = [4] x1 + [0]
p(c_1) = [1] x2 + [0]
p(c_2) = [0]
p(c_3) = [0]
p(c_4) = [1] x1 + [2] x2 + [0]
p(c_5) = [1] x1 + [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) = [4] x1 + [0]
p(c_12) = [1] x1 + [1] x2 + [0]
p(c_13) = [2] x1 + [4]
p(c_14) = [0]
p(c_15) = [4] x2 + [1] x4 + [1] x6 + [1] x7 + [0]
p(c_16) = [1] x1 + [0]
p(c_17) = [0]
p(c_18) = [1] x1 + [0]
p(c_19) = [1] x2 + [0]
p(c_20) = [0]
p(c_21) = [4] x1 + [0]
p(c_22) = [0]
p(c_23) = [1] x1 + [0]
p(c_24) = [0]
p(c_25) = [0]
p(c_26) = [4] x2 + [1] x4 + [2]
p(c_27) = [0]
p(c_28) = [0]
p(c_29) = [0]
p(c_30) = [2] x1 + [1] x2 + [1] x7 + [1] x8 + [1] x9 + [1] x10 + [1] x11 + [1] x12 + [1] x13 + [1] x14 + [2] x16 + [0]
p(c_31) = [0]
p(c_32) = [0]
p(c_33) = [0]
p(c_34) = [0]
p(c_35) = [2] x1 + [0]
p(c_36) = [1] x1 + [0]
p(c_37) = [1] x1 + [0]
p(c_38) = [1] x1 + [0]
p(c_39) = [2] 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)) = [4] y + [4]
> [4] y + [0]
= c_11(-#(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))
-#(O(x),O(y)) = [4] y + [4]
>= [2] y + [4]
= c_13(-#(x,y))
Log#(x) = [1]
>= [0]
= c_16(-#(Log'(x),I(0())))
*** 1.1.1.1.1.1.1.1.2.1.1.1.1.1.1.1 Progress [(?,O(1))] ***
Considered Problem:
Strict DP Rules:
-#(I(x),I(y)) -> c_10(-#(x,y))
-#(O(x),I(y)) -> c_12(-#(-(x,y),I(1())),-#(x,y))
-#(O(x),O(y)) -> c_13(-#(x,y))
Strict TRS Rules:
Weak DP Rules:
-#(I(x),O(y)) -> c_11(-#(x,y))
Log#(x) -> c_16(-#(Log'(x),I(0())))
Weak TRS 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()
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
basic terms: {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge#,if#,not#}/{0,1,I,L,N,false,l,r,true}
Applied Processor:
Assumption
Proof:
()
*** 1.1.1.1.1.1.1.1.2.1.1.1.1.1.2 Progress [(?,O(n^2))] ***
Considered Problem:
Strict DP Rules:
-#(I(x),I(y)) -> c_10(-#(x,y))
-#(O(x),I(y)) -> c_12(-#(-(x,y),I(1())),-#(x,y))
-#(O(x),O(y)) -> c_13(-#(x,y))
Strict TRS Rules:
Weak DP Rules:
-#(I(x),O(y)) -> c_11(-#(x,y))
Log#(x) -> c_16(-#(Log'(x),I(0())))
Weak TRS 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()
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
basic terms: {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge#,if#,not#}/{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, greedy = NoGreedy}}
Proof:
We first use the processor NaturalMI {miDimension = 1, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Nothing, greedy = NoGreedy} to orient following rules strictly:
3: -#(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: -#(O(x),I(y)) -> c_12(-#(-(x,y)
,I(1()))
,-#(x,y))
3: -#(O(x),O(y)) -> c_13(-#(x,y))
4: -#(I(x),O(y)) -> c_11(-#(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, greedy = NoGreedy}induces the complexity certificateTIME (?,O(n^1))
SPACE(?,?)on application of the dependency pairs
{3}
These cover all (indirect) predecessors of dependency pairs
{3,5}
their number of applications is equally bounded.
The dependency pairs are shifted into the weak component.
*** 1.1.1.1.1.1.1.1.2.1.1.1.1.1.2.1 Progress [(?,O(n^1))] ***
Considered Problem:
Strict DP Rules:
-#(I(x),I(y)) -> c_10(-#(x,y))
-#(O(x),I(y)) -> c_12(-#(-(x,y),I(1())),-#(x,y))
-#(O(x),O(y)) -> c_13(-#(x,y))
Strict TRS Rules:
Weak DP Rules:
-#(I(x),O(y)) -> c_11(-#(x,y))
Log#(x) -> c_16(-#(Log'(x),I(0())))
Weak TRS 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()
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
basic terms: {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge#,if#,not#}/{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 any intersect of rules of CDG leaf and strict-rules, greedy = NoGreedy}
Proof:
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 + [1]
p(-) = [0]
p(0) = [2]
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) = [4] x1 + [2]
p(Size) = [0]
p(Val) = [0]
p(WB) = [1] x1 + [0]
p(and) = [2] x1 + [2]
p(false) = [1]
p(ge) = [0]
p(if) = [1] x1 + [1] x2 + [5] x3 + [3]
p(l) = [0]
p(not) = [0]
p(r) = [0]
p(true) = [0]
p(+#) = [0]
p(-#) = [1] x2 + [0]
p(BS#) = [0]
p(Log#) = [2]
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) = [2] x1 + [4] x2 + [2]
p(c_2) = [2]
p(c_3) = [0]
p(c_4) = [4] x1 + [0]
p(c_5) = [2] x1 + [4]
p(c_6) = [4] x1 + [1]
p(c_7) = [4]
p(c_8) = [0]
p(c_9) = [2]
p(c_10) = [1] x1 + [0]
p(c_11) = [1] x1 + [0]
p(c_12) = [2] x1 + [1] x2 + [0]
p(c_13) = [1] x1 + [0]
p(c_14) = [0]
p(c_15) = [1] x1 + [2] x6 + [2]
p(c_16) = [1] x1 + [0]
p(c_17) = [0]
p(c_18) = [2] x1 + [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] x1 + [0]
p(c_24) = [1]
p(c_25) = [1]
p(c_26) = [4] x2 + [4] x4 + [0]
p(c_27) = [2]
p(c_28) = [2]
p(c_29) = [0]
p(c_30) = [2] x3 + [1] x4 + [1] x6 + [1] x8 + [1] x9 + [1] x10 + [2] x13 + [2] x14 + [4]
p(c_31) = [0]
p(c_32) = [0]
p(c_33) = [1]
p(c_34) = [0]
p(c_35) = [1] x1 + [0]
p(c_36) = [1]
p(c_37) = [1]
p(c_38) = [2]
p(c_39) = [0]
p(c_40) = [0]
p(c_41) = [1]
p(c_42) = [4]
p(c_43) = [0]
Following rules are strictly oriented:
-#(O(x),O(y)) = [4] y + [2]
> [1] 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))
-#(I(x),O(y)) = [4] y + [2]
>= [1] y + [0]
= c_11(-#(x,y))
-#(O(x),I(y)) = [1] y + [0]
>= [1] y + [0]
= c_12(-#(-(x,y),I(1())),-#(x,y))
Log#(x) = [2]
>= [2]
= c_16(-#(Log'(x),I(0())))
*** 1.1.1.1.1.1.1.1.2.1.1.1.1.1.2.1.1 Progress [(?,O(1))] ***
Considered Problem:
Strict DP Rules:
-#(I(x),I(y)) -> c_10(-#(x,y))
-#(O(x),I(y)) -> c_12(-#(-(x,y),I(1())),-#(x,y))
Strict TRS Rules:
Weak DP Rules:
-#(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 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()
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
basic terms: {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge#,if#,not#}/{0,1,I,L,N,false,l,r,true}
Applied Processor:
Assumption
Proof:
()
*** 1.1.1.1.1.1.1.1.2.1.1.1.1.1.2.2 Progress [(?,O(n^2))] ***
Considered Problem:
Strict DP Rules:
-#(I(x),I(y)) -> c_10(-#(x,y))
-#(O(x),I(y)) -> c_12(-#(-(x,y),I(1())),-#(x,y))
Strict TRS Rules:
Weak DP Rules:
-#(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 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()
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
basic terms: {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge#,if#,not#}/{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, greedy = NoGreedy}}
Proof:
We first use the processor NaturalMI {miDimension = 1, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Nothing, greedy = NoGreedy} 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, greedy = NoGreedy}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.
*** 1.1.1.1.1.1.1.1.2.1.1.1.1.1.2.2.1 Progress [(?,O(n^1))] ***
Considered Problem:
Strict DP Rules:
-#(I(x),I(y)) -> c_10(-#(x,y))
-#(O(x),I(y)) -> c_12(-#(-(x,y),I(1())),-#(x,y))
Strict TRS Rules:
Weak DP Rules:
-#(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 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()
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
basic terms: {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge#,if#,not#}/{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 any intersect of rules of CDG leaf and strict-rules, greedy = NoGreedy}
Proof:
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(+) = [2]
p(-) = [0]
p(0) = [0]
p(1) = [0]
p(BS) = [0]
p(I) = [1] x1 + [2]
p(L) = [1]
p(Log) = [0]
p(Log') = [1]
p(Max) = [4]
p(Min) = [1]
p(N) = [1] x1 + [0]
p(O) = [4] x1 + [4]
p(Size) = [1] x1 + [2]
p(Val) = [2] x1 + [0]
p(WB) = [1] x1 + [0]
p(and) = [0]
p(false) = [1]
p(ge) = [3] x1 + [1]
p(if) = [3] x1 + [1] x2 + [5]
p(l) = [1]
p(not) = [2] x1 + [0]
p(r) = [1]
p(true) = [0]
p(+#) = [1] x1 + [4]
p(-#) = [2] x2 + [0]
p(BS#) = [1] x1 + [0]
p(Log#) = [1] x1 + [5]
p(Log'#) = [4]
p(Max#) = [1]
p(Min#) = [0]
p(O#) = [1] x1 + [1]
p(Size#) = [1] x1 + [0]
p(Val#) = [4] x1 + [1]
p(WB#) = [0]
p(and#) = [4] x1 + [1] x2 + [0]
p(ge#) = [1] x2 + [2]
p(if#) = [2] x1 + [4] x3 + [2]
p(not#) = [4] x1 + [1]
p(c_1) = [0]
p(c_2) = [1]
p(c_3) = [4]
p(c_4) = [1] x2 + [0]
p(c_5) = [2] x1 + [0]
p(c_6) = [4]
p(c_7) = [0]
p(c_8) = [2]
p(c_9) = [4]
p(c_10) = [1] x1 + [0]
p(c_11) = [1] x1 + [4]
p(c_12) = [1] x1 + [1] x2 + [0]
p(c_13) = [4] x1 + [0]
p(c_14) = [0]
p(c_15) = [1] x3 + [2] x5 + [1] x7 + [2] x8 + [1]
p(c_16) = [1] x1 + [0]
p(c_17) = [1]
p(c_18) = [1]
p(c_19) = [0]
p(c_20) = [0]
p(c_21) = [1] x1 + [0]
p(c_22) = [1]
p(c_23) = [1]
p(c_24) = [0]
p(c_25) = [2]
p(c_26) = [1] x1 + [2] x2 + [1] x4 + [0]
p(c_27) = [4]
p(c_28) = [2]
p(c_29) = [0]
p(c_30) = [4] x1 + [1] x3 + [2] x5 + [1] x6 + [4] x7 + [1] x8 + [1] x10 + [1] x13 + [2] x16 + [1]
p(c_31) = [0]
p(c_32) = [0]
p(c_33) = [1]
p(c_34) = [0]
p(c_35) = [1]
p(c_36) = [1] x1 + [1]
p(c_37) = [0]
p(c_38) = [1]
p(c_39) = [0]
p(c_40) = [4]
p(c_41) = [1]
p(c_42) = [0]
p(c_43) = [2]
Following rules are strictly oriented:
-#(I(x),I(y)) = [2] y + [4]
> [2] y + [0]
= c_10(-#(x,y))
Following rules are (at-least) weakly oriented:
-#(I(x),O(y)) = [8] y + [8]
>= [2] y + [4]
= c_11(-#(x,y))
-#(O(x),I(y)) = [2] y + [4]
>= [2] y + [4]
= c_12(-#(-(x,y),I(1())),-#(x,y))
-#(O(x),O(y)) = [8] y + [8]
>= [8] y + [0]
= c_13(-#(x,y))
Log#(x) = [1] x + [5]
>= [4]
= c_16(-#(Log'(x),I(0())))
*** 1.1.1.1.1.1.1.1.2.1.1.1.1.1.2.2.1.1 Progress [(?,O(1))] ***
Considered Problem:
Strict DP Rules:
-#(O(x),I(y)) -> c_12(-#(-(x,y),I(1())),-#(x,y))
Strict TRS Rules:
Weak DP Rules:
-#(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 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()
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
basic terms: {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge#,if#,not#}/{0,1,I,L,N,false,l,r,true}
Applied Processor:
Assumption
Proof:
()
*** 1.1.1.1.1.1.1.1.2.1.1.1.1.1.2.2.2 Progress [(?,O(n^2))] ***
Considered Problem:
Strict DP Rules:
-#(O(x),I(y)) -> c_12(-#(-(x,y),I(1())),-#(x,y))
Strict TRS Rules:
Weak DP Rules:
-#(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 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()
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
basic terms: {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge#,if#,not#}/{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, greedy = NoGreedy}}
Proof:
We first use the processor NaturalPI {shape = Mixed 2, restrict = Restrict, uargs = UArgs, urules = URules, selector = Nothing, greedy = NoGreedy} 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, greedy = NoGreedy}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.
*** 1.1.1.1.1.1.1.1.2.1.1.1.1.1.2.2.2.1 Progress [(?,O(n^2))] ***
Considered Problem:
Strict DP Rules:
-#(O(x),I(y)) -> c_12(-#(-(x,y),I(1())),-#(x,y))
Strict TRS Rules:
Weak DP Rules:
-#(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 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()
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
basic terms: {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge#,if#,not#}/{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 any intersect of rules of CDG leaf and strict-rules, greedy = NoGreedy}
Proof:
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
p(0) = 0
p(1) = 0
p(BS) = 0
p(I) = 1 + x1
p(L) = 0
p(Log) = 0
p(Log') = x1^2
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) = 1
p(ge) = x2
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^2
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
= 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^2
>= x^2
= 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) = 0
>= 0
= 0()
-(I(x),I(y)) = 1 + x
>= 1 + x
= O(-(x,y))
-(I(x),O(y)) = 1 + x
>= 1 + x
= I(-(x,y))
-(O(x),I(y)) = 1 + x
>= 1 + x
= I(-(-(x,y),I(1())))
-(O(x),O(y)) = 1 + x
>= 1 + x
= O(-(x,y))
Log'(0()) = 0
>= 0
= 0()
Log'(I(x)) = 1 + 2*x + x^2
>= 1 + x^2
= +(Log'(x),I(0()))
Log'(O(x)) = 1 + 2*x + x^2
>= 1 + x^2
= 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
*** 1.1.1.1.1.1.1.1.2.1.1.1.1.1.2.2.2.1.1 Progress [(?,O(1))] ***
Considered Problem:
Strict DP Rules:
Strict TRS Rules:
Weak DP Rules:
-#(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 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()
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
basic terms: {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge#,if#,not#}/{0,1,I,L,N,false,l,r,true}
Applied Processor:
Assumption
Proof:
()
*** 1.1.1.1.1.1.1.1.2.1.1.1.1.1.2.2.2.2 Progress [(O(1),O(1))] ***
Considered Problem:
Strict DP Rules:
Strict TRS Rules:
Weak DP Rules:
-#(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 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()
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
basic terms: {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge#,if#,not#}/{0,1,I,L,N,false,l,r,true}
Applied Processor:
RemoveWeakSuffixes
Proof:
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))
*** 1.1.1.1.1.1.1.1.2.1.1.1.1.1.2.2.2.2.1 Progress [(O(1),O(1))] ***
Considered Problem:
Strict DP Rules:
Strict TRS Rules:
Weak DP Rules:
Weak TRS 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()
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
basic terms: {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge#,if#,not#}/{0,1,I,L,N,false,l,r,true}
Applied Processor:
EmptyProcessor
Proof:
The problem is already closed. The intended complexity is O(1).
*** 1.1.1.1.1.1.1.1.2.1.1.2 Progress [(?,O(n^1))] ***
Considered Problem:
Strict DP Rules:
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))
Strict TRS Rules:
Weak DP Rules:
-#(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 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()
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
basic terms: {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge#,if#,not#}/{0,1,I,L,N,false,l,r,true}
Applied Processor:
RemoveWeakSuffixes
Proof:
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))
*** 1.1.1.1.1.1.1.1.2.1.1.2.1 Progress [(?,O(n^1))] ***
Considered Problem:
Strict DP Rules:
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))
Strict TRS Rules:
Weak DP Rules:
Weak TRS 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()
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
basic terms: {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge#,if#,not#}/{0,1,I,L,N,false,l,r,true}
Applied Processor:
SimplifyRHS
Proof:
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))
*** 1.1.1.1.1.1.1.1.2.1.1.2.1.1 Progress [(?,O(n^1))] ***
Considered Problem:
Strict DP 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))
Strict TRS Rules:
Weak DP Rules:
Weak TRS 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()
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
basic terms: {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge#,if#,not#}/{0,1,I,L,N,false,l,r,true}
Applied Processor:
UsableRules
Proof:
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))
*** 1.1.1.1.1.1.1.1.2.1.1.2.1.1.1 Progress [(?,O(n^1))] ***
Considered Problem:
Strict DP 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))
Strict TRS Rules:
Weak DP Rules:
Weak TRS Rules:
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
basic terms: {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge#,if#,not#}/{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, greedy = NoGreedy}}
Proof:
We first use the processor NaturalMI {miDimension = 1, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Nothing, greedy = NoGreedy} to orient following rules strictly:
1: Log#(x) -> c_16(Log'#(x))
3: Log'#(O(x)) -> c_19(ge#(x
,I(0()))
,Log'#(x))
4: ge#(0(),O(x)) -> c_35(ge#(0()
,x))
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))
The strictly oriented rules are moved into the weak component.
*** 1.1.1.1.1.1.1.1.2.1.1.2.1.1.1.1 Progress [(?,O(n^1))] ***
Considered Problem:
Strict DP 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))
Strict TRS Rules:
Weak DP Rules:
Weak TRS Rules:
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
basic terms: {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge#,if#,not#}/{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 any intersect of rules of CDG leaf and strict-rules, greedy = NoGreedy}
Proof:
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(+) = [1] x1 + [1] x2 + [1]
p(-) = [1] x2 + [0]
p(0) = [0]
p(1) = [1]
p(BS) = [2]
p(I) = [1] x1 + [0]
p(L) = [1]
p(Log) = [0]
p(Log') = [1]
p(Max) = [1]
p(Min) = [1] x1 + [1]
p(N) = [1] x2 + [0]
p(O) = [6] x1 + [6]
p(Size) = [2]
p(Val) = [4]
p(WB) = [1] x1 + [1]
p(and) = [8] x1 + [1]
p(false) = [0]
p(ge) = [8] x1 + [2] x2 + [0]
p(if) = [8]
p(l) = [0]
p(not) = [0]
p(r) = [1]
p(true) = [1]
p(+#) = [1] x1 + [0]
p(-#) = [1] x2 + [4]
p(BS#) = [1] x1 + [1]
p(Log#) = [8] x1 + [12]
p(Log'#) = [4] x1 + [2]
p(Max#) = [4]
p(Min#) = [1] x1 + [0]
p(O#) = [1]
p(Size#) = [0]
p(Val#) = [2] x1 + [1]
p(WB#) = [2] x1 + [1]
p(and#) = [2] x1 + [1] x2 + [0]
p(ge#) = [1] x1 + [3] x2 + [0]
p(if#) = [8] x1 + [4] x2 + [0]
p(not#) = [2]
p(c_1) = [1] x1 + [0]
p(c_2) = [1]
p(c_3) = [0]
p(c_4) = [1] x1 + [8] x2 + [0]
p(c_5) = [8] x1 + [4]
p(c_6) = [0]
p(c_7) = [1]
p(c_8) = [1]
p(c_9) = [0]
p(c_10) = [1] x1 + [2]
p(c_11) = [8] x1 + [8]
p(c_12) = [1] x1 + [1] x2 + [2]
p(c_13) = [4] x1 + [0]
p(c_14) = [4]
p(c_15) = [1] x4 + [2] x7 + [2] x8 + [0]
p(c_16) = [2] x1 + [1]
p(c_17) = [4]
p(c_18) = [1] x1 + [0]
p(c_19) = [1] x1 + [4] x2 + [14]
p(c_20) = [1]
p(c_21) = [1]
p(c_22) = [0]
p(c_23) = [1] x1 + [0]
p(c_24) = [1]
p(c_25) = [2]
p(c_26) = [1] x1 + [2] x3 + [1]
p(c_27) = [4]
p(c_28) = [1]
p(c_29) = [2]
p(c_30) = [1] x1 + [1] x3 + [1] x4 + [1] x5 + [1] x6 + [1] x7 + [8] x9 + [2] x12 + [1] x13 + [1]
p(c_31) = [2]
p(c_32) = [0]
p(c_33) = [1]
p(c_34) = [0]
p(c_35) = [2] x1 + [8]
p(c_36) = [1] x1 + [0]
p(c_37) = [1] x1 + [0]
p(c_38) = [2] x1 + [0]
p(c_39) = [3] x1 + [14]
p(c_40) = [1]
p(c_41) = [4]
p(c_42) = [1]
p(c_43) = [1]
Following rules are strictly oriented:
Log#(x) = [8] x + [12]
> [8] x + [5]
= c_16(Log'#(x))
Log'#(O(x)) = [24] x + [26]
> [17] x + [22]
= c_19(ge#(x,I(0())),Log'#(x))
ge#(0(),O(x)) = [18] x + [18]
> [6] x + [8]
= c_35(ge#(0(),x))
ge#(I(x),O(y)) = [1] x + [18] y + [18]
> [1] x + [3] y + [0]
= c_37(ge#(x,y))
ge#(O(x),I(y)) = [6] x + [3] y + [6]
> [6] x + [2] y + [0]
= c_38(ge#(y,x))
ge#(O(x),O(y)) = [6] x + [18] y + [24]
> [3] x + [9] y + [14]
= c_39(ge#(x,y))
Following rules are (at-least) weakly oriented:
Log'#(I(x)) = [4] x + [2]
>= [4] x + [2]
= c_18(Log'#(x))
ge#(I(x),I(y)) = [1] x + [3] y + [0]
>= [1] x + [3] y + [0]
= c_36(ge#(x,y))
*** 1.1.1.1.1.1.1.1.2.1.1.2.1.1.1.1.1 Progress [(?,O(1))] ***
Considered Problem:
Strict DP Rules:
Log'#(I(x)) -> c_18(Log'#(x))
ge#(I(x),I(y)) -> c_36(ge#(x,y))
Strict TRS Rules:
Weak DP Rules:
Log#(x) -> c_16(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),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 Rules:
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
basic terms: {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge#,if#,not#}/{0,1,I,L,N,false,l,r,true}
Applied Processor:
Assumption
Proof:
()
*** 1.1.1.1.1.1.1.1.2.1.1.2.1.1.1.2 Progress [(?,O(n^1))] ***
Considered Problem:
Strict DP Rules:
Log'#(I(x)) -> c_18(Log'#(x))
ge#(I(x),I(y)) -> c_36(ge#(x,y))
Strict TRS Rules:
Weak DP Rules:
Log#(x) -> c_16(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),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 Rules:
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
basic terms: {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge#,if#,not#}/{0,1,I,L,N,false,l,r,true}
Applied Processor:
RemoveWeakSuffixes
Proof:
Consider the dependency graph
1:S:Log'#(I(x)) -> c_18(Log'#(x))
-->_1 Log'#(O(x)) -> c_19(ge#(x,I(0())),Log'#(x)):4
-->_1 Log'#(I(x)) -> c_18(Log'#(x)):1
2: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#(0(),O(x)) -> c_35(ge#(0(),x)):5
-->_1 ge#(I(x),I(y)) -> c_36(ge#(x,y)):2
3:W:Log#(x) -> c_16(Log'#(x))
-->_1 Log'#(O(x)) -> c_19(ge#(x,I(0())),Log'#(x)):4
-->_1 Log'#(I(x)) -> c_18(Log'#(x)):1
4:W:Log'#(O(x)) -> c_19(ge#(x,I(0())),Log'#(x))
-->_1 ge#(O(x),I(y)) -> c_38(ge#(y,x)):7
-->_2 Log'#(O(x)) -> c_19(ge#(x,I(0())),Log'#(x)):4
-->_1 ge#(I(x),I(y)) -> c_36(ge#(x,y)):2
-->_2 Log'#(I(x)) -> c_18(Log'#(x)):1
5:W:ge#(0(),O(x)) -> c_35(ge#(0(),x))
-->_1 ge#(0(),O(x)) -> c_35(ge#(0(),x)):5
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#(0(),O(x)) -> c_35(ge#(0(),x)):5
-->_1 ge#(I(x),I(y)) -> c_36(ge#(x,y)):2
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#(0(),O(x)) -> c_35(ge#(0(),x)):5
-->_1 ge#(I(x),I(y)) -> c_36(ge#(x,y)):2
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#(0(),O(x)) -> c_35(ge#(0(),x)):5
-->_1 ge#(I(x),I(y)) -> c_36(ge#(x,y)):2
The following weak DPs constitute a sub-graph of the DG that is closed under successors. The DPs are removed.
5: ge#(0(),O(x)) -> c_35(ge#(0()
,x))
*** 1.1.1.1.1.1.1.1.2.1.1.2.1.1.1.2.1 Progress [(?,O(n^1))] ***
Considered Problem:
Strict DP Rules:
Log'#(I(x)) -> c_18(Log'#(x))
ge#(I(x),I(y)) -> c_36(ge#(x,y))
Strict TRS Rules:
Weak DP Rules:
Log#(x) -> c_16(Log'#(x))
Log'#(O(x)) -> c_19(ge#(x,I(0())),Log'#(x))
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 Rules:
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
basic terms: {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge#,if#,not#}/{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, greedy = NoGreedy}}
Proof:
We first use the processor NaturalMI {miDimension = 1, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Nothing, greedy = NoGreedy} to orient following rules strictly:
1: Log'#(I(x)) -> c_18(Log'#(x))
2: ge#(I(x),I(y)) -> c_36(ge#(x,y))
Consider the set of all dependency pairs
1: Log'#(I(x)) -> c_18(Log'#(x))
2: ge#(I(x),I(y)) -> c_36(ge#(x,y))
3: Log#(x) -> c_16(Log'#(x))
4: Log'#(O(x)) -> c_19(ge#(x
,I(0()))
,Log'#(x))
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, greedy = NoGreedy}induces the complexity certificateTIME (?,O(n^1))
SPACE(?,?)on application of the dependency pairs
{1,2}
These cover all (indirect) predecessors of dependency pairs
{1,2,3}
their number of applications is equally bounded.
The dependency pairs are shifted into the weak component.
*** 1.1.1.1.1.1.1.1.2.1.1.2.1.1.1.2.1.1 Progress [(?,O(n^1))] ***
Considered Problem:
Strict DP Rules:
Log'#(I(x)) -> c_18(Log'#(x))
ge#(I(x),I(y)) -> c_36(ge#(x,y))
Strict TRS Rules:
Weak DP Rules:
Log#(x) -> c_16(Log'#(x))
Log'#(O(x)) -> c_19(ge#(x,I(0())),Log'#(x))
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 Rules:
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
basic terms: {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge#,if#,not#}/{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 any intersect of rules of CDG leaf and strict-rules, greedy = NoGreedy}
Proof:
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_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(+) = [1] x2 + [2]
p(-) = [1] x2 + [2]
p(0) = [0]
p(1) = [1]
p(BS) = [0]
p(I) = [1] x1 + [1]
p(L) = [1] x1 + [4]
p(Log) = [1] x1 + [0]
p(Log') = [1]
p(Max) = [1]
p(Min) = [1] x1 + [0]
p(N) = [1] x2 + [2]
p(O) = [3] x1 + [3]
p(Size) = [1] x1 + [2]
p(Val) = [8] x1 + [2]
p(WB) = [1]
p(and) = [2] x1 + [2] x2 + [1]
p(false) = [4]
p(ge) = [8] x1 + [2]
p(if) = [1] x2 + [1] x3 + [0]
p(l) = [1]
p(not) = [1] x1 + [0]
p(r) = [1]
p(true) = [1]
p(+#) = [2] x1 + [1] x2 + [0]
p(-#) = [2] x1 + [2]
p(BS#) = [8] x1 + [2]
p(Log#) = [8] x1 + [14]
p(Log'#) = [4] x1 + [2]
p(Max#) = [0]
p(Min#) = [0]
p(O#) = [0]
p(Size#) = [0]
p(Val#) = [0]
p(WB#) = [0]
p(and#) = [8] x2 + [0]
p(ge#) = [1] x1 + [1] x2 + [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) = [0]
p(c_11) = [0]
p(c_12) = [0]
p(c_13) = [1] x1 + [0]
p(c_14) = [4]
p(c_15) = [8] x5 + [0]
p(c_16) = [2] x1 + [5]
p(c_17) = [4]
p(c_18) = [1] x1 + [0]
p(c_19) = [2] x1 + [2] x2 + [8]
p(c_20) = [0]
p(c_21) = [0]
p(c_22) = [4]
p(c_23) = [0]
p(c_24) = [0]
p(c_25) = [1]
p(c_26) = [1] x1 + [1] x2 + [0]
p(c_27) = [1]
p(c_28) = [1]
p(c_29) = [1]
p(c_30) = [1] x1 + [2] x2 + [1] x4 + [4] x6 + [8] x7 + [1] x9 + [1] x10 + [1] x11 + [8] x13 + [2] x14 + [1] x16 + [0]
p(c_31) = [0]
p(c_32) = [1]
p(c_33) = [1]
p(c_34) = [1]
p(c_35) = [2] x1 + [4]
p(c_36) = [1] x1 + [0]
p(c_37) = [1] x1 + [4]
p(c_38) = [1] x1 + [4]
p(c_39) = [2] x1 + [0]
p(c_40) = [1]
p(c_41) = [2]
p(c_42) = [1]
p(c_43) = [1]
Following rules are strictly oriented:
Log'#(I(x)) = [4] x + [6]
> [4] x + [2]
= c_18(Log'#(x))
ge#(I(x),I(y)) = [1] x + [1] y + [2]
> [1] x + [1] y + [0]
= c_36(ge#(x,y))
Following rules are (at-least) weakly oriented:
Log#(x) = [8] x + [14]
>= [8] x + [9]
= c_16(Log'#(x))
Log'#(O(x)) = [12] x + [14]
>= [10] x + [14]
= c_19(ge#(x,I(0())),Log'#(x))
ge#(I(x),O(y)) = [1] x + [3] y + [4]
>= [1] x + [1] y + [4]
= c_37(ge#(x,y))
ge#(O(x),I(y)) = [3] x + [1] y + [4]
>= [1] x + [1] y + [4]
= c_38(ge#(y,x))
ge#(O(x),O(y)) = [3] x + [3] y + [6]
>= [2] x + [2] y + [0]
= c_39(ge#(x,y))
*** 1.1.1.1.1.1.1.1.2.1.1.2.1.1.1.2.1.1.1 Progress [(?,O(1))] ***
Considered Problem:
Strict DP Rules:
Strict TRS Rules:
Weak DP 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#(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 Rules:
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
basic terms: {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge#,if#,not#}/{0,1,I,L,N,false,l,r,true}
Applied Processor:
Assumption
Proof:
()
*** 1.1.1.1.1.1.1.1.2.1.1.2.1.1.1.2.1.2 Progress [(O(1),O(1))] ***
Considered Problem:
Strict DP Rules:
Strict TRS Rules:
Weak DP 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#(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 Rules:
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
basic terms: {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge#,if#,not#}/{0,1,I,L,N,false,l,r,true}
Applied Processor:
RemoveWeakSuffixes
Proof:
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)):6
-->_1 ge#(I(x),I(y)) -> c_36(ge#(x,y)):4
-->_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#(I(x),I(y)) -> c_36(ge#(x,y))
-->_1 ge#(O(x),O(y)) -> c_39(ge#(x,y)):7
-->_1 ge#(O(x),I(y)) -> c_38(ge#(y,x)):6
-->_1 ge#(I(x),O(y)) -> c_37(ge#(x,y)):5
-->_1 ge#(I(x),I(y)) -> c_36(ge#(x,y)):4
5:W:ge#(I(x),O(y)) -> c_37(ge#(x,y))
-->_1 ge#(O(x),O(y)) -> c_39(ge#(x,y)):7
-->_1 ge#(O(x),I(y)) -> c_38(ge#(y,x)):6
-->_1 ge#(I(x),O(y)) -> c_37(ge#(x,y)):5
-->_1 ge#(I(x),I(y)) -> c_36(ge#(x,y)):4
6:W:ge#(O(x),I(y)) -> c_38(ge#(y,x))
-->_1 ge#(O(x),O(y)) -> c_39(ge#(x,y)):7
-->_1 ge#(O(x),I(y)) -> c_38(ge#(y,x)):6
-->_1 ge#(I(x),O(y)) -> c_37(ge#(x,y)):5
-->_1 ge#(I(x),I(y)) -> c_36(ge#(x,y)):4
7:W:ge#(O(x),O(y)) -> c_39(ge#(x,y))
-->_1 ge#(O(x),O(y)) -> c_39(ge#(x,y)):7
-->_1 ge#(O(x),I(y)) -> c_38(ge#(y,x)):6
-->_1 ge#(I(x),O(y)) -> c_37(ge#(x,y)):5
-->_1 ge#(I(x),I(y)) -> c_36(ge#(x,y)):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))
6: ge#(O(x),I(y)) -> c_38(ge#(y,x))
7: ge#(O(x),O(y)) -> c_39(ge#(x,y))
5: ge#(I(x),O(y)) -> c_37(ge#(x,y))
4: ge#(I(x),I(y)) -> c_36(ge#(x,y))
*** 1.1.1.1.1.1.1.1.2.1.1.2.1.1.1.2.1.2.1 Progress [(O(1),O(1))] ***
Considered Problem:
Strict DP Rules:
Strict TRS Rules:
Weak DP Rules:
Weak TRS Rules:
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
basic terms: {+#,-#,BS#,Log#,Log'#,Max#,Min#,O#,Size#,Val#,WB#,and#,ge#,if#,not#}/{0,1,I,L,N,false,l,r,true}
Applied Processor:
EmptyProcessor
Proof:
The problem is already closed. The intended complexity is O(1).