WORST_CASE(?,O(n^2)) * Step 1: Sum. WORST_CASE(?,O(n^2)) + Considered Problem: - Strict TRS: #ABS(#0()) -> c49() #ABS(#neg(z0)) -> c50() #ABS(#pos(z0)) -> c51() #ABS(#s(z0)) -> c52() #EQUAL(z0,z1) -> c53(#EQ'(z0,z1)) #GREATER(z0,z1) -> c54(#CKGT(#compare(z0,z1)),#COMPARE(z0,z1)) +'(z0,z1) -> c55(#ADD(z0,z1)) FIRSTLINE(z0) -> c56(FIRSTLINE#1(z0)) FIRSTLINE#1(::(z0,z1)) -> c57(#ABS(#0())) FIRSTLINE#1(::(z0,z1)) -> c58(FIRSTLINE(z1)) FIRSTLINE#1(nil()) -> c59() LCS(z0,z1) -> c60(LCS#1(lcstable(z0,z1)),LCSTABLE(z0,z1)) LCS#1(z0) -> c61(LCS#2(z0)) LCS#2(::(z0,z1)) -> c62(LCS#3(z0)) LCS#2(nil()) -> c63(#ABS(#0())) LCS#3(::(z0,z1)) -> c64() LCS#3(nil()) -> c65(#ABS(#0())) LCSTABLE(z0,z1) -> c66(LCSTABLE#1(z0,z1)) LCSTABLE#1(::(z0,z1),z2) -> c67(LCSTABLE#2(lcstable(z1,z2),z2,z0),LCSTABLE(z1,z2)) LCSTABLE#1(nil(),z0) -> c68(FIRSTLINE(z0)) LCSTABLE#2(z0,z1,z2) -> c69(LCSTABLE#3(z0,z1,z2)) LCSTABLE#3(::(z0,z1),z2,z3) -> c70(NEWLINE(z3,z0,z2)) LCSTABLE#3(nil(),z0,z1) -> c71() MAX(z0,z1) -> c72(MAX#1(#greater(z0,z1),z0,z1),#GREATER(z0,z1)) MAX#1(#false(),z0,z1) -> c73() MAX#1(#true(),z0,z1) -> c74() NEWLINE(z0,z1,z2) -> c75(NEWLINE#1(z2,z1,z0)) NEWLINE#1(::(z0,z1),z2,z3) -> c76(NEWLINE#2(z2,z0,z1,z3)) NEWLINE#1(nil(),z0,z1) -> c77() NEWLINE#2(::(z0,z1),z2,z3,z4) -> c78(NEWLINE#3(newline(z4,z1,z3),z0,z1,z2,z4),NEWLINE(z4,z1,z3)) NEWLINE#2(nil(),z0,z1,z2) -> c79() NEWLINE#3(z0,z1,z2,z3,z4) -> c80(NEWLINE#4(right(z0),z1,z2,z0,z3,z4),RIGHT(z0)) NEWLINE#4(z0,z1,z2,z3,z4,z5) -> c81(NEWLINE#5(right(z2),z1,z3,z0,z4,z5),RIGHT(z2)) NEWLINE#5(z0,z1,z2,z3,z4,z5) -> c82(NEWLINE#6(newline#7(#equal(z4,z5),z1,z0,z3),z2) ,NEWLINE#7(#equal(z4,z5),z1,z0,z3) ,#EQUAL(z4,z5)) NEWLINE#6(z0,z1) -> c83() NEWLINE#7(#false(),z0,z1,z2) -> c84(MAX(z0,z2)) NEWLINE#7(#true(),z0,z1,z2) -> c85(+'(z1,#pos(#s(#0())))) RIGHT(z0) -> c86(RIGHT#1(z0)) RIGHT#1(::(z0,z1)) -> c87() RIGHT#1(nil()) -> c88(#ABS(#0())) - Weak TRS: #ADD(#0(),z0) -> c() #ADD(#neg(#s(#0())),z0) -> c1(#PRED(z0)) #ADD(#neg(#s(#s(z0))),z1) -> c2(#PRED(#add(#pos(#s(z0)),z1)),#ADD(#pos(#s(z0)),z1)) #ADD(#pos(#s(#0())),z0) -> c3(#SUCC(z0)) #ADD(#pos(#s(#s(z0))),z1) -> c4(#SUCC(#add(#pos(#s(z0)),z1)),#ADD(#pos(#s(z0)),z1)) #AND(#false(),#false()) -> c5() #AND(#false(),#true()) -> c6() #AND(#true(),#false()) -> c7() #AND(#true(),#true()) -> c8() #CKGT(#EQ()) -> c9() #CKGT(#GT()) -> c10() #CKGT(#LT()) -> c11() #COMPARE(#0(),#0()) -> c12() #COMPARE(#0(),#neg(z0)) -> c13() #COMPARE(#0(),#pos(z0)) -> c14() #COMPARE(#0(),#s(z0)) -> c15() #COMPARE(#neg(z0),#0()) -> c16() #COMPARE(#neg(z0),#neg(z1)) -> c17(#COMPARE(z1,z0)) #COMPARE(#neg(z0),#pos(z1)) -> c18() #COMPARE(#pos(z0),#0()) -> c19() #COMPARE(#pos(z0),#neg(z1)) -> c20() #COMPARE(#pos(z0),#pos(z1)) -> c21(#COMPARE(z0,z1)) #COMPARE(#s(z0),#0()) -> c22() #COMPARE(#s(z0),#s(z1)) -> c23(#COMPARE(z0,z1)) #EQ'(#0(),#0()) -> c24() #EQ'(#0(),#neg(z0)) -> c25() #EQ'(#0(),#pos(z0)) -> c26() #EQ'(#0(),#s(z0)) -> c27() #EQ'(#neg(z0),#0()) -> c28() #EQ'(#neg(z0),#neg(z1)) -> c29(#EQ'(z0,z1)) #EQ'(#neg(z0),#pos(z1)) -> c30() #EQ'(#pos(z0),#0()) -> c31() #EQ'(#pos(z0),#neg(z1)) -> c32() #EQ'(#pos(z0),#pos(z1)) -> c33(#EQ'(z0,z1)) #EQ'(#s(z0),#0()) -> c34() #EQ'(#s(z0),#s(z1)) -> c35(#EQ'(z0,z1)) #EQ'(::(z0,z1),::(z2,z3)) -> c36(#AND(#eq(z0,z2),#eq(z1,z3)),#EQ'(z0,z2)) #EQ'(::(z0,z1),::(z2,z3)) -> c37(#AND(#eq(z0,z2),#eq(z1,z3)),#EQ'(z1,z3)) #EQ'(::(z0,z1),nil()) -> c38() #EQ'(nil(),::(z0,z1)) -> c39() #EQ'(nil(),nil()) -> c40() #PRED(#0()) -> c41() #PRED(#neg(#s(z0))) -> c42() #PRED(#pos(#s(#0()))) -> c43() #PRED(#pos(#s(#s(z0)))) -> c44() #SUCC(#0()) -> c45() #SUCC(#neg(#s(#0()))) -> c46() #SUCC(#neg(#s(#s(z0)))) -> c47() #SUCC(#pos(#s(z0))) -> c48() #abs(#0()) -> #0() #abs(#neg(z0)) -> #pos(z0) #abs(#pos(z0)) -> #pos(z0) #abs(#s(z0)) -> #pos(#s(z0)) #add(#0(),z0) -> z0 #add(#neg(#s(#0())),z0) -> #pred(z0) #add(#neg(#s(#s(z0))),z1) -> #pred(#add(#pos(#s(z0)),z1)) #add(#pos(#s(#0())),z0) -> #succ(z0) #add(#pos(#s(#s(z0))),z1) -> #succ(#add(#pos(#s(z0)),z1)) #and(#false(),#false()) -> #false() #and(#false(),#true()) -> #false() #and(#true(),#false()) -> #false() #and(#true(),#true()) -> #true() #ckgt(#EQ()) -> #false() #ckgt(#GT()) -> #true() #ckgt(#LT()) -> #false() #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) #greater(z0,z1) -> #ckgt(#compare(z0,z1)) #pred(#0()) -> #neg(#s(#0())) #pred(#neg(#s(z0))) -> #neg(#s(#s(z0))) #pred(#pos(#s(#0()))) -> #0() #pred(#pos(#s(#s(z0)))) -> #pos(#s(z0)) #succ(#0()) -> #pos(#s(#0())) #succ(#neg(#s(#0()))) -> #0() #succ(#neg(#s(#s(z0)))) -> #neg(#s(z0)) #succ(#pos(#s(z0))) -> #pos(#s(#s(z0))) +(z0,z1) -> #add(z0,z1) firstline(z0) -> firstline#1(z0) firstline#1(::(z0,z1)) -> ::(#abs(#0()),firstline(z1)) firstline#1(nil()) -> nil() lcs(z0,z1) -> lcs#1(lcstable(z0,z1)) lcs#1(z0) -> lcs#2(z0) lcs#2(::(z0,z1)) -> lcs#3(z0) lcs#2(nil()) -> #abs(#0()) lcs#3(::(z0,z1)) -> z0 lcs#3(nil()) -> #abs(#0()) lcstable(z0,z1) -> lcstable#1(z0,z1) lcstable#1(::(z0,z1),z2) -> lcstable#2(lcstable(z1,z2),z2,z0) lcstable#1(nil(),z0) -> ::(firstline(z0),nil()) lcstable#2(z0,z1,z2) -> lcstable#3(z0,z1,z2) lcstable#3(::(z0,z1),z2,z3) -> ::(newline(z3,z0,z2),::(z0,z1)) lcstable#3(nil(),z0,z1) -> nil() max(z0,z1) -> max#1(#greater(z0,z1),z0,z1) max#1(#false(),z0,z1) -> z1 max#1(#true(),z0,z1) -> z0 newline(z0,z1,z2) -> newline#1(z2,z1,z0) newline#1(::(z0,z1),z2,z3) -> newline#2(z2,z0,z1,z3) newline#1(nil(),z0,z1) -> nil() newline#2(::(z0,z1),z2,z3,z4) -> newline#3(newline(z4,z1,z3),z0,z1,z2,z4) newline#2(nil(),z0,z1,z2) -> nil() newline#3(z0,z1,z2,z3,z4) -> newline#4(right(z0),z1,z2,z0,z3,z4) newline#4(z0,z1,z2,z3,z4,z5) -> newline#5(right(z2),z1,z3,z0,z4,z5) newline#5(z0,z1,z2,z3,z4,z5) -> newline#6(newline#7(#equal(z4,z5),z1,z0,z3),z2) newline#6(z0,z1) -> ::(z0,z1) newline#7(#false(),z0,z1,z2) -> max(z0,z2) newline#7(#true(),z0,z1,z2) -> +(z1,#pos(#s(#0()))) right(z0) -> right#1(z0) right#1(::(z0,z1)) -> z0 right#1(nil()) -> #abs(#0()) - Signature: {#ABS/1,#ADD/2,#AND/2,#CKGT/1,#COMPARE/2,#EQ'/2,#EQUAL/2,#GREATER/2,#PRED/1,#SUCC/1,#abs/1,#add/2,#and/2 ,#ckgt/1,#compare/2,#eq/2,#equal/2,#greater/2,#pred/1,#succ/1,+/2,+'/2,FIRSTLINE/1,FIRSTLINE#1/1,LCS/2 ,LCS#1/1,LCS#2/1,LCS#3/1,LCSTABLE/2,LCSTABLE#1/2,LCSTABLE#2/3,LCSTABLE#3/3,MAX/2,MAX#1/3,NEWLINE/3 ,NEWLINE#1/3,NEWLINE#2/4,NEWLINE#3/5,NEWLINE#4/6,NEWLINE#5/6,NEWLINE#6/2,NEWLINE#7/4,RIGHT/1,RIGHT#1/1 ,firstline/1,firstline#1/1,lcs/2,lcs#1/1,lcs#2/1,lcs#3/1,lcstable/2,lcstable#1/2,lcstable#2/3,lcstable#3/3 ,max/2,max#1/3,newline/3,newline#1/3,newline#2/4,newline#3/5,newline#4/6,newline#5/6,newline#6/2,newline#7/4 ,right/1,right#1/1} / {#0/0,#EQ/0,#GT/0,#LT/0,#false/0,#neg/1,#pos/1,#s/1,#true/0,::/2,c/0,c1/1,c10/0,c11/0 ,c12/0,c13/0,c14/0,c15/0,c16/0,c17/1,c18/0,c19/0,c2/2,c20/0,c21/1,c22/0,c23/1,c24/0,c25/0,c26/0,c27/0,c28/0 ,c29/1,c3/1,c30/0,c31/0,c32/0,c33/1,c34/0,c35/1,c36/2,c37/2,c38/0,c39/0,c4/2,c40/0,c41/0,c42/0,c43/0,c44/0 ,c45/0,c46/0,c47/0,c48/0,c49/0,c5/0,c50/0,c51/0,c52/0,c53/1,c54/2,c55/1,c56/1,c57/1,c58/1,c59/0,c6/0,c60/2 ,c61/1,c62/1,c63/1,c64/0,c65/1,c66/1,c67/2,c68/1,c69/1,c7/0,c70/1,c71/0,c72/2,c73/0,c74/0,c75/1,c76/1,c77/0 ,c78/2,c79/0,c8/0,c80/2,c81/2,c82/3,c83/0,c84/1,c85/1,c86/1,c87/0,c88/1,c9/0,nil/0} - Obligation: innermost runtime complexity wrt. defined symbols {#ABS,#ADD,#AND,#CKGT,#COMPARE,#EQ',#EQUAL,#GREATER,#PRED ,#SUCC,#abs,#add,#and,#ckgt,#compare,#eq,#equal,#greater,#pred,#succ,+,+',FIRSTLINE,FIRSTLINE#1,LCS,LCS#1 ,LCS#2,LCS#3,LCSTABLE,LCSTABLE#1,LCSTABLE#2,LCSTABLE#3,MAX,MAX#1,NEWLINE,NEWLINE#1,NEWLINE#2,NEWLINE#3 ,NEWLINE#4,NEWLINE#5,NEWLINE#6,NEWLINE#7,RIGHT,RIGHT#1,firstline,firstline#1,lcs,lcs#1,lcs#2,lcs#3,lcstable ,lcstable#1,lcstable#2,lcstable#3,max,max#1,newline,newline#1,newline#2,newline#3,newline#4,newline#5 ,newline#6,newline#7,right,right#1} 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,c59,c6 ,c60,c61,c62,c63,c64,c65,c66,c67,c68,c69,c7,c70,c71,c72,c73,c74,c75,c76,c77,c78,c79,c8,c80,c81,c82,c83,c84 ,c85,c86,c87,c88,c9,nil} + Applied Processor: Sum {left = someStrategy, right = someStrategy} + Details: () * Step 2: DependencyPairs. WORST_CASE(?,O(n^2)) + Considered Problem: - Strict TRS: #ABS(#0()) -> c49() #ABS(#neg(z0)) -> c50() #ABS(#pos(z0)) -> c51() #ABS(#s(z0)) -> c52() #EQUAL(z0,z1) -> c53(#EQ'(z0,z1)) #GREATER(z0,z1) -> c54(#CKGT(#compare(z0,z1)),#COMPARE(z0,z1)) +'(z0,z1) -> c55(#ADD(z0,z1)) FIRSTLINE(z0) -> c56(FIRSTLINE#1(z0)) FIRSTLINE#1(::(z0,z1)) -> c57(#ABS(#0())) FIRSTLINE#1(::(z0,z1)) -> c58(FIRSTLINE(z1)) FIRSTLINE#1(nil()) -> c59() LCS(z0,z1) -> c60(LCS#1(lcstable(z0,z1)),LCSTABLE(z0,z1)) LCS#1(z0) -> c61(LCS#2(z0)) LCS#2(::(z0,z1)) -> c62(LCS#3(z0)) LCS#2(nil()) -> c63(#ABS(#0())) LCS#3(::(z0,z1)) -> c64() LCS#3(nil()) -> c65(#ABS(#0())) LCSTABLE(z0,z1) -> c66(LCSTABLE#1(z0,z1)) LCSTABLE#1(::(z0,z1),z2) -> c67(LCSTABLE#2(lcstable(z1,z2),z2,z0),LCSTABLE(z1,z2)) LCSTABLE#1(nil(),z0) -> c68(FIRSTLINE(z0)) LCSTABLE#2(z0,z1,z2) -> c69(LCSTABLE#3(z0,z1,z2)) LCSTABLE#3(::(z0,z1),z2,z3) -> c70(NEWLINE(z3,z0,z2)) LCSTABLE#3(nil(),z0,z1) -> c71() MAX(z0,z1) -> c72(MAX#1(#greater(z0,z1),z0,z1),#GREATER(z0,z1)) MAX#1(#false(),z0,z1) -> c73() MAX#1(#true(),z0,z1) -> c74() NEWLINE(z0,z1,z2) -> c75(NEWLINE#1(z2,z1,z0)) NEWLINE#1(::(z0,z1),z2,z3) -> c76(NEWLINE#2(z2,z0,z1,z3)) NEWLINE#1(nil(),z0,z1) -> c77() NEWLINE#2(::(z0,z1),z2,z3,z4) -> c78(NEWLINE#3(newline(z4,z1,z3),z0,z1,z2,z4),NEWLINE(z4,z1,z3)) NEWLINE#2(nil(),z0,z1,z2) -> c79() NEWLINE#3(z0,z1,z2,z3,z4) -> c80(NEWLINE#4(right(z0),z1,z2,z0,z3,z4),RIGHT(z0)) NEWLINE#4(z0,z1,z2,z3,z4,z5) -> c81(NEWLINE#5(right(z2),z1,z3,z0,z4,z5),RIGHT(z2)) NEWLINE#5(z0,z1,z2,z3,z4,z5) -> c82(NEWLINE#6(newline#7(#equal(z4,z5),z1,z0,z3),z2) ,NEWLINE#7(#equal(z4,z5),z1,z0,z3) ,#EQUAL(z4,z5)) NEWLINE#6(z0,z1) -> c83() NEWLINE#7(#false(),z0,z1,z2) -> c84(MAX(z0,z2)) NEWLINE#7(#true(),z0,z1,z2) -> c85(+'(z1,#pos(#s(#0())))) RIGHT(z0) -> c86(RIGHT#1(z0)) RIGHT#1(::(z0,z1)) -> c87() RIGHT#1(nil()) -> c88(#ABS(#0())) - Weak TRS: #ADD(#0(),z0) -> c() #ADD(#neg(#s(#0())),z0) -> c1(#PRED(z0)) #ADD(#neg(#s(#s(z0))),z1) -> c2(#PRED(#add(#pos(#s(z0)),z1)),#ADD(#pos(#s(z0)),z1)) #ADD(#pos(#s(#0())),z0) -> c3(#SUCC(z0)) #ADD(#pos(#s(#s(z0))),z1) -> c4(#SUCC(#add(#pos(#s(z0)),z1)),#ADD(#pos(#s(z0)),z1)) #AND(#false(),#false()) -> c5() #AND(#false(),#true()) -> c6() #AND(#true(),#false()) -> c7() #AND(#true(),#true()) -> c8() #CKGT(#EQ()) -> c9() #CKGT(#GT()) -> c10() #CKGT(#LT()) -> c11() #COMPARE(#0(),#0()) -> c12() #COMPARE(#0(),#neg(z0)) -> c13() #COMPARE(#0(),#pos(z0)) -> c14() #COMPARE(#0(),#s(z0)) -> c15() #COMPARE(#neg(z0),#0()) -> c16() #COMPARE(#neg(z0),#neg(z1)) -> c17(#COMPARE(z1,z0)) #COMPARE(#neg(z0),#pos(z1)) -> c18() #COMPARE(#pos(z0),#0()) -> c19() #COMPARE(#pos(z0),#neg(z1)) -> c20() #COMPARE(#pos(z0),#pos(z1)) -> c21(#COMPARE(z0,z1)) #COMPARE(#s(z0),#0()) -> c22() #COMPARE(#s(z0),#s(z1)) -> c23(#COMPARE(z0,z1)) #EQ'(#0(),#0()) -> c24() #EQ'(#0(),#neg(z0)) -> c25() #EQ'(#0(),#pos(z0)) -> c26() #EQ'(#0(),#s(z0)) -> c27() #EQ'(#neg(z0),#0()) -> c28() #EQ'(#neg(z0),#neg(z1)) -> c29(#EQ'(z0,z1)) #EQ'(#neg(z0),#pos(z1)) -> c30() #EQ'(#pos(z0),#0()) -> c31() #EQ'(#pos(z0),#neg(z1)) -> c32() #EQ'(#pos(z0),#pos(z1)) -> c33(#EQ'(z0,z1)) #EQ'(#s(z0),#0()) -> c34() #EQ'(#s(z0),#s(z1)) -> c35(#EQ'(z0,z1)) #EQ'(::(z0,z1),::(z2,z3)) -> c36(#AND(#eq(z0,z2),#eq(z1,z3)),#EQ'(z0,z2)) #EQ'(::(z0,z1),::(z2,z3)) -> c37(#AND(#eq(z0,z2),#eq(z1,z3)),#EQ'(z1,z3)) #EQ'(::(z0,z1),nil()) -> c38() #EQ'(nil(),::(z0,z1)) -> c39() #EQ'(nil(),nil()) -> c40() #PRED(#0()) -> c41() #PRED(#neg(#s(z0))) -> c42() #PRED(#pos(#s(#0()))) -> c43() #PRED(#pos(#s(#s(z0)))) -> c44() #SUCC(#0()) -> c45() #SUCC(#neg(#s(#0()))) -> c46() #SUCC(#neg(#s(#s(z0)))) -> c47() #SUCC(#pos(#s(z0))) -> c48() #abs(#0()) -> #0() #abs(#neg(z0)) -> #pos(z0) #abs(#pos(z0)) -> #pos(z0) #abs(#s(z0)) -> #pos(#s(z0)) #add(#0(),z0) -> z0 #add(#neg(#s(#0())),z0) -> #pred(z0) #add(#neg(#s(#s(z0))),z1) -> #pred(#add(#pos(#s(z0)),z1)) #add(#pos(#s(#0())),z0) -> #succ(z0) #add(#pos(#s(#s(z0))),z1) -> #succ(#add(#pos(#s(z0)),z1)) #and(#false(),#false()) -> #false() #and(#false(),#true()) -> #false() #and(#true(),#false()) -> #false() #and(#true(),#true()) -> #true() #ckgt(#EQ()) -> #false() #ckgt(#GT()) -> #true() #ckgt(#LT()) -> #false() #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) #greater(z0,z1) -> #ckgt(#compare(z0,z1)) #pred(#0()) -> #neg(#s(#0())) #pred(#neg(#s(z0))) -> #neg(#s(#s(z0))) #pred(#pos(#s(#0()))) -> #0() #pred(#pos(#s(#s(z0)))) -> #pos(#s(z0)) #succ(#0()) -> #pos(#s(#0())) #succ(#neg(#s(#0()))) -> #0() #succ(#neg(#s(#s(z0)))) -> #neg(#s(z0)) #succ(#pos(#s(z0))) -> #pos(#s(#s(z0))) +(z0,z1) -> #add(z0,z1) firstline(z0) -> firstline#1(z0) firstline#1(::(z0,z1)) -> ::(#abs(#0()),firstline(z1)) firstline#1(nil()) -> nil() lcs(z0,z1) -> lcs#1(lcstable(z0,z1)) lcs#1(z0) -> lcs#2(z0) lcs#2(::(z0,z1)) -> lcs#3(z0) lcs#2(nil()) -> #abs(#0()) lcs#3(::(z0,z1)) -> z0 lcs#3(nil()) -> #abs(#0()) lcstable(z0,z1) -> lcstable#1(z0,z1) lcstable#1(::(z0,z1),z2) -> lcstable#2(lcstable(z1,z2),z2,z0) lcstable#1(nil(),z0) -> ::(firstline(z0),nil()) lcstable#2(z0,z1,z2) -> lcstable#3(z0,z1,z2) lcstable#3(::(z0,z1),z2,z3) -> ::(newline(z3,z0,z2),::(z0,z1)) lcstable#3(nil(),z0,z1) -> nil() max(z0,z1) -> max#1(#greater(z0,z1),z0,z1) max#1(#false(),z0,z1) -> z1 max#1(#true(),z0,z1) -> z0 newline(z0,z1,z2) -> newline#1(z2,z1,z0) newline#1(::(z0,z1),z2,z3) -> newline#2(z2,z0,z1,z3) newline#1(nil(),z0,z1) -> nil() newline#2(::(z0,z1),z2,z3,z4) -> newline#3(newline(z4,z1,z3),z0,z1,z2,z4) newline#2(nil(),z0,z1,z2) -> nil() newline#3(z0,z1,z2,z3,z4) -> newline#4(right(z0),z1,z2,z0,z3,z4) newline#4(z0,z1,z2,z3,z4,z5) -> newline#5(right(z2),z1,z3,z0,z4,z5) newline#5(z0,z1,z2,z3,z4,z5) -> newline#6(newline#7(#equal(z4,z5),z1,z0,z3),z2) newline#6(z0,z1) -> ::(z0,z1) newline#7(#false(),z0,z1,z2) -> max(z0,z2) newline#7(#true(),z0,z1,z2) -> +(z1,#pos(#s(#0()))) right(z0) -> right#1(z0) right#1(::(z0,z1)) -> z0 right#1(nil()) -> #abs(#0()) - Signature: {#ABS/1,#ADD/2,#AND/2,#CKGT/1,#COMPARE/2,#EQ'/2,#EQUAL/2,#GREATER/2,#PRED/1,#SUCC/1,#abs/1,#add/2,#and/2 ,#ckgt/1,#compare/2,#eq/2,#equal/2,#greater/2,#pred/1,#succ/1,+/2,+'/2,FIRSTLINE/1,FIRSTLINE#1/1,LCS/2 ,LCS#1/1,LCS#2/1,LCS#3/1,LCSTABLE/2,LCSTABLE#1/2,LCSTABLE#2/3,LCSTABLE#3/3,MAX/2,MAX#1/3,NEWLINE/3 ,NEWLINE#1/3,NEWLINE#2/4,NEWLINE#3/5,NEWLINE#4/6,NEWLINE#5/6,NEWLINE#6/2,NEWLINE#7/4,RIGHT/1,RIGHT#1/1 ,firstline/1,firstline#1/1,lcs/2,lcs#1/1,lcs#2/1,lcs#3/1,lcstable/2,lcstable#1/2,lcstable#2/3,lcstable#3/3 ,max/2,max#1/3,newline/3,newline#1/3,newline#2/4,newline#3/5,newline#4/6,newline#5/6,newline#6/2,newline#7/4 ,right/1,right#1/1} / {#0/0,#EQ/0,#GT/0,#LT/0,#false/0,#neg/1,#pos/1,#s/1,#true/0,::/2,c/0,c1/1,c10/0,c11/0 ,c12/0,c13/0,c14/0,c15/0,c16/0,c17/1,c18/0,c19/0,c2/2,c20/0,c21/1,c22/0,c23/1,c24/0,c25/0,c26/0,c27/0,c28/0 ,c29/1,c3/1,c30/0,c31/0,c32/0,c33/1,c34/0,c35/1,c36/2,c37/2,c38/0,c39/0,c4/2,c40/0,c41/0,c42/0,c43/0,c44/0 ,c45/0,c46/0,c47/0,c48/0,c49/0,c5/0,c50/0,c51/0,c52/0,c53/1,c54/2,c55/1,c56/1,c57/1,c58/1,c59/0,c6/0,c60/2 ,c61/1,c62/1,c63/1,c64/0,c65/1,c66/1,c67/2,c68/1,c69/1,c7/0,c70/1,c71/0,c72/2,c73/0,c74/0,c75/1,c76/1,c77/0 ,c78/2,c79/0,c8/0,c80/2,c81/2,c82/3,c83/0,c84/1,c85/1,c86/1,c87/0,c88/1,c9/0,nil/0} - Obligation: innermost runtime complexity wrt. defined symbols {#ABS,#ADD,#AND,#CKGT,#COMPARE,#EQ',#EQUAL,#GREATER,#PRED ,#SUCC,#abs,#add,#and,#ckgt,#compare,#eq,#equal,#greater,#pred,#succ,+,+',FIRSTLINE,FIRSTLINE#1,LCS,LCS#1 ,LCS#2,LCS#3,LCSTABLE,LCSTABLE#1,LCSTABLE#2,LCSTABLE#3,MAX,MAX#1,NEWLINE,NEWLINE#1,NEWLINE#2,NEWLINE#3 ,NEWLINE#4,NEWLINE#5,NEWLINE#6,NEWLINE#7,RIGHT,RIGHT#1,firstline,firstline#1,lcs,lcs#1,lcs#2,lcs#3,lcstable ,lcstable#1,lcstable#2,lcstable#3,max,max#1,newline,newline#1,newline#2,newline#3,newline#4,newline#5 ,newline#6,newline#7,right,right#1} 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,c59,c6 ,c60,c61,c62,c63,c64,c65,c66,c67,c68,c69,c7,c70,c71,c72,c73,c74,c75,c76,c77,c78,c79,c8,c80,c81,c82,c83,c84 ,c85,c86,c87,c88,c9,nil} + Applied Processor: DependencyPairs {dpKind_ = DT} + Details: We add the following dependency tuples: Strict DPs #ABS#(#0()) -> c_1() #ABS#(#neg(z0)) -> c_2() #ABS#(#pos(z0)) -> c_3() #ABS#(#s(z0)) -> c_4() #EQUAL#(z0,z1) -> c_5(#EQ'#(z0,z1)) #GREATER#(z0,z1) -> c_6(#CKGT#(#compare(z0,z1)),#compare#(z0,z1),#COMPARE#(z0,z1)) +'#(z0,z1) -> c_7(#ADD#(z0,z1)) FIRSTLINE#(z0) -> c_8(FIRSTLINE#1#(z0)) FIRSTLINE#1#(::(z0,z1)) -> c_9(#ABS#(#0())) FIRSTLINE#1#(::(z0,z1)) -> c_10(FIRSTLINE#(z1)) FIRSTLINE#1#(nil()) -> c_11() LCS#(z0,z1) -> c_12(LCS#1#(lcstable(z0,z1)),lcstable#(z0,z1),LCSTABLE#(z0,z1)) LCS#1#(z0) -> c_13(LCS#2#(z0)) LCS#2#(::(z0,z1)) -> c_14(LCS#3#(z0)) LCS#2#(nil()) -> c_15(#ABS#(#0())) LCS#3#(::(z0,z1)) -> c_16() LCS#3#(nil()) -> c_17(#ABS#(#0())) LCSTABLE#(z0,z1) -> c_18(LCSTABLE#1#(z0,z1)) LCSTABLE#1#(::(z0,z1),z2) -> c_19(LCSTABLE#2#(lcstable(z1,z2),z2,z0),lcstable#(z1,z2),LCSTABLE#(z1,z2)) LCSTABLE#1#(nil(),z0) -> c_20(FIRSTLINE#(z0)) LCSTABLE#2#(z0,z1,z2) -> c_21(LCSTABLE#3#(z0,z1,z2)) LCSTABLE#3#(::(z0,z1),z2,z3) -> c_22(NEWLINE#(z3,z0,z2)) LCSTABLE#3#(nil(),z0,z1) -> c_23() MAX#(z0,z1) -> c_24(MAX#1#(#greater(z0,z1),z0,z1),#greater#(z0,z1),#GREATER#(z0,z1)) MAX#1#(#false(),z0,z1) -> c_25() MAX#1#(#true(),z0,z1) -> c_26() NEWLINE#(z0,z1,z2) -> c_27(NEWLINE#1#(z2,z1,z0)) NEWLINE#1#(::(z0,z1),z2,z3) -> c_28(NEWLINE#2#(z2,z0,z1,z3)) NEWLINE#1#(nil(),z0,z1) -> c_29() NEWLINE#2#(::(z0,z1),z2,z3,z4) -> c_30(NEWLINE#3#(newline(z4,z1,z3),z0,z1,z2,z4) ,newline#(z4,z1,z3) ,NEWLINE#(z4,z1,z3)) NEWLINE#2#(nil(),z0,z1,z2) -> c_31() NEWLINE#3#(z0,z1,z2,z3,z4) -> c_32(NEWLINE#4#(right(z0),z1,z2,z0,z3,z4),right#(z0),RIGHT#(z0)) NEWLINE#4#(z0,z1,z2,z3,z4,z5) -> c_33(NEWLINE#5#(right(z2),z1,z3,z0,z4,z5),right#(z2),RIGHT#(z2)) NEWLINE#5#(z0,z1,z2,z3,z4,z5) -> c_34(NEWLINE#6#(newline#7(#equal(z4,z5),z1,z0,z3),z2) ,newline#7#(#equal(z4,z5),z1,z0,z3) ,#equal#(z4,z5) ,NEWLINE#7#(#equal(z4,z5),z1,z0,z3) ,#equal#(z4,z5) ,#EQUAL#(z4,z5)) NEWLINE#6#(z0,z1) -> c_35() NEWLINE#7#(#false(),z0,z1,z2) -> c_36(MAX#(z0,z2)) NEWLINE#7#(#true(),z0,z1,z2) -> c_37(+'#(z1,#pos(#s(#0())))) RIGHT#(z0) -> c_38(RIGHT#1#(z0)) RIGHT#1#(::(z0,z1)) -> c_39() RIGHT#1#(nil()) -> c_40(#ABS#(#0())) Weak DPs #ADD#(#0(),z0) -> c_41() #ADD#(#neg(#s(#0())),z0) -> c_42(#PRED#(z0)) #ADD#(#neg(#s(#s(z0))),z1) -> c_43(#PRED#(#add(#pos(#s(z0)),z1)) ,#add#(#pos(#s(z0)),z1) ,#ADD#(#pos(#s(z0)),z1)) #ADD#(#pos(#s(#0())),z0) -> c_44(#SUCC#(z0)) #ADD#(#pos(#s(#s(z0))),z1) -> c_45(#SUCC#(#add(#pos(#s(z0)),z1)) ,#add#(#pos(#s(z0)),z1) ,#ADD#(#pos(#s(z0)),z1)) #AND#(#false(),#false()) -> c_46() #AND#(#false(),#true()) -> c_47() #AND#(#true(),#false()) -> c_48() #AND#(#true(),#true()) -> c_49() #CKGT#(#EQ()) -> c_50() #CKGT#(#GT()) -> c_51() #CKGT#(#LT()) -> c_52() #COMPARE#(#0(),#0()) -> c_53() #COMPARE#(#0(),#neg(z0)) -> c_54() #COMPARE#(#0(),#pos(z0)) -> c_55() #COMPARE#(#0(),#s(z0)) -> c_56() #COMPARE#(#neg(z0),#0()) -> c_57() #COMPARE#(#neg(z0),#neg(z1)) -> c_58(#COMPARE#(z1,z0)) #COMPARE#(#neg(z0),#pos(z1)) -> c_59() #COMPARE#(#pos(z0),#0()) -> c_60() #COMPARE#(#pos(z0),#neg(z1)) -> c_61() #COMPARE#(#pos(z0),#pos(z1)) -> c_62(#COMPARE#(z0,z1)) #COMPARE#(#s(z0),#0()) -> c_63() #COMPARE#(#s(z0),#s(z1)) -> c_64(#COMPARE#(z0,z1)) #EQ'#(#0(),#0()) -> c_65() #EQ'#(#0(),#neg(z0)) -> c_66() #EQ'#(#0(),#pos(z0)) -> c_67() #EQ'#(#0(),#s(z0)) -> c_68() #EQ'#(#neg(z0),#0()) -> c_69() #EQ'#(#neg(z0),#neg(z1)) -> c_70(#EQ'#(z0,z1)) #EQ'#(#neg(z0),#pos(z1)) -> c_71() #EQ'#(#pos(z0),#0()) -> c_72() #EQ'#(#pos(z0),#neg(z1)) -> c_73() #EQ'#(#pos(z0),#pos(z1)) -> c_74(#EQ'#(z0,z1)) #EQ'#(#s(z0),#0()) -> c_75() #EQ'#(#s(z0),#s(z1)) -> c_76(#EQ'#(z0,z1)) #EQ'#(::(z0,z1),::(z2,z3)) -> c_77(#AND#(#eq(z0,z2),#eq(z1,z3)),#eq#(z0,z2),#eq#(z1,z3),#EQ'#(z0,z2)) #EQ'#(::(z0,z1),::(z2,z3)) -> c_78(#AND#(#eq(z0,z2),#eq(z1,z3)),#eq#(z0,z2),#eq#(z1,z3),#EQ'#(z1,z3)) #EQ'#(::(z0,z1),nil()) -> c_79() #EQ'#(nil(),::(z0,z1)) -> c_80() #EQ'#(nil(),nil()) -> c_81() #PRED#(#0()) -> c_82() #PRED#(#neg(#s(z0))) -> c_83() #PRED#(#pos(#s(#0()))) -> c_84() #PRED#(#pos(#s(#s(z0)))) -> c_85() #SUCC#(#0()) -> c_86() #SUCC#(#neg(#s(#0()))) -> c_87() #SUCC#(#neg(#s(#s(z0)))) -> c_88() #SUCC#(#pos(#s(z0))) -> c_89() #abs#(#0()) -> c_90() #abs#(#neg(z0)) -> c_91() #abs#(#pos(z0)) -> c_92() #abs#(#s(z0)) -> c_93() #add#(#0(),z0) -> c_94() #add#(#neg(#s(#0())),z0) -> c_95(#pred#(z0)) #add#(#neg(#s(#s(z0))),z1) -> c_96(#pred#(#add(#pos(#s(z0)),z1)),#add#(#pos(#s(z0)),z1)) #add#(#pos(#s(#0())),z0) -> c_97(#succ#(z0)) #add#(#pos(#s(#s(z0))),z1) -> c_98(#succ#(#add(#pos(#s(z0)),z1)),#add#(#pos(#s(z0)),z1)) #and#(#false(),#false()) -> c_99() #and#(#false(),#true()) -> c_100() #and#(#true(),#false()) -> c_101() #and#(#true(),#true()) -> c_102() #ckgt#(#EQ()) -> c_103() #ckgt#(#GT()) -> c_104() #ckgt#(#LT()) -> c_105() #compare#(#0(),#0()) -> c_106() #compare#(#0(),#neg(z0)) -> c_107() #compare#(#0(),#pos(z0)) -> c_108() #compare#(#0(),#s(z0)) -> c_109() #compare#(#neg(z0),#0()) -> c_110() #compare#(#neg(z0),#neg(z1)) -> c_111(#compare#(z1,z0)) #compare#(#neg(z0),#pos(z1)) -> c_112() #compare#(#pos(z0),#0()) -> c_113() #compare#(#pos(z0),#neg(z1)) -> c_114() #compare#(#pos(z0),#pos(z1)) -> c_115(#compare#(z0,z1)) #compare#(#s(z0),#0()) -> c_116() #compare#(#s(z0),#s(z1)) -> c_117(#compare#(z0,z1)) #eq#(#0(),#0()) -> c_118() #eq#(#0(),#neg(z0)) -> c_119() #eq#(#0(),#pos(z0)) -> c_120() #eq#(#0(),#s(z0)) -> c_121() #eq#(#neg(z0),#0()) -> c_122() #eq#(#neg(z0),#neg(z1)) -> c_123(#eq#(z0,z1)) #eq#(#neg(z0),#pos(z1)) -> c_124() #eq#(#pos(z0),#0()) -> c_125() #eq#(#pos(z0),#neg(z1)) -> c_126() #eq#(#pos(z0),#pos(z1)) -> c_127(#eq#(z0,z1)) #eq#(#s(z0),#0()) -> c_128() #eq#(#s(z0),#s(z1)) -> c_129(#eq#(z0,z1)) #eq#(::(z0,z1),::(z2,z3)) -> c_130(#and#(#eq(z0,z2),#eq(z1,z3)),#eq#(z0,z2),#eq#(z1,z3)) #eq#(::(z0,z1),nil()) -> c_131() #eq#(nil(),::(z0,z1)) -> c_132() #eq#(nil(),nil()) -> c_133() #equal#(z0,z1) -> c_134(#eq#(z0,z1)) #greater#(z0,z1) -> c_135(#ckgt#(#compare(z0,z1)),#compare#(z0,z1)) #pred#(#0()) -> c_136() #pred#(#neg(#s(z0))) -> c_137() #pred#(#pos(#s(#0()))) -> c_138() #pred#(#pos(#s(#s(z0)))) -> c_139() #succ#(#0()) -> c_140() #succ#(#neg(#s(#0()))) -> c_141() #succ#(#neg(#s(#s(z0)))) -> c_142() #succ#(#pos(#s(z0))) -> c_143() +#(z0,z1) -> c_144(#add#(z0,z1)) firstline#(z0) -> c_145(firstline#1#(z0)) firstline#1#(::(z0,z1)) -> c_146(#abs#(#0()),firstline#(z1)) firstline#1#(nil()) -> c_147() lcs#(z0,z1) -> c_148(lcs#1#(lcstable(z0,z1)),lcstable#(z0,z1)) lcs#1#(z0) -> c_149(lcs#2#(z0)) lcs#2#(::(z0,z1)) -> c_150(lcs#3#(z0)) lcs#2#(nil()) -> c_151(#abs#(#0())) lcs#3#(::(z0,z1)) -> c_152() lcs#3#(nil()) -> c_153(#abs#(#0())) lcstable#(z0,z1) -> c_154(lcstable#1#(z0,z1)) lcstable#1#(::(z0,z1),z2) -> c_155(lcstable#2#(lcstable(z1,z2),z2,z0),lcstable#(z1,z2)) lcstable#1#(nil(),z0) -> c_156(firstline#(z0)) lcstable#2#(z0,z1,z2) -> c_157(lcstable#3#(z0,z1,z2)) lcstable#3#(::(z0,z1),z2,z3) -> c_158(newline#(z3,z0,z2)) lcstable#3#(nil(),z0,z1) -> c_159() max#(z0,z1) -> c_160(max#1#(#greater(z0,z1),z0,z1),#greater#(z0,z1)) max#1#(#false(),z0,z1) -> c_161() max#1#(#true(),z0,z1) -> c_162() newline#(z0,z1,z2) -> c_163(newline#1#(z2,z1,z0)) newline#1#(::(z0,z1),z2,z3) -> c_164(newline#2#(z2,z0,z1,z3)) newline#1#(nil(),z0,z1) -> c_165() newline#2#(::(z0,z1),z2,z3,z4) -> c_166(newline#3#(newline(z4,z1,z3),z0,z1,z2,z4),newline#(z4,z1,z3)) newline#2#(nil(),z0,z1,z2) -> c_167() newline#3#(z0,z1,z2,z3,z4) -> c_168(newline#4#(right(z0),z1,z2,z0,z3,z4),right#(z0)) newline#4#(z0,z1,z2,z3,z4,z5) -> c_169(newline#5#(right(z2),z1,z3,z0,z4,z5),right#(z2)) newline#5#(z0,z1,z2,z3,z4,z5) -> c_170(newline#6#(newline#7(#equal(z4,z5),z1,z0,z3),z2) ,newline#7#(#equal(z4,z5),z1,z0,z3) ,#equal#(z4,z5)) newline#6#(z0,z1) -> c_171() newline#7#(#false(),z0,z1,z2) -> c_172(max#(z0,z2)) newline#7#(#true(),z0,z1,z2) -> c_173(+#(z1,#pos(#s(#0())))) right#(z0) -> c_174(right#1#(z0)) right#1#(::(z0,z1)) -> c_175() right#1#(nil()) -> c_176(#abs#(#0())) and mark the set of starting terms. * Step 3: UsableRules. WORST_CASE(?,O(n^2)) + Considered Problem: - Strict DPs: #ABS#(#0()) -> c_1() #ABS#(#neg(z0)) -> c_2() #ABS#(#pos(z0)) -> c_3() #ABS#(#s(z0)) -> c_4() #EQUAL#(z0,z1) -> c_5(#EQ'#(z0,z1)) #GREATER#(z0,z1) -> c_6(#CKGT#(#compare(z0,z1)),#compare#(z0,z1),#COMPARE#(z0,z1)) +'#(z0,z1) -> c_7(#ADD#(z0,z1)) FIRSTLINE#(z0) -> c_8(FIRSTLINE#1#(z0)) FIRSTLINE#1#(::(z0,z1)) -> c_9(#ABS#(#0())) FIRSTLINE#1#(::(z0,z1)) -> c_10(FIRSTLINE#(z1)) FIRSTLINE#1#(nil()) -> c_11() LCS#(z0,z1) -> c_12(LCS#1#(lcstable(z0,z1)),lcstable#(z0,z1),LCSTABLE#(z0,z1)) LCS#1#(z0) -> c_13(LCS#2#(z0)) LCS#2#(::(z0,z1)) -> c_14(LCS#3#(z0)) LCS#2#(nil()) -> c_15(#ABS#(#0())) LCS#3#(::(z0,z1)) -> c_16() LCS#3#(nil()) -> c_17(#ABS#(#0())) LCSTABLE#(z0,z1) -> c_18(LCSTABLE#1#(z0,z1)) LCSTABLE#1#(::(z0,z1),z2) -> c_19(LCSTABLE#2#(lcstable(z1,z2),z2,z0),lcstable#(z1,z2),LCSTABLE#(z1,z2)) LCSTABLE#1#(nil(),z0) -> c_20(FIRSTLINE#(z0)) LCSTABLE#2#(z0,z1,z2) -> c_21(LCSTABLE#3#(z0,z1,z2)) LCSTABLE#3#(::(z0,z1),z2,z3) -> c_22(NEWLINE#(z3,z0,z2)) LCSTABLE#3#(nil(),z0,z1) -> c_23() MAX#(z0,z1) -> c_24(MAX#1#(#greater(z0,z1),z0,z1),#greater#(z0,z1),#GREATER#(z0,z1)) MAX#1#(#false(),z0,z1) -> c_25() MAX#1#(#true(),z0,z1) -> c_26() NEWLINE#(z0,z1,z2) -> c_27(NEWLINE#1#(z2,z1,z0)) NEWLINE#1#(::(z0,z1),z2,z3) -> c_28(NEWLINE#2#(z2,z0,z1,z3)) NEWLINE#1#(nil(),z0,z1) -> c_29() NEWLINE#2#(::(z0,z1),z2,z3,z4) -> c_30(NEWLINE#3#(newline(z4,z1,z3),z0,z1,z2,z4) ,newline#(z4,z1,z3) ,NEWLINE#(z4,z1,z3)) NEWLINE#2#(nil(),z0,z1,z2) -> c_31() NEWLINE#3#(z0,z1,z2,z3,z4) -> c_32(NEWLINE#4#(right(z0),z1,z2,z0,z3,z4),right#(z0),RIGHT#(z0)) NEWLINE#4#(z0,z1,z2,z3,z4,z5) -> c_33(NEWLINE#5#(right(z2),z1,z3,z0,z4,z5),right#(z2),RIGHT#(z2)) NEWLINE#5#(z0,z1,z2,z3,z4,z5) -> c_34(NEWLINE#6#(newline#7(#equal(z4,z5),z1,z0,z3),z2) ,newline#7#(#equal(z4,z5),z1,z0,z3) ,#equal#(z4,z5) ,NEWLINE#7#(#equal(z4,z5),z1,z0,z3) ,#equal#(z4,z5) ,#EQUAL#(z4,z5)) NEWLINE#6#(z0,z1) -> c_35() NEWLINE#7#(#false(),z0,z1,z2) -> c_36(MAX#(z0,z2)) NEWLINE#7#(#true(),z0,z1,z2) -> c_37(+'#(z1,#pos(#s(#0())))) RIGHT#(z0) -> c_38(RIGHT#1#(z0)) RIGHT#1#(::(z0,z1)) -> c_39() RIGHT#1#(nil()) -> c_40(#ABS#(#0())) - Weak DPs: #ADD#(#0(),z0) -> c_41() #ADD#(#neg(#s(#0())),z0) -> c_42(#PRED#(z0)) #ADD#(#neg(#s(#s(z0))),z1) -> c_43(#PRED#(#add(#pos(#s(z0)),z1)) ,#add#(#pos(#s(z0)),z1) ,#ADD#(#pos(#s(z0)),z1)) #ADD#(#pos(#s(#0())),z0) -> c_44(#SUCC#(z0)) #ADD#(#pos(#s(#s(z0))),z1) -> c_45(#SUCC#(#add(#pos(#s(z0)),z1)) ,#add#(#pos(#s(z0)),z1) ,#ADD#(#pos(#s(z0)),z1)) #AND#(#false(),#false()) -> c_46() #AND#(#false(),#true()) -> c_47() #AND#(#true(),#false()) -> c_48() #AND#(#true(),#true()) -> c_49() #CKGT#(#EQ()) -> c_50() #CKGT#(#GT()) -> c_51() #CKGT#(#LT()) -> c_52() #COMPARE#(#0(),#0()) -> c_53() #COMPARE#(#0(),#neg(z0)) -> c_54() #COMPARE#(#0(),#pos(z0)) -> c_55() #COMPARE#(#0(),#s(z0)) -> c_56() #COMPARE#(#neg(z0),#0()) -> c_57() #COMPARE#(#neg(z0),#neg(z1)) -> c_58(#COMPARE#(z1,z0)) #COMPARE#(#neg(z0),#pos(z1)) -> c_59() #COMPARE#(#pos(z0),#0()) -> c_60() #COMPARE#(#pos(z0),#neg(z1)) -> c_61() #COMPARE#(#pos(z0),#pos(z1)) -> c_62(#COMPARE#(z0,z1)) #COMPARE#(#s(z0),#0()) -> c_63() #COMPARE#(#s(z0),#s(z1)) -> c_64(#COMPARE#(z0,z1)) #EQ'#(#0(),#0()) -> c_65() #EQ'#(#0(),#neg(z0)) -> c_66() #EQ'#(#0(),#pos(z0)) -> c_67() #EQ'#(#0(),#s(z0)) -> c_68() #EQ'#(#neg(z0),#0()) -> c_69() #EQ'#(#neg(z0),#neg(z1)) -> c_70(#EQ'#(z0,z1)) #EQ'#(#neg(z0),#pos(z1)) -> c_71() #EQ'#(#pos(z0),#0()) -> c_72() #EQ'#(#pos(z0),#neg(z1)) -> c_73() #EQ'#(#pos(z0),#pos(z1)) -> c_74(#EQ'#(z0,z1)) #EQ'#(#s(z0),#0()) -> c_75() #EQ'#(#s(z0),#s(z1)) -> c_76(#EQ'#(z0,z1)) #EQ'#(::(z0,z1),::(z2,z3)) -> c_77(#AND#(#eq(z0,z2),#eq(z1,z3)),#eq#(z0,z2),#eq#(z1,z3),#EQ'#(z0,z2)) #EQ'#(::(z0,z1),::(z2,z3)) -> c_78(#AND#(#eq(z0,z2),#eq(z1,z3)),#eq#(z0,z2),#eq#(z1,z3),#EQ'#(z1,z3)) #EQ'#(::(z0,z1),nil()) -> c_79() #EQ'#(nil(),::(z0,z1)) -> c_80() #EQ'#(nil(),nil()) -> c_81() #PRED#(#0()) -> c_82() #PRED#(#neg(#s(z0))) -> c_83() #PRED#(#pos(#s(#0()))) -> c_84() #PRED#(#pos(#s(#s(z0)))) -> c_85() #SUCC#(#0()) -> c_86() #SUCC#(#neg(#s(#0()))) -> c_87() #SUCC#(#neg(#s(#s(z0)))) -> c_88() #SUCC#(#pos(#s(z0))) -> c_89() #abs#(#0()) -> c_90() #abs#(#neg(z0)) -> c_91() #abs#(#pos(z0)) -> c_92() #abs#(#s(z0)) -> c_93() #add#(#0(),z0) -> c_94() #add#(#neg(#s(#0())),z0) -> c_95(#pred#(z0)) #add#(#neg(#s(#s(z0))),z1) -> c_96(#pred#(#add(#pos(#s(z0)),z1)),#add#(#pos(#s(z0)),z1)) #add#(#pos(#s(#0())),z0) -> c_97(#succ#(z0)) #add#(#pos(#s(#s(z0))),z1) -> c_98(#succ#(#add(#pos(#s(z0)),z1)),#add#(#pos(#s(z0)),z1)) #and#(#false(),#false()) -> c_99() #and#(#false(),#true()) -> c_100() #and#(#true(),#false()) -> c_101() #and#(#true(),#true()) -> c_102() #ckgt#(#EQ()) -> c_103() #ckgt#(#GT()) -> c_104() #ckgt#(#LT()) -> c_105() #compare#(#0(),#0()) -> c_106() #compare#(#0(),#neg(z0)) -> c_107() #compare#(#0(),#pos(z0)) -> c_108() #compare#(#0(),#s(z0)) -> c_109() #compare#(#neg(z0),#0()) -> c_110() #compare#(#neg(z0),#neg(z1)) -> c_111(#compare#(z1,z0)) #compare#(#neg(z0),#pos(z1)) -> c_112() #compare#(#pos(z0),#0()) -> c_113() #compare#(#pos(z0),#neg(z1)) -> c_114() #compare#(#pos(z0),#pos(z1)) -> c_115(#compare#(z0,z1)) #compare#(#s(z0),#0()) -> c_116() #compare#(#s(z0),#s(z1)) -> c_117(#compare#(z0,z1)) #eq#(#0(),#0()) -> c_118() #eq#(#0(),#neg(z0)) -> c_119() #eq#(#0(),#pos(z0)) -> c_120() #eq#(#0(),#s(z0)) -> c_121() #eq#(#neg(z0),#0()) -> c_122() #eq#(#neg(z0),#neg(z1)) -> c_123(#eq#(z0,z1)) #eq#(#neg(z0),#pos(z1)) -> c_124() #eq#(#pos(z0),#0()) -> c_125() #eq#(#pos(z0),#neg(z1)) -> c_126() #eq#(#pos(z0),#pos(z1)) -> c_127(#eq#(z0,z1)) #eq#(#s(z0),#0()) -> c_128() #eq#(#s(z0),#s(z1)) -> c_129(#eq#(z0,z1)) #eq#(::(z0,z1),::(z2,z3)) -> c_130(#and#(#eq(z0,z2),#eq(z1,z3)),#eq#(z0,z2),#eq#(z1,z3)) #eq#(::(z0,z1),nil()) -> c_131() #eq#(nil(),::(z0,z1)) -> c_132() #eq#(nil(),nil()) -> c_133() #equal#(z0,z1) -> c_134(#eq#(z0,z1)) #greater#(z0,z1) -> c_135(#ckgt#(#compare(z0,z1)),#compare#(z0,z1)) #pred#(#0()) -> c_136() #pred#(#neg(#s(z0))) -> c_137() #pred#(#pos(#s(#0()))) -> c_138() #pred#(#pos(#s(#s(z0)))) -> c_139() #succ#(#0()) -> c_140() #succ#(#neg(#s(#0()))) -> c_141() #succ#(#neg(#s(#s(z0)))) -> c_142() #succ#(#pos(#s(z0))) -> c_143() +#(z0,z1) -> c_144(#add#(z0,z1)) firstline#(z0) -> c_145(firstline#1#(z0)) firstline#1#(::(z0,z1)) -> c_146(#abs#(#0()),firstline#(z1)) firstline#1#(nil()) -> c_147() lcs#(z0,z1) -> c_148(lcs#1#(lcstable(z0,z1)),lcstable#(z0,z1)) lcs#1#(z0) -> c_149(lcs#2#(z0)) lcs#2#(::(z0,z1)) -> c_150(lcs#3#(z0)) lcs#2#(nil()) -> c_151(#abs#(#0())) lcs#3#(::(z0,z1)) -> c_152() lcs#3#(nil()) -> c_153(#abs#(#0())) lcstable#(z0,z1) -> c_154(lcstable#1#(z0,z1)) lcstable#1#(::(z0,z1),z2) -> c_155(lcstable#2#(lcstable(z1,z2),z2,z0),lcstable#(z1,z2)) lcstable#1#(nil(),z0) -> c_156(firstline#(z0)) lcstable#2#(z0,z1,z2) -> c_157(lcstable#3#(z0,z1,z2)) lcstable#3#(::(z0,z1),z2,z3) -> c_158(newline#(z3,z0,z2)) lcstable#3#(nil(),z0,z1) -> c_159() max#(z0,z1) -> c_160(max#1#(#greater(z0,z1),z0,z1),#greater#(z0,z1)) max#1#(#false(),z0,z1) -> c_161() max#1#(#true(),z0,z1) -> c_162() newline#(z0,z1,z2) -> c_163(newline#1#(z2,z1,z0)) newline#1#(::(z0,z1),z2,z3) -> c_164(newline#2#(z2,z0,z1,z3)) newline#1#(nil(),z0,z1) -> c_165() newline#2#(::(z0,z1),z2,z3,z4) -> c_166(newline#3#(newline(z4,z1,z3),z0,z1,z2,z4),newline#(z4,z1,z3)) newline#2#(nil(),z0,z1,z2) -> c_167() newline#3#(z0,z1,z2,z3,z4) -> c_168(newline#4#(right(z0),z1,z2,z0,z3,z4),right#(z0)) newline#4#(z0,z1,z2,z3,z4,z5) -> c_169(newline#5#(right(z2),z1,z3,z0,z4,z5),right#(z2)) newline#5#(z0,z1,z2,z3,z4,z5) -> c_170(newline#6#(newline#7(#equal(z4,z5),z1,z0,z3),z2) ,newline#7#(#equal(z4,z5),z1,z0,z3) ,#equal#(z4,z5)) newline#6#(z0,z1) -> c_171() newline#7#(#false(),z0,z1,z2) -> c_172(max#(z0,z2)) newline#7#(#true(),z0,z1,z2) -> c_173(+#(z1,#pos(#s(#0())))) right#(z0) -> c_174(right#1#(z0)) right#1#(::(z0,z1)) -> c_175() right#1#(nil()) -> c_176(#abs#(#0())) - Weak TRS: #ABS(#0()) -> c49() #ABS(#neg(z0)) -> c50() #ABS(#pos(z0)) -> c51() #ABS(#s(z0)) -> c52() #ADD(#0(),z0) -> c() #ADD(#neg(#s(#0())),z0) -> c1(#PRED(z0)) #ADD(#neg(#s(#s(z0))),z1) -> c2(#PRED(#add(#pos(#s(z0)),z1)),#ADD(#pos(#s(z0)),z1)) #ADD(#pos(#s(#0())),z0) -> c3(#SUCC(z0)) #ADD(#pos(#s(#s(z0))),z1) -> c4(#SUCC(#add(#pos(#s(z0)),z1)),#ADD(#pos(#s(z0)),z1)) #AND(#false(),#false()) -> c5() #AND(#false(),#true()) -> c6() #AND(#true(),#false()) -> c7() #AND(#true(),#true()) -> c8() #CKGT(#EQ()) -> c9() #CKGT(#GT()) -> c10() #CKGT(#LT()) -> c11() #COMPARE(#0(),#0()) -> c12() #COMPARE(#0(),#neg(z0)) -> c13() #COMPARE(#0(),#pos(z0)) -> c14() #COMPARE(#0(),#s(z0)) -> c15() #COMPARE(#neg(z0),#0()) -> c16() #COMPARE(#neg(z0),#neg(z1)) -> c17(#COMPARE(z1,z0)) #COMPARE(#neg(z0),#pos(z1)) -> c18() #COMPARE(#pos(z0),#0()) -> c19() #COMPARE(#pos(z0),#neg(z1)) -> c20() #COMPARE(#pos(z0),#pos(z1)) -> c21(#COMPARE(z0,z1)) #COMPARE(#s(z0),#0()) -> c22() #COMPARE(#s(z0),#s(z1)) -> c23(#COMPARE(z0,z1)) #EQ'(#0(),#0()) -> c24() #EQ'(#0(),#neg(z0)) -> c25() #EQ'(#0(),#pos(z0)) -> c26() #EQ'(#0(),#s(z0)) -> c27() #EQ'(#neg(z0),#0()) -> c28() #EQ'(#neg(z0),#neg(z1)) -> c29(#EQ'(z0,z1)) #EQ'(#neg(z0),#pos(z1)) -> c30() #EQ'(#pos(z0),#0()) -> c31() #EQ'(#pos(z0),#neg(z1)) -> c32() #EQ'(#pos(z0),#pos(z1)) -> c33(#EQ'(z0,z1)) #EQ'(#s(z0),#0()) -> c34() #EQ'(#s(z0),#s(z1)) -> c35(#EQ'(z0,z1)) #EQ'(::(z0,z1),::(z2,z3)) -> c36(#AND(#eq(z0,z2),#eq(z1,z3)),#EQ'(z0,z2)) #EQ'(::(z0,z1),::(z2,z3)) -> c37(#AND(#eq(z0,z2),#eq(z1,z3)),#EQ'(z1,z3)) #EQ'(::(z0,z1),nil()) -> c38() #EQ'(nil(),::(z0,z1)) -> c39() #EQ'(nil(),nil()) -> c40() #EQUAL(z0,z1) -> c53(#EQ'(z0,z1)) #GREATER(z0,z1) -> c54(#CKGT(#compare(z0,z1)),#COMPARE(z0,z1)) #PRED(#0()) -> c41() #PRED(#neg(#s(z0))) -> c42() #PRED(#pos(#s(#0()))) -> c43() #PRED(#pos(#s(#s(z0)))) -> c44() #SUCC(#0()) -> c45() #SUCC(#neg(#s(#0()))) -> c46() #SUCC(#neg(#s(#s(z0)))) -> c47() #SUCC(#pos(#s(z0))) -> c48() #abs(#0()) -> #0() #abs(#neg(z0)) -> #pos(z0) #abs(#pos(z0)) -> #pos(z0) #abs(#s(z0)) -> #pos(#s(z0)) #add(#0(),z0) -> z0 #add(#neg(#s(#0())),z0) -> #pred(z0) #add(#neg(#s(#s(z0))),z1) -> #pred(#add(#pos(#s(z0)),z1)) #add(#pos(#s(#0())),z0) -> #succ(z0) #add(#pos(#s(#s(z0))),z1) -> #succ(#add(#pos(#s(z0)),z1)) #and(#false(),#false()) -> #false() #and(#false(),#true()) -> #false() #and(#true(),#false()) -> #false() #and(#true(),#true()) -> #true() #ckgt(#EQ()) -> #false() #ckgt(#GT()) -> #true() #ckgt(#LT()) -> #false() #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) #greater(z0,z1) -> #ckgt(#compare(z0,z1)) #pred(#0()) -> #neg(#s(#0())) #pred(#neg(#s(z0))) -> #neg(#s(#s(z0))) #pred(#pos(#s(#0()))) -> #0() #pred(#pos(#s(#s(z0)))) -> #pos(#s(z0)) #succ(#0()) -> #pos(#s(#0())) #succ(#neg(#s(#0()))) -> #0() #succ(#neg(#s(#s(z0)))) -> #neg(#s(z0)) #succ(#pos(#s(z0))) -> #pos(#s(#s(z0))) +(z0,z1) -> #add(z0,z1) +'(z0,z1) -> c55(#ADD(z0,z1)) FIRSTLINE(z0) -> c56(FIRSTLINE#1(z0)) FIRSTLINE#1(::(z0,z1)) -> c57(#ABS(#0())) FIRSTLINE#1(::(z0,z1)) -> c58(FIRSTLINE(z1)) FIRSTLINE#1(nil()) -> c59() LCS(z0,z1) -> c60(LCS#1(lcstable(z0,z1)),LCSTABLE(z0,z1)) LCS#1(z0) -> c61(LCS#2(z0)) LCS#2(::(z0,z1)) -> c62(LCS#3(z0)) LCS#2(nil()) -> c63(#ABS(#0())) LCS#3(::(z0,z1)) -> c64() LCS#3(nil()) -> c65(#ABS(#0())) LCSTABLE(z0,z1) -> c66(LCSTABLE#1(z0,z1)) LCSTABLE#1(::(z0,z1),z2) -> c67(LCSTABLE#2(lcstable(z1,z2),z2,z0),LCSTABLE(z1,z2)) LCSTABLE#1(nil(),z0) -> c68(FIRSTLINE(z0)) LCSTABLE#2(z0,z1,z2) -> c69(LCSTABLE#3(z0,z1,z2)) LCSTABLE#3(::(z0,z1),z2,z3) -> c70(NEWLINE(z3,z0,z2)) LCSTABLE#3(nil(),z0,z1) -> c71() MAX(z0,z1) -> c72(MAX#1(#greater(z0,z1),z0,z1),#GREATER(z0,z1)) MAX#1(#false(),z0,z1) -> c73() MAX#1(#true(),z0,z1) -> c74() NEWLINE(z0,z1,z2) -> c75(NEWLINE#1(z2,z1,z0)) NEWLINE#1(::(z0,z1),z2,z3) -> c76(NEWLINE#2(z2,z0,z1,z3)) NEWLINE#1(nil(),z0,z1) -> c77() NEWLINE#2(::(z0,z1),z2,z3,z4) -> c78(NEWLINE#3(newline(z4,z1,z3),z0,z1,z2,z4),NEWLINE(z4,z1,z3)) NEWLINE#2(nil(),z0,z1,z2) -> c79() NEWLINE#3(z0,z1,z2,z3,z4) -> c80(NEWLINE#4(right(z0),z1,z2,z0,z3,z4),RIGHT(z0)) NEWLINE#4(z0,z1,z2,z3,z4,z5) -> c81(NEWLINE#5(right(z2),z1,z3,z0,z4,z5),RIGHT(z2)) NEWLINE#5(z0,z1,z2,z3,z4,z5) -> c82(NEWLINE#6(newline#7(#equal(z4,z5),z1,z0,z3),z2) ,NEWLINE#7(#equal(z4,z5),z1,z0,z3) ,#EQUAL(z4,z5)) NEWLINE#6(z0,z1) -> c83() NEWLINE#7(#false(),z0,z1,z2) -> c84(MAX(z0,z2)) NEWLINE#7(#true(),z0,z1,z2) -> c85(+'(z1,#pos(#s(#0())))) RIGHT(z0) -> c86(RIGHT#1(z0)) RIGHT#1(::(z0,z1)) -> c87() RIGHT#1(nil()) -> c88(#ABS(#0())) firstline(z0) -> firstline#1(z0) firstline#1(::(z0,z1)) -> ::(#abs(#0()),firstline(z1)) firstline#1(nil()) -> nil() lcs(z0,z1) -> lcs#1(lcstable(z0,z1)) lcs#1(z0) -> lcs#2(z0) lcs#2(::(z0,z1)) -> lcs#3(z0) lcs#2(nil()) -> #abs(#0()) lcs#3(::(z0,z1)) -> z0 lcs#3(nil()) -> #abs(#0()) lcstable(z0,z1) -> lcstable#1(z0,z1) lcstable#1(::(z0,z1),z2) -> lcstable#2(lcstable(z1,z2),z2,z0) lcstable#1(nil(),z0) -> ::(firstline(z0),nil()) lcstable#2(z0,z1,z2) -> lcstable#3(z0,z1,z2) lcstable#3(::(z0,z1),z2,z3) -> ::(newline(z3,z0,z2),::(z0,z1)) lcstable#3(nil(),z0,z1) -> nil() max(z0,z1) -> max#1(#greater(z0,z1),z0,z1) max#1(#false(),z0,z1) -> z1 max#1(#true(),z0,z1) -> z0 newline(z0,z1,z2) -> newline#1(z2,z1,z0) newline#1(::(z0,z1),z2,z3) -> newline#2(z2,z0,z1,z3) newline#1(nil(),z0,z1) -> nil() newline#2(::(z0,z1),z2,z3,z4) -> newline#3(newline(z4,z1,z3),z0,z1,z2,z4) newline#2(nil(),z0,z1,z2) -> nil() newline#3(z0,z1,z2,z3,z4) -> newline#4(right(z0),z1,z2,z0,z3,z4) newline#4(z0,z1,z2,z3,z4,z5) -> newline#5(right(z2),z1,z3,z0,z4,z5) newline#5(z0,z1,z2,z3,z4,z5) -> newline#6(newline#7(#equal(z4,z5),z1,z0,z3),z2) newline#6(z0,z1) -> ::(z0,z1) newline#7(#false(),z0,z1,z2) -> max(z0,z2) newline#7(#true(),z0,z1,z2) -> +(z1,#pos(#s(#0()))) right(z0) -> right#1(z0) right#1(::(z0,z1)) -> z0 right#1(nil()) -> #abs(#0()) - Signature: {#ABS/1,#ADD/2,#AND/2,#CKGT/1,#COMPARE/2,#EQ'/2,#EQUAL/2,#GREATER/2,#PRED/1,#SUCC/1,#abs/1,#add/2,#and/2 ,#ckgt/1,#compare/2,#eq/2,#equal/2,#greater/2,#pred/1,#succ/1,+/2,+'/2,FIRSTLINE/1,FIRSTLINE#1/1,LCS/2 ,LCS#1/1,LCS#2/1,LCS#3/1,LCSTABLE/2,LCSTABLE#1/2,LCSTABLE#2/3,LCSTABLE#3/3,MAX/2,MAX#1/3,NEWLINE/3 ,NEWLINE#1/3,NEWLINE#2/4,NEWLINE#3/5,NEWLINE#4/6,NEWLINE#5/6,NEWLINE#6/2,NEWLINE#7/4,RIGHT/1,RIGHT#1/1 ,firstline/1,firstline#1/1,lcs/2,lcs#1/1,lcs#2/1,lcs#3/1,lcstable/2,lcstable#1/2,lcstable#2/3,lcstable#3/3 ,max/2,max#1/3,newline/3,newline#1/3,newline#2/4,newline#3/5,newline#4/6,newline#5/6,newline#6/2,newline#7/4 ,right/1,right#1/1,#ABS#/1,#ADD#/2,#AND#/2,#CKGT#/1,#COMPARE#/2,#EQ'#/2,#EQUAL#/2,#GREATER#/2,#PRED#/1 ,#SUCC#/1,#abs#/1,#add#/2,#and#/2,#ckgt#/1,#compare#/2,#eq#/2,#equal#/2,#greater#/2,#pred#/1,#succ#/1,+#/2 ,+'#/2,FIRSTLINE#/1,FIRSTLINE#1#/1,LCS#/2,LCS#1#/1,LCS#2#/1,LCS#3#/1,LCSTABLE#/2,LCSTABLE#1#/2,LCSTABLE#2#/3 ,LCSTABLE#3#/3,MAX#/2,MAX#1#/3,NEWLINE#/3,NEWLINE#1#/3,NEWLINE#2#/4,NEWLINE#3#/5,NEWLINE#4#/6,NEWLINE#5#/6 ,NEWLINE#6#/2,NEWLINE#7#/4,RIGHT#/1,RIGHT#1#/1,firstline#/1,firstline#1#/1,lcs#/2,lcs#1#/1,lcs#2#/1,lcs#3#/1 ,lcstable#/2,lcstable#1#/2,lcstable#2#/3,lcstable#3#/3,max#/2,max#1#/3,newline#/3,newline#1#/3,newline#2#/4 ,newline#3#/5,newline#4#/6,newline#5#/6,newline#6#/2,newline#7#/4,right#/1,right#1#/1} / {#0/0,#EQ/0,#GT/0 ,#LT/0,#false/0,#neg/1,#pos/1,#s/1,#true/0,::/2,c/0,c1/1,c10/0,c11/0,c12/0,c13/0,c14/0,c15/0,c16/0,c17/1 ,c18/0,c19/0,c2/2,c20/0,c21/1,c22/0,c23/1,c24/0,c25/0,c26/0,c27/0,c28/0,c29/1,c3/1,c30/0,c31/0,c32/0,c33/1 ,c34/0,c35/1,c36/2,c37/2,c38/0,c39/0,c4/2,c40/0,c41/0,c42/0,c43/0,c44/0,c45/0,c46/0,c47/0,c48/0,c49/0,c5/0 ,c50/0,c51/0,c52/0,c53/1,c54/2,c55/1,c56/1,c57/1,c58/1,c59/0,c6/0,c60/2,c61/1,c62/1,c63/1,c64/0,c65/1,c66/1 ,c67/2,c68/1,c69/1,c7/0,c70/1,c71/0,c72/2,c73/0,c74/0,c75/1,c76/1,c77/0,c78/2,c79/0,c8/0,c80/2,c81/2,c82/3 ,c83/0,c84/1,c85/1,c86/1,c87/0,c88/1,c9/0,nil/0,c_1/0,c_2/0,c_3/0,c_4/0,c_5/1,c_6/3,c_7/1,c_8/1,c_9/1,c_10/1 ,c_11/0,c_12/3,c_13/1,c_14/1,c_15/1,c_16/0,c_17/1,c_18/1,c_19/3,c_20/1,c_21/1,c_22/1,c_23/0,c_24/3,c_25/0 ,c_26/0,c_27/1,c_28/1,c_29/0,c_30/3,c_31/0,c_32/3,c_33/3,c_34/6,c_35/0,c_36/1,c_37/1,c_38/1,c_39/0,c_40/1 ,c_41/0,c_42/1,c_43/3,c_44/1,c_45/3,c_46/0,c_47/0,c_48/0,c_49/0,c_50/0,c_51/0,c_52/0,c_53/0,c_54/0,c_55/0 ,c_56/0,c_57/0,c_58/1,c_59/0,c_60/0,c_61/0,c_62/1,c_63/0,c_64/1,c_65/0,c_66/0,c_67/0,c_68/0,c_69/0,c_70/1 ,c_71/0,c_72/0,c_73/0,c_74/1,c_75/0,c_76/1,c_77/4,c_78/4,c_79/0,c_80/0,c_81/0,c_82/0,c_83/0,c_84/0,c_85/0 ,c_86/0,c_87/0,c_88/0,c_89/0,c_90/0,c_91/0,c_92/0,c_93/0,c_94/0,c_95/1,c_96/2,c_97/1,c_98/2,c_99/0,c_100/0 ,c_101/0,c_102/0,c_103/0,c_104/0,c_105/0,c_106/0,c_107/0,c_108/0,c_109/0,c_110/0,c_111/1,c_112/0,c_113/0 ,c_114/0,c_115/1,c_116/0,c_117/1,c_118/0,c_119/0,c_120/0,c_121/0,c_122/0,c_123/1,c_124/0,c_125/0,c_126/0 ,c_127/1,c_128/0,c_129/1,c_130/3,c_131/0,c_132/0,c_133/0,c_134/1,c_135/2,c_136/0,c_137/0,c_138/0,c_139/0 ,c_140/0,c_141/0,c_142/0,c_143/0,c_144/1,c_145/1,c_146/2,c_147/0,c_148/2,c_149/1,c_150/1,c_151/1,c_152/0 ,c_153/1,c_154/1,c_155/2,c_156/1,c_157/1,c_158/1,c_159/0,c_160/2,c_161/0,c_162/0,c_163/1,c_164/1,c_165/0 ,c_166/2,c_167/0,c_168/2,c_169/2,c_170/3,c_171/0,c_172/1,c_173/1,c_174/1,c_175/0,c_176/1} - Obligation: innermost runtime complexity wrt. defined symbols {#ABS#,#ADD#,#AND#,#CKGT#,#COMPARE#,#EQ'#,#EQUAL# ,#GREATER#,#PRED#,#SUCC#,#abs#,#add#,#and#,#ckgt#,#compare#,#eq#,#equal#,#greater#,#pred#,#succ#,+#,+'# ,FIRSTLINE#,FIRSTLINE#1#,LCS#,LCS#1#,LCS#2#,LCS#3#,LCSTABLE#,LCSTABLE#1#,LCSTABLE#2#,LCSTABLE#3#,MAX#,MAX#1# ,NEWLINE#,NEWLINE#1#,NEWLINE#2#,NEWLINE#3#,NEWLINE#4#,NEWLINE#5#,NEWLINE#6#,NEWLINE#7#,RIGHT#,RIGHT#1# ,firstline#,firstline#1#,lcs#,lcs#1#,lcs#2#,lcs#3#,lcstable#,lcstable#1#,lcstable#2#,lcstable#3#,max#,max#1# ,newline#,newline#1#,newline#2#,newline#3#,newline#4#,newline#5#,newline#6#,newline#7#,right# ,right#1#} 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,c59,c6,c60,c61,c62,c63,c64,c65 ,c66,c67,c68,c69,c7,c70,c71,c72,c73,c74,c75,c76,c77,c78,c79,c8,c80,c81,c82,c83,c84,c85,c86,c87,c88,c9,nil} + Applied Processor: UsableRules + Details: We replace rewrite rules by usable rules: #abs(#0()) -> #0() #add(#0(),z0) -> z0 #add(#neg(#s(#0())),z0) -> #pred(z0) #add(#neg(#s(#s(z0))),z1) -> #pred(#add(#pos(#s(z0)),z1)) #add(#pos(#s(#0())),z0) -> #succ(z0) #add(#pos(#s(#s(z0))),z1) -> #succ(#add(#pos(#s(z0)),z1)) #and(#false(),#false()) -> #false() #and(#false(),#true()) -> #false() #and(#true(),#false()) -> #false() #and(#true(),#true()) -> #true() #ckgt(#EQ()) -> #false() #ckgt(#GT()) -> #true() #ckgt(#LT()) -> #false() #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) #greater(z0,z1) -> #ckgt(#compare(z0,z1)) #pred(#0()) -> #neg(#s(#0())) #pred(#neg(#s(z0))) -> #neg(#s(#s(z0))) #pred(#pos(#s(#0()))) -> #0() #pred(#pos(#s(#s(z0)))) -> #pos(#s(z0)) #succ(#0()) -> #pos(#s(#0())) #succ(#neg(#s(#0()))) -> #0() #succ(#neg(#s(#s(z0)))) -> #neg(#s(z0)) #succ(#pos(#s(z0))) -> #pos(#s(#s(z0))) +(z0,z1) -> #add(z0,z1) firstline(z0) -> firstline#1(z0) firstline#1(::(z0,z1)) -> ::(#abs(#0()),firstline(z1)) firstline#1(nil()) -> nil() lcstable(z0,z1) -> lcstable#1(z0,z1) lcstable#1(::(z0,z1),z2) -> lcstable#2(lcstable(z1,z2),z2,z0) lcstable#1(nil(),z0) -> ::(firstline(z0),nil()) lcstable#2(z0,z1,z2) -> lcstable#3(z0,z1,z2) lcstable#3(::(z0,z1),z2,z3) -> ::(newline(z3,z0,z2),::(z0,z1)) lcstable#3(nil(),z0,z1) -> nil() max(z0,z1) -> max#1(#greater(z0,z1),z0,z1) max#1(#false(),z0,z1) -> z1 max#1(#true(),z0,z1) -> z0 newline(z0,z1,z2) -> newline#1(z2,z1,z0) newline#1(::(z0,z1),z2,z3) -> newline#2(z2,z0,z1,z3) newline#1(nil(),z0,z1) -> nil() newline#2(::(z0,z1),z2,z3,z4) -> newline#3(newline(z4,z1,z3),z0,z1,z2,z4) newline#2(nil(),z0,z1,z2) -> nil() newline#3(z0,z1,z2,z3,z4) -> newline#4(right(z0),z1,z2,z0,z3,z4) newline#4(z0,z1,z2,z3,z4,z5) -> newline#5(right(z2),z1,z3,z0,z4,z5) newline#5(z0,z1,z2,z3,z4,z5) -> newline#6(newline#7(#equal(z4,z5),z1,z0,z3),z2) newline#6(z0,z1) -> ::(z0,z1) newline#7(#false(),z0,z1,z2) -> max(z0,z2) newline#7(#true(),z0,z1,z2) -> +(z1,#pos(#s(#0()))) right(z0) -> right#1(z0) right#1(::(z0,z1)) -> z0 right#1(nil()) -> #abs(#0()) #ABS#(#0()) -> c_1() #ABS#(#neg(z0)) -> c_2() #ABS#(#pos(z0)) -> c_3() #ABS#(#s(z0)) -> c_4() #ADD#(#0(),z0) -> c_41() #ADD#(#neg(#s(#0())),z0) -> c_42(#PRED#(z0)) #ADD#(#neg(#s(#s(z0))),z1) -> c_43(#PRED#(#add(#pos(#s(z0)),z1)) ,#add#(#pos(#s(z0)),z1) ,#ADD#(#pos(#s(z0)),z1)) #ADD#(#pos(#s(#0())),z0) -> c_44(#SUCC#(z0)) #ADD#(#pos(#s(#s(z0))),z1) -> c_45(#SUCC#(#add(#pos(#s(z0)),z1)) ,#add#(#pos(#s(z0)),z1) ,#ADD#(#pos(#s(z0)),z1)) #AND#(#false(),#false()) -> c_46() #AND#(#false(),#true()) -> c_47() #AND#(#true(),#false()) -> c_48() #AND#(#true(),#true()) -> c_49() #CKGT#(#EQ()) -> c_50() #CKGT#(#GT()) -> c_51() #CKGT#(#LT()) -> c_52() #COMPARE#(#0(),#0()) -> c_53() #COMPARE#(#0(),#neg(z0)) -> c_54() #COMPARE#(#0(),#pos(z0)) -> c_55() #COMPARE#(#0(),#s(z0)) -> c_56() #COMPARE#(#neg(z0),#0()) -> c_57() #COMPARE#(#neg(z0),#neg(z1)) -> c_58(#COMPARE#(z1,z0)) #COMPARE#(#neg(z0),#pos(z1)) -> c_59() #COMPARE#(#pos(z0),#0()) -> c_60() #COMPARE#(#pos(z0),#neg(z1)) -> c_61() #COMPARE#(#pos(z0),#pos(z1)) -> c_62(#COMPARE#(z0,z1)) #COMPARE#(#s(z0),#0()) -> c_63() #COMPARE#(#s(z0),#s(z1)) -> c_64(#COMPARE#(z0,z1)) #EQ'#(#0(),#0()) -> c_65() #EQ'#(#0(),#neg(z0)) -> c_66() #EQ'#(#0(),#pos(z0)) -> c_67() #EQ'#(#0(),#s(z0)) -> c_68() #EQ'#(#neg(z0),#0()) -> c_69() #EQ'#(#neg(z0),#neg(z1)) -> c_70(#EQ'#(z0,z1)) #EQ'#(#neg(z0),#pos(z1)) -> c_71() #EQ'#(#pos(z0),#0()) -> c_72() #EQ'#(#pos(z0),#neg(z1)) -> c_73() #EQ'#(#pos(z0),#pos(z1)) -> c_74(#EQ'#(z0,z1)) #EQ'#(#s(z0),#0()) -> c_75() #EQ'#(#s(z0),#s(z1)) -> c_76(#EQ'#(z0,z1)) #EQ'#(::(z0,z1),::(z2,z3)) -> c_77(#AND#(#eq(z0,z2),#eq(z1,z3)),#eq#(z0,z2),#eq#(z1,z3),#EQ'#(z0,z2)) #EQ'#(::(z0,z1),::(z2,z3)) -> c_78(#AND#(#eq(z0,z2),#eq(z1,z3)),#eq#(z0,z2),#eq#(z1,z3),#EQ'#(z1,z3)) #EQ'#(::(z0,z1),nil()) -> c_79() #EQ'#(nil(),::(z0,z1)) -> c_80() #EQ'#(nil(),nil()) -> c_81() #EQUAL#(z0,z1) -> c_5(#EQ'#(z0,z1)) #GREATER#(z0,z1) -> c_6(#CKGT#(#compare(z0,z1)),#compare#(z0,z1),#COMPARE#(z0,z1)) #PRED#(#0()) -> c_82() #PRED#(#neg(#s(z0))) -> c_83() #PRED#(#pos(#s(#0()))) -> c_84() #PRED#(#pos(#s(#s(z0)))) -> c_85() #SUCC#(#0()) -> c_86() #SUCC#(#neg(#s(#0()))) -> c_87() #SUCC#(#neg(#s(#s(z0)))) -> c_88() #SUCC#(#pos(#s(z0))) -> c_89() #abs#(#0()) -> c_90() #abs#(#neg(z0)) -> c_91() #abs#(#pos(z0)) -> c_92() #abs#(#s(z0)) -> c_93() #add#(#0(),z0) -> c_94() #add#(#neg(#s(#0())),z0) -> c_95(#pred#(z0)) #add#(#neg(#s(#s(z0))),z1) -> c_96(#pred#(#add(#pos(#s(z0)),z1)),#add#(#pos(#s(z0)),z1)) #add#(#pos(#s(#0())),z0) -> c_97(#succ#(z0)) #add#(#pos(#s(#s(z0))),z1) -> c_98(#succ#(#add(#pos(#s(z0)),z1)),#add#(#pos(#s(z0)),z1)) #and#(#false(),#false()) -> c_99() #and#(#false(),#true()) -> c_100() #and#(#true(),#false()) -> c_101() #and#(#true(),#true()) -> c_102() #ckgt#(#EQ()) -> c_103() #ckgt#(#GT()) -> c_104() #ckgt#(#LT()) -> c_105() #compare#(#0(),#0()) -> c_106() #compare#(#0(),#neg(z0)) -> c_107() #compare#(#0(),#pos(z0)) -> c_108() #compare#(#0(),#s(z0)) -> c_109() #compare#(#neg(z0),#0()) -> c_110() #compare#(#neg(z0),#neg(z1)) -> c_111(#compare#(z1,z0)) #compare#(#neg(z0),#pos(z1)) -> c_112() #compare#(#pos(z0),#0()) -> c_113() #compare#(#pos(z0),#neg(z1)) -> c_114() #compare#(#pos(z0),#pos(z1)) -> c_115(#compare#(z0,z1)) #compare#(#s(z0),#0()) -> c_116() #compare#(#s(z0),#s(z1)) -> c_117(#compare#(z0,z1)) #eq#(#0(),#0()) -> c_118() #eq#(#0(),#neg(z0)) -> c_119() #eq#(#0(),#pos(z0)) -> c_120() #eq#(#0(),#s(z0)) -> c_121() #eq#(#neg(z0),#0()) -> c_122() #eq#(#neg(z0),#neg(z1)) -> c_123(#eq#(z0,z1)) #eq#(#neg(z0),#pos(z1)) -> c_124() #eq#(#pos(z0),#0()) -> c_125() #eq#(#pos(z0),#neg(z1)) -> c_126() #eq#(#pos(z0),#pos(z1)) -> c_127(#eq#(z0,z1)) #eq#(#s(z0),#0()) -> c_128() #eq#(#s(z0),#s(z1)) -> c_129(#eq#(z0,z1)) #eq#(::(z0,z1),::(z2,z3)) -> c_130(#and#(#eq(z0,z2),#eq(z1,z3)),#eq#(z0,z2),#eq#(z1,z3)) #eq#(::(z0,z1),nil()) -> c_131() #eq#(nil(),::(z0,z1)) -> c_132() #eq#(nil(),nil()) -> c_133() #equal#(z0,z1) -> c_134(#eq#(z0,z1)) #greater#(z0,z1) -> c_135(#ckgt#(#compare(z0,z1)),#compare#(z0,z1)) #pred#(#0()) -> c_136() #pred#(#neg(#s(z0))) -> c_137() #pred#(#pos(#s(#0()))) -> c_138() #pred#(#pos(#s(#s(z0)))) -> c_139() #succ#(#0()) -> c_140() #succ#(#neg(#s(#0()))) -> c_141() #succ#(#neg(#s(#s(z0)))) -> c_142() #succ#(#pos(#s(z0))) -> c_143() +#(z0,z1) -> c_144(#add#(z0,z1)) +'#(z0,z1) -> c_7(#ADD#(z0,z1)) FIRSTLINE#(z0) -> c_8(FIRSTLINE#1#(z0)) FIRSTLINE#1#(::(z0,z1)) -> c_9(#ABS#(#0())) FIRSTLINE#1#(::(z0,z1)) -> c_10(FIRSTLINE#(z1)) FIRSTLINE#1#(nil()) -> c_11() LCS#(z0,z1) -> c_12(LCS#1#(lcstable(z0,z1)),lcstable#(z0,z1),LCSTABLE#(z0,z1)) LCS#1#(z0) -> c_13(LCS#2#(z0)) LCS#2#(::(z0,z1)) -> c_14(LCS#3#(z0)) LCS#2#(nil()) -> c_15(#ABS#(#0())) LCS#3#(::(z0,z1)) -> c_16() LCS#3#(nil()) -> c_17(#ABS#(#0())) LCSTABLE#(z0,z1) -> c_18(LCSTABLE#1#(z0,z1)) LCSTABLE#1#(::(z0,z1),z2) -> c_19(LCSTABLE#2#(lcstable(z1,z2),z2,z0),lcstable#(z1,z2),LCSTABLE#(z1,z2)) LCSTABLE#1#(nil(),z0) -> c_20(FIRSTLINE#(z0)) LCSTABLE#2#(z0,z1,z2) -> c_21(LCSTABLE#3#(z0,z1,z2)) LCSTABLE#3#(::(z0,z1),z2,z3) -> c_22(NEWLINE#(z3,z0,z2)) LCSTABLE#3#(nil(),z0,z1) -> c_23() MAX#(z0,z1) -> c_24(MAX#1#(#greater(z0,z1),z0,z1),#greater#(z0,z1),#GREATER#(z0,z1)) MAX#1#(#false(),z0,z1) -> c_25() MAX#1#(#true(),z0,z1) -> c_26() NEWLINE#(z0,z1,z2) -> c_27(NEWLINE#1#(z2,z1,z0)) NEWLINE#1#(::(z0,z1),z2,z3) -> c_28(NEWLINE#2#(z2,z0,z1,z3)) NEWLINE#1#(nil(),z0,z1) -> c_29() NEWLINE#2#(::(z0,z1),z2,z3,z4) -> c_30(NEWLINE#3#(newline(z4,z1,z3),z0,z1,z2,z4) ,newline#(z4,z1,z3) ,NEWLINE#(z4,z1,z3)) NEWLINE#2#(nil(),z0,z1,z2) -> c_31() NEWLINE#3#(z0,z1,z2,z3,z4) -> c_32(NEWLINE#4#(right(z0),z1,z2,z0,z3,z4),right#(z0),RIGHT#(z0)) NEWLINE#4#(z0,z1,z2,z3,z4,z5) -> c_33(NEWLINE#5#(right(z2),z1,z3,z0,z4,z5),right#(z2),RIGHT#(z2)) NEWLINE#5#(z0,z1,z2,z3,z4,z5) -> c_34(NEWLINE#6#(newline#7(#equal(z4,z5),z1,z0,z3),z2) ,newline#7#(#equal(z4,z5),z1,z0,z3) ,#equal#(z4,z5) ,NEWLINE#7#(#equal(z4,z5),z1,z0,z3) ,#equal#(z4,z5) ,#EQUAL#(z4,z5)) NEWLINE#6#(z0,z1) -> c_35() NEWLINE#7#(#false(),z0,z1,z2) -> c_36(MAX#(z0,z2)) NEWLINE#7#(#true(),z0,z1,z2) -> c_37(+'#(z1,#pos(#s(#0())))) RIGHT#(z0) -> c_38(RIGHT#1#(z0)) RIGHT#1#(::(z0,z1)) -> c_39() RIGHT#1#(nil()) -> c_40(#ABS#(#0())) firstline#(z0) -> c_145(firstline#1#(z0)) firstline#1#(::(z0,z1)) -> c_146(#abs#(#0()),firstline#(z1)) firstline#1#(nil()) -> c_147() lcs#(z0,z1) -> c_148(lcs#1#(lcstable(z0,z1)),lcstable#(z0,z1)) lcs#1#(z0) -> c_149(lcs#2#(z0)) lcs#2#(::(z0,z1)) -> c_150(lcs#3#(z0)) lcs#2#(nil()) -> c_151(#abs#(#0())) lcs#3#(::(z0,z1)) -> c_152() lcs#3#(nil()) -> c_153(#abs#(#0())) lcstable#(z0,z1) -> c_154(lcstable#1#(z0,z1)) lcstable#1#(::(z0,z1),z2) -> c_155(lcstable#2#(lcstable(z1,z2),z2,z0),lcstable#(z1,z2)) lcstable#1#(nil(),z0) -> c_156(firstline#(z0)) lcstable#2#(z0,z1,z2) -> c_157(lcstable#3#(z0,z1,z2)) lcstable#3#(::(z0,z1),z2,z3) -> c_158(newline#(z3,z0,z2)) lcstable#3#(nil(),z0,z1) -> c_159() max#(z0,z1) -> c_160(max#1#(#greater(z0,z1),z0,z1),#greater#(z0,z1)) max#1#(#false(),z0,z1) -> c_161() max#1#(#true(),z0,z1) -> c_162() newline#(z0,z1,z2) -> c_163(newline#1#(z2,z1,z0)) newline#1#(::(z0,z1),z2,z3) -> c_164(newline#2#(z2,z0,z1,z3)) newline#1#(nil(),z0,z1) -> c_165() newline#2#(::(z0,z1),z2,z3,z4) -> c_166(newline#3#(newline(z4,z1,z3),z0,z1,z2,z4),newline#(z4,z1,z3)) newline#2#(nil(),z0,z1,z2) -> c_167() newline#3#(z0,z1,z2,z3,z4) -> c_168(newline#4#(right(z0),z1,z2,z0,z3,z4),right#(z0)) newline#4#(z0,z1,z2,z3,z4,z5) -> c_169(newline#5#(right(z2),z1,z3,z0,z4,z5),right#(z2)) newline#5#(z0,z1,z2,z3,z4,z5) -> c_170(newline#6#(newline#7(#equal(z4,z5),z1,z0,z3),z2) ,newline#7#(#equal(z4,z5),z1,z0,z3) ,#equal#(z4,z5)) newline#6#(z0,z1) -> c_171() newline#7#(#false(),z0,z1,z2) -> c_172(max#(z0,z2)) newline#7#(#true(),z0,z1,z2) -> c_173(+#(z1,#pos(#s(#0())))) right#(z0) -> c_174(right#1#(z0)) right#1#(::(z0,z1)) -> c_175() right#1#(nil()) -> c_176(#abs#(#0())) * Step 4: PredecessorEstimation. WORST_CASE(?,O(n^2)) + Considered Problem: - Strict DPs: #ABS#(#0()) -> c_1() #ABS#(#neg(z0)) -> c_2() #ABS#(#pos(z0)) -> c_3() #ABS#(#s(z0)) -> c_4() #EQUAL#(z0,z1) -> c_5(#EQ'#(z0,z1)) #GREATER#(z0,z1) -> c_6(#CKGT#(#compare(z0,z1)),#compare#(z0,z1),#COMPARE#(z0,z1)) +'#(z0,z1) -> c_7(#ADD#(z0,z1)) FIRSTLINE#(z0) -> c_8(FIRSTLINE#1#(z0)) FIRSTLINE#1#(::(z0,z1)) -> c_9(#ABS#(#0())) FIRSTLINE#1#(::(z0,z1)) -> c_10(FIRSTLINE#(z1)) FIRSTLINE#1#(nil()) -> c_11() LCS#(z0,z1) -> c_12(LCS#1#(lcstable(z0,z1)),lcstable#(z0,z1),LCSTABLE#(z0,z1)) LCS#1#(z0) -> c_13(LCS#2#(z0)) LCS#2#(::(z0,z1)) -> c_14(LCS#3#(z0)) LCS#2#(nil()) -> c_15(#ABS#(#0())) LCS#3#(::(z0,z1)) -> c_16() LCS#3#(nil()) -> c_17(#ABS#(#0())) LCSTABLE#(z0,z1) -> c_18(LCSTABLE#1#(z0,z1)) LCSTABLE#1#(::(z0,z1),z2) -> c_19(LCSTABLE#2#(lcstable(z1,z2),z2,z0),lcstable#(z1,z2),LCSTABLE#(z1,z2)) LCSTABLE#1#(nil(),z0) -> c_20(FIRSTLINE#(z0)) LCSTABLE#2#(z0,z1,z2) -> c_21(LCSTABLE#3#(z0,z1,z2)) LCSTABLE#3#(::(z0,z1),z2,z3) -> c_22(NEWLINE#(z3,z0,z2)) LCSTABLE#3#(nil(),z0,z1) -> c_23() MAX#(z0,z1) -> c_24(MAX#1#(#greater(z0,z1),z0,z1),#greater#(z0,z1),#GREATER#(z0,z1)) MAX#1#(#false(),z0,z1) -> c_25() MAX#1#(#true(),z0,z1) -> c_26() NEWLINE#(z0,z1,z2) -> c_27(NEWLINE#1#(z2,z1,z0)) NEWLINE#1#(::(z0,z1),z2,z3) -> c_28(NEWLINE#2#(z2,z0,z1,z3)) NEWLINE#1#(nil(),z0,z1) -> c_29() NEWLINE#2#(::(z0,z1),z2,z3,z4) -> c_30(NEWLINE#3#(newline(z4,z1,z3),z0,z1,z2,z4) ,newline#(z4,z1,z3) ,NEWLINE#(z4,z1,z3)) NEWLINE#2#(nil(),z0,z1,z2) -> c_31() NEWLINE#3#(z0,z1,z2,z3,z4) -> c_32(NEWLINE#4#(right(z0),z1,z2,z0,z3,z4),right#(z0),RIGHT#(z0)) NEWLINE#4#(z0,z1,z2,z3,z4,z5) -> c_33(NEWLINE#5#(right(z2),z1,z3,z0,z4,z5),right#(z2),RIGHT#(z2)) NEWLINE#5#(z0,z1,z2,z3,z4,z5) -> c_34(NEWLINE#6#(newline#7(#equal(z4,z5),z1,z0,z3),z2) ,newline#7#(#equal(z4,z5),z1,z0,z3) ,#equal#(z4,z5) ,NEWLINE#7#(#equal(z4,z5),z1,z0,z3) ,#equal#(z4,z5) ,#EQUAL#(z4,z5)) NEWLINE#6#(z0,z1) -> c_35() NEWLINE#7#(#false(),z0,z1,z2) -> c_36(MAX#(z0,z2)) NEWLINE#7#(#true(),z0,z1,z2) -> c_37(+'#(z1,#pos(#s(#0())))) RIGHT#(z0) -> c_38(RIGHT#1#(z0)) RIGHT#1#(::(z0,z1)) -> c_39() RIGHT#1#(nil()) -> c_40(#ABS#(#0())) - Weak DPs: #ADD#(#0(),z0) -> c_41() #ADD#(#neg(#s(#0())),z0) -> c_42(#PRED#(z0)) #ADD#(#neg(#s(#s(z0))),z1) -> c_43(#PRED#(#add(#pos(#s(z0)),z1)) ,#add#(#pos(#s(z0)),z1) ,#ADD#(#pos(#s(z0)),z1)) #ADD#(#pos(#s(#0())),z0) -> c_44(#SUCC#(z0)) #ADD#(#pos(#s(#s(z0))),z1) -> c_45(#SUCC#(#add(#pos(#s(z0)),z1)) ,#add#(#pos(#s(z0)),z1) ,#ADD#(#pos(#s(z0)),z1)) #AND#(#false(),#false()) -> c_46() #AND#(#false(),#true()) -> c_47() #AND#(#true(),#false()) -> c_48() #AND#(#true(),#true()) -> c_49() #CKGT#(#EQ()) -> c_50() #CKGT#(#GT()) -> c_51() #CKGT#(#LT()) -> c_52() #COMPARE#(#0(),#0()) -> c_53() #COMPARE#(#0(),#neg(z0)) -> c_54() #COMPARE#(#0(),#pos(z0)) -> c_55() #COMPARE#(#0(),#s(z0)) -> c_56() #COMPARE#(#neg(z0),#0()) -> c_57() #COMPARE#(#neg(z0),#neg(z1)) -> c_58(#COMPARE#(z1,z0)) #COMPARE#(#neg(z0),#pos(z1)) -> c_59() #COMPARE#(#pos(z0),#0()) -> c_60() #COMPARE#(#pos(z0),#neg(z1)) -> c_61() #COMPARE#(#pos(z0),#pos(z1)) -> c_62(#COMPARE#(z0,z1)) #COMPARE#(#s(z0),#0()) -> c_63() #COMPARE#(#s(z0),#s(z1)) -> c_64(#COMPARE#(z0,z1)) #EQ'#(#0(),#0()) -> c_65() #EQ'#(#0(),#neg(z0)) -> c_66() #EQ'#(#0(),#pos(z0)) -> c_67() #EQ'#(#0(),#s(z0)) -> c_68() #EQ'#(#neg(z0),#0()) -> c_69() #EQ'#(#neg(z0),#neg(z1)) -> c_70(#EQ'#(z0,z1)) #EQ'#(#neg(z0),#pos(z1)) -> c_71() #EQ'#(#pos(z0),#0()) -> c_72() #EQ'#(#pos(z0),#neg(z1)) -> c_73() #EQ'#(#pos(z0),#pos(z1)) -> c_74(#EQ'#(z0,z1)) #EQ'#(#s(z0),#0()) -> c_75() #EQ'#(#s(z0),#s(z1)) -> c_76(#EQ'#(z0,z1)) #EQ'#(::(z0,z1),::(z2,z3)) -> c_77(#AND#(#eq(z0,z2),#eq(z1,z3)),#eq#(z0,z2),#eq#(z1,z3),#EQ'#(z0,z2)) #EQ'#(::(z0,z1),::(z2,z3)) -> c_78(#AND#(#eq(z0,z2),#eq(z1,z3)),#eq#(z0,z2),#eq#(z1,z3),#EQ'#(z1,z3)) #EQ'#(::(z0,z1),nil()) -> c_79() #EQ'#(nil(),::(z0,z1)) -> c_80() #EQ'#(nil(),nil()) -> c_81() #PRED#(#0()) -> c_82() #PRED#(#neg(#s(z0))) -> c_83() #PRED#(#pos(#s(#0()))) -> c_84() #PRED#(#pos(#s(#s(z0)))) -> c_85() #SUCC#(#0()) -> c_86() #SUCC#(#neg(#s(#0()))) -> c_87() #SUCC#(#neg(#s(#s(z0)))) -> c_88() #SUCC#(#pos(#s(z0))) -> c_89() #abs#(#0()) -> c_90() #abs#(#neg(z0)) -> c_91() #abs#(#pos(z0)) -> c_92() #abs#(#s(z0)) -> c_93() #add#(#0(),z0) -> c_94() #add#(#neg(#s(#0())),z0) -> c_95(#pred#(z0)) #add#(#neg(#s(#s(z0))),z1) -> c_96(#pred#(#add(#pos(#s(z0)),z1)),#add#(#pos(#s(z0)),z1)) #add#(#pos(#s(#0())),z0) -> c_97(#succ#(z0)) #add#(#pos(#s(#s(z0))),z1) -> c_98(#succ#(#add(#pos(#s(z0)),z1)),#add#(#pos(#s(z0)),z1)) #and#(#false(),#false()) -> c_99() #and#(#false(),#true()) -> c_100() #and#(#true(),#false()) -> c_101() #and#(#true(),#true()) -> c_102() #ckgt#(#EQ()) -> c_103() #ckgt#(#GT()) -> c_104() #ckgt#(#LT()) -> c_105() #compare#(#0(),#0()) -> c_106() #compare#(#0(),#neg(z0)) -> c_107() #compare#(#0(),#pos(z0)) -> c_108() #compare#(#0(),#s(z0)) -> c_109() #compare#(#neg(z0),#0()) -> c_110() #compare#(#neg(z0),#neg(z1)) -> c_111(#compare#(z1,z0)) #compare#(#neg(z0),#pos(z1)) -> c_112() #compare#(#pos(z0),#0()) -> c_113() #compare#(#pos(z0),#neg(z1)) -> c_114() #compare#(#pos(z0),#pos(z1)) -> c_115(#compare#(z0,z1)) #compare#(#s(z0),#0()) -> c_116() #compare#(#s(z0),#s(z1)) -> c_117(#compare#(z0,z1)) #eq#(#0(),#0()) -> c_118() #eq#(#0(),#neg(z0)) -> c_119() #eq#(#0(),#pos(z0)) -> c_120() #eq#(#0(),#s(z0)) -> c_121() #eq#(#neg(z0),#0()) -> c_122() #eq#(#neg(z0),#neg(z1)) -> c_123(#eq#(z0,z1)) #eq#(#neg(z0),#pos(z1)) -> c_124() #eq#(#pos(z0),#0()) -> c_125() #eq#(#pos(z0),#neg(z1)) -> c_126() #eq#(#pos(z0),#pos(z1)) -> c_127(#eq#(z0,z1)) #eq#(#s(z0),#0()) -> c_128() #eq#(#s(z0),#s(z1)) -> c_129(#eq#(z0,z1)) #eq#(::(z0,z1),::(z2,z3)) -> c_130(#and#(#eq(z0,z2),#eq(z1,z3)),#eq#(z0,z2),#eq#(z1,z3)) #eq#(::(z0,z1),nil()) -> c_131() #eq#(nil(),::(z0,z1)) -> c_132() #eq#(nil(),nil()) -> c_133() #equal#(z0,z1) -> c_134(#eq#(z0,z1)) #greater#(z0,z1) -> c_135(#ckgt#(#compare(z0,z1)),#compare#(z0,z1)) #pred#(#0()) -> c_136() #pred#(#neg(#s(z0))) -> c_137() #pred#(#pos(#s(#0()))) -> c_138() #pred#(#pos(#s(#s(z0)))) -> c_139() #succ#(#0()) -> c_140() #succ#(#neg(#s(#0()))) -> c_141() #succ#(#neg(#s(#s(z0)))) -> c_142() #succ#(#pos(#s(z0))) -> c_143() +#(z0,z1) -> c_144(#add#(z0,z1)) firstline#(z0) -> c_145(firstline#1#(z0)) firstline#1#(::(z0,z1)) -> c_146(#abs#(#0()),firstline#(z1)) firstline#1#(nil()) -> c_147() lcs#(z0,z1) -> c_148(lcs#1#(lcstable(z0,z1)),lcstable#(z0,z1)) lcs#1#(z0) -> c_149(lcs#2#(z0)) lcs#2#(::(z0,z1)) -> c_150(lcs#3#(z0)) lcs#2#(nil()) -> c_151(#abs#(#0())) lcs#3#(::(z0,z1)) -> c_152() lcs#3#(nil()) -> c_153(#abs#(#0())) lcstable#(z0,z1) -> c_154(lcstable#1#(z0,z1)) lcstable#1#(::(z0,z1),z2) -> c_155(lcstable#2#(lcstable(z1,z2),z2,z0),lcstable#(z1,z2)) lcstable#1#(nil(),z0) -> c_156(firstline#(z0)) lcstable#2#(z0,z1,z2) -> c_157(lcstable#3#(z0,z1,z2)) lcstable#3#(::(z0,z1),z2,z3) -> c_158(newline#(z3,z0,z2)) lcstable#3#(nil(),z0,z1) -> c_159() max#(z0,z1) -> c_160(max#1#(#greater(z0,z1),z0,z1),#greater#(z0,z1)) max#1#(#false(),z0,z1) -> c_161() max#1#(#true(),z0,z1) -> c_162() newline#(z0,z1,z2) -> c_163(newline#1#(z2,z1,z0)) newline#1#(::(z0,z1),z2,z3) -> c_164(newline#2#(z2,z0,z1,z3)) newline#1#(nil(),z0,z1) -> c_165() newline#2#(::(z0,z1),z2,z3,z4) -> c_166(newline#3#(newline(z4,z1,z3),z0,z1,z2,z4),newline#(z4,z1,z3)) newline#2#(nil(),z0,z1,z2) -> c_167() newline#3#(z0,z1,z2,z3,z4) -> c_168(newline#4#(right(z0),z1,z2,z0,z3,z4),right#(z0)) newline#4#(z0,z1,z2,z3,z4,z5) -> c_169(newline#5#(right(z2),z1,z3,z0,z4,z5),right#(z2)) newline#5#(z0,z1,z2,z3,z4,z5) -> c_170(newline#6#(newline#7(#equal(z4,z5),z1,z0,z3),z2) ,newline#7#(#equal(z4,z5),z1,z0,z3) ,#equal#(z4,z5)) newline#6#(z0,z1) -> c_171() newline#7#(#false(),z0,z1,z2) -> c_172(max#(z0,z2)) newline#7#(#true(),z0,z1,z2) -> c_173(+#(z1,#pos(#s(#0())))) right#(z0) -> c_174(right#1#(z0)) right#1#(::(z0,z1)) -> c_175() right#1#(nil()) -> c_176(#abs#(#0())) - Weak TRS: #abs(#0()) -> #0() #add(#0(),z0) -> z0 #add(#neg(#s(#0())),z0) -> #pred(z0) #add(#neg(#s(#s(z0))),z1) -> #pred(#add(#pos(#s(z0)),z1)) #add(#pos(#s(#0())),z0) -> #succ(z0) #add(#pos(#s(#s(z0))),z1) -> #succ(#add(#pos(#s(z0)),z1)) #and(#false(),#false()) -> #false() #and(#false(),#true()) -> #false() #and(#true(),#false()) -> #false() #and(#true(),#true()) -> #true() #ckgt(#EQ()) -> #false() #ckgt(#GT()) -> #true() #ckgt(#LT()) -> #false() #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) #greater(z0,z1) -> #ckgt(#compare(z0,z1)) #pred(#0()) -> #neg(#s(#0())) #pred(#neg(#s(z0))) -> #neg(#s(#s(z0))) #pred(#pos(#s(#0()))) -> #0() #pred(#pos(#s(#s(z0)))) -> #pos(#s(z0)) #succ(#0()) -> #pos(#s(#0())) #succ(#neg(#s(#0()))) -> #0() #succ(#neg(#s(#s(z0)))) -> #neg(#s(z0)) #succ(#pos(#s(z0))) -> #pos(#s(#s(z0))) +(z0,z1) -> #add(z0,z1) firstline(z0) -> firstline#1(z0) firstline#1(::(z0,z1)) -> ::(#abs(#0()),firstline(z1)) firstline#1(nil()) -> nil() lcstable(z0,z1) -> lcstable#1(z0,z1) lcstable#1(::(z0,z1),z2) -> lcstable#2(lcstable(z1,z2),z2,z0) lcstable#1(nil(),z0) -> ::(firstline(z0),nil()) lcstable#2(z0,z1,z2) -> lcstable#3(z0,z1,z2) lcstable#3(::(z0,z1),z2,z3) -> ::(newline(z3,z0,z2),::(z0,z1)) lcstable#3(nil(),z0,z1) -> nil() max(z0,z1) -> max#1(#greater(z0,z1),z0,z1) max#1(#false(),z0,z1) -> z1 max#1(#true(),z0,z1) -> z0 newline(z0,z1,z2) -> newline#1(z2,z1,z0) newline#1(::(z0,z1),z2,z3) -> newline#2(z2,z0,z1,z3) newline#1(nil(),z0,z1) -> nil() newline#2(::(z0,z1),z2,z3,z4) -> newline#3(newline(z4,z1,z3),z0,z1,z2,z4) newline#2(nil(),z0,z1,z2) -> nil() newline#3(z0,z1,z2,z3,z4) -> newline#4(right(z0),z1,z2,z0,z3,z4) newline#4(z0,z1,z2,z3,z4,z5) -> newline#5(right(z2),z1,z3,z0,z4,z5) newline#5(z0,z1,z2,z3,z4,z5) -> newline#6(newline#7(#equal(z4,z5),z1,z0,z3),z2) newline#6(z0,z1) -> ::(z0,z1) newline#7(#false(),z0,z1,z2) -> max(z0,z2) newline#7(#true(),z0,z1,z2) -> +(z1,#pos(#s(#0()))) right(z0) -> right#1(z0) right#1(::(z0,z1)) -> z0 right#1(nil()) -> #abs(#0()) - Signature: {#ABS/1,#ADD/2,#AND/2,#CKGT/1,#COMPARE/2,#EQ'/2,#EQUAL/2,#GREATER/2,#PRED/1,#SUCC/1,#abs/1,#add/2,#and/2 ,#ckgt/1,#compare/2,#eq/2,#equal/2,#greater/2,#pred/1,#succ/1,+/2,+'/2,FIRSTLINE/1,FIRSTLINE#1/1,LCS/2 ,LCS#1/1,LCS#2/1,LCS#3/1,LCSTABLE/2,LCSTABLE#1/2,LCSTABLE#2/3,LCSTABLE#3/3,MAX/2,MAX#1/3,NEWLINE/3 ,NEWLINE#1/3,NEWLINE#2/4,NEWLINE#3/5,NEWLINE#4/6,NEWLINE#5/6,NEWLINE#6/2,NEWLINE#7/4,RIGHT/1,RIGHT#1/1 ,firstline/1,firstline#1/1,lcs/2,lcs#1/1,lcs#2/1,lcs#3/1,lcstable/2,lcstable#1/2,lcstable#2/3,lcstable#3/3 ,max/2,max#1/3,newline/3,newline#1/3,newline#2/4,newline#3/5,newline#4/6,newline#5/6,newline#6/2,newline#7/4 ,right/1,right#1/1,#ABS#/1,#ADD#/2,#AND#/2,#CKGT#/1,#COMPARE#/2,#EQ'#/2,#EQUAL#/2,#GREATER#/2,#PRED#/1 ,#SUCC#/1,#abs#/1,#add#/2,#and#/2,#ckgt#/1,#compare#/2,#eq#/2,#equal#/2,#greater#/2,#pred#/1,#succ#/1,+#/2 ,+'#/2,FIRSTLINE#/1,FIRSTLINE#1#/1,LCS#/2,LCS#1#/1,LCS#2#/1,LCS#3#/1,LCSTABLE#/2,LCSTABLE#1#/2,LCSTABLE#2#/3 ,LCSTABLE#3#/3,MAX#/2,MAX#1#/3,NEWLINE#/3,NEWLINE#1#/3,NEWLINE#2#/4,NEWLINE#3#/5,NEWLINE#4#/6,NEWLINE#5#/6 ,NEWLINE#6#/2,NEWLINE#7#/4,RIGHT#/1,RIGHT#1#/1,firstline#/1,firstline#1#/1,lcs#/2,lcs#1#/1,lcs#2#/1,lcs#3#/1 ,lcstable#/2,lcstable#1#/2,lcstable#2#/3,lcstable#3#/3,max#/2,max#1#/3,newline#/3,newline#1#/3,newline#2#/4 ,newline#3#/5,newline#4#/6,newline#5#/6,newline#6#/2,newline#7#/4,right#/1,right#1#/1} / {#0/0,#EQ/0,#GT/0 ,#LT/0,#false/0,#neg/1,#pos/1,#s/1,#true/0,::/2,c/0,c1/1,c10/0,c11/0,c12/0,c13/0,c14/0,c15/0,c16/0,c17/1 ,c18/0,c19/0,c2/2,c20/0,c21/1,c22/0,c23/1,c24/0,c25/0,c26/0,c27/0,c28/0,c29/1,c3/1,c30/0,c31/0,c32/0,c33/1 ,c34/0,c35/1,c36/2,c37/2,c38/0,c39/0,c4/2,c40/0,c41/0,c42/0,c43/0,c44/0,c45/0,c46/0,c47/0,c48/0,c49/0,c5/0 ,c50/0,c51/0,c52/0,c53/1,c54/2,c55/1,c56/1,c57/1,c58/1,c59/0,c6/0,c60/2,c61/1,c62/1,c63/1,c64/0,c65/1,c66/1 ,c67/2,c68/1,c69/1,c7/0,c70/1,c71/0,c72/2,c73/0,c74/0,c75/1,c76/1,c77/0,c78/2,c79/0,c8/0,c80/2,c81/2,c82/3 ,c83/0,c84/1,c85/1,c86/1,c87/0,c88/1,c9/0,nil/0,c_1/0,c_2/0,c_3/0,c_4/0,c_5/1,c_6/3,c_7/1,c_8/1,c_9/1,c_10/1 ,c_11/0,c_12/3,c_13/1,c_14/1,c_15/1,c_16/0,c_17/1,c_18/1,c_19/3,c_20/1,c_21/1,c_22/1,c_23/0,c_24/3,c_25/0 ,c_26/0,c_27/1,c_28/1,c_29/0,c_30/3,c_31/0,c_32/3,c_33/3,c_34/6,c_35/0,c_36/1,c_37/1,c_38/1,c_39/0,c_40/1 ,c_41/0,c_42/1,c_43/3,c_44/1,c_45/3,c_46/0,c_47/0,c_48/0,c_49/0,c_50/0,c_51/0,c_52/0,c_53/0,c_54/0,c_55/0 ,c_56/0,c_57/0,c_58/1,c_59/0,c_60/0,c_61/0,c_62/1,c_63/0,c_64/1,c_65/0,c_66/0,c_67/0,c_68/0,c_69/0,c_70/1 ,c_71/0,c_72/0,c_73/0,c_74/1,c_75/0,c_76/1,c_77/4,c_78/4,c_79/0,c_80/0,c_81/0,c_82/0,c_83/0,c_84/0,c_85/0 ,c_86/0,c_87/0,c_88/0,c_89/0,c_90/0,c_91/0,c_92/0,c_93/0,c_94/0,c_95/1,c_96/2,c_97/1,c_98/2,c_99/0,c_100/0 ,c_101/0,c_102/0,c_103/0,c_104/0,c_105/0,c_106/0,c_107/0,c_108/0,c_109/0,c_110/0,c_111/1,c_112/0,c_113/0 ,c_114/0,c_115/1,c_116/0,c_117/1,c_118/0,c_119/0,c_120/0,c_121/0,c_122/0,c_123/1,c_124/0,c_125/0,c_126/0 ,c_127/1,c_128/0,c_129/1,c_130/3,c_131/0,c_132/0,c_133/0,c_134/1,c_135/2,c_136/0,c_137/0,c_138/0,c_139/0 ,c_140/0,c_141/0,c_142/0,c_143/0,c_144/1,c_145/1,c_146/2,c_147/0,c_148/2,c_149/1,c_150/1,c_151/1,c_152/0 ,c_153/1,c_154/1,c_155/2,c_156/1,c_157/1,c_158/1,c_159/0,c_160/2,c_161/0,c_162/0,c_163/1,c_164/1,c_165/0 ,c_166/2,c_167/0,c_168/2,c_169/2,c_170/3,c_171/0,c_172/1,c_173/1,c_174/1,c_175/0,c_176/1} - Obligation: innermost runtime complexity wrt. defined symbols {#ABS#,#ADD#,#AND#,#CKGT#,#COMPARE#,#EQ'#,#EQUAL# ,#GREATER#,#PRED#,#SUCC#,#abs#,#add#,#and#,#ckgt#,#compare#,#eq#,#equal#,#greater#,#pred#,#succ#,+#,+'# ,FIRSTLINE#,FIRSTLINE#1#,LCS#,LCS#1#,LCS#2#,LCS#3#,LCSTABLE#,LCSTABLE#1#,LCSTABLE#2#,LCSTABLE#3#,MAX#,MAX#1# ,NEWLINE#,NEWLINE#1#,NEWLINE#2#,NEWLINE#3#,NEWLINE#4#,NEWLINE#5#,NEWLINE#6#,NEWLINE#7#,RIGHT#,RIGHT#1# ,firstline#,firstline#1#,lcs#,lcs#1#,lcs#2#,lcs#3#,lcstable#,lcstable#1#,lcstable#2#,lcstable#3#,max#,max#1# ,newline#,newline#1#,newline#2#,newline#3#,newline#4#,newline#5#,newline#6#,newline#7#,right# ,right#1#} 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,c59,c6,c60,c61,c62,c63,c64,c65 ,c66,c67,c68,c69,c7,c70,c71,c72,c73,c74,c75,c76,c77,c78,c79,c8,c80,c81,c82,c83,c84,c85,c86,c87,c88,c9,nil} + Applied Processor: PredecessorEstimation {onSelection = all simple predecessor estimation selector} + Details: We estimate the number of application of {1,2,3,4,5,6,7,11,16,23,25,26,29,31,35,39} by application of Pre({1,2,3,4,5,6,7,11,16,23,25,26,29,31,35,39}) = {8,9,14,15,17,21,24,27,28,34,37,38,40}. Here rules are labelled as follows: 1: #ABS#(#0()) -> c_1() 2: #ABS#(#neg(z0)) -> c_2() 3: #ABS#(#pos(z0)) -> c_3() 4: #ABS#(#s(z0)) -> c_4() 5: #EQUAL#(z0,z1) -> c_5(#EQ'#(z0,z1)) 6: #GREATER#(z0,z1) -> c_6(#CKGT#(#compare(z0,z1)),#compare#(z0,z1),#COMPARE#(z0,z1)) 7: +'#(z0,z1) -> c_7(#ADD#(z0,z1)) 8: FIRSTLINE#(z0) -> c_8(FIRSTLINE#1#(z0)) 9: FIRSTLINE#1#(::(z0,z1)) -> c_9(#ABS#(#0())) 10: FIRSTLINE#1#(::(z0,z1)) -> c_10(FIRSTLINE#(z1)) 11: FIRSTLINE#1#(nil()) -> c_11() 12: LCS#(z0,z1) -> c_12(LCS#1#(lcstable(z0,z1)),lcstable#(z0,z1),LCSTABLE#(z0,z1)) 13: LCS#1#(z0) -> c_13(LCS#2#(z0)) 14: LCS#2#(::(z0,z1)) -> c_14(LCS#3#(z0)) 15: LCS#2#(nil()) -> c_15(#ABS#(#0())) 16: LCS#3#(::(z0,z1)) -> c_16() 17: LCS#3#(nil()) -> c_17(#ABS#(#0())) 18: LCSTABLE#(z0,z1) -> c_18(LCSTABLE#1#(z0,z1)) 19: LCSTABLE#1#(::(z0,z1),z2) -> c_19(LCSTABLE#2#(lcstable(z1,z2),z2,z0),lcstable#(z1,z2),LCSTABLE#(z1,z2)) 20: LCSTABLE#1#(nil(),z0) -> c_20(FIRSTLINE#(z0)) 21: LCSTABLE#2#(z0,z1,z2) -> c_21(LCSTABLE#3#(z0,z1,z2)) 22: LCSTABLE#3#(::(z0,z1),z2,z3) -> c_22(NEWLINE#(z3,z0,z2)) 23: LCSTABLE#3#(nil(),z0,z1) -> c_23() 24: MAX#(z0,z1) -> c_24(MAX#1#(#greater(z0,z1),z0,z1),#greater#(z0,z1),#GREATER#(z0,z1)) 25: MAX#1#(#false(),z0,z1) -> c_25() 26: MAX#1#(#true(),z0,z1) -> c_26() 27: NEWLINE#(z0,z1,z2) -> c_27(NEWLINE#1#(z2,z1,z0)) 28: NEWLINE#1#(::(z0,z1),z2,z3) -> c_28(NEWLINE#2#(z2,z0,z1,z3)) 29: NEWLINE#1#(nil(),z0,z1) -> c_29() 30: NEWLINE#2#(::(z0,z1),z2,z3,z4) -> c_30(NEWLINE#3#(newline(z4,z1,z3),z0,z1,z2,z4) ,newline#(z4,z1,z3) ,NEWLINE#(z4,z1,z3)) 31: NEWLINE#2#(nil(),z0,z1,z2) -> c_31() 32: NEWLINE#3#(z0,z1,z2,z3,z4) -> c_32(NEWLINE#4#(right(z0),z1,z2,z0,z3,z4),right#(z0),RIGHT#(z0)) 33: NEWLINE#4#(z0,z1,z2,z3,z4,z5) -> c_33(NEWLINE#5#(right(z2),z1,z3,z0,z4,z5),right#(z2),RIGHT#(z2)) 34: NEWLINE#5#(z0,z1,z2,z3,z4,z5) -> c_34(NEWLINE#6#(newline#7(#equal(z4,z5),z1,z0,z3),z2) ,newline#7#(#equal(z4,z5),z1,z0,z3) ,#equal#(z4,z5) ,NEWLINE#7#(#equal(z4,z5),z1,z0,z3) ,#equal#(z4,z5) ,#EQUAL#(z4,z5)) 35: NEWLINE#6#(z0,z1) -> c_35() 36: NEWLINE#7#(#false(),z0,z1,z2) -> c_36(MAX#(z0,z2)) 37: NEWLINE#7#(#true(),z0,z1,z2) -> c_37(+'#(z1,#pos(#s(#0())))) 38: RIGHT#(z0) -> c_38(RIGHT#1#(z0)) 39: RIGHT#1#(::(z0,z1)) -> c_39() 40: RIGHT#1#(nil()) -> c_40(#ABS#(#0())) 41: #ADD#(#0(),z0) -> c_41() 42: #ADD#(#neg(#s(#0())),z0) -> c_42(#PRED#(z0)) 43: #ADD#(#neg(#s(#s(z0))),z1) -> c_43(#PRED#(#add(#pos(#s(z0)),z1)) ,#add#(#pos(#s(z0)),z1) ,#ADD#(#pos(#s(z0)),z1)) 44: #ADD#(#pos(#s(#0())),z0) -> c_44(#SUCC#(z0)) 45: #ADD#(#pos(#s(#s(z0))),z1) -> c_45(#SUCC#(#add(#pos(#s(z0)),z1)) ,#add#(#pos(#s(z0)),z1) ,#ADD#(#pos(#s(z0)),z1)) 46: #AND#(#false(),#false()) -> c_46() 47: #AND#(#false(),#true()) -> c_47() 48: #AND#(#true(),#false()) -> c_48() 49: #AND#(#true(),#true()) -> c_49() 50: #CKGT#(#EQ()) -> c_50() 51: #CKGT#(#GT()) -> c_51() 52: #CKGT#(#LT()) -> c_52() 53: #COMPARE#(#0(),#0()) -> c_53() 54: #COMPARE#(#0(),#neg(z0)) -> c_54() 55: #COMPARE#(#0(),#pos(z0)) -> c_55() 56: #COMPARE#(#0(),#s(z0)) -> c_56() 57: #COMPARE#(#neg(z0),#0()) -> c_57() 58: #COMPARE#(#neg(z0),#neg(z1)) -> c_58(#COMPARE#(z1,z0)) 59: #COMPARE#(#neg(z0),#pos(z1)) -> c_59() 60: #COMPARE#(#pos(z0),#0()) -> c_60() 61: #COMPARE#(#pos(z0),#neg(z1)) -> c_61() 62: #COMPARE#(#pos(z0),#pos(z1)) -> c_62(#COMPARE#(z0,z1)) 63: #COMPARE#(#s(z0),#0()) -> c_63() 64: #COMPARE#(#s(z0),#s(z1)) -> c_64(#COMPARE#(z0,z1)) 65: #EQ'#(#0(),#0()) -> c_65() 66: #EQ'#(#0(),#neg(z0)) -> c_66() 67: #EQ'#(#0(),#pos(z0)) -> c_67() 68: #EQ'#(#0(),#s(z0)) -> c_68() 69: #EQ'#(#neg(z0),#0()) -> c_69() 70: #EQ'#(#neg(z0),#neg(z1)) -> c_70(#EQ'#(z0,z1)) 71: #EQ'#(#neg(z0),#pos(z1)) -> c_71() 72: #EQ'#(#pos(z0),#0()) -> c_72() 73: #EQ'#(#pos(z0),#neg(z1)) -> c_73() 74: #EQ'#(#pos(z0),#pos(z1)) -> c_74(#EQ'#(z0,z1)) 75: #EQ'#(#s(z0),#0()) -> c_75() 76: #EQ'#(#s(z0),#s(z1)) -> c_76(#EQ'#(z0,z1)) 77: #EQ'#(::(z0,z1),::(z2,z3)) -> c_77(#AND#(#eq(z0,z2),#eq(z1,z3)),#eq#(z0,z2),#eq#(z1,z3),#EQ'#(z0,z2)) 78: #EQ'#(::(z0,z1),::(z2,z3)) -> c_78(#AND#(#eq(z0,z2),#eq(z1,z3)),#eq#(z0,z2),#eq#(z1,z3),#EQ'#(z1,z3)) 79: #EQ'#(::(z0,z1),nil()) -> c_79() 80: #EQ'#(nil(),::(z0,z1)) -> c_80() 81: #EQ'#(nil(),nil()) -> c_81() 82: #PRED#(#0()) -> c_82() 83: #PRED#(#neg(#s(z0))) -> c_83() 84: #PRED#(#pos(#s(#0()))) -> c_84() 85: #PRED#(#pos(#s(#s(z0)))) -> c_85() 86: #SUCC#(#0()) -> c_86() 87: #SUCC#(#neg(#s(#0()))) -> c_87() 88: #SUCC#(#neg(#s(#s(z0)))) -> c_88() 89: #SUCC#(#pos(#s(z0))) -> c_89() 90: #abs#(#0()) -> c_90() 91: #abs#(#neg(z0)) -> c_91() 92: #abs#(#pos(z0)) -> c_92() 93: #abs#(#s(z0)) -> c_93() 94: #add#(#0(),z0) -> c_94() 95: #add#(#neg(#s(#0())),z0) -> c_95(#pred#(z0)) 96: #add#(#neg(#s(#s(z0))),z1) -> c_96(#pred#(#add(#pos(#s(z0)),z1)),#add#(#pos(#s(z0)),z1)) 97: #add#(#pos(#s(#0())),z0) -> c_97(#succ#(z0)) 98: #add#(#pos(#s(#s(z0))),z1) -> c_98(#succ#(#add(#pos(#s(z0)),z1)),#add#(#pos(#s(z0)),z1)) 99: #and#(#false(),#false()) -> c_99() 100: #and#(#false(),#true()) -> c_100() 101: #and#(#true(),#false()) -> c_101() 102: #and#(#true(),#true()) -> c_102() 103: #ckgt#(#EQ()) -> c_103() 104: #ckgt#(#GT()) -> c_104() 105: #ckgt#(#LT()) -> c_105() 106: #compare#(#0(),#0()) -> c_106() 107: #compare#(#0(),#neg(z0)) -> c_107() 108: #compare#(#0(),#pos(z0)) -> c_108() 109: #compare#(#0(),#s(z0)) -> c_109() 110: #compare#(#neg(z0),#0()) -> c_110() 111: #compare#(#neg(z0),#neg(z1)) -> c_111(#compare#(z1,z0)) 112: #compare#(#neg(z0),#pos(z1)) -> c_112() 113: #compare#(#pos(z0),#0()) -> c_113() 114: #compare#(#pos(z0),#neg(z1)) -> c_114() 115: #compare#(#pos(z0),#pos(z1)) -> c_115(#compare#(z0,z1)) 116: #compare#(#s(z0),#0()) -> c_116() 117: #compare#(#s(z0),#s(z1)) -> c_117(#compare#(z0,z1)) 118: #eq#(#0(),#0()) -> c_118() 119: #eq#(#0(),#neg(z0)) -> c_119() 120: #eq#(#0(),#pos(z0)) -> c_120() 121: #eq#(#0(),#s(z0)) -> c_121() 122: #eq#(#neg(z0),#0()) -> c_122() 123: #eq#(#neg(z0),#neg(z1)) -> c_123(#eq#(z0,z1)) 124: #eq#(#neg(z0),#pos(z1)) -> c_124() 125: #eq#(#pos(z0),#0()) -> c_125() 126: #eq#(#pos(z0),#neg(z1)) -> c_126() 127: #eq#(#pos(z0),#pos(z1)) -> c_127(#eq#(z0,z1)) 128: #eq#(#s(z0),#0()) -> c_128() 129: #eq#(#s(z0),#s(z1)) -> c_129(#eq#(z0,z1)) 130: #eq#(::(z0,z1),::(z2,z3)) -> c_130(#and#(#eq(z0,z2),#eq(z1,z3)),#eq#(z0,z2),#eq#(z1,z3)) 131: #eq#(::(z0,z1),nil()) -> c_131() 132: #eq#(nil(),::(z0,z1)) -> c_132() 133: #eq#(nil(),nil()) -> c_133() 134: #equal#(z0,z1) -> c_134(#eq#(z0,z1)) 135: #greater#(z0,z1) -> c_135(#ckgt#(#compare(z0,z1)),#compare#(z0,z1)) 136: #pred#(#0()) -> c_136() 137: #pred#(#neg(#s(z0))) -> c_137() 138: #pred#(#pos(#s(#0()))) -> c_138() 139: #pred#(#pos(#s(#s(z0)))) -> c_139() 140: #succ#(#0()) -> c_140() 141: #succ#(#neg(#s(#0()))) -> c_141() 142: #succ#(#neg(#s(#s(z0)))) -> c_142() 143: #succ#(#pos(#s(z0))) -> c_143() 144: +#(z0,z1) -> c_144(#add#(z0,z1)) 145: firstline#(z0) -> c_145(firstline#1#(z0)) 146: firstline#1#(::(z0,z1)) -> c_146(#abs#(#0()),firstline#(z1)) 147: firstline#1#(nil()) -> c_147() 148: lcs#(z0,z1) -> c_148(lcs#1#(lcstable(z0,z1)),lcstable#(z0,z1)) 149: lcs#1#(z0) -> c_149(lcs#2#(z0)) 150: lcs#2#(::(z0,z1)) -> c_150(lcs#3#(z0)) 151: lcs#2#(nil()) -> c_151(#abs#(#0())) 152: lcs#3#(::(z0,z1)) -> c_152() 153: lcs#3#(nil()) -> c_153(#abs#(#0())) 154: lcstable#(z0,z1) -> c_154(lcstable#1#(z0,z1)) 155: lcstable#1#(::(z0,z1),z2) -> c_155(lcstable#2#(lcstable(z1,z2),z2,z0),lcstable#(z1,z2)) 156: lcstable#1#(nil(),z0) -> c_156(firstline#(z0)) 157: lcstable#2#(z0,z1,z2) -> c_157(lcstable#3#(z0,z1,z2)) 158: lcstable#3#(::(z0,z1),z2,z3) -> c_158(newline#(z3,z0,z2)) 159: lcstable#3#(nil(),z0,z1) -> c_159() 160: max#(z0,z1) -> c_160(max#1#(#greater(z0,z1),z0,z1),#greater#(z0,z1)) 161: max#1#(#false(),z0,z1) -> c_161() 162: max#1#(#true(),z0,z1) -> c_162() 163: newline#(z0,z1,z2) -> c_163(newline#1#(z2,z1,z0)) 164: newline#1#(::(z0,z1),z2,z3) -> c_164(newline#2#(z2,z0,z1,z3)) 165: newline#1#(nil(),z0,z1) -> c_165() 166: newline#2#(::(z0,z1),z2,z3,z4) -> c_166(newline#3#(newline(z4,z1,z3),z0,z1,z2,z4),newline#(z4,z1,z3)) 167: newline#2#(nil(),z0,z1,z2) -> c_167() 168: newline#3#(z0,z1,z2,z3,z4) -> c_168(newline#4#(right(z0),z1,z2,z0,z3,z4),right#(z0)) 169: newline#4#(z0,z1,z2,z3,z4,z5) -> c_169(newline#5#(right(z2),z1,z3,z0,z4,z5),right#(z2)) 170: newline#5#(z0,z1,z2,z3,z4,z5) -> c_170(newline#6#(newline#7(#equal(z4,z5),z1,z0,z3),z2) ,newline#7#(#equal(z4,z5),z1,z0,z3) ,#equal#(z4,z5)) 171: newline#6#(z0,z1) -> c_171() 172: newline#7#(#false(),z0,z1,z2) -> c_172(max#(z0,z2)) 173: newline#7#(#true(),z0,z1,z2) -> c_173(+#(z1,#pos(#s(#0())))) 174: right#(z0) -> c_174(right#1#(z0)) 175: right#1#(::(z0,z1)) -> c_175() 176: right#1#(nil()) -> c_176(#abs#(#0())) * Step 5: PredecessorEstimation. WORST_CASE(?,O(n^2)) + Considered Problem: - Strict DPs: FIRSTLINE#(z0) -> c_8(FIRSTLINE#1#(z0)) FIRSTLINE#1#(::(z0,z1)) -> c_9(#ABS#(#0())) FIRSTLINE#1#(::(z0,z1)) -> c_10(FIRSTLINE#(z1)) LCS#(z0,z1) -> c_12(LCS#1#(lcstable(z0,z1)),lcstable#(z0,z1),LCSTABLE#(z0,z1)) LCS#1#(z0) -> c_13(LCS#2#(z0)) LCS#2#(::(z0,z1)) -> c_14(LCS#3#(z0)) LCS#2#(nil()) -> c_15(#ABS#(#0())) LCS#3#(nil()) -> c_17(#ABS#(#0())) LCSTABLE#(z0,z1) -> c_18(LCSTABLE#1#(z0,z1)) LCSTABLE#1#(::(z0,z1),z2) -> c_19(LCSTABLE#2#(lcstable(z1,z2),z2,z0),lcstable#(z1,z2),LCSTABLE#(z1,z2)) LCSTABLE#1#(nil(),z0) -> c_20(FIRSTLINE#(z0)) LCSTABLE#2#(z0,z1,z2) -> c_21(LCSTABLE#3#(z0,z1,z2)) LCSTABLE#3#(::(z0,z1),z2,z3) -> c_22(NEWLINE#(z3,z0,z2)) MAX#(z0,z1) -> c_24(MAX#1#(#greater(z0,z1),z0,z1),#greater#(z0,z1),#GREATER#(z0,z1)) NEWLINE#(z0,z1,z2) -> c_27(NEWLINE#1#(z2,z1,z0)) NEWLINE#1#(::(z0,z1),z2,z3) -> c_28(NEWLINE#2#(z2,z0,z1,z3)) NEWLINE#2#(::(z0,z1),z2,z3,z4) -> c_30(NEWLINE#3#(newline(z4,z1,z3),z0,z1,z2,z4) ,newline#(z4,z1,z3) ,NEWLINE#(z4,z1,z3)) NEWLINE#3#(z0,z1,z2,z3,z4) -> c_32(NEWLINE#4#(right(z0),z1,z2,z0,z3,z4),right#(z0),RIGHT#(z0)) NEWLINE#4#(z0,z1,z2,z3,z4,z5) -> c_33(NEWLINE#5#(right(z2),z1,z3,z0,z4,z5),right#(z2),RIGHT#(z2)) NEWLINE#5#(z0,z1,z2,z3,z4,z5) -> c_34(NEWLINE#6#(newline#7(#equal(z4,z5),z1,z0,z3),z2) ,newline#7#(#equal(z4,z5),z1,z0,z3) ,#equal#(z4,z5) ,NEWLINE#7#(#equal(z4,z5),z1,z0,z3) ,#equal#(z4,z5) ,#EQUAL#(z4,z5)) NEWLINE#7#(#false(),z0,z1,z2) -> c_36(MAX#(z0,z2)) NEWLINE#7#(#true(),z0,z1,z2) -> c_37(+'#(z1,#pos(#s(#0())))) RIGHT#(z0) -> c_38(RIGHT#1#(z0)) RIGHT#1#(nil()) -> c_40(#ABS#(#0())) - Weak DPs: #ABS#(#0()) -> c_1() #ABS#(#neg(z0)) -> c_2() #ABS#(#pos(z0)) -> c_3() #ABS#(#s(z0)) -> c_4() #ADD#(#0(),z0) -> c_41() #ADD#(#neg(#s(#0())),z0) -> c_42(#PRED#(z0)) #ADD#(#neg(#s(#s(z0))),z1) -> c_43(#PRED#(#add(#pos(#s(z0)),z1)) ,#add#(#pos(#s(z0)),z1) ,#ADD#(#pos(#s(z0)),z1)) #ADD#(#pos(#s(#0())),z0) -> c_44(#SUCC#(z0)) #ADD#(#pos(#s(#s(z0))),z1) -> c_45(#SUCC#(#add(#pos(#s(z0)),z1)) ,#add#(#pos(#s(z0)),z1) ,#ADD#(#pos(#s(z0)),z1)) #AND#(#false(),#false()) -> c_46() #AND#(#false(),#true()) -> c_47() #AND#(#true(),#false()) -> c_48() #AND#(#true(),#true()) -> c_49() #CKGT#(#EQ()) -> c_50() #CKGT#(#GT()) -> c_51() #CKGT#(#LT()) -> c_52() #COMPARE#(#0(),#0()) -> c_53() #COMPARE#(#0(),#neg(z0)) -> c_54() #COMPARE#(#0(),#pos(z0)) -> c_55() #COMPARE#(#0(),#s(z0)) -> c_56() #COMPARE#(#neg(z0),#0()) -> c_57() #COMPARE#(#neg(z0),#neg(z1)) -> c_58(#COMPARE#(z1,z0)) #COMPARE#(#neg(z0),#pos(z1)) -> c_59() #COMPARE#(#pos(z0),#0()) -> c_60() #COMPARE#(#pos(z0),#neg(z1)) -> c_61() #COMPARE#(#pos(z0),#pos(z1)) -> c_62(#COMPARE#(z0,z1)) #COMPARE#(#s(z0),#0()) -> c_63() #COMPARE#(#s(z0),#s(z1)) -> c_64(#COMPARE#(z0,z1)) #EQ'#(#0(),#0()) -> c_65() #EQ'#(#0(),#neg(z0)) -> c_66() #EQ'#(#0(),#pos(z0)) -> c_67() #EQ'#(#0(),#s(z0)) -> c_68() #EQ'#(#neg(z0),#0()) -> c_69() #EQ'#(#neg(z0),#neg(z1)) -> c_70(#EQ'#(z0,z1)) #EQ'#(#neg(z0),#pos(z1)) -> c_71() #EQ'#(#pos(z0),#0()) -> c_72() #EQ'#(#pos(z0),#neg(z1)) -> c_73() #EQ'#(#pos(z0),#pos(z1)) -> c_74(#EQ'#(z0,z1)) #EQ'#(#s(z0),#0()) -> c_75() #EQ'#(#s(z0),#s(z1)) -> c_76(#EQ'#(z0,z1)) #EQ'#(::(z0,z1),::(z2,z3)) -> c_77(#AND#(#eq(z0,z2),#eq(z1,z3)),#eq#(z0,z2),#eq#(z1,z3),#EQ'#(z0,z2)) #EQ'#(::(z0,z1),::(z2,z3)) -> c_78(#AND#(#eq(z0,z2),#eq(z1,z3)),#eq#(z0,z2),#eq#(z1,z3),#EQ'#(z1,z3)) #EQ'#(::(z0,z1),nil()) -> c_79() #EQ'#(nil(),::(z0,z1)) -> c_80() #EQ'#(nil(),nil()) -> c_81() #EQUAL#(z0,z1) -> c_5(#EQ'#(z0,z1)) #GREATER#(z0,z1) -> c_6(#CKGT#(#compare(z0,z1)),#compare#(z0,z1),#COMPARE#(z0,z1)) #PRED#(#0()) -> c_82() #PRED#(#neg(#s(z0))) -> c_83() #PRED#(#pos(#s(#0()))) -> c_84() #PRED#(#pos(#s(#s(z0)))) -> c_85() #SUCC#(#0()) -> c_86() #SUCC#(#neg(#s(#0()))) -> c_87() #SUCC#(#neg(#s(#s(z0)))) -> c_88() #SUCC#(#pos(#s(z0))) -> c_89() #abs#(#0()) -> c_90() #abs#(#neg(z0)) -> c_91() #abs#(#pos(z0)) -> c_92() #abs#(#s(z0)) -> c_93() #add#(#0(),z0) -> c_94() #add#(#neg(#s(#0())),z0) -> c_95(#pred#(z0)) #add#(#neg(#s(#s(z0))),z1) -> c_96(#pred#(#add(#pos(#s(z0)),z1)),#add#(#pos(#s(z0)),z1)) #add#(#pos(#s(#0())),z0) -> c_97(#succ#(z0)) #add#(#pos(#s(#s(z0))),z1) -> c_98(#succ#(#add(#pos(#s(z0)),z1)),#add#(#pos(#s(z0)),z1)) #and#(#false(),#false()) -> c_99() #and#(#false(),#true()) -> c_100() #and#(#true(),#false()) -> c_101() #and#(#true(),#true()) -> c_102() #ckgt#(#EQ()) -> c_103() #ckgt#(#GT()) -> c_104() #ckgt#(#LT()) -> c_105() #compare#(#0(),#0()) -> c_106() #compare#(#0(),#neg(z0)) -> c_107() #compare#(#0(),#pos(z0)) -> c_108() #compare#(#0(),#s(z0)) -> c_109() #compare#(#neg(z0),#0()) -> c_110() #compare#(#neg(z0),#neg(z1)) -> c_111(#compare#(z1,z0)) #compare#(#neg(z0),#pos(z1)) -> c_112() #compare#(#pos(z0),#0()) -> c_113() #compare#(#pos(z0),#neg(z1)) -> c_114() #compare#(#pos(z0),#pos(z1)) -> c_115(#compare#(z0,z1)) #compare#(#s(z0),#0()) -> c_116() #compare#(#s(z0),#s(z1)) -> c_117(#compare#(z0,z1)) #eq#(#0(),#0()) -> c_118() #eq#(#0(),#neg(z0)) -> c_119() #eq#(#0(),#pos(z0)) -> c_120() #eq#(#0(),#s(z0)) -> c_121() #eq#(#neg(z0),#0()) -> c_122() #eq#(#neg(z0),#neg(z1)) -> c_123(#eq#(z0,z1)) #eq#(#neg(z0),#pos(z1)) -> c_124() #eq#(#pos(z0),#0()) -> c_125() #eq#(#pos(z0),#neg(z1)) -> c_126() #eq#(#pos(z0),#pos(z1)) -> c_127(#eq#(z0,z1)) #eq#(#s(z0),#0()) -> c_128() #eq#(#s(z0),#s(z1)) -> c_129(#eq#(z0,z1)) #eq#(::(z0,z1),::(z2,z3)) -> c_130(#and#(#eq(z0,z2),#eq(z1,z3)),#eq#(z0,z2),#eq#(z1,z3)) #eq#(::(z0,z1),nil()) -> c_131() #eq#(nil(),::(z0,z1)) -> c_132() #eq#(nil(),nil()) -> c_133() #equal#(z0,z1) -> c_134(#eq#(z0,z1)) #greater#(z0,z1) -> c_135(#ckgt#(#compare(z0,z1)),#compare#(z0,z1)) #pred#(#0()) -> c_136() #pred#(#neg(#s(z0))) -> c_137() #pred#(#pos(#s(#0()))) -> c_138() #pred#(#pos(#s(#s(z0)))) -> c_139() #succ#(#0()) -> c_140() #succ#(#neg(#s(#0()))) -> c_141() #succ#(#neg(#s(#s(z0)))) -> c_142() #succ#(#pos(#s(z0))) -> c_143() +#(z0,z1) -> c_144(#add#(z0,z1)) +'#(z0,z1) -> c_7(#ADD#(z0,z1)) FIRSTLINE#1#(nil()) -> c_11() LCS#3#(::(z0,z1)) -> c_16() LCSTABLE#3#(nil(),z0,z1) -> c_23() MAX#1#(#false(),z0,z1) -> c_25() MAX#1#(#true(),z0,z1) -> c_26() NEWLINE#1#(nil(),z0,z1) -> c_29() NEWLINE#2#(nil(),z0,z1,z2) -> c_31() NEWLINE#6#(z0,z1) -> c_35() RIGHT#1#(::(z0,z1)) -> c_39() firstline#(z0) -> c_145(firstline#1#(z0)) firstline#1#(::(z0,z1)) -> c_146(#abs#(#0()),firstline#(z1)) firstline#1#(nil()) -> c_147() lcs#(z0,z1) -> c_148(lcs#1#(lcstable(z0,z1)),lcstable#(z0,z1)) lcs#1#(z0) -> c_149(lcs#2#(z0)) lcs#2#(::(z0,z1)) -> c_150(lcs#3#(z0)) lcs#2#(nil()) -> c_151(#abs#(#0())) lcs#3#(::(z0,z1)) -> c_152() lcs#3#(nil()) -> c_153(#abs#(#0())) lcstable#(z0,z1) -> c_154(lcstable#1#(z0,z1)) lcstable#1#(::(z0,z1),z2) -> c_155(lcstable#2#(lcstable(z1,z2),z2,z0),lcstable#(z1,z2)) lcstable#1#(nil(),z0) -> c_156(firstline#(z0)) lcstable#2#(z0,z1,z2) -> c_157(lcstable#3#(z0,z1,z2)) lcstable#3#(::(z0,z1),z2,z3) -> c_158(newline#(z3,z0,z2)) lcstable#3#(nil(),z0,z1) -> c_159() max#(z0,z1) -> c_160(max#1#(#greater(z0,z1),z0,z1),#greater#(z0,z1)) max#1#(#false(),z0,z1) -> c_161() max#1#(#true(),z0,z1) -> c_162() newline#(z0,z1,z2) -> c_163(newline#1#(z2,z1,z0)) newline#1#(::(z0,z1),z2,z3) -> c_164(newline#2#(z2,z0,z1,z3)) newline#1#(nil(),z0,z1) -> c_165() newline#2#(::(z0,z1),z2,z3,z4) -> c_166(newline#3#(newline(z4,z1,z3),z0,z1,z2,z4),newline#(z4,z1,z3)) newline#2#(nil(),z0,z1,z2) -> c_167() newline#3#(z0,z1,z2,z3,z4) -> c_168(newline#4#(right(z0),z1,z2,z0,z3,z4),right#(z0)) newline#4#(z0,z1,z2,z3,z4,z5) -> c_169(newline#5#(right(z2),z1,z3,z0,z4,z5),right#(z2)) newline#5#(z0,z1,z2,z3,z4,z5) -> c_170(newline#6#(newline#7(#equal(z4,z5),z1,z0,z3),z2) ,newline#7#(#equal(z4,z5),z1,z0,z3) ,#equal#(z4,z5)) newline#6#(z0,z1) -> c_171() newline#7#(#false(),z0,z1,z2) -> c_172(max#(z0,z2)) newline#7#(#true(),z0,z1,z2) -> c_173(+#(z1,#pos(#s(#0())))) right#(z0) -> c_174(right#1#(z0)) right#1#(::(z0,z1)) -> c_175() right#1#(nil()) -> c_176(#abs#(#0())) - Weak TRS: #abs(#0()) -> #0() #add(#0(),z0) -> z0 #add(#neg(#s(#0())),z0) -> #pred(z0) #add(#neg(#s(#s(z0))),z1) -> #pred(#add(#pos(#s(z0)),z1)) #add(#pos(#s(#0())),z0) -> #succ(z0) #add(#pos(#s(#s(z0))),z1) -> #succ(#add(#pos(#s(z0)),z1)) #and(#false(),#false()) -> #false() #and(#false(),#true()) -> #false() #and(#true(),#false()) -> #false() #and(#true(),#true()) -> #true() #ckgt(#EQ()) -> #false() #ckgt(#GT()) -> #true() #ckgt(#LT()) -> #false() #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) #greater(z0,z1) -> #ckgt(#compare(z0,z1)) #pred(#0()) -> #neg(#s(#0())) #pred(#neg(#s(z0))) -> #neg(#s(#s(z0))) #pred(#pos(#s(#0()))) -> #0() #pred(#pos(#s(#s(z0)))) -> #pos(#s(z0)) #succ(#0()) -> #pos(#s(#0())) #succ(#neg(#s(#0()))) -> #0() #succ(#neg(#s(#s(z0)))) -> #neg(#s(z0)) #succ(#pos(#s(z0))) -> #pos(#s(#s(z0))) +(z0,z1) -> #add(z0,z1) firstline(z0) -> firstline#1(z0) firstline#1(::(z0,z1)) -> ::(#abs(#0()),firstline(z1)) firstline#1(nil()) -> nil() lcstable(z0,z1) -> lcstable#1(z0,z1) lcstable#1(::(z0,z1),z2) -> lcstable#2(lcstable(z1,z2),z2,z0) lcstable#1(nil(),z0) -> ::(firstline(z0),nil()) lcstable#2(z0,z1,z2) -> lcstable#3(z0,z1,z2) lcstable#3(::(z0,z1),z2,z3) -> ::(newline(z3,z0,z2),::(z0,z1)) lcstable#3(nil(),z0,z1) -> nil() max(z0,z1) -> max#1(#greater(z0,z1),z0,z1) max#1(#false(),z0,z1) -> z1 max#1(#true(),z0,z1) -> z0 newline(z0,z1,z2) -> newline#1(z2,z1,z0) newline#1(::(z0,z1),z2,z3) -> newline#2(z2,z0,z1,z3) newline#1(nil(),z0,z1) -> nil() newline#2(::(z0,z1),z2,z3,z4) -> newline#3(newline(z4,z1,z3),z0,z1,z2,z4) newline#2(nil(),z0,z1,z2) -> nil() newline#3(z0,z1,z2,z3,z4) -> newline#4(right(z0),z1,z2,z0,z3,z4) newline#4(z0,z1,z2,z3,z4,z5) -> newline#5(right(z2),z1,z3,z0,z4,z5) newline#5(z0,z1,z2,z3,z4,z5) -> newline#6(newline#7(#equal(z4,z5),z1,z0,z3),z2) newline#6(z0,z1) -> ::(z0,z1) newline#7(#false(),z0,z1,z2) -> max(z0,z2) newline#7(#true(),z0,z1,z2) -> +(z1,#pos(#s(#0()))) right(z0) -> right#1(z0) right#1(::(z0,z1)) -> z0 right#1(nil()) -> #abs(#0()) - Signature: {#ABS/1,#ADD/2,#AND/2,#CKGT/1,#COMPARE/2,#EQ'/2,#EQUAL/2,#GREATER/2,#PRED/1,#SUCC/1,#abs/1,#add/2,#and/2 ,#ckgt/1,#compare/2,#eq/2,#equal/2,#greater/2,#pred/1,#succ/1,+/2,+'/2,FIRSTLINE/1,FIRSTLINE#1/1,LCS/2 ,LCS#1/1,LCS#2/1,LCS#3/1,LCSTABLE/2,LCSTABLE#1/2,LCSTABLE#2/3,LCSTABLE#3/3,MAX/2,MAX#1/3,NEWLINE/3 ,NEWLINE#1/3,NEWLINE#2/4,NEWLINE#3/5,NEWLINE#4/6,NEWLINE#5/6,NEWLINE#6/2,NEWLINE#7/4,RIGHT/1,RIGHT#1/1 ,firstline/1,firstline#1/1,lcs/2,lcs#1/1,lcs#2/1,lcs#3/1,lcstable/2,lcstable#1/2,lcstable#2/3,lcstable#3/3 ,max/2,max#1/3,newline/3,newline#1/3,newline#2/4,newline#3/5,newline#4/6,newline#5/6,newline#6/2,newline#7/4 ,right/1,right#1/1,#ABS#/1,#ADD#/2,#AND#/2,#CKGT#/1,#COMPARE#/2,#EQ'#/2,#EQUAL#/2,#GREATER#/2,#PRED#/1 ,#SUCC#/1,#abs#/1,#add#/2,#and#/2,#ckgt#/1,#compare#/2,#eq#/2,#equal#/2,#greater#/2,#pred#/1,#succ#/1,+#/2 ,+'#/2,FIRSTLINE#/1,FIRSTLINE#1#/1,LCS#/2,LCS#1#/1,LCS#2#/1,LCS#3#/1,LCSTABLE#/2,LCSTABLE#1#/2,LCSTABLE#2#/3 ,LCSTABLE#3#/3,MAX#/2,MAX#1#/3,NEWLINE#/3,NEWLINE#1#/3,NEWLINE#2#/4,NEWLINE#3#/5,NEWLINE#4#/6,NEWLINE#5#/6 ,NEWLINE#6#/2,NEWLINE#7#/4,RIGHT#/1,RIGHT#1#/1,firstline#/1,firstline#1#/1,lcs#/2,lcs#1#/1,lcs#2#/1,lcs#3#/1 ,lcstable#/2,lcstable#1#/2,lcstable#2#/3,lcstable#3#/3,max#/2,max#1#/3,newline#/3,newline#1#/3,newline#2#/4 ,newline#3#/5,newline#4#/6,newline#5#/6,newline#6#/2,newline#7#/4,right#/1,right#1#/1} / {#0/0,#EQ/0,#GT/0 ,#LT/0,#false/0,#neg/1,#pos/1,#s/1,#true/0,::/2,c/0,c1/1,c10/0,c11/0,c12/0,c13/0,c14/0,c15/0,c16/0,c17/1 ,c18/0,c19/0,c2/2,c20/0,c21/1,c22/0,c23/1,c24/0,c25/0,c26/0,c27/0,c28/0,c29/1,c3/1,c30/0,c31/0,c32/0,c33/1 ,c34/0,c35/1,c36/2,c37/2,c38/0,c39/0,c4/2,c40/0,c41/0,c42/0,c43/0,c44/0,c45/0,c46/0,c47/0,c48/0,c49/0,c5/0 ,c50/0,c51/0,c52/0,c53/1,c54/2,c55/1,c56/1,c57/1,c58/1,c59/0,c6/0,c60/2,c61/1,c62/1,c63/1,c64/0,c65/1,c66/1 ,c67/2,c68/1,c69/1,c7/0,c70/1,c71/0,c72/2,c73/0,c74/0,c75/1,c76/1,c77/0,c78/2,c79/0,c8/0,c80/2,c81/2,c82/3 ,c83/0,c84/1,c85/1,c86/1,c87/0,c88/1,c9/0,nil/0,c_1/0,c_2/0,c_3/0,c_4/0,c_5/1,c_6/3,c_7/1,c_8/1,c_9/1,c_10/1 ,c_11/0,c_12/3,c_13/1,c_14/1,c_15/1,c_16/0,c_17/1,c_18/1,c_19/3,c_20/1,c_21/1,c_22/1,c_23/0,c_24/3,c_25/0 ,c_26/0,c_27/1,c_28/1,c_29/0,c_30/3,c_31/0,c_32/3,c_33/3,c_34/6,c_35/0,c_36/1,c_37/1,c_38/1,c_39/0,c_40/1 ,c_41/0,c_42/1,c_43/3,c_44/1,c_45/3,c_46/0,c_47/0,c_48/0,c_49/0,c_50/0,c_51/0,c_52/0,c_53/0,c_54/0,c_55/0 ,c_56/0,c_57/0,c_58/1,c_59/0,c_60/0,c_61/0,c_62/1,c_63/0,c_64/1,c_65/0,c_66/0,c_67/0,c_68/0,c_69/0,c_70/1 ,c_71/0,c_72/0,c_73/0,c_74/1,c_75/0,c_76/1,c_77/4,c_78/4,c_79/0,c_80/0,c_81/0,c_82/0,c_83/0,c_84/0,c_85/0 ,c_86/0,c_87/0,c_88/0,c_89/0,c_90/0,c_91/0,c_92/0,c_93/0,c_94/0,c_95/1,c_96/2,c_97/1,c_98/2,c_99/0,c_100/0 ,c_101/0,c_102/0,c_103/0,c_104/0,c_105/0,c_106/0,c_107/0,c_108/0,c_109/0,c_110/0,c_111/1,c_112/0,c_113/0 ,c_114/0,c_115/1,c_116/0,c_117/1,c_118/0,c_119/0,c_120/0,c_121/0,c_122/0,c_123/1,c_124/0,c_125/0,c_126/0 ,c_127/1,c_128/0,c_129/1,c_130/3,c_131/0,c_132/0,c_133/0,c_134/1,c_135/2,c_136/0,c_137/0,c_138/0,c_139/0 ,c_140/0,c_141/0,c_142/0,c_143/0,c_144/1,c_145/1,c_146/2,c_147/0,c_148/2,c_149/1,c_150/1,c_151/1,c_152/0 ,c_153/1,c_154/1,c_155/2,c_156/1,c_157/1,c_158/1,c_159/0,c_160/2,c_161/0,c_162/0,c_163/1,c_164/1,c_165/0 ,c_166/2,c_167/0,c_168/2,c_169/2,c_170/3,c_171/0,c_172/1,c_173/1,c_174/1,c_175/0,c_176/1} - Obligation: innermost runtime complexity wrt. defined symbols {#ABS#,#ADD#,#AND#,#CKGT#,#COMPARE#,#EQ'#,#EQUAL# ,#GREATER#,#PRED#,#SUCC#,#abs#,#add#,#and#,#ckgt#,#compare#,#eq#,#equal#,#greater#,#pred#,#succ#,+#,+'# ,FIRSTLINE#,FIRSTLINE#1#,LCS#,LCS#1#,LCS#2#,LCS#3#,LCSTABLE#,LCSTABLE#1#,LCSTABLE#2#,LCSTABLE#3#,MAX#,MAX#1# ,NEWLINE#,NEWLINE#1#,NEWLINE#2#,NEWLINE#3#,NEWLINE#4#,NEWLINE#5#,NEWLINE#6#,NEWLINE#7#,RIGHT#,RIGHT#1# ,firstline#,firstline#1#,lcs#,lcs#1#,lcs#2#,lcs#3#,lcstable#,lcstable#1#,lcstable#2#,lcstable#3#,max#,max#1# ,newline#,newline#1#,newline#2#,newline#3#,newline#4#,newline#5#,newline#6#,newline#7#,right# ,right#1#} 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,c59,c6,c60,c61,c62,c63,c64,c65 ,c66,c67,c68,c69,c7,c70,c71,c72,c73,c74,c75,c76,c77,c78,c79,c8,c80,c81,c82,c83,c84,c85,c86,c87,c88,c9,nil} + Applied Processor: PredecessorEstimation {onSelection = all simple predecessor estimation selector} + Details: We estimate the number of application of {2,7,8,14,22,24} by application of Pre({2,7,8,14,22,24}) = {1,5,6,20,21,23}. Here rules are labelled as follows: 1: FIRSTLINE#(z0) -> c_8(FIRSTLINE#1#(z0)) 2: FIRSTLINE#1#(::(z0,z1)) -> c_9(#ABS#(#0())) 3: FIRSTLINE#1#(::(z0,z1)) -> c_10(FIRSTLINE#(z1)) 4: LCS#(z0,z1) -> c_12(LCS#1#(lcstable(z0,z1)),lcstable#(z0,z1),LCSTABLE#(z0,z1)) 5: LCS#1#(z0) -> c_13(LCS#2#(z0)) 6: LCS#2#(::(z0,z1)) -> c_14(LCS#3#(z0)) 7: LCS#2#(nil()) -> c_15(#ABS#(#0())) 8: LCS#3#(nil()) -> c_17(#ABS#(#0())) 9: LCSTABLE#(z0,z1) -> c_18(LCSTABLE#1#(z0,z1)) 10: LCSTABLE#1#(::(z0,z1),z2) -> c_19(LCSTABLE#2#(lcstable(z1,z2),z2,z0),lcstable#(z1,z2),LCSTABLE#(z1,z2)) 11: LCSTABLE#1#(nil(),z0) -> c_20(FIRSTLINE#(z0)) 12: LCSTABLE#2#(z0,z1,z2) -> c_21(LCSTABLE#3#(z0,z1,z2)) 13: LCSTABLE#3#(::(z0,z1),z2,z3) -> c_22(NEWLINE#(z3,z0,z2)) 14: MAX#(z0,z1) -> c_24(MAX#1#(#greater(z0,z1),z0,z1),#greater#(z0,z1),#GREATER#(z0,z1)) 15: NEWLINE#(z0,z1,z2) -> c_27(NEWLINE#1#(z2,z1,z0)) 16: NEWLINE#1#(::(z0,z1),z2,z3) -> c_28(NEWLINE#2#(z2,z0,z1,z3)) 17: NEWLINE#2#(::(z0,z1),z2,z3,z4) -> c_30(NEWLINE#3#(newline(z4,z1,z3),z0,z1,z2,z4) ,newline#(z4,z1,z3) ,NEWLINE#(z4,z1,z3)) 18: NEWLINE#3#(z0,z1,z2,z3,z4) -> c_32(NEWLINE#4#(right(z0),z1,z2,z0,z3,z4),right#(z0),RIGHT#(z0)) 19: NEWLINE#4#(z0,z1,z2,z3,z4,z5) -> c_33(NEWLINE#5#(right(z2),z1,z3,z0,z4,z5),right#(z2),RIGHT#(z2)) 20: NEWLINE#5#(z0,z1,z2,z3,z4,z5) -> c_34(NEWLINE#6#(newline#7(#equal(z4,z5),z1,z0,z3),z2) ,newline#7#(#equal(z4,z5),z1,z0,z3) ,#equal#(z4,z5) ,NEWLINE#7#(#equal(z4,z5),z1,z0,z3) ,#equal#(z4,z5) ,#EQUAL#(z4,z5)) 21: NEWLINE#7#(#false(),z0,z1,z2) -> c_36(MAX#(z0,z2)) 22: NEWLINE#7#(#true(),z0,z1,z2) -> c_37(+'#(z1,#pos(#s(#0())))) 23: RIGHT#(z0) -> c_38(RIGHT#1#(z0)) 24: RIGHT#1#(nil()) -> c_40(#ABS#(#0())) 25: #ABS#(#0()) -> c_1() 26: #ABS#(#neg(z0)) -> c_2() 27: #ABS#(#pos(z0)) -> c_3() 28: #ABS#(#s(z0)) -> c_4() 29: #ADD#(#0(),z0) -> c_41() 30: #ADD#(#neg(#s(#0())),z0) -> c_42(#PRED#(z0)) 31: #ADD#(#neg(#s(#s(z0))),z1) -> c_43(#PRED#(#add(#pos(#s(z0)),z1)) ,#add#(#pos(#s(z0)),z1) ,#ADD#(#pos(#s(z0)),z1)) 32: #ADD#(#pos(#s(#0())),z0) -> c_44(#SUCC#(z0)) 33: #ADD#(#pos(#s(#s(z0))),z1) -> c_45(#SUCC#(#add(#pos(#s(z0)),z1)) ,#add#(#pos(#s(z0)),z1) ,#ADD#(#pos(#s(z0)),z1)) 34: #AND#(#false(),#false()) -> c_46() 35: #AND#(#false(),#true()) -> c_47() 36: #AND#(#true(),#false()) -> c_48() 37: #AND#(#true(),#true()) -> c_49() 38: #CKGT#(#EQ()) -> c_50() 39: #CKGT#(#GT()) -> c_51() 40: #CKGT#(#LT()) -> c_52() 41: #COMPARE#(#0(),#0()) -> c_53() 42: #COMPARE#(#0(),#neg(z0)) -> c_54() 43: #COMPARE#(#0(),#pos(z0)) -> c_55() 44: #COMPARE#(#0(),#s(z0)) -> c_56() 45: #COMPARE#(#neg(z0),#0()) -> c_57() 46: #COMPARE#(#neg(z0),#neg(z1)) -> c_58(#COMPARE#(z1,z0)) 47: #COMPARE#(#neg(z0),#pos(z1)) -> c_59() 48: #COMPARE#(#pos(z0),#0()) -> c_60() 49: #COMPARE#(#pos(z0),#neg(z1)) -> c_61() 50: #COMPARE#(#pos(z0),#pos(z1)) -> c_62(#COMPARE#(z0,z1)) 51: #COMPARE#(#s(z0),#0()) -> c_63() 52: #COMPARE#(#s(z0),#s(z1)) -> c_64(#COMPARE#(z0,z1)) 53: #EQ'#(#0(),#0()) -> c_65() 54: #EQ'#(#0(),#neg(z0)) -> c_66() 55: #EQ'#(#0(),#pos(z0)) -> c_67() 56: #EQ'#(#0(),#s(z0)) -> c_68() 57: #EQ'#(#neg(z0),#0()) -> c_69() 58: #EQ'#(#neg(z0),#neg(z1)) -> c_70(#EQ'#(z0,z1)) 59: #EQ'#(#neg(z0),#pos(z1)) -> c_71() 60: #EQ'#(#pos(z0),#0()) -> c_72() 61: #EQ'#(#pos(z0),#neg(z1)) -> c_73() 62: #EQ'#(#pos(z0),#pos(z1)) -> c_74(#EQ'#(z0,z1)) 63: #EQ'#(#s(z0),#0()) -> c_75() 64: #EQ'#(#s(z0),#s(z1)) -> c_76(#EQ'#(z0,z1)) 65: #EQ'#(::(z0,z1),::(z2,z3)) -> c_77(#AND#(#eq(z0,z2),#eq(z1,z3)),#eq#(z0,z2),#eq#(z1,z3),#EQ'#(z0,z2)) 66: #EQ'#(::(z0,z1),::(z2,z3)) -> c_78(#AND#(#eq(z0,z2),#eq(z1,z3)),#eq#(z0,z2),#eq#(z1,z3),#EQ'#(z1,z3)) 67: #EQ'#(::(z0,z1),nil()) -> c_79() 68: #EQ'#(nil(),::(z0,z1)) -> c_80() 69: #EQ'#(nil(),nil()) -> c_81() 70: #EQUAL#(z0,z1) -> c_5(#EQ'#(z0,z1)) 71: #GREATER#(z0,z1) -> c_6(#CKGT#(#compare(z0,z1)),#compare#(z0,z1),#COMPARE#(z0,z1)) 72: #PRED#(#0()) -> c_82() 73: #PRED#(#neg(#s(z0))) -> c_83() 74: #PRED#(#pos(#s(#0()))) -> c_84() 75: #PRED#(#pos(#s(#s(z0)))) -> c_85() 76: #SUCC#(#0()) -> c_86() 77: #SUCC#(#neg(#s(#0()))) -> c_87() 78: #SUCC#(#neg(#s(#s(z0)))) -> c_88() 79: #SUCC#(#pos(#s(z0))) -> c_89() 80: #abs#(#0()) -> c_90() 81: #abs#(#neg(z0)) -> c_91() 82: #abs#(#pos(z0)) -> c_92() 83: #abs#(#s(z0)) -> c_93() 84: #add#(#0(),z0) -> c_94() 85: #add#(#neg(#s(#0())),z0) -> c_95(#pred#(z0)) 86: #add#(#neg(#s(#s(z0))),z1) -> c_96(#pred#(#add(#pos(#s(z0)),z1)),#add#(#pos(#s(z0)),z1)) 87: #add#(#pos(#s(#0())),z0) -> c_97(#succ#(z0)) 88: #add#(#pos(#s(#s(z0))),z1) -> c_98(#succ#(#add(#pos(#s(z0)),z1)),#add#(#pos(#s(z0)),z1)) 89: #and#(#false(),#false()) -> c_99() 90: #and#(#false(),#true()) -> c_100() 91: #and#(#true(),#false()) -> c_101() 92: #and#(#true(),#true()) -> c_102() 93: #ckgt#(#EQ()) -> c_103() 94: #ckgt#(#GT()) -> c_104() 95: #ckgt#(#LT()) -> c_105() 96: #compare#(#0(),#0()) -> c_106() 97: #compare#(#0(),#neg(z0)) -> c_107() 98: #compare#(#0(),#pos(z0)) -> c_108() 99: #compare#(#0(),#s(z0)) -> c_109() 100: #compare#(#neg(z0),#0()) -> c_110() 101: #compare#(#neg(z0),#neg(z1)) -> c_111(#compare#(z1,z0)) 102: #compare#(#neg(z0),#pos(z1)) -> c_112() 103: #compare#(#pos(z0),#0()) -> c_113() 104: #compare#(#pos(z0),#neg(z1)) -> c_114() 105: #compare#(#pos(z0),#pos(z1)) -> c_115(#compare#(z0,z1)) 106: #compare#(#s(z0),#0()) -> c_116() 107: #compare#(#s(z0),#s(z1)) -> c_117(#compare#(z0,z1)) 108: #eq#(#0(),#0()) -> c_118() 109: #eq#(#0(),#neg(z0)) -> c_119() 110: #eq#(#0(),#pos(z0)) -> c_120() 111: #eq#(#0(),#s(z0)) -> c_121() 112: #eq#(#neg(z0),#0()) -> c_122() 113: #eq#(#neg(z0),#neg(z1)) -> c_123(#eq#(z0,z1)) 114: #eq#(#neg(z0),#pos(z1)) -> c_124() 115: #eq#(#pos(z0),#0()) -> c_125() 116: #eq#(#pos(z0),#neg(z1)) -> c_126() 117: #eq#(#pos(z0),#pos(z1)) -> c_127(#eq#(z0,z1)) 118: #eq#(#s(z0),#0()) -> c_128() 119: #eq#(#s(z0),#s(z1)) -> c_129(#eq#(z0,z1)) 120: #eq#(::(z0,z1),::(z2,z3)) -> c_130(#and#(#eq(z0,z2),#eq(z1,z3)),#eq#(z0,z2),#eq#(z1,z3)) 121: #eq#(::(z0,z1),nil()) -> c_131() 122: #eq#(nil(),::(z0,z1)) -> c_132() 123: #eq#(nil(),nil()) -> c_133() 124: #equal#(z0,z1) -> c_134(#eq#(z0,z1)) 125: #greater#(z0,z1) -> c_135(#ckgt#(#compare(z0,z1)),#compare#(z0,z1)) 126: #pred#(#0()) -> c_136() 127: #pred#(#neg(#s(z0))) -> c_137() 128: #pred#(#pos(#s(#0()))) -> c_138() 129: #pred#(#pos(#s(#s(z0)))) -> c_139() 130: #succ#(#0()) -> c_140() 131: #succ#(#neg(#s(#0()))) -> c_141() 132: #succ#(#neg(#s(#s(z0)))) -> c_142() 133: #succ#(#pos(#s(z0))) -> c_143() 134: +#(z0,z1) -> c_144(#add#(z0,z1)) 135: +'#(z0,z1) -> c_7(#ADD#(z0,z1)) 136: FIRSTLINE#1#(nil()) -> c_11() 137: LCS#3#(::(z0,z1)) -> c_16() 138: LCSTABLE#3#(nil(),z0,z1) -> c_23() 139: MAX#1#(#false(),z0,z1) -> c_25() 140: MAX#1#(#true(),z0,z1) -> c_26() 141: NEWLINE#1#(nil(),z0,z1) -> c_29() 142: NEWLINE#2#(nil(),z0,z1,z2) -> c_31() 143: NEWLINE#6#(z0,z1) -> c_35() 144: RIGHT#1#(::(z0,z1)) -> c_39() 145: firstline#(z0) -> c_145(firstline#1#(z0)) 146: firstline#1#(::(z0,z1)) -> c_146(#abs#(#0()),firstline#(z1)) 147: firstline#1#(nil()) -> c_147() 148: lcs#(z0,z1) -> c_148(lcs#1#(lcstable(z0,z1)),lcstable#(z0,z1)) 149: lcs#1#(z0) -> c_149(lcs#2#(z0)) 150: lcs#2#(::(z0,z1)) -> c_150(lcs#3#(z0)) 151: lcs#2#(nil()) -> c_151(#abs#(#0())) 152: lcs#3#(::(z0,z1)) -> c_152() 153: lcs#3#(nil()) -> c_153(#abs#(#0())) 154: lcstable#(z0,z1) -> c_154(lcstable#1#(z0,z1)) 155: lcstable#1#(::(z0,z1),z2) -> c_155(lcstable#2#(lcstable(z1,z2),z2,z0),lcstable#(z1,z2)) 156: lcstable#1#(nil(),z0) -> c_156(firstline#(z0)) 157: lcstable#2#(z0,z1,z2) -> c_157(lcstable#3#(z0,z1,z2)) 158: lcstable#3#(::(z0,z1),z2,z3) -> c_158(newline#(z3,z0,z2)) 159: lcstable#3#(nil(),z0,z1) -> c_159() 160: max#(z0,z1) -> c_160(max#1#(#greater(z0,z1),z0,z1),#greater#(z0,z1)) 161: max#1#(#false(),z0,z1) -> c_161() 162: max#1#(#true(),z0,z1) -> c_162() 163: newline#(z0,z1,z2) -> c_163(newline#1#(z2,z1,z0)) 164: newline#1#(::(z0,z1),z2,z3) -> c_164(newline#2#(z2,z0,z1,z3)) 165: newline#1#(nil(),z0,z1) -> c_165() 166: newline#2#(::(z0,z1),z2,z3,z4) -> c_166(newline#3#(newline(z4,z1,z3),z0,z1,z2,z4),newline#(z4,z1,z3)) 167: newline#2#(nil(),z0,z1,z2) -> c_167() 168: newline#3#(z0,z1,z2,z3,z4) -> c_168(newline#4#(right(z0),z1,z2,z0,z3,z4),right#(z0)) 169: newline#4#(z0,z1,z2,z3,z4,z5) -> c_169(newline#5#(right(z2),z1,z3,z0,z4,z5),right#(z2)) 170: newline#5#(z0,z1,z2,z3,z4,z5) -> c_170(newline#6#(newline#7(#equal(z4,z5),z1,z0,z3),z2) ,newline#7#(#equal(z4,z5),z1,z0,z3) ,#equal#(z4,z5)) 171: newline#6#(z0,z1) -> c_171() 172: newline#7#(#false(),z0,z1,z2) -> c_172(max#(z0,z2)) 173: newline#7#(#true(),z0,z1,z2) -> c_173(+#(z1,#pos(#s(#0())))) 174: right#(z0) -> c_174(right#1#(z0)) 175: right#1#(::(z0,z1)) -> c_175() 176: right#1#(nil()) -> c_176(#abs#(#0())) * Step 6: PredecessorEstimation. WORST_CASE(?,O(n^2)) + Considered Problem: - Strict DPs: FIRSTLINE#(z0) -> c_8(FIRSTLINE#1#(z0)) FIRSTLINE#1#(::(z0,z1)) -> c_10(FIRSTLINE#(z1)) LCS#(z0,z1) -> c_12(LCS#1#(lcstable(z0,z1)),lcstable#(z0,z1),LCSTABLE#(z0,z1)) LCS#1#(z0) -> c_13(LCS#2#(z0)) LCS#2#(::(z0,z1)) -> c_14(LCS#3#(z0)) LCSTABLE#(z0,z1) -> c_18(LCSTABLE#1#(z0,z1)) LCSTABLE#1#(::(z0,z1),z2) -> c_19(LCSTABLE#2#(lcstable(z1,z2),z2,z0),lcstable#(z1,z2),LCSTABLE#(z1,z2)) LCSTABLE#1#(nil(),z0) -> c_20(FIRSTLINE#(z0)) LCSTABLE#2#(z0,z1,z2) -> c_21(LCSTABLE#3#(z0,z1,z2)) LCSTABLE#3#(::(z0,z1),z2,z3) -> c_22(NEWLINE#(z3,z0,z2)) NEWLINE#(z0,z1,z2) -> c_27(NEWLINE#1#(z2,z1,z0)) NEWLINE#1#(::(z0,z1),z2,z3) -> c_28(NEWLINE#2#(z2,z0,z1,z3)) NEWLINE#2#(::(z0,z1),z2,z3,z4) -> c_30(NEWLINE#3#(newline(z4,z1,z3),z0,z1,z2,z4) ,newline#(z4,z1,z3) ,NEWLINE#(z4,z1,z3)) NEWLINE#3#(z0,z1,z2,z3,z4) -> c_32(NEWLINE#4#(right(z0),z1,z2,z0,z3,z4),right#(z0),RIGHT#(z0)) NEWLINE#4#(z0,z1,z2,z3,z4,z5) -> c_33(NEWLINE#5#(right(z2),z1,z3,z0,z4,z5),right#(z2),RIGHT#(z2)) NEWLINE#5#(z0,z1,z2,z3,z4,z5) -> c_34(NEWLINE#6#(newline#7(#equal(z4,z5),z1,z0,z3),z2) ,newline#7#(#equal(z4,z5),z1,z0,z3) ,#equal#(z4,z5) ,NEWLINE#7#(#equal(z4,z5),z1,z0,z3) ,#equal#(z4,z5) ,#EQUAL#(z4,z5)) NEWLINE#7#(#false(),z0,z1,z2) -> c_36(MAX#(z0,z2)) RIGHT#(z0) -> c_38(RIGHT#1#(z0)) - Weak DPs: #ABS#(#0()) -> c_1() #ABS#(#neg(z0)) -> c_2() #ABS#(#pos(z0)) -> c_3() #ABS#(#s(z0)) -> c_4() #ADD#(#0(),z0) -> c_41() #ADD#(#neg(#s(#0())),z0) -> c_42(#PRED#(z0)) #ADD#(#neg(#s(#s(z0))),z1) -> c_43(#PRED#(#add(#pos(#s(z0)),z1)) ,#add#(#pos(#s(z0)),z1) ,#ADD#(#pos(#s(z0)),z1)) #ADD#(#pos(#s(#0())),z0) -> c_44(#SUCC#(z0)) #ADD#(#pos(#s(#s(z0))),z1) -> c_45(#SUCC#(#add(#pos(#s(z0)),z1)) ,#add#(#pos(#s(z0)),z1) ,#ADD#(#pos(#s(z0)),z1)) #AND#(#false(),#false()) -> c_46() #AND#(#false(),#true()) -> c_47() #AND#(#true(),#false()) -> c_48() #AND#(#true(),#true()) -> c_49() #CKGT#(#EQ()) -> c_50() #CKGT#(#GT()) -> c_51() #CKGT#(#LT()) -> c_52() #COMPARE#(#0(),#0()) -> c_53() #COMPARE#(#0(),#neg(z0)) -> c_54() #COMPARE#(#0(),#pos(z0)) -> c_55() #COMPARE#(#0(),#s(z0)) -> c_56() #COMPARE#(#neg(z0),#0()) -> c_57() #COMPARE#(#neg(z0),#neg(z1)) -> c_58(#COMPARE#(z1,z0)) #COMPARE#(#neg(z0),#pos(z1)) -> c_59() #COMPARE#(#pos(z0),#0()) -> c_60() #COMPARE#(#pos(z0),#neg(z1)) -> c_61() #COMPARE#(#pos(z0),#pos(z1)) -> c_62(#COMPARE#(z0,z1)) #COMPARE#(#s(z0),#0()) -> c_63() #COMPARE#(#s(z0),#s(z1)) -> c_64(#COMPARE#(z0,z1)) #EQ'#(#0(),#0()) -> c_65() #EQ'#(#0(),#neg(z0)) -> c_66() #EQ'#(#0(),#pos(z0)) -> c_67() #EQ'#(#0(),#s(z0)) -> c_68() #EQ'#(#neg(z0),#0()) -> c_69() #EQ'#(#neg(z0),#neg(z1)) -> c_70(#EQ'#(z0,z1)) #EQ'#(#neg(z0),#pos(z1)) -> c_71() #EQ'#(#pos(z0),#0()) -> c_72() #EQ'#(#pos(z0),#neg(z1)) -> c_73() #EQ'#(#pos(z0),#pos(z1)) -> c_74(#EQ'#(z0,z1)) #EQ'#(#s(z0),#0()) -> c_75() #EQ'#(#s(z0),#s(z1)) -> c_76(#EQ'#(z0,z1)) #EQ'#(::(z0,z1),::(z2,z3)) -> c_77(#AND#(#eq(z0,z2),#eq(z1,z3)),#eq#(z0,z2),#eq#(z1,z3),#EQ'#(z0,z2)) #EQ'#(::(z0,z1),::(z2,z3)) -> c_78(#AND#(#eq(z0,z2),#eq(z1,z3)),#eq#(z0,z2),#eq#(z1,z3),#EQ'#(z1,z3)) #EQ'#(::(z0,z1),nil()) -> c_79() #EQ'#(nil(),::(z0,z1)) -> c_80() #EQ'#(nil(),nil()) -> c_81() #EQUAL#(z0,z1) -> c_5(#EQ'#(z0,z1)) #GREATER#(z0,z1) -> c_6(#CKGT#(#compare(z0,z1)),#compare#(z0,z1),#COMPARE#(z0,z1)) #PRED#(#0()) -> c_82() #PRED#(#neg(#s(z0))) -> c_83() #PRED#(#pos(#s(#0()))) -> c_84() #PRED#(#pos(#s(#s(z0)))) -> c_85() #SUCC#(#0()) -> c_86() #SUCC#(#neg(#s(#0()))) -> c_87() #SUCC#(#neg(#s(#s(z0)))) -> c_88() #SUCC#(#pos(#s(z0))) -> c_89() #abs#(#0()) -> c_90() #abs#(#neg(z0)) -> c_91() #abs#(#pos(z0)) -> c_92() #abs#(#s(z0)) -> c_93() #add#(#0(),z0) -> c_94() #add#(#neg(#s(#0())),z0) -> c_95(#pred#(z0)) #add#(#neg(#s(#s(z0))),z1) -> c_96(#pred#(#add(#pos(#s(z0)),z1)),#add#(#pos(#s(z0)),z1)) #add#(#pos(#s(#0())),z0) -> c_97(#succ#(z0)) #add#(#pos(#s(#s(z0))),z1) -> c_98(#succ#(#add(#pos(#s(z0)),z1)),#add#(#pos(#s(z0)),z1)) #and#(#false(),#false()) -> c_99() #and#(#false(),#true()) -> c_100() #and#(#true(),#false()) -> c_101() #and#(#true(),#true()) -> c_102() #ckgt#(#EQ()) -> c_103() #ckgt#(#GT()) -> c_104() #ckgt#(#LT()) -> c_105() #compare#(#0(),#0()) -> c_106() #compare#(#0(),#neg(z0)) -> c_107() #compare#(#0(),#pos(z0)) -> c_108() #compare#(#0(),#s(z0)) -> c_109() #compare#(#neg(z0),#0()) -> c_110() #compare#(#neg(z0),#neg(z1)) -> c_111(#compare#(z1,z0)) #compare#(#neg(z0),#pos(z1)) -> c_112() #compare#(#pos(z0),#0()) -> c_113() #compare#(#pos(z0),#neg(z1)) -> c_114() #compare#(#pos(z0),#pos(z1)) -> c_115(#compare#(z0,z1)) #compare#(#s(z0),#0()) -> c_116() #compare#(#s(z0),#s(z1)) -> c_117(#compare#(z0,z1)) #eq#(#0(),#0()) -> c_118() #eq#(#0(),#neg(z0)) -> c_119() #eq#(#0(),#pos(z0)) -> c_120() #eq#(#0(),#s(z0)) -> c_121() #eq#(#neg(z0),#0()) -> c_122() #eq#(#neg(z0),#neg(z1)) -> c_123(#eq#(z0,z1)) #eq#(#neg(z0),#pos(z1)) -> c_124() #eq#(#pos(z0),#0()) -> c_125() #eq#(#pos(z0),#neg(z1)) -> c_126() #eq#(#pos(z0),#pos(z1)) -> c_127(#eq#(z0,z1)) #eq#(#s(z0),#0()) -> c_128() #eq#(#s(z0),#s(z1)) -> c_129(#eq#(z0,z1)) #eq#(::(z0,z1),::(z2,z3)) -> c_130(#and#(#eq(z0,z2),#eq(z1,z3)),#eq#(z0,z2),#eq#(z1,z3)) #eq#(::(z0,z1),nil()) -> c_131() #eq#(nil(),::(z0,z1)) -> c_132() #eq#(nil(),nil()) -> c_133() #equal#(z0,z1) -> c_134(#eq#(z0,z1)) #greater#(z0,z1) -> c_135(#ckgt#(#compare(z0,z1)),#compare#(z0,z1)) #pred#(#0()) -> c_136() #pred#(#neg(#s(z0))) -> c_137() #pred#(#pos(#s(#0()))) -> c_138() #pred#(#pos(#s(#s(z0)))) -> c_139() #succ#(#0()) -> c_140() #succ#(#neg(#s(#0()))) -> c_141() #succ#(#neg(#s(#s(z0)))) -> c_142() #succ#(#pos(#s(z0))) -> c_143() +#(z0,z1) -> c_144(#add#(z0,z1)) +'#(z0,z1) -> c_7(#ADD#(z0,z1)) FIRSTLINE#1#(::(z0,z1)) -> c_9(#ABS#(#0())) FIRSTLINE#1#(nil()) -> c_11() LCS#2#(nil()) -> c_15(#ABS#(#0())) LCS#3#(::(z0,z1)) -> c_16() LCS#3#(nil()) -> c_17(#ABS#(#0())) LCSTABLE#3#(nil(),z0,z1) -> c_23() MAX#(z0,z1) -> c_24(MAX#1#(#greater(z0,z1),z0,z1),#greater#(z0,z1),#GREATER#(z0,z1)) MAX#1#(#false(),z0,z1) -> c_25() MAX#1#(#true(),z0,z1) -> c_26() NEWLINE#1#(nil(),z0,z1) -> c_29() NEWLINE#2#(nil(),z0,z1,z2) -> c_31() NEWLINE#6#(z0,z1) -> c_35() NEWLINE#7#(#true(),z0,z1,z2) -> c_37(+'#(z1,#pos(#s(#0())))) RIGHT#1#(::(z0,z1)) -> c_39() RIGHT#1#(nil()) -> c_40(#ABS#(#0())) firstline#(z0) -> c_145(firstline#1#(z0)) firstline#1#(::(z0,z1)) -> c_146(#abs#(#0()),firstline#(z1)) firstline#1#(nil()) -> c_147() lcs#(z0,z1) -> c_148(lcs#1#(lcstable(z0,z1)),lcstable#(z0,z1)) lcs#1#(z0) -> c_149(lcs#2#(z0)) lcs#2#(::(z0,z1)) -> c_150(lcs#3#(z0)) lcs#2#(nil()) -> c_151(#abs#(#0())) lcs#3#(::(z0,z1)) -> c_152() lcs#3#(nil()) -> c_153(#abs#(#0())) lcstable#(z0,z1) -> c_154(lcstable#1#(z0,z1)) lcstable#1#(::(z0,z1),z2) -> c_155(lcstable#2#(lcstable(z1,z2),z2,z0),lcstable#(z1,z2)) lcstable#1#(nil(),z0) -> c_156(firstline#(z0)) lcstable#2#(z0,z1,z2) -> c_157(lcstable#3#(z0,z1,z2)) lcstable#3#(::(z0,z1),z2,z3) -> c_158(newline#(z3,z0,z2)) lcstable#3#(nil(),z0,z1) -> c_159() max#(z0,z1) -> c_160(max#1#(#greater(z0,z1),z0,z1),#greater#(z0,z1)) max#1#(#false(),z0,z1) -> c_161() max#1#(#true(),z0,z1) -> c_162() newline#(z0,z1,z2) -> c_163(newline#1#(z2,z1,z0)) newline#1#(::(z0,z1),z2,z3) -> c_164(newline#2#(z2,z0,z1,z3)) newline#1#(nil(),z0,z1) -> c_165() newline#2#(::(z0,z1),z2,z3,z4) -> c_166(newline#3#(newline(z4,z1,z3),z0,z1,z2,z4),newline#(z4,z1,z3)) newline#2#(nil(),z0,z1,z2) -> c_167() newline#3#(z0,z1,z2,z3,z4) -> c_168(newline#4#(right(z0),z1,z2,z0,z3,z4),right#(z0)) newline#4#(z0,z1,z2,z3,z4,z5) -> c_169(newline#5#(right(z2),z1,z3,z0,z4,z5),right#(z2)) newline#5#(z0,z1,z2,z3,z4,z5) -> c_170(newline#6#(newline#7(#equal(z4,z5),z1,z0,z3),z2) ,newline#7#(#equal(z4,z5),z1,z0,z3) ,#equal#(z4,z5)) newline#6#(z0,z1) -> c_171() newline#7#(#false(),z0,z1,z2) -> c_172(max#(z0,z2)) newline#7#(#true(),z0,z1,z2) -> c_173(+#(z1,#pos(#s(#0())))) right#(z0) -> c_174(right#1#(z0)) right#1#(::(z0,z1)) -> c_175() right#1#(nil()) -> c_176(#abs#(#0())) - Weak TRS: #abs(#0()) -> #0() #add(#0(),z0) -> z0 #add(#neg(#s(#0())),z0) -> #pred(z0) #add(#neg(#s(#s(z0))),z1) -> #pred(#add(#pos(#s(z0)),z1)) #add(#pos(#s(#0())),z0) -> #succ(z0) #add(#pos(#s(#s(z0))),z1) -> #succ(#add(#pos(#s(z0)),z1)) #and(#false(),#false()) -> #false() #and(#false(),#true()) -> #false() #and(#true(),#false()) -> #false() #and(#true(),#true()) -> #true() #ckgt(#EQ()) -> #false() #ckgt(#GT()) -> #true() #ckgt(#LT()) -> #false() #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) #greater(z0,z1) -> #ckgt(#compare(z0,z1)) #pred(#0()) -> #neg(#s(#0())) #pred(#neg(#s(z0))) -> #neg(#s(#s(z0))) #pred(#pos(#s(#0()))) -> #0() #pred(#pos(#s(#s(z0)))) -> #pos(#s(z0)) #succ(#0()) -> #pos(#s(#0())) #succ(#neg(#s(#0()))) -> #0() #succ(#neg(#s(#s(z0)))) -> #neg(#s(z0)) #succ(#pos(#s(z0))) -> #pos(#s(#s(z0))) +(z0,z1) -> #add(z0,z1) firstline(z0) -> firstline#1(z0) firstline#1(::(z0,z1)) -> ::(#abs(#0()),firstline(z1)) firstline#1(nil()) -> nil() lcstable(z0,z1) -> lcstable#1(z0,z1) lcstable#1(::(z0,z1),z2) -> lcstable#2(lcstable(z1,z2),z2,z0) lcstable#1(nil(),z0) -> ::(firstline(z0),nil()) lcstable#2(z0,z1,z2) -> lcstable#3(z0,z1,z2) lcstable#3(::(z0,z1),z2,z3) -> ::(newline(z3,z0,z2),::(z0,z1)) lcstable#3(nil(),z0,z1) -> nil() max(z0,z1) -> max#1(#greater(z0,z1),z0,z1) max#1(#false(),z0,z1) -> z1 max#1(#true(),z0,z1) -> z0 newline(z0,z1,z2) -> newline#1(z2,z1,z0) newline#1(::(z0,z1),z2,z3) -> newline#2(z2,z0,z1,z3) newline#1(nil(),z0,z1) -> nil() newline#2(::(z0,z1),z2,z3,z4) -> newline#3(newline(z4,z1,z3),z0,z1,z2,z4) newline#2(nil(),z0,z1,z2) -> nil() newline#3(z0,z1,z2,z3,z4) -> newline#4(right(z0),z1,z2,z0,z3,z4) newline#4(z0,z1,z2,z3,z4,z5) -> newline#5(right(z2),z1,z3,z0,z4,z5) newline#5(z0,z1,z2,z3,z4,z5) -> newline#6(newline#7(#equal(z4,z5),z1,z0,z3),z2) newline#6(z0,z1) -> ::(z0,z1) newline#7(#false(),z0,z1,z2) -> max(z0,z2) newline#7(#true(),z0,z1,z2) -> +(z1,#pos(#s(#0()))) right(z0) -> right#1(z0) right#1(::(z0,z1)) -> z0 right#1(nil()) -> #abs(#0()) - Signature: {#ABS/1,#ADD/2,#AND/2,#CKGT/1,#COMPARE/2,#EQ'/2,#EQUAL/2,#GREATER/2,#PRED/1,#SUCC/1,#abs/1,#add/2,#and/2 ,#ckgt/1,#compare/2,#eq/2,#equal/2,#greater/2,#pred/1,#succ/1,+/2,+'/2,FIRSTLINE/1,FIRSTLINE#1/1,LCS/2 ,LCS#1/1,LCS#2/1,LCS#3/1,LCSTABLE/2,LCSTABLE#1/2,LCSTABLE#2/3,LCSTABLE#3/3,MAX/2,MAX#1/3,NEWLINE/3 ,NEWLINE#1/3,NEWLINE#2/4,NEWLINE#3/5,NEWLINE#4/6,NEWLINE#5/6,NEWLINE#6/2,NEWLINE#7/4,RIGHT/1,RIGHT#1/1 ,firstline/1,firstline#1/1,lcs/2,lcs#1/1,lcs#2/1,lcs#3/1,lcstable/2,lcstable#1/2,lcstable#2/3,lcstable#3/3 ,max/2,max#1/3,newline/3,newline#1/3,newline#2/4,newline#3/5,newline#4/6,newline#5/6,newline#6/2,newline#7/4 ,right/1,right#1/1,#ABS#/1,#ADD#/2,#AND#/2,#CKGT#/1,#COMPARE#/2,#EQ'#/2,#EQUAL#/2,#GREATER#/2,#PRED#/1 ,#SUCC#/1,#abs#/1,#add#/2,#and#/2,#ckgt#/1,#compare#/2,#eq#/2,#equal#/2,#greater#/2,#pred#/1,#succ#/1,+#/2 ,+'#/2,FIRSTLINE#/1,FIRSTLINE#1#/1,LCS#/2,LCS#1#/1,LCS#2#/1,LCS#3#/1,LCSTABLE#/2,LCSTABLE#1#/2,LCSTABLE#2#/3 ,LCSTABLE#3#/3,MAX#/2,MAX#1#/3,NEWLINE#/3,NEWLINE#1#/3,NEWLINE#2#/4,NEWLINE#3#/5,NEWLINE#4#/6,NEWLINE#5#/6 ,NEWLINE#6#/2,NEWLINE#7#/4,RIGHT#/1,RIGHT#1#/1,firstline#/1,firstline#1#/1,lcs#/2,lcs#1#/1,lcs#2#/1,lcs#3#/1 ,lcstable#/2,lcstable#1#/2,lcstable#2#/3,lcstable#3#/3,max#/2,max#1#/3,newline#/3,newline#1#/3,newline#2#/4 ,newline#3#/5,newline#4#/6,newline#5#/6,newline#6#/2,newline#7#/4,right#/1,right#1#/1} / {#0/0,#EQ/0,#GT/0 ,#LT/0,#false/0,#neg/1,#pos/1,#s/1,#true/0,::/2,c/0,c1/1,c10/0,c11/0,c12/0,c13/0,c14/0,c15/0,c16/0,c17/1 ,c18/0,c19/0,c2/2,c20/0,c21/1,c22/0,c23/1,c24/0,c25/0,c26/0,c27/0,c28/0,c29/1,c3/1,c30/0,c31/0,c32/0,c33/1 ,c34/0,c35/1,c36/2,c37/2,c38/0,c39/0,c4/2,c40/0,c41/0,c42/0,c43/0,c44/0,c45/0,c46/0,c47/0,c48/0,c49/0,c5/0 ,c50/0,c51/0,c52/0,c53/1,c54/2,c55/1,c56/1,c57/1,c58/1,c59/0,c6/0,c60/2,c61/1,c62/1,c63/1,c64/0,c65/1,c66/1 ,c67/2,c68/1,c69/1,c7/0,c70/1,c71/0,c72/2,c73/0,c74/0,c75/1,c76/1,c77/0,c78/2,c79/0,c8/0,c80/2,c81/2,c82/3 ,c83/0,c84/1,c85/1,c86/1,c87/0,c88/1,c9/0,nil/0,c_1/0,c_2/0,c_3/0,c_4/0,c_5/1,c_6/3,c_7/1,c_8/1,c_9/1,c_10/1 ,c_11/0,c_12/3,c_13/1,c_14/1,c_15/1,c_16/0,c_17/1,c_18/1,c_19/3,c_20/1,c_21/1,c_22/1,c_23/0,c_24/3,c_25/0 ,c_26/0,c_27/1,c_28/1,c_29/0,c_30/3,c_31/0,c_32/3,c_33/3,c_34/6,c_35/0,c_36/1,c_37/1,c_38/1,c_39/0,c_40/1 ,c_41/0,c_42/1,c_43/3,c_44/1,c_45/3,c_46/0,c_47/0,c_48/0,c_49/0,c_50/0,c_51/0,c_52/0,c_53/0,c_54/0,c_55/0 ,c_56/0,c_57/0,c_58/1,c_59/0,c_60/0,c_61/0,c_62/1,c_63/0,c_64/1,c_65/0,c_66/0,c_67/0,c_68/0,c_69/0,c_70/1 ,c_71/0,c_72/0,c_73/0,c_74/1,c_75/0,c_76/1,c_77/4,c_78/4,c_79/0,c_80/0,c_81/0,c_82/0,c_83/0,c_84/0,c_85/0 ,c_86/0,c_87/0,c_88/0,c_89/0,c_90/0,c_91/0,c_92/0,c_93/0,c_94/0,c_95/1,c_96/2,c_97/1,c_98/2,c_99/0,c_100/0 ,c_101/0,c_102/0,c_103/0,c_104/0,c_105/0,c_106/0,c_107/0,c_108/0,c_109/0,c_110/0,c_111/1,c_112/0,c_113/0 ,c_114/0,c_115/1,c_116/0,c_117/1,c_118/0,c_119/0,c_120/0,c_121/0,c_122/0,c_123/1,c_124/0,c_125/0,c_126/0 ,c_127/1,c_128/0,c_129/1,c_130/3,c_131/0,c_132/0,c_133/0,c_134/1,c_135/2,c_136/0,c_137/0,c_138/0,c_139/0 ,c_140/0,c_141/0,c_142/0,c_143/0,c_144/1,c_145/1,c_146/2,c_147/0,c_148/2,c_149/1,c_150/1,c_151/1,c_152/0 ,c_153/1,c_154/1,c_155/2,c_156/1,c_157/1,c_158/1,c_159/0,c_160/2,c_161/0,c_162/0,c_163/1,c_164/1,c_165/0 ,c_166/2,c_167/0,c_168/2,c_169/2,c_170/3,c_171/0,c_172/1,c_173/1,c_174/1,c_175/0,c_176/1} - Obligation: innermost runtime complexity wrt. defined symbols {#ABS#,#ADD#,#AND#,#CKGT#,#COMPARE#,#EQ'#,#EQUAL# ,#GREATER#,#PRED#,#SUCC#,#abs#,#add#,#and#,#ckgt#,#compare#,#eq#,#equal#,#greater#,#pred#,#succ#,+#,+'# ,FIRSTLINE#,FIRSTLINE#1#,LCS#,LCS#1#,LCS#2#,LCS#3#,LCSTABLE#,LCSTABLE#1#,LCSTABLE#2#,LCSTABLE#3#,MAX#,MAX#1# ,NEWLINE#,NEWLINE#1#,NEWLINE#2#,NEWLINE#3#,NEWLINE#4#,NEWLINE#5#,NEWLINE#6#,NEWLINE#7#,RIGHT#,RIGHT#1# ,firstline#,firstline#1#,lcs#,lcs#1#,lcs#2#,lcs#3#,lcstable#,lcstable#1#,lcstable#2#,lcstable#3#,max#,max#1# ,newline#,newline#1#,newline#2#,newline#3#,newline#4#,newline#5#,newline#6#,newline#7#,right# ,right#1#} 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,c59,c6,c60,c61,c62,c63,c64,c65 ,c66,c67,c68,c69,c7,c70,c71,c72,c73,c74,c75,c76,c77,c78,c79,c8,c80,c81,c82,c83,c84,c85,c86,c87,c88,c9,nil} + Applied Processor: PredecessorEstimation {onSelection = all simple predecessor estimation selector} + Details: We estimate the number of application of {5,17,18} by application of Pre({5,17,18}) = {4,14,15,16}. Here rules are labelled as follows: 1: FIRSTLINE#(z0) -> c_8(FIRSTLINE#1#(z0)) 2: FIRSTLINE#1#(::(z0,z1)) -> c_10(FIRSTLINE#(z1)) 3: LCS#(z0,z1) -> c_12(LCS#1#(lcstable(z0,z1)),lcstable#(z0,z1),LCSTABLE#(z0,z1)) 4: LCS#1#(z0) -> c_13(LCS#2#(z0)) 5: LCS#2#(::(z0,z1)) -> c_14(LCS#3#(z0)) 6: LCSTABLE#(z0,z1) -> c_18(LCSTABLE#1#(z0,z1)) 7: LCSTABLE#1#(::(z0,z1),z2) -> c_19(LCSTABLE#2#(lcstable(z1,z2),z2,z0),lcstable#(z1,z2),LCSTABLE#(z1,z2)) 8: LCSTABLE#1#(nil(),z0) -> c_20(FIRSTLINE#(z0)) 9: LCSTABLE#2#(z0,z1,z2) -> c_21(LCSTABLE#3#(z0,z1,z2)) 10: LCSTABLE#3#(::(z0,z1),z2,z3) -> c_22(NEWLINE#(z3,z0,z2)) 11: NEWLINE#(z0,z1,z2) -> c_27(NEWLINE#1#(z2,z1,z0)) 12: NEWLINE#1#(::(z0,z1),z2,z3) -> c_28(NEWLINE#2#(z2,z0,z1,z3)) 13: NEWLINE#2#(::(z0,z1),z2,z3,z4) -> c_30(NEWLINE#3#(newline(z4,z1,z3),z0,z1,z2,z4) ,newline#(z4,z1,z3) ,NEWLINE#(z4,z1,z3)) 14: NEWLINE#3#(z0,z1,z2,z3,z4) -> c_32(NEWLINE#4#(right(z0),z1,z2,z0,z3,z4),right#(z0),RIGHT#(z0)) 15: NEWLINE#4#(z0,z1,z2,z3,z4,z5) -> c_33(NEWLINE#5#(right(z2),z1,z3,z0,z4,z5),right#(z2),RIGHT#(z2)) 16: NEWLINE#5#(z0,z1,z2,z3,z4,z5) -> c_34(NEWLINE#6#(newline#7(#equal(z4,z5),z1,z0,z3),z2) ,newline#7#(#equal(z4,z5),z1,z0,z3) ,#equal#(z4,z5) ,NEWLINE#7#(#equal(z4,z5),z1,z0,z3) ,#equal#(z4,z5) ,#EQUAL#(z4,z5)) 17: NEWLINE#7#(#false(),z0,z1,z2) -> c_36(MAX#(z0,z2)) 18: RIGHT#(z0) -> c_38(RIGHT#1#(z0)) 19: #ABS#(#0()) -> c_1() 20: #ABS#(#neg(z0)) -> c_2() 21: #ABS#(#pos(z0)) -> c_3() 22: #ABS#(#s(z0)) -> c_4() 23: #ADD#(#0(),z0) -> c_41() 24: #ADD#(#neg(#s(#0())),z0) -> c_42(#PRED#(z0)) 25: #ADD#(#neg(#s(#s(z0))),z1) -> c_43(#PRED#(#add(#pos(#s(z0)),z1)) ,#add#(#pos(#s(z0)),z1) ,#ADD#(#pos(#s(z0)),z1)) 26: #ADD#(#pos(#s(#0())),z0) -> c_44(#SUCC#(z0)) 27: #ADD#(#pos(#s(#s(z0))),z1) -> c_45(#SUCC#(#add(#pos(#s(z0)),z1)) ,#add#(#pos(#s(z0)),z1) ,#ADD#(#pos(#s(z0)),z1)) 28: #AND#(#false(),#false()) -> c_46() 29: #AND#(#false(),#true()) -> c_47() 30: #AND#(#true(),#false()) -> c_48() 31: #AND#(#true(),#true()) -> c_49() 32: #CKGT#(#EQ()) -> c_50() 33: #CKGT#(#GT()) -> c_51() 34: #CKGT#(#LT()) -> c_52() 35: #COMPARE#(#0(),#0()) -> c_53() 36: #COMPARE#(#0(),#neg(z0)) -> c_54() 37: #COMPARE#(#0(),#pos(z0)) -> c_55() 38: #COMPARE#(#0(),#s(z0)) -> c_56() 39: #COMPARE#(#neg(z0),#0()) -> c_57() 40: #COMPARE#(#neg(z0),#neg(z1)) -> c_58(#COMPARE#(z1,z0)) 41: #COMPARE#(#neg(z0),#pos(z1)) -> c_59() 42: #COMPARE#(#pos(z0),#0()) -> c_60() 43: #COMPARE#(#pos(z0),#neg(z1)) -> c_61() 44: #COMPARE#(#pos(z0),#pos(z1)) -> c_62(#COMPARE#(z0,z1)) 45: #COMPARE#(#s(z0),#0()) -> c_63() 46: #COMPARE#(#s(z0),#s(z1)) -> c_64(#COMPARE#(z0,z1)) 47: #EQ'#(#0(),#0()) -> c_65() 48: #EQ'#(#0(),#neg(z0)) -> c_66() 49: #EQ'#(#0(),#pos(z0)) -> c_67() 50: #EQ'#(#0(),#s(z0)) -> c_68() 51: #EQ'#(#neg(z0),#0()) -> c_69() 52: #EQ'#(#neg(z0),#neg(z1)) -> c_70(#EQ'#(z0,z1)) 53: #EQ'#(#neg(z0),#pos(z1)) -> c_71() 54: #EQ'#(#pos(z0),#0()) -> c_72() 55: #EQ'#(#pos(z0),#neg(z1)) -> c_73() 56: #EQ'#(#pos(z0),#pos(z1)) -> c_74(#EQ'#(z0,z1)) 57: #EQ'#(#s(z0),#0()) -> c_75() 58: #EQ'#(#s(z0),#s(z1)) -> c_76(#EQ'#(z0,z1)) 59: #EQ'#(::(z0,z1),::(z2,z3)) -> c_77(#AND#(#eq(z0,z2),#eq(z1,z3)),#eq#(z0,z2),#eq#(z1,z3),#EQ'#(z0,z2)) 60: #EQ'#(::(z0,z1),::(z2,z3)) -> c_78(#AND#(#eq(z0,z2),#eq(z1,z3)),#eq#(z0,z2),#eq#(z1,z3),#EQ'#(z1,z3)) 61: #EQ'#(::(z0,z1),nil()) -> c_79() 62: #EQ'#(nil(),::(z0,z1)) -> c_80() 63: #EQ'#(nil(),nil()) -> c_81() 64: #EQUAL#(z0,z1) -> c_5(#EQ'#(z0,z1)) 65: #GREATER#(z0,z1) -> c_6(#CKGT#(#compare(z0,z1)),#compare#(z0,z1),#COMPARE#(z0,z1)) 66: #PRED#(#0()) -> c_82() 67: #PRED#(#neg(#s(z0))) -> c_83() 68: #PRED#(#pos(#s(#0()))) -> c_84() 69: #PRED#(#pos(#s(#s(z0)))) -> c_85() 70: #SUCC#(#0()) -> c_86() 71: #SUCC#(#neg(#s(#0()))) -> c_87() 72: #SUCC#(#neg(#s(#s(z0)))) -> c_88() 73: #SUCC#(#pos(#s(z0))) -> c_89() 74: #abs#(#0()) -> c_90() 75: #abs#(#neg(z0)) -> c_91() 76: #abs#(#pos(z0)) -> c_92() 77: #abs#(#s(z0)) -> c_93() 78: #add#(#0(),z0) -> c_94() 79: #add#(#neg(#s(#0())),z0) -> c_95(#pred#(z0)) 80: #add#(#neg(#s(#s(z0))),z1) -> c_96(#pred#(#add(#pos(#s(z0)),z1)),#add#(#pos(#s(z0)),z1)) 81: #add#(#pos(#s(#0())),z0) -> c_97(#succ#(z0)) 82: #add#(#pos(#s(#s(z0))),z1) -> c_98(#succ#(#add(#pos(#s(z0)),z1)),#add#(#pos(#s(z0)),z1)) 83: #and#(#false(),#false()) -> c_99() 84: #and#(#false(),#true()) -> c_100() 85: #and#(#true(),#false()) -> c_101() 86: #and#(#true(),#true()) -> c_102() 87: #ckgt#(#EQ()) -> c_103() 88: #ckgt#(#GT()) -> c_104() 89: #ckgt#(#LT()) -> c_105() 90: #compare#(#0(),#0()) -> c_106() 91: #compare#(#0(),#neg(z0)) -> c_107() 92: #compare#(#0(),#pos(z0)) -> c_108() 93: #compare#(#0(),#s(z0)) -> c_109() 94: #compare#(#neg(z0),#0()) -> c_110() 95: #compare#(#neg(z0),#neg(z1)) -> c_111(#compare#(z1,z0)) 96: #compare#(#neg(z0),#pos(z1)) -> c_112() 97: #compare#(#pos(z0),#0()) -> c_113() 98: #compare#(#pos(z0),#neg(z1)) -> c_114() 99: #compare#(#pos(z0),#pos(z1)) -> c_115(#compare#(z0,z1)) 100: #compare#(#s(z0),#0()) -> c_116() 101: #compare#(#s(z0),#s(z1)) -> c_117(#compare#(z0,z1)) 102: #eq#(#0(),#0()) -> c_118() 103: #eq#(#0(),#neg(z0)) -> c_119() 104: #eq#(#0(),#pos(z0)) -> c_120() 105: #eq#(#0(),#s(z0)) -> c_121() 106: #eq#(#neg(z0),#0()) -> c_122() 107: #eq#(#neg(z0),#neg(z1)) -> c_123(#eq#(z0,z1)) 108: #eq#(#neg(z0),#pos(z1)) -> c_124() 109: #eq#(#pos(z0),#0()) -> c_125() 110: #eq#(#pos(z0),#neg(z1)) -> c_126() 111: #eq#(#pos(z0),#pos(z1)) -> c_127(#eq#(z0,z1)) 112: #eq#(#s(z0),#0()) -> c_128() 113: #eq#(#s(z0),#s(z1)) -> c_129(#eq#(z0,z1)) 114: #eq#(::(z0,z1),::(z2,z3)) -> c_130(#and#(#eq(z0,z2),#eq(z1,z3)),#eq#(z0,z2),#eq#(z1,z3)) 115: #eq#(::(z0,z1),nil()) -> c_131() 116: #eq#(nil(),::(z0,z1)) -> c_132() 117: #eq#(nil(),nil()) -> c_133() 118: #equal#(z0,z1) -> c_134(#eq#(z0,z1)) 119: #greater#(z0,z1) -> c_135(#ckgt#(#compare(z0,z1)),#compare#(z0,z1)) 120: #pred#(#0()) -> c_136() 121: #pred#(#neg(#s(z0))) -> c_137() 122: #pred#(#pos(#s(#0()))) -> c_138() 123: #pred#(#pos(#s(#s(z0)))) -> c_139() 124: #succ#(#0()) -> c_140() 125: #succ#(#neg(#s(#0()))) -> c_141() 126: #succ#(#neg(#s(#s(z0)))) -> c_142() 127: #succ#(#pos(#s(z0))) -> c_143() 128: +#(z0,z1) -> c_144(#add#(z0,z1)) 129: +'#(z0,z1) -> c_7(#ADD#(z0,z1)) 130: FIRSTLINE#1#(::(z0,z1)) -> c_9(#ABS#(#0())) 131: FIRSTLINE#1#(nil()) -> c_11() 132: LCS#2#(nil()) -> c_15(#ABS#(#0())) 133: LCS#3#(::(z0,z1)) -> c_16() 134: LCS#3#(nil()) -> c_17(#ABS#(#0())) 135: LCSTABLE#3#(nil(),z0,z1) -> c_23() 136: MAX#(z0,z1) -> c_24(MAX#1#(#greater(z0,z1),z0,z1),#greater#(z0,z1),#GREATER#(z0,z1)) 137: MAX#1#(#false(),z0,z1) -> c_25() 138: MAX#1#(#true(),z0,z1) -> c_26() 139: NEWLINE#1#(nil(),z0,z1) -> c_29() 140: NEWLINE#2#(nil(),z0,z1,z2) -> c_31() 141: NEWLINE#6#(z0,z1) -> c_35() 142: NEWLINE#7#(#true(),z0,z1,z2) -> c_37(+'#(z1,#pos(#s(#0())))) 143: RIGHT#1#(::(z0,z1)) -> c_39() 144: RIGHT#1#(nil()) -> c_40(#ABS#(#0())) 145: firstline#(z0) -> c_145(firstline#1#(z0)) 146: firstline#1#(::(z0,z1)) -> c_146(#abs#(#0()),firstline#(z1)) 147: firstline#1#(nil()) -> c_147() 148: lcs#(z0,z1) -> c_148(lcs#1#(lcstable(z0,z1)),lcstable#(z0,z1)) 149: lcs#1#(z0) -> c_149(lcs#2#(z0)) 150: lcs#2#(::(z0,z1)) -> c_150(lcs#3#(z0)) 151: lcs#2#(nil()) -> c_151(#abs#(#0())) 152: lcs#3#(::(z0,z1)) -> c_152() 153: lcs#3#(nil()) -> c_153(#abs#(#0())) 154: lcstable#(z0,z1) -> c_154(lcstable#1#(z0,z1)) 155: lcstable#1#(::(z0,z1),z2) -> c_155(lcstable#2#(lcstable(z1,z2),z2,z0),lcstable#(z1,z2)) 156: lcstable#1#(nil(),z0) -> c_156(firstline#(z0)) 157: lcstable#2#(z0,z1,z2) -> c_157(lcstable#3#(z0,z1,z2)) 158: lcstable#3#(::(z0,z1),z2,z3) -> c_158(newline#(z3,z0,z2)) 159: lcstable#3#(nil(),z0,z1) -> c_159() 160: max#(z0,z1) -> c_160(max#1#(#greater(z0,z1),z0,z1),#greater#(z0,z1)) 161: max#1#(#false(),z0,z1) -> c_161() 162: max#1#(#true(),z0,z1) -> c_162() 163: newline#(z0,z1,z2) -> c_163(newline#1#(z2,z1,z0)) 164: newline#1#(::(z0,z1),z2,z3) -> c_164(newline#2#(z2,z0,z1,z3)) 165: newline#1#(nil(),z0,z1) -> c_165() 166: newline#2#(::(z0,z1),z2,z3,z4) -> c_166(newline#3#(newline(z4,z1,z3),z0,z1,z2,z4),newline#(z4,z1,z3)) 167: newline#2#(nil(),z0,z1,z2) -> c_167() 168: newline#3#(z0,z1,z2,z3,z4) -> c_168(newline#4#(right(z0),z1,z2,z0,z3,z4),right#(z0)) 169: newline#4#(z0,z1,z2,z3,z4,z5) -> c_169(newline#5#(right(z2),z1,z3,z0,z4,z5),right#(z2)) 170: newline#5#(z0,z1,z2,z3,z4,z5) -> c_170(newline#6#(newline#7(#equal(z4,z5),z1,z0,z3),z2) ,newline#7#(#equal(z4,z5),z1,z0,z3) ,#equal#(z4,z5)) 171: newline#6#(z0,z1) -> c_171() 172: newline#7#(#false(),z0,z1,z2) -> c_172(max#(z0,z2)) 173: newline#7#(#true(),z0,z1,z2) -> c_173(+#(z1,#pos(#s(#0())))) 174: right#(z0) -> c_174(right#1#(z0)) 175: right#1#(::(z0,z1)) -> c_175() 176: right#1#(nil()) -> c_176(#abs#(#0())) * Step 7: PredecessorEstimation. WORST_CASE(?,O(n^2)) + Considered Problem: - Strict DPs: FIRSTLINE#(z0) -> c_8(FIRSTLINE#1#(z0)) FIRSTLINE#1#(::(z0,z1)) -> c_10(FIRSTLINE#(z1)) LCS#(z0,z1) -> c_12(LCS#1#(lcstable(z0,z1)),lcstable#(z0,z1),LCSTABLE#(z0,z1)) LCS#1#(z0) -> c_13(LCS#2#(z0)) LCSTABLE#(z0,z1) -> c_18(LCSTABLE#1#(z0,z1)) LCSTABLE#1#(::(z0,z1),z2) -> c_19(LCSTABLE#2#(lcstable(z1,z2),z2,z0),lcstable#(z1,z2),LCSTABLE#(z1,z2)) LCSTABLE#1#(nil(),z0) -> c_20(FIRSTLINE#(z0)) LCSTABLE#2#(z0,z1,z2) -> c_21(LCSTABLE#3#(z0,z1,z2)) LCSTABLE#3#(::(z0,z1),z2,z3) -> c_22(NEWLINE#(z3,z0,z2)) NEWLINE#(z0,z1,z2) -> c_27(NEWLINE#1#(z2,z1,z0)) NEWLINE#1#(::(z0,z1),z2,z3) -> c_28(NEWLINE#2#(z2,z0,z1,z3)) NEWLINE#2#(::(z0,z1),z2,z3,z4) -> c_30(NEWLINE#3#(newline(z4,z1,z3),z0,z1,z2,z4) ,newline#(z4,z1,z3) ,NEWLINE#(z4,z1,z3)) NEWLINE#3#(z0,z1,z2,z3,z4) -> c_32(NEWLINE#4#(right(z0),z1,z2,z0,z3,z4),right#(z0),RIGHT#(z0)) NEWLINE#4#(z0,z1,z2,z3,z4,z5) -> c_33(NEWLINE#5#(right(z2),z1,z3,z0,z4,z5),right#(z2),RIGHT#(z2)) NEWLINE#5#(z0,z1,z2,z3,z4,z5) -> c_34(NEWLINE#6#(newline#7(#equal(z4,z5),z1,z0,z3),z2) ,newline#7#(#equal(z4,z5),z1,z0,z3) ,#equal#(z4,z5) ,NEWLINE#7#(#equal(z4,z5),z1,z0,z3) ,#equal#(z4,z5) ,#EQUAL#(z4,z5)) - Weak DPs: #ABS#(#0()) -> c_1() #ABS#(#neg(z0)) -> c_2() #ABS#(#pos(z0)) -> c_3() #ABS#(#s(z0)) -> c_4() #ADD#(#0(),z0) -> c_41() #ADD#(#neg(#s(#0())),z0) -> c_42(#PRED#(z0)) #ADD#(#neg(#s(#s(z0))),z1) -> c_43(#PRED#(#add(#pos(#s(z0)),z1)) ,#add#(#pos(#s(z0)),z1) ,#ADD#(#pos(#s(z0)),z1)) #ADD#(#pos(#s(#0())),z0) -> c_44(#SUCC#(z0)) #ADD#(#pos(#s(#s(z0))),z1) -> c_45(#SUCC#(#add(#pos(#s(z0)),z1)) ,#add#(#pos(#s(z0)),z1) ,#ADD#(#pos(#s(z0)),z1)) #AND#(#false(),#false()) -> c_46() #AND#(#false(),#true()) -> c_47() #AND#(#true(),#false()) -> c_48() #AND#(#true(),#true()) -> c_49() #CKGT#(#EQ()) -> c_50() #CKGT#(#GT()) -> c_51() #CKGT#(#LT()) -> c_52() #COMPARE#(#0(),#0()) -> c_53() #COMPARE#(#0(),#neg(z0)) -> c_54() #COMPARE#(#0(),#pos(z0)) -> c_55() #COMPARE#(#0(),#s(z0)) -> c_56() #COMPARE#(#neg(z0),#0()) -> c_57() #COMPARE#(#neg(z0),#neg(z1)) -> c_58(#COMPARE#(z1,z0)) #COMPARE#(#neg(z0),#pos(z1)) -> c_59() #COMPARE#(#pos(z0),#0()) -> c_60() #COMPARE#(#pos(z0),#neg(z1)) -> c_61() #COMPARE#(#pos(z0),#pos(z1)) -> c_62(#COMPARE#(z0,z1)) #COMPARE#(#s(z0),#0()) -> c_63() #COMPARE#(#s(z0),#s(z1)) -> c_64(#COMPARE#(z0,z1)) #EQ'#(#0(),#0()) -> c_65() #EQ'#(#0(),#neg(z0)) -> c_66() #EQ'#(#0(),#pos(z0)) -> c_67() #EQ'#(#0(),#s(z0)) -> c_68() #EQ'#(#neg(z0),#0()) -> c_69() #EQ'#(#neg(z0),#neg(z1)) -> c_70(#EQ'#(z0,z1)) #EQ'#(#neg(z0),#pos(z1)) -> c_71() #EQ'#(#pos(z0),#0()) -> c_72() #EQ'#(#pos(z0),#neg(z1)) -> c_73() #EQ'#(#pos(z0),#pos(z1)) -> c_74(#EQ'#(z0,z1)) #EQ'#(#s(z0),#0()) -> c_75() #EQ'#(#s(z0),#s(z1)) -> c_76(#EQ'#(z0,z1)) #EQ'#(::(z0,z1),::(z2,z3)) -> c_77(#AND#(#eq(z0,z2),#eq(z1,z3)),#eq#(z0,z2),#eq#(z1,z3),#EQ'#(z0,z2)) #EQ'#(::(z0,z1),::(z2,z3)) -> c_78(#AND#(#eq(z0,z2),#eq(z1,z3)),#eq#(z0,z2),#eq#(z1,z3),#EQ'#(z1,z3)) #EQ'#(::(z0,z1),nil()) -> c_79() #EQ'#(nil(),::(z0,z1)) -> c_80() #EQ'#(nil(),nil()) -> c_81() #EQUAL#(z0,z1) -> c_5(#EQ'#(z0,z1)) #GREATER#(z0,z1) -> c_6(#CKGT#(#compare(z0,z1)),#compare#(z0,z1),#COMPARE#(z0,z1)) #PRED#(#0()) -> c_82() #PRED#(#neg(#s(z0))) -> c_83() #PRED#(#pos(#s(#0()))) -> c_84() #PRED#(#pos(#s(#s(z0)))) -> c_85() #SUCC#(#0()) -> c_86() #SUCC#(#neg(#s(#0()))) -> c_87() #SUCC#(#neg(#s(#s(z0)))) -> c_88() #SUCC#(#pos(#s(z0))) -> c_89() #abs#(#0()) -> c_90() #abs#(#neg(z0)) -> c_91() #abs#(#pos(z0)) -> c_92() #abs#(#s(z0)) -> c_93() #add#(#0(),z0) -> c_94() #add#(#neg(#s(#0())),z0) -> c_95(#pred#(z0)) #add#(#neg(#s(#s(z0))),z1) -> c_96(#pred#(#add(#pos(#s(z0)),z1)),#add#(#pos(#s(z0)),z1)) #add#(#pos(#s(#0())),z0) -> c_97(#succ#(z0)) #add#(#pos(#s(#s(z0))),z1) -> c_98(#succ#(#add(#pos(#s(z0)),z1)),#add#(#pos(#s(z0)),z1)) #and#(#false(),#false()) -> c_99() #and#(#false(),#true()) -> c_100() #and#(#true(),#false()) -> c_101() #and#(#true(),#true()) -> c_102() #ckgt#(#EQ()) -> c_103() #ckgt#(#GT()) -> c_104() #ckgt#(#LT()) -> c_105() #compare#(#0(),#0()) -> c_106() #compare#(#0(),#neg(z0)) -> c_107() #compare#(#0(),#pos(z0)) -> c_108() #compare#(#0(),#s(z0)) -> c_109() #compare#(#neg(z0),#0()) -> c_110() #compare#(#neg(z0),#neg(z1)) -> c_111(#compare#(z1,z0)) #compare#(#neg(z0),#pos(z1)) -> c_112() #compare#(#pos(z0),#0()) -> c_113() #compare#(#pos(z0),#neg(z1)) -> c_114() #compare#(#pos(z0),#pos(z1)) -> c_115(#compare#(z0,z1)) #compare#(#s(z0),#0()) -> c_116() #compare#(#s(z0),#s(z1)) -> c_117(#compare#(z0,z1)) #eq#(#0(),#0()) -> c_118() #eq#(#0(),#neg(z0)) -> c_119() #eq#(#0(),#pos(z0)) -> c_120() #eq#(#0(),#s(z0)) -> c_121() #eq#(#neg(z0),#0()) -> c_122() #eq#(#neg(z0),#neg(z1)) -> c_123(#eq#(z0,z1)) #eq#(#neg(z0),#pos(z1)) -> c_124() #eq#(#pos(z0),#0()) -> c_125() #eq#(#pos(z0),#neg(z1)) -> c_126() #eq#(#pos(z0),#pos(z1)) -> c_127(#eq#(z0,z1)) #eq#(#s(z0),#0()) -> c_128() #eq#(#s(z0),#s(z1)) -> c_129(#eq#(z0,z1)) #eq#(::(z0,z1),::(z2,z3)) -> c_130(#and#(#eq(z0,z2),#eq(z1,z3)),#eq#(z0,z2),#eq#(z1,z3)) #eq#(::(z0,z1),nil()) -> c_131() #eq#(nil(),::(z0,z1)) -> c_132() #eq#(nil(),nil()) -> c_133() #equal#(z0,z1) -> c_134(#eq#(z0,z1)) #greater#(z0,z1) -> c_135(#ckgt#(#compare(z0,z1)),#compare#(z0,z1)) #pred#(#0()) -> c_136() #pred#(#neg(#s(z0))) -> c_137() #pred#(#pos(#s(#0()))) -> c_138() #pred#(#pos(#s(#s(z0)))) -> c_139() #succ#(#0()) -> c_140() #succ#(#neg(#s(#0()))) -> c_141() #succ#(#neg(#s(#s(z0)))) -> c_142() #succ#(#pos(#s(z0))) -> c_143() +#(z0,z1) -> c_144(#add#(z0,z1)) +'#(z0,z1) -> c_7(#ADD#(z0,z1)) FIRSTLINE#1#(::(z0,z1)) -> c_9(#ABS#(#0())) FIRSTLINE#1#(nil()) -> c_11() LCS#2#(::(z0,z1)) -> c_14(LCS#3#(z0)) LCS#2#(nil()) -> c_15(#ABS#(#0())) LCS#3#(::(z0,z1)) -> c_16() LCS#3#(nil()) -> c_17(#ABS#(#0())) LCSTABLE#3#(nil(),z0,z1) -> c_23() MAX#(z0,z1) -> c_24(MAX#1#(#greater(z0,z1),z0,z1),#greater#(z0,z1),#GREATER#(z0,z1)) MAX#1#(#false(),z0,z1) -> c_25() MAX#1#(#true(),z0,z1) -> c_26() NEWLINE#1#(nil(),z0,z1) -> c_29() NEWLINE#2#(nil(),z0,z1,z2) -> c_31() NEWLINE#6#(z0,z1) -> c_35() NEWLINE#7#(#false(),z0,z1,z2) -> c_36(MAX#(z0,z2)) NEWLINE#7#(#true(),z0,z1,z2) -> c_37(+'#(z1,#pos(#s(#0())))) RIGHT#(z0) -> c_38(RIGHT#1#(z0)) RIGHT#1#(::(z0,z1)) -> c_39() RIGHT#1#(nil()) -> c_40(#ABS#(#0())) firstline#(z0) -> c_145(firstline#1#(z0)) firstline#1#(::(z0,z1)) -> c_146(#abs#(#0()),firstline#(z1)) firstline#1#(nil()) -> c_147() lcs#(z0,z1) -> c_148(lcs#1#(lcstable(z0,z1)),lcstable#(z0,z1)) lcs#1#(z0) -> c_149(lcs#2#(z0)) lcs#2#(::(z0,z1)) -> c_150(lcs#3#(z0)) lcs#2#(nil()) -> c_151(#abs#(#0())) lcs#3#(::(z0,z1)) -> c_152() lcs#3#(nil()) -> c_153(#abs#(#0())) lcstable#(z0,z1) -> c_154(lcstable#1#(z0,z1)) lcstable#1#(::(z0,z1),z2) -> c_155(lcstable#2#(lcstable(z1,z2),z2,z0),lcstable#(z1,z2)) lcstable#1#(nil(),z0) -> c_156(firstline#(z0)) lcstable#2#(z0,z1,z2) -> c_157(lcstable#3#(z0,z1,z2)) lcstable#3#(::(z0,z1),z2,z3) -> c_158(newline#(z3,z0,z2)) lcstable#3#(nil(),z0,z1) -> c_159() max#(z0,z1) -> c_160(max#1#(#greater(z0,z1),z0,z1),#greater#(z0,z1)) max#1#(#false(),z0,z1) -> c_161() max#1#(#true(),z0,z1) -> c_162() newline#(z0,z1,z2) -> c_163(newline#1#(z2,z1,z0)) newline#1#(::(z0,z1),z2,z3) -> c_164(newline#2#(z2,z0,z1,z3)) newline#1#(nil(),z0,z1) -> c_165() newline#2#(::(z0,z1),z2,z3,z4) -> c_166(newline#3#(newline(z4,z1,z3),z0,z1,z2,z4),newline#(z4,z1,z3)) newline#2#(nil(),z0,z1,z2) -> c_167() newline#3#(z0,z1,z2,z3,z4) -> c_168(newline#4#(right(z0),z1,z2,z0,z3,z4),right#(z0)) newline#4#(z0,z1,z2,z3,z4,z5) -> c_169(newline#5#(right(z2),z1,z3,z0,z4,z5),right#(z2)) newline#5#(z0,z1,z2,z3,z4,z5) -> c_170(newline#6#(newline#7(#equal(z4,z5),z1,z0,z3),z2) ,newline#7#(#equal(z4,z5),z1,z0,z3) ,#equal#(z4,z5)) newline#6#(z0,z1) -> c_171() newline#7#(#false(),z0,z1,z2) -> c_172(max#(z0,z2)) newline#7#(#true(),z0,z1,z2) -> c_173(+#(z1,#pos(#s(#0())))) right#(z0) -> c_174(right#1#(z0)) right#1#(::(z0,z1)) -> c_175() right#1#(nil()) -> c_176(#abs#(#0())) - Weak TRS: #abs(#0()) -> #0() #add(#0(),z0) -> z0 #add(#neg(#s(#0())),z0) -> #pred(z0) #add(#neg(#s(#s(z0))),z1) -> #pred(#add(#pos(#s(z0)),z1)) #add(#pos(#s(#0())),z0) -> #succ(z0) #add(#pos(#s(#s(z0))),z1) -> #succ(#add(#pos(#s(z0)),z1)) #and(#false(),#false()) -> #false() #and(#false(),#true()) -> #false() #and(#true(),#false()) -> #false() #and(#true(),#true()) -> #true() #ckgt(#EQ()) -> #false() #ckgt(#GT()) -> #true() #ckgt(#LT()) -> #false() #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) #greater(z0,z1) -> #ckgt(#compare(z0,z1)) #pred(#0()) -> #neg(#s(#0())) #pred(#neg(#s(z0))) -> #neg(#s(#s(z0))) #pred(#pos(#s(#0()))) -> #0() #pred(#pos(#s(#s(z0)))) -> #pos(#s(z0)) #succ(#0()) -> #pos(#s(#0())) #succ(#neg(#s(#0()))) -> #0() #succ(#neg(#s(#s(z0)))) -> #neg(#s(z0)) #succ(#pos(#s(z0))) -> #pos(#s(#s(z0))) +(z0,z1) -> #add(z0,z1) firstline(z0) -> firstline#1(z0) firstline#1(::(z0,z1)) -> ::(#abs(#0()),firstline(z1)) firstline#1(nil()) -> nil() lcstable(z0,z1) -> lcstable#1(z0,z1) lcstable#1(::(z0,z1),z2) -> lcstable#2(lcstable(z1,z2),z2,z0) lcstable#1(nil(),z0) -> ::(firstline(z0),nil()) lcstable#2(z0,z1,z2) -> lcstable#3(z0,z1,z2) lcstable#3(::(z0,z1),z2,z3) -> ::(newline(z3,z0,z2),::(z0,z1)) lcstable#3(nil(),z0,z1) -> nil() max(z0,z1) -> max#1(#greater(z0,z1),z0,z1) max#1(#false(),z0,z1) -> z1 max#1(#true(),z0,z1) -> z0 newline(z0,z1,z2) -> newline#1(z2,z1,z0) newline#1(::(z0,z1),z2,z3) -> newline#2(z2,z0,z1,z3) newline#1(nil(),z0,z1) -> nil() newline#2(::(z0,z1),z2,z3,z4) -> newline#3(newline(z4,z1,z3),z0,z1,z2,z4) newline#2(nil(),z0,z1,z2) -> nil() newline#3(z0,z1,z2,z3,z4) -> newline#4(right(z0),z1,z2,z0,z3,z4) newline#4(z0,z1,z2,z3,z4,z5) -> newline#5(right(z2),z1,z3,z0,z4,z5) newline#5(z0,z1,z2,z3,z4,z5) -> newline#6(newline#7(#equal(z4,z5),z1,z0,z3),z2) newline#6(z0,z1) -> ::(z0,z1) newline#7(#false(),z0,z1,z2) -> max(z0,z2) newline#7(#true(),z0,z1,z2) -> +(z1,#pos(#s(#0()))) right(z0) -> right#1(z0) right#1(::(z0,z1)) -> z0 right#1(nil()) -> #abs(#0()) - Signature: {#ABS/1,#ADD/2,#AND/2,#CKGT/1,#COMPARE/2,#EQ'/2,#EQUAL/2,#GREATER/2,#PRED/1,#SUCC/1,#abs/1,#add/2,#and/2 ,#ckgt/1,#compare/2,#eq/2,#equal/2,#greater/2,#pred/1,#succ/1,+/2,+'/2,FIRSTLINE/1,FIRSTLINE#1/1,LCS/2 ,LCS#1/1,LCS#2/1,LCS#3/1,LCSTABLE/2,LCSTABLE#1/2,LCSTABLE#2/3,LCSTABLE#3/3,MAX/2,MAX#1/3,NEWLINE/3 ,NEWLINE#1/3,NEWLINE#2/4,NEWLINE#3/5,NEWLINE#4/6,NEWLINE#5/6,NEWLINE#6/2,NEWLINE#7/4,RIGHT/1,RIGHT#1/1 ,firstline/1,firstline#1/1,lcs/2,lcs#1/1,lcs#2/1,lcs#3/1,lcstable/2,lcstable#1/2,lcstable#2/3,lcstable#3/3 ,max/2,max#1/3,newline/3,newline#1/3,newline#2/4,newline#3/5,newline#4/6,newline#5/6,newline#6/2,newline#7/4 ,right/1,right#1/1,#ABS#/1,#ADD#/2,#AND#/2,#CKGT#/1,#COMPARE#/2,#EQ'#/2,#EQUAL#/2,#GREATER#/2,#PRED#/1 ,#SUCC#/1,#abs#/1,#add#/2,#and#/2,#ckgt#/1,#compare#/2,#eq#/2,#equal#/2,#greater#/2,#pred#/1,#succ#/1,+#/2 ,+'#/2,FIRSTLINE#/1,FIRSTLINE#1#/1,LCS#/2,LCS#1#/1,LCS#2#/1,LCS#3#/1,LCSTABLE#/2,LCSTABLE#1#/2,LCSTABLE#2#/3 ,LCSTABLE#3#/3,MAX#/2,MAX#1#/3,NEWLINE#/3,NEWLINE#1#/3,NEWLINE#2#/4,NEWLINE#3#/5,NEWLINE#4#/6,NEWLINE#5#/6 ,NEWLINE#6#/2,NEWLINE#7#/4,RIGHT#/1,RIGHT#1#/1,firstline#/1,firstline#1#/1,lcs#/2,lcs#1#/1,lcs#2#/1,lcs#3#/1 ,lcstable#/2,lcstable#1#/2,lcstable#2#/3,lcstable#3#/3,max#/2,max#1#/3,newline#/3,newline#1#/3,newline#2#/4 ,newline#3#/5,newline#4#/6,newline#5#/6,newline#6#/2,newline#7#/4,right#/1,right#1#/1} / {#0/0,#EQ/0,#GT/0 ,#LT/0,#false/0,#neg/1,#pos/1,#s/1,#true/0,::/2,c/0,c1/1,c10/0,c11/0,c12/0,c13/0,c14/0,c15/0,c16/0,c17/1 ,c18/0,c19/0,c2/2,c20/0,c21/1,c22/0,c23/1,c24/0,c25/0,c26/0,c27/0,c28/0,c29/1,c3/1,c30/0,c31/0,c32/0,c33/1 ,c34/0,c35/1,c36/2,c37/2,c38/0,c39/0,c4/2,c40/0,c41/0,c42/0,c43/0,c44/0,c45/0,c46/0,c47/0,c48/0,c49/0,c5/0 ,c50/0,c51/0,c52/0,c53/1,c54/2,c55/1,c56/1,c57/1,c58/1,c59/0,c6/0,c60/2,c61/1,c62/1,c63/1,c64/0,c65/1,c66/1 ,c67/2,c68/1,c69/1,c7/0,c70/1,c71/0,c72/2,c73/0,c74/0,c75/1,c76/1,c77/0,c78/2,c79/0,c8/0,c80/2,c81/2,c82/3 ,c83/0,c84/1,c85/1,c86/1,c87/0,c88/1,c9/0,nil/0,c_1/0,c_2/0,c_3/0,c_4/0,c_5/1,c_6/3,c_7/1,c_8/1,c_9/1,c_10/1 ,c_11/0,c_12/3,c_13/1,c_14/1,c_15/1,c_16/0,c_17/1,c_18/1,c_19/3,c_20/1,c_21/1,c_22/1,c_23/0,c_24/3,c_25/0 ,c_26/0,c_27/1,c_28/1,c_29/0,c_30/3,c_31/0,c_32/3,c_33/3,c_34/6,c_35/0,c_36/1,c_37/1,c_38/1,c_39/0,c_40/1 ,c_41/0,c_42/1,c_43/3,c_44/1,c_45/3,c_46/0,c_47/0,c_48/0,c_49/0,c_50/0,c_51/0,c_52/0,c_53/0,c_54/0,c_55/0 ,c_56/0,c_57/0,c_58/1,c_59/0,c_60/0,c_61/0,c_62/1,c_63/0,c_64/1,c_65/0,c_66/0,c_67/0,c_68/0,c_69/0,c_70/1 ,c_71/0,c_72/0,c_73/0,c_74/1,c_75/0,c_76/1,c_77/4,c_78/4,c_79/0,c_80/0,c_81/0,c_82/0,c_83/0,c_84/0,c_85/0 ,c_86/0,c_87/0,c_88/0,c_89/0,c_90/0,c_91/0,c_92/0,c_93/0,c_94/0,c_95/1,c_96/2,c_97/1,c_98/2,c_99/0,c_100/0 ,c_101/0,c_102/0,c_103/0,c_104/0,c_105/0,c_106/0,c_107/0,c_108/0,c_109/0,c_110/0,c_111/1,c_112/0,c_113/0 ,c_114/0,c_115/1,c_116/0,c_117/1,c_118/0,c_119/0,c_120/0,c_121/0,c_122/0,c_123/1,c_124/0,c_125/0,c_126/0 ,c_127/1,c_128/0,c_129/1,c_130/3,c_131/0,c_132/0,c_133/0,c_134/1,c_135/2,c_136/0,c_137/0,c_138/0,c_139/0 ,c_140/0,c_141/0,c_142/0,c_143/0,c_144/1,c_145/1,c_146/2,c_147/0,c_148/2,c_149/1,c_150/1,c_151/1,c_152/0 ,c_153/1,c_154/1,c_155/2,c_156/1,c_157/1,c_158/1,c_159/0,c_160/2,c_161/0,c_162/0,c_163/1,c_164/1,c_165/0 ,c_166/2,c_167/0,c_168/2,c_169/2,c_170/3,c_171/0,c_172/1,c_173/1,c_174/1,c_175/0,c_176/1} - Obligation: innermost runtime complexity wrt. defined symbols {#ABS#,#ADD#,#AND#,#CKGT#,#COMPARE#,#EQ'#,#EQUAL# ,#GREATER#,#PRED#,#SUCC#,#abs#,#add#,#and#,#ckgt#,#compare#,#eq#,#equal#,#greater#,#pred#,#succ#,+#,+'# ,FIRSTLINE#,FIRSTLINE#1#,LCS#,LCS#1#,LCS#2#,LCS#3#,LCSTABLE#,LCSTABLE#1#,LCSTABLE#2#,LCSTABLE#3#,MAX#,MAX#1# ,NEWLINE#,NEWLINE#1#,NEWLINE#2#,NEWLINE#3#,NEWLINE#4#,NEWLINE#5#,NEWLINE#6#,NEWLINE#7#,RIGHT#,RIGHT#1# ,firstline#,firstline#1#,lcs#,lcs#1#,lcs#2#,lcs#3#,lcstable#,lcstable#1#,lcstable#2#,lcstable#3#,max#,max#1# ,newline#,newline#1#,newline#2#,newline#3#,newline#4#,newline#5#,newline#6#,newline#7#,right# ,right#1#} 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,c59,c6,c60,c61,c62,c63,c64,c65 ,c66,c67,c68,c69,c7,c70,c71,c72,c73,c74,c75,c76,c77,c78,c79,c8,c80,c81,c82,c83,c84,c85,c86,c87,c88,c9,nil} + Applied Processor: PredecessorEstimation {onSelection = all simple predecessor estimation selector} + Details: We estimate the number of application of {4,15} by application of Pre({4,15}) = {3,14}. Here rules are labelled as follows: 1: FIRSTLINE#(z0) -> c_8(FIRSTLINE#1#(z0)) 2: FIRSTLINE#1#(::(z0,z1)) -> c_10(FIRSTLINE#(z1)) 3: LCS#(z0,z1) -> c_12(LCS#1#(lcstable(z0,z1)),lcstable#(z0,z1),LCSTABLE#(z0,z1)) 4: LCS#1#(z0) -> c_13(LCS#2#(z0)) 5: LCSTABLE#(z0,z1) -> c_18(LCSTABLE#1#(z0,z1)) 6: LCSTABLE#1#(::(z0,z1),z2) -> c_19(LCSTABLE#2#(lcstable(z1,z2),z2,z0),lcstable#(z1,z2),LCSTABLE#(z1,z2)) 7: LCSTABLE#1#(nil(),z0) -> c_20(FIRSTLINE#(z0)) 8: LCSTABLE#2#(z0,z1,z2) -> c_21(LCSTABLE#3#(z0,z1,z2)) 9: LCSTABLE#3#(::(z0,z1),z2,z3) -> c_22(NEWLINE#(z3,z0,z2)) 10: NEWLINE#(z0,z1,z2) -> c_27(NEWLINE#1#(z2,z1,z0)) 11: NEWLINE#1#(::(z0,z1),z2,z3) -> c_28(NEWLINE#2#(z2,z0,z1,z3)) 12: NEWLINE#2#(::(z0,z1),z2,z3,z4) -> c_30(NEWLINE#3#(newline(z4,z1,z3),z0,z1,z2,z4) ,newline#(z4,z1,z3) ,NEWLINE#(z4,z1,z3)) 13: NEWLINE#3#(z0,z1,z2,z3,z4) -> c_32(NEWLINE#4#(right(z0),z1,z2,z0,z3,z4),right#(z0),RIGHT#(z0)) 14: NEWLINE#4#(z0,z1,z2,z3,z4,z5) -> c_33(NEWLINE#5#(right(z2),z1,z3,z0,z4,z5),right#(z2),RIGHT#(z2)) 15: NEWLINE#5#(z0,z1,z2,z3,z4,z5) -> c_34(NEWLINE#6#(newline#7(#equal(z4,z5),z1,z0,z3),z2) ,newline#7#(#equal(z4,z5),z1,z0,z3) ,#equal#(z4,z5) ,NEWLINE#7#(#equal(z4,z5),z1,z0,z3) ,#equal#(z4,z5) ,#EQUAL#(z4,z5)) 16: #ABS#(#0()) -> c_1() 17: #ABS#(#neg(z0)) -> c_2() 18: #ABS#(#pos(z0)) -> c_3() 19: #ABS#(#s(z0)) -> c_4() 20: #ADD#(#0(),z0) -> c_41() 21: #ADD#(#neg(#s(#0())),z0) -> c_42(#PRED#(z0)) 22: #ADD#(#neg(#s(#s(z0))),z1) -> c_43(#PRED#(#add(#pos(#s(z0)),z1)) ,#add#(#pos(#s(z0)),z1) ,#ADD#(#pos(#s(z0)),z1)) 23: #ADD#(#pos(#s(#0())),z0) -> c_44(#SUCC#(z0)) 24: #ADD#(#pos(#s(#s(z0))),z1) -> c_45(#SUCC#(#add(#pos(#s(z0)),z1)) ,#add#(#pos(#s(z0)),z1) ,#ADD#(#pos(#s(z0)),z1)) 25: #AND#(#false(),#false()) -> c_46() 26: #AND#(#false(),#true()) -> c_47() 27: #AND#(#true(),#false()) -> c_48() 28: #AND#(#true(),#true()) -> c_49() 29: #CKGT#(#EQ()) -> c_50() 30: #CKGT#(#GT()) -> c_51() 31: #CKGT#(#LT()) -> c_52() 32: #COMPARE#(#0(),#0()) -> c_53() 33: #COMPARE#(#0(),#neg(z0)) -> c_54() 34: #COMPARE#(#0(),#pos(z0)) -> c_55() 35: #COMPARE#(#0(),#s(z0)) -> c_56() 36: #COMPARE#(#neg(z0),#0()) -> c_57() 37: #COMPARE#(#neg(z0),#neg(z1)) -> c_58(#COMPARE#(z1,z0)) 38: #COMPARE#(#neg(z0),#pos(z1)) -> c_59() 39: #COMPARE#(#pos(z0),#0()) -> c_60() 40: #COMPARE#(#pos(z0),#neg(z1)) -> c_61() 41: #COMPARE#(#pos(z0),#pos(z1)) -> c_62(#COMPARE#(z0,z1)) 42: #COMPARE#(#s(z0),#0()) -> c_63() 43: #COMPARE#(#s(z0),#s(z1)) -> c_64(#COMPARE#(z0,z1)) 44: #EQ'#(#0(),#0()) -> c_65() 45: #EQ'#(#0(),#neg(z0)) -> c_66() 46: #EQ'#(#0(),#pos(z0)) -> c_67() 47: #EQ'#(#0(),#s(z0)) -> c_68() 48: #EQ'#(#neg(z0),#0()) -> c_69() 49: #EQ'#(#neg(z0),#neg(z1)) -> c_70(#EQ'#(z0,z1)) 50: #EQ'#(#neg(z0),#pos(z1)) -> c_71() 51: #EQ'#(#pos(z0),#0()) -> c_72() 52: #EQ'#(#pos(z0),#neg(z1)) -> c_73() 53: #EQ'#(#pos(z0),#pos(z1)) -> c_74(#EQ'#(z0,z1)) 54: #EQ'#(#s(z0),#0()) -> c_75() 55: #EQ'#(#s(z0),#s(z1)) -> c_76(#EQ'#(z0,z1)) 56: #EQ'#(::(z0,z1),::(z2,z3)) -> c_77(#AND#(#eq(z0,z2),#eq(z1,z3)),#eq#(z0,z2),#eq#(z1,z3),#EQ'#(z0,z2)) 57: #EQ'#(::(z0,z1),::(z2,z3)) -> c_78(#AND#(#eq(z0,z2),#eq(z1,z3)),#eq#(z0,z2),#eq#(z1,z3),#EQ'#(z1,z3)) 58: #EQ'#(::(z0,z1),nil()) -> c_79() 59: #EQ'#(nil(),::(z0,z1)) -> c_80() 60: #EQ'#(nil(),nil()) -> c_81() 61: #EQUAL#(z0,z1) -> c_5(#EQ'#(z0,z1)) 62: #GREATER#(z0,z1) -> c_6(#CKGT#(#compare(z0,z1)),#compare#(z0,z1),#COMPARE#(z0,z1)) 63: #PRED#(#0()) -> c_82() 64: #PRED#(#neg(#s(z0))) -> c_83() 65: #PRED#(#pos(#s(#0()))) -> c_84() 66: #PRED#(#pos(#s(#s(z0)))) -> c_85() 67: #SUCC#(#0()) -> c_86() 68: #SUCC#(#neg(#s(#0()))) -> c_87() 69: #SUCC#(#neg(#s(#s(z0)))) -> c_88() 70: #SUCC#(#pos(#s(z0))) -> c_89() 71: #abs#(#0()) -> c_90() 72: #abs#(#neg(z0)) -> c_91() 73: #abs#(#pos(z0)) -> c_92() 74: #abs#(#s(z0)) -> c_93() 75: #add#(#0(),z0) -> c_94() 76: #add#(#neg(#s(#0())),z0) -> c_95(#pred#(z0)) 77: #add#(#neg(#s(#s(z0))),z1) -> c_96(#pred#(#add(#pos(#s(z0)),z1)),#add#(#pos(#s(z0)),z1)) 78: #add#(#pos(#s(#0())),z0) -> c_97(#succ#(z0)) 79: #add#(#pos(#s(#s(z0))),z1) -> c_98(#succ#(#add(#pos(#s(z0)),z1)),#add#(#pos(#s(z0)),z1)) 80: #and#(#false(),#false()) -> c_99() 81: #and#(#false(),#true()) -> c_100() 82: #and#(#true(),#false()) -> c_101() 83: #and#(#true(),#true()) -> c_102() 84: #ckgt#(#EQ()) -> c_103() 85: #ckgt#(#GT()) -> c_104() 86: #ckgt#(#LT()) -> c_105() 87: #compare#(#0(),#0()) -> c_106() 88: #compare#(#0(),#neg(z0)) -> c_107() 89: #compare#(#0(),#pos(z0)) -> c_108() 90: #compare#(#0(),#s(z0)) -> c_109() 91: #compare#(#neg(z0),#0()) -> c_110() 92: #compare#(#neg(z0),#neg(z1)) -> c_111(#compare#(z1,z0)) 93: #compare#(#neg(z0),#pos(z1)) -> c_112() 94: #compare#(#pos(z0),#0()) -> c_113() 95: #compare#(#pos(z0),#neg(z1)) -> c_114() 96: #compare#(#pos(z0),#pos(z1)) -> c_115(#compare#(z0,z1)) 97: #compare#(#s(z0),#0()) -> c_116() 98: #compare#(#s(z0),#s(z1)) -> c_117(#compare#(z0,z1)) 99: #eq#(#0(),#0()) -> c_118() 100: #eq#(#0(),#neg(z0)) -> c_119() 101: #eq#(#0(),#pos(z0)) -> c_120() 102: #eq#(#0(),#s(z0)) -> c_121() 103: #eq#(#neg(z0),#0()) -> c_122() 104: #eq#(#neg(z0),#neg(z1)) -> c_123(#eq#(z0,z1)) 105: #eq#(#neg(z0),#pos(z1)) -> c_124() 106: #eq#(#pos(z0),#0()) -> c_125() 107: #eq#(#pos(z0),#neg(z1)) -> c_126() 108: #eq#(#pos(z0),#pos(z1)) -> c_127(#eq#(z0,z1)) 109: #eq#(#s(z0),#0()) -> c_128() 110: #eq#(#s(z0),#s(z1)) -> c_129(#eq#(z0,z1)) 111: #eq#(::(z0,z1),::(z2,z3)) -> c_130(#and#(#eq(z0,z2),#eq(z1,z3)),#eq#(z0,z2),#eq#(z1,z3)) 112: #eq#(::(z0,z1),nil()) -> c_131() 113: #eq#(nil(),::(z0,z1)) -> c_132() 114: #eq#(nil(),nil()) -> c_133() 115: #equal#(z0,z1) -> c_134(#eq#(z0,z1)) 116: #greater#(z0,z1) -> c_135(#ckgt#(#compare(z0,z1)),#compare#(z0,z1)) 117: #pred#(#0()) -> c_136() 118: #pred#(#neg(#s(z0))) -> c_137() 119: #pred#(#pos(#s(#0()))) -> c_138() 120: #pred#(#pos(#s(#s(z0)))) -> c_139() 121: #succ#(#0()) -> c_140() 122: #succ#(#neg(#s(#0()))) -> c_141() 123: #succ#(#neg(#s(#s(z0)))) -> c_142() 124: #succ#(#pos(#s(z0))) -> c_143() 125: +#(z0,z1) -> c_144(#add#(z0,z1)) 126: +'#(z0,z1) -> c_7(#ADD#(z0,z1)) 127: FIRSTLINE#1#(::(z0,z1)) -> c_9(#ABS#(#0())) 128: FIRSTLINE#1#(nil()) -> c_11() 129: LCS#2#(::(z0,z1)) -> c_14(LCS#3#(z0)) 130: LCS#2#(nil()) -> c_15(#ABS#(#0())) 131: LCS#3#(::(z0,z1)) -> c_16() 132: LCS#3#(nil()) -> c_17(#ABS#(#0())) 133: LCSTABLE#3#(nil(),z0,z1) -> c_23() 134: MAX#(z0,z1) -> c_24(MAX#1#(#greater(z0,z1),z0,z1),#greater#(z0,z1),#GREATER#(z0,z1)) 135: MAX#1#(#false(),z0,z1) -> c_25() 136: MAX#1#(#true(),z0,z1) -> c_26() 137: NEWLINE#1#(nil(),z0,z1) -> c_29() 138: NEWLINE#2#(nil(),z0,z1,z2) -> c_31() 139: NEWLINE#6#(z0,z1) -> c_35() 140: NEWLINE#7#(#false(),z0,z1,z2) -> c_36(MAX#(z0,z2)) 141: NEWLINE#7#(#true(),z0,z1,z2) -> c_37(+'#(z1,#pos(#s(#0())))) 142: RIGHT#(z0) -> c_38(RIGHT#1#(z0)) 143: RIGHT#1#(::(z0,z1)) -> c_39() 144: RIGHT#1#(nil()) -> c_40(#ABS#(#0())) 145: firstline#(z0) -> c_145(firstline#1#(z0)) 146: firstline#1#(::(z0,z1)) -> c_146(#abs#(#0()),firstline#(z1)) 147: firstline#1#(nil()) -> c_147() 148: lcs#(z0,z1) -> c_148(lcs#1#(lcstable(z0,z1)),lcstable#(z0,z1)) 149: lcs#1#(z0) -> c_149(lcs#2#(z0)) 150: lcs#2#(::(z0,z1)) -> c_150(lcs#3#(z0)) 151: lcs#2#(nil()) -> c_151(#abs#(#0())) 152: lcs#3#(::(z0,z1)) -> c_152() 153: lcs#3#(nil()) -> c_153(#abs#(#0())) 154: lcstable#(z0,z1) -> c_154(lcstable#1#(z0,z1)) 155: lcstable#1#(::(z0,z1),z2) -> c_155(lcstable#2#(lcstable(z1,z2),z2,z0),lcstable#(z1,z2)) 156: lcstable#1#(nil(),z0) -> c_156(firstline#(z0)) 157: lcstable#2#(z0,z1,z2) -> c_157(lcstable#3#(z0,z1,z2)) 158: lcstable#3#(::(z0,z1),z2,z3) -> c_158(newline#(z3,z0,z2)) 159: lcstable#3#(nil(),z0,z1) -> c_159() 160: max#(z0,z1) -> c_160(max#1#(#greater(z0,z1),z0,z1),#greater#(z0,z1)) 161: max#1#(#false(),z0,z1) -> c_161() 162: max#1#(#true(),z0,z1) -> c_162() 163: newline#(z0,z1,z2) -> c_163(newline#1#(z2,z1,z0)) 164: newline#1#(::(z0,z1),z2,z3) -> c_164(newline#2#(z2,z0,z1,z3)) 165: newline#1#(nil(),z0,z1) -> c_165() 166: newline#2#(::(z0,z1),z2,z3,z4) -> c_166(newline#3#(newline(z4,z1,z3),z0,z1,z2,z4),newline#(z4,z1,z3)) 167: newline#2#(nil(),z0,z1,z2) -> c_167() 168: newline#3#(z0,z1,z2,z3,z4) -> c_168(newline#4#(right(z0),z1,z2,z0,z3,z4),right#(z0)) 169: newline#4#(z0,z1,z2,z3,z4,z5) -> c_169(newline#5#(right(z2),z1,z3,z0,z4,z5),right#(z2)) 170: newline#5#(z0,z1,z2,z3,z4,z5) -> c_170(newline#6#(newline#7(#equal(z4,z5),z1,z0,z3),z2) ,newline#7#(#equal(z4,z5),z1,z0,z3) ,#equal#(z4,z5)) 171: newline#6#(z0,z1) -> c_171() 172: newline#7#(#false(),z0,z1,z2) -> c_172(max#(z0,z2)) 173: newline#7#(#true(),z0,z1,z2) -> c_173(+#(z1,#pos(#s(#0())))) 174: right#(z0) -> c_174(right#1#(z0)) 175: right#1#(::(z0,z1)) -> c_175() 176: right#1#(nil()) -> c_176(#abs#(#0())) * Step 8: PredecessorEstimation. WORST_CASE(?,O(n^2)) + Considered Problem: - Strict DPs: FIRSTLINE#(z0) -> c_8(FIRSTLINE#1#(z0)) FIRSTLINE#1#(::(z0,z1)) -> c_10(FIRSTLINE#(z1)) LCS#(z0,z1) -> c_12(LCS#1#(lcstable(z0,z1)),lcstable#(z0,z1),LCSTABLE#(z0,z1)) LCSTABLE#(z0,z1) -> c_18(LCSTABLE#1#(z0,z1)) LCSTABLE#1#(::(z0,z1),z2) -> c_19(LCSTABLE#2#(lcstable(z1,z2),z2,z0),lcstable#(z1,z2),LCSTABLE#(z1,z2)) LCSTABLE#1#(nil(),z0) -> c_20(FIRSTLINE#(z0)) LCSTABLE#2#(z0,z1,z2) -> c_21(LCSTABLE#3#(z0,z1,z2)) LCSTABLE#3#(::(z0,z1),z2,z3) -> c_22(NEWLINE#(z3,z0,z2)) NEWLINE#(z0,z1,z2) -> c_27(NEWLINE#1#(z2,z1,z0)) NEWLINE#1#(::(z0,z1),z2,z3) -> c_28(NEWLINE#2#(z2,z0,z1,z3)) NEWLINE#2#(::(z0,z1),z2,z3,z4) -> c_30(NEWLINE#3#(newline(z4,z1,z3),z0,z1,z2,z4) ,newline#(z4,z1,z3) ,NEWLINE#(z4,z1,z3)) NEWLINE#3#(z0,z1,z2,z3,z4) -> c_32(NEWLINE#4#(right(z0),z1,z2,z0,z3,z4),right#(z0),RIGHT#(z0)) NEWLINE#4#(z0,z1,z2,z3,z4,z5) -> c_33(NEWLINE#5#(right(z2),z1,z3,z0,z4,z5),right#(z2),RIGHT#(z2)) - Weak DPs: #ABS#(#0()) -> c_1() #ABS#(#neg(z0)) -> c_2() #ABS#(#pos(z0)) -> c_3() #ABS#(#s(z0)) -> c_4() #ADD#(#0(),z0) -> c_41() #ADD#(#neg(#s(#0())),z0) -> c_42(#PRED#(z0)) #ADD#(#neg(#s(#s(z0))),z1) -> c_43(#PRED#(#add(#pos(#s(z0)),z1)) ,#add#(#pos(#s(z0)),z1) ,#ADD#(#pos(#s(z0)),z1)) #ADD#(#pos(#s(#0())),z0) -> c_44(#SUCC#(z0)) #ADD#(#pos(#s(#s(z0))),z1) -> c_45(#SUCC#(#add(#pos(#s(z0)),z1)) ,#add#(#pos(#s(z0)),z1) ,#ADD#(#pos(#s(z0)),z1)) #AND#(#false(),#false()) -> c_46() #AND#(#false(),#true()) -> c_47() #AND#(#true(),#false()) -> c_48() #AND#(#true(),#true()) -> c_49() #CKGT#(#EQ()) -> c_50() #CKGT#(#GT()) -> c_51() #CKGT#(#LT()) -> c_52() #COMPARE#(#0(),#0()) -> c_53() #COMPARE#(#0(),#neg(z0)) -> c_54() #COMPARE#(#0(),#pos(z0)) -> c_55() #COMPARE#(#0(),#s(z0)) -> c_56() #COMPARE#(#neg(z0),#0()) -> c_57() #COMPARE#(#neg(z0),#neg(z1)) -> c_58(#COMPARE#(z1,z0)) #COMPARE#(#neg(z0),#pos(z1)) -> c_59() #COMPARE#(#pos(z0),#0()) -> c_60() #COMPARE#(#pos(z0),#neg(z1)) -> c_61() #COMPARE#(#pos(z0),#pos(z1)) -> c_62(#COMPARE#(z0,z1)) #COMPARE#(#s(z0),#0()) -> c_63() #COMPARE#(#s(z0),#s(z1)) -> c_64(#COMPARE#(z0,z1)) #EQ'#(#0(),#0()) -> c_65() #EQ'#(#0(),#neg(z0)) -> c_66() #EQ'#(#0(),#pos(z0)) -> c_67() #EQ'#(#0(),#s(z0)) -> c_68() #EQ'#(#neg(z0),#0()) -> c_69() #EQ'#(#neg(z0),#neg(z1)) -> c_70(#EQ'#(z0,z1)) #EQ'#(#neg(z0),#pos(z1)) -> c_71() #EQ'#(#pos(z0),#0()) -> c_72() #EQ'#(#pos(z0),#neg(z1)) -> c_73() #EQ'#(#pos(z0),#pos(z1)) -> c_74(#EQ'#(z0,z1)) #EQ'#(#s(z0),#0()) -> c_75() #EQ'#(#s(z0),#s(z1)) -> c_76(#EQ'#(z0,z1)) #EQ'#(::(z0,z1),::(z2,z3)) -> c_77(#AND#(#eq(z0,z2),#eq(z1,z3)),#eq#(z0,z2),#eq#(z1,z3),#EQ'#(z0,z2)) #EQ'#(::(z0,z1),::(z2,z3)) -> c_78(#AND#(#eq(z0,z2),#eq(z1,z3)),#eq#(z0,z2),#eq#(z1,z3),#EQ'#(z1,z3)) #EQ'#(::(z0,z1),nil()) -> c_79() #EQ'#(nil(),::(z0,z1)) -> c_80() #EQ'#(nil(),nil()) -> c_81() #EQUAL#(z0,z1) -> c_5(#EQ'#(z0,z1)) #GREATER#(z0,z1) -> c_6(#CKGT#(#compare(z0,z1)),#compare#(z0,z1),#COMPARE#(z0,z1)) #PRED#(#0()) -> c_82() #PRED#(#neg(#s(z0))) -> c_83() #PRED#(#pos(#s(#0()))) -> c_84() #PRED#(#pos(#s(#s(z0)))) -> c_85() #SUCC#(#0()) -> c_86() #SUCC#(#neg(#s(#0()))) -> c_87() #SUCC#(#neg(#s(#s(z0)))) -> c_88() #SUCC#(#pos(#s(z0))) -> c_89() #abs#(#0()) -> c_90() #abs#(#neg(z0)) -> c_91() #abs#(#pos(z0)) -> c_92() #abs#(#s(z0)) -> c_93() #add#(#0(),z0) -> c_94() #add#(#neg(#s(#0())),z0) -> c_95(#pred#(z0)) #add#(#neg(#s(#s(z0))),z1) -> c_96(#pred#(#add(#pos(#s(z0)),z1)),#add#(#pos(#s(z0)),z1)) #add#(#pos(#s(#0())),z0) -> c_97(#succ#(z0)) #add#(#pos(#s(#s(z0))),z1) -> c_98(#succ#(#add(#pos(#s(z0)),z1)),#add#(#pos(#s(z0)),z1)) #and#(#false(),#false()) -> c_99() #and#(#false(),#true()) -> c_100() #and#(#true(),#false()) -> c_101() #and#(#true(),#true()) -> c_102() #ckgt#(#EQ()) -> c_103() #ckgt#(#GT()) -> c_104() #ckgt#(#LT()) -> c_105() #compare#(#0(),#0()) -> c_106() #compare#(#0(),#neg(z0)) -> c_107() #compare#(#0(),#pos(z0)) -> c_108() #compare#(#0(),#s(z0)) -> c_109() #compare#(#neg(z0),#0()) -> c_110() #compare#(#neg(z0),#neg(z1)) -> c_111(#compare#(z1,z0)) #compare#(#neg(z0),#pos(z1)) -> c_112() #compare#(#pos(z0),#0()) -> c_113() #compare#(#pos(z0),#neg(z1)) -> c_114() #compare#(#pos(z0),#pos(z1)) -> c_115(#compare#(z0,z1)) #compare#(#s(z0),#0()) -> c_116() #compare#(#s(z0),#s(z1)) -> c_117(#compare#(z0,z1)) #eq#(#0(),#0()) -> c_118() #eq#(#0(),#neg(z0)) -> c_119() #eq#(#0(),#pos(z0)) -> c_120() #eq#(#0(),#s(z0)) -> c_121() #eq#(#neg(z0),#0()) -> c_122() #eq#(#neg(z0),#neg(z1)) -> c_123(#eq#(z0,z1)) #eq#(#neg(z0),#pos(z1)) -> c_124() #eq#(#pos(z0),#0()) -> c_125() #eq#(#pos(z0),#neg(z1)) -> c_126() #eq#(#pos(z0),#pos(z1)) -> c_127(#eq#(z0,z1)) #eq#(#s(z0),#0()) -> c_128() #eq#(#s(z0),#s(z1)) -> c_129(#eq#(z0,z1)) #eq#(::(z0,z1),::(z2,z3)) -> c_130(#and#(#eq(z0,z2),#eq(z1,z3)),#eq#(z0,z2),#eq#(z1,z3)) #eq#(::(z0,z1),nil()) -> c_131() #eq#(nil(),::(z0,z1)) -> c_132() #eq#(nil(),nil()) -> c_133() #equal#(z0,z1) -> c_134(#eq#(z0,z1)) #greater#(z0,z1) -> c_135(#ckgt#(#compare(z0,z1)),#compare#(z0,z1)) #pred#(#0()) -> c_136() #pred#(#neg(#s(z0))) -> c_137() #pred#(#pos(#s(#0()))) -> c_138() #pred#(#pos(#s(#s(z0)))) -> c_139() #succ#(#0()) -> c_140() #succ#(#neg(#s(#0()))) -> c_141() #succ#(#neg(#s(#s(z0)))) -> c_142() #succ#(#pos(#s(z0))) -> c_143() +#(z0,z1) -> c_144(#add#(z0,z1)) +'#(z0,z1) -> c_7(#ADD#(z0,z1)) FIRSTLINE#1#(::(z0,z1)) -> c_9(#ABS#(#0())) FIRSTLINE#1#(nil()) -> c_11() LCS#1#(z0) -> c_13(LCS#2#(z0)) LCS#2#(::(z0,z1)) -> c_14(LCS#3#(z0)) LCS#2#(nil()) -> c_15(#ABS#(#0())) LCS#3#(::(z0,z1)) -> c_16() LCS#3#(nil()) -> c_17(#ABS#(#0())) LCSTABLE#3#(nil(),z0,z1) -> c_23() MAX#(z0,z1) -> c_24(MAX#1#(#greater(z0,z1),z0,z1),#greater#(z0,z1),#GREATER#(z0,z1)) MAX#1#(#false(),z0,z1) -> c_25() MAX#1#(#true(),z0,z1) -> c_26() NEWLINE#1#(nil(),z0,z1) -> c_29() NEWLINE#2#(nil(),z0,z1,z2) -> c_31() NEWLINE#5#(z0,z1,z2,z3,z4,z5) -> c_34(NEWLINE#6#(newline#7(#equal(z4,z5),z1,z0,z3),z2) ,newline#7#(#equal(z4,z5),z1,z0,z3) ,#equal#(z4,z5) ,NEWLINE#7#(#equal(z4,z5),z1,z0,z3) ,#equal#(z4,z5) ,#EQUAL#(z4,z5)) NEWLINE#6#(z0,z1) -> c_35() NEWLINE#7#(#false(),z0,z1,z2) -> c_36(MAX#(z0,z2)) NEWLINE#7#(#true(),z0,z1,z2) -> c_37(+'#(z1,#pos(#s(#0())))) RIGHT#(z0) -> c_38(RIGHT#1#(z0)) RIGHT#1#(::(z0,z1)) -> c_39() RIGHT#1#(nil()) -> c_40(#ABS#(#0())) firstline#(z0) -> c_145(firstline#1#(z0)) firstline#1#(::(z0,z1)) -> c_146(#abs#(#0()),firstline#(z1)) firstline#1#(nil()) -> c_147() lcs#(z0,z1) -> c_148(lcs#1#(lcstable(z0,z1)),lcstable#(z0,z1)) lcs#1#(z0) -> c_149(lcs#2#(z0)) lcs#2#(::(z0,z1)) -> c_150(lcs#3#(z0)) lcs#2#(nil()) -> c_151(#abs#(#0())) lcs#3#(::(z0,z1)) -> c_152() lcs#3#(nil()) -> c_153(#abs#(#0())) lcstable#(z0,z1) -> c_154(lcstable#1#(z0,z1)) lcstable#1#(::(z0,z1),z2) -> c_155(lcstable#2#(lcstable(z1,z2),z2,z0),lcstable#(z1,z2)) lcstable#1#(nil(),z0) -> c_156(firstline#(z0)) lcstable#2#(z0,z1,z2) -> c_157(lcstable#3#(z0,z1,z2)) lcstable#3#(::(z0,z1),z2,z3) -> c_158(newline#(z3,z0,z2)) lcstable#3#(nil(),z0,z1) -> c_159() max#(z0,z1) -> c_160(max#1#(#greater(z0,z1),z0,z1),#greater#(z0,z1)) max#1#(#false(),z0,z1) -> c_161() max#1#(#true(),z0,z1) -> c_162() newline#(z0,z1,z2) -> c_163(newline#1#(z2,z1,z0)) newline#1#(::(z0,z1),z2,z3) -> c_164(newline#2#(z2,z0,z1,z3)) newline#1#(nil(),z0,z1) -> c_165() newline#2#(::(z0,z1),z2,z3,z4) -> c_166(newline#3#(newline(z4,z1,z3),z0,z1,z2,z4),newline#(z4,z1,z3)) newline#2#(nil(),z0,z1,z2) -> c_167() newline#3#(z0,z1,z2,z3,z4) -> c_168(newline#4#(right(z0),z1,z2,z0,z3,z4),right#(z0)) newline#4#(z0,z1,z2,z3,z4,z5) -> c_169(newline#5#(right(z2),z1,z3,z0,z4,z5),right#(z2)) newline#5#(z0,z1,z2,z3,z4,z5) -> c_170(newline#6#(newline#7(#equal(z4,z5),z1,z0,z3),z2) ,newline#7#(#equal(z4,z5),z1,z0,z3) ,#equal#(z4,z5)) newline#6#(z0,z1) -> c_171() newline#7#(#false(),z0,z1,z2) -> c_172(max#(z0,z2)) newline#7#(#true(),z0,z1,z2) -> c_173(+#(z1,#pos(#s(#0())))) right#(z0) -> c_174(right#1#(z0)) right#1#(::(z0,z1)) -> c_175() right#1#(nil()) -> c_176(#abs#(#0())) - Weak TRS: #abs(#0()) -> #0() #add(#0(),z0) -> z0 #add(#neg(#s(#0())),z0) -> #pred(z0) #add(#neg(#s(#s(z0))),z1) -> #pred(#add(#pos(#s(z0)),z1)) #add(#pos(#s(#0())),z0) -> #succ(z0) #add(#pos(#s(#s(z0))),z1) -> #succ(#add(#pos(#s(z0)),z1)) #and(#false(),#false()) -> #false() #and(#false(),#true()) -> #false() #and(#true(),#false()) -> #false() #and(#true(),#true()) -> #true() #ckgt(#EQ()) -> #false() #ckgt(#GT()) -> #true() #ckgt(#LT()) -> #false() #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) #greater(z0,z1) -> #ckgt(#compare(z0,z1)) #pred(#0()) -> #neg(#s(#0())) #pred(#neg(#s(z0))) -> #neg(#s(#s(z0))) #pred(#pos(#s(#0()))) -> #0() #pred(#pos(#s(#s(z0)))) -> #pos(#s(z0)) #succ(#0()) -> #pos(#s(#0())) #succ(#neg(#s(#0()))) -> #0() #succ(#neg(#s(#s(z0)))) -> #neg(#s(z0)) #succ(#pos(#s(z0))) -> #pos(#s(#s(z0))) +(z0,z1) -> #add(z0,z1) firstline(z0) -> firstline#1(z0) firstline#1(::(z0,z1)) -> ::(#abs(#0()),firstline(z1)) firstline#1(nil()) -> nil() lcstable(z0,z1) -> lcstable#1(z0,z1) lcstable#1(::(z0,z1),z2) -> lcstable#2(lcstable(z1,z2),z2,z0) lcstable#1(nil(),z0) -> ::(firstline(z0),nil()) lcstable#2(z0,z1,z2) -> lcstable#3(z0,z1,z2) lcstable#3(::(z0,z1),z2,z3) -> ::(newline(z3,z0,z2),::(z0,z1)) lcstable#3(nil(),z0,z1) -> nil() max(z0,z1) -> max#1(#greater(z0,z1),z0,z1) max#1(#false(),z0,z1) -> z1 max#1(#true(),z0,z1) -> z0 newline(z0,z1,z2) -> newline#1(z2,z1,z0) newline#1(::(z0,z1),z2,z3) -> newline#2(z2,z0,z1,z3) newline#1(nil(),z0,z1) -> nil() newline#2(::(z0,z1),z2,z3,z4) -> newline#3(newline(z4,z1,z3),z0,z1,z2,z4) newline#2(nil(),z0,z1,z2) -> nil() newline#3(z0,z1,z2,z3,z4) -> newline#4(right(z0),z1,z2,z0,z3,z4) newline#4(z0,z1,z2,z3,z4,z5) -> newline#5(right(z2),z1,z3,z0,z4,z5) newline#5(z0,z1,z2,z3,z4,z5) -> newline#6(newline#7(#equal(z4,z5),z1,z0,z3),z2) newline#6(z0,z1) -> ::(z0,z1) newline#7(#false(),z0,z1,z2) -> max(z0,z2) newline#7(#true(),z0,z1,z2) -> +(z1,#pos(#s(#0()))) right(z0) -> right#1(z0) right#1(::(z0,z1)) -> z0 right#1(nil()) -> #abs(#0()) - Signature: {#ABS/1,#ADD/2,#AND/2,#CKGT/1,#COMPARE/2,#EQ'/2,#EQUAL/2,#GREATER/2,#PRED/1,#SUCC/1,#abs/1,#add/2,#and/2 ,#ckgt/1,#compare/2,#eq/2,#equal/2,#greater/2,#pred/1,#succ/1,+/2,+'/2,FIRSTLINE/1,FIRSTLINE#1/1,LCS/2 ,LCS#1/1,LCS#2/1,LCS#3/1,LCSTABLE/2,LCSTABLE#1/2,LCSTABLE#2/3,LCSTABLE#3/3,MAX/2,MAX#1/3,NEWLINE/3 ,NEWLINE#1/3,NEWLINE#2/4,NEWLINE#3/5,NEWLINE#4/6,NEWLINE#5/6,NEWLINE#6/2,NEWLINE#7/4,RIGHT/1,RIGHT#1/1 ,firstline/1,firstline#1/1,lcs/2,lcs#1/1,lcs#2/1,lcs#3/1,lcstable/2,lcstable#1/2,lcstable#2/3,lcstable#3/3 ,max/2,max#1/3,newline/3,newline#1/3,newline#2/4,newline#3/5,newline#4/6,newline#5/6,newline#6/2,newline#7/4 ,right/1,right#1/1,#ABS#/1,#ADD#/2,#AND#/2,#CKGT#/1,#COMPARE#/2,#EQ'#/2,#EQUAL#/2,#GREATER#/2,#PRED#/1 ,#SUCC#/1,#abs#/1,#add#/2,#and#/2,#ckgt#/1,#compare#/2,#eq#/2,#equal#/2,#greater#/2,#pred#/1,#succ#/1,+#/2 ,+'#/2,FIRSTLINE#/1,FIRSTLINE#1#/1,LCS#/2,LCS#1#/1,LCS#2#/1,LCS#3#/1,LCSTABLE#/2,LCSTABLE#1#/2,LCSTABLE#2#/3 ,LCSTABLE#3#/3,MAX#/2,MAX#1#/3,NEWLINE#/3,NEWLINE#1#/3,NEWLINE#2#/4,NEWLINE#3#/5,NEWLINE#4#/6,NEWLINE#5#/6 ,NEWLINE#6#/2,NEWLINE#7#/4,RIGHT#/1,RIGHT#1#/1,firstline#/1,firstline#1#/1,lcs#/2,lcs#1#/1,lcs#2#/1,lcs#3#/1 ,lcstable#/2,lcstable#1#/2,lcstable#2#/3,lcstable#3#/3,max#/2,max#1#/3,newline#/3,newline#1#/3,newline#2#/4 ,newline#3#/5,newline#4#/6,newline#5#/6,newline#6#/2,newline#7#/4,right#/1,right#1#/1} / {#0/0,#EQ/0,#GT/0 ,#LT/0,#false/0,#neg/1,#pos/1,#s/1,#true/0,::/2,c/0,c1/1,c10/0,c11/0,c12/0,c13/0,c14/0,c15/0,c16/0,c17/1 ,c18/0,c19/0,c2/2,c20/0,c21/1,c22/0,c23/1,c24/0,c25/0,c26/0,c27/0,c28/0,c29/1,c3/1,c30/0,c31/0,c32/0,c33/1 ,c34/0,c35/1,c36/2,c37/2,c38/0,c39/0,c4/2,c40/0,c41/0,c42/0,c43/0,c44/0,c45/0,c46/0,c47/0,c48/0,c49/0,c5/0 ,c50/0,c51/0,c52/0,c53/1,c54/2,c55/1,c56/1,c57/1,c58/1,c59/0,c6/0,c60/2,c61/1,c62/1,c63/1,c64/0,c65/1,c66/1 ,c67/2,c68/1,c69/1,c7/0,c70/1,c71/0,c72/2,c73/0,c74/0,c75/1,c76/1,c77/0,c78/2,c79/0,c8/0,c80/2,c81/2,c82/3 ,c83/0,c84/1,c85/1,c86/1,c87/0,c88/1,c9/0,nil/0,c_1/0,c_2/0,c_3/0,c_4/0,c_5/1,c_6/3,c_7/1,c_8/1,c_9/1,c_10/1 ,c_11/0,c_12/3,c_13/1,c_14/1,c_15/1,c_16/0,c_17/1,c_18/1,c_19/3,c_20/1,c_21/1,c_22/1,c_23/0,c_24/3,c_25/0 ,c_26/0,c_27/1,c_28/1,c_29/0,c_30/3,c_31/0,c_32/3,c_33/3,c_34/6,c_35/0,c_36/1,c_37/1,c_38/1,c_39/0,c_40/1 ,c_41/0,c_42/1,c_43/3,c_44/1,c_45/3,c_46/0,c_47/0,c_48/0,c_49/0,c_50/0,c_51/0,c_52/0,c_53/0,c_54/0,c_55/0 ,c_56/0,c_57/0,c_58/1,c_59/0,c_60/0,c_61/0,c_62/1,c_63/0,c_64/1,c_65/0,c_66/0,c_67/0,c_68/0,c_69/0,c_70/1 ,c_71/0,c_72/0,c_73/0,c_74/1,c_75/0,c_76/1,c_77/4,c_78/4,c_79/0,c_80/0,c_81/0,c_82/0,c_83/0,c_84/0,c_85/0 ,c_86/0,c_87/0,c_88/0,c_89/0,c_90/0,c_91/0,c_92/0,c_93/0,c_94/0,c_95/1,c_96/2,c_97/1,c_98/2,c_99/0,c_100/0 ,c_101/0,c_102/0,c_103/0,c_104/0,c_105/0,c_106/0,c_107/0,c_108/0,c_109/0,c_110/0,c_111/1,c_112/0,c_113/0 ,c_114/0,c_115/1,c_116/0,c_117/1,c_118/0,c_119/0,c_120/0,c_121/0,c_122/0,c_123/1,c_124/0,c_125/0,c_126/0 ,c_127/1,c_128/0,c_129/1,c_130/3,c_131/0,c_132/0,c_133/0,c_134/1,c_135/2,c_136/0,c_137/0,c_138/0,c_139/0 ,c_140/0,c_141/0,c_142/0,c_143/0,c_144/1,c_145/1,c_146/2,c_147/0,c_148/2,c_149/1,c_150/1,c_151/1,c_152/0 ,c_153/1,c_154/1,c_155/2,c_156/1,c_157/1,c_158/1,c_159/0,c_160/2,c_161/0,c_162/0,c_163/1,c_164/1,c_165/0 ,c_166/2,c_167/0,c_168/2,c_169/2,c_170/3,c_171/0,c_172/1,c_173/1,c_174/1,c_175/0,c_176/1} - Obligation: innermost runtime complexity wrt. defined symbols {#ABS#,#ADD#,#AND#,#CKGT#,#COMPARE#,#EQ'#,#EQUAL# ,#GREATER#,#PRED#,#SUCC#,#abs#,#add#,#and#,#ckgt#,#compare#,#eq#,#equal#,#greater#,#pred#,#succ#,+#,+'# ,FIRSTLINE#,FIRSTLINE#1#,LCS#,LCS#1#,LCS#2#,LCS#3#,LCSTABLE#,LCSTABLE#1#,LCSTABLE#2#,LCSTABLE#3#,MAX#,MAX#1# ,NEWLINE#,NEWLINE#1#,NEWLINE#2#,NEWLINE#3#,NEWLINE#4#,NEWLINE#5#,NEWLINE#6#,NEWLINE#7#,RIGHT#,RIGHT#1# ,firstline#,firstline#1#,lcs#,lcs#1#,lcs#2#,lcs#3#,lcstable#,lcstable#1#,lcstable#2#,lcstable#3#,max#,max#1# ,newline#,newline#1#,newline#2#,newline#3#,newline#4#,newline#5#,newline#6#,newline#7#,right# ,right#1#} 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,c59,c6,c60,c61,c62,c63,c64,c65 ,c66,c67,c68,c69,c7,c70,c71,c72,c73,c74,c75,c76,c77,c78,c79,c8,c80,c81,c82,c83,c84,c85,c86,c87,c88,c9,nil} + Applied Processor: PredecessorEstimation {onSelection = all simple predecessor estimation selector} + Details: We estimate the number of application of {13} by application of Pre({13}) = {12}. Here rules are labelled as follows: 1: FIRSTLINE#(z0) -> c_8(FIRSTLINE#1#(z0)) 2: FIRSTLINE#1#(::(z0,z1)) -> c_10(FIRSTLINE#(z1)) 3: LCS#(z0,z1) -> c_12(LCS#1#(lcstable(z0,z1)),lcstable#(z0,z1),LCSTABLE#(z0,z1)) 4: LCSTABLE#(z0,z1) -> c_18(LCSTABLE#1#(z0,z1)) 5: LCSTABLE#1#(::(z0,z1),z2) -> c_19(LCSTABLE#2#(lcstable(z1,z2),z2,z0),lcstable#(z1,z2),LCSTABLE#(z1,z2)) 6: LCSTABLE#1#(nil(),z0) -> c_20(FIRSTLINE#(z0)) 7: LCSTABLE#2#(z0,z1,z2) -> c_21(LCSTABLE#3#(z0,z1,z2)) 8: LCSTABLE#3#(::(z0,z1),z2,z3) -> c_22(NEWLINE#(z3,z0,z2)) 9: NEWLINE#(z0,z1,z2) -> c_27(NEWLINE#1#(z2,z1,z0)) 10: NEWLINE#1#(::(z0,z1),z2,z3) -> c_28(NEWLINE#2#(z2,z0,z1,z3)) 11: NEWLINE#2#(::(z0,z1),z2,z3,z4) -> c_30(NEWLINE#3#(newline(z4,z1,z3),z0,z1,z2,z4) ,newline#(z4,z1,z3) ,NEWLINE#(z4,z1,z3)) 12: NEWLINE#3#(z0,z1,z2,z3,z4) -> c_32(NEWLINE#4#(right(z0),z1,z2,z0,z3,z4),right#(z0),RIGHT#(z0)) 13: NEWLINE#4#(z0,z1,z2,z3,z4,z5) -> c_33(NEWLINE#5#(right(z2),z1,z3,z0,z4,z5),right#(z2),RIGHT#(z2)) 14: #ABS#(#0()) -> c_1() 15: #ABS#(#neg(z0)) -> c_2() 16: #ABS#(#pos(z0)) -> c_3() 17: #ABS#(#s(z0)) -> c_4() 18: #ADD#(#0(),z0) -> c_41() 19: #ADD#(#neg(#s(#0())),z0) -> c_42(#PRED#(z0)) 20: #ADD#(#neg(#s(#s(z0))),z1) -> c_43(#PRED#(#add(#pos(#s(z0)),z1)) ,#add#(#pos(#s(z0)),z1) ,#ADD#(#pos(#s(z0)),z1)) 21: #ADD#(#pos(#s(#0())),z0) -> c_44(#SUCC#(z0)) 22: #ADD#(#pos(#s(#s(z0))),z1) -> c_45(#SUCC#(#add(#pos(#s(z0)),z1)) ,#add#(#pos(#s(z0)),z1) ,#ADD#(#pos(#s(z0)),z1)) 23: #AND#(#false(),#false()) -> c_46() 24: #AND#(#false(),#true()) -> c_47() 25: #AND#(#true(),#false()) -> c_48() 26: #AND#(#true(),#true()) -> c_49() 27: #CKGT#(#EQ()) -> c_50() 28: #CKGT#(#GT()) -> c_51() 29: #CKGT#(#LT()) -> c_52() 30: #COMPARE#(#0(),#0()) -> c_53() 31: #COMPARE#(#0(),#neg(z0)) -> c_54() 32: #COMPARE#(#0(),#pos(z0)) -> c_55() 33: #COMPARE#(#0(),#s(z0)) -> c_56() 34: #COMPARE#(#neg(z0),#0()) -> c_57() 35: #COMPARE#(#neg(z0),#neg(z1)) -> c_58(#COMPARE#(z1,z0)) 36: #COMPARE#(#neg(z0),#pos(z1)) -> c_59() 37: #COMPARE#(#pos(z0),#0()) -> c_60() 38: #COMPARE#(#pos(z0),#neg(z1)) -> c_61() 39: #COMPARE#(#pos(z0),#pos(z1)) -> c_62(#COMPARE#(z0,z1)) 40: #COMPARE#(#s(z0),#0()) -> c_63() 41: #COMPARE#(#s(z0),#s(z1)) -> c_64(#COMPARE#(z0,z1)) 42: #EQ'#(#0(),#0()) -> c_65() 43: #EQ'#(#0(),#neg(z0)) -> c_66() 44: #EQ'#(#0(),#pos(z0)) -> c_67() 45: #EQ'#(#0(),#s(z0)) -> c_68() 46: #EQ'#(#neg(z0),#0()) -> c_69() 47: #EQ'#(#neg(z0),#neg(z1)) -> c_70(#EQ'#(z0,z1)) 48: #EQ'#(#neg(z0),#pos(z1)) -> c_71() 49: #EQ'#(#pos(z0),#0()) -> c_72() 50: #EQ'#(#pos(z0),#neg(z1)) -> c_73() 51: #EQ'#(#pos(z0),#pos(z1)) -> c_74(#EQ'#(z0,z1)) 52: #EQ'#(#s(z0),#0()) -> c_75() 53: #EQ'#(#s(z0),#s(z1)) -> c_76(#EQ'#(z0,z1)) 54: #EQ'#(::(z0,z1),::(z2,z3)) -> c_77(#AND#(#eq(z0,z2),#eq(z1,z3)),#eq#(z0,z2),#eq#(z1,z3),#EQ'#(z0,z2)) 55: #EQ'#(::(z0,z1),::(z2,z3)) -> c_78(#AND#(#eq(z0,z2),#eq(z1,z3)),#eq#(z0,z2),#eq#(z1,z3),#EQ'#(z1,z3)) 56: #EQ'#(::(z0,z1),nil()) -> c_79() 57: #EQ'#(nil(),::(z0,z1)) -> c_80() 58: #EQ'#(nil(),nil()) -> c_81() 59: #EQUAL#(z0,z1) -> c_5(#EQ'#(z0,z1)) 60: #GREATER#(z0,z1) -> c_6(#CKGT#(#compare(z0,z1)),#compare#(z0,z1),#COMPARE#(z0,z1)) 61: #PRED#(#0()) -> c_82() 62: #PRED#(#neg(#s(z0))) -> c_83() 63: #PRED#(#pos(#s(#0()))) -> c_84() 64: #PRED#(#pos(#s(#s(z0)))) -> c_85() 65: #SUCC#(#0()) -> c_86() 66: #SUCC#(#neg(#s(#0()))) -> c_87() 67: #SUCC#(#neg(#s(#s(z0)))) -> c_88() 68: #SUCC#(#pos(#s(z0))) -> c_89() 69: #abs#(#0()) -> c_90() 70: #abs#(#neg(z0)) -> c_91() 71: #abs#(#pos(z0)) -> c_92() 72: #abs#(#s(z0)) -> c_93() 73: #add#(#0(),z0) -> c_94() 74: #add#(#neg(#s(#0())),z0) -> c_95(#pred#(z0)) 75: #add#(#neg(#s(#s(z0))),z1) -> c_96(#pred#(#add(#pos(#s(z0)),z1)),#add#(#pos(#s(z0)),z1)) 76: #add#(#pos(#s(#0())),z0) -> c_97(#succ#(z0)) 77: #add#(#pos(#s(#s(z0))),z1) -> c_98(#succ#(#add(#pos(#s(z0)),z1)),#add#(#pos(#s(z0)),z1)) 78: #and#(#false(),#false()) -> c_99() 79: #and#(#false(),#true()) -> c_100() 80: #and#(#true(),#false()) -> c_101() 81: #and#(#true(),#true()) -> c_102() 82: #ckgt#(#EQ()) -> c_103() 83: #ckgt#(#GT()) -> c_104() 84: #ckgt#(#LT()) -> c_105() 85: #compare#(#0(),#0()) -> c_106() 86: #compare#(#0(),#neg(z0)) -> c_107() 87: #compare#(#0(),#pos(z0)) -> c_108() 88: #compare#(#0(),#s(z0)) -> c_109() 89: #compare#(#neg(z0),#0()) -> c_110() 90: #compare#(#neg(z0),#neg(z1)) -> c_111(#compare#(z1,z0)) 91: #compare#(#neg(z0),#pos(z1)) -> c_112() 92: #compare#(#pos(z0),#0()) -> c_113() 93: #compare#(#pos(z0),#neg(z1)) -> c_114() 94: #compare#(#pos(z0),#pos(z1)) -> c_115(#compare#(z0,z1)) 95: #compare#(#s(z0),#0()) -> c_116() 96: #compare#(#s(z0),#s(z1)) -> c_117(#compare#(z0,z1)) 97: #eq#(#0(),#0()) -> c_118() 98: #eq#(#0(),#neg(z0)) -> c_119() 99: #eq#(#0(),#pos(z0)) -> c_120() 100: #eq#(#0(),#s(z0)) -> c_121() 101: #eq#(#neg(z0),#0()) -> c_122() 102: #eq#(#neg(z0),#neg(z1)) -> c_123(#eq#(z0,z1)) 103: #eq#(#neg(z0),#pos(z1)) -> c_124() 104: #eq#(#pos(z0),#0()) -> c_125() 105: #eq#(#pos(z0),#neg(z1)) -> c_126() 106: #eq#(#pos(z0),#pos(z1)) -> c_127(#eq#(z0,z1)) 107: #eq#(#s(z0),#0()) -> c_128() 108: #eq#(#s(z0),#s(z1)) -> c_129(#eq#(z0,z1)) 109: #eq#(::(z0,z1),::(z2,z3)) -> c_130(#and#(#eq(z0,z2),#eq(z1,z3)),#eq#(z0,z2),#eq#(z1,z3)) 110: #eq#(::(z0,z1),nil()) -> c_131() 111: #eq#(nil(),::(z0,z1)) -> c_132() 112: #eq#(nil(),nil()) -> c_133() 113: #equal#(z0,z1) -> c_134(#eq#(z0,z1)) 114: #greater#(z0,z1) -> c_135(#ckgt#(#compare(z0,z1)),#compare#(z0,z1)) 115: #pred#(#0()) -> c_136() 116: #pred#(#neg(#s(z0))) -> c_137() 117: #pred#(#pos(#s(#0()))) -> c_138() 118: #pred#(#pos(#s(#s(z0)))) -> c_139() 119: #succ#(#0()) -> c_140() 120: #succ#(#neg(#s(#0()))) -> c_141() 121: #succ#(#neg(#s(#s(z0)))) -> c_142() 122: #succ#(#pos(#s(z0))) -> c_143() 123: +#(z0,z1) -> c_144(#add#(z0,z1)) 124: +'#(z0,z1) -> c_7(#ADD#(z0,z1)) 125: FIRSTLINE#1#(::(z0,z1)) -> c_9(#ABS#(#0())) 126: FIRSTLINE#1#(nil()) -> c_11() 127: LCS#1#(z0) -> c_13(LCS#2#(z0)) 128: LCS#2#(::(z0,z1)) -> c_14(LCS#3#(z0)) 129: LCS#2#(nil()) -> c_15(#ABS#(#0())) 130: LCS#3#(::(z0,z1)) -> c_16() 131: LCS#3#(nil()) -> c_17(#ABS#(#0())) 132: LCSTABLE#3#(nil(),z0,z1) -> c_23() 133: MAX#(z0,z1) -> c_24(MAX#1#(#greater(z0,z1),z0,z1),#greater#(z0,z1),#GREATER#(z0,z1)) 134: MAX#1#(#false(),z0,z1) -> c_25() 135: MAX#1#(#true(),z0,z1) -> c_26() 136: NEWLINE#1#(nil(),z0,z1) -> c_29() 137: NEWLINE#2#(nil(),z0,z1,z2) -> c_31() 138: NEWLINE#5#(z0,z1,z2,z3,z4,z5) -> c_34(NEWLINE#6#(newline#7(#equal(z4,z5),z1,z0,z3),z2) ,newline#7#(#equal(z4,z5),z1,z0,z3) ,#equal#(z4,z5) ,NEWLINE#7#(#equal(z4,z5),z1,z0,z3) ,#equal#(z4,z5) ,#EQUAL#(z4,z5)) 139: NEWLINE#6#(z0,z1) -> c_35() 140: NEWLINE#7#(#false(),z0,z1,z2) -> c_36(MAX#(z0,z2)) 141: NEWLINE#7#(#true(),z0,z1,z2) -> c_37(+'#(z1,#pos(#s(#0())))) 142: RIGHT#(z0) -> c_38(RIGHT#1#(z0)) 143: RIGHT#1#(::(z0,z1)) -> c_39() 144: RIGHT#1#(nil()) -> c_40(#ABS#(#0())) 145: firstline#(z0) -> c_145(firstline#1#(z0)) 146: firstline#1#(::(z0,z1)) -> c_146(#abs#(#0()),firstline#(z1)) 147: firstline#1#(nil()) -> c_147() 148: lcs#(z0,z1) -> c_148(lcs#1#(lcstable(z0,z1)),lcstable#(z0,z1)) 149: lcs#1#(z0) -> c_149(lcs#2#(z0)) 150: lcs#2#(::(z0,z1)) -> c_150(lcs#3#(z0)) 151: lcs#2#(nil()) -> c_151(#abs#(#0())) 152: lcs#3#(::(z0,z1)) -> c_152() 153: lcs#3#(nil()) -> c_153(#abs#(#0())) 154: lcstable#(z0,z1) -> c_154(lcstable#1#(z0,z1)) 155: lcstable#1#(::(z0,z1),z2) -> c_155(lcstable#2#(lcstable(z1,z2),z2,z0),lcstable#(z1,z2)) 156: lcstable#1#(nil(),z0) -> c_156(firstline#(z0)) 157: lcstable#2#(z0,z1,z2) -> c_157(lcstable#3#(z0,z1,z2)) 158: lcstable#3#(::(z0,z1),z2,z3) -> c_158(newline#(z3,z0,z2)) 159: lcstable#3#(nil(),z0,z1) -> c_159() 160: max#(z0,z1) -> c_160(max#1#(#greater(z0,z1),z0,z1),#greater#(z0,z1)) 161: max#1#(#false(),z0,z1) -> c_161() 162: max#1#(#true(),z0,z1) -> c_162() 163: newline#(z0,z1,z2) -> c_163(newline#1#(z2,z1,z0)) 164: newline#1#(::(z0,z1),z2,z3) -> c_164(newline#2#(z2,z0,z1,z3)) 165: newline#1#(nil(),z0,z1) -> c_165() 166: newline#2#(::(z0,z1),z2,z3,z4) -> c_166(newline#3#(newline(z4,z1,z3),z0,z1,z2,z4),newline#(z4,z1,z3)) 167: newline#2#(nil(),z0,z1,z2) -> c_167() 168: newline#3#(z0,z1,z2,z3,z4) -> c_168(newline#4#(right(z0),z1,z2,z0,z3,z4),right#(z0)) 169: newline#4#(z0,z1,z2,z3,z4,z5) -> c_169(newline#5#(right(z2),z1,z3,z0,z4,z5),right#(z2)) 170: newline#5#(z0,z1,z2,z3,z4,z5) -> c_170(newline#6#(newline#7(#equal(z4,z5),z1,z0,z3),z2) ,newline#7#(#equal(z4,z5),z1,z0,z3) ,#equal#(z4,z5)) 171: newline#6#(z0,z1) -> c_171() 172: newline#7#(#false(),z0,z1,z2) -> c_172(max#(z0,z2)) 173: newline#7#(#true(),z0,z1,z2) -> c_173(+#(z1,#pos(#s(#0())))) 174: right#(z0) -> c_174(right#1#(z0)) 175: right#1#(::(z0,z1)) -> c_175() 176: right#1#(nil()) -> c_176(#abs#(#0())) * Step 9: PredecessorEstimation. WORST_CASE(?,O(n^2)) + Considered Problem: - Strict DPs: FIRSTLINE#(z0) -> c_8(FIRSTLINE#1#(z0)) FIRSTLINE#1#(::(z0,z1)) -> c_10(FIRSTLINE#(z1)) LCS#(z0,z1) -> c_12(LCS#1#(lcstable(z0,z1)),lcstable#(z0,z1),LCSTABLE#(z0,z1)) LCSTABLE#(z0,z1) -> c_18(LCSTABLE#1#(z0,z1)) LCSTABLE#1#(::(z0,z1),z2) -> c_19(LCSTABLE#2#(lcstable(z1,z2),z2,z0),lcstable#(z1,z2),LCSTABLE#(z1,z2)) LCSTABLE#1#(nil(),z0) -> c_20(FIRSTLINE#(z0)) LCSTABLE#2#(z0,z1,z2) -> c_21(LCSTABLE#3#(z0,z1,z2)) LCSTABLE#3#(::(z0,z1),z2,z3) -> c_22(NEWLINE#(z3,z0,z2)) NEWLINE#(z0,z1,z2) -> c_27(NEWLINE#1#(z2,z1,z0)) NEWLINE#1#(::(z0,z1),z2,z3) -> c_28(NEWLINE#2#(z2,z0,z1,z3)) NEWLINE#2#(::(z0,z1),z2,z3,z4) -> c_30(NEWLINE#3#(newline(z4,z1,z3),z0,z1,z2,z4) ,newline#(z4,z1,z3) ,NEWLINE#(z4,z1,z3)) NEWLINE#3#(z0,z1,z2,z3,z4) -> c_32(NEWLINE#4#(right(z0),z1,z2,z0,z3,z4),right#(z0),RIGHT#(z0)) - Weak DPs: #ABS#(#0()) -> c_1() #ABS#(#neg(z0)) -> c_2() #ABS#(#pos(z0)) -> c_3() #ABS#(#s(z0)) -> c_4() #ADD#(#0(),z0) -> c_41() #ADD#(#neg(#s(#0())),z0) -> c_42(#PRED#(z0)) #ADD#(#neg(#s(#s(z0))),z1) -> c_43(#PRED#(#add(#pos(#s(z0)),z1)) ,#add#(#pos(#s(z0)),z1) ,#ADD#(#pos(#s(z0)),z1)) #ADD#(#pos(#s(#0())),z0) -> c_44(#SUCC#(z0)) #ADD#(#pos(#s(#s(z0))),z1) -> c_45(#SUCC#(#add(#pos(#s(z0)),z1)) ,#add#(#pos(#s(z0)),z1) ,#ADD#(#pos(#s(z0)),z1)) #AND#(#false(),#false()) -> c_46() #AND#(#false(),#true()) -> c_47() #AND#(#true(),#false()) -> c_48() #AND#(#true(),#true()) -> c_49() #CKGT#(#EQ()) -> c_50() #CKGT#(#GT()) -> c_51() #CKGT#(#LT()) -> c_52() #COMPARE#(#0(),#0()) -> c_53() #COMPARE#(#0(),#neg(z0)) -> c_54() #COMPARE#(#0(),#pos(z0)) -> c_55() #COMPARE#(#0(),#s(z0)) -> c_56() #COMPARE#(#neg(z0),#0()) -> c_57() #COMPARE#(#neg(z0),#neg(z1)) -> c_58(#COMPARE#(z1,z0)) #COMPARE#(#neg(z0),#pos(z1)) -> c_59() #COMPARE#(#pos(z0),#0()) -> c_60() #COMPARE#(#pos(z0),#neg(z1)) -> c_61() #COMPARE#(#pos(z0),#pos(z1)) -> c_62(#COMPARE#(z0,z1)) #COMPARE#(#s(z0),#0()) -> c_63() #COMPARE#(#s(z0),#s(z1)) -> c_64(#COMPARE#(z0,z1)) #EQ'#(#0(),#0()) -> c_65() #EQ'#(#0(),#neg(z0)) -> c_66() #EQ'#(#0(),#pos(z0)) -> c_67() #EQ'#(#0(),#s(z0)) -> c_68() #EQ'#(#neg(z0),#0()) -> c_69() #EQ'#(#neg(z0),#neg(z1)) -> c_70(#EQ'#(z0,z1)) #EQ'#(#neg(z0),#pos(z1)) -> c_71() #EQ'#(#pos(z0),#0()) -> c_72() #EQ'#(#pos(z0),#neg(z1)) -> c_73() #EQ'#(#pos(z0),#pos(z1)) -> c_74(#EQ'#(z0,z1)) #EQ'#(#s(z0),#0()) -> c_75() #EQ'#(#s(z0),#s(z1)) -> c_76(#EQ'#(z0,z1)) #EQ'#(::(z0,z1),::(z2,z3)) -> c_77(#AND#(#eq(z0,z2),#eq(z1,z3)),#eq#(z0,z2),#eq#(z1,z3),#EQ'#(z0,z2)) #EQ'#(::(z0,z1),::(z2,z3)) -> c_78(#AND#(#eq(z0,z2),#eq(z1,z3)),#eq#(z0,z2),#eq#(z1,z3),#EQ'#(z1,z3)) #EQ'#(::(z0,z1),nil()) -> c_79() #EQ'#(nil(),::(z0,z1)) -> c_80() #EQ'#(nil(),nil()) -> c_81() #EQUAL#(z0,z1) -> c_5(#EQ'#(z0,z1)) #GREATER#(z0,z1) -> c_6(#CKGT#(#compare(z0,z1)),#compare#(z0,z1),#COMPARE#(z0,z1)) #PRED#(#0()) -> c_82() #PRED#(#neg(#s(z0))) -> c_83() #PRED#(#pos(#s(#0()))) -> c_84() #PRED#(#pos(#s(#s(z0)))) -> c_85() #SUCC#(#0()) -> c_86() #SUCC#(#neg(#s(#0()))) -> c_87() #SUCC#(#neg(#s(#s(z0)))) -> c_88() #SUCC#(#pos(#s(z0))) -> c_89() #abs#(#0()) -> c_90() #abs#(#neg(z0)) -> c_91() #abs#(#pos(z0)) -> c_92() #abs#(#s(z0)) -> c_93() #add#(#0(),z0) -> c_94() #add#(#neg(#s(#0())),z0) -> c_95(#pred#(z0)) #add#(#neg(#s(#s(z0))),z1) -> c_96(#pred#(#add(#pos(#s(z0)),z1)),#add#(#pos(#s(z0)),z1)) #add#(#pos(#s(#0())),z0) -> c_97(#succ#(z0)) #add#(#pos(#s(#s(z0))),z1) -> c_98(#succ#(#add(#pos(#s(z0)),z1)),#add#(#pos(#s(z0)),z1)) #and#(#false(),#false()) -> c_99() #and#(#false(),#true()) -> c_100() #and#(#true(),#false()) -> c_101() #and#(#true(),#true()) -> c_102() #ckgt#(#EQ()) -> c_103() #ckgt#(#GT()) -> c_104() #ckgt#(#LT()) -> c_105() #compare#(#0(),#0()) -> c_106() #compare#(#0(),#neg(z0)) -> c_107() #compare#(#0(),#pos(z0)) -> c_108() #compare#(#0(),#s(z0)) -> c_109() #compare#(#neg(z0),#0()) -> c_110() #compare#(#neg(z0),#neg(z1)) -> c_111(#compare#(z1,z0)) #compare#(#neg(z0),#pos(z1)) -> c_112() #compare#(#pos(z0),#0()) -> c_113() #compare#(#pos(z0),#neg(z1)) -> c_114() #compare#(#pos(z0),#pos(z1)) -> c_115(#compare#(z0,z1)) #compare#(#s(z0),#0()) -> c_116() #compare#(#s(z0),#s(z1)) -> c_117(#compare#(z0,z1)) #eq#(#0(),#0()) -> c_118() #eq#(#0(),#neg(z0)) -> c_119() #eq#(#0(),#pos(z0)) -> c_120() #eq#(#0(),#s(z0)) -> c_121() #eq#(#neg(z0),#0()) -> c_122() #eq#(#neg(z0),#neg(z1)) -> c_123(#eq#(z0,z1)) #eq#(#neg(z0),#pos(z1)) -> c_124() #eq#(#pos(z0),#0()) -> c_125() #eq#(#pos(z0),#neg(z1)) -> c_126() #eq#(#pos(z0),#pos(z1)) -> c_127(#eq#(z0,z1)) #eq#(#s(z0),#0()) -> c_128() #eq#(#s(z0),#s(z1)) -> c_129(#eq#(z0,z1)) #eq#(::(z0,z1),::(z2,z3)) -> c_130(#and#(#eq(z0,z2),#eq(z1,z3)),#eq#(z0,z2),#eq#(z1,z3)) #eq#(::(z0,z1),nil()) -> c_131() #eq#(nil(),::(z0,z1)) -> c_132() #eq#(nil(),nil()) -> c_133() #equal#(z0,z1) -> c_134(#eq#(z0,z1)) #greater#(z0,z1) -> c_135(#ckgt#(#compare(z0,z1)),#compare#(z0,z1)) #pred#(#0()) -> c_136() #pred#(#neg(#s(z0))) -> c_137() #pred#(#pos(#s(#0()))) -> c_138() #pred#(#pos(#s(#s(z0)))) -> c_139() #succ#(#0()) -> c_140() #succ#(#neg(#s(#0()))) -> c_141() #succ#(#neg(#s(#s(z0)))) -> c_142() #succ#(#pos(#s(z0))) -> c_143() +#(z0,z1) -> c_144(#add#(z0,z1)) +'#(z0,z1) -> c_7(#ADD#(z0,z1)) FIRSTLINE#1#(::(z0,z1)) -> c_9(#ABS#(#0())) FIRSTLINE#1#(nil()) -> c_11() LCS#1#(z0) -> c_13(LCS#2#(z0)) LCS#2#(::(z0,z1)) -> c_14(LCS#3#(z0)) LCS#2#(nil()) -> c_15(#ABS#(#0())) LCS#3#(::(z0,z1)) -> c_16() LCS#3#(nil()) -> c_17(#ABS#(#0())) LCSTABLE#3#(nil(),z0,z1) -> c_23() MAX#(z0,z1) -> c_24(MAX#1#(#greater(z0,z1),z0,z1),#greater#(z0,z1),#GREATER#(z0,z1)) MAX#1#(#false(),z0,z1) -> c_25() MAX#1#(#true(),z0,z1) -> c_26() NEWLINE#1#(nil(),z0,z1) -> c_29() NEWLINE#2#(nil(),z0,z1,z2) -> c_31() NEWLINE#4#(z0,z1,z2,z3,z4,z5) -> c_33(NEWLINE#5#(right(z2),z1,z3,z0,z4,z5),right#(z2),RIGHT#(z2)) NEWLINE#5#(z0,z1,z2,z3,z4,z5) -> c_34(NEWLINE#6#(newline#7(#equal(z4,z5),z1,z0,z3),z2) ,newline#7#(#equal(z4,z5),z1,z0,z3) ,#equal#(z4,z5) ,NEWLINE#7#(#equal(z4,z5),z1,z0,z3) ,#equal#(z4,z5) ,#EQUAL#(z4,z5)) NEWLINE#6#(z0,z1) -> c_35() NEWLINE#7#(#false(),z0,z1,z2) -> c_36(MAX#(z0,z2)) NEWLINE#7#(#true(),z0,z1,z2) -> c_37(+'#(z1,#pos(#s(#0())))) RIGHT#(z0) -> c_38(RIGHT#1#(z0)) RIGHT#1#(::(z0,z1)) -> c_39() RIGHT#1#(nil()) -> c_40(#ABS#(#0())) firstline#(z0) -> c_145(firstline#1#(z0)) firstline#1#(::(z0,z1)) -> c_146(#abs#(#0()),firstline#(z1)) firstline#1#(nil()) -> c_147() lcs#(z0,z1) -> c_148(lcs#1#(lcstable(z0,z1)),lcstable#(z0,z1)) lcs#1#(z0) -> c_149(lcs#2#(z0)) lcs#2#(::(z0,z1)) -> c_150(lcs#3#(z0)) lcs#2#(nil()) -> c_151(#abs#(#0())) lcs#3#(::(z0,z1)) -> c_152() lcs#3#(nil()) -> c_153(#abs#(#0())) lcstable#(z0,z1) -> c_154(lcstable#1#(z0,z1)) lcstable#1#(::(z0,z1),z2) -> c_155(lcstable#2#(lcstable(z1,z2),z2,z0),lcstable#(z1,z2)) lcstable#1#(nil(),z0) -> c_156(firstline#(z0)) lcstable#2#(z0,z1,z2) -> c_157(lcstable#3#(z0,z1,z2)) lcstable#3#(::(z0,z1),z2,z3) -> c_158(newline#(z3,z0,z2)) lcstable#3#(nil(),z0,z1) -> c_159() max#(z0,z1) -> c_160(max#1#(#greater(z0,z1),z0,z1),#greater#(z0,z1)) max#1#(#false(),z0,z1) -> c_161() max#1#(#true(),z0,z1) -> c_162() newline#(z0,z1,z2) -> c_163(newline#1#(z2,z1,z0)) newline#1#(::(z0,z1),z2,z3) -> c_164(newline#2#(z2,z0,z1,z3)) newline#1#(nil(),z0,z1) -> c_165() newline#2#(::(z0,z1),z2,z3,z4) -> c_166(newline#3#(newline(z4,z1,z3),z0,z1,z2,z4),newline#(z4,z1,z3)) newline#2#(nil(),z0,z1,z2) -> c_167() newline#3#(z0,z1,z2,z3,z4) -> c_168(newline#4#(right(z0),z1,z2,z0,z3,z4),right#(z0)) newline#4#(z0,z1,z2,z3,z4,z5) -> c_169(newline#5#(right(z2),z1,z3,z0,z4,z5),right#(z2)) newline#5#(z0,z1,z2,z3,z4,z5) -> c_170(newline#6#(newline#7(#equal(z4,z5),z1,z0,z3),z2) ,newline#7#(#equal(z4,z5),z1,z0,z3) ,#equal#(z4,z5)) newline#6#(z0,z1) -> c_171() newline#7#(#false(),z0,z1,z2) -> c_172(max#(z0,z2)) newline#7#(#true(),z0,z1,z2) -> c_173(+#(z1,#pos(#s(#0())))) right#(z0) -> c_174(right#1#(z0)) right#1#(::(z0,z1)) -> c_175() right#1#(nil()) -> c_176(#abs#(#0())) - Weak TRS: #abs(#0()) -> #0() #add(#0(),z0) -> z0 #add(#neg(#s(#0())),z0) -> #pred(z0) #add(#neg(#s(#s(z0))),z1) -> #pred(#add(#pos(#s(z0)),z1)) #add(#pos(#s(#0())),z0) -> #succ(z0) #add(#pos(#s(#s(z0))),z1) -> #succ(#add(#pos(#s(z0)),z1)) #and(#false(),#false()) -> #false() #and(#false(),#true()) -> #false() #and(#true(),#false()) -> #false() #and(#true(),#true()) -> #true() #ckgt(#EQ()) -> #false() #ckgt(#GT()) -> #true() #ckgt(#LT()) -> #false() #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) #greater(z0,z1) -> #ckgt(#compare(z0,z1)) #pred(#0()) -> #neg(#s(#0())) #pred(#neg(#s(z0))) -> #neg(#s(#s(z0))) #pred(#pos(#s(#0()))) -> #0() #pred(#pos(#s(#s(z0)))) -> #pos(#s(z0)) #succ(#0()) -> #pos(#s(#0())) #succ(#neg(#s(#0()))) -> #0() #succ(#neg(#s(#s(z0)))) -> #neg(#s(z0)) #succ(#pos(#s(z0))) -> #pos(#s(#s(z0))) +(z0,z1) -> #add(z0,z1) firstline(z0) -> firstline#1(z0) firstline#1(::(z0,z1)) -> ::(#abs(#0()),firstline(z1)) firstline#1(nil()) -> nil() lcstable(z0,z1) -> lcstable#1(z0,z1) lcstable#1(::(z0,z1),z2) -> lcstable#2(lcstable(z1,z2),z2,z0) lcstable#1(nil(),z0) -> ::(firstline(z0),nil()) lcstable#2(z0,z1,z2) -> lcstable#3(z0,z1,z2) lcstable#3(::(z0,z1),z2,z3) -> ::(newline(z3,z0,z2),::(z0,z1)) lcstable#3(nil(),z0,z1) -> nil() max(z0,z1) -> max#1(#greater(z0,z1),z0,z1) max#1(#false(),z0,z1) -> z1 max#1(#true(),z0,z1) -> z0 newline(z0,z1,z2) -> newline#1(z2,z1,z0) newline#1(::(z0,z1),z2,z3) -> newline#2(z2,z0,z1,z3) newline#1(nil(),z0,z1) -> nil() newline#2(::(z0,z1),z2,z3,z4) -> newline#3(newline(z4,z1,z3),z0,z1,z2,z4) newline#2(nil(),z0,z1,z2) -> nil() newline#3(z0,z1,z2,z3,z4) -> newline#4(right(z0),z1,z2,z0,z3,z4) newline#4(z0,z1,z2,z3,z4,z5) -> newline#5(right(z2),z1,z3,z0,z4,z5) newline#5(z0,z1,z2,z3,z4,z5) -> newline#6(newline#7(#equal(z4,z5),z1,z0,z3),z2) newline#6(z0,z1) -> ::(z0,z1) newline#7(#false(),z0,z1,z2) -> max(z0,z2) newline#7(#true(),z0,z1,z2) -> +(z1,#pos(#s(#0()))) right(z0) -> right#1(z0) right#1(::(z0,z1)) -> z0 right#1(nil()) -> #abs(#0()) - Signature: {#ABS/1,#ADD/2,#AND/2,#CKGT/1,#COMPARE/2,#EQ'/2,#EQUAL/2,#GREATER/2,#PRED/1,#SUCC/1,#abs/1,#add/2,#and/2 ,#ckgt/1,#compare/2,#eq/2,#equal/2,#greater/2,#pred/1,#succ/1,+/2,+'/2,FIRSTLINE/1,FIRSTLINE#1/1,LCS/2 ,LCS#1/1,LCS#2/1,LCS#3/1,LCSTABLE/2,LCSTABLE#1/2,LCSTABLE#2/3,LCSTABLE#3/3,MAX/2,MAX#1/3,NEWLINE/3 ,NEWLINE#1/3,NEWLINE#2/4,NEWLINE#3/5,NEWLINE#4/6,NEWLINE#5/6,NEWLINE#6/2,NEWLINE#7/4,RIGHT/1,RIGHT#1/1 ,firstline/1,firstline#1/1,lcs/2,lcs#1/1,lcs#2/1,lcs#3/1,lcstable/2,lcstable#1/2,lcstable#2/3,lcstable#3/3 ,max/2,max#1/3,newline/3,newline#1/3,newline#2/4,newline#3/5,newline#4/6,newline#5/6,newline#6/2,newline#7/4 ,right/1,right#1/1,#ABS#/1,#ADD#/2,#AND#/2,#CKGT#/1,#COMPARE#/2,#EQ'#/2,#EQUAL#/2,#GREATER#/2,#PRED#/1 ,#SUCC#/1,#abs#/1,#add#/2,#and#/2,#ckgt#/1,#compare#/2,#eq#/2,#equal#/2,#greater#/2,#pred#/1,#succ#/1,+#/2 ,+'#/2,FIRSTLINE#/1,FIRSTLINE#1#/1,LCS#/2,LCS#1#/1,LCS#2#/1,LCS#3#/1,LCSTABLE#/2,LCSTABLE#1#/2,LCSTABLE#2#/3 ,LCSTABLE#3#/3,MAX#/2,MAX#1#/3,NEWLINE#/3,NEWLINE#1#/3,NEWLINE#2#/4,NEWLINE#3#/5,NEWLINE#4#/6,NEWLINE#5#/6 ,NEWLINE#6#/2,NEWLINE#7#/4,RIGHT#/1,RIGHT#1#/1,firstline#/1,firstline#1#/1,lcs#/2,lcs#1#/1,lcs#2#/1,lcs#3#/1 ,lcstable#/2,lcstable#1#/2,lcstable#2#/3,lcstable#3#/3,max#/2,max#1#/3,newline#/3,newline#1#/3,newline#2#/4 ,newline#3#/5,newline#4#/6,newline#5#/6,newline#6#/2,newline#7#/4,right#/1,right#1#/1} / {#0/0,#EQ/0,#GT/0 ,#LT/0,#false/0,#neg/1,#pos/1,#s/1,#true/0,::/2,c/0,c1/1,c10/0,c11/0,c12/0,c13/0,c14/0,c15/0,c16/0,c17/1 ,c18/0,c19/0,c2/2,c20/0,c21/1,c22/0,c23/1,c24/0,c25/0,c26/0,c27/0,c28/0,c29/1,c3/1,c30/0,c31/0,c32/0,c33/1 ,c34/0,c35/1,c36/2,c37/2,c38/0,c39/0,c4/2,c40/0,c41/0,c42/0,c43/0,c44/0,c45/0,c46/0,c47/0,c48/0,c49/0,c5/0 ,c50/0,c51/0,c52/0,c53/1,c54/2,c55/1,c56/1,c57/1,c58/1,c59/0,c6/0,c60/2,c61/1,c62/1,c63/1,c64/0,c65/1,c66/1 ,c67/2,c68/1,c69/1,c7/0,c70/1,c71/0,c72/2,c73/0,c74/0,c75/1,c76/1,c77/0,c78/2,c79/0,c8/0,c80/2,c81/2,c82/3 ,c83/0,c84/1,c85/1,c86/1,c87/0,c88/1,c9/0,nil/0,c_1/0,c_2/0,c_3/0,c_4/0,c_5/1,c_6/3,c_7/1,c_8/1,c_9/1,c_10/1 ,c_11/0,c_12/3,c_13/1,c_14/1,c_15/1,c_16/0,c_17/1,c_18/1,c_19/3,c_20/1,c_21/1,c_22/1,c_23/0,c_24/3,c_25/0 ,c_26/0,c_27/1,c_28/1,c_29/0,c_30/3,c_31/0,c_32/3,c_33/3,c_34/6,c_35/0,c_36/1,c_37/1,c_38/1,c_39/0,c_40/1 ,c_41/0,c_42/1,c_43/3,c_44/1,c_45/3,c_46/0,c_47/0,c_48/0,c_49/0,c_50/0,c_51/0,c_52/0,c_53/0,c_54/0,c_55/0 ,c_56/0,c_57/0,c_58/1,c_59/0,c_60/0,c_61/0,c_62/1,c_63/0,c_64/1,c_65/0,c_66/0,c_67/0,c_68/0,c_69/0,c_70/1 ,c_71/0,c_72/0,c_73/0,c_74/1,c_75/0,c_76/1,c_77/4,c_78/4,c_79/0,c_80/0,c_81/0,c_82/0,c_83/0,c_84/0,c_85/0 ,c_86/0,c_87/0,c_88/0,c_89/0,c_90/0,c_91/0,c_92/0,c_93/0,c_94/0,c_95/1,c_96/2,c_97/1,c_98/2,c_99/0,c_100/0 ,c_101/0,c_102/0,c_103/0,c_104/0,c_105/0,c_106/0,c_107/0,c_108/0,c_109/0,c_110/0,c_111/1,c_112/0,c_113/0 ,c_114/0,c_115/1,c_116/0,c_117/1,c_118/0,c_119/0,c_120/0,c_121/0,c_122/0,c_123/1,c_124/0,c_125/0,c_126/0 ,c_127/1,c_128/0,c_129/1,c_130/3,c_131/0,c_132/0,c_133/0,c_134/1,c_135/2,c_136/0,c_137/0,c_138/0,c_139/0 ,c_140/0,c_141/0,c_142/0,c_143/0,c_144/1,c_145/1,c_146/2,c_147/0,c_148/2,c_149/1,c_150/1,c_151/1,c_152/0 ,c_153/1,c_154/1,c_155/2,c_156/1,c_157/1,c_158/1,c_159/0,c_160/2,c_161/0,c_162/0,c_163/1,c_164/1,c_165/0 ,c_166/2,c_167/0,c_168/2,c_169/2,c_170/3,c_171/0,c_172/1,c_173/1,c_174/1,c_175/0,c_176/1} - Obligation: innermost runtime complexity wrt. defined symbols {#ABS#,#ADD#,#AND#,#CKGT#,#COMPARE#,#EQ'#,#EQUAL# ,#GREATER#,#PRED#,#SUCC#,#abs#,#add#,#and#,#ckgt#,#compare#,#eq#,#equal#,#greater#,#pred#,#succ#,+#,+'# ,FIRSTLINE#,FIRSTLINE#1#,LCS#,LCS#1#,LCS#2#,LCS#3#,LCSTABLE#,LCSTABLE#1#,LCSTABLE#2#,LCSTABLE#3#,MAX#,MAX#1# ,NEWLINE#,NEWLINE#1#,NEWLINE#2#,NEWLINE#3#,NEWLINE#4#,NEWLINE#5#,NEWLINE#6#,NEWLINE#7#,RIGHT#,RIGHT#1# ,firstline#,firstline#1#,lcs#,lcs#1#,lcs#2#,lcs#3#,lcstable#,lcstable#1#,lcstable#2#,lcstable#3#,max#,max#1# ,newline#,newline#1#,newline#2#,newline#3#,newline#4#,newline#5#,newline#6#,newline#7#,right# ,right#1#} 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,c59,c6,c60,c61,c62,c63,c64,c65 ,c66,c67,c68,c69,c7,c70,c71,c72,c73,c74,c75,c76,c77,c78,c79,c8,c80,c81,c82,c83,c84,c85,c86,c87,c88,c9,nil} + Applied Processor: PredecessorEstimation {onSelection = all simple predecessor estimation selector} + Details: We estimate the number of application of {12} by application of Pre({12}) = {11}. Here rules are labelled as follows: 1: FIRSTLINE#(z0) -> c_8(FIRSTLINE#1#(z0)) 2: FIRSTLINE#1#(::(z0,z1)) -> c_10(FIRSTLINE#(z1)) 3: LCS#(z0,z1) -> c_12(LCS#1#(lcstable(z0,z1)),lcstable#(z0,z1),LCSTABLE#(z0,z1)) 4: LCSTABLE#(z0,z1) -> c_18(LCSTABLE#1#(z0,z1)) 5: LCSTABLE#1#(::(z0,z1),z2) -> c_19(LCSTABLE#2#(lcstable(z1,z2),z2,z0),lcstable#(z1,z2),LCSTABLE#(z1,z2)) 6: LCSTABLE#1#(nil(),z0) -> c_20(FIRSTLINE#(z0)) 7: LCSTABLE#2#(z0,z1,z2) -> c_21(LCSTABLE#3#(z0,z1,z2)) 8: LCSTABLE#3#(::(z0,z1),z2,z3) -> c_22(NEWLINE#(z3,z0,z2)) 9: NEWLINE#(z0,z1,z2) -> c_27(NEWLINE#1#(z2,z1,z0)) 10: NEWLINE#1#(::(z0,z1),z2,z3) -> c_28(NEWLINE#2#(z2,z0,z1,z3)) 11: NEWLINE#2#(::(z0,z1),z2,z3,z4) -> c_30(NEWLINE#3#(newline(z4,z1,z3),z0,z1,z2,z4) ,newline#(z4,z1,z3) ,NEWLINE#(z4,z1,z3)) 12: NEWLINE#3#(z0,z1,z2,z3,z4) -> c_32(NEWLINE#4#(right(z0),z1,z2,z0,z3,z4),right#(z0),RIGHT#(z0)) 13: #ABS#(#0()) -> c_1() 14: #ABS#(#neg(z0)) -> c_2() 15: #ABS#(#pos(z0)) -> c_3() 16: #ABS#(#s(z0)) -> c_4() 17: #ADD#(#0(),z0) -> c_41() 18: #ADD#(#neg(#s(#0())),z0) -> c_42(#PRED#(z0)) 19: #ADD#(#neg(#s(#s(z0))),z1) -> c_43(#PRED#(#add(#pos(#s(z0)),z1)) ,#add#(#pos(#s(z0)),z1) ,#ADD#(#pos(#s(z0)),z1)) 20: #ADD#(#pos(#s(#0())),z0) -> c_44(#SUCC#(z0)) 21: #ADD#(#pos(#s(#s(z0))),z1) -> c_45(#SUCC#(#add(#pos(#s(z0)),z1)) ,#add#(#pos(#s(z0)),z1) ,#ADD#(#pos(#s(z0)),z1)) 22: #AND#(#false(),#false()) -> c_46() 23: #AND#(#false(),#true()) -> c_47() 24: #AND#(#true(),#false()) -> c_48() 25: #AND#(#true(),#true()) -> c_49() 26: #CKGT#(#EQ()) -> c_50() 27: #CKGT#(#GT()) -> c_51() 28: #CKGT#(#LT()) -> c_52() 29: #COMPARE#(#0(),#0()) -> c_53() 30: #COMPARE#(#0(),#neg(z0)) -> c_54() 31: #COMPARE#(#0(),#pos(z0)) -> c_55() 32: #COMPARE#(#0(),#s(z0)) -> c_56() 33: #COMPARE#(#neg(z0),#0()) -> c_57() 34: #COMPARE#(#neg(z0),#neg(z1)) -> c_58(#COMPARE#(z1,z0)) 35: #COMPARE#(#neg(z0),#pos(z1)) -> c_59() 36: #COMPARE#(#pos(z0),#0()) -> c_60() 37: #COMPARE#(#pos(z0),#neg(z1)) -> c_61() 38: #COMPARE#(#pos(z0),#pos(z1)) -> c_62(#COMPARE#(z0,z1)) 39: #COMPARE#(#s(z0),#0()) -> c_63() 40: #COMPARE#(#s(z0),#s(z1)) -> c_64(#COMPARE#(z0,z1)) 41: #EQ'#(#0(),#0()) -> c_65() 42: #EQ'#(#0(),#neg(z0)) -> c_66() 43: #EQ'#(#0(),#pos(z0)) -> c_67() 44: #EQ'#(#0(),#s(z0)) -> c_68() 45: #EQ'#(#neg(z0),#0()) -> c_69() 46: #EQ'#(#neg(z0),#neg(z1)) -> c_70(#EQ'#(z0,z1)) 47: #EQ'#(#neg(z0),#pos(z1)) -> c_71() 48: #EQ'#(#pos(z0),#0()) -> c_72() 49: #EQ'#(#pos(z0),#neg(z1)) -> c_73() 50: #EQ'#(#pos(z0),#pos(z1)) -> c_74(#EQ'#(z0,z1)) 51: #EQ'#(#s(z0),#0()) -> c_75() 52: #EQ'#(#s(z0),#s(z1)) -> c_76(#EQ'#(z0,z1)) 53: #EQ'#(::(z0,z1),::(z2,z3)) -> c_77(#AND#(#eq(z0,z2),#eq(z1,z3)),#eq#(z0,z2),#eq#(z1,z3),#EQ'#(z0,z2)) 54: #EQ'#(::(z0,z1),::(z2,z3)) -> c_78(#AND#(#eq(z0,z2),#eq(z1,z3)),#eq#(z0,z2),#eq#(z1,z3),#EQ'#(z1,z3)) 55: #EQ'#(::(z0,z1),nil()) -> c_79() 56: #EQ'#(nil(),::(z0,z1)) -> c_80() 57: #EQ'#(nil(),nil()) -> c_81() 58: #EQUAL#(z0,z1) -> c_5(#EQ'#(z0,z1)) 59: #GREATER#(z0,z1) -> c_6(#CKGT#(#compare(z0,z1)),#compare#(z0,z1),#COMPARE#(z0,z1)) 60: #PRED#(#0()) -> c_82() 61: #PRED#(#neg(#s(z0))) -> c_83() 62: #PRED#(#pos(#s(#0()))) -> c_84() 63: #PRED#(#pos(#s(#s(z0)))) -> c_85() 64: #SUCC#(#0()) -> c_86() 65: #SUCC#(#neg(#s(#0()))) -> c_87() 66: #SUCC#(#neg(#s(#s(z0)))) -> c_88() 67: #SUCC#(#pos(#s(z0))) -> c_89() 68: #abs#(#0()) -> c_90() 69: #abs#(#neg(z0)) -> c_91() 70: #abs#(#pos(z0)) -> c_92() 71: #abs#(#s(z0)) -> c_93() 72: #add#(#0(),z0) -> c_94() 73: #add#(#neg(#s(#0())),z0) -> c_95(#pred#(z0)) 74: #add#(#neg(#s(#s(z0))),z1) -> c_96(#pred#(#add(#pos(#s(z0)),z1)),#add#(#pos(#s(z0)),z1)) 75: #add#(#pos(#s(#0())),z0) -> c_97(#succ#(z0)) 76: #add#(#pos(#s(#s(z0))),z1) -> c_98(#succ#(#add(#pos(#s(z0)),z1)),#add#(#pos(#s(z0)),z1)) 77: #and#(#false(),#false()) -> c_99() 78: #and#(#false(),#true()) -> c_100() 79: #and#(#true(),#false()) -> c_101() 80: #and#(#true(),#true()) -> c_102() 81: #ckgt#(#EQ()) -> c_103() 82: #ckgt#(#GT()) -> c_104() 83: #ckgt#(#LT()) -> c_105() 84: #compare#(#0(),#0()) -> c_106() 85: #compare#(#0(),#neg(z0)) -> c_107() 86: #compare#(#0(),#pos(z0)) -> c_108() 87: #compare#(#0(),#s(z0)) -> c_109() 88: #compare#(#neg(z0),#0()) -> c_110() 89: #compare#(#neg(z0),#neg(z1)) -> c_111(#compare#(z1,z0)) 90: #compare#(#neg(z0),#pos(z1)) -> c_112() 91: #compare#(#pos(z0),#0()) -> c_113() 92: #compare#(#pos(z0),#neg(z1)) -> c_114() 93: #compare#(#pos(z0),#pos(z1)) -> c_115(#compare#(z0,z1)) 94: #compare#(#s(z0),#0()) -> c_116() 95: #compare#(#s(z0),#s(z1)) -> c_117(#compare#(z0,z1)) 96: #eq#(#0(),#0()) -> c_118() 97: #eq#(#0(),#neg(z0)) -> c_119() 98: #eq#(#0(),#pos(z0)) -> c_120() 99: #eq#(#0(),#s(z0)) -> c_121() 100: #eq#(#neg(z0),#0()) -> c_122() 101: #eq#(#neg(z0),#neg(z1)) -> c_123(#eq#(z0,z1)) 102: #eq#(#neg(z0),#pos(z1)) -> c_124() 103: #eq#(#pos(z0),#0()) -> c_125() 104: #eq#(#pos(z0),#neg(z1)) -> c_126() 105: #eq#(#pos(z0),#pos(z1)) -> c_127(#eq#(z0,z1)) 106: #eq#(#s(z0),#0()) -> c_128() 107: #eq#(#s(z0),#s(z1)) -> c_129(#eq#(z0,z1)) 108: #eq#(::(z0,z1),::(z2,z3)) -> c_130(#and#(#eq(z0,z2),#eq(z1,z3)),#eq#(z0,z2),#eq#(z1,z3)) 109: #eq#(::(z0,z1),nil()) -> c_131() 110: #eq#(nil(),::(z0,z1)) -> c_132() 111: #eq#(nil(),nil()) -> c_133() 112: #equal#(z0,z1) -> c_134(#eq#(z0,z1)) 113: #greater#(z0,z1) -> c_135(#ckgt#(#compare(z0,z1)),#compare#(z0,z1)) 114: #pred#(#0()) -> c_136() 115: #pred#(#neg(#s(z0))) -> c_137() 116: #pred#(#pos(#s(#0()))) -> c_138() 117: #pred#(#pos(#s(#s(z0)))) -> c_139() 118: #succ#(#0()) -> c_140() 119: #succ#(#neg(#s(#0()))) -> c_141() 120: #succ#(#neg(#s(#s(z0)))) -> c_142() 121: #succ#(#pos(#s(z0))) -> c_143() 122: +#(z0,z1) -> c_144(#add#(z0,z1)) 123: +'#(z0,z1) -> c_7(#ADD#(z0,z1)) 124: FIRSTLINE#1#(::(z0,z1)) -> c_9(#ABS#(#0())) 125: FIRSTLINE#1#(nil()) -> c_11() 126: LCS#1#(z0) -> c_13(LCS#2#(z0)) 127: LCS#2#(::(z0,z1)) -> c_14(LCS#3#(z0)) 128: LCS#2#(nil()) -> c_15(#ABS#(#0())) 129: LCS#3#(::(z0,z1)) -> c_16() 130: LCS#3#(nil()) -> c_17(#ABS#(#0())) 131: LCSTABLE#3#(nil(),z0,z1) -> c_23() 132: MAX#(z0,z1) -> c_24(MAX#1#(#greater(z0,z1),z0,z1),#greater#(z0,z1),#GREATER#(z0,z1)) 133: MAX#1#(#false(),z0,z1) -> c_25() 134: MAX#1#(#true(),z0,z1) -> c_26() 135: NEWLINE#1#(nil(),z0,z1) -> c_29() 136: NEWLINE#2#(nil(),z0,z1,z2) -> c_31() 137: NEWLINE#4#(z0,z1,z2,z3,z4,z5) -> c_33(NEWLINE#5#(right(z2),z1,z3,z0,z4,z5),right#(z2),RIGHT#(z2)) 138: NEWLINE#5#(z0,z1,z2,z3,z4,z5) -> c_34(NEWLINE#6#(newline#7(#equal(z4,z5),z1,z0,z3),z2) ,newline#7#(#equal(z4,z5),z1,z0,z3) ,#equal#(z4,z5) ,NEWLINE#7#(#equal(z4,z5),z1,z0,z3) ,#equal#(z4,z5) ,#EQUAL#(z4,z5)) 139: NEWLINE#6#(z0,z1) -> c_35() 140: NEWLINE#7#(#false(),z0,z1,z2) -> c_36(MAX#(z0,z2)) 141: NEWLINE#7#(#true(),z0,z1,z2) -> c_37(+'#(z1,#pos(#s(#0())))) 142: RIGHT#(z0) -> c_38(RIGHT#1#(z0)) 143: RIGHT#1#(::(z0,z1)) -> c_39() 144: RIGHT#1#(nil()) -> c_40(#ABS#(#0())) 145: firstline#(z0) -> c_145(firstline#1#(z0)) 146: firstline#1#(::(z0,z1)) -> c_146(#abs#(#0()),firstline#(z1)) 147: firstline#1#(nil()) -> c_147() 148: lcs#(z0,z1) -> c_148(lcs#1#(lcstable(z0,z1)),lcstable#(z0,z1)) 149: lcs#1#(z0) -> c_149(lcs#2#(z0)) 150: lcs#2#(::(z0,z1)) -> c_150(lcs#3#(z0)) 151: lcs#2#(nil()) -> c_151(#abs#(#0())) 152: lcs#3#(::(z0,z1)) -> c_152() 153: lcs#3#(nil()) -> c_153(#abs#(#0())) 154: lcstable#(z0,z1) -> c_154(lcstable#1#(z0,z1)) 155: lcstable#1#(::(z0,z1),z2) -> c_155(lcstable#2#(lcstable(z1,z2),z2,z0),lcstable#(z1,z2)) 156: lcstable#1#(nil(),z0) -> c_156(firstline#(z0)) 157: lcstable#2#(z0,z1,z2) -> c_157(lcstable#3#(z0,z1,z2)) 158: lcstable#3#(::(z0,z1),z2,z3) -> c_158(newline#(z3,z0,z2)) 159: lcstable#3#(nil(),z0,z1) -> c_159() 160: max#(z0,z1) -> c_160(max#1#(#greater(z0,z1),z0,z1),#greater#(z0,z1)) 161: max#1#(#false(),z0,z1) -> c_161() 162: max#1#(#true(),z0,z1) -> c_162() 163: newline#(z0,z1,z2) -> c_163(newline#1#(z2,z1,z0)) 164: newline#1#(::(z0,z1),z2,z3) -> c_164(newline#2#(z2,z0,z1,z3)) 165: newline#1#(nil(),z0,z1) -> c_165() 166: newline#2#(::(z0,z1),z2,z3,z4) -> c_166(newline#3#(newline(z4,z1,z3),z0,z1,z2,z4),newline#(z4,z1,z3)) 167: newline#2#(nil(),z0,z1,z2) -> c_167() 168: newline#3#(z0,z1,z2,z3,z4) -> c_168(newline#4#(right(z0),z1,z2,z0,z3,z4),right#(z0)) 169: newline#4#(z0,z1,z2,z3,z4,z5) -> c_169(newline#5#(right(z2),z1,z3,z0,z4,z5),right#(z2)) 170: newline#5#(z0,z1,z2,z3,z4,z5) -> c_170(newline#6#(newline#7(#equal(z4,z5),z1,z0,z3),z2) ,newline#7#(#equal(z4,z5),z1,z0,z3) ,#equal#(z4,z5)) 171: newline#6#(z0,z1) -> c_171() 172: newline#7#(#false(),z0,z1,z2) -> c_172(max#(z0,z2)) 173: newline#7#(#true(),z0,z1,z2) -> c_173(+#(z1,#pos(#s(#0())))) 174: right#(z0) -> c_174(right#1#(z0)) 175: right#1#(::(z0,z1)) -> c_175() 176: right#1#(nil()) -> c_176(#abs#(#0())) * Step 10: RemoveWeakSuffixes. WORST_CASE(?,O(n^2)) + Considered Problem: - Strict DPs: FIRSTLINE#(z0) -> c_8(FIRSTLINE#1#(z0)) FIRSTLINE#1#(::(z0,z1)) -> c_10(FIRSTLINE#(z1)) LCS#(z0,z1) -> c_12(LCS#1#(lcstable(z0,z1)),lcstable#(z0,z1),LCSTABLE#(z0,z1)) LCSTABLE#(z0,z1) -> c_18(LCSTABLE#1#(z0,z1)) LCSTABLE#1#(::(z0,z1),z2) -> c_19(LCSTABLE#2#(lcstable(z1,z2),z2,z0),lcstable#(z1,z2),LCSTABLE#(z1,z2)) LCSTABLE#1#(nil(),z0) -> c_20(FIRSTLINE#(z0)) LCSTABLE#2#(z0,z1,z2) -> c_21(LCSTABLE#3#(z0,z1,z2)) LCSTABLE#3#(::(z0,z1),z2,z3) -> c_22(NEWLINE#(z3,z0,z2)) NEWLINE#(z0,z1,z2) -> c_27(NEWLINE#1#(z2,z1,z0)) NEWLINE#1#(::(z0,z1),z2,z3) -> c_28(NEWLINE#2#(z2,z0,z1,z3)) NEWLINE#2#(::(z0,z1),z2,z3,z4) -> c_30(NEWLINE#3#(newline(z4,z1,z3),z0,z1,z2,z4) ,newline#(z4,z1,z3) ,NEWLINE#(z4,z1,z3)) - Weak DPs: #ABS#(#0()) -> c_1() #ABS#(#neg(z0)) -> c_2() #ABS#(#pos(z0)) -> c_3() #ABS#(#s(z0)) -> c_4() #ADD#(#0(),z0) -> c_41() #ADD#(#neg(#s(#0())),z0) -> c_42(#PRED#(z0)) #ADD#(#neg(#s(#s(z0))),z1) -> c_43(#PRED#(#add(#pos(#s(z0)),z1)) ,#add#(#pos(#s(z0)),z1) ,#ADD#(#pos(#s(z0)),z1)) #ADD#(#pos(#s(#0())),z0) -> c_44(#SUCC#(z0)) #ADD#(#pos(#s(#s(z0))),z1) -> c_45(#SUCC#(#add(#pos(#s(z0)),z1)) ,#add#(#pos(#s(z0)),z1) ,#ADD#(#pos(#s(z0)),z1)) #AND#(#false(),#false()) -> c_46() #AND#(#false(),#true()) -> c_47() #AND#(#true(),#false()) -> c_48() #AND#(#true(),#true()) -> c_49() #CKGT#(#EQ()) -> c_50() #CKGT#(#GT()) -> c_51() #CKGT#(#LT()) -> c_52() #COMPARE#(#0(),#0()) -> c_53() #COMPARE#(#0(),#neg(z0)) -> c_54() #COMPARE#(#0(),#pos(z0)) -> c_55() #COMPARE#(#0(),#s(z0)) -> c_56() #COMPARE#(#neg(z0),#0()) -> c_57() #COMPARE#(#neg(z0),#neg(z1)) -> c_58(#COMPARE#(z1,z0)) #COMPARE#(#neg(z0),#pos(z1)) -> c_59() #COMPARE#(#pos(z0),#0()) -> c_60() #COMPARE#(#pos(z0),#neg(z1)) -> c_61() #COMPARE#(#pos(z0),#pos(z1)) -> c_62(#COMPARE#(z0,z1)) #COMPARE#(#s(z0),#0()) -> c_63() #COMPARE#(#s(z0),#s(z1)) -> c_64(#COMPARE#(z0,z1)) #EQ'#(#0(),#0()) -> c_65() #EQ'#(#0(),#neg(z0)) -> c_66() #EQ'#(#0(),#pos(z0)) -> c_67() #EQ'#(#0(),#s(z0)) -> c_68() #EQ'#(#neg(z0),#0()) -> c_69() #EQ'#(#neg(z0),#neg(z1)) -> c_70(#EQ'#(z0,z1)) #EQ'#(#neg(z0),#pos(z1)) -> c_71() #EQ'#(#pos(z0),#0()) -> c_72() #EQ'#(#pos(z0),#neg(z1)) -> c_73() #EQ'#(#pos(z0),#pos(z1)) -> c_74(#EQ'#(z0,z1)) #EQ'#(#s(z0),#0()) -> c_75() #EQ'#(#s(z0),#s(z1)) -> c_76(#EQ'#(z0,z1)) #EQ'#(::(z0,z1),::(z2,z3)) -> c_77(#AND#(#eq(z0,z2),#eq(z1,z3)),#eq#(z0,z2),#eq#(z1,z3),#EQ'#(z0,z2)) #EQ'#(::(z0,z1),::(z2,z3)) -> c_78(#AND#(#eq(z0,z2),#eq(z1,z3)),#eq#(z0,z2),#eq#(z1,z3),#EQ'#(z1,z3)) #EQ'#(::(z0,z1),nil()) -> c_79() #EQ'#(nil(),::(z0,z1)) -> c_80() #EQ'#(nil(),nil()) -> c_81() #EQUAL#(z0,z1) -> c_5(#EQ'#(z0,z1)) #GREATER#(z0,z1) -> c_6(#CKGT#(#compare(z0,z1)),#compare#(z0,z1),#COMPARE#(z0,z1)) #PRED#(#0()) -> c_82() #PRED#(#neg(#s(z0))) -> c_83() #PRED#(#pos(#s(#0()))) -> c_84() #PRED#(#pos(#s(#s(z0)))) -> c_85() #SUCC#(#0()) -> c_86() #SUCC#(#neg(#s(#0()))) -> c_87() #SUCC#(#neg(#s(#s(z0)))) -> c_88() #SUCC#(#pos(#s(z0))) -> c_89() #abs#(#0()) -> c_90() #abs#(#neg(z0)) -> c_91() #abs#(#pos(z0)) -> c_92() #abs#(#s(z0)) -> c_93() #add#(#0(),z0) -> c_94() #add#(#neg(#s(#0())),z0) -> c_95(#pred#(z0)) #add#(#neg(#s(#s(z0))),z1) -> c_96(#pred#(#add(#pos(#s(z0)),z1)),#add#(#pos(#s(z0)),z1)) #add#(#pos(#s(#0())),z0) -> c_97(#succ#(z0)) #add#(#pos(#s(#s(z0))),z1) -> c_98(#succ#(#add(#pos(#s(z0)),z1)),#add#(#pos(#s(z0)),z1)) #and#(#false(),#false()) -> c_99() #and#(#false(),#true()) -> c_100() #and#(#true(),#false()) -> c_101() #and#(#true(),#true()) -> c_102() #ckgt#(#EQ()) -> c_103() #ckgt#(#GT()) -> c_104() #ckgt#(#LT()) -> c_105() #compare#(#0(),#0()) -> c_106() #compare#(#0(),#neg(z0)) -> c_107() #compare#(#0(),#pos(z0)) -> c_108() #compare#(#0(),#s(z0)) -> c_109() #compare#(#neg(z0),#0()) -> c_110() #compare#(#neg(z0),#neg(z1)) -> c_111(#compare#(z1,z0)) #compare#(#neg(z0),#pos(z1)) -> c_112() #compare#(#pos(z0),#0()) -> c_113() #compare#(#pos(z0),#neg(z1)) -> c_114() #compare#(#pos(z0),#pos(z1)) -> c_115(#compare#(z0,z1)) #compare#(#s(z0),#0()) -> c_116() #compare#(#s(z0),#s(z1)) -> c_117(#compare#(z0,z1)) #eq#(#0(),#0()) -> c_118() #eq#(#0(),#neg(z0)) -> c_119() #eq#(#0(),#pos(z0)) -> c_120() #eq#(#0(),#s(z0)) -> c_121() #eq#(#neg(z0),#0()) -> c_122() #eq#(#neg(z0),#neg(z1)) -> c_123(#eq#(z0,z1)) #eq#(#neg(z0),#pos(z1)) -> c_124() #eq#(#pos(z0),#0()) -> c_125() #eq#(#pos(z0),#neg(z1)) -> c_126() #eq#(#pos(z0),#pos(z1)) -> c_127(#eq#(z0,z1)) #eq#(#s(z0),#0()) -> c_128() #eq#(#s(z0),#s(z1)) -> c_129(#eq#(z0,z1)) #eq#(::(z0,z1),::(z2,z3)) -> c_130(#and#(#eq(z0,z2),#eq(z1,z3)),#eq#(z0,z2),#eq#(z1,z3)) #eq#(::(z0,z1),nil()) -> c_131() #eq#(nil(),::(z0,z1)) -> c_132() #eq#(nil(),nil()) -> c_133() #equal#(z0,z1) -> c_134(#eq#(z0,z1)) #greater#(z0,z1) -> c_135(#ckgt#(#compare(z0,z1)),#compare#(z0,z1)) #pred#(#0()) -> c_136() #pred#(#neg(#s(z0))) -> c_137() #pred#(#pos(#s(#0()))) -> c_138() #pred#(#pos(#s(#s(z0)))) -> c_139() #succ#(#0()) -> c_140() #succ#(#neg(#s(#0()))) -> c_141() #succ#(#neg(#s(#s(z0)))) -> c_142() #succ#(#pos(#s(z0))) -> c_143() +#(z0,z1) -> c_144(#add#(z0,z1)) +'#(z0,z1) -> c_7(#ADD#(z0,z1)) FIRSTLINE#1#(::(z0,z1)) -> c_9(#ABS#(#0())) FIRSTLINE#1#(nil()) -> c_11() LCS#1#(z0) -> c_13(LCS#2#(z0)) LCS#2#(::(z0,z1)) -> c_14(LCS#3#(z0)) LCS#2#(nil()) -> c_15(#ABS#(#0())) LCS#3#(::(z0,z1)) -> c_16() LCS#3#(nil()) -> c_17(#ABS#(#0())) LCSTABLE#3#(nil(),z0,z1) -> c_23() MAX#(z0,z1) -> c_24(MAX#1#(#greater(z0,z1),z0,z1),#greater#(z0,z1),#GREATER#(z0,z1)) MAX#1#(#false(),z0,z1) -> c_25() MAX#1#(#true(),z0,z1) -> c_26() NEWLINE#1#(nil(),z0,z1) -> c_29() NEWLINE#2#(nil(),z0,z1,z2) -> c_31() NEWLINE#3#(z0,z1,z2,z3,z4) -> c_32(NEWLINE#4#(right(z0),z1,z2,z0,z3,z4),right#(z0),RIGHT#(z0)) NEWLINE#4#(z0,z1,z2,z3,z4,z5) -> c_33(NEWLINE#5#(right(z2),z1,z3,z0,z4,z5),right#(z2),RIGHT#(z2)) NEWLINE#5#(z0,z1,z2,z3,z4,z5) -> c_34(NEWLINE#6#(newline#7(#equal(z4,z5),z1,z0,z3),z2) ,newline#7#(#equal(z4,z5),z1,z0,z3) ,#equal#(z4,z5) ,NEWLINE#7#(#equal(z4,z5),z1,z0,z3) ,#equal#(z4,z5) ,#EQUAL#(z4,z5)) NEWLINE#6#(z0,z1) -> c_35() NEWLINE#7#(#false(),z0,z1,z2) -> c_36(MAX#(z0,z2)) NEWLINE#7#(#true(),z0,z1,z2) -> c_37(+'#(z1,#pos(#s(#0())))) RIGHT#(z0) -> c_38(RIGHT#1#(z0)) RIGHT#1#(::(z0,z1)) -> c_39() RIGHT#1#(nil()) -> c_40(#ABS#(#0())) firstline#(z0) -> c_145(firstline#1#(z0)) firstline#1#(::(z0,z1)) -> c_146(#abs#(#0()),firstline#(z1)) firstline#1#(nil()) -> c_147() lcs#(z0,z1) -> c_148(lcs#1#(lcstable(z0,z1)),lcstable#(z0,z1)) lcs#1#(z0) -> c_149(lcs#2#(z0)) lcs#2#(::(z0,z1)) -> c_150(lcs#3#(z0)) lcs#2#(nil()) -> c_151(#abs#(#0())) lcs#3#(::(z0,z1)) -> c_152() lcs#3#(nil()) -> c_153(#abs#(#0())) lcstable#(z0,z1) -> c_154(lcstable#1#(z0,z1)) lcstable#1#(::(z0,z1),z2) -> c_155(lcstable#2#(lcstable(z1,z2),z2,z0),lcstable#(z1,z2)) lcstable#1#(nil(),z0) -> c_156(firstline#(z0)) lcstable#2#(z0,z1,z2) -> c_157(lcstable#3#(z0,z1,z2)) lcstable#3#(::(z0,z1),z2,z3) -> c_158(newline#(z3,z0,z2)) lcstable#3#(nil(),z0,z1) -> c_159() max#(z0,z1) -> c_160(max#1#(#greater(z0,z1),z0,z1),#greater#(z0,z1)) max#1#(#false(),z0,z1) -> c_161() max#1#(#true(),z0,z1) -> c_162() newline#(z0,z1,z2) -> c_163(newline#1#(z2,z1,z0)) newline#1#(::(z0,z1),z2,z3) -> c_164(newline#2#(z2,z0,z1,z3)) newline#1#(nil(),z0,z1) -> c_165() newline#2#(::(z0,z1),z2,z3,z4) -> c_166(newline#3#(newline(z4,z1,z3),z0,z1,z2,z4),newline#(z4,z1,z3)) newline#2#(nil(),z0,z1,z2) -> c_167() newline#3#(z0,z1,z2,z3,z4) -> c_168(newline#4#(right(z0),z1,z2,z0,z3,z4),right#(z0)) newline#4#(z0,z1,z2,z3,z4,z5) -> c_169(newline#5#(right(z2),z1,z3,z0,z4,z5),right#(z2)) newline#5#(z0,z1,z2,z3,z4,z5) -> c_170(newline#6#(newline#7(#equal(z4,z5),z1,z0,z3),z2) ,newline#7#(#equal(z4,z5),z1,z0,z3) ,#equal#(z4,z5)) newline#6#(z0,z1) -> c_171() newline#7#(#false(),z0,z1,z2) -> c_172(max#(z0,z2)) newline#7#(#true(),z0,z1,z2) -> c_173(+#(z1,#pos(#s(#0())))) right#(z0) -> c_174(right#1#(z0)) right#1#(::(z0,z1)) -> c_175() right#1#(nil()) -> c_176(#abs#(#0())) - Weak TRS: #abs(#0()) -> #0() #add(#0(),z0) -> z0 #add(#neg(#s(#0())),z0) -> #pred(z0) #add(#neg(#s(#s(z0))),z1) -> #pred(#add(#pos(#s(z0)),z1)) #add(#pos(#s(#0())),z0) -> #succ(z0) #add(#pos(#s(#s(z0))),z1) -> #succ(#add(#pos(#s(z0)),z1)) #and(#false(),#false()) -> #false() #and(#false(),#true()) -> #false() #and(#true(),#false()) -> #false() #and(#true(),#true()) -> #true() #ckgt(#EQ()) -> #false() #ckgt(#GT()) -> #true() #ckgt(#LT()) -> #false() #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) #greater(z0,z1) -> #ckgt(#compare(z0,z1)) #pred(#0()) -> #neg(#s(#0())) #pred(#neg(#s(z0))) -> #neg(#s(#s(z0))) #pred(#pos(#s(#0()))) -> #0() #pred(#pos(#s(#s(z0)))) -> #pos(#s(z0)) #succ(#0()) -> #pos(#s(#0())) #succ(#neg(#s(#0()))) -> #0() #succ(#neg(#s(#s(z0)))) -> #neg(#s(z0)) #succ(#pos(#s(z0))) -> #pos(#s(#s(z0))) +(z0,z1) -> #add(z0,z1) firstline(z0) -> firstline#1(z0) firstline#1(::(z0,z1)) -> ::(#abs(#0()),firstline(z1)) firstline#1(nil()) -> nil() lcstable(z0,z1) -> lcstable#1(z0,z1) lcstable#1(::(z0,z1),z2) -> lcstable#2(lcstable(z1,z2),z2,z0) lcstable#1(nil(),z0) -> ::(firstline(z0),nil()) lcstable#2(z0,z1,z2) -> lcstable#3(z0,z1,z2) lcstable#3(::(z0,z1),z2,z3) -> ::(newline(z3,z0,z2),::(z0,z1)) lcstable#3(nil(),z0,z1) -> nil() max(z0,z1) -> max#1(#greater(z0,z1),z0,z1) max#1(#false(),z0,z1) -> z1 max#1(#true(),z0,z1) -> z0 newline(z0,z1,z2) -> newline#1(z2,z1,z0) newline#1(::(z0,z1),z2,z3) -> newline#2(z2,z0,z1,z3) newline#1(nil(),z0,z1) -> nil() newline#2(::(z0,z1),z2,z3,z4) -> newline#3(newline(z4,z1,z3),z0,z1,z2,z4) newline#2(nil(),z0,z1,z2) -> nil() newline#3(z0,z1,z2,z3,z4) -> newline#4(right(z0),z1,z2,z0,z3,z4) newline#4(z0,z1,z2,z3,z4,z5) -> newline#5(right(z2),z1,z3,z0,z4,z5) newline#5(z0,z1,z2,z3,z4,z5) -> newline#6(newline#7(#equal(z4,z5),z1,z0,z3),z2) newline#6(z0,z1) -> ::(z0,z1) newline#7(#false(),z0,z1,z2) -> max(z0,z2) newline#7(#true(),z0,z1,z2) -> +(z1,#pos(#s(#0()))) right(z0) -> right#1(z0) right#1(::(z0,z1)) -> z0 right#1(nil()) -> #abs(#0()) - Signature: {#ABS/1,#ADD/2,#AND/2,#CKGT/1,#COMPARE/2,#EQ'/2,#EQUAL/2,#GREATER/2,#PRED/1,#SUCC/1,#abs/1,#add/2,#and/2 ,#ckgt/1,#compare/2,#eq/2,#equal/2,#greater/2,#pred/1,#succ/1,+/2,+'/2,FIRSTLINE/1,FIRSTLINE#1/1,LCS/2 ,LCS#1/1,LCS#2/1,LCS#3/1,LCSTABLE/2,LCSTABLE#1/2,LCSTABLE#2/3,LCSTABLE#3/3,MAX/2,MAX#1/3,NEWLINE/3 ,NEWLINE#1/3,NEWLINE#2/4,NEWLINE#3/5,NEWLINE#4/6,NEWLINE#5/6,NEWLINE#6/2,NEWLINE#7/4,RIGHT/1,RIGHT#1/1 ,firstline/1,firstline#1/1,lcs/2,lcs#1/1,lcs#2/1,lcs#3/1,lcstable/2,lcstable#1/2,lcstable#2/3,lcstable#3/3 ,max/2,max#1/3,newline/3,newline#1/3,newline#2/4,newline#3/5,newline#4/6,newline#5/6,newline#6/2,newline#7/4 ,right/1,right#1/1,#ABS#/1,#ADD#/2,#AND#/2,#CKGT#/1,#COMPARE#/2,#EQ'#/2,#EQUAL#/2,#GREATER#/2,#PRED#/1 ,#SUCC#/1,#abs#/1,#add#/2,#and#/2,#ckgt#/1,#compare#/2,#eq#/2,#equal#/2,#greater#/2,#pred#/1,#succ#/1,+#/2 ,+'#/2,FIRSTLINE#/1,FIRSTLINE#1#/1,LCS#/2,LCS#1#/1,LCS#2#/1,LCS#3#/1,LCSTABLE#/2,LCSTABLE#1#/2,LCSTABLE#2#/3 ,LCSTABLE#3#/3,MAX#/2,MAX#1#/3,NEWLINE#/3,NEWLINE#1#/3,NEWLINE#2#/4,NEWLINE#3#/5,NEWLINE#4#/6,NEWLINE#5#/6 ,NEWLINE#6#/2,NEWLINE#7#/4,RIGHT#/1,RIGHT#1#/1,firstline#/1,firstline#1#/1,lcs#/2,lcs#1#/1,lcs#2#/1,lcs#3#/1 ,lcstable#/2,lcstable#1#/2,lcstable#2#/3,lcstable#3#/3,max#/2,max#1#/3,newline#/3,newline#1#/3,newline#2#/4 ,newline#3#/5,newline#4#/6,newline#5#/6,newline#6#/2,newline#7#/4,right#/1,right#1#/1} / {#0/0,#EQ/0,#GT/0 ,#LT/0,#false/0,#neg/1,#pos/1,#s/1,#true/0,::/2,c/0,c1/1,c10/0,c11/0,c12/0,c13/0,c14/0,c15/0,c16/0,c17/1 ,c18/0,c19/0,c2/2,c20/0,c21/1,c22/0,c23/1,c24/0,c25/0,c26/0,c27/0,c28/0,c29/1,c3/1,c30/0,c31/0,c32/0,c33/1 ,c34/0,c35/1,c36/2,c37/2,c38/0,c39/0,c4/2,c40/0,c41/0,c42/0,c43/0,c44/0,c45/0,c46/0,c47/0,c48/0,c49/0,c5/0 ,c50/0,c51/0,c52/0,c53/1,c54/2,c55/1,c56/1,c57/1,c58/1,c59/0,c6/0,c60/2,c61/1,c62/1,c63/1,c64/0,c65/1,c66/1 ,c67/2,c68/1,c69/1,c7/0,c70/1,c71/0,c72/2,c73/0,c74/0,c75/1,c76/1,c77/0,c78/2,c79/0,c8/0,c80/2,c81/2,c82/3 ,c83/0,c84/1,c85/1,c86/1,c87/0,c88/1,c9/0,nil/0,c_1/0,c_2/0,c_3/0,c_4/0,c_5/1,c_6/3,c_7/1,c_8/1,c_9/1,c_10/1 ,c_11/0,c_12/3,c_13/1,c_14/1,c_15/1,c_16/0,c_17/1,c_18/1,c_19/3,c_20/1,c_21/1,c_22/1,c_23/0,c_24/3,c_25/0 ,c_26/0,c_27/1,c_28/1,c_29/0,c_30/3,c_31/0,c_32/3,c_33/3,c_34/6,c_35/0,c_36/1,c_37/1,c_38/1,c_39/0,c_40/1 ,c_41/0,c_42/1,c_43/3,c_44/1,c_45/3,c_46/0,c_47/0,c_48/0,c_49/0,c_50/0,c_51/0,c_52/0,c_53/0,c_54/0,c_55/0 ,c_56/0,c_57/0,c_58/1,c_59/0,c_60/0,c_61/0,c_62/1,c_63/0,c_64/1,c_65/0,c_66/0,c_67/0,c_68/0,c_69/0,c_70/1 ,c_71/0,c_72/0,c_73/0,c_74/1,c_75/0,c_76/1,c_77/4,c_78/4,c_79/0,c_80/0,c_81/0,c_82/0,c_83/0,c_84/0,c_85/0 ,c_86/0,c_87/0,c_88/0,c_89/0,c_90/0,c_91/0,c_92/0,c_93/0,c_94/0,c_95/1,c_96/2,c_97/1,c_98/2,c_99/0,c_100/0 ,c_101/0,c_102/0,c_103/0,c_104/0,c_105/0,c_106/0,c_107/0,c_108/0,c_109/0,c_110/0,c_111/1,c_112/0,c_113/0 ,c_114/0,c_115/1,c_116/0,c_117/1,c_118/0,c_119/0,c_120/0,c_121/0,c_122/0,c_123/1,c_124/0,c_125/0,c_126/0 ,c_127/1,c_128/0,c_129/1,c_130/3,c_131/0,c_132/0,c_133/0,c_134/1,c_135/2,c_136/0,c_137/0,c_138/0,c_139/0 ,c_140/0,c_141/0,c_142/0,c_143/0,c_144/1,c_145/1,c_146/2,c_147/0,c_148/2,c_149/1,c_150/1,c_151/1,c_152/0 ,c_153/1,c_154/1,c_155/2,c_156/1,c_157/1,c_158/1,c_159/0,c_160/2,c_161/0,c_162/0,c_163/1,c_164/1,c_165/0 ,c_166/2,c_167/0,c_168/2,c_169/2,c_170/3,c_171/0,c_172/1,c_173/1,c_174/1,c_175/0,c_176/1} - Obligation: innermost runtime complexity wrt. defined symbols {#ABS#,#ADD#,#AND#,#CKGT#,#COMPARE#,#EQ'#,#EQUAL# ,#GREATER#,#PRED#,#SUCC#,#abs#,#add#,#and#,#ckgt#,#compare#,#eq#,#equal#,#greater#,#pred#,#succ#,+#,+'# ,FIRSTLINE#,FIRSTLINE#1#,LCS#,LCS#1#,LCS#2#,LCS#3#,LCSTABLE#,LCSTABLE#1#,LCSTABLE#2#,LCSTABLE#3#,MAX#,MAX#1# ,NEWLINE#,NEWLINE#1#,NEWLINE#2#,NEWLINE#3#,NEWLINE#4#,NEWLINE#5#,NEWLINE#6#,NEWLINE#7#,RIGHT#,RIGHT#1# ,firstline#,firstline#1#,lcs#,lcs#1#,lcs#2#,lcs#3#,lcstable#,lcstable#1#,lcstable#2#,lcstable#3#,max#,max#1# ,newline#,newline#1#,newline#2#,newline#3#,newline#4#,newline#5#,newline#6#,newline#7#,right# ,right#1#} 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,c59,c6,c60,c61,c62,c63,c64,c65 ,c66,c67,c68,c69,c7,c70,c71,c72,c73,c74,c75,c76,c77,c78,c79,c8,c80,c81,c82,c83,c84,c85,c86,c87,c88,c9,nil} + Applied Processor: RemoveWeakSuffixes + Details: Consider the dependency graph 1:S:FIRSTLINE#(z0) -> c_8(FIRSTLINE#1#(z0)) -->_1 FIRSTLINE#1#(::(z0,z1)) -> c_9(#ABS#(#0())):123 -->_1 FIRSTLINE#1#(::(z0,z1)) -> c_10(FIRSTLINE#(z1)):2 -->_1 FIRSTLINE#1#(nil()) -> c_11():124 2:S:FIRSTLINE#1#(::(z0,z1)) -> c_10(FIRSTLINE#(z1)) -->_1 FIRSTLINE#(z0) -> c_8(FIRSTLINE#1#(z0)):1 3:S:LCS#(z0,z1) -> c_12(LCS#1#(lcstable(z0,z1)),lcstable#(z0,z1),LCSTABLE#(z0,z1)) -->_2 lcstable#(z0,z1) -> c_154(lcstable#1#(z0,z1)):154 -->_1 LCS#1#(z0) -> c_13(LCS#2#(z0)):125 -->_3 LCSTABLE#(z0,z1) -> c_18(LCSTABLE#1#(z0,z1)):4 4:S:LCSTABLE#(z0,z1) -> c_18(LCSTABLE#1#(z0,z1)) -->_1 LCSTABLE#1#(nil(),z0) -> c_20(FIRSTLINE#(z0)):6 -->_1 LCSTABLE#1#(::(z0,z1),z2) -> c_19(LCSTABLE#2#(lcstable(z1,z2),z2,z0) ,lcstable#(z1,z2) ,LCSTABLE#(z1,z2)):5 5:S:LCSTABLE#1#(::(z0,z1),z2) -> c_19(LCSTABLE#2#(lcstable(z1,z2),z2,z0),lcstable#(z1,z2),LCSTABLE#(z1,z2)) -->_2 lcstable#(z0,z1) -> c_154(lcstable#1#(z0,z1)):154 -->_1 LCSTABLE#2#(z0,z1,z2) -> c_21(LCSTABLE#3#(z0,z1,z2)):7 -->_3 LCSTABLE#(z0,z1) -> c_18(LCSTABLE#1#(z0,z1)):4 6:S:LCSTABLE#1#(nil(),z0) -> c_20(FIRSTLINE#(z0)) -->_1 FIRSTLINE#(z0) -> c_8(FIRSTLINE#1#(z0)):1 7:S:LCSTABLE#2#(z0,z1,z2) -> c_21(LCSTABLE#3#(z0,z1,z2)) -->_1 LCSTABLE#3#(::(z0,z1),z2,z3) -> c_22(NEWLINE#(z3,z0,z2)):8 -->_1 LCSTABLE#3#(nil(),z0,z1) -> c_23():130 8:S:LCSTABLE#3#(::(z0,z1),z2,z3) -> c_22(NEWLINE#(z3,z0,z2)) -->_1 NEWLINE#(z0,z1,z2) -> c_27(NEWLINE#1#(z2,z1,z0)):9 9:S:NEWLINE#(z0,z1,z2) -> c_27(NEWLINE#1#(z2,z1,z0)) -->_1 NEWLINE#1#(::(z0,z1),z2,z3) -> c_28(NEWLINE#2#(z2,z0,z1,z3)):10 -->_1 NEWLINE#1#(nil(),z0,z1) -> c_29():134 10:S:NEWLINE#1#(::(z0,z1),z2,z3) -> c_28(NEWLINE#2#(z2,z0,z1,z3)) -->_1 NEWLINE#2#(::(z0,z1),z2,z3,z4) -> c_30(NEWLINE#3#(newline(z4,z1,z3),z0,z1,z2,z4) ,newline#(z4,z1,z3) ,NEWLINE#(z4,z1,z3)):11 -->_1 NEWLINE#2#(nil(),z0,z1,z2) -> c_31():135 11:S:NEWLINE#2#(::(z0,z1),z2,z3,z4) -> c_30(NEWLINE#3#(newline(z4,z1,z3),z0,z1,z2,z4) ,newline#(z4,z1,z3) ,NEWLINE#(z4,z1,z3)) -->_2 newline#(z0,z1,z2) -> c_163(newline#1#(z2,z1,z0)):163 -->_1 NEWLINE#3#(z0,z1,z2,z3,z4) -> c_32(NEWLINE#4#(right(z0),z1,z2,z0,z3,z4),right#(z0),RIGHT#(z0)):136 -->_3 NEWLINE#(z0,z1,z2) -> c_27(NEWLINE#1#(z2,z1,z0)):9 12:W:#ABS#(#0()) -> c_1() 13:W:#ABS#(#neg(z0)) -> c_2() 14:W:#ABS#(#pos(z0)) -> c_3() 15:W:#ABS#(#s(z0)) -> c_4() 16:W:#ADD#(#0(),z0) -> c_41() 17:W:#ADD#(#neg(#s(#0())),z0) -> c_42(#PRED#(z0)) -->_1 #PRED#(#pos(#s(#s(z0)))) -> c_85():62 -->_1 #PRED#(#pos(#s(#0()))) -> c_84():61 -->_1 #PRED#(#neg(#s(z0))) -> c_83():60 -->_1 #PRED#(#0()) -> c_82():59 18:W:#ADD#(#neg(#s(#s(z0))),z1) -> c_43(#PRED#(#add(#pos(#s(z0)),z1)) ,#add#(#pos(#s(z0)),z1) ,#ADD#(#pos(#s(z0)),z1)) -->_2 #add#(#pos(#s(#s(z0))),z1) -> c_98(#succ#(#add(#pos(#s(z0)),z1)),#add#(#pos(#s(z0)),z1)):75 -->_2 #add#(#pos(#s(#0())),z0) -> c_97(#succ#(z0)):74 -->_3 #ADD#(#pos(#s(#s(z0))),z1) -> c_45(#SUCC#(#add(#pos(#s(z0)),z1)) ,#add#(#pos(#s(z0)),z1) ,#ADD#(#pos(#s(z0)),z1)):20 -->_3 #ADD#(#pos(#s(#0())),z0) -> c_44(#SUCC#(z0)):19 -->_1 #PRED#(#pos(#s(#s(z0)))) -> c_85():62 -->_1 #PRED#(#pos(#s(#0()))) -> c_84():61 -->_1 #PRED#(#neg(#s(z0))) -> c_83():60 -->_1 #PRED#(#0()) -> c_82():59 19:W:#ADD#(#pos(#s(#0())),z0) -> c_44(#SUCC#(z0)) -->_1 #SUCC#(#pos(#s(z0))) -> c_89():66 -->_1 #SUCC#(#neg(#s(#s(z0)))) -> c_88():65 -->_1 #SUCC#(#neg(#s(#0()))) -> c_87():64 -->_1 #SUCC#(#0()) -> c_86():63 20:W:#ADD#(#pos(#s(#s(z0))),z1) -> c_45(#SUCC#(#add(#pos(#s(z0)),z1)) ,#add#(#pos(#s(z0)),z1) ,#ADD#(#pos(#s(z0)),z1)) -->_2 #add#(#pos(#s(#s(z0))),z1) -> c_98(#succ#(#add(#pos(#s(z0)),z1)),#add#(#pos(#s(z0)),z1)):75 -->_2 #add#(#pos(#s(#0())),z0) -> c_97(#succ#(z0)):74 -->_1 #SUCC#(#pos(#s(z0))) -> c_89():66 -->_1 #SUCC#(#neg(#s(#s(z0)))) -> c_88():65 -->_1 #SUCC#(#neg(#s(#0()))) -> c_87():64 -->_1 #SUCC#(#0()) -> c_86():63 -->_3 #ADD#(#pos(#s(#s(z0))),z1) -> c_45(#SUCC#(#add(#pos(#s(z0)),z1)) ,#add#(#pos(#s(z0)),z1) ,#ADD#(#pos(#s(z0)),z1)):20 -->_3 #ADD#(#pos(#s(#0())),z0) -> c_44(#SUCC#(z0)):19 21:W:#AND#(#false(),#false()) -> c_46() 22:W:#AND#(#false(),#true()) -> c_47() 23:W:#AND#(#true(),#false()) -> c_48() 24:W:#AND#(#true(),#true()) -> c_49() 25:W:#CKGT#(#EQ()) -> c_50() 26:W:#CKGT#(#GT()) -> c_51() 27:W:#CKGT#(#LT()) -> c_52() 28:W:#COMPARE#(#0(),#0()) -> c_53() 29:W:#COMPARE#(#0(),#neg(z0)) -> c_54() 30:W:#COMPARE#(#0(),#pos(z0)) -> c_55() 31:W:#COMPARE#(#0(),#s(z0)) -> c_56() 32:W:#COMPARE#(#neg(z0),#0()) -> c_57() 33:W:#COMPARE#(#neg(z0),#neg(z1)) -> c_58(#COMPARE#(z1,z0)) -->_1 #COMPARE#(#s(z0),#s(z1)) -> c_64(#COMPARE#(z0,z1)):39 -->_1 #COMPARE#(#pos(z0),#pos(z1)) -> c_62(#COMPARE#(z0,z1)):37 -->_1 #COMPARE#(#s(z0),#0()) -> c_63():38 -->_1 #COMPARE#(#pos(z0),#neg(z1)) -> c_61():36 -->_1 #COMPARE#(#pos(z0),#0()) -> c_60():35 -->_1 #COMPARE#(#neg(z0),#pos(z1)) -> c_59():34 -->_1 #COMPARE#(#neg(z0),#neg(z1)) -> c_58(#COMPARE#(z1,z0)):33 -->_1 #COMPARE#(#neg(z0),#0()) -> c_57():32 -->_1 #COMPARE#(#0(),#s(z0)) -> c_56():31 -->_1 #COMPARE#(#0(),#pos(z0)) -> c_55():30 -->_1 #COMPARE#(#0(),#neg(z0)) -> c_54():29 -->_1 #COMPARE#(#0(),#0()) -> c_53():28 34:W:#COMPARE#(#neg(z0),#pos(z1)) -> c_59() 35:W:#COMPARE#(#pos(z0),#0()) -> c_60() 36:W:#COMPARE#(#pos(z0),#neg(z1)) -> c_61() 37:W:#COMPARE#(#pos(z0),#pos(z1)) -> c_62(#COMPARE#(z0,z1)) -->_1 #COMPARE#(#s(z0),#s(z1)) -> c_64(#COMPARE#(z0,z1)):39 -->_1 #COMPARE#(#s(z0),#0()) -> c_63():38 -->_1 #COMPARE#(#pos(z0),#pos(z1)) -> c_62(#COMPARE#(z0,z1)):37 -->_1 #COMPARE#(#pos(z0),#neg(z1)) -> c_61():36 -->_1 #COMPARE#(#pos(z0),#0()) -> c_60():35 -->_1 #COMPARE#(#neg(z0),#pos(z1)) -> c_59():34 -->_1 #COMPARE#(#neg(z0),#neg(z1)) -> c_58(#COMPARE#(z1,z0)):33 -->_1 #COMPARE#(#neg(z0),#0()) -> c_57():32 -->_1 #COMPARE#(#0(),#s(z0)) -> c_56():31 -->_1 #COMPARE#(#0(),#pos(z0)) -> c_55():30 -->_1 #COMPARE#(#0(),#neg(z0)) -> c_54():29 -->_1 #COMPARE#(#0(),#0()) -> c_53():28 38:W:#COMPARE#(#s(z0),#0()) -> c_63() 39:W:#COMPARE#(#s(z0),#s(z1)) -> c_64(#COMPARE#(z0,z1)) -->_1 #COMPARE#(#s(z0),#s(z1)) -> c_64(#COMPARE#(z0,z1)):39 -->_1 #COMPARE#(#s(z0),#0()) -> c_63():38 -->_1 #COMPARE#(#pos(z0),#pos(z1)) -> c_62(#COMPARE#(z0,z1)):37 -->_1 #COMPARE#(#pos(z0),#neg(z1)) -> c_61():36 -->_1 #COMPARE#(#pos(z0),#0()) -> c_60():35 -->_1 #COMPARE#(#neg(z0),#pos(z1)) -> c_59():34 -->_1 #COMPARE#(#neg(z0),#neg(z1)) -> c_58(#COMPARE#(z1,z0)):33 -->_1 #COMPARE#(#neg(z0),#0()) -> c_57():32 -->_1 #COMPARE#(#0(),#s(z0)) -> c_56():31 -->_1 #COMPARE#(#0(),#pos(z0)) -> c_55():30 -->_1 #COMPARE#(#0(),#neg(z0)) -> c_54():29 -->_1 #COMPARE#(#0(),#0()) -> c_53():28 40:W:#EQ'#(#0(),#0()) -> c_65() 41:W:#EQ'#(#0(),#neg(z0)) -> c_66() 42:W:#EQ'#(#0(),#pos(z0)) -> c_67() 43:W:#EQ'#(#0(),#s(z0)) -> c_68() 44:W:#EQ'#(#neg(z0),#0()) -> c_69() 45:W:#EQ'#(#neg(z0),#neg(z1)) -> c_70(#EQ'#(z0,z1)) -->_1 #EQ'#(::(z0,z1),::(z2,z3)) -> c_78(#AND#(#eq(z0,z2),#eq(z1,z3)) ,#eq#(z0,z2) ,#eq#(z1,z3) ,#EQ'#(z1,z3)):53 -->_1 #EQ'#(::(z0,z1),::(z2,z3)) -> c_77(#AND#(#eq(z0,z2),#eq(z1,z3)) ,#eq#(z0,z2) ,#eq#(z1,z3) ,#EQ'#(z0,z2)):52 -->_1 #EQ'#(#s(z0),#s(z1)) -> c_76(#EQ'#(z0,z1)):51 -->_1 #EQ'#(#pos(z0),#pos(z1)) -> c_74(#EQ'#(z0,z1)):49 -->_1 #EQ'#(nil(),nil()) -> c_81():56 -->_1 #EQ'#(nil(),::(z0,z1)) -> c_80():55 -->_1 #EQ'#(::(z0,z1),nil()) -> c_79():54 -->_1 #EQ'#(#s(z0),#0()) -> c_75():50 -->_1 #EQ'#(#pos(z0),#neg(z1)) -> c_73():48 -->_1 #EQ'#(#pos(z0),#0()) -> c_72():47 -->_1 #EQ'#(#neg(z0),#pos(z1)) -> c_71():46 -->_1 #EQ'#(#neg(z0),#neg(z1)) -> c_70(#EQ'#(z0,z1)):45 -->_1 #EQ'#(#neg(z0),#0()) -> c_69():44 -->_1 #EQ'#(#0(),#s(z0)) -> c_68():43 -->_1 #EQ'#(#0(),#pos(z0)) -> c_67():42 -->_1 #EQ'#(#0(),#neg(z0)) -> c_66():41 -->_1 #EQ'#(#0(),#0()) -> c_65():40 46:W:#EQ'#(#neg(z0),#pos(z1)) -> c_71() 47:W:#EQ'#(#pos(z0),#0()) -> c_72() 48:W:#EQ'#(#pos(z0),#neg(z1)) -> c_73() 49:W:#EQ'#(#pos(z0),#pos(z1)) -> c_74(#EQ'#(z0,z1)) -->_1 #EQ'#(::(z0,z1),::(z2,z3)) -> c_78(#AND#(#eq(z0,z2),#eq(z1,z3)) ,#eq#(z0,z2) ,#eq#(z1,z3) ,#EQ'#(z1,z3)):53 -->_1 #EQ'#(::(z0,z1),::(z2,z3)) -> c_77(#AND#(#eq(z0,z2),#eq(z1,z3)) ,#eq#(z0,z2) ,#eq#(z1,z3) ,#EQ'#(z0,z2)):52 -->_1 #EQ'#(#s(z0),#s(z1)) -> c_76(#EQ'#(z0,z1)):51 -->_1 #EQ'#(nil(),nil()) -> c_81():56 -->_1 #EQ'#(nil(),::(z0,z1)) -> c_80():55 -->_1 #EQ'#(::(z0,z1),nil()) -> c_79():54 -->_1 #EQ'#(#s(z0),#0()) -> c_75():50 -->_1 #EQ'#(#pos(z0),#pos(z1)) -> c_74(#EQ'#(z0,z1)):49 -->_1 #EQ'#(#pos(z0),#neg(z1)) -> c_73():48 -->_1 #EQ'#(#pos(z0),#0()) -> c_72():47 -->_1 #EQ'#(#neg(z0),#pos(z1)) -> c_71():46 -->_1 #EQ'#(#neg(z0),#neg(z1)) -> c_70(#EQ'#(z0,z1)):45 -->_1 #EQ'#(#neg(z0),#0()) -> c_69():44 -->_1 #EQ'#(#0(),#s(z0)) -> c_68():43 -->_1 #EQ'#(#0(),#pos(z0)) -> c_67():42 -->_1 #EQ'#(#0(),#neg(z0)) -> c_66():41 -->_1 #EQ'#(#0(),#0()) -> c_65():40 50:W:#EQ'#(#s(z0),#0()) -> c_75() 51:W:#EQ'#(#s(z0),#s(z1)) -> c_76(#EQ'#(z0,z1)) -->_1 #EQ'#(::(z0,z1),::(z2,z3)) -> c_78(#AND#(#eq(z0,z2),#eq(z1,z3)) ,#eq#(z0,z2) ,#eq#(z1,z3) ,#EQ'#(z1,z3)):53 -->_1 #EQ'#(::(z0,z1),::(z2,z3)) -> c_77(#AND#(#eq(z0,z2),#eq(z1,z3)) ,#eq#(z0,z2) ,#eq#(z1,z3) ,#EQ'#(z0,z2)):52 -->_1 #EQ'#(nil(),nil()) -> c_81():56 -->_1 #EQ'#(nil(),::(z0,z1)) -> c_80():55 -->_1 #EQ'#(::(z0,z1),nil()) -> c_79():54 -->_1 #EQ'#(#s(z0),#s(z1)) -> c_76(#EQ'#(z0,z1)):51 -->_1 #EQ'#(#s(z0),#0()) -> c_75():50 -->_1 #EQ'#(#pos(z0),#pos(z1)) -> c_74(#EQ'#(z0,z1)):49 -->_1 #EQ'#(#pos(z0),#neg(z1)) -> c_73():48 -->_1 #EQ'#(#pos(z0),#0()) -> c_72():47 -->_1 #EQ'#(#neg(z0),#pos(z1)) -> c_71():46 -->_1 #EQ'#(#neg(z0),#neg(z1)) -> c_70(#EQ'#(z0,z1)):45 -->_1 #EQ'#(#neg(z0),#0()) -> c_69():44 -->_1 #EQ'#(#0(),#s(z0)) -> c_68():43 -->_1 #EQ'#(#0(),#pos(z0)) -> c_67():42 -->_1 #EQ'#(#0(),#neg(z0)) -> c_66():41 -->_1 #EQ'#(#0(),#0()) -> c_65():40 52:W:#EQ'#(::(z0,z1),::(z2,z3)) -> c_77(#AND#(#eq(z0,z2),#eq(z1,z3)),#eq#(z0,z2),#eq#(z1,z3),#EQ'#(z0,z2)) -->_3 #eq#(::(z0,z1),::(z2,z3)) -> c_130(#and#(#eq(z0,z2),#eq(z1,z3)),#eq#(z0,z2),#eq#(z1,z3)):107 -->_2 #eq#(::(z0,z1),::(z2,z3)) -> c_130(#and#(#eq(z0,z2),#eq(z1,z3)),#eq#(z0,z2),#eq#(z1,z3)):107 -->_3 #eq#(#s(z0),#s(z1)) -> c_129(#eq#(z0,z1)):106 -->_2 #eq#(#s(z0),#s(z1)) -> c_129(#eq#(z0,z1)):106 -->_3 #eq#(#pos(z0),#pos(z1)) -> c_127(#eq#(z0,z1)):104 -->_2 #eq#(#pos(z0),#pos(z1)) -> c_127(#eq#(z0,z1)):104 -->_3 #eq#(#neg(z0),#neg(z1)) -> c_123(#eq#(z0,z1)):100 -->_2 #eq#(#neg(z0),#neg(z1)) -> c_123(#eq#(z0,z1)):100 -->_4 #EQ'#(::(z0,z1),::(z2,z3)) -> c_78(#AND#(#eq(z0,z2),#eq(z1,z3)) ,#eq#(z0,z2) ,#eq#(z1,z3) ,#EQ'#(z1,z3)):53 -->_3 #eq#(nil(),nil()) -> c_133():110 -->_2 #eq#(nil(),nil()) -> c_133():110 -->_3 #eq#(nil(),::(z0,z1)) -> c_132():109 -->_2 #eq#(nil(),::(z0,z1)) -> c_132():109 -->_3 #eq#(::(z0,z1),nil()) -> c_131():108 -->_2 #eq#(::(z0,z1),nil()) -> c_131():108 -->_3 #eq#(#s(z0),#0()) -> c_128():105 -->_2 #eq#(#s(z0),#0()) -> c_128():105 -->_3 #eq#(#pos(z0),#neg(z1)) -> c_126():103 -->_2 #eq#(#pos(z0),#neg(z1)) -> c_126():103 -->_3 #eq#(#pos(z0),#0()) -> c_125():102 -->_2 #eq#(#pos(z0),#0()) -> c_125():102 -->_3 #eq#(#neg(z0),#pos(z1)) -> c_124():101 -->_2 #eq#(#neg(z0),#pos(z1)) -> c_124():101 -->_3 #eq#(#neg(z0),#0()) -> c_122():99 -->_2 #eq#(#neg(z0),#0()) -> c_122():99 -->_3 #eq#(#0(),#s(z0)) -> c_121():98 -->_2 #eq#(#0(),#s(z0)) -> c_121():98 -->_3 #eq#(#0(),#pos(z0)) -> c_120():97 -->_2 #eq#(#0(),#pos(z0)) -> c_120():97 -->_3 #eq#(#0(),#neg(z0)) -> c_119():96 -->_2 #eq#(#0(),#neg(z0)) -> c_119():96 -->_3 #eq#(#0(),#0()) -> c_118():95 -->_2 #eq#(#0(),#0()) -> c_118():95 -->_4 #EQ'#(nil(),nil()) -> c_81():56 -->_4 #EQ'#(nil(),::(z0,z1)) -> c_80():55 -->_4 #EQ'#(::(z0,z1),nil()) -> c_79():54 -->_4 #EQ'#(::(z0,z1),::(z2,z3)) -> c_77(#AND#(#eq(z0,z2),#eq(z1,z3)) ,#eq#(z0,z2) ,#eq#(z1,z3) ,#EQ'#(z0,z2)):52 -->_4 #EQ'#(#s(z0),#s(z1)) -> c_76(#EQ'#(z0,z1)):51 -->_4 #EQ'#(#s(z0),#0()) -> c_75():50 -->_4 #EQ'#(#pos(z0),#pos(z1)) -> c_74(#EQ'#(z0,z1)):49 -->_4 #EQ'#(#pos(z0),#neg(z1)) -> c_73():48 -->_4 #EQ'#(#pos(z0),#0()) -> c_72():47 -->_4 #EQ'#(#neg(z0),#pos(z1)) -> c_71():46 -->_4 #EQ'#(#neg(z0),#neg(z1)) -> c_70(#EQ'#(z0,z1)):45 -->_4 #EQ'#(#neg(z0),#0()) -> c_69():44 -->_4 #EQ'#(#0(),#s(z0)) -> c_68():43 -->_4 #EQ'#(#0(),#pos(z0)) -> c_67():42 -->_4 #EQ'#(#0(),#neg(z0)) -> c_66():41 -->_4 #EQ'#(#0(),#0()) -> c_65():40 -->_1 #AND#(#true(),#true()) -> c_49():24 -->_1 #AND#(#true(),#false()) -> c_48():23 -->_1 #AND#(#false(),#true()) -> c_47():22 -->_1 #AND#(#false(),#false()) -> c_46():21 53:W:#EQ'#(::(z0,z1),::(z2,z3)) -> c_78(#AND#(#eq(z0,z2),#eq(z1,z3)),#eq#(z0,z2),#eq#(z1,z3),#EQ'#(z1,z3)) -->_3 #eq#(::(z0,z1),::(z2,z3)) -> c_130(#and#(#eq(z0,z2),#eq(z1,z3)),#eq#(z0,z2),#eq#(z1,z3)):107 -->_2 #eq#(::(z0,z1),::(z2,z3)) -> c_130(#and#(#eq(z0,z2),#eq(z1,z3)),#eq#(z0,z2),#eq#(z1,z3)):107 -->_3 #eq#(#s(z0),#s(z1)) -> c_129(#eq#(z0,z1)):106 -->_2 #eq#(#s(z0),#s(z1)) -> c_129(#eq#(z0,z1)):106 -->_3 #eq#(#pos(z0),#pos(z1)) -> c_127(#eq#(z0,z1)):104 -->_2 #eq#(#pos(z0),#pos(z1)) -> c_127(#eq#(z0,z1)):104 -->_3 #eq#(#neg(z0),#neg(z1)) -> c_123(#eq#(z0,z1)):100 -->_2 #eq#(#neg(z0),#neg(z1)) -> c_123(#eq#(z0,z1)):100 -->_3 #eq#(nil(),nil()) -> c_133():110 -->_2 #eq#(nil(),nil()) -> c_133():110 -->_3 #eq#(nil(),::(z0,z1)) -> c_132():109 -->_2 #eq#(nil(),::(z0,z1)) -> c_132():109 -->_3 #eq#(::(z0,z1),nil()) -> c_131():108 -->_2 #eq#(::(z0,z1),nil()) -> c_131():108 -->_3 #eq#(#s(z0),#0()) -> c_128():105 -->_2 #eq#(#s(z0),#0()) -> c_128():105 -->_3 #eq#(#pos(z0),#neg(z1)) -> c_126():103 -->_2 #eq#(#pos(z0),#neg(z1)) -> c_126():103 -->_3 #eq#(#pos(z0),#0()) -> c_125():102 -->_2 #eq#(#pos(z0),#0()) -> c_125():102 -->_3 #eq#(#neg(z0),#pos(z1)) -> c_124():101 -->_2 #eq#(#neg(z0),#pos(z1)) -> c_124():101 -->_3 #eq#(#neg(z0),#0()) -> c_122():99 -->_2 #eq#(#neg(z0),#0()) -> c_122():99 -->_3 #eq#(#0(),#s(z0)) -> c_121():98 -->_2 #eq#(#0(),#s(z0)) -> c_121():98 -->_3 #eq#(#0(),#pos(z0)) -> c_120():97 -->_2 #eq#(#0(),#pos(z0)) -> c_120():97 -->_3 #eq#(#0(),#neg(z0)) -> c_119():96 -->_2 #eq#(#0(),#neg(z0)) -> c_119():96 -->_3 #eq#(#0(),#0()) -> c_118():95 -->_2 #eq#(#0(),#0()) -> c_118():95 -->_4 #EQ'#(nil(),nil()) -> c_81():56 -->_4 #EQ'#(nil(),::(z0,z1)) -> c_80():55 -->_4 #EQ'#(::(z0,z1),nil()) -> c_79():54 -->_4 #EQ'#(::(z0,z1),::(z2,z3)) -> c_78(#AND#(#eq(z0,z2),#eq(z1,z3)) ,#eq#(z0,z2) ,#eq#(z1,z3) ,#EQ'#(z1,z3)):53 -->_4 #EQ'#(::(z0,z1),::(z2,z3)) -> c_77(#AND#(#eq(z0,z2),#eq(z1,z3)) ,#eq#(z0,z2) ,#eq#(z1,z3) ,#EQ'#(z0,z2)):52 -->_4 #EQ'#(#s(z0),#s(z1)) -> c_76(#EQ'#(z0,z1)):51 -->_4 #EQ'#(#s(z0),#0()) -> c_75():50 -->_4 #EQ'#(#pos(z0),#pos(z1)) -> c_74(#EQ'#(z0,z1)):49 -->_4 #EQ'#(#pos(z0),#neg(z1)) -> c_73():48 -->_4 #EQ'#(#pos(z0),#0()) -> c_72():47 -->_4 #EQ'#(#neg(z0),#pos(z1)) -> c_71():46 -->_4 #EQ'#(#neg(z0),#neg(z1)) -> c_70(#EQ'#(z0,z1)):45 -->_4 #EQ'#(#neg(z0),#0()) -> c_69():44 -->_4 #EQ'#(#0(),#s(z0)) -> c_68():43 -->_4 #EQ'#(#0(),#pos(z0)) -> c_67():42 -->_4 #EQ'#(#0(),#neg(z0)) -> c_66():41 -->_4 #EQ'#(#0(),#0()) -> c_65():40 -->_1 #AND#(#true(),#true()) -> c_49():24 -->_1 #AND#(#true(),#false()) -> c_48():23 -->_1 #AND#(#false(),#true()) -> c_47():22 -->_1 #AND#(#false(),#false()) -> c_46():21 54:W:#EQ'#(::(z0,z1),nil()) -> c_79() 55:W:#EQ'#(nil(),::(z0,z1)) -> c_80() 56:W:#EQ'#(nil(),nil()) -> c_81() 57:W:#EQUAL#(z0,z1) -> c_5(#EQ'#(z0,z1)) -->_1 #EQ'#(nil(),nil()) -> c_81():56 -->_1 #EQ'#(nil(),::(z0,z1)) -> c_80():55 -->_1 #EQ'#(::(z0,z1),nil()) -> c_79():54 -->_1 #EQ'#(::(z0,z1),::(z2,z3)) -> c_78(#AND#(#eq(z0,z2),#eq(z1,z3)) ,#eq#(z0,z2) ,#eq#(z1,z3) ,#EQ'#(z1,z3)):53 -->_1 #EQ'#(::(z0,z1),::(z2,z3)) -> c_77(#AND#(#eq(z0,z2),#eq(z1,z3)) ,#eq#(z0,z2) ,#eq#(z1,z3) ,#EQ'#(z0,z2)):52 -->_1 #EQ'#(#s(z0),#s(z1)) -> c_76(#EQ'#(z0,z1)):51 -->_1 #EQ'#(#s(z0),#0()) -> c_75():50 -->_1 #EQ'#(#pos(z0),#pos(z1)) -> c_74(#EQ'#(z0,z1)):49 -->_1 #EQ'#(#pos(z0),#neg(z1)) -> c_73():48 -->_1 #EQ'#(#pos(z0),#0()) -> c_72():47 -->_1 #EQ'#(#neg(z0),#pos(z1)) -> c_71():46 -->_1 #EQ'#(#neg(z0),#neg(z1)) -> c_70(#EQ'#(z0,z1)):45 -->_1 #EQ'#(#neg(z0),#0()) -> c_69():44 -->_1 #EQ'#(#0(),#s(z0)) -> c_68():43 -->_1 #EQ'#(#0(),#pos(z0)) -> c_67():42 -->_1 #EQ'#(#0(),#neg(z0)) -> c_66():41 -->_1 #EQ'#(#0(),#0()) -> c_65():40 58:W:#GREATER#(z0,z1) -> c_6(#CKGT#(#compare(z0,z1)),#compare#(z0,z1),#COMPARE#(z0,z1)) -->_2 #compare#(#s(z0),#s(z1)) -> c_117(#compare#(z0,z1)):94 -->_2 #compare#(#pos(z0),#pos(z1)) -> c_115(#compare#(z0,z1)):92 -->_2 #compare#(#neg(z0),#neg(z1)) -> c_111(#compare#(z1,z0)):88 -->_2 #compare#(#s(z0),#0()) -> c_116():93 -->_2 #compare#(#pos(z0),#neg(z1)) -> c_114():91 -->_2 #compare#(#pos(z0),#0()) -> c_113():90 -->_2 #compare#(#neg(z0),#pos(z1)) -> c_112():89 -->_2 #compare#(#neg(z0),#0()) -> c_110():87 -->_2 #compare#(#0(),#s(z0)) -> c_109():86 -->_2 #compare#(#0(),#pos(z0)) -> c_108():85 -->_2 #compare#(#0(),#neg(z0)) -> c_107():84 -->_2 #compare#(#0(),#0()) -> c_106():83 -->_3 #COMPARE#(#s(z0),#s(z1)) -> c_64(#COMPARE#(z0,z1)):39 -->_3 #COMPARE#(#s(z0),#0()) -> c_63():38 -->_3 #COMPARE#(#pos(z0),#pos(z1)) -> c_62(#COMPARE#(z0,z1)):37 -->_3 #COMPARE#(#pos(z0),#neg(z1)) -> c_61():36 -->_3 #COMPARE#(#pos(z0),#0()) -> c_60():35 -->_3 #COMPARE#(#neg(z0),#pos(z1)) -> c_59():34 -->_3 #COMPARE#(#neg(z0),#neg(z1)) -> c_58(#COMPARE#(z1,z0)):33 -->_3 #COMPARE#(#neg(z0),#0()) -> c_57():32 -->_3 #COMPARE#(#0(),#s(z0)) -> c_56():31 -->_3 #COMPARE#(#0(),#pos(z0)) -> c_55():30 -->_3 #COMPARE#(#0(),#neg(z0)) -> c_54():29 -->_3 #COMPARE#(#0(),#0()) -> c_53():28 -->_1 #CKGT#(#LT()) -> c_52():27 -->_1 #CKGT#(#GT()) -> c_51():26 -->_1 #CKGT#(#EQ()) -> c_50():25 59:W:#PRED#(#0()) -> c_82() 60:W:#PRED#(#neg(#s(z0))) -> c_83() 61:W:#PRED#(#pos(#s(#0()))) -> c_84() 62:W:#PRED#(#pos(#s(#s(z0)))) -> c_85() 63:W:#SUCC#(#0()) -> c_86() 64:W:#SUCC#(#neg(#s(#0()))) -> c_87() 65:W:#SUCC#(#neg(#s(#s(z0)))) -> c_88() 66:W:#SUCC#(#pos(#s(z0))) -> c_89() 67:W:#abs#(#0()) -> c_90() 68:W:#abs#(#neg(z0)) -> c_91() 69:W:#abs#(#pos(z0)) -> c_92() 70:W:#abs#(#s(z0)) -> c_93() 71:W:#add#(#0(),z0) -> c_94() 72:W:#add#(#neg(#s(#0())),z0) -> c_95(#pred#(z0)) -->_1 #pred#(#pos(#s(#s(z0)))) -> c_139():116 -->_1 #pred#(#pos(#s(#0()))) -> c_138():115 -->_1 #pred#(#neg(#s(z0))) -> c_137():114 -->_1 #pred#(#0()) -> c_136():113 73:W:#add#(#neg(#s(#s(z0))),z1) -> c_96(#pred#(#add(#pos(#s(z0)),z1)),#add#(#pos(#s(z0)),z1)) -->_2 #add#(#pos(#s(#s(z0))),z1) -> c_98(#succ#(#add(#pos(#s(z0)),z1)),#add#(#pos(#s(z0)),z1)):75 -->_2 #add#(#pos(#s(#0())),z0) -> c_97(#succ#(z0)):74 -->_1 #pred#(#pos(#s(#s(z0)))) -> c_139():116 -->_1 #pred#(#pos(#s(#0()))) -> c_138():115 -->_1 #pred#(#neg(#s(z0))) -> c_137():114 -->_1 #pred#(#0()) -> c_136():113 74:W:#add#(#pos(#s(#0())),z0) -> c_97(#succ#(z0)) -->_1 #succ#(#pos(#s(z0))) -> c_143():120 -->_1 #succ#(#neg(#s(#s(z0)))) -> c_142():119 -->_1 #succ#(#neg(#s(#0()))) -> c_141():118 -->_1 #succ#(#0()) -> c_140():117 75:W:#add#(#pos(#s(#s(z0))),z1) -> c_98(#succ#(#add(#pos(#s(z0)),z1)),#add#(#pos(#s(z0)),z1)) -->_1 #succ#(#pos(#s(z0))) -> c_143():120 -->_1 #succ#(#neg(#s(#s(z0)))) -> c_142():119 -->_1 #succ#(#neg(#s(#0()))) -> c_141():118 -->_1 #succ#(#0()) -> c_140():117 -->_2 #add#(#pos(#s(#s(z0))),z1) -> c_98(#succ#(#add(#pos(#s(z0)),z1)),#add#(#pos(#s(z0)),z1)):75 -->_2 #add#(#pos(#s(#0())),z0) -> c_97(#succ#(z0)):74 76:W:#and#(#false(),#false()) -> c_99() 77:W:#and#(#false(),#true()) -> c_100() 78:W:#and#(#true(),#false()) -> c_101() 79:W:#and#(#true(),#true()) -> c_102() 80:W:#ckgt#(#EQ()) -> c_103() 81:W:#ckgt#(#GT()) -> c_104() 82:W:#ckgt#(#LT()) -> c_105() 83:W:#compare#(#0(),#0()) -> c_106() 84:W:#compare#(#0(),#neg(z0)) -> c_107() 85:W:#compare#(#0(),#pos(z0)) -> c_108() 86:W:#compare#(#0(),#s(z0)) -> c_109() 87:W:#compare#(#neg(z0),#0()) -> c_110() 88:W:#compare#(#neg(z0),#neg(z1)) -> c_111(#compare#(z1,z0)) -->_1 #compare#(#s(z0),#s(z1)) -> c_117(#compare#(z0,z1)):94 -->_1 #compare#(#pos(z0),#pos(z1)) -> c_115(#compare#(z0,z1)):92 -->_1 #compare#(#s(z0),#0()) -> c_116():93 -->_1 #compare#(#pos(z0),#neg(z1)) -> c_114():91 -->_1 #compare#(#pos(z0),#0()) -> c_113():90 -->_1 #compare#(#neg(z0),#pos(z1)) -> c_112():89 -->_1 #compare#(#neg(z0),#neg(z1)) -> c_111(#compare#(z1,z0)):88 -->_1 #compare#(#neg(z0),#0()) -> c_110():87 -->_1 #compare#(#0(),#s(z0)) -> c_109():86 -->_1 #compare#(#0(),#pos(z0)) -> c_108():85 -->_1 #compare#(#0(),#neg(z0)) -> c_107():84 -->_1 #compare#(#0(),#0()) -> c_106():83 89:W:#compare#(#neg(z0),#pos(z1)) -> c_112() 90:W:#compare#(#pos(z0),#0()) -> c_113() 91:W:#compare#(#pos(z0),#neg(z1)) -> c_114() 92:W:#compare#(#pos(z0),#pos(z1)) -> c_115(#compare#(z0,z1)) -->_1 #compare#(#s(z0),#s(z1)) -> c_117(#compare#(z0,z1)):94 -->_1 #compare#(#s(z0),#0()) -> c_116():93 -->_1 #compare#(#pos(z0),#pos(z1)) -> c_115(#compare#(z0,z1)):92 -->_1 #compare#(#pos(z0),#neg(z1)) -> c_114():91 -->_1 #compare#(#pos(z0),#0()) -> c_113():90 -->_1 #compare#(#neg(z0),#pos(z1)) -> c_112():89 -->_1 #compare#(#neg(z0),#neg(z1)) -> c_111(#compare#(z1,z0)):88 -->_1 #compare#(#neg(z0),#0()) -> c_110():87 -->_1 #compare#(#0(),#s(z0)) -> c_109():86 -->_1 #compare#(#0(),#pos(z0)) -> c_108():85 -->_1 #compare#(#0(),#neg(z0)) -> c_107():84 -->_1 #compare#(#0(),#0()) -> c_106():83 93:W:#compare#(#s(z0),#0()) -> c_116() 94:W:#compare#(#s(z0),#s(z1)) -> c_117(#compare#(z0,z1)) -->_1 #compare#(#s(z0),#s(z1)) -> c_117(#compare#(z0,z1)):94 -->_1 #compare#(#s(z0),#0()) -> c_116():93 -->_1 #compare#(#pos(z0),#pos(z1)) -> c_115(#compare#(z0,z1)):92 -->_1 #compare#(#pos(z0),#neg(z1)) -> c_114():91 -->_1 #compare#(#pos(z0),#0()) -> c_113():90 -->_1 #compare#(#neg(z0),#pos(z1)) -> c_112():89 -->_1 #compare#(#neg(z0),#neg(z1)) -> c_111(#compare#(z1,z0)):88 -->_1 #compare#(#neg(z0),#0()) -> c_110():87 -->_1 #compare#(#0(),#s(z0)) -> c_109():86 -->_1 #compare#(#0(),#pos(z0)) -> c_108():85 -->_1 #compare#(#0(),#neg(z0)) -> c_107():84 -->_1 #compare#(#0(),#0()) -> c_106():83 95:W:#eq#(#0(),#0()) -> c_118() 96:W:#eq#(#0(),#neg(z0)) -> c_119() 97:W:#eq#(#0(),#pos(z0)) -> c_120() 98:W:#eq#(#0(),#s(z0)) -> c_121() 99:W:#eq#(#neg(z0),#0()) -> c_122() 100:W:#eq#(#neg(z0),#neg(z1)) -> c_123(#eq#(z0,z1)) -->_1 #eq#(::(z0,z1),::(z2,z3)) -> c_130(#and#(#eq(z0,z2),#eq(z1,z3)),#eq#(z0,z2),#eq#(z1,z3)):107 -->_1 #eq#(#s(z0),#s(z1)) -> c_129(#eq#(z0,z1)):106 -->_1 #eq#(#pos(z0),#pos(z1)) -> c_127(#eq#(z0,z1)):104 -->_1 #eq#(nil(),nil()) -> c_133():110 -->_1 #eq#(nil(),::(z0,z1)) -> c_132():109 -->_1 #eq#(::(z0,z1),nil()) -> c_131():108 -->_1 #eq#(#s(z0),#0()) -> c_128():105 -->_1 #eq#(#pos(z0),#neg(z1)) -> c_126():103 -->_1 #eq#(#pos(z0),#0()) -> c_125():102 -->_1 #eq#(#neg(z0),#pos(z1)) -> c_124():101 -->_1 #eq#(#neg(z0),#neg(z1)) -> c_123(#eq#(z0,z1)):100 -->_1 #eq#(#neg(z0),#0()) -> c_122():99 -->_1 #eq#(#0(),#s(z0)) -> c_121():98 -->_1 #eq#(#0(),#pos(z0)) -> c_120():97 -->_1 #eq#(#0(),#neg(z0)) -> c_119():96 -->_1 #eq#(#0(),#0()) -> c_118():95 101:W:#eq#(#neg(z0),#pos(z1)) -> c_124() 102:W:#eq#(#pos(z0),#0()) -> c_125() 103:W:#eq#(#pos(z0),#neg(z1)) -> c_126() 104:W:#eq#(#pos(z0),#pos(z1)) -> c_127(#eq#(z0,z1)) -->_1 #eq#(::(z0,z1),::(z2,z3)) -> c_130(#and#(#eq(z0,z2),#eq(z1,z3)),#eq#(z0,z2),#eq#(z1,z3)):107 -->_1 #eq#(#s(z0),#s(z1)) -> c_129(#eq#(z0,z1)):106 -->_1 #eq#(nil(),nil()) -> c_133():110 -->_1 #eq#(nil(),::(z0,z1)) -> c_132():109 -->_1 #eq#(::(z0,z1),nil()) -> c_131():108 -->_1 #eq#(#s(z0),#0()) -> c_128():105 -->_1 #eq#(#pos(z0),#pos(z1)) -> c_127(#eq#(z0,z1)):104 -->_1 #eq#(#pos(z0),#neg(z1)) -> c_126():103 -->_1 #eq#(#pos(z0),#0()) -> c_125():102 -->_1 #eq#(#neg(z0),#pos(z1)) -> c_124():101 -->_1 #eq#(#neg(z0),#neg(z1)) -> c_123(#eq#(z0,z1)):100 -->_1 #eq#(#neg(z0),#0()) -> c_122():99 -->_1 #eq#(#0(),#s(z0)) -> c_121():98 -->_1 #eq#(#0(),#pos(z0)) -> c_120():97 -->_1 #eq#(#0(),#neg(z0)) -> c_119():96 -->_1 #eq#(#0(),#0()) -> c_118():95 105:W:#eq#(#s(z0),#0()) -> c_128() 106:W:#eq#(#s(z0),#s(z1)) -> c_129(#eq#(z0,z1)) -->_1 #eq#(::(z0,z1),::(z2,z3)) -> c_130(#and#(#eq(z0,z2),#eq(z1,z3)),#eq#(z0,z2),#eq#(z1,z3)):107 -->_1 #eq#(nil(),nil()) -> c_133():110 -->_1 #eq#(nil(),::(z0,z1)) -> c_132():109 -->_1 #eq#(::(z0,z1),nil()) -> c_131():108 -->_1 #eq#(#s(z0),#s(z1)) -> c_129(#eq#(z0,z1)):106 -->_1 #eq#(#s(z0),#0()) -> c_128():105 -->_1 #eq#(#pos(z0),#pos(z1)) -> c_127(#eq#(z0,z1)):104 -->_1 #eq#(#pos(z0),#neg(z1)) -> c_126():103 -->_1 #eq#(#pos(z0),#0()) -> c_125():102 -->_1 #eq#(#neg(z0),#pos(z1)) -> c_124():101 -->_1 #eq#(#neg(z0),#neg(z1)) -> c_123(#eq#(z0,z1)):100 -->_1 #eq#(#neg(z0),#0()) -> c_122():99 -->_1 #eq#(#0(),#s(z0)) -> c_121():98 -->_1 #eq#(#0(),#pos(z0)) -> c_120():97 -->_1 #eq#(#0(),#neg(z0)) -> c_119():96 -->_1 #eq#(#0(),#0()) -> c_118():95 107:W:#eq#(::(z0,z1),::(z2,z3)) -> c_130(#and#(#eq(z0,z2),#eq(z1,z3)),#eq#(z0,z2),#eq#(z1,z3)) -->_3 #eq#(nil(),nil()) -> c_133():110 -->_2 #eq#(nil(),nil()) -> c_133():110 -->_3 #eq#(nil(),::(z0,z1)) -> c_132():109 -->_2 #eq#(nil(),::(z0,z1)) -> c_132():109 -->_3 #eq#(::(z0,z1),nil()) -> c_131():108 -->_2 #eq#(::(z0,z1),nil()) -> c_131():108 -->_3 #eq#(::(z0,z1),::(z2,z3)) -> c_130(#and#(#eq(z0,z2),#eq(z1,z3)),#eq#(z0,z2),#eq#(z1,z3)):107 -->_2 #eq#(::(z0,z1),::(z2,z3)) -> c_130(#and#(#eq(z0,z2),#eq(z1,z3)),#eq#(z0,z2),#eq#(z1,z3)):107 -->_3 #eq#(#s(z0),#s(z1)) -> c_129(#eq#(z0,z1)):106 -->_2 #eq#(#s(z0),#s(z1)) -> c_129(#eq#(z0,z1)):106 -->_3 #eq#(#s(z0),#0()) -> c_128():105 -->_2 #eq#(#s(z0),#0()) -> c_128():105 -->_3 #eq#(#pos(z0),#pos(z1)) -> c_127(#eq#(z0,z1)):104 -->_2 #eq#(#pos(z0),#pos(z1)) -> c_127(#eq#(z0,z1)):104 -->_3 #eq#(#pos(z0),#neg(z1)) -> c_126():103 -->_2 #eq#(#pos(z0),#neg(z1)) -> c_126():103 -->_3 #eq#(#pos(z0),#0()) -> c_125():102 -->_2 #eq#(#pos(z0),#0()) -> c_125():102 -->_3 #eq#(#neg(z0),#pos(z1)) -> c_124():101 -->_2 #eq#(#neg(z0),#pos(z1)) -> c_124():101 -->_3 #eq#(#neg(z0),#neg(z1)) -> c_123(#eq#(z0,z1)):100 -->_2 #eq#(#neg(z0),#neg(z1)) -> c_123(#eq#(z0,z1)):100 -->_3 #eq#(#neg(z0),#0()) -> c_122():99 -->_2 #eq#(#neg(z0),#0()) -> c_122():99 -->_3 #eq#(#0(),#s(z0)) -> c_121():98 -->_2 #eq#(#0(),#s(z0)) -> c_121():98 -->_3 #eq#(#0(),#pos(z0)) -> c_120():97 -->_2 #eq#(#0(),#pos(z0)) -> c_120():97 -->_3 #eq#(#0(),#neg(z0)) -> c_119():96 -->_2 #eq#(#0(),#neg(z0)) -> c_119():96 -->_3 #eq#(#0(),#0()) -> c_118():95 -->_2 #eq#(#0(),#0()) -> c_118():95 -->_1 #and#(#true(),#true()) -> c_102():79 -->_1 #and#(#true(),#false()) -> c_101():78 -->_1 #and#(#false(),#true()) -> c_100():77 -->_1 #and#(#false(),#false()) -> c_99():76 108:W:#eq#(::(z0,z1),nil()) -> c_131() 109:W:#eq#(nil(),::(z0,z1)) -> c_132() 110:W:#eq#(nil(),nil()) -> c_133() 111:W:#equal#(z0,z1) -> c_134(#eq#(z0,z1)) -->_1 #eq#(nil(),nil()) -> c_133():110 -->_1 #eq#(nil(),::(z0,z1)) -> c_132():109 -->_1 #eq#(::(z0,z1),nil()) -> c_131():108 -->_1 #eq#(::(z0,z1),::(z2,z3)) -> c_130(#and#(#eq(z0,z2),#eq(z1,z3)),#eq#(z0,z2),#eq#(z1,z3)):107 -->_1 #eq#(#s(z0),#s(z1)) -> c_129(#eq#(z0,z1)):106 -->_1 #eq#(#s(z0),#0()) -> c_128():105 -->_1 #eq#(#pos(z0),#pos(z1)) -> c_127(#eq#(z0,z1)):104 -->_1 #eq#(#pos(z0),#neg(z1)) -> c_126():103 -->_1 #eq#(#pos(z0),#0()) -> c_125():102 -->_1 #eq#(#neg(z0),#pos(z1)) -> c_124():101 -->_1 #eq#(#neg(z0),#neg(z1)) -> c_123(#eq#(z0,z1)):100 -->_1 #eq#(#neg(z0),#0()) -> c_122():99 -->_1 #eq#(#0(),#s(z0)) -> c_121():98 -->_1 #eq#(#0(),#pos(z0)) -> c_120():97 -->_1 #eq#(#0(),#neg(z0)) -> c_119():96 -->_1 #eq#(#0(),#0()) -> c_118():95 112:W:#greater#(z0,z1) -> c_135(#ckgt#(#compare(z0,z1)),#compare#(z0,z1)) -->_2 #compare#(#s(z0),#s(z1)) -> c_117(#compare#(z0,z1)):94 -->_2 #compare#(#s(z0),#0()) -> c_116():93 -->_2 #compare#(#pos(z0),#pos(z1)) -> c_115(#compare#(z0,z1)):92 -->_2 #compare#(#pos(z0),#neg(z1)) -> c_114():91 -->_2 #compare#(#pos(z0),#0()) -> c_113():90 -->_2 #compare#(#neg(z0),#pos(z1)) -> c_112():89 -->_2 #compare#(#neg(z0),#neg(z1)) -> c_111(#compare#(z1,z0)):88 -->_2 #compare#(#neg(z0),#0()) -> c_110():87 -->_2 #compare#(#0(),#s(z0)) -> c_109():86 -->_2 #compare#(#0(),#pos(z0)) -> c_108():85 -->_2 #compare#(#0(),#neg(z0)) -> c_107():84 -->_2 #compare#(#0(),#0()) -> c_106():83 -->_1 #ckgt#(#LT()) -> c_105():82 -->_1 #ckgt#(#GT()) -> c_104():81 -->_1 #ckgt#(#EQ()) -> c_103():80 113:W:#pred#(#0()) -> c_136() 114:W:#pred#(#neg(#s(z0))) -> c_137() 115:W:#pred#(#pos(#s(#0()))) -> c_138() 116:W:#pred#(#pos(#s(#s(z0)))) -> c_139() 117:W:#succ#(#0()) -> c_140() 118:W:#succ#(#neg(#s(#0()))) -> c_141() 119:W:#succ#(#neg(#s(#s(z0)))) -> c_142() 120:W:#succ#(#pos(#s(z0))) -> c_143() 121:W:+#(z0,z1) -> c_144(#add#(z0,z1)) -->_1 #add#(#pos(#s(#s(z0))),z1) -> c_98(#succ#(#add(#pos(#s(z0)),z1)),#add#(#pos(#s(z0)),z1)):75 -->_1 #add#(#pos(#s(#0())),z0) -> c_97(#succ#(z0)):74 -->_1 #add#(#neg(#s(#s(z0))),z1) -> c_96(#pred#(#add(#pos(#s(z0)),z1)),#add#(#pos(#s(z0)),z1)):73 -->_1 #add#(#neg(#s(#0())),z0) -> c_95(#pred#(z0)):72 -->_1 #add#(#0(),z0) -> c_94():71 122:W:+'#(z0,z1) -> c_7(#ADD#(z0,z1)) -->_1 #ADD#(#pos(#s(#s(z0))),z1) -> c_45(#SUCC#(#add(#pos(#s(z0)),z1)) ,#add#(#pos(#s(z0)),z1) ,#ADD#(#pos(#s(z0)),z1)):20 -->_1 #ADD#(#pos(#s(#0())),z0) -> c_44(#SUCC#(z0)):19 -->_1 #ADD#(#neg(#s(#s(z0))),z1) -> c_43(#PRED#(#add(#pos(#s(z0)),z1)) ,#add#(#pos(#s(z0)),z1) ,#ADD#(#pos(#s(z0)),z1)):18 -->_1 #ADD#(#neg(#s(#0())),z0) -> c_42(#PRED#(z0)):17 -->_1 #ADD#(#0(),z0) -> c_41():16 123:W:FIRSTLINE#1#(::(z0,z1)) -> c_9(#ABS#(#0())) -->_1 #ABS#(#0()) -> c_1():12 124:W:FIRSTLINE#1#(nil()) -> c_11() 125:W:LCS#1#(z0) -> c_13(LCS#2#(z0)) -->_1 LCS#2#(nil()) -> c_15(#ABS#(#0())):127 -->_1 LCS#2#(::(z0,z1)) -> c_14(LCS#3#(z0)):126 126:W:LCS#2#(::(z0,z1)) -> c_14(LCS#3#(z0)) -->_1 LCS#3#(nil()) -> c_17(#ABS#(#0())):129 -->_1 LCS#3#(::(z0,z1)) -> c_16():128 127:W:LCS#2#(nil()) -> c_15(#ABS#(#0())) -->_1 #ABS#(#0()) -> c_1():12 128:W:LCS#3#(::(z0,z1)) -> c_16() 129:W:LCS#3#(nil()) -> c_17(#ABS#(#0())) -->_1 #ABS#(#0()) -> c_1():12 130:W:LCSTABLE#3#(nil(),z0,z1) -> c_23() 131:W:MAX#(z0,z1) -> c_24(MAX#1#(#greater(z0,z1),z0,z1),#greater#(z0,z1),#GREATER#(z0,z1)) -->_1 MAX#1#(#true(),z0,z1) -> c_26():133 -->_1 MAX#1#(#false(),z0,z1) -> c_25():132 -->_2 #greater#(z0,z1) -> c_135(#ckgt#(#compare(z0,z1)),#compare#(z0,z1)):112 -->_3 #GREATER#(z0,z1) -> c_6(#CKGT#(#compare(z0,z1)),#compare#(z0,z1),#COMPARE#(z0,z1)):58 132:W:MAX#1#(#false(),z0,z1) -> c_25() 133:W:MAX#1#(#true(),z0,z1) -> c_26() 134:W:NEWLINE#1#(nil(),z0,z1) -> c_29() 135:W:NEWLINE#2#(nil(),z0,z1,z2) -> c_31() 136:W:NEWLINE#3#(z0,z1,z2,z3,z4) -> c_32(NEWLINE#4#(right(z0),z1,z2,z0,z3,z4),right#(z0),RIGHT#(z0)) -->_2 right#(z0) -> c_174(right#1#(z0)):174 -->_3 RIGHT#(z0) -> c_38(RIGHT#1#(z0)):142 -->_1 NEWLINE#4#(z0,z1,z2,z3,z4,z5) -> c_33(NEWLINE#5#(right(z2),z1,z3,z0,z4,z5),right#(z2),RIGHT#(z2)):137 137:W:NEWLINE#4#(z0,z1,z2,z3,z4,z5) -> c_33(NEWLINE#5#(right(z2),z1,z3,z0,z4,z5),right#(z2),RIGHT#(z2)) -->_2 right#(z0) -> c_174(right#1#(z0)):174 -->_3 RIGHT#(z0) -> c_38(RIGHT#1#(z0)):142 -->_1 NEWLINE#5#(z0,z1,z2,z3,z4,z5) -> c_34(NEWLINE#6#(newline#7(#equal(z4,z5),z1,z0,z3),z2) ,newline#7#(#equal(z4,z5),z1,z0,z3) ,#equal#(z4,z5) ,NEWLINE#7#(#equal(z4,z5),z1,z0,z3) ,#equal#(z4,z5) ,#EQUAL#(z4,z5)):138 138:W:NEWLINE#5#(z0,z1,z2,z3,z4,z5) -> c_34(NEWLINE#6#(newline#7(#equal(z4,z5),z1,z0,z3),z2) ,newline#7#(#equal(z4,z5),z1,z0,z3) ,#equal#(z4,z5) ,NEWLINE#7#(#equal(z4,z5),z1,z0,z3) ,#equal#(z4,z5) ,#EQUAL#(z4,z5)) -->_2 newline#7#(#true(),z0,z1,z2) -> c_173(+#(z1,#pos(#s(#0())))):173 -->_2 newline#7#(#false(),z0,z1,z2) -> c_172(max#(z0,z2)):172 -->_4 NEWLINE#7#(#true(),z0,z1,z2) -> c_37(+'#(z1,#pos(#s(#0())))):141 -->_4 NEWLINE#7#(#false(),z0,z1,z2) -> c_36(MAX#(z0,z2)):140 -->_1 NEWLINE#6#(z0,z1) -> c_35():139 -->_5 #equal#(z0,z1) -> c_134(#eq#(z0,z1)):111 -->_3 #equal#(z0,z1) -> c_134(#eq#(z0,z1)):111 -->_6 #EQUAL#(z0,z1) -> c_5(#EQ'#(z0,z1)):57 139:W:NEWLINE#6#(z0,z1) -> c_35() 140:W:NEWLINE#7#(#false(),z0,z1,z2) -> c_36(MAX#(z0,z2)) -->_1 MAX#(z0,z1) -> c_24(MAX#1#(#greater(z0,z1),z0,z1),#greater#(z0,z1),#GREATER#(z0,z1)):131 141:W:NEWLINE#7#(#true(),z0,z1,z2) -> c_37(+'#(z1,#pos(#s(#0())))) -->_1 +'#(z0,z1) -> c_7(#ADD#(z0,z1)):122 142:W:RIGHT#(z0) -> c_38(RIGHT#1#(z0)) -->_1 RIGHT#1#(nil()) -> c_40(#ABS#(#0())):144 -->_1 RIGHT#1#(::(z0,z1)) -> c_39():143 143:W:RIGHT#1#(::(z0,z1)) -> c_39() 144:W:RIGHT#1#(nil()) -> c_40(#ABS#(#0())) -->_1 #ABS#(#0()) -> c_1():12 145:W:firstline#(z0) -> c_145(firstline#1#(z0)) -->_1 firstline#1#(::(z0,z1)) -> c_146(#abs#(#0()),firstline#(z1)):146 -->_1 firstline#1#(nil()) -> c_147():147 146:W:firstline#1#(::(z0,z1)) -> c_146(#abs#(#0()),firstline#(z1)) -->_2 firstline#(z0) -> c_145(firstline#1#(z0)):145 -->_1 #abs#(#0()) -> c_90():67 147:W:firstline#1#(nil()) -> c_147() 148:W:lcs#(z0,z1) -> c_148(lcs#1#(lcstable(z0,z1)),lcstable#(z0,z1)) -->_2 lcstable#(z0,z1) -> c_154(lcstable#1#(z0,z1)):154 -->_1 lcs#1#(z0) -> c_149(lcs#2#(z0)):149 149:W:lcs#1#(z0) -> c_149(lcs#2#(z0)) -->_1 lcs#2#(nil()) -> c_151(#abs#(#0())):151 -->_1 lcs#2#(::(z0,z1)) -> c_150(lcs#3#(z0)):150 150:W:lcs#2#(::(z0,z1)) -> c_150(lcs#3#(z0)) -->_1 lcs#3#(nil()) -> c_153(#abs#(#0())):153 -->_1 lcs#3#(::(z0,z1)) -> c_152():152 151:W:lcs#2#(nil()) -> c_151(#abs#(#0())) -->_1 #abs#(#0()) -> c_90():67 152:W:lcs#3#(::(z0,z1)) -> c_152() 153:W:lcs#3#(nil()) -> c_153(#abs#(#0())) -->_1 #abs#(#0()) -> c_90():67 154:W:lcstable#(z0,z1) -> c_154(lcstable#1#(z0,z1)) -->_1 lcstable#1#(nil(),z0) -> c_156(firstline#(z0)):156 -->_1 lcstable#1#(::(z0,z1),z2) -> c_155(lcstable#2#(lcstable(z1,z2),z2,z0),lcstable#(z1,z2)):155 155:W:lcstable#1#(::(z0,z1),z2) -> c_155(lcstable#2#(lcstable(z1,z2),z2,z0),lcstable#(z1,z2)) -->_1 lcstable#2#(z0,z1,z2) -> c_157(lcstable#3#(z0,z1,z2)):157 -->_2 lcstable#(z0,z1) -> c_154(lcstable#1#(z0,z1)):154 156:W:lcstable#1#(nil(),z0) -> c_156(firstline#(z0)) -->_1 firstline#(z0) -> c_145(firstline#1#(z0)):145 157:W:lcstable#2#(z0,z1,z2) -> c_157(lcstable#3#(z0,z1,z2)) -->_1 lcstable#3#(::(z0,z1),z2,z3) -> c_158(newline#(z3,z0,z2)):158 -->_1 lcstable#3#(nil(),z0,z1) -> c_159():159 158:W:lcstable#3#(::(z0,z1),z2,z3) -> c_158(newline#(z3,z0,z2)) -->_1 newline#(z0,z1,z2) -> c_163(newline#1#(z2,z1,z0)):163 159:W:lcstable#3#(nil(),z0,z1) -> c_159() 160:W:max#(z0,z1) -> c_160(max#1#(#greater(z0,z1),z0,z1),#greater#(z0,z1)) -->_1 max#1#(#true(),z0,z1) -> c_162():162 -->_1 max#1#(#false(),z0,z1) -> c_161():161 -->_2 #greater#(z0,z1) -> c_135(#ckgt#(#compare(z0,z1)),#compare#(z0,z1)):112 161:W:max#1#(#false(),z0,z1) -> c_161() 162:W:max#1#(#true(),z0,z1) -> c_162() 163:W:newline#(z0,z1,z2) -> c_163(newline#1#(z2,z1,z0)) -->_1 newline#1#(::(z0,z1),z2,z3) -> c_164(newline#2#(z2,z0,z1,z3)):164 -->_1 newline#1#(nil(),z0,z1) -> c_165():165 164:W:newline#1#(::(z0,z1),z2,z3) -> c_164(newline#2#(z2,z0,z1,z3)) -->_1 newline#2#(::(z0,z1),z2,z3,z4) -> c_166(newline#3#(newline(z4,z1,z3),z0,z1,z2,z4) ,newline#(z4,z1,z3)):166 -->_1 newline#2#(nil(),z0,z1,z2) -> c_167():167 165:W:newline#1#(nil(),z0,z1) -> c_165() 166:W:newline#2#(::(z0,z1),z2,z3,z4) -> c_166(newline#3#(newline(z4,z1,z3),z0,z1,z2,z4),newline#(z4,z1,z3)) -->_1 newline#3#(z0,z1,z2,z3,z4) -> c_168(newline#4#(right(z0),z1,z2,z0,z3,z4),right#(z0)):168 -->_2 newline#(z0,z1,z2) -> c_163(newline#1#(z2,z1,z0)):163 167:W:newline#2#(nil(),z0,z1,z2) -> c_167() 168:W:newline#3#(z0,z1,z2,z3,z4) -> c_168(newline#4#(right(z0),z1,z2,z0,z3,z4),right#(z0)) -->_2 right#(z0) -> c_174(right#1#(z0)):174 -->_1 newline#4#(z0,z1,z2,z3,z4,z5) -> c_169(newline#5#(right(z2),z1,z3,z0,z4,z5),right#(z2)):169 169:W:newline#4#(z0,z1,z2,z3,z4,z5) -> c_169(newline#5#(right(z2),z1,z3,z0,z4,z5),right#(z2)) -->_2 right#(z0) -> c_174(right#1#(z0)):174 -->_1 newline#5#(z0,z1,z2,z3,z4,z5) -> c_170(newline#6#(newline#7(#equal(z4,z5),z1,z0,z3),z2) ,newline#7#(#equal(z4,z5),z1,z0,z3) ,#equal#(z4,z5)):170 170:W:newline#5#(z0,z1,z2,z3,z4,z5) -> c_170(newline#6#(newline#7(#equal(z4,z5),z1,z0,z3),z2) ,newline#7#(#equal(z4,z5),z1,z0,z3) ,#equal#(z4,z5)) -->_2 newline#7#(#true(),z0,z1,z2) -> c_173(+#(z1,#pos(#s(#0())))):173 -->_2 newline#7#(#false(),z0,z1,z2) -> c_172(max#(z0,z2)):172 -->_1 newline#6#(z0,z1) -> c_171():171 -->_3 #equal#(z0,z1) -> c_134(#eq#(z0,z1)):111 171:W:newline#6#(z0,z1) -> c_171() 172:W:newline#7#(#false(),z0,z1,z2) -> c_172(max#(z0,z2)) -->_1 max#(z0,z1) -> c_160(max#1#(#greater(z0,z1),z0,z1),#greater#(z0,z1)):160 173:W:newline#7#(#true(),z0,z1,z2) -> c_173(+#(z1,#pos(#s(#0())))) -->_1 +#(z0,z1) -> c_144(#add#(z0,z1)):121 174:W:right#(z0) -> c_174(right#1#(z0)) -->_1 right#1#(nil()) -> c_176(#abs#(#0())):176 -->_1 right#1#(::(z0,z1)) -> c_175():175 175:W:right#1#(::(z0,z1)) -> c_175() 176:W:right#1#(nil()) -> c_176(#abs#(#0())) -->_1 #abs#(#0()) -> c_90():67 The following weak DPs constitute a sub-graph of the DG that is closed under successors. The DPs are removed. 148: lcs#(z0,z1) -> c_148(lcs#1#(lcstable(z0,z1)),lcstable#(z0,z1)) 149: lcs#1#(z0) -> c_149(lcs#2#(z0)) 150: lcs#2#(::(z0,z1)) -> c_150(lcs#3#(z0)) 152: lcs#3#(::(z0,z1)) -> c_152() 153: lcs#3#(nil()) -> c_153(#abs#(#0())) 151: lcs#2#(nil()) -> c_151(#abs#(#0())) 70: #abs#(#s(z0)) -> c_93() 69: #abs#(#pos(z0)) -> c_92() 68: #abs#(#neg(z0)) -> c_91() 15: #ABS#(#s(z0)) -> c_4() 14: #ABS#(#pos(z0)) -> c_3() 13: #ABS#(#neg(z0)) -> c_2() 130: LCSTABLE#3#(nil(),z0,z1) -> c_23() 134: NEWLINE#1#(nil(),z0,z1) -> c_29() 135: NEWLINE#2#(nil(),z0,z1,z2) -> c_31() 136: NEWLINE#3#(z0,z1,z2,z3,z4) -> c_32(NEWLINE#4#(right(z0),z1,z2,z0,z3,z4),right#(z0),RIGHT#(z0)) 137: NEWLINE#4#(z0,z1,z2,z3,z4,z5) -> c_33(NEWLINE#5#(right(z2),z1,z3,z0,z4,z5),right#(z2),RIGHT#(z2)) 138: NEWLINE#5#(z0,z1,z2,z3,z4,z5) -> c_34(NEWLINE#6#(newline#7(#equal(z4,z5),z1,z0,z3),z2) ,newline#7#(#equal(z4,z5),z1,z0,z3) ,#equal#(z4,z5) ,NEWLINE#7#(#equal(z4,z5),z1,z0,z3) ,#equal#(z4,z5) ,#EQUAL#(z4,z5)) 57: #EQUAL#(z0,z1) -> c_5(#EQ'#(z0,z1)) 53: #EQ'#(::(z0,z1),::(z2,z3)) -> c_78(#AND#(#eq(z0,z2),#eq(z1,z3)),#eq#(z0,z2),#eq#(z1,z3),#EQ'#(z1,z3)) 52: #EQ'#(::(z0,z1),::(z2,z3)) -> c_77(#AND#(#eq(z0,z2),#eq(z1,z3)),#eq#(z0,z2),#eq#(z1,z3),#EQ'#(z0,z2)) 51: #EQ'#(#s(z0),#s(z1)) -> c_76(#EQ'#(z0,z1)) 49: #EQ'#(#pos(z0),#pos(z1)) -> c_74(#EQ'#(z0,z1)) 45: #EQ'#(#neg(z0),#neg(z1)) -> c_70(#EQ'#(z0,z1)) 21: #AND#(#false(),#false()) -> c_46() 22: #AND#(#false(),#true()) -> c_47() 23: #AND#(#true(),#false()) -> c_48() 24: #AND#(#true(),#true()) -> c_49() 40: #EQ'#(#0(),#0()) -> c_65() 41: #EQ'#(#0(),#neg(z0)) -> c_66() 42: #EQ'#(#0(),#pos(z0)) -> c_67() 43: #EQ'#(#0(),#s(z0)) -> c_68() 44: #EQ'#(#neg(z0),#0()) -> c_69() 46: #EQ'#(#neg(z0),#pos(z1)) -> c_71() 47: #EQ'#(#pos(z0),#0()) -> c_72() 48: #EQ'#(#pos(z0),#neg(z1)) -> c_73() 50: #EQ'#(#s(z0),#0()) -> c_75() 54: #EQ'#(::(z0,z1),nil()) -> c_79() 55: #EQ'#(nil(),::(z0,z1)) -> c_80() 56: #EQ'#(nil(),nil()) -> c_81() 139: NEWLINE#6#(z0,z1) -> c_35() 140: NEWLINE#7#(#false(),z0,z1,z2) -> c_36(MAX#(z0,z2)) 131: MAX#(z0,z1) -> c_24(MAX#1#(#greater(z0,z1),z0,z1),#greater#(z0,z1),#GREATER#(z0,z1)) 58: #GREATER#(z0,z1) -> c_6(#CKGT#(#compare(z0,z1)),#compare#(z0,z1),#COMPARE#(z0,z1)) 25: #CKGT#(#EQ()) -> c_50() 26: #CKGT#(#GT()) -> c_51() 27: #CKGT#(#LT()) -> c_52() 39: #COMPARE#(#s(z0),#s(z1)) -> c_64(#COMPARE#(z0,z1)) 37: #COMPARE#(#pos(z0),#pos(z1)) -> c_62(#COMPARE#(z0,z1)) 33: #COMPARE#(#neg(z0),#neg(z1)) -> c_58(#COMPARE#(z1,z0)) 28: #COMPARE#(#0(),#0()) -> c_53() 29: #COMPARE#(#0(),#neg(z0)) -> c_54() 30: #COMPARE#(#0(),#pos(z0)) -> c_55() 31: #COMPARE#(#0(),#s(z0)) -> c_56() 32: #COMPARE#(#neg(z0),#0()) -> c_57() 34: #COMPARE#(#neg(z0),#pos(z1)) -> c_59() 35: #COMPARE#(#pos(z0),#0()) -> c_60() 36: #COMPARE#(#pos(z0),#neg(z1)) -> c_61() 38: #COMPARE#(#s(z0),#0()) -> c_63() 132: MAX#1#(#false(),z0,z1) -> c_25() 133: MAX#1#(#true(),z0,z1) -> c_26() 141: NEWLINE#7#(#true(),z0,z1,z2) -> c_37(+'#(z1,#pos(#s(#0())))) 122: +'#(z0,z1) -> c_7(#ADD#(z0,z1)) 16: #ADD#(#0(),z0) -> c_41() 17: #ADD#(#neg(#s(#0())),z0) -> c_42(#PRED#(z0)) 18: #ADD#(#neg(#s(#s(z0))),z1) -> c_43(#PRED#(#add(#pos(#s(z0)),z1)) ,#add#(#pos(#s(z0)),z1) ,#ADD#(#pos(#s(z0)),z1)) 59: #PRED#(#0()) -> c_82() 60: #PRED#(#neg(#s(z0))) -> c_83() 61: #PRED#(#pos(#s(#0()))) -> c_84() 62: #PRED#(#pos(#s(#s(z0)))) -> c_85() 20: #ADD#(#pos(#s(#s(z0))),z1) -> c_45(#SUCC#(#add(#pos(#s(z0)),z1)) ,#add#(#pos(#s(z0)),z1) ,#ADD#(#pos(#s(z0)),z1)) 19: #ADD#(#pos(#s(#0())),z0) -> c_44(#SUCC#(z0)) 63: #SUCC#(#0()) -> c_86() 64: #SUCC#(#neg(#s(#0()))) -> c_87() 65: #SUCC#(#neg(#s(#s(z0)))) -> c_88() 66: #SUCC#(#pos(#s(z0))) -> c_89() 142: RIGHT#(z0) -> c_38(RIGHT#1#(z0)) 143: RIGHT#1#(::(z0,z1)) -> c_39() 144: RIGHT#1#(nil()) -> c_40(#ABS#(#0())) 125: LCS#1#(z0) -> c_13(LCS#2#(z0)) 126: LCS#2#(::(z0,z1)) -> c_14(LCS#3#(z0)) 128: LCS#3#(::(z0,z1)) -> c_16() 129: LCS#3#(nil()) -> c_17(#ABS#(#0())) 127: LCS#2#(nil()) -> c_15(#ABS#(#0())) 154: lcstable#(z0,z1) -> c_154(lcstable#1#(z0,z1)) 155: lcstable#1#(::(z0,z1),z2) -> c_155(lcstable#2#(lcstable(z1,z2),z2,z0),lcstable#(z1,z2)) 157: lcstable#2#(z0,z1,z2) -> c_157(lcstable#3#(z0,z1,z2)) 159: lcstable#3#(nil(),z0,z1) -> c_159() 158: lcstable#3#(::(z0,z1),z2,z3) -> c_158(newline#(z3,z0,z2)) 163: newline#(z0,z1,z2) -> c_163(newline#1#(z2,z1,z0)) 166: newline#2#(::(z0,z1),z2,z3,z4) -> c_166(newline#3#(newline(z4,z1,z3),z0,z1,z2,z4),newline#(z4,z1,z3)) 164: newline#1#(::(z0,z1),z2,z3) -> c_164(newline#2#(z2,z0,z1,z3)) 165: newline#1#(nil(),z0,z1) -> c_165() 167: newline#2#(nil(),z0,z1,z2) -> c_167() 168: newline#3#(z0,z1,z2,z3,z4) -> c_168(newline#4#(right(z0),z1,z2,z0,z3,z4),right#(z0)) 169: newline#4#(z0,z1,z2,z3,z4,z5) -> c_169(newline#5#(right(z2),z1,z3,z0,z4,z5),right#(z2)) 170: newline#5#(z0,z1,z2,z3,z4,z5) -> c_170(newline#6#(newline#7(#equal(z4,z5),z1,z0,z3),z2) ,newline#7#(#equal(z4,z5),z1,z0,z3) ,#equal#(z4,z5)) 111: #equal#(z0,z1) -> c_134(#eq#(z0,z1)) 107: #eq#(::(z0,z1),::(z2,z3)) -> c_130(#and#(#eq(z0,z2),#eq(z1,z3)),#eq#(z0,z2),#eq#(z1,z3)) 106: #eq#(#s(z0),#s(z1)) -> c_129(#eq#(z0,z1)) 104: #eq#(#pos(z0),#pos(z1)) -> c_127(#eq#(z0,z1)) 100: #eq#(#neg(z0),#neg(z1)) -> c_123(#eq#(z0,z1)) 76: #and#(#false(),#false()) -> c_99() 77: #and#(#false(),#true()) -> c_100() 78: #and#(#true(),#false()) -> c_101() 79: #and#(#true(),#true()) -> c_102() 95: #eq#(#0(),#0()) -> c_118() 96: #eq#(#0(),#neg(z0)) -> c_119() 97: #eq#(#0(),#pos(z0)) -> c_120() 98: #eq#(#0(),#s(z0)) -> c_121() 99: #eq#(#neg(z0),#0()) -> c_122() 101: #eq#(#neg(z0),#pos(z1)) -> c_124() 102: #eq#(#pos(z0),#0()) -> c_125() 103: #eq#(#pos(z0),#neg(z1)) -> c_126() 105: #eq#(#s(z0),#0()) -> c_128() 108: #eq#(::(z0,z1),nil()) -> c_131() 109: #eq#(nil(),::(z0,z1)) -> c_132() 110: #eq#(nil(),nil()) -> c_133() 171: newline#6#(z0,z1) -> c_171() 172: newline#7#(#false(),z0,z1,z2) -> c_172(max#(z0,z2)) 160: max#(z0,z1) -> c_160(max#1#(#greater(z0,z1),z0,z1),#greater#(z0,z1)) 112: #greater#(z0,z1) -> c_135(#ckgt#(#compare(z0,z1)),#compare#(z0,z1)) 80: #ckgt#(#EQ()) -> c_103() 81: #ckgt#(#GT()) -> c_104() 82: #ckgt#(#LT()) -> c_105() 94: #compare#(#s(z0),#s(z1)) -> c_117(#compare#(z0,z1)) 92: #compare#(#pos(z0),#pos(z1)) -> c_115(#compare#(z0,z1)) 88: #compare#(#neg(z0),#neg(z1)) -> c_111(#compare#(z1,z0)) 83: #compare#(#0(),#0()) -> c_106() 84: #compare#(#0(),#neg(z0)) -> c_107() 85: #compare#(#0(),#pos(z0)) -> c_108() 86: #compare#(#0(),#s(z0)) -> c_109() 87: #compare#(#neg(z0),#0()) -> c_110() 89: #compare#(#neg(z0),#pos(z1)) -> c_112() 90: #compare#(#pos(z0),#0()) -> c_113() 91: #compare#(#pos(z0),#neg(z1)) -> c_114() 93: #compare#(#s(z0),#0()) -> c_116() 161: max#1#(#false(),z0,z1) -> c_161() 162: max#1#(#true(),z0,z1) -> c_162() 173: newline#7#(#true(),z0,z1,z2) -> c_173(+#(z1,#pos(#s(#0())))) 121: +#(z0,z1) -> c_144(#add#(z0,z1)) 71: #add#(#0(),z0) -> c_94() 72: #add#(#neg(#s(#0())),z0) -> c_95(#pred#(z0)) 73: #add#(#neg(#s(#s(z0))),z1) -> c_96(#pred#(#add(#pos(#s(z0)),z1)),#add#(#pos(#s(z0)),z1)) 113: #pred#(#0()) -> c_136() 114: #pred#(#neg(#s(z0))) -> c_137() 115: #pred#(#pos(#s(#0()))) -> c_138() 116: #pred#(#pos(#s(#s(z0)))) -> c_139() 75: #add#(#pos(#s(#s(z0))),z1) -> c_98(#succ#(#add(#pos(#s(z0)),z1)),#add#(#pos(#s(z0)),z1)) 74: #add#(#pos(#s(#0())),z0) -> c_97(#succ#(z0)) 117: #succ#(#0()) -> c_140() 118: #succ#(#neg(#s(#0()))) -> c_141() 119: #succ#(#neg(#s(#s(z0)))) -> c_142() 120: #succ#(#pos(#s(z0))) -> c_143() 174: right#(z0) -> c_174(right#1#(z0)) 175: right#1#(::(z0,z1)) -> c_175() 176: right#1#(nil()) -> c_176(#abs#(#0())) 156: lcstable#1#(nil(),z0) -> c_156(firstline#(z0)) 145: firstline#(z0) -> c_145(firstline#1#(z0)) 146: firstline#1#(::(z0,z1)) -> c_146(#abs#(#0()),firstline#(z1)) 147: firstline#1#(nil()) -> c_147() 67: #abs#(#0()) -> c_90() 124: FIRSTLINE#1#(nil()) -> c_11() 123: FIRSTLINE#1#(::(z0,z1)) -> c_9(#ABS#(#0())) 12: #ABS#(#0()) -> c_1() * Step 11: SimplifyRHS. WORST_CASE(?,O(n^2)) + Considered Problem: - Strict DPs: FIRSTLINE#(z0) -> c_8(FIRSTLINE#1#(z0)) FIRSTLINE#1#(::(z0,z1)) -> c_10(FIRSTLINE#(z1)) LCS#(z0,z1) -> c_12(LCS#1#(lcstable(z0,z1)),lcstable#(z0,z1),LCSTABLE#(z0,z1)) LCSTABLE#(z0,z1) -> c_18(LCSTABLE#1#(z0,z1)) LCSTABLE#1#(::(z0,z1),z2) -> c_19(LCSTABLE#2#(lcstable(z1,z2),z2,z0),lcstable#(z1,z2),LCSTABLE#(z1,z2)) LCSTABLE#1#(nil(),z0) -> c_20(FIRSTLINE#(z0)) LCSTABLE#2#(z0,z1,z2) -> c_21(LCSTABLE#3#(z0,z1,z2)) LCSTABLE#3#(::(z0,z1),z2,z3) -> c_22(NEWLINE#(z3,z0,z2)) NEWLINE#(z0,z1,z2) -> c_27(NEWLINE#1#(z2,z1,z0)) NEWLINE#1#(::(z0,z1),z2,z3) -> c_28(NEWLINE#2#(z2,z0,z1,z3)) NEWLINE#2#(::(z0,z1),z2,z3,z4) -> c_30(NEWLINE#3#(newline(z4,z1,z3),z0,z1,z2,z4) ,newline#(z4,z1,z3) ,NEWLINE#(z4,z1,z3)) - Weak TRS: #abs(#0()) -> #0() #add(#0(),z0) -> z0 #add(#neg(#s(#0())),z0) -> #pred(z0) #add(#neg(#s(#s(z0))),z1) -> #pred(#add(#pos(#s(z0)),z1)) #add(#pos(#s(#0())),z0) -> #succ(z0) #add(#pos(#s(#s(z0))),z1) -> #succ(#add(#pos(#s(z0)),z1)) #and(#false(),#false()) -> #false() #and(#false(),#true()) -> #false() #and(#true(),#false()) -> #false() #and(#true(),#true()) -> #true() #ckgt(#EQ()) -> #false() #ckgt(#GT()) -> #true() #ckgt(#LT()) -> #false() #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) #greater(z0,z1) -> #ckgt(#compare(z0,z1)) #pred(#0()) -> #neg(#s(#0())) #pred(#neg(#s(z0))) -> #neg(#s(#s(z0))) #pred(#pos(#s(#0()))) -> #0() #pred(#pos(#s(#s(z0)))) -> #pos(#s(z0)) #succ(#0()) -> #pos(#s(#0())) #succ(#neg(#s(#0()))) -> #0() #succ(#neg(#s(#s(z0)))) -> #neg(#s(z0)) #succ(#pos(#s(z0))) -> #pos(#s(#s(z0))) +(z0,z1) -> #add(z0,z1) firstline(z0) -> firstline#1(z0) firstline#1(::(z0,z1)) -> ::(#abs(#0()),firstline(z1)) firstline#1(nil()) -> nil() lcstable(z0,z1) -> lcstable#1(z0,z1) lcstable#1(::(z0,z1),z2) -> lcstable#2(lcstable(z1,z2),z2,z0) lcstable#1(nil(),z0) -> ::(firstline(z0),nil()) lcstable#2(z0,z1,z2) -> lcstable#3(z0,z1,z2) lcstable#3(::(z0,z1),z2,z3) -> ::(newline(z3,z0,z2),::(z0,z1)) lcstable#3(nil(),z0,z1) -> nil() max(z0,z1) -> max#1(#greater(z0,z1),z0,z1) max#1(#false(),z0,z1) -> z1 max#1(#true(),z0,z1) -> z0 newline(z0,z1,z2) -> newline#1(z2,z1,z0) newline#1(::(z0,z1),z2,z3) -> newline#2(z2,z0,z1,z3) newline#1(nil(),z0,z1) -> nil() newline#2(::(z0,z1),z2,z3,z4) -> newline#3(newline(z4,z1,z3),z0,z1,z2,z4) newline#2(nil(),z0,z1,z2) -> nil() newline#3(z0,z1,z2,z3,z4) -> newline#4(right(z0),z1,z2,z0,z3,z4) newline#4(z0,z1,z2,z3,z4,z5) -> newline#5(right(z2),z1,z3,z0,z4,z5) newline#5(z0,z1,z2,z3,z4,z5) -> newline#6(newline#7(#equal(z4,z5),z1,z0,z3),z2) newline#6(z0,z1) -> ::(z0,z1) newline#7(#false(),z0,z1,z2) -> max(z0,z2) newline#7(#true(),z0,z1,z2) -> +(z1,#pos(#s(#0()))) right(z0) -> right#1(z0) right#1(::(z0,z1)) -> z0 right#1(nil()) -> #abs(#0()) - Signature: {#ABS/1,#ADD/2,#AND/2,#CKGT/1,#COMPARE/2,#EQ'/2,#EQUAL/2,#GREATER/2,#PRED/1,#SUCC/1,#abs/1,#add/2,#and/2 ,#ckgt/1,#compare/2,#eq/2,#equal/2,#greater/2,#pred/1,#succ/1,+/2,+'/2,FIRSTLINE/1,FIRSTLINE#1/1,LCS/2 ,LCS#1/1,LCS#2/1,LCS#3/1,LCSTABLE/2,LCSTABLE#1/2,LCSTABLE#2/3,LCSTABLE#3/3,MAX/2,MAX#1/3,NEWLINE/3 ,NEWLINE#1/3,NEWLINE#2/4,NEWLINE#3/5,NEWLINE#4/6,NEWLINE#5/6,NEWLINE#6/2,NEWLINE#7/4,RIGHT/1,RIGHT#1/1 ,firstline/1,firstline#1/1,lcs/2,lcs#1/1,lcs#2/1,lcs#3/1,lcstable/2,lcstable#1/2,lcstable#2/3,lcstable#3/3 ,max/2,max#1/3,newline/3,newline#1/3,newline#2/4,newline#3/5,newline#4/6,newline#5/6,newline#6/2,newline#7/4 ,right/1,right#1/1,#ABS#/1,#ADD#/2,#AND#/2,#CKGT#/1,#COMPARE#/2,#EQ'#/2,#EQUAL#/2,#GREATER#/2,#PRED#/1 ,#SUCC#/1,#abs#/1,#add#/2,#and#/2,#ckgt#/1,#compare#/2,#eq#/2,#equal#/2,#greater#/2,#pred#/1,#succ#/1,+#/2 ,+'#/2,FIRSTLINE#/1,FIRSTLINE#1#/1,LCS#/2,LCS#1#/1,LCS#2#/1,LCS#3#/1,LCSTABLE#/2,LCSTABLE#1#/2,LCSTABLE#2#/3 ,LCSTABLE#3#/3,MAX#/2,MAX#1#/3,NEWLINE#/3,NEWLINE#1#/3,NEWLINE#2#/4,NEWLINE#3#/5,NEWLINE#4#/6,NEWLINE#5#/6 ,NEWLINE#6#/2,NEWLINE#7#/4,RIGHT#/1,RIGHT#1#/1,firstline#/1,firstline#1#/1,lcs#/2,lcs#1#/1,lcs#2#/1,lcs#3#/1 ,lcstable#/2,lcstable#1#/2,lcstable#2#/3,lcstable#3#/3,max#/2,max#1#/3,newline#/3,newline#1#/3,newline#2#/4 ,newline#3#/5,newline#4#/6,newline#5#/6,newline#6#/2,newline#7#/4,right#/1,right#1#/1} / {#0/0,#EQ/0,#GT/0 ,#LT/0,#false/0,#neg/1,#pos/1,#s/1,#true/0,::/2,c/0,c1/1,c10/0,c11/0,c12/0,c13/0,c14/0,c15/0,c16/0,c17/1 ,c18/0,c19/0,c2/2,c20/0,c21/1,c22/0,c23/1,c24/0,c25/0,c26/0,c27/0,c28/0,c29/1,c3/1,c30/0,c31/0,c32/0,c33/1 ,c34/0,c35/1,c36/2,c37/2,c38/0,c39/0,c4/2,c40/0,c41/0,c42/0,c43/0,c44/0,c45/0,c46/0,c47/0,c48/0,c49/0,c5/0 ,c50/0,c51/0,c52/0,c53/1,c54/2,c55/1,c56/1,c57/1,c58/1,c59/0,c6/0,c60/2,c61/1,c62/1,c63/1,c64/0,c65/1,c66/1 ,c67/2,c68/1,c69/1,c7/0,c70/1,c71/0,c72/2,c73/0,c74/0,c75/1,c76/1,c77/0,c78/2,c79/0,c8/0,c80/2,c81/2,c82/3 ,c83/0,c84/1,c85/1,c86/1,c87/0,c88/1,c9/0,nil/0,c_1/0,c_2/0,c_3/0,c_4/0,c_5/1,c_6/3,c_7/1,c_8/1,c_9/1,c_10/1 ,c_11/0,c_12/3,c_13/1,c_14/1,c_15/1,c_16/0,c_17/1,c_18/1,c_19/3,c_20/1,c_21/1,c_22/1,c_23/0,c_24/3,c_25/0 ,c_26/0,c_27/1,c_28/1,c_29/0,c_30/3,c_31/0,c_32/3,c_33/3,c_34/6,c_35/0,c_36/1,c_37/1,c_38/1,c_39/0,c_40/1 ,c_41/0,c_42/1,c_43/3,c_44/1,c_45/3,c_46/0,c_47/0,c_48/0,c_49/0,c_50/0,c_51/0,c_52/0,c_53/0,c_54/0,c_55/0 ,c_56/0,c_57/0,c_58/1,c_59/0,c_60/0,c_61/0,c_62/1,c_63/0,c_64/1,c_65/0,c_66/0,c_67/0,c_68/0,c_69/0,c_70/1 ,c_71/0,c_72/0,c_73/0,c_74/1,c_75/0,c_76/1,c_77/4,c_78/4,c_79/0,c_80/0,c_81/0,c_82/0,c_83/0,c_84/0,c_85/0 ,c_86/0,c_87/0,c_88/0,c_89/0,c_90/0,c_91/0,c_92/0,c_93/0,c_94/0,c_95/1,c_96/2,c_97/1,c_98/2,c_99/0,c_100/0 ,c_101/0,c_102/0,c_103/0,c_104/0,c_105/0,c_106/0,c_107/0,c_108/0,c_109/0,c_110/0,c_111/1,c_112/0,c_113/0 ,c_114/0,c_115/1,c_116/0,c_117/1,c_118/0,c_119/0,c_120/0,c_121/0,c_122/0,c_123/1,c_124/0,c_125/0,c_126/0 ,c_127/1,c_128/0,c_129/1,c_130/3,c_131/0,c_132/0,c_133/0,c_134/1,c_135/2,c_136/0,c_137/0,c_138/0,c_139/0 ,c_140/0,c_141/0,c_142/0,c_143/0,c_144/1,c_145/1,c_146/2,c_147/0,c_148/2,c_149/1,c_150/1,c_151/1,c_152/0 ,c_153/1,c_154/1,c_155/2,c_156/1,c_157/1,c_158/1,c_159/0,c_160/2,c_161/0,c_162/0,c_163/1,c_164/1,c_165/0 ,c_166/2,c_167/0,c_168/2,c_169/2,c_170/3,c_171/0,c_172/1,c_173/1,c_174/1,c_175/0,c_176/1} - Obligation: innermost runtime complexity wrt. defined symbols {#ABS#,#ADD#,#AND#,#CKGT#,#COMPARE#,#EQ'#,#EQUAL# ,#GREATER#,#PRED#,#SUCC#,#abs#,#add#,#and#,#ckgt#,#compare#,#eq#,#equal#,#greater#,#pred#,#succ#,+#,+'# ,FIRSTLINE#,FIRSTLINE#1#,LCS#,LCS#1#,LCS#2#,LCS#3#,LCSTABLE#,LCSTABLE#1#,LCSTABLE#2#,LCSTABLE#3#,MAX#,MAX#1# ,NEWLINE#,NEWLINE#1#,NEWLINE#2#,NEWLINE#3#,NEWLINE#4#,NEWLINE#5#,NEWLINE#6#,NEWLINE#7#,RIGHT#,RIGHT#1# ,firstline#,firstline#1#,lcs#,lcs#1#,lcs#2#,lcs#3#,lcstable#,lcstable#1#,lcstable#2#,lcstable#3#,max#,max#1# ,newline#,newline#1#,newline#2#,newline#3#,newline#4#,newline#5#,newline#6#,newline#7#,right# ,right#1#} 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,c59,c6,c60,c61,c62,c63,c64,c65 ,c66,c67,c68,c69,c7,c70,c71,c72,c73,c74,c75,c76,c77,c78,c79,c8,c80,c81,c82,c83,c84,c85,c86,c87,c88,c9,nil} + Applied Processor: SimplifyRHS + Details: Consider the dependency graph 1:S:FIRSTLINE#(z0) -> c_8(FIRSTLINE#1#(z0)) -->_1 FIRSTLINE#1#(::(z0,z1)) -> c_10(FIRSTLINE#(z1)):2 2:S:FIRSTLINE#1#(::(z0,z1)) -> c_10(FIRSTLINE#(z1)) -->_1 FIRSTLINE#(z0) -> c_8(FIRSTLINE#1#(z0)):1 3:S:LCS#(z0,z1) -> c_12(LCS#1#(lcstable(z0,z1)),lcstable#(z0,z1),LCSTABLE#(z0,z1)) -->_3 LCSTABLE#(z0,z1) -> c_18(LCSTABLE#1#(z0,z1)):4 4:S:LCSTABLE#(z0,z1) -> c_18(LCSTABLE#1#(z0,z1)) -->_1 LCSTABLE#1#(nil(),z0) -> c_20(FIRSTLINE#(z0)):6 -->_1 LCSTABLE#1#(::(z0,z1),z2) -> c_19(LCSTABLE#2#(lcstable(z1,z2),z2,z0) ,lcstable#(z1,z2) ,LCSTABLE#(z1,z2)):5 5:S:LCSTABLE#1#(::(z0,z1),z2) -> c_19(LCSTABLE#2#(lcstable(z1,z2),z2,z0),lcstable#(z1,z2),LCSTABLE#(z1,z2)) -->_1 LCSTABLE#2#(z0,z1,z2) -> c_21(LCSTABLE#3#(z0,z1,z2)):7 -->_3 LCSTABLE#(z0,z1) -> c_18(LCSTABLE#1#(z0,z1)):4 6:S:LCSTABLE#1#(nil(),z0) -> c_20(FIRSTLINE#(z0)) -->_1 FIRSTLINE#(z0) -> c_8(FIRSTLINE#1#(z0)):1 7:S:LCSTABLE#2#(z0,z1,z2) -> c_21(LCSTABLE#3#(z0,z1,z2)) -->_1 LCSTABLE#3#(::(z0,z1),z2,z3) -> c_22(NEWLINE#(z3,z0,z2)):8 8:S:LCSTABLE#3#(::(z0,z1),z2,z3) -> c_22(NEWLINE#(z3,z0,z2)) -->_1 NEWLINE#(z0,z1,z2) -> c_27(NEWLINE#1#(z2,z1,z0)):9 9:S:NEWLINE#(z0,z1,z2) -> c_27(NEWLINE#1#(z2,z1,z0)) -->_1 NEWLINE#1#(::(z0,z1),z2,z3) -> c_28(NEWLINE#2#(z2,z0,z1,z3)):10 10:S:NEWLINE#1#(::(z0,z1),z2,z3) -> c_28(NEWLINE#2#(z2,z0,z1,z3)) -->_1 NEWLINE#2#(::(z0,z1),z2,z3,z4) -> c_30(NEWLINE#3#(newline(z4,z1,z3),z0,z1,z2,z4) ,newline#(z4,z1,z3) ,NEWLINE#(z4,z1,z3)):11 11:S:NEWLINE#2#(::(z0,z1),z2,z3,z4) -> c_30(NEWLINE#3#(newline(z4,z1,z3),z0,z1,z2,z4) ,newline#(z4,z1,z3) ,NEWLINE#(z4,z1,z3)) -->_3 NEWLINE#(z0,z1,z2) -> c_27(NEWLINE#1#(z2,z1,z0)):9 Due to missing edges in the depndency graph, the right-hand sides of following rules could be simplified: LCS#(z0,z1) -> c_12(LCSTABLE#(z0,z1)) LCSTABLE#1#(::(z0,z1),z2) -> c_19(LCSTABLE#2#(lcstable(z1,z2),z2,z0),LCSTABLE#(z1,z2)) NEWLINE#2#(::(z0,z1),z2,z3,z4) -> c_30(NEWLINE#(z4,z1,z3)) * Step 12: RemoveHeads. WORST_CASE(?,O(n^2)) + Considered Problem: - Strict DPs: FIRSTLINE#(z0) -> c_8(FIRSTLINE#1#(z0)) FIRSTLINE#1#(::(z0,z1)) -> c_10(FIRSTLINE#(z1)) LCS#(z0,z1) -> c_12(LCSTABLE#(z0,z1)) LCSTABLE#(z0,z1) -> c_18(LCSTABLE#1#(z0,z1)) LCSTABLE#1#(::(z0,z1),z2) -> c_19(LCSTABLE#2#(lcstable(z1,z2),z2,z0),LCSTABLE#(z1,z2)) LCSTABLE#1#(nil(),z0) -> c_20(FIRSTLINE#(z0)) LCSTABLE#2#(z0,z1,z2) -> c_21(LCSTABLE#3#(z0,z1,z2)) LCSTABLE#3#(::(z0,z1),z2,z3) -> c_22(NEWLINE#(z3,z0,z2)) NEWLINE#(z0,z1,z2) -> c_27(NEWLINE#1#(z2,z1,z0)) NEWLINE#1#(::(z0,z1),z2,z3) -> c_28(NEWLINE#2#(z2,z0,z1,z3)) NEWLINE#2#(::(z0,z1),z2,z3,z4) -> c_30(NEWLINE#(z4,z1,z3)) - Weak TRS: #abs(#0()) -> #0() #add(#0(),z0) -> z0 #add(#neg(#s(#0())),z0) -> #pred(z0) #add(#neg(#s(#s(z0))),z1) -> #pred(#add(#pos(#s(z0)),z1)) #add(#pos(#s(#0())),z0) -> #succ(z0) #add(#pos(#s(#s(z0))),z1) -> #succ(#add(#pos(#s(z0)),z1)) #and(#false(),#false()) -> #false() #and(#false(),#true()) -> #false() #and(#true(),#false()) -> #false() #and(#true(),#true()) -> #true() #ckgt(#EQ()) -> #false() #ckgt(#GT()) -> #true() #ckgt(#LT()) -> #false() #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) #greater(z0,z1) -> #ckgt(#compare(z0,z1)) #pred(#0()) -> #neg(#s(#0())) #pred(#neg(#s(z0))) -> #neg(#s(#s(z0))) #pred(#pos(#s(#0()))) -> #0() #pred(#pos(#s(#s(z0)))) -> #pos(#s(z0)) #succ(#0()) -> #pos(#s(#0())) #succ(#neg(#s(#0()))) -> #0() #succ(#neg(#s(#s(z0)))) -> #neg(#s(z0)) #succ(#pos(#s(z0))) -> #pos(#s(#s(z0))) +(z0,z1) -> #add(z0,z1) firstline(z0) -> firstline#1(z0) firstline#1(::(z0,z1)) -> ::(#abs(#0()),firstline(z1)) firstline#1(nil()) -> nil() lcstable(z0,z1) -> lcstable#1(z0,z1) lcstable#1(::(z0,z1),z2) -> lcstable#2(lcstable(z1,z2),z2,z0) lcstable#1(nil(),z0) -> ::(firstline(z0),nil()) lcstable#2(z0,z1,z2) -> lcstable#3(z0,z1,z2) lcstable#3(::(z0,z1),z2,z3) -> ::(newline(z3,z0,z2),::(z0,z1)) lcstable#3(nil(),z0,z1) -> nil() max(z0,z1) -> max#1(#greater(z0,z1),z0,z1) max#1(#false(),z0,z1) -> z1 max#1(#true(),z0,z1) -> z0 newline(z0,z1,z2) -> newline#1(z2,z1,z0) newline#1(::(z0,z1),z2,z3) -> newline#2(z2,z0,z1,z3) newline#1(nil(),z0,z1) -> nil() newline#2(::(z0,z1),z2,z3,z4) -> newline#3(newline(z4,z1,z3),z0,z1,z2,z4) newline#2(nil(),z0,z1,z2) -> nil() newline#3(z0,z1,z2,z3,z4) -> newline#4(right(z0),z1,z2,z0,z3,z4) newline#4(z0,z1,z2,z3,z4,z5) -> newline#5(right(z2),z1,z3,z0,z4,z5) newline#5(z0,z1,z2,z3,z4,z5) -> newline#6(newline#7(#equal(z4,z5),z1,z0,z3),z2) newline#6(z0,z1) -> ::(z0,z1) newline#7(#false(),z0,z1,z2) -> max(z0,z2) newline#7(#true(),z0,z1,z2) -> +(z1,#pos(#s(#0()))) right(z0) -> right#1(z0) right#1(::(z0,z1)) -> z0 right#1(nil()) -> #abs(#0()) - Signature: {#ABS/1,#ADD/2,#AND/2,#CKGT/1,#COMPARE/2,#EQ'/2,#EQUAL/2,#GREATER/2,#PRED/1,#SUCC/1,#abs/1,#add/2,#and/2 ,#ckgt/1,#compare/2,#eq/2,#equal/2,#greater/2,#pred/1,#succ/1,+/2,+'/2,FIRSTLINE/1,FIRSTLINE#1/1,LCS/2 ,LCS#1/1,LCS#2/1,LCS#3/1,LCSTABLE/2,LCSTABLE#1/2,LCSTABLE#2/3,LCSTABLE#3/3,MAX/2,MAX#1/3,NEWLINE/3 ,NEWLINE#1/3,NEWLINE#2/4,NEWLINE#3/5,NEWLINE#4/6,NEWLINE#5/6,NEWLINE#6/2,NEWLINE#7/4,RIGHT/1,RIGHT#1/1 ,firstline/1,firstline#1/1,lcs/2,lcs#1/1,lcs#2/1,lcs#3/1,lcstable/2,lcstable#1/2,lcstable#2/3,lcstable#3/3 ,max/2,max#1/3,newline/3,newline#1/3,newline#2/4,newline#3/5,newline#4/6,newline#5/6,newline#6/2,newline#7/4 ,right/1,right#1/1,#ABS#/1,#ADD#/2,#AND#/2,#CKGT#/1,#COMPARE#/2,#EQ'#/2,#EQUAL#/2,#GREATER#/2,#PRED#/1 ,#SUCC#/1,#abs#/1,#add#/2,#and#/2,#ckgt#/1,#compare#/2,#eq#/2,#equal#/2,#greater#/2,#pred#/1,#succ#/1,+#/2 ,+'#/2,FIRSTLINE#/1,FIRSTLINE#1#/1,LCS#/2,LCS#1#/1,LCS#2#/1,LCS#3#/1,LCSTABLE#/2,LCSTABLE#1#/2,LCSTABLE#2#/3 ,LCSTABLE#3#/3,MAX#/2,MAX#1#/3,NEWLINE#/3,NEWLINE#1#/3,NEWLINE#2#/4,NEWLINE#3#/5,NEWLINE#4#/6,NEWLINE#5#/6 ,NEWLINE#6#/2,NEWLINE#7#/4,RIGHT#/1,RIGHT#1#/1,firstline#/1,firstline#1#/1,lcs#/2,lcs#1#/1,lcs#2#/1,lcs#3#/1 ,lcstable#/2,lcstable#1#/2,lcstable#2#/3,lcstable#3#/3,max#/2,max#1#/3,newline#/3,newline#1#/3,newline#2#/4 ,newline#3#/5,newline#4#/6,newline#5#/6,newline#6#/2,newline#7#/4,right#/1,right#1#/1} / {#0/0,#EQ/0,#GT/0 ,#LT/0,#false/0,#neg/1,#pos/1,#s/1,#true/0,::/2,c/0,c1/1,c10/0,c11/0,c12/0,c13/0,c14/0,c15/0,c16/0,c17/1 ,c18/0,c19/0,c2/2,c20/0,c21/1,c22/0,c23/1,c24/0,c25/0,c26/0,c27/0,c28/0,c29/1,c3/1,c30/0,c31/0,c32/0,c33/1 ,c34/0,c35/1,c36/2,c37/2,c38/0,c39/0,c4/2,c40/0,c41/0,c42/0,c43/0,c44/0,c45/0,c46/0,c47/0,c48/0,c49/0,c5/0 ,c50/0,c51/0,c52/0,c53/1,c54/2,c55/1,c56/1,c57/1,c58/1,c59/0,c6/0,c60/2,c61/1,c62/1,c63/1,c64/0,c65/1,c66/1 ,c67/2,c68/1,c69/1,c7/0,c70/1,c71/0,c72/2,c73/0,c74/0,c75/1,c76/1,c77/0,c78/2,c79/0,c8/0,c80/2,c81/2,c82/3 ,c83/0,c84/1,c85/1,c86/1,c87/0,c88/1,c9/0,nil/0,c_1/0,c_2/0,c_3/0,c_4/0,c_5/1,c_6/3,c_7/1,c_8/1,c_9/1,c_10/1 ,c_11/0,c_12/1,c_13/1,c_14/1,c_15/1,c_16/0,c_17/1,c_18/1,c_19/2,c_20/1,c_21/1,c_22/1,c_23/0,c_24/3,c_25/0 ,c_26/0,c_27/1,c_28/1,c_29/0,c_30/1,c_31/0,c_32/3,c_33/3,c_34/6,c_35/0,c_36/1,c_37/1,c_38/1,c_39/0,c_40/1 ,c_41/0,c_42/1,c_43/3,c_44/1,c_45/3,c_46/0,c_47/0,c_48/0,c_49/0,c_50/0,c_51/0,c_52/0,c_53/0,c_54/0,c_55/0 ,c_56/0,c_57/0,c_58/1,c_59/0,c_60/0,c_61/0,c_62/1,c_63/0,c_64/1,c_65/0,c_66/0,c_67/0,c_68/0,c_69/0,c_70/1 ,c_71/0,c_72/0,c_73/0,c_74/1,c_75/0,c_76/1,c_77/4,c_78/4,c_79/0,c_80/0,c_81/0,c_82/0,c_83/0,c_84/0,c_85/0 ,c_86/0,c_87/0,c_88/0,c_89/0,c_90/0,c_91/0,c_92/0,c_93/0,c_94/0,c_95/1,c_96/2,c_97/1,c_98/2,c_99/0,c_100/0 ,c_101/0,c_102/0,c_103/0,c_104/0,c_105/0,c_106/0,c_107/0,c_108/0,c_109/0,c_110/0,c_111/1,c_112/0,c_113/0 ,c_114/0,c_115/1,c_116/0,c_117/1,c_118/0,c_119/0,c_120/0,c_121/0,c_122/0,c_123/1,c_124/0,c_125/0,c_126/0 ,c_127/1,c_128/0,c_129/1,c_130/3,c_131/0,c_132/0,c_133/0,c_134/1,c_135/2,c_136/0,c_137/0,c_138/0,c_139/0 ,c_140/0,c_141/0,c_142/0,c_143/0,c_144/1,c_145/1,c_146/2,c_147/0,c_148/2,c_149/1,c_150/1,c_151/1,c_152/0 ,c_153/1,c_154/1,c_155/2,c_156/1,c_157/1,c_158/1,c_159/0,c_160/2,c_161/0,c_162/0,c_163/1,c_164/1,c_165/0 ,c_166/2,c_167/0,c_168/2,c_169/2,c_170/3,c_171/0,c_172/1,c_173/1,c_174/1,c_175/0,c_176/1} - Obligation: innermost runtime complexity wrt. defined symbols {#ABS#,#ADD#,#AND#,#CKGT#,#COMPARE#,#EQ'#,#EQUAL# ,#GREATER#,#PRED#,#SUCC#,#abs#,#add#,#and#,#ckgt#,#compare#,#eq#,#equal#,#greater#,#pred#,#succ#,+#,+'# ,FIRSTLINE#,FIRSTLINE#1#,LCS#,LCS#1#,LCS#2#,LCS#3#,LCSTABLE#,LCSTABLE#1#,LCSTABLE#2#,LCSTABLE#3#,MAX#,MAX#1# ,NEWLINE#,NEWLINE#1#,NEWLINE#2#,NEWLINE#3#,NEWLINE#4#,NEWLINE#5#,NEWLINE#6#,NEWLINE#7#,RIGHT#,RIGHT#1# ,firstline#,firstline#1#,lcs#,lcs#1#,lcs#2#,lcs#3#,lcstable#,lcstable#1#,lcstable#2#,lcstable#3#,max#,max#1# ,newline#,newline#1#,newline#2#,newline#3#,newline#4#,newline#5#,newline#6#,newline#7#,right# ,right#1#} 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,c59,c6,c60,c61,c62,c63,c64,c65 ,c66,c67,c68,c69,c7,c70,c71,c72,c73,c74,c75,c76,c77,c78,c79,c8,c80,c81,c82,c83,c84,c85,c86,c87,c88,c9,nil} + Applied Processor: RemoveHeads + Details: Consider the dependency graph 1:S:FIRSTLINE#(z0) -> c_8(FIRSTLINE#1#(z0)) -->_1 FIRSTLINE#1#(::(z0,z1)) -> c_10(FIRSTLINE#(z1)):2 2:S:FIRSTLINE#1#(::(z0,z1)) -> c_10(FIRSTLINE#(z1)) -->_1 FIRSTLINE#(z0) -> c_8(FIRSTLINE#1#(z0)):1 3:S:LCS#(z0,z1) -> c_12(LCSTABLE#(z0,z1)) -->_1 LCSTABLE#(z0,z1) -> c_18(LCSTABLE#1#(z0,z1)):4 4:S:LCSTABLE#(z0,z1) -> c_18(LCSTABLE#1#(z0,z1)) -->_1 LCSTABLE#1#(nil(),z0) -> c_20(FIRSTLINE#(z0)):6 -->_1 LCSTABLE#1#(::(z0,z1),z2) -> c_19(LCSTABLE#2#(lcstable(z1,z2),z2,z0),LCSTABLE#(z1,z2)):5 5:S:LCSTABLE#1#(::(z0,z1),z2) -> c_19(LCSTABLE#2#(lcstable(z1,z2),z2,z0),LCSTABLE#(z1,z2)) -->_1 LCSTABLE#2#(z0,z1,z2) -> c_21(LCSTABLE#3#(z0,z1,z2)):7 -->_2 LCSTABLE#(z0,z1) -> c_18(LCSTABLE#1#(z0,z1)):4 6:S:LCSTABLE#1#(nil(),z0) -> c_20(FIRSTLINE#(z0)) -->_1 FIRSTLINE#(z0) -> c_8(FIRSTLINE#1#(z0)):1 7:S:LCSTABLE#2#(z0,z1,z2) -> c_21(LCSTABLE#3#(z0,z1,z2)) -->_1 LCSTABLE#3#(::(z0,z1),z2,z3) -> c_22(NEWLINE#(z3,z0,z2)):8 8:S:LCSTABLE#3#(::(z0,z1),z2,z3) -> c_22(NEWLINE#(z3,z0,z2)) -->_1 NEWLINE#(z0,z1,z2) -> c_27(NEWLINE#1#(z2,z1,z0)):9 9:S:NEWLINE#(z0,z1,z2) -> c_27(NEWLINE#1#(z2,z1,z0)) -->_1 NEWLINE#1#(::(z0,z1),z2,z3) -> c_28(NEWLINE#2#(z2,z0,z1,z3)):10 10:S:NEWLINE#1#(::(z0,z1),z2,z3) -> c_28(NEWLINE#2#(z2,z0,z1,z3)) -->_1 NEWLINE#2#(::(z0,z1),z2,z3,z4) -> c_30(NEWLINE#(z4,z1,z3)):11 11:S:NEWLINE#2#(::(z0,z1),z2,z3,z4) -> c_30(NEWLINE#(z4,z1,z3)) -->_1 NEWLINE#(z0,z1,z2) -> c_27(NEWLINE#1#(z2,z1,z0)):9 Following roots of the dependency graph are removed, as the considered set of starting terms is closed under reduction with respect to these rules (modulo compound contexts). [(3,LCS#(z0,z1) -> c_12(LCSTABLE#(z0,z1)))] * Step 13: Decompose. WORST_CASE(?,O(n^2)) + Considered Problem: - Strict DPs: FIRSTLINE#(z0) -> c_8(FIRSTLINE#1#(z0)) FIRSTLINE#1#(::(z0,z1)) -> c_10(FIRSTLINE#(z1)) LCSTABLE#(z0,z1) -> c_18(LCSTABLE#1#(z0,z1)) LCSTABLE#1#(::(z0,z1),z2) -> c_19(LCSTABLE#2#(lcstable(z1,z2),z2,z0),LCSTABLE#(z1,z2)) LCSTABLE#1#(nil(),z0) -> c_20(FIRSTLINE#(z0)) LCSTABLE#2#(z0,z1,z2) -> c_21(LCSTABLE#3#(z0,z1,z2)) LCSTABLE#3#(::(z0,z1),z2,z3) -> c_22(NEWLINE#(z3,z0,z2)) NEWLINE#(z0,z1,z2) -> c_27(NEWLINE#1#(z2,z1,z0)) NEWLINE#1#(::(z0,z1),z2,z3) -> c_28(NEWLINE#2#(z2,z0,z1,z3)) NEWLINE#2#(::(z0,z1),z2,z3,z4) -> c_30(NEWLINE#(z4,z1,z3)) - Weak TRS: #abs(#0()) -> #0() #add(#0(),z0) -> z0 #add(#neg(#s(#0())),z0) -> #pred(z0) #add(#neg(#s(#s(z0))),z1) -> #pred(#add(#pos(#s(z0)),z1)) #add(#pos(#s(#0())),z0) -> #succ(z0) #add(#pos(#s(#s(z0))),z1) -> #succ(#add(#pos(#s(z0)),z1)) #and(#false(),#false()) -> #false() #and(#false(),#true()) -> #false() #and(#true(),#false()) -> #false() #and(#true(),#true()) -> #true() #ckgt(#EQ()) -> #false() #ckgt(#GT()) -> #true() #ckgt(#LT()) -> #false() #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) #greater(z0,z1) -> #ckgt(#compare(z0,z1)) #pred(#0()) -> #neg(#s(#0())) #pred(#neg(#s(z0))) -> #neg(#s(#s(z0))) #pred(#pos(#s(#0()))) -> #0() #pred(#pos(#s(#s(z0)))) -> #pos(#s(z0)) #succ(#0()) -> #pos(#s(#0())) #succ(#neg(#s(#0()))) -> #0() #succ(#neg(#s(#s(z0)))) -> #neg(#s(z0)) #succ(#pos(#s(z0))) -> #pos(#s(#s(z0))) +(z0,z1) -> #add(z0,z1) firstline(z0) -> firstline#1(z0) firstline#1(::(z0,z1)) -> ::(#abs(#0()),firstline(z1)) firstline#1(nil()) -> nil() lcstable(z0,z1) -> lcstable#1(z0,z1) lcstable#1(::(z0,z1),z2) -> lcstable#2(lcstable(z1,z2),z2,z0) lcstable#1(nil(),z0) -> ::(firstline(z0),nil()) lcstable#2(z0,z1,z2) -> lcstable#3(z0,z1,z2) lcstable#3(::(z0,z1),z2,z3) -> ::(newline(z3,z0,z2),::(z0,z1)) lcstable#3(nil(),z0,z1) -> nil() max(z0,z1) -> max#1(#greater(z0,z1),z0,z1) max#1(#false(),z0,z1) -> z1 max#1(#true(),z0,z1) -> z0 newline(z0,z1,z2) -> newline#1(z2,z1,z0) newline#1(::(z0,z1),z2,z3) -> newline#2(z2,z0,z1,z3) newline#1(nil(),z0,z1) -> nil() newline#2(::(z0,z1),z2,z3,z4) -> newline#3(newline(z4,z1,z3),z0,z1,z2,z4) newline#2(nil(),z0,z1,z2) -> nil() newline#3(z0,z1,z2,z3,z4) -> newline#4(right(z0),z1,z2,z0,z3,z4) newline#4(z0,z1,z2,z3,z4,z5) -> newline#5(right(z2),z1,z3,z0,z4,z5) newline#5(z0,z1,z2,z3,z4,z5) -> newline#6(newline#7(#equal(z4,z5),z1,z0,z3),z2) newline#6(z0,z1) -> ::(z0,z1) newline#7(#false(),z0,z1,z2) -> max(z0,z2) newline#7(#true(),z0,z1,z2) -> +(z1,#pos(#s(#0()))) right(z0) -> right#1(z0) right#1(::(z0,z1)) -> z0 right#1(nil()) -> #abs(#0()) - Signature: {#ABS/1,#ADD/2,#AND/2,#CKGT/1,#COMPARE/2,#EQ'/2,#EQUAL/2,#GREATER/2,#PRED/1,#SUCC/1,#abs/1,#add/2,#and/2 ,#ckgt/1,#compare/2,#eq/2,#equal/2,#greater/2,#pred/1,#succ/1,+/2,+'/2,FIRSTLINE/1,FIRSTLINE#1/1,LCS/2 ,LCS#1/1,LCS#2/1,LCS#3/1,LCSTABLE/2,LCSTABLE#1/2,LCSTABLE#2/3,LCSTABLE#3/3,MAX/2,MAX#1/3,NEWLINE/3 ,NEWLINE#1/3,NEWLINE#2/4,NEWLINE#3/5,NEWLINE#4/6,NEWLINE#5/6,NEWLINE#6/2,NEWLINE#7/4,RIGHT/1,RIGHT#1/1 ,firstline/1,firstline#1/1,lcs/2,lcs#1/1,lcs#2/1,lcs#3/1,lcstable/2,lcstable#1/2,lcstable#2/3,lcstable#3/3 ,max/2,max#1/3,newline/3,newline#1/3,newline#2/4,newline#3/5,newline#4/6,newline#5/6,newline#6/2,newline#7/4 ,right/1,right#1/1,#ABS#/1,#ADD#/2,#AND#/2,#CKGT#/1,#COMPARE#/2,#EQ'#/2,#EQUAL#/2,#GREATER#/2,#PRED#/1 ,#SUCC#/1,#abs#/1,#add#/2,#and#/2,#ckgt#/1,#compare#/2,#eq#/2,#equal#/2,#greater#/2,#pred#/1,#succ#/1,+#/2 ,+'#/2,FIRSTLINE#/1,FIRSTLINE#1#/1,LCS#/2,LCS#1#/1,LCS#2#/1,LCS#3#/1,LCSTABLE#/2,LCSTABLE#1#/2,LCSTABLE#2#/3 ,LCSTABLE#3#/3,MAX#/2,MAX#1#/3,NEWLINE#/3,NEWLINE#1#/3,NEWLINE#2#/4,NEWLINE#3#/5,NEWLINE#4#/6,NEWLINE#5#/6 ,NEWLINE#6#/2,NEWLINE#7#/4,RIGHT#/1,RIGHT#1#/1,firstline#/1,firstline#1#/1,lcs#/2,lcs#1#/1,lcs#2#/1,lcs#3#/1 ,lcstable#/2,lcstable#1#/2,lcstable#2#/3,lcstable#3#/3,max#/2,max#1#/3,newline#/3,newline#1#/3,newline#2#/4 ,newline#3#/5,newline#4#/6,newline#5#/6,newline#6#/2,newline#7#/4,right#/1,right#1#/1} / {#0/0,#EQ/0,#GT/0 ,#LT/0,#false/0,#neg/1,#pos/1,#s/1,#true/0,::/2,c/0,c1/1,c10/0,c11/0,c12/0,c13/0,c14/0,c15/0,c16/0,c17/1 ,c18/0,c19/0,c2/2,c20/0,c21/1,c22/0,c23/1,c24/0,c25/0,c26/0,c27/0,c28/0,c29/1,c3/1,c30/0,c31/0,c32/0,c33/1 ,c34/0,c35/1,c36/2,c37/2,c38/0,c39/0,c4/2,c40/0,c41/0,c42/0,c43/0,c44/0,c45/0,c46/0,c47/0,c48/0,c49/0,c5/0 ,c50/0,c51/0,c52/0,c53/1,c54/2,c55/1,c56/1,c57/1,c58/1,c59/0,c6/0,c60/2,c61/1,c62/1,c63/1,c64/0,c65/1,c66/1 ,c67/2,c68/1,c69/1,c7/0,c70/1,c71/0,c72/2,c73/0,c74/0,c75/1,c76/1,c77/0,c78/2,c79/0,c8/0,c80/2,c81/2,c82/3 ,c83/0,c84/1,c85/1,c86/1,c87/0,c88/1,c9/0,nil/0,c_1/0,c_2/0,c_3/0,c_4/0,c_5/1,c_6/3,c_7/1,c_8/1,c_9/1,c_10/1 ,c_11/0,c_12/1,c_13/1,c_14/1,c_15/1,c_16/0,c_17/1,c_18/1,c_19/2,c_20/1,c_21/1,c_22/1,c_23/0,c_24/3,c_25/0 ,c_26/0,c_27/1,c_28/1,c_29/0,c_30/1,c_31/0,c_32/3,c_33/3,c_34/6,c_35/0,c_36/1,c_37/1,c_38/1,c_39/0,c_40/1 ,c_41/0,c_42/1,c_43/3,c_44/1,c_45/3,c_46/0,c_47/0,c_48/0,c_49/0,c_50/0,c_51/0,c_52/0,c_53/0,c_54/0,c_55/0 ,c_56/0,c_57/0,c_58/1,c_59/0,c_60/0,c_61/0,c_62/1,c_63/0,c_64/1,c_65/0,c_66/0,c_67/0,c_68/0,c_69/0,c_70/1 ,c_71/0,c_72/0,c_73/0,c_74/1,c_75/0,c_76/1,c_77/4,c_78/4,c_79/0,c_80/0,c_81/0,c_82/0,c_83/0,c_84/0,c_85/0 ,c_86/0,c_87/0,c_88/0,c_89/0,c_90/0,c_91/0,c_92/0,c_93/0,c_94/0,c_95/1,c_96/2,c_97/1,c_98/2,c_99/0,c_100/0 ,c_101/0,c_102/0,c_103/0,c_104/0,c_105/0,c_106/0,c_107/0,c_108/0,c_109/0,c_110/0,c_111/1,c_112/0,c_113/0 ,c_114/0,c_115/1,c_116/0,c_117/1,c_118/0,c_119/0,c_120/0,c_121/0,c_122/0,c_123/1,c_124/0,c_125/0,c_126/0 ,c_127/1,c_128/0,c_129/1,c_130/3,c_131/0,c_132/0,c_133/0,c_134/1,c_135/2,c_136/0,c_137/0,c_138/0,c_139/0 ,c_140/0,c_141/0,c_142/0,c_143/0,c_144/1,c_145/1,c_146/2,c_147/0,c_148/2,c_149/1,c_150/1,c_151/1,c_152/0 ,c_153/1,c_154/1,c_155/2,c_156/1,c_157/1,c_158/1,c_159/0,c_160/2,c_161/0,c_162/0,c_163/1,c_164/1,c_165/0 ,c_166/2,c_167/0,c_168/2,c_169/2,c_170/3,c_171/0,c_172/1,c_173/1,c_174/1,c_175/0,c_176/1} - Obligation: innermost runtime complexity wrt. defined symbols {#ABS#,#ADD#,#AND#,#CKGT#,#COMPARE#,#EQ'#,#EQUAL# ,#GREATER#,#PRED#,#SUCC#,#abs#,#add#,#and#,#ckgt#,#compare#,#eq#,#equal#,#greater#,#pred#,#succ#,+#,+'# ,FIRSTLINE#,FIRSTLINE#1#,LCS#,LCS#1#,LCS#2#,LCS#3#,LCSTABLE#,LCSTABLE#1#,LCSTABLE#2#,LCSTABLE#3#,MAX#,MAX#1# ,NEWLINE#,NEWLINE#1#,NEWLINE#2#,NEWLINE#3#,NEWLINE#4#,NEWLINE#5#,NEWLINE#6#,NEWLINE#7#,RIGHT#,RIGHT#1# ,firstline#,firstline#1#,lcs#,lcs#1#,lcs#2#,lcs#3#,lcstable#,lcstable#1#,lcstable#2#,lcstable#3#,max#,max#1# ,newline#,newline#1#,newline#2#,newline#3#,newline#4#,newline#5#,newline#6#,newline#7#,right# ,right#1#} 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,c59,c6,c60,c61,c62,c63,c64,c65 ,c66,c67,c68,c69,c7,c70,c71,c72,c73,c74,c75,c76,c77,c78,c79,c8,c80,c81,c82,c83,c84,c85,c86,c87,c88,c9,nil} + Applied Processor: Decompose {onSelection = all cycle independent sub-graph, withBound = RelativeAdd} + Details: We analyse the complexity of following sub-problems (R) and (S). Problem (S) is obtained from the input problem by shifting strict rules from (R) into the weak component. Problem (R) - Strict DPs: FIRSTLINE#(z0) -> c_8(FIRSTLINE#1#(z0)) FIRSTLINE#1#(::(z0,z1)) -> c_10(FIRSTLINE#(z1)) - Weak DPs: LCSTABLE#(z0,z1) -> c_18(LCSTABLE#1#(z0,z1)) LCSTABLE#1#(::(z0,z1),z2) -> c_19(LCSTABLE#2#(lcstable(z1,z2),z2,z0),LCSTABLE#(z1,z2)) LCSTABLE#1#(nil(),z0) -> c_20(FIRSTLINE#(z0)) LCSTABLE#2#(z0,z1,z2) -> c_21(LCSTABLE#3#(z0,z1,z2)) LCSTABLE#3#(::(z0,z1),z2,z3) -> c_22(NEWLINE#(z3,z0,z2)) NEWLINE#(z0,z1,z2) -> c_27(NEWLINE#1#(z2,z1,z0)) NEWLINE#1#(::(z0,z1),z2,z3) -> c_28(NEWLINE#2#(z2,z0,z1,z3)) NEWLINE#2#(::(z0,z1),z2,z3,z4) -> c_30(NEWLINE#(z4,z1,z3)) - Weak TRS: #abs(#0()) -> #0() #add(#0(),z0) -> z0 #add(#neg(#s(#0())),z0) -> #pred(z0) #add(#neg(#s(#s(z0))),z1) -> #pred(#add(#pos(#s(z0)),z1)) #add(#pos(#s(#0())),z0) -> #succ(z0) #add(#pos(#s(#s(z0))),z1) -> #succ(#add(#pos(#s(z0)),z1)) #and(#false(),#false()) -> #false() #and(#false(),#true()) -> #false() #and(#true(),#false()) -> #false() #and(#true(),#true()) -> #true() #ckgt(#EQ()) -> #false() #ckgt(#GT()) -> #true() #ckgt(#LT()) -> #false() #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) #greater(z0,z1) -> #ckgt(#compare(z0,z1)) #pred(#0()) -> #neg(#s(#0())) #pred(#neg(#s(z0))) -> #neg(#s(#s(z0))) #pred(#pos(#s(#0()))) -> #0() #pred(#pos(#s(#s(z0)))) -> #pos(#s(z0)) #succ(#0()) -> #pos(#s(#0())) #succ(#neg(#s(#0()))) -> #0() #succ(#neg(#s(#s(z0)))) -> #neg(#s(z0)) #succ(#pos(#s(z0))) -> #pos(#s(#s(z0))) +(z0,z1) -> #add(z0,z1) firstline(z0) -> firstline#1(z0) firstline#1(::(z0,z1)) -> ::(#abs(#0()),firstline(z1)) firstline#1(nil()) -> nil() lcstable(z0,z1) -> lcstable#1(z0,z1) lcstable#1(::(z0,z1),z2) -> lcstable#2(lcstable(z1,z2),z2,z0) lcstable#1(nil(),z0) -> ::(firstline(z0),nil()) lcstable#2(z0,z1,z2) -> lcstable#3(z0,z1,z2) lcstable#3(::(z0,z1),z2,z3) -> ::(newline(z3,z0,z2),::(z0,z1)) lcstable#3(nil(),z0,z1) -> nil() max(z0,z1) -> max#1(#greater(z0,z1),z0,z1) max#1(#false(),z0,z1) -> z1 max#1(#true(),z0,z1) -> z0 newline(z0,z1,z2) -> newline#1(z2,z1,z0) newline#1(::(z0,z1),z2,z3) -> newline#2(z2,z0,z1,z3) newline#1(nil(),z0,z1) -> nil() newline#2(::(z0,z1),z2,z3,z4) -> newline#3(newline(z4,z1,z3),z0,z1,z2,z4) newline#2(nil(),z0,z1,z2) -> nil() newline#3(z0,z1,z2,z3,z4) -> newline#4(right(z0),z1,z2,z0,z3,z4) newline#4(z0,z1,z2,z3,z4,z5) -> newline#5(right(z2),z1,z3,z0,z4,z5) newline#5(z0,z1,z2,z3,z4,z5) -> newline#6(newline#7(#equal(z4,z5),z1,z0,z3),z2) newline#6(z0,z1) -> ::(z0,z1) newline#7(#false(),z0,z1,z2) -> max(z0,z2) newline#7(#true(),z0,z1,z2) -> +(z1,#pos(#s(#0()))) right(z0) -> right#1(z0) right#1(::(z0,z1)) -> z0 right#1(nil()) -> #abs(#0()) - Signature: {#ABS/1,#ADD/2,#AND/2,#CKGT/1,#COMPARE/2,#EQ'/2,#EQUAL/2,#GREATER/2,#PRED/1,#SUCC/1,#abs/1,#add/2,#and/2 ,#ckgt/1,#compare/2,#eq/2,#equal/2,#greater/2,#pred/1,#succ/1,+/2,+'/2,FIRSTLINE/1,FIRSTLINE#1/1,LCS/2 ,LCS#1/1,LCS#2/1,LCS#3/1,LCSTABLE/2,LCSTABLE#1/2,LCSTABLE#2/3,LCSTABLE#3/3,MAX/2,MAX#1/3,NEWLINE/3 ,NEWLINE#1/3,NEWLINE#2/4,NEWLINE#3/5,NEWLINE#4/6,NEWLINE#5/6,NEWLINE#6/2,NEWLINE#7/4,RIGHT/1,RIGHT#1/1 ,firstline/1,firstline#1/1,lcs/2,lcs#1/1,lcs#2/1,lcs#3/1,lcstable/2,lcstable#1/2,lcstable#2/3,lcstable#3/3 ,max/2,max#1/3,newline/3,newline#1/3,newline#2/4,newline#3/5,newline#4/6,newline#5/6,newline#6/2 ,newline#7/4,right/1,right#1/1,#ABS#/1,#ADD#/2,#AND#/2,#CKGT#/1,#COMPARE#/2,#EQ'#/2,#EQUAL#/2,#GREATER#/2 ,#PRED#/1,#SUCC#/1,#abs#/1,#add#/2,#and#/2,#ckgt#/1,#compare#/2,#eq#/2,#equal#/2,#greater#/2,#pred#/1 ,#succ#/1,+#/2,+'#/2,FIRSTLINE#/1,FIRSTLINE#1#/1,LCS#/2,LCS#1#/1,LCS#2#/1,LCS#3#/1,LCSTABLE#/2 ,LCSTABLE#1#/2,LCSTABLE#2#/3,LCSTABLE#3#/3,MAX#/2,MAX#1#/3,NEWLINE#/3,NEWLINE#1#/3,NEWLINE#2#/4 ,NEWLINE#3#/5,NEWLINE#4#/6,NEWLINE#5#/6,NEWLINE#6#/2,NEWLINE#7#/4,RIGHT#/1,RIGHT#1#/1,firstline#/1 ,firstline#1#/1,lcs#/2,lcs#1#/1,lcs#2#/1,lcs#3#/1,lcstable#/2,lcstable#1#/2,lcstable#2#/3,lcstable#3#/3 ,max#/2,max#1#/3,newline#/3,newline#1#/3,newline#2#/4,newline#3#/5,newline#4#/6,newline#5#/6,newline#6#/2 ,newline#7#/4,right#/1,right#1#/1} / {#0/0,#EQ/0,#GT/0,#LT/0,#false/0,#neg/1,#pos/1,#s/1,#true/0,::/2,c/0 ,c1/1,c10/0,c11/0,c12/0,c13/0,c14/0,c15/0,c16/0,c17/1,c18/0,c19/0,c2/2,c20/0,c21/1,c22/0,c23/1,c24/0,c25/0 ,c26/0,c27/0,c28/0,c29/1,c3/1,c30/0,c31/0,c32/0,c33/1,c34/0,c35/1,c36/2,c37/2,c38/0,c39/0,c4/2,c40/0,c41/0 ,c42/0,c43/0,c44/0,c45/0,c46/0,c47/0,c48/0,c49/0,c5/0,c50/0,c51/0,c52/0,c53/1,c54/2,c55/1,c56/1,c57/1 ,c58/1,c59/0,c6/0,c60/2,c61/1,c62/1,c63/1,c64/0,c65/1,c66/1,c67/2,c68/1,c69/1,c7/0,c70/1,c71/0,c72/2,c73/0 ,c74/0,c75/1,c76/1,c77/0,c78/2,c79/0,c8/0,c80/2,c81/2,c82/3,c83/0,c84/1,c85/1,c86/1,c87/0,c88/1,c9/0,nil/0 ,c_1/0,c_2/0,c_3/0,c_4/0,c_5/1,c_6/3,c_7/1,c_8/1,c_9/1,c_10/1,c_11/0,c_12/1,c_13/1,c_14/1,c_15/1,c_16/0 ,c_17/1,c_18/1,c_19/2,c_20/1,c_21/1,c_22/1,c_23/0,c_24/3,c_25/0,c_26/0,c_27/1,c_28/1,c_29/0,c_30/1,c_31/0 ,c_32/3,c_33/3,c_34/6,c_35/0,c_36/1,c_37/1,c_38/1,c_39/0,c_40/1,c_41/0,c_42/1,c_43/3,c_44/1,c_45/3,c_46/0 ,c_47/0,c_48/0,c_49/0,c_50/0,c_51/0,c_52/0,c_53/0,c_54/0,c_55/0,c_56/0,c_57/0,c_58/1,c_59/0,c_60/0,c_61/0 ,c_62/1,c_63/0,c_64/1,c_65/0,c_66/0,c_67/0,c_68/0,c_69/0,c_70/1,c_71/0,c_72/0,c_73/0,c_74/1,c_75/0,c_76/1 ,c_77/4,c_78/4,c_79/0,c_80/0,c_81/0,c_82/0,c_83/0,c_84/0,c_85/0,c_86/0,c_87/0,c_88/0,c_89/0,c_90/0,c_91/0 ,c_92/0,c_93/0,c_94/0,c_95/1,c_96/2,c_97/1,c_98/2,c_99/0,c_100/0,c_101/0,c_102/0,c_103/0,c_104/0,c_105/0 ,c_106/0,c_107/0,c_108/0,c_109/0,c_110/0,c_111/1,c_112/0,c_113/0,c_114/0,c_115/1,c_116/0,c_117/1,c_118/0 ,c_119/0,c_120/0,c_121/0,c_122/0,c_123/1,c_124/0,c_125/0,c_126/0,c_127/1,c_128/0,c_129/1,c_130/3,c_131/0 ,c_132/0,c_133/0,c_134/1,c_135/2,c_136/0,c_137/0,c_138/0,c_139/0,c_140/0,c_141/0,c_142/0,c_143/0,c_144/1 ,c_145/1,c_146/2,c_147/0,c_148/2,c_149/1,c_150/1,c_151/1,c_152/0,c_153/1,c_154/1,c_155/2,c_156/1,c_157/1 ,c_158/1,c_159/0,c_160/2,c_161/0,c_162/0,c_163/1,c_164/1,c_165/0,c_166/2,c_167/0,c_168/2,c_169/2,c_170/3 ,c_171/0,c_172/1,c_173/1,c_174/1,c_175/0,c_176/1} - Obligation: innermost runtime complexity wrt. defined symbols {#ABS#,#ADD#,#AND#,#CKGT#,#COMPARE#,#EQ'#,#EQUAL# ,#GREATER#,#PRED#,#SUCC#,#abs#,#add#,#and#,#ckgt#,#compare#,#eq#,#equal#,#greater#,#pred#,#succ#,+#,+'# ,FIRSTLINE#,FIRSTLINE#1#,LCS#,LCS#1#,LCS#2#,LCS#3#,LCSTABLE#,LCSTABLE#1#,LCSTABLE#2#,LCSTABLE#3#,MAX# ,MAX#1#,NEWLINE#,NEWLINE#1#,NEWLINE#2#,NEWLINE#3#,NEWLINE#4#,NEWLINE#5#,NEWLINE#6#,NEWLINE#7#,RIGHT# ,RIGHT#1#,firstline#,firstline#1#,lcs#,lcs#1#,lcs#2#,lcs#3#,lcstable#,lcstable#1#,lcstable#2#,lcstable#3# ,max#,max#1#,newline#,newline#1#,newline#2#,newline#3#,newline#4#,newline#5#,newline#6#,newline#7#,right# ,right#1#} 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,c59,c6,c60,c61,c62,c63,c64,c65 ,c66,c67,c68,c69,c7,c70,c71,c72,c73,c74,c75,c76,c77,c78,c79,c8,c80,c81,c82,c83,c84,c85,c86,c87,c88,c9,nil} Problem (S) - Strict DPs: LCSTABLE#(z0,z1) -> c_18(LCSTABLE#1#(z0,z1)) LCSTABLE#1#(::(z0,z1),z2) -> c_19(LCSTABLE#2#(lcstable(z1,z2),z2,z0),LCSTABLE#(z1,z2)) LCSTABLE#1#(nil(),z0) -> c_20(FIRSTLINE#(z0)) LCSTABLE#2#(z0,z1,z2) -> c_21(LCSTABLE#3#(z0,z1,z2)) LCSTABLE#3#(::(z0,z1),z2,z3) -> c_22(NEWLINE#(z3,z0,z2)) NEWLINE#(z0,z1,z2) -> c_27(NEWLINE#1#(z2,z1,z0)) NEWLINE#1#(::(z0,z1),z2,z3) -> c_28(NEWLINE#2#(z2,z0,z1,z3)) NEWLINE#2#(::(z0,z1),z2,z3,z4) -> c_30(NEWLINE#(z4,z1,z3)) - Weak DPs: FIRSTLINE#(z0) -> c_8(FIRSTLINE#1#(z0)) FIRSTLINE#1#(::(z0,z1)) -> c_10(FIRSTLINE#(z1)) - Weak TRS: #abs(#0()) -> #0() #add(#0(),z0) -> z0 #add(#neg(#s(#0())),z0) -> #pred(z0) #add(#neg(#s(#s(z0))),z1) -> #pred(#add(#pos(#s(z0)),z1)) #add(#pos(#s(#0())),z0) -> #succ(z0) #add(#pos(#s(#s(z0))),z1) -> #succ(#add(#pos(#s(z0)),z1)) #and(#false(),#false()) -> #false() #and(#false(),#true()) -> #false() #and(#true(),#false()) -> #false() #and(#true(),#true()) -> #true() #ckgt(#EQ()) -> #false() #ckgt(#GT()) -> #true() #ckgt(#LT()) -> #false() #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) #greater(z0,z1) -> #ckgt(#compare(z0,z1)) #pred(#0()) -> #neg(#s(#0())) #pred(#neg(#s(z0))) -> #neg(#s(#s(z0))) #pred(#pos(#s(#0()))) -> #0() #pred(#pos(#s(#s(z0)))) -> #pos(#s(z0)) #succ(#0()) -> #pos(#s(#0())) #succ(#neg(#s(#0()))) -> #0() #succ(#neg(#s(#s(z0)))) -> #neg(#s(z0)) #succ(#pos(#s(z0))) -> #pos(#s(#s(z0))) +(z0,z1) -> #add(z0,z1) firstline(z0) -> firstline#1(z0) firstline#1(::(z0,z1)) -> ::(#abs(#0()),firstline(z1)) firstline#1(nil()) -> nil() lcstable(z0,z1) -> lcstable#1(z0,z1) lcstable#1(::(z0,z1),z2) -> lcstable#2(lcstable(z1,z2),z2,z0) lcstable#1(nil(),z0) -> ::(firstline(z0),nil()) lcstable#2(z0,z1,z2) -> lcstable#3(z0,z1,z2) lcstable#3(::(z0,z1),z2,z3) -> ::(newline(z3,z0,z2),::(z0,z1)) lcstable#3(nil(),z0,z1) -> nil() max(z0,z1) -> max#1(#greater(z0,z1),z0,z1) max#1(#false(),z0,z1) -> z1 max#1(#true(),z0,z1) -> z0 newline(z0,z1,z2) -> newline#1(z2,z1,z0) newline#1(::(z0,z1),z2,z3) -> newline#2(z2,z0,z1,z3) newline#1(nil(),z0,z1) -> nil() newline#2(::(z0,z1),z2,z3,z4) -> newline#3(newline(z4,z1,z3),z0,z1,z2,z4) newline#2(nil(),z0,z1,z2) -> nil() newline#3(z0,z1,z2,z3,z4) -> newline#4(right(z0),z1,z2,z0,z3,z4) newline#4(z0,z1,z2,z3,z4,z5) -> newline#5(right(z2),z1,z3,z0,z4,z5) newline#5(z0,z1,z2,z3,z4,z5) -> newline#6(newline#7(#equal(z4,z5),z1,z0,z3),z2) newline#6(z0,z1) -> ::(z0,z1) newline#7(#false(),z0,z1,z2) -> max(z0,z2) newline#7(#true(),z0,z1,z2) -> +(z1,#pos(#s(#0()))) right(z0) -> right#1(z0) right#1(::(z0,z1)) -> z0 right#1(nil()) -> #abs(#0()) - Signature: {#ABS/1,#ADD/2,#AND/2,#CKGT/1,#COMPARE/2,#EQ'/2,#EQUAL/2,#GREATER/2,#PRED/1,#SUCC/1,#abs/1,#add/2,#and/2 ,#ckgt/1,#compare/2,#eq/2,#equal/2,#greater/2,#pred/1,#succ/1,+/2,+'/2,FIRSTLINE/1,FIRSTLINE#1/1,LCS/2 ,LCS#1/1,LCS#2/1,LCS#3/1,LCSTABLE/2,LCSTABLE#1/2,LCSTABLE#2/3,LCSTABLE#3/3,MAX/2,MAX#1/3,NEWLINE/3 ,NEWLINE#1/3,NEWLINE#2/4,NEWLINE#3/5,NEWLINE#4/6,NEWLINE#5/6,NEWLINE#6/2,NEWLINE#7/4,RIGHT/1,RIGHT#1/1 ,firstline/1,firstline#1/1,lcs/2,lcs#1/1,lcs#2/1,lcs#3/1,lcstable/2,lcstable#1/2,lcstable#2/3,lcstable#3/3 ,max/2,max#1/3,newline/3,newline#1/3,newline#2/4,newline#3/5,newline#4/6,newline#5/6,newline#6/2 ,newline#7/4,right/1,right#1/1,#ABS#/1,#ADD#/2,#AND#/2,#CKGT#/1,#COMPARE#/2,#EQ'#/2,#EQUAL#/2,#GREATER#/2 ,#PRED#/1,#SUCC#/1,#abs#/1,#add#/2,#and#/2,#ckgt#/1,#compare#/2,#eq#/2,#equal#/2,#greater#/2,#pred#/1 ,#succ#/1,+#/2,+'#/2,FIRSTLINE#/1,FIRSTLINE#1#/1,LCS#/2,LCS#1#/1,LCS#2#/1,LCS#3#/1,LCSTABLE#/2 ,LCSTABLE#1#/2,LCSTABLE#2#/3,LCSTABLE#3#/3,MAX#/2,MAX#1#/3,NEWLINE#/3,NEWLINE#1#/3,NEWLINE#2#/4 ,NEWLINE#3#/5,NEWLINE#4#/6,NEWLINE#5#/6,NEWLINE#6#/2,NEWLINE#7#/4,RIGHT#/1,RIGHT#1#/1,firstline#/1 ,firstline#1#/1,lcs#/2,lcs#1#/1,lcs#2#/1,lcs#3#/1,lcstable#/2,lcstable#1#/2,lcstable#2#/3,lcstable#3#/3 ,max#/2,max#1#/3,newline#/3,newline#1#/3,newline#2#/4,newline#3#/5,newline#4#/6,newline#5#/6,newline#6#/2 ,newline#7#/4,right#/1,right#1#/1} / {#0/0,#EQ/0,#GT/0,#LT/0,#false/0,#neg/1,#pos/1,#s/1,#true/0,::/2,c/0 ,c1/1,c10/0,c11/0,c12/0,c13/0,c14/0,c15/0,c16/0,c17/1,c18/0,c19/0,c2/2,c20/0,c21/1,c22/0,c23/1,c24/0,c25/0 ,c26/0,c27/0,c28/0,c29/1,c3/1,c30/0,c31/0,c32/0,c33/1,c34/0,c35/1,c36/2,c37/2,c38/0,c39/0,c4/2,c40/0,c41/0 ,c42/0,c43/0,c44/0,c45/0,c46/0,c47/0,c48/0,c49/0,c5/0,c50/0,c51/0,c52/0,c53/1,c54/2,c55/1,c56/1,c57/1 ,c58/1,c59/0,c6/0,c60/2,c61/1,c62/1,c63/1,c64/0,c65/1,c66/1,c67/2,c68/1,c69/1,c7/0,c70/1,c71/0,c72/2,c73/0 ,c74/0,c75/1,c76/1,c77/0,c78/2,c79/0,c8/0,c80/2,c81/2,c82/3,c83/0,c84/1,c85/1,c86/1,c87/0,c88/1,c9/0,nil/0 ,c_1/0,c_2/0,c_3/0,c_4/0,c_5/1,c_6/3,c_7/1,c_8/1,c_9/1,c_10/1,c_11/0,c_12/1,c_13/1,c_14/1,c_15/1,c_16/0 ,c_17/1,c_18/1,c_19/2,c_20/1,c_21/1,c_22/1,c_23/0,c_24/3,c_25/0,c_26/0,c_27/1,c_28/1,c_29/0,c_30/1,c_31/0 ,c_32/3,c_33/3,c_34/6,c_35/0,c_36/1,c_37/1,c_38/1,c_39/0,c_40/1,c_41/0,c_42/1,c_43/3,c_44/1,c_45/3,c_46/0 ,c_47/0,c_48/0,c_49/0,c_50/0,c_51/0,c_52/0,c_53/0,c_54/0,c_55/0,c_56/0,c_57/0,c_58/1,c_59/0,c_60/0,c_61/0 ,c_62/1,c_63/0,c_64/1,c_65/0,c_66/0,c_67/0,c_68/0,c_69/0,c_70/1,c_71/0,c_72/0,c_73/0,c_74/1,c_75/0,c_76/1 ,c_77/4,c_78/4,c_79/0,c_80/0,c_81/0,c_82/0,c_83/0,c_84/0,c_85/0,c_86/0,c_87/0,c_88/0,c_89/0,c_90/0,c_91/0 ,c_92/0,c_93/0,c_94/0,c_95/1,c_96/2,c_97/1,c_98/2,c_99/0,c_100/0,c_101/0,c_102/0,c_103/0,c_104/0,c_105/0 ,c_106/0,c_107/0,c_108/0,c_109/0,c_110/0,c_111/1,c_112/0,c_113/0,c_114/0,c_115/1,c_116/0,c_117/1,c_118/0 ,c_119/0,c_120/0,c_121/0,c_122/0,c_123/1,c_124/0,c_125/0,c_126/0,c_127/1,c_128/0,c_129/1,c_130/3,c_131/0 ,c_132/0,c_133/0,c_134/1,c_135/2,c_136/0,c_137/0,c_138/0,c_139/0,c_140/0,c_141/0,c_142/0,c_143/0,c_144/1 ,c_145/1,c_146/2,c_147/0,c_148/2,c_149/1,c_150/1,c_151/1,c_152/0,c_153/1,c_154/1,c_155/2,c_156/1,c_157/1 ,c_158/1,c_159/0,c_160/2,c_161/0,c_162/0,c_163/1,c_164/1,c_165/0,c_166/2,c_167/0,c_168/2,c_169/2,c_170/3 ,c_171/0,c_172/1,c_173/1,c_174/1,c_175/0,c_176/1} - Obligation: innermost runtime complexity wrt. defined symbols {#ABS#,#ADD#,#AND#,#CKGT#,#COMPARE#,#EQ'#,#EQUAL# ,#GREATER#,#PRED#,#SUCC#,#abs#,#add#,#and#,#ckgt#,#compare#,#eq#,#equal#,#greater#,#pred#,#succ#,+#,+'# ,FIRSTLINE#,FIRSTLINE#1#,LCS#,LCS#1#,LCS#2#,LCS#3#,LCSTABLE#,LCSTABLE#1#,LCSTABLE#2#,LCSTABLE#3#,MAX# ,MAX#1#,NEWLINE#,NEWLINE#1#,NEWLINE#2#,NEWLINE#3#,NEWLINE#4#,NEWLINE#5#,NEWLINE#6#,NEWLINE#7#,RIGHT# ,RIGHT#1#,firstline#,firstline#1#,lcs#,lcs#1#,lcs#2#,lcs#3#,lcstable#,lcstable#1#,lcstable#2#,lcstable#3# ,max#,max#1#,newline#,newline#1#,newline#2#,newline#3#,newline#4#,newline#5#,newline#6#,newline#7#,right# ,right#1#} 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,c59,c6,c60,c61,c62,c63,c64,c65 ,c66,c67,c68,c69,c7,c70,c71,c72,c73,c74,c75,c76,c77,c78,c79,c8,c80,c81,c82,c83,c84,c85,c86,c87,c88,c9,nil} ** Step 13.a:1: RemoveWeakSuffixes. WORST_CASE(?,O(n^1)) + Considered Problem: - Strict DPs: FIRSTLINE#(z0) -> c_8(FIRSTLINE#1#(z0)) FIRSTLINE#1#(::(z0,z1)) -> c_10(FIRSTLINE#(z1)) - Weak DPs: LCSTABLE#(z0,z1) -> c_18(LCSTABLE#1#(z0,z1)) LCSTABLE#1#(::(z0,z1),z2) -> c_19(LCSTABLE#2#(lcstable(z1,z2),z2,z0),LCSTABLE#(z1,z2)) LCSTABLE#1#(nil(),z0) -> c_20(FIRSTLINE#(z0)) LCSTABLE#2#(z0,z1,z2) -> c_21(LCSTABLE#3#(z0,z1,z2)) LCSTABLE#3#(::(z0,z1),z2,z3) -> c_22(NEWLINE#(z3,z0,z2)) NEWLINE#(z0,z1,z2) -> c_27(NEWLINE#1#(z2,z1,z0)) NEWLINE#1#(::(z0,z1),z2,z3) -> c_28(NEWLINE#2#(z2,z0,z1,z3)) NEWLINE#2#(::(z0,z1),z2,z3,z4) -> c_30(NEWLINE#(z4,z1,z3)) - Weak TRS: #abs(#0()) -> #0() #add(#0(),z0) -> z0 #add(#neg(#s(#0())),z0) -> #pred(z0) #add(#neg(#s(#s(z0))),z1) -> #pred(#add(#pos(#s(z0)),z1)) #add(#pos(#s(#0())),z0) -> #succ(z0) #add(#pos(#s(#s(z0))),z1) -> #succ(#add(#pos(#s(z0)),z1)) #and(#false(),#false()) -> #false() #and(#false(),#true()) -> #false() #and(#true(),#false()) -> #false() #and(#true(),#true()) -> #true() #ckgt(#EQ()) -> #false() #ckgt(#GT()) -> #true() #ckgt(#LT()) -> #false() #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) #greater(z0,z1) -> #ckgt(#compare(z0,z1)) #pred(#0()) -> #neg(#s(#0())) #pred(#neg(#s(z0))) -> #neg(#s(#s(z0))) #pred(#pos(#s(#0()))) -> #0() #pred(#pos(#s(#s(z0)))) -> #pos(#s(z0)) #succ(#0()) -> #pos(#s(#0())) #succ(#neg(#s(#0()))) -> #0() #succ(#neg(#s(#s(z0)))) -> #neg(#s(z0)) #succ(#pos(#s(z0))) -> #pos(#s(#s(z0))) +(z0,z1) -> #add(z0,z1) firstline(z0) -> firstline#1(z0) firstline#1(::(z0,z1)) -> ::(#abs(#0()),firstline(z1)) firstline#1(nil()) -> nil() lcstable(z0,z1) -> lcstable#1(z0,z1) lcstable#1(::(z0,z1),z2) -> lcstable#2(lcstable(z1,z2),z2,z0) lcstable#1(nil(),z0) -> ::(firstline(z0),nil()) lcstable#2(z0,z1,z2) -> lcstable#3(z0,z1,z2) lcstable#3(::(z0,z1),z2,z3) -> ::(newline(z3,z0,z2),::(z0,z1)) lcstable#3(nil(),z0,z1) -> nil() max(z0,z1) -> max#1(#greater(z0,z1),z0,z1) max#1(#false(),z0,z1) -> z1 max#1(#true(),z0,z1) -> z0 newline(z0,z1,z2) -> newline#1(z2,z1,z0) newline#1(::(z0,z1),z2,z3) -> newline#2(z2,z0,z1,z3) newline#1(nil(),z0,z1) -> nil() newline#2(::(z0,z1),z2,z3,z4) -> newline#3(newline(z4,z1,z3),z0,z1,z2,z4) newline#2(nil(),z0,z1,z2) -> nil() newline#3(z0,z1,z2,z3,z4) -> newline#4(right(z0),z1,z2,z0,z3,z4) newline#4(z0,z1,z2,z3,z4,z5) -> newline#5(right(z2),z1,z3,z0,z4,z5) newline#5(z0,z1,z2,z3,z4,z5) -> newline#6(newline#7(#equal(z4,z5),z1,z0,z3),z2) newline#6(z0,z1) -> ::(z0,z1) newline#7(#false(),z0,z1,z2) -> max(z0,z2) newline#7(#true(),z0,z1,z2) -> +(z1,#pos(#s(#0()))) right(z0) -> right#1(z0) right#1(::(z0,z1)) -> z0 right#1(nil()) -> #abs(#0()) - Signature: {#ABS/1,#ADD/2,#AND/2,#CKGT/1,#COMPARE/2,#EQ'/2,#EQUAL/2,#GREATER/2,#PRED/1,#SUCC/1,#abs/1,#add/2,#and/2 ,#ckgt/1,#compare/2,#eq/2,#equal/2,#greater/2,#pred/1,#succ/1,+/2,+'/2,FIRSTLINE/1,FIRSTLINE#1/1,LCS/2 ,LCS#1/1,LCS#2/1,LCS#3/1,LCSTABLE/2,LCSTABLE#1/2,LCSTABLE#2/3,LCSTABLE#3/3,MAX/2,MAX#1/3,NEWLINE/3 ,NEWLINE#1/3,NEWLINE#2/4,NEWLINE#3/5,NEWLINE#4/6,NEWLINE#5/6,NEWLINE#6/2,NEWLINE#7/4,RIGHT/1,RIGHT#1/1 ,firstline/1,firstline#1/1,lcs/2,lcs#1/1,lcs#2/1,lcs#3/1,lcstable/2,lcstable#1/2,lcstable#2/3,lcstable#3/3 ,max/2,max#1/3,newline/3,newline#1/3,newline#2/4,newline#3/5,newline#4/6,newline#5/6,newline#6/2,newline#7/4 ,right/1,right#1/1,#ABS#/1,#ADD#/2,#AND#/2,#CKGT#/1,#COMPARE#/2,#EQ'#/2,#EQUAL#/2,#GREATER#/2,#PRED#/1 ,#SUCC#/1,#abs#/1,#add#/2,#and#/2,#ckgt#/1,#compare#/2,#eq#/2,#equal#/2,#greater#/2,#pred#/1,#succ#/1,+#/2 ,+'#/2,FIRSTLINE#/1,FIRSTLINE#1#/1,LCS#/2,LCS#1#/1,LCS#2#/1,LCS#3#/1,LCSTABLE#/2,LCSTABLE#1#/2,LCSTABLE#2#/3 ,LCSTABLE#3#/3,MAX#/2,MAX#1#/3,NEWLINE#/3,NEWLINE#1#/3,NEWLINE#2#/4,NEWLINE#3#/5,NEWLINE#4#/6,NEWLINE#5#/6 ,NEWLINE#6#/2,NEWLINE#7#/4,RIGHT#/1,RIGHT#1#/1,firstline#/1,firstline#1#/1,lcs#/2,lcs#1#/1,lcs#2#/1,lcs#3#/1 ,lcstable#/2,lcstable#1#/2,lcstable#2#/3,lcstable#3#/3,max#/2,max#1#/3,newline#/3,newline#1#/3,newline#2#/4 ,newline#3#/5,newline#4#/6,newline#5#/6,newline#6#/2,newline#7#/4,right#/1,right#1#/1} / {#0/0,#EQ/0,#GT/0 ,#LT/0,#false/0,#neg/1,#pos/1,#s/1,#true/0,::/2,c/0,c1/1,c10/0,c11/0,c12/0,c13/0,c14/0,c15/0,c16/0,c17/1 ,c18/0,c19/0,c2/2,c20/0,c21/1,c22/0,c23/1,c24/0,c25/0,c26/0,c27/0,c28/0,c29/1,c3/1,c30/0,c31/0,c32/0,c33/1 ,c34/0,c35/1,c36/2,c37/2,c38/0,c39/0,c4/2,c40/0,c41/0,c42/0,c43/0,c44/0,c45/0,c46/0,c47/0,c48/0,c49/0,c5/0 ,c50/0,c51/0,c52/0,c53/1,c54/2,c55/1,c56/1,c57/1,c58/1,c59/0,c6/0,c60/2,c61/1,c62/1,c63/1,c64/0,c65/1,c66/1 ,c67/2,c68/1,c69/1,c7/0,c70/1,c71/0,c72/2,c73/0,c74/0,c75/1,c76/1,c77/0,c78/2,c79/0,c8/0,c80/2,c81/2,c82/3 ,c83/0,c84/1,c85/1,c86/1,c87/0,c88/1,c9/0,nil/0,c_1/0,c_2/0,c_3/0,c_4/0,c_5/1,c_6/3,c_7/1,c_8/1,c_9/1,c_10/1 ,c_11/0,c_12/1,c_13/1,c_14/1,c_15/1,c_16/0,c_17/1,c_18/1,c_19/2,c_20/1,c_21/1,c_22/1,c_23/0,c_24/3,c_25/0 ,c_26/0,c_27/1,c_28/1,c_29/0,c_30/1,c_31/0,c_32/3,c_33/3,c_34/6,c_35/0,c_36/1,c_37/1,c_38/1,c_39/0,c_40/1 ,c_41/0,c_42/1,c_43/3,c_44/1,c_45/3,c_46/0,c_47/0,c_48/0,c_49/0,c_50/0,c_51/0,c_52/0,c_53/0,c_54/0,c_55/0 ,c_56/0,c_57/0,c_58/1,c_59/0,c_60/0,c_61/0,c_62/1,c_63/0,c_64/1,c_65/0,c_66/0,c_67/0,c_68/0,c_69/0,c_70/1 ,c_71/0,c_72/0,c_73/0,c_74/1,c_75/0,c_76/1,c_77/4,c_78/4,c_79/0,c_80/0,c_81/0,c_82/0,c_83/0,c_84/0,c_85/0 ,c_86/0,c_87/0,c_88/0,c_89/0,c_90/0,c_91/0,c_92/0,c_93/0,c_94/0,c_95/1,c_96/2,c_97/1,c_98/2,c_99/0,c_100/0 ,c_101/0,c_102/0,c_103/0,c_104/0,c_105/0,c_106/0,c_107/0,c_108/0,c_109/0,c_110/0,c_111/1,c_112/0,c_113/0 ,c_114/0,c_115/1,c_116/0,c_117/1,c_118/0,c_119/0,c_120/0,c_121/0,c_122/0,c_123/1,c_124/0,c_125/0,c_126/0 ,c_127/1,c_128/0,c_129/1,c_130/3,c_131/0,c_132/0,c_133/0,c_134/1,c_135/2,c_136/0,c_137/0,c_138/0,c_139/0 ,c_140/0,c_141/0,c_142/0,c_143/0,c_144/1,c_145/1,c_146/2,c_147/0,c_148/2,c_149/1,c_150/1,c_151/1,c_152/0 ,c_153/1,c_154/1,c_155/2,c_156/1,c_157/1,c_158/1,c_159/0,c_160/2,c_161/0,c_162/0,c_163/1,c_164/1,c_165/0 ,c_166/2,c_167/0,c_168/2,c_169/2,c_170/3,c_171/0,c_172/1,c_173/1,c_174/1,c_175/0,c_176/1} - Obligation: innermost runtime complexity wrt. defined symbols {#ABS#,#ADD#,#AND#,#CKGT#,#COMPARE#,#EQ'#,#EQUAL# ,#GREATER#,#PRED#,#SUCC#,#abs#,#add#,#and#,#ckgt#,#compare#,#eq#,#equal#,#greater#,#pred#,#succ#,+#,+'# ,FIRSTLINE#,FIRSTLINE#1#,LCS#,LCS#1#,LCS#2#,LCS#3#,LCSTABLE#,LCSTABLE#1#,LCSTABLE#2#,LCSTABLE#3#,MAX#,MAX#1# ,NEWLINE#,NEWLINE#1#,NEWLINE#2#,NEWLINE#3#,NEWLINE#4#,NEWLINE#5#,NEWLINE#6#,NEWLINE#7#,RIGHT#,RIGHT#1# ,firstline#,firstline#1#,lcs#,lcs#1#,lcs#2#,lcs#3#,lcstable#,lcstable#1#,lcstable#2#,lcstable#3#,max#,max#1# ,newline#,newline#1#,newline#2#,newline#3#,newline#4#,newline#5#,newline#6#,newline#7#,right# ,right#1#} 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,c59,c6,c60,c61,c62,c63,c64,c65 ,c66,c67,c68,c69,c7,c70,c71,c72,c73,c74,c75,c76,c77,c78,c79,c8,c80,c81,c82,c83,c84,c85,c86,c87,c88,c9,nil} + Applied Processor: RemoveWeakSuffixes + Details: Consider the dependency graph 1:S:FIRSTLINE#(z0) -> c_8(FIRSTLINE#1#(z0)) -->_1 FIRSTLINE#1#(::(z0,z1)) -> c_10(FIRSTLINE#(z1)):2 2:S:FIRSTLINE#1#(::(z0,z1)) -> c_10(FIRSTLINE#(z1)) -->_1 FIRSTLINE#(z0) -> c_8(FIRSTLINE#1#(z0)):1 4:W:LCSTABLE#(z0,z1) -> c_18(LCSTABLE#1#(z0,z1)) -->_1 LCSTABLE#1#(nil(),z0) -> c_20(FIRSTLINE#(z0)):6 -->_1 LCSTABLE#1#(::(z0,z1),z2) -> c_19(LCSTABLE#2#(lcstable(z1,z2),z2,z0),LCSTABLE#(z1,z2)):5 5:W:LCSTABLE#1#(::(z0,z1),z2) -> c_19(LCSTABLE#2#(lcstable(z1,z2),z2,z0),LCSTABLE#(z1,z2)) -->_2 LCSTABLE#(z0,z1) -> c_18(LCSTABLE#1#(z0,z1)):4 -->_1 LCSTABLE#2#(z0,z1,z2) -> c_21(LCSTABLE#3#(z0,z1,z2)):7 6:W:LCSTABLE#1#(nil(),z0) -> c_20(FIRSTLINE#(z0)) -->_1 FIRSTLINE#(z0) -> c_8(FIRSTLINE#1#(z0)):1 7:W:LCSTABLE#2#(z0,z1,z2) -> c_21(LCSTABLE#3#(z0,z1,z2)) -->_1 LCSTABLE#3#(::(z0,z1),z2,z3) -> c_22(NEWLINE#(z3,z0,z2)):8 8:W:LCSTABLE#3#(::(z0,z1),z2,z3) -> c_22(NEWLINE#(z3,z0,z2)) -->_1 NEWLINE#(z0,z1,z2) -> c_27(NEWLINE#1#(z2,z1,z0)):9 9:W:NEWLINE#(z0,z1,z2) -> c_27(NEWLINE#1#(z2,z1,z0)) -->_1 NEWLINE#1#(::(z0,z1),z2,z3) -> c_28(NEWLINE#2#(z2,z0,z1,z3)):10 10:W:NEWLINE#1#(::(z0,z1),z2,z3) -> c_28(NEWLINE#2#(z2,z0,z1,z3)) -->_1 NEWLINE#2#(::(z0,z1),z2,z3,z4) -> c_30(NEWLINE#(z4,z1,z3)):11 11:W:NEWLINE#2#(::(z0,z1),z2,z3,z4) -> c_30(NEWLINE#(z4,z1,z3)) -->_1 NEWLINE#(z0,z1,z2) -> c_27(NEWLINE#1#(z2,z1,z0)):9 The following weak DPs constitute a sub-graph of the DG that is closed under successors. The DPs are removed. 7: LCSTABLE#2#(z0,z1,z2) -> c_21(LCSTABLE#3#(z0,z1,z2)) 8: LCSTABLE#3#(::(z0,z1),z2,z3) -> c_22(NEWLINE#(z3,z0,z2)) 9: NEWLINE#(z0,z1,z2) -> c_27(NEWLINE#1#(z2,z1,z0)) 11: NEWLINE#2#(::(z0,z1),z2,z3,z4) -> c_30(NEWLINE#(z4,z1,z3)) 10: NEWLINE#1#(::(z0,z1),z2,z3) -> c_28(NEWLINE#2#(z2,z0,z1,z3)) ** Step 13.a:2: SimplifyRHS. WORST_CASE(?,O(n^1)) + Considered Problem: - Strict DPs: FIRSTLINE#(z0) -> c_8(FIRSTLINE#1#(z0)) FIRSTLINE#1#(::(z0,z1)) -> c_10(FIRSTLINE#(z1)) - Weak DPs: LCSTABLE#(z0,z1) -> c_18(LCSTABLE#1#(z0,z1)) LCSTABLE#1#(::(z0,z1),z2) -> c_19(LCSTABLE#2#(lcstable(z1,z2),z2,z0),LCSTABLE#(z1,z2)) LCSTABLE#1#(nil(),z0) -> c_20(FIRSTLINE#(z0)) - Weak TRS: #abs(#0()) -> #0() #add(#0(),z0) -> z0 #add(#neg(#s(#0())),z0) -> #pred(z0) #add(#neg(#s(#s(z0))),z1) -> #pred(#add(#pos(#s(z0)),z1)) #add(#pos(#s(#0())),z0) -> #succ(z0) #add(#pos(#s(#s(z0))),z1) -> #succ(#add(#pos(#s(z0)),z1)) #and(#false(),#false()) -> #false() #and(#false(),#true()) -> #false() #and(#true(),#false()) -> #false() #and(#true(),#true()) -> #true() #ckgt(#EQ()) -> #false() #ckgt(#GT()) -> #true() #ckgt(#LT()) -> #false() #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) #greater(z0,z1) -> #ckgt(#compare(z0,z1)) #pred(#0()) -> #neg(#s(#0())) #pred(#neg(#s(z0))) -> #neg(#s(#s(z0))) #pred(#pos(#s(#0()))) -> #0() #pred(#pos(#s(#s(z0)))) -> #pos(#s(z0)) #succ(#0()) -> #pos(#s(#0())) #succ(#neg(#s(#0()))) -> #0() #succ(#neg(#s(#s(z0)))) -> #neg(#s(z0)) #succ(#pos(#s(z0))) -> #pos(#s(#s(z0))) +(z0,z1) -> #add(z0,z1) firstline(z0) -> firstline#1(z0) firstline#1(::(z0,z1)) -> ::(#abs(#0()),firstline(z1)) firstline#1(nil()) -> nil() lcstable(z0,z1) -> lcstable#1(z0,z1) lcstable#1(::(z0,z1),z2) -> lcstable#2(lcstable(z1,z2),z2,z0) lcstable#1(nil(),z0) -> ::(firstline(z0),nil()) lcstable#2(z0,z1,z2) -> lcstable#3(z0,z1,z2) lcstable#3(::(z0,z1),z2,z3) -> ::(newline(z3,z0,z2),::(z0,z1)) lcstable#3(nil(),z0,z1) -> nil() max(z0,z1) -> max#1(#greater(z0,z1),z0,z1) max#1(#false(),z0,z1) -> z1 max#1(#true(),z0,z1) -> z0 newline(z0,z1,z2) -> newline#1(z2,z1,z0) newline#1(::(z0,z1),z2,z3) -> newline#2(z2,z0,z1,z3) newline#1(nil(),z0,z1) -> nil() newline#2(::(z0,z1),z2,z3,z4) -> newline#3(newline(z4,z1,z3),z0,z1,z2,z4) newline#2(nil(),z0,z1,z2) -> nil() newline#3(z0,z1,z2,z3,z4) -> newline#4(right(z0),z1,z2,z0,z3,z4) newline#4(z0,z1,z2,z3,z4,z5) -> newline#5(right(z2),z1,z3,z0,z4,z5) newline#5(z0,z1,z2,z3,z4,z5) -> newline#6(newline#7(#equal(z4,z5),z1,z0,z3),z2) newline#6(z0,z1) -> ::(z0,z1) newline#7(#false(),z0,z1,z2) -> max(z0,z2) newline#7(#true(),z0,z1,z2) -> +(z1,#pos(#s(#0()))) right(z0) -> right#1(z0) right#1(::(z0,z1)) -> z0 right#1(nil()) -> #abs(#0()) - Signature: {#ABS/1,#ADD/2,#AND/2,#CKGT/1,#COMPARE/2,#EQ'/2,#EQUAL/2,#GREATER/2,#PRED/1,#SUCC/1,#abs/1,#add/2,#and/2 ,#ckgt/1,#compare/2,#eq/2,#equal/2,#greater/2,#pred/1,#succ/1,+/2,+'/2,FIRSTLINE/1,FIRSTLINE#1/1,LCS/2 ,LCS#1/1,LCS#2/1,LCS#3/1,LCSTABLE/2,LCSTABLE#1/2,LCSTABLE#2/3,LCSTABLE#3/3,MAX/2,MAX#1/3,NEWLINE/3 ,NEWLINE#1/3,NEWLINE#2/4,NEWLINE#3/5,NEWLINE#4/6,NEWLINE#5/6,NEWLINE#6/2,NEWLINE#7/4,RIGHT/1,RIGHT#1/1 ,firstline/1,firstline#1/1,lcs/2,lcs#1/1,lcs#2/1,lcs#3/1,lcstable/2,lcstable#1/2,lcstable#2/3,lcstable#3/3 ,max/2,max#1/3,newline/3,newline#1/3,newline#2/4,newline#3/5,newline#4/6,newline#5/6,newline#6/2,newline#7/4 ,right/1,right#1/1,#ABS#/1,#ADD#/2,#AND#/2,#CKGT#/1,#COMPARE#/2,#EQ'#/2,#EQUAL#/2,#GREATER#/2,#PRED#/1 ,#SUCC#/1,#abs#/1,#add#/2,#and#/2,#ckgt#/1,#compare#/2,#eq#/2,#equal#/2,#greater#/2,#pred#/1,#succ#/1,+#/2 ,+'#/2,FIRSTLINE#/1,FIRSTLINE#1#/1,LCS#/2,LCS#1#/1,LCS#2#/1,LCS#3#/1,LCSTABLE#/2,LCSTABLE#1#/2,LCSTABLE#2#/3 ,LCSTABLE#3#/3,MAX#/2,MAX#1#/3,NEWLINE#/3,NEWLINE#1#/3,NEWLINE#2#/4,NEWLINE#3#/5,NEWLINE#4#/6,NEWLINE#5#/6 ,NEWLINE#6#/2,NEWLINE#7#/4,RIGHT#/1,RIGHT#1#/1,firstline#/1,firstline#1#/1,lcs#/2,lcs#1#/1,lcs#2#/1,lcs#3#/1 ,lcstable#/2,lcstable#1#/2,lcstable#2#/3,lcstable#3#/3,max#/2,max#1#/3,newline#/3,newline#1#/3,newline#2#/4 ,newline#3#/5,newline#4#/6,newline#5#/6,newline#6#/2,newline#7#/4,right#/1,right#1#/1} / {#0/0,#EQ/0,#GT/0 ,#LT/0,#false/0,#neg/1,#pos/1,#s/1,#true/0,::/2,c/0,c1/1,c10/0,c11/0,c12/0,c13/0,c14/0,c15/0,c16/0,c17/1 ,c18/0,c19/0,c2/2,c20/0,c21/1,c22/0,c23/1,c24/0,c25/0,c26/0,c27/0,c28/0,c29/1,c3/1,c30/0,c31/0,c32/0,c33/1 ,c34/0,c35/1,c36/2,c37/2,c38/0,c39/0,c4/2,c40/0,c41/0,c42/0,c43/0,c44/0,c45/0,c46/0,c47/0,c48/0,c49/0,c5/0 ,c50/0,c51/0,c52/0,c53/1,c54/2,c55/1,c56/1,c57/1,c58/1,c59/0,c6/0,c60/2,c61/1,c62/1,c63/1,c64/0,c65/1,c66/1 ,c67/2,c68/1,c69/1,c7/0,c70/1,c71/0,c72/2,c73/0,c74/0,c75/1,c76/1,c77/0,c78/2,c79/0,c8/0,c80/2,c81/2,c82/3 ,c83/0,c84/1,c85/1,c86/1,c87/0,c88/1,c9/0,nil/0,c_1/0,c_2/0,c_3/0,c_4/0,c_5/1,c_6/3,c_7/1,c_8/1,c_9/1,c_10/1 ,c_11/0,c_12/1,c_13/1,c_14/1,c_15/1,c_16/0,c_17/1,c_18/1,c_19/2,c_20/1,c_21/1,c_22/1,c_23/0,c_24/3,c_25/0 ,c_26/0,c_27/1,c_28/1,c_29/0,c_30/1,c_31/0,c_32/3,c_33/3,c_34/6,c_35/0,c_36/1,c_37/1,c_38/1,c_39/0,c_40/1 ,c_41/0,c_42/1,c_43/3,c_44/1,c_45/3,c_46/0,c_47/0,c_48/0,c_49/0,c_50/0,c_51/0,c_52/0,c_53/0,c_54/0,c_55/0 ,c_56/0,c_57/0,c_58/1,c_59/0,c_60/0,c_61/0,c_62/1,c_63/0,c_64/1,c_65/0,c_66/0,c_67/0,c_68/0,c_69/0,c_70/1 ,c_71/0,c_72/0,c_73/0,c_74/1,c_75/0,c_76/1,c_77/4,c_78/4,c_79/0,c_80/0,c_81/0,c_82/0,c_83/0,c_84/0,c_85/0 ,c_86/0,c_87/0,c_88/0,c_89/0,c_90/0,c_91/0,c_92/0,c_93/0,c_94/0,c_95/1,c_96/2,c_97/1,c_98/2,c_99/0,c_100/0 ,c_101/0,c_102/0,c_103/0,c_104/0,c_105/0,c_106/0,c_107/0,c_108/0,c_109/0,c_110/0,c_111/1,c_112/0,c_113/0 ,c_114/0,c_115/1,c_116/0,c_117/1,c_118/0,c_119/0,c_120/0,c_121/0,c_122/0,c_123/1,c_124/0,c_125/0,c_126/0 ,c_127/1,c_128/0,c_129/1,c_130/3,c_131/0,c_132/0,c_133/0,c_134/1,c_135/2,c_136/0,c_137/0,c_138/0,c_139/0 ,c_140/0,c_141/0,c_142/0,c_143/0,c_144/1,c_145/1,c_146/2,c_147/0,c_148/2,c_149/1,c_150/1,c_151/1,c_152/0 ,c_153/1,c_154/1,c_155/2,c_156/1,c_157/1,c_158/1,c_159/0,c_160/2,c_161/0,c_162/0,c_163/1,c_164/1,c_165/0 ,c_166/2,c_167/0,c_168/2,c_169/2,c_170/3,c_171/0,c_172/1,c_173/1,c_174/1,c_175/0,c_176/1} - Obligation: innermost runtime complexity wrt. defined symbols {#ABS#,#ADD#,#AND#,#CKGT#,#COMPARE#,#EQ'#,#EQUAL# ,#GREATER#,#PRED#,#SUCC#,#abs#,#add#,#and#,#ckgt#,#compare#,#eq#,#equal#,#greater#,#pred#,#succ#,+#,+'# ,FIRSTLINE#,FIRSTLINE#1#,LCS#,LCS#1#,LCS#2#,LCS#3#,LCSTABLE#,LCSTABLE#1#,LCSTABLE#2#,LCSTABLE#3#,MAX#,MAX#1# ,NEWLINE#,NEWLINE#1#,NEWLINE#2#,NEWLINE#3#,NEWLINE#4#,NEWLINE#5#,NEWLINE#6#,NEWLINE#7#,RIGHT#,RIGHT#1# ,firstline#,firstline#1#,lcs#,lcs#1#,lcs#2#,lcs#3#,lcstable#,lcstable#1#,lcstable#2#,lcstable#3#,max#,max#1# ,newline#,newline#1#,newline#2#,newline#3#,newline#4#,newline#5#,newline#6#,newline#7#,right# ,right#1#} 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,c59,c6,c60,c61,c62,c63,c64,c65 ,c66,c67,c68,c69,c7,c70,c71,c72,c73,c74,c75,c76,c77,c78,c79,c8,c80,c81,c82,c83,c84,c85,c86,c87,c88,c9,nil} + Applied Processor: SimplifyRHS + Details: Consider the dependency graph 1:S:FIRSTLINE#(z0) -> c_8(FIRSTLINE#1#(z0)) -->_1 FIRSTLINE#1#(::(z0,z1)) -> c_10(FIRSTLINE#(z1)):2 2:S:FIRSTLINE#1#(::(z0,z1)) -> c_10(FIRSTLINE#(z1)) -->_1 FIRSTLINE#(z0) -> c_8(FIRSTLINE#1#(z0)):1 4:W:LCSTABLE#(z0,z1) -> c_18(LCSTABLE#1#(z0,z1)) -->_1 LCSTABLE#1#(nil(),z0) -> c_20(FIRSTLINE#(z0)):6 -->_1 LCSTABLE#1#(::(z0,z1),z2) -> c_19(LCSTABLE#2#(lcstable(z1,z2),z2,z0),LCSTABLE#(z1,z2)):5 5:W:LCSTABLE#1#(::(z0,z1),z2) -> c_19(LCSTABLE#2#(lcstable(z1,z2),z2,z0),LCSTABLE#(z1,z2)) -->_2 LCSTABLE#(z0,z1) -> c_18(LCSTABLE#1#(z0,z1)):4 6:W:LCSTABLE#1#(nil(),z0) -> c_20(FIRSTLINE#(z0)) -->_1 FIRSTLINE#(z0) -> c_8(FIRSTLINE#1#(z0)):1 Due to missing edges in the depndency graph, the right-hand sides of following rules could be simplified: LCSTABLE#1#(::(z0,z1),z2) -> c_19(LCSTABLE#(z1,z2)) ** Step 13.a:3: UsableRules. WORST_CASE(?,O(n^1)) + Considered Problem: - Strict DPs: FIRSTLINE#(z0) -> c_8(FIRSTLINE#1#(z0)) FIRSTLINE#1#(::(z0,z1)) -> c_10(FIRSTLINE#(z1)) - Weak DPs: LCSTABLE#(z0,z1) -> c_18(LCSTABLE#1#(z0,z1)) LCSTABLE#1#(::(z0,z1),z2) -> c_19(LCSTABLE#(z1,z2)) LCSTABLE#1#(nil(),z0) -> c_20(FIRSTLINE#(z0)) - Weak TRS: #abs(#0()) -> #0() #add(#0(),z0) -> z0 #add(#neg(#s(#0())),z0) -> #pred(z0) #add(#neg(#s(#s(z0))),z1) -> #pred(#add(#pos(#s(z0)),z1)) #add(#pos(#s(#0())),z0) -> #succ(z0) #add(#pos(#s(#s(z0))),z1) -> #succ(#add(#pos(#s(z0)),z1)) #and(#false(),#false()) -> #false() #and(#false(),#true()) -> #false() #and(#true(),#false()) -> #false() #and(#true(),#true()) -> #true() #ckgt(#EQ()) -> #false() #ckgt(#GT()) -> #true() #ckgt(#LT()) -> #false() #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) #greater(z0,z1) -> #ckgt(#compare(z0,z1)) #pred(#0()) -> #neg(#s(#0())) #pred(#neg(#s(z0))) -> #neg(#s(#s(z0))) #pred(#pos(#s(#0()))) -> #0() #pred(#pos(#s(#s(z0)))) -> #pos(#s(z0)) #succ(#0()) -> #pos(#s(#0())) #succ(#neg(#s(#0()))) -> #0() #succ(#neg(#s(#s(z0)))) -> #neg(#s(z0)) #succ(#pos(#s(z0))) -> #pos(#s(#s(z0))) +(z0,z1) -> #add(z0,z1) firstline(z0) -> firstline#1(z0) firstline#1(::(z0,z1)) -> ::(#abs(#0()),firstline(z1)) firstline#1(nil()) -> nil() lcstable(z0,z1) -> lcstable#1(z0,z1) lcstable#1(::(z0,z1),z2) -> lcstable#2(lcstable(z1,z2),z2,z0) lcstable#1(nil(),z0) -> ::(firstline(z0),nil()) lcstable#2(z0,z1,z2) -> lcstable#3(z0,z1,z2) lcstable#3(::(z0,z1),z2,z3) -> ::(newline(z3,z0,z2),::(z0,z1)) lcstable#3(nil(),z0,z1) -> nil() max(z0,z1) -> max#1(#greater(z0,z1),z0,z1) max#1(#false(),z0,z1) -> z1 max#1(#true(),z0,z1) -> z0 newline(z0,z1,z2) -> newline#1(z2,z1,z0) newline#1(::(z0,z1),z2,z3) -> newline#2(z2,z0,z1,z3) newline#1(nil(),z0,z1) -> nil() newline#2(::(z0,z1),z2,z3,z4) -> newline#3(newline(z4,z1,z3),z0,z1,z2,z4) newline#2(nil(),z0,z1,z2) -> nil() newline#3(z0,z1,z2,z3,z4) -> newline#4(right(z0),z1,z2,z0,z3,z4) newline#4(z0,z1,z2,z3,z4,z5) -> newline#5(right(z2),z1,z3,z0,z4,z5) newline#5(z0,z1,z2,z3,z4,z5) -> newline#6(newline#7(#equal(z4,z5),z1,z0,z3),z2) newline#6(z0,z1) -> ::(z0,z1) newline#7(#false(),z0,z1,z2) -> max(z0,z2) newline#7(#true(),z0,z1,z2) -> +(z1,#pos(#s(#0()))) right(z0) -> right#1(z0) right#1(::(z0,z1)) -> z0 right#1(nil()) -> #abs(#0()) - Signature: {#ABS/1,#ADD/2,#AND/2,#CKGT/1,#COMPARE/2,#EQ'/2,#EQUAL/2,#GREATER/2,#PRED/1,#SUCC/1,#abs/1,#add/2,#and/2 ,#ckgt/1,#compare/2,#eq/2,#equal/2,#greater/2,#pred/1,#succ/1,+/2,+'/2,FIRSTLINE/1,FIRSTLINE#1/1,LCS/2 ,LCS#1/1,LCS#2/1,LCS#3/1,LCSTABLE/2,LCSTABLE#1/2,LCSTABLE#2/3,LCSTABLE#3/3,MAX/2,MAX#1/3,NEWLINE/3 ,NEWLINE#1/3,NEWLINE#2/4,NEWLINE#3/5,NEWLINE#4/6,NEWLINE#5/6,NEWLINE#6/2,NEWLINE#7/4,RIGHT/1,RIGHT#1/1 ,firstline/1,firstline#1/1,lcs/2,lcs#1/1,lcs#2/1,lcs#3/1,lcstable/2,lcstable#1/2,lcstable#2/3,lcstable#3/3 ,max/2,max#1/3,newline/3,newline#1/3,newline#2/4,newline#3/5,newline#4/6,newline#5/6,newline#6/2,newline#7/4 ,right/1,right#1/1,#ABS#/1,#ADD#/2,#AND#/2,#CKGT#/1,#COMPARE#/2,#EQ'#/2,#EQUAL#/2,#GREATER#/2,#PRED#/1 ,#SUCC#/1,#abs#/1,#add#/2,#and#/2,#ckgt#/1,#compare#/2,#eq#/2,#equal#/2,#greater#/2,#pred#/1,#succ#/1,+#/2 ,+'#/2,FIRSTLINE#/1,FIRSTLINE#1#/1,LCS#/2,LCS#1#/1,LCS#2#/1,LCS#3#/1,LCSTABLE#/2,LCSTABLE#1#/2,LCSTABLE#2#/3 ,LCSTABLE#3#/3,MAX#/2,MAX#1#/3,NEWLINE#/3,NEWLINE#1#/3,NEWLINE#2#/4,NEWLINE#3#/5,NEWLINE#4#/6,NEWLINE#5#/6 ,NEWLINE#6#/2,NEWLINE#7#/4,RIGHT#/1,RIGHT#1#/1,firstline#/1,firstline#1#/1,lcs#/2,lcs#1#/1,lcs#2#/1,lcs#3#/1 ,lcstable#/2,lcstable#1#/2,lcstable#2#/3,lcstable#3#/3,max#/2,max#1#/3,newline#/3,newline#1#/3,newline#2#/4 ,newline#3#/5,newline#4#/6,newline#5#/6,newline#6#/2,newline#7#/4,right#/1,right#1#/1} / {#0/0,#EQ/0,#GT/0 ,#LT/0,#false/0,#neg/1,#pos/1,#s/1,#true/0,::/2,c/0,c1/1,c10/0,c11/0,c12/0,c13/0,c14/0,c15/0,c16/0,c17/1 ,c18/0,c19/0,c2/2,c20/0,c21/1,c22/0,c23/1,c24/0,c25/0,c26/0,c27/0,c28/0,c29/1,c3/1,c30/0,c31/0,c32/0,c33/1 ,c34/0,c35/1,c36/2,c37/2,c38/0,c39/0,c4/2,c40/0,c41/0,c42/0,c43/0,c44/0,c45/0,c46/0,c47/0,c48/0,c49/0,c5/0 ,c50/0,c51/0,c52/0,c53/1,c54/2,c55/1,c56/1,c57/1,c58/1,c59/0,c6/0,c60/2,c61/1,c62/1,c63/1,c64/0,c65/1,c66/1 ,c67/2,c68/1,c69/1,c7/0,c70/1,c71/0,c72/2,c73/0,c74/0,c75/1,c76/1,c77/0,c78/2,c79/0,c8/0,c80/2,c81/2,c82/3 ,c83/0,c84/1,c85/1,c86/1,c87/0,c88/1,c9/0,nil/0,c_1/0,c_2/0,c_3/0,c_4/0,c_5/1,c_6/3,c_7/1,c_8/1,c_9/1,c_10/1 ,c_11/0,c_12/1,c_13/1,c_14/1,c_15/1,c_16/0,c_17/1,c_18/1,c_19/1,c_20/1,c_21/1,c_22/1,c_23/0,c_24/3,c_25/0 ,c_26/0,c_27/1,c_28/1,c_29/0,c_30/1,c_31/0,c_32/3,c_33/3,c_34/6,c_35/0,c_36/1,c_37/1,c_38/1,c_39/0,c_40/1 ,c_41/0,c_42/1,c_43/3,c_44/1,c_45/3,c_46/0,c_47/0,c_48/0,c_49/0,c_50/0,c_51/0,c_52/0,c_53/0,c_54/0,c_55/0 ,c_56/0,c_57/0,c_58/1,c_59/0,c_60/0,c_61/0,c_62/1,c_63/0,c_64/1,c_65/0,c_66/0,c_67/0,c_68/0,c_69/0,c_70/1 ,c_71/0,c_72/0,c_73/0,c_74/1,c_75/0,c_76/1,c_77/4,c_78/4,c_79/0,c_80/0,c_81/0,c_82/0,c_83/0,c_84/0,c_85/0 ,c_86/0,c_87/0,c_88/0,c_89/0,c_90/0,c_91/0,c_92/0,c_93/0,c_94/0,c_95/1,c_96/2,c_97/1,c_98/2,c_99/0,c_100/0 ,c_101/0,c_102/0,c_103/0,c_104/0,c_105/0,c_106/0,c_107/0,c_108/0,c_109/0,c_110/0,c_111/1,c_112/0,c_113/0 ,c_114/0,c_115/1,c_116/0,c_117/1,c_118/0,c_119/0,c_120/0,c_121/0,c_122/0,c_123/1,c_124/0,c_125/0,c_126/0 ,c_127/1,c_128/0,c_129/1,c_130/3,c_131/0,c_132/0,c_133/0,c_134/1,c_135/2,c_136/0,c_137/0,c_138/0,c_139/0 ,c_140/0,c_141/0,c_142/0,c_143/0,c_144/1,c_145/1,c_146/2,c_147/0,c_148/2,c_149/1,c_150/1,c_151/1,c_152/0 ,c_153/1,c_154/1,c_155/2,c_156/1,c_157/1,c_158/1,c_159/0,c_160/2,c_161/0,c_162/0,c_163/1,c_164/1,c_165/0 ,c_166/2,c_167/0,c_168/2,c_169/2,c_170/3,c_171/0,c_172/1,c_173/1,c_174/1,c_175/0,c_176/1} - Obligation: innermost runtime complexity wrt. defined symbols {#ABS#,#ADD#,#AND#,#CKGT#,#COMPARE#,#EQ'#,#EQUAL# ,#GREATER#,#PRED#,#SUCC#,#abs#,#add#,#and#,#ckgt#,#compare#,#eq#,#equal#,#greater#,#pred#,#succ#,+#,+'# ,FIRSTLINE#,FIRSTLINE#1#,LCS#,LCS#1#,LCS#2#,LCS#3#,LCSTABLE#,LCSTABLE#1#,LCSTABLE#2#,LCSTABLE#3#,MAX#,MAX#1# ,NEWLINE#,NEWLINE#1#,NEWLINE#2#,NEWLINE#3#,NEWLINE#4#,NEWLINE#5#,NEWLINE#6#,NEWLINE#7#,RIGHT#,RIGHT#1# ,firstline#,firstline#1#,lcs#,lcs#1#,lcs#2#,lcs#3#,lcstable#,lcstable#1#,lcstable#2#,lcstable#3#,max#,max#1# ,newline#,newline#1#,newline#2#,newline#3#,newline#4#,newline#5#,newline#6#,newline#7#,right# ,right#1#} 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,c59,c6,c60,c61,c62,c63,c64,c65 ,c66,c67,c68,c69,c7,c70,c71,c72,c73,c74,c75,c76,c77,c78,c79,c8,c80,c81,c82,c83,c84,c85,c86,c87,c88,c9,nil} + Applied Processor: UsableRules + Details: We replace rewrite rules by usable rules: FIRSTLINE#(z0) -> c_8(FIRSTLINE#1#(z0)) FIRSTLINE#1#(::(z0,z1)) -> c_10(FIRSTLINE#(z1)) LCSTABLE#(z0,z1) -> c_18(LCSTABLE#1#(z0,z1)) LCSTABLE#1#(::(z0,z1),z2) -> c_19(LCSTABLE#(z1,z2)) LCSTABLE#1#(nil(),z0) -> c_20(FIRSTLINE#(z0)) ** Step 13.a:4: PredecessorEstimationCP. WORST_CASE(?,O(n^1)) + Considered Problem: - Strict DPs: FIRSTLINE#(z0) -> c_8(FIRSTLINE#1#(z0)) FIRSTLINE#1#(::(z0,z1)) -> c_10(FIRSTLINE#(z1)) - Weak DPs: LCSTABLE#(z0,z1) -> c_18(LCSTABLE#1#(z0,z1)) LCSTABLE#1#(::(z0,z1),z2) -> c_19(LCSTABLE#(z1,z2)) LCSTABLE#1#(nil(),z0) -> c_20(FIRSTLINE#(z0)) - Signature: {#ABS/1,#ADD/2,#AND/2,#CKGT/1,#COMPARE/2,#EQ'/2,#EQUAL/2,#GREATER/2,#PRED/1,#SUCC/1,#abs/1,#add/2,#and/2 ,#ckgt/1,#compare/2,#eq/2,#equal/2,#greater/2,#pred/1,#succ/1,+/2,+'/2,FIRSTLINE/1,FIRSTLINE#1/1,LCS/2 ,LCS#1/1,LCS#2/1,LCS#3/1,LCSTABLE/2,LCSTABLE#1/2,LCSTABLE#2/3,LCSTABLE#3/3,MAX/2,MAX#1/3,NEWLINE/3 ,NEWLINE#1/3,NEWLINE#2/4,NEWLINE#3/5,NEWLINE#4/6,NEWLINE#5/6,NEWLINE#6/2,NEWLINE#7/4,RIGHT/1,RIGHT#1/1 ,firstline/1,firstline#1/1,lcs/2,lcs#1/1,lcs#2/1,lcs#3/1,lcstable/2,lcstable#1/2,lcstable#2/3,lcstable#3/3 ,max/2,max#1/3,newline/3,newline#1/3,newline#2/4,newline#3/5,newline#4/6,newline#5/6,newline#6/2,newline#7/4 ,right/1,right#1/1,#ABS#/1,#ADD#/2,#AND#/2,#CKGT#/1,#COMPARE#/2,#EQ'#/2,#EQUAL#/2,#GREATER#/2,#PRED#/1 ,#SUCC#/1,#abs#/1,#add#/2,#and#/2,#ckgt#/1,#compare#/2,#eq#/2,#equal#/2,#greater#/2,#pred#/1,#succ#/1,+#/2 ,+'#/2,FIRSTLINE#/1,FIRSTLINE#1#/1,LCS#/2,LCS#1#/1,LCS#2#/1,LCS#3#/1,LCSTABLE#/2,LCSTABLE#1#/2,LCSTABLE#2#/3 ,LCSTABLE#3#/3,MAX#/2,MAX#1#/3,NEWLINE#/3,NEWLINE#1#/3,NEWLINE#2#/4,NEWLINE#3#/5,NEWLINE#4#/6,NEWLINE#5#/6 ,NEWLINE#6#/2,NEWLINE#7#/4,RIGHT#/1,RIGHT#1#/1,firstline#/1,firstline#1#/1,lcs#/2,lcs#1#/1,lcs#2#/1,lcs#3#/1 ,lcstable#/2,lcstable#1#/2,lcstable#2#/3,lcstable#3#/3,max#/2,max#1#/3,newline#/3,newline#1#/3,newline#2#/4 ,newline#3#/5,newline#4#/6,newline#5#/6,newline#6#/2,newline#7#/4,right#/1,right#1#/1} / {#0/0,#EQ/0,#GT/0 ,#LT/0,#false/0,#neg/1,#pos/1,#s/1,#true/0,::/2,c/0,c1/1,c10/0,c11/0,c12/0,c13/0,c14/0,c15/0,c16/0,c17/1 ,c18/0,c19/0,c2/2,c20/0,c21/1,c22/0,c23/1,c24/0,c25/0,c26/0,c27/0,c28/0,c29/1,c3/1,c30/0,c31/0,c32/0,c33/1 ,c34/0,c35/1,c36/2,c37/2,c38/0,c39/0,c4/2,c40/0,c41/0,c42/0,c43/0,c44/0,c45/0,c46/0,c47/0,c48/0,c49/0,c5/0 ,c50/0,c51/0,c52/0,c53/1,c54/2,c55/1,c56/1,c57/1,c58/1,c59/0,c6/0,c60/2,c61/1,c62/1,c63/1,c64/0,c65/1,c66/1 ,c67/2,c68/1,c69/1,c7/0,c70/1,c71/0,c72/2,c73/0,c74/0,c75/1,c76/1,c77/0,c78/2,c79/0,c8/0,c80/2,c81/2,c82/3 ,c83/0,c84/1,c85/1,c86/1,c87/0,c88/1,c9/0,nil/0,c_1/0,c_2/0,c_3/0,c_4/0,c_5/1,c_6/3,c_7/1,c_8/1,c_9/1,c_10/1 ,c_11/0,c_12/1,c_13/1,c_14/1,c_15/1,c_16/0,c_17/1,c_18/1,c_19/1,c_20/1,c_21/1,c_22/1,c_23/0,c_24/3,c_25/0 ,c_26/0,c_27/1,c_28/1,c_29/0,c_30/1,c_31/0,c_32/3,c_33/3,c_34/6,c_35/0,c_36/1,c_37/1,c_38/1,c_39/0,c_40/1 ,c_41/0,c_42/1,c_43/3,c_44/1,c_45/3,c_46/0,c_47/0,c_48/0,c_49/0,c_50/0,c_51/0,c_52/0,c_53/0,c_54/0,c_55/0 ,c_56/0,c_57/0,c_58/1,c_59/0,c_60/0,c_61/0,c_62/1,c_63/0,c_64/1,c_65/0,c_66/0,c_67/0,c_68/0,c_69/0,c_70/1 ,c_71/0,c_72/0,c_73/0,c_74/1,c_75/0,c_76/1,c_77/4,c_78/4,c_79/0,c_80/0,c_81/0,c_82/0,c_83/0,c_84/0,c_85/0 ,c_86/0,c_87/0,c_88/0,c_89/0,c_90/0,c_91/0,c_92/0,c_93/0,c_94/0,c_95/1,c_96/2,c_97/1,c_98/2,c_99/0,c_100/0 ,c_101/0,c_102/0,c_103/0,c_104/0,c_105/0,c_106/0,c_107/0,c_108/0,c_109/0,c_110/0,c_111/1,c_112/0,c_113/0 ,c_114/0,c_115/1,c_116/0,c_117/1,c_118/0,c_119/0,c_120/0,c_121/0,c_122/0,c_123/1,c_124/0,c_125/0,c_126/0 ,c_127/1,c_128/0,c_129/1,c_130/3,c_131/0,c_132/0,c_133/0,c_134/1,c_135/2,c_136/0,c_137/0,c_138/0,c_139/0 ,c_140/0,c_141/0,c_142/0,c_143/0,c_144/1,c_145/1,c_146/2,c_147/0,c_148/2,c_149/1,c_150/1,c_151/1,c_152/0 ,c_153/1,c_154/1,c_155/2,c_156/1,c_157/1,c_158/1,c_159/0,c_160/2,c_161/0,c_162/0,c_163/1,c_164/1,c_165/0 ,c_166/2,c_167/0,c_168/2,c_169/2,c_170/3,c_171/0,c_172/1,c_173/1,c_174/1,c_175/0,c_176/1} - Obligation: innermost runtime complexity wrt. defined symbols {#ABS#,#ADD#,#AND#,#CKGT#,#COMPARE#,#EQ'#,#EQUAL# ,#GREATER#,#PRED#,#SUCC#,#abs#,#add#,#and#,#ckgt#,#compare#,#eq#,#equal#,#greater#,#pred#,#succ#,+#,+'# ,FIRSTLINE#,FIRSTLINE#1#,LCS#,LCS#1#,LCS#2#,LCS#3#,LCSTABLE#,LCSTABLE#1#,LCSTABLE#2#,LCSTABLE#3#,MAX#,MAX#1# ,NEWLINE#,NEWLINE#1#,NEWLINE#2#,NEWLINE#3#,NEWLINE#4#,NEWLINE#5#,NEWLINE#6#,NEWLINE#7#,RIGHT#,RIGHT#1# ,firstline#,firstline#1#,lcs#,lcs#1#,lcs#2#,lcs#3#,lcstable#,lcstable#1#,lcstable#2#,lcstable#3#,max#,max#1# ,newline#,newline#1#,newline#2#,newline#3#,newline#4#,newline#5#,newline#6#,newline#7#,right# ,right#1#} 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,c59,c6,c60,c61,c62,c63,c64,c65 ,c66,c67,c68,c69,c7,c70,c71,c72,c73,c74,c75,c76,c77,c78,c79,c8,c80,c81,c82,c83,c84,c85,c86,c87,c88,c9,nil} + Applied Processor: PredecessorEstimationCP {onSelectionCP = any intersect of rules of CDG leaf and strict-rules, withComplexityPair = NaturalMI {miDimension = 1, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Nothing}} + Details: We first use the processor NaturalMI {miDimension = 1, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Nothing} to orient following rules strictly: 2: FIRSTLINE#1#(::(z0,z1)) -> c_10(FIRSTLINE#(z1)) The strictly oriented rules are moved into the weak component. *** Step 13.a:4.a:1: NaturalMI. WORST_CASE(?,O(n^1)) + Considered Problem: - Strict DPs: FIRSTLINE#(z0) -> c_8(FIRSTLINE#1#(z0)) FIRSTLINE#1#(::(z0,z1)) -> c_10(FIRSTLINE#(z1)) - Weak DPs: LCSTABLE#(z0,z1) -> c_18(LCSTABLE#1#(z0,z1)) LCSTABLE#1#(::(z0,z1),z2) -> c_19(LCSTABLE#(z1,z2)) LCSTABLE#1#(nil(),z0) -> c_20(FIRSTLINE#(z0)) - Signature: {#ABS/1,#ADD/2,#AND/2,#CKGT/1,#COMPARE/2,#EQ'/2,#EQUAL/2,#GREATER/2,#PRED/1,#SUCC/1,#abs/1,#add/2,#and/2 ,#ckgt/1,#compare/2,#eq/2,#equal/2,#greater/2,#pred/1,#succ/1,+/2,+'/2,FIRSTLINE/1,FIRSTLINE#1/1,LCS/2 ,LCS#1/1,LCS#2/1,LCS#3/1,LCSTABLE/2,LCSTABLE#1/2,LCSTABLE#2/3,LCSTABLE#3/3,MAX/2,MAX#1/3,NEWLINE/3 ,NEWLINE#1/3,NEWLINE#2/4,NEWLINE#3/5,NEWLINE#4/6,NEWLINE#5/6,NEWLINE#6/2,NEWLINE#7/4,RIGHT/1,RIGHT#1/1 ,firstline/1,firstline#1/1,lcs/2,lcs#1/1,lcs#2/1,lcs#3/1,lcstable/2,lcstable#1/2,lcstable#2/3,lcstable#3/3 ,max/2,max#1/3,newline/3,newline#1/3,newline#2/4,newline#3/5,newline#4/6,newline#5/6,newline#6/2,newline#7/4 ,right/1,right#1/1,#ABS#/1,#ADD#/2,#AND#/2,#CKGT#/1,#COMPARE#/2,#EQ'#/2,#EQUAL#/2,#GREATER#/2,#PRED#/1 ,#SUCC#/1,#abs#/1,#add#/2,#and#/2,#ckgt#/1,#compare#/2,#eq#/2,#equal#/2,#greater#/2,#pred#/1,#succ#/1,+#/2 ,+'#/2,FIRSTLINE#/1,FIRSTLINE#1#/1,LCS#/2,LCS#1#/1,LCS#2#/1,LCS#3#/1,LCSTABLE#/2,LCSTABLE#1#/2,LCSTABLE#2#/3 ,LCSTABLE#3#/3,MAX#/2,MAX#1#/3,NEWLINE#/3,NEWLINE#1#/3,NEWLINE#2#/4,NEWLINE#3#/5,NEWLINE#4#/6,NEWLINE#5#/6 ,NEWLINE#6#/2,NEWLINE#7#/4,RIGHT#/1,RIGHT#1#/1,firstline#/1,firstline#1#/1,lcs#/2,lcs#1#/1,lcs#2#/1,lcs#3#/1 ,lcstable#/2,lcstable#1#/2,lcstable#2#/3,lcstable#3#/3,max#/2,max#1#/3,newline#/3,newline#1#/3,newline#2#/4 ,newline#3#/5,newline#4#/6,newline#5#/6,newline#6#/2,newline#7#/4,right#/1,right#1#/1} / {#0/0,#EQ/0,#GT/0 ,#LT/0,#false/0,#neg/1,#pos/1,#s/1,#true/0,::/2,c/0,c1/1,c10/0,c11/0,c12/0,c13/0,c14/0,c15/0,c16/0,c17/1 ,c18/0,c19/0,c2/2,c20/0,c21/1,c22/0,c23/1,c24/0,c25/0,c26/0,c27/0,c28/0,c29/1,c3/1,c30/0,c31/0,c32/0,c33/1 ,c34/0,c35/1,c36/2,c37/2,c38/0,c39/0,c4/2,c40/0,c41/0,c42/0,c43/0,c44/0,c45/0,c46/0,c47/0,c48/0,c49/0,c5/0 ,c50/0,c51/0,c52/0,c53/1,c54/2,c55/1,c56/1,c57/1,c58/1,c59/0,c6/0,c60/2,c61/1,c62/1,c63/1,c64/0,c65/1,c66/1 ,c67/2,c68/1,c69/1,c7/0,c70/1,c71/0,c72/2,c73/0,c74/0,c75/1,c76/1,c77/0,c78/2,c79/0,c8/0,c80/2,c81/2,c82/3 ,c83/0,c84/1,c85/1,c86/1,c87/0,c88/1,c9/0,nil/0,c_1/0,c_2/0,c_3/0,c_4/0,c_5/1,c_6/3,c_7/1,c_8/1,c_9/1,c_10/1 ,c_11/0,c_12/1,c_13/1,c_14/1,c_15/1,c_16/0,c_17/1,c_18/1,c_19/1,c_20/1,c_21/1,c_22/1,c_23/0,c_24/3,c_25/0 ,c_26/0,c_27/1,c_28/1,c_29/0,c_30/1,c_31/0,c_32/3,c_33/3,c_34/6,c_35/0,c_36/1,c_37/1,c_38/1,c_39/0,c_40/1 ,c_41/0,c_42/1,c_43/3,c_44/1,c_45/3,c_46/0,c_47/0,c_48/0,c_49/0,c_50/0,c_51/0,c_52/0,c_53/0,c_54/0,c_55/0 ,c_56/0,c_57/0,c_58/1,c_59/0,c_60/0,c_61/0,c_62/1,c_63/0,c_64/1,c_65/0,c_66/0,c_67/0,c_68/0,c_69/0,c_70/1 ,c_71/0,c_72/0,c_73/0,c_74/1,c_75/0,c_76/1,c_77/4,c_78/4,c_79/0,c_80/0,c_81/0,c_82/0,c_83/0,c_84/0,c_85/0 ,c_86/0,c_87/0,c_88/0,c_89/0,c_90/0,c_91/0,c_92/0,c_93/0,c_94/0,c_95/1,c_96/2,c_97/1,c_98/2,c_99/0,c_100/0 ,c_101/0,c_102/0,c_103/0,c_104/0,c_105/0,c_106/0,c_107/0,c_108/0,c_109/0,c_110/0,c_111/1,c_112/0,c_113/0 ,c_114/0,c_115/1,c_116/0,c_117/1,c_118/0,c_119/0,c_120/0,c_121/0,c_122/0,c_123/1,c_124/0,c_125/0,c_126/0 ,c_127/1,c_128/0,c_129/1,c_130/3,c_131/0,c_132/0,c_133/0,c_134/1,c_135/2,c_136/0,c_137/0,c_138/0,c_139/0 ,c_140/0,c_141/0,c_142/0,c_143/0,c_144/1,c_145/1,c_146/2,c_147/0,c_148/2,c_149/1,c_150/1,c_151/1,c_152/0 ,c_153/1,c_154/1,c_155/2,c_156/1,c_157/1,c_158/1,c_159/0,c_160/2,c_161/0,c_162/0,c_163/1,c_164/1,c_165/0 ,c_166/2,c_167/0,c_168/2,c_169/2,c_170/3,c_171/0,c_172/1,c_173/1,c_174/1,c_175/0,c_176/1} - Obligation: innermost runtime complexity wrt. defined symbols {#ABS#,#ADD#,#AND#,#CKGT#,#COMPARE#,#EQ'#,#EQUAL# ,#GREATER#,#PRED#,#SUCC#,#abs#,#add#,#and#,#ckgt#,#compare#,#eq#,#equal#,#greater#,#pred#,#succ#,+#,+'# ,FIRSTLINE#,FIRSTLINE#1#,LCS#,LCS#1#,LCS#2#,LCS#3#,LCSTABLE#,LCSTABLE#1#,LCSTABLE#2#,LCSTABLE#3#,MAX#,MAX#1# ,NEWLINE#,NEWLINE#1#,NEWLINE#2#,NEWLINE#3#,NEWLINE#4#,NEWLINE#5#,NEWLINE#6#,NEWLINE#7#,RIGHT#,RIGHT#1# ,firstline#,firstline#1#,lcs#,lcs#1#,lcs#2#,lcs#3#,lcstable#,lcstable#1#,lcstable#2#,lcstable#3#,max#,max#1# ,newline#,newline#1#,newline#2#,newline#3#,newline#4#,newline#5#,newline#6#,newline#7#,right# ,right#1#} 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,c59,c6,c60,c61,c62,c63,c64,c65 ,c66,c67,c68,c69,c7,c70,c71,c72,c73,c74,c75,c76,c77,c78,c79,c8,c80,c81,c82,c83,c84,c85,c86,c87,c88,c9,nil} + Applied Processor: NaturalMI {miDimension = 1, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Just first alternative for predecessorEstimation on any intersect of rules of CDG leaf and strict-rules} + Details: We apply a matrix interpretation of kind constructor based matrix interpretation: The following argument positions are considered usable: uargs(c_8) = {1}, uargs(c_10) = {1}, uargs(c_18) = {1}, uargs(c_19) = {1}, uargs(c_20) = {1} Following symbols are considered usable: {#ABS#,#ADD#,#AND#,#CKGT#,#COMPARE#,#EQ'#,#EQUAL#,#GREATER#,#PRED#,#SUCC#,#abs#,#add#,#and#,#ckgt# ,#compare#,#eq#,#equal#,#greater#,#pred#,#succ#,+#,+'#,FIRSTLINE#,FIRSTLINE#1#,LCS#,LCS#1#,LCS#2#,LCS#3# ,LCSTABLE#,LCSTABLE#1#,LCSTABLE#2#,LCSTABLE#3#,MAX#,MAX#1#,NEWLINE#,NEWLINE#1#,NEWLINE#2#,NEWLINE#3# ,NEWLINE#4#,NEWLINE#5#,NEWLINE#6#,NEWLINE#7#,RIGHT#,RIGHT#1#,firstline#,firstline#1#,lcs#,lcs#1#,lcs#2# ,lcs#3#,lcstable#,lcstable#1#,lcstable#2#,lcstable#3#,max#,max#1#,newline#,newline#1#,newline#2#,newline#3# ,newline#4#,newline#5#,newline#6#,newline#7#,right#,right#1#} TcT has computed the following interpretation: p(#0) = [2] p(#ABS) = [0] p(#ADD) = [0] p(#AND) = [0] p(#CKGT) = [0] p(#COMPARE) = [0] p(#EQ) = [0] p(#EQ') = [0] p(#EQUAL) = [4] x2 + [4] p(#GREATER) = [1] x1 + [0] p(#GT) = [0] p(#LT) = [0] p(#PRED) = [0] p(#SUCC) = [2] p(#abs) = [0] p(#add) = [1] x1 + [1] x2 + [1] p(#and) = [2] x1 + [1] p(#ckgt) = [1] x1 + [8] p(#compare) = [1] x2 + [0] p(#eq) = [1] p(#equal) = [1] p(#false) = [0] p(#greater) = [8] x1 + [2] x2 + [4] p(#neg) = [1] p(#pos) = [4] p(#pred) = [1] p(#s) = [4] p(#succ) = [2] x1 + [0] p(#true) = [1] p(+) = [1] x2 + [0] p(+') = [1] x1 + [1] p(::) = [1] x2 + [8] p(FIRSTLINE) = [1] x1 + [2] p(FIRSTLINE#1) = [2] p(LCS) = [1] x1 + [8] x2 + [0] p(LCS#1) = [1] x1 + [1] p(LCS#2) = [1] p(LCS#3) = [2] p(LCSTABLE) = [4] x1 + [1] p(LCSTABLE#1) = [1] x1 + [2] p(LCSTABLE#2) = [1] x1 + [1] x2 + [1] p(LCSTABLE#3) = [1] x1 + [0] p(MAX) = [0] p(MAX#1) = [0] p(NEWLINE) = [0] p(NEWLINE#1) = [0] p(NEWLINE#2) = [0] p(NEWLINE#3) = [0] p(NEWLINE#4) = [0] p(NEWLINE#5) = [1] x3 + [0] p(NEWLINE#6) = [0] p(NEWLINE#7) = [0] p(RIGHT) = [0] p(RIGHT#1) = [0] p(c) = [0] p(c1) = [1] x1 + [0] p(c10) = [0] p(c11) = [0] p(c12) = [0] p(c13) = [0] p(c14) = [0] p(c15) = [0] p(c16) = [0] p(c17) = [1] x1 + [0] p(c18) = [2] p(c19) = [1] p(c2) = [0] p(c20) = [0] p(c21) = [1] x1 + [0] p(c22) = [0] p(c23) = [1] x1 + [0] p(c24) = [0] p(c25) = [0] p(c26) = [0] p(c27) = [0] p(c28) = [0] p(c29) = [1] x1 + [0] p(c3) = [0] p(c30) = [0] p(c31) = [0] p(c32) = [0] p(c33) = [1] x1 + [0] p(c34) = [0] p(c35) = [1] x1 + [0] p(c36) = [1] x1 + [0] p(c37) = [1] x2 + [0] p(c38) = [0] p(c39) = [0] p(c4) = [1] x1 + [0] p(c40) = [0] p(c41) = [0] p(c42) = [0] p(c43) = [0] p(c44) = [0] p(c45) = [0] p(c46) = [0] p(c47) = [0] p(c48) = [0] p(c49) = [0] p(c5) = [0] p(c50) = [0] p(c51) = [0] p(c52) = [0] p(c53) = [0] p(c54) = [0] p(c55) = [1] x1 + [0] p(c56) = [1] x1 + [0] p(c57) = [1] x1 + [0] p(c58) = [0] p(c59) = [0] p(c6) = [0] p(c60) = [1] x1 + [1] x2 + [0] p(c61) = [1] x1 + [0] p(c62) = [1] x1 + [0] p(c63) = [1] p(c64) = [0] p(c65) = [0] p(c66) = [1] x1 + [0] p(c67) = [1] x1 + [0] p(c68) = [0] p(c69) = [1] x1 + [4] p(c7) = [0] p(c70) = [1] x1 + [1] p(c71) = [4] p(c72) = [1] x1 + [1] x2 + [0] p(c73) = [0] p(c74) = [0] p(c75) = [1] x1 + [0] p(c76) = [0] p(c77) = [0] p(c78) = [1] x1 + [1] x2 + [0] p(c79) = [0] p(c8) = [0] p(c80) = [1] x1 + [0] p(c81) = [1] x2 + [0] p(c82) = [1] x3 + [0] p(c83) = [0] p(c84) = [1] x1 + [0] p(c85) = [1] x1 + [0] p(c86) = [1] x1 + [0] p(c87) = [0] p(c88) = [0] p(c9) = [0] p(firstline) = [0] p(firstline#1) = [0] p(lcs) = [1] x1 + [0] p(lcs#1) = [1] x1 + [0] p(lcs#2) = [2] p(lcs#3) = [1] x1 + [0] p(lcstable) = [2] x2 + [1] p(lcstable#1) = [1] x2 + [0] p(lcstable#2) = [1] x1 + [1] p(lcstable#3) = [1] x3 + [0] p(max) = [0] p(max#1) = [2] x1 + [0] p(newline) = [1] x2 + [2] x3 + [0] p(newline#1) = [1] x2 + [0] p(newline#2) = [1] x1 + [1] x3 + [1] x4 + [0] p(newline#3) = [1] x2 + [8] x3 + [2] p(newline#4) = [4] x2 + [2] x3 + [4] x6 + [1] p(newline#5) = [1] x1 + [1] x2 + [1] x3 + [2] x4 + [2] x5 + [1] x6 + [0] p(newline#6) = [1] p(newline#7) = [4] x2 + [1] x3 + [0] p(nil) = [4] p(right) = [4] x1 + [2] p(right#1) = [2] p(#ABS#) = [2] p(#ADD#) = [4] x2 + [0] p(#AND#) = [2] x1 + [1] p(#CKGT#) = [2] x1 + [1] p(#COMPARE#) = [4] x2 + [1] p(#EQ'#) = [1] x1 + [1] x2 + [1] p(#EQUAL#) = [4] x1 + [1] x2 + [1] p(#GREATER#) = [4] x1 + [2] x2 + [0] p(#PRED#) = [1] x1 + [1] p(#SUCC#) = [1] x1 + [0] p(#abs#) = [1] p(#add#) = [1] x1 + [1] p(#and#) = [1] p(#ckgt#) = [0] p(#compare#) = [0] p(#eq#) = [2] x1 + [8] x2 + [1] p(#equal#) = [2] x1 + [1] p(#greater#) = [1] x1 + [2] x2 + [0] p(#pred#) = [8] p(#succ#) = [1] p(+#) = [0] p(+'#) = [0] p(FIRSTLINE#) = [2] x1 + [0] p(FIRSTLINE#1#) = [2] x1 + [0] p(LCS#) = [0] p(LCS#1#) = [0] p(LCS#2#) = [0] p(LCS#3#) = [0] p(LCSTABLE#) = [2] x1 + [4] x2 + [2] p(LCSTABLE#1#) = [2] x1 + [4] x2 + [2] p(LCSTABLE#2#) = [0] p(LCSTABLE#3#) = [0] p(MAX#) = [0] p(MAX#1#) = [0] p(NEWLINE#) = [0] p(NEWLINE#1#) = [0] p(NEWLINE#2#) = [0] p(NEWLINE#3#) = [0] p(NEWLINE#4#) = [0] p(NEWLINE#5#) = [0] p(NEWLINE#6#) = [0] p(NEWLINE#7#) = [2] p(RIGHT#) = [0] p(RIGHT#1#) = [0] p(firstline#) = [0] p(firstline#1#) = [0] p(lcs#) = [0] p(lcs#1#) = [0] p(lcs#2#) = [0] p(lcs#3#) = [0] p(lcstable#) = [0] p(lcstable#1#) = [0] p(lcstable#2#) = [0] p(lcstable#3#) = [0] p(max#) = [0] p(max#1#) = [0] p(newline#) = [0] p(newline#1#) = [0] p(newline#2#) = [0] p(newline#3#) = [0] p(newline#4#) = [0] p(newline#5#) = [0] p(newline#6#) = [0] p(newline#7#) = [0] p(right#) = [0] p(right#1#) = [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) = [1] x1 + [0] p(c_9) = [1] x1 + [0] p(c_10) = [1] x1 + [8] p(c_11) = [0] p(c_12) = [0] p(c_13) = [1] x1 + [0] p(c_14) = [1] x1 + [0] p(c_15) = [2] x1 + [0] p(c_16) = [8] p(c_17) = [0] p(c_18) = [1] x1 + [0] p(c_19) = [1] x1 + [6] p(c_20) = [2] x1 + [10] p(c_21) = [0] p(c_22) = [0] p(c_23) = [0] p(c_24) = [2] x1 + [2] x3 + [0] p(c_25) = [0] p(c_26) = [0] p(c_27) = [1] x1 + [0] p(c_28) = [0] p(c_29) = [0] p(c_30) = [2] x1 + [0] p(c_31) = [0] p(c_32) = [2] x1 + [1] x2 + [1] x3 + [0] p(c_33) = [1] x2 + [0] p(c_34) = [1] x1 + [2] x2 + [8] x3 + [8] x5 + [1] x6 + [0] p(c_35) = [0] p(c_36) = [0] p(c_37) = [1] x1 + [0] p(c_38) = [1] x1 + [0] p(c_39) = [0] p(c_40) = [4] x1 + [0] p(c_41) = [0] p(c_42) = [2] x1 + [0] p(c_43) = [2] x3 + [0] p(c_44) = [0] p(c_45) = [2] x2 + [1] x3 + [2] 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) = [1] x1 + [0] p(c_63) = [0] p(c_64) = [1] x1 + [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) = [2] 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) = [0] p(c_114) = [0] p(c_115) = [0] p(c_116) = [0] p(c_117) = [0] p(c_118) = [0] p(c_119) = [0] p(c_120) = [0] p(c_121) = [0] p(c_122) = [0] p(c_123) = [0] p(c_124) = [0] p(c_125) = [0] p(c_126) = [0] p(c_127) = [0] p(c_128) = [0] p(c_129) = [0] p(c_130) = [0] p(c_131) = [0] p(c_132) = [0] p(c_133) = [0] p(c_134) = [0] p(c_135) = [0] p(c_136) = [0] p(c_137) = [0] p(c_138) = [0] p(c_139) = [0] p(c_140) = [0] p(c_141) = [0] p(c_142) = [0] p(c_143) = [0] p(c_144) = [0] p(c_145) = [0] p(c_146) = [0] p(c_147) = [0] p(c_148) = [0] p(c_149) = [0] p(c_150) = [0] p(c_151) = [0] p(c_152) = [0] p(c_153) = [0] p(c_154) = [0] p(c_155) = [0] p(c_156) = [0] p(c_157) = [0] p(c_158) = [0] p(c_159) = [0] p(c_160) = [0] p(c_161) = [0] p(c_162) = [2] p(c_163) = [0] p(c_164) = [0] p(c_165) = [0] p(c_166) = [0] p(c_167) = [0] p(c_168) = [0] p(c_169) = [0] p(c_170) = [0] p(c_171) = [0] p(c_172) = [0] p(c_173) = [0] p(c_174) = [0] p(c_175) = [0] p(c_176) = [0] Following rules are strictly oriented: FIRSTLINE#1#(::(z0,z1)) = [2] z1 + [16] > [2] z1 + [8] = c_10(FIRSTLINE#(z1)) Following rules are (at-least) weakly oriented: FIRSTLINE#(z0) = [2] z0 + [0] >= [2] z0 + [0] = c_8(FIRSTLINE#1#(z0)) LCSTABLE#(z0,z1) = [2] z0 + [4] z1 + [2] >= [2] z0 + [4] z1 + [2] = c_18(LCSTABLE#1#(z0,z1)) LCSTABLE#1#(::(z0,z1),z2) = [2] z1 + [4] z2 + [18] >= [2] z1 + [4] z2 + [8] = c_19(LCSTABLE#(z1,z2)) LCSTABLE#1#(nil(),z0) = [4] z0 + [10] >= [4] z0 + [10] = c_20(FIRSTLINE#(z0)) *** Step 13.a:4.a:2: Assumption. WORST_CASE(?,O(1)) + Considered Problem: - Strict DPs: FIRSTLINE#(z0) -> c_8(FIRSTLINE#1#(z0)) - Weak DPs: FIRSTLINE#1#(::(z0,z1)) -> c_10(FIRSTLINE#(z1)) LCSTABLE#(z0,z1) -> c_18(LCSTABLE#1#(z0,z1)) LCSTABLE#1#(::(z0,z1),z2) -> c_19(LCSTABLE#(z1,z2)) LCSTABLE#1#(nil(),z0) -> c_20(FIRSTLINE#(z0)) - Signature: {#ABS/1,#ADD/2,#AND/2,#CKGT/1,#COMPARE/2,#EQ'/2,#EQUAL/2,#GREATER/2,#PRED/1,#SUCC/1,#abs/1,#add/2,#and/2 ,#ckgt/1,#compare/2,#eq/2,#equal/2,#greater/2,#pred/1,#succ/1,+/2,+'/2,FIRSTLINE/1,FIRSTLINE#1/1,LCS/2 ,LCS#1/1,LCS#2/1,LCS#3/1,LCSTABLE/2,LCSTABLE#1/2,LCSTABLE#2/3,LCSTABLE#3/3,MAX/2,MAX#1/3,NEWLINE/3 ,NEWLINE#1/3,NEWLINE#2/4,NEWLINE#3/5,NEWLINE#4/6,NEWLINE#5/6,NEWLINE#6/2,NEWLINE#7/4,RIGHT/1,RIGHT#1/1 ,firstline/1,firstline#1/1,lcs/2,lcs#1/1,lcs#2/1,lcs#3/1,lcstable/2,lcstable#1/2,lcstable#2/3,lcstable#3/3 ,max/2,max#1/3,newline/3,newline#1/3,newline#2/4,newline#3/5,newline#4/6,newline#5/6,newline#6/2,newline#7/4 ,right/1,right#1/1,#ABS#/1,#ADD#/2,#AND#/2,#CKGT#/1,#COMPARE#/2,#EQ'#/2,#EQUAL#/2,#GREATER#/2,#PRED#/1 ,#SUCC#/1,#abs#/1,#add#/2,#and#/2,#ckgt#/1,#compare#/2,#eq#/2,#equal#/2,#greater#/2,#pred#/1,#succ#/1,+#/2 ,+'#/2,FIRSTLINE#/1,FIRSTLINE#1#/1,LCS#/2,LCS#1#/1,LCS#2#/1,LCS#3#/1,LCSTABLE#/2,LCSTABLE#1#/2,LCSTABLE#2#/3 ,LCSTABLE#3#/3,MAX#/2,MAX#1#/3,NEWLINE#/3,NEWLINE#1#/3,NEWLINE#2#/4,NEWLINE#3#/5,NEWLINE#4#/6,NEWLINE#5#/6 ,NEWLINE#6#/2,NEWLINE#7#/4,RIGHT#/1,RIGHT#1#/1,firstline#/1,firstline#1#/1,lcs#/2,lcs#1#/1,lcs#2#/1,lcs#3#/1 ,lcstable#/2,lcstable#1#/2,lcstable#2#/3,lcstable#3#/3,max#/2,max#1#/3,newline#/3,newline#1#/3,newline#2#/4 ,newline#3#/5,newline#4#/6,newline#5#/6,newline#6#/2,newline#7#/4,right#/1,right#1#/1} / {#0/0,#EQ/0,#GT/0 ,#LT/0,#false/0,#neg/1,#pos/1,#s/1,#true/0,::/2,c/0,c1/1,c10/0,c11/0,c12/0,c13/0,c14/0,c15/0,c16/0,c17/1 ,c18/0,c19/0,c2/2,c20/0,c21/1,c22/0,c23/1,c24/0,c25/0,c26/0,c27/0,c28/0,c29/1,c3/1,c30/0,c31/0,c32/0,c33/1 ,c34/0,c35/1,c36/2,c37/2,c38/0,c39/0,c4/2,c40/0,c41/0,c42/0,c43/0,c44/0,c45/0,c46/0,c47/0,c48/0,c49/0,c5/0 ,c50/0,c51/0,c52/0,c53/1,c54/2,c55/1,c56/1,c57/1,c58/1,c59/0,c6/0,c60/2,c61/1,c62/1,c63/1,c64/0,c65/1,c66/1 ,c67/2,c68/1,c69/1,c7/0,c70/1,c71/0,c72/2,c73/0,c74/0,c75/1,c76/1,c77/0,c78/2,c79/0,c8/0,c80/2,c81/2,c82/3 ,c83/0,c84/1,c85/1,c86/1,c87/0,c88/1,c9/0,nil/0,c_1/0,c_2/0,c_3/0,c_4/0,c_5/1,c_6/3,c_7/1,c_8/1,c_9/1,c_10/1 ,c_11/0,c_12/1,c_13/1,c_14/1,c_15/1,c_16/0,c_17/1,c_18/1,c_19/1,c_20/1,c_21/1,c_22/1,c_23/0,c_24/3,c_25/0 ,c_26/0,c_27/1,c_28/1,c_29/0,c_30/1,c_31/0,c_32/3,c_33/3,c_34/6,c_35/0,c_36/1,c_37/1,c_38/1,c_39/0,c_40/1 ,c_41/0,c_42/1,c_43/3,c_44/1,c_45/3,c_46/0,c_47/0,c_48/0,c_49/0,c_50/0,c_51/0,c_52/0,c_53/0,c_54/0,c_55/0 ,c_56/0,c_57/0,c_58/1,c_59/0,c_60/0,c_61/0,c_62/1,c_63/0,c_64/1,c_65/0,c_66/0,c_67/0,c_68/0,c_69/0,c_70/1 ,c_71/0,c_72/0,c_73/0,c_74/1,c_75/0,c_76/1,c_77/4,c_78/4,c_79/0,c_80/0,c_81/0,c_82/0,c_83/0,c_84/0,c_85/0 ,c_86/0,c_87/0,c_88/0,c_89/0,c_90/0,c_91/0,c_92/0,c_93/0,c_94/0,c_95/1,c_96/2,c_97/1,c_98/2,c_99/0,c_100/0 ,c_101/0,c_102/0,c_103/0,c_104/0,c_105/0,c_106/0,c_107/0,c_108/0,c_109/0,c_110/0,c_111/1,c_112/0,c_113/0 ,c_114/0,c_115/1,c_116/0,c_117/1,c_118/0,c_119/0,c_120/0,c_121/0,c_122/0,c_123/1,c_124/0,c_125/0,c_126/0 ,c_127/1,c_128/0,c_129/1,c_130/3,c_131/0,c_132/0,c_133/0,c_134/1,c_135/2,c_136/0,c_137/0,c_138/0,c_139/0 ,c_140/0,c_141/0,c_142/0,c_143/0,c_144/1,c_145/1,c_146/2,c_147/0,c_148/2,c_149/1,c_150/1,c_151/1,c_152/0 ,c_153/1,c_154/1,c_155/2,c_156/1,c_157/1,c_158/1,c_159/0,c_160/2,c_161/0,c_162/0,c_163/1,c_164/1,c_165/0 ,c_166/2,c_167/0,c_168/2,c_169/2,c_170/3,c_171/0,c_172/1,c_173/1,c_174/1,c_175/0,c_176/1} - Obligation: innermost runtime complexity wrt. defined symbols {#ABS#,#ADD#,#AND#,#CKGT#,#COMPARE#,#EQ'#,#EQUAL# ,#GREATER#,#PRED#,#SUCC#,#abs#,#add#,#and#,#ckgt#,#compare#,#eq#,#equal#,#greater#,#pred#,#succ#,+#,+'# ,FIRSTLINE#,FIRSTLINE#1#,LCS#,LCS#1#,LCS#2#,LCS#3#,LCSTABLE#,LCSTABLE#1#,LCSTABLE#2#,LCSTABLE#3#,MAX#,MAX#1# ,NEWLINE#,NEWLINE#1#,NEWLINE#2#,NEWLINE#3#,NEWLINE#4#,NEWLINE#5#,NEWLINE#6#,NEWLINE#7#,RIGHT#,RIGHT#1# ,firstline#,firstline#1#,lcs#,lcs#1#,lcs#2#,lcs#3#,lcstable#,lcstable#1#,lcstable#2#,lcstable#3#,max#,max#1# ,newline#,newline#1#,newline#2#,newline#3#,newline#4#,newline#5#,newline#6#,newline#7#,right# ,right#1#} 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,c59,c6,c60,c61,c62,c63,c64,c65 ,c66,c67,c68,c69,c7,c70,c71,c72,c73,c74,c75,c76,c77,c78,c79,c8,c80,c81,c82,c83,c84,c85,c86,c87,c88,c9,nil} + Applied Processor: Assumption {assumed = Certificate {spaceUB = Unknown, spaceLB = Unknown, timeUB = Poly (Just 0), timeLB = Unknown, timeBCUB = Unknown, timeBCLB = Unknown}} + Details: () *** Step 13.a:4.b:1: PredecessorEstimationCP. WORST_CASE(?,O(n^1)) + Considered Problem: - Strict DPs: FIRSTLINE#(z0) -> c_8(FIRSTLINE#1#(z0)) - Weak DPs: FIRSTLINE#1#(::(z0,z1)) -> c_10(FIRSTLINE#(z1)) LCSTABLE#(z0,z1) -> c_18(LCSTABLE#1#(z0,z1)) LCSTABLE#1#(::(z0,z1),z2) -> c_19(LCSTABLE#(z1,z2)) LCSTABLE#1#(nil(),z0) -> c_20(FIRSTLINE#(z0)) - Signature: {#ABS/1,#ADD/2,#AND/2,#CKGT/1,#COMPARE/2,#EQ'/2,#EQUAL/2,#GREATER/2,#PRED/1,#SUCC/1,#abs/1,#add/2,#and/2 ,#ckgt/1,#compare/2,#eq/2,#equal/2,#greater/2,#pred/1,#succ/1,+/2,+'/2,FIRSTLINE/1,FIRSTLINE#1/1,LCS/2 ,LCS#1/1,LCS#2/1,LCS#3/1,LCSTABLE/2,LCSTABLE#1/2,LCSTABLE#2/3,LCSTABLE#3/3,MAX/2,MAX#1/3,NEWLINE/3 ,NEWLINE#1/3,NEWLINE#2/4,NEWLINE#3/5,NEWLINE#4/6,NEWLINE#5/6,NEWLINE#6/2,NEWLINE#7/4,RIGHT/1,RIGHT#1/1 ,firstline/1,firstline#1/1,lcs/2,lcs#1/1,lcs#2/1,lcs#3/1,lcstable/2,lcstable#1/2,lcstable#2/3,lcstable#3/3 ,max/2,max#1/3,newline/3,newline#1/3,newline#2/4,newline#3/5,newline#4/6,newline#5/6,newline#6/2,newline#7/4 ,right/1,right#1/1,#ABS#/1,#ADD#/2,#AND#/2,#CKGT#/1,#COMPARE#/2,#EQ'#/2,#EQUAL#/2,#GREATER#/2,#PRED#/1 ,#SUCC#/1,#abs#/1,#add#/2,#and#/2,#ckgt#/1,#compare#/2,#eq#/2,#equal#/2,#greater#/2,#pred#/1,#succ#/1,+#/2 ,+'#/2,FIRSTLINE#/1,FIRSTLINE#1#/1,LCS#/2,LCS#1#/1,LCS#2#/1,LCS#3#/1,LCSTABLE#/2,LCSTABLE#1#/2,LCSTABLE#2#/3 ,LCSTABLE#3#/3,MAX#/2,MAX#1#/3,NEWLINE#/3,NEWLINE#1#/3,NEWLINE#2#/4,NEWLINE#3#/5,NEWLINE#4#/6,NEWLINE#5#/6 ,NEWLINE#6#/2,NEWLINE#7#/4,RIGHT#/1,RIGHT#1#/1,firstline#/1,firstline#1#/1,lcs#/2,lcs#1#/1,lcs#2#/1,lcs#3#/1 ,lcstable#/2,lcstable#1#/2,lcstable#2#/3,lcstable#3#/3,max#/2,max#1#/3,newline#/3,newline#1#/3,newline#2#/4 ,newline#3#/5,newline#4#/6,newline#5#/6,newline#6#/2,newline#7#/4,right#/1,right#1#/1} / {#0/0,#EQ/0,#GT/0 ,#LT/0,#false/0,#neg/1,#pos/1,#s/1,#true/0,::/2,c/0,c1/1,c10/0,c11/0,c12/0,c13/0,c14/0,c15/0,c16/0,c17/1 ,c18/0,c19/0,c2/2,c20/0,c21/1,c22/0,c23/1,c24/0,c25/0,c26/0,c27/0,c28/0,c29/1,c3/1,c30/0,c31/0,c32/0,c33/1 ,c34/0,c35/1,c36/2,c37/2,c38/0,c39/0,c4/2,c40/0,c41/0,c42/0,c43/0,c44/0,c45/0,c46/0,c47/0,c48/0,c49/0,c5/0 ,c50/0,c51/0,c52/0,c53/1,c54/2,c55/1,c56/1,c57/1,c58/1,c59/0,c6/0,c60/2,c61/1,c62/1,c63/1,c64/0,c65/1,c66/1 ,c67/2,c68/1,c69/1,c7/0,c70/1,c71/0,c72/2,c73/0,c74/0,c75/1,c76/1,c77/0,c78/2,c79/0,c8/0,c80/2,c81/2,c82/3 ,c83/0,c84/1,c85/1,c86/1,c87/0,c88/1,c9/0,nil/0,c_1/0,c_2/0,c_3/0,c_4/0,c_5/1,c_6/3,c_7/1,c_8/1,c_9/1,c_10/1 ,c_11/0,c_12/1,c_13/1,c_14/1,c_15/1,c_16/0,c_17/1,c_18/1,c_19/1,c_20/1,c_21/1,c_22/1,c_23/0,c_24/3,c_25/0 ,c_26/0,c_27/1,c_28/1,c_29/0,c_30/1,c_31/0,c_32/3,c_33/3,c_34/6,c_35/0,c_36/1,c_37/1,c_38/1,c_39/0,c_40/1 ,c_41/0,c_42/1,c_43/3,c_44/1,c_45/3,c_46/0,c_47/0,c_48/0,c_49/0,c_50/0,c_51/0,c_52/0,c_53/0,c_54/0,c_55/0 ,c_56/0,c_57/0,c_58/1,c_59/0,c_60/0,c_61/0,c_62/1,c_63/0,c_64/1,c_65/0,c_66/0,c_67/0,c_68/0,c_69/0,c_70/1 ,c_71/0,c_72/0,c_73/0,c_74/1,c_75/0,c_76/1,c_77/4,c_78/4,c_79/0,c_80/0,c_81/0,c_82/0,c_83/0,c_84/0,c_85/0 ,c_86/0,c_87/0,c_88/0,c_89/0,c_90/0,c_91/0,c_92/0,c_93/0,c_94/0,c_95/1,c_96/2,c_97/1,c_98/2,c_99/0,c_100/0 ,c_101/0,c_102/0,c_103/0,c_104/0,c_105/0,c_106/0,c_107/0,c_108/0,c_109/0,c_110/0,c_111/1,c_112/0,c_113/0 ,c_114/0,c_115/1,c_116/0,c_117/1,c_118/0,c_119/0,c_120/0,c_121/0,c_122/0,c_123/1,c_124/0,c_125/0,c_126/0 ,c_127/1,c_128/0,c_129/1,c_130/3,c_131/0,c_132/0,c_133/0,c_134/1,c_135/2,c_136/0,c_137/0,c_138/0,c_139/0 ,c_140/0,c_141/0,c_142/0,c_143/0,c_144/1,c_145/1,c_146/2,c_147/0,c_148/2,c_149/1,c_150/1,c_151/1,c_152/0 ,c_153/1,c_154/1,c_155/2,c_156/1,c_157/1,c_158/1,c_159/0,c_160/2,c_161/0,c_162/0,c_163/1,c_164/1,c_165/0 ,c_166/2,c_167/0,c_168/2,c_169/2,c_170/3,c_171/0,c_172/1,c_173/1,c_174/1,c_175/0,c_176/1} - Obligation: innermost runtime complexity wrt. defined symbols {#ABS#,#ADD#,#AND#,#CKGT#,#COMPARE#,#EQ'#,#EQUAL# ,#GREATER#,#PRED#,#SUCC#,#abs#,#add#,#and#,#ckgt#,#compare#,#eq#,#equal#,#greater#,#pred#,#succ#,+#,+'# ,FIRSTLINE#,FIRSTLINE#1#,LCS#,LCS#1#,LCS#2#,LCS#3#,LCSTABLE#,LCSTABLE#1#,LCSTABLE#2#,LCSTABLE#3#,MAX#,MAX#1# ,NEWLINE#,NEWLINE#1#,NEWLINE#2#,NEWLINE#3#,NEWLINE#4#,NEWLINE#5#,NEWLINE#6#,NEWLINE#7#,RIGHT#,RIGHT#1# ,firstline#,firstline#1#,lcs#,lcs#1#,lcs#2#,lcs#3#,lcstable#,lcstable#1#,lcstable#2#,lcstable#3#,max#,max#1# ,newline#,newline#1#,newline#2#,newline#3#,newline#4#,newline#5#,newline#6#,newline#7#,right# ,right#1#} 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,c59,c6,c60,c61,c62,c63,c64,c65 ,c66,c67,c68,c69,c7,c70,c71,c72,c73,c74,c75,c76,c77,c78,c79,c8,c80,c81,c82,c83,c84,c85,c86,c87,c88,c9,nil} + Applied Processor: PredecessorEstimationCP {onSelectionCP = any intersect of rules of CDG leaf and strict-rules, withComplexityPair = NaturalMI {miDimension = 1, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Nothing}} + Details: We first use the processor NaturalMI {miDimension = 1, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Nothing} to orient following rules strictly: 1: FIRSTLINE#(z0) -> c_8(FIRSTLINE#1#(z0)) Consider the set of all dependency pairs 1: FIRSTLINE#(z0) -> c_8(FIRSTLINE#1#(z0)) 2: FIRSTLINE#1#(::(z0,z1)) -> c_10(FIRSTLINE#(z1)) 3: LCSTABLE#(z0,z1) -> c_18(LCSTABLE#1#(z0,z1)) 4: LCSTABLE#1#(::(z0,z1),z2) -> c_19(LCSTABLE#(z1,z2)) 5: LCSTABLE#1#(nil(),z0) -> c_20(FIRSTLINE#(z0)) Processor NaturalMI {miDimension = 1, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Nothing}induces the complexity certificateTIME (?,O(n^1)) BEST_CASE TIME (?,?) SPACE(?,?)on application of the dependency pairs {1} These cover all (indirect) predecessors of dependency pairs {1,2} their number of applications is equally bounded. The dependency pairs are shifted into the weak component. **** Step 13.a:4.b:1.a:1: NaturalMI. WORST_CASE(?,O(n^1)) + Considered Problem: - Strict DPs: FIRSTLINE#(z0) -> c_8(FIRSTLINE#1#(z0)) - Weak DPs: FIRSTLINE#1#(::(z0,z1)) -> c_10(FIRSTLINE#(z1)) LCSTABLE#(z0,z1) -> c_18(LCSTABLE#1#(z0,z1)) LCSTABLE#1#(::(z0,z1),z2) -> c_19(LCSTABLE#(z1,z2)) LCSTABLE#1#(nil(),z0) -> c_20(FIRSTLINE#(z0)) - Signature: {#ABS/1,#ADD/2,#AND/2,#CKGT/1,#COMPARE/2,#EQ'/2,#EQUAL/2,#GREATER/2,#PRED/1,#SUCC/1,#abs/1,#add/2,#and/2 ,#ckgt/1,#compare/2,#eq/2,#equal/2,#greater/2,#pred/1,#succ/1,+/2,+'/2,FIRSTLINE/1,FIRSTLINE#1/1,LCS/2 ,LCS#1/1,LCS#2/1,LCS#3/1,LCSTABLE/2,LCSTABLE#1/2,LCSTABLE#2/3,LCSTABLE#3/3,MAX/2,MAX#1/3,NEWLINE/3 ,NEWLINE#1/3,NEWLINE#2/4,NEWLINE#3/5,NEWLINE#4/6,NEWLINE#5/6,NEWLINE#6/2,NEWLINE#7/4,RIGHT/1,RIGHT#1/1 ,firstline/1,firstline#1/1,lcs/2,lcs#1/1,lcs#2/1,lcs#3/1,lcstable/2,lcstable#1/2,lcstable#2/3,lcstable#3/3 ,max/2,max#1/3,newline/3,newline#1/3,newline#2/4,newline#3/5,newline#4/6,newline#5/6,newline#6/2,newline#7/4 ,right/1,right#1/1,#ABS#/1,#ADD#/2,#AND#/2,#CKGT#/1,#COMPARE#/2,#EQ'#/2,#EQUAL#/2,#GREATER#/2,#PRED#/1 ,#SUCC#/1,#abs#/1,#add#/2,#and#/2,#ckgt#/1,#compare#/2,#eq#/2,#equal#/2,#greater#/2,#pred#/1,#succ#/1,+#/2 ,+'#/2,FIRSTLINE#/1,FIRSTLINE#1#/1,LCS#/2,LCS#1#/1,LCS#2#/1,LCS#3#/1,LCSTABLE#/2,LCSTABLE#1#/2,LCSTABLE#2#/3 ,LCSTABLE#3#/3,MAX#/2,MAX#1#/3,NEWLINE#/3,NEWLINE#1#/3,NEWLINE#2#/4,NEWLINE#3#/5,NEWLINE#4#/6,NEWLINE#5#/6 ,NEWLINE#6#/2,NEWLINE#7#/4,RIGHT#/1,RIGHT#1#/1,firstline#/1,firstline#1#/1,lcs#/2,lcs#1#/1,lcs#2#/1,lcs#3#/1 ,lcstable#/2,lcstable#1#/2,lcstable#2#/3,lcstable#3#/3,max#/2,max#1#/3,newline#/3,newline#1#/3,newline#2#/4 ,newline#3#/5,newline#4#/6,newline#5#/6,newline#6#/2,newline#7#/4,right#/1,right#1#/1} / {#0/0,#EQ/0,#GT/0 ,#LT/0,#false/0,#neg/1,#pos/1,#s/1,#true/0,::/2,c/0,c1/1,c10/0,c11/0,c12/0,c13/0,c14/0,c15/0,c16/0,c17/1 ,c18/0,c19/0,c2/2,c20/0,c21/1,c22/0,c23/1,c24/0,c25/0,c26/0,c27/0,c28/0,c29/1,c3/1,c30/0,c31/0,c32/0,c33/1 ,c34/0,c35/1,c36/2,c37/2,c38/0,c39/0,c4/2,c40/0,c41/0,c42/0,c43/0,c44/0,c45/0,c46/0,c47/0,c48/0,c49/0,c5/0 ,c50/0,c51/0,c52/0,c53/1,c54/2,c55/1,c56/1,c57/1,c58/1,c59/0,c6/0,c60/2,c61/1,c62/1,c63/1,c64/0,c65/1,c66/1 ,c67/2,c68/1,c69/1,c7/0,c70/1,c71/0,c72/2,c73/0,c74/0,c75/1,c76/1,c77/0,c78/2,c79/0,c8/0,c80/2,c81/2,c82/3 ,c83/0,c84/1,c85/1,c86/1,c87/0,c88/1,c9/0,nil/0,c_1/0,c_2/0,c_3/0,c_4/0,c_5/1,c_6/3,c_7/1,c_8/1,c_9/1,c_10/1 ,c_11/0,c_12/1,c_13/1,c_14/1,c_15/1,c_16/0,c_17/1,c_18/1,c_19/1,c_20/1,c_21/1,c_22/1,c_23/0,c_24/3,c_25/0 ,c_26/0,c_27/1,c_28/1,c_29/0,c_30/1,c_31/0,c_32/3,c_33/3,c_34/6,c_35/0,c_36/1,c_37/1,c_38/1,c_39/0,c_40/1 ,c_41/0,c_42/1,c_43/3,c_44/1,c_45/3,c_46/0,c_47/0,c_48/0,c_49/0,c_50/0,c_51/0,c_52/0,c_53/0,c_54/0,c_55/0 ,c_56/0,c_57/0,c_58/1,c_59/0,c_60/0,c_61/0,c_62/1,c_63/0,c_64/1,c_65/0,c_66/0,c_67/0,c_68/0,c_69/0,c_70/1 ,c_71/0,c_72/0,c_73/0,c_74/1,c_75/0,c_76/1,c_77/4,c_78/4,c_79/0,c_80/0,c_81/0,c_82/0,c_83/0,c_84/0,c_85/0 ,c_86/0,c_87/0,c_88/0,c_89/0,c_90/0,c_91/0,c_92/0,c_93/0,c_94/0,c_95/1,c_96/2,c_97/1,c_98/2,c_99/0,c_100/0 ,c_101/0,c_102/0,c_103/0,c_104/0,c_105/0,c_106/0,c_107/0,c_108/0,c_109/0,c_110/0,c_111/1,c_112/0,c_113/0 ,c_114/0,c_115/1,c_116/0,c_117/1,c_118/0,c_119/0,c_120/0,c_121/0,c_122/0,c_123/1,c_124/0,c_125/0,c_126/0 ,c_127/1,c_128/0,c_129/1,c_130/3,c_131/0,c_132/0,c_133/0,c_134/1,c_135/2,c_136/0,c_137/0,c_138/0,c_139/0 ,c_140/0,c_141/0,c_142/0,c_143/0,c_144/1,c_145/1,c_146/2,c_147/0,c_148/2,c_149/1,c_150/1,c_151/1,c_152/0 ,c_153/1,c_154/1,c_155/2,c_156/1,c_157/1,c_158/1,c_159/0,c_160/2,c_161/0,c_162/0,c_163/1,c_164/1,c_165/0 ,c_166/2,c_167/0,c_168/2,c_169/2,c_170/3,c_171/0,c_172/1,c_173/1,c_174/1,c_175/0,c_176/1} - Obligation: innermost runtime complexity wrt. defined symbols {#ABS#,#ADD#,#AND#,#CKGT#,#COMPARE#,#EQ'#,#EQUAL# ,#GREATER#,#PRED#,#SUCC#,#abs#,#add#,#and#,#ckgt#,#compare#,#eq#,#equal#,#greater#,#pred#,#succ#,+#,+'# ,FIRSTLINE#,FIRSTLINE#1#,LCS#,LCS#1#,LCS#2#,LCS#3#,LCSTABLE#,LCSTABLE#1#,LCSTABLE#2#,LCSTABLE#3#,MAX#,MAX#1# ,NEWLINE#,NEWLINE#1#,NEWLINE#2#,NEWLINE#3#,NEWLINE#4#,NEWLINE#5#,NEWLINE#6#,NEWLINE#7#,RIGHT#,RIGHT#1# ,firstline#,firstline#1#,lcs#,lcs#1#,lcs#2#,lcs#3#,lcstable#,lcstable#1#,lcstable#2#,lcstable#3#,max#,max#1# ,newline#,newline#1#,newline#2#,newline#3#,newline#4#,newline#5#,newline#6#,newline#7#,right# ,right#1#} 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,c59,c6,c60,c61,c62,c63,c64,c65 ,c66,c67,c68,c69,c7,c70,c71,c72,c73,c74,c75,c76,c77,c78,c79,c8,c80,c81,c82,c83,c84,c85,c86,c87,c88,c9,nil} + Applied Processor: NaturalMI {miDimension = 1, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Just first alternative for predecessorEstimation on any intersect of rules of CDG leaf and strict-rules} + Details: We apply a matrix interpretation of kind constructor based matrix interpretation: The following argument positions are considered usable: uargs(c_8) = {1}, uargs(c_10) = {1}, uargs(c_18) = {1}, uargs(c_19) = {1}, uargs(c_20) = {1} Following symbols are considered usable: {#ABS#,#ADD#,#AND#,#CKGT#,#COMPARE#,#EQ'#,#EQUAL#,#GREATER#,#PRED#,#SUCC#,#abs#,#add#,#and#,#ckgt# ,#compare#,#eq#,#equal#,#greater#,#pred#,#succ#,+#,+'#,FIRSTLINE#,FIRSTLINE#1#,LCS#,LCS#1#,LCS#2#,LCS#3# ,LCSTABLE#,LCSTABLE#1#,LCSTABLE#2#,LCSTABLE#3#,MAX#,MAX#1#,NEWLINE#,NEWLINE#1#,NEWLINE#2#,NEWLINE#3# ,NEWLINE#4#,NEWLINE#5#,NEWLINE#6#,NEWLINE#7#,RIGHT#,RIGHT#1#,firstline#,firstline#1#,lcs#,lcs#1#,lcs#2# ,lcs#3#,lcstable#,lcstable#1#,lcstable#2#,lcstable#3#,max#,max#1#,newline#,newline#1#,newline#2#,newline#3# ,newline#4#,newline#5#,newline#6#,newline#7#,right#,right#1#} TcT has computed the following interpretation: p(#0) = [1] p(#ABS) = [1] x1 + [4] p(#ADD) = [0] p(#AND) = [0] p(#CKGT) = [0] p(#COMPARE) = [0] p(#EQ) = [0] p(#EQ') = [1] x1 + [0] p(#EQUAL) = [0] p(#GREATER) = [8] x2 + [1] p(#GT) = [0] p(#LT) = [0] p(#PRED) = [1] p(#SUCC) = [2] x1 + [1] p(#abs) = [0] p(#add) = [1] x1 + [2] p(#and) = [2] x1 + [2] p(#ckgt) = [1] x1 + [0] p(#compare) = [1] x2 + [1] p(#eq) = [1] x2 + [1] p(#equal) = [1] x2 + [0] p(#false) = [1] p(#greater) = [4] x1 + [0] p(#neg) = [1] x1 + [1] p(#pos) = [1] x1 + [0] p(#pred) = [1] x1 + [0] p(#s) = [2] p(#succ) = [0] p(#true) = [0] p(+) = [0] p(+') = [0] p(::) = [1] x1 + [1] x2 + [12] p(FIRSTLINE) = [0] p(FIRSTLINE#1) = [0] p(LCS) = [0] p(LCS#1) = [0] p(LCS#2) = [0] p(LCS#3) = [0] p(LCSTABLE) = [0] p(LCSTABLE#1) = [0] p(LCSTABLE#2) = [0] p(LCSTABLE#3) = [0] p(MAX) = [0] p(MAX#1) = [0] p(NEWLINE) = [0] p(NEWLINE#1) = [0] p(NEWLINE#2) = [0] p(NEWLINE#3) = [0] p(NEWLINE#4) = [0] p(NEWLINE#5) = [0] p(NEWLINE#6) = [0] p(NEWLINE#7) = [0] p(RIGHT) = [0] p(RIGHT#1) = [0] p(c) = [0] p(c1) = [1] x1 + [0] p(c10) = [0] p(c11) = [0] p(c12) = [0] p(c13) = [0] p(c14) = [0] p(c15) = [0] p(c16) = [0] p(c17) = [1] x1 + [0] p(c18) = [0] p(c19) = [0] p(c2) = [1] x1 + [1] x2 + [2] p(c20) = [1] p(c21) = [1] x1 + [1] p(c22) = [0] p(c23) = [1] x1 + [4] p(c24) = [1] p(c25) = [0] p(c26) = [0] p(c27) = [1] p(c28) = [0] p(c29) = [1] x1 + [0] p(c3) = [1] x1 + [0] p(c30) = [0] p(c31) = [0] p(c32) = [0] p(c33) = [1] x1 + [0] p(c34) = [0] p(c35) = [1] x1 + [0] p(c36) = [1] x1 + [1] x2 + [0] p(c37) = [1] x1 + [1] x2 + [0] p(c38) = [0] p(c39) = [0] p(c4) = [0] p(c40) = [0] p(c41) = [0] p(c42) = [0] p(c43) = [0] p(c44) = [0] p(c45) = [0] p(c46) = [0] p(c47) = [0] p(c48) = [0] p(c49) = [0] p(c5) = [1] p(c50) = [0] p(c51) = [0] p(c52) = [0] p(c53) = [1] x1 + [0] p(c54) = [1] x1 + [1] x2 + [0] p(c55) = [1] x1 + [0] p(c56) = [1] x1 + [0] p(c57) = [1] x1 + [0] p(c58) = [1] x1 + [0] p(c59) = [0] p(c6) = [0] p(c60) = [1] x1 + [1] x2 + [0] p(c61) = [1] x1 + [0] p(c62) = [1] x1 + [0] p(c63) = [1] x1 + [0] p(c64) = [0] p(c65) = [1] x1 + [0] p(c66) = [1] x1 + [0] p(c67) = [1] x1 + [0] p(c68) = [1] x1 + [0] p(c69) = [0] p(c7) = [1] p(c70) = [1] x1 + [0] p(c71) = [0] p(c72) = [1] x1 + [1] x2 + [2] p(c73) = [1] p(c74) = [1] p(c75) = [1] x1 + [0] p(c76) = [1] x1 + [1] p(c77) = [0] p(c78) = [1] x1 + [1] x2 + [0] p(c79) = [0] p(c8) = [0] p(c80) = [1] x1 + [1] x2 + [0] p(c81) = [1] x1 + [1] x2 + [0] p(c82) = [1] x2 + [1] x3 + [0] p(c83) = [0] p(c84) = [1] x1 + [0] p(c85) = [1] x1 + [0] p(c86) = [1] x1 + [0] p(c87) = [0] p(c88) = [1] x1 + [0] p(c9) = [0] p(firstline) = [0] p(firstline#1) = [0] p(lcs) = [0] p(lcs#1) = [0] p(lcs#2) = [0] p(lcs#3) = [0] p(lcstable) = [4] x1 + [0] p(lcstable#1) = [1] x2 + [0] p(lcstable#2) = [1] x2 + [1] p(lcstable#3) = [8] x1 + [2] x3 + [1] p(max) = [1] p(max#1) = [2] x2 + [1] x3 + [1] p(newline) = [1] x2 + [0] p(newline#1) = [1] x2 + [1] x3 + [1] p(newline#2) = [1] x2 + [1] x4 + [1] p(newline#3) = [1] x1 + [1] x2 + [2] x4 + [1] x5 + [1] p(newline#4) = [4] x1 + [4] x2 + [1] x5 + [1] p(newline#5) = [2] x3 + [1] x5 + [4] x6 + [1] p(newline#6) = [1] x1 + [0] p(newline#7) = [1] x2 + [2] x3 + [2] x4 + [1] p(nil) = [1] p(right) = [1] p(right#1) = [1] x1 + [1] p(#ABS#) = [2] p(#ADD#) = [1] x2 + [0] p(#AND#) = [0] p(#CKGT#) = [0] p(#COMPARE#) = [0] p(#EQ'#) = [0] p(#EQUAL#) = [0] p(#GREATER#) = [0] p(#PRED#) = [0] p(#SUCC#) = [0] p(#abs#) = [0] p(#add#) = [0] p(#and#) = [0] p(#ckgt#) = [0] p(#compare#) = [0] p(#eq#) = [0] p(#equal#) = [0] p(#greater#) = [0] p(#pred#) = [0] p(#succ#) = [1] p(+#) = [0] p(+'#) = [0] p(FIRSTLINE#) = [1] x1 + [1] p(FIRSTLINE#1#) = [1] x1 + [0] p(LCS#) = [0] p(LCS#1#) = [0] p(LCS#2#) = [0] p(LCS#3#) = [0] p(LCSTABLE#) = [14] x2 + [15] p(LCSTABLE#1#) = [14] x2 + [15] p(LCSTABLE#2#) = [0] p(LCSTABLE#3#) = [0] p(MAX#) = [0] p(MAX#1#) = [0] p(NEWLINE#) = [0] p(NEWLINE#1#) = [0] p(NEWLINE#2#) = [0] p(NEWLINE#3#) = [0] p(NEWLINE#4#) = [0] p(NEWLINE#5#) = [0] p(NEWLINE#6#) = [0] p(NEWLINE#7#) = [0] p(RIGHT#) = [0] p(RIGHT#1#) = [0] p(firstline#) = [0] p(firstline#1#) = [0] p(lcs#) = [0] p(lcs#1#) = [0] p(lcs#2#) = [0] p(lcs#3#) = [1] x1 + [0] p(lcstable#) = [0] p(lcstable#1#) = [0] p(lcstable#2#) = [0] p(lcstable#3#) = [0] p(max#) = [0] p(max#1#) = [0] p(newline#) = [0] p(newline#1#) = [0] p(newline#2#) = [0] p(newline#3#) = [0] p(newline#4#) = [0] p(newline#5#) = [0] p(newline#6#) = [0] p(newline#7#) = [0] p(right#) = [0] p(right#1#) = [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) = [1] x1 + [0] p(c_9) = [0] p(c_10) = [1] x1 + [11] p(c_11) = [0] p(c_12) = [8] x1 + [0] p(c_13) = [8] x1 + [0] p(c_14) = [0] p(c_15) = [1] x1 + [0] p(c_16) = [8] p(c_17) = [1] x1 + [0] p(c_18) = [1] x1 + [0] p(c_19) = [1] x1 + [0] p(c_20) = [14] x1 + [0] p(c_21) = [0] p(c_22) = [0] p(c_23) = [0] p(c_24) = [1] x1 + [1] x2 + [2] x3 + [0] p(c_25) = [0] p(c_26) = [0] p(c_27) = [1] x1 + [0] p(c_28) = [1] x1 + [0] p(c_29) = [0] p(c_30) = [1] x1 + [0] p(c_31) = [0] p(c_32) = [1] x1 + [8] x2 + [0] p(c_33) = [1] x3 + [0] p(c_34) = [2] x2 + [0] p(c_35) = [0] p(c_36) = [2] x1 + [0] p(c_37) = [0] p(c_38) = [0] p(c_39) = [0] p(c_40) = [2] x1 + [0] p(c_41) = [0] p(c_42) = [2] x1 + [0] p(c_43) = [1] x1 + [2] x2 + [4] x3 + [0] p(c_44) = [1] x1 + [0] p(c_45) = [1] x2 + [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) = [1] x1 + [0] p(c_59) = [0] p(c_60) = [0] p(c_61) = [0] p(c_62) = [1] x1 + [0] p(c_63) = [0] p(c_64) = [4] x1 + [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) = [2] x1 + [0] p(c_75) = [0] p(c_76) = [0] p(c_77) = [1] x3 + [0] p(c_78) = [2] x1 + [1] x2 + [1] x4 + [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) = [1] x1 + [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) = [0] p(c_114) = [0] p(c_115) = [1] x1 + [0] p(c_116) = [0] p(c_117) = [0] p(c_118) = [0] p(c_119) = [0] p(c_120) = [0] p(c_121) = [0] p(c_122) = [0] p(c_123) = [0] p(c_124) = [0] p(c_125) = [0] p(c_126) = [0] p(c_127) = [0] p(c_128) = [0] p(c_129) = [0] p(c_130) = [0] p(c_131) = [0] p(c_132) = [0] p(c_133) = [0] p(c_134) = [0] p(c_135) = [0] p(c_136) = [0] p(c_137) = [0] p(c_138) = [0] p(c_139) = [0] p(c_140) = [0] p(c_141) = [0] p(c_142) = [0] p(c_143) = [0] p(c_144) = [0] p(c_145) = [0] p(c_146) = [0] p(c_147) = [0] p(c_148) = [0] p(c_149) = [0] p(c_150) = [0] p(c_151) = [0] p(c_152) = [0] p(c_153) = [0] p(c_154) = [0] p(c_155) = [0] p(c_156) = [0] p(c_157) = [0] p(c_158) = [0] p(c_159) = [0] p(c_160) = [0] p(c_161) = [0] p(c_162) = [0] p(c_163) = [0] p(c_164) = [0] p(c_165) = [0] p(c_166) = [0] p(c_167) = [0] p(c_168) = [0] p(c_169) = [0] p(c_170) = [0] p(c_171) = [0] p(c_172) = [0] p(c_173) = [0] p(c_174) = [0] p(c_175) = [0] p(c_176) = [0] Following rules are strictly oriented: FIRSTLINE#(z0) = [1] z0 + [1] > [1] z0 + [0] = c_8(FIRSTLINE#1#(z0)) Following rules are (at-least) weakly oriented: FIRSTLINE#1#(::(z0,z1)) = [1] z0 + [1] z1 + [12] >= [1] z1 + [12] = c_10(FIRSTLINE#(z1)) LCSTABLE#(z0,z1) = [14] z1 + [15] >= [14] z1 + [15] = c_18(LCSTABLE#1#(z0,z1)) LCSTABLE#1#(::(z0,z1),z2) = [14] z2 + [15] >= [14] z2 + [15] = c_19(LCSTABLE#(z1,z2)) LCSTABLE#1#(nil(),z0) = [14] z0 + [15] >= [14] z0 + [14] = c_20(FIRSTLINE#(z0)) **** Step 13.a:4.b:1.a:2: Assumption. WORST_CASE(?,O(1)) + Considered Problem: - Weak DPs: FIRSTLINE#(z0) -> c_8(FIRSTLINE#1#(z0)) FIRSTLINE#1#(::(z0,z1)) -> c_10(FIRSTLINE#(z1)) LCSTABLE#(z0,z1) -> c_18(LCSTABLE#1#(z0,z1)) LCSTABLE#1#(::(z0,z1),z2) -> c_19(LCSTABLE#(z1,z2)) LCSTABLE#1#(nil(),z0) -> c_20(FIRSTLINE#(z0)) - Signature: {#ABS/1,#ADD/2,#AND/2,#CKGT/1,#COMPARE/2,#EQ'/2,#EQUAL/2,#GREATER/2,#PRED/1,#SUCC/1,#abs/1,#add/2,#and/2 ,#ckgt/1,#compare/2,#eq/2,#equal/2,#greater/2,#pred/1,#succ/1,+/2,+'/2,FIRSTLINE/1,FIRSTLINE#1/1,LCS/2 ,LCS#1/1,LCS#2/1,LCS#3/1,LCSTABLE/2,LCSTABLE#1/2,LCSTABLE#2/3,LCSTABLE#3/3,MAX/2,MAX#1/3,NEWLINE/3 ,NEWLINE#1/3,NEWLINE#2/4,NEWLINE#3/5,NEWLINE#4/6,NEWLINE#5/6,NEWLINE#6/2,NEWLINE#7/4,RIGHT/1,RIGHT#1/1 ,firstline/1,firstline#1/1,lcs/2,lcs#1/1,lcs#2/1,lcs#3/1,lcstable/2,lcstable#1/2,lcstable#2/3,lcstable#3/3 ,max/2,max#1/3,newline/3,newline#1/3,newline#2/4,newline#3/5,newline#4/6,newline#5/6,newline#6/2,newline#7/4 ,right/1,right#1/1,#ABS#/1,#ADD#/2,#AND#/2,#CKGT#/1,#COMPARE#/2,#EQ'#/2,#EQUAL#/2,#GREATER#/2,#PRED#/1 ,#SUCC#/1,#abs#/1,#add#/2,#and#/2,#ckgt#/1,#compare#/2,#eq#/2,#equal#/2,#greater#/2,#pred#/1,#succ#/1,+#/2 ,+'#/2,FIRSTLINE#/1,FIRSTLINE#1#/1,LCS#/2,LCS#1#/1,LCS#2#/1,LCS#3#/1,LCSTABLE#/2,LCSTABLE#1#/2,LCSTABLE#2#/3 ,LCSTABLE#3#/3,MAX#/2,MAX#1#/3,NEWLINE#/3,NEWLINE#1#/3,NEWLINE#2#/4,NEWLINE#3#/5,NEWLINE#4#/6,NEWLINE#5#/6 ,NEWLINE#6#/2,NEWLINE#7#/4,RIGHT#/1,RIGHT#1#/1,firstline#/1,firstline#1#/1,lcs#/2,lcs#1#/1,lcs#2#/1,lcs#3#/1 ,lcstable#/2,lcstable#1#/2,lcstable#2#/3,lcstable#3#/3,max#/2,max#1#/3,newline#/3,newline#1#/3,newline#2#/4 ,newline#3#/5,newline#4#/6,newline#5#/6,newline#6#/2,newline#7#/4,right#/1,right#1#/1} / {#0/0,#EQ/0,#GT/0 ,#LT/0,#false/0,#neg/1,#pos/1,#s/1,#true/0,::/2,c/0,c1/1,c10/0,c11/0,c12/0,c13/0,c14/0,c15/0,c16/0,c17/1 ,c18/0,c19/0,c2/2,c20/0,c21/1,c22/0,c23/1,c24/0,c25/0,c26/0,c27/0,c28/0,c29/1,c3/1,c30/0,c31/0,c32/0,c33/1 ,c34/0,c35/1,c36/2,c37/2,c38/0,c39/0,c4/2,c40/0,c41/0,c42/0,c43/0,c44/0,c45/0,c46/0,c47/0,c48/0,c49/0,c5/0 ,c50/0,c51/0,c52/0,c53/1,c54/2,c55/1,c56/1,c57/1,c58/1,c59/0,c6/0,c60/2,c61/1,c62/1,c63/1,c64/0,c65/1,c66/1 ,c67/2,c68/1,c69/1,c7/0,c70/1,c71/0,c72/2,c73/0,c74/0,c75/1,c76/1,c77/0,c78/2,c79/0,c8/0,c80/2,c81/2,c82/3 ,c83/0,c84/1,c85/1,c86/1,c87/0,c88/1,c9/0,nil/0,c_1/0,c_2/0,c_3/0,c_4/0,c_5/1,c_6/3,c_7/1,c_8/1,c_9/1,c_10/1 ,c_11/0,c_12/1,c_13/1,c_14/1,c_15/1,c_16/0,c_17/1,c_18/1,c_19/1,c_20/1,c_21/1,c_22/1,c_23/0,c_24/3,c_25/0 ,c_26/0,c_27/1,c_28/1,c_29/0,c_30/1,c_31/0,c_32/3,c_33/3,c_34/6,c_35/0,c_36/1,c_37/1,c_38/1,c_39/0,c_40/1 ,c_41/0,c_42/1,c_43/3,c_44/1,c_45/3,c_46/0,c_47/0,c_48/0,c_49/0,c_50/0,c_51/0,c_52/0,c_53/0,c_54/0,c_55/0 ,c_56/0,c_57/0,c_58/1,c_59/0,c_60/0,c_61/0,c_62/1,c_63/0,c_64/1,c_65/0,c_66/0,c_67/0,c_68/0,c_69/0,c_70/1 ,c_71/0,c_72/0,c_73/0,c_74/1,c_75/0,c_76/1,c_77/4,c_78/4,c_79/0,c_80/0,c_81/0,c_82/0,c_83/0,c_84/0,c_85/0 ,c_86/0,c_87/0,c_88/0,c_89/0,c_90/0,c_91/0,c_92/0,c_93/0,c_94/0,c_95/1,c_96/2,c_97/1,c_98/2,c_99/0,c_100/0 ,c_101/0,c_102/0,c_103/0,c_104/0,c_105/0,c_106/0,c_107/0,c_108/0,c_109/0,c_110/0,c_111/1,c_112/0,c_113/0 ,c_114/0,c_115/1,c_116/0,c_117/1,c_118/0,c_119/0,c_120/0,c_121/0,c_122/0,c_123/1,c_124/0,c_125/0,c_126/0 ,c_127/1,c_128/0,c_129/1,c_130/3,c_131/0,c_132/0,c_133/0,c_134/1,c_135/2,c_136/0,c_137/0,c_138/0,c_139/0 ,c_140/0,c_141/0,c_142/0,c_143/0,c_144/1,c_145/1,c_146/2,c_147/0,c_148/2,c_149/1,c_150/1,c_151/1,c_152/0 ,c_153/1,c_154/1,c_155/2,c_156/1,c_157/1,c_158/1,c_159/0,c_160/2,c_161/0,c_162/0,c_163/1,c_164/1,c_165/0 ,c_166/2,c_167/0,c_168/2,c_169/2,c_170/3,c_171/0,c_172/1,c_173/1,c_174/1,c_175/0,c_176/1} - Obligation: innermost runtime complexity wrt. defined symbols {#ABS#,#ADD#,#AND#,#CKGT#,#COMPARE#,#EQ'#,#EQUAL# ,#GREATER#,#PRED#,#SUCC#,#abs#,#add#,#and#,#ckgt#,#compare#,#eq#,#equal#,#greater#,#pred#,#succ#,+#,+'# ,FIRSTLINE#,FIRSTLINE#1#,LCS#,LCS#1#,LCS#2#,LCS#3#,LCSTABLE#,LCSTABLE#1#,LCSTABLE#2#,LCSTABLE#3#,MAX#,MAX#1# ,NEWLINE#,NEWLINE#1#,NEWLINE#2#,NEWLINE#3#,NEWLINE#4#,NEWLINE#5#,NEWLINE#6#,NEWLINE#7#,RIGHT#,RIGHT#1# ,firstline#,firstline#1#,lcs#,lcs#1#,lcs#2#,lcs#3#,lcstable#,lcstable#1#,lcstable#2#,lcstable#3#,max#,max#1# ,newline#,newline#1#,newline#2#,newline#3#,newline#4#,newline#5#,newline#6#,newline#7#,right# ,right#1#} 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,c59,c6,c60,c61,c62,c63,c64,c65 ,c66,c67,c68,c69,c7,c70,c71,c72,c73,c74,c75,c76,c77,c78,c79,c8,c80,c81,c82,c83,c84,c85,c86,c87,c88,c9,nil} + Applied Processor: Assumption {assumed = Certificate {spaceUB = Unknown, spaceLB = Unknown, timeUB = Poly (Just 0), timeLB = Unknown, timeBCUB = Unknown, timeBCLB = Unknown}} + Details: () **** Step 13.a:4.b:1.b:1: RemoveWeakSuffixes. WORST_CASE(?,O(1)) + Considered Problem: - Weak DPs: FIRSTLINE#(z0) -> c_8(FIRSTLINE#1#(z0)) FIRSTLINE#1#(::(z0,z1)) -> c_10(FIRSTLINE#(z1)) LCSTABLE#(z0,z1) -> c_18(LCSTABLE#1#(z0,z1)) LCSTABLE#1#(::(z0,z1),z2) -> c_19(LCSTABLE#(z1,z2)) LCSTABLE#1#(nil(),z0) -> c_20(FIRSTLINE#(z0)) - Signature: {#ABS/1,#ADD/2,#AND/2,#CKGT/1,#COMPARE/2,#EQ'/2,#EQUAL/2,#GREATER/2,#PRED/1,#SUCC/1,#abs/1,#add/2,#and/2 ,#ckgt/1,#compare/2,#eq/2,#equal/2,#greater/2,#pred/1,#succ/1,+/2,+'/2,FIRSTLINE/1,FIRSTLINE#1/1,LCS/2 ,LCS#1/1,LCS#2/1,LCS#3/1,LCSTABLE/2,LCSTABLE#1/2,LCSTABLE#2/3,LCSTABLE#3/3,MAX/2,MAX#1/3,NEWLINE/3 ,NEWLINE#1/3,NEWLINE#2/4,NEWLINE#3/5,NEWLINE#4/6,NEWLINE#5/6,NEWLINE#6/2,NEWLINE#7/4,RIGHT/1,RIGHT#1/1 ,firstline/1,firstline#1/1,lcs/2,lcs#1/1,lcs#2/1,lcs#3/1,lcstable/2,lcstable#1/2,lcstable#2/3,lcstable#3/3 ,max/2,max#1/3,newline/3,newline#1/3,newline#2/4,newline#3/5,newline#4/6,newline#5/6,newline#6/2,newline#7/4 ,right/1,right#1/1,#ABS#/1,#ADD#/2,#AND#/2,#CKGT#/1,#COMPARE#/2,#EQ'#/2,#EQUAL#/2,#GREATER#/2,#PRED#/1 ,#SUCC#/1,#abs#/1,#add#/2,#and#/2,#ckgt#/1,#compare#/2,#eq#/2,#equal#/2,#greater#/2,#pred#/1,#succ#/1,+#/2 ,+'#/2,FIRSTLINE#/1,FIRSTLINE#1#/1,LCS#/2,LCS#1#/1,LCS#2#/1,LCS#3#/1,LCSTABLE#/2,LCSTABLE#1#/2,LCSTABLE#2#/3 ,LCSTABLE#3#/3,MAX#/2,MAX#1#/3,NEWLINE#/3,NEWLINE#1#/3,NEWLINE#2#/4,NEWLINE#3#/5,NEWLINE#4#/6,NEWLINE#5#/6 ,NEWLINE#6#/2,NEWLINE#7#/4,RIGHT#/1,RIGHT#1#/1,firstline#/1,firstline#1#/1,lcs#/2,lcs#1#/1,lcs#2#/1,lcs#3#/1 ,lcstable#/2,lcstable#1#/2,lcstable#2#/3,lcstable#3#/3,max#/2,max#1#/3,newline#/3,newline#1#/3,newline#2#/4 ,newline#3#/5,newline#4#/6,newline#5#/6,newline#6#/2,newline#7#/4,right#/1,right#1#/1} / {#0/0,#EQ/0,#GT/0 ,#LT/0,#false/0,#neg/1,#pos/1,#s/1,#true/0,::/2,c/0,c1/1,c10/0,c11/0,c12/0,c13/0,c14/0,c15/0,c16/0,c17/1 ,c18/0,c19/0,c2/2,c20/0,c21/1,c22/0,c23/1,c24/0,c25/0,c26/0,c27/0,c28/0,c29/1,c3/1,c30/0,c31/0,c32/0,c33/1 ,c34/0,c35/1,c36/2,c37/2,c38/0,c39/0,c4/2,c40/0,c41/0,c42/0,c43/0,c44/0,c45/0,c46/0,c47/0,c48/0,c49/0,c5/0 ,c50/0,c51/0,c52/0,c53/1,c54/2,c55/1,c56/1,c57/1,c58/1,c59/0,c6/0,c60/2,c61/1,c62/1,c63/1,c64/0,c65/1,c66/1 ,c67/2,c68/1,c69/1,c7/0,c70/1,c71/0,c72/2,c73/0,c74/0,c75/1,c76/1,c77/0,c78/2,c79/0,c8/0,c80/2,c81/2,c82/3 ,c83/0,c84/1,c85/1,c86/1,c87/0,c88/1,c9/0,nil/0,c_1/0,c_2/0,c_3/0,c_4/0,c_5/1,c_6/3,c_7/1,c_8/1,c_9/1,c_10/1 ,c_11/0,c_12/1,c_13/1,c_14/1,c_15/1,c_16/0,c_17/1,c_18/1,c_19/1,c_20/1,c_21/1,c_22/1,c_23/0,c_24/3,c_25/0 ,c_26/0,c_27/1,c_28/1,c_29/0,c_30/1,c_31/0,c_32/3,c_33/3,c_34/6,c_35/0,c_36/1,c_37/1,c_38/1,c_39/0,c_40/1 ,c_41/0,c_42/1,c_43/3,c_44/1,c_45/3,c_46/0,c_47/0,c_48/0,c_49/0,c_50/0,c_51/0,c_52/0,c_53/0,c_54/0,c_55/0 ,c_56/0,c_57/0,c_58/1,c_59/0,c_60/0,c_61/0,c_62/1,c_63/0,c_64/1,c_65/0,c_66/0,c_67/0,c_68/0,c_69/0,c_70/1 ,c_71/0,c_72/0,c_73/0,c_74/1,c_75/0,c_76/1,c_77/4,c_78/4,c_79/0,c_80/0,c_81/0,c_82/0,c_83/0,c_84/0,c_85/0 ,c_86/0,c_87/0,c_88/0,c_89/0,c_90/0,c_91/0,c_92/0,c_93/0,c_94/0,c_95/1,c_96/2,c_97/1,c_98/2,c_99/0,c_100/0 ,c_101/0,c_102/0,c_103/0,c_104/0,c_105/0,c_106/0,c_107/0,c_108/0,c_109/0,c_110/0,c_111/1,c_112/0,c_113/0 ,c_114/0,c_115/1,c_116/0,c_117/1,c_118/0,c_119/0,c_120/0,c_121/0,c_122/0,c_123/1,c_124/0,c_125/0,c_126/0 ,c_127/1,c_128/0,c_129/1,c_130/3,c_131/0,c_132/0,c_133/0,c_134/1,c_135/2,c_136/0,c_137/0,c_138/0,c_139/0 ,c_140/0,c_141/0,c_142/0,c_143/0,c_144/1,c_145/1,c_146/2,c_147/0,c_148/2,c_149/1,c_150/1,c_151/1,c_152/0 ,c_153/1,c_154/1,c_155/2,c_156/1,c_157/1,c_158/1,c_159/0,c_160/2,c_161/0,c_162/0,c_163/1,c_164/1,c_165/0 ,c_166/2,c_167/0,c_168/2,c_169/2,c_170/3,c_171/0,c_172/1,c_173/1,c_174/1,c_175/0,c_176/1} - Obligation: innermost runtime complexity wrt. defined symbols {#ABS#,#ADD#,#AND#,#CKGT#,#COMPARE#,#EQ'#,#EQUAL# ,#GREATER#,#PRED#,#SUCC#,#abs#,#add#,#and#,#ckgt#,#compare#,#eq#,#equal#,#greater#,#pred#,#succ#,+#,+'# ,FIRSTLINE#,FIRSTLINE#1#,LCS#,LCS#1#,LCS#2#,LCS#3#,LCSTABLE#,LCSTABLE#1#,LCSTABLE#2#,LCSTABLE#3#,MAX#,MAX#1# ,NEWLINE#,NEWLINE#1#,NEWLINE#2#,NEWLINE#3#,NEWLINE#4#,NEWLINE#5#,NEWLINE#6#,NEWLINE#7#,RIGHT#,RIGHT#1# ,firstline#,firstline#1#,lcs#,lcs#1#,lcs#2#,lcs#3#,lcstable#,lcstable#1#,lcstable#2#,lcstable#3#,max#,max#1# ,newline#,newline#1#,newline#2#,newline#3#,newline#4#,newline#5#,newline#6#,newline#7#,right# ,right#1#} 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,c59,c6,c60,c61,c62,c63,c64,c65 ,c66,c67,c68,c69,c7,c70,c71,c72,c73,c74,c75,c76,c77,c78,c79,c8,c80,c81,c82,c83,c84,c85,c86,c87,c88,c9,nil} + Applied Processor: RemoveWeakSuffixes + Details: Consider the dependency graph 1:W:FIRSTLINE#(z0) -> c_8(FIRSTLINE#1#(z0)) -->_1 FIRSTLINE#1#(::(z0,z1)) -> c_10(FIRSTLINE#(z1)):2 2:W:FIRSTLINE#1#(::(z0,z1)) -> c_10(FIRSTLINE#(z1)) -->_1 FIRSTLINE#(z0) -> c_8(FIRSTLINE#1#(z0)):1 3:W:LCSTABLE#(z0,z1) -> c_18(LCSTABLE#1#(z0,z1)) -->_1 LCSTABLE#1#(nil(),z0) -> c_20(FIRSTLINE#(z0)):5 -->_1 LCSTABLE#1#(::(z0,z1),z2) -> c_19(LCSTABLE#(z1,z2)):4 4:W:LCSTABLE#1#(::(z0,z1),z2) -> c_19(LCSTABLE#(z1,z2)) -->_1 LCSTABLE#(z0,z1) -> c_18(LCSTABLE#1#(z0,z1)):3 5:W:LCSTABLE#1#(nil(),z0) -> c_20(FIRSTLINE#(z0)) -->_1 FIRSTLINE#(z0) -> c_8(FIRSTLINE#1#(z0)):1 The following weak DPs constitute a sub-graph of the DG that is closed under successors. The DPs are removed. 3: LCSTABLE#(z0,z1) -> c_18(LCSTABLE#1#(z0,z1)) 4: LCSTABLE#1#(::(z0,z1),z2) -> c_19(LCSTABLE#(z1,z2)) 5: LCSTABLE#1#(nil(),z0) -> c_20(FIRSTLINE#(z0)) 1: FIRSTLINE#(z0) -> c_8(FIRSTLINE#1#(z0)) 2: FIRSTLINE#1#(::(z0,z1)) -> c_10(FIRSTLINE#(z1)) **** Step 13.a:4.b:1.b:2: EmptyProcessor. WORST_CASE(?,O(1)) + Considered Problem: - Signature: {#ABS/1,#ADD/2,#AND/2,#CKGT/1,#COMPARE/2,#EQ'/2,#EQUAL/2,#GREATER/2,#PRED/1,#SUCC/1,#abs/1,#add/2,#and/2 ,#ckgt/1,#compare/2,#eq/2,#equal/2,#greater/2,#pred/1,#succ/1,+/2,+'/2,FIRSTLINE/1,FIRSTLINE#1/1,LCS/2 ,LCS#1/1,LCS#2/1,LCS#3/1,LCSTABLE/2,LCSTABLE#1/2,LCSTABLE#2/3,LCSTABLE#3/3,MAX/2,MAX#1/3,NEWLINE/3 ,NEWLINE#1/3,NEWLINE#2/4,NEWLINE#3/5,NEWLINE#4/6,NEWLINE#5/6,NEWLINE#6/2,NEWLINE#7/4,RIGHT/1,RIGHT#1/1 ,firstline/1,firstline#1/1,lcs/2,lcs#1/1,lcs#2/1,lcs#3/1,lcstable/2,lcstable#1/2,lcstable#2/3,lcstable#3/3 ,max/2,max#1/3,newline/3,newline#1/3,newline#2/4,newline#3/5,newline#4/6,newline#5/6,newline#6/2,newline#7/4 ,right/1,right#1/1,#ABS#/1,#ADD#/2,#AND#/2,#CKGT#/1,#COMPARE#/2,#EQ'#/2,#EQUAL#/2,#GREATER#/2,#PRED#/1 ,#SUCC#/1,#abs#/1,#add#/2,#and#/2,#ckgt#/1,#compare#/2,#eq#/2,#equal#/2,#greater#/2,#pred#/1,#succ#/1,+#/2 ,+'#/2,FIRSTLINE#/1,FIRSTLINE#1#/1,LCS#/2,LCS#1#/1,LCS#2#/1,LCS#3#/1,LCSTABLE#/2,LCSTABLE#1#/2,LCSTABLE#2#/3 ,LCSTABLE#3#/3,MAX#/2,MAX#1#/3,NEWLINE#/3,NEWLINE#1#/3,NEWLINE#2#/4,NEWLINE#3#/5,NEWLINE#4#/6,NEWLINE#5#/6 ,NEWLINE#6#/2,NEWLINE#7#/4,RIGHT#/1,RIGHT#1#/1,firstline#/1,firstline#1#/1,lcs#/2,lcs#1#/1,lcs#2#/1,lcs#3#/1 ,lcstable#/2,lcstable#1#/2,lcstable#2#/3,lcstable#3#/3,max#/2,max#1#/3,newline#/3,newline#1#/3,newline#2#/4 ,newline#3#/5,newline#4#/6,newline#5#/6,newline#6#/2,newline#7#/4,right#/1,right#1#/1} / {#0/0,#EQ/0,#GT/0 ,#LT/0,#false/0,#neg/1,#pos/1,#s/1,#true/0,::/2,c/0,c1/1,c10/0,c11/0,c12/0,c13/0,c14/0,c15/0,c16/0,c17/1 ,c18/0,c19/0,c2/2,c20/0,c21/1,c22/0,c23/1,c24/0,c25/0,c26/0,c27/0,c28/0,c29/1,c3/1,c30/0,c31/0,c32/0,c33/1 ,c34/0,c35/1,c36/2,c37/2,c38/0,c39/0,c4/2,c40/0,c41/0,c42/0,c43/0,c44/0,c45/0,c46/0,c47/0,c48/0,c49/0,c5/0 ,c50/0,c51/0,c52/0,c53/1,c54/2,c55/1,c56/1,c57/1,c58/1,c59/0,c6/0,c60/2,c61/1,c62/1,c63/1,c64/0,c65/1,c66/1 ,c67/2,c68/1,c69/1,c7/0,c70/1,c71/0,c72/2,c73/0,c74/0,c75/1,c76/1,c77/0,c78/2,c79/0,c8/0,c80/2,c81/2,c82/3 ,c83/0,c84/1,c85/1,c86/1,c87/0,c88/1,c9/0,nil/0,c_1/0,c_2/0,c_3/0,c_4/0,c_5/1,c_6/3,c_7/1,c_8/1,c_9/1,c_10/1 ,c_11/0,c_12/1,c_13/1,c_14/1,c_15/1,c_16/0,c_17/1,c_18/1,c_19/1,c_20/1,c_21/1,c_22/1,c_23/0,c_24/3,c_25/0 ,c_26/0,c_27/1,c_28/1,c_29/0,c_30/1,c_31/0,c_32/3,c_33/3,c_34/6,c_35/0,c_36/1,c_37/1,c_38/1,c_39/0,c_40/1 ,c_41/0,c_42/1,c_43/3,c_44/1,c_45/3,c_46/0,c_47/0,c_48/0,c_49/0,c_50/0,c_51/0,c_52/0,c_53/0,c_54/0,c_55/0 ,c_56/0,c_57/0,c_58/1,c_59/0,c_60/0,c_61/0,c_62/1,c_63/0,c_64/1,c_65/0,c_66/0,c_67/0,c_68/0,c_69/0,c_70/1 ,c_71/0,c_72/0,c_73/0,c_74/1,c_75/0,c_76/1,c_77/4,c_78/4,c_79/0,c_80/0,c_81/0,c_82/0,c_83/0,c_84/0,c_85/0 ,c_86/0,c_87/0,c_88/0,c_89/0,c_90/0,c_91/0,c_92/0,c_93/0,c_94/0,c_95/1,c_96/2,c_97/1,c_98/2,c_99/0,c_100/0 ,c_101/0,c_102/0,c_103/0,c_104/0,c_105/0,c_106/0,c_107/0,c_108/0,c_109/0,c_110/0,c_111/1,c_112/0,c_113/0 ,c_114/0,c_115/1,c_116/0,c_117/1,c_118/0,c_119/0,c_120/0,c_121/0,c_122/0,c_123/1,c_124/0,c_125/0,c_126/0 ,c_127/1,c_128/0,c_129/1,c_130/3,c_131/0,c_132/0,c_133/0,c_134/1,c_135/2,c_136/0,c_137/0,c_138/0,c_139/0 ,c_140/0,c_141/0,c_142/0,c_143/0,c_144/1,c_145/1,c_146/2,c_147/0,c_148/2,c_149/1,c_150/1,c_151/1,c_152/0 ,c_153/1,c_154/1,c_155/2,c_156/1,c_157/1,c_158/1,c_159/0,c_160/2,c_161/0,c_162/0,c_163/1,c_164/1,c_165/0 ,c_166/2,c_167/0,c_168/2,c_169/2,c_170/3,c_171/0,c_172/1,c_173/1,c_174/1,c_175/0,c_176/1} - Obligation: innermost runtime complexity wrt. defined symbols {#ABS#,#ADD#,#AND#,#CKGT#,#COMPARE#,#EQ'#,#EQUAL# ,#GREATER#,#PRED#,#SUCC#,#abs#,#add#,#and#,#ckgt#,#compare#,#eq#,#equal#,#greater#,#pred#,#succ#,+#,+'# ,FIRSTLINE#,FIRSTLINE#1#,LCS#,LCS#1#,LCS#2#,LCS#3#,LCSTABLE#,LCSTABLE#1#,LCSTABLE#2#,LCSTABLE#3#,MAX#,MAX#1# ,NEWLINE#,NEWLINE#1#,NEWLINE#2#,NEWLINE#3#,NEWLINE#4#,NEWLINE#5#,NEWLINE#6#,NEWLINE#7#,RIGHT#,RIGHT#1# ,firstline#,firstline#1#,lcs#,lcs#1#,lcs#2#,lcs#3#,lcstable#,lcstable#1#,lcstable#2#,lcstable#3#,max#,max#1# ,newline#,newline#1#,newline#2#,newline#3#,newline#4#,newline#5#,newline#6#,newline#7#,right# ,right#1#} 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,c59,c6,c60,c61,c62,c63,c64,c65 ,c66,c67,c68,c69,c7,c70,c71,c72,c73,c74,c75,c76,c77,c78,c79,c8,c80,c81,c82,c83,c84,c85,c86,c87,c88,c9,nil} + Applied Processor: EmptyProcessor + Details: The problem is already closed. The intended complexity is O(1). ** Step 13.b:1: PredecessorEstimation. WORST_CASE(?,O(n^2)) + Considered Problem: - Strict DPs: LCSTABLE#(z0,z1) -> c_18(LCSTABLE#1#(z0,z1)) LCSTABLE#1#(::(z0,z1),z2) -> c_19(LCSTABLE#2#(lcstable(z1,z2),z2,z0),LCSTABLE#(z1,z2)) LCSTABLE#1#(nil(),z0) -> c_20(FIRSTLINE#(z0)) LCSTABLE#2#(z0,z1,z2) -> c_21(LCSTABLE#3#(z0,z1,z2)) LCSTABLE#3#(::(z0,z1),z2,z3) -> c_22(NEWLINE#(z3,z0,z2)) NEWLINE#(z0,z1,z2) -> c_27(NEWLINE#1#(z2,z1,z0)) NEWLINE#1#(::(z0,z1),z2,z3) -> c_28(NEWLINE#2#(z2,z0,z1,z3)) NEWLINE#2#(::(z0,z1),z2,z3,z4) -> c_30(NEWLINE#(z4,z1,z3)) - Weak DPs: FIRSTLINE#(z0) -> c_8(FIRSTLINE#1#(z0)) FIRSTLINE#1#(::(z0,z1)) -> c_10(FIRSTLINE#(z1)) - Weak TRS: #abs(#0()) -> #0() #add(#0(),z0) -> z0 #add(#neg(#s(#0())),z0) -> #pred(z0) #add(#neg(#s(#s(z0))),z1) -> #pred(#add(#pos(#s(z0)),z1)) #add(#pos(#s(#0())),z0) -> #succ(z0) #add(#pos(#s(#s(z0))),z1) -> #succ(#add(#pos(#s(z0)),z1)) #and(#false(),#false()) -> #false() #and(#false(),#true()) -> #false() #and(#true(),#false()) -> #false() #and(#true(),#true()) -> #true() #ckgt(#EQ()) -> #false() #ckgt(#GT()) -> #true() #ckgt(#LT()) -> #false() #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) #greater(z0,z1) -> #ckgt(#compare(z0,z1)) #pred(#0()) -> #neg(#s(#0())) #pred(#neg(#s(z0))) -> #neg(#s(#s(z0))) #pred(#pos(#s(#0()))) -> #0() #pred(#pos(#s(#s(z0)))) -> #pos(#s(z0)) #succ(#0()) -> #pos(#s(#0())) #succ(#neg(#s(#0()))) -> #0() #succ(#neg(#s(#s(z0)))) -> #neg(#s(z0)) #succ(#pos(#s(z0))) -> #pos(#s(#s(z0))) +(z0,z1) -> #add(z0,z1) firstline(z0) -> firstline#1(z0) firstline#1(::(z0,z1)) -> ::(#abs(#0()),firstline(z1)) firstline#1(nil()) -> nil() lcstable(z0,z1) -> lcstable#1(z0,z1) lcstable#1(::(z0,z1),z2) -> lcstable#2(lcstable(z1,z2),z2,z0) lcstable#1(nil(),z0) -> ::(firstline(z0),nil()) lcstable#2(z0,z1,z2) -> lcstable#3(z0,z1,z2) lcstable#3(::(z0,z1),z2,z3) -> ::(newline(z3,z0,z2),::(z0,z1)) lcstable#3(nil(),z0,z1) -> nil() max(z0,z1) -> max#1(#greater(z0,z1),z0,z1) max#1(#false(),z0,z1) -> z1 max#1(#true(),z0,z1) -> z0 newline(z0,z1,z2) -> newline#1(z2,z1,z0) newline#1(::(z0,z1),z2,z3) -> newline#2(z2,z0,z1,z3) newline#1(nil(),z0,z1) -> nil() newline#2(::(z0,z1),z2,z3,z4) -> newline#3(newline(z4,z1,z3),z0,z1,z2,z4) newline#2(nil(),z0,z1,z2) -> nil() newline#3(z0,z1,z2,z3,z4) -> newline#4(right(z0),z1,z2,z0,z3,z4) newline#4(z0,z1,z2,z3,z4,z5) -> newline#5(right(z2),z1,z3,z0,z4,z5) newline#5(z0,z1,z2,z3,z4,z5) -> newline#6(newline#7(#equal(z4,z5),z1,z0,z3),z2) newline#6(z0,z1) -> ::(z0,z1) newline#7(#false(),z0,z1,z2) -> max(z0,z2) newline#7(#true(),z0,z1,z2) -> +(z1,#pos(#s(#0()))) right(z0) -> right#1(z0) right#1(::(z0,z1)) -> z0 right#1(nil()) -> #abs(#0()) - Signature: {#ABS/1,#ADD/2,#AND/2,#CKGT/1,#COMPARE/2,#EQ'/2,#EQUAL/2,#GREATER/2,#PRED/1,#SUCC/1,#abs/1,#add/2,#and/2 ,#ckgt/1,#compare/2,#eq/2,#equal/2,#greater/2,#pred/1,#succ/1,+/2,+'/2,FIRSTLINE/1,FIRSTLINE#1/1,LCS/2 ,LCS#1/1,LCS#2/1,LCS#3/1,LCSTABLE/2,LCSTABLE#1/2,LCSTABLE#2/3,LCSTABLE#3/3,MAX/2,MAX#1/3,NEWLINE/3 ,NEWLINE#1/3,NEWLINE#2/4,NEWLINE#3/5,NEWLINE#4/6,NEWLINE#5/6,NEWLINE#6/2,NEWLINE#7/4,RIGHT/1,RIGHT#1/1 ,firstline/1,firstline#1/1,lcs/2,lcs#1/1,lcs#2/1,lcs#3/1,lcstable/2,lcstable#1/2,lcstable#2/3,lcstable#3/3 ,max/2,max#1/3,newline/3,newline#1/3,newline#2/4,newline#3/5,newline#4/6,newline#5/6,newline#6/2,newline#7/4 ,right/1,right#1/1,#ABS#/1,#ADD#/2,#AND#/2,#CKGT#/1,#COMPARE#/2,#EQ'#/2,#EQUAL#/2,#GREATER#/2,#PRED#/1 ,#SUCC#/1,#abs#/1,#add#/2,#and#/2,#ckgt#/1,#compare#/2,#eq#/2,#equal#/2,#greater#/2,#pred#/1,#succ#/1,+#/2 ,+'#/2,FIRSTLINE#/1,FIRSTLINE#1#/1,LCS#/2,LCS#1#/1,LCS#2#/1,LCS#3#/1,LCSTABLE#/2,LCSTABLE#1#/2,LCSTABLE#2#/3 ,LCSTABLE#3#/3,MAX#/2,MAX#1#/3,NEWLINE#/3,NEWLINE#1#/3,NEWLINE#2#/4,NEWLINE#3#/5,NEWLINE#4#/6,NEWLINE#5#/6 ,NEWLINE#6#/2,NEWLINE#7#/4,RIGHT#/1,RIGHT#1#/1,firstline#/1,firstline#1#/1,lcs#/2,lcs#1#/1,lcs#2#/1,lcs#3#/1 ,lcstable#/2,lcstable#1#/2,lcstable#2#/3,lcstable#3#/3,max#/2,max#1#/3,newline#/3,newline#1#/3,newline#2#/4 ,newline#3#/5,newline#4#/6,newline#5#/6,newline#6#/2,newline#7#/4,right#/1,right#1#/1} / {#0/0,#EQ/0,#GT/0 ,#LT/0,#false/0,#neg/1,#pos/1,#s/1,#true/0,::/2,c/0,c1/1,c10/0,c11/0,c12/0,c13/0,c14/0,c15/0,c16/0,c17/1 ,c18/0,c19/0,c2/2,c20/0,c21/1,c22/0,c23/1,c24/0,c25/0,c26/0,c27/0,c28/0,c29/1,c3/1,c30/0,c31/0,c32/0,c33/1 ,c34/0,c35/1,c36/2,c37/2,c38/0,c39/0,c4/2,c40/0,c41/0,c42/0,c43/0,c44/0,c45/0,c46/0,c47/0,c48/0,c49/0,c5/0 ,c50/0,c51/0,c52/0,c53/1,c54/2,c55/1,c56/1,c57/1,c58/1,c59/0,c6/0,c60/2,c61/1,c62/1,c63/1,c64/0,c65/1,c66/1 ,c67/2,c68/1,c69/1,c7/0,c70/1,c71/0,c72/2,c73/0,c74/0,c75/1,c76/1,c77/0,c78/2,c79/0,c8/0,c80/2,c81/2,c82/3 ,c83/0,c84/1,c85/1,c86/1,c87/0,c88/1,c9/0,nil/0,c_1/0,c_2/0,c_3/0,c_4/0,c_5/1,c_6/3,c_7/1,c_8/1,c_9/1,c_10/1 ,c_11/0,c_12/1,c_13/1,c_14/1,c_15/1,c_16/0,c_17/1,c_18/1,c_19/2,c_20/1,c_21/1,c_22/1,c_23/0,c_24/3,c_25/0 ,c_26/0,c_27/1,c_28/1,c_29/0,c_30/1,c_31/0,c_32/3,c_33/3,c_34/6,c_35/0,c_36/1,c_37/1,c_38/1,c_39/0,c_40/1 ,c_41/0,c_42/1,c_43/3,c_44/1,c_45/3,c_46/0,c_47/0,c_48/0,c_49/0,c_50/0,c_51/0,c_52/0,c_53/0,c_54/0,c_55/0 ,c_56/0,c_57/0,c_58/1,c_59/0,c_60/0,c_61/0,c_62/1,c_63/0,c_64/1,c_65/0,c_66/0,c_67/0,c_68/0,c_69/0,c_70/1 ,c_71/0,c_72/0,c_73/0,c_74/1,c_75/0,c_76/1,c_77/4,c_78/4,c_79/0,c_80/0,c_81/0,c_82/0,c_83/0,c_84/0,c_85/0 ,c_86/0,c_87/0,c_88/0,c_89/0,c_90/0,c_91/0,c_92/0,c_93/0,c_94/0,c_95/1,c_96/2,c_97/1,c_98/2,c_99/0,c_100/0 ,c_101/0,c_102/0,c_103/0,c_104/0,c_105/0,c_106/0,c_107/0,c_108/0,c_109/0,c_110/0,c_111/1,c_112/0,c_113/0 ,c_114/0,c_115/1,c_116/0,c_117/1,c_118/0,c_119/0,c_120/0,c_121/0,c_122/0,c_123/1,c_124/0,c_125/0,c_126/0 ,c_127/1,c_128/0,c_129/1,c_130/3,c_131/0,c_132/0,c_133/0,c_134/1,c_135/2,c_136/0,c_137/0,c_138/0,c_139/0 ,c_140/0,c_141/0,c_142/0,c_143/0,c_144/1,c_145/1,c_146/2,c_147/0,c_148/2,c_149/1,c_150/1,c_151/1,c_152/0 ,c_153/1,c_154/1,c_155/2,c_156/1,c_157/1,c_158/1,c_159/0,c_160/2,c_161/0,c_162/0,c_163/1,c_164/1,c_165/0 ,c_166/2,c_167/0,c_168/2,c_169/2,c_170/3,c_171/0,c_172/1,c_173/1,c_174/1,c_175/0,c_176/1} - Obligation: innermost runtime complexity wrt. defined symbols {#ABS#,#ADD#,#AND#,#CKGT#,#COMPARE#,#EQ'#,#EQUAL# ,#GREATER#,#PRED#,#SUCC#,#abs#,#add#,#and#,#ckgt#,#compare#,#eq#,#equal#,#greater#,#pred#,#succ#,+#,+'# ,FIRSTLINE#,FIRSTLINE#1#,LCS#,LCS#1#,LCS#2#,LCS#3#,LCSTABLE#,LCSTABLE#1#,LCSTABLE#2#,LCSTABLE#3#,MAX#,MAX#1# ,NEWLINE#,NEWLINE#1#,NEWLINE#2#,NEWLINE#3#,NEWLINE#4#,NEWLINE#5#,NEWLINE#6#,NEWLINE#7#,RIGHT#,RIGHT#1# ,firstline#,firstline#1#,lcs#,lcs#1#,lcs#2#,lcs#3#,lcstable#,lcstable#1#,lcstable#2#,lcstable#3#,max#,max#1# ,newline#,newline#1#,newline#2#,newline#3#,newline#4#,newline#5#,newline#6#,newline#7#,right# ,right#1#} 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,c59,c6,c60,c61,c62,c63,c64,c65 ,c66,c67,c68,c69,c7,c70,c71,c72,c73,c74,c75,c76,c77,c78,c79,c8,c80,c81,c82,c83,c84,c85,c86,c87,c88,c9,nil} + Applied Processor: PredecessorEstimation {onSelection = all simple predecessor estimation selector} + Details: We estimate the number of application of {3} by application of Pre({3}) = {1}. Here rules are labelled as follows: 1: LCSTABLE#(z0,z1) -> c_18(LCSTABLE#1#(z0,z1)) 2: LCSTABLE#1#(::(z0,z1),z2) -> c_19(LCSTABLE#2#(lcstable(z1,z2),z2,z0),LCSTABLE#(z1,z2)) 3: LCSTABLE#1#(nil(),z0) -> c_20(FIRSTLINE#(z0)) 4: LCSTABLE#2#(z0,z1,z2) -> c_21(LCSTABLE#3#(z0,z1,z2)) 5: LCSTABLE#3#(::(z0,z1),z2,z3) -> c_22(NEWLINE#(z3,z0,z2)) 6: NEWLINE#(z0,z1,z2) -> c_27(NEWLINE#1#(z2,z1,z0)) 7: NEWLINE#1#(::(z0,z1),z2,z3) -> c_28(NEWLINE#2#(z2,z0,z1,z3)) 8: NEWLINE#2#(::(z0,z1),z2,z3,z4) -> c_30(NEWLINE#(z4,z1,z3)) 9: FIRSTLINE#(z0) -> c_8(FIRSTLINE#1#(z0)) 10: FIRSTLINE#1#(::(z0,z1)) -> c_10(FIRSTLINE#(z1)) ** Step 13.b:2: RemoveWeakSuffixes. WORST_CASE(?,O(n^2)) + Considered Problem: - Strict DPs: LCSTABLE#(z0,z1) -> c_18(LCSTABLE#1#(z0,z1)) LCSTABLE#1#(::(z0,z1),z2) -> c_19(LCSTABLE#2#(lcstable(z1,z2),z2,z0),LCSTABLE#(z1,z2)) LCSTABLE#2#(z0,z1,z2) -> c_21(LCSTABLE#3#(z0,z1,z2)) LCSTABLE#3#(::(z0,z1),z2,z3) -> c_22(NEWLINE#(z3,z0,z2)) NEWLINE#(z0,z1,z2) -> c_27(NEWLINE#1#(z2,z1,z0)) NEWLINE#1#(::(z0,z1),z2,z3) -> c_28(NEWLINE#2#(z2,z0,z1,z3)) NEWLINE#2#(::(z0,z1),z2,z3,z4) -> c_30(NEWLINE#(z4,z1,z3)) - Weak DPs: FIRSTLINE#(z0) -> c_8(FIRSTLINE#1#(z0)) FIRSTLINE#1#(::(z0,z1)) -> c_10(FIRSTLINE#(z1)) LCSTABLE#1#(nil(),z0) -> c_20(FIRSTLINE#(z0)) - Weak TRS: #abs(#0()) -> #0() #add(#0(),z0) -> z0 #add(#neg(#s(#0())),z0) -> #pred(z0) #add(#neg(#s(#s(z0))),z1) -> #pred(#add(#pos(#s(z0)),z1)) #add(#pos(#s(#0())),z0) -> #succ(z0) #add(#pos(#s(#s(z0))),z1) -> #succ(#add(#pos(#s(z0)),z1)) #and(#false(),#false()) -> #false() #and(#false(),#true()) -> #false() #and(#true(),#false()) -> #false() #and(#true(),#true()) -> #true() #ckgt(#EQ()) -> #false() #ckgt(#GT()) -> #true() #ckgt(#LT()) -> #false() #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) #greater(z0,z1) -> #ckgt(#compare(z0,z1)) #pred(#0()) -> #neg(#s(#0())) #pred(#neg(#s(z0))) -> #neg(#s(#s(z0))) #pred(#pos(#s(#0()))) -> #0() #pred(#pos(#s(#s(z0)))) -> #pos(#s(z0)) #succ(#0()) -> #pos(#s(#0())) #succ(#neg(#s(#0()))) -> #0() #succ(#neg(#s(#s(z0)))) -> #neg(#s(z0)) #succ(#pos(#s(z0))) -> #pos(#s(#s(z0))) +(z0,z1) -> #add(z0,z1) firstline(z0) -> firstline#1(z0) firstline#1(::(z0,z1)) -> ::(#abs(#0()),firstline(z1)) firstline#1(nil()) -> nil() lcstable(z0,z1) -> lcstable#1(z0,z1) lcstable#1(::(z0,z1),z2) -> lcstable#2(lcstable(z1,z2),z2,z0) lcstable#1(nil(),z0) -> ::(firstline(z0),nil()) lcstable#2(z0,z1,z2) -> lcstable#3(z0,z1,z2) lcstable#3(::(z0,z1),z2,z3) -> ::(newline(z3,z0,z2),::(z0,z1)) lcstable#3(nil(),z0,z1) -> nil() max(z0,z1) -> max#1(#greater(z0,z1),z0,z1) max#1(#false(),z0,z1) -> z1 max#1(#true(),z0,z1) -> z0 newline(z0,z1,z2) -> newline#1(z2,z1,z0) newline#1(::(z0,z1),z2,z3) -> newline#2(z2,z0,z1,z3) newline#1(nil(),z0,z1) -> nil() newline#2(::(z0,z1),z2,z3,z4) -> newline#3(newline(z4,z1,z3),z0,z1,z2,z4) newline#2(nil(),z0,z1,z2) -> nil() newline#3(z0,z1,z2,z3,z4) -> newline#4(right(z0),z1,z2,z0,z3,z4) newline#4(z0,z1,z2,z3,z4,z5) -> newline#5(right(z2),z1,z3,z0,z4,z5) newline#5(z0,z1,z2,z3,z4,z5) -> newline#6(newline#7(#equal(z4,z5),z1,z0,z3),z2) newline#6(z0,z1) -> ::(z0,z1) newline#7(#false(),z0,z1,z2) -> max(z0,z2) newline#7(#true(),z0,z1,z2) -> +(z1,#pos(#s(#0()))) right(z0) -> right#1(z0) right#1(::(z0,z1)) -> z0 right#1(nil()) -> #abs(#0()) - Signature: {#ABS/1,#ADD/2,#AND/2,#CKGT/1,#COMPARE/2,#EQ'/2,#EQUAL/2,#GREATER/2,#PRED/1,#SUCC/1,#abs/1,#add/2,#and/2 ,#ckgt/1,#compare/2,#eq/2,#equal/2,#greater/2,#pred/1,#succ/1,+/2,+'/2,FIRSTLINE/1,FIRSTLINE#1/1,LCS/2 ,LCS#1/1,LCS#2/1,LCS#3/1,LCSTABLE/2,LCSTABLE#1/2,LCSTABLE#2/3,LCSTABLE#3/3,MAX/2,MAX#1/3,NEWLINE/3 ,NEWLINE#1/3,NEWLINE#2/4,NEWLINE#3/5,NEWLINE#4/6,NEWLINE#5/6,NEWLINE#6/2,NEWLINE#7/4,RIGHT/1,RIGHT#1/1 ,firstline/1,firstline#1/1,lcs/2,lcs#1/1,lcs#2/1,lcs#3/1,lcstable/2,lcstable#1/2,lcstable#2/3,lcstable#3/3 ,max/2,max#1/3,newline/3,newline#1/3,newline#2/4,newline#3/5,newline#4/6,newline#5/6,newline#6/2,newline#7/4 ,right/1,right#1/1,#ABS#/1,#ADD#/2,#AND#/2,#CKGT#/1,#COMPARE#/2,#EQ'#/2,#EQUAL#/2,#GREATER#/2,#PRED#/1 ,#SUCC#/1,#abs#/1,#add#/2,#and#/2,#ckgt#/1,#compare#/2,#eq#/2,#equal#/2,#greater#/2,#pred#/1,#succ#/1,+#/2 ,+'#/2,FIRSTLINE#/1,FIRSTLINE#1#/1,LCS#/2,LCS#1#/1,LCS#2#/1,LCS#3#/1,LCSTABLE#/2,LCSTABLE#1#/2,LCSTABLE#2#/3 ,LCSTABLE#3#/3,MAX#/2,MAX#1#/3,NEWLINE#/3,NEWLINE#1#/3,NEWLINE#2#/4,NEWLINE#3#/5,NEWLINE#4#/6,NEWLINE#5#/6 ,NEWLINE#6#/2,NEWLINE#7#/4,RIGHT#/1,RIGHT#1#/1,firstline#/1,firstline#1#/1,lcs#/2,lcs#1#/1,lcs#2#/1,lcs#3#/1 ,lcstable#/2,lcstable#1#/2,lcstable#2#/3,lcstable#3#/3,max#/2,max#1#/3,newline#/3,newline#1#/3,newline#2#/4 ,newline#3#/5,newline#4#/6,newline#5#/6,newline#6#/2,newline#7#/4,right#/1,right#1#/1} / {#0/0,#EQ/0,#GT/0 ,#LT/0,#false/0,#neg/1,#pos/1,#s/1,#true/0,::/2,c/0,c1/1,c10/0,c11/0,c12/0,c13/0,c14/0,c15/0,c16/0,c17/1 ,c18/0,c19/0,c2/2,c20/0,c21/1,c22/0,c23/1,c24/0,c25/0,c26/0,c27/0,c28/0,c29/1,c3/1,c30/0,c31/0,c32/0,c33/1 ,c34/0,c35/1,c36/2,c37/2,c38/0,c39/0,c4/2,c40/0,c41/0,c42/0,c43/0,c44/0,c45/0,c46/0,c47/0,c48/0,c49/0,c5/0 ,c50/0,c51/0,c52/0,c53/1,c54/2,c55/1,c56/1,c57/1,c58/1,c59/0,c6/0,c60/2,c61/1,c62/1,c63/1,c64/0,c65/1,c66/1 ,c67/2,c68/1,c69/1,c7/0,c70/1,c71/0,c72/2,c73/0,c74/0,c75/1,c76/1,c77/0,c78/2,c79/0,c8/0,c80/2,c81/2,c82/3 ,c83/0,c84/1,c85/1,c86/1,c87/0,c88/1,c9/0,nil/0,c_1/0,c_2/0,c_3/0,c_4/0,c_5/1,c_6/3,c_7/1,c_8/1,c_9/1,c_10/1 ,c_11/0,c_12/1,c_13/1,c_14/1,c_15/1,c_16/0,c_17/1,c_18/1,c_19/2,c_20/1,c_21/1,c_22/1,c_23/0,c_24/3,c_25/0 ,c_26/0,c_27/1,c_28/1,c_29/0,c_30/1,c_31/0,c_32/3,c_33/3,c_34/6,c_35/0,c_36/1,c_37/1,c_38/1,c_39/0,c_40/1 ,c_41/0,c_42/1,c_43/3,c_44/1,c_45/3,c_46/0,c_47/0,c_48/0,c_49/0,c_50/0,c_51/0,c_52/0,c_53/0,c_54/0,c_55/0 ,c_56/0,c_57/0,c_58/1,c_59/0,c_60/0,c_61/0,c_62/1,c_63/0,c_64/1,c_65/0,c_66/0,c_67/0,c_68/0,c_69/0,c_70/1 ,c_71/0,c_72/0,c_73/0,c_74/1,c_75/0,c_76/1,c_77/4,c_78/4,c_79/0,c_80/0,c_81/0,c_82/0,c_83/0,c_84/0,c_85/0 ,c_86/0,c_87/0,c_88/0,c_89/0,c_90/0,c_91/0,c_92/0,c_93/0,c_94/0,c_95/1,c_96/2,c_97/1,c_98/2,c_99/0,c_100/0 ,c_101/0,c_102/0,c_103/0,c_104/0,c_105/0,c_106/0,c_107/0,c_108/0,c_109/0,c_110/0,c_111/1,c_112/0,c_113/0 ,c_114/0,c_115/1,c_116/0,c_117/1,c_118/0,c_119/0,c_120/0,c_121/0,c_122/0,c_123/1,c_124/0,c_125/0,c_126/0 ,c_127/1,c_128/0,c_129/1,c_130/3,c_131/0,c_132/0,c_133/0,c_134/1,c_135/2,c_136/0,c_137/0,c_138/0,c_139/0 ,c_140/0,c_141/0,c_142/0,c_143/0,c_144/1,c_145/1,c_146/2,c_147/0,c_148/2,c_149/1,c_150/1,c_151/1,c_152/0 ,c_153/1,c_154/1,c_155/2,c_156/1,c_157/1,c_158/1,c_159/0,c_160/2,c_161/0,c_162/0,c_163/1,c_164/1,c_165/0 ,c_166/2,c_167/0,c_168/2,c_169/2,c_170/3,c_171/0,c_172/1,c_173/1,c_174/1,c_175/0,c_176/1} - Obligation: innermost runtime complexity wrt. defined symbols {#ABS#,#ADD#,#AND#,#CKGT#,#COMPARE#,#EQ'#,#EQUAL# ,#GREATER#,#PRED#,#SUCC#,#abs#,#add#,#and#,#ckgt#,#compare#,#eq#,#equal#,#greater#,#pred#,#succ#,+#,+'# ,FIRSTLINE#,FIRSTLINE#1#,LCS#,LCS#1#,LCS#2#,LCS#3#,LCSTABLE#,LCSTABLE#1#,LCSTABLE#2#,LCSTABLE#3#,MAX#,MAX#1# ,NEWLINE#,NEWLINE#1#,NEWLINE#2#,NEWLINE#3#,NEWLINE#4#,NEWLINE#5#,NEWLINE#6#,NEWLINE#7#,RIGHT#,RIGHT#1# ,firstline#,firstline#1#,lcs#,lcs#1#,lcs#2#,lcs#3#,lcstable#,lcstable#1#,lcstable#2#,lcstable#3#,max#,max#1# ,newline#,newline#1#,newline#2#,newline#3#,newline#4#,newline#5#,newline#6#,newline#7#,right# ,right#1#} 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,c59,c6,c60,c61,c62,c63,c64,c65 ,c66,c67,c68,c69,c7,c70,c71,c72,c73,c74,c75,c76,c77,c78,c79,c8,c80,c81,c82,c83,c84,c85,c86,c87,c88,c9,nil} + Applied Processor: RemoveWeakSuffixes + Details: Consider the dependency graph 1:S:LCSTABLE#(z0,z1) -> c_18(LCSTABLE#1#(z0,z1)) -->_1 LCSTABLE#1#(nil(),z0) -> c_20(FIRSTLINE#(z0)):10 -->_1 LCSTABLE#1#(::(z0,z1),z2) -> c_19(LCSTABLE#2#(lcstable(z1,z2),z2,z0),LCSTABLE#(z1,z2)):2 2:S:LCSTABLE#1#(::(z0,z1),z2) -> c_19(LCSTABLE#2#(lcstable(z1,z2),z2,z0),LCSTABLE#(z1,z2)) -->_1 LCSTABLE#2#(z0,z1,z2) -> c_21(LCSTABLE#3#(z0,z1,z2)):3 -->_2 LCSTABLE#(z0,z1) -> c_18(LCSTABLE#1#(z0,z1)):1 3:S:LCSTABLE#2#(z0,z1,z2) -> c_21(LCSTABLE#3#(z0,z1,z2)) -->_1 LCSTABLE#3#(::(z0,z1),z2,z3) -> c_22(NEWLINE#(z3,z0,z2)):4 4:S:LCSTABLE#3#(::(z0,z1),z2,z3) -> c_22(NEWLINE#(z3,z0,z2)) -->_1 NEWLINE#(z0,z1,z2) -> c_27(NEWLINE#1#(z2,z1,z0)):5 5:S:NEWLINE#(z0,z1,z2) -> c_27(NEWLINE#1#(z2,z1,z0)) -->_1 NEWLINE#1#(::(z0,z1),z2,z3) -> c_28(NEWLINE#2#(z2,z0,z1,z3)):6 6:S:NEWLINE#1#(::(z0,z1),z2,z3) -> c_28(NEWLINE#2#(z2,z0,z1,z3)) -->_1 NEWLINE#2#(::(z0,z1),z2,z3,z4) -> c_30(NEWLINE#(z4,z1,z3)):7 7:S:NEWLINE#2#(::(z0,z1),z2,z3,z4) -> c_30(NEWLINE#(z4,z1,z3)) -->_1 NEWLINE#(z0,z1,z2) -> c_27(NEWLINE#1#(z2,z1,z0)):5 8:W:FIRSTLINE#(z0) -> c_8(FIRSTLINE#1#(z0)) -->_1 FIRSTLINE#1#(::(z0,z1)) -> c_10(FIRSTLINE#(z1)):9 9:W:FIRSTLINE#1#(::(z0,z1)) -> c_10(FIRSTLINE#(z1)) -->_1 FIRSTLINE#(z0) -> c_8(FIRSTLINE#1#(z0)):8 10:W:LCSTABLE#1#(nil(),z0) -> c_20(FIRSTLINE#(z0)) -->_1 FIRSTLINE#(z0) -> c_8(FIRSTLINE#1#(z0)):8 The following weak DPs constitute a sub-graph of the DG that is closed under successors. The DPs are removed. 10: LCSTABLE#1#(nil(),z0) -> c_20(FIRSTLINE#(z0)) 8: FIRSTLINE#(z0) -> c_8(FIRSTLINE#1#(z0)) 9: FIRSTLINE#1#(::(z0,z1)) -> c_10(FIRSTLINE#(z1)) ** Step 13.b:3: PredecessorEstimationCP. WORST_CASE(?,O(n^2)) + Considered Problem: - Strict DPs: LCSTABLE#(z0,z1) -> c_18(LCSTABLE#1#(z0,z1)) LCSTABLE#1#(::(z0,z1),z2) -> c_19(LCSTABLE#2#(lcstable(z1,z2),z2,z0),LCSTABLE#(z1,z2)) LCSTABLE#2#(z0,z1,z2) -> c_21(LCSTABLE#3#(z0,z1,z2)) LCSTABLE#3#(::(z0,z1),z2,z3) -> c_22(NEWLINE#(z3,z0,z2)) NEWLINE#(z0,z1,z2) -> c_27(NEWLINE#1#(z2,z1,z0)) NEWLINE#1#(::(z0,z1),z2,z3) -> c_28(NEWLINE#2#(z2,z0,z1,z3)) NEWLINE#2#(::(z0,z1),z2,z3,z4) -> c_30(NEWLINE#(z4,z1,z3)) - Weak TRS: #abs(#0()) -> #0() #add(#0(),z0) -> z0 #add(#neg(#s(#0())),z0) -> #pred(z0) #add(#neg(#s(#s(z0))),z1) -> #pred(#add(#pos(#s(z0)),z1)) #add(#pos(#s(#0())),z0) -> #succ(z0) #add(#pos(#s(#s(z0))),z1) -> #succ(#add(#pos(#s(z0)),z1)) #and(#false(),#false()) -> #false() #and(#false(),#true()) -> #false() #and(#true(),#false()) -> #false() #and(#true(),#true()) -> #true() #ckgt(#EQ()) -> #false() #ckgt(#GT()) -> #true() #ckgt(#LT()) -> #false() #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) #greater(z0,z1) -> #ckgt(#compare(z0,z1)) #pred(#0()) -> #neg(#s(#0())) #pred(#neg(#s(z0))) -> #neg(#s(#s(z0))) #pred(#pos(#s(#0()))) -> #0() #pred(#pos(#s(#s(z0)))) -> #pos(#s(z0)) #succ(#0()) -> #pos(#s(#0())) #succ(#neg(#s(#0()))) -> #0() #succ(#neg(#s(#s(z0)))) -> #neg(#s(z0)) #succ(#pos(#s(z0))) -> #pos(#s(#s(z0))) +(z0,z1) -> #add(z0,z1) firstline(z0) -> firstline#1(z0) firstline#1(::(z0,z1)) -> ::(#abs(#0()),firstline(z1)) firstline#1(nil()) -> nil() lcstable(z0,z1) -> lcstable#1(z0,z1) lcstable#1(::(z0,z1),z2) -> lcstable#2(lcstable(z1,z2),z2,z0) lcstable#1(nil(),z0) -> ::(firstline(z0),nil()) lcstable#2(z0,z1,z2) -> lcstable#3(z0,z1,z2) lcstable#3(::(z0,z1),z2,z3) -> ::(newline(z3,z0,z2),::(z0,z1)) lcstable#3(nil(),z0,z1) -> nil() max(z0,z1) -> max#1(#greater(z0,z1),z0,z1) max#1(#false(),z0,z1) -> z1 max#1(#true(),z0,z1) -> z0 newline(z0,z1,z2) -> newline#1(z2,z1,z0) newline#1(::(z0,z1),z2,z3) -> newline#2(z2,z0,z1,z3) newline#1(nil(),z0,z1) -> nil() newline#2(::(z0,z1),z2,z3,z4) -> newline#3(newline(z4,z1,z3),z0,z1,z2,z4) newline#2(nil(),z0,z1,z2) -> nil() newline#3(z0,z1,z2,z3,z4) -> newline#4(right(z0),z1,z2,z0,z3,z4) newline#4(z0,z1,z2,z3,z4,z5) -> newline#5(right(z2),z1,z3,z0,z4,z5) newline#5(z0,z1,z2,z3,z4,z5) -> newline#6(newline#7(#equal(z4,z5),z1,z0,z3),z2) newline#6(z0,z1) -> ::(z0,z1) newline#7(#false(),z0,z1,z2) -> max(z0,z2) newline#7(#true(),z0,z1,z2) -> +(z1,#pos(#s(#0()))) right(z0) -> right#1(z0) right#1(::(z0,z1)) -> z0 right#1(nil()) -> #abs(#0()) - Signature: {#ABS/1,#ADD/2,#AND/2,#CKGT/1,#COMPARE/2,#EQ'/2,#EQUAL/2,#GREATER/2,#PRED/1,#SUCC/1,#abs/1,#add/2,#and/2 ,#ckgt/1,#compare/2,#eq/2,#equal/2,#greater/2,#pred/1,#succ/1,+/2,+'/2,FIRSTLINE/1,FIRSTLINE#1/1,LCS/2 ,LCS#1/1,LCS#2/1,LCS#3/1,LCSTABLE/2,LCSTABLE#1/2,LCSTABLE#2/3,LCSTABLE#3/3,MAX/2,MAX#1/3,NEWLINE/3 ,NEWLINE#1/3,NEWLINE#2/4,NEWLINE#3/5,NEWLINE#4/6,NEWLINE#5/6,NEWLINE#6/2,NEWLINE#7/4,RIGHT/1,RIGHT#1/1 ,firstline/1,firstline#1/1,lcs/2,lcs#1/1,lcs#2/1,lcs#3/1,lcstable/2,lcstable#1/2,lcstable#2/3,lcstable#3/3 ,max/2,max#1/3,newline/3,newline#1/3,newline#2/4,newline#3/5,newline#4/6,newline#5/6,newline#6/2,newline#7/4 ,right/1,right#1/1,#ABS#/1,#ADD#/2,#AND#/2,#CKGT#/1,#COMPARE#/2,#EQ'#/2,#EQUAL#/2,#GREATER#/2,#PRED#/1 ,#SUCC#/1,#abs#/1,#add#/2,#and#/2,#ckgt#/1,#compare#/2,#eq#/2,#equal#/2,#greater#/2,#pred#/1,#succ#/1,+#/2 ,+'#/2,FIRSTLINE#/1,FIRSTLINE#1#/1,LCS#/2,LCS#1#/1,LCS#2#/1,LCS#3#/1,LCSTABLE#/2,LCSTABLE#1#/2,LCSTABLE#2#/3 ,LCSTABLE#3#/3,MAX#/2,MAX#1#/3,NEWLINE#/3,NEWLINE#1#/3,NEWLINE#2#/4,NEWLINE#3#/5,NEWLINE#4#/6,NEWLINE#5#/6 ,NEWLINE#6#/2,NEWLINE#7#/4,RIGHT#/1,RIGHT#1#/1,firstline#/1,firstline#1#/1,lcs#/2,lcs#1#/1,lcs#2#/1,lcs#3#/1 ,lcstable#/2,lcstable#1#/2,lcstable#2#/3,lcstable#3#/3,max#/2,max#1#/3,newline#/3,newline#1#/3,newline#2#/4 ,newline#3#/5,newline#4#/6,newline#5#/6,newline#6#/2,newline#7#/4,right#/1,right#1#/1} / {#0/0,#EQ/0,#GT/0 ,#LT/0,#false/0,#neg/1,#pos/1,#s/1,#true/0,::/2,c/0,c1/1,c10/0,c11/0,c12/0,c13/0,c14/0,c15/0,c16/0,c17/1 ,c18/0,c19/0,c2/2,c20/0,c21/1,c22/0,c23/1,c24/0,c25/0,c26/0,c27/0,c28/0,c29/1,c3/1,c30/0,c31/0,c32/0,c33/1 ,c34/0,c35/1,c36/2,c37/2,c38/0,c39/0,c4/2,c40/0,c41/0,c42/0,c43/0,c44/0,c45/0,c46/0,c47/0,c48/0,c49/0,c5/0 ,c50/0,c51/0,c52/0,c53/1,c54/2,c55/1,c56/1,c57/1,c58/1,c59/0,c6/0,c60/2,c61/1,c62/1,c63/1,c64/0,c65/1,c66/1 ,c67/2,c68/1,c69/1,c7/0,c70/1,c71/0,c72/2,c73/0,c74/0,c75/1,c76/1,c77/0,c78/2,c79/0,c8/0,c80/2,c81/2,c82/3 ,c83/0,c84/1,c85/1,c86/1,c87/0,c88/1,c9/0,nil/0,c_1/0,c_2/0,c_3/0,c_4/0,c_5/1,c_6/3,c_7/1,c_8/1,c_9/1,c_10/1 ,c_11/0,c_12/1,c_13/1,c_14/1,c_15/1,c_16/0,c_17/1,c_18/1,c_19/2,c_20/1,c_21/1,c_22/1,c_23/0,c_24/3,c_25/0 ,c_26/0,c_27/1,c_28/1,c_29/0,c_30/1,c_31/0,c_32/3,c_33/3,c_34/6,c_35/0,c_36/1,c_37/1,c_38/1,c_39/0,c_40/1 ,c_41/0,c_42/1,c_43/3,c_44/1,c_45/3,c_46/0,c_47/0,c_48/0,c_49/0,c_50/0,c_51/0,c_52/0,c_53/0,c_54/0,c_55/0 ,c_56/0,c_57/0,c_58/1,c_59/0,c_60/0,c_61/0,c_62/1,c_63/0,c_64/1,c_65/0,c_66/0,c_67/0,c_68/0,c_69/0,c_70/1 ,c_71/0,c_72/0,c_73/0,c_74/1,c_75/0,c_76/1,c_77/4,c_78/4,c_79/0,c_80/0,c_81/0,c_82/0,c_83/0,c_84/0,c_85/0 ,c_86/0,c_87/0,c_88/0,c_89/0,c_90/0,c_91/0,c_92/0,c_93/0,c_94/0,c_95/1,c_96/2,c_97/1,c_98/2,c_99/0,c_100/0 ,c_101/0,c_102/0,c_103/0,c_104/0,c_105/0,c_106/0,c_107/0,c_108/0,c_109/0,c_110/0,c_111/1,c_112/0,c_113/0 ,c_114/0,c_115/1,c_116/0,c_117/1,c_118/0,c_119/0,c_120/0,c_121/0,c_122/0,c_123/1,c_124/0,c_125/0,c_126/0 ,c_127/1,c_128/0,c_129/1,c_130/3,c_131/0,c_132/0,c_133/0,c_134/1,c_135/2,c_136/0,c_137/0,c_138/0,c_139/0 ,c_140/0,c_141/0,c_142/0,c_143/0,c_144/1,c_145/1,c_146/2,c_147/0,c_148/2,c_149/1,c_150/1,c_151/1,c_152/0 ,c_153/1,c_154/1,c_155/2,c_156/1,c_157/1,c_158/1,c_159/0,c_160/2,c_161/0,c_162/0,c_163/1,c_164/1,c_165/0 ,c_166/2,c_167/0,c_168/2,c_169/2,c_170/3,c_171/0,c_172/1,c_173/1,c_174/1,c_175/0,c_176/1} - Obligation: innermost runtime complexity wrt. defined symbols {#ABS#,#ADD#,#AND#,#CKGT#,#COMPARE#,#EQ'#,#EQUAL# ,#GREATER#,#PRED#,#SUCC#,#abs#,#add#,#and#,#ckgt#,#compare#,#eq#,#equal#,#greater#,#pred#,#succ#,+#,+'# ,FIRSTLINE#,FIRSTLINE#1#,LCS#,LCS#1#,LCS#2#,LCS#3#,LCSTABLE#,LCSTABLE#1#,LCSTABLE#2#,LCSTABLE#3#,MAX#,MAX#1# ,NEWLINE#,NEWLINE#1#,NEWLINE#2#,NEWLINE#3#,NEWLINE#4#,NEWLINE#5#,NEWLINE#6#,NEWLINE#7#,RIGHT#,RIGHT#1# ,firstline#,firstline#1#,lcs#,lcs#1#,lcs#2#,lcs#3#,lcstable#,lcstable#1#,lcstable#2#,lcstable#3#,max#,max#1# ,newline#,newline#1#,newline#2#,newline#3#,newline#4#,newline#5#,newline#6#,newline#7#,right# ,right#1#} 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,c59,c6,c60,c61,c62,c63,c64,c65 ,c66,c67,c68,c69,c7,c70,c71,c72,c73,c74,c75,c76,c77,c78,c79,c8,c80,c81,c82,c83,c84,c85,c86,c87,c88,c9,nil} + Applied Processor: PredecessorEstimationCP {onSelectionCP = any intersect of rules of CDG leaf and strict-rules, withComplexityPair = NaturalPI {shape = Mixed 2, restrict = Restrict, uargs = UArgs, urules = URules, selector = Nothing}} + Details: We first use the processor NaturalPI {shape = Mixed 2, restrict = Restrict, uargs = UArgs, urules = URules, selector = Nothing} to orient following rules strictly: 6: NEWLINE#1#(::(z0,z1),z2,z3) -> c_28(NEWLINE#2#(z2,z0,z1,z3)) Consider the set of all dependency pairs 1: LCSTABLE#(z0,z1) -> c_18(LCSTABLE#1#(z0,z1)) 2: LCSTABLE#1#(::(z0,z1),z2) -> c_19(LCSTABLE#2#(lcstable(z1,z2),z2,z0),LCSTABLE#(z1,z2)) 3: LCSTABLE#2#(z0,z1,z2) -> c_21(LCSTABLE#3#(z0,z1,z2)) 4: LCSTABLE#3#(::(z0,z1),z2,z3) -> c_22(NEWLINE#(z3,z0,z2)) 5: NEWLINE#(z0,z1,z2) -> c_27(NEWLINE#1#(z2,z1,z0)) 6: NEWLINE#1#(::(z0,z1),z2,z3) -> c_28(NEWLINE#2#(z2,z0,z1,z3)) 7: NEWLINE#2#(::(z0,z1),z2,z3,z4) -> c_30(NEWLINE#(z4,z1,z3)) Processor NaturalPI {shape = Mixed 2, restrict = Restrict, uargs = UArgs, urules = URules, selector = Nothing}induces the complexity certificateTIME (?,O(n^2)) BEST_CASE TIME (?,?) SPACE(?,?)on application of the dependency pairs {6} These cover all (indirect) predecessors of dependency pairs {6,7} their number of applications is equally bounded. The dependency pairs are shifted into the weak component. *** Step 13.b:3.a:1: NaturalPI. WORST_CASE(?,O(n^2)) + Considered Problem: - Strict DPs: LCSTABLE#(z0,z1) -> c_18(LCSTABLE#1#(z0,z1)) LCSTABLE#1#(::(z0,z1),z2) -> c_19(LCSTABLE#2#(lcstable(z1,z2),z2,z0),LCSTABLE#(z1,z2)) LCSTABLE#2#(z0,z1,z2) -> c_21(LCSTABLE#3#(z0,z1,z2)) LCSTABLE#3#(::(z0,z1),z2,z3) -> c_22(NEWLINE#(z3,z0,z2)) NEWLINE#(z0,z1,z2) -> c_27(NEWLINE#1#(z2,z1,z0)) NEWLINE#1#(::(z0,z1),z2,z3) -> c_28(NEWLINE#2#(z2,z0,z1,z3)) NEWLINE#2#(::(z0,z1),z2,z3,z4) -> c_30(NEWLINE#(z4,z1,z3)) - Weak TRS: #abs(#0()) -> #0() #add(#0(),z0) -> z0 #add(#neg(#s(#0())),z0) -> #pred(z0) #add(#neg(#s(#s(z0))),z1) -> #pred(#add(#pos(#s(z0)),z1)) #add(#pos(#s(#0())),z0) -> #succ(z0) #add(#pos(#s(#s(z0))),z1) -> #succ(#add(#pos(#s(z0)),z1)) #and(#false(),#false()) -> #false() #and(#false(),#true()) -> #false() #and(#true(),#false()) -> #false() #and(#true(),#true()) -> #true() #ckgt(#EQ()) -> #false() #ckgt(#GT()) -> #true() #ckgt(#LT()) -> #false() #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) #greater(z0,z1) -> #ckgt(#compare(z0,z1)) #pred(#0()) -> #neg(#s(#0())) #pred(#neg(#s(z0))) -> #neg(#s(#s(z0))) #pred(#pos(#s(#0()))) -> #0() #pred(#pos(#s(#s(z0)))) -> #pos(#s(z0)) #succ(#0()) -> #pos(#s(#0())) #succ(#neg(#s(#0()))) -> #0() #succ(#neg(#s(#s(z0)))) -> #neg(#s(z0)) #succ(#pos(#s(z0))) -> #pos(#s(#s(z0))) +(z0,z1) -> #add(z0,z1) firstline(z0) -> firstline#1(z0) firstline#1(::(z0,z1)) -> ::(#abs(#0()),firstline(z1)) firstline#1(nil()) -> nil() lcstable(z0,z1) -> lcstable#1(z0,z1) lcstable#1(::(z0,z1),z2) -> lcstable#2(lcstable(z1,z2),z2,z0) lcstable#1(nil(),z0) -> ::(firstline(z0),nil()) lcstable#2(z0,z1,z2) -> lcstable#3(z0,z1,z2) lcstable#3(::(z0,z1),z2,z3) -> ::(newline(z3,z0,z2),::(z0,z1)) lcstable#3(nil(),z0,z1) -> nil() max(z0,z1) -> max#1(#greater(z0,z1),z0,z1) max#1(#false(),z0,z1) -> z1 max#1(#true(),z0,z1) -> z0 newline(z0,z1,z2) -> newline#1(z2,z1,z0) newline#1(::(z0,z1),z2,z3) -> newline#2(z2,z0,z1,z3) newline#1(nil(),z0,z1) -> nil() newline#2(::(z0,z1),z2,z3,z4) -> newline#3(newline(z4,z1,z3),z0,z1,z2,z4) newline#2(nil(),z0,z1,z2) -> nil() newline#3(z0,z1,z2,z3,z4) -> newline#4(right(z0),z1,z2,z0,z3,z4) newline#4(z0,z1,z2,z3,z4,z5) -> newline#5(right(z2),z1,z3,z0,z4,z5) newline#5(z0,z1,z2,z3,z4,z5) -> newline#6(newline#7(#equal(z4,z5),z1,z0,z3),z2) newline#6(z0,z1) -> ::(z0,z1) newline#7(#false(),z0,z1,z2) -> max(z0,z2) newline#7(#true(),z0,z1,z2) -> +(z1,#pos(#s(#0()))) right(z0) -> right#1(z0) right#1(::(z0,z1)) -> z0 right#1(nil()) -> #abs(#0()) - Signature: {#ABS/1,#ADD/2,#AND/2,#CKGT/1,#COMPARE/2,#EQ'/2,#EQUAL/2,#GREATER/2,#PRED/1,#SUCC/1,#abs/1,#add/2,#and/2 ,#ckgt/1,#compare/2,#eq/2,#equal/2,#greater/2,#pred/1,#succ/1,+/2,+'/2,FIRSTLINE/1,FIRSTLINE#1/1,LCS/2 ,LCS#1/1,LCS#2/1,LCS#3/1,LCSTABLE/2,LCSTABLE#1/2,LCSTABLE#2/3,LCSTABLE#3/3,MAX/2,MAX#1/3,NEWLINE/3 ,NEWLINE#1/3,NEWLINE#2/4,NEWLINE#3/5,NEWLINE#4/6,NEWLINE#5/6,NEWLINE#6/2,NEWLINE#7/4,RIGHT/1,RIGHT#1/1 ,firstline/1,firstline#1/1,lcs/2,lcs#1/1,lcs#2/1,lcs#3/1,lcstable/2,lcstable#1/2,lcstable#2/3,lcstable#3/3 ,max/2,max#1/3,newline/3,newline#1/3,newline#2/4,newline#3/5,newline#4/6,newline#5/6,newline#6/2,newline#7/4 ,right/1,right#1/1,#ABS#/1,#ADD#/2,#AND#/2,#CKGT#/1,#COMPARE#/2,#EQ'#/2,#EQUAL#/2,#GREATER#/2,#PRED#/1 ,#SUCC#/1,#abs#/1,#add#/2,#and#/2,#ckgt#/1,#compare#/2,#eq#/2,#equal#/2,#greater#/2,#pred#/1,#succ#/1,+#/2 ,+'#/2,FIRSTLINE#/1,FIRSTLINE#1#/1,LCS#/2,LCS#1#/1,LCS#2#/1,LCS#3#/1,LCSTABLE#/2,LCSTABLE#1#/2,LCSTABLE#2#/3 ,LCSTABLE#3#/3,MAX#/2,MAX#1#/3,NEWLINE#/3,NEWLINE#1#/3,NEWLINE#2#/4,NEWLINE#3#/5,NEWLINE#4#/6,NEWLINE#5#/6 ,NEWLINE#6#/2,NEWLINE#7#/4,RIGHT#/1,RIGHT#1#/1,firstline#/1,firstline#1#/1,lcs#/2,lcs#1#/1,lcs#2#/1,lcs#3#/1 ,lcstable#/2,lcstable#1#/2,lcstable#2#/3,lcstable#3#/3,max#/2,max#1#/3,newline#/3,newline#1#/3,newline#2#/4 ,newline#3#/5,newline#4#/6,newline#5#/6,newline#6#/2,newline#7#/4,right#/1,right#1#/1} / {#0/0,#EQ/0,#GT/0 ,#LT/0,#false/0,#neg/1,#pos/1,#s/1,#true/0,::/2,c/0,c1/1,c10/0,c11/0,c12/0,c13/0,c14/0,c15/0,c16/0,c17/1 ,c18/0,c19/0,c2/2,c20/0,c21/1,c22/0,c23/1,c24/0,c25/0,c26/0,c27/0,c28/0,c29/1,c3/1,c30/0,c31/0,c32/0,c33/1 ,c34/0,c35/1,c36/2,c37/2,c38/0,c39/0,c4/2,c40/0,c41/0,c42/0,c43/0,c44/0,c45/0,c46/0,c47/0,c48/0,c49/0,c5/0 ,c50/0,c51/0,c52/0,c53/1,c54/2,c55/1,c56/1,c57/1,c58/1,c59/0,c6/0,c60/2,c61/1,c62/1,c63/1,c64/0,c65/1,c66/1 ,c67/2,c68/1,c69/1,c7/0,c70/1,c71/0,c72/2,c73/0,c74/0,c75/1,c76/1,c77/0,c78/2,c79/0,c8/0,c80/2,c81/2,c82/3 ,c83/0,c84/1,c85/1,c86/1,c87/0,c88/1,c9/0,nil/0,c_1/0,c_2/0,c_3/0,c_4/0,c_5/1,c_6/3,c_7/1,c_8/1,c_9/1,c_10/1 ,c_11/0,c_12/1,c_13/1,c_14/1,c_15/1,c_16/0,c_17/1,c_18/1,c_19/2,c_20/1,c_21/1,c_22/1,c_23/0,c_24/3,c_25/0 ,c_26/0,c_27/1,c_28/1,c_29/0,c_30/1,c_31/0,c_32/3,c_33/3,c_34/6,c_35/0,c_36/1,c_37/1,c_38/1,c_39/0,c_40/1 ,c_41/0,c_42/1,c_43/3,c_44/1,c_45/3,c_46/0,c_47/0,c_48/0,c_49/0,c_50/0,c_51/0,c_52/0,c_53/0,c_54/0,c_55/0 ,c_56/0,c_57/0,c_58/1,c_59/0,c_60/0,c_61/0,c_62/1,c_63/0,c_64/1,c_65/0,c_66/0,c_67/0,c_68/0,c_69/0,c_70/1 ,c_71/0,c_72/0,c_73/0,c_74/1,c_75/0,c_76/1,c_77/4,c_78/4,c_79/0,c_80/0,c_81/0,c_82/0,c_83/0,c_84/0,c_85/0 ,c_86/0,c_87/0,c_88/0,c_89/0,c_90/0,c_91/0,c_92/0,c_93/0,c_94/0,c_95/1,c_96/2,c_97/1,c_98/2,c_99/0,c_100/0 ,c_101/0,c_102/0,c_103/0,c_104/0,c_105/0,c_106/0,c_107/0,c_108/0,c_109/0,c_110/0,c_111/1,c_112/0,c_113/0 ,c_114/0,c_115/1,c_116/0,c_117/1,c_118/0,c_119/0,c_120/0,c_121/0,c_122/0,c_123/1,c_124/0,c_125/0,c_126/0 ,c_127/1,c_128/0,c_129/1,c_130/3,c_131/0,c_132/0,c_133/0,c_134/1,c_135/2,c_136/0,c_137/0,c_138/0,c_139/0 ,c_140/0,c_141/0,c_142/0,c_143/0,c_144/1,c_145/1,c_146/2,c_147/0,c_148/2,c_149/1,c_150/1,c_151/1,c_152/0 ,c_153/1,c_154/1,c_155/2,c_156/1,c_157/1,c_158/1,c_159/0,c_160/2,c_161/0,c_162/0,c_163/1,c_164/1,c_165/0 ,c_166/2,c_167/0,c_168/2,c_169/2,c_170/3,c_171/0,c_172/1,c_173/1,c_174/1,c_175/0,c_176/1} - Obligation: innermost runtime complexity wrt. defined symbols {#ABS#,#ADD#,#AND#,#CKGT#,#COMPARE#,#EQ'#,#EQUAL# ,#GREATER#,#PRED#,#SUCC#,#abs#,#add#,#and#,#ckgt#,#compare#,#eq#,#equal#,#greater#,#pred#,#succ#,+#,+'# ,FIRSTLINE#,FIRSTLINE#1#,LCS#,LCS#1#,LCS#2#,LCS#3#,LCSTABLE#,LCSTABLE#1#,LCSTABLE#2#,LCSTABLE#3#,MAX#,MAX#1# ,NEWLINE#,NEWLINE#1#,NEWLINE#2#,NEWLINE#3#,NEWLINE#4#,NEWLINE#5#,NEWLINE#6#,NEWLINE#7#,RIGHT#,RIGHT#1# ,firstline#,firstline#1#,lcs#,lcs#1#,lcs#2#,lcs#3#,lcstable#,lcstable#1#,lcstable#2#,lcstable#3#,max#,max#1# ,newline#,newline#1#,newline#2#,newline#3#,newline#4#,newline#5#,newline#6#,newline#7#,right# ,right#1#} 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,c59,c6,c60,c61,c62,c63,c64,c65 ,c66,c67,c68,c69,c7,c70,c71,c72,c73,c74,c75,c76,c77,c78,c79,c8,c80,c81,c82,c83,c84,c85,c86,c87,c88,c9,nil} + Applied Processor: NaturalPI {shape = Mixed 2, restrict = Restrict, uargs = UArgs, urules = URules, selector = Just first alternative for predecessorEstimation on any intersect of rules of CDG leaf and strict-rules} + Details: We apply a polynomial interpretation of kind constructor-based(mixed(2)): The following argument positions are considered usable: uargs(c_18) = {1}, uargs(c_19) = {1,2}, uargs(c_21) = {1}, uargs(c_22) = {1}, uargs(c_27) = {1}, uargs(c_28) = {1}, uargs(c_30) = {1} Following symbols are considered usable: {#ABS#,#ADD#,#AND#,#CKGT#,#COMPARE#,#EQ'#,#EQUAL#,#GREATER#,#PRED#,#SUCC#,#abs#,#add#,#and#,#ckgt# ,#compare#,#eq#,#equal#,#greater#,#pred#,#succ#,+#,+'#,FIRSTLINE#,FIRSTLINE#1#,LCS#,LCS#1#,LCS#2#,LCS#3# ,LCSTABLE#,LCSTABLE#1#,LCSTABLE#2#,LCSTABLE#3#,MAX#,MAX#1#,NEWLINE#,NEWLINE#1#,NEWLINE#2#,NEWLINE#3# ,NEWLINE#4#,NEWLINE#5#,NEWLINE#6#,NEWLINE#7#,RIGHT#,RIGHT#1#,firstline#,firstline#1#,lcs#,lcs#1#,lcs#2# ,lcs#3#,lcstable#,lcstable#1#,lcstable#2#,lcstable#3#,max#,max#1#,newline#,newline#1#,newline#2#,newline#3# ,newline#4#,newline#5#,newline#6#,newline#7#,right#,right#1#} TcT has computed the following interpretation: p(#0) = 1 p(#ABS) = 0 p(#ADD) = 0 p(#AND) = 0 p(#CKGT) = 0 p(#COMPARE) = 0 p(#EQ) = 0 p(#EQ') = 0 p(#EQUAL) = 0 p(#GREATER) = 0 p(#GT) = 0 p(#LT) = 1 p(#PRED) = 0 p(#SUCC) = 0 p(#abs) = 0 p(#add) = 1 + x1 + x1*x2 p(#and) = x2 p(#ckgt) = 0 p(#compare) = 0 p(#eq) = x1 p(#equal) = 0 p(#false) = 0 p(#greater) = 0 p(#neg) = 0 p(#pos) = 0 p(#pred) = x1 p(#s) = x1 p(#succ) = 0 p(#true) = 0 p(+) = 0 p(+') = 0 p(::) = 1 + x2 p(FIRSTLINE) = 0 p(FIRSTLINE#1) = 0 p(LCS) = 0 p(LCS#1) = 0 p(LCS#2) = 0 p(LCS#3) = 0 p(LCSTABLE) = 0 p(LCSTABLE#1) = 0 p(LCSTABLE#2) = 0 p(LCSTABLE#3) = 0 p(MAX) = 0 p(MAX#1) = 0 p(NEWLINE) = 0 p(NEWLINE#1) = 0 p(NEWLINE#2) = 0 p(NEWLINE#3) = 0 p(NEWLINE#4) = 0 p(NEWLINE#5) = 0 p(NEWLINE#6) = 0 p(NEWLINE#7) = 0 p(RIGHT) = 0 p(RIGHT#1) = 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) = 0 p(c25) = 0 p(c26) = 0 p(c27) = 0 p(c28) = 0 p(c29) = 0 p(c3) = 0 p(c30) = 0 p(c31) = 0 p(c32) = 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) = 0 p(c41) = 0 p(c42) = 0 p(c43) = 0 p(c44) = 0 p(c45) = 0 p(c46) = 0 p(c47) = 0 p(c48) = 0 p(c49) = 0 p(c5) = 0 p(c50) = 0 p(c51) = 0 p(c52) = 0 p(c53) = 0 p(c54) = 0 p(c55) = 0 p(c56) = 0 p(c57) = 0 p(c58) = 0 p(c59) = 0 p(c6) = 0 p(c60) = 0 p(c61) = 0 p(c62) = 0 p(c63) = 0 p(c64) = 0 p(c65) = 0 p(c66) = 0 p(c67) = 0 p(c68) = 0 p(c69) = 0 p(c7) = 0 p(c70) = 0 p(c71) = 0 p(c72) = 0 p(c73) = 0 p(c74) = 0 p(c75) = 0 p(c76) = 0 p(c77) = 0 p(c78) = 0 p(c79) = 0 p(c8) = 0 p(c80) = 0 p(c81) = 0 p(c82) = 0 p(c83) = 0 p(c84) = 0 p(c85) = 0 p(c86) = 0 p(c87) = 0 p(c88) = 0 p(c9) = 0 p(firstline) = 0 p(firstline#1) = 1 p(lcs) = 0 p(lcs#1) = 0 p(lcs#2) = 0 p(lcs#3) = 0 p(lcstable) = 1 p(lcstable#1) = 1 + x1 + x1*x2 p(lcstable#2) = x1*x2 + x1^2 + x2 p(lcstable#3) = x2 p(max) = x1^2 p(max#1) = x2 + x2*x3 + x2^2 p(newline) = x2^2 p(newline#1) = 1 + x1 + x1*x2 + x2 + x3 p(newline#2) = x1^2 + x2 + x2*x3 + x2*x4 + x2^2 + x4 p(newline#3) = x1*x3 + x1*x4 + x1*x5 + x3 + x3*x5 + x4*x5 + x5^2 p(newline#4) = 1 + x2 + x3*x4 + x3*x6 + x4 + x4*x6 + x4^2 + x6 p(newline#5) = x1 + x1*x3 + x3 + x3*x5 + x4 p(newline#6) = x1^2 + x2 p(newline#7) = 1 p(nil) = 0 p(right) = x1^2 p(right#1) = 0 p(#ABS#) = 0 p(#ADD#) = 0 p(#AND#) = 0 p(#CKGT#) = 0 p(#COMPARE#) = 0 p(#EQ'#) = 0 p(#EQUAL#) = 0 p(#GREATER#) = 0 p(#PRED#) = 0 p(#SUCC#) = 0 p(#abs#) = 0 p(#add#) = 0 p(#and#) = 0 p(#ckgt#) = 0 p(#compare#) = 0 p(#eq#) = 0 p(#equal#) = 0 p(#greater#) = 0 p(#pred#) = 0 p(#succ#) = 0 p(+#) = 0 p(+'#) = 0 p(FIRSTLINE#) = 0 p(FIRSTLINE#1#) = 0 p(LCS#) = 0 p(LCS#1#) = 0 p(LCS#2#) = 0 p(LCS#3#) = 0 p(LCSTABLE#) = 1 + x1 + x1*x2 + x1^2 + x2^2 p(LCSTABLE#1#) = x1 + x1*x2 + x1^2 + x2^2 p(LCSTABLE#2#) = x2 p(LCSTABLE#3#) = x2 p(MAX#) = 0 p(MAX#1#) = 0 p(NEWLINE#) = x3 p(NEWLINE#1#) = x1 p(NEWLINE#2#) = x3 p(NEWLINE#3#) = 0 p(NEWLINE#4#) = 0 p(NEWLINE#5#) = 0 p(NEWLINE#6#) = 0 p(NEWLINE#7#) = 0 p(RIGHT#) = 0 p(RIGHT#1#) = 0 p(firstline#) = 0 p(firstline#1#) = 0 p(lcs#) = 0 p(lcs#1#) = 0 p(lcs#2#) = 0 p(lcs#3#) = 0 p(lcstable#) = 0 p(lcstable#1#) = 0 p(lcstable#2#) = 0 p(lcstable#3#) = 0 p(max#) = 0 p(max#1#) = 0 p(newline#) = 0 p(newline#1#) = 0 p(newline#2#) = 0 p(newline#3#) = 0 p(newline#4#) = 0 p(newline#5#) = 0 p(newline#6#) = 0 p(newline#7#) = 0 p(right#) = 0 p(right#1#) = 0 p(c_1) = 0 p(c_2) = 0 p(c_3) = 0 p(c_4) = 0 p(c_5) = 0 p(c_6) = 0 p(c_7) = 0 p(c_8) = 0 p(c_9) = 0 p(c_10) = 0 p(c_11) = 0 p(c_12) = 0 p(c_13) = 0 p(c_14) = 0 p(c_15) = 0 p(c_16) = 0 p(c_17) = 0 p(c_18) = 1 + x1 p(c_19) = 1 + x1 + x2 p(c_20) = 0 p(c_21) = x1 p(c_22) = x1 p(c_23) = 0 p(c_24) = 0 p(c_25) = 0 p(c_26) = 0 p(c_27) = x1 p(c_28) = x1 p(c_29) = 0 p(c_30) = x1 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) = 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) = 0 p(c_114) = 0 p(c_115) = 0 p(c_116) = 0 p(c_117) = 0 p(c_118) = 0 p(c_119) = 0 p(c_120) = 0 p(c_121) = 0 p(c_122) = 0 p(c_123) = 0 p(c_124) = 0 p(c_125) = 0 p(c_126) = 0 p(c_127) = 0 p(c_128) = 0 p(c_129) = 0 p(c_130) = 0 p(c_131) = 0 p(c_132) = 0 p(c_133) = 0 p(c_134) = 0 p(c_135) = 0 p(c_136) = 0 p(c_137) = 0 p(c_138) = 0 p(c_139) = 0 p(c_140) = 0 p(c_141) = 0 p(c_142) = 0 p(c_143) = 0 p(c_144) = 0 p(c_145) = 0 p(c_146) = 0 p(c_147) = 0 p(c_148) = 0 p(c_149) = 0 p(c_150) = 0 p(c_151) = 0 p(c_152) = 0 p(c_153) = 0 p(c_154) = 0 p(c_155) = 0 p(c_156) = 0 p(c_157) = 0 p(c_158) = 0 p(c_159) = 0 p(c_160) = 0 p(c_161) = 0 p(c_162) = 0 p(c_163) = 0 p(c_164) = 0 p(c_165) = 0 p(c_166) = 0 p(c_167) = 0 p(c_168) = 0 p(c_169) = 0 p(c_170) = 0 p(c_171) = 0 p(c_172) = 0 p(c_173) = 0 p(c_174) = 0 p(c_175) = 0 p(c_176) = 0 Following rules are strictly oriented: NEWLINE#1#(::(z0,z1),z2,z3) = 1 + z1 > z1 = c_28(NEWLINE#2#(z2,z0,z1,z3)) Following rules are (at-least) weakly oriented: LCSTABLE#(z0,z1) = 1 + z0 + z0*z1 + z0^2 + z1^2 >= 1 + z0 + z0*z1 + z0^2 + z1^2 = c_18(LCSTABLE#1#(z0,z1)) LCSTABLE#1#(::(z0,z1),z2) = 2 + 3*z1 + z1*z2 + z1^2 + z2 + z2^2 >= 2 + z1 + z1*z2 + z1^2 + z2 + z2^2 = c_19(LCSTABLE#2#(lcstable(z1,z2),z2,z0),LCSTABLE#(z1,z2)) LCSTABLE#2#(z0,z1,z2) = z1 >= z1 = c_21(LCSTABLE#3#(z0,z1,z2)) LCSTABLE#3#(::(z0,z1),z2,z3) = z2 >= z2 = c_22(NEWLINE#(z3,z0,z2)) NEWLINE#(z0,z1,z2) = z2 >= z2 = c_27(NEWLINE#1#(z2,z1,z0)) NEWLINE#2#(::(z0,z1),z2,z3,z4) = z3 >= z3 = c_30(NEWLINE#(z4,z1,z3)) *** Step 13.b:3.a:2: Assumption. WORST_CASE(?,O(1)) + Considered Problem: - Strict DPs: LCSTABLE#(z0,z1) -> c_18(LCSTABLE#1#(z0,z1)) LCSTABLE#1#(::(z0,z1),z2) -> c_19(LCSTABLE#2#(lcstable(z1,z2),z2,z0),LCSTABLE#(z1,z2)) LCSTABLE#2#(z0,z1,z2) -> c_21(LCSTABLE#3#(z0,z1,z2)) LCSTABLE#3#(::(z0,z1),z2,z3) -> c_22(NEWLINE#(z3,z0,z2)) NEWLINE#(z0,z1,z2) -> c_27(NEWLINE#1#(z2,z1,z0)) NEWLINE#2#(::(z0,z1),z2,z3,z4) -> c_30(NEWLINE#(z4,z1,z3)) - Weak DPs: NEWLINE#1#(::(z0,z1),z2,z3) -> c_28(NEWLINE#2#(z2,z0,z1,z3)) - Weak TRS: #abs(#0()) -> #0() #add(#0(),z0) -> z0 #add(#neg(#s(#0())),z0) -> #pred(z0) #add(#neg(#s(#s(z0))),z1) -> #pred(#add(#pos(#s(z0)),z1)) #add(#pos(#s(#0())),z0) -> #succ(z0) #add(#pos(#s(#s(z0))),z1) -> #succ(#add(#pos(#s(z0)),z1)) #and(#false(),#false()) -> #false() #and(#false(),#true()) -> #false() #and(#true(),#false()) -> #false() #and(#true(),#true()) -> #true() #ckgt(#EQ()) -> #false() #ckgt(#GT()) -> #true() #ckgt(#LT()) -> #false() #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) #greater(z0,z1) -> #ckgt(#compare(z0,z1)) #pred(#0()) -> #neg(#s(#0())) #pred(#neg(#s(z0))) -> #neg(#s(#s(z0))) #pred(#pos(#s(#0()))) -> #0() #pred(#pos(#s(#s(z0)))) -> #pos(#s(z0)) #succ(#0()) -> #pos(#s(#0())) #succ(#neg(#s(#0()))) -> #0() #succ(#neg(#s(#s(z0)))) -> #neg(#s(z0)) #succ(#pos(#s(z0))) -> #pos(#s(#s(z0))) +(z0,z1) -> #add(z0,z1) firstline(z0) -> firstline#1(z0) firstline#1(::(z0,z1)) -> ::(#abs(#0()),firstline(z1)) firstline#1(nil()) -> nil() lcstable(z0,z1) -> lcstable#1(z0,z1) lcstable#1(::(z0,z1),z2) -> lcstable#2(lcstable(z1,z2),z2,z0) lcstable#1(nil(),z0) -> ::(firstline(z0),nil()) lcstable#2(z0,z1,z2) -> lcstable#3(z0,z1,z2) lcstable#3(::(z0,z1),z2,z3) -> ::(newline(z3,z0,z2),::(z0,z1)) lcstable#3(nil(),z0,z1) -> nil() max(z0,z1) -> max#1(#greater(z0,z1),z0,z1) max#1(#false(),z0,z1) -> z1 max#1(#true(),z0,z1) -> z0 newline(z0,z1,z2) -> newline#1(z2,z1,z0) newline#1(::(z0,z1),z2,z3) -> newline#2(z2,z0,z1,z3) newline#1(nil(),z0,z1) -> nil() newline#2(::(z0,z1),z2,z3,z4) -> newline#3(newline(z4,z1,z3),z0,z1,z2,z4) newline#2(nil(),z0,z1,z2) -> nil() newline#3(z0,z1,z2,z3,z4) -> newline#4(right(z0),z1,z2,z0,z3,z4) newline#4(z0,z1,z2,z3,z4,z5) -> newline#5(right(z2),z1,z3,z0,z4,z5) newline#5(z0,z1,z2,z3,z4,z5) -> newline#6(newline#7(#equal(z4,z5),z1,z0,z3),z2) newline#6(z0,z1) -> ::(z0,z1) newline#7(#false(),z0,z1,z2) -> max(z0,z2) newline#7(#true(),z0,z1,z2) -> +(z1,#pos(#s(#0()))) right(z0) -> right#1(z0) right#1(::(z0,z1)) -> z0 right#1(nil()) -> #abs(#0()) - Signature: {#ABS/1,#ADD/2,#AND/2,#CKGT/1,#COMPARE/2,#EQ'/2,#EQUAL/2,#GREATER/2,#PRED/1,#SUCC/1,#abs/1,#add/2,#and/2 ,#ckgt/1,#compare/2,#eq/2,#equal/2,#greater/2,#pred/1,#succ/1,+/2,+'/2,FIRSTLINE/1,FIRSTLINE#1/1,LCS/2 ,LCS#1/1,LCS#2/1,LCS#3/1,LCSTABLE/2,LCSTABLE#1/2,LCSTABLE#2/3,LCSTABLE#3/3,MAX/2,MAX#1/3,NEWLINE/3 ,NEWLINE#1/3,NEWLINE#2/4,NEWLINE#3/5,NEWLINE#4/6,NEWLINE#5/6,NEWLINE#6/2,NEWLINE#7/4,RIGHT/1,RIGHT#1/1 ,firstline/1,firstline#1/1,lcs/2,lcs#1/1,lcs#2/1,lcs#3/1,lcstable/2,lcstable#1/2,lcstable#2/3,lcstable#3/3 ,max/2,max#1/3,newline/3,newline#1/3,newline#2/4,newline#3/5,newline#4/6,newline#5/6,newline#6/2,newline#7/4 ,right/1,right#1/1,#ABS#/1,#ADD#/2,#AND#/2,#CKGT#/1,#COMPARE#/2,#EQ'#/2,#EQUAL#/2,#GREATER#/2,#PRED#/1 ,#SUCC#/1,#abs#/1,#add#/2,#and#/2,#ckgt#/1,#compare#/2,#eq#/2,#equal#/2,#greater#/2,#pred#/1,#succ#/1,+#/2 ,+'#/2,FIRSTLINE#/1,FIRSTLINE#1#/1,LCS#/2,LCS#1#/1,LCS#2#/1,LCS#3#/1,LCSTABLE#/2,LCSTABLE#1#/2,LCSTABLE#2#/3 ,LCSTABLE#3#/3,MAX#/2,MAX#1#/3,NEWLINE#/3,NEWLINE#1#/3,NEWLINE#2#/4,NEWLINE#3#/5,NEWLINE#4#/6,NEWLINE#5#/6 ,NEWLINE#6#/2,NEWLINE#7#/4,RIGHT#/1,RIGHT#1#/1,firstline#/1,firstline#1#/1,lcs#/2,lcs#1#/1,lcs#2#/1,lcs#3#/1 ,lcstable#/2,lcstable#1#/2,lcstable#2#/3,lcstable#3#/3,max#/2,max#1#/3,newline#/3,newline#1#/3,newline#2#/4 ,newline#3#/5,newline#4#/6,newline#5#/6,newline#6#/2,newline#7#/4,right#/1,right#1#/1} / {#0/0,#EQ/0,#GT/0 ,#LT/0,#false/0,#neg/1,#pos/1,#s/1,#true/0,::/2,c/0,c1/1,c10/0,c11/0,c12/0,c13/0,c14/0,c15/0,c16/0,c17/1 ,c18/0,c19/0,c2/2,c20/0,c21/1,c22/0,c23/1,c24/0,c25/0,c26/0,c27/0,c28/0,c29/1,c3/1,c30/0,c31/0,c32/0,c33/1 ,c34/0,c35/1,c36/2,c37/2,c38/0,c39/0,c4/2,c40/0,c41/0,c42/0,c43/0,c44/0,c45/0,c46/0,c47/0,c48/0,c49/0,c5/0 ,c50/0,c51/0,c52/0,c53/1,c54/2,c55/1,c56/1,c57/1,c58/1,c59/0,c6/0,c60/2,c61/1,c62/1,c63/1,c64/0,c65/1,c66/1 ,c67/2,c68/1,c69/1,c7/0,c70/1,c71/0,c72/2,c73/0,c74/0,c75/1,c76/1,c77/0,c78/2,c79/0,c8/0,c80/2,c81/2,c82/3 ,c83/0,c84/1,c85/1,c86/1,c87/0,c88/1,c9/0,nil/0,c_1/0,c_2/0,c_3/0,c_4/0,c_5/1,c_6/3,c_7/1,c_8/1,c_9/1,c_10/1 ,c_11/0,c_12/1,c_13/1,c_14/1,c_15/1,c_16/0,c_17/1,c_18/1,c_19/2,c_20/1,c_21/1,c_22/1,c_23/0,c_24/3,c_25/0 ,c_26/0,c_27/1,c_28/1,c_29/0,c_30/1,c_31/0,c_32/3,c_33/3,c_34/6,c_35/0,c_36/1,c_37/1,c_38/1,c_39/0,c_40/1 ,c_41/0,c_42/1,c_43/3,c_44/1,c_45/3,c_46/0,c_47/0,c_48/0,c_49/0,c_50/0,c_51/0,c_52/0,c_53/0,c_54/0,c_55/0 ,c_56/0,c_57/0,c_58/1,c_59/0,c_60/0,c_61/0,c_62/1,c_63/0,c_64/1,c_65/0,c_66/0,c_67/0,c_68/0,c_69/0,c_70/1 ,c_71/0,c_72/0,c_73/0,c_74/1,c_75/0,c_76/1,c_77/4,c_78/4,c_79/0,c_80/0,c_81/0,c_82/0,c_83/0,c_84/0,c_85/0 ,c_86/0,c_87/0,c_88/0,c_89/0,c_90/0,c_91/0,c_92/0,c_93/0,c_94/0,c_95/1,c_96/2,c_97/1,c_98/2,c_99/0,c_100/0 ,c_101/0,c_102/0,c_103/0,c_104/0,c_105/0,c_106/0,c_107/0,c_108/0,c_109/0,c_110/0,c_111/1,c_112/0,c_113/0 ,c_114/0,c_115/1,c_116/0,c_117/1,c_118/0,c_119/0,c_120/0,c_121/0,c_122/0,c_123/1,c_124/0,c_125/0,c_126/0 ,c_127/1,c_128/0,c_129/1,c_130/3,c_131/0,c_132/0,c_133/0,c_134/1,c_135/2,c_136/0,c_137/0,c_138/0,c_139/0 ,c_140/0,c_141/0,c_142/0,c_143/0,c_144/1,c_145/1,c_146/2,c_147/0,c_148/2,c_149/1,c_150/1,c_151/1,c_152/0 ,c_153/1,c_154/1,c_155/2,c_156/1,c_157/1,c_158/1,c_159/0,c_160/2,c_161/0,c_162/0,c_163/1,c_164/1,c_165/0 ,c_166/2,c_167/0,c_168/2,c_169/2,c_170/3,c_171/0,c_172/1,c_173/1,c_174/1,c_175/0,c_176/1} - Obligation: innermost runtime complexity wrt. defined symbols {#ABS#,#ADD#,#AND#,#CKGT#,#COMPARE#,#EQ'#,#EQUAL# ,#GREATER#,#PRED#,#SUCC#,#abs#,#add#,#and#,#ckgt#,#compare#,#eq#,#equal#,#greater#,#pred#,#succ#,+#,+'# ,FIRSTLINE#,FIRSTLINE#1#,LCS#,LCS#1#,LCS#2#,LCS#3#,LCSTABLE#,LCSTABLE#1#,LCSTABLE#2#,LCSTABLE#3#,MAX#,MAX#1# ,NEWLINE#,NEWLINE#1#,NEWLINE#2#,NEWLINE#3#,NEWLINE#4#,NEWLINE#5#,NEWLINE#6#,NEWLINE#7#,RIGHT#,RIGHT#1# ,firstline#,firstline#1#,lcs#,lcs#1#,lcs#2#,lcs#3#,lcstable#,lcstable#1#,lcstable#2#,lcstable#3#,max#,max#1# ,newline#,newline#1#,newline#2#,newline#3#,newline#4#,newline#5#,newline#6#,newline#7#,right# ,right#1#} 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,c59,c6,c60,c61,c62,c63,c64,c65 ,c66,c67,c68,c69,c7,c70,c71,c72,c73,c74,c75,c76,c77,c78,c79,c8,c80,c81,c82,c83,c84,c85,c86,c87,c88,c9,nil} + Applied Processor: Assumption {assumed = Certificate {spaceUB = Unknown, spaceLB = Unknown, timeUB = Poly (Just 0), timeLB = Unknown, timeBCUB = Unknown, timeBCLB = Unknown}} + Details: () *** Step 13.b:3.b:1: PredecessorEstimationCP. WORST_CASE(?,O(n^2)) + Considered Problem: - Strict DPs: LCSTABLE#(z0,z1) -> c_18(LCSTABLE#1#(z0,z1)) LCSTABLE#1#(::(z0,z1),z2) -> c_19(LCSTABLE#2#(lcstable(z1,z2),z2,z0),LCSTABLE#(z1,z2)) LCSTABLE#2#(z0,z1,z2) -> c_21(LCSTABLE#3#(z0,z1,z2)) LCSTABLE#3#(::(z0,z1),z2,z3) -> c_22(NEWLINE#(z3,z0,z2)) NEWLINE#(z0,z1,z2) -> c_27(NEWLINE#1#(z2,z1,z0)) - Weak DPs: NEWLINE#1#(::(z0,z1),z2,z3) -> c_28(NEWLINE#2#(z2,z0,z1,z3)) NEWLINE#2#(::(z0,z1),z2,z3,z4) -> c_30(NEWLINE#(z4,z1,z3)) - Weak TRS: #abs(#0()) -> #0() #add(#0(),z0) -> z0 #add(#neg(#s(#0())),z0) -> #pred(z0) #add(#neg(#s(#s(z0))),z1) -> #pred(#add(#pos(#s(z0)),z1)) #add(#pos(#s(#0())),z0) -> #succ(z0) #add(#pos(#s(#s(z0))),z1) -> #succ(#add(#pos(#s(z0)),z1)) #and(#false(),#false()) -> #false() #and(#false(),#true()) -> #false() #and(#true(),#false()) -> #false() #and(#true(),#true()) -> #true() #ckgt(#EQ()) -> #false() #ckgt(#GT()) -> #true() #ckgt(#LT()) -> #false() #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) #greater(z0,z1) -> #ckgt(#compare(z0,z1)) #pred(#0()) -> #neg(#s(#0())) #pred(#neg(#s(z0))) -> #neg(#s(#s(z0))) #pred(#pos(#s(#0()))) -> #0() #pred(#pos(#s(#s(z0)))) -> #pos(#s(z0)) #succ(#0()) -> #pos(#s(#0())) #succ(#neg(#s(#0()))) -> #0() #succ(#neg(#s(#s(z0)))) -> #neg(#s(z0)) #succ(#pos(#s(z0))) -> #pos(#s(#s(z0))) +(z0,z1) -> #add(z0,z1) firstline(z0) -> firstline#1(z0) firstline#1(::(z0,z1)) -> ::(#abs(#0()),firstline(z1)) firstline#1(nil()) -> nil() lcstable(z0,z1) -> lcstable#1(z0,z1) lcstable#1(::(z0,z1),z2) -> lcstable#2(lcstable(z1,z2),z2,z0) lcstable#1(nil(),z0) -> ::(firstline(z0),nil()) lcstable#2(z0,z1,z2) -> lcstable#3(z0,z1,z2) lcstable#3(::(z0,z1),z2,z3) -> ::(newline(z3,z0,z2),::(z0,z1)) lcstable#3(nil(),z0,z1) -> nil() max(z0,z1) -> max#1(#greater(z0,z1),z0,z1) max#1(#false(),z0,z1) -> z1 max#1(#true(),z0,z1) -> z0 newline(z0,z1,z2) -> newline#1(z2,z1,z0) newline#1(::(z0,z1),z2,z3) -> newline#2(z2,z0,z1,z3) newline#1(nil(),z0,z1) -> nil() newline#2(::(z0,z1),z2,z3,z4) -> newline#3(newline(z4,z1,z3),z0,z1,z2,z4) newline#2(nil(),z0,z1,z2) -> nil() newline#3(z0,z1,z2,z3,z4) -> newline#4(right(z0),z1,z2,z0,z3,z4) newline#4(z0,z1,z2,z3,z4,z5) -> newline#5(right(z2),z1,z3,z0,z4,z5) newline#5(z0,z1,z2,z3,z4,z5) -> newline#6(newline#7(#equal(z4,z5),z1,z0,z3),z2) newline#6(z0,z1) -> ::(z0,z1) newline#7(#false(),z0,z1,z2) -> max(z0,z2) newline#7(#true(),z0,z1,z2) -> +(z1,#pos(#s(#0()))) right(z0) -> right#1(z0) right#1(::(z0,z1)) -> z0 right#1(nil()) -> #abs(#0()) - Signature: {#ABS/1,#ADD/2,#AND/2,#CKGT/1,#COMPARE/2,#EQ'/2,#EQUAL/2,#GREATER/2,#PRED/1,#SUCC/1,#abs/1,#add/2,#and/2 ,#ckgt/1,#compare/2,#eq/2,#equal/2,#greater/2,#pred/1,#succ/1,+/2,+'/2,FIRSTLINE/1,FIRSTLINE#1/1,LCS/2 ,LCS#1/1,LCS#2/1,LCS#3/1,LCSTABLE/2,LCSTABLE#1/2,LCSTABLE#2/3,LCSTABLE#3/3,MAX/2,MAX#1/3,NEWLINE/3 ,NEWLINE#1/3,NEWLINE#2/4,NEWLINE#3/5,NEWLINE#4/6,NEWLINE#5/6,NEWLINE#6/2,NEWLINE#7/4,RIGHT/1,RIGHT#1/1 ,firstline/1,firstline#1/1,lcs/2,lcs#1/1,lcs#2/1,lcs#3/1,lcstable/2,lcstable#1/2,lcstable#2/3,lcstable#3/3 ,max/2,max#1/3,newline/3,newline#1/3,newline#2/4,newline#3/5,newline#4/6,newline#5/6,newline#6/2,newline#7/4 ,right/1,right#1/1,#ABS#/1,#ADD#/2,#AND#/2,#CKGT#/1,#COMPARE#/2,#EQ'#/2,#EQUAL#/2,#GREATER#/2,#PRED#/1 ,#SUCC#/1,#abs#/1,#add#/2,#and#/2,#ckgt#/1,#compare#/2,#eq#/2,#equal#/2,#greater#/2,#pred#/1,#succ#/1,+#/2 ,+'#/2,FIRSTLINE#/1,FIRSTLINE#1#/1,LCS#/2,LCS#1#/1,LCS#2#/1,LCS#3#/1,LCSTABLE#/2,LCSTABLE#1#/2,LCSTABLE#2#/3 ,LCSTABLE#3#/3,MAX#/2,MAX#1#/3,NEWLINE#/3,NEWLINE#1#/3,NEWLINE#2#/4,NEWLINE#3#/5,NEWLINE#4#/6,NEWLINE#5#/6 ,NEWLINE#6#/2,NEWLINE#7#/4,RIGHT#/1,RIGHT#1#/1,firstline#/1,firstline#1#/1,lcs#/2,lcs#1#/1,lcs#2#/1,lcs#3#/1 ,lcstable#/2,lcstable#1#/2,lcstable#2#/3,lcstable#3#/3,max#/2,max#1#/3,newline#/3,newline#1#/3,newline#2#/4 ,newline#3#/5,newline#4#/6,newline#5#/6,newline#6#/2,newline#7#/4,right#/1,right#1#/1} / {#0/0,#EQ/0,#GT/0 ,#LT/0,#false/0,#neg/1,#pos/1,#s/1,#true/0,::/2,c/0,c1/1,c10/0,c11/0,c12/0,c13/0,c14/0,c15/0,c16/0,c17/1 ,c18/0,c19/0,c2/2,c20/0,c21/1,c22/0,c23/1,c24/0,c25/0,c26/0,c27/0,c28/0,c29/1,c3/1,c30/0,c31/0,c32/0,c33/1 ,c34/0,c35/1,c36/2,c37/2,c38/0,c39/0,c4/2,c40/0,c41/0,c42/0,c43/0,c44/0,c45/0,c46/0,c47/0,c48/0,c49/0,c5/0 ,c50/0,c51/0,c52/0,c53/1,c54/2,c55/1,c56/1,c57/1,c58/1,c59/0,c6/0,c60/2,c61/1,c62/1,c63/1,c64/0,c65/1,c66/1 ,c67/2,c68/1,c69/1,c7/0,c70/1,c71/0,c72/2,c73/0,c74/0,c75/1,c76/1,c77/0,c78/2,c79/0,c8/0,c80/2,c81/2,c82/3 ,c83/0,c84/1,c85/1,c86/1,c87/0,c88/1,c9/0,nil/0,c_1/0,c_2/0,c_3/0,c_4/0,c_5/1,c_6/3,c_7/1,c_8/1,c_9/1,c_10/1 ,c_11/0,c_12/1,c_13/1,c_14/1,c_15/1,c_16/0,c_17/1,c_18/1,c_19/2,c_20/1,c_21/1,c_22/1,c_23/0,c_24/3,c_25/0 ,c_26/0,c_27/1,c_28/1,c_29/0,c_30/1,c_31/0,c_32/3,c_33/3,c_34/6,c_35/0,c_36/1,c_37/1,c_38/1,c_39/0,c_40/1 ,c_41/0,c_42/1,c_43/3,c_44/1,c_45/3,c_46/0,c_47/0,c_48/0,c_49/0,c_50/0,c_51/0,c_52/0,c_53/0,c_54/0,c_55/0 ,c_56/0,c_57/0,c_58/1,c_59/0,c_60/0,c_61/0,c_62/1,c_63/0,c_64/1,c_65/0,c_66/0,c_67/0,c_68/0,c_69/0,c_70/1 ,c_71/0,c_72/0,c_73/0,c_74/1,c_75/0,c_76/1,c_77/4,c_78/4,c_79/0,c_80/0,c_81/0,c_82/0,c_83/0,c_84/0,c_85/0 ,c_86/0,c_87/0,c_88/0,c_89/0,c_90/0,c_91/0,c_92/0,c_93/0,c_94/0,c_95/1,c_96/2,c_97/1,c_98/2,c_99/0,c_100/0 ,c_101/0,c_102/0,c_103/0,c_104/0,c_105/0,c_106/0,c_107/0,c_108/0,c_109/0,c_110/0,c_111/1,c_112/0,c_113/0 ,c_114/0,c_115/1,c_116/0,c_117/1,c_118/0,c_119/0,c_120/0,c_121/0,c_122/0,c_123/1,c_124/0,c_125/0,c_126/0 ,c_127/1,c_128/0,c_129/1,c_130/3,c_131/0,c_132/0,c_133/0,c_134/1,c_135/2,c_136/0,c_137/0,c_138/0,c_139/0 ,c_140/0,c_141/0,c_142/0,c_143/0,c_144/1,c_145/1,c_146/2,c_147/0,c_148/2,c_149/1,c_150/1,c_151/1,c_152/0 ,c_153/1,c_154/1,c_155/2,c_156/1,c_157/1,c_158/1,c_159/0,c_160/2,c_161/0,c_162/0,c_163/1,c_164/1,c_165/0 ,c_166/2,c_167/0,c_168/2,c_169/2,c_170/3,c_171/0,c_172/1,c_173/1,c_174/1,c_175/0,c_176/1} - Obligation: innermost runtime complexity wrt. defined symbols {#ABS#,#ADD#,#AND#,#CKGT#,#COMPARE#,#EQ'#,#EQUAL# ,#GREATER#,#PRED#,#SUCC#,#abs#,#add#,#and#,#ckgt#,#compare#,#eq#,#equal#,#greater#,#pred#,#succ#,+#,+'# ,FIRSTLINE#,FIRSTLINE#1#,LCS#,LCS#1#,LCS#2#,LCS#3#,LCSTABLE#,LCSTABLE#1#,LCSTABLE#2#,LCSTABLE#3#,MAX#,MAX#1# ,NEWLINE#,NEWLINE#1#,NEWLINE#2#,NEWLINE#3#,NEWLINE#4#,NEWLINE#5#,NEWLINE#6#,NEWLINE#7#,RIGHT#,RIGHT#1# ,firstline#,firstline#1#,lcs#,lcs#1#,lcs#2#,lcs#3#,lcstable#,lcstable#1#,lcstable#2#,lcstable#3#,max#,max#1# ,newline#,newline#1#,newline#2#,newline#3#,newline#4#,newline#5#,newline#6#,newline#7#,right# ,right#1#} 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,c59,c6,c60,c61,c62,c63,c64,c65 ,c66,c67,c68,c69,c7,c70,c71,c72,c73,c74,c75,c76,c77,c78,c79,c8,c80,c81,c82,c83,c84,c85,c86,c87,c88,c9,nil} + Applied Processor: PredecessorEstimationCP {onSelectionCP = any intersect of rules of CDG leaf and strict-rules, withComplexityPair = NaturalMI {miDimension = 1, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Nothing}} + Details: We first use the processor NaturalMI {miDimension = 1, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Nothing} to orient following rules strictly: 4: LCSTABLE#3#(::(z0,z1),z2,z3) -> c_22(NEWLINE#(z3,z0,z2)) The strictly oriented rules are moved into the weak component. **** Step 13.b:3.b:1.a:1: NaturalMI. WORST_CASE(?,O(n^1)) + Considered Problem: - Strict DPs: LCSTABLE#(z0,z1) -> c_18(LCSTABLE#1#(z0,z1)) LCSTABLE#1#(::(z0,z1),z2) -> c_19(LCSTABLE#2#(lcstable(z1,z2),z2,z0),LCSTABLE#(z1,z2)) LCSTABLE#2#(z0,z1,z2) -> c_21(LCSTABLE#3#(z0,z1,z2)) LCSTABLE#3#(::(z0,z1),z2,z3) -> c_22(NEWLINE#(z3,z0,z2)) NEWLINE#(z0,z1,z2) -> c_27(NEWLINE#1#(z2,z1,z0)) - Weak DPs: NEWLINE#1#(::(z0,z1),z2,z3) -> c_28(NEWLINE#2#(z2,z0,z1,z3)) NEWLINE#2#(::(z0,z1),z2,z3,z4) -> c_30(NEWLINE#(z4,z1,z3)) - Weak TRS: #abs(#0()) -> #0() #add(#0(),z0) -> z0 #add(#neg(#s(#0())),z0) -> #pred(z0) #add(#neg(#s(#s(z0))),z1) -> #pred(#add(#pos(#s(z0)),z1)) #add(#pos(#s(#0())),z0) -> #succ(z0) #add(#pos(#s(#s(z0))),z1) -> #succ(#add(#pos(#s(z0)),z1)) #and(#false(),#false()) -> #false() #and(#false(),#true()) -> #false() #and(#true(),#false()) -> #false() #and(#true(),#true()) -> #true() #ckgt(#EQ()) -> #false() #ckgt(#GT()) -> #true() #ckgt(#LT()) -> #false() #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) #greater(z0,z1) -> #ckgt(#compare(z0,z1)) #pred(#0()) -> #neg(#s(#0())) #pred(#neg(#s(z0))) -> #neg(#s(#s(z0))) #pred(#pos(#s(#0()))) -> #0() #pred(#pos(#s(#s(z0)))) -> #pos(#s(z0)) #succ(#0()) -> #pos(#s(#0())) #succ(#neg(#s(#0()))) -> #0() #succ(#neg(#s(#s(z0)))) -> #neg(#s(z0)) #succ(#pos(#s(z0))) -> #pos(#s(#s(z0))) +(z0,z1) -> #add(z0,z1) firstline(z0) -> firstline#1(z0) firstline#1(::(z0,z1)) -> ::(#abs(#0()),firstline(z1)) firstline#1(nil()) -> nil() lcstable(z0,z1) -> lcstable#1(z0,z1) lcstable#1(::(z0,z1),z2) -> lcstable#2(lcstable(z1,z2),z2,z0) lcstable#1(nil(),z0) -> ::(firstline(z0),nil()) lcstable#2(z0,z1,z2) -> lcstable#3(z0,z1,z2) lcstable#3(::(z0,z1),z2,z3) -> ::(newline(z3,z0,z2),::(z0,z1)) lcstable#3(nil(),z0,z1) -> nil() max(z0,z1) -> max#1(#greater(z0,z1),z0,z1) max#1(#false(),z0,z1) -> z1 max#1(#true(),z0,z1) -> z0 newline(z0,z1,z2) -> newline#1(z2,z1,z0) newline#1(::(z0,z1),z2,z3) -> newline#2(z2,z0,z1,z3) newline#1(nil(),z0,z1) -> nil() newline#2(::(z0,z1),z2,z3,z4) -> newline#3(newline(z4,z1,z3),z0,z1,z2,z4) newline#2(nil(),z0,z1,z2) -> nil() newline#3(z0,z1,z2,z3,z4) -> newline#4(right(z0),z1,z2,z0,z3,z4) newline#4(z0,z1,z2,z3,z4,z5) -> newline#5(right(z2),z1,z3,z0,z4,z5) newline#5(z0,z1,z2,z3,z4,z5) -> newline#6(newline#7(#equal(z4,z5),z1,z0,z3),z2) newline#6(z0,z1) -> ::(z0,z1) newline#7(#false(),z0,z1,z2) -> max(z0,z2) newline#7(#true(),z0,z1,z2) -> +(z1,#pos(#s(#0()))) right(z0) -> right#1(z0) right#1(::(z0,z1)) -> z0 right#1(nil()) -> #abs(#0()) - Signature: {#ABS/1,#ADD/2,#AND/2,#CKGT/1,#COMPARE/2,#EQ'/2,#EQUAL/2,#GREATER/2,#PRED/1,#SUCC/1,#abs/1,#add/2,#and/2 ,#ckgt/1,#compare/2,#eq/2,#equal/2,#greater/2,#pred/1,#succ/1,+/2,+'/2,FIRSTLINE/1,FIRSTLINE#1/1,LCS/2 ,LCS#1/1,LCS#2/1,LCS#3/1,LCSTABLE/2,LCSTABLE#1/2,LCSTABLE#2/3,LCSTABLE#3/3,MAX/2,MAX#1/3,NEWLINE/3 ,NEWLINE#1/3,NEWLINE#2/4,NEWLINE#3/5,NEWLINE#4/6,NEWLINE#5/6,NEWLINE#6/2,NEWLINE#7/4,RIGHT/1,RIGHT#1/1 ,firstline/1,firstline#1/1,lcs/2,lcs#1/1,lcs#2/1,lcs#3/1,lcstable/2,lcstable#1/2,lcstable#2/3,lcstable#3/3 ,max/2,max#1/3,newline/3,newline#1/3,newline#2/4,newline#3/5,newline#4/6,newline#5/6,newline#6/2,newline#7/4 ,right/1,right#1/1,#ABS#/1,#ADD#/2,#AND#/2,#CKGT#/1,#COMPARE#/2,#EQ'#/2,#EQUAL#/2,#GREATER#/2,#PRED#/1 ,#SUCC#/1,#abs#/1,#add#/2,#and#/2,#ckgt#/1,#compare#/2,#eq#/2,#equal#/2,#greater#/2,#pred#/1,#succ#/1,+#/2 ,+'#/2,FIRSTLINE#/1,FIRSTLINE#1#/1,LCS#/2,LCS#1#/1,LCS#2#/1,LCS#3#/1,LCSTABLE#/2,LCSTABLE#1#/2,LCSTABLE#2#/3 ,LCSTABLE#3#/3,MAX#/2,MAX#1#/3,NEWLINE#/3,NEWLINE#1#/3,NEWLINE#2#/4,NEWLINE#3#/5,NEWLINE#4#/6,NEWLINE#5#/6 ,NEWLINE#6#/2,NEWLINE#7#/4,RIGHT#/1,RIGHT#1#/1,firstline#/1,firstline#1#/1,lcs#/2,lcs#1#/1,lcs#2#/1,lcs#3#/1 ,lcstable#/2,lcstable#1#/2,lcstable#2#/3,lcstable#3#/3,max#/2,max#1#/3,newline#/3,newline#1#/3,newline#2#/4 ,newline#3#/5,newline#4#/6,newline#5#/6,newline#6#/2,newline#7#/4,right#/1,right#1#/1} / {#0/0,#EQ/0,#GT/0 ,#LT/0,#false/0,#neg/1,#pos/1,#s/1,#true/0,::/2,c/0,c1/1,c10/0,c11/0,c12/0,c13/0,c14/0,c15/0,c16/0,c17/1 ,c18/0,c19/0,c2/2,c20/0,c21/1,c22/0,c23/1,c24/0,c25/0,c26/0,c27/0,c28/0,c29/1,c3/1,c30/0,c31/0,c32/0,c33/1 ,c34/0,c35/1,c36/2,c37/2,c38/0,c39/0,c4/2,c40/0,c41/0,c42/0,c43/0,c44/0,c45/0,c46/0,c47/0,c48/0,c49/0,c5/0 ,c50/0,c51/0,c52/0,c53/1,c54/2,c55/1,c56/1,c57/1,c58/1,c59/0,c6/0,c60/2,c61/1,c62/1,c63/1,c64/0,c65/1,c66/1 ,c67/2,c68/1,c69/1,c7/0,c70/1,c71/0,c72/2,c73/0,c74/0,c75/1,c76/1,c77/0,c78/2,c79/0,c8/0,c80/2,c81/2,c82/3 ,c83/0,c84/1,c85/1,c86/1,c87/0,c88/1,c9/0,nil/0,c_1/0,c_2/0,c_3/0,c_4/0,c_5/1,c_6/3,c_7/1,c_8/1,c_9/1,c_10/1 ,c_11/0,c_12/1,c_13/1,c_14/1,c_15/1,c_16/0,c_17/1,c_18/1,c_19/2,c_20/1,c_21/1,c_22/1,c_23/0,c_24/3,c_25/0 ,c_26/0,c_27/1,c_28/1,c_29/0,c_30/1,c_31/0,c_32/3,c_33/3,c_34/6,c_35/0,c_36/1,c_37/1,c_38/1,c_39/0,c_40/1 ,c_41/0,c_42/1,c_43/3,c_44/1,c_45/3,c_46/0,c_47/0,c_48/0,c_49/0,c_50/0,c_51/0,c_52/0,c_53/0,c_54/0,c_55/0 ,c_56/0,c_57/0,c_58/1,c_59/0,c_60/0,c_61/0,c_62/1,c_63/0,c_64/1,c_65/0,c_66/0,c_67/0,c_68/0,c_69/0,c_70/1 ,c_71/0,c_72/0,c_73/0,c_74/1,c_75/0,c_76/1,c_77/4,c_78/4,c_79/0,c_80/0,c_81/0,c_82/0,c_83/0,c_84/0,c_85/0 ,c_86/0,c_87/0,c_88/0,c_89/0,c_90/0,c_91/0,c_92/0,c_93/0,c_94/0,c_95/1,c_96/2,c_97/1,c_98/2,c_99/0,c_100/0 ,c_101/0,c_102/0,c_103/0,c_104/0,c_105/0,c_106/0,c_107/0,c_108/0,c_109/0,c_110/0,c_111/1,c_112/0,c_113/0 ,c_114/0,c_115/1,c_116/0,c_117/1,c_118/0,c_119/0,c_120/0,c_121/0,c_122/0,c_123/1,c_124/0,c_125/0,c_126/0 ,c_127/1,c_128/0,c_129/1,c_130/3,c_131/0,c_132/0,c_133/0,c_134/1,c_135/2,c_136/0,c_137/0,c_138/0,c_139/0 ,c_140/0,c_141/0,c_142/0,c_143/0,c_144/1,c_145/1,c_146/2,c_147/0,c_148/2,c_149/1,c_150/1,c_151/1,c_152/0 ,c_153/1,c_154/1,c_155/2,c_156/1,c_157/1,c_158/1,c_159/0,c_160/2,c_161/0,c_162/0,c_163/1,c_164/1,c_165/0 ,c_166/2,c_167/0,c_168/2,c_169/2,c_170/3,c_171/0,c_172/1,c_173/1,c_174/1,c_175/0,c_176/1} - Obligation: innermost runtime complexity wrt. defined symbols {#ABS#,#ADD#,#AND#,#CKGT#,#COMPARE#,#EQ'#,#EQUAL# ,#GREATER#,#PRED#,#SUCC#,#abs#,#add#,#and#,#ckgt#,#compare#,#eq#,#equal#,#greater#,#pred#,#succ#,+#,+'# ,FIRSTLINE#,FIRSTLINE#1#,LCS#,LCS#1#,LCS#2#,LCS#3#,LCSTABLE#,LCSTABLE#1#,LCSTABLE#2#,LCSTABLE#3#,MAX#,MAX#1# ,NEWLINE#,NEWLINE#1#,NEWLINE#2#,NEWLINE#3#,NEWLINE#4#,NEWLINE#5#,NEWLINE#6#,NEWLINE#7#,RIGHT#,RIGHT#1# ,firstline#,firstline#1#,lcs#,lcs#1#,lcs#2#,lcs#3#,lcstable#,lcstable#1#,lcstable#2#,lcstable#3#,max#,max#1# ,newline#,newline#1#,newline#2#,newline#3#,newline#4#,newline#5#,newline#6#,newline#7#,right# ,right#1#} 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,c59,c6,c60,c61,c62,c63,c64,c65 ,c66,c67,c68,c69,c7,c70,c71,c72,c73,c74,c75,c76,c77,c78,c79,c8,c80,c81,c82,c83,c84,c85,c86,c87,c88,c9,nil} + Applied Processor: NaturalMI {miDimension = 1, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Just first alternative for predecessorEstimation on any intersect of rules of CDG leaf and strict-rules} + Details: We apply a matrix interpretation of kind constructor based matrix interpretation: The following argument positions are considered usable: uargs(c_18) = {1}, uargs(c_19) = {1,2}, uargs(c_21) = {1}, uargs(c_22) = {1}, uargs(c_27) = {1}, uargs(c_28) = {1}, uargs(c_30) = {1} Following symbols are considered usable: {#ABS#,#ADD#,#AND#,#CKGT#,#COMPARE#,#EQ'#,#EQUAL#,#GREATER#,#PRED#,#SUCC#,#abs#,#add#,#and#,#ckgt# ,#compare#,#eq#,#equal#,#greater#,#pred#,#succ#,+#,+'#,FIRSTLINE#,FIRSTLINE#1#,LCS#,LCS#1#,LCS#2#,LCS#3# ,LCSTABLE#,LCSTABLE#1#,LCSTABLE#2#,LCSTABLE#3#,MAX#,MAX#1#,NEWLINE#,NEWLINE#1#,NEWLINE#2#,NEWLINE#3# ,NEWLINE#4#,NEWLINE#5#,NEWLINE#6#,NEWLINE#7#,RIGHT#,RIGHT#1#,firstline#,firstline#1#,lcs#,lcs#1#,lcs#2# ,lcs#3#,lcstable#,lcstable#1#,lcstable#2#,lcstable#3#,max#,max#1#,newline#,newline#1#,newline#2#,newline#3# ,newline#4#,newline#5#,newline#6#,newline#7#,right#,right#1#} TcT has computed the following interpretation: p(#0) = [5] p(#ABS) = [0] p(#ADD) = [0] p(#AND) = [0] p(#CKGT) = [0] p(#COMPARE) = [0] p(#EQ) = [0] p(#EQ') = [0] p(#EQUAL) = [0] p(#GREATER) = [0] p(#GT) = [0] p(#LT) = [0] p(#PRED) = [0] p(#SUCC) = [0] p(#abs) = [0] p(#add) = [1] x1 + [0] p(#and) = [0] p(#ckgt) = [0] p(#compare) = [2] x1 + [0] p(#eq) = [1] x2 + [2] p(#equal) = [0] p(#false) = [0] p(#greater) = [4] x1 + [3] p(#neg) = [2] p(#pos) = [1] x1 + [4] p(#pred) = [0] p(#s) = [0] p(#succ) = [0] p(#true) = [0] p(+) = [0] p(+') = [1] x2 + [0] p(::) = [1] x1 + [1] x2 + [4] p(FIRSTLINE) = [0] p(FIRSTLINE#1) = [0] p(LCS) = [0] p(LCS#1) = [0] p(LCS#2) = [0] p(LCS#3) = [0] p(LCSTABLE) = [0] p(LCSTABLE#1) = [0] p(LCSTABLE#2) = [0] p(LCSTABLE#3) = [0] p(MAX) = [0] p(MAX#1) = [0] p(NEWLINE) = [0] p(NEWLINE#1) = [0] p(NEWLINE#2) = [0] p(NEWLINE#3) = [0] p(NEWLINE#4) = [0] p(NEWLINE#5) = [0] p(NEWLINE#6) = [0] p(NEWLINE#7) = [0] p(RIGHT) = [0] p(RIGHT#1) = [0] p(c) = [0] p(c1) = [1] x1 + [0] p(c10) = [0] p(c11) = [0] p(c12) = [0] p(c13) = [0] p(c14) = [0] p(c15) = [0] p(c16) = [0] p(c17) = [1] x1 + [0] p(c18) = [0] p(c19) = [0] p(c2) = [1] x1 + [1] x2 + [0] p(c20) = [0] p(c21) = [1] x1 + [0] p(c22) = [0] p(c23) = [1] x1 + [0] p(c24) = [0] p(c25) = [0] p(c26) = [0] p(c27) = [0] p(c28) = [0] p(c29) = [1] x1 + [0] p(c3) = [1] x1 + [0] p(c30) = [0] p(c31) = [0] p(c32) = [0] p(c33) = [1] x1 + [0] p(c34) = [0] p(c35) = [1] x1 + [0] p(c36) = [1] x1 + [1] x2 + [0] p(c37) = [1] x1 + [1] x2 + [0] p(c38) = [0] p(c39) = [0] p(c4) = [1] x1 + [1] x2 + [0] p(c40) = [0] p(c41) = [0] p(c42) = [0] p(c43) = [0] p(c44) = [0] p(c45) = [0] p(c46) = [0] p(c47) = [0] p(c48) = [0] p(c49) = [0] p(c5) = [0] p(c50) = [0] p(c51) = [0] p(c52) = [0] p(c53) = [1] x1 + [0] p(c54) = [1] x1 + [1] x2 + [0] p(c55) = [1] x1 + [0] p(c56) = [1] x1 + [0] p(c57) = [1] x1 + [0] p(c58) = [1] x1 + [0] p(c59) = [0] p(c6) = [0] p(c60) = [1] x1 + [1] x2 + [0] p(c61) = [1] x1 + [0] p(c62) = [1] x1 + [0] p(c63) = [1] x1 + [0] p(c64) = [0] p(c65) = [1] x1 + [0] p(c66) = [1] x1 + [0] p(c67) = [1] x1 + [1] x2 + [0] p(c68) = [1] x1 + [0] p(c69) = [1] x1 + [0] p(c7) = [0] p(c70) = [1] x1 + [0] p(c71) = [0] p(c72) = [1] x1 + [1] x2 + [0] p(c73) = [0] p(c74) = [0] p(c75) = [1] x1 + [0] p(c76) = [1] x1 + [0] p(c77) = [0] p(c78) = [1] x1 + [1] x2 + [0] p(c79) = [0] p(c8) = [0] p(c80) = [1] x1 + [1] x2 + [0] p(c81) = [1] x1 + [1] x2 + [0] p(c82) = [1] x1 + [1] x2 + [1] x3 + [0] p(c83) = [0] p(c84) = [1] x1 + [0] p(c85) = [1] x1 + [0] p(c86) = [1] x1 + [0] p(c87) = [0] p(c88) = [1] x1 + [0] p(c9) = [0] p(firstline) = [5] p(firstline#1) = [0] p(lcs) = [0] p(lcs#1) = [0] p(lcs#2) = [0] p(lcs#3) = [0] p(lcstable) = [0] p(lcstable#1) = [0] p(lcstable#2) = [0] p(lcstable#3) = [0] p(max) = [0] p(max#1) = [3] x1 + [0] p(newline) = [0] p(newline#1) = [0] p(newline#2) = [0] p(newline#3) = [0] p(newline#4) = [0] p(newline#5) = [4] x1 + [0] p(newline#6) = [2] x1 + [0] p(newline#7) = [0] p(nil) = [1] p(right) = [3] p(right#1) = [0] p(#ABS#) = [0] p(#ADD#) = [0] p(#AND#) = [0] p(#CKGT#) = [0] p(#COMPARE#) = [0] p(#EQ'#) = [0] p(#EQUAL#) = [0] p(#GREATER#) = [0] p(#PRED#) = [0] p(#SUCC#) = [0] p(#abs#) = [0] p(#add#) = [0] p(#and#) = [0] p(#ckgt#) = [0] p(#compare#) = [0] p(#eq#) = [0] p(#equal#) = [0] p(#greater#) = [0] p(#pred#) = [0] p(#succ#) = [0] p(+#) = [0] p(+'#) = [0] p(FIRSTLINE#) = [0] p(FIRSTLINE#1#) = [0] p(LCS#) = [0] p(LCS#1#) = [0] p(LCS#2#) = [0] p(LCS#3#) = [0] p(LCSTABLE#) = [2] x1 + [4] p(LCSTABLE#1#) = [2] x1 + [4] p(LCSTABLE#2#) = [1] x3 + [2] p(LCSTABLE#3#) = [1] p(MAX#) = [0] p(MAX#1#) = [0] p(NEWLINE#) = [0] p(NEWLINE#1#) = [0] p(NEWLINE#2#) = [0] p(NEWLINE#3#) = [0] p(NEWLINE#4#) = [0] p(NEWLINE#5#) = [0] p(NEWLINE#6#) = [0] p(NEWLINE#7#) = [0] p(RIGHT#) = [0] p(RIGHT#1#) = [0] p(firstline#) = [0] p(firstline#1#) = [0] p(lcs#) = [0] p(lcs#1#) = [0] p(lcs#2#) = [0] p(lcs#3#) = [0] p(lcstable#) = [0] p(lcstable#1#) = [0] p(lcstable#2#) = [0] p(lcstable#3#) = [0] p(max#) = [0] p(max#1#) = [0] p(newline#) = [0] p(newline#1#) = [0] p(newline#2#) = [0] p(newline#3#) = [0] p(newline#4#) = [0] p(newline#5#) = [0] p(newline#6#) = [0] p(newline#7#) = [0] p(right#) = [0] p(right#1#) = [0] p(c_1) = [0] p(c_2) = [0] p(c_3) = [0] p(c_4) = [0] p(c_5) = [0] p(c_6) = [0] p(c_7) = [0] p(c_8) = [0] p(c_9) = [0] p(c_10) = [0] p(c_11) = [0] p(c_12) = [0] p(c_13) = [0] p(c_14) = [0] p(c_15) = [0] p(c_16) = [0] p(c_17) = [0] p(c_18) = [1] x1 + [0] p(c_19) = [2] x1 + [1] x2 + [4] p(c_20) = [0] p(c_21) = [2] x1 + [0] p(c_22) = [2] x1 + [0] p(c_23) = [0] p(c_24) = [0] p(c_25) = [0] p(c_26) = [0] p(c_27) = [2] x1 + [0] p(c_28) = [4] x1 + [0] p(c_29) = [0] p(c_30) = [4] x1 + [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) = [0] p(c_40) = [0] p(c_41) = [0] p(c_42) = [0] p(c_43) = [0] p(c_44) = [0] p(c_45) = [1] x3 + [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) = [1] x1 + [0] p(c_59) = [0] p(c_60) = [0] p(c_61) = [0] p(c_62) = [4] x1 + [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) = [1] 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) = [4] x2 + [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) = [0] p(c_114) = [0] p(c_115) = [0] p(c_116) = [0] p(c_117) = [0] p(c_118) = [0] p(c_119) = [0] p(c_120) = [0] p(c_121) = [0] p(c_122) = [1] p(c_123) = [0] p(c_124) = [0] p(c_125) = [0] p(c_126) = [2] p(c_127) = [0] p(c_128) = [0] p(c_129) = [0] p(c_130) = [0] p(c_131) = [0] p(c_132) = [0] p(c_133) = [0] p(c_134) = [0] p(c_135) = [2] x2 + [0] p(c_136) = [0] p(c_137) = [0] p(c_138) = [0] p(c_139) = [0] p(c_140) = [0] p(c_141) = [0] p(c_142) = [0] p(c_143) = [0] p(c_144) = [0] p(c_145) = [0] p(c_146) = [0] p(c_147) = [0] p(c_148) = [0] p(c_149) = [0] p(c_150) = [0] p(c_151) = [0] p(c_152) = [0] p(c_153) = [0] p(c_154) = [1] x1 + [0] p(c_155) = [0] p(c_156) = [0] p(c_157) = [0] p(c_158) = [0] p(c_159) = [0] p(c_160) = [0] p(c_161) = [0] p(c_162) = [0] p(c_163) = [0] p(c_164) = [0] p(c_165) = [0] p(c_166) = [0] p(c_167) = [0] p(c_168) = [0] p(c_169) = [0] p(c_170) = [0] p(c_171) = [0] p(c_172) = [0] p(c_173) = [0] p(c_174) = [0] p(c_175) = [0] p(c_176) = [0] Following rules are strictly oriented: LCSTABLE#3#(::(z0,z1),z2,z3) = [1] > [0] = c_22(NEWLINE#(z3,z0,z2)) Following rules are (at-least) weakly oriented: LCSTABLE#(z0,z1) = [2] z0 + [4] >= [2] z0 + [4] = c_18(LCSTABLE#1#(z0,z1)) LCSTABLE#1#(::(z0,z1),z2) = [2] z0 + [2] z1 + [12] >= [2] z0 + [2] z1 + [12] = c_19(LCSTABLE#2#(lcstable(z1,z2),z2,z0),LCSTABLE#(z1,z2)) LCSTABLE#2#(z0,z1,z2) = [1] z2 + [2] >= [2] = c_21(LCSTABLE#3#(z0,z1,z2)) NEWLINE#(z0,z1,z2) = [0] >= [0] = c_27(NEWLINE#1#(z2,z1,z0)) NEWLINE#1#(::(z0,z1),z2,z3) = [0] >= [0] = c_28(NEWLINE#2#(z2,z0,z1,z3)) NEWLINE#2#(::(z0,z1),z2,z3,z4) = [0] >= [0] = c_30(NEWLINE#(z4,z1,z3)) **** Step 13.b:3.b:1.a:2: Assumption. WORST_CASE(?,O(1)) + Considered Problem: - Strict DPs: LCSTABLE#(z0,z1) -> c_18(LCSTABLE#1#(z0,z1)) LCSTABLE#1#(::(z0,z1),z2) -> c_19(LCSTABLE#2#(lcstable(z1,z2),z2,z0),LCSTABLE#(z1,z2)) LCSTABLE#2#(z0,z1,z2) -> c_21(LCSTABLE#3#(z0,z1,z2)) NEWLINE#(z0,z1,z2) -> c_27(NEWLINE#1#(z2,z1,z0)) - Weak DPs: LCSTABLE#3#(::(z0,z1),z2,z3) -> c_22(NEWLINE#(z3,z0,z2)) NEWLINE#1#(::(z0,z1),z2,z3) -> c_28(NEWLINE#2#(z2,z0,z1,z3)) NEWLINE#2#(::(z0,z1),z2,z3,z4) -> c_30(NEWLINE#(z4,z1,z3)) - Weak TRS: #abs(#0()) -> #0() #add(#0(),z0) -> z0 #add(#neg(#s(#0())),z0) -> #pred(z0) #add(#neg(#s(#s(z0))),z1) -> #pred(#add(#pos(#s(z0)),z1)) #add(#pos(#s(#0())),z0) -> #succ(z0) #add(#pos(#s(#s(z0))),z1) -> #succ(#add(#pos(#s(z0)),z1)) #and(#false(),#false()) -> #false() #and(#false(),#true()) -> #false() #and(#true(),#false()) -> #false() #and(#true(),#true()) -> #true() #ckgt(#EQ()) -> #false() #ckgt(#GT()) -> #true() #ckgt(#LT()) -> #false() #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) #greater(z0,z1) -> #ckgt(#compare(z0,z1)) #pred(#0()) -> #neg(#s(#0())) #pred(#neg(#s(z0))) -> #neg(#s(#s(z0))) #pred(#pos(#s(#0()))) -> #0() #pred(#pos(#s(#s(z0)))) -> #pos(#s(z0)) #succ(#0()) -> #pos(#s(#0())) #succ(#neg(#s(#0()))) -> #0() #succ(#neg(#s(#s(z0)))) -> #neg(#s(z0)) #succ(#pos(#s(z0))) -> #pos(#s(#s(z0))) +(z0,z1) -> #add(z0,z1) firstline(z0) -> firstline#1(z0) firstline#1(::(z0,z1)) -> ::(#abs(#0()),firstline(z1)) firstline#1(nil()) -> nil() lcstable(z0,z1) -> lcstable#1(z0,z1) lcstable#1(::(z0,z1),z2) -> lcstable#2(lcstable(z1,z2),z2,z0) lcstable#1(nil(),z0) -> ::(firstline(z0),nil()) lcstable#2(z0,z1,z2) -> lcstable#3(z0,z1,z2) lcstable#3(::(z0,z1),z2,z3) -> ::(newline(z3,z0,z2),::(z0,z1)) lcstable#3(nil(),z0,z1) -> nil() max(z0,z1) -> max#1(#greater(z0,z1),z0,z1) max#1(#false(),z0,z1) -> z1 max#1(#true(),z0,z1) -> z0 newline(z0,z1,z2) -> newline#1(z2,z1,z0) newline#1(::(z0,z1),z2,z3) -> newline#2(z2,z0,z1,z3) newline#1(nil(),z0,z1) -> nil() newline#2(::(z0,z1),z2,z3,z4) -> newline#3(newline(z4,z1,z3),z0,z1,z2,z4) newline#2(nil(),z0,z1,z2) -> nil() newline#3(z0,z1,z2,z3,z4) -> newline#4(right(z0),z1,z2,z0,z3,z4) newline#4(z0,z1,z2,z3,z4,z5) -> newline#5(right(z2),z1,z3,z0,z4,z5) newline#5(z0,z1,z2,z3,z4,z5) -> newline#6(newline#7(#equal(z4,z5),z1,z0,z3),z2) newline#6(z0,z1) -> ::(z0,z1) newline#7(#false(),z0,z1,z2) -> max(z0,z2) newline#7(#true(),z0,z1,z2) -> +(z1,#pos(#s(#0()))) right(z0) -> right#1(z0) right#1(::(z0,z1)) -> z0 right#1(nil()) -> #abs(#0()) - Signature: {#ABS/1,#ADD/2,#AND/2,#CKGT/1,#COMPARE/2,#EQ'/2,#EQUAL/2,#GREATER/2,#PRED/1,#SUCC/1,#abs/1,#add/2,#and/2 ,#ckgt/1,#compare/2,#eq/2,#equal/2,#greater/2,#pred/1,#succ/1,+/2,+'/2,FIRSTLINE/1,FIRSTLINE#1/1,LCS/2 ,LCS#1/1,LCS#2/1,LCS#3/1,LCSTABLE/2,LCSTABLE#1/2,LCSTABLE#2/3,LCSTABLE#3/3,MAX/2,MAX#1/3,NEWLINE/3 ,NEWLINE#1/3,NEWLINE#2/4,NEWLINE#3/5,NEWLINE#4/6,NEWLINE#5/6,NEWLINE#6/2,NEWLINE#7/4,RIGHT/1,RIGHT#1/1 ,firstline/1,firstline#1/1,lcs/2,lcs#1/1,lcs#2/1,lcs#3/1,lcstable/2,lcstable#1/2,lcstable#2/3,lcstable#3/3 ,max/2,max#1/3,newline/3,newline#1/3,newline#2/4,newline#3/5,newline#4/6,newline#5/6,newline#6/2,newline#7/4 ,right/1,right#1/1,#ABS#/1,#ADD#/2,#AND#/2,#CKGT#/1,#COMPARE#/2,#EQ'#/2,#EQUAL#/2,#GREATER#/2,#PRED#/1 ,#SUCC#/1,#abs#/1,#add#/2,#and#/2,#ckgt#/1,#compare#/2,#eq#/2,#equal#/2,#greater#/2,#pred#/1,#succ#/1,+#/2 ,+'#/2,FIRSTLINE#/1,FIRSTLINE#1#/1,LCS#/2,LCS#1#/1,LCS#2#/1,LCS#3#/1,LCSTABLE#/2,LCSTABLE#1#/2,LCSTABLE#2#/3 ,LCSTABLE#3#/3,MAX#/2,MAX#1#/3,NEWLINE#/3,NEWLINE#1#/3,NEWLINE#2#/4,NEWLINE#3#/5,NEWLINE#4#/6,NEWLINE#5#/6 ,NEWLINE#6#/2,NEWLINE#7#/4,RIGHT#/1,RIGHT#1#/1,firstline#/1,firstline#1#/1,lcs#/2,lcs#1#/1,lcs#2#/1,lcs#3#/1 ,lcstable#/2,lcstable#1#/2,lcstable#2#/3,lcstable#3#/3,max#/2,max#1#/3,newline#/3,newline#1#/3,newline#2#/4 ,newline#3#/5,newline#4#/6,newline#5#/6,newline#6#/2,newline#7#/4,right#/1,right#1#/1} / {#0/0,#EQ/0,#GT/0 ,#LT/0,#false/0,#neg/1,#pos/1,#s/1,#true/0,::/2,c/0,c1/1,c10/0,c11/0,c12/0,c13/0,c14/0,c15/0,c16/0,c17/1 ,c18/0,c19/0,c2/2,c20/0,c21/1,c22/0,c23/1,c24/0,c25/0,c26/0,c27/0,c28/0,c29/1,c3/1,c30/0,c31/0,c32/0,c33/1 ,c34/0,c35/1,c36/2,c37/2,c38/0,c39/0,c4/2,c40/0,c41/0,c42/0,c43/0,c44/0,c45/0,c46/0,c47/0,c48/0,c49/0,c5/0 ,c50/0,c51/0,c52/0,c53/1,c54/2,c55/1,c56/1,c57/1,c58/1,c59/0,c6/0,c60/2,c61/1,c62/1,c63/1,c64/0,c65/1,c66/1 ,c67/2,c68/1,c69/1,c7/0,c70/1,c71/0,c72/2,c73/0,c74/0,c75/1,c76/1,c77/0,c78/2,c79/0,c8/0,c80/2,c81/2,c82/3 ,c83/0,c84/1,c85/1,c86/1,c87/0,c88/1,c9/0,nil/0,c_1/0,c_2/0,c_3/0,c_4/0,c_5/1,c_6/3,c_7/1,c_8/1,c_9/1,c_10/1 ,c_11/0,c_12/1,c_13/1,c_14/1,c_15/1,c_16/0,c_17/1,c_18/1,c_19/2,c_20/1,c_21/1,c_22/1,c_23/0,c_24/3,c_25/0 ,c_26/0,c_27/1,c_28/1,c_29/0,c_30/1,c_31/0,c_32/3,c_33/3,c_34/6,c_35/0,c_36/1,c_37/1,c_38/1,c_39/0,c_40/1 ,c_41/0,c_42/1,c_43/3,c_44/1,c_45/3,c_46/0,c_47/0,c_48/0,c_49/0,c_50/0,c_51/0,c_52/0,c_53/0,c_54/0,c_55/0 ,c_56/0,c_57/0,c_58/1,c_59/0,c_60/0,c_61/0,c_62/1,c_63/0,c_64/1,c_65/0,c_66/0,c_67/0,c_68/0,c_69/0,c_70/1 ,c_71/0,c_72/0,c_73/0,c_74/1,c_75/0,c_76/1,c_77/4,c_78/4,c_79/0,c_80/0,c_81/0,c_82/0,c_83/0,c_84/0,c_85/0 ,c_86/0,c_87/0,c_88/0,c_89/0,c_90/0,c_91/0,c_92/0,c_93/0,c_94/0,c_95/1,c_96/2,c_97/1,c_98/2,c_99/0,c_100/0 ,c_101/0,c_102/0,c_103/0,c_104/0,c_105/0,c_106/0,c_107/0,c_108/0,c_109/0,c_110/0,c_111/1,c_112/0,c_113/0 ,c_114/0,c_115/1,c_116/0,c_117/1,c_118/0,c_119/0,c_120/0,c_121/0,c_122/0,c_123/1,c_124/0,c_125/0,c_126/0 ,c_127/1,c_128/0,c_129/1,c_130/3,c_131/0,c_132/0,c_133/0,c_134/1,c_135/2,c_136/0,c_137/0,c_138/0,c_139/0 ,c_140/0,c_141/0,c_142/0,c_143/0,c_144/1,c_145/1,c_146/2,c_147/0,c_148/2,c_149/1,c_150/1,c_151/1,c_152/0 ,c_153/1,c_154/1,c_155/2,c_156/1,c_157/1,c_158/1,c_159/0,c_160/2,c_161/0,c_162/0,c_163/1,c_164/1,c_165/0 ,c_166/2,c_167/0,c_168/2,c_169/2,c_170/3,c_171/0,c_172/1,c_173/1,c_174/1,c_175/0,c_176/1} - Obligation: innermost runtime complexity wrt. defined symbols {#ABS#,#ADD#,#AND#,#CKGT#,#COMPARE#,#EQ'#,#EQUAL# ,#GREATER#,#PRED#,#SUCC#,#abs#,#add#,#and#,#ckgt#,#compare#,#eq#,#equal#,#greater#,#pred#,#succ#,+#,+'# ,FIRSTLINE#,FIRSTLINE#1#,LCS#,LCS#1#,LCS#2#,LCS#3#,LCSTABLE#,LCSTABLE#1#,LCSTABLE#2#,LCSTABLE#3#,MAX#,MAX#1# ,NEWLINE#,NEWLINE#1#,NEWLINE#2#,NEWLINE#3#,NEWLINE#4#,NEWLINE#5#,NEWLINE#6#,NEWLINE#7#,RIGHT#,RIGHT#1# ,firstline#,firstline#1#,lcs#,lcs#1#,lcs#2#,lcs#3#,lcstable#,lcstable#1#,lcstable#2#,lcstable#3#,max#,max#1# ,newline#,newline#1#,newline#2#,newline#3#,newline#4#,newline#5#,newline#6#,newline#7#,right# ,right#1#} 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,c59,c6,c60,c61,c62,c63,c64,c65 ,c66,c67,c68,c69,c7,c70,c71,c72,c73,c74,c75,c76,c77,c78,c79,c8,c80,c81,c82,c83,c84,c85,c86,c87,c88,c9,nil} + Applied Processor: Assumption {assumed = Certificate {spaceUB = Unknown, spaceLB = Unknown, timeUB = Poly (Just 0), timeLB = Unknown, timeBCUB = Unknown, timeBCLB = Unknown}} + Details: () **** Step 13.b:3.b:1.b:1: PredecessorEstimationCP. WORST_CASE(?,O(n^2)) + Considered Problem: - Strict DPs: LCSTABLE#(z0,z1) -> c_18(LCSTABLE#1#(z0,z1)) LCSTABLE#1#(::(z0,z1),z2) -> c_19(LCSTABLE#2#(lcstable(z1,z2),z2,z0),LCSTABLE#(z1,z2)) LCSTABLE#2#(z0,z1,z2) -> c_21(LCSTABLE#3#(z0,z1,z2)) NEWLINE#(z0,z1,z2) -> c_27(NEWLINE#1#(z2,z1,z0)) - Weak DPs: LCSTABLE#3#(::(z0,z1),z2,z3) -> c_22(NEWLINE#(z3,z0,z2)) NEWLINE#1#(::(z0,z1),z2,z3) -> c_28(NEWLINE#2#(z2,z0,z1,z3)) NEWLINE#2#(::(z0,z1),z2,z3,z4) -> c_30(NEWLINE#(z4,z1,z3)) - Weak TRS: #abs(#0()) -> #0() #add(#0(),z0) -> z0 #add(#neg(#s(#0())),z0) -> #pred(z0) #add(#neg(#s(#s(z0))),z1) -> #pred(#add(#pos(#s(z0)),z1)) #add(#pos(#s(#0())),z0) -> #succ(z0) #add(#pos(#s(#s(z0))),z1) -> #succ(#add(#pos(#s(z0)),z1)) #and(#false(),#false()) -> #false() #and(#false(),#true()) -> #false() #and(#true(),#false()) -> #false() #and(#true(),#true()) -> #true() #ckgt(#EQ()) -> #false() #ckgt(#GT()) -> #true() #ckgt(#LT()) -> #false() #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) #greater(z0,z1) -> #ckgt(#compare(z0,z1)) #pred(#0()) -> #neg(#s(#0())) #pred(#neg(#s(z0))) -> #neg(#s(#s(z0))) #pred(#pos(#s(#0()))) -> #0() #pred(#pos(#s(#s(z0)))) -> #pos(#s(z0)) #succ(#0()) -> #pos(#s(#0())) #succ(#neg(#s(#0()))) -> #0() #succ(#neg(#s(#s(z0)))) -> #neg(#s(z0)) #succ(#pos(#s(z0))) -> #pos(#s(#s(z0))) +(z0,z1) -> #add(z0,z1) firstline(z0) -> firstline#1(z0) firstline#1(::(z0,z1)) -> ::(#abs(#0()),firstline(z1)) firstline#1(nil()) -> nil() lcstable(z0,z1) -> lcstable#1(z0,z1) lcstable#1(::(z0,z1),z2) -> lcstable#2(lcstable(z1,z2),z2,z0) lcstable#1(nil(),z0) -> ::(firstline(z0),nil()) lcstable#2(z0,z1,z2) -> lcstable#3(z0,z1,z2) lcstable#3(::(z0,z1),z2,z3) -> ::(newline(z3,z0,z2),::(z0,z1)) lcstable#3(nil(),z0,z1) -> nil() max(z0,z1) -> max#1(#greater(z0,z1),z0,z1) max#1(#false(),z0,z1) -> z1 max#1(#true(),z0,z1) -> z0 newline(z0,z1,z2) -> newline#1(z2,z1,z0) newline#1(::(z0,z1),z2,z3) -> newline#2(z2,z0,z1,z3) newline#1(nil(),z0,z1) -> nil() newline#2(::(z0,z1),z2,z3,z4) -> newline#3(newline(z4,z1,z3),z0,z1,z2,z4) newline#2(nil(),z0,z1,z2) -> nil() newline#3(z0,z1,z2,z3,z4) -> newline#4(right(z0),z1,z2,z0,z3,z4) newline#4(z0,z1,z2,z3,z4,z5) -> newline#5(right(z2),z1,z3,z0,z4,z5) newline#5(z0,z1,z2,z3,z4,z5) -> newline#6(newline#7(#equal(z4,z5),z1,z0,z3),z2) newline#6(z0,z1) -> ::(z0,z1) newline#7(#false(),z0,z1,z2) -> max(z0,z2) newline#7(#true(),z0,z1,z2) -> +(z1,#pos(#s(#0()))) right(z0) -> right#1(z0) right#1(::(z0,z1)) -> z0 right#1(nil()) -> #abs(#0()) - Signature: {#ABS/1,#ADD/2,#AND/2,#CKGT/1,#COMPARE/2,#EQ'/2,#EQUAL/2,#GREATER/2,#PRED/1,#SUCC/1,#abs/1,#add/2,#and/2 ,#ckgt/1,#compare/2,#eq/2,#equal/2,#greater/2,#pred/1,#succ/1,+/2,+'/2,FIRSTLINE/1,FIRSTLINE#1/1,LCS/2 ,LCS#1/1,LCS#2/1,LCS#3/1,LCSTABLE/2,LCSTABLE#1/2,LCSTABLE#2/3,LCSTABLE#3/3,MAX/2,MAX#1/3,NEWLINE/3 ,NEWLINE#1/3,NEWLINE#2/4,NEWLINE#3/5,NEWLINE#4/6,NEWLINE#5/6,NEWLINE#6/2,NEWLINE#7/4,RIGHT/1,RIGHT#1/1 ,firstline/1,firstline#1/1,lcs/2,lcs#1/1,lcs#2/1,lcs#3/1,lcstable/2,lcstable#1/2,lcstable#2/3,lcstable#3/3 ,max/2,max#1/3,newline/3,newline#1/3,newline#2/4,newline#3/5,newline#4/6,newline#5/6,newline#6/2,newline#7/4 ,right/1,right#1/1,#ABS#/1,#ADD#/2,#AND#/2,#CKGT#/1,#COMPARE#/2,#EQ'#/2,#EQUAL#/2,#GREATER#/2,#PRED#/1 ,#SUCC#/1,#abs#/1,#add#/2,#and#/2,#ckgt#/1,#compare#/2,#eq#/2,#equal#/2,#greater#/2,#pred#/1,#succ#/1,+#/2 ,+'#/2,FIRSTLINE#/1,FIRSTLINE#1#/1,LCS#/2,LCS#1#/1,LCS#2#/1,LCS#3#/1,LCSTABLE#/2,LCSTABLE#1#/2,LCSTABLE#2#/3 ,LCSTABLE#3#/3,MAX#/2,MAX#1#/3,NEWLINE#/3,NEWLINE#1#/3,NEWLINE#2#/4,NEWLINE#3#/5,NEWLINE#4#/6,NEWLINE#5#/6 ,NEWLINE#6#/2,NEWLINE#7#/4,RIGHT#/1,RIGHT#1#/1,firstline#/1,firstline#1#/1,lcs#/2,lcs#1#/1,lcs#2#/1,lcs#3#/1 ,lcstable#/2,lcstable#1#/2,lcstable#2#/3,lcstable#3#/3,max#/2,max#1#/3,newline#/3,newline#1#/3,newline#2#/4 ,newline#3#/5,newline#4#/6,newline#5#/6,newline#6#/2,newline#7#/4,right#/1,right#1#/1} / {#0/0,#EQ/0,#GT/0 ,#LT/0,#false/0,#neg/1,#pos/1,#s/1,#true/0,::/2,c/0,c1/1,c10/0,c11/0,c12/0,c13/0,c14/0,c15/0,c16/0,c17/1 ,c18/0,c19/0,c2/2,c20/0,c21/1,c22/0,c23/1,c24/0,c25/0,c26/0,c27/0,c28/0,c29/1,c3/1,c30/0,c31/0,c32/0,c33/1 ,c34/0,c35/1,c36/2,c37/2,c38/0,c39/0,c4/2,c40/0,c41/0,c42/0,c43/0,c44/0,c45/0,c46/0,c47/0,c48/0,c49/0,c5/0 ,c50/0,c51/0,c52/0,c53/1,c54/2,c55/1,c56/1,c57/1,c58/1,c59/0,c6/0,c60/2,c61/1,c62/1,c63/1,c64/0,c65/1,c66/1 ,c67/2,c68/1,c69/1,c7/0,c70/1,c71/0,c72/2,c73/0,c74/0,c75/1,c76/1,c77/0,c78/2,c79/0,c8/0,c80/2,c81/2,c82/3 ,c83/0,c84/1,c85/1,c86/1,c87/0,c88/1,c9/0,nil/0,c_1/0,c_2/0,c_3/0,c_4/0,c_5/1,c_6/3,c_7/1,c_8/1,c_9/1,c_10/1 ,c_11/0,c_12/1,c_13/1,c_14/1,c_15/1,c_16/0,c_17/1,c_18/1,c_19/2,c_20/1,c_21/1,c_22/1,c_23/0,c_24/3,c_25/0 ,c_26/0,c_27/1,c_28/1,c_29/0,c_30/1,c_31/0,c_32/3,c_33/3,c_34/6,c_35/0,c_36/1,c_37/1,c_38/1,c_39/0,c_40/1 ,c_41/0,c_42/1,c_43/3,c_44/1,c_45/3,c_46/0,c_47/0,c_48/0,c_49/0,c_50/0,c_51/0,c_52/0,c_53/0,c_54/0,c_55/0 ,c_56/0,c_57/0,c_58/1,c_59/0,c_60/0,c_61/0,c_62/1,c_63/0,c_64/1,c_65/0,c_66/0,c_67/0,c_68/0,c_69/0,c_70/1 ,c_71/0,c_72/0,c_73/0,c_74/1,c_75/0,c_76/1,c_77/4,c_78/4,c_79/0,c_80/0,c_81/0,c_82/0,c_83/0,c_84/0,c_85/0 ,c_86/0,c_87/0,c_88/0,c_89/0,c_90/0,c_91/0,c_92/0,c_93/0,c_94/0,c_95/1,c_96/2,c_97/1,c_98/2,c_99/0,c_100/0 ,c_101/0,c_102/0,c_103/0,c_104/0,c_105/0,c_106/0,c_107/0,c_108/0,c_109/0,c_110/0,c_111/1,c_112/0,c_113/0 ,c_114/0,c_115/1,c_116/0,c_117/1,c_118/0,c_119/0,c_120/0,c_121/0,c_122/0,c_123/1,c_124/0,c_125/0,c_126/0 ,c_127/1,c_128/0,c_129/1,c_130/3,c_131/0,c_132/0,c_133/0,c_134/1,c_135/2,c_136/0,c_137/0,c_138/0,c_139/0 ,c_140/0,c_141/0,c_142/0,c_143/0,c_144/1,c_145/1,c_146/2,c_147/0,c_148/2,c_149/1,c_150/1,c_151/1,c_152/0 ,c_153/1,c_154/1,c_155/2,c_156/1,c_157/1,c_158/1,c_159/0,c_160/2,c_161/0,c_162/0,c_163/1,c_164/1,c_165/0 ,c_166/2,c_167/0,c_168/2,c_169/2,c_170/3,c_171/0,c_172/1,c_173/1,c_174/1,c_175/0,c_176/1} - Obligation: innermost runtime complexity wrt. defined symbols {#ABS#,#ADD#,#AND#,#CKGT#,#COMPARE#,#EQ'#,#EQUAL# ,#GREATER#,#PRED#,#SUCC#,#abs#,#add#,#and#,#ckgt#,#compare#,#eq#,#equal#,#greater#,#pred#,#succ#,+#,+'# ,FIRSTLINE#,FIRSTLINE#1#,LCS#,LCS#1#,LCS#2#,LCS#3#,LCSTABLE#,LCSTABLE#1#,LCSTABLE#2#,LCSTABLE#3#,MAX#,MAX#1# ,NEWLINE#,NEWLINE#1#,NEWLINE#2#,NEWLINE#3#,NEWLINE#4#,NEWLINE#5#,NEWLINE#6#,NEWLINE#7#,RIGHT#,RIGHT#1# ,firstline#,firstline#1#,lcs#,lcs#1#,lcs#2#,lcs#3#,lcstable#,lcstable#1#,lcstable#2#,lcstable#3#,max#,max#1# ,newline#,newline#1#,newline#2#,newline#3#,newline#4#,newline#5#,newline#6#,newline#7#,right# ,right#1#} 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,c59,c6,c60,c61,c62,c63,c64,c65 ,c66,c67,c68,c69,c7,c70,c71,c72,c73,c74,c75,c76,c77,c78,c79,c8,c80,c81,c82,c83,c84,c85,c86,c87,c88,c9,nil} + Applied Processor: PredecessorEstimationCP {onSelectionCP = any intersect of rules of CDG leaf and strict-rules, withComplexityPair = NaturalMI {miDimension = 1, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Nothing}} + Details: We first use the processor NaturalMI {miDimension = 1, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Nothing} to orient following rules strictly: 3: LCSTABLE#2#(z0,z1,z2) -> c_21(LCSTABLE#3#(z0,z1,z2)) Consider the set of all dependency pairs 1: LCSTABLE#(z0,z1) -> c_18(LCSTABLE#1#(z0,z1)) 2: LCSTABLE#1#(::(z0,z1),z2) -> c_19(LCSTABLE#2#(lcstable(z1,z2),z2,z0),LCSTABLE#(z1,z2)) 3: LCSTABLE#2#(z0,z1,z2) -> c_21(LCSTABLE#3#(z0,z1,z2)) 4: NEWLINE#(z0,z1,z2) -> c_27(NEWLINE#1#(z2,z1,z0)) 5: LCSTABLE#3#(::(z0,z1),z2,z3) -> c_22(NEWLINE#(z3,z0,z2)) 6: NEWLINE#1#(::(z0,z1),z2,z3) -> c_28(NEWLINE#2#(z2,z0,z1,z3)) 7: NEWLINE#2#(::(z0,z1),z2,z3,z4) -> c_30(NEWLINE#(z4,z1,z3)) Processor NaturalMI {miDimension = 1, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Nothing}induces the complexity certificateTIME (?,O(n^1)) BEST_CASE TIME (?,?) SPACE(?,?)on application of the dependency pairs {3} These cover all (indirect) predecessors of dependency pairs {3,5} their number of applications is equally bounded. The dependency pairs are shifted into the weak component. ***** Step 13.b:3.b:1.b:1.a:1: NaturalMI. WORST_CASE(?,O(n^1)) + Considered Problem: - Strict DPs: LCSTABLE#(z0,z1) -> c_18(LCSTABLE#1#(z0,z1)) LCSTABLE#1#(::(z0,z1),z2) -> c_19(LCSTABLE#2#(lcstable(z1,z2),z2,z0),LCSTABLE#(z1,z2)) LCSTABLE#2#(z0,z1,z2) -> c_21(LCSTABLE#3#(z0,z1,z2)) NEWLINE#(z0,z1,z2) -> c_27(NEWLINE#1#(z2,z1,z0)) - Weak DPs: LCSTABLE#3#(::(z0,z1),z2,z3) -> c_22(NEWLINE#(z3,z0,z2)) NEWLINE#1#(::(z0,z1),z2,z3) -> c_28(NEWLINE#2#(z2,z0,z1,z3)) NEWLINE#2#(::(z0,z1),z2,z3,z4) -> c_30(NEWLINE#(z4,z1,z3)) - Weak TRS: #abs(#0()) -> #0() #add(#0(),z0) -> z0 #add(#neg(#s(#0())),z0) -> #pred(z0) #add(#neg(#s(#s(z0))),z1) -> #pred(#add(#pos(#s(z0)),z1)) #add(#pos(#s(#0())),z0) -> #succ(z0) #add(#pos(#s(#s(z0))),z1) -> #succ(#add(#pos(#s(z0)),z1)) #and(#false(),#false()) -> #false() #and(#false(),#true()) -> #false() #and(#true(),#false()) -> #false() #and(#true(),#true()) -> #true() #ckgt(#EQ()) -> #false() #ckgt(#GT()) -> #true() #ckgt(#LT()) -> #false() #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) #greater(z0,z1) -> #ckgt(#compare(z0,z1)) #pred(#0()) -> #neg(#s(#0())) #pred(#neg(#s(z0))) -> #neg(#s(#s(z0))) #pred(#pos(#s(#0()))) -> #0() #pred(#pos(#s(#s(z0)))) -> #pos(#s(z0)) #succ(#0()) -> #pos(#s(#0())) #succ(#neg(#s(#0()))) -> #0() #succ(#neg(#s(#s(z0)))) -> #neg(#s(z0)) #succ(#pos(#s(z0))) -> #pos(#s(#s(z0))) +(z0,z1) -> #add(z0,z1) firstline(z0) -> firstline#1(z0) firstline#1(::(z0,z1)) -> ::(#abs(#0()),firstline(z1)) firstline#1(nil()) -> nil() lcstable(z0,z1) -> lcstable#1(z0,z1) lcstable#1(::(z0,z1),z2) -> lcstable#2(lcstable(z1,z2),z2,z0) lcstable#1(nil(),z0) -> ::(firstline(z0),nil()) lcstable#2(z0,z1,z2) -> lcstable#3(z0,z1,z2) lcstable#3(::(z0,z1),z2,z3) -> ::(newline(z3,z0,z2),::(z0,z1)) lcstable#3(nil(),z0,z1) -> nil() max(z0,z1) -> max#1(#greater(z0,z1),z0,z1) max#1(#false(),z0,z1) -> z1 max#1(#true(),z0,z1) -> z0 newline(z0,z1,z2) -> newline#1(z2,z1,z0) newline#1(::(z0,z1),z2,z3) -> newline#2(z2,z0,z1,z3) newline#1(nil(),z0,z1) -> nil() newline#2(::(z0,z1),z2,z3,z4) -> newline#3(newline(z4,z1,z3),z0,z1,z2,z4) newline#2(nil(),z0,z1,z2) -> nil() newline#3(z0,z1,z2,z3,z4) -> newline#4(right(z0),z1,z2,z0,z3,z4) newline#4(z0,z1,z2,z3,z4,z5) -> newline#5(right(z2),z1,z3,z0,z4,z5) newline#5(z0,z1,z2,z3,z4,z5) -> newline#6(newline#7(#equal(z4,z5),z1,z0,z3),z2) newline#6(z0,z1) -> ::(z0,z1) newline#7(#false(),z0,z1,z2) -> max(z0,z2) newline#7(#true(),z0,z1,z2) -> +(z1,#pos(#s(#0()))) right(z0) -> right#1(z0) right#1(::(z0,z1)) -> z0 right#1(nil()) -> #abs(#0()) - Signature: {#ABS/1,#ADD/2,#AND/2,#CKGT/1,#COMPARE/2,#EQ'/2,#EQUAL/2,#GREATER/2,#PRED/1,#SUCC/1,#abs/1,#add/2,#and/2 ,#ckgt/1,#compare/2,#eq/2,#equal/2,#greater/2,#pred/1,#succ/1,+/2,+'/2,FIRSTLINE/1,FIRSTLINE#1/1,LCS/2 ,LCS#1/1,LCS#2/1,LCS#3/1,LCSTABLE/2,LCSTABLE#1/2,LCSTABLE#2/3,LCSTABLE#3/3,MAX/2,MAX#1/3,NEWLINE/3 ,NEWLINE#1/3,NEWLINE#2/4,NEWLINE#3/5,NEWLINE#4/6,NEWLINE#5/6,NEWLINE#6/2,NEWLINE#7/4,RIGHT/1,RIGHT#1/1 ,firstline/1,firstline#1/1,lcs/2,lcs#1/1,lcs#2/1,lcs#3/1,lcstable/2,lcstable#1/2,lcstable#2/3,lcstable#3/3 ,max/2,max#1/3,newline/3,newline#1/3,newline#2/4,newline#3/5,newline#4/6,newline#5/6,newline#6/2,newline#7/4 ,right/1,right#1/1,#ABS#/1,#ADD#/2,#AND#/2,#CKGT#/1,#COMPARE#/2,#EQ'#/2,#EQUAL#/2,#GREATER#/2,#PRED#/1 ,#SUCC#/1,#abs#/1,#add#/2,#and#/2,#ckgt#/1,#compare#/2,#eq#/2,#equal#/2,#greater#/2,#pred#/1,#succ#/1,+#/2 ,+'#/2,FIRSTLINE#/1,FIRSTLINE#1#/1,LCS#/2,LCS#1#/1,LCS#2#/1,LCS#3#/1,LCSTABLE#/2,LCSTABLE#1#/2,LCSTABLE#2#/3 ,LCSTABLE#3#/3,MAX#/2,MAX#1#/3,NEWLINE#/3,NEWLINE#1#/3,NEWLINE#2#/4,NEWLINE#3#/5,NEWLINE#4#/6,NEWLINE#5#/6 ,NEWLINE#6#/2,NEWLINE#7#/4,RIGHT#/1,RIGHT#1#/1,firstline#/1,firstline#1#/1,lcs#/2,lcs#1#/1,lcs#2#/1,lcs#3#/1 ,lcstable#/2,lcstable#1#/2,lcstable#2#/3,lcstable#3#/3,max#/2,max#1#/3,newline#/3,newline#1#/3,newline#2#/4 ,newline#3#/5,newline#4#/6,newline#5#/6,newline#6#/2,newline#7#/4,right#/1,right#1#/1} / {#0/0,#EQ/0,#GT/0 ,#LT/0,#false/0,#neg/1,#pos/1,#s/1,#true/0,::/2,c/0,c1/1,c10/0,c11/0,c12/0,c13/0,c14/0,c15/0,c16/0,c17/1 ,c18/0,c19/0,c2/2,c20/0,c21/1,c22/0,c23/1,c24/0,c25/0,c26/0,c27/0,c28/0,c29/1,c3/1,c30/0,c31/0,c32/0,c33/1 ,c34/0,c35/1,c36/2,c37/2,c38/0,c39/0,c4/2,c40/0,c41/0,c42/0,c43/0,c44/0,c45/0,c46/0,c47/0,c48/0,c49/0,c5/0 ,c50/0,c51/0,c52/0,c53/1,c54/2,c55/1,c56/1,c57/1,c58/1,c59/0,c6/0,c60/2,c61/1,c62/1,c63/1,c64/0,c65/1,c66/1 ,c67/2,c68/1,c69/1,c7/0,c70/1,c71/0,c72/2,c73/0,c74/0,c75/1,c76/1,c77/0,c78/2,c79/0,c8/0,c80/2,c81/2,c82/3 ,c83/0,c84/1,c85/1,c86/1,c87/0,c88/1,c9/0,nil/0,c_1/0,c_2/0,c_3/0,c_4/0,c_5/1,c_6/3,c_7/1,c_8/1,c_9/1,c_10/1 ,c_11/0,c_12/1,c_13/1,c_14/1,c_15/1,c_16/0,c_17/1,c_18/1,c_19/2,c_20/1,c_21/1,c_22/1,c_23/0,c_24/3,c_25/0 ,c_26/0,c_27/1,c_28/1,c_29/0,c_30/1,c_31/0,c_32/3,c_33/3,c_34/6,c_35/0,c_36/1,c_37/1,c_38/1,c_39/0,c_40/1 ,c_41/0,c_42/1,c_43/3,c_44/1,c_45/3,c_46/0,c_47/0,c_48/0,c_49/0,c_50/0,c_51/0,c_52/0,c_53/0,c_54/0,c_55/0 ,c_56/0,c_57/0,c_58/1,c_59/0,c_60/0,c_61/0,c_62/1,c_63/0,c_64/1,c_65/0,c_66/0,c_67/0,c_68/0,c_69/0,c_70/1 ,c_71/0,c_72/0,c_73/0,c_74/1,c_75/0,c_76/1,c_77/4,c_78/4,c_79/0,c_80/0,c_81/0,c_82/0,c_83/0,c_84/0,c_85/0 ,c_86/0,c_87/0,c_88/0,c_89/0,c_90/0,c_91/0,c_92/0,c_93/0,c_94/0,c_95/1,c_96/2,c_97/1,c_98/2,c_99/0,c_100/0 ,c_101/0,c_102/0,c_103/0,c_104/0,c_105/0,c_106/0,c_107/0,c_108/0,c_109/0,c_110/0,c_111/1,c_112/0,c_113/0 ,c_114/0,c_115/1,c_116/0,c_117/1,c_118/0,c_119/0,c_120/0,c_121/0,c_122/0,c_123/1,c_124/0,c_125/0,c_126/0 ,c_127/1,c_128/0,c_129/1,c_130/3,c_131/0,c_132/0,c_133/0,c_134/1,c_135/2,c_136/0,c_137/0,c_138/0,c_139/0 ,c_140/0,c_141/0,c_142/0,c_143/0,c_144/1,c_145/1,c_146/2,c_147/0,c_148/2,c_149/1,c_150/1,c_151/1,c_152/0 ,c_153/1,c_154/1,c_155/2,c_156/1,c_157/1,c_158/1,c_159/0,c_160/2,c_161/0,c_162/0,c_163/1,c_164/1,c_165/0 ,c_166/2,c_167/0,c_168/2,c_169/2,c_170/3,c_171/0,c_172/1,c_173/1,c_174/1,c_175/0,c_176/1} - Obligation: innermost runtime complexity wrt. defined symbols {#ABS#,#ADD#,#AND#,#CKGT#,#COMPARE#,#EQ'#,#EQUAL# ,#GREATER#,#PRED#,#SUCC#,#abs#,#add#,#and#,#ckgt#,#compare#,#eq#,#equal#,#greater#,#pred#,#succ#,+#,+'# ,FIRSTLINE#,FIRSTLINE#1#,LCS#,LCS#1#,LCS#2#,LCS#3#,LCSTABLE#,LCSTABLE#1#,LCSTABLE#2#,LCSTABLE#3#,MAX#,MAX#1# ,NEWLINE#,NEWLINE#1#,NEWLINE#2#,NEWLINE#3#,NEWLINE#4#,NEWLINE#5#,NEWLINE#6#,NEWLINE#7#,RIGHT#,RIGHT#1# ,firstline#,firstline#1#,lcs#,lcs#1#,lcs#2#,lcs#3#,lcstable#,lcstable#1#,lcstable#2#,lcstable#3#,max#,max#1# ,newline#,newline#1#,newline#2#,newline#3#,newline#4#,newline#5#,newline#6#,newline#7#,right# ,right#1#} 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,c59,c6,c60,c61,c62,c63,c64,c65 ,c66,c67,c68,c69,c7,c70,c71,c72,c73,c74,c75,c76,c77,c78,c79,c8,c80,c81,c82,c83,c84,c85,c86,c87,c88,c9,nil} + Applied Processor: NaturalMI {miDimension = 1, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Just first alternative for predecessorEstimation on any intersect of rules of CDG leaf and strict-rules} + Details: We apply a matrix interpretation of kind constructor based matrix interpretation: The following argument positions are considered usable: uargs(c_18) = {1}, uargs(c_19) = {1,2}, uargs(c_21) = {1}, uargs(c_22) = {1}, uargs(c_27) = {1}, uargs(c_28) = {1}, uargs(c_30) = {1} Following symbols are considered usable: {#ABS#,#ADD#,#AND#,#CKGT#,#COMPARE#,#EQ'#,#EQUAL#,#GREATER#,#PRED#,#SUCC#,#abs#,#add#,#and#,#ckgt# ,#compare#,#eq#,#equal#,#greater#,#pred#,#succ#,+#,+'#,FIRSTLINE#,FIRSTLINE#1#,LCS#,LCS#1#,LCS#2#,LCS#3# ,LCSTABLE#,LCSTABLE#1#,LCSTABLE#2#,LCSTABLE#3#,MAX#,MAX#1#,NEWLINE#,NEWLINE#1#,NEWLINE#2#,NEWLINE#3# ,NEWLINE#4#,NEWLINE#5#,NEWLINE#6#,NEWLINE#7#,RIGHT#,RIGHT#1#,firstline#,firstline#1#,lcs#,lcs#1#,lcs#2# ,lcs#3#,lcstable#,lcstable#1#,lcstable#2#,lcstable#3#,max#,max#1#,newline#,newline#1#,newline#2#,newline#3# ,newline#4#,newline#5#,newline#6#,newline#7#,right#,right#1#} TcT has computed the following interpretation: p(#0) = [4] p(#ABS) = [0] p(#ADD) = [0] p(#AND) = [0] p(#CKGT) = [0] p(#COMPARE) = [0] p(#EQ) = [0] p(#EQ') = [0] p(#EQUAL) = [0] p(#GREATER) = [0] p(#GT) = [0] p(#LT) = [0] p(#PRED) = [0] p(#SUCC) = [0] p(#abs) = [0] p(#add) = [0] p(#and) = [1] x1 + [5] p(#ckgt) = [0] p(#compare) = [2] x1 + [1] x2 + [3] p(#eq) = [0] p(#equal) = [0] p(#false) = [2] p(#greater) = [0] p(#neg) = [0] p(#pos) = [1] x1 + [3] p(#pred) = [0] p(#s) = [0] p(#succ) = [0] p(#true) = [0] p(+) = [0] p(+') = [0] p(::) = [1] x2 + [1] p(FIRSTLINE) = [0] p(FIRSTLINE#1) = [0] p(LCS) = [0] p(LCS#1) = [0] p(LCS#2) = [0] p(LCS#3) = [0] p(LCSTABLE) = [0] p(LCSTABLE#1) = [0] p(LCSTABLE#2) = [0] p(LCSTABLE#3) = [0] p(MAX) = [0] p(MAX#1) = [0] p(NEWLINE) = [0] p(NEWLINE#1) = [0] p(NEWLINE#2) = [0] p(NEWLINE#3) = [0] p(NEWLINE#4) = [0] p(NEWLINE#5) = [0] p(NEWLINE#6) = [0] p(NEWLINE#7) = [0] p(RIGHT) = [0] p(RIGHT#1) = [0] p(c) = [0] p(c1) = [1] x1 + [0] p(c10) = [0] p(c11) = [0] p(c12) = [0] p(c13) = [0] p(c14) = [0] p(c15) = [0] p(c16) = [0] p(c17) = [1] x1 + [0] p(c18) = [0] p(c19) = [0] p(c2) = [1] x1 + [1] x2 + [0] p(c20) = [0] p(c21) = [1] x1 + [0] p(c22) = [0] p(c23) = [1] x1 + [0] p(c24) = [0] p(c25) = [0] p(c26) = [0] p(c27) = [0] p(c28) = [0] p(c29) = [1] x1 + [0] p(c3) = [1] x1 + [0] p(c30) = [1] p(c31) = [0] p(c32) = [0] p(c33) = [1] x1 + [0] p(c34) = [0] p(c35) = [1] x1 + [0] p(c36) = [1] x1 + [1] x2 + [0] p(c37) = [1] x1 + [1] x2 + [0] p(c38) = [0] p(c39) = [0] p(c4) = [1] x1 + [1] x2 + [0] p(c40) = [0] p(c41) = [0] p(c42) = [0] p(c43) = [0] p(c44) = [0] p(c45) = [0] p(c46) = [0] p(c47) = [0] p(c48) = [0] p(c49) = [0] p(c5) = [0] p(c50) = [0] p(c51) = [0] p(c52) = [0] p(c53) = [1] x1 + [0] p(c54) = [1] x1 + [1] x2 + [0] p(c55) = [1] x1 + [0] p(c56) = [1] x1 + [0] p(c57) = [1] x1 + [0] p(c58) = [1] x1 + [0] p(c59) = [0] p(c6) = [0] p(c60) = [1] x1 + [1] x2 + [0] p(c61) = [1] x1 + [0] p(c62) = [1] x1 + [0] p(c63) = [1] x1 + [0] p(c64) = [0] p(c65) = [1] x1 + [0] p(c66) = [1] x1 + [0] p(c67) = [1] x1 + [1] x2 + [0] p(c68) = [1] x1 + [0] p(c69) = [1] x1 + [0] p(c7) = [0] p(c70) = [1] x1 + [0] p(c71) = [0] p(c72) = [1] x1 + [1] x2 + [0] p(c73) = [0] p(c74) = [0] p(c75) = [1] x1 + [0] p(c76) = [1] x1 + [0] p(c77) = [0] p(c78) = [1] x1 + [1] x2 + [0] p(c79) = [0] p(c8) = [0] p(c80) = [1] x1 + [1] x2 + [0] p(c81) = [1] x1 + [1] x2 + [0] p(c82) = [1] x1 + [1] x2 + [1] x3 + [0] p(c83) = [0] p(c84) = [1] x1 + [0] p(c85) = [1] x1 + [0] p(c86) = [1] x1 + [0] p(c87) = [0] p(c88) = [1] x1 + [0] p(c9) = [0] p(firstline) = [0] p(firstline#1) = [0] p(lcs) = [0] p(lcs#1) = [0] p(lcs#2) = [0] p(lcs#3) = [0] p(lcstable) = [4] x2 + [0] p(lcstable#1) = [0] p(lcstable#2) = [1] x1 + [0] p(lcstable#3) = [0] p(max) = [0] p(max#1) = [0] p(newline) = [2] x2 + [0] p(newline#1) = [0] p(newline#2) = [1] x1 + [1] x3 + [0] p(newline#3) = [2] x1 + [0] p(newline#4) = [0] p(newline#5) = [0] p(newline#6) = [2] x1 + [0] p(newline#7) = [6] p(nil) = [1] p(right) = [0] p(right#1) = [0] p(#ABS#) = [0] p(#ADD#) = [0] p(#AND#) = [0] p(#CKGT#) = [0] p(#COMPARE#) = [0] p(#EQ'#) = [0] p(#EQUAL#) = [0] p(#GREATER#) = [0] p(#PRED#) = [0] p(#SUCC#) = [0] p(#abs#) = [0] p(#add#) = [0] p(#and#) = [0] p(#ckgt#) = [0] p(#compare#) = [0] p(#eq#) = [0] p(#equal#) = [0] p(#greater#) = [0] p(#pred#) = [0] p(#succ#) = [0] p(+#) = [0] p(+'#) = [0] p(FIRSTLINE#) = [0] p(FIRSTLINE#1#) = [0] p(LCS#) = [0] p(LCS#1#) = [0] p(LCS#2#) = [0] p(LCS#3#) = [0] p(LCSTABLE#) = [4] x1 + [0] p(LCSTABLE#1#) = [4] x1 + [0] p(LCSTABLE#2#) = [4] p(LCSTABLE#3#) = [2] p(MAX#) = [1] x1 + [0] p(MAX#1#) = [1] x3 + [0] p(NEWLINE#) = [0] p(NEWLINE#1#) = [0] p(NEWLINE#2#) = [0] p(NEWLINE#3#) = [0] p(NEWLINE#4#) = [0] p(NEWLINE#5#) = [0] p(NEWLINE#6#) = [0] p(NEWLINE#7#) = [0] p(RIGHT#) = [0] p(RIGHT#1#) = [0] p(firstline#) = [0] p(firstline#1#) = [0] p(lcs#) = [0] p(lcs#1#) = [0] p(lcs#2#) = [0] p(lcs#3#) = [0] p(lcstable#) = [0] p(lcstable#1#) = [0] p(lcstable#2#) = [0] p(lcstable#3#) = [0] p(max#) = [0] p(max#1#) = [0] p(newline#) = [0] p(newline#1#) = [0] p(newline#2#) = [0] p(newline#3#) = [0] p(newline#4#) = [4] x3 + [0] p(newline#5#) = [0] p(newline#6#) = [0] p(newline#7#) = [0] p(right#) = [0] p(right#1#) = [0] p(c_1) = [0] p(c_2) = [0] p(c_3) = [0] p(c_4) = [0] p(c_5) = [0] p(c_6) = [0] p(c_7) = [0] p(c_8) = [0] p(c_9) = [0] p(c_10) = [0] p(c_11) = [0] p(c_12) = [0] p(c_13) = [0] p(c_14) = [0] p(c_15) = [0] p(c_16) = [0] p(c_17) = [0] p(c_18) = [1] x1 + [0] p(c_19) = [1] x1 + [1] x2 + [0] p(c_20) = [0] p(c_21) = [1] x1 + [1] p(c_22) = [1] x1 + [0] p(c_23) = [0] p(c_24) = [0] p(c_25) = [2] p(c_26) = [0] p(c_27) = [4] x1 + [0] p(c_28) = [4] x1 + [0] p(c_29) = [0] p(c_30) = [4] x1 + [0] p(c_31) = [0] p(c_32) = [2] x2 + [0] p(c_33) = [1] x2 + [1] x3 + [0] p(c_34) = [4] x1 + [1] x2 + [2] x5 + [0] p(c_35) = [0] p(c_36) = [1] x1 + [0] p(c_37) = [0] p(c_38) = [0] p(c_39) = [0] p(c_40) = [0] p(c_41) = [0] p(c_42) = [0] p(c_43) = [1] x1 + [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) = [1] x1 + [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) = [1] x1 + [0] p(c_71) = [0] p(c_72) = [0] p(c_73) = [0] p(c_74) = [2] x1 + [0] p(c_75) = [0] p(c_76) = [4] x1 + [0] p(c_77) = [2] x1 + [4] x2 + [2] x3 + [0] p(c_78) = [2] x4 + [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) = [1] x2 + [0] p(c_97) = [4] x1 + [0] p(c_98) = [2] x1 + [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) = [2] p(c_106) = [0] p(c_107) = [0] p(c_108) = [0] p(c_109) = [0] p(c_110) = [0] p(c_111) = [1] x1 + [0] p(c_112) = [0] p(c_113) = [0] p(c_114) = [0] p(c_115) = [0] p(c_116) = [0] p(c_117) = [1] x1 + [0] p(c_118) = [0] p(c_119) = [0] p(c_120) = [0] p(c_121) = [0] p(c_122) = [0] p(c_123) = [0] p(c_124) = [0] p(c_125) = [0] p(c_126) = [0] p(c_127) = [0] p(c_128) = [0] p(c_129) = [0] p(c_130) = [1] x1 + [4] x3 + [0] p(c_131) = [0] p(c_132) = [0] p(c_133) = [0] p(c_134) = [0] p(c_135) = [0] p(c_136) = [0] p(c_137) = [0] p(c_138) = [0] p(c_139) = [0] p(c_140) = [0] p(c_141) = [0] p(c_142) = [0] p(c_143) = [0] p(c_144) = [0] p(c_145) = [0] p(c_146) = [0] p(c_147) = [0] p(c_148) = [0] p(c_149) = [0] p(c_150) = [0] p(c_151) = [0] p(c_152) = [0] p(c_153) = [0] p(c_154) = [0] p(c_155) = [0] p(c_156) = [0] p(c_157) = [0] p(c_158) = [0] p(c_159) = [0] p(c_160) = [0] p(c_161) = [0] p(c_162) = [0] p(c_163) = [0] p(c_164) = [1] p(c_165) = [0] p(c_166) = [0] p(c_167) = [0] p(c_168) = [0] p(c_169) = [0] p(c_170) = [0] p(c_171) = [0] p(c_172) = [0] p(c_173) = [0] p(c_174) = [0] p(c_175) = [0] p(c_176) = [0] Following rules are strictly oriented: LCSTABLE#2#(z0,z1,z2) = [4] > [3] = c_21(LCSTABLE#3#(z0,z1,z2)) Following rules are (at-least) weakly oriented: LCSTABLE#(z0,z1) = [4] z0 + [0] >= [4] z0 + [0] = c_18(LCSTABLE#1#(z0,z1)) LCSTABLE#1#(::(z0,z1),z2) = [4] z1 + [4] >= [4] z1 + [4] = c_19(LCSTABLE#2#(lcstable(z1,z2),z2,z0),LCSTABLE#(z1,z2)) LCSTABLE#3#(::(z0,z1),z2,z3) = [2] >= [0] = c_22(NEWLINE#(z3,z0,z2)) NEWLINE#(z0,z1,z2) = [0] >= [0] = c_27(NEWLINE#1#(z2,z1,z0)) NEWLINE#1#(::(z0,z1),z2,z3) = [0] >= [0] = c_28(NEWLINE#2#(z2,z0,z1,z3)) NEWLINE#2#(::(z0,z1),z2,z3,z4) = [0] >= [0] = c_30(NEWLINE#(z4,z1,z3)) ***** Step 13.b:3.b:1.b:1.a:2: Assumption. WORST_CASE(?,O(1)) + Considered Problem: - Strict DPs: LCSTABLE#(z0,z1) -> c_18(LCSTABLE#1#(z0,z1)) LCSTABLE#1#(::(z0,z1),z2) -> c_19(LCSTABLE#2#(lcstable(z1,z2),z2,z0),LCSTABLE#(z1,z2)) NEWLINE#(z0,z1,z2) -> c_27(NEWLINE#1#(z2,z1,z0)) - Weak DPs: LCSTABLE#2#(z0,z1,z2) -> c_21(LCSTABLE#3#(z0,z1,z2)) LCSTABLE#3#(::(z0,z1),z2,z3) -> c_22(NEWLINE#(z3,z0,z2)) NEWLINE#1#(::(z0,z1),z2,z3) -> c_28(NEWLINE#2#(z2,z0,z1,z3)) NEWLINE#2#(::(z0,z1),z2,z3,z4) -> c_30(NEWLINE#(z4,z1,z3)) - Weak TRS: #abs(#0()) -> #0() #add(#0(),z0) -> z0 #add(#neg(#s(#0())),z0) -> #pred(z0) #add(#neg(#s(#s(z0))),z1) -> #pred(#add(#pos(#s(z0)),z1)) #add(#pos(#s(#0())),z0) -> #succ(z0) #add(#pos(#s(#s(z0))),z1) -> #succ(#add(#pos(#s(z0)),z1)) #and(#false(),#false()) -> #false() #and(#false(),#true()) -> #false() #and(#true(),#false()) -> #false() #and(#true(),#true()) -> #true() #ckgt(#EQ()) -> #false() #ckgt(#GT()) -> #true() #ckgt(#LT()) -> #false() #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) #greater(z0,z1) -> #ckgt(#compare(z0,z1)) #pred(#0()) -> #neg(#s(#0())) #pred(#neg(#s(z0))) -> #neg(#s(#s(z0))) #pred(#pos(#s(#0()))) -> #0() #pred(#pos(#s(#s(z0)))) -> #pos(#s(z0)) #succ(#0()) -> #pos(#s(#0())) #succ(#neg(#s(#0()))) -> #0() #succ(#neg(#s(#s(z0)))) -> #neg(#s(z0)) #succ(#pos(#s(z0))) -> #pos(#s(#s(z0))) +(z0,z1) -> #add(z0,z1) firstline(z0) -> firstline#1(z0) firstline#1(::(z0,z1)) -> ::(#abs(#0()),firstline(z1)) firstline#1(nil()) -> nil() lcstable(z0,z1) -> lcstable#1(z0,z1) lcstable#1(::(z0,z1),z2) -> lcstable#2(lcstable(z1,z2),z2,z0) lcstable#1(nil(),z0) -> ::(firstline(z0),nil()) lcstable#2(z0,z1,z2) -> lcstable#3(z0,z1,z2) lcstable#3(::(z0,z1),z2,z3) -> ::(newline(z3,z0,z2),::(z0,z1)) lcstable#3(nil(),z0,z1) -> nil() max(z0,z1) -> max#1(#greater(z0,z1),z0,z1) max#1(#false(),z0,z1) -> z1 max#1(#true(),z0,z1) -> z0 newline(z0,z1,z2) -> newline#1(z2,z1,z0) newline#1(::(z0,z1),z2,z3) -> newline#2(z2,z0,z1,z3) newline#1(nil(),z0,z1) -> nil() newline#2(::(z0,z1),z2,z3,z4) -> newline#3(newline(z4,z1,z3),z0,z1,z2,z4) newline#2(nil(),z0,z1,z2) -> nil() newline#3(z0,z1,z2,z3,z4) -> newline#4(right(z0),z1,z2,z0,z3,z4) newline#4(z0,z1,z2,z3,z4,z5) -> newline#5(right(z2),z1,z3,z0,z4,z5) newline#5(z0,z1,z2,z3,z4,z5) -> newline#6(newline#7(#equal(z4,z5),z1,z0,z3),z2) newline#6(z0,z1) -> ::(z0,z1) newline#7(#false(),z0,z1,z2) -> max(z0,z2) newline#7(#true(),z0,z1,z2) -> +(z1,#pos(#s(#0()))) right(z0) -> right#1(z0) right#1(::(z0,z1)) -> z0 right#1(nil()) -> #abs(#0()) - Signature: {#ABS/1,#ADD/2,#AND/2,#CKGT/1,#COMPARE/2,#EQ'/2,#EQUAL/2,#GREATER/2,#PRED/1,#SUCC/1,#abs/1,#add/2,#and/2 ,#ckgt/1,#compare/2,#eq/2,#equal/2,#greater/2,#pred/1,#succ/1,+/2,+'/2,FIRSTLINE/1,FIRSTLINE#1/1,LCS/2 ,LCS#1/1,LCS#2/1,LCS#3/1,LCSTABLE/2,LCSTABLE#1/2,LCSTABLE#2/3,LCSTABLE#3/3,MAX/2,MAX#1/3,NEWLINE/3 ,NEWLINE#1/3,NEWLINE#2/4,NEWLINE#3/5,NEWLINE#4/6,NEWLINE#5/6,NEWLINE#6/2,NEWLINE#7/4,RIGHT/1,RIGHT#1/1 ,firstline/1,firstline#1/1,lcs/2,lcs#1/1,lcs#2/1,lcs#3/1,lcstable/2,lcstable#1/2,lcstable#2/3,lcstable#3/3 ,max/2,max#1/3,newline/3,newline#1/3,newline#2/4,newline#3/5,newline#4/6,newline#5/6,newline#6/2,newline#7/4 ,right/1,right#1/1,#ABS#/1,#ADD#/2,#AND#/2,#CKGT#/1,#COMPARE#/2,#EQ'#/2,#EQUAL#/2,#GREATER#/2,#PRED#/1 ,#SUCC#/1,#abs#/1,#add#/2,#and#/2,#ckgt#/1,#compare#/2,#eq#/2,#equal#/2,#greater#/2,#pred#/1,#succ#/1,+#/2 ,+'#/2,FIRSTLINE#/1,FIRSTLINE#1#/1,LCS#/2,LCS#1#/1,LCS#2#/1,LCS#3#/1,LCSTABLE#/2,LCSTABLE#1#/2,LCSTABLE#2#/3 ,LCSTABLE#3#/3,MAX#/2,MAX#1#/3,NEWLINE#/3,NEWLINE#1#/3,NEWLINE#2#/4,NEWLINE#3#/5,NEWLINE#4#/6,NEWLINE#5#/6 ,NEWLINE#6#/2,NEWLINE#7#/4,RIGHT#/1,RIGHT#1#/1,firstline#/1,firstline#1#/1,lcs#/2,lcs#1#/1,lcs#2#/1,lcs#3#/1 ,lcstable#/2,lcstable#1#/2,lcstable#2#/3,lcstable#3#/3,max#/2,max#1#/3,newline#/3,newline#1#/3,newline#2#/4 ,newline#3#/5,newline#4#/6,newline#5#/6,newline#6#/2,newline#7#/4,right#/1,right#1#/1} / {#0/0,#EQ/0,#GT/0 ,#LT/0,#false/0,#neg/1,#pos/1,#s/1,#true/0,::/2,c/0,c1/1,c10/0,c11/0,c12/0,c13/0,c14/0,c15/0,c16/0,c17/1 ,c18/0,c19/0,c2/2,c20/0,c21/1,c22/0,c23/1,c24/0,c25/0,c26/0,c27/0,c28/0,c29/1,c3/1,c30/0,c31/0,c32/0,c33/1 ,c34/0,c35/1,c36/2,c37/2,c38/0,c39/0,c4/2,c40/0,c41/0,c42/0,c43/0,c44/0,c45/0,c46/0,c47/0,c48/0,c49/0,c5/0 ,c50/0,c51/0,c52/0,c53/1,c54/2,c55/1,c56/1,c57/1,c58/1,c59/0,c6/0,c60/2,c61/1,c62/1,c63/1,c64/0,c65/1,c66/1 ,c67/2,c68/1,c69/1,c7/0,c70/1,c71/0,c72/2,c73/0,c74/0,c75/1,c76/1,c77/0,c78/2,c79/0,c8/0,c80/2,c81/2,c82/3 ,c83/0,c84/1,c85/1,c86/1,c87/0,c88/1,c9/0,nil/0,c_1/0,c_2/0,c_3/0,c_4/0,c_5/1,c_6/3,c_7/1,c_8/1,c_9/1,c_10/1 ,c_11/0,c_12/1,c_13/1,c_14/1,c_15/1,c_16/0,c_17/1,c_18/1,c_19/2,c_20/1,c_21/1,c_22/1,c_23/0,c_24/3,c_25/0 ,c_26/0,c_27/1,c_28/1,c_29/0,c_30/1,c_31/0,c_32/3,c_33/3,c_34/6,c_35/0,c_36/1,c_37/1,c_38/1,c_39/0,c_40/1 ,c_41/0,c_42/1,c_43/3,c_44/1,c_45/3,c_46/0,c_47/0,c_48/0,c_49/0,c_50/0,c_51/0,c_52/0,c_53/0,c_54/0,c_55/0 ,c_56/0,c_57/0,c_58/1,c_59/0,c_60/0,c_61/0,c_62/1,c_63/0,c_64/1,c_65/0,c_66/0,c_67/0,c_68/0,c_69/0,c_70/1 ,c_71/0,c_72/0,c_73/0,c_74/1,c_75/0,c_76/1,c_77/4,c_78/4,c_79/0,c_80/0,c_81/0,c_82/0,c_83/0,c_84/0,c_85/0 ,c_86/0,c_87/0,c_88/0,c_89/0,c_90/0,c_91/0,c_92/0,c_93/0,c_94/0,c_95/1,c_96/2,c_97/1,c_98/2,c_99/0,c_100/0 ,c_101/0,c_102/0,c_103/0,c_104/0,c_105/0,c_106/0,c_107/0,c_108/0,c_109/0,c_110/0,c_111/1,c_112/0,c_113/0 ,c_114/0,c_115/1,c_116/0,c_117/1,c_118/0,c_119/0,c_120/0,c_121/0,c_122/0,c_123/1,c_124/0,c_125/0,c_126/0 ,c_127/1,c_128/0,c_129/1,c_130/3,c_131/0,c_132/0,c_133/0,c_134/1,c_135/2,c_136/0,c_137/0,c_138/0,c_139/0 ,c_140/0,c_141/0,c_142/0,c_143/0,c_144/1,c_145/1,c_146/2,c_147/0,c_148/2,c_149/1,c_150/1,c_151/1,c_152/0 ,c_153/1,c_154/1,c_155/2,c_156/1,c_157/1,c_158/1,c_159/0,c_160/2,c_161/0,c_162/0,c_163/1,c_164/1,c_165/0 ,c_166/2,c_167/0,c_168/2,c_169/2,c_170/3,c_171/0,c_172/1,c_173/1,c_174/1,c_175/0,c_176/1} - Obligation: innermost runtime complexity wrt. defined symbols {#ABS#,#ADD#,#AND#,#CKGT#,#COMPARE#,#EQ'#,#EQUAL# ,#GREATER#,#PRED#,#SUCC#,#abs#,#add#,#and#,#ckgt#,#compare#,#eq#,#equal#,#greater#,#pred#,#succ#,+#,+'# ,FIRSTLINE#,FIRSTLINE#1#,LCS#,LCS#1#,LCS#2#,LCS#3#,LCSTABLE#,LCSTABLE#1#,LCSTABLE#2#,LCSTABLE#3#,MAX#,MAX#1# ,NEWLINE#,NEWLINE#1#,NEWLINE#2#,NEWLINE#3#,NEWLINE#4#,NEWLINE#5#,NEWLINE#6#,NEWLINE#7#,RIGHT#,RIGHT#1# ,firstline#,firstline#1#,lcs#,lcs#1#,lcs#2#,lcs#3#,lcstable#,lcstable#1#,lcstable#2#,lcstable#3#,max#,max#1# ,newline#,newline#1#,newline#2#,newline#3#,newline#4#,newline#5#,newline#6#,newline#7#,right# ,right#1#} 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,c59,c6,c60,c61,c62,c63,c64,c65 ,c66,c67,c68,c69,c7,c70,c71,c72,c73,c74,c75,c76,c77,c78,c79,c8,c80,c81,c82,c83,c84,c85,c86,c87,c88,c9,nil} + Applied Processor: Assumption {assumed = Certificate {spaceUB = Unknown, spaceLB = Unknown, timeUB = Poly (Just 0), timeLB = Unknown, timeBCUB = Unknown, timeBCLB = Unknown}} + Details: () ***** Step 13.b:3.b:1.b:1.b:1: PredecessorEstimationCP. WORST_CASE(?,O(n^2)) + Considered Problem: - Strict DPs: LCSTABLE#(z0,z1) -> c_18(LCSTABLE#1#(z0,z1)) LCSTABLE#1#(::(z0,z1),z2) -> c_19(LCSTABLE#2#(lcstable(z1,z2),z2,z0),LCSTABLE#(z1,z2)) NEWLINE#(z0,z1,z2) -> c_27(NEWLINE#1#(z2,z1,z0)) - Weak DPs: LCSTABLE#2#(z0,z1,z2) -> c_21(LCSTABLE#3#(z0,z1,z2)) LCSTABLE#3#(::(z0,z1),z2,z3) -> c_22(NEWLINE#(z3,z0,z2)) NEWLINE#1#(::(z0,z1),z2,z3) -> c_28(NEWLINE#2#(z2,z0,z1,z3)) NEWLINE#2#(::(z0,z1),z2,z3,z4) -> c_30(NEWLINE#(z4,z1,z3)) - Weak TRS: #abs(#0()) -> #0() #add(#0(),z0) -> z0 #add(#neg(#s(#0())),z0) -> #pred(z0) #add(#neg(#s(#s(z0))),z1) -> #pred(#add(#pos(#s(z0)),z1)) #add(#pos(#s(#0())),z0) -> #succ(z0) #add(#pos(#s(#s(z0))),z1) -> #succ(#add(#pos(#s(z0)),z1)) #and(#false(),#false()) -> #false() #and(#false(),#true()) -> #false() #and(#true(),#false()) -> #false() #and(#true(),#true()) -> #true() #ckgt(#EQ()) -> #false() #ckgt(#GT()) -> #true() #ckgt(#LT()) -> #false() #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) #greater(z0,z1) -> #ckgt(#compare(z0,z1)) #pred(#0()) -> #neg(#s(#0())) #pred(#neg(#s(z0))) -> #neg(#s(#s(z0))) #pred(#pos(#s(#0()))) -> #0() #pred(#pos(#s(#s(z0)))) -> #pos(#s(z0)) #succ(#0()) -> #pos(#s(#0())) #succ(#neg(#s(#0()))) -> #0() #succ(#neg(#s(#s(z0)))) -> #neg(#s(z0)) #succ(#pos(#s(z0))) -> #pos(#s(#s(z0))) +(z0,z1) -> #add(z0,z1) firstline(z0) -> firstline#1(z0) firstline#1(::(z0,z1)) -> ::(#abs(#0()),firstline(z1)) firstline#1(nil()) -> nil() lcstable(z0,z1) -> lcstable#1(z0,z1) lcstable#1(::(z0,z1),z2) -> lcstable#2(lcstable(z1,z2),z2,z0) lcstable#1(nil(),z0) -> ::(firstline(z0),nil()) lcstable#2(z0,z1,z2) -> lcstable#3(z0,z1,z2) lcstable#3(::(z0,z1),z2,z3) -> ::(newline(z3,z0,z2),::(z0,z1)) lcstable#3(nil(),z0,z1) -> nil() max(z0,z1) -> max#1(#greater(z0,z1),z0,z1) max#1(#false(),z0,z1) -> z1 max#1(#true(),z0,z1) -> z0 newline(z0,z1,z2) -> newline#1(z2,z1,z0) newline#1(::(z0,z1),z2,z3) -> newline#2(z2,z0,z1,z3) newline#1(nil(),z0,z1) -> nil() newline#2(::(z0,z1),z2,z3,z4) -> newline#3(newline(z4,z1,z3),z0,z1,z2,z4) newline#2(nil(),z0,z1,z2) -> nil() newline#3(z0,z1,z2,z3,z4) -> newline#4(right(z0),z1,z2,z0,z3,z4) newline#4(z0,z1,z2,z3,z4,z5) -> newline#5(right(z2),z1,z3,z0,z4,z5) newline#5(z0,z1,z2,z3,z4,z5) -> newline#6(newline#7(#equal(z4,z5),z1,z0,z3),z2) newline#6(z0,z1) -> ::(z0,z1) newline#7(#false(),z0,z1,z2) -> max(z0,z2) newline#7(#true(),z0,z1,z2) -> +(z1,#pos(#s(#0()))) right(z0) -> right#1(z0) right#1(::(z0,z1)) -> z0 right#1(nil()) -> #abs(#0()) - Signature: {#ABS/1,#ADD/2,#AND/2,#CKGT/1,#COMPARE/2,#EQ'/2,#EQUAL/2,#GREATER/2,#PRED/1,#SUCC/1,#abs/1,#add/2,#and/2 ,#ckgt/1,#compare/2,#eq/2,#equal/2,#greater/2,#pred/1,#succ/1,+/2,+'/2,FIRSTLINE/1,FIRSTLINE#1/1,LCS/2 ,LCS#1/1,LCS#2/1,LCS#3/1,LCSTABLE/2,LCSTABLE#1/2,LCSTABLE#2/3,LCSTABLE#3/3,MAX/2,MAX#1/3,NEWLINE/3 ,NEWLINE#1/3,NEWLINE#2/4,NEWLINE#3/5,NEWLINE#4/6,NEWLINE#5/6,NEWLINE#6/2,NEWLINE#7/4,RIGHT/1,RIGHT#1/1 ,firstline/1,firstline#1/1,lcs/2,lcs#1/1,lcs#2/1,lcs#3/1,lcstable/2,lcstable#1/2,lcstable#2/3,lcstable#3/3 ,max/2,max#1/3,newline/3,newline#1/3,newline#2/4,newline#3/5,newline#4/6,newline#5/6,newline#6/2,newline#7/4 ,right/1,right#1/1,#ABS#/1,#ADD#/2,#AND#/2,#CKGT#/1,#COMPARE#/2,#EQ'#/2,#EQUAL#/2,#GREATER#/2,#PRED#/1 ,#SUCC#/1,#abs#/1,#add#/2,#and#/2,#ckgt#/1,#compare#/2,#eq#/2,#equal#/2,#greater#/2,#pred#/1,#succ#/1,+#/2 ,+'#/2,FIRSTLINE#/1,FIRSTLINE#1#/1,LCS#/2,LCS#1#/1,LCS#2#/1,LCS#3#/1,LCSTABLE#/2,LCSTABLE#1#/2,LCSTABLE#2#/3 ,LCSTABLE#3#/3,MAX#/2,MAX#1#/3,NEWLINE#/3,NEWLINE#1#/3,NEWLINE#2#/4,NEWLINE#3#/5,NEWLINE#4#/6,NEWLINE#5#/6 ,NEWLINE#6#/2,NEWLINE#7#/4,RIGHT#/1,RIGHT#1#/1,firstline#/1,firstline#1#/1,lcs#/2,lcs#1#/1,lcs#2#/1,lcs#3#/1 ,lcstable#/2,lcstable#1#/2,lcstable#2#/3,lcstable#3#/3,max#/2,max#1#/3,newline#/3,newline#1#/3,newline#2#/4 ,newline#3#/5,newline#4#/6,newline#5#/6,newline#6#/2,newline#7#/4,right#/1,right#1#/1} / {#0/0,#EQ/0,#GT/0 ,#LT/0,#false/0,#neg/1,#pos/1,#s/1,#true/0,::/2,c/0,c1/1,c10/0,c11/0,c12/0,c13/0,c14/0,c15/0,c16/0,c17/1 ,c18/0,c19/0,c2/2,c20/0,c21/1,c22/0,c23/1,c24/0,c25/0,c26/0,c27/0,c28/0,c29/1,c3/1,c30/0,c31/0,c32/0,c33/1 ,c34/0,c35/1,c36/2,c37/2,c38/0,c39/0,c4/2,c40/0,c41/0,c42/0,c43/0,c44/0,c45/0,c46/0,c47/0,c48/0,c49/0,c5/0 ,c50/0,c51/0,c52/0,c53/1,c54/2,c55/1,c56/1,c57/1,c58/1,c59/0,c6/0,c60/2,c61/1,c62/1,c63/1,c64/0,c65/1,c66/1 ,c67/2,c68/1,c69/1,c7/0,c70/1,c71/0,c72/2,c73/0,c74/0,c75/1,c76/1,c77/0,c78/2,c79/0,c8/0,c80/2,c81/2,c82/3 ,c83/0,c84/1,c85/1,c86/1,c87/0,c88/1,c9/0,nil/0,c_1/0,c_2/0,c_3/0,c_4/0,c_5/1,c_6/3,c_7/1,c_8/1,c_9/1,c_10/1 ,c_11/0,c_12/1,c_13/1,c_14/1,c_15/1,c_16/0,c_17/1,c_18/1,c_19/2,c_20/1,c_21/1,c_22/1,c_23/0,c_24/3,c_25/0 ,c_26/0,c_27/1,c_28/1,c_29/0,c_30/1,c_31/0,c_32/3,c_33/3,c_34/6,c_35/0,c_36/1,c_37/1,c_38/1,c_39/0,c_40/1 ,c_41/0,c_42/1,c_43/3,c_44/1,c_45/3,c_46/0,c_47/0,c_48/0,c_49/0,c_50/0,c_51/0,c_52/0,c_53/0,c_54/0,c_55/0 ,c_56/0,c_57/0,c_58/1,c_59/0,c_60/0,c_61/0,c_62/1,c_63/0,c_64/1,c_65/0,c_66/0,c_67/0,c_68/0,c_69/0,c_70/1 ,c_71/0,c_72/0,c_73/0,c_74/1,c_75/0,c_76/1,c_77/4,c_78/4,c_79/0,c_80/0,c_81/0,c_82/0,c_83/0,c_84/0,c_85/0 ,c_86/0,c_87/0,c_88/0,c_89/0,c_90/0,c_91/0,c_92/0,c_93/0,c_94/0,c_95/1,c_96/2,c_97/1,c_98/2,c_99/0,c_100/0 ,c_101/0,c_102/0,c_103/0,c_104/0,c_105/0,c_106/0,c_107/0,c_108/0,c_109/0,c_110/0,c_111/1,c_112/0,c_113/0 ,c_114/0,c_115/1,c_116/0,c_117/1,c_118/0,c_119/0,c_120/0,c_121/0,c_122/0,c_123/1,c_124/0,c_125/0,c_126/0 ,c_127/1,c_128/0,c_129/1,c_130/3,c_131/0,c_132/0,c_133/0,c_134/1,c_135/2,c_136/0,c_137/0,c_138/0,c_139/0 ,c_140/0,c_141/0,c_142/0,c_143/0,c_144/1,c_145/1,c_146/2,c_147/0,c_148/2,c_149/1,c_150/1,c_151/1,c_152/0 ,c_153/1,c_154/1,c_155/2,c_156/1,c_157/1,c_158/1,c_159/0,c_160/2,c_161/0,c_162/0,c_163/1,c_164/1,c_165/0 ,c_166/2,c_167/0,c_168/2,c_169/2,c_170/3,c_171/0,c_172/1,c_173/1,c_174/1,c_175/0,c_176/1} - Obligation: innermost runtime complexity wrt. defined symbols {#ABS#,#ADD#,#AND#,#CKGT#,#COMPARE#,#EQ'#,#EQUAL# ,#GREATER#,#PRED#,#SUCC#,#abs#,#add#,#and#,#ckgt#,#compare#,#eq#,#equal#,#greater#,#pred#,#succ#,+#,+'# ,FIRSTLINE#,FIRSTLINE#1#,LCS#,LCS#1#,LCS#2#,LCS#3#,LCSTABLE#,LCSTABLE#1#,LCSTABLE#2#,LCSTABLE#3#,MAX#,MAX#1# ,NEWLINE#,NEWLINE#1#,NEWLINE#2#,NEWLINE#3#,NEWLINE#4#,NEWLINE#5#,NEWLINE#6#,NEWLINE#7#,RIGHT#,RIGHT#1# ,firstline#,firstline#1#,lcs#,lcs#1#,lcs#2#,lcs#3#,lcstable#,lcstable#1#,lcstable#2#,lcstable#3#,max#,max#1# ,newline#,newline#1#,newline#2#,newline#3#,newline#4#,newline#5#,newline#6#,newline#7#,right# ,right#1#} 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,c59,c6,c60,c61,c62,c63,c64,c65 ,c66,c67,c68,c69,c7,c70,c71,c72,c73,c74,c75,c76,c77,c78,c79,c8,c80,c81,c82,c83,c84,c85,c86,c87,c88,c9,nil} + Applied Processor: PredecessorEstimationCP {onSelectionCP = any intersect of rules of CDG leaf and strict-rules, withComplexityPair = NaturalMI {miDimension = 1, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Nothing}} + Details: We first use the processor NaturalMI {miDimension = 1, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Nothing} to orient following rules strictly: 1: LCSTABLE#(z0,z1) -> c_18(LCSTABLE#1#(z0,z1)) 2: LCSTABLE#1#(::(z0,z1),z2) -> c_19(LCSTABLE#2#(lcstable(z1,z2),z2,z0),LCSTABLE#(z1,z2)) Consider the set of all dependency pairs 1: LCSTABLE#(z0,z1) -> c_18(LCSTABLE#1#(z0,z1)) 2: LCSTABLE#1#(::(z0,z1),z2) -> c_19(LCSTABLE#2#(lcstable(z1,z2),z2,z0),LCSTABLE#(z1,z2)) 3: NEWLINE#(z0,z1,z2) -> c_27(NEWLINE#1#(z2,z1,z0)) 4: LCSTABLE#2#(z0,z1,z2) -> c_21(LCSTABLE#3#(z0,z1,z2)) 5: LCSTABLE#3#(::(z0,z1),z2,z3) -> c_22(NEWLINE#(z3,z0,z2)) 6: NEWLINE#1#(::(z0,z1),z2,z3) -> c_28(NEWLINE#2#(z2,z0,z1,z3)) 7: NEWLINE#2#(::(z0,z1),z2,z3,z4) -> c_30(NEWLINE#(z4,z1,z3)) Processor NaturalMI {miDimension = 1, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Nothing}induces the complexity certificateTIME (?,O(n^1)) BEST_CASE TIME (?,?) SPACE(?,?)on application of the dependency pairs {1,2} These cover all (indirect) predecessors of dependency pairs {1,2,4,5} their number of applications is equally bounded. The dependency pairs are shifted into the weak component. ****** Step 13.b:3.b:1.b:1.b:1.a:1: NaturalMI. WORST_CASE(?,O(n^1)) + Considered Problem: - Strict DPs: LCSTABLE#(z0,z1) -> c_18(LCSTABLE#1#(z0,z1)) LCSTABLE#1#(::(z0,z1),z2) -> c_19(LCSTABLE#2#(lcstable(z1,z2),z2,z0),LCSTABLE#(z1,z2)) NEWLINE#(z0,z1,z2) -> c_27(NEWLINE#1#(z2,z1,z0)) - Weak DPs: LCSTABLE#2#(z0,z1,z2) -> c_21(LCSTABLE#3#(z0,z1,z2)) LCSTABLE#3#(::(z0,z1),z2,z3) -> c_22(NEWLINE#(z3,z0,z2)) NEWLINE#1#(::(z0,z1),z2,z3) -> c_28(NEWLINE#2#(z2,z0,z1,z3)) NEWLINE#2#(::(z0,z1),z2,z3,z4) -> c_30(NEWLINE#(z4,z1,z3)) - Weak TRS: #abs(#0()) -> #0() #add(#0(),z0) -> z0 #add(#neg(#s(#0())),z0) -> #pred(z0) #add(#neg(#s(#s(z0))),z1) -> #pred(#add(#pos(#s(z0)),z1)) #add(#pos(#s(#0())),z0) -> #succ(z0) #add(#pos(#s(#s(z0))),z1) -> #succ(#add(#pos(#s(z0)),z1)) #and(#false(),#false()) -> #false() #and(#false(),#true()) -> #false() #and(#true(),#false()) -> #false() #and(#true(),#true()) -> #true() #ckgt(#EQ()) -> #false() #ckgt(#GT()) -> #true() #ckgt(#LT()) -> #false() #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) #greater(z0,z1) -> #ckgt(#compare(z0,z1)) #pred(#0()) -> #neg(#s(#0())) #pred(#neg(#s(z0))) -> #neg(#s(#s(z0))) #pred(#pos(#s(#0()))) -> #0() #pred(#pos(#s(#s(z0)))) -> #pos(#s(z0)) #succ(#0()) -> #pos(#s(#0())) #succ(#neg(#s(#0()))) -> #0() #succ(#neg(#s(#s(z0)))) -> #neg(#s(z0)) #succ(#pos(#s(z0))) -> #pos(#s(#s(z0))) +(z0,z1) -> #add(z0,z1) firstline(z0) -> firstline#1(z0) firstline#1(::(z0,z1)) -> ::(#abs(#0()),firstline(z1)) firstline#1(nil()) -> nil() lcstable(z0,z1) -> lcstable#1(z0,z1) lcstable#1(::(z0,z1),z2) -> lcstable#2(lcstable(z1,z2),z2,z0) lcstable#1(nil(),z0) -> ::(firstline(z0),nil()) lcstable#2(z0,z1,z2) -> lcstable#3(z0,z1,z2) lcstable#3(::(z0,z1),z2,z3) -> ::(newline(z3,z0,z2),::(z0,z1)) lcstable#3(nil(),z0,z1) -> nil() max(z0,z1) -> max#1(#greater(z0,z1),z0,z1) max#1(#false(),z0,z1) -> z1 max#1(#true(),z0,z1) -> z0 newline(z0,z1,z2) -> newline#1(z2,z1,z0) newline#1(::(z0,z1),z2,z3) -> newline#2(z2,z0,z1,z3) newline#1(nil(),z0,z1) -> nil() newline#2(::(z0,z1),z2,z3,z4) -> newline#3(newline(z4,z1,z3),z0,z1,z2,z4) newline#2(nil(),z0,z1,z2) -> nil() newline#3(z0,z1,z2,z3,z4) -> newline#4(right(z0),z1,z2,z0,z3,z4) newline#4(z0,z1,z2,z3,z4,z5) -> newline#5(right(z2),z1,z3,z0,z4,z5) newline#5(z0,z1,z2,z3,z4,z5) -> newline#6(newline#7(#equal(z4,z5),z1,z0,z3),z2) newline#6(z0,z1) -> ::(z0,z1) newline#7(#false(),z0,z1,z2) -> max(z0,z2) newline#7(#true(),z0,z1,z2) -> +(z1,#pos(#s(#0()))) right(z0) -> right#1(z0) right#1(::(z0,z1)) -> z0 right#1(nil()) -> #abs(#0()) - Signature: {#ABS/1,#ADD/2,#AND/2,#CKGT/1,#COMPARE/2,#EQ'/2,#EQUAL/2,#GREATER/2,#PRED/1,#SUCC/1,#abs/1,#add/2,#and/2 ,#ckgt/1,#compare/2,#eq/2,#equal/2,#greater/2,#pred/1,#succ/1,+/2,+'/2,FIRSTLINE/1,FIRSTLINE#1/1,LCS/2 ,LCS#1/1,LCS#2/1,LCS#3/1,LCSTABLE/2,LCSTABLE#1/2,LCSTABLE#2/3,LCSTABLE#3/3,MAX/2,MAX#1/3,NEWLINE/3 ,NEWLINE#1/3,NEWLINE#2/4,NEWLINE#3/5,NEWLINE#4/6,NEWLINE#5/6,NEWLINE#6/2,NEWLINE#7/4,RIGHT/1,RIGHT#1/1 ,firstline/1,firstline#1/1,lcs/2,lcs#1/1,lcs#2/1,lcs#3/1,lcstable/2,lcstable#1/2,lcstable#2/3,lcstable#3/3 ,max/2,max#1/3,newline/3,newline#1/3,newline#2/4,newline#3/5,newline#4/6,newline#5/6,newline#6/2,newline#7/4 ,right/1,right#1/1,#ABS#/1,#ADD#/2,#AND#/2,#CKGT#/1,#COMPARE#/2,#EQ'#/2,#EQUAL#/2,#GREATER#/2,#PRED#/1 ,#SUCC#/1,#abs#/1,#add#/2,#and#/2,#ckgt#/1,#compare#/2,#eq#/2,#equal#/2,#greater#/2,#pred#/1,#succ#/1,+#/2 ,+'#/2,FIRSTLINE#/1,FIRSTLINE#1#/1,LCS#/2,LCS#1#/1,LCS#2#/1,LCS#3#/1,LCSTABLE#/2,LCSTABLE#1#/2,LCSTABLE#2#/3 ,LCSTABLE#3#/3,MAX#/2,MAX#1#/3,NEWLINE#/3,NEWLINE#1#/3,NEWLINE#2#/4,NEWLINE#3#/5,NEWLINE#4#/6,NEWLINE#5#/6 ,NEWLINE#6#/2,NEWLINE#7#/4,RIGHT#/1,RIGHT#1#/1,firstline#/1,firstline#1#/1,lcs#/2,lcs#1#/1,lcs#2#/1,lcs#3#/1 ,lcstable#/2,lcstable#1#/2,lcstable#2#/3,lcstable#3#/3,max#/2,max#1#/3,newline#/3,newline#1#/3,newline#2#/4 ,newline#3#/5,newline#4#/6,newline#5#/6,newline#6#/2,newline#7#/4,right#/1,right#1#/1} / {#0/0,#EQ/0,#GT/0 ,#LT/0,#false/0,#neg/1,#pos/1,#s/1,#true/0,::/2,c/0,c1/1,c10/0,c11/0,c12/0,c13/0,c14/0,c15/0,c16/0,c17/1 ,c18/0,c19/0,c2/2,c20/0,c21/1,c22/0,c23/1,c24/0,c25/0,c26/0,c27/0,c28/0,c29/1,c3/1,c30/0,c31/0,c32/0,c33/1 ,c34/0,c35/1,c36/2,c37/2,c38/0,c39/0,c4/2,c40/0,c41/0,c42/0,c43/0,c44/0,c45/0,c46/0,c47/0,c48/0,c49/0,c5/0 ,c50/0,c51/0,c52/0,c53/1,c54/2,c55/1,c56/1,c57/1,c58/1,c59/0,c6/0,c60/2,c61/1,c62/1,c63/1,c64/0,c65/1,c66/1 ,c67/2,c68/1,c69/1,c7/0,c70/1,c71/0,c72/2,c73/0,c74/0,c75/1,c76/1,c77/0,c78/2,c79/0,c8/0,c80/2,c81/2,c82/3 ,c83/0,c84/1,c85/1,c86/1,c87/0,c88/1,c9/0,nil/0,c_1/0,c_2/0,c_3/0,c_4/0,c_5/1,c_6/3,c_7/1,c_8/1,c_9/1,c_10/1 ,c_11/0,c_12/1,c_13/1,c_14/1,c_15/1,c_16/0,c_17/1,c_18/1,c_19/2,c_20/1,c_21/1,c_22/1,c_23/0,c_24/3,c_25/0 ,c_26/0,c_27/1,c_28/1,c_29/0,c_30/1,c_31/0,c_32/3,c_33/3,c_34/6,c_35/0,c_36/1,c_37/1,c_38/1,c_39/0,c_40/1 ,c_41/0,c_42/1,c_43/3,c_44/1,c_45/3,c_46/0,c_47/0,c_48/0,c_49/0,c_50/0,c_51/0,c_52/0,c_53/0,c_54/0,c_55/0 ,c_56/0,c_57/0,c_58/1,c_59/0,c_60/0,c_61/0,c_62/1,c_63/0,c_64/1,c_65/0,c_66/0,c_67/0,c_68/0,c_69/0,c_70/1 ,c_71/0,c_72/0,c_73/0,c_74/1,c_75/0,c_76/1,c_77/4,c_78/4,c_79/0,c_80/0,c_81/0,c_82/0,c_83/0,c_84/0,c_85/0 ,c_86/0,c_87/0,c_88/0,c_89/0,c_90/0,c_91/0,c_92/0,c_93/0,c_94/0,c_95/1,c_96/2,c_97/1,c_98/2,c_99/0,c_100/0 ,c_101/0,c_102/0,c_103/0,c_104/0,c_105/0,c_106/0,c_107/0,c_108/0,c_109/0,c_110/0,c_111/1,c_112/0,c_113/0 ,c_114/0,c_115/1,c_116/0,c_117/1,c_118/0,c_119/0,c_120/0,c_121/0,c_122/0,c_123/1,c_124/0,c_125/0,c_126/0 ,c_127/1,c_128/0,c_129/1,c_130/3,c_131/0,c_132/0,c_133/0,c_134/1,c_135/2,c_136/0,c_137/0,c_138/0,c_139/0 ,c_140/0,c_141/0,c_142/0,c_143/0,c_144/1,c_145/1,c_146/2,c_147/0,c_148/2,c_149/1,c_150/1,c_151/1,c_152/0 ,c_153/1,c_154/1,c_155/2,c_156/1,c_157/1,c_158/1,c_159/0,c_160/2,c_161/0,c_162/0,c_163/1,c_164/1,c_165/0 ,c_166/2,c_167/0,c_168/2,c_169/2,c_170/3,c_171/0,c_172/1,c_173/1,c_174/1,c_175/0,c_176/1} - Obligation: innermost runtime complexity wrt. defined symbols {#ABS#,#ADD#,#AND#,#CKGT#,#COMPARE#,#EQ'#,#EQUAL# ,#GREATER#,#PRED#,#SUCC#,#abs#,#add#,#and#,#ckgt#,#compare#,#eq#,#equal#,#greater#,#pred#,#succ#,+#,+'# ,FIRSTLINE#,FIRSTLINE#1#,LCS#,LCS#1#,LCS#2#,LCS#3#,LCSTABLE#,LCSTABLE#1#,LCSTABLE#2#,LCSTABLE#3#,MAX#,MAX#1# ,NEWLINE#,NEWLINE#1#,NEWLINE#2#,NEWLINE#3#,NEWLINE#4#,NEWLINE#5#,NEWLINE#6#,NEWLINE#7#,RIGHT#,RIGHT#1# ,firstline#,firstline#1#,lcs#,lcs#1#,lcs#2#,lcs#3#,lcstable#,lcstable#1#,lcstable#2#,lcstable#3#,max#,max#1# ,newline#,newline#1#,newline#2#,newline#3#,newline#4#,newline#5#,newline#6#,newline#7#,right# ,right#1#} 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,c59,c6,c60,c61,c62,c63,c64,c65 ,c66,c67,c68,c69,c7,c70,c71,c72,c73,c74,c75,c76,c77,c78,c79,c8,c80,c81,c82,c83,c84,c85,c86,c87,c88,c9,nil} + Applied Processor: NaturalMI {miDimension = 1, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Just first alternative for predecessorEstimation on any intersect of rules of CDG leaf and strict-rules} + Details: We apply a matrix interpretation of kind constructor based matrix interpretation: The following argument positions are considered usable: uargs(c_18) = {1}, uargs(c_19) = {1,2}, uargs(c_21) = {1}, uargs(c_22) = {1}, uargs(c_27) = {1}, uargs(c_28) = {1}, uargs(c_30) = {1} Following symbols are considered usable: {#ABS#,#ADD#,#AND#,#CKGT#,#COMPARE#,#EQ'#,#EQUAL#,#GREATER#,#PRED#,#SUCC#,#abs#,#add#,#and#,#ckgt# ,#compare#,#eq#,#equal#,#greater#,#pred#,#succ#,+#,+'#,FIRSTLINE#,FIRSTLINE#1#,LCS#,LCS#1#,LCS#2#,LCS#3# ,LCSTABLE#,LCSTABLE#1#,LCSTABLE#2#,LCSTABLE#3#,MAX#,MAX#1#,NEWLINE#,NEWLINE#1#,NEWLINE#2#,NEWLINE#3# ,NEWLINE#4#,NEWLINE#5#,NEWLINE#6#,NEWLINE#7#,RIGHT#,RIGHT#1#,firstline#,firstline#1#,lcs#,lcs#1#,lcs#2# ,lcs#3#,lcstable#,lcstable#1#,lcstable#2#,lcstable#3#,max#,max#1#,newline#,newline#1#,newline#2#,newline#3# ,newline#4#,newline#5#,newline#6#,newline#7#,right#,right#1#} TcT has computed the following interpretation: p(#0) = [0] p(#ABS) = [0] p(#ADD) = [0] p(#AND) = [0] p(#CKGT) = [0] p(#COMPARE) = [0] p(#EQ) = [0] p(#EQ') = [0] p(#EQUAL) = [0] p(#GREATER) = [0] p(#GT) = [0] p(#LT) = [0] p(#PRED) = [1] x1 + [0] p(#SUCC) = [0] p(#abs) = [1] p(#add) = [0] p(#and) = [1] x1 + [0] p(#ckgt) = [0] p(#compare) = [2] x1 + [0] p(#eq) = [1] x1 + [5] p(#equal) = [3] p(#false) = [0] p(#greater) = [0] p(#neg) = [1] x1 + [4] p(#pos) = [3] p(#pred) = [0] p(#s) = [5] p(#succ) = [0] p(#true) = [2] p(+) = [3] x2 + [0] p(+') = [0] p(::) = [1] x2 + [2] p(FIRSTLINE) = [0] p(FIRSTLINE#1) = [0] p(LCS) = [0] p(LCS#1) = [0] p(LCS#2) = [0] p(LCS#3) = [0] p(LCSTABLE) = [0] p(LCSTABLE#1) = [0] p(LCSTABLE#2) = [0] p(LCSTABLE#3) = [0] p(MAX) = [0] p(MAX#1) = [0] p(NEWLINE) = [0] p(NEWLINE#1) = [0] p(NEWLINE#2) = [0] p(NEWLINE#3) = [0] p(NEWLINE#4) = [0] p(NEWLINE#5) = [0] p(NEWLINE#6) = [0] p(NEWLINE#7) = [0] p(RIGHT) = [0] p(RIGHT#1) = [0] p(c) = [0] p(c1) = [1] x1 + [0] p(c10) = [0] p(c11) = [0] p(c12) = [0] p(c13) = [0] p(c14) = [0] p(c15) = [0] p(c16) = [0] p(c17) = [1] x1 + [0] p(c18) = [0] p(c19) = [0] p(c2) = [1] x1 + [1] x2 + [0] p(c20) = [0] p(c21) = [1] x1 + [0] p(c22) = [0] p(c23) = [1] x1 + [0] p(c24) = [0] p(c25) = [0] p(c26) = [0] p(c27) = [0] p(c28) = [0] p(c29) = [1] x1 + [0] p(c3) = [1] x1 + [0] p(c30) = [0] p(c31) = [0] p(c32) = [0] p(c33) = [1] x1 + [0] p(c34) = [0] p(c35) = [1] x1 + [0] p(c36) = [1] x1 + [0] p(c37) = [1] x1 + [1] x2 + [0] p(c38) = [0] p(c39) = [0] p(c4) = [1] x1 + [1] x2 + [0] p(c40) = [0] p(c41) = [0] p(c42) = [0] p(c43) = [0] p(c44) = [0] p(c45) = [0] p(c46) = [0] p(c47) = [0] p(c48) = [0] p(c49) = [0] p(c5) = [0] p(c50) = [0] p(c51) = [0] p(c52) = [0] p(c53) = [1] x1 + [0] p(c54) = [1] x1 + [1] x2 + [0] p(c55) = [1] x1 + [0] p(c56) = [1] x1 + [0] p(c57) = [1] x1 + [0] p(c58) = [1] x1 + [0] p(c59) = [0] p(c6) = [0] p(c60) = [1] x1 + [1] x2 + [0] p(c61) = [1] x1 + [0] p(c62) = [1] x1 + [0] p(c63) = [1] x1 + [0] p(c64) = [0] p(c65) = [1] x1 + [0] p(c66) = [1] x1 + [0] p(c67) = [1] x1 + [1] x2 + [0] p(c68) = [1] x1 + [0] p(c69) = [1] x1 + [0] p(c7) = [0] p(c70) = [1] x1 + [0] p(c71) = [0] p(c72) = [1] x1 + [1] x2 + [0] p(c73) = [0] p(c74) = [0] p(c75) = [1] x1 + [0] p(c76) = [1] x1 + [0] p(c77) = [0] p(c78) = [1] x1 + [1] x2 + [0] p(c79) = [0] p(c8) = [0] p(c80) = [1] x1 + [1] x2 + [0] p(c81) = [1] x1 + [1] x2 + [0] p(c82) = [1] x1 + [1] x2 + [1] x3 + [0] p(c83) = [0] p(c84) = [1] x1 + [0] p(c85) = [1] x1 + [0] p(c86) = [1] x1 + [0] p(c87) = [0] p(c88) = [1] x1 + [0] p(c9) = [0] p(firstline) = [0] p(firstline#1) = [0] p(lcs) = [0] p(lcs#1) = [0] p(lcs#2) = [0] p(lcs#3) = [0] p(lcstable) = [2] x2 + [0] p(lcstable#1) = [1] x1 + [4] x2 + [0] p(lcstable#2) = [2] x1 + [4] p(lcstable#3) = [0] p(max) = [0] p(max#1) = [1] x1 + [2] x2 + [0] p(newline) = [0] p(newline#1) = [0] p(newline#2) = [3] p(newline#3) = [0] p(newline#4) = [1] x1 + [0] p(newline#5) = [4] x1 + [0] p(newline#6) = [0] p(newline#7) = [1] x1 + [0] p(nil) = [1] p(right) = [2] p(right#1) = [2] x1 + [3] p(#ABS#) = [0] p(#ADD#) = [0] p(#AND#) = [0] p(#CKGT#) = [0] p(#COMPARE#) = [0] p(#EQ'#) = [0] p(#EQUAL#) = [0] p(#GREATER#) = [0] p(#PRED#) = [0] p(#SUCC#) = [0] p(#abs#) = [0] p(#add#) = [0] p(#and#) = [0] p(#ckgt#) = [0] p(#compare#) = [0] p(#eq#) = [0] p(#equal#) = [0] p(#greater#) = [0] p(#pred#) = [0] p(#succ#) = [0] p(+#) = [0] p(+'#) = [0] p(FIRSTLINE#) = [0] p(FIRSTLINE#1#) = [1] x1 + [0] p(LCS#) = [0] p(LCS#1#) = [0] p(LCS#2#) = [0] p(LCS#3#) = [0] p(LCSTABLE#) = [4] x1 + [5] p(LCSTABLE#1#) = [4] x1 + [0] p(LCSTABLE#2#) = [0] p(LCSTABLE#3#) = [0] p(MAX#) = [0] p(MAX#1#) = [0] p(NEWLINE#) = [0] p(NEWLINE#1#) = [0] p(NEWLINE#2#) = [0] p(NEWLINE#3#) = [0] p(NEWLINE#4#) = [1] x2 + [0] p(NEWLINE#5#) = [0] p(NEWLINE#6#) = [0] p(NEWLINE#7#) = [0] p(RIGHT#) = [0] p(RIGHT#1#) = [0] p(firstline#) = [0] p(firstline#1#) = [0] p(lcs#) = [0] p(lcs#1#) = [0] p(lcs#2#) = [0] p(lcs#3#) = [0] p(lcstable#) = [0] p(lcstable#1#) = [0] p(lcstable#2#) = [0] p(lcstable#3#) = [0] p(max#) = [0] p(max#1#) = [0] p(newline#) = [1] x1 + [0] p(newline#1#) = [0] p(newline#2#) = [0] p(newline#3#) = [0] p(newline#4#) = [0] p(newline#5#) = [0] p(newline#6#) = [0] p(newline#7#) = [1] x1 + [0] p(right#) = [0] p(right#1#) = [0] p(c_1) = [0] p(c_2) = [0] p(c_3) = [0] p(c_4) = [0] p(c_5) = [0] p(c_6) = [0] p(c_7) = [0] p(c_8) = [0] p(c_9) = [0] p(c_10) = [0] p(c_11) = [0] p(c_12) = [0] p(c_13) = [0] p(c_14) = [0] p(c_15) = [0] p(c_16) = [0] p(c_17) = [0] p(c_18) = [1] x1 + [0] p(c_19) = [4] x1 + [1] x2 + [1] p(c_20) = [2] p(c_21) = [2] x1 + [0] p(c_22) = [4] x1 + [0] p(c_23) = [2] p(c_24) = [4] x1 + [4] p(c_25) = [1] p(c_26) = [0] p(c_27) = [4] x1 + [0] p(c_28) = [4] x1 + [0] p(c_29) = [1] p(c_30) = [2] x1 + [0] p(c_31) = [0] p(c_32) = [2] x3 + [0] p(c_33) = [1] x2 + [0] p(c_34) = [4] x1 + [4] x2 + [1] x5 + [1] x6 + [0] p(c_35) = [0] p(c_36) = [0] p(c_37) = [4] x1 + [0] p(c_38) = [2] x1 + [0] p(c_39) = [0] p(c_40) = [0] p(c_41) = [0] p(c_42) = [4] x1 + [0] p(c_43) = [4] x2 + [0] p(c_44) = [0] p(c_45) = [4] x1 + [1] x2 + [1] x3 + [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) = [1] x1 + [0] p(c_59) = [0] p(c_60) = [0] p(c_61) = [0] p(c_62) = [1] x1 + [0] p(c_63) = [0] p(c_64) = [1] x1 + [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) = [2] p(c_75) = [0] p(c_76) = [4] x1 + [0] p(c_77) = [4] x1 + [1] x3 + [2] x4 + [0] p(c_78) = [4] x1 + [4] x3 + [1] x4 + [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) = [0] p(c_114) = [0] p(c_115) = [0] p(c_116) = [0] p(c_117) = [0] p(c_118) = [0] p(c_119) = [0] p(c_120) = [0] p(c_121) = [0] p(c_122) = [0] p(c_123) = [0] p(c_124) = [0] p(c_125) = [0] p(c_126) = [0] p(c_127) = [2] p(c_128) = [0] p(c_129) = [2] p(c_130) = [0] p(c_131) = [0] p(c_132) = [0] p(c_133) = [0] p(c_134) = [0] p(c_135) = [0] p(c_136) = [2] p(c_137) = [0] p(c_138) = [0] p(c_139) = [0] p(c_140) = [0] p(c_141) = [0] p(c_142) = [0] p(c_143) = [0] p(c_144) = [0] p(c_145) = [0] p(c_146) = [0] p(c_147) = [0] p(c_148) = [0] p(c_149) = [0] p(c_150) = [0] p(c_151) = [0] p(c_152) = [0] p(c_153) = [0] p(c_154) = [0] p(c_155) = [0] p(c_156) = [0] p(c_157) = [0] p(c_158) = [0] p(c_159) = [0] p(c_160) = [0] p(c_161) = [0] p(c_162) = [0] p(c_163) = [2] p(c_164) = [0] p(c_165) = [0] p(c_166) = [0] p(c_167) = [0] p(c_168) = [0] p(c_169) = [0] p(c_170) = [0] p(c_171) = [0] p(c_172) = [2] p(c_173) = [0] p(c_174) = [0] p(c_175) = [0] p(c_176) = [0] Following rules are strictly oriented: LCSTABLE#(z0,z1) = [4] z0 + [5] > [4] z0 + [0] = c_18(LCSTABLE#1#(z0,z1)) LCSTABLE#1#(::(z0,z1),z2) = [4] z1 + [8] > [4] z1 + [6] = c_19(LCSTABLE#2#(lcstable(z1,z2),z2,z0),LCSTABLE#(z1,z2)) Following rules are (at-least) weakly oriented: LCSTABLE#2#(z0,z1,z2) = [0] >= [0] = c_21(LCSTABLE#3#(z0,z1,z2)) LCSTABLE#3#(::(z0,z1),z2,z3) = [0] >= [0] = c_22(NEWLINE#(z3,z0,z2)) NEWLINE#(z0,z1,z2) = [0] >= [0] = c_27(NEWLINE#1#(z2,z1,z0)) NEWLINE#1#(::(z0,z1),z2,z3) = [0] >= [0] = c_28(NEWLINE#2#(z2,z0,z1,z3)) NEWLINE#2#(::(z0,z1),z2,z3,z4) = [0] >= [0] = c_30(NEWLINE#(z4,z1,z3)) ****** Step 13.b:3.b:1.b:1.b:1.a:2: Assumption. WORST_CASE(?,O(1)) + Considered Problem: - Strict DPs: NEWLINE#(z0,z1,z2) -> c_27(NEWLINE#1#(z2,z1,z0)) - Weak DPs: LCSTABLE#(z0,z1) -> c_18(LCSTABLE#1#(z0,z1)) LCSTABLE#1#(::(z0,z1),z2) -> c_19(LCSTABLE#2#(lcstable(z1,z2),z2,z0),LCSTABLE#(z1,z2)) LCSTABLE#2#(z0,z1,z2) -> c_21(LCSTABLE#3#(z0,z1,z2)) LCSTABLE#3#(::(z0,z1),z2,z3) -> c_22(NEWLINE#(z3,z0,z2)) NEWLINE#1#(::(z0,z1),z2,z3) -> c_28(NEWLINE#2#(z2,z0,z1,z3)) NEWLINE#2#(::(z0,z1),z2,z3,z4) -> c_30(NEWLINE#(z4,z1,z3)) - Weak TRS: #abs(#0()) -> #0() #add(#0(),z0) -> z0 #add(#neg(#s(#0())),z0) -> #pred(z0) #add(#neg(#s(#s(z0))),z1) -> #pred(#add(#pos(#s(z0)),z1)) #add(#pos(#s(#0())),z0) -> #succ(z0) #add(#pos(#s(#s(z0))),z1) -> #succ(#add(#pos(#s(z0)),z1)) #and(#false(),#false()) -> #false() #and(#false(),#true()) -> #false() #and(#true(),#false()) -> #false() #and(#true(),#true()) -> #true() #ckgt(#EQ()) -> #false() #ckgt(#GT()) -> #true() #ckgt(#LT()) -> #false() #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) #greater(z0,z1) -> #ckgt(#compare(z0,z1)) #pred(#0()) -> #neg(#s(#0())) #pred(#neg(#s(z0))) -> #neg(#s(#s(z0))) #pred(#pos(#s(#0()))) -> #0() #pred(#pos(#s(#s(z0)))) -> #pos(#s(z0)) #succ(#0()) -> #pos(#s(#0())) #succ(#neg(#s(#0()))) -> #0() #succ(#neg(#s(#s(z0)))) -> #neg(#s(z0)) #succ(#pos(#s(z0))) -> #pos(#s(#s(z0))) +(z0,z1) -> #add(z0,z1) firstline(z0) -> firstline#1(z0) firstline#1(::(z0,z1)) -> ::(#abs(#0()),firstline(z1)) firstline#1(nil()) -> nil() lcstable(z0,z1) -> lcstable#1(z0,z1) lcstable#1(::(z0,z1),z2) -> lcstable#2(lcstable(z1,z2),z2,z0) lcstable#1(nil(),z0) -> ::(firstline(z0),nil()) lcstable#2(z0,z1,z2) -> lcstable#3(z0,z1,z2) lcstable#3(::(z0,z1),z2,z3) -> ::(newline(z3,z0,z2),::(z0,z1)) lcstable#3(nil(),z0,z1) -> nil() max(z0,z1) -> max#1(#greater(z0,z1),z0,z1) max#1(#false(),z0,z1) -> z1 max#1(#true(),z0,z1) -> z0 newline(z0,z1,z2) -> newline#1(z2,z1,z0) newline#1(::(z0,z1),z2,z3) -> newline#2(z2,z0,z1,z3) newline#1(nil(),z0,z1) -> nil() newline#2(::(z0,z1),z2,z3,z4) -> newline#3(newline(z4,z1,z3),z0,z1,z2,z4) newline#2(nil(),z0,z1,z2) -> nil() newline#3(z0,z1,z2,z3,z4) -> newline#4(right(z0),z1,z2,z0,z3,z4) newline#4(z0,z1,z2,z3,z4,z5) -> newline#5(right(z2),z1,z3,z0,z4,z5) newline#5(z0,z1,z2,z3,z4,z5) -> newline#6(newline#7(#equal(z4,z5),z1,z0,z3),z2) newline#6(z0,z1) -> ::(z0,z1) newline#7(#false(),z0,z1,z2) -> max(z0,z2) newline#7(#true(),z0,z1,z2) -> +(z1,#pos(#s(#0()))) right(z0) -> right#1(z0) right#1(::(z0,z1)) -> z0 right#1(nil()) -> #abs(#0()) - Signature: {#ABS/1,#ADD/2,#AND/2,#CKGT/1,#COMPARE/2,#EQ'/2,#EQUAL/2,#GREATER/2,#PRED/1,#SUCC/1,#abs/1,#add/2,#and/2 ,#ckgt/1,#compare/2,#eq/2,#equal/2,#greater/2,#pred/1,#succ/1,+/2,+'/2,FIRSTLINE/1,FIRSTLINE#1/1,LCS/2 ,LCS#1/1,LCS#2/1,LCS#3/1,LCSTABLE/2,LCSTABLE#1/2,LCSTABLE#2/3,LCSTABLE#3/3,MAX/2,MAX#1/3,NEWLINE/3 ,NEWLINE#1/3,NEWLINE#2/4,NEWLINE#3/5,NEWLINE#4/6,NEWLINE#5/6,NEWLINE#6/2,NEWLINE#7/4,RIGHT/1,RIGHT#1/1 ,firstline/1,firstline#1/1,lcs/2,lcs#1/1,lcs#2/1,lcs#3/1,lcstable/2,lcstable#1/2,lcstable#2/3,lcstable#3/3 ,max/2,max#1/3,newline/3,newline#1/3,newline#2/4,newline#3/5,newline#4/6,newline#5/6,newline#6/2,newline#7/4 ,right/1,right#1/1,#ABS#/1,#ADD#/2,#AND#/2,#CKGT#/1,#COMPARE#/2,#EQ'#/2,#EQUAL#/2,#GREATER#/2,#PRED#/1 ,#SUCC#/1,#abs#/1,#add#/2,#and#/2,#ckgt#/1,#compare#/2,#eq#/2,#equal#/2,#greater#/2,#pred#/1,#succ#/1,+#/2 ,+'#/2,FIRSTLINE#/1,FIRSTLINE#1#/1,LCS#/2,LCS#1#/1,LCS#2#/1,LCS#3#/1,LCSTABLE#/2,LCSTABLE#1#/2,LCSTABLE#2#/3 ,LCSTABLE#3#/3,MAX#/2,MAX#1#/3,NEWLINE#/3,NEWLINE#1#/3,NEWLINE#2#/4,NEWLINE#3#/5,NEWLINE#4#/6,NEWLINE#5#/6 ,NEWLINE#6#/2,NEWLINE#7#/4,RIGHT#/1,RIGHT#1#/1,firstline#/1,firstline#1#/1,lcs#/2,lcs#1#/1,lcs#2#/1,lcs#3#/1 ,lcstable#/2,lcstable#1#/2,lcstable#2#/3,lcstable#3#/3,max#/2,max#1#/3,newline#/3,newline#1#/3,newline#2#/4 ,newline#3#/5,newline#4#/6,newline#5#/6,newline#6#/2,newline#7#/4,right#/1,right#1#/1} / {#0/0,#EQ/0,#GT/0 ,#LT/0,#false/0,#neg/1,#pos/1,#s/1,#true/0,::/2,c/0,c1/1,c10/0,c11/0,c12/0,c13/0,c14/0,c15/0,c16/0,c17/1 ,c18/0,c19/0,c2/2,c20/0,c21/1,c22/0,c23/1,c24/0,c25/0,c26/0,c27/0,c28/0,c29/1,c3/1,c30/0,c31/0,c32/0,c33/1 ,c34/0,c35/1,c36/2,c37/2,c38/0,c39/0,c4/2,c40/0,c41/0,c42/0,c43/0,c44/0,c45/0,c46/0,c47/0,c48/0,c49/0,c5/0 ,c50/0,c51/0,c52/0,c53/1,c54/2,c55/1,c56/1,c57/1,c58/1,c59/0,c6/0,c60/2,c61/1,c62/1,c63/1,c64/0,c65/1,c66/1 ,c67/2,c68/1,c69/1,c7/0,c70/1,c71/0,c72/2,c73/0,c74/0,c75/1,c76/1,c77/0,c78/2,c79/0,c8/0,c80/2,c81/2,c82/3 ,c83/0,c84/1,c85/1,c86/1,c87/0,c88/1,c9/0,nil/0,c_1/0,c_2/0,c_3/0,c_4/0,c_5/1,c_6/3,c_7/1,c_8/1,c_9/1,c_10/1 ,c_11/0,c_12/1,c_13/1,c_14/1,c_15/1,c_16/0,c_17/1,c_18/1,c_19/2,c_20/1,c_21/1,c_22/1,c_23/0,c_24/3,c_25/0 ,c_26/0,c_27/1,c_28/1,c_29/0,c_30/1,c_31/0,c_32/3,c_33/3,c_34/6,c_35/0,c_36/1,c_37/1,c_38/1,c_39/0,c_40/1 ,c_41/0,c_42/1,c_43/3,c_44/1,c_45/3,c_46/0,c_47/0,c_48/0,c_49/0,c_50/0,c_51/0,c_52/0,c_53/0,c_54/0,c_55/0 ,c_56/0,c_57/0,c_58/1,c_59/0,c_60/0,c_61/0,c_62/1,c_63/0,c_64/1,c_65/0,c_66/0,c_67/0,c_68/0,c_69/0,c_70/1 ,c_71/0,c_72/0,c_73/0,c_74/1,c_75/0,c_76/1,c_77/4,c_78/4,c_79/0,c_80/0,c_81/0,c_82/0,c_83/0,c_84/0,c_85/0 ,c_86/0,c_87/0,c_88/0,c_89/0,c_90/0,c_91/0,c_92/0,c_93/0,c_94/0,c_95/1,c_96/2,c_97/1,c_98/2,c_99/0,c_100/0 ,c_101/0,c_102/0,c_103/0,c_104/0,c_105/0,c_106/0,c_107/0,c_108/0,c_109/0,c_110/0,c_111/1,c_112/0,c_113/0 ,c_114/0,c_115/1,c_116/0,c_117/1,c_118/0,c_119/0,c_120/0,c_121/0,c_122/0,c_123/1,c_124/0,c_125/0,c_126/0 ,c_127/1,c_128/0,c_129/1,c_130/3,c_131/0,c_132/0,c_133/0,c_134/1,c_135/2,c_136/0,c_137/0,c_138/0,c_139/0 ,c_140/0,c_141/0,c_142/0,c_143/0,c_144/1,c_145/1,c_146/2,c_147/0,c_148/2,c_149/1,c_150/1,c_151/1,c_152/0 ,c_153/1,c_154/1,c_155/2,c_156/1,c_157/1,c_158/1,c_159/0,c_160/2,c_161/0,c_162/0,c_163/1,c_164/1,c_165/0 ,c_166/2,c_167/0,c_168/2,c_169/2,c_170/3,c_171/0,c_172/1,c_173/1,c_174/1,c_175/0,c_176/1} - Obligation: innermost runtime complexity wrt. defined symbols {#ABS#,#ADD#,#AND#,#CKGT#,#COMPARE#,#EQ'#,#EQUAL# ,#GREATER#,#PRED#,#SUCC#,#abs#,#add#,#and#,#ckgt#,#compare#,#eq#,#equal#,#greater#,#pred#,#succ#,+#,+'# ,FIRSTLINE#,FIRSTLINE#1#,LCS#,LCS#1#,LCS#2#,LCS#3#,LCSTABLE#,LCSTABLE#1#,LCSTABLE#2#,LCSTABLE#3#,MAX#,MAX#1# ,NEWLINE#,NEWLINE#1#,NEWLINE#2#,NEWLINE#3#,NEWLINE#4#,NEWLINE#5#,NEWLINE#6#,NEWLINE#7#,RIGHT#,RIGHT#1# ,firstline#,firstline#1#,lcs#,lcs#1#,lcs#2#,lcs#3#,lcstable#,lcstable#1#,lcstable#2#,lcstable#3#,max#,max#1# ,newline#,newline#1#,newline#2#,newline#3#,newline#4#,newline#5#,newline#6#,newline#7#,right# ,right#1#} 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,c59,c6,c60,c61,c62,c63,c64,c65 ,c66,c67,c68,c69,c7,c70,c71,c72,c73,c74,c75,c76,c77,c78,c79,c8,c80,c81,c82,c83,c84,c85,c86,c87,c88,c9,nil} + Applied Processor: Assumption {assumed = Certificate {spaceUB = Unknown, spaceLB = Unknown, timeUB = Poly (Just 0), timeLB = Unknown, timeBCUB = Unknown, timeBCLB = Unknown}} + Details: () ****** Step 13.b:3.b:1.b:1.b:1.b:1: PredecessorEstimationCP. WORST_CASE(?,O(n^2)) + Considered Problem: - Strict DPs: NEWLINE#(z0,z1,z2) -> c_27(NEWLINE#1#(z2,z1,z0)) - Weak DPs: LCSTABLE#(z0,z1) -> c_18(LCSTABLE#1#(z0,z1)) LCSTABLE#1#(::(z0,z1),z2) -> c_19(LCSTABLE#2#(lcstable(z1,z2),z2,z0),LCSTABLE#(z1,z2)) LCSTABLE#2#(z0,z1,z2) -> c_21(LCSTABLE#3#(z0,z1,z2)) LCSTABLE#3#(::(z0,z1),z2,z3) -> c_22(NEWLINE#(z3,z0,z2)) NEWLINE#1#(::(z0,z1),z2,z3) -> c_28(NEWLINE#2#(z2,z0,z1,z3)) NEWLINE#2#(::(z0,z1),z2,z3,z4) -> c_30(NEWLINE#(z4,z1,z3)) - Weak TRS: #abs(#0()) -> #0() #add(#0(),z0) -> z0 #add(#neg(#s(#0())),z0) -> #pred(z0) #add(#neg(#s(#s(z0))),z1) -> #pred(#add(#pos(#s(z0)),z1)) #add(#pos(#s(#0())),z0) -> #succ(z0) #add(#pos(#s(#s(z0))),z1) -> #succ(#add(#pos(#s(z0)),z1)) #and(#false(),#false()) -> #false() #and(#false(),#true()) -> #false() #and(#true(),#false()) -> #false() #and(#true(),#true()) -> #true() #ckgt(#EQ()) -> #false() #ckgt(#GT()) -> #true() #ckgt(#LT()) -> #false() #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) #greater(z0,z1) -> #ckgt(#compare(z0,z1)) #pred(#0()) -> #neg(#s(#0())) #pred(#neg(#s(z0))) -> #neg(#s(#s(z0))) #pred(#pos(#s(#0()))) -> #0() #pred(#pos(#s(#s(z0)))) -> #pos(#s(z0)) #succ(#0()) -> #pos(#s(#0())) #succ(#neg(#s(#0()))) -> #0() #succ(#neg(#s(#s(z0)))) -> #neg(#s(z0)) #succ(#pos(#s(z0))) -> #pos(#s(#s(z0))) +(z0,z1) -> #add(z0,z1) firstline(z0) -> firstline#1(z0) firstline#1(::(z0,z1)) -> ::(#abs(#0()),firstline(z1)) firstline#1(nil()) -> nil() lcstable(z0,z1) -> lcstable#1(z0,z1) lcstable#1(::(z0,z1),z2) -> lcstable#2(lcstable(z1,z2),z2,z0) lcstable#1(nil(),z0) -> ::(firstline(z0),nil()) lcstable#2(z0,z1,z2) -> lcstable#3(z0,z1,z2) lcstable#3(::(z0,z1),z2,z3) -> ::(newline(z3,z0,z2),::(z0,z1)) lcstable#3(nil(),z0,z1) -> nil() max(z0,z1) -> max#1(#greater(z0,z1),z0,z1) max#1(#false(),z0,z1) -> z1 max#1(#true(),z0,z1) -> z0 newline(z0,z1,z2) -> newline#1(z2,z1,z0) newline#1(::(z0,z1),z2,z3) -> newline#2(z2,z0,z1,z3) newline#1(nil(),z0,z1) -> nil() newline#2(::(z0,z1),z2,z3,z4) -> newline#3(newline(z4,z1,z3),z0,z1,z2,z4) newline#2(nil(),z0,z1,z2) -> nil() newline#3(z0,z1,z2,z3,z4) -> newline#4(right(z0),z1,z2,z0,z3,z4) newline#4(z0,z1,z2,z3,z4,z5) -> newline#5(right(z2),z1,z3,z0,z4,z5) newline#5(z0,z1,z2,z3,z4,z5) -> newline#6(newline#7(#equal(z4,z5),z1,z0,z3),z2) newline#6(z0,z1) -> ::(z0,z1) newline#7(#false(),z0,z1,z2) -> max(z0,z2) newline#7(#true(),z0,z1,z2) -> +(z1,#pos(#s(#0()))) right(z0) -> right#1(z0) right#1(::(z0,z1)) -> z0 right#1(nil()) -> #abs(#0()) - Signature: {#ABS/1,#ADD/2,#AND/2,#CKGT/1,#COMPARE/2,#EQ'/2,#EQUAL/2,#GREATER/2,#PRED/1,#SUCC/1,#abs/1,#add/2,#and/2 ,#ckgt/1,#compare/2,#eq/2,#equal/2,#greater/2,#pred/1,#succ/1,+/2,+'/2,FIRSTLINE/1,FIRSTLINE#1/1,LCS/2 ,LCS#1/1,LCS#2/1,LCS#3/1,LCSTABLE/2,LCSTABLE#1/2,LCSTABLE#2/3,LCSTABLE#3/3,MAX/2,MAX#1/3,NEWLINE/3 ,NEWLINE#1/3,NEWLINE#2/4,NEWLINE#3/5,NEWLINE#4/6,NEWLINE#5/6,NEWLINE#6/2,NEWLINE#7/4,RIGHT/1,RIGHT#1/1 ,firstline/1,firstline#1/1,lcs/2,lcs#1/1,lcs#2/1,lcs#3/1,lcstable/2,lcstable#1/2,lcstable#2/3,lcstable#3/3 ,max/2,max#1/3,newline/3,newline#1/3,newline#2/4,newline#3/5,newline#4/6,newline#5/6,newline#6/2,newline#7/4 ,right/1,right#1/1,#ABS#/1,#ADD#/2,#AND#/2,#CKGT#/1,#COMPARE#/2,#EQ'#/2,#EQUAL#/2,#GREATER#/2,#PRED#/1 ,#SUCC#/1,#abs#/1,#add#/2,#and#/2,#ckgt#/1,#compare#/2,#eq#/2,#equal#/2,#greater#/2,#pred#/1,#succ#/1,+#/2 ,+'#/2,FIRSTLINE#/1,FIRSTLINE#1#/1,LCS#/2,LCS#1#/1,LCS#2#/1,LCS#3#/1,LCSTABLE#/2,LCSTABLE#1#/2,LCSTABLE#2#/3 ,LCSTABLE#3#/3,MAX#/2,MAX#1#/3,NEWLINE#/3,NEWLINE#1#/3,NEWLINE#2#/4,NEWLINE#3#/5,NEWLINE#4#/6,NEWLINE#5#/6 ,NEWLINE#6#/2,NEWLINE#7#/4,RIGHT#/1,RIGHT#1#/1,firstline#/1,firstline#1#/1,lcs#/2,lcs#1#/1,lcs#2#/1,lcs#3#/1 ,lcstable#/2,lcstable#1#/2,lcstable#2#/3,lcstable#3#/3,max#/2,max#1#/3,newline#/3,newline#1#/3,newline#2#/4 ,newline#3#/5,newline#4#/6,newline#5#/6,newline#6#/2,newline#7#/4,right#/1,right#1#/1} / {#0/0,#EQ/0,#GT/0 ,#LT/0,#false/0,#neg/1,#pos/1,#s/1,#true/0,::/2,c/0,c1/1,c10/0,c11/0,c12/0,c13/0,c14/0,c15/0,c16/0,c17/1 ,c18/0,c19/0,c2/2,c20/0,c21/1,c22/0,c23/1,c24/0,c25/0,c26/0,c27/0,c28/0,c29/1,c3/1,c30/0,c31/0,c32/0,c33/1 ,c34/0,c35/1,c36/2,c37/2,c38/0,c39/0,c4/2,c40/0,c41/0,c42/0,c43/0,c44/0,c45/0,c46/0,c47/0,c48/0,c49/0,c5/0 ,c50/0,c51/0,c52/0,c53/1,c54/2,c55/1,c56/1,c57/1,c58/1,c59/0,c6/0,c60/2,c61/1,c62/1,c63/1,c64/0,c65/1,c66/1 ,c67/2,c68/1,c69/1,c7/0,c70/1,c71/0,c72/2,c73/0,c74/0,c75/1,c76/1,c77/0,c78/2,c79/0,c8/0,c80/2,c81/2,c82/3 ,c83/0,c84/1,c85/1,c86/1,c87/0,c88/1,c9/0,nil/0,c_1/0,c_2/0,c_3/0,c_4/0,c_5/1,c_6/3,c_7/1,c_8/1,c_9/1,c_10/1 ,c_11/0,c_12/1,c_13/1,c_14/1,c_15/1,c_16/0,c_17/1,c_18/1,c_19/2,c_20/1,c_21/1,c_22/1,c_23/0,c_24/3,c_25/0 ,c_26/0,c_27/1,c_28/1,c_29/0,c_30/1,c_31/0,c_32/3,c_33/3,c_34/6,c_35/0,c_36/1,c_37/1,c_38/1,c_39/0,c_40/1 ,c_41/0,c_42/1,c_43/3,c_44/1,c_45/3,c_46/0,c_47/0,c_48/0,c_49/0,c_50/0,c_51/0,c_52/0,c_53/0,c_54/0,c_55/0 ,c_56/0,c_57/0,c_58/1,c_59/0,c_60/0,c_61/0,c_62/1,c_63/0,c_64/1,c_65/0,c_66/0,c_67/0,c_68/0,c_69/0,c_70/1 ,c_71/0,c_72/0,c_73/0,c_74/1,c_75/0,c_76/1,c_77/4,c_78/4,c_79/0,c_80/0,c_81/0,c_82/0,c_83/0,c_84/0,c_85/0 ,c_86/0,c_87/0,c_88/0,c_89/0,c_90/0,c_91/0,c_92/0,c_93/0,c_94/0,c_95/1,c_96/2,c_97/1,c_98/2,c_99/0,c_100/0 ,c_101/0,c_102/0,c_103/0,c_104/0,c_105/0,c_106/0,c_107/0,c_108/0,c_109/0,c_110/0,c_111/1,c_112/0,c_113/0 ,c_114/0,c_115/1,c_116/0,c_117/1,c_118/0,c_119/0,c_120/0,c_121/0,c_122/0,c_123/1,c_124/0,c_125/0,c_126/0 ,c_127/1,c_128/0,c_129/1,c_130/3,c_131/0,c_132/0,c_133/0,c_134/1,c_135/2,c_136/0,c_137/0,c_138/0,c_139/0 ,c_140/0,c_141/0,c_142/0,c_143/0,c_144/1,c_145/1,c_146/2,c_147/0,c_148/2,c_149/1,c_150/1,c_151/1,c_152/0 ,c_153/1,c_154/1,c_155/2,c_156/1,c_157/1,c_158/1,c_159/0,c_160/2,c_161/0,c_162/0,c_163/1,c_164/1,c_165/0 ,c_166/2,c_167/0,c_168/2,c_169/2,c_170/3,c_171/0,c_172/1,c_173/1,c_174/1,c_175/0,c_176/1} - Obligation: innermost runtime complexity wrt. defined symbols {#ABS#,#ADD#,#AND#,#CKGT#,#COMPARE#,#EQ'#,#EQUAL# ,#GREATER#,#PRED#,#SUCC#,#abs#,#add#,#and#,#ckgt#,#compare#,#eq#,#equal#,#greater#,#pred#,#succ#,+#,+'# ,FIRSTLINE#,FIRSTLINE#1#,LCS#,LCS#1#,LCS#2#,LCS#3#,LCSTABLE#,LCSTABLE#1#,LCSTABLE#2#,LCSTABLE#3#,MAX#,MAX#1# ,NEWLINE#,NEWLINE#1#,NEWLINE#2#,NEWLINE#3#,NEWLINE#4#,NEWLINE#5#,NEWLINE#6#,NEWLINE#7#,RIGHT#,RIGHT#1# ,firstline#,firstline#1#,lcs#,lcs#1#,lcs#2#,lcs#3#,lcstable#,lcstable#1#,lcstable#2#,lcstable#3#,max#,max#1# ,newline#,newline#1#,newline#2#,newline#3#,newline#4#,newline#5#,newline#6#,newline#7#,right# ,right#1#} 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,c59,c6,c60,c61,c62,c63,c64,c65 ,c66,c67,c68,c69,c7,c70,c71,c72,c73,c74,c75,c76,c77,c78,c79,c8,c80,c81,c82,c83,c84,c85,c86,c87,c88,c9,nil} + Applied Processor: PredecessorEstimationCP {onSelectionCP = any intersect of rules of CDG leaf and strict-rules, withComplexityPair = NaturalPI {shape = Mixed 2, restrict = Restrict, uargs = UArgs, urules = URules, selector = Nothing}} + Details: We first use the processor NaturalPI {shape = Mixed 2, restrict = Restrict, uargs = UArgs, urules = URules, selector = Nothing} to orient following rules strictly: 1: NEWLINE#(z0,z1,z2) -> c_27(NEWLINE#1#(z2,z1,z0)) Consider the set of all dependency pairs 1: NEWLINE#(z0,z1,z2) -> c_27(NEWLINE#1#(z2,z1,z0)) 2: LCSTABLE#(z0,z1) -> c_18(LCSTABLE#1#(z0,z1)) 3: LCSTABLE#1#(::(z0,z1),z2) -> c_19(LCSTABLE#2#(lcstable(z1,z2),z2,z0),LCSTABLE#(z1,z2)) 4: LCSTABLE#2#(z0,z1,z2) -> c_21(LCSTABLE#3#(z0,z1,z2)) 5: LCSTABLE#3#(::(z0,z1),z2,z3) -> c_22(NEWLINE#(z3,z0,z2)) 6: NEWLINE#1#(::(z0,z1),z2,z3) -> c_28(NEWLINE#2#(z2,z0,z1,z3)) 7: NEWLINE#2#(::(z0,z1),z2,z3,z4) -> c_30(NEWLINE#(z4,z1,z3)) Processor NaturalPI {shape = Mixed 2, restrict = Restrict, uargs = UArgs, urules = URules, selector = Nothing}induces the complexity certificateTIME (?,O(n^2)) BEST_CASE TIME (?,?) SPACE(?,?)on application of the dependency pairs {1} These cover all (indirect) predecessors of dependency pairs {1,6,7} their number of applications is equally bounded. The dependency pairs are shifted into the weak component. ******* Step 13.b:3.b:1.b:1.b:1.b:1.a:1: NaturalPI. WORST_CASE(?,O(n^2)) + Considered Problem: - Strict DPs: NEWLINE#(z0,z1,z2) -> c_27(NEWLINE#1#(z2,z1,z0)) - Weak DPs: LCSTABLE#(z0,z1) -> c_18(LCSTABLE#1#(z0,z1)) LCSTABLE#1#(::(z0,z1),z2) -> c_19(LCSTABLE#2#(lcstable(z1,z2),z2,z0),LCSTABLE#(z1,z2)) LCSTABLE#2#(z0,z1,z2) -> c_21(LCSTABLE#3#(z0,z1,z2)) LCSTABLE#3#(::(z0,z1),z2,z3) -> c_22(NEWLINE#(z3,z0,z2)) NEWLINE#1#(::(z0,z1),z2,z3) -> c_28(NEWLINE#2#(z2,z0,z1,z3)) NEWLINE#2#(::(z0,z1),z2,z3,z4) -> c_30(NEWLINE#(z4,z1,z3)) - Weak TRS: #abs(#0()) -> #0() #add(#0(),z0) -> z0 #add(#neg(#s(#0())),z0) -> #pred(z0) #add(#neg(#s(#s(z0))),z1) -> #pred(#add(#pos(#s(z0)),z1)) #add(#pos(#s(#0())),z0) -> #succ(z0) #add(#pos(#s(#s(z0))),z1) -> #succ(#add(#pos(#s(z0)),z1)) #and(#false(),#false()) -> #false() #and(#false(),#true()) -> #false() #and(#true(),#false()) -> #false() #and(#true(),#true()) -> #true() #ckgt(#EQ()) -> #false() #ckgt(#GT()) -> #true() #ckgt(#LT()) -> #false() #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) #greater(z0,z1) -> #ckgt(#compare(z0,z1)) #pred(#0()) -> #neg(#s(#0())) #pred(#neg(#s(z0))) -> #neg(#s(#s(z0))) #pred(#pos(#s(#0()))) -> #0() #pred(#pos(#s(#s(z0)))) -> #pos(#s(z0)) #succ(#0()) -> #pos(#s(#0())) #succ(#neg(#s(#0()))) -> #0() #succ(#neg(#s(#s(z0)))) -> #neg(#s(z0)) #succ(#pos(#s(z0))) -> #pos(#s(#s(z0))) +(z0,z1) -> #add(z0,z1) firstline(z0) -> firstline#1(z0) firstline#1(::(z0,z1)) -> ::(#abs(#0()),firstline(z1)) firstline#1(nil()) -> nil() lcstable(z0,z1) -> lcstable#1(z0,z1) lcstable#1(::(z0,z1),z2) -> lcstable#2(lcstable(z1,z2),z2,z0) lcstable#1(nil(),z0) -> ::(firstline(z0),nil()) lcstable#2(z0,z1,z2) -> lcstable#3(z0,z1,z2) lcstable#3(::(z0,z1),z2,z3) -> ::(newline(z3,z0,z2),::(z0,z1)) lcstable#3(nil(),z0,z1) -> nil() max(z0,z1) -> max#1(#greater(z0,z1),z0,z1) max#1(#false(),z0,z1) -> z1 max#1(#true(),z0,z1) -> z0 newline(z0,z1,z2) -> newline#1(z2,z1,z0) newline#1(::(z0,z1),z2,z3) -> newline#2(z2,z0,z1,z3) newline#1(nil(),z0,z1) -> nil() newline#2(::(z0,z1),z2,z3,z4) -> newline#3(newline(z4,z1,z3),z0,z1,z2,z4) newline#2(nil(),z0,z1,z2) -> nil() newline#3(z0,z1,z2,z3,z4) -> newline#4(right(z0),z1,z2,z0,z3,z4) newline#4(z0,z1,z2,z3,z4,z5) -> newline#5(right(z2),z1,z3,z0,z4,z5) newline#5(z0,z1,z2,z3,z4,z5) -> newline#6(newline#7(#equal(z4,z5),z1,z0,z3),z2) newline#6(z0,z1) -> ::(z0,z1) newline#7(#false(),z0,z1,z2) -> max(z0,z2) newline#7(#true(),z0,z1,z2) -> +(z1,#pos(#s(#0()))) right(z0) -> right#1(z0) right#1(::(z0,z1)) -> z0 right#1(nil()) -> #abs(#0()) - Signature: {#ABS/1,#ADD/2,#AND/2,#CKGT/1,#COMPARE/2,#EQ'/2,#EQUAL/2,#GREATER/2,#PRED/1,#SUCC/1,#abs/1,#add/2,#and/2 ,#ckgt/1,#compare/2,#eq/2,#equal/2,#greater/2,#pred/1,#succ/1,+/2,+'/2,FIRSTLINE/1,FIRSTLINE#1/1,LCS/2 ,LCS#1/1,LCS#2/1,LCS#3/1,LCSTABLE/2,LCSTABLE#1/2,LCSTABLE#2/3,LCSTABLE#3/3,MAX/2,MAX#1/3,NEWLINE/3 ,NEWLINE#1/3,NEWLINE#2/4,NEWLINE#3/5,NEWLINE#4/6,NEWLINE#5/6,NEWLINE#6/2,NEWLINE#7/4,RIGHT/1,RIGHT#1/1 ,firstline/1,firstline#1/1,lcs/2,lcs#1/1,lcs#2/1,lcs#3/1,lcstable/2,lcstable#1/2,lcstable#2/3,lcstable#3/3 ,max/2,max#1/3,newline/3,newline#1/3,newline#2/4,newline#3/5,newline#4/6,newline#5/6,newline#6/2,newline#7/4 ,right/1,right#1/1,#ABS#/1,#ADD#/2,#AND#/2,#CKGT#/1,#COMPARE#/2,#EQ'#/2,#EQUAL#/2,#GREATER#/2,#PRED#/1 ,#SUCC#/1,#abs#/1,#add#/2,#and#/2,#ckgt#/1,#compare#/2,#eq#/2,#equal#/2,#greater#/2,#pred#/1,#succ#/1,+#/2 ,+'#/2,FIRSTLINE#/1,FIRSTLINE#1#/1,LCS#/2,LCS#1#/1,LCS#2#/1,LCS#3#/1,LCSTABLE#/2,LCSTABLE#1#/2,LCSTABLE#2#/3 ,LCSTABLE#3#/3,MAX#/2,MAX#1#/3,NEWLINE#/3,NEWLINE#1#/3,NEWLINE#2#/4,NEWLINE#3#/5,NEWLINE#4#/6,NEWLINE#5#/6 ,NEWLINE#6#/2,NEWLINE#7#/4,RIGHT#/1,RIGHT#1#/1,firstline#/1,firstline#1#/1,lcs#/2,lcs#1#/1,lcs#2#/1,lcs#3#/1 ,lcstable#/2,lcstable#1#/2,lcstable#2#/3,lcstable#3#/3,max#/2,max#1#/3,newline#/3,newline#1#/3,newline#2#/4 ,newline#3#/5,newline#4#/6,newline#5#/6,newline#6#/2,newline#7#/4,right#/1,right#1#/1} / {#0/0,#EQ/0,#GT/0 ,#LT/0,#false/0,#neg/1,#pos/1,#s/1,#true/0,::/2,c/0,c1/1,c10/0,c11/0,c12/0,c13/0,c14/0,c15/0,c16/0,c17/1 ,c18/0,c19/0,c2/2,c20/0,c21/1,c22/0,c23/1,c24/0,c25/0,c26/0,c27/0,c28/0,c29/1,c3/1,c30/0,c31/0,c32/0,c33/1 ,c34/0,c35/1,c36/2,c37/2,c38/0,c39/0,c4/2,c40/0,c41/0,c42/0,c43/0,c44/0,c45/0,c46/0,c47/0,c48/0,c49/0,c5/0 ,c50/0,c51/0,c52/0,c53/1,c54/2,c55/1,c56/1,c57/1,c58/1,c59/0,c6/0,c60/2,c61/1,c62/1,c63/1,c64/0,c65/1,c66/1 ,c67/2,c68/1,c69/1,c7/0,c70/1,c71/0,c72/2,c73/0,c74/0,c75/1,c76/1,c77/0,c78/2,c79/0,c8/0,c80/2,c81/2,c82/3 ,c83/0,c84/1,c85/1,c86/1,c87/0,c88/1,c9/0,nil/0,c_1/0,c_2/0,c_3/0,c_4/0,c_5/1,c_6/3,c_7/1,c_8/1,c_9/1,c_10/1 ,c_11/0,c_12/1,c_13/1,c_14/1,c_15/1,c_16/0,c_17/1,c_18/1,c_19/2,c_20/1,c_21/1,c_22/1,c_23/0,c_24/3,c_25/0 ,c_26/0,c_27/1,c_28/1,c_29/0,c_30/1,c_31/0,c_32/3,c_33/3,c_34/6,c_35/0,c_36/1,c_37/1,c_38/1,c_39/0,c_40/1 ,c_41/0,c_42/1,c_43/3,c_44/1,c_45/3,c_46/0,c_47/0,c_48/0,c_49/0,c_50/0,c_51/0,c_52/0,c_53/0,c_54/0,c_55/0 ,c_56/0,c_57/0,c_58/1,c_59/0,c_60/0,c_61/0,c_62/1,c_63/0,c_64/1,c_65/0,c_66/0,c_67/0,c_68/0,c_69/0,c_70/1 ,c_71/0,c_72/0,c_73/0,c_74/1,c_75/0,c_76/1,c_77/4,c_78/4,c_79/0,c_80/0,c_81/0,c_82/0,c_83/0,c_84/0,c_85/0 ,c_86/0,c_87/0,c_88/0,c_89/0,c_90/0,c_91/0,c_92/0,c_93/0,c_94/0,c_95/1,c_96/2,c_97/1,c_98/2,c_99/0,c_100/0 ,c_101/0,c_102/0,c_103/0,c_104/0,c_105/0,c_106/0,c_107/0,c_108/0,c_109/0,c_110/0,c_111/1,c_112/0,c_113/0 ,c_114/0,c_115/1,c_116/0,c_117/1,c_118/0,c_119/0,c_120/0,c_121/0,c_122/0,c_123/1,c_124/0,c_125/0,c_126/0 ,c_127/1,c_128/0,c_129/1,c_130/3,c_131/0,c_132/0,c_133/0,c_134/1,c_135/2,c_136/0,c_137/0,c_138/0,c_139/0 ,c_140/0,c_141/0,c_142/0,c_143/0,c_144/1,c_145/1,c_146/2,c_147/0,c_148/2,c_149/1,c_150/1,c_151/1,c_152/0 ,c_153/1,c_154/1,c_155/2,c_156/1,c_157/1,c_158/1,c_159/0,c_160/2,c_161/0,c_162/0,c_163/1,c_164/1,c_165/0 ,c_166/2,c_167/0,c_168/2,c_169/2,c_170/3,c_171/0,c_172/1,c_173/1,c_174/1,c_175/0,c_176/1} - Obligation: innermost runtime complexity wrt. defined symbols {#ABS#,#ADD#,#AND#,#CKGT#,#COMPARE#,#EQ'#,#EQUAL# ,#GREATER#,#PRED#,#SUCC#,#abs#,#add#,#and#,#ckgt#,#compare#,#eq#,#equal#,#greater#,#pred#,#succ#,+#,+'# ,FIRSTLINE#,FIRSTLINE#1#,LCS#,LCS#1#,LCS#2#,LCS#3#,LCSTABLE#,LCSTABLE#1#,LCSTABLE#2#,LCSTABLE#3#,MAX#,MAX#1# ,NEWLINE#,NEWLINE#1#,NEWLINE#2#,NEWLINE#3#,NEWLINE#4#,NEWLINE#5#,NEWLINE#6#,NEWLINE#7#,RIGHT#,RIGHT#1# ,firstline#,firstline#1#,lcs#,lcs#1#,lcs#2#,lcs#3#,lcstable#,lcstable#1#,lcstable#2#,lcstable#3#,max#,max#1# ,newline#,newline#1#,newline#2#,newline#3#,newline#4#,newline#5#,newline#6#,newline#7#,right# ,right#1#} 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,c59,c6,c60,c61,c62,c63,c64,c65 ,c66,c67,c68,c69,c7,c70,c71,c72,c73,c74,c75,c76,c77,c78,c79,c8,c80,c81,c82,c83,c84,c85,c86,c87,c88,c9,nil} + Applied Processor: NaturalPI {shape = Mixed 2, restrict = Restrict, uargs = UArgs, urules = URules, selector = Just first alternative for predecessorEstimation on any intersect of rules of CDG leaf and strict-rules} + Details: We apply a polynomial interpretation of kind constructor-based(mixed(2)): The following argument positions are considered usable: uargs(c_18) = {1}, uargs(c_19) = {1,2}, uargs(c_21) = {1}, uargs(c_22) = {1}, uargs(c_27) = {1}, uargs(c_28) = {1}, uargs(c_30) = {1} Following symbols are considered usable: {#ABS#,#ADD#,#AND#,#CKGT#,#COMPARE#,#EQ'#,#EQUAL#,#GREATER#,#PRED#,#SUCC#,#abs#,#add#,#and#,#ckgt# ,#compare#,#eq#,#equal#,#greater#,#pred#,#succ#,+#,+'#,FIRSTLINE#,FIRSTLINE#1#,LCS#,LCS#1#,LCS#2#,LCS#3# ,LCSTABLE#,LCSTABLE#1#,LCSTABLE#2#,LCSTABLE#3#,MAX#,MAX#1#,NEWLINE#,NEWLINE#1#,NEWLINE#2#,NEWLINE#3# ,NEWLINE#4#,NEWLINE#5#,NEWLINE#6#,NEWLINE#7#,RIGHT#,RIGHT#1#,firstline#,firstline#1#,lcs#,lcs#1#,lcs#2# ,lcs#3#,lcstable#,lcstable#1#,lcstable#2#,lcstable#3#,max#,max#1#,newline#,newline#1#,newline#2#,newline#3# ,newline#4#,newline#5#,newline#6#,newline#7#,right#,right#1#} TcT has computed the following interpretation: p(#0) = 1 p(#ABS) = 0 p(#ADD) = 0 p(#AND) = 0 p(#CKGT) = 0 p(#COMPARE) = 0 p(#EQ) = 0 p(#EQ') = 0 p(#EQUAL) = 0 p(#GREATER) = 0 p(#GT) = 0 p(#LT) = 0 p(#PRED) = 0 p(#SUCC) = 0 p(#abs) = 1 + x1 p(#add) = x2^2 p(#and) = x2 + x2^2 p(#ckgt) = 0 p(#compare) = x2 p(#eq) = 1 p(#equal) = 0 p(#false) = 0 p(#greater) = 1 + x1^2 + x2 p(#neg) = 0 p(#pos) = 0 p(#pred) = 0 p(#s) = 0 p(#succ) = 1 p(#true) = 1 p(+) = 1 p(+') = 0 p(::) = 1 + x2 p(FIRSTLINE) = 0 p(FIRSTLINE#1) = 0 p(LCS) = 0 p(LCS#1) = 0 p(LCS#2) = 0 p(LCS#3) = 0 p(LCSTABLE) = 0 p(LCSTABLE#1) = 0 p(LCSTABLE#2) = 0 p(LCSTABLE#3) = 0 p(MAX) = 0 p(MAX#1) = 0 p(NEWLINE) = 0 p(NEWLINE#1) = 0 p(NEWLINE#2) = 0 p(NEWLINE#3) = 0 p(NEWLINE#4) = 0 p(NEWLINE#5) = 0 p(NEWLINE#6) = 0 p(NEWLINE#7) = 0 p(RIGHT) = 0 p(RIGHT#1) = 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) = 0 p(c25) = 0 p(c26) = 0 p(c27) = 0 p(c28) = 0 p(c29) = 0 p(c3) = 0 p(c30) = 0 p(c31) = 0 p(c32) = 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) = 0 p(c41) = 0 p(c42) = 0 p(c43) = 0 p(c44) = 0 p(c45) = 0 p(c46) = 0 p(c47) = 0 p(c48) = 0 p(c49) = 0 p(c5) = 0 p(c50) = 0 p(c51) = 0 p(c52) = 0 p(c53) = 0 p(c54) = 0 p(c55) = 0 p(c56) = 0 p(c57) = 0 p(c58) = 0 p(c59) = 0 p(c6) = 0 p(c60) = 0 p(c61) = 0 p(c62) = 0 p(c63) = 0 p(c64) = 0 p(c65) = 0 p(c66) = 0 p(c67) = 0 p(c68) = 0 p(c69) = 0 p(c7) = 0 p(c70) = 0 p(c71) = 0 p(c72) = 0 p(c73) = 0 p(c74) = 0 p(c75) = 0 p(c76) = 0 p(c77) = 0 p(c78) = 0 p(c79) = 0 p(c8) = 0 p(c80) = 0 p(c81) = 0 p(c82) = 0 p(c83) = 0 p(c84) = 0 p(c85) = 0 p(c86) = 0 p(c87) = 0 p(c88) = 0 p(c9) = 0 p(firstline) = 1 p(firstline#1) = 0 p(lcs) = 0 p(lcs#1) = 0 p(lcs#2) = 0 p(lcs#3) = 0 p(lcstable) = 0 p(lcstable#1) = 0 p(lcstable#2) = 0 p(lcstable#3) = 1 + x1 + x1^2 + x2 p(max) = x1^2 p(max#1) = x1 + x1^2 + x3^2 p(newline) = x1*x3 p(newline#1) = x2 + x2^2 p(newline#2) = 1 p(newline#3) = x2 + x2*x3 + x3 + x3*x4 + x3^2 + x4 p(newline#4) = x1*x3 + x1*x4 + x2*x5 p(newline#5) = x2*x4 + x3^2 + x4*x6 + x5 + x6^2 p(newline#6) = 1 + x2 + x2^2 p(newline#7) = x1 + x1^2 p(nil) = 0 p(right) = x1 p(right#1) = 1 p(#ABS#) = 0 p(#ADD#) = 0 p(#AND#) = 0 p(#CKGT#) = 0 p(#COMPARE#) = 0 p(#EQ'#) = 0 p(#EQUAL#) = 0 p(#GREATER#) = 0 p(#PRED#) = 0 p(#SUCC#) = 0 p(#abs#) = 0 p(#add#) = 0 p(#and#) = 0 p(#ckgt#) = 0 p(#compare#) = 0 p(#eq#) = 0 p(#equal#) = 0 p(#greater#) = 0 p(#pred#) = 0 p(#succ#) = 0 p(+#) = 0 p(+'#) = 0 p(FIRSTLINE#) = 0 p(FIRSTLINE#1#) = 0 p(LCS#) = 0 p(LCS#1#) = 0 p(LCS#2#) = 0 p(LCS#3#) = 0 p(LCSTABLE#) = 1 + x1 + x1*x2 + x1^2 p(LCSTABLE#1#) = x1 + x1*x2 + x1^2 p(LCSTABLE#2#) = 1 + x2 p(LCSTABLE#3#) = 1 + x2 p(MAX#) = 0 p(MAX#1#) = 0 p(NEWLINE#) = 1 + x3 p(NEWLINE#1#) = x1 p(NEWLINE#2#) = 1 + x3 p(NEWLINE#3#) = 0 p(NEWLINE#4#) = 0 p(NEWLINE#5#) = 0 p(NEWLINE#6#) = 0 p(NEWLINE#7#) = 0 p(RIGHT#) = 0 p(RIGHT#1#) = 0 p(firstline#) = 0 p(firstline#1#) = 0 p(lcs#) = 0 p(lcs#1#) = 0 p(lcs#2#) = 0 p(lcs#3#) = 0 p(lcstable#) = 0 p(lcstable#1#) = 0 p(lcstable#2#) = 0 p(lcstable#3#) = 0 p(max#) = 0 p(max#1#) = 0 p(newline#) = 0 p(newline#1#) = 0 p(newline#2#) = 0 p(newline#3#) = 0 p(newline#4#) = 0 p(newline#5#) = 0 p(newline#6#) = 0 p(newline#7#) = 0 p(right#) = 0 p(right#1#) = 0 p(c_1) = 0 p(c_2) = 0 p(c_3) = 0 p(c_4) = 0 p(c_5) = 0 p(c_6) = 0 p(c_7) = 0 p(c_8) = 0 p(c_9) = 0 p(c_10) = 0 p(c_11) = 0 p(c_12) = 0 p(c_13) = 0 p(c_14) = 0 p(c_15) = 0 p(c_16) = 0 p(c_17) = 0 p(c_18) = 1 + x1 p(c_19) = x1 + x2 p(c_20) = 0 p(c_21) = x1 p(c_22) = x1 p(c_23) = 0 p(c_24) = 0 p(c_25) = 0 p(c_26) = 0 p(c_27) = x1 p(c_28) = x1 p(c_29) = 0 p(c_30) = x1 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) = 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) = 0 p(c_114) = 0 p(c_115) = 0 p(c_116) = 0 p(c_117) = 0 p(c_118) = 0 p(c_119) = 0 p(c_120) = 0 p(c_121) = 0 p(c_122) = 0 p(c_123) = 0 p(c_124) = 0 p(c_125) = 0 p(c_126) = 0 p(c_127) = 0 p(c_128) = 0 p(c_129) = 0 p(c_130) = 0 p(c_131) = 0 p(c_132) = 0 p(c_133) = 0 p(c_134) = 0 p(c_135) = 0 p(c_136) = 0 p(c_137) = 0 p(c_138) = 0 p(c_139) = 0 p(c_140) = 0 p(c_141) = 0 p(c_142) = 0 p(c_143) = 0 p(c_144) = 0 p(c_145) = 0 p(c_146) = 0 p(c_147) = 0 p(c_148) = 0 p(c_149) = 0 p(c_150) = 0 p(c_151) = 0 p(c_152) = 0 p(c_153) = 0 p(c_154) = 0 p(c_155) = 0 p(c_156) = 0 p(c_157) = 0 p(c_158) = 0 p(c_159) = 0 p(c_160) = 0 p(c_161) = 0 p(c_162) = 0 p(c_163) = 0 p(c_164) = 0 p(c_165) = 0 p(c_166) = 0 p(c_167) = 0 p(c_168) = 0 p(c_169) = 0 p(c_170) = 0 p(c_171) = 0 p(c_172) = 0 p(c_173) = 0 p(c_174) = 0 p(c_175) = 0 p(c_176) = 0 Following rules are strictly oriented: NEWLINE#(z0,z1,z2) = 1 + z2 > z2 = c_27(NEWLINE#1#(z2,z1,z0)) Following rules are (at-least) weakly oriented: LCSTABLE#(z0,z1) = 1 + z0 + z0*z1 + z0^2 >= 1 + z0 + z0*z1 + z0^2 = c_18(LCSTABLE#1#(z0,z1)) LCSTABLE#1#(::(z0,z1),z2) = 2 + 3*z1 + z1*z2 + z1^2 + z2 >= 2 + z1 + z1*z2 + z1^2 + z2 = c_19(LCSTABLE#2#(lcstable(z1,z2),z2,z0),LCSTABLE#(z1,z2)) LCSTABLE#2#(z0,z1,z2) = 1 + z1 >= 1 + z1 = c_21(LCSTABLE#3#(z0,z1,z2)) LCSTABLE#3#(::(z0,z1),z2,z3) = 1 + z2 >= 1 + z2 = c_22(NEWLINE#(z3,z0,z2)) NEWLINE#1#(::(z0,z1),z2,z3) = 1 + z1 >= 1 + z1 = c_28(NEWLINE#2#(z2,z0,z1,z3)) NEWLINE#2#(::(z0,z1),z2,z3,z4) = 1 + z3 >= 1 + z3 = c_30(NEWLINE#(z4,z1,z3)) ******* Step 13.b:3.b:1.b:1.b:1.b:1.a:2: Assumption. WORST_CASE(?,O(1)) + Considered Problem: - Weak DPs: LCSTABLE#(z0,z1) -> c_18(LCSTABLE#1#(z0,z1)) LCSTABLE#1#(::(z0,z1),z2) -> c_19(LCSTABLE#2#(lcstable(z1,z2),z2,z0),LCSTABLE#(z1,z2)) LCSTABLE#2#(z0,z1,z2) -> c_21(LCSTABLE#3#(z0,z1,z2)) LCSTABLE#3#(::(z0,z1),z2,z3) -> c_22(NEWLINE#(z3,z0,z2)) NEWLINE#(z0,z1,z2) -> c_27(NEWLINE#1#(z2,z1,z0)) NEWLINE#1#(::(z0,z1),z2,z3) -> c_28(NEWLINE#2#(z2,z0,z1,z3)) NEWLINE#2#(::(z0,z1),z2,z3,z4) -> c_30(NEWLINE#(z4,z1,z3)) - Weak TRS: #abs(#0()) -> #0() #add(#0(),z0) -> z0 #add(#neg(#s(#0())),z0) -> #pred(z0) #add(#neg(#s(#s(z0))),z1) -> #pred(#add(#pos(#s(z0)),z1)) #add(#pos(#s(#0())),z0) -> #succ(z0) #add(#pos(#s(#s(z0))),z1) -> #succ(#add(#pos(#s(z0)),z1)) #and(#false(),#false()) -> #false() #and(#false(),#true()) -> #false() #and(#true(),#false()) -> #false() #and(#true(),#true()) -> #true() #ckgt(#EQ()) -> #false() #ckgt(#GT()) -> #true() #ckgt(#LT()) -> #false() #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) #greater(z0,z1) -> #ckgt(#compare(z0,z1)) #pred(#0()) -> #neg(#s(#0())) #pred(#neg(#s(z0))) -> #neg(#s(#s(z0))) #pred(#pos(#s(#0()))) -> #0() #pred(#pos(#s(#s(z0)))) -> #pos(#s(z0)) #succ(#0()) -> #pos(#s(#0())) #succ(#neg(#s(#0()))) -> #0() #succ(#neg(#s(#s(z0)))) -> #neg(#s(z0)) #succ(#pos(#s(z0))) -> #pos(#s(#s(z0))) +(z0,z1) -> #add(z0,z1) firstline(z0) -> firstline#1(z0) firstline#1(::(z0,z1)) -> ::(#abs(#0()),firstline(z1)) firstline#1(nil()) -> nil() lcstable(z0,z1) -> lcstable#1(z0,z1) lcstable#1(::(z0,z1),z2) -> lcstable#2(lcstable(z1,z2),z2,z0) lcstable#1(nil(),z0) -> ::(firstline(z0),nil()) lcstable#2(z0,z1,z2) -> lcstable#3(z0,z1,z2) lcstable#3(::(z0,z1),z2,z3) -> ::(newline(z3,z0,z2),::(z0,z1)) lcstable#3(nil(),z0,z1) -> nil() max(z0,z1) -> max#1(#greater(z0,z1),z0,z1) max#1(#false(),z0,z1) -> z1 max#1(#true(),z0,z1) -> z0 newline(z0,z1,z2) -> newline#1(z2,z1,z0) newline#1(::(z0,z1),z2,z3) -> newline#2(z2,z0,z1,z3) newline#1(nil(),z0,z1) -> nil() newline#2(::(z0,z1),z2,z3,z4) -> newline#3(newline(z4,z1,z3),z0,z1,z2,z4) newline#2(nil(),z0,z1,z2) -> nil() newline#3(z0,z1,z2,z3,z4) -> newline#4(right(z0),z1,z2,z0,z3,z4) newline#4(z0,z1,z2,z3,z4,z5) -> newline#5(right(z2),z1,z3,z0,z4,z5) newline#5(z0,z1,z2,z3,z4,z5) -> newline#6(newline#7(#equal(z4,z5),z1,z0,z3),z2) newline#6(z0,z1) -> ::(z0,z1) newline#7(#false(),z0,z1,z2) -> max(z0,z2) newline#7(#true(),z0,z1,z2) -> +(z1,#pos(#s(#0()))) right(z0) -> right#1(z0) right#1(::(z0,z1)) -> z0 right#1(nil()) -> #abs(#0()) - Signature: {#ABS/1,#ADD/2,#AND/2,#CKGT/1,#COMPARE/2,#EQ'/2,#EQUAL/2,#GREATER/2,#PRED/1,#SUCC/1,#abs/1,#add/2,#and/2 ,#ckgt/1,#compare/2,#eq/2,#equal/2,#greater/2,#pred/1,#succ/1,+/2,+'/2,FIRSTLINE/1,FIRSTLINE#1/1,LCS/2 ,LCS#1/1,LCS#2/1,LCS#3/1,LCSTABLE/2,LCSTABLE#1/2,LCSTABLE#2/3,LCSTABLE#3/3,MAX/2,MAX#1/3,NEWLINE/3 ,NEWLINE#1/3,NEWLINE#2/4,NEWLINE#3/5,NEWLINE#4/6,NEWLINE#5/6,NEWLINE#6/2,NEWLINE#7/4,RIGHT/1,RIGHT#1/1 ,firstline/1,firstline#1/1,lcs/2,lcs#1/1,lcs#2/1,lcs#3/1,lcstable/2,lcstable#1/2,lcstable#2/3,lcstable#3/3 ,max/2,max#1/3,newline/3,newline#1/3,newline#2/4,newline#3/5,newline#4/6,newline#5/6,newline#6/2,newline#7/4 ,right/1,right#1/1,#ABS#/1,#ADD#/2,#AND#/2,#CKGT#/1,#COMPARE#/2,#EQ'#/2,#EQUAL#/2,#GREATER#/2,#PRED#/1 ,#SUCC#/1,#abs#/1,#add#/2,#and#/2,#ckgt#/1,#compare#/2,#eq#/2,#equal#/2,#greater#/2,#pred#/1,#succ#/1,+#/2 ,+'#/2,FIRSTLINE#/1,FIRSTLINE#1#/1,LCS#/2,LCS#1#/1,LCS#2#/1,LCS#3#/1,LCSTABLE#/2,LCSTABLE#1#/2,LCSTABLE#2#/3 ,LCSTABLE#3#/3,MAX#/2,MAX#1#/3,NEWLINE#/3,NEWLINE#1#/3,NEWLINE#2#/4,NEWLINE#3#/5,NEWLINE#4#/6,NEWLINE#5#/6 ,NEWLINE#6#/2,NEWLINE#7#/4,RIGHT#/1,RIGHT#1#/1,firstline#/1,firstline#1#/1,lcs#/2,lcs#1#/1,lcs#2#/1,lcs#3#/1 ,lcstable#/2,lcstable#1#/2,lcstable#2#/3,lcstable#3#/3,max#/2,max#1#/3,newline#/3,newline#1#/3,newline#2#/4 ,newline#3#/5,newline#4#/6,newline#5#/6,newline#6#/2,newline#7#/4,right#/1,right#1#/1} / {#0/0,#EQ/0,#GT/0 ,#LT/0,#false/0,#neg/1,#pos/1,#s/1,#true/0,::/2,c/0,c1/1,c10/0,c11/0,c12/0,c13/0,c14/0,c15/0,c16/0,c17/1 ,c18/0,c19/0,c2/2,c20/0,c21/1,c22/0,c23/1,c24/0,c25/0,c26/0,c27/0,c28/0,c29/1,c3/1,c30/0,c31/0,c32/0,c33/1 ,c34/0,c35/1,c36/2,c37/2,c38/0,c39/0,c4/2,c40/0,c41/0,c42/0,c43/0,c44/0,c45/0,c46/0,c47/0,c48/0,c49/0,c5/0 ,c50/0,c51/0,c52/0,c53/1,c54/2,c55/1,c56/1,c57/1,c58/1,c59/0,c6/0,c60/2,c61/1,c62/1,c63/1,c64/0,c65/1,c66/1 ,c67/2,c68/1,c69/1,c7/0,c70/1,c71/0,c72/2,c73/0,c74/0,c75/1,c76/1,c77/0,c78/2,c79/0,c8/0,c80/2,c81/2,c82/3 ,c83/0,c84/1,c85/1,c86/1,c87/0,c88/1,c9/0,nil/0,c_1/0,c_2/0,c_3/0,c_4/0,c_5/1,c_6/3,c_7/1,c_8/1,c_9/1,c_10/1 ,c_11/0,c_12/1,c_13/1,c_14/1,c_15/1,c_16/0,c_17/1,c_18/1,c_19/2,c_20/1,c_21/1,c_22/1,c_23/0,c_24/3,c_25/0 ,c_26/0,c_27/1,c_28/1,c_29/0,c_30/1,c_31/0,c_32/3,c_33/3,c_34/6,c_35/0,c_36/1,c_37/1,c_38/1,c_39/0,c_40/1 ,c_41/0,c_42/1,c_43/3,c_44/1,c_45/3,c_46/0,c_47/0,c_48/0,c_49/0,c_50/0,c_51/0,c_52/0,c_53/0,c_54/0,c_55/0 ,c_56/0,c_57/0,c_58/1,c_59/0,c_60/0,c_61/0,c_62/1,c_63/0,c_64/1,c_65/0,c_66/0,c_67/0,c_68/0,c_69/0,c_70/1 ,c_71/0,c_72/0,c_73/0,c_74/1,c_75/0,c_76/1,c_77/4,c_78/4,c_79/0,c_80/0,c_81/0,c_82/0,c_83/0,c_84/0,c_85/0 ,c_86/0,c_87/0,c_88/0,c_89/0,c_90/0,c_91/0,c_92/0,c_93/0,c_94/0,c_95/1,c_96/2,c_97/1,c_98/2,c_99/0,c_100/0 ,c_101/0,c_102/0,c_103/0,c_104/0,c_105/0,c_106/0,c_107/0,c_108/0,c_109/0,c_110/0,c_111/1,c_112/0,c_113/0 ,c_114/0,c_115/1,c_116/0,c_117/1,c_118/0,c_119/0,c_120/0,c_121/0,c_122/0,c_123/1,c_124/0,c_125/0,c_126/0 ,c_127/1,c_128/0,c_129/1,c_130/3,c_131/0,c_132/0,c_133/0,c_134/1,c_135/2,c_136/0,c_137/0,c_138/0,c_139/0 ,c_140/0,c_141/0,c_142/0,c_143/0,c_144/1,c_145/1,c_146/2,c_147/0,c_148/2,c_149/1,c_150/1,c_151/1,c_152/0 ,c_153/1,c_154/1,c_155/2,c_156/1,c_157/1,c_158/1,c_159/0,c_160/2,c_161/0,c_162/0,c_163/1,c_164/1,c_165/0 ,c_166/2,c_167/0,c_168/2,c_169/2,c_170/3,c_171/0,c_172/1,c_173/1,c_174/1,c_175/0,c_176/1} - Obligation: innermost runtime complexity wrt. defined symbols {#ABS#,#ADD#,#AND#,#CKGT#,#COMPARE#,#EQ'#,#EQUAL# ,#GREATER#,#PRED#,#SUCC#,#abs#,#add#,#and#,#ckgt#,#compare#,#eq#,#equal#,#greater#,#pred#,#succ#,+#,+'# ,FIRSTLINE#,FIRSTLINE#1#,LCS#,LCS#1#,LCS#2#,LCS#3#,LCSTABLE#,LCSTABLE#1#,LCSTABLE#2#,LCSTABLE#3#,MAX#,MAX#1# ,NEWLINE#,NEWLINE#1#,NEWLINE#2#,NEWLINE#3#,NEWLINE#4#,NEWLINE#5#,NEWLINE#6#,NEWLINE#7#,RIGHT#,RIGHT#1# ,firstline#,firstline#1#,lcs#,lcs#1#,lcs#2#,lcs#3#,lcstable#,lcstable#1#,lcstable#2#,lcstable#3#,max#,max#1# ,newline#,newline#1#,newline#2#,newline#3#,newline#4#,newline#5#,newline#6#,newline#7#,right# ,right#1#} 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,c59,c6,c60,c61,c62,c63,c64,c65 ,c66,c67,c68,c69,c7,c70,c71,c72,c73,c74,c75,c76,c77,c78,c79,c8,c80,c81,c82,c83,c84,c85,c86,c87,c88,c9,nil} + Applied Processor: Assumption {assumed = Certificate {spaceUB = Unknown, spaceLB = Unknown, timeUB = Poly (Just 0), timeLB = Unknown, timeBCUB = Unknown, timeBCLB = Unknown}} + Details: () ******* Step 13.b:3.b:1.b:1.b:1.b:1.b:1: RemoveWeakSuffixes. WORST_CASE(?,O(1)) + Considered Problem: - Weak DPs: LCSTABLE#(z0,z1) -> c_18(LCSTABLE#1#(z0,z1)) LCSTABLE#1#(::(z0,z1),z2) -> c_19(LCSTABLE#2#(lcstable(z1,z2),z2,z0),LCSTABLE#(z1,z2)) LCSTABLE#2#(z0,z1,z2) -> c_21(LCSTABLE#3#(z0,z1,z2)) LCSTABLE#3#(::(z0,z1),z2,z3) -> c_22(NEWLINE#(z3,z0,z2)) NEWLINE#(z0,z1,z2) -> c_27(NEWLINE#1#(z2,z1,z0)) NEWLINE#1#(::(z0,z1),z2,z3) -> c_28(NEWLINE#2#(z2,z0,z1,z3)) NEWLINE#2#(::(z0,z1),z2,z3,z4) -> c_30(NEWLINE#(z4,z1,z3)) - Weak TRS: #abs(#0()) -> #0() #add(#0(),z0) -> z0 #add(#neg(#s(#0())),z0) -> #pred(z0) #add(#neg(#s(#s(z0))),z1) -> #pred(#add(#pos(#s(z0)),z1)) #add(#pos(#s(#0())),z0) -> #succ(z0) #add(#pos(#s(#s(z0))),z1) -> #succ(#add(#pos(#s(z0)),z1)) #and(#false(),#false()) -> #false() #and(#false(),#true()) -> #false() #and(#true(),#false()) -> #false() #and(#true(),#true()) -> #true() #ckgt(#EQ()) -> #false() #ckgt(#GT()) -> #true() #ckgt(#LT()) -> #false() #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) #greater(z0,z1) -> #ckgt(#compare(z0,z1)) #pred(#0()) -> #neg(#s(#0())) #pred(#neg(#s(z0))) -> #neg(#s(#s(z0))) #pred(#pos(#s(#0()))) -> #0() #pred(#pos(#s(#s(z0)))) -> #pos(#s(z0)) #succ(#0()) -> #pos(#s(#0())) #succ(#neg(#s(#0()))) -> #0() #succ(#neg(#s(#s(z0)))) -> #neg(#s(z0)) #succ(#pos(#s(z0))) -> #pos(#s(#s(z0))) +(z0,z1) -> #add(z0,z1) firstline(z0) -> firstline#1(z0) firstline#1(::(z0,z1)) -> ::(#abs(#0()),firstline(z1)) firstline#1(nil()) -> nil() lcstable(z0,z1) -> lcstable#1(z0,z1) lcstable#1(::(z0,z1),z2) -> lcstable#2(lcstable(z1,z2),z2,z0) lcstable#1(nil(),z0) -> ::(firstline(z0),nil()) lcstable#2(z0,z1,z2) -> lcstable#3(z0,z1,z2) lcstable#3(::(z0,z1),z2,z3) -> ::(newline(z3,z0,z2),::(z0,z1)) lcstable#3(nil(),z0,z1) -> nil() max(z0,z1) -> max#1(#greater(z0,z1),z0,z1) max#1(#false(),z0,z1) -> z1 max#1(#true(),z0,z1) -> z0 newline(z0,z1,z2) -> newline#1(z2,z1,z0) newline#1(::(z0,z1),z2,z3) -> newline#2(z2,z0,z1,z3) newline#1(nil(),z0,z1) -> nil() newline#2(::(z0,z1),z2,z3,z4) -> newline#3(newline(z4,z1,z3),z0,z1,z2,z4) newline#2(nil(),z0,z1,z2) -> nil() newline#3(z0,z1,z2,z3,z4) -> newline#4(right(z0),z1,z2,z0,z3,z4) newline#4(z0,z1,z2,z3,z4,z5) -> newline#5(right(z2),z1,z3,z0,z4,z5) newline#5(z0,z1,z2,z3,z4,z5) -> newline#6(newline#7(#equal(z4,z5),z1,z0,z3),z2) newline#6(z0,z1) -> ::(z0,z1) newline#7(#false(),z0,z1,z2) -> max(z0,z2) newline#7(#true(),z0,z1,z2) -> +(z1,#pos(#s(#0()))) right(z0) -> right#1(z0) right#1(::(z0,z1)) -> z0 right#1(nil()) -> #abs(#0()) - Signature: {#ABS/1,#ADD/2,#AND/2,#CKGT/1,#COMPARE/2,#EQ'/2,#EQUAL/2,#GREATER/2,#PRED/1,#SUCC/1,#abs/1,#add/2,#and/2 ,#ckgt/1,#compare/2,#eq/2,#equal/2,#greater/2,#pred/1,#succ/1,+/2,+'/2,FIRSTLINE/1,FIRSTLINE#1/1,LCS/2 ,LCS#1/1,LCS#2/1,LCS#3/1,LCSTABLE/2,LCSTABLE#1/2,LCSTABLE#2/3,LCSTABLE#3/3,MAX/2,MAX#1/3,NEWLINE/3 ,NEWLINE#1/3,NEWLINE#2/4,NEWLINE#3/5,NEWLINE#4/6,NEWLINE#5/6,NEWLINE#6/2,NEWLINE#7/4,RIGHT/1,RIGHT#1/1 ,firstline/1,firstline#1/1,lcs/2,lcs#1/1,lcs#2/1,lcs#3/1,lcstable/2,lcstable#1/2,lcstable#2/3,lcstable#3/3 ,max/2,max#1/3,newline/3,newline#1/3,newline#2/4,newline#3/5,newline#4/6,newline#5/6,newline#6/2,newline#7/4 ,right/1,right#1/1,#ABS#/1,#ADD#/2,#AND#/2,#CKGT#/1,#COMPARE#/2,#EQ'#/2,#EQUAL#/2,#GREATER#/2,#PRED#/1 ,#SUCC#/1,#abs#/1,#add#/2,#and#/2,#ckgt#/1,#compare#/2,#eq#/2,#equal#/2,#greater#/2,#pred#/1,#succ#/1,+#/2 ,+'#/2,FIRSTLINE#/1,FIRSTLINE#1#/1,LCS#/2,LCS#1#/1,LCS#2#/1,LCS#3#/1,LCSTABLE#/2,LCSTABLE#1#/2,LCSTABLE#2#/3 ,LCSTABLE#3#/3,MAX#/2,MAX#1#/3,NEWLINE#/3,NEWLINE#1#/3,NEWLINE#2#/4,NEWLINE#3#/5,NEWLINE#4#/6,NEWLINE#5#/6 ,NEWLINE#6#/2,NEWLINE#7#/4,RIGHT#/1,RIGHT#1#/1,firstline#/1,firstline#1#/1,lcs#/2,lcs#1#/1,lcs#2#/1,lcs#3#/1 ,lcstable#/2,lcstable#1#/2,lcstable#2#/3,lcstable#3#/3,max#/2,max#1#/3,newline#/3,newline#1#/3,newline#2#/4 ,newline#3#/5,newline#4#/6,newline#5#/6,newline#6#/2,newline#7#/4,right#/1,right#1#/1} / {#0/0,#EQ/0,#GT/0 ,#LT/0,#false/0,#neg/1,#pos/1,#s/1,#true/0,::/2,c/0,c1/1,c10/0,c11/0,c12/0,c13/0,c14/0,c15/0,c16/0,c17/1 ,c18/0,c19/0,c2/2,c20/0,c21/1,c22/0,c23/1,c24/0,c25/0,c26/0,c27/0,c28/0,c29/1,c3/1,c30/0,c31/0,c32/0,c33/1 ,c34/0,c35/1,c36/2,c37/2,c38/0,c39/0,c4/2,c40/0,c41/0,c42/0,c43/0,c44/0,c45/0,c46/0,c47/0,c48/0,c49/0,c5/0 ,c50/0,c51/0,c52/0,c53/1,c54/2,c55/1,c56/1,c57/1,c58/1,c59/0,c6/0,c60/2,c61/1,c62/1,c63/1,c64/0,c65/1,c66/1 ,c67/2,c68/1,c69/1,c7/0,c70/1,c71/0,c72/2,c73/0,c74/0,c75/1,c76/1,c77/0,c78/2,c79/0,c8/0,c80/2,c81/2,c82/3 ,c83/0,c84/1,c85/1,c86/1,c87/0,c88/1,c9/0,nil/0,c_1/0,c_2/0,c_3/0,c_4/0,c_5/1,c_6/3,c_7/1,c_8/1,c_9/1,c_10/1 ,c_11/0,c_12/1,c_13/1,c_14/1,c_15/1,c_16/0,c_17/1,c_18/1,c_19/2,c_20/1,c_21/1,c_22/1,c_23/0,c_24/3,c_25/0 ,c_26/0,c_27/1,c_28/1,c_29/0,c_30/1,c_31/0,c_32/3,c_33/3,c_34/6,c_35/0,c_36/1,c_37/1,c_38/1,c_39/0,c_40/1 ,c_41/0,c_42/1,c_43/3,c_44/1,c_45/3,c_46/0,c_47/0,c_48/0,c_49/0,c_50/0,c_51/0,c_52/0,c_53/0,c_54/0,c_55/0 ,c_56/0,c_57/0,c_58/1,c_59/0,c_60/0,c_61/0,c_62/1,c_63/0,c_64/1,c_65/0,c_66/0,c_67/0,c_68/0,c_69/0,c_70/1 ,c_71/0,c_72/0,c_73/0,c_74/1,c_75/0,c_76/1,c_77/4,c_78/4,c_79/0,c_80/0,c_81/0,c_82/0,c_83/0,c_84/0,c_85/0 ,c_86/0,c_87/0,c_88/0,c_89/0,c_90/0,c_91/0,c_92/0,c_93/0,c_94/0,c_95/1,c_96/2,c_97/1,c_98/2,c_99/0,c_100/0 ,c_101/0,c_102/0,c_103/0,c_104/0,c_105/0,c_106/0,c_107/0,c_108/0,c_109/0,c_110/0,c_111/1,c_112/0,c_113/0 ,c_114/0,c_115/1,c_116/0,c_117/1,c_118/0,c_119/0,c_120/0,c_121/0,c_122/0,c_123/1,c_124/0,c_125/0,c_126/0 ,c_127/1,c_128/0,c_129/1,c_130/3,c_131/0,c_132/0,c_133/0,c_134/1,c_135/2,c_136/0,c_137/0,c_138/0,c_139/0 ,c_140/0,c_141/0,c_142/0,c_143/0,c_144/1,c_145/1,c_146/2,c_147/0,c_148/2,c_149/1,c_150/1,c_151/1,c_152/0 ,c_153/1,c_154/1,c_155/2,c_156/1,c_157/1,c_158/1,c_159/0,c_160/2,c_161/0,c_162/0,c_163/1,c_164/1,c_165/0 ,c_166/2,c_167/0,c_168/2,c_169/2,c_170/3,c_171/0,c_172/1,c_173/1,c_174/1,c_175/0,c_176/1} - Obligation: innermost runtime complexity wrt. defined symbols {#ABS#,#ADD#,#AND#,#CKGT#,#COMPARE#,#EQ'#,#EQUAL# ,#GREATER#,#PRED#,#SUCC#,#abs#,#add#,#and#,#ckgt#,#compare#,#eq#,#equal#,#greater#,#pred#,#succ#,+#,+'# ,FIRSTLINE#,FIRSTLINE#1#,LCS#,LCS#1#,LCS#2#,LCS#3#,LCSTABLE#,LCSTABLE#1#,LCSTABLE#2#,LCSTABLE#3#,MAX#,MAX#1# ,NEWLINE#,NEWLINE#1#,NEWLINE#2#,NEWLINE#3#,NEWLINE#4#,NEWLINE#5#,NEWLINE#6#,NEWLINE#7#,RIGHT#,RIGHT#1# ,firstline#,firstline#1#,lcs#,lcs#1#,lcs#2#,lcs#3#,lcstable#,lcstable#1#,lcstable#2#,lcstable#3#,max#,max#1# ,newline#,newline#1#,newline#2#,newline#3#,newline#4#,newline#5#,newline#6#,newline#7#,right# ,right#1#} 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,c59,c6,c60,c61,c62,c63,c64,c65 ,c66,c67,c68,c69,c7,c70,c71,c72,c73,c74,c75,c76,c77,c78,c79,c8,c80,c81,c82,c83,c84,c85,c86,c87,c88,c9,nil} + Applied Processor: RemoveWeakSuffixes + Details: Consider the dependency graph 1:W:LCSTABLE#(z0,z1) -> c_18(LCSTABLE#1#(z0,z1)) -->_1 LCSTABLE#1#(::(z0,z1),z2) -> c_19(LCSTABLE#2#(lcstable(z1,z2),z2,z0),LCSTABLE#(z1,z2)):2 2:W:LCSTABLE#1#(::(z0,z1),z2) -> c_19(LCSTABLE#2#(lcstable(z1,z2),z2,z0),LCSTABLE#(z1,z2)) -->_1 LCSTABLE#2#(z0,z1,z2) -> c_21(LCSTABLE#3#(z0,z1,z2)):3 -->_2 LCSTABLE#(z0,z1) -> c_18(LCSTABLE#1#(z0,z1)):1 3:W:LCSTABLE#2#(z0,z1,z2) -> c_21(LCSTABLE#3#(z0,z1,z2)) -->_1 LCSTABLE#3#(::(z0,z1),z2,z3) -> c_22(NEWLINE#(z3,z0,z2)):4 4:W:LCSTABLE#3#(::(z0,z1),z2,z3) -> c_22(NEWLINE#(z3,z0,z2)) -->_1 NEWLINE#(z0,z1,z2) -> c_27(NEWLINE#1#(z2,z1,z0)):5 5:W:NEWLINE#(z0,z1,z2) -> c_27(NEWLINE#1#(z2,z1,z0)) -->_1 NEWLINE#1#(::(z0,z1),z2,z3) -> c_28(NEWLINE#2#(z2,z0,z1,z3)):6 6:W:NEWLINE#1#(::(z0,z1),z2,z3) -> c_28(NEWLINE#2#(z2,z0,z1,z3)) -->_1 NEWLINE#2#(::(z0,z1),z2,z3,z4) -> c_30(NEWLINE#(z4,z1,z3)):7 7:W:NEWLINE#2#(::(z0,z1),z2,z3,z4) -> c_30(NEWLINE#(z4,z1,z3)) -->_1 NEWLINE#(z0,z1,z2) -> c_27(NEWLINE#1#(z2,z1,z0)):5 The following weak DPs constitute a sub-graph of the DG that is closed under successors. The DPs are removed. 1: LCSTABLE#(z0,z1) -> c_18(LCSTABLE#1#(z0,z1)) 2: LCSTABLE#1#(::(z0,z1),z2) -> c_19(LCSTABLE#2#(lcstable(z1,z2),z2,z0),LCSTABLE#(z1,z2)) 3: LCSTABLE#2#(z0,z1,z2) -> c_21(LCSTABLE#3#(z0,z1,z2)) 4: LCSTABLE#3#(::(z0,z1),z2,z3) -> c_22(NEWLINE#(z3,z0,z2)) 5: NEWLINE#(z0,z1,z2) -> c_27(NEWLINE#1#(z2,z1,z0)) 7: NEWLINE#2#(::(z0,z1),z2,z3,z4) -> c_30(NEWLINE#(z4,z1,z3)) 6: NEWLINE#1#(::(z0,z1),z2,z3) -> c_28(NEWLINE#2#(z2,z0,z1,z3)) ******* Step 13.b:3.b:1.b:1.b:1.b:1.b:2: EmptyProcessor. WORST_CASE(?,O(1)) + Considered Problem: - Weak TRS: #abs(#0()) -> #0() #add(#0(),z0) -> z0 #add(#neg(#s(#0())),z0) -> #pred(z0) #add(#neg(#s(#s(z0))),z1) -> #pred(#add(#pos(#s(z0)),z1)) #add(#pos(#s(#0())),z0) -> #succ(z0) #add(#pos(#s(#s(z0))),z1) -> #succ(#add(#pos(#s(z0)),z1)) #and(#false(),#false()) -> #false() #and(#false(),#true()) -> #false() #and(#true(),#false()) -> #false() #and(#true(),#true()) -> #true() #ckgt(#EQ()) -> #false() #ckgt(#GT()) -> #true() #ckgt(#LT()) -> #false() #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) #greater(z0,z1) -> #ckgt(#compare(z0,z1)) #pred(#0()) -> #neg(#s(#0())) #pred(#neg(#s(z0))) -> #neg(#s(#s(z0))) #pred(#pos(#s(#0()))) -> #0() #pred(#pos(#s(#s(z0)))) -> #pos(#s(z0)) #succ(#0()) -> #pos(#s(#0())) #succ(#neg(#s(#0()))) -> #0() #succ(#neg(#s(#s(z0)))) -> #neg(#s(z0)) #succ(#pos(#s(z0))) -> #pos(#s(#s(z0))) +(z0,z1) -> #add(z0,z1) firstline(z0) -> firstline#1(z0) firstline#1(::(z0,z1)) -> ::(#abs(#0()),firstline(z1)) firstline#1(nil()) -> nil() lcstable(z0,z1) -> lcstable#1(z0,z1) lcstable#1(::(z0,z1),z2) -> lcstable#2(lcstable(z1,z2),z2,z0) lcstable#1(nil(),z0) -> ::(firstline(z0),nil()) lcstable#2(z0,z1,z2) -> lcstable#3(z0,z1,z2) lcstable#3(::(z0,z1),z2,z3) -> ::(newline(z3,z0,z2),::(z0,z1)) lcstable#3(nil(),z0,z1) -> nil() max(z0,z1) -> max#1(#greater(z0,z1),z0,z1) max#1(#false(),z0,z1) -> z1 max#1(#true(),z0,z1) -> z0 newline(z0,z1,z2) -> newline#1(z2,z1,z0) newline#1(::(z0,z1),z2,z3) -> newline#2(z2,z0,z1,z3) newline#1(nil(),z0,z1) -> nil() newline#2(::(z0,z1),z2,z3,z4) -> newline#3(newline(z4,z1,z3),z0,z1,z2,z4) newline#2(nil(),z0,z1,z2) -> nil() newline#3(z0,z1,z2,z3,z4) -> newline#4(right(z0),z1,z2,z0,z3,z4) newline#4(z0,z1,z2,z3,z4,z5) -> newline#5(right(z2),z1,z3,z0,z4,z5) newline#5(z0,z1,z2,z3,z4,z5) -> newline#6(newline#7(#equal(z4,z5),z1,z0,z3),z2) newline#6(z0,z1) -> ::(z0,z1) newline#7(#false(),z0,z1,z2) -> max(z0,z2) newline#7(#true(),z0,z1,z2) -> +(z1,#pos(#s(#0()))) right(z0) -> right#1(z0) right#1(::(z0,z1)) -> z0 right#1(nil()) -> #abs(#0()) - Signature: {#ABS/1,#ADD/2,#AND/2,#CKGT/1,#COMPARE/2,#EQ'/2,#EQUAL/2,#GREATER/2,#PRED/1,#SUCC/1,#abs/1,#add/2,#and/2 ,#ckgt/1,#compare/2,#eq/2,#equal/2,#greater/2,#pred/1,#succ/1,+/2,+'/2,FIRSTLINE/1,FIRSTLINE#1/1,LCS/2 ,LCS#1/1,LCS#2/1,LCS#3/1,LCSTABLE/2,LCSTABLE#1/2,LCSTABLE#2/3,LCSTABLE#3/3,MAX/2,MAX#1/3,NEWLINE/3 ,NEWLINE#1/3,NEWLINE#2/4,NEWLINE#3/5,NEWLINE#4/6,NEWLINE#5/6,NEWLINE#6/2,NEWLINE#7/4,RIGHT/1,RIGHT#1/1 ,firstline/1,firstline#1/1,lcs/2,lcs#1/1,lcs#2/1,lcs#3/1,lcstable/2,lcstable#1/2,lcstable#2/3,lcstable#3/3 ,max/2,max#1/3,newline/3,newline#1/3,newline#2/4,newline#3/5,newline#4/6,newline#5/6,newline#6/2,newline#7/4 ,right/1,right#1/1,#ABS#/1,#ADD#/2,#AND#/2,#CKGT#/1,#COMPARE#/2,#EQ'#/2,#EQUAL#/2,#GREATER#/2,#PRED#/1 ,#SUCC#/1,#abs#/1,#add#/2,#and#/2,#ckgt#/1,#compare#/2,#eq#/2,#equal#/2,#greater#/2,#pred#/1,#succ#/1,+#/2 ,+'#/2,FIRSTLINE#/1,FIRSTLINE#1#/1,LCS#/2,LCS#1#/1,LCS#2#/1,LCS#3#/1,LCSTABLE#/2,LCSTABLE#1#/2,LCSTABLE#2#/3 ,LCSTABLE#3#/3,MAX#/2,MAX#1#/3,NEWLINE#/3,NEWLINE#1#/3,NEWLINE#2#/4,NEWLINE#3#/5,NEWLINE#4#/6,NEWLINE#5#/6 ,NEWLINE#6#/2,NEWLINE#7#/4,RIGHT#/1,RIGHT#1#/1,firstline#/1,firstline#1#/1,lcs#/2,lcs#1#/1,lcs#2#/1,lcs#3#/1 ,lcstable#/2,lcstable#1#/2,lcstable#2#/3,lcstable#3#/3,max#/2,max#1#/3,newline#/3,newline#1#/3,newline#2#/4 ,newline#3#/5,newline#4#/6,newline#5#/6,newline#6#/2,newline#7#/4,right#/1,right#1#/1} / {#0/0,#EQ/0,#GT/0 ,#LT/0,#false/0,#neg/1,#pos/1,#s/1,#true/0,::/2,c/0,c1/1,c10/0,c11/0,c12/0,c13/0,c14/0,c15/0,c16/0,c17/1 ,c18/0,c19/0,c2/2,c20/0,c21/1,c22/0,c23/1,c24/0,c25/0,c26/0,c27/0,c28/0,c29/1,c3/1,c30/0,c31/0,c32/0,c33/1 ,c34/0,c35/1,c36/2,c37/2,c38/0,c39/0,c4/2,c40/0,c41/0,c42/0,c43/0,c44/0,c45/0,c46/0,c47/0,c48/0,c49/0,c5/0 ,c50/0,c51/0,c52/0,c53/1,c54/2,c55/1,c56/1,c57/1,c58/1,c59/0,c6/0,c60/2,c61/1,c62/1,c63/1,c64/0,c65/1,c66/1 ,c67/2,c68/1,c69/1,c7/0,c70/1,c71/0,c72/2,c73/0,c74/0,c75/1,c76/1,c77/0,c78/2,c79/0,c8/0,c80/2,c81/2,c82/3 ,c83/0,c84/1,c85/1,c86/1,c87/0,c88/1,c9/0,nil/0,c_1/0,c_2/0,c_3/0,c_4/0,c_5/1,c_6/3,c_7/1,c_8/1,c_9/1,c_10/1 ,c_11/0,c_12/1,c_13/1,c_14/1,c_15/1,c_16/0,c_17/1,c_18/1,c_19/2,c_20/1,c_21/1,c_22/1,c_23/0,c_24/3,c_25/0 ,c_26/0,c_27/1,c_28/1,c_29/0,c_30/1,c_31/0,c_32/3,c_33/3,c_34/6,c_35/0,c_36/1,c_37/1,c_38/1,c_39/0,c_40/1 ,c_41/0,c_42/1,c_43/3,c_44/1,c_45/3,c_46/0,c_47/0,c_48/0,c_49/0,c_50/0,c_51/0,c_52/0,c_53/0,c_54/0,c_55/0 ,c_56/0,c_57/0,c_58/1,c_59/0,c_60/0,c_61/0,c_62/1,c_63/0,c_64/1,c_65/0,c_66/0,c_67/0,c_68/0,c_69/0,c_70/1 ,c_71/0,c_72/0,c_73/0,c_74/1,c_75/0,c_76/1,c_77/4,c_78/4,c_79/0,c_80/0,c_81/0,c_82/0,c_83/0,c_84/0,c_85/0 ,c_86/0,c_87/0,c_88/0,c_89/0,c_90/0,c_91/0,c_92/0,c_93/0,c_94/0,c_95/1,c_96/2,c_97/1,c_98/2,c_99/0,c_100/0 ,c_101/0,c_102/0,c_103/0,c_104/0,c_105/0,c_106/0,c_107/0,c_108/0,c_109/0,c_110/0,c_111/1,c_112/0,c_113/0 ,c_114/0,c_115/1,c_116/0,c_117/1,c_118/0,c_119/0,c_120/0,c_121/0,c_122/0,c_123/1,c_124/0,c_125/0,c_126/0 ,c_127/1,c_128/0,c_129/1,c_130/3,c_131/0,c_132/0,c_133/0,c_134/1,c_135/2,c_136/0,c_137/0,c_138/0,c_139/0 ,c_140/0,c_141/0,c_142/0,c_143/0,c_144/1,c_145/1,c_146/2,c_147/0,c_148/2,c_149/1,c_150/1,c_151/1,c_152/0 ,c_153/1,c_154/1,c_155/2,c_156/1,c_157/1,c_158/1,c_159/0,c_160/2,c_161/0,c_162/0,c_163/1,c_164/1,c_165/0 ,c_166/2,c_167/0,c_168/2,c_169/2,c_170/3,c_171/0,c_172/1,c_173/1,c_174/1,c_175/0,c_176/1} - Obligation: innermost runtime complexity wrt. defined symbols {#ABS#,#ADD#,#AND#,#CKGT#,#COMPARE#,#EQ'#,#EQUAL# ,#GREATER#,#PRED#,#SUCC#,#abs#,#add#,#and#,#ckgt#,#compare#,#eq#,#equal#,#greater#,#pred#,#succ#,+#,+'# ,FIRSTLINE#,FIRSTLINE#1#,LCS#,LCS#1#,LCS#2#,LCS#3#,LCSTABLE#,LCSTABLE#1#,LCSTABLE#2#,LCSTABLE#3#,MAX#,MAX#1# ,NEWLINE#,NEWLINE#1#,NEWLINE#2#,NEWLINE#3#,NEWLINE#4#,NEWLINE#5#,NEWLINE#6#,NEWLINE#7#,RIGHT#,RIGHT#1# ,firstline#,firstline#1#,lcs#,lcs#1#,lcs#2#,lcs#3#,lcstable#,lcstable#1#,lcstable#2#,lcstable#3#,max#,max#1# ,newline#,newline#1#,newline#2#,newline#3#,newline#4#,newline#5#,newline#6#,newline#7#,right# ,right#1#} 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,c59,c6,c60,c61,c62,c63,c64,c65 ,c66,c67,c68,c69,c7,c70,c71,c72,c73,c74,c75,c76,c77,c78,c79,c8,c80,c81,c82,c83,c84,c85,c86,c87,c88,c9,nil} + Applied Processor: EmptyProcessor + Details: The problem is already closed. The intended complexity is O(1). WORST_CASE(?,O(n^2))