WORST_CASE(?,O(n^3)) * Step 1: Sum. WORST_CASE(?,O(n^3)) + Considered Problem: - Strict TRS: #EQUAL(z0,z1) -> c40(#EQ'(z0,z1)) #LESS(z0,z1) -> c41(#CKLT(#compare(z0,z1)),#COMPARE(z0,z1)) AND(z0,z1) -> c42(#AND(z0,z1)) INSERT(z0,z1) -> c43(INSERT#1(z1,z0)) INSERT#1(::(z0,z1),z2) -> c44(INSERT#2(leq(z2,z0),z2,z0,z1),LEQ(z2,z0)) INSERT#1(nil(),z0) -> c45() INSERT#2(#false(),z0,z1,z2) -> c46(INSERT(z0,z2)) INSERT#2(#true(),z0,z1,z2) -> c47() ISORTLIST(z0) -> c48(ISORTLIST#1(z0)) ISORTLIST#1(::(z0,z1)) -> c49(INSERT(z0,isortlist(z1)),ISORTLIST(z1)) ISORTLIST#1(nil()) -> c50() LEQ(z0,z1) -> c51(LEQ#1(z0,z1)) LEQ#1(::(z0,z1),z2) -> c52(LEQ#2(z2,z0,z1)) LEQ#1(nil(),z0) -> c53() LEQ#2(::(z0,z1),z2,z3) -> c54(OR(#less(z2,z0),and(#equal(z2,z0),leq(z3,z1))),#LESS(z2,z0)) LEQ#2(::(z0,z1),z2,z3) -> c55(OR(#less(z2,z0),and(#equal(z2,z0),leq(z3,z1))) ,AND(#equal(z2,z0),leq(z3,z1)) ,#EQUAL(z2,z0)) LEQ#2(::(z0,z1),z2,z3) -> c56(OR(#less(z2,z0),and(#equal(z2,z0),leq(z3,z1))) ,AND(#equal(z2,z0),leq(z3,z1)) ,LEQ(z3,z1)) LEQ#2(nil(),z0,z1) -> c57() OR(z0,z1) -> c58(#OR(z0,z1)) - Weak TRS: #AND(#false(),#false()) -> c() #AND(#false(),#true()) -> c1() #AND(#true(),#false()) -> c2() #AND(#true(),#true()) -> c3() #CKLT(#EQ()) -> c4() #CKLT(#GT()) -> c5() #CKLT(#LT()) -> c6() #COMPARE(#0(),#0()) -> c7() #COMPARE(#0(),#neg(z0)) -> c8() #COMPARE(#0(),#pos(z0)) -> c9() #COMPARE(#0(),#s(z0)) -> c10() #COMPARE(#neg(z0),#0()) -> c11() #COMPARE(#neg(z0),#neg(z1)) -> c12(#COMPARE(z1,z0)) #COMPARE(#neg(z0),#pos(z1)) -> c13() #COMPARE(#pos(z0),#0()) -> c14() #COMPARE(#pos(z0),#neg(z1)) -> c15() #COMPARE(#pos(z0),#pos(z1)) -> c16(#COMPARE(z0,z1)) #COMPARE(#s(z0),#0()) -> c17() #COMPARE(#s(z0),#s(z1)) -> c18(#COMPARE(z0,z1)) #EQ'(#0(),#0()) -> c19() #EQ'(#0(),#neg(z0)) -> c20() #EQ'(#0(),#pos(z0)) -> c21() #EQ'(#0(),#s(z0)) -> c22() #EQ'(#neg(z0),#0()) -> c23() #EQ'(#neg(z0),#neg(z1)) -> c24(#EQ'(z0,z1)) #EQ'(#neg(z0),#pos(z1)) -> c25() #EQ'(#pos(z0),#0()) -> c26() #EQ'(#pos(z0),#neg(z1)) -> c27() #EQ'(#pos(z0),#pos(z1)) -> c28(#EQ'(z0,z1)) #EQ'(#s(z0),#0()) -> c29() #EQ'(#s(z0),#s(z1)) -> c30(#EQ'(z0,z1)) #EQ'(::(z0,z1),::(z2,z3)) -> c31(#AND(#eq(z0,z2),#eq(z1,z3)),#EQ'(z0,z2)) #EQ'(::(z0,z1),::(z2,z3)) -> c32(#AND(#eq(z0,z2),#eq(z1,z3)),#EQ'(z1,z3)) #EQ'(::(z0,z1),nil()) -> c33() #EQ'(nil(),::(z0,z1)) -> c34() #EQ'(nil(),nil()) -> c35() #OR(#false(),#false()) -> c36() #OR(#false(),#true()) -> c37() #OR(#true(),#false()) -> c38() #OR(#true(),#true()) -> c39() #and(#false(),#false()) -> #false() #and(#false(),#true()) -> #false() #and(#true(),#false()) -> #false() #and(#true(),#true()) -> #true() #cklt(#EQ()) -> #false() #cklt(#GT()) -> #false() #cklt(#LT()) -> #true() #compare(#0(),#0()) -> #EQ() #compare(#0(),#neg(z0)) -> #GT() #compare(#0(),#pos(z0)) -> #LT() #compare(#0(),#s(z0)) -> #LT() #compare(#neg(z0),#0()) -> #LT() #compare(#neg(z0),#neg(z1)) -> #compare(z1,z0) #compare(#neg(z0),#pos(z1)) -> #LT() #compare(#pos(z0),#0()) -> #GT() #compare(#pos(z0),#neg(z1)) -> #GT() #compare(#pos(z0),#pos(z1)) -> #compare(z0,z1) #compare(#s(z0),#0()) -> #GT() #compare(#s(z0),#s(z1)) -> #compare(z0,z1) #eq(#0(),#0()) -> #true() #eq(#0(),#neg(z0)) -> #false() #eq(#0(),#pos(z0)) -> #false() #eq(#0(),#s(z0)) -> #false() #eq(#neg(z0),#0()) -> #false() #eq(#neg(z0),#neg(z1)) -> #eq(z0,z1) #eq(#neg(z0),#pos(z1)) -> #false() #eq(#pos(z0),#0()) -> #false() #eq(#pos(z0),#neg(z1)) -> #false() #eq(#pos(z0),#pos(z1)) -> #eq(z0,z1) #eq(#s(z0),#0()) -> #false() #eq(#s(z0),#s(z1)) -> #eq(z0,z1) #eq(::(z0,z1),::(z2,z3)) -> #and(#eq(z0,z2),#eq(z1,z3)) #eq(::(z0,z1),nil()) -> #false() #eq(nil(),::(z0,z1)) -> #false() #eq(nil(),nil()) -> #true() #equal(z0,z1) -> #eq(z0,z1) #less(z0,z1) -> #cklt(#compare(z0,z1)) #or(#false(),#false()) -> #false() #or(#false(),#true()) -> #true() #or(#true(),#false()) -> #true() #or(#true(),#true()) -> #true() and(z0,z1) -> #and(z0,z1) insert(z0,z1) -> insert#1(z1,z0) insert#1(::(z0,z1),z2) -> insert#2(leq(z2,z0),z2,z0,z1) insert#1(nil(),z0) -> ::(z0,nil()) insert#2(#false(),z0,z1,z2) -> ::(z1,insert(z0,z2)) insert#2(#true(),z0,z1,z2) -> ::(z0,::(z1,z2)) isortlist(z0) -> isortlist#1(z0) isortlist#1(::(z0,z1)) -> insert(z0,isortlist(z1)) isortlist#1(nil()) -> nil() leq(z0,z1) -> leq#1(z0,z1) leq#1(::(z0,z1),z2) -> leq#2(z2,z0,z1) leq#1(nil(),z0) -> #true() leq#2(::(z0,z1),z2,z3) -> or(#less(z2,z0),and(#equal(z2,z0),leq(z3,z1))) leq#2(nil(),z0,z1) -> #false() or(z0,z1) -> #or(z0,z1) - Signature: {#AND/2,#CKLT/1,#COMPARE/2,#EQ'/2,#EQUAL/2,#LESS/2,#OR/2,#and/2,#cklt/1,#compare/2,#eq/2,#equal/2,#less/2 ,#or/2,AND/2,INSERT/2,INSERT#1/2,INSERT#2/4,ISORTLIST/1,ISORTLIST#1/1,LEQ/2,LEQ#1/2,LEQ#2/3,OR/2,and/2 ,insert/2,insert#1/2,insert#2/4,isortlist/1,isortlist#1/1,leq/2,leq#1/2,leq#2/3,or/2} / {#0/0,#EQ/0,#GT/0 ,#LT/0,#false/0,#neg/1,#pos/1,#s/1,#true/0,::/2,c/0,c1/0,c10/0,c11/0,c12/1,c13/0,c14/0,c15/0,c16/1,c17/0 ,c18/1,c19/0,c2/0,c20/0,c21/0,c22/0,c23/0,c24/1,c25/0,c26/0,c27/0,c28/1,c29/0,c3/0,c30/1,c31/2,c32/2,c33/0 ,c34/0,c35/0,c36/0,c37/0,c38/0,c39/0,c4/0,c40/1,c41/2,c42/1,c43/1,c44/2,c45/0,c46/1,c47/0,c48/1,c49/2,c5/0 ,c50/0,c51/1,c52/1,c53/0,c54/2,c55/3,c56/3,c57/0,c58/1,c6/0,c7/0,c8/0,c9/0,nil/0} - Obligation: innermost runtime complexity wrt. defined symbols {#AND,#CKLT,#COMPARE,#EQ',#EQUAL,#LESS,#OR,#and,#cklt ,#compare,#eq,#equal,#less,#or,AND,INSERT,INSERT#1,INSERT#2,ISORTLIST,ISORTLIST#1,LEQ,LEQ#1,LEQ#2,OR,and ,insert,insert#1,insert#2,isortlist,isortlist#1,leq,leq#1,leq#2,or} and constructors {#0,#EQ,#GT,#LT,#false ,#neg,#pos,#s,#true,::,c,c1,c10,c11,c12,c13,c14,c15,c16,c17,c18,c19,c2,c20,c21,c22,c23,c24,c25,c26,c27,c28 ,c29,c3,c30,c31,c32,c33,c34,c35,c36,c37,c38,c39,c4,c40,c41,c42,c43,c44,c45,c46,c47,c48,c49,c5,c50,c51,c52 ,c53,c54,c55,c56,c57,c58,c6,c7,c8,c9,nil} + Applied Processor: Sum {left = someStrategy, right = someStrategy} + Details: () * Step 2: DependencyPairs. WORST_CASE(?,O(n^3)) + Considered Problem: - Strict TRS: #EQUAL(z0,z1) -> c40(#EQ'(z0,z1)) #LESS(z0,z1) -> c41(#CKLT(#compare(z0,z1)),#COMPARE(z0,z1)) AND(z0,z1) -> c42(#AND(z0,z1)) INSERT(z0,z1) -> c43(INSERT#1(z1,z0)) INSERT#1(::(z0,z1),z2) -> c44(INSERT#2(leq(z2,z0),z2,z0,z1),LEQ(z2,z0)) INSERT#1(nil(),z0) -> c45() INSERT#2(#false(),z0,z1,z2) -> c46(INSERT(z0,z2)) INSERT#2(#true(),z0,z1,z2) -> c47() ISORTLIST(z0) -> c48(ISORTLIST#1(z0)) ISORTLIST#1(::(z0,z1)) -> c49(INSERT(z0,isortlist(z1)),ISORTLIST(z1)) ISORTLIST#1(nil()) -> c50() LEQ(z0,z1) -> c51(LEQ#1(z0,z1)) LEQ#1(::(z0,z1),z2) -> c52(LEQ#2(z2,z0,z1)) LEQ#1(nil(),z0) -> c53() LEQ#2(::(z0,z1),z2,z3) -> c54(OR(#less(z2,z0),and(#equal(z2,z0),leq(z3,z1))),#LESS(z2,z0)) LEQ#2(::(z0,z1),z2,z3) -> c55(OR(#less(z2,z0),and(#equal(z2,z0),leq(z3,z1))) ,AND(#equal(z2,z0),leq(z3,z1)) ,#EQUAL(z2,z0)) LEQ#2(::(z0,z1),z2,z3) -> c56(OR(#less(z2,z0),and(#equal(z2,z0),leq(z3,z1))) ,AND(#equal(z2,z0),leq(z3,z1)) ,LEQ(z3,z1)) LEQ#2(nil(),z0,z1) -> c57() OR(z0,z1) -> c58(#OR(z0,z1)) - Weak TRS: #AND(#false(),#false()) -> c() #AND(#false(),#true()) -> c1() #AND(#true(),#false()) -> c2() #AND(#true(),#true()) -> c3() #CKLT(#EQ()) -> c4() #CKLT(#GT()) -> c5() #CKLT(#LT()) -> c6() #COMPARE(#0(),#0()) -> c7() #COMPARE(#0(),#neg(z0)) -> c8() #COMPARE(#0(),#pos(z0)) -> c9() #COMPARE(#0(),#s(z0)) -> c10() #COMPARE(#neg(z0),#0()) -> c11() #COMPARE(#neg(z0),#neg(z1)) -> c12(#COMPARE(z1,z0)) #COMPARE(#neg(z0),#pos(z1)) -> c13() #COMPARE(#pos(z0),#0()) -> c14() #COMPARE(#pos(z0),#neg(z1)) -> c15() #COMPARE(#pos(z0),#pos(z1)) -> c16(#COMPARE(z0,z1)) #COMPARE(#s(z0),#0()) -> c17() #COMPARE(#s(z0),#s(z1)) -> c18(#COMPARE(z0,z1)) #EQ'(#0(),#0()) -> c19() #EQ'(#0(),#neg(z0)) -> c20() #EQ'(#0(),#pos(z0)) -> c21() #EQ'(#0(),#s(z0)) -> c22() #EQ'(#neg(z0),#0()) -> c23() #EQ'(#neg(z0),#neg(z1)) -> c24(#EQ'(z0,z1)) #EQ'(#neg(z0),#pos(z1)) -> c25() #EQ'(#pos(z0),#0()) -> c26() #EQ'(#pos(z0),#neg(z1)) -> c27() #EQ'(#pos(z0),#pos(z1)) -> c28(#EQ'(z0,z1)) #EQ'(#s(z0),#0()) -> c29() #EQ'(#s(z0),#s(z1)) -> c30(#EQ'(z0,z1)) #EQ'(::(z0,z1),::(z2,z3)) -> c31(#AND(#eq(z0,z2),#eq(z1,z3)),#EQ'(z0,z2)) #EQ'(::(z0,z1),::(z2,z3)) -> c32(#AND(#eq(z0,z2),#eq(z1,z3)),#EQ'(z1,z3)) #EQ'(::(z0,z1),nil()) -> c33() #EQ'(nil(),::(z0,z1)) -> c34() #EQ'(nil(),nil()) -> c35() #OR(#false(),#false()) -> c36() #OR(#false(),#true()) -> c37() #OR(#true(),#false()) -> c38() #OR(#true(),#true()) -> c39() #and(#false(),#false()) -> #false() #and(#false(),#true()) -> #false() #and(#true(),#false()) -> #false() #and(#true(),#true()) -> #true() #cklt(#EQ()) -> #false() #cklt(#GT()) -> #false() #cklt(#LT()) -> #true() #compare(#0(),#0()) -> #EQ() #compare(#0(),#neg(z0)) -> #GT() #compare(#0(),#pos(z0)) -> #LT() #compare(#0(),#s(z0)) -> #LT() #compare(#neg(z0),#0()) -> #LT() #compare(#neg(z0),#neg(z1)) -> #compare(z1,z0) #compare(#neg(z0),#pos(z1)) -> #LT() #compare(#pos(z0),#0()) -> #GT() #compare(#pos(z0),#neg(z1)) -> #GT() #compare(#pos(z0),#pos(z1)) -> #compare(z0,z1) #compare(#s(z0),#0()) -> #GT() #compare(#s(z0),#s(z1)) -> #compare(z0,z1) #eq(#0(),#0()) -> #true() #eq(#0(),#neg(z0)) -> #false() #eq(#0(),#pos(z0)) -> #false() #eq(#0(),#s(z0)) -> #false() #eq(#neg(z0),#0()) -> #false() #eq(#neg(z0),#neg(z1)) -> #eq(z0,z1) #eq(#neg(z0),#pos(z1)) -> #false() #eq(#pos(z0),#0()) -> #false() #eq(#pos(z0),#neg(z1)) -> #false() #eq(#pos(z0),#pos(z1)) -> #eq(z0,z1) #eq(#s(z0),#0()) -> #false() #eq(#s(z0),#s(z1)) -> #eq(z0,z1) #eq(::(z0,z1),::(z2,z3)) -> #and(#eq(z0,z2),#eq(z1,z3)) #eq(::(z0,z1),nil()) -> #false() #eq(nil(),::(z0,z1)) -> #false() #eq(nil(),nil()) -> #true() #equal(z0,z1) -> #eq(z0,z1) #less(z0,z1) -> #cklt(#compare(z0,z1)) #or(#false(),#false()) -> #false() #or(#false(),#true()) -> #true() #or(#true(),#false()) -> #true() #or(#true(),#true()) -> #true() and(z0,z1) -> #and(z0,z1) insert(z0,z1) -> insert#1(z1,z0) insert#1(::(z0,z1),z2) -> insert#2(leq(z2,z0),z2,z0,z1) insert#1(nil(),z0) -> ::(z0,nil()) insert#2(#false(),z0,z1,z2) -> ::(z1,insert(z0,z2)) insert#2(#true(),z0,z1,z2) -> ::(z0,::(z1,z2)) isortlist(z0) -> isortlist#1(z0) isortlist#1(::(z0,z1)) -> insert(z0,isortlist(z1)) isortlist#1(nil()) -> nil() leq(z0,z1) -> leq#1(z0,z1) leq#1(::(z0,z1),z2) -> leq#2(z2,z0,z1) leq#1(nil(),z0) -> #true() leq#2(::(z0,z1),z2,z3) -> or(#less(z2,z0),and(#equal(z2,z0),leq(z3,z1))) leq#2(nil(),z0,z1) -> #false() or(z0,z1) -> #or(z0,z1) - Signature: {#AND/2,#CKLT/1,#COMPARE/2,#EQ'/2,#EQUAL/2,#LESS/2,#OR/2,#and/2,#cklt/1,#compare/2,#eq/2,#equal/2,#less/2 ,#or/2,AND/2,INSERT/2,INSERT#1/2,INSERT#2/4,ISORTLIST/1,ISORTLIST#1/1,LEQ/2,LEQ#1/2,LEQ#2/3,OR/2,and/2 ,insert/2,insert#1/2,insert#2/4,isortlist/1,isortlist#1/1,leq/2,leq#1/2,leq#2/3,or/2} / {#0/0,#EQ/0,#GT/0 ,#LT/0,#false/0,#neg/1,#pos/1,#s/1,#true/0,::/2,c/0,c1/0,c10/0,c11/0,c12/1,c13/0,c14/0,c15/0,c16/1,c17/0 ,c18/1,c19/0,c2/0,c20/0,c21/0,c22/0,c23/0,c24/1,c25/0,c26/0,c27/0,c28/1,c29/0,c3/0,c30/1,c31/2,c32/2,c33/0 ,c34/0,c35/0,c36/0,c37/0,c38/0,c39/0,c4/0,c40/1,c41/2,c42/1,c43/1,c44/2,c45/0,c46/1,c47/0,c48/1,c49/2,c5/0 ,c50/0,c51/1,c52/1,c53/0,c54/2,c55/3,c56/3,c57/0,c58/1,c6/0,c7/0,c8/0,c9/0,nil/0} - Obligation: innermost runtime complexity wrt. defined symbols {#AND,#CKLT,#COMPARE,#EQ',#EQUAL,#LESS,#OR,#and,#cklt ,#compare,#eq,#equal,#less,#or,AND,INSERT,INSERT#1,INSERT#2,ISORTLIST,ISORTLIST#1,LEQ,LEQ#1,LEQ#2,OR,and ,insert,insert#1,insert#2,isortlist,isortlist#1,leq,leq#1,leq#2,or} and constructors {#0,#EQ,#GT,#LT,#false ,#neg,#pos,#s,#true,::,c,c1,c10,c11,c12,c13,c14,c15,c16,c17,c18,c19,c2,c20,c21,c22,c23,c24,c25,c26,c27,c28 ,c29,c3,c30,c31,c32,c33,c34,c35,c36,c37,c38,c39,c4,c40,c41,c42,c43,c44,c45,c46,c47,c48,c49,c5,c50,c51,c52 ,c53,c54,c55,c56,c57,c58,c6,c7,c8,c9,nil} + Applied Processor: DependencyPairs {dpKind_ = DT} + Details: We add the following dependency tuples: Strict DPs #EQUAL#(z0,z1) -> c_1(#EQ'#(z0,z1)) #LESS#(z0,z1) -> c_2(#CKLT#(#compare(z0,z1)),#compare#(z0,z1),#COMPARE#(z0,z1)) AND#(z0,z1) -> c_3(#AND#(z0,z1)) INSERT#(z0,z1) -> c_4(INSERT#1#(z1,z0)) INSERT#1#(::(z0,z1),z2) -> c_5(INSERT#2#(leq(z2,z0),z2,z0,z1),leq#(z2,z0),LEQ#(z2,z0)) INSERT#1#(nil(),z0) -> c_6() INSERT#2#(#false(),z0,z1,z2) -> c_7(INSERT#(z0,z2)) INSERT#2#(#true(),z0,z1,z2) -> c_8() ISORTLIST#(z0) -> c_9(ISORTLIST#1#(z0)) ISORTLIST#1#(::(z0,z1)) -> c_10(INSERT#(z0,isortlist(z1)),isortlist#(z1),ISORTLIST#(z1)) ISORTLIST#1#(nil()) -> c_11() LEQ#(z0,z1) -> c_12(LEQ#1#(z0,z1)) LEQ#1#(::(z0,z1),z2) -> c_13(LEQ#2#(z2,z0,z1)) LEQ#1#(nil(),z0) -> c_14() LEQ#2#(::(z0,z1),z2,z3) -> c_15(OR#(#less(z2,z0),and(#equal(z2,z0),leq(z3,z1))) ,#less#(z2,z0) ,and#(#equal(z2,z0),leq(z3,z1)) ,#equal#(z2,z0) ,leq#(z3,z1) ,#LESS#(z2,z0)) LEQ#2#(::(z0,z1),z2,z3) -> c_16(OR#(#less(z2,z0),and(#equal(z2,z0),leq(z3,z1))) ,#less#(z2,z0) ,and#(#equal(z2,z0),leq(z3,z1)) ,#equal#(z2,z0) ,leq#(z3,z1) ,AND#(#equal(z2,z0),leq(z3,z1)) ,#equal#(z2,z0) ,leq#(z3,z1) ,#EQUAL#(z2,z0)) LEQ#2#(::(z0,z1),z2,z3) -> c_17(OR#(#less(z2,z0),and(#equal(z2,z0),leq(z3,z1))) ,#less#(z2,z0) ,and#(#equal(z2,z0),leq(z3,z1)) ,#equal#(z2,z0) ,leq#(z3,z1) ,AND#(#equal(z2,z0),leq(z3,z1)) ,#equal#(z2,z0) ,leq#(z3,z1) ,LEQ#(z3,z1)) LEQ#2#(nil(),z0,z1) -> c_18() OR#(z0,z1) -> c_19(#OR#(z0,z1)) Weak DPs #AND#(#false(),#false()) -> c_20() #AND#(#false(),#true()) -> c_21() #AND#(#true(),#false()) -> c_22() #AND#(#true(),#true()) -> c_23() #CKLT#(#EQ()) -> c_24() #CKLT#(#GT()) -> c_25() #CKLT#(#LT()) -> c_26() #COMPARE#(#0(),#0()) -> c_27() #COMPARE#(#0(),#neg(z0)) -> c_28() #COMPARE#(#0(),#pos(z0)) -> c_29() #COMPARE#(#0(),#s(z0)) -> c_30() #COMPARE#(#neg(z0),#0()) -> c_31() #COMPARE#(#neg(z0),#neg(z1)) -> c_32(#COMPARE#(z1,z0)) #COMPARE#(#neg(z0),#pos(z1)) -> c_33() #COMPARE#(#pos(z0),#0()) -> c_34() #COMPARE#(#pos(z0),#neg(z1)) -> c_35() #COMPARE#(#pos(z0),#pos(z1)) -> c_36(#COMPARE#(z0,z1)) #COMPARE#(#s(z0),#0()) -> c_37() #COMPARE#(#s(z0),#s(z1)) -> c_38(#COMPARE#(z0,z1)) #EQ'#(#0(),#0()) -> c_39() #EQ'#(#0(),#neg(z0)) -> c_40() #EQ'#(#0(),#pos(z0)) -> c_41() #EQ'#(#0(),#s(z0)) -> c_42() #EQ'#(#neg(z0),#0()) -> c_43() #EQ'#(#neg(z0),#neg(z1)) -> c_44(#EQ'#(z0,z1)) #EQ'#(#neg(z0),#pos(z1)) -> c_45() #EQ'#(#pos(z0),#0()) -> c_46() #EQ'#(#pos(z0),#neg(z1)) -> c_47() #EQ'#(#pos(z0),#pos(z1)) -> c_48(#EQ'#(z0,z1)) #EQ'#(#s(z0),#0()) -> c_49() #EQ'#(#s(z0),#s(z1)) -> c_50(#EQ'#(z0,z1)) #EQ'#(::(z0,z1),::(z2,z3)) -> c_51(#AND#(#eq(z0,z2),#eq(z1,z3)),#eq#(z0,z2),#eq#(z1,z3),#EQ'#(z0,z2)) #EQ'#(::(z0,z1),::(z2,z3)) -> c_52(#AND#(#eq(z0,z2),#eq(z1,z3)),#eq#(z0,z2),#eq#(z1,z3),#EQ'#(z1,z3)) #EQ'#(::(z0,z1),nil()) -> c_53() #EQ'#(nil(),::(z0,z1)) -> c_54() #EQ'#(nil(),nil()) -> c_55() #OR#(#false(),#false()) -> c_56() #OR#(#false(),#true()) -> c_57() #OR#(#true(),#false()) -> c_58() #OR#(#true(),#true()) -> c_59() #and#(#false(),#false()) -> c_60() #and#(#false(),#true()) -> c_61() #and#(#true(),#false()) -> c_62() #and#(#true(),#true()) -> c_63() #cklt#(#EQ()) -> c_64() #cklt#(#GT()) -> c_65() #cklt#(#LT()) -> c_66() #compare#(#0(),#0()) -> c_67() #compare#(#0(),#neg(z0)) -> c_68() #compare#(#0(),#pos(z0)) -> c_69() #compare#(#0(),#s(z0)) -> c_70() #compare#(#neg(z0),#0()) -> c_71() #compare#(#neg(z0),#neg(z1)) -> c_72(#compare#(z1,z0)) #compare#(#neg(z0),#pos(z1)) -> c_73() #compare#(#pos(z0),#0()) -> c_74() #compare#(#pos(z0),#neg(z1)) -> c_75() #compare#(#pos(z0),#pos(z1)) -> c_76(#compare#(z0,z1)) #compare#(#s(z0),#0()) -> c_77() #compare#(#s(z0),#s(z1)) -> c_78(#compare#(z0,z1)) #eq#(#0(),#0()) -> c_79() #eq#(#0(),#neg(z0)) -> c_80() #eq#(#0(),#pos(z0)) -> c_81() #eq#(#0(),#s(z0)) -> c_82() #eq#(#neg(z0),#0()) -> c_83() #eq#(#neg(z0),#neg(z1)) -> c_84(#eq#(z0,z1)) #eq#(#neg(z0),#pos(z1)) -> c_85() #eq#(#pos(z0),#0()) -> c_86() #eq#(#pos(z0),#neg(z1)) -> c_87() #eq#(#pos(z0),#pos(z1)) -> c_88(#eq#(z0,z1)) #eq#(#s(z0),#0()) -> c_89() #eq#(#s(z0),#s(z1)) -> c_90(#eq#(z0,z1)) #eq#(::(z0,z1),::(z2,z3)) -> c_91(#and#(#eq(z0,z2),#eq(z1,z3)),#eq#(z0,z2),#eq#(z1,z3)) #eq#(::(z0,z1),nil()) -> c_92() #eq#(nil(),::(z0,z1)) -> c_93() #eq#(nil(),nil()) -> c_94() #equal#(z0,z1) -> c_95(#eq#(z0,z1)) #less#(z0,z1) -> c_96(#cklt#(#compare(z0,z1)),#compare#(z0,z1)) #or#(#false(),#false()) -> c_97() #or#(#false(),#true()) -> c_98() #or#(#true(),#false()) -> c_99() #or#(#true(),#true()) -> c_100() and#(z0,z1) -> c_101(#and#(z0,z1)) insert#(z0,z1) -> c_102(insert#1#(z1,z0)) insert#1#(::(z0,z1),z2) -> c_103(insert#2#(leq(z2,z0),z2,z0,z1),leq#(z2,z0)) insert#1#(nil(),z0) -> c_104() insert#2#(#false(),z0,z1,z2) -> c_105(insert#(z0,z2)) insert#2#(#true(),z0,z1,z2) -> c_106() isortlist#(z0) -> c_107(isortlist#1#(z0)) isortlist#1#(::(z0,z1)) -> c_108(insert#(z0,isortlist(z1)),isortlist#(z1)) isortlist#1#(nil()) -> c_109() leq#(z0,z1) -> c_110(leq#1#(z0,z1)) leq#1#(::(z0,z1),z2) -> c_111(leq#2#(z2,z0,z1)) leq#1#(nil(),z0) -> c_112() leq#2#(::(z0,z1),z2,z3) -> c_113(or#(#less(z2,z0),and(#equal(z2,z0),leq(z3,z1))) ,#less#(z2,z0) ,and#(#equal(z2,z0),leq(z3,z1)) ,#equal#(z2,z0) ,leq#(z3,z1)) leq#2#(nil(),z0,z1) -> c_114() or#(z0,z1) -> c_115(#or#(z0,z1)) and mark the set of starting terms. * Step 3: PredecessorEstimation. WORST_CASE(?,O(n^3)) + Considered Problem: - Strict DPs: #EQUAL#(z0,z1) -> c_1(#EQ'#(z0,z1)) #LESS#(z0,z1) -> c_2(#CKLT#(#compare(z0,z1)),#compare#(z0,z1),#COMPARE#(z0,z1)) AND#(z0,z1) -> c_3(#AND#(z0,z1)) INSERT#(z0,z1) -> c_4(INSERT#1#(z1,z0)) INSERT#1#(::(z0,z1),z2) -> c_5(INSERT#2#(leq(z2,z0),z2,z0,z1),leq#(z2,z0),LEQ#(z2,z0)) INSERT#1#(nil(),z0) -> c_6() INSERT#2#(#false(),z0,z1,z2) -> c_7(INSERT#(z0,z2)) INSERT#2#(#true(),z0,z1,z2) -> c_8() ISORTLIST#(z0) -> c_9(ISORTLIST#1#(z0)) ISORTLIST#1#(::(z0,z1)) -> c_10(INSERT#(z0,isortlist(z1)),isortlist#(z1),ISORTLIST#(z1)) ISORTLIST#1#(nil()) -> c_11() LEQ#(z0,z1) -> c_12(LEQ#1#(z0,z1)) LEQ#1#(::(z0,z1),z2) -> c_13(LEQ#2#(z2,z0,z1)) LEQ#1#(nil(),z0) -> c_14() LEQ#2#(::(z0,z1),z2,z3) -> c_15(OR#(#less(z2,z0),and(#equal(z2,z0),leq(z3,z1))) ,#less#(z2,z0) ,and#(#equal(z2,z0),leq(z3,z1)) ,#equal#(z2,z0) ,leq#(z3,z1) ,#LESS#(z2,z0)) LEQ#2#(::(z0,z1),z2,z3) -> c_16(OR#(#less(z2,z0),and(#equal(z2,z0),leq(z3,z1))) ,#less#(z2,z0) ,and#(#equal(z2,z0),leq(z3,z1)) ,#equal#(z2,z0) ,leq#(z3,z1) ,AND#(#equal(z2,z0),leq(z3,z1)) ,#equal#(z2,z0) ,leq#(z3,z1) ,#EQUAL#(z2,z0)) LEQ#2#(::(z0,z1),z2,z3) -> c_17(OR#(#less(z2,z0),and(#equal(z2,z0),leq(z3,z1))) ,#less#(z2,z0) ,and#(#equal(z2,z0),leq(z3,z1)) ,#equal#(z2,z0) ,leq#(z3,z1) ,AND#(#equal(z2,z0),leq(z3,z1)) ,#equal#(z2,z0) ,leq#(z3,z1) ,LEQ#(z3,z1)) LEQ#2#(nil(),z0,z1) -> c_18() OR#(z0,z1) -> c_19(#OR#(z0,z1)) - Weak DPs: #AND#(#false(),#false()) -> c_20() #AND#(#false(),#true()) -> c_21() #AND#(#true(),#false()) -> c_22() #AND#(#true(),#true()) -> c_23() #CKLT#(#EQ()) -> c_24() #CKLT#(#GT()) -> c_25() #CKLT#(#LT()) -> c_26() #COMPARE#(#0(),#0()) -> c_27() #COMPARE#(#0(),#neg(z0)) -> c_28() #COMPARE#(#0(),#pos(z0)) -> c_29() #COMPARE#(#0(),#s(z0)) -> c_30() #COMPARE#(#neg(z0),#0()) -> c_31() #COMPARE#(#neg(z0),#neg(z1)) -> c_32(#COMPARE#(z1,z0)) #COMPARE#(#neg(z0),#pos(z1)) -> c_33() #COMPARE#(#pos(z0),#0()) -> c_34() #COMPARE#(#pos(z0),#neg(z1)) -> c_35() #COMPARE#(#pos(z0),#pos(z1)) -> c_36(#COMPARE#(z0,z1)) #COMPARE#(#s(z0),#0()) -> c_37() #COMPARE#(#s(z0),#s(z1)) -> c_38(#COMPARE#(z0,z1)) #EQ'#(#0(),#0()) -> c_39() #EQ'#(#0(),#neg(z0)) -> c_40() #EQ'#(#0(),#pos(z0)) -> c_41() #EQ'#(#0(),#s(z0)) -> c_42() #EQ'#(#neg(z0),#0()) -> c_43() #EQ'#(#neg(z0),#neg(z1)) -> c_44(#EQ'#(z0,z1)) #EQ'#(#neg(z0),#pos(z1)) -> c_45() #EQ'#(#pos(z0),#0()) -> c_46() #EQ'#(#pos(z0),#neg(z1)) -> c_47() #EQ'#(#pos(z0),#pos(z1)) -> c_48(#EQ'#(z0,z1)) #EQ'#(#s(z0),#0()) -> c_49() #EQ'#(#s(z0),#s(z1)) -> c_50(#EQ'#(z0,z1)) #EQ'#(::(z0,z1),::(z2,z3)) -> c_51(#AND#(#eq(z0,z2),#eq(z1,z3)),#eq#(z0,z2),#eq#(z1,z3),#EQ'#(z0,z2)) #EQ'#(::(z0,z1),::(z2,z3)) -> c_52(#AND#(#eq(z0,z2),#eq(z1,z3)),#eq#(z0,z2),#eq#(z1,z3),#EQ'#(z1,z3)) #EQ'#(::(z0,z1),nil()) -> c_53() #EQ'#(nil(),::(z0,z1)) -> c_54() #EQ'#(nil(),nil()) -> c_55() #OR#(#false(),#false()) -> c_56() #OR#(#false(),#true()) -> c_57() #OR#(#true(),#false()) -> c_58() #OR#(#true(),#true()) -> c_59() #and#(#false(),#false()) -> c_60() #and#(#false(),#true()) -> c_61() #and#(#true(),#false()) -> c_62() #and#(#true(),#true()) -> c_63() #cklt#(#EQ()) -> c_64() #cklt#(#GT()) -> c_65() #cklt#(#LT()) -> c_66() #compare#(#0(),#0()) -> c_67() #compare#(#0(),#neg(z0)) -> c_68() #compare#(#0(),#pos(z0)) -> c_69() #compare#(#0(),#s(z0)) -> c_70() #compare#(#neg(z0),#0()) -> c_71() #compare#(#neg(z0),#neg(z1)) -> c_72(#compare#(z1,z0)) #compare#(#neg(z0),#pos(z1)) -> c_73() #compare#(#pos(z0),#0()) -> c_74() #compare#(#pos(z0),#neg(z1)) -> c_75() #compare#(#pos(z0),#pos(z1)) -> c_76(#compare#(z0,z1)) #compare#(#s(z0),#0()) -> c_77() #compare#(#s(z0),#s(z1)) -> c_78(#compare#(z0,z1)) #eq#(#0(),#0()) -> c_79() #eq#(#0(),#neg(z0)) -> c_80() #eq#(#0(),#pos(z0)) -> c_81() #eq#(#0(),#s(z0)) -> c_82() #eq#(#neg(z0),#0()) -> c_83() #eq#(#neg(z0),#neg(z1)) -> c_84(#eq#(z0,z1)) #eq#(#neg(z0),#pos(z1)) -> c_85() #eq#(#pos(z0),#0()) -> c_86() #eq#(#pos(z0),#neg(z1)) -> c_87() #eq#(#pos(z0),#pos(z1)) -> c_88(#eq#(z0,z1)) #eq#(#s(z0),#0()) -> c_89() #eq#(#s(z0),#s(z1)) -> c_90(#eq#(z0,z1)) #eq#(::(z0,z1),::(z2,z3)) -> c_91(#and#(#eq(z0,z2),#eq(z1,z3)),#eq#(z0,z2),#eq#(z1,z3)) #eq#(::(z0,z1),nil()) -> c_92() #eq#(nil(),::(z0,z1)) -> c_93() #eq#(nil(),nil()) -> c_94() #equal#(z0,z1) -> c_95(#eq#(z0,z1)) #less#(z0,z1) -> c_96(#cklt#(#compare(z0,z1)),#compare#(z0,z1)) #or#(#false(),#false()) -> c_97() #or#(#false(),#true()) -> c_98() #or#(#true(),#false()) -> c_99() #or#(#true(),#true()) -> c_100() and#(z0,z1) -> c_101(#and#(z0,z1)) insert#(z0,z1) -> c_102(insert#1#(z1,z0)) insert#1#(::(z0,z1),z2) -> c_103(insert#2#(leq(z2,z0),z2,z0,z1),leq#(z2,z0)) insert#1#(nil(),z0) -> c_104() insert#2#(#false(),z0,z1,z2) -> c_105(insert#(z0,z2)) insert#2#(#true(),z0,z1,z2) -> c_106() isortlist#(z0) -> c_107(isortlist#1#(z0)) isortlist#1#(::(z0,z1)) -> c_108(insert#(z0,isortlist(z1)),isortlist#(z1)) isortlist#1#(nil()) -> c_109() leq#(z0,z1) -> c_110(leq#1#(z0,z1)) leq#1#(::(z0,z1),z2) -> c_111(leq#2#(z2,z0,z1)) leq#1#(nil(),z0) -> c_112() leq#2#(::(z0,z1),z2,z3) -> c_113(or#(#less(z2,z0),and(#equal(z2,z0),leq(z3,z1))) ,#less#(z2,z0) ,and#(#equal(z2,z0),leq(z3,z1)) ,#equal#(z2,z0) ,leq#(z3,z1)) leq#2#(nil(),z0,z1) -> c_114() or#(z0,z1) -> c_115(#or#(z0,z1)) - Weak TRS: #AND(#false(),#false()) -> c() #AND(#false(),#true()) -> c1() #AND(#true(),#false()) -> c2() #AND(#true(),#true()) -> c3() #CKLT(#EQ()) -> c4() #CKLT(#GT()) -> c5() #CKLT(#LT()) -> c6() #COMPARE(#0(),#0()) -> c7() #COMPARE(#0(),#neg(z0)) -> c8() #COMPARE(#0(),#pos(z0)) -> c9() #COMPARE(#0(),#s(z0)) -> c10() #COMPARE(#neg(z0),#0()) -> c11() #COMPARE(#neg(z0),#neg(z1)) -> c12(#COMPARE(z1,z0)) #COMPARE(#neg(z0),#pos(z1)) -> c13() #COMPARE(#pos(z0),#0()) -> c14() #COMPARE(#pos(z0),#neg(z1)) -> c15() #COMPARE(#pos(z0),#pos(z1)) -> c16(#COMPARE(z0,z1)) #COMPARE(#s(z0),#0()) -> c17() #COMPARE(#s(z0),#s(z1)) -> c18(#COMPARE(z0,z1)) #EQ'(#0(),#0()) -> c19() #EQ'(#0(),#neg(z0)) -> c20() #EQ'(#0(),#pos(z0)) -> c21() #EQ'(#0(),#s(z0)) -> c22() #EQ'(#neg(z0),#0()) -> c23() #EQ'(#neg(z0),#neg(z1)) -> c24(#EQ'(z0,z1)) #EQ'(#neg(z0),#pos(z1)) -> c25() #EQ'(#pos(z0),#0()) -> c26() #EQ'(#pos(z0),#neg(z1)) -> c27() #EQ'(#pos(z0),#pos(z1)) -> c28(#EQ'(z0,z1)) #EQ'(#s(z0),#0()) -> c29() #EQ'(#s(z0),#s(z1)) -> c30(#EQ'(z0,z1)) #EQ'(::(z0,z1),::(z2,z3)) -> c31(#AND(#eq(z0,z2),#eq(z1,z3)),#EQ'(z0,z2)) #EQ'(::(z0,z1),::(z2,z3)) -> c32(#AND(#eq(z0,z2),#eq(z1,z3)),#EQ'(z1,z3)) #EQ'(::(z0,z1),nil()) -> c33() #EQ'(nil(),::(z0,z1)) -> c34() #EQ'(nil(),nil()) -> c35() #EQUAL(z0,z1) -> c40(#EQ'(z0,z1)) #LESS(z0,z1) -> c41(#CKLT(#compare(z0,z1)),#COMPARE(z0,z1)) #OR(#false(),#false()) -> c36() #OR(#false(),#true()) -> c37() #OR(#true(),#false()) -> c38() #OR(#true(),#true()) -> c39() #and(#false(),#false()) -> #false() #and(#false(),#true()) -> #false() #and(#true(),#false()) -> #false() #and(#true(),#true()) -> #true() #cklt(#EQ()) -> #false() #cklt(#GT()) -> #false() #cklt(#LT()) -> #true() #compare(#0(),#0()) -> #EQ() #compare(#0(),#neg(z0)) -> #GT() #compare(#0(),#pos(z0)) -> #LT() #compare(#0(),#s(z0)) -> #LT() #compare(#neg(z0),#0()) -> #LT() #compare(#neg(z0),#neg(z1)) -> #compare(z1,z0) #compare(#neg(z0),#pos(z1)) -> #LT() #compare(#pos(z0),#0()) -> #GT() #compare(#pos(z0),#neg(z1)) -> #GT() #compare(#pos(z0),#pos(z1)) -> #compare(z0,z1) #compare(#s(z0),#0()) -> #GT() #compare(#s(z0),#s(z1)) -> #compare(z0,z1) #eq(#0(),#0()) -> #true() #eq(#0(),#neg(z0)) -> #false() #eq(#0(),#pos(z0)) -> #false() #eq(#0(),#s(z0)) -> #false() #eq(#neg(z0),#0()) -> #false() #eq(#neg(z0),#neg(z1)) -> #eq(z0,z1) #eq(#neg(z0),#pos(z1)) -> #false() #eq(#pos(z0),#0()) -> #false() #eq(#pos(z0),#neg(z1)) -> #false() #eq(#pos(z0),#pos(z1)) -> #eq(z0,z1) #eq(#s(z0),#0()) -> #false() #eq(#s(z0),#s(z1)) -> #eq(z0,z1) #eq(::(z0,z1),::(z2,z3)) -> #and(#eq(z0,z2),#eq(z1,z3)) #eq(::(z0,z1),nil()) -> #false() #eq(nil(),::(z0,z1)) -> #false() #eq(nil(),nil()) -> #true() #equal(z0,z1) -> #eq(z0,z1) #less(z0,z1) -> #cklt(#compare(z0,z1)) #or(#false(),#false()) -> #false() #or(#false(),#true()) -> #true() #or(#true(),#false()) -> #true() #or(#true(),#true()) -> #true() AND(z0,z1) -> c42(#AND(z0,z1)) INSERT(z0,z1) -> c43(INSERT#1(z1,z0)) INSERT#1(::(z0,z1),z2) -> c44(INSERT#2(leq(z2,z0),z2,z0,z1),LEQ(z2,z0)) INSERT#1(nil(),z0) -> c45() INSERT#2(#false(),z0,z1,z2) -> c46(INSERT(z0,z2)) INSERT#2(#true(),z0,z1,z2) -> c47() ISORTLIST(z0) -> c48(ISORTLIST#1(z0)) ISORTLIST#1(::(z0,z1)) -> c49(INSERT(z0,isortlist(z1)),ISORTLIST(z1)) ISORTLIST#1(nil()) -> c50() LEQ(z0,z1) -> c51(LEQ#1(z0,z1)) LEQ#1(::(z0,z1),z2) -> c52(LEQ#2(z2,z0,z1)) LEQ#1(nil(),z0) -> c53() LEQ#2(::(z0,z1),z2,z3) -> c54(OR(#less(z2,z0),and(#equal(z2,z0),leq(z3,z1))),#LESS(z2,z0)) LEQ#2(::(z0,z1),z2,z3) -> c55(OR(#less(z2,z0),and(#equal(z2,z0),leq(z3,z1))) ,AND(#equal(z2,z0),leq(z3,z1)) ,#EQUAL(z2,z0)) LEQ#2(::(z0,z1),z2,z3) -> c56(OR(#less(z2,z0),and(#equal(z2,z0),leq(z3,z1))) ,AND(#equal(z2,z0),leq(z3,z1)) ,LEQ(z3,z1)) LEQ#2(nil(),z0,z1) -> c57() OR(z0,z1) -> c58(#OR(z0,z1)) and(z0,z1) -> #and(z0,z1) insert(z0,z1) -> insert#1(z1,z0) insert#1(::(z0,z1),z2) -> insert#2(leq(z2,z0),z2,z0,z1) insert#1(nil(),z0) -> ::(z0,nil()) insert#2(#false(),z0,z1,z2) -> ::(z1,insert(z0,z2)) insert#2(#true(),z0,z1,z2) -> ::(z0,::(z1,z2)) isortlist(z0) -> isortlist#1(z0) isortlist#1(::(z0,z1)) -> insert(z0,isortlist(z1)) isortlist#1(nil()) -> nil() leq(z0,z1) -> leq#1(z0,z1) leq#1(::(z0,z1),z2) -> leq#2(z2,z0,z1) leq#1(nil(),z0) -> #true() leq#2(::(z0,z1),z2,z3) -> or(#less(z2,z0),and(#equal(z2,z0),leq(z3,z1))) leq#2(nil(),z0,z1) -> #false() or(z0,z1) -> #or(z0,z1) - Signature: {#AND/2,#CKLT/1,#COMPARE/2,#EQ'/2,#EQUAL/2,#LESS/2,#OR/2,#and/2,#cklt/1,#compare/2,#eq/2,#equal/2,#less/2 ,#or/2,AND/2,INSERT/2,INSERT#1/2,INSERT#2/4,ISORTLIST/1,ISORTLIST#1/1,LEQ/2,LEQ#1/2,LEQ#2/3,OR/2,and/2 ,insert/2,insert#1/2,insert#2/4,isortlist/1,isortlist#1/1,leq/2,leq#1/2,leq#2/3,or/2,#AND#/2,#CKLT#/1 ,#COMPARE#/2,#EQ'#/2,#EQUAL#/2,#LESS#/2,#OR#/2,#and#/2,#cklt#/1,#compare#/2,#eq#/2,#equal#/2,#less#/2,#or#/2 ,AND#/2,INSERT#/2,INSERT#1#/2,INSERT#2#/4,ISORTLIST#/1,ISORTLIST#1#/1,LEQ#/2,LEQ#1#/2,LEQ#2#/3,OR#/2,and#/2 ,insert#/2,insert#1#/2,insert#2#/4,isortlist#/1,isortlist#1#/1,leq#/2,leq#1#/2,leq#2#/3,or#/2} / {#0/0,#EQ/0 ,#GT/0,#LT/0,#false/0,#neg/1,#pos/1,#s/1,#true/0,::/2,c/0,c1/0,c10/0,c11/0,c12/1,c13/0,c14/0,c15/0,c16/1 ,c17/0,c18/1,c19/0,c2/0,c20/0,c21/0,c22/0,c23/0,c24/1,c25/0,c26/0,c27/0,c28/1,c29/0,c3/0,c30/1,c31/2,c32/2 ,c33/0,c34/0,c35/0,c36/0,c37/0,c38/0,c39/0,c4/0,c40/1,c41/2,c42/1,c43/1,c44/2,c45/0,c46/1,c47/0,c48/1,c49/2 ,c5/0,c50/0,c51/1,c52/1,c53/0,c54/2,c55/3,c56/3,c57/0,c58/1,c6/0,c7/0,c8/0,c9/0,nil/0,c_1/1,c_2/3,c_3/1 ,c_4/1,c_5/3,c_6/0,c_7/1,c_8/0,c_9/1,c_10/3,c_11/0,c_12/1,c_13/1,c_14/0,c_15/6,c_16/9,c_17/9,c_18/0,c_19/1 ,c_20/0,c_21/0,c_22/0,c_23/0,c_24/0,c_25/0,c_26/0,c_27/0,c_28/0,c_29/0,c_30/0,c_31/0,c_32/1,c_33/0,c_34/0 ,c_35/0,c_36/1,c_37/0,c_38/1,c_39/0,c_40/0,c_41/0,c_42/0,c_43/0,c_44/1,c_45/0,c_46/0,c_47/0,c_48/1,c_49/0 ,c_50/1,c_51/4,c_52/4,c_53/0,c_54/0,c_55/0,c_56/0,c_57/0,c_58/0,c_59/0,c_60/0,c_61/0,c_62/0,c_63/0,c_64/0 ,c_65/0,c_66/0,c_67/0,c_68/0,c_69/0,c_70/0,c_71/0,c_72/1,c_73/0,c_74/0,c_75/0,c_76/1,c_77/0,c_78/1,c_79/0 ,c_80/0,c_81/0,c_82/0,c_83/0,c_84/1,c_85/0,c_86/0,c_87/0,c_88/1,c_89/0,c_90/1,c_91/3,c_92/0,c_93/0,c_94/0 ,c_95/1,c_96/2,c_97/0,c_98/0,c_99/0,c_100/0,c_101/1,c_102/1,c_103/2,c_104/0,c_105/1,c_106/0,c_107/1,c_108/2 ,c_109/0,c_110/1,c_111/1,c_112/0,c_113/5,c_114/0,c_115/1} - Obligation: innermost runtime complexity wrt. defined symbols {#AND#,#CKLT#,#COMPARE#,#EQ'#,#EQUAL#,#LESS#,#OR#,#and# ,#cklt#,#compare#,#eq#,#equal#,#less#,#or#,AND#,INSERT#,INSERT#1#,INSERT#2#,ISORTLIST#,ISORTLIST#1#,LEQ# ,LEQ#1#,LEQ#2#,OR#,and#,insert#,insert#1#,insert#2#,isortlist#,isortlist#1#,leq#,leq#1#,leq#2# ,or#} and constructors {#0,#EQ,#GT,#LT,#false,#neg,#pos,#s,#true,::,c,c1,c10,c11,c12,c13,c14,c15,c16,c17,c18 ,c19,c2,c20,c21,c22,c23,c24,c25,c26,c27,c28,c29,c3,c30,c31,c32,c33,c34,c35,c36,c37,c38,c39,c4,c40,c41,c42 ,c43,c44,c45,c46,c47,c48,c49,c5,c50,c51,c52,c53,c54,c55,c56,c57,c58,c6,c7,c8,c9,nil} + Applied Processor: PredecessorEstimation {onSelection = all simple predecessor estimation selector} + Details: We estimate the number of application of {1,2,3,6,8,11,14,18,19} by application of Pre({1,2,3,6,8,11,14,18,19}) = {4,5,9,12,13,15,16,17}. Here rules are labelled as follows: 1: #EQUAL#(z0,z1) -> c_1(#EQ'#(z0,z1)) 2: #LESS#(z0,z1) -> c_2(#CKLT#(#compare(z0,z1)),#compare#(z0,z1),#COMPARE#(z0,z1)) 3: AND#(z0,z1) -> c_3(#AND#(z0,z1)) 4: INSERT#(z0,z1) -> c_4(INSERT#1#(z1,z0)) 5: INSERT#1#(::(z0,z1),z2) -> c_5(INSERT#2#(leq(z2,z0),z2,z0,z1),leq#(z2,z0),LEQ#(z2,z0)) 6: INSERT#1#(nil(),z0) -> c_6() 7: INSERT#2#(#false(),z0,z1,z2) -> c_7(INSERT#(z0,z2)) 8: INSERT#2#(#true(),z0,z1,z2) -> c_8() 9: ISORTLIST#(z0) -> c_9(ISORTLIST#1#(z0)) 10: ISORTLIST#1#(::(z0,z1)) -> c_10(INSERT#(z0,isortlist(z1)),isortlist#(z1),ISORTLIST#(z1)) 11: ISORTLIST#1#(nil()) -> c_11() 12: LEQ#(z0,z1) -> c_12(LEQ#1#(z0,z1)) 13: LEQ#1#(::(z0,z1),z2) -> c_13(LEQ#2#(z2,z0,z1)) 14: LEQ#1#(nil(),z0) -> c_14() 15: LEQ#2#(::(z0,z1),z2,z3) -> c_15(OR#(#less(z2,z0),and(#equal(z2,z0),leq(z3,z1))) ,#less#(z2,z0) ,and#(#equal(z2,z0),leq(z3,z1)) ,#equal#(z2,z0) ,leq#(z3,z1) ,#LESS#(z2,z0)) 16: LEQ#2#(::(z0,z1),z2,z3) -> c_16(OR#(#less(z2,z0),and(#equal(z2,z0),leq(z3,z1))) ,#less#(z2,z0) ,and#(#equal(z2,z0),leq(z3,z1)) ,#equal#(z2,z0) ,leq#(z3,z1) ,AND#(#equal(z2,z0),leq(z3,z1)) ,#equal#(z2,z0) ,leq#(z3,z1) ,#EQUAL#(z2,z0)) 17: LEQ#2#(::(z0,z1),z2,z3) -> c_17(OR#(#less(z2,z0),and(#equal(z2,z0),leq(z3,z1))) ,#less#(z2,z0) ,and#(#equal(z2,z0),leq(z3,z1)) ,#equal#(z2,z0) ,leq#(z3,z1) ,AND#(#equal(z2,z0),leq(z3,z1)) ,#equal#(z2,z0) ,leq#(z3,z1) ,LEQ#(z3,z1)) 18: LEQ#2#(nil(),z0,z1) -> c_18() 19: OR#(z0,z1) -> c_19(#OR#(z0,z1)) 20: #AND#(#false(),#false()) -> c_20() 21: #AND#(#false(),#true()) -> c_21() 22: #AND#(#true(),#false()) -> c_22() 23: #AND#(#true(),#true()) -> c_23() 24: #CKLT#(#EQ()) -> c_24() 25: #CKLT#(#GT()) -> c_25() 26: #CKLT#(#LT()) -> c_26() 27: #COMPARE#(#0(),#0()) -> c_27() 28: #COMPARE#(#0(),#neg(z0)) -> c_28() 29: #COMPARE#(#0(),#pos(z0)) -> c_29() 30: #COMPARE#(#0(),#s(z0)) -> c_30() 31: #COMPARE#(#neg(z0),#0()) -> c_31() 32: #COMPARE#(#neg(z0),#neg(z1)) -> c_32(#COMPARE#(z1,z0)) 33: #COMPARE#(#neg(z0),#pos(z1)) -> c_33() 34: #COMPARE#(#pos(z0),#0()) -> c_34() 35: #COMPARE#(#pos(z0),#neg(z1)) -> c_35() 36: #COMPARE#(#pos(z0),#pos(z1)) -> c_36(#COMPARE#(z0,z1)) 37: #COMPARE#(#s(z0),#0()) -> c_37() 38: #COMPARE#(#s(z0),#s(z1)) -> c_38(#COMPARE#(z0,z1)) 39: #EQ'#(#0(),#0()) -> c_39() 40: #EQ'#(#0(),#neg(z0)) -> c_40() 41: #EQ'#(#0(),#pos(z0)) -> c_41() 42: #EQ'#(#0(),#s(z0)) -> c_42() 43: #EQ'#(#neg(z0),#0()) -> c_43() 44: #EQ'#(#neg(z0),#neg(z1)) -> c_44(#EQ'#(z0,z1)) 45: #EQ'#(#neg(z0),#pos(z1)) -> c_45() 46: #EQ'#(#pos(z0),#0()) -> c_46() 47: #EQ'#(#pos(z0),#neg(z1)) -> c_47() 48: #EQ'#(#pos(z0),#pos(z1)) -> c_48(#EQ'#(z0,z1)) 49: #EQ'#(#s(z0),#0()) -> c_49() 50: #EQ'#(#s(z0),#s(z1)) -> c_50(#EQ'#(z0,z1)) 51: #EQ'#(::(z0,z1),::(z2,z3)) -> c_51(#AND#(#eq(z0,z2),#eq(z1,z3)),#eq#(z0,z2),#eq#(z1,z3),#EQ'#(z0,z2)) 52: #EQ'#(::(z0,z1),::(z2,z3)) -> c_52(#AND#(#eq(z0,z2),#eq(z1,z3)),#eq#(z0,z2),#eq#(z1,z3),#EQ'#(z1,z3)) 53: #EQ'#(::(z0,z1),nil()) -> c_53() 54: #EQ'#(nil(),::(z0,z1)) -> c_54() 55: #EQ'#(nil(),nil()) -> c_55() 56: #OR#(#false(),#false()) -> c_56() 57: #OR#(#false(),#true()) -> c_57() 58: #OR#(#true(),#false()) -> c_58() 59: #OR#(#true(),#true()) -> c_59() 60: #and#(#false(),#false()) -> c_60() 61: #and#(#false(),#true()) -> c_61() 62: #and#(#true(),#false()) -> c_62() 63: #and#(#true(),#true()) -> c_63() 64: #cklt#(#EQ()) -> c_64() 65: #cklt#(#GT()) -> c_65() 66: #cklt#(#LT()) -> c_66() 67: #compare#(#0(),#0()) -> c_67() 68: #compare#(#0(),#neg(z0)) -> c_68() 69: #compare#(#0(),#pos(z0)) -> c_69() 70: #compare#(#0(),#s(z0)) -> c_70() 71: #compare#(#neg(z0),#0()) -> c_71() 72: #compare#(#neg(z0),#neg(z1)) -> c_72(#compare#(z1,z0)) 73: #compare#(#neg(z0),#pos(z1)) -> c_73() 74: #compare#(#pos(z0),#0()) -> c_74() 75: #compare#(#pos(z0),#neg(z1)) -> c_75() 76: #compare#(#pos(z0),#pos(z1)) -> c_76(#compare#(z0,z1)) 77: #compare#(#s(z0),#0()) -> c_77() 78: #compare#(#s(z0),#s(z1)) -> c_78(#compare#(z0,z1)) 79: #eq#(#0(),#0()) -> c_79() 80: #eq#(#0(),#neg(z0)) -> c_80() 81: #eq#(#0(),#pos(z0)) -> c_81() 82: #eq#(#0(),#s(z0)) -> c_82() 83: #eq#(#neg(z0),#0()) -> c_83() 84: #eq#(#neg(z0),#neg(z1)) -> c_84(#eq#(z0,z1)) 85: #eq#(#neg(z0),#pos(z1)) -> c_85() 86: #eq#(#pos(z0),#0()) -> c_86() 87: #eq#(#pos(z0),#neg(z1)) -> c_87() 88: #eq#(#pos(z0),#pos(z1)) -> c_88(#eq#(z0,z1)) 89: #eq#(#s(z0),#0()) -> c_89() 90: #eq#(#s(z0),#s(z1)) -> c_90(#eq#(z0,z1)) 91: #eq#(::(z0,z1),::(z2,z3)) -> c_91(#and#(#eq(z0,z2),#eq(z1,z3)),#eq#(z0,z2),#eq#(z1,z3)) 92: #eq#(::(z0,z1),nil()) -> c_92() 93: #eq#(nil(),::(z0,z1)) -> c_93() 94: #eq#(nil(),nil()) -> c_94() 95: #equal#(z0,z1) -> c_95(#eq#(z0,z1)) 96: #less#(z0,z1) -> c_96(#cklt#(#compare(z0,z1)),#compare#(z0,z1)) 97: #or#(#false(),#false()) -> c_97() 98: #or#(#false(),#true()) -> c_98() 99: #or#(#true(),#false()) -> c_99() 100: #or#(#true(),#true()) -> c_100() 101: and#(z0,z1) -> c_101(#and#(z0,z1)) 102: insert#(z0,z1) -> c_102(insert#1#(z1,z0)) 103: insert#1#(::(z0,z1),z2) -> c_103(insert#2#(leq(z2,z0),z2,z0,z1),leq#(z2,z0)) 104: insert#1#(nil(),z0) -> c_104() 105: insert#2#(#false(),z0,z1,z2) -> c_105(insert#(z0,z2)) 106: insert#2#(#true(),z0,z1,z2) -> c_106() 107: isortlist#(z0) -> c_107(isortlist#1#(z0)) 108: isortlist#1#(::(z0,z1)) -> c_108(insert#(z0,isortlist(z1)),isortlist#(z1)) 109: isortlist#1#(nil()) -> c_109() 110: leq#(z0,z1) -> c_110(leq#1#(z0,z1)) 111: leq#1#(::(z0,z1),z2) -> c_111(leq#2#(z2,z0,z1)) 112: leq#1#(nil(),z0) -> c_112() 113: leq#2#(::(z0,z1),z2,z3) -> c_113(or#(#less(z2,z0),and(#equal(z2,z0),leq(z3,z1))) ,#less#(z2,z0) ,and#(#equal(z2,z0),leq(z3,z1)) ,#equal#(z2,z0) ,leq#(z3,z1)) 114: leq#2#(nil(),z0,z1) -> c_114() 115: or#(z0,z1) -> c_115(#or#(z0,z1)) * Step 4: PredecessorEstimation. WORST_CASE(?,O(n^3)) + Considered Problem: - Strict DPs: INSERT#(z0,z1) -> c_4(INSERT#1#(z1,z0)) INSERT#1#(::(z0,z1),z2) -> c_5(INSERT#2#(leq(z2,z0),z2,z0,z1),leq#(z2,z0),LEQ#(z2,z0)) INSERT#2#(#false(),z0,z1,z2) -> c_7(INSERT#(z0,z2)) ISORTLIST#(z0) -> c_9(ISORTLIST#1#(z0)) ISORTLIST#1#(::(z0,z1)) -> c_10(INSERT#(z0,isortlist(z1)),isortlist#(z1),ISORTLIST#(z1)) LEQ#(z0,z1) -> c_12(LEQ#1#(z0,z1)) LEQ#1#(::(z0,z1),z2) -> c_13(LEQ#2#(z2,z0,z1)) LEQ#2#(::(z0,z1),z2,z3) -> c_15(OR#(#less(z2,z0),and(#equal(z2,z0),leq(z3,z1))) ,#less#(z2,z0) ,and#(#equal(z2,z0),leq(z3,z1)) ,#equal#(z2,z0) ,leq#(z3,z1) ,#LESS#(z2,z0)) LEQ#2#(::(z0,z1),z2,z3) -> c_16(OR#(#less(z2,z0),and(#equal(z2,z0),leq(z3,z1))) ,#less#(z2,z0) ,and#(#equal(z2,z0),leq(z3,z1)) ,#equal#(z2,z0) ,leq#(z3,z1) ,AND#(#equal(z2,z0),leq(z3,z1)) ,#equal#(z2,z0) ,leq#(z3,z1) ,#EQUAL#(z2,z0)) LEQ#2#(::(z0,z1),z2,z3) -> c_17(OR#(#less(z2,z0),and(#equal(z2,z0),leq(z3,z1))) ,#less#(z2,z0) ,and#(#equal(z2,z0),leq(z3,z1)) ,#equal#(z2,z0) ,leq#(z3,z1) ,AND#(#equal(z2,z0),leq(z3,z1)) ,#equal#(z2,z0) ,leq#(z3,z1) ,LEQ#(z3,z1)) - Weak DPs: #AND#(#false(),#false()) -> c_20() #AND#(#false(),#true()) -> c_21() #AND#(#true(),#false()) -> c_22() #AND#(#true(),#true()) -> c_23() #CKLT#(#EQ()) -> c_24() #CKLT#(#GT()) -> c_25() #CKLT#(#LT()) -> c_26() #COMPARE#(#0(),#0()) -> c_27() #COMPARE#(#0(),#neg(z0)) -> c_28() #COMPARE#(#0(),#pos(z0)) -> c_29() #COMPARE#(#0(),#s(z0)) -> c_30() #COMPARE#(#neg(z0),#0()) -> c_31() #COMPARE#(#neg(z0),#neg(z1)) -> c_32(#COMPARE#(z1,z0)) #COMPARE#(#neg(z0),#pos(z1)) -> c_33() #COMPARE#(#pos(z0),#0()) -> c_34() #COMPARE#(#pos(z0),#neg(z1)) -> c_35() #COMPARE#(#pos(z0),#pos(z1)) -> c_36(#COMPARE#(z0,z1)) #COMPARE#(#s(z0),#0()) -> c_37() #COMPARE#(#s(z0),#s(z1)) -> c_38(#COMPARE#(z0,z1)) #EQ'#(#0(),#0()) -> c_39() #EQ'#(#0(),#neg(z0)) -> c_40() #EQ'#(#0(),#pos(z0)) -> c_41() #EQ'#(#0(),#s(z0)) -> c_42() #EQ'#(#neg(z0),#0()) -> c_43() #EQ'#(#neg(z0),#neg(z1)) -> c_44(#EQ'#(z0,z1)) #EQ'#(#neg(z0),#pos(z1)) -> c_45() #EQ'#(#pos(z0),#0()) -> c_46() #EQ'#(#pos(z0),#neg(z1)) -> c_47() #EQ'#(#pos(z0),#pos(z1)) -> c_48(#EQ'#(z0,z1)) #EQ'#(#s(z0),#0()) -> c_49() #EQ'#(#s(z0),#s(z1)) -> c_50(#EQ'#(z0,z1)) #EQ'#(::(z0,z1),::(z2,z3)) -> c_51(#AND#(#eq(z0,z2),#eq(z1,z3)),#eq#(z0,z2),#eq#(z1,z3),#EQ'#(z0,z2)) #EQ'#(::(z0,z1),::(z2,z3)) -> c_52(#AND#(#eq(z0,z2),#eq(z1,z3)),#eq#(z0,z2),#eq#(z1,z3),#EQ'#(z1,z3)) #EQ'#(::(z0,z1),nil()) -> c_53() #EQ'#(nil(),::(z0,z1)) -> c_54() #EQ'#(nil(),nil()) -> c_55() #EQUAL#(z0,z1) -> c_1(#EQ'#(z0,z1)) #LESS#(z0,z1) -> c_2(#CKLT#(#compare(z0,z1)),#compare#(z0,z1),#COMPARE#(z0,z1)) #OR#(#false(),#false()) -> c_56() #OR#(#false(),#true()) -> c_57() #OR#(#true(),#false()) -> c_58() #OR#(#true(),#true()) -> c_59() #and#(#false(),#false()) -> c_60() #and#(#false(),#true()) -> c_61() #and#(#true(),#false()) -> c_62() #and#(#true(),#true()) -> c_63() #cklt#(#EQ()) -> c_64() #cklt#(#GT()) -> c_65() #cklt#(#LT()) -> c_66() #compare#(#0(),#0()) -> c_67() #compare#(#0(),#neg(z0)) -> c_68() #compare#(#0(),#pos(z0)) -> c_69() #compare#(#0(),#s(z0)) -> c_70() #compare#(#neg(z0),#0()) -> c_71() #compare#(#neg(z0),#neg(z1)) -> c_72(#compare#(z1,z0)) #compare#(#neg(z0),#pos(z1)) -> c_73() #compare#(#pos(z0),#0()) -> c_74() #compare#(#pos(z0),#neg(z1)) -> c_75() #compare#(#pos(z0),#pos(z1)) -> c_76(#compare#(z0,z1)) #compare#(#s(z0),#0()) -> c_77() #compare#(#s(z0),#s(z1)) -> c_78(#compare#(z0,z1)) #eq#(#0(),#0()) -> c_79() #eq#(#0(),#neg(z0)) -> c_80() #eq#(#0(),#pos(z0)) -> c_81() #eq#(#0(),#s(z0)) -> c_82() #eq#(#neg(z0),#0()) -> c_83() #eq#(#neg(z0),#neg(z1)) -> c_84(#eq#(z0,z1)) #eq#(#neg(z0),#pos(z1)) -> c_85() #eq#(#pos(z0),#0()) -> c_86() #eq#(#pos(z0),#neg(z1)) -> c_87() #eq#(#pos(z0),#pos(z1)) -> c_88(#eq#(z0,z1)) #eq#(#s(z0),#0()) -> c_89() #eq#(#s(z0),#s(z1)) -> c_90(#eq#(z0,z1)) #eq#(::(z0,z1),::(z2,z3)) -> c_91(#and#(#eq(z0,z2),#eq(z1,z3)),#eq#(z0,z2),#eq#(z1,z3)) #eq#(::(z0,z1),nil()) -> c_92() #eq#(nil(),::(z0,z1)) -> c_93() #eq#(nil(),nil()) -> c_94() #equal#(z0,z1) -> c_95(#eq#(z0,z1)) #less#(z0,z1) -> c_96(#cklt#(#compare(z0,z1)),#compare#(z0,z1)) #or#(#false(),#false()) -> c_97() #or#(#false(),#true()) -> c_98() #or#(#true(),#false()) -> c_99() #or#(#true(),#true()) -> c_100() AND#(z0,z1) -> c_3(#AND#(z0,z1)) INSERT#1#(nil(),z0) -> c_6() INSERT#2#(#true(),z0,z1,z2) -> c_8() ISORTLIST#1#(nil()) -> c_11() LEQ#1#(nil(),z0) -> c_14() LEQ#2#(nil(),z0,z1) -> c_18() OR#(z0,z1) -> c_19(#OR#(z0,z1)) and#(z0,z1) -> c_101(#and#(z0,z1)) insert#(z0,z1) -> c_102(insert#1#(z1,z0)) insert#1#(::(z0,z1),z2) -> c_103(insert#2#(leq(z2,z0),z2,z0,z1),leq#(z2,z0)) insert#1#(nil(),z0) -> c_104() insert#2#(#false(),z0,z1,z2) -> c_105(insert#(z0,z2)) insert#2#(#true(),z0,z1,z2) -> c_106() isortlist#(z0) -> c_107(isortlist#1#(z0)) isortlist#1#(::(z0,z1)) -> c_108(insert#(z0,isortlist(z1)),isortlist#(z1)) isortlist#1#(nil()) -> c_109() leq#(z0,z1) -> c_110(leq#1#(z0,z1)) leq#1#(::(z0,z1),z2) -> c_111(leq#2#(z2,z0,z1)) leq#1#(nil(),z0) -> c_112() leq#2#(::(z0,z1),z2,z3) -> c_113(or#(#less(z2,z0),and(#equal(z2,z0),leq(z3,z1))) ,#less#(z2,z0) ,and#(#equal(z2,z0),leq(z3,z1)) ,#equal#(z2,z0) ,leq#(z3,z1)) leq#2#(nil(),z0,z1) -> c_114() or#(z0,z1) -> c_115(#or#(z0,z1)) - Weak TRS: #AND(#false(),#false()) -> c() #AND(#false(),#true()) -> c1() #AND(#true(),#false()) -> c2() #AND(#true(),#true()) -> c3() #CKLT(#EQ()) -> c4() #CKLT(#GT()) -> c5() #CKLT(#LT()) -> c6() #COMPARE(#0(),#0()) -> c7() #COMPARE(#0(),#neg(z0)) -> c8() #COMPARE(#0(),#pos(z0)) -> c9() #COMPARE(#0(),#s(z0)) -> c10() #COMPARE(#neg(z0),#0()) -> c11() #COMPARE(#neg(z0),#neg(z1)) -> c12(#COMPARE(z1,z0)) #COMPARE(#neg(z0),#pos(z1)) -> c13() #COMPARE(#pos(z0),#0()) -> c14() #COMPARE(#pos(z0),#neg(z1)) -> c15() #COMPARE(#pos(z0),#pos(z1)) -> c16(#COMPARE(z0,z1)) #COMPARE(#s(z0),#0()) -> c17() #COMPARE(#s(z0),#s(z1)) -> c18(#COMPARE(z0,z1)) #EQ'(#0(),#0()) -> c19() #EQ'(#0(),#neg(z0)) -> c20() #EQ'(#0(),#pos(z0)) -> c21() #EQ'(#0(),#s(z0)) -> c22() #EQ'(#neg(z0),#0()) -> c23() #EQ'(#neg(z0),#neg(z1)) -> c24(#EQ'(z0,z1)) #EQ'(#neg(z0),#pos(z1)) -> c25() #EQ'(#pos(z0),#0()) -> c26() #EQ'(#pos(z0),#neg(z1)) -> c27() #EQ'(#pos(z0),#pos(z1)) -> c28(#EQ'(z0,z1)) #EQ'(#s(z0),#0()) -> c29() #EQ'(#s(z0),#s(z1)) -> c30(#EQ'(z0,z1)) #EQ'(::(z0,z1),::(z2,z3)) -> c31(#AND(#eq(z0,z2),#eq(z1,z3)),#EQ'(z0,z2)) #EQ'(::(z0,z1),::(z2,z3)) -> c32(#AND(#eq(z0,z2),#eq(z1,z3)),#EQ'(z1,z3)) #EQ'(::(z0,z1),nil()) -> c33() #EQ'(nil(),::(z0,z1)) -> c34() #EQ'(nil(),nil()) -> c35() #EQUAL(z0,z1) -> c40(#EQ'(z0,z1)) #LESS(z0,z1) -> c41(#CKLT(#compare(z0,z1)),#COMPARE(z0,z1)) #OR(#false(),#false()) -> c36() #OR(#false(),#true()) -> c37() #OR(#true(),#false()) -> c38() #OR(#true(),#true()) -> c39() #and(#false(),#false()) -> #false() #and(#false(),#true()) -> #false() #and(#true(),#false()) -> #false() #and(#true(),#true()) -> #true() #cklt(#EQ()) -> #false() #cklt(#GT()) -> #false() #cklt(#LT()) -> #true() #compare(#0(),#0()) -> #EQ() #compare(#0(),#neg(z0)) -> #GT() #compare(#0(),#pos(z0)) -> #LT() #compare(#0(),#s(z0)) -> #LT() #compare(#neg(z0),#0()) -> #LT() #compare(#neg(z0),#neg(z1)) -> #compare(z1,z0) #compare(#neg(z0),#pos(z1)) -> #LT() #compare(#pos(z0),#0()) -> #GT() #compare(#pos(z0),#neg(z1)) -> #GT() #compare(#pos(z0),#pos(z1)) -> #compare(z0,z1) #compare(#s(z0),#0()) -> #GT() #compare(#s(z0),#s(z1)) -> #compare(z0,z1) #eq(#0(),#0()) -> #true() #eq(#0(),#neg(z0)) -> #false() #eq(#0(),#pos(z0)) -> #false() #eq(#0(),#s(z0)) -> #false() #eq(#neg(z0),#0()) -> #false() #eq(#neg(z0),#neg(z1)) -> #eq(z0,z1) #eq(#neg(z0),#pos(z1)) -> #false() #eq(#pos(z0),#0()) -> #false() #eq(#pos(z0),#neg(z1)) -> #false() #eq(#pos(z0),#pos(z1)) -> #eq(z0,z1) #eq(#s(z0),#0()) -> #false() #eq(#s(z0),#s(z1)) -> #eq(z0,z1) #eq(::(z0,z1),::(z2,z3)) -> #and(#eq(z0,z2),#eq(z1,z3)) #eq(::(z0,z1),nil()) -> #false() #eq(nil(),::(z0,z1)) -> #false() #eq(nil(),nil()) -> #true() #equal(z0,z1) -> #eq(z0,z1) #less(z0,z1) -> #cklt(#compare(z0,z1)) #or(#false(),#false()) -> #false() #or(#false(),#true()) -> #true() #or(#true(),#false()) -> #true() #or(#true(),#true()) -> #true() AND(z0,z1) -> c42(#AND(z0,z1)) INSERT(z0,z1) -> c43(INSERT#1(z1,z0)) INSERT#1(::(z0,z1),z2) -> c44(INSERT#2(leq(z2,z0),z2,z0,z1),LEQ(z2,z0)) INSERT#1(nil(),z0) -> c45() INSERT#2(#false(),z0,z1,z2) -> c46(INSERT(z0,z2)) INSERT#2(#true(),z0,z1,z2) -> c47() ISORTLIST(z0) -> c48(ISORTLIST#1(z0)) ISORTLIST#1(::(z0,z1)) -> c49(INSERT(z0,isortlist(z1)),ISORTLIST(z1)) ISORTLIST#1(nil()) -> c50() LEQ(z0,z1) -> c51(LEQ#1(z0,z1)) LEQ#1(::(z0,z1),z2) -> c52(LEQ#2(z2,z0,z1)) LEQ#1(nil(),z0) -> c53() LEQ#2(::(z0,z1),z2,z3) -> c54(OR(#less(z2,z0),and(#equal(z2,z0),leq(z3,z1))),#LESS(z2,z0)) LEQ#2(::(z0,z1),z2,z3) -> c55(OR(#less(z2,z0),and(#equal(z2,z0),leq(z3,z1))) ,AND(#equal(z2,z0),leq(z3,z1)) ,#EQUAL(z2,z0)) LEQ#2(::(z0,z1),z2,z3) -> c56(OR(#less(z2,z0),and(#equal(z2,z0),leq(z3,z1))) ,AND(#equal(z2,z0),leq(z3,z1)) ,LEQ(z3,z1)) LEQ#2(nil(),z0,z1) -> c57() OR(z0,z1) -> c58(#OR(z0,z1)) and(z0,z1) -> #and(z0,z1) insert(z0,z1) -> insert#1(z1,z0) insert#1(::(z0,z1),z2) -> insert#2(leq(z2,z0),z2,z0,z1) insert#1(nil(),z0) -> ::(z0,nil()) insert#2(#false(),z0,z1,z2) -> ::(z1,insert(z0,z2)) insert#2(#true(),z0,z1,z2) -> ::(z0,::(z1,z2)) isortlist(z0) -> isortlist#1(z0) isortlist#1(::(z0,z1)) -> insert(z0,isortlist(z1)) isortlist#1(nil()) -> nil() leq(z0,z1) -> leq#1(z0,z1) leq#1(::(z0,z1),z2) -> leq#2(z2,z0,z1) leq#1(nil(),z0) -> #true() leq#2(::(z0,z1),z2,z3) -> or(#less(z2,z0),and(#equal(z2,z0),leq(z3,z1))) leq#2(nil(),z0,z1) -> #false() or(z0,z1) -> #or(z0,z1) - Signature: {#AND/2,#CKLT/1,#COMPARE/2,#EQ'/2,#EQUAL/2,#LESS/2,#OR/2,#and/2,#cklt/1,#compare/2,#eq/2,#equal/2,#less/2 ,#or/2,AND/2,INSERT/2,INSERT#1/2,INSERT#2/4,ISORTLIST/1,ISORTLIST#1/1,LEQ/2,LEQ#1/2,LEQ#2/3,OR/2,and/2 ,insert/2,insert#1/2,insert#2/4,isortlist/1,isortlist#1/1,leq/2,leq#1/2,leq#2/3,or/2,#AND#/2,#CKLT#/1 ,#COMPARE#/2,#EQ'#/2,#EQUAL#/2,#LESS#/2,#OR#/2,#and#/2,#cklt#/1,#compare#/2,#eq#/2,#equal#/2,#less#/2,#or#/2 ,AND#/2,INSERT#/2,INSERT#1#/2,INSERT#2#/4,ISORTLIST#/1,ISORTLIST#1#/1,LEQ#/2,LEQ#1#/2,LEQ#2#/3,OR#/2,and#/2 ,insert#/2,insert#1#/2,insert#2#/4,isortlist#/1,isortlist#1#/1,leq#/2,leq#1#/2,leq#2#/3,or#/2} / {#0/0,#EQ/0 ,#GT/0,#LT/0,#false/0,#neg/1,#pos/1,#s/1,#true/0,::/2,c/0,c1/0,c10/0,c11/0,c12/1,c13/0,c14/0,c15/0,c16/1 ,c17/0,c18/1,c19/0,c2/0,c20/0,c21/0,c22/0,c23/0,c24/1,c25/0,c26/0,c27/0,c28/1,c29/0,c3/0,c30/1,c31/2,c32/2 ,c33/0,c34/0,c35/0,c36/0,c37/0,c38/0,c39/0,c4/0,c40/1,c41/2,c42/1,c43/1,c44/2,c45/0,c46/1,c47/0,c48/1,c49/2 ,c5/0,c50/0,c51/1,c52/1,c53/0,c54/2,c55/3,c56/3,c57/0,c58/1,c6/0,c7/0,c8/0,c9/0,nil/0,c_1/1,c_2/3,c_3/1 ,c_4/1,c_5/3,c_6/0,c_7/1,c_8/0,c_9/1,c_10/3,c_11/0,c_12/1,c_13/1,c_14/0,c_15/6,c_16/9,c_17/9,c_18/0,c_19/1 ,c_20/0,c_21/0,c_22/0,c_23/0,c_24/0,c_25/0,c_26/0,c_27/0,c_28/0,c_29/0,c_30/0,c_31/0,c_32/1,c_33/0,c_34/0 ,c_35/0,c_36/1,c_37/0,c_38/1,c_39/0,c_40/0,c_41/0,c_42/0,c_43/0,c_44/1,c_45/0,c_46/0,c_47/0,c_48/1,c_49/0 ,c_50/1,c_51/4,c_52/4,c_53/0,c_54/0,c_55/0,c_56/0,c_57/0,c_58/0,c_59/0,c_60/0,c_61/0,c_62/0,c_63/0,c_64/0 ,c_65/0,c_66/0,c_67/0,c_68/0,c_69/0,c_70/0,c_71/0,c_72/1,c_73/0,c_74/0,c_75/0,c_76/1,c_77/0,c_78/1,c_79/0 ,c_80/0,c_81/0,c_82/0,c_83/0,c_84/1,c_85/0,c_86/0,c_87/0,c_88/1,c_89/0,c_90/1,c_91/3,c_92/0,c_93/0,c_94/0 ,c_95/1,c_96/2,c_97/0,c_98/0,c_99/0,c_100/0,c_101/1,c_102/1,c_103/2,c_104/0,c_105/1,c_106/0,c_107/1,c_108/2 ,c_109/0,c_110/1,c_111/1,c_112/0,c_113/5,c_114/0,c_115/1} - Obligation: innermost runtime complexity wrt. defined symbols {#AND#,#CKLT#,#COMPARE#,#EQ'#,#EQUAL#,#LESS#,#OR#,#and# ,#cklt#,#compare#,#eq#,#equal#,#less#,#or#,AND#,INSERT#,INSERT#1#,INSERT#2#,ISORTLIST#,ISORTLIST#1#,LEQ# ,LEQ#1#,LEQ#2#,OR#,and#,insert#,insert#1#,insert#2#,isortlist#,isortlist#1#,leq#,leq#1#,leq#2# ,or#} and constructors {#0,#EQ,#GT,#LT,#false,#neg,#pos,#s,#true,::,c,c1,c10,c11,c12,c13,c14,c15,c16,c17,c18 ,c19,c2,c20,c21,c22,c23,c24,c25,c26,c27,c28,c29,c3,c30,c31,c32,c33,c34,c35,c36,c37,c38,c39,c4,c40,c41,c42 ,c43,c44,c45,c46,c47,c48,c49,c5,c50,c51,c52,c53,c54,c55,c56,c57,c58,c6,c7,c8,c9,nil} + Applied Processor: PredecessorEstimation {onSelection = all simple predecessor estimation selector} + Details: We estimate the number of application of {8,9} by application of Pre({8,9}) = {7}. Here rules are labelled as follows: 1: INSERT#(z0,z1) -> c_4(INSERT#1#(z1,z0)) 2: INSERT#1#(::(z0,z1),z2) -> c_5(INSERT#2#(leq(z2,z0),z2,z0,z1),leq#(z2,z0),LEQ#(z2,z0)) 3: INSERT#2#(#false(),z0,z1,z2) -> c_7(INSERT#(z0,z2)) 4: ISORTLIST#(z0) -> c_9(ISORTLIST#1#(z0)) 5: ISORTLIST#1#(::(z0,z1)) -> c_10(INSERT#(z0,isortlist(z1)),isortlist#(z1),ISORTLIST#(z1)) 6: LEQ#(z0,z1) -> c_12(LEQ#1#(z0,z1)) 7: LEQ#1#(::(z0,z1),z2) -> c_13(LEQ#2#(z2,z0,z1)) 8: LEQ#2#(::(z0,z1),z2,z3) -> c_15(OR#(#less(z2,z0),and(#equal(z2,z0),leq(z3,z1))) ,#less#(z2,z0) ,and#(#equal(z2,z0),leq(z3,z1)) ,#equal#(z2,z0) ,leq#(z3,z1) ,#LESS#(z2,z0)) 9: LEQ#2#(::(z0,z1),z2,z3) -> c_16(OR#(#less(z2,z0),and(#equal(z2,z0),leq(z3,z1))) ,#less#(z2,z0) ,and#(#equal(z2,z0),leq(z3,z1)) ,#equal#(z2,z0) ,leq#(z3,z1) ,AND#(#equal(z2,z0),leq(z3,z1)) ,#equal#(z2,z0) ,leq#(z3,z1) ,#EQUAL#(z2,z0)) 10: LEQ#2#(::(z0,z1),z2,z3) -> c_17(OR#(#less(z2,z0),and(#equal(z2,z0),leq(z3,z1))) ,#less#(z2,z0) ,and#(#equal(z2,z0),leq(z3,z1)) ,#equal#(z2,z0) ,leq#(z3,z1) ,AND#(#equal(z2,z0),leq(z3,z1)) ,#equal#(z2,z0) ,leq#(z3,z1) ,LEQ#(z3,z1)) 11: #AND#(#false(),#false()) -> c_20() 12: #AND#(#false(),#true()) -> c_21() 13: #AND#(#true(),#false()) -> c_22() 14: #AND#(#true(),#true()) -> c_23() 15: #CKLT#(#EQ()) -> c_24() 16: #CKLT#(#GT()) -> c_25() 17: #CKLT#(#LT()) -> c_26() 18: #COMPARE#(#0(),#0()) -> c_27() 19: #COMPARE#(#0(),#neg(z0)) -> c_28() 20: #COMPARE#(#0(),#pos(z0)) -> c_29() 21: #COMPARE#(#0(),#s(z0)) -> c_30() 22: #COMPARE#(#neg(z0),#0()) -> c_31() 23: #COMPARE#(#neg(z0),#neg(z1)) -> c_32(#COMPARE#(z1,z0)) 24: #COMPARE#(#neg(z0),#pos(z1)) -> c_33() 25: #COMPARE#(#pos(z0),#0()) -> c_34() 26: #COMPARE#(#pos(z0),#neg(z1)) -> c_35() 27: #COMPARE#(#pos(z0),#pos(z1)) -> c_36(#COMPARE#(z0,z1)) 28: #COMPARE#(#s(z0),#0()) -> c_37() 29: #COMPARE#(#s(z0),#s(z1)) -> c_38(#COMPARE#(z0,z1)) 30: #EQ'#(#0(),#0()) -> c_39() 31: #EQ'#(#0(),#neg(z0)) -> c_40() 32: #EQ'#(#0(),#pos(z0)) -> c_41() 33: #EQ'#(#0(),#s(z0)) -> c_42() 34: #EQ'#(#neg(z0),#0()) -> c_43() 35: #EQ'#(#neg(z0),#neg(z1)) -> c_44(#EQ'#(z0,z1)) 36: #EQ'#(#neg(z0),#pos(z1)) -> c_45() 37: #EQ'#(#pos(z0),#0()) -> c_46() 38: #EQ'#(#pos(z0),#neg(z1)) -> c_47() 39: #EQ'#(#pos(z0),#pos(z1)) -> c_48(#EQ'#(z0,z1)) 40: #EQ'#(#s(z0),#0()) -> c_49() 41: #EQ'#(#s(z0),#s(z1)) -> c_50(#EQ'#(z0,z1)) 42: #EQ'#(::(z0,z1),::(z2,z3)) -> c_51(#AND#(#eq(z0,z2),#eq(z1,z3)),#eq#(z0,z2),#eq#(z1,z3),#EQ'#(z0,z2)) 43: #EQ'#(::(z0,z1),::(z2,z3)) -> c_52(#AND#(#eq(z0,z2),#eq(z1,z3)),#eq#(z0,z2),#eq#(z1,z3),#EQ'#(z1,z3)) 44: #EQ'#(::(z0,z1),nil()) -> c_53() 45: #EQ'#(nil(),::(z0,z1)) -> c_54() 46: #EQ'#(nil(),nil()) -> c_55() 47: #EQUAL#(z0,z1) -> c_1(#EQ'#(z0,z1)) 48: #LESS#(z0,z1) -> c_2(#CKLT#(#compare(z0,z1)),#compare#(z0,z1),#COMPARE#(z0,z1)) 49: #OR#(#false(),#false()) -> c_56() 50: #OR#(#false(),#true()) -> c_57() 51: #OR#(#true(),#false()) -> c_58() 52: #OR#(#true(),#true()) -> c_59() 53: #and#(#false(),#false()) -> c_60() 54: #and#(#false(),#true()) -> c_61() 55: #and#(#true(),#false()) -> c_62() 56: #and#(#true(),#true()) -> c_63() 57: #cklt#(#EQ()) -> c_64() 58: #cklt#(#GT()) -> c_65() 59: #cklt#(#LT()) -> c_66() 60: #compare#(#0(),#0()) -> c_67() 61: #compare#(#0(),#neg(z0)) -> c_68() 62: #compare#(#0(),#pos(z0)) -> c_69() 63: #compare#(#0(),#s(z0)) -> c_70() 64: #compare#(#neg(z0),#0()) -> c_71() 65: #compare#(#neg(z0),#neg(z1)) -> c_72(#compare#(z1,z0)) 66: #compare#(#neg(z0),#pos(z1)) -> c_73() 67: #compare#(#pos(z0),#0()) -> c_74() 68: #compare#(#pos(z0),#neg(z1)) -> c_75() 69: #compare#(#pos(z0),#pos(z1)) -> c_76(#compare#(z0,z1)) 70: #compare#(#s(z0),#0()) -> c_77() 71: #compare#(#s(z0),#s(z1)) -> c_78(#compare#(z0,z1)) 72: #eq#(#0(),#0()) -> c_79() 73: #eq#(#0(),#neg(z0)) -> c_80() 74: #eq#(#0(),#pos(z0)) -> c_81() 75: #eq#(#0(),#s(z0)) -> c_82() 76: #eq#(#neg(z0),#0()) -> c_83() 77: #eq#(#neg(z0),#neg(z1)) -> c_84(#eq#(z0,z1)) 78: #eq#(#neg(z0),#pos(z1)) -> c_85() 79: #eq#(#pos(z0),#0()) -> c_86() 80: #eq#(#pos(z0),#neg(z1)) -> c_87() 81: #eq#(#pos(z0),#pos(z1)) -> c_88(#eq#(z0,z1)) 82: #eq#(#s(z0),#0()) -> c_89() 83: #eq#(#s(z0),#s(z1)) -> c_90(#eq#(z0,z1)) 84: #eq#(::(z0,z1),::(z2,z3)) -> c_91(#and#(#eq(z0,z2),#eq(z1,z3)),#eq#(z0,z2),#eq#(z1,z3)) 85: #eq#(::(z0,z1),nil()) -> c_92() 86: #eq#(nil(),::(z0,z1)) -> c_93() 87: #eq#(nil(),nil()) -> c_94() 88: #equal#(z0,z1) -> c_95(#eq#(z0,z1)) 89: #less#(z0,z1) -> c_96(#cklt#(#compare(z0,z1)),#compare#(z0,z1)) 90: #or#(#false(),#false()) -> c_97() 91: #or#(#false(),#true()) -> c_98() 92: #or#(#true(),#false()) -> c_99() 93: #or#(#true(),#true()) -> c_100() 94: AND#(z0,z1) -> c_3(#AND#(z0,z1)) 95: INSERT#1#(nil(),z0) -> c_6() 96: INSERT#2#(#true(),z0,z1,z2) -> c_8() 97: ISORTLIST#1#(nil()) -> c_11() 98: LEQ#1#(nil(),z0) -> c_14() 99: LEQ#2#(nil(),z0,z1) -> c_18() 100: OR#(z0,z1) -> c_19(#OR#(z0,z1)) 101: and#(z0,z1) -> c_101(#and#(z0,z1)) 102: insert#(z0,z1) -> c_102(insert#1#(z1,z0)) 103: insert#1#(::(z0,z1),z2) -> c_103(insert#2#(leq(z2,z0),z2,z0,z1),leq#(z2,z0)) 104: insert#1#(nil(),z0) -> c_104() 105: insert#2#(#false(),z0,z1,z2) -> c_105(insert#(z0,z2)) 106: insert#2#(#true(),z0,z1,z2) -> c_106() 107: isortlist#(z0) -> c_107(isortlist#1#(z0)) 108: isortlist#1#(::(z0,z1)) -> c_108(insert#(z0,isortlist(z1)),isortlist#(z1)) 109: isortlist#1#(nil()) -> c_109() 110: leq#(z0,z1) -> c_110(leq#1#(z0,z1)) 111: leq#1#(::(z0,z1),z2) -> c_111(leq#2#(z2,z0,z1)) 112: leq#1#(nil(),z0) -> c_112() 113: leq#2#(::(z0,z1),z2,z3) -> c_113(or#(#less(z2,z0),and(#equal(z2,z0),leq(z3,z1))) ,#less#(z2,z0) ,and#(#equal(z2,z0),leq(z3,z1)) ,#equal#(z2,z0) ,leq#(z3,z1)) 114: leq#2#(nil(),z0,z1) -> c_114() 115: or#(z0,z1) -> c_115(#or#(z0,z1)) * Step 5: RemoveWeakSuffixes. WORST_CASE(?,O(n^3)) + Considered Problem: - Strict DPs: INSERT#(z0,z1) -> c_4(INSERT#1#(z1,z0)) INSERT#1#(::(z0,z1),z2) -> c_5(INSERT#2#(leq(z2,z0),z2,z0,z1),leq#(z2,z0),LEQ#(z2,z0)) INSERT#2#(#false(),z0,z1,z2) -> c_7(INSERT#(z0,z2)) ISORTLIST#(z0) -> c_9(ISORTLIST#1#(z0)) ISORTLIST#1#(::(z0,z1)) -> c_10(INSERT#(z0,isortlist(z1)),isortlist#(z1),ISORTLIST#(z1)) LEQ#(z0,z1) -> c_12(LEQ#1#(z0,z1)) LEQ#1#(::(z0,z1),z2) -> c_13(LEQ#2#(z2,z0,z1)) LEQ#2#(::(z0,z1),z2,z3) -> c_17(OR#(#less(z2,z0),and(#equal(z2,z0),leq(z3,z1))) ,#less#(z2,z0) ,and#(#equal(z2,z0),leq(z3,z1)) ,#equal#(z2,z0) ,leq#(z3,z1) ,AND#(#equal(z2,z0),leq(z3,z1)) ,#equal#(z2,z0) ,leq#(z3,z1) ,LEQ#(z3,z1)) - Weak DPs: #AND#(#false(),#false()) -> c_20() #AND#(#false(),#true()) -> c_21() #AND#(#true(),#false()) -> c_22() #AND#(#true(),#true()) -> c_23() #CKLT#(#EQ()) -> c_24() #CKLT#(#GT()) -> c_25() #CKLT#(#LT()) -> c_26() #COMPARE#(#0(),#0()) -> c_27() #COMPARE#(#0(),#neg(z0)) -> c_28() #COMPARE#(#0(),#pos(z0)) -> c_29() #COMPARE#(#0(),#s(z0)) -> c_30() #COMPARE#(#neg(z0),#0()) -> c_31() #COMPARE#(#neg(z0),#neg(z1)) -> c_32(#COMPARE#(z1,z0)) #COMPARE#(#neg(z0),#pos(z1)) -> c_33() #COMPARE#(#pos(z0),#0()) -> c_34() #COMPARE#(#pos(z0),#neg(z1)) -> c_35() #COMPARE#(#pos(z0),#pos(z1)) -> c_36(#COMPARE#(z0,z1)) #COMPARE#(#s(z0),#0()) -> c_37() #COMPARE#(#s(z0),#s(z1)) -> c_38(#COMPARE#(z0,z1)) #EQ'#(#0(),#0()) -> c_39() #EQ'#(#0(),#neg(z0)) -> c_40() #EQ'#(#0(),#pos(z0)) -> c_41() #EQ'#(#0(),#s(z0)) -> c_42() #EQ'#(#neg(z0),#0()) -> c_43() #EQ'#(#neg(z0),#neg(z1)) -> c_44(#EQ'#(z0,z1)) #EQ'#(#neg(z0),#pos(z1)) -> c_45() #EQ'#(#pos(z0),#0()) -> c_46() #EQ'#(#pos(z0),#neg(z1)) -> c_47() #EQ'#(#pos(z0),#pos(z1)) -> c_48(#EQ'#(z0,z1)) #EQ'#(#s(z0),#0()) -> c_49() #EQ'#(#s(z0),#s(z1)) -> c_50(#EQ'#(z0,z1)) #EQ'#(::(z0,z1),::(z2,z3)) -> c_51(#AND#(#eq(z0,z2),#eq(z1,z3)),#eq#(z0,z2),#eq#(z1,z3),#EQ'#(z0,z2)) #EQ'#(::(z0,z1),::(z2,z3)) -> c_52(#AND#(#eq(z0,z2),#eq(z1,z3)),#eq#(z0,z2),#eq#(z1,z3),#EQ'#(z1,z3)) #EQ'#(::(z0,z1),nil()) -> c_53() #EQ'#(nil(),::(z0,z1)) -> c_54() #EQ'#(nil(),nil()) -> c_55() #EQUAL#(z0,z1) -> c_1(#EQ'#(z0,z1)) #LESS#(z0,z1) -> c_2(#CKLT#(#compare(z0,z1)),#compare#(z0,z1),#COMPARE#(z0,z1)) #OR#(#false(),#false()) -> c_56() #OR#(#false(),#true()) -> c_57() #OR#(#true(),#false()) -> c_58() #OR#(#true(),#true()) -> c_59() #and#(#false(),#false()) -> c_60() #and#(#false(),#true()) -> c_61() #and#(#true(),#false()) -> c_62() #and#(#true(),#true()) -> c_63() #cklt#(#EQ()) -> c_64() #cklt#(#GT()) -> c_65() #cklt#(#LT()) -> c_66() #compare#(#0(),#0()) -> c_67() #compare#(#0(),#neg(z0)) -> c_68() #compare#(#0(),#pos(z0)) -> c_69() #compare#(#0(),#s(z0)) -> c_70() #compare#(#neg(z0),#0()) -> c_71() #compare#(#neg(z0),#neg(z1)) -> c_72(#compare#(z1,z0)) #compare#(#neg(z0),#pos(z1)) -> c_73() #compare#(#pos(z0),#0()) -> c_74() #compare#(#pos(z0),#neg(z1)) -> c_75() #compare#(#pos(z0),#pos(z1)) -> c_76(#compare#(z0,z1)) #compare#(#s(z0),#0()) -> c_77() #compare#(#s(z0),#s(z1)) -> c_78(#compare#(z0,z1)) #eq#(#0(),#0()) -> c_79() #eq#(#0(),#neg(z0)) -> c_80() #eq#(#0(),#pos(z0)) -> c_81() #eq#(#0(),#s(z0)) -> c_82() #eq#(#neg(z0),#0()) -> c_83() #eq#(#neg(z0),#neg(z1)) -> c_84(#eq#(z0,z1)) #eq#(#neg(z0),#pos(z1)) -> c_85() #eq#(#pos(z0),#0()) -> c_86() #eq#(#pos(z0),#neg(z1)) -> c_87() #eq#(#pos(z0),#pos(z1)) -> c_88(#eq#(z0,z1)) #eq#(#s(z0),#0()) -> c_89() #eq#(#s(z0),#s(z1)) -> c_90(#eq#(z0,z1)) #eq#(::(z0,z1),::(z2,z3)) -> c_91(#and#(#eq(z0,z2),#eq(z1,z3)),#eq#(z0,z2),#eq#(z1,z3)) #eq#(::(z0,z1),nil()) -> c_92() #eq#(nil(),::(z0,z1)) -> c_93() #eq#(nil(),nil()) -> c_94() #equal#(z0,z1) -> c_95(#eq#(z0,z1)) #less#(z0,z1) -> c_96(#cklt#(#compare(z0,z1)),#compare#(z0,z1)) #or#(#false(),#false()) -> c_97() #or#(#false(),#true()) -> c_98() #or#(#true(),#false()) -> c_99() #or#(#true(),#true()) -> c_100() AND#(z0,z1) -> c_3(#AND#(z0,z1)) INSERT#1#(nil(),z0) -> c_6() INSERT#2#(#true(),z0,z1,z2) -> c_8() ISORTLIST#1#(nil()) -> c_11() LEQ#1#(nil(),z0) -> c_14() LEQ#2#(::(z0,z1),z2,z3) -> c_15(OR#(#less(z2,z0),and(#equal(z2,z0),leq(z3,z1))) ,#less#(z2,z0) ,and#(#equal(z2,z0),leq(z3,z1)) ,#equal#(z2,z0) ,leq#(z3,z1) ,#LESS#(z2,z0)) LEQ#2#(::(z0,z1),z2,z3) -> c_16(OR#(#less(z2,z0),and(#equal(z2,z0),leq(z3,z1))) ,#less#(z2,z0) ,and#(#equal(z2,z0),leq(z3,z1)) ,#equal#(z2,z0) ,leq#(z3,z1) ,AND#(#equal(z2,z0),leq(z3,z1)) ,#equal#(z2,z0) ,leq#(z3,z1) ,#EQUAL#(z2,z0)) LEQ#2#(nil(),z0,z1) -> c_18() OR#(z0,z1) -> c_19(#OR#(z0,z1)) and#(z0,z1) -> c_101(#and#(z0,z1)) insert#(z0,z1) -> c_102(insert#1#(z1,z0)) insert#1#(::(z0,z1),z2) -> c_103(insert#2#(leq(z2,z0),z2,z0,z1),leq#(z2,z0)) insert#1#(nil(),z0) -> c_104() insert#2#(#false(),z0,z1,z2) -> c_105(insert#(z0,z2)) insert#2#(#true(),z0,z1,z2) -> c_106() isortlist#(z0) -> c_107(isortlist#1#(z0)) isortlist#1#(::(z0,z1)) -> c_108(insert#(z0,isortlist(z1)),isortlist#(z1)) isortlist#1#(nil()) -> c_109() leq#(z0,z1) -> c_110(leq#1#(z0,z1)) leq#1#(::(z0,z1),z2) -> c_111(leq#2#(z2,z0,z1)) leq#1#(nil(),z0) -> c_112() leq#2#(::(z0,z1),z2,z3) -> c_113(or#(#less(z2,z0),and(#equal(z2,z0),leq(z3,z1))) ,#less#(z2,z0) ,and#(#equal(z2,z0),leq(z3,z1)) ,#equal#(z2,z0) ,leq#(z3,z1)) leq#2#(nil(),z0,z1) -> c_114() or#(z0,z1) -> c_115(#or#(z0,z1)) - Weak TRS: #AND(#false(),#false()) -> c() #AND(#false(),#true()) -> c1() #AND(#true(),#false()) -> c2() #AND(#true(),#true()) -> c3() #CKLT(#EQ()) -> c4() #CKLT(#GT()) -> c5() #CKLT(#LT()) -> c6() #COMPARE(#0(),#0()) -> c7() #COMPARE(#0(),#neg(z0)) -> c8() #COMPARE(#0(),#pos(z0)) -> c9() #COMPARE(#0(),#s(z0)) -> c10() #COMPARE(#neg(z0),#0()) -> c11() #COMPARE(#neg(z0),#neg(z1)) -> c12(#COMPARE(z1,z0)) #COMPARE(#neg(z0),#pos(z1)) -> c13() #COMPARE(#pos(z0),#0()) -> c14() #COMPARE(#pos(z0),#neg(z1)) -> c15() #COMPARE(#pos(z0),#pos(z1)) -> c16(#COMPARE(z0,z1)) #COMPARE(#s(z0),#0()) -> c17() #COMPARE(#s(z0),#s(z1)) -> c18(#COMPARE(z0,z1)) #EQ'(#0(),#0()) -> c19() #EQ'(#0(),#neg(z0)) -> c20() #EQ'(#0(),#pos(z0)) -> c21() #EQ'(#0(),#s(z0)) -> c22() #EQ'(#neg(z0),#0()) -> c23() #EQ'(#neg(z0),#neg(z1)) -> c24(#EQ'(z0,z1)) #EQ'(#neg(z0),#pos(z1)) -> c25() #EQ'(#pos(z0),#0()) -> c26() #EQ'(#pos(z0),#neg(z1)) -> c27() #EQ'(#pos(z0),#pos(z1)) -> c28(#EQ'(z0,z1)) #EQ'(#s(z0),#0()) -> c29() #EQ'(#s(z0),#s(z1)) -> c30(#EQ'(z0,z1)) #EQ'(::(z0,z1),::(z2,z3)) -> c31(#AND(#eq(z0,z2),#eq(z1,z3)),#EQ'(z0,z2)) #EQ'(::(z0,z1),::(z2,z3)) -> c32(#AND(#eq(z0,z2),#eq(z1,z3)),#EQ'(z1,z3)) #EQ'(::(z0,z1),nil()) -> c33() #EQ'(nil(),::(z0,z1)) -> c34() #EQ'(nil(),nil()) -> c35() #EQUAL(z0,z1) -> c40(#EQ'(z0,z1)) #LESS(z0,z1) -> c41(#CKLT(#compare(z0,z1)),#COMPARE(z0,z1)) #OR(#false(),#false()) -> c36() #OR(#false(),#true()) -> c37() #OR(#true(),#false()) -> c38() #OR(#true(),#true()) -> c39() #and(#false(),#false()) -> #false() #and(#false(),#true()) -> #false() #and(#true(),#false()) -> #false() #and(#true(),#true()) -> #true() #cklt(#EQ()) -> #false() #cklt(#GT()) -> #false() #cklt(#LT()) -> #true() #compare(#0(),#0()) -> #EQ() #compare(#0(),#neg(z0)) -> #GT() #compare(#0(),#pos(z0)) -> #LT() #compare(#0(),#s(z0)) -> #LT() #compare(#neg(z0),#0()) -> #LT() #compare(#neg(z0),#neg(z1)) -> #compare(z1,z0) #compare(#neg(z0),#pos(z1)) -> #LT() #compare(#pos(z0),#0()) -> #GT() #compare(#pos(z0),#neg(z1)) -> #GT() #compare(#pos(z0),#pos(z1)) -> #compare(z0,z1) #compare(#s(z0),#0()) -> #GT() #compare(#s(z0),#s(z1)) -> #compare(z0,z1) #eq(#0(),#0()) -> #true() #eq(#0(),#neg(z0)) -> #false() #eq(#0(),#pos(z0)) -> #false() #eq(#0(),#s(z0)) -> #false() #eq(#neg(z0),#0()) -> #false() #eq(#neg(z0),#neg(z1)) -> #eq(z0,z1) #eq(#neg(z0),#pos(z1)) -> #false() #eq(#pos(z0),#0()) -> #false() #eq(#pos(z0),#neg(z1)) -> #false() #eq(#pos(z0),#pos(z1)) -> #eq(z0,z1) #eq(#s(z0),#0()) -> #false() #eq(#s(z0),#s(z1)) -> #eq(z0,z1) #eq(::(z0,z1),::(z2,z3)) -> #and(#eq(z0,z2),#eq(z1,z3)) #eq(::(z0,z1),nil()) -> #false() #eq(nil(),::(z0,z1)) -> #false() #eq(nil(),nil()) -> #true() #equal(z0,z1) -> #eq(z0,z1) #less(z0,z1) -> #cklt(#compare(z0,z1)) #or(#false(),#false()) -> #false() #or(#false(),#true()) -> #true() #or(#true(),#false()) -> #true() #or(#true(),#true()) -> #true() AND(z0,z1) -> c42(#AND(z0,z1)) INSERT(z0,z1) -> c43(INSERT#1(z1,z0)) INSERT#1(::(z0,z1),z2) -> c44(INSERT#2(leq(z2,z0),z2,z0,z1),LEQ(z2,z0)) INSERT#1(nil(),z0) -> c45() INSERT#2(#false(),z0,z1,z2) -> c46(INSERT(z0,z2)) INSERT#2(#true(),z0,z1,z2) -> c47() ISORTLIST(z0) -> c48(ISORTLIST#1(z0)) ISORTLIST#1(::(z0,z1)) -> c49(INSERT(z0,isortlist(z1)),ISORTLIST(z1)) ISORTLIST#1(nil()) -> c50() LEQ(z0,z1) -> c51(LEQ#1(z0,z1)) LEQ#1(::(z0,z1),z2) -> c52(LEQ#2(z2,z0,z1)) LEQ#1(nil(),z0) -> c53() LEQ#2(::(z0,z1),z2,z3) -> c54(OR(#less(z2,z0),and(#equal(z2,z0),leq(z3,z1))),#LESS(z2,z0)) LEQ#2(::(z0,z1),z2,z3) -> c55(OR(#less(z2,z0),and(#equal(z2,z0),leq(z3,z1))) ,AND(#equal(z2,z0),leq(z3,z1)) ,#EQUAL(z2,z0)) LEQ#2(::(z0,z1),z2,z3) -> c56(OR(#less(z2,z0),and(#equal(z2,z0),leq(z3,z1))) ,AND(#equal(z2,z0),leq(z3,z1)) ,LEQ(z3,z1)) LEQ#2(nil(),z0,z1) -> c57() OR(z0,z1) -> c58(#OR(z0,z1)) and(z0,z1) -> #and(z0,z1) insert(z0,z1) -> insert#1(z1,z0) insert#1(::(z0,z1),z2) -> insert#2(leq(z2,z0),z2,z0,z1) insert#1(nil(),z0) -> ::(z0,nil()) insert#2(#false(),z0,z1,z2) -> ::(z1,insert(z0,z2)) insert#2(#true(),z0,z1,z2) -> ::(z0,::(z1,z2)) isortlist(z0) -> isortlist#1(z0) isortlist#1(::(z0,z1)) -> insert(z0,isortlist(z1)) isortlist#1(nil()) -> nil() leq(z0,z1) -> leq#1(z0,z1) leq#1(::(z0,z1),z2) -> leq#2(z2,z0,z1) leq#1(nil(),z0) -> #true() leq#2(::(z0,z1),z2,z3) -> or(#less(z2,z0),and(#equal(z2,z0),leq(z3,z1))) leq#2(nil(),z0,z1) -> #false() or(z0,z1) -> #or(z0,z1) - Signature: {#AND/2,#CKLT/1,#COMPARE/2,#EQ'/2,#EQUAL/2,#LESS/2,#OR/2,#and/2,#cklt/1,#compare/2,#eq/2,#equal/2,#less/2 ,#or/2,AND/2,INSERT/2,INSERT#1/2,INSERT#2/4,ISORTLIST/1,ISORTLIST#1/1,LEQ/2,LEQ#1/2,LEQ#2/3,OR/2,and/2 ,insert/2,insert#1/2,insert#2/4,isortlist/1,isortlist#1/1,leq/2,leq#1/2,leq#2/3,or/2,#AND#/2,#CKLT#/1 ,#COMPARE#/2,#EQ'#/2,#EQUAL#/2,#LESS#/2,#OR#/2,#and#/2,#cklt#/1,#compare#/2,#eq#/2,#equal#/2,#less#/2,#or#/2 ,AND#/2,INSERT#/2,INSERT#1#/2,INSERT#2#/4,ISORTLIST#/1,ISORTLIST#1#/1,LEQ#/2,LEQ#1#/2,LEQ#2#/3,OR#/2,and#/2 ,insert#/2,insert#1#/2,insert#2#/4,isortlist#/1,isortlist#1#/1,leq#/2,leq#1#/2,leq#2#/3,or#/2} / {#0/0,#EQ/0 ,#GT/0,#LT/0,#false/0,#neg/1,#pos/1,#s/1,#true/0,::/2,c/0,c1/0,c10/0,c11/0,c12/1,c13/0,c14/0,c15/0,c16/1 ,c17/0,c18/1,c19/0,c2/0,c20/0,c21/0,c22/0,c23/0,c24/1,c25/0,c26/0,c27/0,c28/1,c29/0,c3/0,c30/1,c31/2,c32/2 ,c33/0,c34/0,c35/0,c36/0,c37/0,c38/0,c39/0,c4/0,c40/1,c41/2,c42/1,c43/1,c44/2,c45/0,c46/1,c47/0,c48/1,c49/2 ,c5/0,c50/0,c51/1,c52/1,c53/0,c54/2,c55/3,c56/3,c57/0,c58/1,c6/0,c7/0,c8/0,c9/0,nil/0,c_1/1,c_2/3,c_3/1 ,c_4/1,c_5/3,c_6/0,c_7/1,c_8/0,c_9/1,c_10/3,c_11/0,c_12/1,c_13/1,c_14/0,c_15/6,c_16/9,c_17/9,c_18/0,c_19/1 ,c_20/0,c_21/0,c_22/0,c_23/0,c_24/0,c_25/0,c_26/0,c_27/0,c_28/0,c_29/0,c_30/0,c_31/0,c_32/1,c_33/0,c_34/0 ,c_35/0,c_36/1,c_37/0,c_38/1,c_39/0,c_40/0,c_41/0,c_42/0,c_43/0,c_44/1,c_45/0,c_46/0,c_47/0,c_48/1,c_49/0 ,c_50/1,c_51/4,c_52/4,c_53/0,c_54/0,c_55/0,c_56/0,c_57/0,c_58/0,c_59/0,c_60/0,c_61/0,c_62/0,c_63/0,c_64/0 ,c_65/0,c_66/0,c_67/0,c_68/0,c_69/0,c_70/0,c_71/0,c_72/1,c_73/0,c_74/0,c_75/0,c_76/1,c_77/0,c_78/1,c_79/0 ,c_80/0,c_81/0,c_82/0,c_83/0,c_84/1,c_85/0,c_86/0,c_87/0,c_88/1,c_89/0,c_90/1,c_91/3,c_92/0,c_93/0,c_94/0 ,c_95/1,c_96/2,c_97/0,c_98/0,c_99/0,c_100/0,c_101/1,c_102/1,c_103/2,c_104/0,c_105/1,c_106/0,c_107/1,c_108/2 ,c_109/0,c_110/1,c_111/1,c_112/0,c_113/5,c_114/0,c_115/1} - Obligation: innermost runtime complexity wrt. defined symbols {#AND#,#CKLT#,#COMPARE#,#EQ'#,#EQUAL#,#LESS#,#OR#,#and# ,#cklt#,#compare#,#eq#,#equal#,#less#,#or#,AND#,INSERT#,INSERT#1#,INSERT#2#,ISORTLIST#,ISORTLIST#1#,LEQ# ,LEQ#1#,LEQ#2#,OR#,and#,insert#,insert#1#,insert#2#,isortlist#,isortlist#1#,leq#,leq#1#,leq#2# ,or#} and constructors {#0,#EQ,#GT,#LT,#false,#neg,#pos,#s,#true,::,c,c1,c10,c11,c12,c13,c14,c15,c16,c17,c18 ,c19,c2,c20,c21,c22,c23,c24,c25,c26,c27,c28,c29,c3,c30,c31,c32,c33,c34,c35,c36,c37,c38,c39,c4,c40,c41,c42 ,c43,c44,c45,c46,c47,c48,c49,c5,c50,c51,c52,c53,c54,c55,c56,c57,c58,c6,c7,c8,c9,nil} + Applied Processor: RemoveWeakSuffixes + Details: Consider the dependency graph 1:S:INSERT#(z0,z1) -> c_4(INSERT#1#(z1,z0)) -->_1 INSERT#1#(::(z0,z1),z2) -> c_5(INSERT#2#(leq(z2,z0),z2,z0,z1),leq#(z2,z0),LEQ#(z2,z0)):2 -->_1 INSERT#1#(nil(),z0) -> c_6():93 2:S:INSERT#1#(::(z0,z1),z2) -> c_5(INSERT#2#(leq(z2,z0),z2,z0,z1),leq#(z2,z0),LEQ#(z2,z0)) -->_2 leq#(z0,z1) -> c_110(leq#1#(z0,z1)):110 -->_3 LEQ#(z0,z1) -> c_12(LEQ#1#(z0,z1)):6 -->_1 INSERT#2#(#false(),z0,z1,z2) -> c_7(INSERT#(z0,z2)):3 -->_1 INSERT#2#(#true(),z0,z1,z2) -> c_8():94 3:S:INSERT#2#(#false(),z0,z1,z2) -> c_7(INSERT#(z0,z2)) -->_1 INSERT#(z0,z1) -> c_4(INSERT#1#(z1,z0)):1 4:S:ISORTLIST#(z0) -> c_9(ISORTLIST#1#(z0)) -->_1 ISORTLIST#1#(::(z0,z1)) -> c_10(INSERT#(z0,isortlist(z1)),isortlist#(z1),ISORTLIST#(z1)):5 -->_1 ISORTLIST#1#(nil()) -> c_11():95 5:S:ISORTLIST#1#(::(z0,z1)) -> c_10(INSERT#(z0,isortlist(z1)),isortlist#(z1),ISORTLIST#(z1)) -->_2 isortlist#(z0) -> c_107(isortlist#1#(z0)):107 -->_3 ISORTLIST#(z0) -> c_9(ISORTLIST#1#(z0)):4 -->_1 INSERT#(z0,z1) -> c_4(INSERT#1#(z1,z0)):1 6:S:LEQ#(z0,z1) -> c_12(LEQ#1#(z0,z1)) -->_1 LEQ#1#(::(z0,z1),z2) -> c_13(LEQ#2#(z2,z0,z1)):7 -->_1 LEQ#1#(nil(),z0) -> c_14():96 7:S:LEQ#1#(::(z0,z1),z2) -> c_13(LEQ#2#(z2,z0,z1)) -->_1 LEQ#2#(::(z0,z1),z2,z3) -> c_16(OR#(#less(z2,z0),and(#equal(z2,z0),leq(z3,z1))) ,#less#(z2,z0) ,and#(#equal(z2,z0),leq(z3,z1)) ,#equal#(z2,z0) ,leq#(z3,z1) ,AND#(#equal(z2,z0),leq(z3,z1)) ,#equal#(z2,z0) ,leq#(z3,z1) ,#EQUAL#(z2,z0)):98 -->_1 LEQ#2#(::(z0,z1),z2,z3) -> c_15(OR#(#less(z2,z0),and(#equal(z2,z0),leq(z3,z1))) ,#less#(z2,z0) ,and#(#equal(z2,z0),leq(z3,z1)) ,#equal#(z2,z0) ,leq#(z3,z1) ,#LESS#(z2,z0)):97 -->_1 LEQ#2#(::(z0,z1),z2,z3) -> c_17(OR#(#less(z2,z0),and(#equal(z2,z0),leq(z3,z1))) ,#less#(z2,z0) ,and#(#equal(z2,z0),leq(z3,z1)) ,#equal#(z2,z0) ,leq#(z3,z1) ,AND#(#equal(z2,z0),leq(z3,z1)) ,#equal#(z2,z0) ,leq#(z3,z1) ,LEQ#(z3,z1)):8 -->_1 LEQ#2#(nil(),z0,z1) -> c_18():99 8:S:LEQ#2#(::(z0,z1),z2,z3) -> c_17(OR#(#less(z2,z0),and(#equal(z2,z0),leq(z3,z1))) ,#less#(z2,z0) ,and#(#equal(z2,z0),leq(z3,z1)) ,#equal#(z2,z0) ,leq#(z3,z1) ,AND#(#equal(z2,z0),leq(z3,z1)) ,#equal#(z2,z0) ,leq#(z3,z1) ,LEQ#(z3,z1)) -->_8 leq#(z0,z1) -> c_110(leq#1#(z0,z1)):110 -->_5 leq#(z0,z1) -> c_110(leq#1#(z0,z1)):110 -->_3 and#(z0,z1) -> c_101(#and#(z0,z1)):101 -->_1 OR#(z0,z1) -> c_19(#OR#(z0,z1)):100 -->_6 AND#(z0,z1) -> c_3(#AND#(z0,z1)):92 -->_2 #less#(z0,z1) -> c_96(#cklt#(#compare(z0,z1)),#compare#(z0,z1)):87 -->_7 #equal#(z0,z1) -> c_95(#eq#(z0,z1)):86 -->_4 #equal#(z0,z1) -> c_95(#eq#(z0,z1)):86 -->_9 LEQ#(z0,z1) -> c_12(LEQ#1#(z0,z1)):6 9:W:#AND#(#false(),#false()) -> c_20() 10:W:#AND#(#false(),#true()) -> c_21() 11:W:#AND#(#true(),#false()) -> c_22() 12:W:#AND#(#true(),#true()) -> c_23() 13:W:#CKLT#(#EQ()) -> c_24() 14:W:#CKLT#(#GT()) -> c_25() 15:W:#CKLT#(#LT()) -> c_26() 16:W:#COMPARE#(#0(),#0()) -> c_27() 17:W:#COMPARE#(#0(),#neg(z0)) -> c_28() 18:W:#COMPARE#(#0(),#pos(z0)) -> c_29() 19:W:#COMPARE#(#0(),#s(z0)) -> c_30() 20:W:#COMPARE#(#neg(z0),#0()) -> c_31() 21:W:#COMPARE#(#neg(z0),#neg(z1)) -> c_32(#COMPARE#(z1,z0)) -->_1 #COMPARE#(#s(z0),#s(z1)) -> c_38(#COMPARE#(z0,z1)):27 -->_1 #COMPARE#(#pos(z0),#pos(z1)) -> c_36(#COMPARE#(z0,z1)):25 -->_1 #COMPARE#(#s(z0),#0()) -> c_37():26 -->_1 #COMPARE#(#pos(z0),#neg(z1)) -> c_35():24 -->_1 #COMPARE#(#pos(z0),#0()) -> c_34():23 -->_1 #COMPARE#(#neg(z0),#pos(z1)) -> c_33():22 -->_1 #COMPARE#(#neg(z0),#neg(z1)) -> c_32(#COMPARE#(z1,z0)):21 -->_1 #COMPARE#(#neg(z0),#0()) -> c_31():20 -->_1 #COMPARE#(#0(),#s(z0)) -> c_30():19 -->_1 #COMPARE#(#0(),#pos(z0)) -> c_29():18 -->_1 #COMPARE#(#0(),#neg(z0)) -> c_28():17 -->_1 #COMPARE#(#0(),#0()) -> c_27():16 22:W:#COMPARE#(#neg(z0),#pos(z1)) -> c_33() 23:W:#COMPARE#(#pos(z0),#0()) -> c_34() 24:W:#COMPARE#(#pos(z0),#neg(z1)) -> c_35() 25:W:#COMPARE#(#pos(z0),#pos(z1)) -> c_36(#COMPARE#(z0,z1)) -->_1 #COMPARE#(#s(z0),#s(z1)) -> c_38(#COMPARE#(z0,z1)):27 -->_1 #COMPARE#(#s(z0),#0()) -> c_37():26 -->_1 #COMPARE#(#pos(z0),#pos(z1)) -> c_36(#COMPARE#(z0,z1)):25 -->_1 #COMPARE#(#pos(z0),#neg(z1)) -> c_35():24 -->_1 #COMPARE#(#pos(z0),#0()) -> c_34():23 -->_1 #COMPARE#(#neg(z0),#pos(z1)) -> c_33():22 -->_1 #COMPARE#(#neg(z0),#neg(z1)) -> c_32(#COMPARE#(z1,z0)):21 -->_1 #COMPARE#(#neg(z0),#0()) -> c_31():20 -->_1 #COMPARE#(#0(),#s(z0)) -> c_30():19 -->_1 #COMPARE#(#0(),#pos(z0)) -> c_29():18 -->_1 #COMPARE#(#0(),#neg(z0)) -> c_28():17 -->_1 #COMPARE#(#0(),#0()) -> c_27():16 26:W:#COMPARE#(#s(z0),#0()) -> c_37() 27:W:#COMPARE#(#s(z0),#s(z1)) -> c_38(#COMPARE#(z0,z1)) -->_1 #COMPARE#(#s(z0),#s(z1)) -> c_38(#COMPARE#(z0,z1)):27 -->_1 #COMPARE#(#s(z0),#0()) -> c_37():26 -->_1 #COMPARE#(#pos(z0),#pos(z1)) -> c_36(#COMPARE#(z0,z1)):25 -->_1 #COMPARE#(#pos(z0),#neg(z1)) -> c_35():24 -->_1 #COMPARE#(#pos(z0),#0()) -> c_34():23 -->_1 #COMPARE#(#neg(z0),#pos(z1)) -> c_33():22 -->_1 #COMPARE#(#neg(z0),#neg(z1)) -> c_32(#COMPARE#(z1,z0)):21 -->_1 #COMPARE#(#neg(z0),#0()) -> c_31():20 -->_1 #COMPARE#(#0(),#s(z0)) -> c_30():19 -->_1 #COMPARE#(#0(),#pos(z0)) -> c_29():18 -->_1 #COMPARE#(#0(),#neg(z0)) -> c_28():17 -->_1 #COMPARE#(#0(),#0()) -> c_27():16 28:W:#EQ'#(#0(),#0()) -> c_39() 29:W:#EQ'#(#0(),#neg(z0)) -> c_40() 30:W:#EQ'#(#0(),#pos(z0)) -> c_41() 31:W:#EQ'#(#0(),#s(z0)) -> c_42() 32:W:#EQ'#(#neg(z0),#0()) -> c_43() 33:W:#EQ'#(#neg(z0),#neg(z1)) -> c_44(#EQ'#(z0,z1)) -->_1 #EQ'#(::(z0,z1),::(z2,z3)) -> c_52(#AND#(#eq(z0,z2),#eq(z1,z3)) ,#eq#(z0,z2) ,#eq#(z1,z3) ,#EQ'#(z1,z3)):41 -->_1 #EQ'#(::(z0,z1),::(z2,z3)) -> c_51(#AND#(#eq(z0,z2),#eq(z1,z3)) ,#eq#(z0,z2) ,#eq#(z1,z3) ,#EQ'#(z0,z2)):40 -->_1 #EQ'#(#s(z0),#s(z1)) -> c_50(#EQ'#(z0,z1)):39 -->_1 #EQ'#(#pos(z0),#pos(z1)) -> c_48(#EQ'#(z0,z1)):37 -->_1 #EQ'#(nil(),nil()) -> c_55():44 -->_1 #EQ'#(nil(),::(z0,z1)) -> c_54():43 -->_1 #EQ'#(::(z0,z1),nil()) -> c_53():42 -->_1 #EQ'#(#s(z0),#0()) -> c_49():38 -->_1 #EQ'#(#pos(z0),#neg(z1)) -> c_47():36 -->_1 #EQ'#(#pos(z0),#0()) -> c_46():35 -->_1 #EQ'#(#neg(z0),#pos(z1)) -> c_45():34 -->_1 #EQ'#(#neg(z0),#neg(z1)) -> c_44(#EQ'#(z0,z1)):33 -->_1 #EQ'#(#neg(z0),#0()) -> c_43():32 -->_1 #EQ'#(#0(),#s(z0)) -> c_42():31 -->_1 #EQ'#(#0(),#pos(z0)) -> c_41():30 -->_1 #EQ'#(#0(),#neg(z0)) -> c_40():29 -->_1 #EQ'#(#0(),#0()) -> c_39():28 34:W:#EQ'#(#neg(z0),#pos(z1)) -> c_45() 35:W:#EQ'#(#pos(z0),#0()) -> c_46() 36:W:#EQ'#(#pos(z0),#neg(z1)) -> c_47() 37:W:#EQ'#(#pos(z0),#pos(z1)) -> c_48(#EQ'#(z0,z1)) -->_1 #EQ'#(::(z0,z1),::(z2,z3)) -> c_52(#AND#(#eq(z0,z2),#eq(z1,z3)) ,#eq#(z0,z2) ,#eq#(z1,z3) ,#EQ'#(z1,z3)):41 -->_1 #EQ'#(::(z0,z1),::(z2,z3)) -> c_51(#AND#(#eq(z0,z2),#eq(z1,z3)) ,#eq#(z0,z2) ,#eq#(z1,z3) ,#EQ'#(z0,z2)):40 -->_1 #EQ'#(#s(z0),#s(z1)) -> c_50(#EQ'#(z0,z1)):39 -->_1 #EQ'#(nil(),nil()) -> c_55():44 -->_1 #EQ'#(nil(),::(z0,z1)) -> c_54():43 -->_1 #EQ'#(::(z0,z1),nil()) -> c_53():42 -->_1 #EQ'#(#s(z0),#0()) -> c_49():38 -->_1 #EQ'#(#pos(z0),#pos(z1)) -> c_48(#EQ'#(z0,z1)):37 -->_1 #EQ'#(#pos(z0),#neg(z1)) -> c_47():36 -->_1 #EQ'#(#pos(z0),#0()) -> c_46():35 -->_1 #EQ'#(#neg(z0),#pos(z1)) -> c_45():34 -->_1 #EQ'#(#neg(z0),#neg(z1)) -> c_44(#EQ'#(z0,z1)):33 -->_1 #EQ'#(#neg(z0),#0()) -> c_43():32 -->_1 #EQ'#(#0(),#s(z0)) -> c_42():31 -->_1 #EQ'#(#0(),#pos(z0)) -> c_41():30 -->_1 #EQ'#(#0(),#neg(z0)) -> c_40():29 -->_1 #EQ'#(#0(),#0()) -> c_39():28 38:W:#EQ'#(#s(z0),#0()) -> c_49() 39:W:#EQ'#(#s(z0),#s(z1)) -> c_50(#EQ'#(z0,z1)) -->_1 #EQ'#(::(z0,z1),::(z2,z3)) -> c_52(#AND#(#eq(z0,z2),#eq(z1,z3)) ,#eq#(z0,z2) ,#eq#(z1,z3) ,#EQ'#(z1,z3)):41 -->_1 #EQ'#(::(z0,z1),::(z2,z3)) -> c_51(#AND#(#eq(z0,z2),#eq(z1,z3)) ,#eq#(z0,z2) ,#eq#(z1,z3) ,#EQ'#(z0,z2)):40 -->_1 #EQ'#(nil(),nil()) -> c_55():44 -->_1 #EQ'#(nil(),::(z0,z1)) -> c_54():43 -->_1 #EQ'#(::(z0,z1),nil()) -> c_53():42 -->_1 #EQ'#(#s(z0),#s(z1)) -> c_50(#EQ'#(z0,z1)):39 -->_1 #EQ'#(#s(z0),#0()) -> c_49():38 -->_1 #EQ'#(#pos(z0),#pos(z1)) -> c_48(#EQ'#(z0,z1)):37 -->_1 #EQ'#(#pos(z0),#neg(z1)) -> c_47():36 -->_1 #EQ'#(#pos(z0),#0()) -> c_46():35 -->_1 #EQ'#(#neg(z0),#pos(z1)) -> c_45():34 -->_1 #EQ'#(#neg(z0),#neg(z1)) -> c_44(#EQ'#(z0,z1)):33 -->_1 #EQ'#(#neg(z0),#0()) -> c_43():32 -->_1 #EQ'#(#0(),#s(z0)) -> c_42():31 -->_1 #EQ'#(#0(),#pos(z0)) -> c_41():30 -->_1 #EQ'#(#0(),#neg(z0)) -> c_40():29 -->_1 #EQ'#(#0(),#0()) -> c_39():28 40:W:#EQ'#(::(z0,z1),::(z2,z3)) -> c_51(#AND#(#eq(z0,z2),#eq(z1,z3)),#eq#(z0,z2),#eq#(z1,z3),#EQ'#(z0,z2)) -->_3 #eq#(::(z0,z1),::(z2,z3)) -> c_91(#and#(#eq(z0,z2),#eq(z1,z3)),#eq#(z0,z2),#eq#(z1,z3)):82 -->_2 #eq#(::(z0,z1),::(z2,z3)) -> c_91(#and#(#eq(z0,z2),#eq(z1,z3)),#eq#(z0,z2),#eq#(z1,z3)):82 -->_3 #eq#(#s(z0),#s(z1)) -> c_90(#eq#(z0,z1)):81 -->_2 #eq#(#s(z0),#s(z1)) -> c_90(#eq#(z0,z1)):81 -->_3 #eq#(#pos(z0),#pos(z1)) -> c_88(#eq#(z0,z1)):79 -->_2 #eq#(#pos(z0),#pos(z1)) -> c_88(#eq#(z0,z1)):79 -->_3 #eq#(#neg(z0),#neg(z1)) -> c_84(#eq#(z0,z1)):75 -->_2 #eq#(#neg(z0),#neg(z1)) -> c_84(#eq#(z0,z1)):75 -->_4 #EQ'#(::(z0,z1),::(z2,z3)) -> c_52(#AND#(#eq(z0,z2),#eq(z1,z3)) ,#eq#(z0,z2) ,#eq#(z1,z3) ,#EQ'#(z1,z3)):41 -->_3 #eq#(nil(),nil()) -> c_94():85 -->_2 #eq#(nil(),nil()) -> c_94():85 -->_3 #eq#(nil(),::(z0,z1)) -> c_93():84 -->_2 #eq#(nil(),::(z0,z1)) -> c_93():84 -->_3 #eq#(::(z0,z1),nil()) -> c_92():83 -->_2 #eq#(::(z0,z1),nil()) -> c_92():83 -->_3 #eq#(#s(z0),#0()) -> c_89():80 -->_2 #eq#(#s(z0),#0()) -> c_89():80 -->_3 #eq#(#pos(z0),#neg(z1)) -> c_87():78 -->_2 #eq#(#pos(z0),#neg(z1)) -> c_87():78 -->_3 #eq#(#pos(z0),#0()) -> c_86():77 -->_2 #eq#(#pos(z0),#0()) -> c_86():77 -->_3 #eq#(#neg(z0),#pos(z1)) -> c_85():76 -->_2 #eq#(#neg(z0),#pos(z1)) -> c_85():76 -->_3 #eq#(#neg(z0),#0()) -> c_83():74 -->_2 #eq#(#neg(z0),#0()) -> c_83():74 -->_3 #eq#(#0(),#s(z0)) -> c_82():73 -->_2 #eq#(#0(),#s(z0)) -> c_82():73 -->_3 #eq#(#0(),#pos(z0)) -> c_81():72 -->_2 #eq#(#0(),#pos(z0)) -> c_81():72 -->_3 #eq#(#0(),#neg(z0)) -> c_80():71 -->_2 #eq#(#0(),#neg(z0)) -> c_80():71 -->_3 #eq#(#0(),#0()) -> c_79():70 -->_2 #eq#(#0(),#0()) -> c_79():70 -->_4 #EQ'#(nil(),nil()) -> c_55():44 -->_4 #EQ'#(nil(),::(z0,z1)) -> c_54():43 -->_4 #EQ'#(::(z0,z1),nil()) -> c_53():42 -->_4 #EQ'#(::(z0,z1),::(z2,z3)) -> c_51(#AND#(#eq(z0,z2),#eq(z1,z3)) ,#eq#(z0,z2) ,#eq#(z1,z3) ,#EQ'#(z0,z2)):40 -->_4 #EQ'#(#s(z0),#s(z1)) -> c_50(#EQ'#(z0,z1)):39 -->_4 #EQ'#(#s(z0),#0()) -> c_49():38 -->_4 #EQ'#(#pos(z0),#pos(z1)) -> c_48(#EQ'#(z0,z1)):37 -->_4 #EQ'#(#pos(z0),#neg(z1)) -> c_47():36 -->_4 #EQ'#(#pos(z0),#0()) -> c_46():35 -->_4 #EQ'#(#neg(z0),#pos(z1)) -> c_45():34 -->_4 #EQ'#(#neg(z0),#neg(z1)) -> c_44(#EQ'#(z0,z1)):33 -->_4 #EQ'#(#neg(z0),#0()) -> c_43():32 -->_4 #EQ'#(#0(),#s(z0)) -> c_42():31 -->_4 #EQ'#(#0(),#pos(z0)) -> c_41():30 -->_4 #EQ'#(#0(),#neg(z0)) -> c_40():29 -->_4 #EQ'#(#0(),#0()) -> c_39():28 -->_1 #AND#(#true(),#true()) -> c_23():12 -->_1 #AND#(#true(),#false()) -> c_22():11 -->_1 #AND#(#false(),#true()) -> c_21():10 -->_1 #AND#(#false(),#false()) -> c_20():9 41:W:#EQ'#(::(z0,z1),::(z2,z3)) -> c_52(#AND#(#eq(z0,z2),#eq(z1,z3)),#eq#(z0,z2),#eq#(z1,z3),#EQ'#(z1,z3)) -->_3 #eq#(::(z0,z1),::(z2,z3)) -> c_91(#and#(#eq(z0,z2),#eq(z1,z3)),#eq#(z0,z2),#eq#(z1,z3)):82 -->_2 #eq#(::(z0,z1),::(z2,z3)) -> c_91(#and#(#eq(z0,z2),#eq(z1,z3)),#eq#(z0,z2),#eq#(z1,z3)):82 -->_3 #eq#(#s(z0),#s(z1)) -> c_90(#eq#(z0,z1)):81 -->_2 #eq#(#s(z0),#s(z1)) -> c_90(#eq#(z0,z1)):81 -->_3 #eq#(#pos(z0),#pos(z1)) -> c_88(#eq#(z0,z1)):79 -->_2 #eq#(#pos(z0),#pos(z1)) -> c_88(#eq#(z0,z1)):79 -->_3 #eq#(#neg(z0),#neg(z1)) -> c_84(#eq#(z0,z1)):75 -->_2 #eq#(#neg(z0),#neg(z1)) -> c_84(#eq#(z0,z1)):75 -->_3 #eq#(nil(),nil()) -> c_94():85 -->_2 #eq#(nil(),nil()) -> c_94():85 -->_3 #eq#(nil(),::(z0,z1)) -> c_93():84 -->_2 #eq#(nil(),::(z0,z1)) -> c_93():84 -->_3 #eq#(::(z0,z1),nil()) -> c_92():83 -->_2 #eq#(::(z0,z1),nil()) -> c_92():83 -->_3 #eq#(#s(z0),#0()) -> c_89():80 -->_2 #eq#(#s(z0),#0()) -> c_89():80 -->_3 #eq#(#pos(z0),#neg(z1)) -> c_87():78 -->_2 #eq#(#pos(z0),#neg(z1)) -> c_87():78 -->_3 #eq#(#pos(z0),#0()) -> c_86():77 -->_2 #eq#(#pos(z0),#0()) -> c_86():77 -->_3 #eq#(#neg(z0),#pos(z1)) -> c_85():76 -->_2 #eq#(#neg(z0),#pos(z1)) -> c_85():76 -->_3 #eq#(#neg(z0),#0()) -> c_83():74 -->_2 #eq#(#neg(z0),#0()) -> c_83():74 -->_3 #eq#(#0(),#s(z0)) -> c_82():73 -->_2 #eq#(#0(),#s(z0)) -> c_82():73 -->_3 #eq#(#0(),#pos(z0)) -> c_81():72 -->_2 #eq#(#0(),#pos(z0)) -> c_81():72 -->_3 #eq#(#0(),#neg(z0)) -> c_80():71 -->_2 #eq#(#0(),#neg(z0)) -> c_80():71 -->_3 #eq#(#0(),#0()) -> c_79():70 -->_2 #eq#(#0(),#0()) -> c_79():70 -->_4 #EQ'#(nil(),nil()) -> c_55():44 -->_4 #EQ'#(nil(),::(z0,z1)) -> c_54():43 -->_4 #EQ'#(::(z0,z1),nil()) -> c_53():42 -->_4 #EQ'#(::(z0,z1),::(z2,z3)) -> c_52(#AND#(#eq(z0,z2),#eq(z1,z3)) ,#eq#(z0,z2) ,#eq#(z1,z3) ,#EQ'#(z1,z3)):41 -->_4 #EQ'#(::(z0,z1),::(z2,z3)) -> c_51(#AND#(#eq(z0,z2),#eq(z1,z3)) ,#eq#(z0,z2) ,#eq#(z1,z3) ,#EQ'#(z0,z2)):40 -->_4 #EQ'#(#s(z0),#s(z1)) -> c_50(#EQ'#(z0,z1)):39 -->_4 #EQ'#(#s(z0),#0()) -> c_49():38 -->_4 #EQ'#(#pos(z0),#pos(z1)) -> c_48(#EQ'#(z0,z1)):37 -->_4 #EQ'#(#pos(z0),#neg(z1)) -> c_47():36 -->_4 #EQ'#(#pos(z0),#0()) -> c_46():35 -->_4 #EQ'#(#neg(z0),#pos(z1)) -> c_45():34 -->_4 #EQ'#(#neg(z0),#neg(z1)) -> c_44(#EQ'#(z0,z1)):33 -->_4 #EQ'#(#neg(z0),#0()) -> c_43():32 -->_4 #EQ'#(#0(),#s(z0)) -> c_42():31 -->_4 #EQ'#(#0(),#pos(z0)) -> c_41():30 -->_4 #EQ'#(#0(),#neg(z0)) -> c_40():29 -->_4 #EQ'#(#0(),#0()) -> c_39():28 -->_1 #AND#(#true(),#true()) -> c_23():12 -->_1 #AND#(#true(),#false()) -> c_22():11 -->_1 #AND#(#false(),#true()) -> c_21():10 -->_1 #AND#(#false(),#false()) -> c_20():9 42:W:#EQ'#(::(z0,z1),nil()) -> c_53() 43:W:#EQ'#(nil(),::(z0,z1)) -> c_54() 44:W:#EQ'#(nil(),nil()) -> c_55() 45:W:#EQUAL#(z0,z1) -> c_1(#EQ'#(z0,z1)) -->_1 #EQ'#(nil(),nil()) -> c_55():44 -->_1 #EQ'#(nil(),::(z0,z1)) -> c_54():43 -->_1 #EQ'#(::(z0,z1),nil()) -> c_53():42 -->_1 #EQ'#(::(z0,z1),::(z2,z3)) -> c_52(#AND#(#eq(z0,z2),#eq(z1,z3)) ,#eq#(z0,z2) ,#eq#(z1,z3) ,#EQ'#(z1,z3)):41 -->_1 #EQ'#(::(z0,z1),::(z2,z3)) -> c_51(#AND#(#eq(z0,z2),#eq(z1,z3)) ,#eq#(z0,z2) ,#eq#(z1,z3) ,#EQ'#(z0,z2)):40 -->_1 #EQ'#(#s(z0),#s(z1)) -> c_50(#EQ'#(z0,z1)):39 -->_1 #EQ'#(#s(z0),#0()) -> c_49():38 -->_1 #EQ'#(#pos(z0),#pos(z1)) -> c_48(#EQ'#(z0,z1)):37 -->_1 #EQ'#(#pos(z0),#neg(z1)) -> c_47():36 -->_1 #EQ'#(#pos(z0),#0()) -> c_46():35 -->_1 #EQ'#(#neg(z0),#pos(z1)) -> c_45():34 -->_1 #EQ'#(#neg(z0),#neg(z1)) -> c_44(#EQ'#(z0,z1)):33 -->_1 #EQ'#(#neg(z0),#0()) -> c_43():32 -->_1 #EQ'#(#0(),#s(z0)) -> c_42():31 -->_1 #EQ'#(#0(),#pos(z0)) -> c_41():30 -->_1 #EQ'#(#0(),#neg(z0)) -> c_40():29 -->_1 #EQ'#(#0(),#0()) -> c_39():28 46:W:#LESS#(z0,z1) -> c_2(#CKLT#(#compare(z0,z1)),#compare#(z0,z1),#COMPARE#(z0,z1)) -->_2 #compare#(#s(z0),#s(z1)) -> c_78(#compare#(z0,z1)):69 -->_2 #compare#(#pos(z0),#pos(z1)) -> c_76(#compare#(z0,z1)):67 -->_2 #compare#(#neg(z0),#neg(z1)) -> c_72(#compare#(z1,z0)):63 -->_2 #compare#(#s(z0),#0()) -> c_77():68 -->_2 #compare#(#pos(z0),#neg(z1)) -> c_75():66 -->_2 #compare#(#pos(z0),#0()) -> c_74():65 -->_2 #compare#(#neg(z0),#pos(z1)) -> c_73():64 -->_2 #compare#(#neg(z0),#0()) -> c_71():62 -->_2 #compare#(#0(),#s(z0)) -> c_70():61 -->_2 #compare#(#0(),#pos(z0)) -> c_69():60 -->_2 #compare#(#0(),#neg(z0)) -> c_68():59 -->_2 #compare#(#0(),#0()) -> c_67():58 -->_3 #COMPARE#(#s(z0),#s(z1)) -> c_38(#COMPARE#(z0,z1)):27 -->_3 #COMPARE#(#s(z0),#0()) -> c_37():26 -->_3 #COMPARE#(#pos(z0),#pos(z1)) -> c_36(#COMPARE#(z0,z1)):25 -->_3 #COMPARE#(#pos(z0),#neg(z1)) -> c_35():24 -->_3 #COMPARE#(#pos(z0),#0()) -> c_34():23 -->_3 #COMPARE#(#neg(z0),#pos(z1)) -> c_33():22 -->_3 #COMPARE#(#neg(z0),#neg(z1)) -> c_32(#COMPARE#(z1,z0)):21 -->_3 #COMPARE#(#neg(z0),#0()) -> c_31():20 -->_3 #COMPARE#(#0(),#s(z0)) -> c_30():19 -->_3 #COMPARE#(#0(),#pos(z0)) -> c_29():18 -->_3 #COMPARE#(#0(),#neg(z0)) -> c_28():17 -->_3 #COMPARE#(#0(),#0()) -> c_27():16 -->_1 #CKLT#(#LT()) -> c_26():15 -->_1 #CKLT#(#GT()) -> c_25():14 -->_1 #CKLT#(#EQ()) -> c_24():13 47:W:#OR#(#false(),#false()) -> c_56() 48:W:#OR#(#false(),#true()) -> c_57() 49:W:#OR#(#true(),#false()) -> c_58() 50:W:#OR#(#true(),#true()) -> c_59() 51:W:#and#(#false(),#false()) -> c_60() 52:W:#and#(#false(),#true()) -> c_61() 53:W:#and#(#true(),#false()) -> c_62() 54:W:#and#(#true(),#true()) -> c_63() 55:W:#cklt#(#EQ()) -> c_64() 56:W:#cklt#(#GT()) -> c_65() 57:W:#cklt#(#LT()) -> c_66() 58:W:#compare#(#0(),#0()) -> c_67() 59:W:#compare#(#0(),#neg(z0)) -> c_68() 60:W:#compare#(#0(),#pos(z0)) -> c_69() 61:W:#compare#(#0(),#s(z0)) -> c_70() 62:W:#compare#(#neg(z0),#0()) -> c_71() 63:W:#compare#(#neg(z0),#neg(z1)) -> c_72(#compare#(z1,z0)) -->_1 #compare#(#s(z0),#s(z1)) -> c_78(#compare#(z0,z1)):69 -->_1 #compare#(#pos(z0),#pos(z1)) -> c_76(#compare#(z0,z1)):67 -->_1 #compare#(#s(z0),#0()) -> c_77():68 -->_1 #compare#(#pos(z0),#neg(z1)) -> c_75():66 -->_1 #compare#(#pos(z0),#0()) -> c_74():65 -->_1 #compare#(#neg(z0),#pos(z1)) -> c_73():64 -->_1 #compare#(#neg(z0),#neg(z1)) -> c_72(#compare#(z1,z0)):63 -->_1 #compare#(#neg(z0),#0()) -> c_71():62 -->_1 #compare#(#0(),#s(z0)) -> c_70():61 -->_1 #compare#(#0(),#pos(z0)) -> c_69():60 -->_1 #compare#(#0(),#neg(z0)) -> c_68():59 -->_1 #compare#(#0(),#0()) -> c_67():58 64:W:#compare#(#neg(z0),#pos(z1)) -> c_73() 65:W:#compare#(#pos(z0),#0()) -> c_74() 66:W:#compare#(#pos(z0),#neg(z1)) -> c_75() 67:W:#compare#(#pos(z0),#pos(z1)) -> c_76(#compare#(z0,z1)) -->_1 #compare#(#s(z0),#s(z1)) -> c_78(#compare#(z0,z1)):69 -->_1 #compare#(#s(z0),#0()) -> c_77():68 -->_1 #compare#(#pos(z0),#pos(z1)) -> c_76(#compare#(z0,z1)):67 -->_1 #compare#(#pos(z0),#neg(z1)) -> c_75():66 -->_1 #compare#(#pos(z0),#0()) -> c_74():65 -->_1 #compare#(#neg(z0),#pos(z1)) -> c_73():64 -->_1 #compare#(#neg(z0),#neg(z1)) -> c_72(#compare#(z1,z0)):63 -->_1 #compare#(#neg(z0),#0()) -> c_71():62 -->_1 #compare#(#0(),#s(z0)) -> c_70():61 -->_1 #compare#(#0(),#pos(z0)) -> c_69():60 -->_1 #compare#(#0(),#neg(z0)) -> c_68():59 -->_1 #compare#(#0(),#0()) -> c_67():58 68:W:#compare#(#s(z0),#0()) -> c_77() 69:W:#compare#(#s(z0),#s(z1)) -> c_78(#compare#(z0,z1)) -->_1 #compare#(#s(z0),#s(z1)) -> c_78(#compare#(z0,z1)):69 -->_1 #compare#(#s(z0),#0()) -> c_77():68 -->_1 #compare#(#pos(z0),#pos(z1)) -> c_76(#compare#(z0,z1)):67 -->_1 #compare#(#pos(z0),#neg(z1)) -> c_75():66 -->_1 #compare#(#pos(z0),#0()) -> c_74():65 -->_1 #compare#(#neg(z0),#pos(z1)) -> c_73():64 -->_1 #compare#(#neg(z0),#neg(z1)) -> c_72(#compare#(z1,z0)):63 -->_1 #compare#(#neg(z0),#0()) -> c_71():62 -->_1 #compare#(#0(),#s(z0)) -> c_70():61 -->_1 #compare#(#0(),#pos(z0)) -> c_69():60 -->_1 #compare#(#0(),#neg(z0)) -> c_68():59 -->_1 #compare#(#0(),#0()) -> c_67():58 70:W:#eq#(#0(),#0()) -> c_79() 71:W:#eq#(#0(),#neg(z0)) -> c_80() 72:W:#eq#(#0(),#pos(z0)) -> c_81() 73:W:#eq#(#0(),#s(z0)) -> c_82() 74:W:#eq#(#neg(z0),#0()) -> c_83() 75:W:#eq#(#neg(z0),#neg(z1)) -> c_84(#eq#(z0,z1)) -->_1 #eq#(::(z0,z1),::(z2,z3)) -> c_91(#and#(#eq(z0,z2),#eq(z1,z3)),#eq#(z0,z2),#eq#(z1,z3)):82 -->_1 #eq#(#s(z0),#s(z1)) -> c_90(#eq#(z0,z1)):81 -->_1 #eq#(#pos(z0),#pos(z1)) -> c_88(#eq#(z0,z1)):79 -->_1 #eq#(nil(),nil()) -> c_94():85 -->_1 #eq#(nil(),::(z0,z1)) -> c_93():84 -->_1 #eq#(::(z0,z1),nil()) -> c_92():83 -->_1 #eq#(#s(z0),#0()) -> c_89():80 -->_1 #eq#(#pos(z0),#neg(z1)) -> c_87():78 -->_1 #eq#(#pos(z0),#0()) -> c_86():77 -->_1 #eq#(#neg(z0),#pos(z1)) -> c_85():76 -->_1 #eq#(#neg(z0),#neg(z1)) -> c_84(#eq#(z0,z1)):75 -->_1 #eq#(#neg(z0),#0()) -> c_83():74 -->_1 #eq#(#0(),#s(z0)) -> c_82():73 -->_1 #eq#(#0(),#pos(z0)) -> c_81():72 -->_1 #eq#(#0(),#neg(z0)) -> c_80():71 -->_1 #eq#(#0(),#0()) -> c_79():70 76:W:#eq#(#neg(z0),#pos(z1)) -> c_85() 77:W:#eq#(#pos(z0),#0()) -> c_86() 78:W:#eq#(#pos(z0),#neg(z1)) -> c_87() 79:W:#eq#(#pos(z0),#pos(z1)) -> c_88(#eq#(z0,z1)) -->_1 #eq#(::(z0,z1),::(z2,z3)) -> c_91(#and#(#eq(z0,z2),#eq(z1,z3)),#eq#(z0,z2),#eq#(z1,z3)):82 -->_1 #eq#(#s(z0),#s(z1)) -> c_90(#eq#(z0,z1)):81 -->_1 #eq#(nil(),nil()) -> c_94():85 -->_1 #eq#(nil(),::(z0,z1)) -> c_93():84 -->_1 #eq#(::(z0,z1),nil()) -> c_92():83 -->_1 #eq#(#s(z0),#0()) -> c_89():80 -->_1 #eq#(#pos(z0),#pos(z1)) -> c_88(#eq#(z0,z1)):79 -->_1 #eq#(#pos(z0),#neg(z1)) -> c_87():78 -->_1 #eq#(#pos(z0),#0()) -> c_86():77 -->_1 #eq#(#neg(z0),#pos(z1)) -> c_85():76 -->_1 #eq#(#neg(z0),#neg(z1)) -> c_84(#eq#(z0,z1)):75 -->_1 #eq#(#neg(z0),#0()) -> c_83():74 -->_1 #eq#(#0(),#s(z0)) -> c_82():73 -->_1 #eq#(#0(),#pos(z0)) -> c_81():72 -->_1 #eq#(#0(),#neg(z0)) -> c_80():71 -->_1 #eq#(#0(),#0()) -> c_79():70 80:W:#eq#(#s(z0),#0()) -> c_89() 81:W:#eq#(#s(z0),#s(z1)) -> c_90(#eq#(z0,z1)) -->_1 #eq#(::(z0,z1),::(z2,z3)) -> c_91(#and#(#eq(z0,z2),#eq(z1,z3)),#eq#(z0,z2),#eq#(z1,z3)):82 -->_1 #eq#(nil(),nil()) -> c_94():85 -->_1 #eq#(nil(),::(z0,z1)) -> c_93():84 -->_1 #eq#(::(z0,z1),nil()) -> c_92():83 -->_1 #eq#(#s(z0),#s(z1)) -> c_90(#eq#(z0,z1)):81 -->_1 #eq#(#s(z0),#0()) -> c_89():80 -->_1 #eq#(#pos(z0),#pos(z1)) -> c_88(#eq#(z0,z1)):79 -->_1 #eq#(#pos(z0),#neg(z1)) -> c_87():78 -->_1 #eq#(#pos(z0),#0()) -> c_86():77 -->_1 #eq#(#neg(z0),#pos(z1)) -> c_85():76 -->_1 #eq#(#neg(z0),#neg(z1)) -> c_84(#eq#(z0,z1)):75 -->_1 #eq#(#neg(z0),#0()) -> c_83():74 -->_1 #eq#(#0(),#s(z0)) -> c_82():73 -->_1 #eq#(#0(),#pos(z0)) -> c_81():72 -->_1 #eq#(#0(),#neg(z0)) -> c_80():71 -->_1 #eq#(#0(),#0()) -> c_79():70 82:W:#eq#(::(z0,z1),::(z2,z3)) -> c_91(#and#(#eq(z0,z2),#eq(z1,z3)),#eq#(z0,z2),#eq#(z1,z3)) -->_3 #eq#(nil(),nil()) -> c_94():85 -->_2 #eq#(nil(),nil()) -> c_94():85 -->_3 #eq#(nil(),::(z0,z1)) -> c_93():84 -->_2 #eq#(nil(),::(z0,z1)) -> c_93():84 -->_3 #eq#(::(z0,z1),nil()) -> c_92():83 -->_2 #eq#(::(z0,z1),nil()) -> c_92():83 -->_3 #eq#(::(z0,z1),::(z2,z3)) -> c_91(#and#(#eq(z0,z2),#eq(z1,z3)),#eq#(z0,z2),#eq#(z1,z3)):82 -->_2 #eq#(::(z0,z1),::(z2,z3)) -> c_91(#and#(#eq(z0,z2),#eq(z1,z3)),#eq#(z0,z2),#eq#(z1,z3)):82 -->_3 #eq#(#s(z0),#s(z1)) -> c_90(#eq#(z0,z1)):81 -->_2 #eq#(#s(z0),#s(z1)) -> c_90(#eq#(z0,z1)):81 -->_3 #eq#(#s(z0),#0()) -> c_89():80 -->_2 #eq#(#s(z0),#0()) -> c_89():80 -->_3 #eq#(#pos(z0),#pos(z1)) -> c_88(#eq#(z0,z1)):79 -->_2 #eq#(#pos(z0),#pos(z1)) -> c_88(#eq#(z0,z1)):79 -->_3 #eq#(#pos(z0),#neg(z1)) -> c_87():78 -->_2 #eq#(#pos(z0),#neg(z1)) -> c_87():78 -->_3 #eq#(#pos(z0),#0()) -> c_86():77 -->_2 #eq#(#pos(z0),#0()) -> c_86():77 -->_3 #eq#(#neg(z0),#pos(z1)) -> c_85():76 -->_2 #eq#(#neg(z0),#pos(z1)) -> c_85():76 -->_3 #eq#(#neg(z0),#neg(z1)) -> c_84(#eq#(z0,z1)):75 -->_2 #eq#(#neg(z0),#neg(z1)) -> c_84(#eq#(z0,z1)):75 -->_3 #eq#(#neg(z0),#0()) -> c_83():74 -->_2 #eq#(#neg(z0),#0()) -> c_83():74 -->_3 #eq#(#0(),#s(z0)) -> c_82():73 -->_2 #eq#(#0(),#s(z0)) -> c_82():73 -->_3 #eq#(#0(),#pos(z0)) -> c_81():72 -->_2 #eq#(#0(),#pos(z0)) -> c_81():72 -->_3 #eq#(#0(),#neg(z0)) -> c_80():71 -->_2 #eq#(#0(),#neg(z0)) -> c_80():71 -->_3 #eq#(#0(),#0()) -> c_79():70 -->_2 #eq#(#0(),#0()) -> c_79():70 -->_1 #and#(#true(),#true()) -> c_63():54 -->_1 #and#(#true(),#false()) -> c_62():53 -->_1 #and#(#false(),#true()) -> c_61():52 -->_1 #and#(#false(),#false()) -> c_60():51 83:W:#eq#(::(z0,z1),nil()) -> c_92() 84:W:#eq#(nil(),::(z0,z1)) -> c_93() 85:W:#eq#(nil(),nil()) -> c_94() 86:W:#equal#(z0,z1) -> c_95(#eq#(z0,z1)) -->_1 #eq#(nil(),nil()) -> c_94():85 -->_1 #eq#(nil(),::(z0,z1)) -> c_93():84 -->_1 #eq#(::(z0,z1),nil()) -> c_92():83 -->_1 #eq#(::(z0,z1),::(z2,z3)) -> c_91(#and#(#eq(z0,z2),#eq(z1,z3)),#eq#(z0,z2),#eq#(z1,z3)):82 -->_1 #eq#(#s(z0),#s(z1)) -> c_90(#eq#(z0,z1)):81 -->_1 #eq#(#s(z0),#0()) -> c_89():80 -->_1 #eq#(#pos(z0),#pos(z1)) -> c_88(#eq#(z0,z1)):79 -->_1 #eq#(#pos(z0),#neg(z1)) -> c_87():78 -->_1 #eq#(#pos(z0),#0()) -> c_86():77 -->_1 #eq#(#neg(z0),#pos(z1)) -> c_85():76 -->_1 #eq#(#neg(z0),#neg(z1)) -> c_84(#eq#(z0,z1)):75 -->_1 #eq#(#neg(z0),#0()) -> c_83():74 -->_1 #eq#(#0(),#s(z0)) -> c_82():73 -->_1 #eq#(#0(),#pos(z0)) -> c_81():72 -->_1 #eq#(#0(),#neg(z0)) -> c_80():71 -->_1 #eq#(#0(),#0()) -> c_79():70 87:W:#less#(z0,z1) -> c_96(#cklt#(#compare(z0,z1)),#compare#(z0,z1)) -->_2 #compare#(#s(z0),#s(z1)) -> c_78(#compare#(z0,z1)):69 -->_2 #compare#(#s(z0),#0()) -> c_77():68 -->_2 #compare#(#pos(z0),#pos(z1)) -> c_76(#compare#(z0,z1)):67 -->_2 #compare#(#pos(z0),#neg(z1)) -> c_75():66 -->_2 #compare#(#pos(z0),#0()) -> c_74():65 -->_2 #compare#(#neg(z0),#pos(z1)) -> c_73():64 -->_2 #compare#(#neg(z0),#neg(z1)) -> c_72(#compare#(z1,z0)):63 -->_2 #compare#(#neg(z0),#0()) -> c_71():62 -->_2 #compare#(#0(),#s(z0)) -> c_70():61 -->_2 #compare#(#0(),#pos(z0)) -> c_69():60 -->_2 #compare#(#0(),#neg(z0)) -> c_68():59 -->_2 #compare#(#0(),#0()) -> c_67():58 -->_1 #cklt#(#LT()) -> c_66():57 -->_1 #cklt#(#GT()) -> c_65():56 -->_1 #cklt#(#EQ()) -> c_64():55 88:W:#or#(#false(),#false()) -> c_97() 89:W:#or#(#false(),#true()) -> c_98() 90:W:#or#(#true(),#false()) -> c_99() 91:W:#or#(#true(),#true()) -> c_100() 92:W:AND#(z0,z1) -> c_3(#AND#(z0,z1)) -->_1 #AND#(#true(),#true()) -> c_23():12 -->_1 #AND#(#true(),#false()) -> c_22():11 -->_1 #AND#(#false(),#true()) -> c_21():10 -->_1 #AND#(#false(),#false()) -> c_20():9 93:W:INSERT#1#(nil(),z0) -> c_6() 94:W:INSERT#2#(#true(),z0,z1,z2) -> c_8() 95:W:ISORTLIST#1#(nil()) -> c_11() 96:W:LEQ#1#(nil(),z0) -> c_14() 97:W:LEQ#2#(::(z0,z1),z2,z3) -> c_15(OR#(#less(z2,z0),and(#equal(z2,z0),leq(z3,z1))) ,#less#(z2,z0) ,and#(#equal(z2,z0),leq(z3,z1)) ,#equal#(z2,z0) ,leq#(z3,z1) ,#LESS#(z2,z0)) -->_5 leq#(z0,z1) -> c_110(leq#1#(z0,z1)):110 -->_3 and#(z0,z1) -> c_101(#and#(z0,z1)):101 -->_1 OR#(z0,z1) -> c_19(#OR#(z0,z1)):100 -->_2 #less#(z0,z1) -> c_96(#cklt#(#compare(z0,z1)),#compare#(z0,z1)):87 -->_4 #equal#(z0,z1) -> c_95(#eq#(z0,z1)):86 -->_6 #LESS#(z0,z1) -> c_2(#CKLT#(#compare(z0,z1)),#compare#(z0,z1),#COMPARE#(z0,z1)):46 98:W:LEQ#2#(::(z0,z1),z2,z3) -> c_16(OR#(#less(z2,z0),and(#equal(z2,z0),leq(z3,z1))) ,#less#(z2,z0) ,and#(#equal(z2,z0),leq(z3,z1)) ,#equal#(z2,z0) ,leq#(z3,z1) ,AND#(#equal(z2,z0),leq(z3,z1)) ,#equal#(z2,z0) ,leq#(z3,z1) ,#EQUAL#(z2,z0)) -->_8 leq#(z0,z1) -> c_110(leq#1#(z0,z1)):110 -->_5 leq#(z0,z1) -> c_110(leq#1#(z0,z1)):110 -->_3 and#(z0,z1) -> c_101(#and#(z0,z1)):101 -->_1 OR#(z0,z1) -> c_19(#OR#(z0,z1)):100 -->_6 AND#(z0,z1) -> c_3(#AND#(z0,z1)):92 -->_2 #less#(z0,z1) -> c_96(#cklt#(#compare(z0,z1)),#compare#(z0,z1)):87 -->_7 #equal#(z0,z1) -> c_95(#eq#(z0,z1)):86 -->_4 #equal#(z0,z1) -> c_95(#eq#(z0,z1)):86 -->_9 #EQUAL#(z0,z1) -> c_1(#EQ'#(z0,z1)):45 99:W:LEQ#2#(nil(),z0,z1) -> c_18() 100:W:OR#(z0,z1) -> c_19(#OR#(z0,z1)) -->_1 #OR#(#true(),#true()) -> c_59():50 -->_1 #OR#(#true(),#false()) -> c_58():49 -->_1 #OR#(#false(),#true()) -> c_57():48 -->_1 #OR#(#false(),#false()) -> c_56():47 101:W:and#(z0,z1) -> c_101(#and#(z0,z1)) -->_1 #and#(#true(),#true()) -> c_63():54 -->_1 #and#(#true(),#false()) -> c_62():53 -->_1 #and#(#false(),#true()) -> c_61():52 -->_1 #and#(#false(),#false()) -> c_60():51 102:W:insert#(z0,z1) -> c_102(insert#1#(z1,z0)) -->_1 insert#1#(::(z0,z1),z2) -> c_103(insert#2#(leq(z2,z0),z2,z0,z1),leq#(z2,z0)):103 -->_1 insert#1#(nil(),z0) -> c_104():104 103:W:insert#1#(::(z0,z1),z2) -> c_103(insert#2#(leq(z2,z0),z2,z0,z1),leq#(z2,z0)) -->_2 leq#(z0,z1) -> c_110(leq#1#(z0,z1)):110 -->_1 insert#2#(#false(),z0,z1,z2) -> c_105(insert#(z0,z2)):105 -->_1 insert#2#(#true(),z0,z1,z2) -> c_106():106 104:W:insert#1#(nil(),z0) -> c_104() 105:W:insert#2#(#false(),z0,z1,z2) -> c_105(insert#(z0,z2)) -->_1 insert#(z0,z1) -> c_102(insert#1#(z1,z0)):102 106:W:insert#2#(#true(),z0,z1,z2) -> c_106() 107:W:isortlist#(z0) -> c_107(isortlist#1#(z0)) -->_1 isortlist#1#(::(z0,z1)) -> c_108(insert#(z0,isortlist(z1)),isortlist#(z1)):108 -->_1 isortlist#1#(nil()) -> c_109():109 108:W:isortlist#1#(::(z0,z1)) -> c_108(insert#(z0,isortlist(z1)),isortlist#(z1)) -->_2 isortlist#(z0) -> c_107(isortlist#1#(z0)):107 -->_1 insert#(z0,z1) -> c_102(insert#1#(z1,z0)):102 109:W:isortlist#1#(nil()) -> c_109() 110:W:leq#(z0,z1) -> c_110(leq#1#(z0,z1)) -->_1 leq#1#(::(z0,z1),z2) -> c_111(leq#2#(z2,z0,z1)):111 -->_1 leq#1#(nil(),z0) -> c_112():112 111:W:leq#1#(::(z0,z1),z2) -> c_111(leq#2#(z2,z0,z1)) -->_1 leq#2#(::(z0,z1),z2,z3) -> c_113(or#(#less(z2,z0),and(#equal(z2,z0),leq(z3,z1))) ,#less#(z2,z0) ,and#(#equal(z2,z0),leq(z3,z1)) ,#equal#(z2,z0) ,leq#(z3,z1)):113 -->_1 leq#2#(nil(),z0,z1) -> c_114():114 112:W:leq#1#(nil(),z0) -> c_112() 113:W:leq#2#(::(z0,z1),z2,z3) -> c_113(or#(#less(z2,z0),and(#equal(z2,z0),leq(z3,z1))) ,#less#(z2,z0) ,and#(#equal(z2,z0),leq(z3,z1)) ,#equal#(z2,z0) ,leq#(z3,z1)) -->_1 or#(z0,z1) -> c_115(#or#(z0,z1)):115 -->_5 leq#(z0,z1) -> c_110(leq#1#(z0,z1)):110 -->_3 and#(z0,z1) -> c_101(#and#(z0,z1)):101 -->_2 #less#(z0,z1) -> c_96(#cklt#(#compare(z0,z1)),#compare#(z0,z1)):87 -->_4 #equal#(z0,z1) -> c_95(#eq#(z0,z1)):86 114:W:leq#2#(nil(),z0,z1) -> c_114() 115:W:or#(z0,z1) -> c_115(#or#(z0,z1)) -->_1 #or#(#true(),#true()) -> c_100():91 -->_1 #or#(#true(),#false()) -> c_99():90 -->_1 #or#(#false(),#true()) -> c_98():89 -->_1 #or#(#false(),#false()) -> c_97():88 The following weak DPs constitute a sub-graph of the DG that is closed under successors. The DPs are removed. 95: ISORTLIST#1#(nil()) -> c_11() 107: isortlist#(z0) -> c_107(isortlist#1#(z0)) 108: isortlist#1#(::(z0,z1)) -> c_108(insert#(z0,isortlist(z1)),isortlist#(z1)) 109: isortlist#1#(nil()) -> c_109() 102: insert#(z0,z1) -> c_102(insert#1#(z1,z0)) 105: insert#2#(#false(),z0,z1,z2) -> c_105(insert#(z0,z2)) 103: insert#1#(::(z0,z1),z2) -> c_103(insert#2#(leq(z2,z0),z2,z0,z1),leq#(z2,z0)) 104: insert#1#(nil(),z0) -> c_104() 106: insert#2#(#true(),z0,z1,z2) -> c_106() 93: INSERT#1#(nil(),z0) -> c_6() 94: INSERT#2#(#true(),z0,z1,z2) -> c_8() 96: LEQ#1#(nil(),z0) -> c_14() 99: LEQ#2#(nil(),z0,z1) -> c_18() 97: LEQ#2#(::(z0,z1),z2,z3) -> c_15(OR#(#less(z2,z0),and(#equal(z2,z0),leq(z3,z1))) ,#less#(z2,z0) ,and#(#equal(z2,z0),leq(z3,z1)) ,#equal#(z2,z0) ,leq#(z3,z1) ,#LESS#(z2,z0)) 46: #LESS#(z0,z1) -> c_2(#CKLT#(#compare(z0,z1)),#compare#(z0,z1),#COMPARE#(z0,z1)) 13: #CKLT#(#EQ()) -> c_24() 14: #CKLT#(#GT()) -> c_25() 15: #CKLT#(#LT()) -> c_26() 27: #COMPARE#(#s(z0),#s(z1)) -> c_38(#COMPARE#(z0,z1)) 25: #COMPARE#(#pos(z0),#pos(z1)) -> c_36(#COMPARE#(z0,z1)) 21: #COMPARE#(#neg(z0),#neg(z1)) -> c_32(#COMPARE#(z1,z0)) 16: #COMPARE#(#0(),#0()) -> c_27() 17: #COMPARE#(#0(),#neg(z0)) -> c_28() 18: #COMPARE#(#0(),#pos(z0)) -> c_29() 19: #COMPARE#(#0(),#s(z0)) -> c_30() 20: #COMPARE#(#neg(z0),#0()) -> c_31() 22: #COMPARE#(#neg(z0),#pos(z1)) -> c_33() 23: #COMPARE#(#pos(z0),#0()) -> c_34() 24: #COMPARE#(#pos(z0),#neg(z1)) -> c_35() 26: #COMPARE#(#s(z0),#0()) -> c_37() 98: LEQ#2#(::(z0,z1),z2,z3) -> c_16(OR#(#less(z2,z0),and(#equal(z2,z0),leq(z3,z1))) ,#less#(z2,z0) ,and#(#equal(z2,z0),leq(z3,z1)) ,#equal#(z2,z0) ,leq#(z3,z1) ,AND#(#equal(z2,z0),leq(z3,z1)) ,#equal#(z2,z0) ,leq#(z3,z1) ,#EQUAL#(z2,z0)) 45: #EQUAL#(z0,z1) -> c_1(#EQ'#(z0,z1)) 41: #EQ'#(::(z0,z1),::(z2,z3)) -> c_52(#AND#(#eq(z0,z2),#eq(z1,z3)),#eq#(z0,z2),#eq#(z1,z3),#EQ'#(z1,z3)) 40: #EQ'#(::(z0,z1),::(z2,z3)) -> c_51(#AND#(#eq(z0,z2),#eq(z1,z3)),#eq#(z0,z2),#eq#(z1,z3),#EQ'#(z0,z2)) 39: #EQ'#(#s(z0),#s(z1)) -> c_50(#EQ'#(z0,z1)) 37: #EQ'#(#pos(z0),#pos(z1)) -> c_48(#EQ'#(z0,z1)) 33: #EQ'#(#neg(z0),#neg(z1)) -> c_44(#EQ'#(z0,z1)) 28: #EQ'#(#0(),#0()) -> c_39() 29: #EQ'#(#0(),#neg(z0)) -> c_40() 30: #EQ'#(#0(),#pos(z0)) -> c_41() 31: #EQ'#(#0(),#s(z0)) -> c_42() 32: #EQ'#(#neg(z0),#0()) -> c_43() 34: #EQ'#(#neg(z0),#pos(z1)) -> c_45() 35: #EQ'#(#pos(z0),#0()) -> c_46() 36: #EQ'#(#pos(z0),#neg(z1)) -> c_47() 38: #EQ'#(#s(z0),#0()) -> c_49() 42: #EQ'#(::(z0,z1),nil()) -> c_53() 43: #EQ'#(nil(),::(z0,z1)) -> c_54() 44: #EQ'#(nil(),nil()) -> c_55() 92: AND#(z0,z1) -> c_3(#AND#(z0,z1)) 9: #AND#(#false(),#false()) -> c_20() 10: #AND#(#false(),#true()) -> c_21() 11: #AND#(#true(),#false()) -> c_22() 12: #AND#(#true(),#true()) -> c_23() 100: OR#(z0,z1) -> c_19(#OR#(z0,z1)) 47: #OR#(#false(),#false()) -> c_56() 48: #OR#(#false(),#true()) -> c_57() 49: #OR#(#true(),#false()) -> c_58() 50: #OR#(#true(),#true()) -> c_59() 110: leq#(z0,z1) -> c_110(leq#1#(z0,z1)) 113: leq#2#(::(z0,z1),z2,z3) -> c_113(or#(#less(z2,z0),and(#equal(z2,z0),leq(z3,z1))) ,#less#(z2,z0) ,and#(#equal(z2,z0),leq(z3,z1)) ,#equal#(z2,z0) ,leq#(z3,z1)) 111: leq#1#(::(z0,z1),z2) -> c_111(leq#2#(z2,z0,z1)) 112: leq#1#(nil(),z0) -> c_112() 114: leq#2#(nil(),z0,z1) -> c_114() 86: #equal#(z0,z1) -> c_95(#eq#(z0,z1)) 82: #eq#(::(z0,z1),::(z2,z3)) -> c_91(#and#(#eq(z0,z2),#eq(z1,z3)),#eq#(z0,z2),#eq#(z1,z3)) 81: #eq#(#s(z0),#s(z1)) -> c_90(#eq#(z0,z1)) 79: #eq#(#pos(z0),#pos(z1)) -> c_88(#eq#(z0,z1)) 75: #eq#(#neg(z0),#neg(z1)) -> c_84(#eq#(z0,z1)) 70: #eq#(#0(),#0()) -> c_79() 71: #eq#(#0(),#neg(z0)) -> c_80() 72: #eq#(#0(),#pos(z0)) -> c_81() 73: #eq#(#0(),#s(z0)) -> c_82() 74: #eq#(#neg(z0),#0()) -> c_83() 76: #eq#(#neg(z0),#pos(z1)) -> c_85() 77: #eq#(#pos(z0),#0()) -> c_86() 78: #eq#(#pos(z0),#neg(z1)) -> c_87() 80: #eq#(#s(z0),#0()) -> c_89() 83: #eq#(::(z0,z1),nil()) -> c_92() 84: #eq#(nil(),::(z0,z1)) -> c_93() 85: #eq#(nil(),nil()) -> c_94() 87: #less#(z0,z1) -> c_96(#cklt#(#compare(z0,z1)),#compare#(z0,z1)) 55: #cklt#(#EQ()) -> c_64() 56: #cklt#(#GT()) -> c_65() 57: #cklt#(#LT()) -> c_66() 69: #compare#(#s(z0),#s(z1)) -> c_78(#compare#(z0,z1)) 67: #compare#(#pos(z0),#pos(z1)) -> c_76(#compare#(z0,z1)) 63: #compare#(#neg(z0),#neg(z1)) -> c_72(#compare#(z1,z0)) 58: #compare#(#0(),#0()) -> c_67() 59: #compare#(#0(),#neg(z0)) -> c_68() 60: #compare#(#0(),#pos(z0)) -> c_69() 61: #compare#(#0(),#s(z0)) -> c_70() 62: #compare#(#neg(z0),#0()) -> c_71() 64: #compare#(#neg(z0),#pos(z1)) -> c_73() 65: #compare#(#pos(z0),#0()) -> c_74() 66: #compare#(#pos(z0),#neg(z1)) -> c_75() 68: #compare#(#s(z0),#0()) -> c_77() 101: and#(z0,z1) -> c_101(#and#(z0,z1)) 51: #and#(#false(),#false()) -> c_60() 52: #and#(#false(),#true()) -> c_61() 53: #and#(#true(),#false()) -> c_62() 54: #and#(#true(),#true()) -> c_63() 115: or#(z0,z1) -> c_115(#or#(z0,z1)) 88: #or#(#false(),#false()) -> c_97() 89: #or#(#false(),#true()) -> c_98() 90: #or#(#true(),#false()) -> c_99() 91: #or#(#true(),#true()) -> c_100() * Step 6: SimplifyRHS. WORST_CASE(?,O(n^3)) + Considered Problem: - Strict DPs: INSERT#(z0,z1) -> c_4(INSERT#1#(z1,z0)) INSERT#1#(::(z0,z1),z2) -> c_5(INSERT#2#(leq(z2,z0),z2,z0,z1),leq#(z2,z0),LEQ#(z2,z0)) INSERT#2#(#false(),z0,z1,z2) -> c_7(INSERT#(z0,z2)) ISORTLIST#(z0) -> c_9(ISORTLIST#1#(z0)) ISORTLIST#1#(::(z0,z1)) -> c_10(INSERT#(z0,isortlist(z1)),isortlist#(z1),ISORTLIST#(z1)) LEQ#(z0,z1) -> c_12(LEQ#1#(z0,z1)) LEQ#1#(::(z0,z1),z2) -> c_13(LEQ#2#(z2,z0,z1)) LEQ#2#(::(z0,z1),z2,z3) -> c_17(OR#(#less(z2,z0),and(#equal(z2,z0),leq(z3,z1))) ,#less#(z2,z0) ,and#(#equal(z2,z0),leq(z3,z1)) ,#equal#(z2,z0) ,leq#(z3,z1) ,AND#(#equal(z2,z0),leq(z3,z1)) ,#equal#(z2,z0) ,leq#(z3,z1) ,LEQ#(z3,z1)) - Weak TRS: #AND(#false(),#false()) -> c() #AND(#false(),#true()) -> c1() #AND(#true(),#false()) -> c2() #AND(#true(),#true()) -> c3() #CKLT(#EQ()) -> c4() #CKLT(#GT()) -> c5() #CKLT(#LT()) -> c6() #COMPARE(#0(),#0()) -> c7() #COMPARE(#0(),#neg(z0)) -> c8() #COMPARE(#0(),#pos(z0)) -> c9() #COMPARE(#0(),#s(z0)) -> c10() #COMPARE(#neg(z0),#0()) -> c11() #COMPARE(#neg(z0),#neg(z1)) -> c12(#COMPARE(z1,z0)) #COMPARE(#neg(z0),#pos(z1)) -> c13() #COMPARE(#pos(z0),#0()) -> c14() #COMPARE(#pos(z0),#neg(z1)) -> c15() #COMPARE(#pos(z0),#pos(z1)) -> c16(#COMPARE(z0,z1)) #COMPARE(#s(z0),#0()) -> c17() #COMPARE(#s(z0),#s(z1)) -> c18(#COMPARE(z0,z1)) #EQ'(#0(),#0()) -> c19() #EQ'(#0(),#neg(z0)) -> c20() #EQ'(#0(),#pos(z0)) -> c21() #EQ'(#0(),#s(z0)) -> c22() #EQ'(#neg(z0),#0()) -> c23() #EQ'(#neg(z0),#neg(z1)) -> c24(#EQ'(z0,z1)) #EQ'(#neg(z0),#pos(z1)) -> c25() #EQ'(#pos(z0),#0()) -> c26() #EQ'(#pos(z0),#neg(z1)) -> c27() #EQ'(#pos(z0),#pos(z1)) -> c28(#EQ'(z0,z1)) #EQ'(#s(z0),#0()) -> c29() #EQ'(#s(z0),#s(z1)) -> c30(#EQ'(z0,z1)) #EQ'(::(z0,z1),::(z2,z3)) -> c31(#AND(#eq(z0,z2),#eq(z1,z3)),#EQ'(z0,z2)) #EQ'(::(z0,z1),::(z2,z3)) -> c32(#AND(#eq(z0,z2),#eq(z1,z3)),#EQ'(z1,z3)) #EQ'(::(z0,z1),nil()) -> c33() #EQ'(nil(),::(z0,z1)) -> c34() #EQ'(nil(),nil()) -> c35() #EQUAL(z0,z1) -> c40(#EQ'(z0,z1)) #LESS(z0,z1) -> c41(#CKLT(#compare(z0,z1)),#COMPARE(z0,z1)) #OR(#false(),#false()) -> c36() #OR(#false(),#true()) -> c37() #OR(#true(),#false()) -> c38() #OR(#true(),#true()) -> c39() #and(#false(),#false()) -> #false() #and(#false(),#true()) -> #false() #and(#true(),#false()) -> #false() #and(#true(),#true()) -> #true() #cklt(#EQ()) -> #false() #cklt(#GT()) -> #false() #cklt(#LT()) -> #true() #compare(#0(),#0()) -> #EQ() #compare(#0(),#neg(z0)) -> #GT() #compare(#0(),#pos(z0)) -> #LT() #compare(#0(),#s(z0)) -> #LT() #compare(#neg(z0),#0()) -> #LT() #compare(#neg(z0),#neg(z1)) -> #compare(z1,z0) #compare(#neg(z0),#pos(z1)) -> #LT() #compare(#pos(z0),#0()) -> #GT() #compare(#pos(z0),#neg(z1)) -> #GT() #compare(#pos(z0),#pos(z1)) -> #compare(z0,z1) #compare(#s(z0),#0()) -> #GT() #compare(#s(z0),#s(z1)) -> #compare(z0,z1) #eq(#0(),#0()) -> #true() #eq(#0(),#neg(z0)) -> #false() #eq(#0(),#pos(z0)) -> #false() #eq(#0(),#s(z0)) -> #false() #eq(#neg(z0),#0()) -> #false() #eq(#neg(z0),#neg(z1)) -> #eq(z0,z1) #eq(#neg(z0),#pos(z1)) -> #false() #eq(#pos(z0),#0()) -> #false() #eq(#pos(z0),#neg(z1)) -> #false() #eq(#pos(z0),#pos(z1)) -> #eq(z0,z1) #eq(#s(z0),#0()) -> #false() #eq(#s(z0),#s(z1)) -> #eq(z0,z1) #eq(::(z0,z1),::(z2,z3)) -> #and(#eq(z0,z2),#eq(z1,z3)) #eq(::(z0,z1),nil()) -> #false() #eq(nil(),::(z0,z1)) -> #false() #eq(nil(),nil()) -> #true() #equal(z0,z1) -> #eq(z0,z1) #less(z0,z1) -> #cklt(#compare(z0,z1)) #or(#false(),#false()) -> #false() #or(#false(),#true()) -> #true() #or(#true(),#false()) -> #true() #or(#true(),#true()) -> #true() AND(z0,z1) -> c42(#AND(z0,z1)) INSERT(z0,z1) -> c43(INSERT#1(z1,z0)) INSERT#1(::(z0,z1),z2) -> c44(INSERT#2(leq(z2,z0),z2,z0,z1),LEQ(z2,z0)) INSERT#1(nil(),z0) -> c45() INSERT#2(#false(),z0,z1,z2) -> c46(INSERT(z0,z2)) INSERT#2(#true(),z0,z1,z2) -> c47() ISORTLIST(z0) -> c48(ISORTLIST#1(z0)) ISORTLIST#1(::(z0,z1)) -> c49(INSERT(z0,isortlist(z1)),ISORTLIST(z1)) ISORTLIST#1(nil()) -> c50() LEQ(z0,z1) -> c51(LEQ#1(z0,z1)) LEQ#1(::(z0,z1),z2) -> c52(LEQ#2(z2,z0,z1)) LEQ#1(nil(),z0) -> c53() LEQ#2(::(z0,z1),z2,z3) -> c54(OR(#less(z2,z0),and(#equal(z2,z0),leq(z3,z1))),#LESS(z2,z0)) LEQ#2(::(z0,z1),z2,z3) -> c55(OR(#less(z2,z0),and(#equal(z2,z0),leq(z3,z1))) ,AND(#equal(z2,z0),leq(z3,z1)) ,#EQUAL(z2,z0)) LEQ#2(::(z0,z1),z2,z3) -> c56(OR(#less(z2,z0),and(#equal(z2,z0),leq(z3,z1))) ,AND(#equal(z2,z0),leq(z3,z1)) ,LEQ(z3,z1)) LEQ#2(nil(),z0,z1) -> c57() OR(z0,z1) -> c58(#OR(z0,z1)) and(z0,z1) -> #and(z0,z1) insert(z0,z1) -> insert#1(z1,z0) insert#1(::(z0,z1),z2) -> insert#2(leq(z2,z0),z2,z0,z1) insert#1(nil(),z0) -> ::(z0,nil()) insert#2(#false(),z0,z1,z2) -> ::(z1,insert(z0,z2)) insert#2(#true(),z0,z1,z2) -> ::(z0,::(z1,z2)) isortlist(z0) -> isortlist#1(z0) isortlist#1(::(z0,z1)) -> insert(z0,isortlist(z1)) isortlist#1(nil()) -> nil() leq(z0,z1) -> leq#1(z0,z1) leq#1(::(z0,z1),z2) -> leq#2(z2,z0,z1) leq#1(nil(),z0) -> #true() leq#2(::(z0,z1),z2,z3) -> or(#less(z2,z0),and(#equal(z2,z0),leq(z3,z1))) leq#2(nil(),z0,z1) -> #false() or(z0,z1) -> #or(z0,z1) - Signature: {#AND/2,#CKLT/1,#COMPARE/2,#EQ'/2,#EQUAL/2,#LESS/2,#OR/2,#and/2,#cklt/1,#compare/2,#eq/2,#equal/2,#less/2 ,#or/2,AND/2,INSERT/2,INSERT#1/2,INSERT#2/4,ISORTLIST/1,ISORTLIST#1/1,LEQ/2,LEQ#1/2,LEQ#2/3,OR/2,and/2 ,insert/2,insert#1/2,insert#2/4,isortlist/1,isortlist#1/1,leq/2,leq#1/2,leq#2/3,or/2,#AND#/2,#CKLT#/1 ,#COMPARE#/2,#EQ'#/2,#EQUAL#/2,#LESS#/2,#OR#/2,#and#/2,#cklt#/1,#compare#/2,#eq#/2,#equal#/2,#less#/2,#or#/2 ,AND#/2,INSERT#/2,INSERT#1#/2,INSERT#2#/4,ISORTLIST#/1,ISORTLIST#1#/1,LEQ#/2,LEQ#1#/2,LEQ#2#/3,OR#/2,and#/2 ,insert#/2,insert#1#/2,insert#2#/4,isortlist#/1,isortlist#1#/1,leq#/2,leq#1#/2,leq#2#/3,or#/2} / {#0/0,#EQ/0 ,#GT/0,#LT/0,#false/0,#neg/1,#pos/1,#s/1,#true/0,::/2,c/0,c1/0,c10/0,c11/0,c12/1,c13/0,c14/0,c15/0,c16/1 ,c17/0,c18/1,c19/0,c2/0,c20/0,c21/0,c22/0,c23/0,c24/1,c25/0,c26/0,c27/0,c28/1,c29/0,c3/0,c30/1,c31/2,c32/2 ,c33/0,c34/0,c35/0,c36/0,c37/0,c38/0,c39/0,c4/0,c40/1,c41/2,c42/1,c43/1,c44/2,c45/0,c46/1,c47/0,c48/1,c49/2 ,c5/0,c50/0,c51/1,c52/1,c53/0,c54/2,c55/3,c56/3,c57/0,c58/1,c6/0,c7/0,c8/0,c9/0,nil/0,c_1/1,c_2/3,c_3/1 ,c_4/1,c_5/3,c_6/0,c_7/1,c_8/0,c_9/1,c_10/3,c_11/0,c_12/1,c_13/1,c_14/0,c_15/6,c_16/9,c_17/9,c_18/0,c_19/1 ,c_20/0,c_21/0,c_22/0,c_23/0,c_24/0,c_25/0,c_26/0,c_27/0,c_28/0,c_29/0,c_30/0,c_31/0,c_32/1,c_33/0,c_34/0 ,c_35/0,c_36/1,c_37/0,c_38/1,c_39/0,c_40/0,c_41/0,c_42/0,c_43/0,c_44/1,c_45/0,c_46/0,c_47/0,c_48/1,c_49/0 ,c_50/1,c_51/4,c_52/4,c_53/0,c_54/0,c_55/0,c_56/0,c_57/0,c_58/0,c_59/0,c_60/0,c_61/0,c_62/0,c_63/0,c_64/0 ,c_65/0,c_66/0,c_67/0,c_68/0,c_69/0,c_70/0,c_71/0,c_72/1,c_73/0,c_74/0,c_75/0,c_76/1,c_77/0,c_78/1,c_79/0 ,c_80/0,c_81/0,c_82/0,c_83/0,c_84/1,c_85/0,c_86/0,c_87/0,c_88/1,c_89/0,c_90/1,c_91/3,c_92/0,c_93/0,c_94/0 ,c_95/1,c_96/2,c_97/0,c_98/0,c_99/0,c_100/0,c_101/1,c_102/1,c_103/2,c_104/0,c_105/1,c_106/0,c_107/1,c_108/2 ,c_109/0,c_110/1,c_111/1,c_112/0,c_113/5,c_114/0,c_115/1} - Obligation: innermost runtime complexity wrt. defined symbols {#AND#,#CKLT#,#COMPARE#,#EQ'#,#EQUAL#,#LESS#,#OR#,#and# ,#cklt#,#compare#,#eq#,#equal#,#less#,#or#,AND#,INSERT#,INSERT#1#,INSERT#2#,ISORTLIST#,ISORTLIST#1#,LEQ# ,LEQ#1#,LEQ#2#,OR#,and#,insert#,insert#1#,insert#2#,isortlist#,isortlist#1#,leq#,leq#1#,leq#2# ,or#} and constructors {#0,#EQ,#GT,#LT,#false,#neg,#pos,#s,#true,::,c,c1,c10,c11,c12,c13,c14,c15,c16,c17,c18 ,c19,c2,c20,c21,c22,c23,c24,c25,c26,c27,c28,c29,c3,c30,c31,c32,c33,c34,c35,c36,c37,c38,c39,c4,c40,c41,c42 ,c43,c44,c45,c46,c47,c48,c49,c5,c50,c51,c52,c53,c54,c55,c56,c57,c58,c6,c7,c8,c9,nil} + Applied Processor: SimplifyRHS + Details: Consider the dependency graph 1:S:INSERT#(z0,z1) -> c_4(INSERT#1#(z1,z0)) -->_1 INSERT#1#(::(z0,z1),z2) -> c_5(INSERT#2#(leq(z2,z0),z2,z0,z1),leq#(z2,z0),LEQ#(z2,z0)):2 2:S:INSERT#1#(::(z0,z1),z2) -> c_5(INSERT#2#(leq(z2,z0),z2,z0,z1),leq#(z2,z0),LEQ#(z2,z0)) -->_3 LEQ#(z0,z1) -> c_12(LEQ#1#(z0,z1)):6 -->_1 INSERT#2#(#false(),z0,z1,z2) -> c_7(INSERT#(z0,z2)):3 3:S:INSERT#2#(#false(),z0,z1,z2) -> c_7(INSERT#(z0,z2)) -->_1 INSERT#(z0,z1) -> c_4(INSERT#1#(z1,z0)):1 4:S:ISORTLIST#(z0) -> c_9(ISORTLIST#1#(z0)) -->_1 ISORTLIST#1#(::(z0,z1)) -> c_10(INSERT#(z0,isortlist(z1)),isortlist#(z1),ISORTLIST#(z1)):5 5:S:ISORTLIST#1#(::(z0,z1)) -> c_10(INSERT#(z0,isortlist(z1)),isortlist#(z1),ISORTLIST#(z1)) -->_3 ISORTLIST#(z0) -> c_9(ISORTLIST#1#(z0)):4 -->_1 INSERT#(z0,z1) -> c_4(INSERT#1#(z1,z0)):1 6:S:LEQ#(z0,z1) -> c_12(LEQ#1#(z0,z1)) -->_1 LEQ#1#(::(z0,z1),z2) -> c_13(LEQ#2#(z2,z0,z1)):7 7:S:LEQ#1#(::(z0,z1),z2) -> c_13(LEQ#2#(z2,z0,z1)) -->_1 LEQ#2#(::(z0,z1),z2,z3) -> c_17(OR#(#less(z2,z0),and(#equal(z2,z0),leq(z3,z1))) ,#less#(z2,z0) ,and#(#equal(z2,z0),leq(z3,z1)) ,#equal#(z2,z0) ,leq#(z3,z1) ,AND#(#equal(z2,z0),leq(z3,z1)) ,#equal#(z2,z0) ,leq#(z3,z1) ,LEQ#(z3,z1)):8 8:S:LEQ#2#(::(z0,z1),z2,z3) -> c_17(OR#(#less(z2,z0),and(#equal(z2,z0),leq(z3,z1))) ,#less#(z2,z0) ,and#(#equal(z2,z0),leq(z3,z1)) ,#equal#(z2,z0) ,leq#(z3,z1) ,AND#(#equal(z2,z0),leq(z3,z1)) ,#equal#(z2,z0) ,leq#(z3,z1) ,LEQ#(z3,z1)) -->_9 LEQ#(z0,z1) -> c_12(LEQ#1#(z0,z1)):6 Due to missing edges in the depndency graph, the right-hand sides of following rules could be simplified: INSERT#1#(::(z0,z1),z2) -> c_5(INSERT#2#(leq(z2,z0),z2,z0,z1),LEQ#(z2,z0)) ISORTLIST#1#(::(z0,z1)) -> c_10(INSERT#(z0,isortlist(z1)),ISORTLIST#(z1)) LEQ#2#(::(z0,z1),z2,z3) -> c_17(LEQ#(z3,z1)) * Step 7: UsableRules. WORST_CASE(?,O(n^3)) + Considered Problem: - Strict DPs: INSERT#(z0,z1) -> c_4(INSERT#1#(z1,z0)) INSERT#1#(::(z0,z1),z2) -> c_5(INSERT#2#(leq(z2,z0),z2,z0,z1),LEQ#(z2,z0)) INSERT#2#(#false(),z0,z1,z2) -> c_7(INSERT#(z0,z2)) ISORTLIST#(z0) -> c_9(ISORTLIST#1#(z0)) ISORTLIST#1#(::(z0,z1)) -> c_10(INSERT#(z0,isortlist(z1)),ISORTLIST#(z1)) LEQ#(z0,z1) -> c_12(LEQ#1#(z0,z1)) LEQ#1#(::(z0,z1),z2) -> c_13(LEQ#2#(z2,z0,z1)) LEQ#2#(::(z0,z1),z2,z3) -> c_17(LEQ#(z3,z1)) - Weak TRS: #AND(#false(),#false()) -> c() #AND(#false(),#true()) -> c1() #AND(#true(),#false()) -> c2() #AND(#true(),#true()) -> c3() #CKLT(#EQ()) -> c4() #CKLT(#GT()) -> c5() #CKLT(#LT()) -> c6() #COMPARE(#0(),#0()) -> c7() #COMPARE(#0(),#neg(z0)) -> c8() #COMPARE(#0(),#pos(z0)) -> c9() #COMPARE(#0(),#s(z0)) -> c10() #COMPARE(#neg(z0),#0()) -> c11() #COMPARE(#neg(z0),#neg(z1)) -> c12(#COMPARE(z1,z0)) #COMPARE(#neg(z0),#pos(z1)) -> c13() #COMPARE(#pos(z0),#0()) -> c14() #COMPARE(#pos(z0),#neg(z1)) -> c15() #COMPARE(#pos(z0),#pos(z1)) -> c16(#COMPARE(z0,z1)) #COMPARE(#s(z0),#0()) -> c17() #COMPARE(#s(z0),#s(z1)) -> c18(#COMPARE(z0,z1)) #EQ'(#0(),#0()) -> c19() #EQ'(#0(),#neg(z0)) -> c20() #EQ'(#0(),#pos(z0)) -> c21() #EQ'(#0(),#s(z0)) -> c22() #EQ'(#neg(z0),#0()) -> c23() #EQ'(#neg(z0),#neg(z1)) -> c24(#EQ'(z0,z1)) #EQ'(#neg(z0),#pos(z1)) -> c25() #EQ'(#pos(z0),#0()) -> c26() #EQ'(#pos(z0),#neg(z1)) -> c27() #EQ'(#pos(z0),#pos(z1)) -> c28(#EQ'(z0,z1)) #EQ'(#s(z0),#0()) -> c29() #EQ'(#s(z0),#s(z1)) -> c30(#EQ'(z0,z1)) #EQ'(::(z0,z1),::(z2,z3)) -> c31(#AND(#eq(z0,z2),#eq(z1,z3)),#EQ'(z0,z2)) #EQ'(::(z0,z1),::(z2,z3)) -> c32(#AND(#eq(z0,z2),#eq(z1,z3)),#EQ'(z1,z3)) #EQ'(::(z0,z1),nil()) -> c33() #EQ'(nil(),::(z0,z1)) -> c34() #EQ'(nil(),nil()) -> c35() #EQUAL(z0,z1) -> c40(#EQ'(z0,z1)) #LESS(z0,z1) -> c41(#CKLT(#compare(z0,z1)),#COMPARE(z0,z1)) #OR(#false(),#false()) -> c36() #OR(#false(),#true()) -> c37() #OR(#true(),#false()) -> c38() #OR(#true(),#true()) -> c39() #and(#false(),#false()) -> #false() #and(#false(),#true()) -> #false() #and(#true(),#false()) -> #false() #and(#true(),#true()) -> #true() #cklt(#EQ()) -> #false() #cklt(#GT()) -> #false() #cklt(#LT()) -> #true() #compare(#0(),#0()) -> #EQ() #compare(#0(),#neg(z0)) -> #GT() #compare(#0(),#pos(z0)) -> #LT() #compare(#0(),#s(z0)) -> #LT() #compare(#neg(z0),#0()) -> #LT() #compare(#neg(z0),#neg(z1)) -> #compare(z1,z0) #compare(#neg(z0),#pos(z1)) -> #LT() #compare(#pos(z0),#0()) -> #GT() #compare(#pos(z0),#neg(z1)) -> #GT() #compare(#pos(z0),#pos(z1)) -> #compare(z0,z1) #compare(#s(z0),#0()) -> #GT() #compare(#s(z0),#s(z1)) -> #compare(z0,z1) #eq(#0(),#0()) -> #true() #eq(#0(),#neg(z0)) -> #false() #eq(#0(),#pos(z0)) -> #false() #eq(#0(),#s(z0)) -> #false() #eq(#neg(z0),#0()) -> #false() #eq(#neg(z0),#neg(z1)) -> #eq(z0,z1) #eq(#neg(z0),#pos(z1)) -> #false() #eq(#pos(z0),#0()) -> #false() #eq(#pos(z0),#neg(z1)) -> #false() #eq(#pos(z0),#pos(z1)) -> #eq(z0,z1) #eq(#s(z0),#0()) -> #false() #eq(#s(z0),#s(z1)) -> #eq(z0,z1) #eq(::(z0,z1),::(z2,z3)) -> #and(#eq(z0,z2),#eq(z1,z3)) #eq(::(z0,z1),nil()) -> #false() #eq(nil(),::(z0,z1)) -> #false() #eq(nil(),nil()) -> #true() #equal(z0,z1) -> #eq(z0,z1) #less(z0,z1) -> #cklt(#compare(z0,z1)) #or(#false(),#false()) -> #false() #or(#false(),#true()) -> #true() #or(#true(),#false()) -> #true() #or(#true(),#true()) -> #true() AND(z0,z1) -> c42(#AND(z0,z1)) INSERT(z0,z1) -> c43(INSERT#1(z1,z0)) INSERT#1(::(z0,z1),z2) -> c44(INSERT#2(leq(z2,z0),z2,z0,z1),LEQ(z2,z0)) INSERT#1(nil(),z0) -> c45() INSERT#2(#false(),z0,z1,z2) -> c46(INSERT(z0,z2)) INSERT#2(#true(),z0,z1,z2) -> c47() ISORTLIST(z0) -> c48(ISORTLIST#1(z0)) ISORTLIST#1(::(z0,z1)) -> c49(INSERT(z0,isortlist(z1)),ISORTLIST(z1)) ISORTLIST#1(nil()) -> c50() LEQ(z0,z1) -> c51(LEQ#1(z0,z1)) LEQ#1(::(z0,z1),z2) -> c52(LEQ#2(z2,z0,z1)) LEQ#1(nil(),z0) -> c53() LEQ#2(::(z0,z1),z2,z3) -> c54(OR(#less(z2,z0),and(#equal(z2,z0),leq(z3,z1))),#LESS(z2,z0)) LEQ#2(::(z0,z1),z2,z3) -> c55(OR(#less(z2,z0),and(#equal(z2,z0),leq(z3,z1))) ,AND(#equal(z2,z0),leq(z3,z1)) ,#EQUAL(z2,z0)) LEQ#2(::(z0,z1),z2,z3) -> c56(OR(#less(z2,z0),and(#equal(z2,z0),leq(z3,z1))) ,AND(#equal(z2,z0),leq(z3,z1)) ,LEQ(z3,z1)) LEQ#2(nil(),z0,z1) -> c57() OR(z0,z1) -> c58(#OR(z0,z1)) and(z0,z1) -> #and(z0,z1) insert(z0,z1) -> insert#1(z1,z0) insert#1(::(z0,z1),z2) -> insert#2(leq(z2,z0),z2,z0,z1) insert#1(nil(),z0) -> ::(z0,nil()) insert#2(#false(),z0,z1,z2) -> ::(z1,insert(z0,z2)) insert#2(#true(),z0,z1,z2) -> ::(z0,::(z1,z2)) isortlist(z0) -> isortlist#1(z0) isortlist#1(::(z0,z1)) -> insert(z0,isortlist(z1)) isortlist#1(nil()) -> nil() leq(z0,z1) -> leq#1(z0,z1) leq#1(::(z0,z1),z2) -> leq#2(z2,z0,z1) leq#1(nil(),z0) -> #true() leq#2(::(z0,z1),z2,z3) -> or(#less(z2,z0),and(#equal(z2,z0),leq(z3,z1))) leq#2(nil(),z0,z1) -> #false() or(z0,z1) -> #or(z0,z1) - Signature: {#AND/2,#CKLT/1,#COMPARE/2,#EQ'/2,#EQUAL/2,#LESS/2,#OR/2,#and/2,#cklt/1,#compare/2,#eq/2,#equal/2,#less/2 ,#or/2,AND/2,INSERT/2,INSERT#1/2,INSERT#2/4,ISORTLIST/1,ISORTLIST#1/1,LEQ/2,LEQ#1/2,LEQ#2/3,OR/2,and/2 ,insert/2,insert#1/2,insert#2/4,isortlist/1,isortlist#1/1,leq/2,leq#1/2,leq#2/3,or/2,#AND#/2,#CKLT#/1 ,#COMPARE#/2,#EQ'#/2,#EQUAL#/2,#LESS#/2,#OR#/2,#and#/2,#cklt#/1,#compare#/2,#eq#/2,#equal#/2,#less#/2,#or#/2 ,AND#/2,INSERT#/2,INSERT#1#/2,INSERT#2#/4,ISORTLIST#/1,ISORTLIST#1#/1,LEQ#/2,LEQ#1#/2,LEQ#2#/3,OR#/2,and#/2 ,insert#/2,insert#1#/2,insert#2#/4,isortlist#/1,isortlist#1#/1,leq#/2,leq#1#/2,leq#2#/3,or#/2} / {#0/0,#EQ/0 ,#GT/0,#LT/0,#false/0,#neg/1,#pos/1,#s/1,#true/0,::/2,c/0,c1/0,c10/0,c11/0,c12/1,c13/0,c14/0,c15/0,c16/1 ,c17/0,c18/1,c19/0,c2/0,c20/0,c21/0,c22/0,c23/0,c24/1,c25/0,c26/0,c27/0,c28/1,c29/0,c3/0,c30/1,c31/2,c32/2 ,c33/0,c34/0,c35/0,c36/0,c37/0,c38/0,c39/0,c4/0,c40/1,c41/2,c42/1,c43/1,c44/2,c45/0,c46/1,c47/0,c48/1,c49/2 ,c5/0,c50/0,c51/1,c52/1,c53/0,c54/2,c55/3,c56/3,c57/0,c58/1,c6/0,c7/0,c8/0,c9/0,nil/0,c_1/1,c_2/3,c_3/1 ,c_4/1,c_5/2,c_6/0,c_7/1,c_8/0,c_9/1,c_10/2,c_11/0,c_12/1,c_13/1,c_14/0,c_15/6,c_16/9,c_17/1,c_18/0,c_19/1 ,c_20/0,c_21/0,c_22/0,c_23/0,c_24/0,c_25/0,c_26/0,c_27/0,c_28/0,c_29/0,c_30/0,c_31/0,c_32/1,c_33/0,c_34/0 ,c_35/0,c_36/1,c_37/0,c_38/1,c_39/0,c_40/0,c_41/0,c_42/0,c_43/0,c_44/1,c_45/0,c_46/0,c_47/0,c_48/1,c_49/0 ,c_50/1,c_51/4,c_52/4,c_53/0,c_54/0,c_55/0,c_56/0,c_57/0,c_58/0,c_59/0,c_60/0,c_61/0,c_62/0,c_63/0,c_64/0 ,c_65/0,c_66/0,c_67/0,c_68/0,c_69/0,c_70/0,c_71/0,c_72/1,c_73/0,c_74/0,c_75/0,c_76/1,c_77/0,c_78/1,c_79/0 ,c_80/0,c_81/0,c_82/0,c_83/0,c_84/1,c_85/0,c_86/0,c_87/0,c_88/1,c_89/0,c_90/1,c_91/3,c_92/0,c_93/0,c_94/0 ,c_95/1,c_96/2,c_97/0,c_98/0,c_99/0,c_100/0,c_101/1,c_102/1,c_103/2,c_104/0,c_105/1,c_106/0,c_107/1,c_108/2 ,c_109/0,c_110/1,c_111/1,c_112/0,c_113/5,c_114/0,c_115/1} - Obligation: innermost runtime complexity wrt. defined symbols {#AND#,#CKLT#,#COMPARE#,#EQ'#,#EQUAL#,#LESS#,#OR#,#and# ,#cklt#,#compare#,#eq#,#equal#,#less#,#or#,AND#,INSERT#,INSERT#1#,INSERT#2#,ISORTLIST#,ISORTLIST#1#,LEQ# ,LEQ#1#,LEQ#2#,OR#,and#,insert#,insert#1#,insert#2#,isortlist#,isortlist#1#,leq#,leq#1#,leq#2# ,or#} and constructors {#0,#EQ,#GT,#LT,#false,#neg,#pos,#s,#true,::,c,c1,c10,c11,c12,c13,c14,c15,c16,c17,c18 ,c19,c2,c20,c21,c22,c23,c24,c25,c26,c27,c28,c29,c3,c30,c31,c32,c33,c34,c35,c36,c37,c38,c39,c4,c40,c41,c42 ,c43,c44,c45,c46,c47,c48,c49,c5,c50,c51,c52,c53,c54,c55,c56,c57,c58,c6,c7,c8,c9,nil} + Applied Processor: UsableRules + Details: We replace rewrite rules by usable rules: #and(#false(),#false()) -> #false() #and(#false(),#true()) -> #false() #and(#true(),#false()) -> #false() #and(#true(),#true()) -> #true() #cklt(#EQ()) -> #false() #cklt(#GT()) -> #false() #cklt(#LT()) -> #true() #compare(#0(),#0()) -> #EQ() #compare(#0(),#neg(z0)) -> #GT() #compare(#0(),#pos(z0)) -> #LT() #compare(#0(),#s(z0)) -> #LT() #compare(#neg(z0),#0()) -> #LT() #compare(#neg(z0),#neg(z1)) -> #compare(z1,z0) #compare(#neg(z0),#pos(z1)) -> #LT() #compare(#pos(z0),#0()) -> #GT() #compare(#pos(z0),#neg(z1)) -> #GT() #compare(#pos(z0),#pos(z1)) -> #compare(z0,z1) #compare(#s(z0),#0()) -> #GT() #compare(#s(z0),#s(z1)) -> #compare(z0,z1) #eq(#0(),#0()) -> #true() #eq(#0(),#neg(z0)) -> #false() #eq(#0(),#pos(z0)) -> #false() #eq(#0(),#s(z0)) -> #false() #eq(#neg(z0),#0()) -> #false() #eq(#neg(z0),#neg(z1)) -> #eq(z0,z1) #eq(#neg(z0),#pos(z1)) -> #false() #eq(#pos(z0),#0()) -> #false() #eq(#pos(z0),#neg(z1)) -> #false() #eq(#pos(z0),#pos(z1)) -> #eq(z0,z1) #eq(#s(z0),#0()) -> #false() #eq(#s(z0),#s(z1)) -> #eq(z0,z1) #eq(::(z0,z1),::(z2,z3)) -> #and(#eq(z0,z2),#eq(z1,z3)) #eq(::(z0,z1),nil()) -> #false() #eq(nil(),::(z0,z1)) -> #false() #eq(nil(),nil()) -> #true() #equal(z0,z1) -> #eq(z0,z1) #less(z0,z1) -> #cklt(#compare(z0,z1)) #or(#false(),#false()) -> #false() #or(#false(),#true()) -> #true() #or(#true(),#false()) -> #true() #or(#true(),#true()) -> #true() and(z0,z1) -> #and(z0,z1) insert(z0,z1) -> insert#1(z1,z0) insert#1(::(z0,z1),z2) -> insert#2(leq(z2,z0),z2,z0,z1) insert#1(nil(),z0) -> ::(z0,nil()) insert#2(#false(),z0,z1,z2) -> ::(z1,insert(z0,z2)) insert#2(#true(),z0,z1,z2) -> ::(z0,::(z1,z2)) isortlist(z0) -> isortlist#1(z0) isortlist#1(::(z0,z1)) -> insert(z0,isortlist(z1)) isortlist#1(nil()) -> nil() leq(z0,z1) -> leq#1(z0,z1) leq#1(::(z0,z1),z2) -> leq#2(z2,z0,z1) leq#1(nil(),z0) -> #true() leq#2(::(z0,z1),z2,z3) -> or(#less(z2,z0),and(#equal(z2,z0),leq(z3,z1))) leq#2(nil(),z0,z1) -> #false() or(z0,z1) -> #or(z0,z1) INSERT#(z0,z1) -> c_4(INSERT#1#(z1,z0)) INSERT#1#(::(z0,z1),z2) -> c_5(INSERT#2#(leq(z2,z0),z2,z0,z1),LEQ#(z2,z0)) INSERT#2#(#false(),z0,z1,z2) -> c_7(INSERT#(z0,z2)) ISORTLIST#(z0) -> c_9(ISORTLIST#1#(z0)) ISORTLIST#1#(::(z0,z1)) -> c_10(INSERT#(z0,isortlist(z1)),ISORTLIST#(z1)) LEQ#(z0,z1) -> c_12(LEQ#1#(z0,z1)) LEQ#1#(::(z0,z1),z2) -> c_13(LEQ#2#(z2,z0,z1)) LEQ#2#(::(z0,z1),z2,z3) -> c_17(LEQ#(z3,z1)) * Step 8: DecomposeDG. WORST_CASE(?,O(n^3)) + Considered Problem: - Strict DPs: INSERT#(z0,z1) -> c_4(INSERT#1#(z1,z0)) INSERT#1#(::(z0,z1),z2) -> c_5(INSERT#2#(leq(z2,z0),z2,z0,z1),LEQ#(z2,z0)) INSERT#2#(#false(),z0,z1,z2) -> c_7(INSERT#(z0,z2)) ISORTLIST#(z0) -> c_9(ISORTLIST#1#(z0)) ISORTLIST#1#(::(z0,z1)) -> c_10(INSERT#(z0,isortlist(z1)),ISORTLIST#(z1)) LEQ#(z0,z1) -> c_12(LEQ#1#(z0,z1)) LEQ#1#(::(z0,z1),z2) -> c_13(LEQ#2#(z2,z0,z1)) LEQ#2#(::(z0,z1),z2,z3) -> c_17(LEQ#(z3,z1)) - Weak TRS: #and(#false(),#false()) -> #false() #and(#false(),#true()) -> #false() #and(#true(),#false()) -> #false() #and(#true(),#true()) -> #true() #cklt(#EQ()) -> #false() #cklt(#GT()) -> #false() #cklt(#LT()) -> #true() #compare(#0(),#0()) -> #EQ() #compare(#0(),#neg(z0)) -> #GT() #compare(#0(),#pos(z0)) -> #LT() #compare(#0(),#s(z0)) -> #LT() #compare(#neg(z0),#0()) -> #LT() #compare(#neg(z0),#neg(z1)) -> #compare(z1,z0) #compare(#neg(z0),#pos(z1)) -> #LT() #compare(#pos(z0),#0()) -> #GT() #compare(#pos(z0),#neg(z1)) -> #GT() #compare(#pos(z0),#pos(z1)) -> #compare(z0,z1) #compare(#s(z0),#0()) -> #GT() #compare(#s(z0),#s(z1)) -> #compare(z0,z1) #eq(#0(),#0()) -> #true() #eq(#0(),#neg(z0)) -> #false() #eq(#0(),#pos(z0)) -> #false() #eq(#0(),#s(z0)) -> #false() #eq(#neg(z0),#0()) -> #false() #eq(#neg(z0),#neg(z1)) -> #eq(z0,z1) #eq(#neg(z0),#pos(z1)) -> #false() #eq(#pos(z0),#0()) -> #false() #eq(#pos(z0),#neg(z1)) -> #false() #eq(#pos(z0),#pos(z1)) -> #eq(z0,z1) #eq(#s(z0),#0()) -> #false() #eq(#s(z0),#s(z1)) -> #eq(z0,z1) #eq(::(z0,z1),::(z2,z3)) -> #and(#eq(z0,z2),#eq(z1,z3)) #eq(::(z0,z1),nil()) -> #false() #eq(nil(),::(z0,z1)) -> #false() #eq(nil(),nil()) -> #true() #equal(z0,z1) -> #eq(z0,z1) #less(z0,z1) -> #cklt(#compare(z0,z1)) #or(#false(),#false()) -> #false() #or(#false(),#true()) -> #true() #or(#true(),#false()) -> #true() #or(#true(),#true()) -> #true() and(z0,z1) -> #and(z0,z1) insert(z0,z1) -> insert#1(z1,z0) insert#1(::(z0,z1),z2) -> insert#2(leq(z2,z0),z2,z0,z1) insert#1(nil(),z0) -> ::(z0,nil()) insert#2(#false(),z0,z1,z2) -> ::(z1,insert(z0,z2)) insert#2(#true(),z0,z1,z2) -> ::(z0,::(z1,z2)) isortlist(z0) -> isortlist#1(z0) isortlist#1(::(z0,z1)) -> insert(z0,isortlist(z1)) isortlist#1(nil()) -> nil() leq(z0,z1) -> leq#1(z0,z1) leq#1(::(z0,z1),z2) -> leq#2(z2,z0,z1) leq#1(nil(),z0) -> #true() leq#2(::(z0,z1),z2,z3) -> or(#less(z2,z0),and(#equal(z2,z0),leq(z3,z1))) leq#2(nil(),z0,z1) -> #false() or(z0,z1) -> #or(z0,z1) - Signature: {#AND/2,#CKLT/1,#COMPARE/2,#EQ'/2,#EQUAL/2,#LESS/2,#OR/2,#and/2,#cklt/1,#compare/2,#eq/2,#equal/2,#less/2 ,#or/2,AND/2,INSERT/2,INSERT#1/2,INSERT#2/4,ISORTLIST/1,ISORTLIST#1/1,LEQ/2,LEQ#1/2,LEQ#2/3,OR/2,and/2 ,insert/2,insert#1/2,insert#2/4,isortlist/1,isortlist#1/1,leq/2,leq#1/2,leq#2/3,or/2,#AND#/2,#CKLT#/1 ,#COMPARE#/2,#EQ'#/2,#EQUAL#/2,#LESS#/2,#OR#/2,#and#/2,#cklt#/1,#compare#/2,#eq#/2,#equal#/2,#less#/2,#or#/2 ,AND#/2,INSERT#/2,INSERT#1#/2,INSERT#2#/4,ISORTLIST#/1,ISORTLIST#1#/1,LEQ#/2,LEQ#1#/2,LEQ#2#/3,OR#/2,and#/2 ,insert#/2,insert#1#/2,insert#2#/4,isortlist#/1,isortlist#1#/1,leq#/2,leq#1#/2,leq#2#/3,or#/2} / {#0/0,#EQ/0 ,#GT/0,#LT/0,#false/0,#neg/1,#pos/1,#s/1,#true/0,::/2,c/0,c1/0,c10/0,c11/0,c12/1,c13/0,c14/0,c15/0,c16/1 ,c17/0,c18/1,c19/0,c2/0,c20/0,c21/0,c22/0,c23/0,c24/1,c25/0,c26/0,c27/0,c28/1,c29/0,c3/0,c30/1,c31/2,c32/2 ,c33/0,c34/0,c35/0,c36/0,c37/0,c38/0,c39/0,c4/0,c40/1,c41/2,c42/1,c43/1,c44/2,c45/0,c46/1,c47/0,c48/1,c49/2 ,c5/0,c50/0,c51/1,c52/1,c53/0,c54/2,c55/3,c56/3,c57/0,c58/1,c6/0,c7/0,c8/0,c9/0,nil/0,c_1/1,c_2/3,c_3/1 ,c_4/1,c_5/2,c_6/0,c_7/1,c_8/0,c_9/1,c_10/2,c_11/0,c_12/1,c_13/1,c_14/0,c_15/6,c_16/9,c_17/1,c_18/0,c_19/1 ,c_20/0,c_21/0,c_22/0,c_23/0,c_24/0,c_25/0,c_26/0,c_27/0,c_28/0,c_29/0,c_30/0,c_31/0,c_32/1,c_33/0,c_34/0 ,c_35/0,c_36/1,c_37/0,c_38/1,c_39/0,c_40/0,c_41/0,c_42/0,c_43/0,c_44/1,c_45/0,c_46/0,c_47/0,c_48/1,c_49/0 ,c_50/1,c_51/4,c_52/4,c_53/0,c_54/0,c_55/0,c_56/0,c_57/0,c_58/0,c_59/0,c_60/0,c_61/0,c_62/0,c_63/0,c_64/0 ,c_65/0,c_66/0,c_67/0,c_68/0,c_69/0,c_70/0,c_71/0,c_72/1,c_73/0,c_74/0,c_75/0,c_76/1,c_77/0,c_78/1,c_79/0 ,c_80/0,c_81/0,c_82/0,c_83/0,c_84/1,c_85/0,c_86/0,c_87/0,c_88/1,c_89/0,c_90/1,c_91/3,c_92/0,c_93/0,c_94/0 ,c_95/1,c_96/2,c_97/0,c_98/0,c_99/0,c_100/0,c_101/1,c_102/1,c_103/2,c_104/0,c_105/1,c_106/0,c_107/1,c_108/2 ,c_109/0,c_110/1,c_111/1,c_112/0,c_113/5,c_114/0,c_115/1} - Obligation: innermost runtime complexity wrt. defined symbols {#AND#,#CKLT#,#COMPARE#,#EQ'#,#EQUAL#,#LESS#,#OR#,#and# ,#cklt#,#compare#,#eq#,#equal#,#less#,#or#,AND#,INSERT#,INSERT#1#,INSERT#2#,ISORTLIST#,ISORTLIST#1#,LEQ# ,LEQ#1#,LEQ#2#,OR#,and#,insert#,insert#1#,insert#2#,isortlist#,isortlist#1#,leq#,leq#1#,leq#2# ,or#} and constructors {#0,#EQ,#GT,#LT,#false,#neg,#pos,#s,#true,::,c,c1,c10,c11,c12,c13,c14,c15,c16,c17,c18 ,c19,c2,c20,c21,c22,c23,c24,c25,c26,c27,c28,c29,c3,c30,c31,c32,c33,c34,c35,c36,c37,c38,c39,c4,c40,c41,c42 ,c43,c44,c45,c46,c47,c48,c49,c5,c50,c51,c52,c53,c54,c55,c56,c57,c58,c6,c7,c8,c9,nil} + Applied Processor: DecomposeDG {onSelection = all below first cut in WDG, onUpper = Nothing, onLower = Nothing} + Details: We decompose the input problem according to the dependency graph into the upper component ISORTLIST#(z0) -> c_9(ISORTLIST#1#(z0)) ISORTLIST#1#(::(z0,z1)) -> c_10(INSERT#(z0,isortlist(z1)),ISORTLIST#(z1)) and a lower component INSERT#(z0,z1) -> c_4(INSERT#1#(z1,z0)) INSERT#1#(::(z0,z1),z2) -> c_5(INSERT#2#(leq(z2,z0),z2,z0,z1),LEQ#(z2,z0)) INSERT#2#(#false(),z0,z1,z2) -> c_7(INSERT#(z0,z2)) LEQ#(z0,z1) -> c_12(LEQ#1#(z0,z1)) LEQ#1#(::(z0,z1),z2) -> c_13(LEQ#2#(z2,z0,z1)) LEQ#2#(::(z0,z1),z2,z3) -> c_17(LEQ#(z3,z1)) Further, following extension rules are added to the lower component. ISORTLIST#(z0) -> ISORTLIST#1#(z0) ISORTLIST#1#(::(z0,z1)) -> INSERT#(z0,isortlist(z1)) ISORTLIST#1#(::(z0,z1)) -> ISORTLIST#(z1) ** Step 8.a:1: SimplifyRHS. WORST_CASE(?,O(n^1)) + Considered Problem: - Strict DPs: ISORTLIST#(z0) -> c_9(ISORTLIST#1#(z0)) ISORTLIST#1#(::(z0,z1)) -> c_10(INSERT#(z0,isortlist(z1)),ISORTLIST#(z1)) - Weak TRS: #and(#false(),#false()) -> #false() #and(#false(),#true()) -> #false() #and(#true(),#false()) -> #false() #and(#true(),#true()) -> #true() #cklt(#EQ()) -> #false() #cklt(#GT()) -> #false() #cklt(#LT()) -> #true() #compare(#0(),#0()) -> #EQ() #compare(#0(),#neg(z0)) -> #GT() #compare(#0(),#pos(z0)) -> #LT() #compare(#0(),#s(z0)) -> #LT() #compare(#neg(z0),#0()) -> #LT() #compare(#neg(z0),#neg(z1)) -> #compare(z1,z0) #compare(#neg(z0),#pos(z1)) -> #LT() #compare(#pos(z0),#0()) -> #GT() #compare(#pos(z0),#neg(z1)) -> #GT() #compare(#pos(z0),#pos(z1)) -> #compare(z0,z1) #compare(#s(z0),#0()) -> #GT() #compare(#s(z0),#s(z1)) -> #compare(z0,z1) #eq(#0(),#0()) -> #true() #eq(#0(),#neg(z0)) -> #false() #eq(#0(),#pos(z0)) -> #false() #eq(#0(),#s(z0)) -> #false() #eq(#neg(z0),#0()) -> #false() #eq(#neg(z0),#neg(z1)) -> #eq(z0,z1) #eq(#neg(z0),#pos(z1)) -> #false() #eq(#pos(z0),#0()) -> #false() #eq(#pos(z0),#neg(z1)) -> #false() #eq(#pos(z0),#pos(z1)) -> #eq(z0,z1) #eq(#s(z0),#0()) -> #false() #eq(#s(z0),#s(z1)) -> #eq(z0,z1) #eq(::(z0,z1),::(z2,z3)) -> #and(#eq(z0,z2),#eq(z1,z3)) #eq(::(z0,z1),nil()) -> #false() #eq(nil(),::(z0,z1)) -> #false() #eq(nil(),nil()) -> #true() #equal(z0,z1) -> #eq(z0,z1) #less(z0,z1) -> #cklt(#compare(z0,z1)) #or(#false(),#false()) -> #false() #or(#false(),#true()) -> #true() #or(#true(),#false()) -> #true() #or(#true(),#true()) -> #true() and(z0,z1) -> #and(z0,z1) insert(z0,z1) -> insert#1(z1,z0) insert#1(::(z0,z1),z2) -> insert#2(leq(z2,z0),z2,z0,z1) insert#1(nil(),z0) -> ::(z0,nil()) insert#2(#false(),z0,z1,z2) -> ::(z1,insert(z0,z2)) insert#2(#true(),z0,z1,z2) -> ::(z0,::(z1,z2)) isortlist(z0) -> isortlist#1(z0) isortlist#1(::(z0,z1)) -> insert(z0,isortlist(z1)) isortlist#1(nil()) -> nil() leq(z0,z1) -> leq#1(z0,z1) leq#1(::(z0,z1),z2) -> leq#2(z2,z0,z1) leq#1(nil(),z0) -> #true() leq#2(::(z0,z1),z2,z3) -> or(#less(z2,z0),and(#equal(z2,z0),leq(z3,z1))) leq#2(nil(),z0,z1) -> #false() or(z0,z1) -> #or(z0,z1) - Signature: {#AND/2,#CKLT/1,#COMPARE/2,#EQ'/2,#EQUAL/2,#LESS/2,#OR/2,#and/2,#cklt/1,#compare/2,#eq/2,#equal/2,#less/2 ,#or/2,AND/2,INSERT/2,INSERT#1/2,INSERT#2/4,ISORTLIST/1,ISORTLIST#1/1,LEQ/2,LEQ#1/2,LEQ#2/3,OR/2,and/2 ,insert/2,insert#1/2,insert#2/4,isortlist/1,isortlist#1/1,leq/2,leq#1/2,leq#2/3,or/2,#AND#/2,#CKLT#/1 ,#COMPARE#/2,#EQ'#/2,#EQUAL#/2,#LESS#/2,#OR#/2,#and#/2,#cklt#/1,#compare#/2,#eq#/2,#equal#/2,#less#/2,#or#/2 ,AND#/2,INSERT#/2,INSERT#1#/2,INSERT#2#/4,ISORTLIST#/1,ISORTLIST#1#/1,LEQ#/2,LEQ#1#/2,LEQ#2#/3,OR#/2,and#/2 ,insert#/2,insert#1#/2,insert#2#/4,isortlist#/1,isortlist#1#/1,leq#/2,leq#1#/2,leq#2#/3,or#/2} / {#0/0,#EQ/0 ,#GT/0,#LT/0,#false/0,#neg/1,#pos/1,#s/1,#true/0,::/2,c/0,c1/0,c10/0,c11/0,c12/1,c13/0,c14/0,c15/0,c16/1 ,c17/0,c18/1,c19/0,c2/0,c20/0,c21/0,c22/0,c23/0,c24/1,c25/0,c26/0,c27/0,c28/1,c29/0,c3/0,c30/1,c31/2,c32/2 ,c33/0,c34/0,c35/0,c36/0,c37/0,c38/0,c39/0,c4/0,c40/1,c41/2,c42/1,c43/1,c44/2,c45/0,c46/1,c47/0,c48/1,c49/2 ,c5/0,c50/0,c51/1,c52/1,c53/0,c54/2,c55/3,c56/3,c57/0,c58/1,c6/0,c7/0,c8/0,c9/0,nil/0,c_1/1,c_2/3,c_3/1 ,c_4/1,c_5/2,c_6/0,c_7/1,c_8/0,c_9/1,c_10/2,c_11/0,c_12/1,c_13/1,c_14/0,c_15/6,c_16/9,c_17/1,c_18/0,c_19/1 ,c_20/0,c_21/0,c_22/0,c_23/0,c_24/0,c_25/0,c_26/0,c_27/0,c_28/0,c_29/0,c_30/0,c_31/0,c_32/1,c_33/0,c_34/0 ,c_35/0,c_36/1,c_37/0,c_38/1,c_39/0,c_40/0,c_41/0,c_42/0,c_43/0,c_44/1,c_45/0,c_46/0,c_47/0,c_48/1,c_49/0 ,c_50/1,c_51/4,c_52/4,c_53/0,c_54/0,c_55/0,c_56/0,c_57/0,c_58/0,c_59/0,c_60/0,c_61/0,c_62/0,c_63/0,c_64/0 ,c_65/0,c_66/0,c_67/0,c_68/0,c_69/0,c_70/0,c_71/0,c_72/1,c_73/0,c_74/0,c_75/0,c_76/1,c_77/0,c_78/1,c_79/0 ,c_80/0,c_81/0,c_82/0,c_83/0,c_84/1,c_85/0,c_86/0,c_87/0,c_88/1,c_89/0,c_90/1,c_91/3,c_92/0,c_93/0,c_94/0 ,c_95/1,c_96/2,c_97/0,c_98/0,c_99/0,c_100/0,c_101/1,c_102/1,c_103/2,c_104/0,c_105/1,c_106/0,c_107/1,c_108/2 ,c_109/0,c_110/1,c_111/1,c_112/0,c_113/5,c_114/0,c_115/1} - Obligation: innermost runtime complexity wrt. defined symbols {#AND#,#CKLT#,#COMPARE#,#EQ'#,#EQUAL#,#LESS#,#OR#,#and# ,#cklt#,#compare#,#eq#,#equal#,#less#,#or#,AND#,INSERT#,INSERT#1#,INSERT#2#,ISORTLIST#,ISORTLIST#1#,LEQ# ,LEQ#1#,LEQ#2#,OR#,and#,insert#,insert#1#,insert#2#,isortlist#,isortlist#1#,leq#,leq#1#,leq#2# ,or#} and constructors {#0,#EQ,#GT,#LT,#false,#neg,#pos,#s,#true,::,c,c1,c10,c11,c12,c13,c14,c15,c16,c17,c18 ,c19,c2,c20,c21,c22,c23,c24,c25,c26,c27,c28,c29,c3,c30,c31,c32,c33,c34,c35,c36,c37,c38,c39,c4,c40,c41,c42 ,c43,c44,c45,c46,c47,c48,c49,c5,c50,c51,c52,c53,c54,c55,c56,c57,c58,c6,c7,c8,c9,nil} + Applied Processor: SimplifyRHS + Details: Consider the dependency graph 1:S:ISORTLIST#(z0) -> c_9(ISORTLIST#1#(z0)) -->_1 ISORTLIST#1#(::(z0,z1)) -> c_10(INSERT#(z0,isortlist(z1)),ISORTLIST#(z1)):2 2:S:ISORTLIST#1#(::(z0,z1)) -> c_10(INSERT#(z0,isortlist(z1)),ISORTLIST#(z1)) -->_2 ISORTLIST#(z0) -> c_9(ISORTLIST#1#(z0)):1 Due to missing edges in the depndency graph, the right-hand sides of following rules could be simplified: ISORTLIST#1#(::(z0,z1)) -> c_10(ISORTLIST#(z1)) ** Step 8.a:2: UsableRules. WORST_CASE(?,O(n^1)) + Considered Problem: - Strict DPs: ISORTLIST#(z0) -> c_9(ISORTLIST#1#(z0)) ISORTLIST#1#(::(z0,z1)) -> c_10(ISORTLIST#(z1)) - Weak TRS: #and(#false(),#false()) -> #false() #and(#false(),#true()) -> #false() #and(#true(),#false()) -> #false() #and(#true(),#true()) -> #true() #cklt(#EQ()) -> #false() #cklt(#GT()) -> #false() #cklt(#LT()) -> #true() #compare(#0(),#0()) -> #EQ() #compare(#0(),#neg(z0)) -> #GT() #compare(#0(),#pos(z0)) -> #LT() #compare(#0(),#s(z0)) -> #LT() #compare(#neg(z0),#0()) -> #LT() #compare(#neg(z0),#neg(z1)) -> #compare(z1,z0) #compare(#neg(z0),#pos(z1)) -> #LT() #compare(#pos(z0),#0()) -> #GT() #compare(#pos(z0),#neg(z1)) -> #GT() #compare(#pos(z0),#pos(z1)) -> #compare(z0,z1) #compare(#s(z0),#0()) -> #GT() #compare(#s(z0),#s(z1)) -> #compare(z0,z1) #eq(#0(),#0()) -> #true() #eq(#0(),#neg(z0)) -> #false() #eq(#0(),#pos(z0)) -> #false() #eq(#0(),#s(z0)) -> #false() #eq(#neg(z0),#0()) -> #false() #eq(#neg(z0),#neg(z1)) -> #eq(z0,z1) #eq(#neg(z0),#pos(z1)) -> #false() #eq(#pos(z0),#0()) -> #false() #eq(#pos(z0),#neg(z1)) -> #false() #eq(#pos(z0),#pos(z1)) -> #eq(z0,z1) #eq(#s(z0),#0()) -> #false() #eq(#s(z0),#s(z1)) -> #eq(z0,z1) #eq(::(z0,z1),::(z2,z3)) -> #and(#eq(z0,z2),#eq(z1,z3)) #eq(::(z0,z1),nil()) -> #false() #eq(nil(),::(z0,z1)) -> #false() #eq(nil(),nil()) -> #true() #equal(z0,z1) -> #eq(z0,z1) #less(z0,z1) -> #cklt(#compare(z0,z1)) #or(#false(),#false()) -> #false() #or(#false(),#true()) -> #true() #or(#true(),#false()) -> #true() #or(#true(),#true()) -> #true() and(z0,z1) -> #and(z0,z1) insert(z0,z1) -> insert#1(z1,z0) insert#1(::(z0,z1),z2) -> insert#2(leq(z2,z0),z2,z0,z1) insert#1(nil(),z0) -> ::(z0,nil()) insert#2(#false(),z0,z1,z2) -> ::(z1,insert(z0,z2)) insert#2(#true(),z0,z1,z2) -> ::(z0,::(z1,z2)) isortlist(z0) -> isortlist#1(z0) isortlist#1(::(z0,z1)) -> insert(z0,isortlist(z1)) isortlist#1(nil()) -> nil() leq(z0,z1) -> leq#1(z0,z1) leq#1(::(z0,z1),z2) -> leq#2(z2,z0,z1) leq#1(nil(),z0) -> #true() leq#2(::(z0,z1),z2,z3) -> or(#less(z2,z0),and(#equal(z2,z0),leq(z3,z1))) leq#2(nil(),z0,z1) -> #false() or(z0,z1) -> #or(z0,z1) - Signature: {#AND/2,#CKLT/1,#COMPARE/2,#EQ'/2,#EQUAL/2,#LESS/2,#OR/2,#and/2,#cklt/1,#compare/2,#eq/2,#equal/2,#less/2 ,#or/2,AND/2,INSERT/2,INSERT#1/2,INSERT#2/4,ISORTLIST/1,ISORTLIST#1/1,LEQ/2,LEQ#1/2,LEQ#2/3,OR/2,and/2 ,insert/2,insert#1/2,insert#2/4,isortlist/1,isortlist#1/1,leq/2,leq#1/2,leq#2/3,or/2,#AND#/2,#CKLT#/1 ,#COMPARE#/2,#EQ'#/2,#EQUAL#/2,#LESS#/2,#OR#/2,#and#/2,#cklt#/1,#compare#/2,#eq#/2,#equal#/2,#less#/2,#or#/2 ,AND#/2,INSERT#/2,INSERT#1#/2,INSERT#2#/4,ISORTLIST#/1,ISORTLIST#1#/1,LEQ#/2,LEQ#1#/2,LEQ#2#/3,OR#/2,and#/2 ,insert#/2,insert#1#/2,insert#2#/4,isortlist#/1,isortlist#1#/1,leq#/2,leq#1#/2,leq#2#/3,or#/2} / {#0/0,#EQ/0 ,#GT/0,#LT/0,#false/0,#neg/1,#pos/1,#s/1,#true/0,::/2,c/0,c1/0,c10/0,c11/0,c12/1,c13/0,c14/0,c15/0,c16/1 ,c17/0,c18/1,c19/0,c2/0,c20/0,c21/0,c22/0,c23/0,c24/1,c25/0,c26/0,c27/0,c28/1,c29/0,c3/0,c30/1,c31/2,c32/2 ,c33/0,c34/0,c35/0,c36/0,c37/0,c38/0,c39/0,c4/0,c40/1,c41/2,c42/1,c43/1,c44/2,c45/0,c46/1,c47/0,c48/1,c49/2 ,c5/0,c50/0,c51/1,c52/1,c53/0,c54/2,c55/3,c56/3,c57/0,c58/1,c6/0,c7/0,c8/0,c9/0,nil/0,c_1/1,c_2/3,c_3/1 ,c_4/1,c_5/2,c_6/0,c_7/1,c_8/0,c_9/1,c_10/1,c_11/0,c_12/1,c_13/1,c_14/0,c_15/6,c_16/9,c_17/1,c_18/0,c_19/1 ,c_20/0,c_21/0,c_22/0,c_23/0,c_24/0,c_25/0,c_26/0,c_27/0,c_28/0,c_29/0,c_30/0,c_31/0,c_32/1,c_33/0,c_34/0 ,c_35/0,c_36/1,c_37/0,c_38/1,c_39/0,c_40/0,c_41/0,c_42/0,c_43/0,c_44/1,c_45/0,c_46/0,c_47/0,c_48/1,c_49/0 ,c_50/1,c_51/4,c_52/4,c_53/0,c_54/0,c_55/0,c_56/0,c_57/0,c_58/0,c_59/0,c_60/0,c_61/0,c_62/0,c_63/0,c_64/0 ,c_65/0,c_66/0,c_67/0,c_68/0,c_69/0,c_70/0,c_71/0,c_72/1,c_73/0,c_74/0,c_75/0,c_76/1,c_77/0,c_78/1,c_79/0 ,c_80/0,c_81/0,c_82/0,c_83/0,c_84/1,c_85/0,c_86/0,c_87/0,c_88/1,c_89/0,c_90/1,c_91/3,c_92/0,c_93/0,c_94/0 ,c_95/1,c_96/2,c_97/0,c_98/0,c_99/0,c_100/0,c_101/1,c_102/1,c_103/2,c_104/0,c_105/1,c_106/0,c_107/1,c_108/2 ,c_109/0,c_110/1,c_111/1,c_112/0,c_113/5,c_114/0,c_115/1} - Obligation: innermost runtime complexity wrt. defined symbols {#AND#,#CKLT#,#COMPARE#,#EQ'#,#EQUAL#,#LESS#,#OR#,#and# ,#cklt#,#compare#,#eq#,#equal#,#less#,#or#,AND#,INSERT#,INSERT#1#,INSERT#2#,ISORTLIST#,ISORTLIST#1#,LEQ# ,LEQ#1#,LEQ#2#,OR#,and#,insert#,insert#1#,insert#2#,isortlist#,isortlist#1#,leq#,leq#1#,leq#2# ,or#} and constructors {#0,#EQ,#GT,#LT,#false,#neg,#pos,#s,#true,::,c,c1,c10,c11,c12,c13,c14,c15,c16,c17,c18 ,c19,c2,c20,c21,c22,c23,c24,c25,c26,c27,c28,c29,c3,c30,c31,c32,c33,c34,c35,c36,c37,c38,c39,c4,c40,c41,c42 ,c43,c44,c45,c46,c47,c48,c49,c5,c50,c51,c52,c53,c54,c55,c56,c57,c58,c6,c7,c8,c9,nil} + Applied Processor: UsableRules + Details: We replace rewrite rules by usable rules: ISORTLIST#(z0) -> c_9(ISORTLIST#1#(z0)) ISORTLIST#1#(::(z0,z1)) -> c_10(ISORTLIST#(z1)) ** Step 8.a:3: NaturalMI. WORST_CASE(?,O(n^1)) + Considered Problem: - Strict DPs: ISORTLIST#(z0) -> c_9(ISORTLIST#1#(z0)) ISORTLIST#1#(::(z0,z1)) -> c_10(ISORTLIST#(z1)) - Signature: {#AND/2,#CKLT/1,#COMPARE/2,#EQ'/2,#EQUAL/2,#LESS/2,#OR/2,#and/2,#cklt/1,#compare/2,#eq/2,#equal/2,#less/2 ,#or/2,AND/2,INSERT/2,INSERT#1/2,INSERT#2/4,ISORTLIST/1,ISORTLIST#1/1,LEQ/2,LEQ#1/2,LEQ#2/3,OR/2,and/2 ,insert/2,insert#1/2,insert#2/4,isortlist/1,isortlist#1/1,leq/2,leq#1/2,leq#2/3,or/2,#AND#/2,#CKLT#/1 ,#COMPARE#/2,#EQ'#/2,#EQUAL#/2,#LESS#/2,#OR#/2,#and#/2,#cklt#/1,#compare#/2,#eq#/2,#equal#/2,#less#/2,#or#/2 ,AND#/2,INSERT#/2,INSERT#1#/2,INSERT#2#/4,ISORTLIST#/1,ISORTLIST#1#/1,LEQ#/2,LEQ#1#/2,LEQ#2#/3,OR#/2,and#/2 ,insert#/2,insert#1#/2,insert#2#/4,isortlist#/1,isortlist#1#/1,leq#/2,leq#1#/2,leq#2#/3,or#/2} / {#0/0,#EQ/0 ,#GT/0,#LT/0,#false/0,#neg/1,#pos/1,#s/1,#true/0,::/2,c/0,c1/0,c10/0,c11/0,c12/1,c13/0,c14/0,c15/0,c16/1 ,c17/0,c18/1,c19/0,c2/0,c20/0,c21/0,c22/0,c23/0,c24/1,c25/0,c26/0,c27/0,c28/1,c29/0,c3/0,c30/1,c31/2,c32/2 ,c33/0,c34/0,c35/0,c36/0,c37/0,c38/0,c39/0,c4/0,c40/1,c41/2,c42/1,c43/1,c44/2,c45/0,c46/1,c47/0,c48/1,c49/2 ,c5/0,c50/0,c51/1,c52/1,c53/0,c54/2,c55/3,c56/3,c57/0,c58/1,c6/0,c7/0,c8/0,c9/0,nil/0,c_1/1,c_2/3,c_3/1 ,c_4/1,c_5/2,c_6/0,c_7/1,c_8/0,c_9/1,c_10/1,c_11/0,c_12/1,c_13/1,c_14/0,c_15/6,c_16/9,c_17/1,c_18/0,c_19/1 ,c_20/0,c_21/0,c_22/0,c_23/0,c_24/0,c_25/0,c_26/0,c_27/0,c_28/0,c_29/0,c_30/0,c_31/0,c_32/1,c_33/0,c_34/0 ,c_35/0,c_36/1,c_37/0,c_38/1,c_39/0,c_40/0,c_41/0,c_42/0,c_43/0,c_44/1,c_45/0,c_46/0,c_47/0,c_48/1,c_49/0 ,c_50/1,c_51/4,c_52/4,c_53/0,c_54/0,c_55/0,c_56/0,c_57/0,c_58/0,c_59/0,c_60/0,c_61/0,c_62/0,c_63/0,c_64/0 ,c_65/0,c_66/0,c_67/0,c_68/0,c_69/0,c_70/0,c_71/0,c_72/1,c_73/0,c_74/0,c_75/0,c_76/1,c_77/0,c_78/1,c_79/0 ,c_80/0,c_81/0,c_82/0,c_83/0,c_84/1,c_85/0,c_86/0,c_87/0,c_88/1,c_89/0,c_90/1,c_91/3,c_92/0,c_93/0,c_94/0 ,c_95/1,c_96/2,c_97/0,c_98/0,c_99/0,c_100/0,c_101/1,c_102/1,c_103/2,c_104/0,c_105/1,c_106/0,c_107/1,c_108/2 ,c_109/0,c_110/1,c_111/1,c_112/0,c_113/5,c_114/0,c_115/1} - Obligation: innermost runtime complexity wrt. defined symbols {#AND#,#CKLT#,#COMPARE#,#EQ'#,#EQUAL#,#LESS#,#OR#,#and# ,#cklt#,#compare#,#eq#,#equal#,#less#,#or#,AND#,INSERT#,INSERT#1#,INSERT#2#,ISORTLIST#,ISORTLIST#1#,LEQ# ,LEQ#1#,LEQ#2#,OR#,and#,insert#,insert#1#,insert#2#,isortlist#,isortlist#1#,leq#,leq#1#,leq#2# ,or#} and constructors {#0,#EQ,#GT,#LT,#false,#neg,#pos,#s,#true,::,c,c1,c10,c11,c12,c13,c14,c15,c16,c17,c18 ,c19,c2,c20,c21,c22,c23,c24,c25,c26,c27,c28,c29,c3,c30,c31,c32,c33,c34,c35,c36,c37,c38,c39,c4,c40,c41,c42 ,c43,c44,c45,c46,c47,c48,c49,c5,c50,c51,c52,c53,c54,c55,c56,c57,c58,c6,c7,c8,c9,nil} + Applied Processor: NaturalMI {miDimension = 1, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Just any strict-rules} + Details: We apply a matrix interpretation of kind constructor based matrix interpretation: The following argument positions are considered usable: uargs(c_9) = {1}, uargs(c_10) = {1} Following symbols are considered usable: {#AND#,#CKLT#,#COMPARE#,#EQ'#,#EQUAL#,#LESS#,#OR#,#and#,#cklt#,#compare#,#eq#,#equal#,#less#,#or#,AND# ,INSERT#,INSERT#1#,INSERT#2#,ISORTLIST#,ISORTLIST#1#,LEQ#,LEQ#1#,LEQ#2#,OR#,and#,insert#,insert#1#,insert#2# ,isortlist#,isortlist#1#,leq#,leq#1#,leq#2#,or#} TcT has computed the following interpretation: p(#0) = [0] p(#AND) = [0] p(#CKLT) = [8] x1 + [0] p(#COMPARE) = [1] p(#EQ) = [0] p(#EQ') = [0] p(#EQUAL) = [0] p(#GT) = [0] p(#LESS) = [0] p(#LT) = [0] p(#OR) = [0] p(#and) = [0] p(#cklt) = [0] p(#compare) = [0] p(#eq) = [0] p(#equal) = [0] p(#false) = [0] p(#less) = [0] p(#neg) = [1] x1 + [0] p(#or) = [8] p(#pos) = [0] p(#s) = [0] p(#true) = [1] p(::) = [1] x1 + [1] x2 + [8] p(AND) = [2] x1 + [1] x2 + [1] p(INSERT) = [1] x1 + [8] x2 + [1] p(INSERT#1) = [1] x1 + [1] x2 + [0] p(INSERT#2) = [4] x1 + [1] x2 + [1] x3 + [1] p(ISORTLIST) = [1] x1 + [0] p(ISORTLIST#1) = [1] p(LEQ) = [1] p(LEQ#1) = [0] p(LEQ#2) = [1] x2 + [0] p(OR) = [0] p(and) = [0] p(c) = [0] p(c1) = [0] p(c10) = [0] p(c11) = [0] p(c12) = [0] p(c13) = [0] p(c14) = [0] p(c15) = [0] p(c16) = [0] p(c17) = [0] p(c18) = [0] p(c19) = [0] p(c2) = [0] p(c20) = [0] p(c21) = [0] p(c22) = [0] p(c23) = [0] p(c24) = [1] x1 + [0] p(c25) = [0] p(c26) = [0] p(c27) = [0] p(c28) = [1] p(c29) = [0] p(c3) = [0] p(c30) = [1] x1 + [0] p(c31) = [1] x2 + [0] p(c32) = [0] p(c33) = [0] p(c34) = [0] p(c35) = [0] p(c36) = [0] p(c37) = [0] p(c38) = [0] p(c39) = [1] p(c4) = [0] p(c40) = [1] x1 + [0] p(c41) = [0] p(c42) = [1] x1 + [0] p(c43) = [1] x1 + [0] p(c44) = [1] x1 + [1] x2 + [0] p(c45) = [0] p(c46) = [1] x1 + [0] p(c47) = [0] p(c48) = [0] p(c49) = [0] p(c5) = [0] p(c50) = [0] p(c51) = [1] x1 + [0] p(c52) = [1] x1 + [0] p(c53) = [0] p(c54) = [1] x1 + [0] p(c55) = [1] x1 + [1] x2 + [0] p(c56) = [1] x1 + [1] x2 + [1] x3 + [0] p(c57) = [0] p(c58) = [1] x1 + [0] p(c6) = [0] p(c7) = [0] p(c8) = [0] p(c9) = [0] p(insert) = [0] p(insert#1) = [0] p(insert#2) = [0] p(isortlist) = [4] p(isortlist#1) = [2] x1 + [1] p(leq) = [1] x1 + [2] x2 + [1] p(leq#1) = [1] p(leq#2) = [1] x3 + [0] p(nil) = [1] p(or) = [4] x2 + [0] p(#AND#) = [1] p(#CKLT#) = [0] p(#COMPARE#) = [1] x2 + [1] p(#EQ'#) = [4] x1 + [1] x2 + [1] p(#EQUAL#) = [1] x1 + [0] p(#LESS#) = [2] x2 + [2] p(#OR#) = [1] x1 + [1] x2 + [1] p(#and#) = [4] x2 + [8] p(#cklt#) = [8] x1 + [1] p(#compare#) = [2] p(#eq#) = [0] p(#equal#) = [0] p(#less#) = [0] p(#or#) = [0] p(AND#) = [0] p(INSERT#) = [0] p(INSERT#1#) = [0] p(INSERT#2#) = [0] p(ISORTLIST#) = [1] x1 + [8] p(ISORTLIST#1#) = [1] x1 + [8] p(LEQ#) = [0] p(LEQ#1#) = [0] p(LEQ#2#) = [0] p(OR#) = [0] p(and#) = [0] p(insert#) = [0] p(insert#1#) = [0] p(insert#2#) = [0] p(isortlist#) = [0] p(isortlist#1#) = [0] p(leq#) = [0] p(leq#1#) = [0] p(leq#2#) = [1] x2 + [0] p(or#) = [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) = [1] x1 + [0] p(c_10) = [1] x1 + [7] p(c_11) = [0] p(c_12) = [0] p(c_13) = [0] p(c_14) = [0] p(c_15) = [0] p(c_16) = [0] 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] p(c_44) = [0] p(c_45) = [0] p(c_46) = [0] p(c_47) = [0] p(c_48) = [0] p(c_49) = [0] p(c_50) = [0] p(c_51) = [0] p(c_52) = [0] p(c_53) = [0] p(c_54) = [0] p(c_55) = [0] p(c_56) = [0] p(c_57) = [0] p(c_58) = [0] p(c_59) = [0] p(c_60) = [0] p(c_61) = [0] p(c_62) = [0] p(c_63) = [0] p(c_64) = [0] p(c_65) = [0] p(c_66) = [0] p(c_67) = [0] p(c_68) = [0] p(c_69) = [0] p(c_70) = [0] p(c_71) = [0] p(c_72) = [0] p(c_73) = [0] p(c_74) = [0] p(c_75) = [0] p(c_76) = [0] p(c_77) = [0] p(c_78) = [0] p(c_79) = [0] p(c_80) = [0] p(c_81) = [0] p(c_82) = [0] p(c_83) = [0] p(c_84) = [0] p(c_85) = [0] p(c_86) = [0] p(c_87) = [0] p(c_88) = [0] p(c_89) = [0] p(c_90) = [0] p(c_91) = [0] p(c_92) = [0] p(c_93) = [0] p(c_94) = [0] p(c_95) = [0] p(c_96) = [0] p(c_97) = [0] p(c_98) = [0] p(c_99) = [0] p(c_100) = [0] p(c_101) = [0] p(c_102) = [0] p(c_103) = [8] x1 + [1] x2 + [0] p(c_104) = [4] p(c_105) = [0] p(c_106) = [0] p(c_107) = [1] x1 + [2] p(c_108) = [1] x2 + [1] p(c_109) = [8] p(c_110) = [8] p(c_111) = [8] x1 + [2] p(c_112) = [1] p(c_113) = [8] x2 + [8] x3 + [1] x5 + [2] p(c_114) = [2] p(c_115) = [1] x1 + [4] Following rules are strictly oriented: ISORTLIST#1#(::(z0,z1)) = [1] z0 + [1] z1 + [16] > [1] z1 + [15] = c_10(ISORTLIST#(z1)) Following rules are (at-least) weakly oriented: ISORTLIST#(z0) = [1] z0 + [8] >= [1] z0 + [8] = c_9(ISORTLIST#1#(z0)) ** Step 8.a:4: NaturalMI. WORST_CASE(?,O(n^1)) + Considered Problem: - Strict DPs: ISORTLIST#(z0) -> c_9(ISORTLIST#1#(z0)) - Weak DPs: ISORTLIST#1#(::(z0,z1)) -> c_10(ISORTLIST#(z1)) - Signature: {#AND/2,#CKLT/1,#COMPARE/2,#EQ'/2,#EQUAL/2,#LESS/2,#OR/2,#and/2,#cklt/1,#compare/2,#eq/2,#equal/2,#less/2 ,#or/2,AND/2,INSERT/2,INSERT#1/2,INSERT#2/4,ISORTLIST/1,ISORTLIST#1/1,LEQ/2,LEQ#1/2,LEQ#2/3,OR/2,and/2 ,insert/2,insert#1/2,insert#2/4,isortlist/1,isortlist#1/1,leq/2,leq#1/2,leq#2/3,or/2,#AND#/2,#CKLT#/1 ,#COMPARE#/2,#EQ'#/2,#EQUAL#/2,#LESS#/2,#OR#/2,#and#/2,#cklt#/1,#compare#/2,#eq#/2,#equal#/2,#less#/2,#or#/2 ,AND#/2,INSERT#/2,INSERT#1#/2,INSERT#2#/4,ISORTLIST#/1,ISORTLIST#1#/1,LEQ#/2,LEQ#1#/2,LEQ#2#/3,OR#/2,and#/2 ,insert#/2,insert#1#/2,insert#2#/4,isortlist#/1,isortlist#1#/1,leq#/2,leq#1#/2,leq#2#/3,or#/2} / {#0/0,#EQ/0 ,#GT/0,#LT/0,#false/0,#neg/1,#pos/1,#s/1,#true/0,::/2,c/0,c1/0,c10/0,c11/0,c12/1,c13/0,c14/0,c15/0,c16/1 ,c17/0,c18/1,c19/0,c2/0,c20/0,c21/0,c22/0,c23/0,c24/1,c25/0,c26/0,c27/0,c28/1,c29/0,c3/0,c30/1,c31/2,c32/2 ,c33/0,c34/0,c35/0,c36/0,c37/0,c38/0,c39/0,c4/0,c40/1,c41/2,c42/1,c43/1,c44/2,c45/0,c46/1,c47/0,c48/1,c49/2 ,c5/0,c50/0,c51/1,c52/1,c53/0,c54/2,c55/3,c56/3,c57/0,c58/1,c6/0,c7/0,c8/0,c9/0,nil/0,c_1/1,c_2/3,c_3/1 ,c_4/1,c_5/2,c_6/0,c_7/1,c_8/0,c_9/1,c_10/1,c_11/0,c_12/1,c_13/1,c_14/0,c_15/6,c_16/9,c_17/1,c_18/0,c_19/1 ,c_20/0,c_21/0,c_22/0,c_23/0,c_24/0,c_25/0,c_26/0,c_27/0,c_28/0,c_29/0,c_30/0,c_31/0,c_32/1,c_33/0,c_34/0 ,c_35/0,c_36/1,c_37/0,c_38/1,c_39/0,c_40/0,c_41/0,c_42/0,c_43/0,c_44/1,c_45/0,c_46/0,c_47/0,c_48/1,c_49/0 ,c_50/1,c_51/4,c_52/4,c_53/0,c_54/0,c_55/0,c_56/0,c_57/0,c_58/0,c_59/0,c_60/0,c_61/0,c_62/0,c_63/0,c_64/0 ,c_65/0,c_66/0,c_67/0,c_68/0,c_69/0,c_70/0,c_71/0,c_72/1,c_73/0,c_74/0,c_75/0,c_76/1,c_77/0,c_78/1,c_79/0 ,c_80/0,c_81/0,c_82/0,c_83/0,c_84/1,c_85/0,c_86/0,c_87/0,c_88/1,c_89/0,c_90/1,c_91/3,c_92/0,c_93/0,c_94/0 ,c_95/1,c_96/2,c_97/0,c_98/0,c_99/0,c_100/0,c_101/1,c_102/1,c_103/2,c_104/0,c_105/1,c_106/0,c_107/1,c_108/2 ,c_109/0,c_110/1,c_111/1,c_112/0,c_113/5,c_114/0,c_115/1} - Obligation: innermost runtime complexity wrt. defined symbols {#AND#,#CKLT#,#COMPARE#,#EQ'#,#EQUAL#,#LESS#,#OR#,#and# ,#cklt#,#compare#,#eq#,#equal#,#less#,#or#,AND#,INSERT#,INSERT#1#,INSERT#2#,ISORTLIST#,ISORTLIST#1#,LEQ# ,LEQ#1#,LEQ#2#,OR#,and#,insert#,insert#1#,insert#2#,isortlist#,isortlist#1#,leq#,leq#1#,leq#2# ,or#} and constructors {#0,#EQ,#GT,#LT,#false,#neg,#pos,#s,#true,::,c,c1,c10,c11,c12,c13,c14,c15,c16,c17,c18 ,c19,c2,c20,c21,c22,c23,c24,c25,c26,c27,c28,c29,c3,c30,c31,c32,c33,c34,c35,c36,c37,c38,c39,c4,c40,c41,c42 ,c43,c44,c45,c46,c47,c48,c49,c5,c50,c51,c52,c53,c54,c55,c56,c57,c58,c6,c7,c8,c9,nil} + Applied Processor: NaturalMI {miDimension = 1, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Just any strict-rules} + Details: We apply a matrix interpretation of kind constructor based matrix interpretation: The following argument positions are considered usable: uargs(c_9) = {1}, uargs(c_10) = {1} Following symbols are considered usable: {#AND#,#CKLT#,#COMPARE#,#EQ'#,#EQUAL#,#LESS#,#OR#,#and#,#cklt#,#compare#,#eq#,#equal#,#less#,#or#,AND# ,INSERT#,INSERT#1#,INSERT#2#,ISORTLIST#,ISORTLIST#1#,LEQ#,LEQ#1#,LEQ#2#,OR#,and#,insert#,insert#1#,insert#2# ,isortlist#,isortlist#1#,leq#,leq#1#,leq#2#,or#} TcT has computed the following interpretation: p(#0) = [0] p(#AND) = [0] p(#CKLT) = [0] p(#COMPARE) = [0] p(#EQ) = [0] p(#EQ') = [0] p(#EQUAL) = [4] x2 + [1] p(#GT) = [2] p(#LESS) = [2] x1 + [0] p(#LT) = [0] p(#OR) = [0] p(#and) = [0] p(#cklt) = [0] p(#compare) = [0] p(#eq) = [0] p(#equal) = [0] p(#false) = [0] p(#less) = [0] p(#neg) = [0] p(#or) = [0] p(#pos) = [0] p(#s) = [0] p(#true) = [2] p(::) = [1] x2 + [1] p(AND) = [1] x1 + [1] x2 + [2] p(INSERT) = [1] x2 + [2] p(INSERT#1) = [4] x1 + [0] p(INSERT#2) = [4] x1 + [1] p(ISORTLIST) = [0] p(ISORTLIST#1) = [2] x1 + [1] p(LEQ) = [1] p(LEQ#1) = [0] p(LEQ#2) = [0] p(OR) = [0] p(and) = [0] p(c) = [0] p(c1) = [0] p(c10) = [0] p(c11) = [0] p(c12) = [1] x1 + [0] p(c13) = [0] p(c14) = [0] p(c15) = [0] p(c16) = [0] p(c17) = [0] p(c18) = [0] p(c19) = [0] p(c2) = [0] p(c20) = [0] p(c21) = [0] p(c22) = [0] p(c23) = [0] p(c24) = [0] p(c25) = [0] p(c26) = [0] p(c27) = [0] p(c28) = [1] x1 + [0] p(c29) = [0] p(c3) = [0] p(c30) = [1] x1 + [0] p(c31) = [1] x1 + [1] x2 + [0] p(c32) = [1] x2 + [0] p(c33) = [0] p(c34) = [0] p(c35) = [0] p(c36) = [0] p(c37) = [0] p(c38) = [0] p(c39) = [0] p(c4) = [0] p(c40) = [1] x1 + [0] p(c41) = [1] x1 + [1] x2 + [0] p(c42) = [0] p(c43) = [0] p(c44) = [1] x2 + [0] p(c45) = [0] p(c46) = [1] x1 + [0] p(c47) = [0] p(c48) = [0] p(c49) = [1] x1 + [1] x2 + [0] p(c5) = [0] p(c50) = [0] p(c51) = [1] x1 + [0] p(c52) = [1] x1 + [0] p(c53) = [0] p(c54) = [1] x1 + [1] x2 + [0] p(c55) = [1] x1 + [1] x2 + [1] x3 + [0] p(c56) = [1] x1 + [0] p(c57) = [0] p(c58) = [1] x1 + [0] p(c6) = [0] p(c7) = [0] p(c8) = [0] p(c9) = [0] p(insert) = [0] p(insert#1) = [0] p(insert#2) = [0] p(isortlist) = [0] p(isortlist#1) = [0] p(leq) = [0] p(leq#1) = [2] x1 + [1] p(leq#2) = [1] x3 + [0] p(nil) = [0] p(or) = [0] p(#AND#) = [1] p(#CKLT#) = [1] x1 + [0] p(#COMPARE#) = [1] x1 + [8] x2 + [4] p(#EQ'#) = [2] x1 + [1] x2 + [1] p(#EQUAL#) = [4] p(#LESS#) = [2] x1 + [2] x2 + [1] p(#OR#) = [1] x1 + [2] p(#and#) = [1] x1 + [1] p(#cklt#) = [1] x1 + [0] p(#compare#) = [4] x2 + [2] p(#eq#) = [1] x1 + [1] p(#equal#) = [8] x1 + [0] p(#less#) = [2] x2 + [0] p(#or#) = [1] p(AND#) = [4] x2 + [1] p(INSERT#) = [1] x2 + [0] p(INSERT#1#) = [4] p(INSERT#2#) = [2] x1 + [8] x2 + [0] p(ISORTLIST#) = [8] x1 + [4] p(ISORTLIST#1#) = [8] x1 + [0] p(LEQ#) = [0] p(LEQ#1#) = [1] x1 + [1] x2 + [2] p(LEQ#2#) = [1] p(OR#) = [1] p(and#) = [0] p(insert#) = [1] p(insert#1#) = [1] p(insert#2#) = [1] p(isortlist#) = [2] p(isortlist#1#) = [8] p(leq#) = [1] p(leq#1#) = [1] p(leq#2#) = [1] p(or#) = [0] p(c_1) = [2] p(c_2) = [4] 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) = [1] x1 + [0] p(c_10) = [1] x1 + [4] p(c_11) = [0] p(c_12) = [0] p(c_13) = [0] p(c_14) = [0] p(c_15) = [0] p(c_16) = [0] 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] p(c_44) = [0] p(c_45) = [0] p(c_46) = [0] p(c_47) = [0] p(c_48) = [0] p(c_49) = [0] p(c_50) = [0] p(c_51) = [0] p(c_52) = [0] p(c_53) = [0] p(c_54) = [0] p(c_55) = [0] p(c_56) = [0] p(c_57) = [0] p(c_58) = [0] p(c_59) = [0] p(c_60) = [0] p(c_61) = [0] p(c_62) = [0] p(c_63) = [0] p(c_64) = [0] p(c_65) = [0] p(c_66) = [0] p(c_67) = [0] p(c_68) = [0] p(c_69) = [0] p(c_70) = [0] p(c_71) = [0] p(c_72) = [0] p(c_73) = [0] p(c_74) = [0] p(c_75) = [0] p(c_76) = [0] p(c_77) = [0] p(c_78) = [0] p(c_79) = [0] p(c_80) = [0] p(c_81) = [0] p(c_82) = [0] p(c_83) = [0] p(c_84) = [0] p(c_85) = [0] p(c_86) = [0] p(c_87) = [0] p(c_88) = [0] p(c_89) = [0] p(c_90) = [0] p(c_91) = [0] p(c_92) = [0] p(c_93) = [2] p(c_94) = [0] p(c_95) = [0] p(c_96) = [0] p(c_97) = [0] p(c_98) = [0] p(c_99) = [0] p(c_100) = [0] p(c_101) = [0] p(c_102) = [0] p(c_103) = [0] p(c_104) = [0] p(c_105) = [0] p(c_106) = [0] p(c_107) = [1] p(c_108) = [2] p(c_109) = [1] p(c_110) = [0] p(c_111) = [1] p(c_112) = [0] p(c_113) = [0] p(c_114) = [1] p(c_115) = [0] Following rules are strictly oriented: ISORTLIST#(z0) = [8] z0 + [4] > [8] z0 + [0] = c_9(ISORTLIST#1#(z0)) Following rules are (at-least) weakly oriented: ISORTLIST#1#(::(z0,z1)) = [8] z1 + [8] >= [8] z1 + [8] = c_10(ISORTLIST#(z1)) ** Step 8.a:5: EmptyProcessor. WORST_CASE(?,O(1)) + Considered Problem: - Weak DPs: ISORTLIST#(z0) -> c_9(ISORTLIST#1#(z0)) ISORTLIST#1#(::(z0,z1)) -> c_10(ISORTLIST#(z1)) - Signature: {#AND/2,#CKLT/1,#COMPARE/2,#EQ'/2,#EQUAL/2,#LESS/2,#OR/2,#and/2,#cklt/1,#compare/2,#eq/2,#equal/2,#less/2 ,#or/2,AND/2,INSERT/2,INSERT#1/2,INSERT#2/4,ISORTLIST/1,ISORTLIST#1/1,LEQ/2,LEQ#1/2,LEQ#2/3,OR/2,and/2 ,insert/2,insert#1/2,insert#2/4,isortlist/1,isortlist#1/1,leq/2,leq#1/2,leq#2/3,or/2,#AND#/2,#CKLT#/1 ,#COMPARE#/2,#EQ'#/2,#EQUAL#/2,#LESS#/2,#OR#/2,#and#/2,#cklt#/1,#compare#/2,#eq#/2,#equal#/2,#less#/2,#or#/2 ,AND#/2,INSERT#/2,INSERT#1#/2,INSERT#2#/4,ISORTLIST#/1,ISORTLIST#1#/1,LEQ#/2,LEQ#1#/2,LEQ#2#/3,OR#/2,and#/2 ,insert#/2,insert#1#/2,insert#2#/4,isortlist#/1,isortlist#1#/1,leq#/2,leq#1#/2,leq#2#/3,or#/2} / {#0/0,#EQ/0 ,#GT/0,#LT/0,#false/0,#neg/1,#pos/1,#s/1,#true/0,::/2,c/0,c1/0,c10/0,c11/0,c12/1,c13/0,c14/0,c15/0,c16/1 ,c17/0,c18/1,c19/0,c2/0,c20/0,c21/0,c22/0,c23/0,c24/1,c25/0,c26/0,c27/0,c28/1,c29/0,c3/0,c30/1,c31/2,c32/2 ,c33/0,c34/0,c35/0,c36/0,c37/0,c38/0,c39/0,c4/0,c40/1,c41/2,c42/1,c43/1,c44/2,c45/0,c46/1,c47/0,c48/1,c49/2 ,c5/0,c50/0,c51/1,c52/1,c53/0,c54/2,c55/3,c56/3,c57/0,c58/1,c6/0,c7/0,c8/0,c9/0,nil/0,c_1/1,c_2/3,c_3/1 ,c_4/1,c_5/2,c_6/0,c_7/1,c_8/0,c_9/1,c_10/1,c_11/0,c_12/1,c_13/1,c_14/0,c_15/6,c_16/9,c_17/1,c_18/0,c_19/1 ,c_20/0,c_21/0,c_22/0,c_23/0,c_24/0,c_25/0,c_26/0,c_27/0,c_28/0,c_29/0,c_30/0,c_31/0,c_32/1,c_33/0,c_34/0 ,c_35/0,c_36/1,c_37/0,c_38/1,c_39/0,c_40/0,c_41/0,c_42/0,c_43/0,c_44/1,c_45/0,c_46/0,c_47/0,c_48/1,c_49/0 ,c_50/1,c_51/4,c_52/4,c_53/0,c_54/0,c_55/0,c_56/0,c_57/0,c_58/0,c_59/0,c_60/0,c_61/0,c_62/0,c_63/0,c_64/0 ,c_65/0,c_66/0,c_67/0,c_68/0,c_69/0,c_70/0,c_71/0,c_72/1,c_73/0,c_74/0,c_75/0,c_76/1,c_77/0,c_78/1,c_79/0 ,c_80/0,c_81/0,c_82/0,c_83/0,c_84/1,c_85/0,c_86/0,c_87/0,c_88/1,c_89/0,c_90/1,c_91/3,c_92/0,c_93/0,c_94/0 ,c_95/1,c_96/2,c_97/0,c_98/0,c_99/0,c_100/0,c_101/1,c_102/1,c_103/2,c_104/0,c_105/1,c_106/0,c_107/1,c_108/2 ,c_109/0,c_110/1,c_111/1,c_112/0,c_113/5,c_114/0,c_115/1} - Obligation: innermost runtime complexity wrt. defined symbols {#AND#,#CKLT#,#COMPARE#,#EQ'#,#EQUAL#,#LESS#,#OR#,#and# ,#cklt#,#compare#,#eq#,#equal#,#less#,#or#,AND#,INSERT#,INSERT#1#,INSERT#2#,ISORTLIST#,ISORTLIST#1#,LEQ# ,LEQ#1#,LEQ#2#,OR#,and#,insert#,insert#1#,insert#2#,isortlist#,isortlist#1#,leq#,leq#1#,leq#2# ,or#} and constructors {#0,#EQ,#GT,#LT,#false,#neg,#pos,#s,#true,::,c,c1,c10,c11,c12,c13,c14,c15,c16,c17,c18 ,c19,c2,c20,c21,c22,c23,c24,c25,c26,c27,c28,c29,c3,c30,c31,c32,c33,c34,c35,c36,c37,c38,c39,c4,c40,c41,c42 ,c43,c44,c45,c46,c47,c48,c49,c5,c50,c51,c52,c53,c54,c55,c56,c57,c58,c6,c7,c8,c9,nil} + Applied Processor: EmptyProcessor + Details: The problem is already closed. The intended complexity is O(1). ** Step 8.b:1: DecomposeDG. WORST_CASE(?,O(n^2)) + Considered Problem: - Strict DPs: INSERT#(z0,z1) -> c_4(INSERT#1#(z1,z0)) INSERT#1#(::(z0,z1),z2) -> c_5(INSERT#2#(leq(z2,z0),z2,z0,z1),LEQ#(z2,z0)) INSERT#2#(#false(),z0,z1,z2) -> c_7(INSERT#(z0,z2)) LEQ#(z0,z1) -> c_12(LEQ#1#(z0,z1)) LEQ#1#(::(z0,z1),z2) -> c_13(LEQ#2#(z2,z0,z1)) LEQ#2#(::(z0,z1),z2,z3) -> c_17(LEQ#(z3,z1)) - Weak DPs: ISORTLIST#(z0) -> ISORTLIST#1#(z0) ISORTLIST#1#(::(z0,z1)) -> INSERT#(z0,isortlist(z1)) ISORTLIST#1#(::(z0,z1)) -> ISORTLIST#(z1) - Weak TRS: #and(#false(),#false()) -> #false() #and(#false(),#true()) -> #false() #and(#true(),#false()) -> #false() #and(#true(),#true()) -> #true() #cklt(#EQ()) -> #false() #cklt(#GT()) -> #false() #cklt(#LT()) -> #true() #compare(#0(),#0()) -> #EQ() #compare(#0(),#neg(z0)) -> #GT() #compare(#0(),#pos(z0)) -> #LT() #compare(#0(),#s(z0)) -> #LT() #compare(#neg(z0),#0()) -> #LT() #compare(#neg(z0),#neg(z1)) -> #compare(z1,z0) #compare(#neg(z0),#pos(z1)) -> #LT() #compare(#pos(z0),#0()) -> #GT() #compare(#pos(z0),#neg(z1)) -> #GT() #compare(#pos(z0),#pos(z1)) -> #compare(z0,z1) #compare(#s(z0),#0()) -> #GT() #compare(#s(z0),#s(z1)) -> #compare(z0,z1) #eq(#0(),#0()) -> #true() #eq(#0(),#neg(z0)) -> #false() #eq(#0(),#pos(z0)) -> #false() #eq(#0(),#s(z0)) -> #false() #eq(#neg(z0),#0()) -> #false() #eq(#neg(z0),#neg(z1)) -> #eq(z0,z1) #eq(#neg(z0),#pos(z1)) -> #false() #eq(#pos(z0),#0()) -> #false() #eq(#pos(z0),#neg(z1)) -> #false() #eq(#pos(z0),#pos(z1)) -> #eq(z0,z1) #eq(#s(z0),#0()) -> #false() #eq(#s(z0),#s(z1)) -> #eq(z0,z1) #eq(::(z0,z1),::(z2,z3)) -> #and(#eq(z0,z2),#eq(z1,z3)) #eq(::(z0,z1),nil()) -> #false() #eq(nil(),::(z0,z1)) -> #false() #eq(nil(),nil()) -> #true() #equal(z0,z1) -> #eq(z0,z1) #less(z0,z1) -> #cklt(#compare(z0,z1)) #or(#false(),#false()) -> #false() #or(#false(),#true()) -> #true() #or(#true(),#false()) -> #true() #or(#true(),#true()) -> #true() and(z0,z1) -> #and(z0,z1) insert(z0,z1) -> insert#1(z1,z0) insert#1(::(z0,z1),z2) -> insert#2(leq(z2,z0),z2,z0,z1) insert#1(nil(),z0) -> ::(z0,nil()) insert#2(#false(),z0,z1,z2) -> ::(z1,insert(z0,z2)) insert#2(#true(),z0,z1,z2) -> ::(z0,::(z1,z2)) isortlist(z0) -> isortlist#1(z0) isortlist#1(::(z0,z1)) -> insert(z0,isortlist(z1)) isortlist#1(nil()) -> nil() leq(z0,z1) -> leq#1(z0,z1) leq#1(::(z0,z1),z2) -> leq#2(z2,z0,z1) leq#1(nil(),z0) -> #true() leq#2(::(z0,z1),z2,z3) -> or(#less(z2,z0),and(#equal(z2,z0),leq(z3,z1))) leq#2(nil(),z0,z1) -> #false() or(z0,z1) -> #or(z0,z1) - Signature: {#AND/2,#CKLT/1,#COMPARE/2,#EQ'/2,#EQUAL/2,#LESS/2,#OR/2,#and/2,#cklt/1,#compare/2,#eq/2,#equal/2,#less/2 ,#or/2,AND/2,INSERT/2,INSERT#1/2,INSERT#2/4,ISORTLIST/1,ISORTLIST#1/1,LEQ/2,LEQ#1/2,LEQ#2/3,OR/2,and/2 ,insert/2,insert#1/2,insert#2/4,isortlist/1,isortlist#1/1,leq/2,leq#1/2,leq#2/3,or/2,#AND#/2,#CKLT#/1 ,#COMPARE#/2,#EQ'#/2,#EQUAL#/2,#LESS#/2,#OR#/2,#and#/2,#cklt#/1,#compare#/2,#eq#/2,#equal#/2,#less#/2,#or#/2 ,AND#/2,INSERT#/2,INSERT#1#/2,INSERT#2#/4,ISORTLIST#/1,ISORTLIST#1#/1,LEQ#/2,LEQ#1#/2,LEQ#2#/3,OR#/2,and#/2 ,insert#/2,insert#1#/2,insert#2#/4,isortlist#/1,isortlist#1#/1,leq#/2,leq#1#/2,leq#2#/3,or#/2} / {#0/0,#EQ/0 ,#GT/0,#LT/0,#false/0,#neg/1,#pos/1,#s/1,#true/0,::/2,c/0,c1/0,c10/0,c11/0,c12/1,c13/0,c14/0,c15/0,c16/1 ,c17/0,c18/1,c19/0,c2/0,c20/0,c21/0,c22/0,c23/0,c24/1,c25/0,c26/0,c27/0,c28/1,c29/0,c3/0,c30/1,c31/2,c32/2 ,c33/0,c34/0,c35/0,c36/0,c37/0,c38/0,c39/0,c4/0,c40/1,c41/2,c42/1,c43/1,c44/2,c45/0,c46/1,c47/0,c48/1,c49/2 ,c5/0,c50/0,c51/1,c52/1,c53/0,c54/2,c55/3,c56/3,c57/0,c58/1,c6/0,c7/0,c8/0,c9/0,nil/0,c_1/1,c_2/3,c_3/1 ,c_4/1,c_5/2,c_6/0,c_7/1,c_8/0,c_9/1,c_10/2,c_11/0,c_12/1,c_13/1,c_14/0,c_15/6,c_16/9,c_17/1,c_18/0,c_19/1 ,c_20/0,c_21/0,c_22/0,c_23/0,c_24/0,c_25/0,c_26/0,c_27/0,c_28/0,c_29/0,c_30/0,c_31/0,c_32/1,c_33/0,c_34/0 ,c_35/0,c_36/1,c_37/0,c_38/1,c_39/0,c_40/0,c_41/0,c_42/0,c_43/0,c_44/1,c_45/0,c_46/0,c_47/0,c_48/1,c_49/0 ,c_50/1,c_51/4,c_52/4,c_53/0,c_54/0,c_55/0,c_56/0,c_57/0,c_58/0,c_59/0,c_60/0,c_61/0,c_62/0,c_63/0,c_64/0 ,c_65/0,c_66/0,c_67/0,c_68/0,c_69/0,c_70/0,c_71/0,c_72/1,c_73/0,c_74/0,c_75/0,c_76/1,c_77/0,c_78/1,c_79/0 ,c_80/0,c_81/0,c_82/0,c_83/0,c_84/1,c_85/0,c_86/0,c_87/0,c_88/1,c_89/0,c_90/1,c_91/3,c_92/0,c_93/0,c_94/0 ,c_95/1,c_96/2,c_97/0,c_98/0,c_99/0,c_100/0,c_101/1,c_102/1,c_103/2,c_104/0,c_105/1,c_106/0,c_107/1,c_108/2 ,c_109/0,c_110/1,c_111/1,c_112/0,c_113/5,c_114/0,c_115/1} - Obligation: innermost runtime complexity wrt. defined symbols {#AND#,#CKLT#,#COMPARE#,#EQ'#,#EQUAL#,#LESS#,#OR#,#and# ,#cklt#,#compare#,#eq#,#equal#,#less#,#or#,AND#,INSERT#,INSERT#1#,INSERT#2#,ISORTLIST#,ISORTLIST#1#,LEQ# ,LEQ#1#,LEQ#2#,OR#,and#,insert#,insert#1#,insert#2#,isortlist#,isortlist#1#,leq#,leq#1#,leq#2# ,or#} and constructors {#0,#EQ,#GT,#LT,#false,#neg,#pos,#s,#true,::,c,c1,c10,c11,c12,c13,c14,c15,c16,c17,c18 ,c19,c2,c20,c21,c22,c23,c24,c25,c26,c27,c28,c29,c3,c30,c31,c32,c33,c34,c35,c36,c37,c38,c39,c4,c40,c41,c42 ,c43,c44,c45,c46,c47,c48,c49,c5,c50,c51,c52,c53,c54,c55,c56,c57,c58,c6,c7,c8,c9,nil} + Applied Processor: DecomposeDG {onSelection = all below first cut in WDG, onUpper = Nothing, onLower = Nothing} + Details: We decompose the input problem according to the dependency graph into the upper component INSERT#(z0,z1) -> c_4(INSERT#1#(z1,z0)) INSERT#1#(::(z0,z1),z2) -> c_5(INSERT#2#(leq(z2,z0),z2,z0,z1),LEQ#(z2,z0)) INSERT#2#(#false(),z0,z1,z2) -> c_7(INSERT#(z0,z2)) ISORTLIST#(z0) -> ISORTLIST#1#(z0) ISORTLIST#1#(::(z0,z1)) -> INSERT#(z0,isortlist(z1)) ISORTLIST#1#(::(z0,z1)) -> ISORTLIST#(z1) and a lower component LEQ#(z0,z1) -> c_12(LEQ#1#(z0,z1)) LEQ#1#(::(z0,z1),z2) -> c_13(LEQ#2#(z2,z0,z1)) LEQ#2#(::(z0,z1),z2,z3) -> c_17(LEQ#(z3,z1)) Further, following extension rules are added to the lower component. INSERT#(z0,z1) -> INSERT#1#(z1,z0) INSERT#1#(::(z0,z1),z2) -> INSERT#2#(leq(z2,z0),z2,z0,z1) INSERT#1#(::(z0,z1),z2) -> LEQ#(z2,z0) INSERT#2#(#false(),z0,z1,z2) -> INSERT#(z0,z2) ISORTLIST#(z0) -> ISORTLIST#1#(z0) ISORTLIST#1#(::(z0,z1)) -> INSERT#(z0,isortlist(z1)) ISORTLIST#1#(::(z0,z1)) -> ISORTLIST#(z1) *** Step 8.b:1.a:1: SimplifyRHS. WORST_CASE(?,O(n^1)) + Considered Problem: - Strict DPs: INSERT#(z0,z1) -> c_4(INSERT#1#(z1,z0)) INSERT#1#(::(z0,z1),z2) -> c_5(INSERT#2#(leq(z2,z0),z2,z0,z1),LEQ#(z2,z0)) INSERT#2#(#false(),z0,z1,z2) -> c_7(INSERT#(z0,z2)) - Weak DPs: ISORTLIST#(z0) -> ISORTLIST#1#(z0) ISORTLIST#1#(::(z0,z1)) -> INSERT#(z0,isortlist(z1)) ISORTLIST#1#(::(z0,z1)) -> ISORTLIST#(z1) - Weak TRS: #and(#false(),#false()) -> #false() #and(#false(),#true()) -> #false() #and(#true(),#false()) -> #false() #and(#true(),#true()) -> #true() #cklt(#EQ()) -> #false() #cklt(#GT()) -> #false() #cklt(#LT()) -> #true() #compare(#0(),#0()) -> #EQ() #compare(#0(),#neg(z0)) -> #GT() #compare(#0(),#pos(z0)) -> #LT() #compare(#0(),#s(z0)) -> #LT() #compare(#neg(z0),#0()) -> #LT() #compare(#neg(z0),#neg(z1)) -> #compare(z1,z0) #compare(#neg(z0),#pos(z1)) -> #LT() #compare(#pos(z0),#0()) -> #GT() #compare(#pos(z0),#neg(z1)) -> #GT() #compare(#pos(z0),#pos(z1)) -> #compare(z0,z1) #compare(#s(z0),#0()) -> #GT() #compare(#s(z0),#s(z1)) -> #compare(z0,z1) #eq(#0(),#0()) -> #true() #eq(#0(),#neg(z0)) -> #false() #eq(#0(),#pos(z0)) -> #false() #eq(#0(),#s(z0)) -> #false() #eq(#neg(z0),#0()) -> #false() #eq(#neg(z0),#neg(z1)) -> #eq(z0,z1) #eq(#neg(z0),#pos(z1)) -> #false() #eq(#pos(z0),#0()) -> #false() #eq(#pos(z0),#neg(z1)) -> #false() #eq(#pos(z0),#pos(z1)) -> #eq(z0,z1) #eq(#s(z0),#0()) -> #false() #eq(#s(z0),#s(z1)) -> #eq(z0,z1) #eq(::(z0,z1),::(z2,z3)) -> #and(#eq(z0,z2),#eq(z1,z3)) #eq(::(z0,z1),nil()) -> #false() #eq(nil(),::(z0,z1)) -> #false() #eq(nil(),nil()) -> #true() #equal(z0,z1) -> #eq(z0,z1) #less(z0,z1) -> #cklt(#compare(z0,z1)) #or(#false(),#false()) -> #false() #or(#false(),#true()) -> #true() #or(#true(),#false()) -> #true() #or(#true(),#true()) -> #true() and(z0,z1) -> #and(z0,z1) insert(z0,z1) -> insert#1(z1,z0) insert#1(::(z0,z1),z2) -> insert#2(leq(z2,z0),z2,z0,z1) insert#1(nil(),z0) -> ::(z0,nil()) insert#2(#false(),z0,z1,z2) -> ::(z1,insert(z0,z2)) insert#2(#true(),z0,z1,z2) -> ::(z0,::(z1,z2)) isortlist(z0) -> isortlist#1(z0) isortlist#1(::(z0,z1)) -> insert(z0,isortlist(z1)) isortlist#1(nil()) -> nil() leq(z0,z1) -> leq#1(z0,z1) leq#1(::(z0,z1),z2) -> leq#2(z2,z0,z1) leq#1(nil(),z0) -> #true() leq#2(::(z0,z1),z2,z3) -> or(#less(z2,z0),and(#equal(z2,z0),leq(z3,z1))) leq#2(nil(),z0,z1) -> #false() or(z0,z1) -> #or(z0,z1) - Signature: {#AND/2,#CKLT/1,#COMPARE/2,#EQ'/2,#EQUAL/2,#LESS/2,#OR/2,#and/2,#cklt/1,#compare/2,#eq/2,#equal/2,#less/2 ,#or/2,AND/2,INSERT/2,INSERT#1/2,INSERT#2/4,ISORTLIST/1,ISORTLIST#1/1,LEQ/2,LEQ#1/2,LEQ#2/3,OR/2,and/2 ,insert/2,insert#1/2,insert#2/4,isortlist/1,isortlist#1/1,leq/2,leq#1/2,leq#2/3,or/2,#AND#/2,#CKLT#/1 ,#COMPARE#/2,#EQ'#/2,#EQUAL#/2,#LESS#/2,#OR#/2,#and#/2,#cklt#/1,#compare#/2,#eq#/2,#equal#/2,#less#/2,#or#/2 ,AND#/2,INSERT#/2,INSERT#1#/2,INSERT#2#/4,ISORTLIST#/1,ISORTLIST#1#/1,LEQ#/2,LEQ#1#/2,LEQ#2#/3,OR#/2,and#/2 ,insert#/2,insert#1#/2,insert#2#/4,isortlist#/1,isortlist#1#/1,leq#/2,leq#1#/2,leq#2#/3,or#/2} / {#0/0,#EQ/0 ,#GT/0,#LT/0,#false/0,#neg/1,#pos/1,#s/1,#true/0,::/2,c/0,c1/0,c10/0,c11/0,c12/1,c13/0,c14/0,c15/0,c16/1 ,c17/0,c18/1,c19/0,c2/0,c20/0,c21/0,c22/0,c23/0,c24/1,c25/0,c26/0,c27/0,c28/1,c29/0,c3/0,c30/1,c31/2,c32/2 ,c33/0,c34/0,c35/0,c36/0,c37/0,c38/0,c39/0,c4/0,c40/1,c41/2,c42/1,c43/1,c44/2,c45/0,c46/1,c47/0,c48/1,c49/2 ,c5/0,c50/0,c51/1,c52/1,c53/0,c54/2,c55/3,c56/3,c57/0,c58/1,c6/0,c7/0,c8/0,c9/0,nil/0,c_1/1,c_2/3,c_3/1 ,c_4/1,c_5/2,c_6/0,c_7/1,c_8/0,c_9/1,c_10/2,c_11/0,c_12/1,c_13/1,c_14/0,c_15/6,c_16/9,c_17/1,c_18/0,c_19/1 ,c_20/0,c_21/0,c_22/0,c_23/0,c_24/0,c_25/0,c_26/0,c_27/0,c_28/0,c_29/0,c_30/0,c_31/0,c_32/1,c_33/0,c_34/0 ,c_35/0,c_36/1,c_37/0,c_38/1,c_39/0,c_40/0,c_41/0,c_42/0,c_43/0,c_44/1,c_45/0,c_46/0,c_47/0,c_48/1,c_49/0 ,c_50/1,c_51/4,c_52/4,c_53/0,c_54/0,c_55/0,c_56/0,c_57/0,c_58/0,c_59/0,c_60/0,c_61/0,c_62/0,c_63/0,c_64/0 ,c_65/0,c_66/0,c_67/0,c_68/0,c_69/0,c_70/0,c_71/0,c_72/1,c_73/0,c_74/0,c_75/0,c_76/1,c_77/0,c_78/1,c_79/0 ,c_80/0,c_81/0,c_82/0,c_83/0,c_84/1,c_85/0,c_86/0,c_87/0,c_88/1,c_89/0,c_90/1,c_91/3,c_92/0,c_93/0,c_94/0 ,c_95/1,c_96/2,c_97/0,c_98/0,c_99/0,c_100/0,c_101/1,c_102/1,c_103/2,c_104/0,c_105/1,c_106/0,c_107/1,c_108/2 ,c_109/0,c_110/1,c_111/1,c_112/0,c_113/5,c_114/0,c_115/1} - Obligation: innermost runtime complexity wrt. defined symbols {#AND#,#CKLT#,#COMPARE#,#EQ'#,#EQUAL#,#LESS#,#OR#,#and# ,#cklt#,#compare#,#eq#,#equal#,#less#,#or#,AND#,INSERT#,INSERT#1#,INSERT#2#,ISORTLIST#,ISORTLIST#1#,LEQ# ,LEQ#1#,LEQ#2#,OR#,and#,insert#,insert#1#,insert#2#,isortlist#,isortlist#1#,leq#,leq#1#,leq#2# ,or#} and constructors {#0,#EQ,#GT,#LT,#false,#neg,#pos,#s,#true,::,c,c1,c10,c11,c12,c13,c14,c15,c16,c17,c18 ,c19,c2,c20,c21,c22,c23,c24,c25,c26,c27,c28,c29,c3,c30,c31,c32,c33,c34,c35,c36,c37,c38,c39,c4,c40,c41,c42 ,c43,c44,c45,c46,c47,c48,c49,c5,c50,c51,c52,c53,c54,c55,c56,c57,c58,c6,c7,c8,c9,nil} + Applied Processor: SimplifyRHS + Details: Consider the dependency graph 1:S:INSERT#(z0,z1) -> c_4(INSERT#1#(z1,z0)) -->_1 INSERT#1#(::(z0,z1),z2) -> c_5(INSERT#2#(leq(z2,z0),z2,z0,z1),LEQ#(z2,z0)):2 2:S:INSERT#1#(::(z0,z1),z2) -> c_5(INSERT#2#(leq(z2,z0),z2,z0,z1),LEQ#(z2,z0)) -->_1 INSERT#2#(#false(),z0,z1,z2) -> c_7(INSERT#(z0,z2)):3 3:S:INSERT#2#(#false(),z0,z1,z2) -> c_7(INSERT#(z0,z2)) -->_1 INSERT#(z0,z1) -> c_4(INSERT#1#(z1,z0)):1 4:W:ISORTLIST#(z0) -> ISORTLIST#1#(z0) -->_1 ISORTLIST#1#(::(z0,z1)) -> ISORTLIST#(z1):6 -->_1 ISORTLIST#1#(::(z0,z1)) -> INSERT#(z0,isortlist(z1)):5 5:W:ISORTLIST#1#(::(z0,z1)) -> INSERT#(z0,isortlist(z1)) -->_1 INSERT#(z0,z1) -> c_4(INSERT#1#(z1,z0)):1 6:W:ISORTLIST#1#(::(z0,z1)) -> ISORTLIST#(z1) -->_1 ISORTLIST#(z0) -> ISORTLIST#1#(z0):4 Due to missing edges in the depndency graph, the right-hand sides of following rules could be simplified: INSERT#1#(::(z0,z1),z2) -> c_5(INSERT#2#(leq(z2,z0),z2,z0,z1)) *** Step 8.b:1.a:2: NaturalMI. WORST_CASE(?,O(n^1)) + Considered Problem: - Strict DPs: INSERT#(z0,z1) -> c_4(INSERT#1#(z1,z0)) INSERT#1#(::(z0,z1),z2) -> c_5(INSERT#2#(leq(z2,z0),z2,z0,z1)) INSERT#2#(#false(),z0,z1,z2) -> c_7(INSERT#(z0,z2)) - Weak DPs: ISORTLIST#(z0) -> ISORTLIST#1#(z0) ISORTLIST#1#(::(z0,z1)) -> INSERT#(z0,isortlist(z1)) ISORTLIST#1#(::(z0,z1)) -> ISORTLIST#(z1) - Weak TRS: #and(#false(),#false()) -> #false() #and(#false(),#true()) -> #false() #and(#true(),#false()) -> #false() #and(#true(),#true()) -> #true() #cklt(#EQ()) -> #false() #cklt(#GT()) -> #false() #cklt(#LT()) -> #true() #compare(#0(),#0()) -> #EQ() #compare(#0(),#neg(z0)) -> #GT() #compare(#0(),#pos(z0)) -> #LT() #compare(#0(),#s(z0)) -> #LT() #compare(#neg(z0),#0()) -> #LT() #compare(#neg(z0),#neg(z1)) -> #compare(z1,z0) #compare(#neg(z0),#pos(z1)) -> #LT() #compare(#pos(z0),#0()) -> #GT() #compare(#pos(z0),#neg(z1)) -> #GT() #compare(#pos(z0),#pos(z1)) -> #compare(z0,z1) #compare(#s(z0),#0()) -> #GT() #compare(#s(z0),#s(z1)) -> #compare(z0,z1) #eq(#0(),#0()) -> #true() #eq(#0(),#neg(z0)) -> #false() #eq(#0(),#pos(z0)) -> #false() #eq(#0(),#s(z0)) -> #false() #eq(#neg(z0),#0()) -> #false() #eq(#neg(z0),#neg(z1)) -> #eq(z0,z1) #eq(#neg(z0),#pos(z1)) -> #false() #eq(#pos(z0),#0()) -> #false() #eq(#pos(z0),#neg(z1)) -> #false() #eq(#pos(z0),#pos(z1)) -> #eq(z0,z1) #eq(#s(z0),#0()) -> #false() #eq(#s(z0),#s(z1)) -> #eq(z0,z1) #eq(::(z0,z1),::(z2,z3)) -> #and(#eq(z0,z2),#eq(z1,z3)) #eq(::(z0,z1),nil()) -> #false() #eq(nil(),::(z0,z1)) -> #false() #eq(nil(),nil()) -> #true() #equal(z0,z1) -> #eq(z0,z1) #less(z0,z1) -> #cklt(#compare(z0,z1)) #or(#false(),#false()) -> #false() #or(#false(),#true()) -> #true() #or(#true(),#false()) -> #true() #or(#true(),#true()) -> #true() and(z0,z1) -> #and(z0,z1) insert(z0,z1) -> insert#1(z1,z0) insert#1(::(z0,z1),z2) -> insert#2(leq(z2,z0),z2,z0,z1) insert#1(nil(),z0) -> ::(z0,nil()) insert#2(#false(),z0,z1,z2) -> ::(z1,insert(z0,z2)) insert#2(#true(),z0,z1,z2) -> ::(z0,::(z1,z2)) isortlist(z0) -> isortlist#1(z0) isortlist#1(::(z0,z1)) -> insert(z0,isortlist(z1)) isortlist#1(nil()) -> nil() leq(z0,z1) -> leq#1(z0,z1) leq#1(::(z0,z1),z2) -> leq#2(z2,z0,z1) leq#1(nil(),z0) -> #true() leq#2(::(z0,z1),z2,z3) -> or(#less(z2,z0),and(#equal(z2,z0),leq(z3,z1))) leq#2(nil(),z0,z1) -> #false() or(z0,z1) -> #or(z0,z1) - Signature: {#AND/2,#CKLT/1,#COMPARE/2,#EQ'/2,#EQUAL/2,#LESS/2,#OR/2,#and/2,#cklt/1,#compare/2,#eq/2,#equal/2,#less/2 ,#or/2,AND/2,INSERT/2,INSERT#1/2,INSERT#2/4,ISORTLIST/1,ISORTLIST#1/1,LEQ/2,LEQ#1/2,LEQ#2/3,OR/2,and/2 ,insert/2,insert#1/2,insert#2/4,isortlist/1,isortlist#1/1,leq/2,leq#1/2,leq#2/3,or/2,#AND#/2,#CKLT#/1 ,#COMPARE#/2,#EQ'#/2,#EQUAL#/2,#LESS#/2,#OR#/2,#and#/2,#cklt#/1,#compare#/2,#eq#/2,#equal#/2,#less#/2,#or#/2 ,AND#/2,INSERT#/2,INSERT#1#/2,INSERT#2#/4,ISORTLIST#/1,ISORTLIST#1#/1,LEQ#/2,LEQ#1#/2,LEQ#2#/3,OR#/2,and#/2 ,insert#/2,insert#1#/2,insert#2#/4,isortlist#/1,isortlist#1#/1,leq#/2,leq#1#/2,leq#2#/3,or#/2} / {#0/0,#EQ/0 ,#GT/0,#LT/0,#false/0,#neg/1,#pos/1,#s/1,#true/0,::/2,c/0,c1/0,c10/0,c11/0,c12/1,c13/0,c14/0,c15/0,c16/1 ,c17/0,c18/1,c19/0,c2/0,c20/0,c21/0,c22/0,c23/0,c24/1,c25/0,c26/0,c27/0,c28/1,c29/0,c3/0,c30/1,c31/2,c32/2 ,c33/0,c34/0,c35/0,c36/0,c37/0,c38/0,c39/0,c4/0,c40/1,c41/2,c42/1,c43/1,c44/2,c45/0,c46/1,c47/0,c48/1,c49/2 ,c5/0,c50/0,c51/1,c52/1,c53/0,c54/2,c55/3,c56/3,c57/0,c58/1,c6/0,c7/0,c8/0,c9/0,nil/0,c_1/1,c_2/3,c_3/1 ,c_4/1,c_5/1,c_6/0,c_7/1,c_8/0,c_9/1,c_10/2,c_11/0,c_12/1,c_13/1,c_14/0,c_15/6,c_16/9,c_17/1,c_18/0,c_19/1 ,c_20/0,c_21/0,c_22/0,c_23/0,c_24/0,c_25/0,c_26/0,c_27/0,c_28/0,c_29/0,c_30/0,c_31/0,c_32/1,c_33/0,c_34/0 ,c_35/0,c_36/1,c_37/0,c_38/1,c_39/0,c_40/0,c_41/0,c_42/0,c_43/0,c_44/1,c_45/0,c_46/0,c_47/0,c_48/1,c_49/0 ,c_50/1,c_51/4,c_52/4,c_53/0,c_54/0,c_55/0,c_56/0,c_57/0,c_58/0,c_59/0,c_60/0,c_61/0,c_62/0,c_63/0,c_64/0 ,c_65/0,c_66/0,c_67/0,c_68/0,c_69/0,c_70/0,c_71/0,c_72/1,c_73/0,c_74/0,c_75/0,c_76/1,c_77/0,c_78/1,c_79/0 ,c_80/0,c_81/0,c_82/0,c_83/0,c_84/1,c_85/0,c_86/0,c_87/0,c_88/1,c_89/0,c_90/1,c_91/3,c_92/0,c_93/0,c_94/0 ,c_95/1,c_96/2,c_97/0,c_98/0,c_99/0,c_100/0,c_101/1,c_102/1,c_103/2,c_104/0,c_105/1,c_106/0,c_107/1,c_108/2 ,c_109/0,c_110/1,c_111/1,c_112/0,c_113/5,c_114/0,c_115/1} - Obligation: innermost runtime complexity wrt. defined symbols {#AND#,#CKLT#,#COMPARE#,#EQ'#,#EQUAL#,#LESS#,#OR#,#and# ,#cklt#,#compare#,#eq#,#equal#,#less#,#or#,AND#,INSERT#,INSERT#1#,INSERT#2#,ISORTLIST#,ISORTLIST#1#,LEQ# ,LEQ#1#,LEQ#2#,OR#,and#,insert#,insert#1#,insert#2#,isortlist#,isortlist#1#,leq#,leq#1#,leq#2# ,or#} and constructors {#0,#EQ,#GT,#LT,#false,#neg,#pos,#s,#true,::,c,c1,c10,c11,c12,c13,c14,c15,c16,c17,c18 ,c19,c2,c20,c21,c22,c23,c24,c25,c26,c27,c28,c29,c3,c30,c31,c32,c33,c34,c35,c36,c37,c38,c39,c4,c40,c41,c42 ,c43,c44,c45,c46,c47,c48,c49,c5,c50,c51,c52,c53,c54,c55,c56,c57,c58,c6,c7,c8,c9,nil} + Applied Processor: NaturalMI {miDimension = 1, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Just any strict-rules} + Details: We apply a matrix interpretation of kind constructor based matrix interpretation: The following argument positions are considered usable: uargs(c_4) = {1}, uargs(c_5) = {1}, uargs(c_7) = {1} Following symbols are considered usable: {insert,insert#1,insert#2,isortlist,isortlist#1,#AND#,#CKLT#,#COMPARE#,#EQ'#,#EQUAL#,#LESS#,#OR#,#and# ,#cklt#,#compare#,#eq#,#equal#,#less#,#or#,AND#,INSERT#,INSERT#1#,INSERT#2#,ISORTLIST#,ISORTLIST#1#,LEQ# ,LEQ#1#,LEQ#2#,OR#,and#,insert#,insert#1#,insert#2#,isortlist#,isortlist#1#,leq#,leq#1#,leq#2#,or#} TcT has computed the following interpretation: p(#0) = [2] p(#AND) = [0] p(#CKLT) = [0] p(#COMPARE) = [0] p(#EQ) = [5] p(#EQ') = [0] p(#EQUAL) = [0] p(#GT) = [0] p(#LESS) = [0] p(#LT) = [0] p(#OR) = [0] p(#and) = [3] x1 + [0] p(#cklt) = [1] x1 + [0] p(#compare) = [4] x2 + [0] p(#eq) = [1] x1 + [1] x2 + [5] p(#equal) = [0] p(#false) = [0] p(#less) = [0] p(#neg) = [0] p(#or) = [0] p(#pos) = [1] x1 + [1] p(#s) = [1] x1 + [0] p(#true) = [0] p(::) = [1] x1 + [1] x2 + [2] p(AND) = [0] p(INSERT) = [0] p(INSERT#1) = [0] p(INSERT#2) = [0] p(ISORTLIST) = [0] p(ISORTLIST#1) = [0] p(LEQ) = [0] p(LEQ#1) = [0] p(LEQ#2) = [0] p(OR) = [0] p(and) = [0] p(c) = [0] p(c1) = [0] p(c10) = [0] p(c11) = [0] p(c12) = [1] x1 + [0] p(c13) = [0] p(c14) = [0] p(c15) = [0] p(c16) = [1] x1 + [0] p(c17) = [0] p(c18) = [1] x1 + [0] p(c19) = [0] p(c2) = [0] p(c20) = [0] p(c21) = [0] p(c22) = [0] p(c23) = [0] p(c24) = [1] x1 + [0] p(c25) = [0] p(c26) = [0] p(c27) = [0] p(c28) = [1] x1 + [0] p(c29) = [0] p(c3) = [0] p(c30) = [1] x1 + [0] p(c31) = [1] x1 + [1] x2 + [0] p(c32) = [1] x1 + [1] x2 + [0] p(c33) = [0] p(c34) = [0] p(c35) = [0] p(c36) = [0] p(c37) = [0] p(c38) = [0] p(c39) = [0] p(c4) = [0] p(c40) = [1] x1 + [0] p(c41) = [1] x1 + [1] x2 + [0] p(c42) = [1] x1 + [0] p(c43) = [1] x1 + [0] p(c44) = [1] x1 + [1] x2 + [0] p(c45) = [0] p(c46) = [1] x1 + [0] p(c47) = [0] p(c48) = [1] x1 + [0] p(c49) = [1] x1 + [1] x2 + [0] p(c5) = [0] p(c50) = [0] p(c51) = [1] x1 + [0] p(c52) = [0] p(c53) = [0] p(c54) = [1] x1 + [1] x2 + [0] p(c55) = [1] x1 + [1] x2 + [1] x3 + [0] p(c56) = [1] x1 + [1] x2 + [1] x3 + [0] p(c57) = [0] p(c58) = [1] x1 + [0] p(c6) = [0] p(c7) = [0] p(c8) = [0] p(c9) = [0] p(insert) = [1] x1 + [1] x2 + [2] p(insert#1) = [1] x1 + [1] x2 + [2] p(insert#2) = [1] x2 + [1] x3 + [1] x4 + [4] p(isortlist) = [1] x1 + [0] p(isortlist#1) = [1] x1 + [0] p(leq) = [0] p(leq#1) = [0] p(leq#2) = [0] p(nil) = [0] p(or) = [1] p(#AND#) = [0] p(#CKLT#) = [0] p(#COMPARE#) = [0] p(#EQ'#) = [0] p(#EQUAL#) = [0] p(#LESS#) = [0] p(#OR#) = [0] p(#and#) = [0] p(#cklt#) = [0] p(#compare#) = [0] p(#eq#) = [0] p(#equal#) = [0] p(#less#) = [0] p(#or#) = [0] p(AND#) = [0] p(INSERT#) = [7] x1 + [4] x2 + [0] p(INSERT#1#) = [4] x1 + [7] x2 + [0] p(INSERT#2#) = [7] x2 + [3] x3 + [4] x4 + [0] p(ISORTLIST#) = [7] x1 + [1] p(ISORTLIST#1#) = [7] x1 + [1] p(LEQ#) = [0] p(LEQ#1#) = [0] p(LEQ#2#) = [0] p(OR#) = [0] p(and#) = [0] p(insert#) = [0] p(insert#1#) = [0] p(insert#2#) = [0] p(isortlist#) = [0] p(isortlist#1#) = [0] p(leq#) = [0] p(leq#1#) = [0] p(leq#2#) = [0] p(or#) = [0] p(c_1) = [0] p(c_2) = [2] x2 + [0] p(c_3) = [2] x1 + [0] p(c_4) = [1] x1 + [0] p(c_5) = [1] x1 + [6] p(c_6) = [0] p(c_7) = [1] x1 + [0] p(c_8) = [0] p(c_9) = [0] p(c_10) = [1] x1 + [0] p(c_11) = [0] p(c_12) = [1] x1 + [0] p(c_13) = [4] x1 + [0] p(c_14) = [0] p(c_15) = [2] x1 + [1] x4 + [2] x5 + [1] x6 + [0] p(c_16) = [1] x6 + [4] x7 + [1] x9 + [0] 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) = [1] x1 + [0] p(c_33) = [0] p(c_34) = [0] p(c_35) = [0] p(c_36) = [0] p(c_37) = [0] p(c_38) = [1] x1 + [0] p(c_39) = [0] p(c_40) = [0] p(c_41) = [0] p(c_42) = [0] p(c_43) = [0] p(c_44) = [0] p(c_45) = [0] p(c_46) = [0] p(c_47) = [0] p(c_48) = [0] p(c_49) = [0] p(c_50) = [1] x1 + [0] p(c_51) = [1] x1 + [2] x2 + [2] x3 + [1] x4 + [0] p(c_52) = [1] x4 + [0] p(c_53) = [0] p(c_54) = [0] p(c_55) = [0] p(c_56) = [0] p(c_57) = [0] p(c_58) = [0] p(c_59) = [0] p(c_60) = [0] p(c_61) = [0] p(c_62) = [0] p(c_63) = [0] p(c_64) = [0] p(c_65) = [0] p(c_66) = [0] p(c_67) = [0] p(c_68) = [0] p(c_69) = [0] p(c_70) = [0] p(c_71) = [0] p(c_72) = [0] p(c_73) = [0] p(c_74) = [0] p(c_75) = [4] p(c_76) = [0] p(c_77) = [0] p(c_78) = [0] p(c_79) = [0] p(c_80) = [0] p(c_81) = [0] p(c_82) = [0] p(c_83) = [0] p(c_84) = [0] p(c_85) = [0] p(c_86) = [0] p(c_87) = [0] p(c_88) = [1] x1 + [0] p(c_89) = [0] p(c_90) = [0] p(c_91) = [0] p(c_92) = [0] p(c_93) = [0] p(c_94) = [0] p(c_95) = [1] x1 + [0] p(c_96) = [4] x1 + [0] p(c_97) = [0] p(c_98) = [2] p(c_99) = [0] p(c_100) = [0] p(c_101) = [1] x1 + [0] p(c_102) = [2] x1 + [0] p(c_103) = [0] p(c_104) = [0] p(c_105) = [0] p(c_106) = [0] p(c_107) = [0] p(c_108) = [1] x1 + [4] x2 + [0] p(c_109) = [0] p(c_110) = [2] x1 + [0] p(c_111) = [0] p(c_112) = [0] p(c_113) = [0] p(c_114) = [0] p(c_115) = [1] x1 + [0] Following rules are strictly oriented: INSERT#1#(::(z0,z1),z2) = [4] z0 + [4] z1 + [7] z2 + [8] > [3] z0 + [4] z1 + [7] z2 + [6] = c_5(INSERT#2#(leq(z2,z0),z2,z0,z1)) Following rules are (at-least) weakly oriented: INSERT#(z0,z1) = [7] z0 + [4] z1 + [0] >= [7] z0 + [4] z1 + [0] = c_4(INSERT#1#(z1,z0)) INSERT#2#(#false(),z0,z1,z2) = [7] z0 + [3] z1 + [4] z2 + [0] >= [7] z0 + [4] z2 + [0] = c_7(INSERT#(z0,z2)) ISORTLIST#(z0) = [7] z0 + [1] >= [7] z0 + [1] = ISORTLIST#1#(z0) ISORTLIST#1#(::(z0,z1)) = [7] z0 + [7] z1 + [15] >= [7] z0 + [4] z1 + [0] = INSERT#(z0,isortlist(z1)) ISORTLIST#1#(::(z0,z1)) = [7] z0 + [7] z1 + [15] >= [7] z1 + [1] = ISORTLIST#(z1) insert(z0,z1) = [1] z0 + [1] z1 + [2] >= [1] z0 + [1] z1 + [2] = insert#1(z1,z0) insert#1(::(z0,z1),z2) = [1] z0 + [1] z1 + [1] z2 + [4] >= [1] z0 + [1] z1 + [1] z2 + [4] = insert#2(leq(z2,z0),z2,z0,z1) insert#1(nil(),z0) = [1] z0 + [2] >= [1] z0 + [2] = ::(z0,nil()) insert#2(#false(),z0,z1,z2) = [1] z0 + [1] z1 + [1] z2 + [4] >= [1] z0 + [1] z1 + [1] z2 + [4] = ::(z1,insert(z0,z2)) insert#2(#true(),z0,z1,z2) = [1] z0 + [1] z1 + [1] z2 + [4] >= [1] z0 + [1] z1 + [1] z2 + [4] = ::(z0,::(z1,z2)) isortlist(z0) = [1] z0 + [0] >= [1] z0 + [0] = isortlist#1(z0) isortlist#1(::(z0,z1)) = [1] z0 + [1] z1 + [2] >= [1] z0 + [1] z1 + [2] = insert(z0,isortlist(z1)) isortlist#1(nil()) = [0] >= [0] = nil() *** Step 8.b:1.a:3: NaturalMI. WORST_CASE(?,O(n^1)) + Considered Problem: - Strict DPs: INSERT#(z0,z1) -> c_4(INSERT#1#(z1,z0)) INSERT#2#(#false(),z0,z1,z2) -> c_7(INSERT#(z0,z2)) - Weak DPs: INSERT#1#(::(z0,z1),z2) -> c_5(INSERT#2#(leq(z2,z0),z2,z0,z1)) ISORTLIST#(z0) -> ISORTLIST#1#(z0) ISORTLIST#1#(::(z0,z1)) -> INSERT#(z0,isortlist(z1)) ISORTLIST#1#(::(z0,z1)) -> ISORTLIST#(z1) - Weak TRS: #and(#false(),#false()) -> #false() #and(#false(),#true()) -> #false() #and(#true(),#false()) -> #false() #and(#true(),#true()) -> #true() #cklt(#EQ()) -> #false() #cklt(#GT()) -> #false() #cklt(#LT()) -> #true() #compare(#0(),#0()) -> #EQ() #compare(#0(),#neg(z0)) -> #GT() #compare(#0(),#pos(z0)) -> #LT() #compare(#0(),#s(z0)) -> #LT() #compare(#neg(z0),#0()) -> #LT() #compare(#neg(z0),#neg(z1)) -> #compare(z1,z0) #compare(#neg(z0),#pos(z1)) -> #LT() #compare(#pos(z0),#0()) -> #GT() #compare(#pos(z0),#neg(z1)) -> #GT() #compare(#pos(z0),#pos(z1)) -> #compare(z0,z1) #compare(#s(z0),#0()) -> #GT() #compare(#s(z0),#s(z1)) -> #compare(z0,z1) #eq(#0(),#0()) -> #true() #eq(#0(),#neg(z0)) -> #false() #eq(#0(),#pos(z0)) -> #false() #eq(#0(),#s(z0)) -> #false() #eq(#neg(z0),#0()) -> #false() #eq(#neg(z0),#neg(z1)) -> #eq(z0,z1) #eq(#neg(z0),#pos(z1)) -> #false() #eq(#pos(z0),#0()) -> #false() #eq(#pos(z0),#neg(z1)) -> #false() #eq(#pos(z0),#pos(z1)) -> #eq(z0,z1) #eq(#s(z0),#0()) -> #false() #eq(#s(z0),#s(z1)) -> #eq(z0,z1) #eq(::(z0,z1),::(z2,z3)) -> #and(#eq(z0,z2),#eq(z1,z3)) #eq(::(z0,z1),nil()) -> #false() #eq(nil(),::(z0,z1)) -> #false() #eq(nil(),nil()) -> #true() #equal(z0,z1) -> #eq(z0,z1) #less(z0,z1) -> #cklt(#compare(z0,z1)) #or(#false(),#false()) -> #false() #or(#false(),#true()) -> #true() #or(#true(),#false()) -> #true() #or(#true(),#true()) -> #true() and(z0,z1) -> #and(z0,z1) insert(z0,z1) -> insert#1(z1,z0) insert#1(::(z0,z1),z2) -> insert#2(leq(z2,z0),z2,z0,z1) insert#1(nil(),z0) -> ::(z0,nil()) insert#2(#false(),z0,z1,z2) -> ::(z1,insert(z0,z2)) insert#2(#true(),z0,z1,z2) -> ::(z0,::(z1,z2)) isortlist(z0) -> isortlist#1(z0) isortlist#1(::(z0,z1)) -> insert(z0,isortlist(z1)) isortlist#1(nil()) -> nil() leq(z0,z1) -> leq#1(z0,z1) leq#1(::(z0,z1),z2) -> leq#2(z2,z0,z1) leq#1(nil(),z0) -> #true() leq#2(::(z0,z1),z2,z3) -> or(#less(z2,z0),and(#equal(z2,z0),leq(z3,z1))) leq#2(nil(),z0,z1) -> #false() or(z0,z1) -> #or(z0,z1) - Signature: {#AND/2,#CKLT/1,#COMPARE/2,#EQ'/2,#EQUAL/2,#LESS/2,#OR/2,#and/2,#cklt/1,#compare/2,#eq/2,#equal/2,#less/2 ,#or/2,AND/2,INSERT/2,INSERT#1/2,INSERT#2/4,ISORTLIST/1,ISORTLIST#1/1,LEQ/2,LEQ#1/2,LEQ#2/3,OR/2,and/2 ,insert/2,insert#1/2,insert#2/4,isortlist/1,isortlist#1/1,leq/2,leq#1/2,leq#2/3,or/2,#AND#/2,#CKLT#/1 ,#COMPARE#/2,#EQ'#/2,#EQUAL#/2,#LESS#/2,#OR#/2,#and#/2,#cklt#/1,#compare#/2,#eq#/2,#equal#/2,#less#/2,#or#/2 ,AND#/2,INSERT#/2,INSERT#1#/2,INSERT#2#/4,ISORTLIST#/1,ISORTLIST#1#/1,LEQ#/2,LEQ#1#/2,LEQ#2#/3,OR#/2,and#/2 ,insert#/2,insert#1#/2,insert#2#/4,isortlist#/1,isortlist#1#/1,leq#/2,leq#1#/2,leq#2#/3,or#/2} / {#0/0,#EQ/0 ,#GT/0,#LT/0,#false/0,#neg/1,#pos/1,#s/1,#true/0,::/2,c/0,c1/0,c10/0,c11/0,c12/1,c13/0,c14/0,c15/0,c16/1 ,c17/0,c18/1,c19/0,c2/0,c20/0,c21/0,c22/0,c23/0,c24/1,c25/0,c26/0,c27/0,c28/1,c29/0,c3/0,c30/1,c31/2,c32/2 ,c33/0,c34/0,c35/0,c36/0,c37/0,c38/0,c39/0,c4/0,c40/1,c41/2,c42/1,c43/1,c44/2,c45/0,c46/1,c47/0,c48/1,c49/2 ,c5/0,c50/0,c51/1,c52/1,c53/0,c54/2,c55/3,c56/3,c57/0,c58/1,c6/0,c7/0,c8/0,c9/0,nil/0,c_1/1,c_2/3,c_3/1 ,c_4/1,c_5/1,c_6/0,c_7/1,c_8/0,c_9/1,c_10/2,c_11/0,c_12/1,c_13/1,c_14/0,c_15/6,c_16/9,c_17/1,c_18/0,c_19/1 ,c_20/0,c_21/0,c_22/0,c_23/0,c_24/0,c_25/0,c_26/0,c_27/0,c_28/0,c_29/0,c_30/0,c_31/0,c_32/1,c_33/0,c_34/0 ,c_35/0,c_36/1,c_37/0,c_38/1,c_39/0,c_40/0,c_41/0,c_42/0,c_43/0,c_44/1,c_45/0,c_46/0,c_47/0,c_48/1,c_49/0 ,c_50/1,c_51/4,c_52/4,c_53/0,c_54/0,c_55/0,c_56/0,c_57/0,c_58/0,c_59/0,c_60/0,c_61/0,c_62/0,c_63/0,c_64/0 ,c_65/0,c_66/0,c_67/0,c_68/0,c_69/0,c_70/0,c_71/0,c_72/1,c_73/0,c_74/0,c_75/0,c_76/1,c_77/0,c_78/1,c_79/0 ,c_80/0,c_81/0,c_82/0,c_83/0,c_84/1,c_85/0,c_86/0,c_87/0,c_88/1,c_89/0,c_90/1,c_91/3,c_92/0,c_93/0,c_94/0 ,c_95/1,c_96/2,c_97/0,c_98/0,c_99/0,c_100/0,c_101/1,c_102/1,c_103/2,c_104/0,c_105/1,c_106/0,c_107/1,c_108/2 ,c_109/0,c_110/1,c_111/1,c_112/0,c_113/5,c_114/0,c_115/1} - Obligation: innermost runtime complexity wrt. defined symbols {#AND#,#CKLT#,#COMPARE#,#EQ'#,#EQUAL#,#LESS#,#OR#,#and# ,#cklt#,#compare#,#eq#,#equal#,#less#,#or#,AND#,INSERT#,INSERT#1#,INSERT#2#,ISORTLIST#,ISORTLIST#1#,LEQ# ,LEQ#1#,LEQ#2#,OR#,and#,insert#,insert#1#,insert#2#,isortlist#,isortlist#1#,leq#,leq#1#,leq#2# ,or#} and constructors {#0,#EQ,#GT,#LT,#false,#neg,#pos,#s,#true,::,c,c1,c10,c11,c12,c13,c14,c15,c16,c17,c18 ,c19,c2,c20,c21,c22,c23,c24,c25,c26,c27,c28,c29,c3,c30,c31,c32,c33,c34,c35,c36,c37,c38,c39,c4,c40,c41,c42 ,c43,c44,c45,c46,c47,c48,c49,c5,c50,c51,c52,c53,c54,c55,c56,c57,c58,c6,c7,c8,c9,nil} + Applied Processor: NaturalMI {miDimension = 1, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Just any strict-rules} + Details: We apply a matrix interpretation of kind constructor based matrix interpretation: The following argument positions are considered usable: uargs(c_4) = {1}, uargs(c_5) = {1}, uargs(c_7) = {1} Following symbols are considered usable: {insert,insert#1,insert#2,isortlist,isortlist#1,#AND#,#CKLT#,#COMPARE#,#EQ'#,#EQUAL#,#LESS#,#OR#,#and# ,#cklt#,#compare#,#eq#,#equal#,#less#,#or#,AND#,INSERT#,INSERT#1#,INSERT#2#,ISORTLIST#,ISORTLIST#1#,LEQ# ,LEQ#1#,LEQ#2#,OR#,and#,insert#,insert#1#,insert#2#,isortlist#,isortlist#1#,leq#,leq#1#,leq#2#,or#} TcT has computed the following interpretation: p(#0) = [0] p(#AND) = [0] p(#CKLT) = [0] p(#COMPARE) = [4] x1 + [0] p(#EQ) = [0] p(#EQ') = [1] x1 + [1] p(#EQUAL) = [1] x1 + [0] p(#GT) = [2] p(#LESS) = [1] x1 + [0] p(#LT) = [0] p(#OR) = [1] x2 + [0] p(#and) = [4] p(#cklt) = [4] x1 + [2] p(#compare) = [2] p(#eq) = [0] p(#equal) = [1] x1 + [2] p(#false) = [0] p(#less) = [1] x2 + [0] p(#neg) = [0] p(#or) = [0] p(#pos) = [1] x1 + [0] p(#s) = [0] p(#true) = [0] p(::) = [1] x2 + [2] p(AND) = [1] x1 + [1] p(INSERT) = [1] x1 + [2] x2 + [2] p(INSERT#1) = [0] p(INSERT#2) = [4] x3 + [1] x4 + [1] p(ISORTLIST) = [1] p(ISORTLIST#1) = [1] x1 + [1] p(LEQ) = [4] x2 + [1] p(LEQ#1) = [1] x2 + [2] p(LEQ#2) = [4] x2 + [1] x3 + [2] p(OR) = [4] x1 + [2] p(and) = [6] x1 + [0] p(c) = [0] p(c1) = [1] p(c10) = [1] p(c11) = [0] p(c12) = [0] p(c13) = [0] p(c14) = [0] p(c15) = [1] p(c16) = [1] x1 + [1] p(c17) = [0] p(c18) = [1] p(c19) = [1] p(c2) = [1] p(c20) = [0] p(c21) = [2] p(c22) = [0] p(c23) = [0] p(c24) = [1] p(c25) = [2] p(c26) = [1] p(c27) = [2] p(c28) = [1] p(c29) = [1] p(c3) = [0] p(c30) = [1] p(c31) = [1] x1 + [4] p(c32) = [1] x1 + [1] x2 + [0] p(c33) = [0] p(c34) = [0] p(c35) = [1] p(c36) = [0] p(c37) = [4] p(c38) = [1] p(c39) = [1] p(c4) = [2] p(c40) = [0] p(c41) = [0] p(c42) = [0] p(c43) = [1] p(c44) = [1] x1 + [0] p(c45) = [0] p(c46) = [2] p(c47) = [2] p(c48) = [0] p(c49) = [4] p(c5) = [0] p(c50) = [1] p(c51) = [0] p(c52) = [1] p(c53) = [2] p(c54) = [1] p(c55) = [1] p(c56) = [0] p(c57) = [0] p(c58) = [0] p(c6) = [0] p(c7) = [0] p(c8) = [0] p(c9) = [1] p(insert) = [1] x2 + [2] p(insert#1) = [1] x1 + [2] p(insert#2) = [1] x4 + [4] p(isortlist) = [1] x1 + [0] p(isortlist#1) = [1] x1 + [0] p(leq) = [0] p(leq#1) = [0] p(leq#2) = [1] x2 + [0] p(nil) = [0] p(or) = [2] p(#AND#) = [1] x1 + [2] x2 + [0] p(#CKLT#) = [0] p(#COMPARE#) = [0] p(#EQ'#) = [0] p(#EQUAL#) = [1] x1 + [1] p(#LESS#) = [1] x1 + [0] p(#OR#) = [4] p(#and#) = [2] p(#cklt#) = [1] x1 + [1] p(#compare#) = [1] p(#eq#) = [1] x1 + [1] x2 + [1] p(#equal#) = [2] x2 + [0] p(#less#) = [4] x1 + [1] x2 + [0] p(#or#) = [1] x2 + [0] p(AND#) = [4] x2 + [0] p(INSERT#) = [4] x2 + [0] p(INSERT#1#) = [4] x1 + [0] p(INSERT#2#) = [4] x4 + [7] p(ISORTLIST#) = [4] x1 + [0] p(ISORTLIST#1#) = [4] x1 + [0] p(LEQ#) = [4] x2 + [1] p(LEQ#1#) = [1] x1 + [0] p(LEQ#2#) = [0] p(OR#) = [4] p(and#) = [2] p(insert#) = [1] x2 + [0] p(insert#1#) = [1] p(insert#2#) = [1] x2 + [0] p(isortlist#) = [2] p(isortlist#1#) = [1] p(leq#) = [2] x1 + [1] x2 + [0] p(leq#1#) = [1] x1 + [1] p(leq#2#) = [1] x1 + [2] x2 + [1] x3 + [4] p(or#) = [1] x1 + [4] p(c_1) = [1] x1 + [0] p(c_2) = [0] p(c_3) = [0] p(c_4) = [1] x1 + [0] p(c_5) = [1] x1 + [1] p(c_6) = [0] p(c_7) = [1] x1 + [3] p(c_8) = [1] p(c_9) = [1] p(c_10) = [1] x1 + [4] x2 + [0] p(c_11) = [1] p(c_12) = [4] x1 + [1] p(c_13) = [0] p(c_14) = [1] p(c_15) = [1] x1 + [1] x6 + [0] p(c_16) = [2] x4 + [1] x6 + [4] x9 + [4] p(c_17) = [2] x1 + [0] p(c_18) = [0] p(c_19) = [1] x1 + [2] p(c_20) = [0] p(c_21) = [0] p(c_22) = [1] p(c_23) = [0] p(c_24) = [2] p(c_25) = [2] p(c_26) = [4] p(c_27) = [1] p(c_28) = [2] p(c_29) = [1] p(c_30) = [2] p(c_31) = [0] p(c_32) = [1] x1 + [0] p(c_33) = [1] p(c_34) = [4] p(c_35) = [1] p(c_36) = [4] p(c_37) = [1] p(c_38) = [2] p(c_39) = [0] p(c_40) = [1] p(c_41) = [1] p(c_42) = [0] p(c_43) = [0] p(c_44) = [1] x1 + [1] p(c_45) = [1] p(c_46) = [0] p(c_47) = [0] p(c_48) = [1] x1 + [1] p(c_49) = [0] p(c_50) = [2] x1 + [0] p(c_51) = [1] x1 + [1] x2 + [1] x4 + [0] p(c_52) = [2] x1 + [1] x4 + [1] p(c_53) = [1] p(c_54) = [0] p(c_55) = [0] p(c_56) = [1] p(c_57) = [0] p(c_58) = [1] p(c_59) = [1] p(c_60) = [0] p(c_61) = [1] p(c_62) = [0] p(c_63) = [0] p(c_64) = [1] p(c_65) = [0] p(c_66) = [1] p(c_67) = [0] p(c_68) = [0] p(c_69) = [0] p(c_70) = [1] p(c_71) = [1] p(c_72) = [1] x1 + [0] p(c_73) = [4] p(c_74) = [1] p(c_75) = [1] p(c_76) = [1] p(c_77) = [1] p(c_78) = [1] x1 + [4] p(c_79) = [4] p(c_80) = [2] p(c_81) = [2] p(c_82) = [1] p(c_83) = [1] p(c_84) = [4] p(c_85) = [0] p(c_86) = [1] p(c_87) = [2] p(c_88) = [4] p(c_89) = [1] p(c_90) = [1] x1 + [4] p(c_91) = [4] x2 + [0] p(c_92) = [4] p(c_93) = [4] p(c_94) = [1] p(c_95) = [4] p(c_96) = [1] x1 + [1] x2 + [1] p(c_97) = [0] p(c_98) = [0] p(c_99) = [1] p(c_100) = [4] p(c_101) = [0] p(c_102) = [1] x1 + [1] p(c_103) = [1] p(c_104) = [0] p(c_105) = [1] x1 + [1] p(c_106) = [1] p(c_107) = [1] x1 + [1] p(c_108) = [2] x2 + [0] p(c_109) = [4] p(c_110) = [4] p(c_111) = [2] x1 + [0] p(c_112) = [1] p(c_113) = [2] x1 + [4] x2 + [1] x5 + [0] p(c_114) = [0] p(c_115) = [2] Following rules are strictly oriented: INSERT#2#(#false(),z0,z1,z2) = [4] z2 + [7] > [4] z2 + [3] = c_7(INSERT#(z0,z2)) Following rules are (at-least) weakly oriented: INSERT#(z0,z1) = [4] z1 + [0] >= [4] z1 + [0] = c_4(INSERT#1#(z1,z0)) INSERT#1#(::(z0,z1),z2) = [4] z1 + [8] >= [4] z1 + [8] = c_5(INSERT#2#(leq(z2,z0),z2,z0,z1)) ISORTLIST#(z0) = [4] z0 + [0] >= [4] z0 + [0] = ISORTLIST#1#(z0) ISORTLIST#1#(::(z0,z1)) = [4] z1 + [8] >= [4] z1 + [0] = INSERT#(z0,isortlist(z1)) ISORTLIST#1#(::(z0,z1)) = [4] z1 + [8] >= [4] z1 + [0] = ISORTLIST#(z1) insert(z0,z1) = [1] z1 + [2] >= [1] z1 + [2] = insert#1(z1,z0) insert#1(::(z0,z1),z2) = [1] z1 + [4] >= [1] z1 + [4] = insert#2(leq(z2,z0),z2,z0,z1) insert#1(nil(),z0) = [2] >= [2] = ::(z0,nil()) insert#2(#false(),z0,z1,z2) = [1] z2 + [4] >= [1] z2 + [4] = ::(z1,insert(z0,z2)) insert#2(#true(),z0,z1,z2) = [1] z2 + [4] >= [1] z2 + [4] = ::(z0,::(z1,z2)) isortlist(z0) = [1] z0 + [0] >= [1] z0 + [0] = isortlist#1(z0) isortlist#1(::(z0,z1)) = [1] z1 + [2] >= [1] z1 + [2] = insert(z0,isortlist(z1)) isortlist#1(nil()) = [0] >= [0] = nil() *** Step 8.b:1.a:4: WeightGap. WORST_CASE(?,O(n^1)) + Considered Problem: - Strict DPs: INSERT#(z0,z1) -> c_4(INSERT#1#(z1,z0)) - Weak DPs: INSERT#1#(::(z0,z1),z2) -> c_5(INSERT#2#(leq(z2,z0),z2,z0,z1)) INSERT#2#(#false(),z0,z1,z2) -> c_7(INSERT#(z0,z2)) ISORTLIST#(z0) -> ISORTLIST#1#(z0) ISORTLIST#1#(::(z0,z1)) -> INSERT#(z0,isortlist(z1)) ISORTLIST#1#(::(z0,z1)) -> ISORTLIST#(z1) - Weak TRS: #and(#false(),#false()) -> #false() #and(#false(),#true()) -> #false() #and(#true(),#false()) -> #false() #and(#true(),#true()) -> #true() #cklt(#EQ()) -> #false() #cklt(#GT()) -> #false() #cklt(#LT()) -> #true() #compare(#0(),#0()) -> #EQ() #compare(#0(),#neg(z0)) -> #GT() #compare(#0(),#pos(z0)) -> #LT() #compare(#0(),#s(z0)) -> #LT() #compare(#neg(z0),#0()) -> #LT() #compare(#neg(z0),#neg(z1)) -> #compare(z1,z0) #compare(#neg(z0),#pos(z1)) -> #LT() #compare(#pos(z0),#0()) -> #GT() #compare(#pos(z0),#neg(z1)) -> #GT() #compare(#pos(z0),#pos(z1)) -> #compare(z0,z1) #compare(#s(z0),#0()) -> #GT() #compare(#s(z0),#s(z1)) -> #compare(z0,z1) #eq(#0(),#0()) -> #true() #eq(#0(),#neg(z0)) -> #false() #eq(#0(),#pos(z0)) -> #false() #eq(#0(),#s(z0)) -> #false() #eq(#neg(z0),#0()) -> #false() #eq(#neg(z0),#neg(z1)) -> #eq(z0,z1) #eq(#neg(z0),#pos(z1)) -> #false() #eq(#pos(z0),#0()) -> #false() #eq(#pos(z0),#neg(z1)) -> #false() #eq(#pos(z0),#pos(z1)) -> #eq(z0,z1) #eq(#s(z0),#0()) -> #false() #eq(#s(z0),#s(z1)) -> #eq(z0,z1) #eq(::(z0,z1),::(z2,z3)) -> #and(#eq(z0,z2),#eq(z1,z3)) #eq(::(z0,z1),nil()) -> #false() #eq(nil(),::(z0,z1)) -> #false() #eq(nil(),nil()) -> #true() #equal(z0,z1) -> #eq(z0,z1) #less(z0,z1) -> #cklt(#compare(z0,z1)) #or(#false(),#false()) -> #false() #or(#false(),#true()) -> #true() #or(#true(),#false()) -> #true() #or(#true(),#true()) -> #true() and(z0,z1) -> #and(z0,z1) insert(z0,z1) -> insert#1(z1,z0) insert#1(::(z0,z1),z2) -> insert#2(leq(z2,z0),z2,z0,z1) insert#1(nil(),z0) -> ::(z0,nil()) insert#2(#false(),z0,z1,z2) -> ::(z1,insert(z0,z2)) insert#2(#true(),z0,z1,z2) -> ::(z0,::(z1,z2)) isortlist(z0) -> isortlist#1(z0) isortlist#1(::(z0,z1)) -> insert(z0,isortlist(z1)) isortlist#1(nil()) -> nil() leq(z0,z1) -> leq#1(z0,z1) leq#1(::(z0,z1),z2) -> leq#2(z2,z0,z1) leq#1(nil(),z0) -> #true() leq#2(::(z0,z1),z2,z3) -> or(#less(z2,z0),and(#equal(z2,z0),leq(z3,z1))) leq#2(nil(),z0,z1) -> #false() or(z0,z1) -> #or(z0,z1) - Signature: {#AND/2,#CKLT/1,#COMPARE/2,#EQ'/2,#EQUAL/2,#LESS/2,#OR/2,#and/2,#cklt/1,#compare/2,#eq/2,#equal/2,#less/2 ,#or/2,AND/2,INSERT/2,INSERT#1/2,INSERT#2/4,ISORTLIST/1,ISORTLIST#1/1,LEQ/2,LEQ#1/2,LEQ#2/3,OR/2,and/2 ,insert/2,insert#1/2,insert#2/4,isortlist/1,isortlist#1/1,leq/2,leq#1/2,leq#2/3,or/2,#AND#/2,#CKLT#/1 ,#COMPARE#/2,#EQ'#/2,#EQUAL#/2,#LESS#/2,#OR#/2,#and#/2,#cklt#/1,#compare#/2,#eq#/2,#equal#/2,#less#/2,#or#/2 ,AND#/2,INSERT#/2,INSERT#1#/2,INSERT#2#/4,ISORTLIST#/1,ISORTLIST#1#/1,LEQ#/2,LEQ#1#/2,LEQ#2#/3,OR#/2,and#/2 ,insert#/2,insert#1#/2,insert#2#/4,isortlist#/1,isortlist#1#/1,leq#/2,leq#1#/2,leq#2#/3,or#/2} / {#0/0,#EQ/0 ,#GT/0,#LT/0,#false/0,#neg/1,#pos/1,#s/1,#true/0,::/2,c/0,c1/0,c10/0,c11/0,c12/1,c13/0,c14/0,c15/0,c16/1 ,c17/0,c18/1,c19/0,c2/0,c20/0,c21/0,c22/0,c23/0,c24/1,c25/0,c26/0,c27/0,c28/1,c29/0,c3/0,c30/1,c31/2,c32/2 ,c33/0,c34/0,c35/0,c36/0,c37/0,c38/0,c39/0,c4/0,c40/1,c41/2,c42/1,c43/1,c44/2,c45/0,c46/1,c47/0,c48/1,c49/2 ,c5/0,c50/0,c51/1,c52/1,c53/0,c54/2,c55/3,c56/3,c57/0,c58/1,c6/0,c7/0,c8/0,c9/0,nil/0,c_1/1,c_2/3,c_3/1 ,c_4/1,c_5/1,c_6/0,c_7/1,c_8/0,c_9/1,c_10/2,c_11/0,c_12/1,c_13/1,c_14/0,c_15/6,c_16/9,c_17/1,c_18/0,c_19/1 ,c_20/0,c_21/0,c_22/0,c_23/0,c_24/0,c_25/0,c_26/0,c_27/0,c_28/0,c_29/0,c_30/0,c_31/0,c_32/1,c_33/0,c_34/0 ,c_35/0,c_36/1,c_37/0,c_38/1,c_39/0,c_40/0,c_41/0,c_42/0,c_43/0,c_44/1,c_45/0,c_46/0,c_47/0,c_48/1,c_49/0 ,c_50/1,c_51/4,c_52/4,c_53/0,c_54/0,c_55/0,c_56/0,c_57/0,c_58/0,c_59/0,c_60/0,c_61/0,c_62/0,c_63/0,c_64/0 ,c_65/0,c_66/0,c_67/0,c_68/0,c_69/0,c_70/0,c_71/0,c_72/1,c_73/0,c_74/0,c_75/0,c_76/1,c_77/0,c_78/1,c_79/0 ,c_80/0,c_81/0,c_82/0,c_83/0,c_84/1,c_85/0,c_86/0,c_87/0,c_88/1,c_89/0,c_90/1,c_91/3,c_92/0,c_93/0,c_94/0 ,c_95/1,c_96/2,c_97/0,c_98/0,c_99/0,c_100/0,c_101/1,c_102/1,c_103/2,c_104/0,c_105/1,c_106/0,c_107/1,c_108/2 ,c_109/0,c_110/1,c_111/1,c_112/0,c_113/5,c_114/0,c_115/1} - Obligation: innermost runtime complexity wrt. defined symbols {#AND#,#CKLT#,#COMPARE#,#EQ'#,#EQUAL#,#LESS#,#OR#,#and# ,#cklt#,#compare#,#eq#,#equal#,#less#,#or#,AND#,INSERT#,INSERT#1#,INSERT#2#,ISORTLIST#,ISORTLIST#1#,LEQ# ,LEQ#1#,LEQ#2#,OR#,and#,insert#,insert#1#,insert#2#,isortlist#,isortlist#1#,leq#,leq#1#,leq#2# ,or#} and constructors {#0,#EQ,#GT,#LT,#false,#neg,#pos,#s,#true,::,c,c1,c10,c11,c12,c13,c14,c15,c16,c17,c18 ,c19,c2,c20,c21,c22,c23,c24,c25,c26,c27,c28,c29,c3,c30,c31,c32,c33,c34,c35,c36,c37,c38,c39,c4,c40,c41,c42 ,c43,c44,c45,c46,c47,c48,c49,c5,c50,c51,c52,c53,c54,c55,c56,c57,c58,c6,c7,c8,c9,nil} + Applied Processor: WeightGap {wgDimension = 1, wgDegree = 1, wgKind = Algebraic, wgUArgs = UArgs, wgOn = WgOnAny} + Details: The weightgap principle applies using the following constant growth matrix-interpretation: We apply a matrix interpretation of kind constructor based matrix interpretation: The following argument positions are considered usable: uargs(#and) = {1,2}, uargs(#cklt) = {1}, uargs(::) = {2}, uargs(and) = {1,2}, uargs(insert) = {2}, uargs(insert#2) = {1}, uargs(or) = {1,2}, uargs(INSERT#) = {2}, uargs(INSERT#2#) = {1}, uargs(c_4) = {1}, uargs(c_5) = {1}, uargs(c_7) = {1} Following symbols are considered usable: all TcT has computed the following interpretation: p(#0) = [0] p(#AND) = [0] p(#CKLT) = [0] p(#COMPARE) = [0] p(#EQ) = [0] p(#EQ') = [0] p(#EQUAL) = [0] p(#GT) = [0] p(#LESS) = [0] p(#LT) = [0] p(#OR) = [0] p(#and) = [1] x1 + [1] x2 + [0] p(#cklt) = [1] x1 + [0] p(#compare) = [0] p(#eq) = [0] p(#equal) = [0] p(#false) = [0] p(#less) = [0] p(#neg) = [1] x1 + [0] p(#or) = [1] x2 + [0] p(#pos) = [1] x1 + [0] p(#s) = [0] p(#true) = [0] p(::) = [1] x2 + [2] p(AND) = [0] p(INSERT) = [0] p(INSERT#1) = [0] p(INSERT#2) = [0] p(ISORTLIST) = [0] p(ISORTLIST#1) = [0] p(LEQ) = [0] p(LEQ#1) = [0] p(LEQ#2) = [0] p(OR) = [0] p(and) = [1] x1 + [1] x2 + [0] p(c) = [0] p(c1) = [0] p(c10) = [0] p(c11) = [0] p(c12) = [1] x1 + [0] p(c13) = [0] p(c14) = [0] p(c15) = [0] p(c16) = [1] x1 + [0] p(c17) = [0] p(c18) = [1] x1 + [0] p(c19) = [0] p(c2) = [0] p(c20) = [0] p(c21) = [0] p(c22) = [0] p(c23) = [0] p(c24) = [1] x1 + [0] p(c25) = [0] p(c26) = [0] p(c27) = [0] p(c28) = [1] x1 + [0] p(c29) = [0] p(c3) = [0] p(c30) = [1] x1 + [0] p(c31) = [1] x1 + [1] x2 + [0] p(c32) = [1] x1 + [1] x2 + [0] p(c33) = [0] p(c34) = [0] p(c35) = [0] p(c36) = [0] p(c37) = [0] p(c38) = [0] p(c39) = [0] p(c4) = [0] p(c40) = [1] x1 + [0] p(c41) = [1] x1 + [1] x2 + [0] p(c42) = [1] x1 + [0] p(c43) = [1] x1 + [0] p(c44) = [1] x1 + [1] x2 + [0] p(c45) = [0] p(c46) = [1] x1 + [0] p(c47) = [0] p(c48) = [1] x1 + [0] p(c49) = [1] x1 + [1] x2 + [0] p(c5) = [0] p(c50) = [0] p(c51) = [1] x1 + [0] p(c52) = [1] x1 + [0] p(c53) = [0] p(c54) = [1] x1 + [1] x2 + [0] p(c55) = [1] x1 + [1] x2 + [1] x3 + [0] p(c56) = [1] x1 + [1] x2 + [1] x3 + [0] p(c57) = [0] p(c58) = [1] x1 + [0] p(c6) = [0] p(c7) = [0] p(c8) = [0] p(c9) = [0] p(insert) = [1] x2 + [2] p(insert#1) = [1] x1 + [2] p(insert#2) = [1] x1 + [1] x4 + [4] p(isortlist) = [1] x1 + [1] p(isortlist#1) = [1] x1 + [1] p(leq) = [0] p(leq#1) = [0] p(leq#2) = [0] p(nil) = [0] p(or) = [1] x1 + [1] x2 + [0] p(#AND#) = [0] p(#CKLT#) = [0] p(#COMPARE#) = [0] p(#EQ'#) = [0] p(#EQUAL#) = [0] p(#LESS#) = [0] p(#OR#) = [0] p(#and#) = [0] p(#cklt#) = [0] p(#compare#) = [0] p(#eq#) = [0] p(#equal#) = [0] p(#less#) = [0] p(#or#) = [2] p(AND#) = [0] p(INSERT#) = [1] x2 + [1] p(INSERT#1#) = [1] x1 + [0] p(INSERT#2#) = [1] x1 + [1] x4 + [1] p(ISORTLIST#) = [1] x1 + [4] p(ISORTLIST#1#) = [1] x1 + [2] p(LEQ#) = [0] p(LEQ#1#) = [0] p(LEQ#2#) = [0] p(OR#) = [0] p(and#) = [0] p(insert#) = [0] p(insert#1#) = [0] p(insert#2#) = [0] p(isortlist#) = [0] p(isortlist#1#) = [0] p(leq#) = [0] p(leq#1#) = [0] p(leq#2#) = [0] p(or#) = [0] p(c_1) = [0] p(c_2) = [0] p(c_3) = [0] p(c_4) = [1] x1 + [0] p(c_5) = [1] x1 + [1] p(c_6) = [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) = [0] p(c_16) = [0] 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) = [2] p(c_38) = [0] p(c_39) = [1] p(c_40) = [2] p(c_41) = [0] p(c_42) = [1] p(c_43) = [2] p(c_44) = [1] x1 + [0] p(c_45) = [0] p(c_46) = [1] p(c_47) = [0] p(c_48) = [1] p(c_49) = [1] p(c_50) = [0] p(c_51) = [4] x1 + [4] x2 + [1] x4 + [1] p(c_52) = [1] x3 + [1] p(c_53) = [0] p(c_54) = [1] p(c_55) = [0] p(c_56) = [4] p(c_57) = [0] p(c_58) = [0] p(c_59) = [1] p(c_60) = [0] p(c_61) = [1] p(c_62) = [1] p(c_63) = [0] p(c_64) = [1] p(c_65) = [4] p(c_66) = [4] p(c_67) = [0] p(c_68) = [0] p(c_69) = [1] p(c_70) = [0] p(c_71) = [0] p(c_72) = [1] x1 + [1] p(c_73) = [1] p(c_74) = [0] p(c_75) = [4] p(c_76) = [4] x1 + [0] p(c_77) = [1] p(c_78) = [0] p(c_79) = [0] p(c_80) = [1] p(c_81) = [0] p(c_82) = [1] p(c_83) = [2] p(c_84) = [1] x1 + [0] p(c_85) = [0] p(c_86) = [2] p(c_87) = [0] p(c_88) = [1] x1 + [1] p(c_89) = [4] p(c_90) = [4] p(c_91) = [1] p(c_92) = [0] p(c_93) = [0] p(c_94) = [0] p(c_95) = [1] p(c_96) = [4] x1 + [1] x2 + [1] p(c_97) = [0] p(c_98) = [0] p(c_99) = [1] p(c_100) = [0] p(c_101) = [0] p(c_102) = [4] p(c_103) = [1] x1 + [0] p(c_104) = [0] p(c_105) = [0] p(c_106) = [1] p(c_107) = [0] p(c_108) = [2] x2 + [0] p(c_109) = [1] p(c_110) = [2] p(c_111) = [1] x1 + [0] p(c_112) = [2] p(c_113) = [1] x1 + [4] x5 + [0] p(c_114) = [1] p(c_115) = [1] Following rules are strictly oriented: INSERT#(z0,z1) = [1] z1 + [1] > [1] z1 + [0] = c_4(INSERT#1#(z1,z0)) Following rules are (at-least) weakly oriented: INSERT#1#(::(z0,z1),z2) = [1] z1 + [2] >= [1] z1 + [2] = c_5(INSERT#2#(leq(z2,z0),z2,z0,z1)) INSERT#2#(#false(),z0,z1,z2) = [1] z2 + [1] >= [1] z2 + [1] = c_7(INSERT#(z0,z2)) ISORTLIST#(z0) = [1] z0 + [4] >= [1] z0 + [2] = ISORTLIST#1#(z0) ISORTLIST#1#(::(z0,z1)) = [1] z1 + [4] >= [1] z1 + [2] = INSERT#(z0,isortlist(z1)) ISORTLIST#1#(::(z0,z1)) = [1] z1 + [4] >= [1] z1 + [4] = ISORTLIST#(z1) #and(#false(),#false()) = [0] >= [0] = #false() #and(#false(),#true()) = [0] >= [0] = #false() #and(#true(),#false()) = [0] >= [0] = #false() #and(#true(),#true()) = [0] >= [0] = #true() #cklt(#EQ()) = [0] >= [0] = #false() #cklt(#GT()) = [0] >= [0] = #false() #cklt(#LT()) = [0] >= [0] = #true() #compare(#0(),#0()) = [0] >= [0] = #EQ() #compare(#0(),#neg(z0)) = [0] >= [0] = #GT() #compare(#0(),#pos(z0)) = [0] >= [0] = #LT() #compare(#0(),#s(z0)) = [0] >= [0] = #LT() #compare(#neg(z0),#0()) = [0] >= [0] = #LT() #compare(#neg(z0),#neg(z1)) = [0] >= [0] = #compare(z1,z0) #compare(#neg(z0),#pos(z1)) = [0] >= [0] = #LT() #compare(#pos(z0),#0()) = [0] >= [0] = #GT() #compare(#pos(z0),#neg(z1)) = [0] >= [0] = #GT() #compare(#pos(z0),#pos(z1)) = [0] >= [0] = #compare(z0,z1) #compare(#s(z0),#0()) = [0] >= [0] = #GT() #compare(#s(z0),#s(z1)) = [0] >= [0] = #compare(z0,z1) #eq(#0(),#0()) = [0] >= [0] = #true() #eq(#0(),#neg(z0)) = [0] >= [0] = #false() #eq(#0(),#pos(z0)) = [0] >= [0] = #false() #eq(#0(),#s(z0)) = [0] >= [0] = #false() #eq(#neg(z0),#0()) = [0] >= [0] = #false() #eq(#neg(z0),#neg(z1)) = [0] >= [0] = #eq(z0,z1) #eq(#neg(z0),#pos(z1)) = [0] >= [0] = #false() #eq(#pos(z0),#0()) = [0] >= [0] = #false() #eq(#pos(z0),#neg(z1)) = [0] >= [0] = #false() #eq(#pos(z0),#pos(z1)) = [0] >= [0] = #eq(z0,z1) #eq(#s(z0),#0()) = [0] >= [0] = #false() #eq(#s(z0),#s(z1)) = [0] >= [0] = #eq(z0,z1) #eq(::(z0,z1),::(z2,z3)) = [0] >= [0] = #and(#eq(z0,z2),#eq(z1,z3)) #eq(::(z0,z1),nil()) = [0] >= [0] = #false() #eq(nil(),::(z0,z1)) = [0] >= [0] = #false() #eq(nil(),nil()) = [0] >= [0] = #true() #equal(z0,z1) = [0] >= [0] = #eq(z0,z1) #less(z0,z1) = [0] >= [0] = #cklt(#compare(z0,z1)) #or(#false(),#false()) = [0] >= [0] = #false() #or(#false(),#true()) = [0] >= [0] = #true() #or(#true(),#false()) = [0] >= [0] = #true() #or(#true(),#true()) = [0] >= [0] = #true() and(z0,z1) = [1] z0 + [1] z1 + [0] >= [1] z0 + [1] z1 + [0] = #and(z0,z1) insert(z0,z1) = [1] z1 + [2] >= [1] z1 + [2] = insert#1(z1,z0) insert#1(::(z0,z1),z2) = [1] z1 + [4] >= [1] z1 + [4] = insert#2(leq(z2,z0),z2,z0,z1) insert#1(nil(),z0) = [2] >= [2] = ::(z0,nil()) insert#2(#false(),z0,z1,z2) = [1] z2 + [4] >= [1] z2 + [4] = ::(z1,insert(z0,z2)) insert#2(#true(),z0,z1,z2) = [1] z2 + [4] >= [1] z2 + [4] = ::(z0,::(z1,z2)) isortlist(z0) = [1] z0 + [1] >= [1] z0 + [1] = isortlist#1(z0) isortlist#1(::(z0,z1)) = [1] z1 + [3] >= [1] z1 + [3] = insert(z0,isortlist(z1)) isortlist#1(nil()) = [1] >= [0] = nil() leq(z0,z1) = [0] >= [0] = leq#1(z0,z1) leq#1(::(z0,z1),z2) = [0] >= [0] = leq#2(z2,z0,z1) leq#1(nil(),z0) = [0] >= [0] = #true() leq#2(::(z0,z1),z2,z3) = [0] >= [0] = or(#less(z2,z0),and(#equal(z2,z0),leq(z3,z1))) leq#2(nil(),z0,z1) = [0] >= [0] = #false() or(z0,z1) = [1] z0 + [1] z1 + [0] >= [1] z1 + [0] = #or(z0,z1) Further, it can be verified that all rules not oriented are covered by the weightgap condition. *** Step 8.b:1.a:5: EmptyProcessor. WORST_CASE(?,O(1)) + Considered Problem: - Weak DPs: INSERT#(z0,z1) -> c_4(INSERT#1#(z1,z0)) INSERT#1#(::(z0,z1),z2) -> c_5(INSERT#2#(leq(z2,z0),z2,z0,z1)) INSERT#2#(#false(),z0,z1,z2) -> c_7(INSERT#(z0,z2)) ISORTLIST#(z0) -> ISORTLIST#1#(z0) ISORTLIST#1#(::(z0,z1)) -> INSERT#(z0,isortlist(z1)) ISORTLIST#1#(::(z0,z1)) -> ISORTLIST#(z1) - Weak TRS: #and(#false(),#false()) -> #false() #and(#false(),#true()) -> #false() #and(#true(),#false()) -> #false() #and(#true(),#true()) -> #true() #cklt(#EQ()) -> #false() #cklt(#GT()) -> #false() #cklt(#LT()) -> #true() #compare(#0(),#0()) -> #EQ() #compare(#0(),#neg(z0)) -> #GT() #compare(#0(),#pos(z0)) -> #LT() #compare(#0(),#s(z0)) -> #LT() #compare(#neg(z0),#0()) -> #LT() #compare(#neg(z0),#neg(z1)) -> #compare(z1,z0) #compare(#neg(z0),#pos(z1)) -> #LT() #compare(#pos(z0),#0()) -> #GT() #compare(#pos(z0),#neg(z1)) -> #GT() #compare(#pos(z0),#pos(z1)) -> #compare(z0,z1) #compare(#s(z0),#0()) -> #GT() #compare(#s(z0),#s(z1)) -> #compare(z0,z1) #eq(#0(),#0()) -> #true() #eq(#0(),#neg(z0)) -> #false() #eq(#0(),#pos(z0)) -> #false() #eq(#0(),#s(z0)) -> #false() #eq(#neg(z0),#0()) -> #false() #eq(#neg(z0),#neg(z1)) -> #eq(z0,z1) #eq(#neg(z0),#pos(z1)) -> #false() #eq(#pos(z0),#0()) -> #false() #eq(#pos(z0),#neg(z1)) -> #false() #eq(#pos(z0),#pos(z1)) -> #eq(z0,z1) #eq(#s(z0),#0()) -> #false() #eq(#s(z0),#s(z1)) -> #eq(z0,z1) #eq(::(z0,z1),::(z2,z3)) -> #and(#eq(z0,z2),#eq(z1,z3)) #eq(::(z0,z1),nil()) -> #false() #eq(nil(),::(z0,z1)) -> #false() #eq(nil(),nil()) -> #true() #equal(z0,z1) -> #eq(z0,z1) #less(z0,z1) -> #cklt(#compare(z0,z1)) #or(#false(),#false()) -> #false() #or(#false(),#true()) -> #true() #or(#true(),#false()) -> #true() #or(#true(),#true()) -> #true() and(z0,z1) -> #and(z0,z1) insert(z0,z1) -> insert#1(z1,z0) insert#1(::(z0,z1),z2) -> insert#2(leq(z2,z0),z2,z0,z1) insert#1(nil(),z0) -> ::(z0,nil()) insert#2(#false(),z0,z1,z2) -> ::(z1,insert(z0,z2)) insert#2(#true(),z0,z1,z2) -> ::(z0,::(z1,z2)) isortlist(z0) -> isortlist#1(z0) isortlist#1(::(z0,z1)) -> insert(z0,isortlist(z1)) isortlist#1(nil()) -> nil() leq(z0,z1) -> leq#1(z0,z1) leq#1(::(z0,z1),z2) -> leq#2(z2,z0,z1) leq#1(nil(),z0) -> #true() leq#2(::(z0,z1),z2,z3) -> or(#less(z2,z0),and(#equal(z2,z0),leq(z3,z1))) leq#2(nil(),z0,z1) -> #false() or(z0,z1) -> #or(z0,z1) - Signature: {#AND/2,#CKLT/1,#COMPARE/2,#EQ'/2,#EQUAL/2,#LESS/2,#OR/2,#and/2,#cklt/1,#compare/2,#eq/2,#equal/2,#less/2 ,#or/2,AND/2,INSERT/2,INSERT#1/2,INSERT#2/4,ISORTLIST/1,ISORTLIST#1/1,LEQ/2,LEQ#1/2,LEQ#2/3,OR/2,and/2 ,insert/2,insert#1/2,insert#2/4,isortlist/1,isortlist#1/1,leq/2,leq#1/2,leq#2/3,or/2,#AND#/2,#CKLT#/1 ,#COMPARE#/2,#EQ'#/2,#EQUAL#/2,#LESS#/2,#OR#/2,#and#/2,#cklt#/1,#compare#/2,#eq#/2,#equal#/2,#less#/2,#or#/2 ,AND#/2,INSERT#/2,INSERT#1#/2,INSERT#2#/4,ISORTLIST#/1,ISORTLIST#1#/1,LEQ#/2,LEQ#1#/2,LEQ#2#/3,OR#/2,and#/2 ,insert#/2,insert#1#/2,insert#2#/4,isortlist#/1,isortlist#1#/1,leq#/2,leq#1#/2,leq#2#/3,or#/2} / {#0/0,#EQ/0 ,#GT/0,#LT/0,#false/0,#neg/1,#pos/1,#s/1,#true/0,::/2,c/0,c1/0,c10/0,c11/0,c12/1,c13/0,c14/0,c15/0,c16/1 ,c17/0,c18/1,c19/0,c2/0,c20/0,c21/0,c22/0,c23/0,c24/1,c25/0,c26/0,c27/0,c28/1,c29/0,c3/0,c30/1,c31/2,c32/2 ,c33/0,c34/0,c35/0,c36/0,c37/0,c38/0,c39/0,c4/0,c40/1,c41/2,c42/1,c43/1,c44/2,c45/0,c46/1,c47/0,c48/1,c49/2 ,c5/0,c50/0,c51/1,c52/1,c53/0,c54/2,c55/3,c56/3,c57/0,c58/1,c6/0,c7/0,c8/0,c9/0,nil/0,c_1/1,c_2/3,c_3/1 ,c_4/1,c_5/1,c_6/0,c_7/1,c_8/0,c_9/1,c_10/2,c_11/0,c_12/1,c_13/1,c_14/0,c_15/6,c_16/9,c_17/1,c_18/0,c_19/1 ,c_20/0,c_21/0,c_22/0,c_23/0,c_24/0,c_25/0,c_26/0,c_27/0,c_28/0,c_29/0,c_30/0,c_31/0,c_32/1,c_33/0,c_34/0 ,c_35/0,c_36/1,c_37/0,c_38/1,c_39/0,c_40/0,c_41/0,c_42/0,c_43/0,c_44/1,c_45/0,c_46/0,c_47/0,c_48/1,c_49/0 ,c_50/1,c_51/4,c_52/4,c_53/0,c_54/0,c_55/0,c_56/0,c_57/0,c_58/0,c_59/0,c_60/0,c_61/0,c_62/0,c_63/0,c_64/0 ,c_65/0,c_66/0,c_67/0,c_68/0,c_69/0,c_70/0,c_71/0,c_72/1,c_73/0,c_74/0,c_75/0,c_76/1,c_77/0,c_78/1,c_79/0 ,c_80/0,c_81/0,c_82/0,c_83/0,c_84/1,c_85/0,c_86/0,c_87/0,c_88/1,c_89/0,c_90/1,c_91/3,c_92/0,c_93/0,c_94/0 ,c_95/1,c_96/2,c_97/0,c_98/0,c_99/0,c_100/0,c_101/1,c_102/1,c_103/2,c_104/0,c_105/1,c_106/0,c_107/1,c_108/2 ,c_109/0,c_110/1,c_111/1,c_112/0,c_113/5,c_114/0,c_115/1} - Obligation: innermost runtime complexity wrt. defined symbols {#AND#,#CKLT#,#COMPARE#,#EQ'#,#EQUAL#,#LESS#,#OR#,#and# ,#cklt#,#compare#,#eq#,#equal#,#less#,#or#,AND#,INSERT#,INSERT#1#,INSERT#2#,ISORTLIST#,ISORTLIST#1#,LEQ# ,LEQ#1#,LEQ#2#,OR#,and#,insert#,insert#1#,insert#2#,isortlist#,isortlist#1#,leq#,leq#1#,leq#2# ,or#} and constructors {#0,#EQ,#GT,#LT,#false,#neg,#pos,#s,#true,::,c,c1,c10,c11,c12,c13,c14,c15,c16,c17,c18 ,c19,c2,c20,c21,c22,c23,c24,c25,c26,c27,c28,c29,c3,c30,c31,c32,c33,c34,c35,c36,c37,c38,c39,c4,c40,c41,c42 ,c43,c44,c45,c46,c47,c48,c49,c5,c50,c51,c52,c53,c54,c55,c56,c57,c58,c6,c7,c8,c9,nil} + Applied Processor: EmptyProcessor + Details: The problem is already closed. The intended complexity is O(1). *** Step 8.b:1.b:1: WeightGap. WORST_CASE(?,O(n^1)) + Considered Problem: - Strict DPs: LEQ#(z0,z1) -> c_12(LEQ#1#(z0,z1)) LEQ#1#(::(z0,z1),z2) -> c_13(LEQ#2#(z2,z0,z1)) LEQ#2#(::(z0,z1),z2,z3) -> c_17(LEQ#(z3,z1)) - Weak DPs: INSERT#(z0,z1) -> INSERT#1#(z1,z0) INSERT#1#(::(z0,z1),z2) -> INSERT#2#(leq(z2,z0),z2,z0,z1) INSERT#1#(::(z0,z1),z2) -> LEQ#(z2,z0) INSERT#2#(#false(),z0,z1,z2) -> INSERT#(z0,z2) ISORTLIST#(z0) -> ISORTLIST#1#(z0) ISORTLIST#1#(::(z0,z1)) -> INSERT#(z0,isortlist(z1)) ISORTLIST#1#(::(z0,z1)) -> ISORTLIST#(z1) - Weak TRS: #and(#false(),#false()) -> #false() #and(#false(),#true()) -> #false() #and(#true(),#false()) -> #false() #and(#true(),#true()) -> #true() #cklt(#EQ()) -> #false() #cklt(#GT()) -> #false() #cklt(#LT()) -> #true() #compare(#0(),#0()) -> #EQ() #compare(#0(),#neg(z0)) -> #GT() #compare(#0(),#pos(z0)) -> #LT() #compare(#0(),#s(z0)) -> #LT() #compare(#neg(z0),#0()) -> #LT() #compare(#neg(z0),#neg(z1)) -> #compare(z1,z0) #compare(#neg(z0),#pos(z1)) -> #LT() #compare(#pos(z0),#0()) -> #GT() #compare(#pos(z0),#neg(z1)) -> #GT() #compare(#pos(z0),#pos(z1)) -> #compare(z0,z1) #compare(#s(z0),#0()) -> #GT() #compare(#s(z0),#s(z1)) -> #compare(z0,z1) #eq(#0(),#0()) -> #true() #eq(#0(),#neg(z0)) -> #false() #eq(#0(),#pos(z0)) -> #false() #eq(#0(),#s(z0)) -> #false() #eq(#neg(z0),#0()) -> #false() #eq(#neg(z0),#neg(z1)) -> #eq(z0,z1) #eq(#neg(z0),#pos(z1)) -> #false() #eq(#pos(z0),#0()) -> #false() #eq(#pos(z0),#neg(z1)) -> #false() #eq(#pos(z0),#pos(z1)) -> #eq(z0,z1) #eq(#s(z0),#0()) -> #false() #eq(#s(z0),#s(z1)) -> #eq(z0,z1) #eq(::(z0,z1),::(z2,z3)) -> #and(#eq(z0,z2),#eq(z1,z3)) #eq(::(z0,z1),nil()) -> #false() #eq(nil(),::(z0,z1)) -> #false() #eq(nil(),nil()) -> #true() #equal(z0,z1) -> #eq(z0,z1) #less(z0,z1) -> #cklt(#compare(z0,z1)) #or(#false(),#false()) -> #false() #or(#false(),#true()) -> #true() #or(#true(),#false()) -> #true() #or(#true(),#true()) -> #true() and(z0,z1) -> #and(z0,z1) insert(z0,z1) -> insert#1(z1,z0) insert#1(::(z0,z1),z2) -> insert#2(leq(z2,z0),z2,z0,z1) insert#1(nil(),z0) -> ::(z0,nil()) insert#2(#false(),z0,z1,z2) -> ::(z1,insert(z0,z2)) insert#2(#true(),z0,z1,z2) -> ::(z0,::(z1,z2)) isortlist(z0) -> isortlist#1(z0) isortlist#1(::(z0,z1)) -> insert(z0,isortlist(z1)) isortlist#1(nil()) -> nil() leq(z0,z1) -> leq#1(z0,z1) leq#1(::(z0,z1),z2) -> leq#2(z2,z0,z1) leq#1(nil(),z0) -> #true() leq#2(::(z0,z1),z2,z3) -> or(#less(z2,z0),and(#equal(z2,z0),leq(z3,z1))) leq#2(nil(),z0,z1) -> #false() or(z0,z1) -> #or(z0,z1) - Signature: {#AND/2,#CKLT/1,#COMPARE/2,#EQ'/2,#EQUAL/2,#LESS/2,#OR/2,#and/2,#cklt/1,#compare/2,#eq/2,#equal/2,#less/2 ,#or/2,AND/2,INSERT/2,INSERT#1/2,INSERT#2/4,ISORTLIST/1,ISORTLIST#1/1,LEQ/2,LEQ#1/2,LEQ#2/3,OR/2,and/2 ,insert/2,insert#1/2,insert#2/4,isortlist/1,isortlist#1/1,leq/2,leq#1/2,leq#2/3,or/2,#AND#/2,#CKLT#/1 ,#COMPARE#/2,#EQ'#/2,#EQUAL#/2,#LESS#/2,#OR#/2,#and#/2,#cklt#/1,#compare#/2,#eq#/2,#equal#/2,#less#/2,#or#/2 ,AND#/2,INSERT#/2,INSERT#1#/2,INSERT#2#/4,ISORTLIST#/1,ISORTLIST#1#/1,LEQ#/2,LEQ#1#/2,LEQ#2#/3,OR#/2,and#/2 ,insert#/2,insert#1#/2,insert#2#/4,isortlist#/1,isortlist#1#/1,leq#/2,leq#1#/2,leq#2#/3,or#/2} / {#0/0,#EQ/0 ,#GT/0,#LT/0,#false/0,#neg/1,#pos/1,#s/1,#true/0,::/2,c/0,c1/0,c10/0,c11/0,c12/1,c13/0,c14/0,c15/0,c16/1 ,c17/0,c18/1,c19/0,c2/0,c20/0,c21/0,c22/0,c23/0,c24/1,c25/0,c26/0,c27/0,c28/1,c29/0,c3/0,c30/1,c31/2,c32/2 ,c33/0,c34/0,c35/0,c36/0,c37/0,c38/0,c39/0,c4/0,c40/1,c41/2,c42/1,c43/1,c44/2,c45/0,c46/1,c47/0,c48/1,c49/2 ,c5/0,c50/0,c51/1,c52/1,c53/0,c54/2,c55/3,c56/3,c57/0,c58/1,c6/0,c7/0,c8/0,c9/0,nil/0,c_1/1,c_2/3,c_3/1 ,c_4/1,c_5/2,c_6/0,c_7/1,c_8/0,c_9/1,c_10/2,c_11/0,c_12/1,c_13/1,c_14/0,c_15/6,c_16/9,c_17/1,c_18/0,c_19/1 ,c_20/0,c_21/0,c_22/0,c_23/0,c_24/0,c_25/0,c_26/0,c_27/0,c_28/0,c_29/0,c_30/0,c_31/0,c_32/1,c_33/0,c_34/0 ,c_35/0,c_36/1,c_37/0,c_38/1,c_39/0,c_40/0,c_41/0,c_42/0,c_43/0,c_44/1,c_45/0,c_46/0,c_47/0,c_48/1,c_49/0 ,c_50/1,c_51/4,c_52/4,c_53/0,c_54/0,c_55/0,c_56/0,c_57/0,c_58/0,c_59/0,c_60/0,c_61/0,c_62/0,c_63/0,c_64/0 ,c_65/0,c_66/0,c_67/0,c_68/0,c_69/0,c_70/0,c_71/0,c_72/1,c_73/0,c_74/0,c_75/0,c_76/1,c_77/0,c_78/1,c_79/0 ,c_80/0,c_81/0,c_82/0,c_83/0,c_84/1,c_85/0,c_86/0,c_87/0,c_88/1,c_89/0,c_90/1,c_91/3,c_92/0,c_93/0,c_94/0 ,c_95/1,c_96/2,c_97/0,c_98/0,c_99/0,c_100/0,c_101/1,c_102/1,c_103/2,c_104/0,c_105/1,c_106/0,c_107/1,c_108/2 ,c_109/0,c_110/1,c_111/1,c_112/0,c_113/5,c_114/0,c_115/1} - Obligation: innermost runtime complexity wrt. defined symbols {#AND#,#CKLT#,#COMPARE#,#EQ'#,#EQUAL#,#LESS#,#OR#,#and# ,#cklt#,#compare#,#eq#,#equal#,#less#,#or#,AND#,INSERT#,INSERT#1#,INSERT#2#,ISORTLIST#,ISORTLIST#1#,LEQ# ,LEQ#1#,LEQ#2#,OR#,and#,insert#,insert#1#,insert#2#,isortlist#,isortlist#1#,leq#,leq#1#,leq#2# ,or#} and constructors {#0,#EQ,#GT,#LT,#false,#neg,#pos,#s,#true,::,c,c1,c10,c11,c12,c13,c14,c15,c16,c17,c18 ,c19,c2,c20,c21,c22,c23,c24,c25,c26,c27,c28,c29,c3,c30,c31,c32,c33,c34,c35,c36,c37,c38,c39,c4,c40,c41,c42 ,c43,c44,c45,c46,c47,c48,c49,c5,c50,c51,c52,c53,c54,c55,c56,c57,c58,c6,c7,c8,c9,nil} + Applied Processor: WeightGap {wgDimension = 1, wgDegree = 1, wgKind = Algebraic, wgUArgs = UArgs, wgOn = WgOnAny} + Details: The weightgap principle applies using the following constant growth matrix-interpretation: We apply a matrix interpretation of kind constructor based matrix interpretation: The following argument positions are considered usable: uargs(#and) = {1,2}, uargs(#cklt) = {1}, uargs(::) = {2}, uargs(and) = {1,2}, uargs(insert) = {2}, uargs(insert#2) = {1}, uargs(or) = {1,2}, uargs(INSERT#) = {2}, uargs(INSERT#2#) = {1}, uargs(c_12) = {1}, uargs(c_13) = {1}, uargs(c_17) = {1} Following symbols are considered usable: all TcT has computed the following interpretation: p(#0) = [0] p(#AND) = [0] p(#CKLT) = [0] p(#COMPARE) = [0] p(#EQ) = [0] p(#EQ') = [0] p(#EQUAL) = [0] p(#GT) = [0] p(#LESS) = [0] p(#LT) = [0] p(#OR) = [0] p(#and) = [1] x1 + [1] x2 + [0] p(#cklt) = [1] x1 + [0] p(#compare) = [0] p(#eq) = [0] p(#equal) = [0] p(#false) = [0] p(#less) = [0] p(#neg) = [1] x1 + [0] p(#or) = [0] p(#pos) = [1] x1 + [0] p(#s) = [1] x1 + [0] p(#true) = [0] p(::) = [1] x2 + [0] p(AND) = [0] p(INSERT) = [0] p(INSERT#1) = [0] p(INSERT#2) = [0] p(ISORTLIST) = [0] p(ISORTLIST#1) = [0] p(LEQ) = [0] p(LEQ#1) = [2] x1 + [0] p(LEQ#2) = [0] p(OR) = [0] p(and) = [1] x1 + [1] x2 + [0] p(c) = [0] p(c1) = [0] p(c10) = [0] p(c11) = [0] p(c12) = [1] x1 + [0] p(c13) = [0] p(c14) = [0] p(c15) = [0] p(c16) = [1] x1 + [0] p(c17) = [0] p(c18) = [1] x1 + [2] p(c19) = [0] p(c2) = [0] p(c20) = [0] p(c21) = [0] p(c22) = [0] p(c23) = [0] p(c24) = [1] x1 + [0] p(c25) = [0] p(c26) = [0] p(c27) = [0] p(c28) = [1] x1 + [0] p(c29) = [0] p(c3) = [0] p(c30) = [1] x1 + [0] p(c31) = [1] x1 + [1] x2 + [0] p(c32) = [1] x1 + [1] x2 + [0] p(c33) = [0] p(c34) = [0] p(c35) = [0] p(c36) = [0] p(c37) = [0] p(c38) = [0] p(c39) = [0] p(c4) = [0] p(c40) = [1] x1 + [0] p(c41) = [1] x1 + [1] x2 + [0] p(c42) = [1] x1 + [0] p(c43) = [1] x1 + [0] p(c44) = [1] x1 + [1] x2 + [0] p(c45) = [0] p(c46) = [1] x1 + [0] p(c47) = [0] p(c48) = [1] x1 + [0] p(c49) = [1] x1 + [1] x2 + [0] p(c5) = [0] p(c50) = [0] p(c51) = [1] x1 + [0] p(c52) = [1] x1 + [0] p(c53) = [0] p(c54) = [1] x1 + [1] x2 + [0] p(c55) = [1] x1 + [1] x2 + [1] x3 + [0] p(c56) = [1] x1 + [1] x2 + [1] x3 + [0] p(c57) = [0] p(c58) = [1] x1 + [0] p(c6) = [0] p(c7) = [0] p(c8) = [0] p(c9) = [0] p(insert) = [1] x2 + [0] p(insert#1) = [1] x1 + [0] p(insert#2) = [1] x1 + [1] x4 + [0] p(isortlist) = [4] p(isortlist#1) = [4] p(leq) = [0] p(leq#1) = [0] p(leq#2) = [0] p(nil) = [4] p(or) = [1] x1 + [1] x2 + [0] p(#AND#) = [0] p(#CKLT#) = [0] p(#COMPARE#) = [0] p(#EQ'#) = [0] p(#EQUAL#) = [0] p(#LESS#) = [0] p(#OR#) = [0] p(#and#) = [0] p(#cklt#) = [0] p(#compare#) = [0] p(#eq#) = [0] p(#equal#) = [0] p(#less#) = [0] p(#or#) = [0] p(AND#) = [0] p(INSERT#) = [1] x2 + [0] p(INSERT#1#) = [1] x1 + [0] p(INSERT#2#) = [1] x1 + [1] x4 + [0] p(ISORTLIST#) = [4] p(ISORTLIST#1#) = [4] p(LEQ#) = [0] p(LEQ#1#) = [0] p(LEQ#2#) = [1] p(OR#) = [0] p(and#) = [0] p(insert#) = [0] p(insert#1#) = [0] p(insert#2#) = [0] p(isortlist#) = [0] p(isortlist#1#) = [0] p(leq#) = [0] p(leq#1#) = [0] p(leq#2#) = [0] p(or#) = [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) = [1] x1 + [0] p(c_13) = [1] x1 + [0] p(c_14) = [0] p(c_15) = [0] p(c_16) = [0] p(c_17) = [1] x1 + [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] p(c_44) = [0] p(c_45) = [0] p(c_46) = [0] p(c_47) = [0] p(c_48) = [0] p(c_49) = [0] p(c_50) = [2] p(c_51) = [0] p(c_52) = [0] p(c_53) = [0] p(c_54) = [0] p(c_55) = [0] p(c_56) = [0] p(c_57) = [0] p(c_58) = [0] p(c_59) = [0] p(c_60) = [0] p(c_61) = [0] p(c_62) = [0] p(c_63) = [0] p(c_64) = [0] p(c_65) = [0] p(c_66) = [0] p(c_67) = [0] p(c_68) = [0] p(c_69) = [0] p(c_70) = [0] p(c_71) = [0] p(c_72) = [0] p(c_73) = [0] p(c_74) = [0] p(c_75) = [0] p(c_76) = [0] p(c_77) = [0] p(c_78) = [0] p(c_79) = [0] p(c_80) = [0] p(c_81) = [0] p(c_82) = [0] p(c_83) = [0] p(c_84) = [0] p(c_85) = [0] p(c_86) = [0] p(c_87) = [0] p(c_88) = [0] p(c_89) = [0] p(c_90) = [0] p(c_91) = [0] p(c_92) = [0] p(c_93) = [0] p(c_94) = [0] p(c_95) = [0] p(c_96) = [0] p(c_97) = [0] p(c_98) = [0] p(c_99) = [0] p(c_100) = [0] p(c_101) = [0] p(c_102) = [0] p(c_103) = [2] p(c_104) = [0] p(c_105) = [0] p(c_106) = [0] p(c_107) = [0] p(c_108) = [0] p(c_109) = [0] p(c_110) = [0] p(c_111) = [0] p(c_112) = [0] p(c_113) = [0] p(c_114) = [0] p(c_115) = [0] Following rules are strictly oriented: LEQ#2#(::(z0,z1),z2,z3) = [1] > [0] = c_17(LEQ#(z3,z1)) Following rules are (at-least) weakly oriented: INSERT#(z0,z1) = [1] z1 + [0] >= [1] z1 + [0] = INSERT#1#(z1,z0) INSERT#1#(::(z0,z1),z2) = [1] z1 + [0] >= [1] z1 + [0] = INSERT#2#(leq(z2,z0),z2,z0,z1) INSERT#1#(::(z0,z1),z2) = [1] z1 + [0] >= [0] = LEQ#(z2,z0) INSERT#2#(#false(),z0,z1,z2) = [1] z2 + [0] >= [1] z2 + [0] = INSERT#(z0,z2) ISORTLIST#(z0) = [4] >= [4] = ISORTLIST#1#(z0) ISORTLIST#1#(::(z0,z1)) = [4] >= [4] = INSERT#(z0,isortlist(z1)) ISORTLIST#1#(::(z0,z1)) = [4] >= [4] = ISORTLIST#(z1) LEQ#(z0,z1) = [0] >= [0] = c_12(LEQ#1#(z0,z1)) LEQ#1#(::(z0,z1),z2) = [0] >= [1] = c_13(LEQ#2#(z2,z0,z1)) #and(#false(),#false()) = [0] >= [0] = #false() #and(#false(),#true()) = [0] >= [0] = #false() #and(#true(),#false()) = [0] >= [0] = #false() #and(#true(),#true()) = [0] >= [0] = #true() #cklt(#EQ()) = [0] >= [0] = #false() #cklt(#GT()) = [0] >= [0] = #false() #cklt(#LT()) = [0] >= [0] = #true() #compare(#0(),#0()) = [0] >= [0] = #EQ() #compare(#0(),#neg(z0)) = [0] >= [0] = #GT() #compare(#0(),#pos(z0)) = [0] >= [0] = #LT() #compare(#0(),#s(z0)) = [0] >= [0] = #LT() #compare(#neg(z0),#0()) = [0] >= [0] = #LT() #compare(#neg(z0),#neg(z1)) = [0] >= [0] = #compare(z1,z0) #compare(#neg(z0),#pos(z1)) = [0] >= [0] = #LT() #compare(#pos(z0),#0()) = [0] >= [0] = #GT() #compare(#pos(z0),#neg(z1)) = [0] >= [0] = #GT() #compare(#pos(z0),#pos(z1)) = [0] >= [0] = #compare(z0,z1) #compare(#s(z0),#0()) = [0] >= [0] = #GT() #compare(#s(z0),#s(z1)) = [0] >= [0] = #compare(z0,z1) #eq(#0(),#0()) = [0] >= [0] = #true() #eq(#0(),#neg(z0)) = [0] >= [0] = #false() #eq(#0(),#pos(z0)) = [0] >= [0] = #false() #eq(#0(),#s(z0)) = [0] >= [0] = #false() #eq(#neg(z0),#0()) = [0] >= [0] = #false() #eq(#neg(z0),#neg(z1)) = [0] >= [0] = #eq(z0,z1) #eq(#neg(z0),#pos(z1)) = [0] >= [0] = #false() #eq(#pos(z0),#0()) = [0] >= [0] = #false() #eq(#pos(z0),#neg(z1)) = [0] >= [0] = #false() #eq(#pos(z0),#pos(z1)) = [0] >= [0] = #eq(z0,z1) #eq(#s(z0),#0()) = [0] >= [0] = #false() #eq(#s(z0),#s(z1)) = [0] >= [0] = #eq(z0,z1) #eq(::(z0,z1),::(z2,z3)) = [0] >= [0] = #and(#eq(z0,z2),#eq(z1,z3)) #eq(::(z0,z1),nil()) = [0] >= [0] = #false() #eq(nil(),::(z0,z1)) = [0] >= [0] = #false() #eq(nil(),nil()) = [0] >= [0] = #true() #equal(z0,z1) = [0] >= [0] = #eq(z0,z1) #less(z0,z1) = [0] >= [0] = #cklt(#compare(z0,z1)) #or(#false(),#false()) = [0] >= [0] = #false() #or(#false(),#true()) = [0] >= [0] = #true() #or(#true(),#false()) = [0] >= [0] = #true() #or(#true(),#true()) = [0] >= [0] = #true() and(z0,z1) = [1] z0 + [1] z1 + [0] >= [1] z0 + [1] z1 + [0] = #and(z0,z1) insert(z0,z1) = [1] z1 + [0] >= [1] z1 + [0] = insert#1(z1,z0) insert#1(::(z0,z1),z2) = [1] z1 + [0] >= [1] z1 + [0] = insert#2(leq(z2,z0),z2,z0,z1) insert#1(nil(),z0) = [4] >= [4] = ::(z0,nil()) insert#2(#false(),z0,z1,z2) = [1] z2 + [0] >= [1] z2 + [0] = ::(z1,insert(z0,z2)) insert#2(#true(),z0,z1,z2) = [1] z2 + [0] >= [1] z2 + [0] = ::(z0,::(z1,z2)) isortlist(z0) = [4] >= [4] = isortlist#1(z0) isortlist#1(::(z0,z1)) = [4] >= [4] = insert(z0,isortlist(z1)) isortlist#1(nil()) = [4] >= [4] = nil() leq(z0,z1) = [0] >= [0] = leq#1(z0,z1) leq#1(::(z0,z1),z2) = [0] >= [0] = leq#2(z2,z0,z1) leq#1(nil(),z0) = [0] >= [0] = #true() leq#2(::(z0,z1),z2,z3) = [0] >= [0] = or(#less(z2,z0),and(#equal(z2,z0),leq(z3,z1))) leq#2(nil(),z0,z1) = [0] >= [0] = #false() or(z0,z1) = [1] z0 + [1] z1 + [0] >= [0] = #or(z0,z1) Further, it can be verified that all rules not oriented are covered by the weightgap condition. *** Step 8.b:1.b:2: WeightGap. WORST_CASE(?,O(n^1)) + Considered Problem: - Strict DPs: LEQ#(z0,z1) -> c_12(LEQ#1#(z0,z1)) LEQ#1#(::(z0,z1),z2) -> c_13(LEQ#2#(z2,z0,z1)) - Weak DPs: INSERT#(z0,z1) -> INSERT#1#(z1,z0) INSERT#1#(::(z0,z1),z2) -> INSERT#2#(leq(z2,z0),z2,z0,z1) INSERT#1#(::(z0,z1),z2) -> LEQ#(z2,z0) INSERT#2#(#false(),z0,z1,z2) -> INSERT#(z0,z2) ISORTLIST#(z0) -> ISORTLIST#1#(z0) ISORTLIST#1#(::(z0,z1)) -> INSERT#(z0,isortlist(z1)) ISORTLIST#1#(::(z0,z1)) -> ISORTLIST#(z1) LEQ#2#(::(z0,z1),z2,z3) -> c_17(LEQ#(z3,z1)) - Weak TRS: #and(#false(),#false()) -> #false() #and(#false(),#true()) -> #false() #and(#true(),#false()) -> #false() #and(#true(),#true()) -> #true() #cklt(#EQ()) -> #false() #cklt(#GT()) -> #false() #cklt(#LT()) -> #true() #compare(#0(),#0()) -> #EQ() #compare(#0(),#neg(z0)) -> #GT() #compare(#0(),#pos(z0)) -> #LT() #compare(#0(),#s(z0)) -> #LT() #compare(#neg(z0),#0()) -> #LT() #compare(#neg(z0),#neg(z1)) -> #compare(z1,z0) #compare(#neg(z0),#pos(z1)) -> #LT() #compare(#pos(z0),#0()) -> #GT() #compare(#pos(z0),#neg(z1)) -> #GT() #compare(#pos(z0),#pos(z1)) -> #compare(z0,z1) #compare(#s(z0),#0()) -> #GT() #compare(#s(z0),#s(z1)) -> #compare(z0,z1) #eq(#0(),#0()) -> #true() #eq(#0(),#neg(z0)) -> #false() #eq(#0(),#pos(z0)) -> #false() #eq(#0(),#s(z0)) -> #false() #eq(#neg(z0),#0()) -> #false() #eq(#neg(z0),#neg(z1)) -> #eq(z0,z1) #eq(#neg(z0),#pos(z1)) -> #false() #eq(#pos(z0),#0()) -> #false() #eq(#pos(z0),#neg(z1)) -> #false() #eq(#pos(z0),#pos(z1)) -> #eq(z0,z1) #eq(#s(z0),#0()) -> #false() #eq(#s(z0),#s(z1)) -> #eq(z0,z1) #eq(::(z0,z1),::(z2,z3)) -> #and(#eq(z0,z2),#eq(z1,z3)) #eq(::(z0,z1),nil()) -> #false() #eq(nil(),::(z0,z1)) -> #false() #eq(nil(),nil()) -> #true() #equal(z0,z1) -> #eq(z0,z1) #less(z0,z1) -> #cklt(#compare(z0,z1)) #or(#false(),#false()) -> #false() #or(#false(),#true()) -> #true() #or(#true(),#false()) -> #true() #or(#true(),#true()) -> #true() and(z0,z1) -> #and(z0,z1) insert(z0,z1) -> insert#1(z1,z0) insert#1(::(z0,z1),z2) -> insert#2(leq(z2,z0),z2,z0,z1) insert#1(nil(),z0) -> ::(z0,nil()) insert#2(#false(),z0,z1,z2) -> ::(z1,insert(z0,z2)) insert#2(#true(),z0,z1,z2) -> ::(z0,::(z1,z2)) isortlist(z0) -> isortlist#1(z0) isortlist#1(::(z0,z1)) -> insert(z0,isortlist(z1)) isortlist#1(nil()) -> nil() leq(z0,z1) -> leq#1(z0,z1) leq#1(::(z0,z1),z2) -> leq#2(z2,z0,z1) leq#1(nil(),z0) -> #true() leq#2(::(z0,z1),z2,z3) -> or(#less(z2,z0),and(#equal(z2,z0),leq(z3,z1))) leq#2(nil(),z0,z1) -> #false() or(z0,z1) -> #or(z0,z1) - Signature: {#AND/2,#CKLT/1,#COMPARE/2,#EQ'/2,#EQUAL/2,#LESS/2,#OR/2,#and/2,#cklt/1,#compare/2,#eq/2,#equal/2,#less/2 ,#or/2,AND/2,INSERT/2,INSERT#1/2,INSERT#2/4,ISORTLIST/1,ISORTLIST#1/1,LEQ/2,LEQ#1/2,LEQ#2/3,OR/2,and/2 ,insert/2,insert#1/2,insert#2/4,isortlist/1,isortlist#1/1,leq/2,leq#1/2,leq#2/3,or/2,#AND#/2,#CKLT#/1 ,#COMPARE#/2,#EQ'#/2,#EQUAL#/2,#LESS#/2,#OR#/2,#and#/2,#cklt#/1,#compare#/2,#eq#/2,#equal#/2,#less#/2,#or#/2 ,AND#/2,INSERT#/2,INSERT#1#/2,INSERT#2#/4,ISORTLIST#/1,ISORTLIST#1#/1,LEQ#/2,LEQ#1#/2,LEQ#2#/3,OR#/2,and#/2 ,insert#/2,insert#1#/2,insert#2#/4,isortlist#/1,isortlist#1#/1,leq#/2,leq#1#/2,leq#2#/3,or#/2} / {#0/0,#EQ/0 ,#GT/0,#LT/0,#false/0,#neg/1,#pos/1,#s/1,#true/0,::/2,c/0,c1/0,c10/0,c11/0,c12/1,c13/0,c14/0,c15/0,c16/1 ,c17/0,c18/1,c19/0,c2/0,c20/0,c21/0,c22/0,c23/0,c24/1,c25/0,c26/0,c27/0,c28/1,c29/0,c3/0,c30/1,c31/2,c32/2 ,c33/0,c34/0,c35/0,c36/0,c37/0,c38/0,c39/0,c4/0,c40/1,c41/2,c42/1,c43/1,c44/2,c45/0,c46/1,c47/0,c48/1,c49/2 ,c5/0,c50/0,c51/1,c52/1,c53/0,c54/2,c55/3,c56/3,c57/0,c58/1,c6/0,c7/0,c8/0,c9/0,nil/0,c_1/1,c_2/3,c_3/1 ,c_4/1,c_5/2,c_6/0,c_7/1,c_8/0,c_9/1,c_10/2,c_11/0,c_12/1,c_13/1,c_14/0,c_15/6,c_16/9,c_17/1,c_18/0,c_19/1 ,c_20/0,c_21/0,c_22/0,c_23/0,c_24/0,c_25/0,c_26/0,c_27/0,c_28/0,c_29/0,c_30/0,c_31/0,c_32/1,c_33/0,c_34/0 ,c_35/0,c_36/1,c_37/0,c_38/1,c_39/0,c_40/0,c_41/0,c_42/0,c_43/0,c_44/1,c_45/0,c_46/0,c_47/0,c_48/1,c_49/0 ,c_50/1,c_51/4,c_52/4,c_53/0,c_54/0,c_55/0,c_56/0,c_57/0,c_58/0,c_59/0,c_60/0,c_61/0,c_62/0,c_63/0,c_64/0 ,c_65/0,c_66/0,c_67/0,c_68/0,c_69/0,c_70/0,c_71/0,c_72/1,c_73/0,c_74/0,c_75/0,c_76/1,c_77/0,c_78/1,c_79/0 ,c_80/0,c_81/0,c_82/0,c_83/0,c_84/1,c_85/0,c_86/0,c_87/0,c_88/1,c_89/0,c_90/1,c_91/3,c_92/0,c_93/0,c_94/0 ,c_95/1,c_96/2,c_97/0,c_98/0,c_99/0,c_100/0,c_101/1,c_102/1,c_103/2,c_104/0,c_105/1,c_106/0,c_107/1,c_108/2 ,c_109/0,c_110/1,c_111/1,c_112/0,c_113/5,c_114/0,c_115/1} - Obligation: innermost runtime complexity wrt. defined symbols {#AND#,#CKLT#,#COMPARE#,#EQ'#,#EQUAL#,#LESS#,#OR#,#and# ,#cklt#,#compare#,#eq#,#equal#,#less#,#or#,AND#,INSERT#,INSERT#1#,INSERT#2#,ISORTLIST#,ISORTLIST#1#,LEQ# ,LEQ#1#,LEQ#2#,OR#,and#,insert#,insert#1#,insert#2#,isortlist#,isortlist#1#,leq#,leq#1#,leq#2# ,or#} and constructors {#0,#EQ,#GT,#LT,#false,#neg,#pos,#s,#true,::,c,c1,c10,c11,c12,c13,c14,c15,c16,c17,c18 ,c19,c2,c20,c21,c22,c23,c24,c25,c26,c27,c28,c29,c3,c30,c31,c32,c33,c34,c35,c36,c37,c38,c39,c4,c40,c41,c42 ,c43,c44,c45,c46,c47,c48,c49,c5,c50,c51,c52,c53,c54,c55,c56,c57,c58,c6,c7,c8,c9,nil} + Applied Processor: WeightGap {wgDimension = 1, wgDegree = 1, wgKind = Algebraic, wgUArgs = UArgs, wgOn = WgOnAny} + Details: The weightgap principle applies using the following constant growth matrix-interpretation: We apply a matrix interpretation of kind constructor based matrix interpretation: The following argument positions are considered usable: uargs(#and) = {1,2}, uargs(#cklt) = {1}, uargs(::) = {2}, uargs(and) = {1,2}, uargs(insert) = {2}, uargs(insert#2) = {1}, uargs(or) = {1,2}, uargs(INSERT#) = {2}, uargs(INSERT#2#) = {1}, uargs(c_12) = {1}, uargs(c_13) = {1}, uargs(c_17) = {1} Following symbols are considered usable: all TcT has computed the following interpretation: p(#0) = [0] p(#AND) = [0] p(#CKLT) = [0] p(#COMPARE) = [0] p(#EQ) = [0] p(#EQ') = [0] p(#EQUAL) = [0] p(#GT) = [0] p(#LESS) = [0] p(#LT) = [0] p(#OR) = [0] p(#and) = [1] x1 + [1] x2 + [0] p(#cklt) = [1] x1 + [0] p(#compare) = [0] p(#eq) = [0] p(#equal) = [0] p(#false) = [0] p(#less) = [0] p(#neg) = [1] x1 + [0] p(#or) = [0] p(#pos) = [0] p(#s) = [1] x1 + [0] p(#true) = [0] p(::) = [1] x2 + [0] p(AND) = [0] p(INSERT) = [0] p(INSERT#1) = [0] p(INSERT#2) = [0] p(ISORTLIST) = [0] p(ISORTLIST#1) = [0] p(LEQ) = [0] p(LEQ#1) = [0] p(LEQ#2) = [0] p(OR) = [0] p(and) = [1] x1 + [1] x2 + [0] p(c) = [0] p(c1) = [0] p(c10) = [0] p(c11) = [0] p(c12) = [1] x1 + [0] p(c13) = [0] p(c14) = [0] p(c15) = [0] p(c16) = [1] x1 + [0] p(c17) = [0] p(c18) = [1] x1 + [0] p(c19) = [0] p(c2) = [0] p(c20) = [0] p(c21) = [0] p(c22) = [0] p(c23) = [0] p(c24) = [1] x1 + [0] p(c25) = [0] p(c26) = [0] p(c27) = [0] p(c28) = [1] x1 + [0] p(c29) = [0] p(c3) = [0] p(c30) = [1] x1 + [0] p(c31) = [1] x1 + [1] x2 + [0] p(c32) = [1] x1 + [1] x2 + [0] p(c33) = [0] p(c34) = [0] p(c35) = [0] p(c36) = [0] p(c37) = [0] p(c38) = [0] p(c39) = [0] p(c4) = [0] p(c40) = [1] x1 + [0] p(c41) = [1] x1 + [1] x2 + [0] p(c42) = [1] x1 + [0] p(c43) = [1] x1 + [0] p(c44) = [1] x1 + [1] x2 + [0] p(c45) = [0] p(c46) = [1] x1 + [0] p(c47) = [0] p(c48) = [1] x1 + [1] p(c49) = [1] x1 + [1] x2 + [0] p(c5) = [0] p(c50) = [0] p(c51) = [1] x1 + [0] p(c52) = [1] x1 + [0] p(c53) = [0] p(c54) = [1] x1 + [1] x2 + [0] p(c55) = [1] x1 + [1] x2 + [1] x3 + [0] p(c56) = [1] x1 + [1] x2 + [1] x3 + [0] p(c57) = [0] p(c58) = [1] x1 + [0] p(c6) = [0] p(c7) = [0] p(c8) = [0] p(c9) = [0] p(insert) = [1] x2 + [0] p(insert#1) = [1] x1 + [0] p(insert#2) = [1] x1 + [1] x4 + [0] p(isortlist) = [0] p(isortlist#1) = [0] p(leq) = [0] p(leq#1) = [0] p(leq#2) = [0] p(nil) = [0] p(or) = [1] x1 + [1] x2 + [0] p(#AND#) = [0] p(#CKLT#) = [0] p(#COMPARE#) = [0] p(#EQ'#) = [0] p(#EQUAL#) = [0] p(#LESS#) = [1] p(#OR#) = [0] p(#and#) = [0] p(#cklt#) = [0] p(#compare#) = [0] p(#eq#) = [0] p(#equal#) = [0] p(#less#) = [0] p(#or#) = [0] p(AND#) = [0] p(INSERT#) = [1] x2 + [0] p(INSERT#1#) = [1] x1 + [0] p(INSERT#2#) = [1] x1 + [1] x4 + [0] p(ISORTLIST#) = [0] p(ISORTLIST#1#) = [0] p(LEQ#) = [0] p(LEQ#1#) = [1] p(LEQ#2#) = [0] p(OR#) = [0] p(and#) = [2] p(insert#) = [0] p(insert#1#) = [0] p(insert#2#) = [0] p(isortlist#) = [0] p(isortlist#1#) = [0] p(leq#) = [0] p(leq#1#) = [0] p(leq#2#) = [0] p(or#) = [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) = [1] x1 + [2] p(c_13) = [1] x1 + [0] p(c_14) = [0] p(c_15) = [0] p(c_16) = [4] x4 + [1] x6 + [4] x7 + [0] p(c_17) = [1] x1 + [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] p(c_44) = [0] p(c_45) = [0] p(c_46) = [0] p(c_47) = [0] p(c_48) = [0] p(c_49) = [0] p(c_50) = [0] p(c_51) = [0] p(c_52) = [0] p(c_53) = [0] p(c_54) = [0] p(c_55) = [0] p(c_56) = [0] p(c_57) = [0] p(c_58) = [0] p(c_59) = [2] p(c_60) = [0] p(c_61) = [0] p(c_62) = [0] p(c_63) = [0] p(c_64) = [0] p(c_65) = [0] p(c_66) = [0] p(c_67) = [0] p(c_68) = [0] p(c_69) = [0] p(c_70) = [0] p(c_71) = [0] p(c_72) = [0] p(c_73) = [0] p(c_74) = [0] p(c_75) = [0] p(c_76) = [0] p(c_77) = [0] p(c_78) = [0] p(c_79) = [0] p(c_80) = [0] p(c_81) = [0] p(c_82) = [0] p(c_83) = [0] p(c_84) = [0] p(c_85) = [0] p(c_86) = [0] p(c_87) = [0] p(c_88) = [0] p(c_89) = [0] p(c_90) = [0] p(c_91) = [0] p(c_92) = [0] p(c_93) = [0] p(c_94) = [0] p(c_95) = [0] p(c_96) = [0] p(c_97) = [0] p(c_98) = [0] p(c_99) = [0] p(c_100) = [0] p(c_101) = [0] p(c_102) = [0] p(c_103) = [0] p(c_104) = [0] p(c_105) = [0] p(c_106) = [0] p(c_107) = [0] p(c_108) = [0] p(c_109) = [0] p(c_110) = [0] p(c_111) = [0] p(c_112) = [0] p(c_113) = [4] x1 + [1] x2 + [0] p(c_114) = [0] p(c_115) = [1] x1 + [0] Following rules are strictly oriented: LEQ#1#(::(z0,z1),z2) = [1] > [0] = c_13(LEQ#2#(z2,z0,z1)) Following rules are (at-least) weakly oriented: INSERT#(z0,z1) = [1] z1 + [0] >= [1] z1 + [0] = INSERT#1#(z1,z0) INSERT#1#(::(z0,z1),z2) = [1] z1 + [0] >= [1] z1 + [0] = INSERT#2#(leq(z2,z0),z2,z0,z1) INSERT#1#(::(z0,z1),z2) = [1] z1 + [0] >= [0] = LEQ#(z2,z0) INSERT#2#(#false(),z0,z1,z2) = [1] z2 + [0] >= [1] z2 + [0] = INSERT#(z0,z2) ISORTLIST#(z0) = [0] >= [0] = ISORTLIST#1#(z0) ISORTLIST#1#(::(z0,z1)) = [0] >= [0] = INSERT#(z0,isortlist(z1)) ISORTLIST#1#(::(z0,z1)) = [0] >= [0] = ISORTLIST#(z1) LEQ#(z0,z1) = [0] >= [3] = c_12(LEQ#1#(z0,z1)) LEQ#2#(::(z0,z1),z2,z3) = [0] >= [0] = c_17(LEQ#(z3,z1)) #and(#false(),#false()) = [0] >= [0] = #false() #and(#false(),#true()) = [0] >= [0] = #false() #and(#true(),#false()) = [0] >= [0] = #false() #and(#true(),#true()) = [0] >= [0] = #true() #cklt(#EQ()) = [0] >= [0] = #false() #cklt(#GT()) = [0] >= [0] = #false() #cklt(#LT()) = [0] >= [0] = #true() #compare(#0(),#0()) = [0] >= [0] = #EQ() #compare(#0(),#neg(z0)) = [0] >= [0] = #GT() #compare(#0(),#pos(z0)) = [0] >= [0] = #LT() #compare(#0(),#s(z0)) = [0] >= [0] = #LT() #compare(#neg(z0),#0()) = [0] >= [0] = #LT() #compare(#neg(z0),#neg(z1)) = [0] >= [0] = #compare(z1,z0) #compare(#neg(z0),#pos(z1)) = [0] >= [0] = #LT() #compare(#pos(z0),#0()) = [0] >= [0] = #GT() #compare(#pos(z0),#neg(z1)) = [0] >= [0] = #GT() #compare(#pos(z0),#pos(z1)) = [0] >= [0] = #compare(z0,z1) #compare(#s(z0),#0()) = [0] >= [0] = #GT() #compare(#s(z0),#s(z1)) = [0] >= [0] = #compare(z0,z1) #eq(#0(),#0()) = [0] >= [0] = #true() #eq(#0(),#neg(z0)) = [0] >= [0] = #false() #eq(#0(),#pos(z0)) = [0] >= [0] = #false() #eq(#0(),#s(z0)) = [0] >= [0] = #false() #eq(#neg(z0),#0()) = [0] >= [0] = #false() #eq(#neg(z0),#neg(z1)) = [0] >= [0] = #eq(z0,z1) #eq(#neg(z0),#pos(z1)) = [0] >= [0] = #false() #eq(#pos(z0),#0()) = [0] >= [0] = #false() #eq(#pos(z0),#neg(z1)) = [0] >= [0] = #false() #eq(#pos(z0),#pos(z1)) = [0] >= [0] = #eq(z0,z1) #eq(#s(z0),#0()) = [0] >= [0] = #false() #eq(#s(z0),#s(z1)) = [0] >= [0] = #eq(z0,z1) #eq(::(z0,z1),::(z2,z3)) = [0] >= [0] = #and(#eq(z0,z2),#eq(z1,z3)) #eq(::(z0,z1),nil()) = [0] >= [0] = #false() #eq(nil(),::(z0,z1)) = [0] >= [0] = #false() #eq(nil(),nil()) = [0] >= [0] = #true() #equal(z0,z1) = [0] >= [0] = #eq(z0,z1) #less(z0,z1) = [0] >= [0] = #cklt(#compare(z0,z1)) #or(#false(),#false()) = [0] >= [0] = #false() #or(#false(),#true()) = [0] >= [0] = #true() #or(#true(),#false()) = [0] >= [0] = #true() #or(#true(),#true()) = [0] >= [0] = #true() and(z0,z1) = [1] z0 + [1] z1 + [0] >= [1] z0 + [1] z1 + [0] = #and(z0,z1) insert(z0,z1) = [1] z1 + [0] >= [1] z1 + [0] = insert#1(z1,z0) insert#1(::(z0,z1),z2) = [1] z1 + [0] >= [1] z1 + [0] = insert#2(leq(z2,z0),z2,z0,z1) insert#1(nil(),z0) = [0] >= [0] = ::(z0,nil()) insert#2(#false(),z0,z1,z2) = [1] z2 + [0] >= [1] z2 + [0] = ::(z1,insert(z0,z2)) insert#2(#true(),z0,z1,z2) = [1] z2 + [0] >= [1] z2 + [0] = ::(z0,::(z1,z2)) isortlist(z0) = [0] >= [0] = isortlist#1(z0) isortlist#1(::(z0,z1)) = [0] >= [0] = insert(z0,isortlist(z1)) isortlist#1(nil()) = [0] >= [0] = nil() leq(z0,z1) = [0] >= [0] = leq#1(z0,z1) leq#1(::(z0,z1),z2) = [0] >= [0] = leq#2(z2,z0,z1) leq#1(nil(),z0) = [0] >= [0] = #true() leq#2(::(z0,z1),z2,z3) = [0] >= [0] = or(#less(z2,z0),and(#equal(z2,z0),leq(z3,z1))) leq#2(nil(),z0,z1) = [0] >= [0] = #false() or(z0,z1) = [1] z0 + [1] z1 + [0] >= [0] = #or(z0,z1) Further, it can be verified that all rules not oriented are covered by the weightgap condition. *** Step 8.b:1.b:3: WeightGap. WORST_CASE(?,O(n^1)) + Considered Problem: - Strict DPs: LEQ#(z0,z1) -> c_12(LEQ#1#(z0,z1)) - Weak DPs: INSERT#(z0,z1) -> INSERT#1#(z1,z0) INSERT#1#(::(z0,z1),z2) -> INSERT#2#(leq(z2,z0),z2,z0,z1) INSERT#1#(::(z0,z1),z2) -> LEQ#(z2,z0) INSERT#2#(#false(),z0,z1,z2) -> INSERT#(z0,z2) ISORTLIST#(z0) -> ISORTLIST#1#(z0) ISORTLIST#1#(::(z0,z1)) -> INSERT#(z0,isortlist(z1)) ISORTLIST#1#(::(z0,z1)) -> ISORTLIST#(z1) LEQ#1#(::(z0,z1),z2) -> c_13(LEQ#2#(z2,z0,z1)) LEQ#2#(::(z0,z1),z2,z3) -> c_17(LEQ#(z3,z1)) - Weak TRS: #and(#false(),#false()) -> #false() #and(#false(),#true()) -> #false() #and(#true(),#false()) -> #false() #and(#true(),#true()) -> #true() #cklt(#EQ()) -> #false() #cklt(#GT()) -> #false() #cklt(#LT()) -> #true() #compare(#0(),#0()) -> #EQ() #compare(#0(),#neg(z0)) -> #GT() #compare(#0(),#pos(z0)) -> #LT() #compare(#0(),#s(z0)) -> #LT() #compare(#neg(z0),#0()) -> #LT() #compare(#neg(z0),#neg(z1)) -> #compare(z1,z0) #compare(#neg(z0),#pos(z1)) -> #LT() #compare(#pos(z0),#0()) -> #GT() #compare(#pos(z0),#neg(z1)) -> #GT() #compare(#pos(z0),#pos(z1)) -> #compare(z0,z1) #compare(#s(z0),#0()) -> #GT() #compare(#s(z0),#s(z1)) -> #compare(z0,z1) #eq(#0(),#0()) -> #true() #eq(#0(),#neg(z0)) -> #false() #eq(#0(),#pos(z0)) -> #false() #eq(#0(),#s(z0)) -> #false() #eq(#neg(z0),#0()) -> #false() #eq(#neg(z0),#neg(z1)) -> #eq(z0,z1) #eq(#neg(z0),#pos(z1)) -> #false() #eq(#pos(z0),#0()) -> #false() #eq(#pos(z0),#neg(z1)) -> #false() #eq(#pos(z0),#pos(z1)) -> #eq(z0,z1) #eq(#s(z0),#0()) -> #false() #eq(#s(z0),#s(z1)) -> #eq(z0,z1) #eq(::(z0,z1),::(z2,z3)) -> #and(#eq(z0,z2),#eq(z1,z3)) #eq(::(z0,z1),nil()) -> #false() #eq(nil(),::(z0,z1)) -> #false() #eq(nil(),nil()) -> #true() #equal(z0,z1) -> #eq(z0,z1) #less(z0,z1) -> #cklt(#compare(z0,z1)) #or(#false(),#false()) -> #false() #or(#false(),#true()) -> #true() #or(#true(),#false()) -> #true() #or(#true(),#true()) -> #true() and(z0,z1) -> #and(z0,z1) insert(z0,z1) -> insert#1(z1,z0) insert#1(::(z0,z1),z2) -> insert#2(leq(z2,z0),z2,z0,z1) insert#1(nil(),z0) -> ::(z0,nil()) insert#2(#false(),z0,z1,z2) -> ::(z1,insert(z0,z2)) insert#2(#true(),z0,z1,z2) -> ::(z0,::(z1,z2)) isortlist(z0) -> isortlist#1(z0) isortlist#1(::(z0,z1)) -> insert(z0,isortlist(z1)) isortlist#1(nil()) -> nil() leq(z0,z1) -> leq#1(z0,z1) leq#1(::(z0,z1),z2) -> leq#2(z2,z0,z1) leq#1(nil(),z0) -> #true() leq#2(::(z0,z1),z2,z3) -> or(#less(z2,z0),and(#equal(z2,z0),leq(z3,z1))) leq#2(nil(),z0,z1) -> #false() or(z0,z1) -> #or(z0,z1) - Signature: {#AND/2,#CKLT/1,#COMPARE/2,#EQ'/2,#EQUAL/2,#LESS/2,#OR/2,#and/2,#cklt/1,#compare/2,#eq/2,#equal/2,#less/2 ,#or/2,AND/2,INSERT/2,INSERT#1/2,INSERT#2/4,ISORTLIST/1,ISORTLIST#1/1,LEQ/2,LEQ#1/2,LEQ#2/3,OR/2,and/2 ,insert/2,insert#1/2,insert#2/4,isortlist/1,isortlist#1/1,leq/2,leq#1/2,leq#2/3,or/2,#AND#/2,#CKLT#/1 ,#COMPARE#/2,#EQ'#/2,#EQUAL#/2,#LESS#/2,#OR#/2,#and#/2,#cklt#/1,#compare#/2,#eq#/2,#equal#/2,#less#/2,#or#/2 ,AND#/2,INSERT#/2,INSERT#1#/2,INSERT#2#/4,ISORTLIST#/1,ISORTLIST#1#/1,LEQ#/2,LEQ#1#/2,LEQ#2#/3,OR#/2,and#/2 ,insert#/2,insert#1#/2,insert#2#/4,isortlist#/1,isortlist#1#/1,leq#/2,leq#1#/2,leq#2#/3,or#/2} / {#0/0,#EQ/0 ,#GT/0,#LT/0,#false/0,#neg/1,#pos/1,#s/1,#true/0,::/2,c/0,c1/0,c10/0,c11/0,c12/1,c13/0,c14/0,c15/0,c16/1 ,c17/0,c18/1,c19/0,c2/0,c20/0,c21/0,c22/0,c23/0,c24/1,c25/0,c26/0,c27/0,c28/1,c29/0,c3/0,c30/1,c31/2,c32/2 ,c33/0,c34/0,c35/0,c36/0,c37/0,c38/0,c39/0,c4/0,c40/1,c41/2,c42/1,c43/1,c44/2,c45/0,c46/1,c47/0,c48/1,c49/2 ,c5/0,c50/0,c51/1,c52/1,c53/0,c54/2,c55/3,c56/3,c57/0,c58/1,c6/0,c7/0,c8/0,c9/0,nil/0,c_1/1,c_2/3,c_3/1 ,c_4/1,c_5/2,c_6/0,c_7/1,c_8/0,c_9/1,c_10/2,c_11/0,c_12/1,c_13/1,c_14/0,c_15/6,c_16/9,c_17/1,c_18/0,c_19/1 ,c_20/0,c_21/0,c_22/0,c_23/0,c_24/0,c_25/0,c_26/0,c_27/0,c_28/0,c_29/0,c_30/0,c_31/0,c_32/1,c_33/0,c_34/0 ,c_35/0,c_36/1,c_37/0,c_38/1,c_39/0,c_40/0,c_41/0,c_42/0,c_43/0,c_44/1,c_45/0,c_46/0,c_47/0,c_48/1,c_49/0 ,c_50/1,c_51/4,c_52/4,c_53/0,c_54/0,c_55/0,c_56/0,c_57/0,c_58/0,c_59/0,c_60/0,c_61/0,c_62/0,c_63/0,c_64/0 ,c_65/0,c_66/0,c_67/0,c_68/0,c_69/0,c_70/0,c_71/0,c_72/1,c_73/0,c_74/0,c_75/0,c_76/1,c_77/0,c_78/1,c_79/0 ,c_80/0,c_81/0,c_82/0,c_83/0,c_84/1,c_85/0,c_86/0,c_87/0,c_88/1,c_89/0,c_90/1,c_91/3,c_92/0,c_93/0,c_94/0 ,c_95/1,c_96/2,c_97/0,c_98/0,c_99/0,c_100/0,c_101/1,c_102/1,c_103/2,c_104/0,c_105/1,c_106/0,c_107/1,c_108/2 ,c_109/0,c_110/1,c_111/1,c_112/0,c_113/5,c_114/0,c_115/1} - Obligation: innermost runtime complexity wrt. defined symbols {#AND#,#CKLT#,#COMPARE#,#EQ'#,#EQUAL#,#LESS#,#OR#,#and# ,#cklt#,#compare#,#eq#,#equal#,#less#,#or#,AND#,INSERT#,INSERT#1#,INSERT#2#,ISORTLIST#,ISORTLIST#1#,LEQ# ,LEQ#1#,LEQ#2#,OR#,and#,insert#,insert#1#,insert#2#,isortlist#,isortlist#1#,leq#,leq#1#,leq#2# ,or#} and constructors {#0,#EQ,#GT,#LT,#false,#neg,#pos,#s,#true,::,c,c1,c10,c11,c12,c13,c14,c15,c16,c17,c18 ,c19,c2,c20,c21,c22,c23,c24,c25,c26,c27,c28,c29,c3,c30,c31,c32,c33,c34,c35,c36,c37,c38,c39,c4,c40,c41,c42 ,c43,c44,c45,c46,c47,c48,c49,c5,c50,c51,c52,c53,c54,c55,c56,c57,c58,c6,c7,c8,c9,nil} + Applied Processor: WeightGap {wgDimension = 1, wgDegree = 1, wgKind = Algebraic, wgUArgs = UArgs, wgOn = WgOnAny} + Details: The weightgap principle applies using the following constant growth matrix-interpretation: We apply a matrix interpretation of kind constructor based matrix interpretation: The following argument positions are considered usable: uargs(#and) = {1,2}, uargs(#cklt) = {1}, uargs(::) = {2}, uargs(and) = {1,2}, uargs(insert) = {2}, uargs(insert#2) = {1}, uargs(or) = {1,2}, uargs(INSERT#) = {2}, uargs(INSERT#2#) = {1}, uargs(c_12) = {1}, uargs(c_13) = {1}, uargs(c_17) = {1} Following symbols are considered usable: all TcT has computed the following interpretation: p(#0) = [0] p(#AND) = [4] x1 + [1] p(#CKLT) = [1] p(#COMPARE) = [1] p(#EQ) = [0] p(#EQ') = [4] x1 + [2] x2 + [0] p(#EQUAL) = [1] x1 + [1] x2 + [0] p(#GT) = [0] p(#LESS) = [1] x2 + [4] p(#LT) = [0] p(#OR) = [0] p(#and) = [1] x1 + [1] x2 + [0] p(#cklt) = [1] x1 + [0] p(#compare) = [0] p(#eq) = [0] p(#equal) = [0] p(#false) = [0] p(#less) = [0] p(#neg) = [2] p(#or) = [1] x1 + [1] x2 + [0] p(#pos) = [0] p(#s) = [1] x1 + [0] p(#true) = [0] p(::) = [1] x1 + [1] x2 + [1] p(AND) = [2] x1 + [0] p(INSERT) = [1] x1 + [2] x2 + [1] p(INSERT#1) = [1] x1 + [4] x2 + [1] p(INSERT#2) = [0] p(ISORTLIST) = [2] x1 + [2] p(ISORTLIST#1) = [0] p(LEQ) = [0] p(LEQ#1) = [0] p(LEQ#2) = [0] p(OR) = [0] p(and) = [1] x1 + [1] x2 + [0] p(c) = [0] p(c1) = [0] p(c10) = [0] p(c11) = [0] p(c12) = [1] x1 + [0] p(c13) = [0] p(c14) = [0] p(c15) = [0] p(c16) = [1] x1 + [0] p(c17) = [0] p(c18) = [1] x1 + [0] p(c19) = [0] p(c2) = [0] p(c20) = [0] p(c21) = [0] p(c22) = [0] p(c23) = [0] p(c24) = [0] p(c25) = [0] p(c26) = [0] p(c27) = [0] p(c28) = [1] x1 + [0] p(c29) = [0] p(c3) = [0] p(c30) = [1] x1 + [0] p(c31) = [1] x1 + [1] x2 + [0] p(c32) = [1] x1 + [1] x2 + [0] p(c33) = [0] p(c34) = [0] p(c35) = [0] p(c36) = [0] p(c37) = [0] p(c38) = [0] p(c39) = [0] p(c4) = [0] p(c40) = [1] x1 + [0] p(c41) = [1] x1 + [1] x2 + [0] p(c42) = [1] x1 + [0] p(c43) = [1] x1 + [0] p(c44) = [1] x1 + [1] x2 + [0] p(c45) = [0] p(c46) = [1] x1 + [0] p(c47) = [0] p(c48) = [1] x1 + [0] p(c49) = [1] x1 + [1] x2 + [0] p(c5) = [0] p(c50) = [0] p(c51) = [1] x1 + [0] p(c52) = [1] x1 + [0] p(c53) = [0] p(c54) = [1] x1 + [1] x2 + [0] p(c55) = [1] x1 + [1] x2 + [1] x3 + [0] p(c56) = [1] x1 + [1] x2 + [1] x3 + [0] p(c57) = [0] p(c58) = [1] x1 + [0] p(c6) = [0] p(c7) = [0] p(c8) = [0] p(c9) = [0] p(insert) = [1] x1 + [1] x2 + [1] p(insert#1) = [1] x1 + [1] x2 + [1] p(insert#2) = [1] x1 + [1] x2 + [1] x3 + [1] x4 + [2] p(isortlist) = [1] x1 + [0] p(isortlist#1) = [1] x1 + [0] p(leq) = [0] p(leq#1) = [0] p(leq#2) = [0] p(nil) = [0] p(or) = [1] x1 + [1] x2 + [0] p(#AND#) = [0] p(#CKLT#) = [0] p(#COMPARE#) = [0] p(#EQ'#) = [0] p(#EQUAL#) = [0] p(#LESS#) = [0] p(#OR#) = [0] p(#and#) = [0] p(#cklt#) = [0] p(#compare#) = [0] p(#eq#) = [0] p(#equal#) = [0] p(#less#) = [0] p(#or#) = [0] p(AND#) = [0] p(INSERT#) = [4] x1 + [1] x2 + [0] p(INSERT#1#) = [1] x1 + [4] x2 + [0] p(INSERT#2#) = [1] x1 + [4] x2 + [1] x3 + [1] x4 + [1] p(ISORTLIST#) = [5] x1 + [7] p(ISORTLIST#1#) = [5] x1 + [7] p(LEQ#) = [4] x1 + [1] p(LEQ#1#) = [4] x1 + [0] p(LEQ#2#) = [4] x3 + [2] p(OR#) = [2] x1 + [4] x2 + [1] p(and#) = [1] x1 + [2] x2 + [1] p(insert#) = [4] p(insert#1#) = [2] x2 + [1] p(insert#2#) = [2] x2 + [1] x4 + [4] p(isortlist#) = [1] p(isortlist#1#) = [1] x1 + [0] p(leq#) = [1] x2 + [1] p(leq#1#) = [1] x2 + [1] p(leq#2#) = [1] x1 + [1] x2 + [1] x3 + [1] p(or#) = [1] x2 + [1] p(c_1) = [0] p(c_2) = [1] x1 + [1] x3 + [0] p(c_3) = [1] x1 + [0] p(c_4) = [4] x1 + [0] p(c_5) = [4] x2 + [0] p(c_6) = [2] p(c_7) = [2] p(c_8) = [1] p(c_9) = [0] p(c_10) = [2] x1 + [1] x2 + [2] p(c_11) = [0] p(c_12) = [1] x1 + [0] p(c_13) = [1] x1 + [2] p(c_14) = [0] p(c_15) = [4] x3 + [4] x4 + [2] x6 + [2] p(c_16) = [1] x1 + [1] x2 + [1] x3 + [2] x4 + [1] x6 + [1] x7 + [4] x8 + [1] p(c_17) = [1] x1 + [1] p(c_18) = [0] p(c_19) = [2] x1 + [4] p(c_20) = [1] p(c_21) = [0] p(c_22) = [1] p(c_23) = [2] p(c_24) = [0] p(c_25) = [1] p(c_26) = [0] p(c_27) = [1] p(c_28) = [2] p(c_29) = [0] p(c_30) = [4] p(c_31) = [2] p(c_32) = [0] p(c_33) = [0] p(c_34) = [0] p(c_35) = [0] p(c_36) = [2] x1 + [0] p(c_37) = [4] p(c_38) = [1] x1 + [0] p(c_39) = [0] p(c_40) = [1] p(c_41) = [0] p(c_42) = [0] p(c_43) = [1] p(c_44) = [1] p(c_45) = [1] p(c_46) = [1] p(c_47) = [0] p(c_48) = [4] x1 + [1] p(c_49) = [1] p(c_50) = [4] x1 + [4] p(c_51) = [1] x1 + [0] p(c_52) = [2] x1 + [4] x2 + [2] x3 + [4] p(c_53) = [1] p(c_54) = [4] p(c_55) = [1] p(c_56) = [1] p(c_57) = [4] p(c_58) = [0] p(c_59) = [2] p(c_60) = [2] p(c_61) = [0] p(c_62) = [0] p(c_63) = [1] p(c_64) = [1] p(c_65) = [0] p(c_66) = [1] p(c_67) = [1] p(c_68) = [4] p(c_69) = [0] p(c_70) = [0] p(c_71) = [1] p(c_72) = [4] x1 + [4] p(c_73) = [0] p(c_74) = [0] p(c_75) = [4] p(c_76) = [0] p(c_77) = [0] p(c_78) = [1] x1 + [0] p(c_79) = [0] p(c_80) = [0] p(c_81) = [1] p(c_82) = [1] p(c_83) = [1] p(c_84) = [4] x1 + [2] p(c_85) = [0] p(c_86) = [0] p(c_87) = [0] p(c_88) = [2] x1 + [0] p(c_89) = [2] p(c_90) = [4] p(c_91) = [1] x1 + [0] p(c_92) = [1] p(c_93) = [0] p(c_94) = [1] p(c_95) = [0] p(c_96) = [1] x1 + [0] p(c_97) = [2] p(c_98) = [1] p(c_99) = [0] p(c_100) = [1] p(c_101) = [1] p(c_102) = [0] p(c_103) = [1] p(c_104) = [0] p(c_105) = [1] x1 + [0] p(c_106) = [1] p(c_107) = [1] p(c_108) = [1] x1 + [2] x2 + [4] p(c_109) = [4] p(c_110) = [1] x1 + [0] p(c_111) = [1] x1 + [0] p(c_112) = [1] p(c_113) = [1] x2 + [1] x3 + [2] x4 + [2] x5 + [1] p(c_114) = [2] p(c_115) = [1] x1 + [0] Following rules are strictly oriented: LEQ#(z0,z1) = [4] z0 + [1] > [4] z0 + [0] = c_12(LEQ#1#(z0,z1)) Following rules are (at-least) weakly oriented: INSERT#(z0,z1) = [4] z0 + [1] z1 + [0] >= [4] z0 + [1] z1 + [0] = INSERT#1#(z1,z0) INSERT#1#(::(z0,z1),z2) = [1] z0 + [1] z1 + [4] z2 + [1] >= [1] z0 + [1] z1 + [4] z2 + [1] = INSERT#2#(leq(z2,z0),z2,z0,z1) INSERT#1#(::(z0,z1),z2) = [1] z0 + [1] z1 + [4] z2 + [1] >= [4] z2 + [1] = LEQ#(z2,z0) INSERT#2#(#false(),z0,z1,z2) = [4] z0 + [1] z1 + [1] z2 + [1] >= [4] z0 + [1] z2 + [0] = INSERT#(z0,z2) ISORTLIST#(z0) = [5] z0 + [7] >= [5] z0 + [7] = ISORTLIST#1#(z0) ISORTLIST#1#(::(z0,z1)) = [5] z0 + [5] z1 + [12] >= [4] z0 + [1] z1 + [0] = INSERT#(z0,isortlist(z1)) ISORTLIST#1#(::(z0,z1)) = [5] z0 + [5] z1 + [12] >= [5] z1 + [7] = ISORTLIST#(z1) LEQ#1#(::(z0,z1),z2) = [4] z0 + [4] z1 + [4] >= [4] z1 + [4] = c_13(LEQ#2#(z2,z0,z1)) LEQ#2#(::(z0,z1),z2,z3) = [4] z3 + [2] >= [4] z3 + [2] = c_17(LEQ#(z3,z1)) #and(#false(),#false()) = [0] >= [0] = #false() #and(#false(),#true()) = [0] >= [0] = #false() #and(#true(),#false()) = [0] >= [0] = #false() #and(#true(),#true()) = [0] >= [0] = #true() #cklt(#EQ()) = [0] >= [0] = #false() #cklt(#GT()) = [0] >= [0] = #false() #cklt(#LT()) = [0] >= [0] = #true() #compare(#0(),#0()) = [0] >= [0] = #EQ() #compare(#0(),#neg(z0)) = [0] >= [0] = #GT() #compare(#0(),#pos(z0)) = [0] >= [0] = #LT() #compare(#0(),#s(z0)) = [0] >= [0] = #LT() #compare(#neg(z0),#0()) = [0] >= [0] = #LT() #compare(#neg(z0),#neg(z1)) = [0] >= [0] = #compare(z1,z0) #compare(#neg(z0),#pos(z1)) = [0] >= [0] = #LT() #compare(#pos(z0),#0()) = [0] >= [0] = #GT() #compare(#pos(z0),#neg(z1)) = [0] >= [0] = #GT() #compare(#pos(z0),#pos(z1)) = [0] >= [0] = #compare(z0,z1) #compare(#s(z0),#0()) = [0] >= [0] = #GT() #compare(#s(z0),#s(z1)) = [0] >= [0] = #compare(z0,z1) #eq(#0(),#0()) = [0] >= [0] = #true() #eq(#0(),#neg(z0)) = [0] >= [0] = #false() #eq(#0(),#pos(z0)) = [0] >= [0] = #false() #eq(#0(),#s(z0)) = [0] >= [0] = #false() #eq(#neg(z0),#0()) = [0] >= [0] = #false() #eq(#neg(z0),#neg(z1)) = [0] >= [0] = #eq(z0,z1) #eq(#neg(z0),#pos(z1)) = [0] >= [0] = #false() #eq(#pos(z0),#0()) = [0] >= [0] = #false() #eq(#pos(z0),#neg(z1)) = [0] >= [0] = #false() #eq(#pos(z0),#pos(z1)) = [0] >= [0] = #eq(z0,z1) #eq(#s(z0),#0()) = [0] >= [0] = #false() #eq(#s(z0),#s(z1)) = [0] >= [0] = #eq(z0,z1) #eq(::(z0,z1),::(z2,z3)) = [0] >= [0] = #and(#eq(z0,z2),#eq(z1,z3)) #eq(::(z0,z1),nil()) = [0] >= [0] = #false() #eq(nil(),::(z0,z1)) = [0] >= [0] = #false() #eq(nil(),nil()) = [0] >= [0] = #true() #equal(z0,z1) = [0] >= [0] = #eq(z0,z1) #less(z0,z1) = [0] >= [0] = #cklt(#compare(z0,z1)) #or(#false(),#false()) = [0] >= [0] = #false() #or(#false(),#true()) = [0] >= [0] = #true() #or(#true(),#false()) = [0] >= [0] = #true() #or(#true(),#true()) = [0] >= [0] = #true() and(z0,z1) = [1] z0 + [1] z1 + [0] >= [1] z0 + [1] z1 + [0] = #and(z0,z1) insert(z0,z1) = [1] z0 + [1] z1 + [1] >= [1] z0 + [1] z1 + [1] = insert#1(z1,z0) insert#1(::(z0,z1),z2) = [1] z0 + [1] z1 + [1] z2 + [2] >= [1] z0 + [1] z1 + [1] z2 + [2] = insert#2(leq(z2,z0),z2,z0,z1) insert#1(nil(),z0) = [1] z0 + [1] >= [1] z0 + [1] = ::(z0,nil()) insert#2(#false(),z0,z1,z2) = [1] z0 + [1] z1 + [1] z2 + [2] >= [1] z0 + [1] z1 + [1] z2 + [2] = ::(z1,insert(z0,z2)) insert#2(#true(),z0,z1,z2) = [1] z0 + [1] z1 + [1] z2 + [2] >= [1] z0 + [1] z1 + [1] z2 + [2] = ::(z0,::(z1,z2)) isortlist(z0) = [1] z0 + [0] >= [1] z0 + [0] = isortlist#1(z0) isortlist#1(::(z0,z1)) = [1] z0 + [1] z1 + [1] >= [1] z0 + [1] z1 + [1] = insert(z0,isortlist(z1)) isortlist#1(nil()) = [0] >= [0] = nil() leq(z0,z1) = [0] >= [0] = leq#1(z0,z1) leq#1(::(z0,z1),z2) = [0] >= [0] = leq#2(z2,z0,z1) leq#1(nil(),z0) = [0] >= [0] = #true() leq#2(::(z0,z1),z2,z3) = [0] >= [0] = or(#less(z2,z0),and(#equal(z2,z0),leq(z3,z1))) leq#2(nil(),z0,z1) = [0] >= [0] = #false() or(z0,z1) = [1] z0 + [1] z1 + [0] >= [1] z0 + [1] z1 + [0] = #or(z0,z1) Further, it can be verified that all rules not oriented are covered by the weightgap condition. *** Step 8.b:1.b:4: EmptyProcessor. WORST_CASE(?,O(1)) + Considered Problem: - Weak DPs: INSERT#(z0,z1) -> INSERT#1#(z1,z0) INSERT#1#(::(z0,z1),z2) -> INSERT#2#(leq(z2,z0),z2,z0,z1) INSERT#1#(::(z0,z1),z2) -> LEQ#(z2,z0) INSERT#2#(#false(),z0,z1,z2) -> INSERT#(z0,z2) ISORTLIST#(z0) -> ISORTLIST#1#(z0) ISORTLIST#1#(::(z0,z1)) -> INSERT#(z0,isortlist(z1)) ISORTLIST#1#(::(z0,z1)) -> ISORTLIST#(z1) LEQ#(z0,z1) -> c_12(LEQ#1#(z0,z1)) LEQ#1#(::(z0,z1),z2) -> c_13(LEQ#2#(z2,z0,z1)) LEQ#2#(::(z0,z1),z2,z3) -> c_17(LEQ#(z3,z1)) - Weak TRS: #and(#false(),#false()) -> #false() #and(#false(),#true()) -> #false() #and(#true(),#false()) -> #false() #and(#true(),#true()) -> #true() #cklt(#EQ()) -> #false() #cklt(#GT()) -> #false() #cklt(#LT()) -> #true() #compare(#0(),#0()) -> #EQ() #compare(#0(),#neg(z0)) -> #GT() #compare(#0(),#pos(z0)) -> #LT() #compare(#0(),#s(z0)) -> #LT() #compare(#neg(z0),#0()) -> #LT() #compare(#neg(z0),#neg(z1)) -> #compare(z1,z0) #compare(#neg(z0),#pos(z1)) -> #LT() #compare(#pos(z0),#0()) -> #GT() #compare(#pos(z0),#neg(z1)) -> #GT() #compare(#pos(z0),#pos(z1)) -> #compare(z0,z1) #compare(#s(z0),#0()) -> #GT() #compare(#s(z0),#s(z1)) -> #compare(z0,z1) #eq(#0(),#0()) -> #true() #eq(#0(),#neg(z0)) -> #false() #eq(#0(),#pos(z0)) -> #false() #eq(#0(),#s(z0)) -> #false() #eq(#neg(z0),#0()) -> #false() #eq(#neg(z0),#neg(z1)) -> #eq(z0,z1) #eq(#neg(z0),#pos(z1)) -> #false() #eq(#pos(z0),#0()) -> #false() #eq(#pos(z0),#neg(z1)) -> #false() #eq(#pos(z0),#pos(z1)) -> #eq(z0,z1) #eq(#s(z0),#0()) -> #false() #eq(#s(z0),#s(z1)) -> #eq(z0,z1) #eq(::(z0,z1),::(z2,z3)) -> #and(#eq(z0,z2),#eq(z1,z3)) #eq(::(z0,z1),nil()) -> #false() #eq(nil(),::(z0,z1)) -> #false() #eq(nil(),nil()) -> #true() #equal(z0,z1) -> #eq(z0,z1) #less(z0,z1) -> #cklt(#compare(z0,z1)) #or(#false(),#false()) -> #false() #or(#false(),#true()) -> #true() #or(#true(),#false()) -> #true() #or(#true(),#true()) -> #true() and(z0,z1) -> #and(z0,z1) insert(z0,z1) -> insert#1(z1,z0) insert#1(::(z0,z1),z2) -> insert#2(leq(z2,z0),z2,z0,z1) insert#1(nil(),z0) -> ::(z0,nil()) insert#2(#false(),z0,z1,z2) -> ::(z1,insert(z0,z2)) insert#2(#true(),z0,z1,z2) -> ::(z0,::(z1,z2)) isortlist(z0) -> isortlist#1(z0) isortlist#1(::(z0,z1)) -> insert(z0,isortlist(z1)) isortlist#1(nil()) -> nil() leq(z0,z1) -> leq#1(z0,z1) leq#1(::(z0,z1),z2) -> leq#2(z2,z0,z1) leq#1(nil(),z0) -> #true() leq#2(::(z0,z1),z2,z3) -> or(#less(z2,z0),and(#equal(z2,z0),leq(z3,z1))) leq#2(nil(),z0,z1) -> #false() or(z0,z1) -> #or(z0,z1) - Signature: {#AND/2,#CKLT/1,#COMPARE/2,#EQ'/2,#EQUAL/2,#LESS/2,#OR/2,#and/2,#cklt/1,#compare/2,#eq/2,#equal/2,#less/2 ,#or/2,AND/2,INSERT/2,INSERT#1/2,INSERT#2/4,ISORTLIST/1,ISORTLIST#1/1,LEQ/2,LEQ#1/2,LEQ#2/3,OR/2,and/2 ,insert/2,insert#1/2,insert#2/4,isortlist/1,isortlist#1/1,leq/2,leq#1/2,leq#2/3,or/2,#AND#/2,#CKLT#/1 ,#COMPARE#/2,#EQ'#/2,#EQUAL#/2,#LESS#/2,#OR#/2,#and#/2,#cklt#/1,#compare#/2,#eq#/2,#equal#/2,#less#/2,#or#/2 ,AND#/2,INSERT#/2,INSERT#1#/2,INSERT#2#/4,ISORTLIST#/1,ISORTLIST#1#/1,LEQ#/2,LEQ#1#/2,LEQ#2#/3,OR#/2,and#/2 ,insert#/2,insert#1#/2,insert#2#/4,isortlist#/1,isortlist#1#/1,leq#/2,leq#1#/2,leq#2#/3,or#/2} / {#0/0,#EQ/0 ,#GT/0,#LT/0,#false/0,#neg/1,#pos/1,#s/1,#true/0,::/2,c/0,c1/0,c10/0,c11/0,c12/1,c13/0,c14/0,c15/0,c16/1 ,c17/0,c18/1,c19/0,c2/0,c20/0,c21/0,c22/0,c23/0,c24/1,c25/0,c26/0,c27/0,c28/1,c29/0,c3/0,c30/1,c31/2,c32/2 ,c33/0,c34/0,c35/0,c36/0,c37/0,c38/0,c39/0,c4/0,c40/1,c41/2,c42/1,c43/1,c44/2,c45/0,c46/1,c47/0,c48/1,c49/2 ,c5/0,c50/0,c51/1,c52/1,c53/0,c54/2,c55/3,c56/3,c57/0,c58/1,c6/0,c7/0,c8/0,c9/0,nil/0,c_1/1,c_2/3,c_3/1 ,c_4/1,c_5/2,c_6/0,c_7/1,c_8/0,c_9/1,c_10/2,c_11/0,c_12/1,c_13/1,c_14/0,c_15/6,c_16/9,c_17/1,c_18/0,c_19/1 ,c_20/0,c_21/0,c_22/0,c_23/0,c_24/0,c_25/0,c_26/0,c_27/0,c_28/0,c_29/0,c_30/0,c_31/0,c_32/1,c_33/0,c_34/0 ,c_35/0,c_36/1,c_37/0,c_38/1,c_39/0,c_40/0,c_41/0,c_42/0,c_43/0,c_44/1,c_45/0,c_46/0,c_47/0,c_48/1,c_49/0 ,c_50/1,c_51/4,c_52/4,c_53/0,c_54/0,c_55/0,c_56/0,c_57/0,c_58/0,c_59/0,c_60/0,c_61/0,c_62/0,c_63/0,c_64/0 ,c_65/0,c_66/0,c_67/0,c_68/0,c_69/0,c_70/0,c_71/0,c_72/1,c_73/0,c_74/0,c_75/0,c_76/1,c_77/0,c_78/1,c_79/0 ,c_80/0,c_81/0,c_82/0,c_83/0,c_84/1,c_85/0,c_86/0,c_87/0,c_88/1,c_89/0,c_90/1,c_91/3,c_92/0,c_93/0,c_94/0 ,c_95/1,c_96/2,c_97/0,c_98/0,c_99/0,c_100/0,c_101/1,c_102/1,c_103/2,c_104/0,c_105/1,c_106/0,c_107/1,c_108/2 ,c_109/0,c_110/1,c_111/1,c_112/0,c_113/5,c_114/0,c_115/1} - Obligation: innermost runtime complexity wrt. defined symbols {#AND#,#CKLT#,#COMPARE#,#EQ'#,#EQUAL#,#LESS#,#OR#,#and# ,#cklt#,#compare#,#eq#,#equal#,#less#,#or#,AND#,INSERT#,INSERT#1#,INSERT#2#,ISORTLIST#,ISORTLIST#1#,LEQ# ,LEQ#1#,LEQ#2#,OR#,and#,insert#,insert#1#,insert#2#,isortlist#,isortlist#1#,leq#,leq#1#,leq#2# ,or#} and constructors {#0,#EQ,#GT,#LT,#false,#neg,#pos,#s,#true,::,c,c1,c10,c11,c12,c13,c14,c15,c16,c17,c18 ,c19,c2,c20,c21,c22,c23,c24,c25,c26,c27,c28,c29,c3,c30,c31,c32,c33,c34,c35,c36,c37,c38,c39,c4,c40,c41,c42 ,c43,c44,c45,c46,c47,c48,c49,c5,c50,c51,c52,c53,c54,c55,c56,c57,c58,c6,c7,c8,c9,nil} + Applied Processor: EmptyProcessor + Details: The problem is already closed. The intended complexity is O(1). WORST_CASE(?,O(n^3))